boringnose commited on
Commit
ad98fbf
·
verified ·
1 Parent(s): 2191ad8

Upload 25 files

Browse files

upload files from github

README.md CHANGED
@@ -1,12 +1,72 @@
1
- ---
2
- title: DataFlowPro
3
- emoji: 🔥
4
- colorFrom: indigo
5
- colorTo: yellow
6
- sdk: streamlit
7
- sdk_version: 1.34.0
8
- app_file: app.py
9
- pinned: false
10
- ---
11
-
12
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # DataFlow Pro
2
+ Automating ML Workflows with Ease
3
+
4
+ ## Introduction
5
+ The Automated ML is a Python application designed to automate the process of building, tuning, and evaluating machine learning models based on json provided in RTF/JSON?/TXT file format. <br>
6
+ This application follows a structured flow to read the json file, extract dataset information, transform features, split data, build and tune models, and evaluate their performance.
7
+
8
+
9
+ ## Installation
10
+ To use the Automated ML Pipeline, follow these steps:
11
+
12
+ 1. Clone this repository to your local machine: <br>
13
+ ```git clone https://github.com/Rupanshu-Kapoor/AutomateML.git```
14
+
15
+ 2. Install the required dependencies: <br>
16
+ `pip install -r requirements.txt`
17
+
18
+ 3. Run the application: <br>
19
+ `streamlit run app.py`
20
+
21
+
22
+ ## Steps to Use the Application:
23
+
24
+ You can use the application in following two ways:
25
+
26
+ ### (A). Create Json and Train Model
27
+
28
+ 1. Upload the dataset on the tool on which you want to train the different model.
29
+ 2. Once the data is uploaded, you can preview the dataset.
30
+ 3. Select prediction parameters (prediction type, target variable, k-fold, etc.).
31
+ 4. Select features to be used for prediction.
32
+ 5. When you select any feature, you can choose how to handle it. (rescaling, encoding, etc.)
33
+ 6. Select the model to be used for prediction.
34
+ 7. When you select any model, you can choose hyperparameters for tuning.
35
+ 8. Once all the parameters are selected, click on `Generate Json and Train Model` button.
36
+ 9. Application will generate the json file and train the model and display the results.
37
+
38
+ ### (B). Upload Json and Train Model
39
+ 1. Upload the json file that contains all the dataset information.
40
+ 2. Click on Train Models.
41
+ 3. Application will train the model and display the results.
42
+
43
+ ## Working of the Application:
44
+ The application performs the following tasks in sequence:
45
+ 1. **Read the JSON File and Parse JSON Content**: The RTF/JSON file is read, converted to plain text, and JSON content is extracted.
46
+ 2. **Extract Dataset Information**: Extract dataset information such as feature names, target variable, problem type (regression/classification), feature handling, etc.
47
+ 3. **Transform Features**: Features are transformed based on the specified feature handling methods.
48
+ 4. **Sample Data and Train-Test Split**: Data is sampled and split into training and testing sets.
49
+ 5. **Model Building**: Models are built based on the problem type (regression/classification).
50
+ 6. **Hyperparameter Tuning**: Hyperparameters of the models are tuned using grid search.
51
+ 7. **Model Evaluation**: Trained models are evaluated using specified evaluation metrics.
52
+ <! --8. **Save Results**: Trained models and evaluation metrics are saved in the results/ directory. -->
53
+
54
+
55
+ ## Use Cases
56
+
57
+ This application can be used for various use cases, including but not limited to:
58
+
59
+ - Automated machine learning (AutoML) pipelines.
60
+ - Data preprocessing and feature engineering tasks.
61
+ - Model training and evaluation for regression or classification problems.
62
+ - Hyperparameter tuning and model selection.
63
+ - Experimentation with different datasets and configurations.
64
+
65
+ ## Future Work
66
+ Possible future enhancements for the application include:
67
+
68
+ - Adding support for additional data formats (e.g., CSV, Excel).
69
+ - Implementing more advanced feature engineering techniques.
70
+ - Incorporating more sophisticated model selection and evaluation methods.
71
+ - Enhancing the user interface for easier interaction.
72
+ - Integrating with external APIs or databases for data retrieval.
data/algoparams_from_ui1.json.rtf ADDED
@@ -0,0 +1,465 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch0\stshfloch31506\stshfhich31506\stshfbi31506\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fbidi \fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}
2
+ {\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;}{\f37\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\f43\fbidi \fmodern\fcharset0\fprq1{\*\panose 020b0609020204030204}Consolas;}
3
+ {\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
4
+ {\fhimajor\f31502\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0302020204030204}Calibri Light;}{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
5
+ {\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
6
+ {\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f44\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
7
+ {\f45\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f47\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f48\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f49\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
8
+ {\f50\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f51\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f52\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f64\fbidi \fmodern\fcharset238\fprq1 Courier New CE;}
9
+ {\f65\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;}{\f67\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;}{\f68\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f69\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}
10
+ {\f70\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f71\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;}{\f72\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f384\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}
11
+ {\f385\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}{\f387\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f388\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f391\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}
12
+ {\f392\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}{\f414\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f415\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\f417\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}
13
+ {\f418\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\f419\fbidi \fswiss\fcharset177\fprq2 Calibri (Hebrew);}{\f420\fbidi \fswiss\fcharset178\fprq2 Calibri (Arabic);}{\f421\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}
14
+ {\f422\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\f474\fbidi \fmodern\fcharset238\fprq1 Consolas CE;}{\f475\fbidi \fmodern\fcharset204\fprq1 Consolas Cyr;}{\f477\fbidi \fmodern\fcharset161\fprq1 Consolas Greek;}
15
+ {\f478\fbidi \fmodern\fcharset162\fprq1 Consolas Tur;}{\f481\fbidi \fmodern\fcharset186\fprq1 Consolas Baltic;}{\f482\fbidi \fmodern\fcharset163\fprq1 Consolas (Vietnamese);}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
16
+ {\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
17
+ {\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
18
+ {\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
19
+ {\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
20
+ {\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
21
+ {\fhimajor\f31528\fbidi \fswiss\fcharset238\fprq2 Calibri Light CE;}{\fhimajor\f31529\fbidi \fswiss\fcharset204\fprq2 Calibri Light Cyr;}{\fhimajor\f31531\fbidi \fswiss\fcharset161\fprq2 Calibri Light Greek;}
22
+ {\fhimajor\f31532\fbidi \fswiss\fcharset162\fprq2 Calibri Light Tur;}{\fhimajor\f31533\fbidi \fswiss\fcharset177\fprq2 Calibri Light (Hebrew);}{\fhimajor\f31534\fbidi \fswiss\fcharset178\fprq2 Calibri Light (Arabic);}
23
+ {\fhimajor\f31535\fbidi \fswiss\fcharset186\fprq2 Calibri Light Baltic;}{\fhimajor\f31536\fbidi \fswiss\fcharset163\fprq2 Calibri Light (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
24
+ {\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
25
+ {\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
26
+ {\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
27
+ {\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
28
+ {\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
29
+ {\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
30
+ {\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
31
+ {\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}
32
+ {\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}
33
+ {\fhiminor\f31573\fbidi \fswiss\fcharset177\fprq2 Calibri (Hebrew);}{\fhiminor\f31574\fbidi \fswiss\fcharset178\fprq2 Calibri (Arabic);}{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}
34
+ {\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
35
+ {\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
36
+ {\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}
37
+ {\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;
38
+ \red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red0\green0\blue0;\red0\green0\blue0;}{\*\defchp \f31506\fs22 }{\*\defpap \ql \li0\ri0\sa160\sl259\slmult1
39
+ \widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0
40
+ \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 \sqformat \spriority0 Normal;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*
41
+ \ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa160\sl259\slmult1
42
+ \widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31506\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext11 \ssemihidden \sunhideused Normal Table;}{
43
+ \s15\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs21\alang1025 \ltrch\fcs0 \f43\fs21\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext15 \slink16 \sunhideused \styrsid7687174
44
+ Plain Text;}{\*\cs16 \additive \rtlch\fcs1 \af0\afs21 \ltrch\fcs0 \f43\fs21 \sbasedon10 \slink15 \slocked \styrsid7687174 Plain Text Char;}}{\*\rsidtbl \rsid1526327\rsid2391802\rsid3218741\rsid3950199\rsid3954227\rsid4398339\rsid7687174\rsid8420583
45
+ \rsid12154272\rsid12285532\rsid12544274\rsid15797175\rsid16138663\rsid16192094}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\author Satya Saste}
46
+ {\operator Nikita Tandel}{\creatim\yr2022\mo8\dy17\hr22\min2}{\revtim\yr2024\mo5\dy7\min44}{\version11}{\edmins91}{\nofpages9}{\nofwords1183}{\nofchars6749}{\nofcharsws7917}{\vern33}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/word
47
+ ml}}\paperw12240\paperh15840\margl1501\margr1502\margt1440\margb1440\gutter0\ltrsect
48
+ \widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont1\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen
49
+ \expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1501\dgvorigin1440\dghshow1\dgvshow1
50
+ \jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct
51
+ \asianbrkrule\rsidroot3954227\newtblstyruls\nogrowautofit\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal \nouicompat \fet0
52
+ {\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0{\*\docvar {__Grammarly_42____i}{H4sIAAAAAAAEAKtWckksSQxILCpxzi/NK1GyMqwFAAEhoTITAAAA}}
53
+ {\*\docvar {__Grammarly_42___1}{H4sIAAAAAAAEAKtWcslP9kxRslIyNDY2MDUyNzI1MjAxtzQwNLJQ0lEKTi0uzszPAykwrAUAD4MAXiwAAAA=}}\ltrpar \sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid7687174\sftnbj {\*\pnseclvl1
54
+ \pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5
55
+ \pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang
56
+ {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3218741 \rtlch\fcs1
57
+ \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741 \{
58
+ \par "session_name": "test",
59
+ \par "session_description": "test",
60
+ \par "design_state_data": \{
61
+ \par
62
+ \par "session_info" : \{
63
+ \par "project_id": "1",
64
+ \par "experiment_id": "kkkk-11",
65
+ \par "dataset":"iris_modified.csv",
66
+ \par "session_name": "test",
67
+ \par "session_description": "test"
68
+ \par \},
69
+ \par
70
+ \par "target": \{
71
+ \par "prediction_type": "Classification",
72
+ \par "target": "species",
73
+ \par "type":"classifiation",
74
+ \par "partitioning": true
75
+ \par \},
76
+ \par "train": \{
77
+ \par "policy": "Split the dataset",
78
+ \par "time_variable": "sepal_length",
79
+ \par "sampling_method": "No sampling(whole data)",
80
+ \par "split": "Randomly",
81
+ \par "k_fold": false,
82
+ \par "train_ratio": 0.8,
83
+ \par "random_seed": }{\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid12154272 1}{\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741 0
84
+ \par \},
85
+ \par "feature_handling": \{
86
+ \par "sepal_length": \{
87
+ \par "feature_name": "sepal_length",
88
+ \par "is_selected": true,
89
+ \par "feature_variable_type": "numerical",
90
+ \par "feature_details": \{
91
+ \par "numerical_handling": "Keep as regular numerical feature",
92
+ \par "rescaling": "No rescaling",
93
+ \par "make_derived_feats": false,
94
+ \par "missing_values": "Impute",
95
+ \par "impute_with": "Average of values"
96
+ \par
97
+ \par \}
98
+ \par \},
99
+ \par "sepal_width": \{
100
+ \par "feature_name": "sepal_width",
101
+ \par "is_selected": true,
102
+ \par "feature_variable_type": "numerical",
103
+ \par "feature_details": \{
104
+ \par "numerical_handling": "Keep as regular numerical feature",
105
+ \par "rescaling": "No rescaling",
106
+ \par "make_derived_feats": false,
107
+ \par "missing_values": "Impute",
108
+ \par "impute_with": "Average of values"
109
+ \par
110
+ \par \}
111
+ \par \},
112
+ \par "petal_length": \{
113
+ \par "feature_name": "petal_length",
114
+ \par "is_selected": true,
115
+ \par "feature_variable_type": "numerical",
116
+ \par "feature_details": \{
117
+ \par "numerical_handling": "Keep as regular numerical feature",
118
+ \par "rescaling": "No rescaling",
119
+ \par "make_derived_feats": false,
120
+ \par "missing_values": "Impute",
121
+ \par "impute_with": "Average of values"
122
+ \par
123
+ \par \}
124
+ \par \},
125
+ \par "petal_width": \{
126
+ \par "feature_name": "petal_width",
127
+ \par "is_selected": }{\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid1526327 false}{\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741 ,
128
+ \par "feature_variable_type": "numerical",
129
+ \par "feature_details": \{
130
+ \par "numerical_handling": "Keep as regular numerical feature",
131
+ \par "rescaling": "No rescaling",
132
+ \par "make_derived_feats": false,
133
+ \par "missing_values": "Impute",
134
+ \par "impute_with": "Average of values"
135
+ \par \}
136
+ \par \},
137
+ \par "species": \{
138
+ \par "feature_name": "species",
139
+ \par "is_selected": true,
140
+ \par "feature_variable_type": "text",
141
+ \par "feature_details": \{
142
+ \par "text_handling": "Tokenize and hash",
143
+ \par "hash_columns": 0
144
+ \par \}
145
+ \par \}
146
+ \par \},
147
+ \par
148
+ \par "algorithms": \{
149
+ \par "RandomForestClassifier": \{
150
+ \par "model_name": "Random Forest Classifier",
151
+ \par "is_selected": true,
152
+ \par "min_trees": 10,
153
+ \par "max_trees": 30,
154
+ \par "feature_sampling_statergy": "Default",
155
+ \par "min_depth": 20,
156
+ \par "max_depth": 30,
157
+ \par "min_samples_per_leaf_min_value": 5,
158
+ \par "min_samples_per_leaf_max_value": 50,
159
+ \par "parallelism": 0
160
+ \par \},
161
+ \par "RandomForestRegressor": \{
162
+ \par "model_name": "Random Forest Regressor",
163
+ \par "is_selected": false,
164
+ \par "min_trees": 10,
165
+ \par "max_trees": 20,
166
+ \par "feature_sampling_statergy": "Default",
167
+ \par "min_depth": 20,
168
+ \par "max_depth": 25,
169
+ \par "min_samples_per_leaf_min_value": 5,
170
+ \par "min_samples_per_leaf_max_value": 10,
171
+ \par "parallelism": 0
172
+ \par \},
173
+ \par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12544274 {\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741
174
+ \par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3218741 {\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741 "LinearRegression": \{
175
+ \par "model_name": "LinearRegression",
176
+ \par "is_selected": false,
177
+ \par "parallelism": 2,
178
+ \par "min_iter":30,
179
+ \par "max_iter":50,
180
+ \par "min_regparam":0.5,
181
+ \par "max_regparam":0.8,
182
+ \par "min_elasticnet":0.5,
183
+ \par "max_elasticnet":0.8
184
+ \par \},
185
+ \par "LogisticRegression": \{
186
+ \par "model_name": "LogisticRegression",
187
+ \par "is_selected": false,
188
+ \par "parallelism": 2,
189
+ \par "min_iter":30,
190
+ \par "max_iter":50,
191
+ \par "min_regparam":0.5,
192
+ \par "max_regparam":0.8,
193
+ \par "min_elasticnet":0.5,
194
+ \par "max_elasticnet":0.8
195
+ \par \},
196
+ \par "RidgeRegression": \{
197
+ \par "model_name": "RidgeRegression",
198
+ \par "is_selected": false,
199
+ \par "regularization_term": "Specify values to test",
200
+ \par "min_iter":30,
201
+ \par "max_iter":50,
202
+ \par "min_regparam":0.5,
203
+ \par "max_regparam":0.8
204
+ \par \},
205
+ \par "LassoRegression": \{
206
+ \par "model_name": "Lasso Regression",
207
+ \par "is_selected": false,
208
+ \par "regularization_term": "Specify values to test",
209
+ \par "min_iter":30,
210
+ \par "max_iter":50,
211
+ \par "min_regparam":0.5,
212
+ \par "max_regparam":0.8
213
+ \par \},
214
+ \par "ElasticNetRegression": \{
215
+ \par "model_name": "Lasso Regression",
216
+ \par "is_selected": false,
217
+ \par "regularization_term": "Specify values to test",
218
+ \par "min_iter":30,
219
+ \par "max_iter":50,
220
+ \par "min_regparam":0.5,
221
+ \par "max_regparam":0.8,
222
+ \par "min_elasticnet":0.5,
223
+ \par "max_elasticnet":0.8
224
+ \par \},
225
+ \par "xg_boost": \{
226
+ \par "model_name": "XG Boost",
227
+ \par "is_selected": false,
228
+ \par "use_gradient_boosted_tree": true,
229
+ \par "dart": true,
230
+ \par "tree_method": "",
231
+ \par "random_state": 0,
232
+ \par "max_num_of_trees": 0,
233
+ \par "early_stopping": true,
234
+ \par "early_stopping_rounds": 2,
235
+ \par "max_depth_of_tree": [56, 89],
236
+ \par "learningRate": [89, 76],
237
+ \par "l1_regularization": [77],
238
+ \par "l2_regularization": [78],
239
+ \par "gamma": [68],
240
+ \par "min_child_weight": [67],
241
+ \par "sub_sample": [67],
242
+ \par "col_sample_by_tree": [67],
243
+ \par "replace_missing_values": false,
244
+ \par "parallelism": 0
245
+ \par \},
246
+ \par "DecisionTreeRegressor": \{
247
+ \par "model_name": "Decision Tree",
248
+ \par "is_selected": false,
249
+ \par "min_depth":4,
250
+ \par "max_depth": 7,
251
+ \par "use_gini": false,
252
+ \par "use_entropy": true,
253
+ \par "min_samples_per_leaf": [12, 6],
254
+ \par "use_best": true,
255
+ \par "use_random": true
256
+ \par \},
257
+ \par "DecisionTreeClassifier": \{
258
+ \par "model_name": "Decision Tree",
259
+ \par "is_selected": }{\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3950199 true}{\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741 ,
260
+ \par "min_depth":4,
261
+ \par "max_depth": 7,
262
+ \par "use_gini": false,
263
+ \par "use_entropy": true,
264
+ \par "min_samples_per_leaf": [12, 6],
265
+ \par "use_best": true,
266
+ \par "use_random": }{\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid4398339 false}{\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741
267
+ \par \},
268
+ \par "SVM": \{
269
+ \par "model_name": "Support Vector Machine",
270
+ \par "is_selected": false,
271
+ \par "linear_kernel": true,
272
+ \par "rep_kernel": true,
273
+ \par "polynomial_kernel": true,
274
+ \par "sigmoid_kernel": true,
275
+ \par "c_value": [566, 79],
276
+ \par "auto": true,
277
+ \par "scale": true,
278
+ \par "custom_gamma_values": true,
279
+ \par "tolerance": 7,
280
+ \par "max_iterations": 7
281
+ \par \},
282
+ \par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12544274 {\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741
283
+ \par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3218741 {\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741 "KNN": \{
284
+ \par "model_name": "KNN",
285
+ \par "is_selected": false,
286
+ \par "k_value": [78],
287
+ \par "distance_weighting": true,
288
+ \par "neighbour_finding_algorithm": "Automatic",
289
+ \par "random_state": 0,
290
+ \par "p_value": 0
291
+ \par \},
292
+ \par "neural_network": \{
293
+ \par "model_name": "Neural Network",
294
+ \par "is_selected": false,
295
+ \par "hidden_layer_sizes": [67, 89],
296
+ \par "activation": "",
297
+ \par "alpha_value": 0,
298
+ \par "max_iterations": 0,
299
+ \par "convergence_tolerance": 0,
300
+ \par "early_stopping": true,
301
+ \par "solver": "ADAM",
302
+ \par "shuffle_data": true,
303
+ \par "initial_learning_rate": 0,
304
+ \par "automatic_batching": true,
305
+ \par "beta_1": 0,
306
+ \par "beta_2": 0,
307
+ \par "epsilon": 0,
308
+ \par "power_t": 0,
309
+ \par "momentum": 0,
310
+ \par "use_nesterov_momentum": false
311
+ \par \}
312
+ \par \}
313
+ \par \}
314
+ \par \}
315
+ \par
316
+ \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7687174\charrsid3218741
317
+ \par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a
318
+ 9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad
319
+ 5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6
320
+ b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0
321
+ 0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6
322
+ a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f
323
+ c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512
324
+ 0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462
325
+ a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865
326
+ 6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b
327
+ 4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b
328
+ 4757e8d3f729e245eb2b260a0238fd010000ffff0300504b030414000600080000002100b6f4679893070000c9200000160000007468656d652f7468656d652f
329
+ 7468656d65312e786d6cec59cd8b1bc915bf07f23f347d97f5d5ad8fc1f2a24fcfda33b6b164873dd648a5eef2547789aad28cc56208de532e81c026e49085bd
330
+ ed21842cecc22eb9e48f31d8249b3f22afaa5bdd5552c99e191c3061463074977eefd5afde7bf5de53d5ddcf5e26d4bbc05c1096f6fcfa9d9aefe174ce16248d
331
+ 7afeb3d9a4d2f13d2151ba4094a5b8e76fb0f03fbbf7eb5fdd454732c609f6403e1547a8e7c752ae8eaa5531876124eeb0154ee1bb25e30992f0caa3ea82a34b
332
+ d09bd06aa3566b55134452df4b51026a1f2f97648ebd9952e9dfdb2a1f53784da5500373caa74a35b6243476715e5708b11143cabd0b447b3eccb3609733fc52
333
+ fa1e4542c2173dbfa6fffceabdbb5574940b517940d6909be8bf5c2e17589c37f49c3c3a2b260d823068f50bfd1a40e53e6edc1eb7c6ad429f06a0f91c569a71
334
+ b175b61bc320c71aa0ecd1a17bd41e35eb16ded0dfdce3dc0fd5c7c26b50a63fd8c34f2643b0a285d7a00c1feee1c3417730b2f56b50866fede1dbb5fe28685b
335
+ fa3528a6243ddf43d7c25673b85d6d0159327aec8477c360d26ee4ca4b144443115d6a8a254be5a1584bd00bc6270050408a24493db959e1259a43140f112567
336
+ 9c7827248a21f056286502866b8ddaa4d684ffea13e827ed5174849121ad780113b137a4f87862cec94af6fc07a0d537206f7ffef9cdeb1fdfbcfee9cd575fbd
337
+ 79fdf77c6eadca923b466964cafdf2dd1ffef3cd6fbd7ffff0ed2f5fff319b7a172f4cfcbbbffdeedd3ffef93ef5b0e2d2146ffff4fdbb1fbf7ffbe7dfffebaf
338
+ 5f3bb4f7393a33e1339260e13dc297de5396c0021dfcf119bf9ec42c46c494e8a791402952b338f48f656ca11f6d10450edc00db767cce21d5b880f7d72f2cc2
339
+ d398af2571687c182716f094313a60dc6985876a2ec3ccb3751ab927e76b13f714a10bd7dc43945a5e1eaf579063894be530c616cd2714a5124538c5d253dfb1
340
+ 738c1dabfb8210cbaea764ce99604be97d41bc01224e93ccc899154da5d03149c02f1b1741f0b7659bd3e7de8051d7aa47f8c246c2de40d4417e86a965c6fb68
341
+ 2d51e252394309350d7e8264ec2239ddf0b9891b0b099e8e3065de78818570c93ce6b05ec3e90f21cdb8dd7e4a37898de4929cbb749e20c64ce4889d0f6394ac
342
+ 5cd829496313fbb938871045de13265df05366ef10f50e7e40e941773f27d872f787b3c133c8b026a53240d4376beef0e57dccacf89d6ee8126157aae9f3c44a
343
+ b17d4e9cd131584756689f604cd1255a60ec3dfbdcc160c05696cd4bd20f62c82ac7d815580f901dabea3dc5027a25d5dcece7c91322ac909de2881de073bad9
344
+ 493c1b9426881fd2fc08bc6eda7c0ca52e7105c0633a3f37818f08f480102f4ea33c16a0c308ee835a9fc4c82a60ea5db8e375c32dff5d658fc1be7c61d1b8c2
345
+ be04197c6d1948eca6cc7b6d3343d49aa00c9819822ec3956e41c4727f29a28aab165b3be596f6a62ddd00dd91d5f42424fd6007b4d3fb84ffbbde073a8cb77f
346
+ f9c6b10f3e4ebfe3566c25ab6b763a8792c9f14e7f7308b7dbd50c195f904fbfa919a175fa04431dd9cf58b73dcd6d4fe3ffdff73487f6f36d2773a8dfb8ed64
347
+ 7ce8306e3b99fc70e5e3743265f3027d8d3af0c80e7af4b14f72f0d46749289dca0dc527421ffc08f83db398c0a092d3279eb838055cc5f0a8ca1c4c60e1228e
348
+ b48cc799fc0d91f134462b381daafb4a492472d591f0564cc0a1911e76ea5678ba4e4ed9223becacd7d5c16656590592e5782d2cc6e1a04a66e856bb3cc02bd4
349
+ 6bb6913e68dd1250b2d721614c6693683a48b4b783ca48fa58178ce620a157f65158741d2c3a4afdd6557b2c805ae115f8c1edc1cff49e1f06200242701e07cd
350
+ f942f92973f5d6bbda991fd3d3878c69450034d8db08283ddd555c0f2e4fad2e0bb52b78da2261849b4d425b46377822869fc17974aad1abd0b8aeafbba54b2d
351
+ 7aca147a3e08ad9246bbf33e1637f535c8ede6069a9a9982a6de65cf6f35430899395af5fc251c1ac363b282d811ea3717a211dcbccc25cf36fc4d32cb8a0b39
352
+ 4222ce0cae934e960d122231f728497abe5a7ee1069aea1ca2b9d51b90103e59725d482b9f1a3970baed64bc5ce2b934dd6e8c284b67af90e1b35ce1fc568bdf
353
+ 1cac24d91adc3d8d1797de195df3a708422c6cd795011744c0dd413db3e682c0655891c8caf8db294c79da356fa3740c65e388ae62945714339967709dca0b3a
354
+ faadb081f196af190c6a98242f8467912ab0a651ad6a5a548d8cc3c1aafb6121653923699635d3ca2aaa6abab39835c3b60cecd8f26645de60b53531e434b3c2
355
+ 67a97b37e576b7b96ea74f28aa0418bcb09fa3ea5ea12018d4cac92c6a8af17e1a56393b1fb56bc776811fa07695226164fdd656ed8edd8a1ae19c0e066f54f9
356
+ 416e376a6168b9ed2bb5a5f5adb979b1cdce5e40f2184197bba6526857c2c92e47d0104d754f92a50dd8222f65be35e0c95b73d2f3bfac85fd60d80887955a27
357
+ 1c57826650ab74c27eb3d20fc3667d1cd66ba341e31514161927f530bbb19fc00506dde4f7f67a7cefee3ed9ded1dc99b3a4caf4dd7c5513d777f7f5c6e1bb7b
358
+ 8f40d2f9b2d598749bdd41abd26df627956034e854bac3d6a0326a0ddba3c9681876ba9357be77a1c141bf390c5ae34ea5551f0e2b41aba6e877ba9576d068f4
359
+ 8376bf330efaaff23606569ea58fdc16605ecdebde7f010000ffff0300504b0304140006000800000021000dd1909fb60000001b010000270000007468656d65
360
+ 2f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4350d36
361
+ 3f2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d262452282e
362
+ 3198720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173d985
363
+ 0528a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100e9de0fbfff0000001c020000130000000000000000000000
364
+ 0000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b00000000000000000000
365
+ 000000300100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c0000000000000000000000000019020000
366
+ 7468656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d0014000600080000002100b6f4679893070000c92000001600000000000000
367
+ 000000000000d60200007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b01000027000000
368
+ 000000000000000000009d0a00007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000980b00000000}
369
+ {\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d
370
+ 617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169
371
+ 6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363
372
+ 656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e}
373
+ {\*\latentstyles\lsdstimax376\lsdlockeddef0\lsdsemihiddendef0\lsdunhideuseddef0\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1;
374
+ \lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 2;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4;
375
+ \lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7;
376
+ \lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 1;
377
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 5;
378
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 6;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 7;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 9;
379
+ \lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 1;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 2;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 3;
380
+ \lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 4;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 5;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 6;
381
+ \lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 7;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 8;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal Indent;
382
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 header;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footer;
383
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index heading;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of figures;
384
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope address;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope return;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation reference;
385
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 line number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 page number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote text;
386
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of authorities;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 macro;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 toa heading;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List;
387
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 3;
388
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 3;
389
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 3;
390
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 5;\lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Closing;
391
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Signature;\lsdsemihidden1 \lsdunhideused1 \lsdpriority1 \lsdlocked0 Default Paragraph Font;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent;
392
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 4;
393
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Message Header;\lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Salutation;
394
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Date;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Note Heading;
395
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 3;
396
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Block Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 FollowedHyperlink;\lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;
397
+ \lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Document Map;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Plain Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 E-mail Signature;
398
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Top of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Bottom of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal (Web);\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Acronym;
399
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Address;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Cite;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Code;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Definition;
400
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Keyboard;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Preformatted;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Sample;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Typewriter;
401
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Variable;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation subject;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 No List;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 1;
402
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Balloon Text;\lsdpriority39 \lsdlocked0 Table Grid;
403
+ \lsdsemihidden1 \lsdlocked0 Placeholder Text;\lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;\lsdpriority60 \lsdlocked0 Light Shading;\lsdpriority61 \lsdlocked0 Light List;\lsdpriority62 \lsdlocked0 Light Grid;
404
+ \lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdpriority65 \lsdlocked0 Medium List 1;\lsdpriority66 \lsdlocked0 Medium List 2;\lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdpriority68 \lsdlocked0 Medium Grid 2;
405
+ \lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdpriority70 \lsdlocked0 Dark List;\lsdpriority71 \lsdlocked0 Colorful Shading;\lsdpriority72 \lsdlocked0 Colorful List;\lsdpriority73 \lsdlocked0 Colorful Grid;\lsdpriority60 \lsdlocked0 Light Shading Accent 1;
406
+ \lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;
407
+ \lsdsemihidden1 \lsdlocked0 Revision;\lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;
408
+ \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;
409
+ \lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdpriority60 \lsdlocked0 Light Shading Accent 2;\lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdpriority62 \lsdlocked0 Light Grid Accent 2;
410
+ \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;
411
+ \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;\lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;
412
+ \lsdpriority72 \lsdlocked0 Colorful List Accent 2;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdpriority61 \lsdlocked0 Light List Accent 3;\lsdpriority62 \lsdlocked0 Light Grid Accent 3;
413
+ \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;
414
+ \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdpriority70 \lsdlocked0 Dark List Accent 3;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;
415
+ \lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdpriority62 \lsdlocked0 Light Grid Accent 4;
416
+ \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;
417
+ \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;
418
+ \lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdpriority60 \lsdlocked0 Light Shading Accent 5;\lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdpriority62 \lsdlocked0 Light Grid Accent 5;
419
+ \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 5;
420
+ \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;\lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;
421
+ \lsdpriority72 \lsdlocked0 Colorful List Accent 5;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdpriority61 \lsdlocked0 Light List Accent 6;\lsdpriority62 \lsdlocked0 Light Grid Accent 6;
422
+ \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;
423
+ \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdpriority70 \lsdlocked0 Dark List Accent 6;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;
424
+ \lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;\lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis;
425
+ \lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;\lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdsemihidden1 \lsdunhideused1 \lsdpriority37 \lsdlocked0 Bibliography;
426
+ \lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;\lsdpriority41 \lsdlocked0 Plain Table 1;\lsdpriority42 \lsdlocked0 Plain Table 2;\lsdpriority43 \lsdlocked0 Plain Table 3;\lsdpriority44 \lsdlocked0 Plain Table 4;
427
+ \lsdpriority45 \lsdlocked0 Plain Table 5;\lsdpriority40 \lsdlocked0 Grid Table Light;\lsdpriority46 \lsdlocked0 Grid Table 1 Light;\lsdpriority47 \lsdlocked0 Grid Table 2;\lsdpriority48 \lsdlocked0 Grid Table 3;\lsdpriority49 \lsdlocked0 Grid Table 4;
428
+ \lsdpriority50 \lsdlocked0 Grid Table 5 Dark;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 1;
429
+ \lsdpriority48 \lsdlocked0 Grid Table 3 Accent 1;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 1;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 1;
430
+ \lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 1;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 2;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 2;
431
+ \lsdpriority49 \lsdlocked0 Grid Table 4 Accent 2;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 2;
432
+ \lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 3;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 3;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 3;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 3;
433
+ \lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 3;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 4;
434
+ \lsdpriority47 \lsdlocked0 Grid Table 2 Accent 4;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 4;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 4;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 4;
435
+ \lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 4;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 5;
436
+ \lsdpriority48 \lsdlocked0 Grid Table 3 Accent 5;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 5;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 5;
437
+ \lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 5;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 6;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 6;
438
+ \lsdpriority49 \lsdlocked0 Grid Table 4 Accent 6;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 6;
439
+ \lsdpriority46 \lsdlocked0 List Table 1 Light;\lsdpriority47 \lsdlocked0 List Table 2;\lsdpriority48 \lsdlocked0 List Table 3;\lsdpriority49 \lsdlocked0 List Table 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark;
440
+ \lsdpriority51 \lsdlocked0 List Table 6 Colorful;\lsdpriority52 \lsdlocked0 List Table 7 Colorful;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 List Table 2 Accent 1;\lsdpriority48 \lsdlocked0 List Table 3 Accent 1;
441
+ \lsdpriority49 \lsdlocked0 List Table 4 Accent 1;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 1;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 1;
442
+ \lsdpriority46 \lsdlocked0 List Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 List Table 2 Accent 2;\lsdpriority48 \lsdlocked0 List Table 3 Accent 2;\lsdpriority49 \lsdlocked0 List Table 4 Accent 2;
443
+ \lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 2;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 3;
444
+ \lsdpriority47 \lsdlocked0 List Table 2 Accent 3;\lsdpriority48 \lsdlocked0 List Table 3 Accent 3;\lsdpriority49 \lsdlocked0 List Table 4 Accent 3;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 3;
445
+ \lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 4;\lsdpriority47 \lsdlocked0 List Table 2 Accent 4;
446
+ \lsdpriority48 \lsdlocked0 List Table 3 Accent 4;\lsdpriority49 \lsdlocked0 List Table 4 Accent 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 4;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 4;
447
+ \lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 List Table 2 Accent 5;\lsdpriority48 \lsdlocked0 List Table 3 Accent 5;
448
+ \lsdpriority49 \lsdlocked0 List Table 4 Accent 5;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 5;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 5;
449
+ \lsdpriority46 \lsdlocked0 List Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 List Table 2 Accent 6;\lsdpriority48 \lsdlocked0 List Table 3 Accent 6;\lsdpriority49 \lsdlocked0 List Table 4 Accent 6;
450
+ \lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 6;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Mention;
451
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Smart Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Hashtag;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Unresolved Mention;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Smart Link;}}{\*\datastore 01050000
452
+ 02000000180000004d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000
453
+ d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
454
+ ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
455
+ ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
456
+ ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
457
+ fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
458
+ ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
459
+ ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
460
+ ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
461
+ ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000e02e
462
+ c2aae99fda01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
463
+ 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000
464
+ 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000
465
+ 0000000000000000000000000000000000000000000000000105000000000000}}
data/algoparams_from_ui1_20240513_231725.rtf ADDED
@@ -0,0 +1,465 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch0\stshfloch31506\stshfhich31506\stshfbi31506\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fbidi \fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}
2
+ {\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;}{\f37\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\f43\fbidi \fmodern\fcharset0\fprq1{\*\panose 020b0609020204030204}Consolas;}
3
+ {\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
4
+ {\fhimajor\f31502\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0302020204030204}Calibri Light;}{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
5
+ {\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
6
+ {\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f44\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
7
+ {\f45\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f47\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f48\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f49\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
8
+ {\f50\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f51\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f52\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f64\fbidi \fmodern\fcharset238\fprq1 Courier New CE;}
9
+ {\f65\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;}{\f67\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;}{\f68\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f69\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}
10
+ {\f70\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f71\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;}{\f72\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f384\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}
11
+ {\f385\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}{\f387\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f388\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f391\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}
12
+ {\f392\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}{\f414\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f415\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\f417\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}
13
+ {\f418\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\f419\fbidi \fswiss\fcharset177\fprq2 Calibri (Hebrew);}{\f420\fbidi \fswiss\fcharset178\fprq2 Calibri (Arabic);}{\f421\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}
14
+ {\f422\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\f474\fbidi \fmodern\fcharset238\fprq1 Consolas CE;}{\f475\fbidi \fmodern\fcharset204\fprq1 Consolas Cyr;}{\f477\fbidi \fmodern\fcharset161\fprq1 Consolas Greek;}
15
+ {\f478\fbidi \fmodern\fcharset162\fprq1 Consolas Tur;}{\f481\fbidi \fmodern\fcharset186\fprq1 Consolas Baltic;}{\f482\fbidi \fmodern\fcharset163\fprq1 Consolas (Vietnamese);}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
16
+ {\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
17
+ {\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
18
+ {\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
19
+ {\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
20
+ {\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
21
+ {\fhimajor\f31528\fbidi \fswiss\fcharset238\fprq2 Calibri Light CE;}{\fhimajor\f31529\fbidi \fswiss\fcharset204\fprq2 Calibri Light Cyr;}{\fhimajor\f31531\fbidi \fswiss\fcharset161\fprq2 Calibri Light Greek;}
22
+ {\fhimajor\f31532\fbidi \fswiss\fcharset162\fprq2 Calibri Light Tur;}{\fhimajor\f31533\fbidi \fswiss\fcharset177\fprq2 Calibri Light (Hebrew);}{\fhimajor\f31534\fbidi \fswiss\fcharset178\fprq2 Calibri Light (Arabic);}
23
+ {\fhimajor\f31535\fbidi \fswiss\fcharset186\fprq2 Calibri Light Baltic;}{\fhimajor\f31536\fbidi \fswiss\fcharset163\fprq2 Calibri Light (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
24
+ {\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
25
+ {\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
26
+ {\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
27
+ {\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
28
+ {\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
29
+ {\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
30
+ {\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
31
+ {\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}
32
+ {\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}
33
+ {\fhiminor\f31573\fbidi \fswiss\fcharset177\fprq2 Calibri (Hebrew);}{\fhiminor\f31574\fbidi \fswiss\fcharset178\fprq2 Calibri (Arabic);}{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}
34
+ {\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
35
+ {\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
36
+ {\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}
37
+ {\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;
38
+ \red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red0\green0\blue0;\red0\green0\blue0;}{\*\defchp \f31506\fs22 }{\*\defpap \ql \li0\ri0\sa160\sl259\slmult1
39
+ \widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0
40
+ \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 \sqformat \spriority0 Normal;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*
41
+ \ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa160\sl259\slmult1
42
+ \widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31506\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext11 \ssemihidden \sunhideused Normal Table;}{
43
+ \s15\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs21\alang1025 \ltrch\fcs0 \f43\fs21\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext15 \slink16 \sunhideused \styrsid7687174
44
+ Plain Text;}{\*\cs16 \additive \rtlch\fcs1 \af0\afs21 \ltrch\fcs0 \f43\fs21 \sbasedon10 \slink15 \slocked \styrsid7687174 Plain Text Char;}}{\*\rsidtbl \rsid1526327\rsid2391802\rsid3218741\rsid3950199\rsid3954227\rsid4398339\rsid7687174\rsid8420583
45
+ \rsid12154272\rsid12285532\rsid12544274\rsid15797175\rsid16138663\rsid16192094}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\author Satya Saste}
46
+ {\operator Nikita Tandel}{\creatim\yr2022\mo8\dy17\hr22\min2}{\revtim\yr2024\mo5\dy7\min44}{\version11}{\edmins91}{\nofpages9}{\nofwords1183}{\nofchars6749}{\nofcharsws7917}{\vern33}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/word
47
+ ml}}\paperw12240\paperh15840\margl1501\margr1502\margt1440\margb1440\gutter0\ltrsect
48
+ \widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont1\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen
49
+ \expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1501\dgvorigin1440\dghshow1\dgvshow1
50
+ \jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct
51
+ \asianbrkrule\rsidroot3954227\newtblstyruls\nogrowautofit\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal \nouicompat \fet0
52
+ {\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0{\*\docvar {__Grammarly_42____i}{H4sIAAAAAAAEAKtWckksSQxILCpxzi/NK1GyMqwFAAEhoTITAAAA}}
53
+ {\*\docvar {__Grammarly_42___1}{H4sIAAAAAAAEAKtWcslP9kxRslIyNDY2MDUyNzI1MjAxtzQwNLJQ0lEKTi0uzszPAykwrAUAD4MAXiwAAAA=}}\ltrpar \sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid7687174\sftnbj {\*\pnseclvl1
54
+ \pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5
55
+ \pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang
56
+ {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3218741 \rtlch\fcs1
57
+ \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741 \{
58
+ \par "session_name": "test",
59
+ \par "session_description": "test",
60
+ \par "design_state_data": \{
61
+ \par
62
+ \par "session_info" : \{
63
+ \par "project_id": "1",
64
+ \par "experiment_id": "kkkk-11",
65
+ \par "dataset":"iris_modified.csv",
66
+ \par "session_name": "test",
67
+ \par "session_description": "test"
68
+ \par \},
69
+ \par
70
+ \par "target": \{
71
+ \par "prediction_type": "Classification",
72
+ \par "target": "species",
73
+ \par "type":"classifiation",
74
+ \par "partitioning": true
75
+ \par \},
76
+ \par "train": \{
77
+ \par "policy": "Split the dataset",
78
+ \par "time_variable": "sepal_length",
79
+ \par "sampling_method": "No sampling(whole data)",
80
+ \par "split": "Randomly",
81
+ \par "k_fold": false,
82
+ \par "train_ratio": 0.8,
83
+ \par "random_seed": }{\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid12154272 1}{\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741 0
84
+ \par \},
85
+ \par "feature_handling": \{
86
+ \par "sepal_length": \{
87
+ \par "feature_name": "sepal_length",
88
+ \par "is_selected": true,
89
+ \par "feature_variable_type": "numerical",
90
+ \par "feature_details": \{
91
+ \par "numerical_handling": "Keep as regular numerical feature",
92
+ \par "rescaling": "No rescaling",
93
+ \par "make_derived_feats": false,
94
+ \par "missing_values": "Impute",
95
+ \par "impute_with": "Average of values"
96
+ \par
97
+ \par \}
98
+ \par \},
99
+ \par "sepal_width": \{
100
+ \par "feature_name": "sepal_width",
101
+ \par "is_selected": true,
102
+ \par "feature_variable_type": "numerical",
103
+ \par "feature_details": \{
104
+ \par "numerical_handling": "Keep as regular numerical feature",
105
+ \par "rescaling": "No rescaling",
106
+ \par "make_derived_feats": false,
107
+ \par "missing_values": "Impute",
108
+ \par "impute_with": "Average of values"
109
+ \par
110
+ \par \}
111
+ \par \},
112
+ \par "petal_length": \{
113
+ \par "feature_name": "petal_length",
114
+ \par "is_selected": true,
115
+ \par "feature_variable_type": "numerical",
116
+ \par "feature_details": \{
117
+ \par "numerical_handling": "Keep as regular numerical feature",
118
+ \par "rescaling": "No rescaling",
119
+ \par "make_derived_feats": false,
120
+ \par "missing_values": "Impute",
121
+ \par "impute_with": "Average of values"
122
+ \par
123
+ \par \}
124
+ \par \},
125
+ \par "petal_width": \{
126
+ \par "feature_name": "petal_width",
127
+ \par "is_selected": }{\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid1526327 false}{\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741 ,
128
+ \par "feature_variable_type": "numerical",
129
+ \par "feature_details": \{
130
+ \par "numerical_handling": "Keep as regular numerical feature",
131
+ \par "rescaling": "No rescaling",
132
+ \par "make_derived_feats": false,
133
+ \par "missing_values": "Impute",
134
+ \par "impute_with": "Average of values"
135
+ \par \}
136
+ \par \},
137
+ \par "species": \{
138
+ \par "feature_name": "species",
139
+ \par "is_selected": true,
140
+ \par "feature_variable_type": "text",
141
+ \par "feature_details": \{
142
+ \par "text_handling": "Tokenize and hash",
143
+ \par "hash_columns": 0
144
+ \par \}
145
+ \par \}
146
+ \par \},
147
+ \par
148
+ \par "algorithms": \{
149
+ \par "RandomForestClassifier": \{
150
+ \par "model_name": "Random Forest Classifier",
151
+ \par "is_selected": true,
152
+ \par "min_trees": 10,
153
+ \par "max_trees": 30,
154
+ \par "feature_sampling_statergy": "Default",
155
+ \par "min_depth": 20,
156
+ \par "max_depth": 30,
157
+ \par "min_samples_per_leaf_min_value": 5,
158
+ \par "min_samples_per_leaf_max_value": 50,
159
+ \par "parallelism": 0
160
+ \par \},
161
+ \par "RandomForestRegressor": \{
162
+ \par "model_name": "Random Forest Regressor",
163
+ \par "is_selected": false,
164
+ \par "min_trees": 10,
165
+ \par "max_trees": 20,
166
+ \par "feature_sampling_statergy": "Default",
167
+ \par "min_depth": 20,
168
+ \par "max_depth": 25,
169
+ \par "min_samples_per_leaf_min_value": 5,
170
+ \par "min_samples_per_leaf_max_value": 10,
171
+ \par "parallelism": 0
172
+ \par \},
173
+ \par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12544274 {\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741
174
+ \par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3218741 {\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741 "LinearRegression": \{
175
+ \par "model_name": "LinearRegression",
176
+ \par "is_selected": false,
177
+ \par "parallelism": 2,
178
+ \par "min_iter":30,
179
+ \par "max_iter":50,
180
+ \par "min_regparam":0.5,
181
+ \par "max_regparam":0.8,
182
+ \par "min_elasticnet":0.5,
183
+ \par "max_elasticnet":0.8
184
+ \par \},
185
+ \par "LogisticRegression": \{
186
+ \par "model_name": "LogisticRegression",
187
+ \par "is_selected": false,
188
+ \par "parallelism": 2,
189
+ \par "min_iter":30,
190
+ \par "max_iter":50,
191
+ \par "min_regparam":0.5,
192
+ \par "max_regparam":0.8,
193
+ \par "min_elasticnet":0.5,
194
+ \par "max_elasticnet":0.8
195
+ \par \},
196
+ \par "RidgeRegression": \{
197
+ \par "model_name": "RidgeRegression",
198
+ \par "is_selected": false,
199
+ \par "regularization_term": "Specify values to test",
200
+ \par "min_iter":30,
201
+ \par "max_iter":50,
202
+ \par "min_regparam":0.5,
203
+ \par "max_regparam":0.8
204
+ \par \},
205
+ \par "LassoRegression": \{
206
+ \par "model_name": "Lasso Regression",
207
+ \par "is_selected": false,
208
+ \par "regularization_term": "Specify values to test",
209
+ \par "min_iter":30,
210
+ \par "max_iter":50,
211
+ \par "min_regparam":0.5,
212
+ \par "max_regparam":0.8
213
+ \par \},
214
+ \par "ElasticNetRegression": \{
215
+ \par "model_name": "Lasso Regression",
216
+ \par "is_selected": false,
217
+ \par "regularization_term": "Specify values to test",
218
+ \par "min_iter":30,
219
+ \par "max_iter":50,
220
+ \par "min_regparam":0.5,
221
+ \par "max_regparam":0.8,
222
+ \par "min_elasticnet":0.5,
223
+ \par "max_elasticnet":0.8
224
+ \par \},
225
+ \par "xg_boost": \{
226
+ \par "model_name": "XG Boost",
227
+ \par "is_selected": false,
228
+ \par "use_gradient_boosted_tree": true,
229
+ \par "dart": true,
230
+ \par "tree_method": "",
231
+ \par "random_state": 0,
232
+ \par "max_num_of_trees": 0,
233
+ \par "early_stopping": true,
234
+ \par "early_stopping_rounds": 2,
235
+ \par "max_depth_of_tree": [56, 89],
236
+ \par "learningRate": [89, 76],
237
+ \par "l1_regularization": [77],
238
+ \par "l2_regularization": [78],
239
+ \par "gamma": [68],
240
+ \par "min_child_weight": [67],
241
+ \par "sub_sample": [67],
242
+ \par "col_sample_by_tree": [67],
243
+ \par "replace_missing_values": false,
244
+ \par "parallelism": 0
245
+ \par \},
246
+ \par "DecisionTreeRegressor": \{
247
+ \par "model_name": "Decision Tree",
248
+ \par "is_selected": false,
249
+ \par "min_depth":4,
250
+ \par "max_depth": 7,
251
+ \par "use_gini": false,
252
+ \par "use_entropy": true,
253
+ \par "min_samples_per_leaf": [12, 6],
254
+ \par "use_best": true,
255
+ \par "use_random": true
256
+ \par \},
257
+ \par "DecisionTreeClassifier": \{
258
+ \par "model_name": "Decision Tree",
259
+ \par "is_selected": }{\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3950199 true}{\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741 ,
260
+ \par "min_depth":4,
261
+ \par "max_depth": 7,
262
+ \par "use_gini": false,
263
+ \par "use_entropy": true,
264
+ \par "min_samples_per_leaf": [12, 6],
265
+ \par "use_best": true,
266
+ \par "use_random": }{\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid4398339 false}{\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741
267
+ \par \},
268
+ \par "SVM": \{
269
+ \par "model_name": "Support Vector Machine",
270
+ \par "is_selected": false,
271
+ \par "linear_kernel": true,
272
+ \par "rep_kernel": true,
273
+ \par "polynomial_kernel": true,
274
+ \par "sigmoid_kernel": true,
275
+ \par "c_value": [566, 79],
276
+ \par "auto": true,
277
+ \par "scale": true,
278
+ \par "custom_gamma_values": true,
279
+ \par "tolerance": 7,
280
+ \par "max_iterations": 7
281
+ \par \},
282
+ \par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12544274 {\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741
283
+ \par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3218741 {\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741 "KNN": \{
284
+ \par "model_name": "KNN",
285
+ \par "is_selected": false,
286
+ \par "k_value": [78],
287
+ \par "distance_weighting": true,
288
+ \par "neighbour_finding_algorithm": "Automatic",
289
+ \par "random_state": 0,
290
+ \par "p_value": 0
291
+ \par \},
292
+ \par "neural_network": \{
293
+ \par "model_name": "Neural Network",
294
+ \par "is_selected": false,
295
+ \par "hidden_layer_sizes": [67, 89],
296
+ \par "activation": "",
297
+ \par "alpha_value": 0,
298
+ \par "max_iterations": 0,
299
+ \par "convergence_tolerance": 0,
300
+ \par "early_stopping": true,
301
+ \par "solver": "ADAM",
302
+ \par "shuffle_data": true,
303
+ \par "initial_learning_rate": 0,
304
+ \par "automatic_batching": true,
305
+ \par "beta_1": 0,
306
+ \par "beta_2": 0,
307
+ \par "epsilon": 0,
308
+ \par "power_t": 0,
309
+ \par "momentum": 0,
310
+ \par "use_nesterov_momentum": false
311
+ \par \}
312
+ \par \}
313
+ \par \}
314
+ \par \}
315
+ \par
316
+ \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7687174\charrsid3218741
317
+ \par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a
318
+ 9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad
319
+ 5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6
320
+ b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0
321
+ 0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6
322
+ a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f
323
+ c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512
324
+ 0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462
325
+ a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865
326
+ 6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b
327
+ 4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b
328
+ 4757e8d3f729e245eb2b260a0238fd010000ffff0300504b030414000600080000002100b6f4679893070000c9200000160000007468656d652f7468656d652f
329
+ 7468656d65312e786d6cec59cd8b1bc915bf07f23f347d97f5d5ad8fc1f2a24fcfda33b6b164873dd648a5eef2547789aad28cc56208de532e81c026e49085bd
330
+ ed21842cecc22eb9e48f31d8249b3f22afaa5bdd5552c99e191c3061463074977eefd5afde7bf5de53d5ddcf5e26d4bbc05c1096f6fcfa9d9aefe174ce16248d
331
+ 7afeb3d9a4d2f13d2151ba4094a5b8e76fb0f03fbbf7eb5fdd454732c609f6403e1547a8e7c752ae8eaa5531876124eeb0154ee1bb25e30992f0caa3ea82a34b
332
+ d09bd06aa3566b55134452df4b51026a1f2f97648ebd9952e9dfdb2a1f53784da5500373caa74a35b6243476715e5708b11143cabd0b447b3eccb3609733fc52
333
+ fa1e4542c2173dbfa6fffceabdbb5574940b517940d6909be8bf5c2e17589c37f49c3c3a2b260d823068f50bfd1a40e53e6edc1eb7c6ad429f06a0f91c569a71
334
+ b175b61bc320c71aa0ecd1a17bd41e35eb16ded0dfdce3dc0fd5c7c26b50a63fd8c34f2643b0a285d7a00c1feee1c3417730b2f56b50866fede1dbb5fe28685b
335
+ fa3528a6243ddf43d7c25673b85d6d0159327aec8477c360d26ee4ca4b144443115d6a8a254be5a1584bd00bc6270050408a24493db959e1259a43140f112567
336
+ 9c7827248a21f056286502866b8ddaa4d684ffea13e827ed5174849121ad780113b137a4f87862cec94af6fc07a0d537206f7ffef9cdeb1fdfbcfee9cd575fbd
337
+ 79fdf77c6eadca923b466964cafdf2dd1ffef3cd6fbd7ffff0ed2f5fff319b7a172f4cfcbbbffdeedd3ffef93ef5b0e2d2146ffff4fdbb1fbf7ffbe7dfffebaf
338
+ 5f3bb4f7393a33e1339260e13dc297de5396c0021dfcf119bf9ec42c46c494e8a791402952b338f48f656ca11f6d10450edc00db767cce21d5b880f7d72f2cc2
339
+ d398af2571687c182716f094313a60dc6985876a2ec3ccb3751ab927e76b13f714a10bd7dc43945a5e1eaf579063894be530c616cd2714a5124538c5d253dfb1
340
+ 738c1dabfb8210cbaea764ce99604be97d41bc01224e93ccc899154da5d03149c02f1b1741f0b7659bd3e7de8051d7aa47f8c246c2de40d4417e86a965c6fb68
341
+ 2d51e252394309350d7e8264ec2239ddf0b9891b0b099e8e3065de78818570c93ce6b05ec3e90f21cdb8dd7e4a37898de4929cbb749e20c64ce4889d0f6394ac
342
+ 5cd829496313fbb938871045de13265df05366ef10f50e7e40e941773f27d872f787b3c133c8b026a53240d4376beef0e57dccacf89d6ee8126157aae9f3c44a
343
+ b17d4e9cd131584756689f604cd1255a60ec3dfbdcc160c05696cd4bd20f62c82ac7d815580f901dabea3dc5027a25d5dcece7c91322ac909de2881de073bad9
344
+ 493c1b9426881fd2fc08bc6eda7c0ca52e7105c0633a3f37818f08f480102f4ea33c16a0c308ee835a9fc4c82a60ea5db8e375c32dff5d658fc1be7c61d1b8c2
345
+ be04197c6d1948eca6cc7b6d3343d49aa00c9819822ec3956e41c4727f29a28aab165b3be596f6a62ddd00dd91d5f42424fd6007b4d3fb84ffbbde073a8cb77f
346
+ f9c6b10f3e4ebfe3566c25ab6b763a8792c9f14e7f7308b7dbd50c195f904fbfa919a175fa04431dd9cf58b73dcd6d4fe3ffdff73487f6f36d2773a8dfb8ed64
347
+ 7ce8306e3b99fc70e5e3743265f3027d8d3af0c80e7af4b14f72f0d46749289dca0dc527421ffc08f83db398c0a092d3279eb838055cc5f0a8ca1c4c60e1228e
348
+ b48cc799fc0d91f134462b381daafb4a492472d591f0564cc0a1911e76ea5678ba4e4ed9223becacd7d5c16656590592e5782d2cc6e1a04a66e856bb3cc02bd4
349
+ 6bb6913e68dd1250b2d721614c6693683a48b4b783ca48fa58178ce620a157f65158741d2c3a4afdd6557b2c805ae115f8c1edc1cff49e1f06200242701e07cd
350
+ f942f92973f5d6bbda991fd3d3878c69450034d8db08283ddd555c0f2e4fad2e0bb52b78da2261849b4d425b46377822869fc17974aad1abd0b8aeafbba54b2d
351
+ 7aca147a3e08ad9246bbf33e1637f535c8ede6069a9a9982a6de65cf6f35430899395af5fc251c1ac363b282d811ea3717a211dcbccc25cf36fc4d32cb8a0b39
352
+ 4222ce0cae934e960d122231f728497abe5a7ee1069aea1ca2b9d51b90103e59725d482b9f1a3970baed64bc5ce2b934dd6e8c284b67af90e1b35ce1fc568bdf
353
+ 1cac24d91adc3d8d1797de195df3a708422c6cd795011744c0dd413db3e682c0655891c8caf8db294c79da356fa3740c65e388ae62945714339967709dca0b3a
354
+ faadb081f196af190c6a98242f8467912ab0a651ad6a5a548d8cc3c1aafb6121653923699635d3ca2aaa6abab39835c3b60cecd8f26645de60b53531e434b3c2
355
+ 67a97b37e576b7b96ea74f28aa0418bcb09fa3ea5ea12018d4cac92c6a8af17e1a56393b1fb56bc776811fa07695226164fdd656ed8edd8a1ae19c0e066f54f9
356
+ 416e376a6168b9ed2bb5a5f5adb979b1cdce5e40f2184197bba6526857c2c92e47d0104d754f92a50dd8222f65be35e0c95b73d2f3bfac85fd60d80887955a27
357
+ 1c57826650ab74c27eb3d20fc3667d1cd66ba341e31514161927f530bbb19fc00506dde4f7f67a7cefee3ed9ded1dc99b3a4caf4dd7c5513d777f7f5c6e1bb7b
358
+ 8f40d2f9b2d598749bdd41abd26df627956034e854bac3d6a0326a0ddba3c9681876ba9357be77a1c141bf390c5ae34ea5551f0e2b41aba6e877ba9576d068f4
359
+ 8376bf330efaaff23606569ea58fdc16605ecdebde7f010000ffff0300504b0304140006000800000021000dd1909fb60000001b010000270000007468656d65
360
+ 2f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4350d36
361
+ 3f2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d262452282e
362
+ 3198720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173d985
363
+ 0528a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100e9de0fbfff0000001c020000130000000000000000000000
364
+ 0000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b00000000000000000000
365
+ 000000300100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c0000000000000000000000000019020000
366
+ 7468656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d0014000600080000002100b6f4679893070000c92000001600000000000000
367
+ 000000000000d60200007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b01000027000000
368
+ 000000000000000000009d0a00007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000980b00000000}
369
+ {\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d
370
+ 617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169
371
+ 6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363
372
+ 656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e}
373
+ {\*\latentstyles\lsdstimax376\lsdlockeddef0\lsdsemihiddendef0\lsdunhideuseddef0\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1;
374
+ \lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 2;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4;
375
+ \lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7;
376
+ \lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 1;
377
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 5;
378
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 6;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 7;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 9;
379
+ \lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 1;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 2;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 3;
380
+ \lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 4;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 5;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 6;
381
+ \lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 7;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 8;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal Indent;
382
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 header;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footer;
383
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index heading;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of figures;
384
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope address;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope return;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation reference;
385
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 line number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 page number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote text;
386
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of authorities;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 macro;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 toa heading;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List;
387
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 3;
388
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 3;
389
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 3;
390
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 5;\lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Closing;
391
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Signature;\lsdsemihidden1 \lsdunhideused1 \lsdpriority1 \lsdlocked0 Default Paragraph Font;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent;
392
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 4;
393
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Message Header;\lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Salutation;
394
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Date;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Note Heading;
395
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 3;
396
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Block Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 FollowedHyperlink;\lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;
397
+ \lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Document Map;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Plain Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 E-mail Signature;
398
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Top of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Bottom of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal (Web);\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Acronym;
399
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Address;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Cite;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Code;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Definition;
400
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Keyboard;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Preformatted;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Sample;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Typewriter;
401
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Variable;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation subject;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 No List;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 1;
402
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Balloon Text;\lsdpriority39 \lsdlocked0 Table Grid;
403
+ \lsdsemihidden1 \lsdlocked0 Placeholder Text;\lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;\lsdpriority60 \lsdlocked0 Light Shading;\lsdpriority61 \lsdlocked0 Light List;\lsdpriority62 \lsdlocked0 Light Grid;
404
+ \lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdpriority65 \lsdlocked0 Medium List 1;\lsdpriority66 \lsdlocked0 Medium List 2;\lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdpriority68 \lsdlocked0 Medium Grid 2;
405
+ \lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdpriority70 \lsdlocked0 Dark List;\lsdpriority71 \lsdlocked0 Colorful Shading;\lsdpriority72 \lsdlocked0 Colorful List;\lsdpriority73 \lsdlocked0 Colorful Grid;\lsdpriority60 \lsdlocked0 Light Shading Accent 1;
406
+ \lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;
407
+ \lsdsemihidden1 \lsdlocked0 Revision;\lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;
408
+ \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;
409
+ \lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdpriority60 \lsdlocked0 Light Shading Accent 2;\lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdpriority62 \lsdlocked0 Light Grid Accent 2;
410
+ \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;
411
+ \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;\lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;
412
+ \lsdpriority72 \lsdlocked0 Colorful List Accent 2;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdpriority61 \lsdlocked0 Light List Accent 3;\lsdpriority62 \lsdlocked0 Light Grid Accent 3;
413
+ \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;
414
+ \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdpriority70 \lsdlocked0 Dark List Accent 3;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;
415
+ \lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdpriority62 \lsdlocked0 Light Grid Accent 4;
416
+ \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;
417
+ \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;
418
+ \lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdpriority60 \lsdlocked0 Light Shading Accent 5;\lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdpriority62 \lsdlocked0 Light Grid Accent 5;
419
+ \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 5;
420
+ \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;\lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;
421
+ \lsdpriority72 \lsdlocked0 Colorful List Accent 5;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdpriority61 \lsdlocked0 Light List Accent 6;\lsdpriority62 \lsdlocked0 Light Grid Accent 6;
422
+ \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;
423
+ \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdpriority70 \lsdlocked0 Dark List Accent 6;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;
424
+ \lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;\lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis;
425
+ \lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;\lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdsemihidden1 \lsdunhideused1 \lsdpriority37 \lsdlocked0 Bibliography;
426
+ \lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;\lsdpriority41 \lsdlocked0 Plain Table 1;\lsdpriority42 \lsdlocked0 Plain Table 2;\lsdpriority43 \lsdlocked0 Plain Table 3;\lsdpriority44 \lsdlocked0 Plain Table 4;
427
+ \lsdpriority45 \lsdlocked0 Plain Table 5;\lsdpriority40 \lsdlocked0 Grid Table Light;\lsdpriority46 \lsdlocked0 Grid Table 1 Light;\lsdpriority47 \lsdlocked0 Grid Table 2;\lsdpriority48 \lsdlocked0 Grid Table 3;\lsdpriority49 \lsdlocked0 Grid Table 4;
428
+ \lsdpriority50 \lsdlocked0 Grid Table 5 Dark;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 1;
429
+ \lsdpriority48 \lsdlocked0 Grid Table 3 Accent 1;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 1;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 1;
430
+ \lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 1;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 2;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 2;
431
+ \lsdpriority49 \lsdlocked0 Grid Table 4 Accent 2;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 2;
432
+ \lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 3;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 3;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 3;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 3;
433
+ \lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 3;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 4;
434
+ \lsdpriority47 \lsdlocked0 Grid Table 2 Accent 4;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 4;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 4;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 4;
435
+ \lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 4;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 5;
436
+ \lsdpriority48 \lsdlocked0 Grid Table 3 Accent 5;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 5;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 5;
437
+ \lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 5;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 6;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 6;
438
+ \lsdpriority49 \lsdlocked0 Grid Table 4 Accent 6;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 6;
439
+ \lsdpriority46 \lsdlocked0 List Table 1 Light;\lsdpriority47 \lsdlocked0 List Table 2;\lsdpriority48 \lsdlocked0 List Table 3;\lsdpriority49 \lsdlocked0 List Table 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark;
440
+ \lsdpriority51 \lsdlocked0 List Table 6 Colorful;\lsdpriority52 \lsdlocked0 List Table 7 Colorful;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 List Table 2 Accent 1;\lsdpriority48 \lsdlocked0 List Table 3 Accent 1;
441
+ \lsdpriority49 \lsdlocked0 List Table 4 Accent 1;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 1;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 1;
442
+ \lsdpriority46 \lsdlocked0 List Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 List Table 2 Accent 2;\lsdpriority48 \lsdlocked0 List Table 3 Accent 2;\lsdpriority49 \lsdlocked0 List Table 4 Accent 2;
443
+ \lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 2;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 3;
444
+ \lsdpriority47 \lsdlocked0 List Table 2 Accent 3;\lsdpriority48 \lsdlocked0 List Table 3 Accent 3;\lsdpriority49 \lsdlocked0 List Table 4 Accent 3;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 3;
445
+ \lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 4;\lsdpriority47 \lsdlocked0 List Table 2 Accent 4;
446
+ \lsdpriority48 \lsdlocked0 List Table 3 Accent 4;\lsdpriority49 \lsdlocked0 List Table 4 Accent 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 4;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 4;
447
+ \lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 List Table 2 Accent 5;\lsdpriority48 \lsdlocked0 List Table 3 Accent 5;
448
+ \lsdpriority49 \lsdlocked0 List Table 4 Accent 5;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 5;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 5;
449
+ \lsdpriority46 \lsdlocked0 List Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 List Table 2 Accent 6;\lsdpriority48 \lsdlocked0 List Table 3 Accent 6;\lsdpriority49 \lsdlocked0 List Table 4 Accent 6;
450
+ \lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 6;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Mention;
451
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Smart Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Hashtag;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Unresolved Mention;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Smart Link;}}{\*\datastore 01050000
452
+ 02000000180000004d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000
453
+ d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
454
+ ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
455
+ ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
456
+ ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
457
+ fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
458
+ ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
459
+ ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
460
+ ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
461
+ ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000e02e
462
+ c2aae99fda01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
463
+ 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000
464
+ 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000
465
+ 0000000000000000000000000000000000000000000000000105000000000000}}
data/algoparams_from_ui1_20240513_232048.rtf ADDED
@@ -0,0 +1,465 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch0\stshfloch31506\stshfhich31506\stshfbi31506\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fbidi \fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}
2
+ {\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;}{\f37\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\f43\fbidi \fmodern\fcharset0\fprq1{\*\panose 020b0609020204030204}Consolas;}
3
+ {\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
4
+ {\fhimajor\f31502\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0302020204030204}Calibri Light;}{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
5
+ {\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
6
+ {\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f44\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
7
+ {\f45\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f47\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f48\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f49\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
8
+ {\f50\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f51\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f52\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f64\fbidi \fmodern\fcharset238\fprq1 Courier New CE;}
9
+ {\f65\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;}{\f67\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;}{\f68\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f69\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}
10
+ {\f70\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f71\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;}{\f72\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f384\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}
11
+ {\f385\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}{\f387\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f388\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f391\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}
12
+ {\f392\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}{\f414\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f415\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\f417\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}
13
+ {\f418\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\f419\fbidi \fswiss\fcharset177\fprq2 Calibri (Hebrew);}{\f420\fbidi \fswiss\fcharset178\fprq2 Calibri (Arabic);}{\f421\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}
14
+ {\f422\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\f474\fbidi \fmodern\fcharset238\fprq1 Consolas CE;}{\f475\fbidi \fmodern\fcharset204\fprq1 Consolas Cyr;}{\f477\fbidi \fmodern\fcharset161\fprq1 Consolas Greek;}
15
+ {\f478\fbidi \fmodern\fcharset162\fprq1 Consolas Tur;}{\f481\fbidi \fmodern\fcharset186\fprq1 Consolas Baltic;}{\f482\fbidi \fmodern\fcharset163\fprq1 Consolas (Vietnamese);}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
16
+ {\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
17
+ {\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
18
+ {\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
19
+ {\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
20
+ {\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
21
+ {\fhimajor\f31528\fbidi \fswiss\fcharset238\fprq2 Calibri Light CE;}{\fhimajor\f31529\fbidi \fswiss\fcharset204\fprq2 Calibri Light Cyr;}{\fhimajor\f31531\fbidi \fswiss\fcharset161\fprq2 Calibri Light Greek;}
22
+ {\fhimajor\f31532\fbidi \fswiss\fcharset162\fprq2 Calibri Light Tur;}{\fhimajor\f31533\fbidi \fswiss\fcharset177\fprq2 Calibri Light (Hebrew);}{\fhimajor\f31534\fbidi \fswiss\fcharset178\fprq2 Calibri Light (Arabic);}
23
+ {\fhimajor\f31535\fbidi \fswiss\fcharset186\fprq2 Calibri Light Baltic;}{\fhimajor\f31536\fbidi \fswiss\fcharset163\fprq2 Calibri Light (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
24
+ {\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
25
+ {\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
26
+ {\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
27
+ {\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
28
+ {\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
29
+ {\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
30
+ {\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
31
+ {\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}
32
+ {\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}
33
+ {\fhiminor\f31573\fbidi \fswiss\fcharset177\fprq2 Calibri (Hebrew);}{\fhiminor\f31574\fbidi \fswiss\fcharset178\fprq2 Calibri (Arabic);}{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}
34
+ {\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
35
+ {\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
36
+ {\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}
37
+ {\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;
38
+ \red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red0\green0\blue0;\red0\green0\blue0;}{\*\defchp \f31506\fs22 }{\*\defpap \ql \li0\ri0\sa160\sl259\slmult1
39
+ \widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0
40
+ \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 \sqformat \spriority0 Normal;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*
41
+ \ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa160\sl259\slmult1
42
+ \widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31506\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext11 \ssemihidden \sunhideused Normal Table;}{
43
+ \s15\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs21\alang1025 \ltrch\fcs0 \f43\fs21\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext15 \slink16 \sunhideused \styrsid7687174
44
+ Plain Text;}{\*\cs16 \additive \rtlch\fcs1 \af0\afs21 \ltrch\fcs0 \f43\fs21 \sbasedon10 \slink15 \slocked \styrsid7687174 Plain Text Char;}}{\*\rsidtbl \rsid1526327\rsid2391802\rsid3218741\rsid3950199\rsid3954227\rsid4398339\rsid7687174\rsid8420583
45
+ \rsid12154272\rsid12285532\rsid12544274\rsid15797175\rsid16138663\rsid16192094}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\author Satya Saste}
46
+ {\operator Nikita Tandel}{\creatim\yr2022\mo8\dy17\hr22\min2}{\revtim\yr2024\mo5\dy7\min44}{\version11}{\edmins91}{\nofpages9}{\nofwords1183}{\nofchars6749}{\nofcharsws7917}{\vern33}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/word
47
+ ml}}\paperw12240\paperh15840\margl1501\margr1502\margt1440\margb1440\gutter0\ltrsect
48
+ \widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont1\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen
49
+ \expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1501\dgvorigin1440\dghshow1\dgvshow1
50
+ \jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct
51
+ \asianbrkrule\rsidroot3954227\newtblstyruls\nogrowautofit\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal \nouicompat \fet0
52
+ {\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0{\*\docvar {__Grammarly_42____i}{H4sIAAAAAAAEAKtWckksSQxILCpxzi/NK1GyMqwFAAEhoTITAAAA}}
53
+ {\*\docvar {__Grammarly_42___1}{H4sIAAAAAAAEAKtWcslP9kxRslIyNDY2MDUyNzI1MjAxtzQwNLJQ0lEKTi0uzszPAykwrAUAD4MAXiwAAAA=}}\ltrpar \sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid7687174\sftnbj {\*\pnseclvl1
54
+ \pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5
55
+ \pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang
56
+ {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3218741 \rtlch\fcs1
57
+ \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741 \{
58
+ \par "session_name": "test",
59
+ \par "session_description": "test",
60
+ \par "design_state_data": \{
61
+ \par
62
+ \par "session_info" : \{
63
+ \par "project_id": "1",
64
+ \par "experiment_id": "kkkk-11",
65
+ \par "dataset":"iris_modified.csv",
66
+ \par "session_name": "test",
67
+ \par "session_description": "test"
68
+ \par \},
69
+ \par
70
+ \par "target": \{
71
+ \par "prediction_type": "Classification",
72
+ \par "target": "species",
73
+ \par "type":"classifiation",
74
+ \par "partitioning": true
75
+ \par \},
76
+ \par "train": \{
77
+ \par "policy": "Split the dataset",
78
+ \par "time_variable": "sepal_length",
79
+ \par "sampling_method": "No sampling(whole data)",
80
+ \par "split": "Randomly",
81
+ \par "k_fold": false,
82
+ \par "train_ratio": 0.8,
83
+ \par "random_seed": }{\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid12154272 1}{\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741 0
84
+ \par \},
85
+ \par "feature_handling": \{
86
+ \par "sepal_length": \{
87
+ \par "feature_name": "sepal_length",
88
+ \par "is_selected": true,
89
+ \par "feature_variable_type": "numerical",
90
+ \par "feature_details": \{
91
+ \par "numerical_handling": "Keep as regular numerical feature",
92
+ \par "rescaling": "No rescaling",
93
+ \par "make_derived_feats": false,
94
+ \par "missing_values": "Impute",
95
+ \par "impute_with": "Average of values"
96
+ \par
97
+ \par \}
98
+ \par \},
99
+ \par "sepal_width": \{
100
+ \par "feature_name": "sepal_width",
101
+ \par "is_selected": true,
102
+ \par "feature_variable_type": "numerical",
103
+ \par "feature_details": \{
104
+ \par "numerical_handling": "Keep as regular numerical feature",
105
+ \par "rescaling": "No rescaling",
106
+ \par "make_derived_feats": false,
107
+ \par "missing_values": "Impute",
108
+ \par "impute_with": "Average of values"
109
+ \par
110
+ \par \}
111
+ \par \},
112
+ \par "petal_length": \{
113
+ \par "feature_name": "petal_length",
114
+ \par "is_selected": true,
115
+ \par "feature_variable_type": "numerical",
116
+ \par "feature_details": \{
117
+ \par "numerical_handling": "Keep as regular numerical feature",
118
+ \par "rescaling": "No rescaling",
119
+ \par "make_derived_feats": false,
120
+ \par "missing_values": "Impute",
121
+ \par "impute_with": "Average of values"
122
+ \par
123
+ \par \}
124
+ \par \},
125
+ \par "petal_width": \{
126
+ \par "feature_name": "petal_width",
127
+ \par "is_selected": }{\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid1526327 false}{\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741 ,
128
+ \par "feature_variable_type": "numerical",
129
+ \par "feature_details": \{
130
+ \par "numerical_handling": "Keep as regular numerical feature",
131
+ \par "rescaling": "No rescaling",
132
+ \par "make_derived_feats": false,
133
+ \par "missing_values": "Impute",
134
+ \par "impute_with": "Average of values"
135
+ \par \}
136
+ \par \},
137
+ \par "species": \{
138
+ \par "feature_name": "species",
139
+ \par "is_selected": true,
140
+ \par "feature_variable_type": "text",
141
+ \par "feature_details": \{
142
+ \par "text_handling": "Tokenize and hash",
143
+ \par "hash_columns": 0
144
+ \par \}
145
+ \par \}
146
+ \par \},
147
+ \par
148
+ \par "algorithms": \{
149
+ \par "RandomForestClassifier": \{
150
+ \par "model_name": "Random Forest Classifier",
151
+ \par "is_selected": true,
152
+ \par "min_trees": 10,
153
+ \par "max_trees": 30,
154
+ \par "feature_sampling_statergy": "Default",
155
+ \par "min_depth": 20,
156
+ \par "max_depth": 30,
157
+ \par "min_samples_per_leaf_min_value": 5,
158
+ \par "min_samples_per_leaf_max_value": 50,
159
+ \par "parallelism": 0
160
+ \par \},
161
+ \par "RandomForestRegressor": \{
162
+ \par "model_name": "Random Forest Regressor",
163
+ \par "is_selected": false,
164
+ \par "min_trees": 10,
165
+ \par "max_trees": 20,
166
+ \par "feature_sampling_statergy": "Default",
167
+ \par "min_depth": 20,
168
+ \par "max_depth": 25,
169
+ \par "min_samples_per_leaf_min_value": 5,
170
+ \par "min_samples_per_leaf_max_value": 10,
171
+ \par "parallelism": 0
172
+ \par \},
173
+ \par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12544274 {\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741
174
+ \par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3218741 {\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741 "LinearRegression": \{
175
+ \par "model_name": "LinearRegression",
176
+ \par "is_selected": false,
177
+ \par "parallelism": 2,
178
+ \par "min_iter":30,
179
+ \par "max_iter":50,
180
+ \par "min_regparam":0.5,
181
+ \par "max_regparam":0.8,
182
+ \par "min_elasticnet":0.5,
183
+ \par "max_elasticnet":0.8
184
+ \par \},
185
+ \par "LogisticRegression": \{
186
+ \par "model_name": "LogisticRegression",
187
+ \par "is_selected": false,
188
+ \par "parallelism": 2,
189
+ \par "min_iter":30,
190
+ \par "max_iter":50,
191
+ \par "min_regparam":0.5,
192
+ \par "max_regparam":0.8,
193
+ \par "min_elasticnet":0.5,
194
+ \par "max_elasticnet":0.8
195
+ \par \},
196
+ \par "RidgeRegression": \{
197
+ \par "model_name": "RidgeRegression",
198
+ \par "is_selected": false,
199
+ \par "regularization_term": "Specify values to test",
200
+ \par "min_iter":30,
201
+ \par "max_iter":50,
202
+ \par "min_regparam":0.5,
203
+ \par "max_regparam":0.8
204
+ \par \},
205
+ \par "LassoRegression": \{
206
+ \par "model_name": "Lasso Regression",
207
+ \par "is_selected": false,
208
+ \par "regularization_term": "Specify values to test",
209
+ \par "min_iter":30,
210
+ \par "max_iter":50,
211
+ \par "min_regparam":0.5,
212
+ \par "max_regparam":0.8
213
+ \par \},
214
+ \par "ElasticNetRegression": \{
215
+ \par "model_name": "Lasso Regression",
216
+ \par "is_selected": false,
217
+ \par "regularization_term": "Specify values to test",
218
+ \par "min_iter":30,
219
+ \par "max_iter":50,
220
+ \par "min_regparam":0.5,
221
+ \par "max_regparam":0.8,
222
+ \par "min_elasticnet":0.5,
223
+ \par "max_elasticnet":0.8
224
+ \par \},
225
+ \par "xg_boost": \{
226
+ \par "model_name": "XG Boost",
227
+ \par "is_selected": false,
228
+ \par "use_gradient_boosted_tree": true,
229
+ \par "dart": true,
230
+ \par "tree_method": "",
231
+ \par "random_state": 0,
232
+ \par "max_num_of_trees": 0,
233
+ \par "early_stopping": true,
234
+ \par "early_stopping_rounds": 2,
235
+ \par "max_depth_of_tree": [56, 89],
236
+ \par "learningRate": [89, 76],
237
+ \par "l1_regularization": [77],
238
+ \par "l2_regularization": [78],
239
+ \par "gamma": [68],
240
+ \par "min_child_weight": [67],
241
+ \par "sub_sample": [67],
242
+ \par "col_sample_by_tree": [67],
243
+ \par "replace_missing_values": false,
244
+ \par "parallelism": 0
245
+ \par \},
246
+ \par "DecisionTreeRegressor": \{
247
+ \par "model_name": "Decision Tree",
248
+ \par "is_selected": false,
249
+ \par "min_depth":4,
250
+ \par "max_depth": 7,
251
+ \par "use_gini": false,
252
+ \par "use_entropy": true,
253
+ \par "min_samples_per_leaf": [12, 6],
254
+ \par "use_best": true,
255
+ \par "use_random": true
256
+ \par \},
257
+ \par "DecisionTreeClassifier": \{
258
+ \par "model_name": "Decision Tree",
259
+ \par "is_selected": }{\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3950199 true}{\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741 ,
260
+ \par "min_depth":4,
261
+ \par "max_depth": 7,
262
+ \par "use_gini": false,
263
+ \par "use_entropy": true,
264
+ \par "min_samples_per_leaf": [12, 6],
265
+ \par "use_best": true,
266
+ \par "use_random": }{\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid4398339 false}{\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741
267
+ \par \},
268
+ \par "SVM": \{
269
+ \par "model_name": "Support Vector Machine",
270
+ \par "is_selected": false,
271
+ \par "linear_kernel": true,
272
+ \par "rep_kernel": true,
273
+ \par "polynomial_kernel": true,
274
+ \par "sigmoid_kernel": true,
275
+ \par "c_value": [566, 79],
276
+ \par "auto": true,
277
+ \par "scale": true,
278
+ \par "custom_gamma_values": true,
279
+ \par "tolerance": 7,
280
+ \par "max_iterations": 7
281
+ \par \},
282
+ \par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12544274 {\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741
283
+ \par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3218741 {\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741 "KNN": \{
284
+ \par "model_name": "KNN",
285
+ \par "is_selected": false,
286
+ \par "k_value": [78],
287
+ \par "distance_weighting": true,
288
+ \par "neighbour_finding_algorithm": "Automatic",
289
+ \par "random_state": 0,
290
+ \par "p_value": 0
291
+ \par \},
292
+ \par "neural_network": \{
293
+ \par "model_name": "Neural Network",
294
+ \par "is_selected": false,
295
+ \par "hidden_layer_sizes": [67, 89],
296
+ \par "activation": "",
297
+ \par "alpha_value": 0,
298
+ \par "max_iterations": 0,
299
+ \par "convergence_tolerance": 0,
300
+ \par "early_stopping": true,
301
+ \par "solver": "ADAM",
302
+ \par "shuffle_data": true,
303
+ \par "initial_learning_rate": 0,
304
+ \par "automatic_batching": true,
305
+ \par "beta_1": 0,
306
+ \par "beta_2": 0,
307
+ \par "epsilon": 0,
308
+ \par "power_t": 0,
309
+ \par "momentum": 0,
310
+ \par "use_nesterov_momentum": false
311
+ \par \}
312
+ \par \}
313
+ \par \}
314
+ \par \}
315
+ \par
316
+ \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7687174\charrsid3218741
317
+ \par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a
318
+ 9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad
319
+ 5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6
320
+ b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0
321
+ 0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6
322
+ a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f
323
+ c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512
324
+ 0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462
325
+ a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865
326
+ 6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b
327
+ 4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b
328
+ 4757e8d3f729e245eb2b260a0238fd010000ffff0300504b030414000600080000002100b6f4679893070000c9200000160000007468656d652f7468656d652f
329
+ 7468656d65312e786d6cec59cd8b1bc915bf07f23f347d97f5d5ad8fc1f2a24fcfda33b6b164873dd648a5eef2547789aad28cc56208de532e81c026e49085bd
330
+ ed21842cecc22eb9e48f31d8249b3f22afaa5bdd5552c99e191c3061463074977eefd5afde7bf5de53d5ddcf5e26d4bbc05c1096f6fcfa9d9aefe174ce16248d
331
+ 7afeb3d9a4d2f13d2151ba4094a5b8e76fb0f03fbbf7eb5fdd454732c609f6403e1547a8e7c752ae8eaa5531876124eeb0154ee1bb25e30992f0caa3ea82a34b
332
+ d09bd06aa3566b55134452df4b51026a1f2f97648ebd9952e9dfdb2a1f53784da5500373caa74a35b6243476715e5708b11143cabd0b447b3eccb3609733fc52
333
+ fa1e4542c2173dbfa6fffceabdbb5574940b517940d6909be8bf5c2e17589c37f49c3c3a2b260d823068f50bfd1a40e53e6edc1eb7c6ad429f06a0f91c569a71
334
+ b175b61bc320c71aa0ecd1a17bd41e35eb16ded0dfdce3dc0fd5c7c26b50a63fd8c34f2643b0a285d7a00c1feee1c3417730b2f56b50866fede1dbb5fe28685b
335
+ fa3528a6243ddf43d7c25673b85d6d0159327aec8477c360d26ee4ca4b144443115d6a8a254be5a1584bd00bc6270050408a24493db959e1259a43140f112567
336
+ 9c7827248a21f056286502866b8ddaa4d684ffea13e827ed5174849121ad780113b137a4f87862cec94af6fc07a0d537206f7ffef9cdeb1fdfbcfee9cd575fbd
337
+ 79fdf77c6eadca923b466964cafdf2dd1ffef3cd6fbd7ffff0ed2f5fff319b7a172f4cfcbbbffdeedd3ffef93ef5b0e2d2146ffff4fdbb1fbf7ffbe7dfffebaf
338
+ 5f3bb4f7393a33e1339260e13dc297de5396c0021dfcf119bf9ec42c46c494e8a791402952b338f48f656ca11f6d10450edc00db767cce21d5b880f7d72f2cc2
339
+ d398af2571687c182716f094313a60dc6985876a2ec3ccb3751ab927e76b13f714a10bd7dc43945a5e1eaf579063894be530c616cd2714a5124538c5d253dfb1
340
+ 738c1dabfb8210cbaea764ce99604be97d41bc01224e93ccc899154da5d03149c02f1b1741f0b7659bd3e7de8051d7aa47f8c246c2de40d4417e86a965c6fb68
341
+ 2d51e252394309350d7e8264ec2239ddf0b9891b0b099e8e3065de78818570c93ce6b05ec3e90f21cdb8dd7e4a37898de4929cbb749e20c64ce4889d0f6394ac
342
+ 5cd829496313fbb938871045de13265df05366ef10f50e7e40e941773f27d872f787b3c133c8b026a53240d4376beef0e57dccacf89d6ee8126157aae9f3c44a
343
+ b17d4e9cd131584756689f604cd1255a60ec3dfbdcc160c05696cd4bd20f62c82ac7d815580f901dabea3dc5027a25d5dcece7c91322ac909de2881de073bad9
344
+ 493c1b9426881fd2fc08bc6eda7c0ca52e7105c0633a3f37818f08f480102f4ea33c16a0c308ee835a9fc4c82a60ea5db8e375c32dff5d658fc1be7c61d1b8c2
345
+ be04197c6d1948eca6cc7b6d3343d49aa00c9819822ec3956e41c4727f29a28aab165b3be596f6a62ddd00dd91d5f42424fd6007b4d3fb84ffbbde073a8cb77f
346
+ f9c6b10f3e4ebfe3566c25ab6b763a8792c9f14e7f7308b7dbd50c195f904fbfa919a175fa04431dd9cf58b73dcd6d4fe3ffdff73487f6f36d2773a8dfb8ed64
347
+ 7ce8306e3b99fc70e5e3743265f3027d8d3af0c80e7af4b14f72f0d46749289dca0dc527421ffc08f83db398c0a092d3279eb838055cc5f0a8ca1c4c60e1228e
348
+ b48cc799fc0d91f134462b381daafb4a492472d591f0564cc0a1911e76ea5678ba4e4ed9223becacd7d5c16656590592e5782d2cc6e1a04a66e856bb3cc02bd4
349
+ 6bb6913e68dd1250b2d721614c6693683a48b4b783ca48fa58178ce620a157f65158741d2c3a4afdd6557b2c805ae115f8c1edc1cff49e1f06200242701e07cd
350
+ f942f92973f5d6bbda991fd3d3878c69450034d8db08283ddd555c0f2e4fad2e0bb52b78da2261849b4d425b46377822869fc17974aad1abd0b8aeafbba54b2d
351
+ 7aca147a3e08ad9246bbf33e1637f535c8ede6069a9a9982a6de65cf6f35430899395af5fc251c1ac363b282d811ea3717a211dcbccc25cf36fc4d32cb8a0b39
352
+ 4222ce0cae934e960d122231f728497abe5a7ee1069aea1ca2b9d51b90103e59725d482b9f1a3970baed64bc5ce2b934dd6e8c284b67af90e1b35ce1fc568bdf
353
+ 1cac24d91adc3d8d1797de195df3a708422c6cd795011744c0dd413db3e682c0655891c8caf8db294c79da356fa3740c65e388ae62945714339967709dca0b3a
354
+ faadb081f196af190c6a98242f8467912ab0a651ad6a5a548d8cc3c1aafb6121653923699635d3ca2aaa6abab39835c3b60cecd8f26645de60b53531e434b3c2
355
+ 67a97b37e576b7b96ea74f28aa0418bcb09fa3ea5ea12018d4cac92c6a8af17e1a56393b1fb56bc776811fa07695226164fdd656ed8edd8a1ae19c0e066f54f9
356
+ 416e376a6168b9ed2bb5a5f5adb979b1cdce5e40f2184197bba6526857c2c92e47d0104d754f92a50dd8222f65be35e0c95b73d2f3bfac85fd60d80887955a27
357
+ 1c57826650ab74c27eb3d20fc3667d1cd66ba341e31514161927f530bbb19fc00506dde4f7f67a7cefee3ed9ded1dc99b3a4caf4dd7c5513d777f7f5c6e1bb7b
358
+ 8f40d2f9b2d598749bdd41abd26df627956034e854bac3d6a0326a0ddba3c9681876ba9357be77a1c141bf390c5ae34ea5551f0e2b41aba6e877ba9576d068f4
359
+ 8376bf330efaaff23606569ea58fdc16605ecdebde7f010000ffff0300504b0304140006000800000021000dd1909fb60000001b010000270000007468656d65
360
+ 2f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4350d36
361
+ 3f2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d262452282e
362
+ 3198720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173d985
363
+ 0528a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100e9de0fbfff0000001c020000130000000000000000000000
364
+ 0000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b00000000000000000000
365
+ 000000300100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c0000000000000000000000000019020000
366
+ 7468656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d0014000600080000002100b6f4679893070000c92000001600000000000000
367
+ 000000000000d60200007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b01000027000000
368
+ 000000000000000000009d0a00007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000980b00000000}
369
+ {\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d
370
+ 617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169
371
+ 6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363
372
+ 656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e}
373
+ {\*\latentstyles\lsdstimax376\lsdlockeddef0\lsdsemihiddendef0\lsdunhideuseddef0\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1;
374
+ \lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 2;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4;
375
+ \lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7;
376
+ \lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 1;
377
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 5;
378
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 6;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 7;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 9;
379
+ \lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 1;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 2;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 3;
380
+ \lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 4;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 5;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 6;
381
+ \lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 7;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 8;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal Indent;
382
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 header;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footer;
383
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index heading;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of figures;
384
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope address;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope return;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation reference;
385
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 line number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 page number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote text;
386
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of authorities;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 macro;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 toa heading;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List;
387
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 3;
388
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 3;
389
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 3;
390
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 5;\lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Closing;
391
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Signature;\lsdsemihidden1 \lsdunhideused1 \lsdpriority1 \lsdlocked0 Default Paragraph Font;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent;
392
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 4;
393
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Message Header;\lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Salutation;
394
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Date;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Note Heading;
395
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 3;
396
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Block Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 FollowedHyperlink;\lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;
397
+ \lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Document Map;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Plain Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 E-mail Signature;
398
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Top of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Bottom of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal (Web);\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Acronym;
399
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Address;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Cite;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Code;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Definition;
400
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Keyboard;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Preformatted;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Sample;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Typewriter;
401
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Variable;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation subject;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 No List;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 1;
402
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Balloon Text;\lsdpriority39 \lsdlocked0 Table Grid;
403
+ \lsdsemihidden1 \lsdlocked0 Placeholder Text;\lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;\lsdpriority60 \lsdlocked0 Light Shading;\lsdpriority61 \lsdlocked0 Light List;\lsdpriority62 \lsdlocked0 Light Grid;
404
+ \lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdpriority65 \lsdlocked0 Medium List 1;\lsdpriority66 \lsdlocked0 Medium List 2;\lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdpriority68 \lsdlocked0 Medium Grid 2;
405
+ \lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdpriority70 \lsdlocked0 Dark List;\lsdpriority71 \lsdlocked0 Colorful Shading;\lsdpriority72 \lsdlocked0 Colorful List;\lsdpriority73 \lsdlocked0 Colorful Grid;\lsdpriority60 \lsdlocked0 Light Shading Accent 1;
406
+ \lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;
407
+ \lsdsemihidden1 \lsdlocked0 Revision;\lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;
408
+ \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;
409
+ \lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdpriority60 \lsdlocked0 Light Shading Accent 2;\lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdpriority62 \lsdlocked0 Light Grid Accent 2;
410
+ \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;
411
+ \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;\lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;
412
+ \lsdpriority72 \lsdlocked0 Colorful List Accent 2;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdpriority61 \lsdlocked0 Light List Accent 3;\lsdpriority62 \lsdlocked0 Light Grid Accent 3;
413
+ \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;
414
+ \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdpriority70 \lsdlocked0 Dark List Accent 3;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;
415
+ \lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdpriority62 \lsdlocked0 Light Grid Accent 4;
416
+ \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;
417
+ \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;
418
+ \lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdpriority60 \lsdlocked0 Light Shading Accent 5;\lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdpriority62 \lsdlocked0 Light Grid Accent 5;
419
+ \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 5;
420
+ \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;\lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;
421
+ \lsdpriority72 \lsdlocked0 Colorful List Accent 5;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdpriority61 \lsdlocked0 Light List Accent 6;\lsdpriority62 \lsdlocked0 Light Grid Accent 6;
422
+ \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;
423
+ \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdpriority70 \lsdlocked0 Dark List Accent 6;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;
424
+ \lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;\lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis;
425
+ \lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;\lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdsemihidden1 \lsdunhideused1 \lsdpriority37 \lsdlocked0 Bibliography;
426
+ \lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;\lsdpriority41 \lsdlocked0 Plain Table 1;\lsdpriority42 \lsdlocked0 Plain Table 2;\lsdpriority43 \lsdlocked0 Plain Table 3;\lsdpriority44 \lsdlocked0 Plain Table 4;
427
+ \lsdpriority45 \lsdlocked0 Plain Table 5;\lsdpriority40 \lsdlocked0 Grid Table Light;\lsdpriority46 \lsdlocked0 Grid Table 1 Light;\lsdpriority47 \lsdlocked0 Grid Table 2;\lsdpriority48 \lsdlocked0 Grid Table 3;\lsdpriority49 \lsdlocked0 Grid Table 4;
428
+ \lsdpriority50 \lsdlocked0 Grid Table 5 Dark;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 1;
429
+ \lsdpriority48 \lsdlocked0 Grid Table 3 Accent 1;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 1;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 1;
430
+ \lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 1;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 2;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 2;
431
+ \lsdpriority49 \lsdlocked0 Grid Table 4 Accent 2;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 2;
432
+ \lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 3;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 3;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 3;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 3;
433
+ \lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 3;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 4;
434
+ \lsdpriority47 \lsdlocked0 Grid Table 2 Accent 4;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 4;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 4;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 4;
435
+ \lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 4;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 5;
436
+ \lsdpriority48 \lsdlocked0 Grid Table 3 Accent 5;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 5;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 5;
437
+ \lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 5;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 6;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 6;
438
+ \lsdpriority49 \lsdlocked0 Grid Table 4 Accent 6;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 6;
439
+ \lsdpriority46 \lsdlocked0 List Table 1 Light;\lsdpriority47 \lsdlocked0 List Table 2;\lsdpriority48 \lsdlocked0 List Table 3;\lsdpriority49 \lsdlocked0 List Table 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark;
440
+ \lsdpriority51 \lsdlocked0 List Table 6 Colorful;\lsdpriority52 \lsdlocked0 List Table 7 Colorful;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 List Table 2 Accent 1;\lsdpriority48 \lsdlocked0 List Table 3 Accent 1;
441
+ \lsdpriority49 \lsdlocked0 List Table 4 Accent 1;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 1;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 1;
442
+ \lsdpriority46 \lsdlocked0 List Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 List Table 2 Accent 2;\lsdpriority48 \lsdlocked0 List Table 3 Accent 2;\lsdpriority49 \lsdlocked0 List Table 4 Accent 2;
443
+ \lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 2;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 3;
444
+ \lsdpriority47 \lsdlocked0 List Table 2 Accent 3;\lsdpriority48 \lsdlocked0 List Table 3 Accent 3;\lsdpriority49 \lsdlocked0 List Table 4 Accent 3;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 3;
445
+ \lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 4;\lsdpriority47 \lsdlocked0 List Table 2 Accent 4;
446
+ \lsdpriority48 \lsdlocked0 List Table 3 Accent 4;\lsdpriority49 \lsdlocked0 List Table 4 Accent 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 4;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 4;
447
+ \lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 List Table 2 Accent 5;\lsdpriority48 \lsdlocked0 List Table 3 Accent 5;
448
+ \lsdpriority49 \lsdlocked0 List Table 4 Accent 5;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 5;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 5;
449
+ \lsdpriority46 \lsdlocked0 List Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 List Table 2 Accent 6;\lsdpriority48 \lsdlocked0 List Table 3 Accent 6;\lsdpriority49 \lsdlocked0 List Table 4 Accent 6;
450
+ \lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 6;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Mention;
451
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Smart Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Hashtag;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Unresolved Mention;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Smart Link;}}{\*\datastore 01050000
452
+ 02000000180000004d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000
453
+ d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
454
+ ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
455
+ ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
456
+ ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
457
+ fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
458
+ ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
459
+ ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
460
+ ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
461
+ ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000e02e
462
+ c2aae99fda01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
463
+ 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000
464
+ 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000
465
+ 0000000000000000000000000000000000000000000000000105000000000000}}
data/algoparams_from_ui1_20240513_232112.rtf ADDED
@@ -0,0 +1,465 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch0\stshfloch31506\stshfhich31506\stshfbi31506\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fbidi \fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}
2
+ {\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;}{\f37\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\f43\fbidi \fmodern\fcharset0\fprq1{\*\panose 020b0609020204030204}Consolas;}
3
+ {\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
4
+ {\fhimajor\f31502\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0302020204030204}Calibri Light;}{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
5
+ {\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
6
+ {\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f44\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
7
+ {\f45\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f47\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f48\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f49\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
8
+ {\f50\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f51\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f52\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f64\fbidi \fmodern\fcharset238\fprq1 Courier New CE;}
9
+ {\f65\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;}{\f67\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;}{\f68\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f69\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}
10
+ {\f70\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f71\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;}{\f72\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f384\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}
11
+ {\f385\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}{\f387\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f388\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f391\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}
12
+ {\f392\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}{\f414\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f415\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\f417\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}
13
+ {\f418\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\f419\fbidi \fswiss\fcharset177\fprq2 Calibri (Hebrew);}{\f420\fbidi \fswiss\fcharset178\fprq2 Calibri (Arabic);}{\f421\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}
14
+ {\f422\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\f474\fbidi \fmodern\fcharset238\fprq1 Consolas CE;}{\f475\fbidi \fmodern\fcharset204\fprq1 Consolas Cyr;}{\f477\fbidi \fmodern\fcharset161\fprq1 Consolas Greek;}
15
+ {\f478\fbidi \fmodern\fcharset162\fprq1 Consolas Tur;}{\f481\fbidi \fmodern\fcharset186\fprq1 Consolas Baltic;}{\f482\fbidi \fmodern\fcharset163\fprq1 Consolas (Vietnamese);}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
16
+ {\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
17
+ {\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
18
+ {\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
19
+ {\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
20
+ {\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
21
+ {\fhimajor\f31528\fbidi \fswiss\fcharset238\fprq2 Calibri Light CE;}{\fhimajor\f31529\fbidi \fswiss\fcharset204\fprq2 Calibri Light Cyr;}{\fhimajor\f31531\fbidi \fswiss\fcharset161\fprq2 Calibri Light Greek;}
22
+ {\fhimajor\f31532\fbidi \fswiss\fcharset162\fprq2 Calibri Light Tur;}{\fhimajor\f31533\fbidi \fswiss\fcharset177\fprq2 Calibri Light (Hebrew);}{\fhimajor\f31534\fbidi \fswiss\fcharset178\fprq2 Calibri Light (Arabic);}
23
+ {\fhimajor\f31535\fbidi \fswiss\fcharset186\fprq2 Calibri Light Baltic;}{\fhimajor\f31536\fbidi \fswiss\fcharset163\fprq2 Calibri Light (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
24
+ {\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
25
+ {\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
26
+ {\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
27
+ {\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
28
+ {\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
29
+ {\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
30
+ {\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
31
+ {\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}
32
+ {\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}
33
+ {\fhiminor\f31573\fbidi \fswiss\fcharset177\fprq2 Calibri (Hebrew);}{\fhiminor\f31574\fbidi \fswiss\fcharset178\fprq2 Calibri (Arabic);}{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}
34
+ {\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
35
+ {\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
36
+ {\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}
37
+ {\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;
38
+ \red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red0\green0\blue0;\red0\green0\blue0;}{\*\defchp \f31506\fs22 }{\*\defpap \ql \li0\ri0\sa160\sl259\slmult1
39
+ \widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0
40
+ \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 \sqformat \spriority0 Normal;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*
41
+ \ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa160\sl259\slmult1
42
+ \widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31506\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext11 \ssemihidden \sunhideused Normal Table;}{
43
+ \s15\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs21\alang1025 \ltrch\fcs0 \f43\fs21\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext15 \slink16 \sunhideused \styrsid7687174
44
+ Plain Text;}{\*\cs16 \additive \rtlch\fcs1 \af0\afs21 \ltrch\fcs0 \f43\fs21 \sbasedon10 \slink15 \slocked \styrsid7687174 Plain Text Char;}}{\*\rsidtbl \rsid1526327\rsid2391802\rsid3218741\rsid3950199\rsid3954227\rsid4398339\rsid7687174\rsid8420583
45
+ \rsid12154272\rsid12285532\rsid12544274\rsid15797175\rsid16138663\rsid16192094}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\author Satya Saste}
46
+ {\operator Nikita Tandel}{\creatim\yr2022\mo8\dy17\hr22\min2}{\revtim\yr2024\mo5\dy7\min44}{\version11}{\edmins91}{\nofpages9}{\nofwords1183}{\nofchars6749}{\nofcharsws7917}{\vern33}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/word
47
+ ml}}\paperw12240\paperh15840\margl1501\margr1502\margt1440\margb1440\gutter0\ltrsect
48
+ \widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont1\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen
49
+ \expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1501\dgvorigin1440\dghshow1\dgvshow1
50
+ \jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct
51
+ \asianbrkrule\rsidroot3954227\newtblstyruls\nogrowautofit\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal \nouicompat \fet0
52
+ {\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0{\*\docvar {__Grammarly_42____i}{H4sIAAAAAAAEAKtWckksSQxILCpxzi/NK1GyMqwFAAEhoTITAAAA}}
53
+ {\*\docvar {__Grammarly_42___1}{H4sIAAAAAAAEAKtWcslP9kxRslIyNDY2MDUyNzI1MjAxtzQwNLJQ0lEKTi0uzszPAykwrAUAD4MAXiwAAAA=}}\ltrpar \sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid7687174\sftnbj {\*\pnseclvl1
54
+ \pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5
55
+ \pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang
56
+ {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3218741 \rtlch\fcs1
57
+ \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741 \{
58
+ \par "session_name": "test",
59
+ \par "session_description": "test",
60
+ \par "design_state_data": \{
61
+ \par
62
+ \par "session_info" : \{
63
+ \par "project_id": "1",
64
+ \par "experiment_id": "kkkk-11",
65
+ \par "dataset":"iris_modified.csv",
66
+ \par "session_name": "test",
67
+ \par "session_description": "test"
68
+ \par \},
69
+ \par
70
+ \par "target": \{
71
+ \par "prediction_type": "Classification",
72
+ \par "target": "species",
73
+ \par "type":"classifiation",
74
+ \par "partitioning": true
75
+ \par \},
76
+ \par "train": \{
77
+ \par "policy": "Split the dataset",
78
+ \par "time_variable": "sepal_length",
79
+ \par "sampling_method": "No sampling(whole data)",
80
+ \par "split": "Randomly",
81
+ \par "k_fold": false,
82
+ \par "train_ratio": 0.8,
83
+ \par "random_seed": }{\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid12154272 1}{\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741 0
84
+ \par \},
85
+ \par "feature_handling": \{
86
+ \par "sepal_length": \{
87
+ \par "feature_name": "sepal_length",
88
+ \par "is_selected": true,
89
+ \par "feature_variable_type": "numerical",
90
+ \par "feature_details": \{
91
+ \par "numerical_handling": "Keep as regular numerical feature",
92
+ \par "rescaling": "No rescaling",
93
+ \par "make_derived_feats": false,
94
+ \par "missing_values": "Impute",
95
+ \par "impute_with": "Average of values"
96
+ \par
97
+ \par \}
98
+ \par \},
99
+ \par "sepal_width": \{
100
+ \par "feature_name": "sepal_width",
101
+ \par "is_selected": true,
102
+ \par "feature_variable_type": "numerical",
103
+ \par "feature_details": \{
104
+ \par "numerical_handling": "Keep as regular numerical feature",
105
+ \par "rescaling": "No rescaling",
106
+ \par "make_derived_feats": false,
107
+ \par "missing_values": "Impute",
108
+ \par "impute_with": "Average of values"
109
+ \par
110
+ \par \}
111
+ \par \},
112
+ \par "petal_length": \{
113
+ \par "feature_name": "petal_length",
114
+ \par "is_selected": true,
115
+ \par "feature_variable_type": "numerical",
116
+ \par "feature_details": \{
117
+ \par "numerical_handling": "Keep as regular numerical feature",
118
+ \par "rescaling": "No rescaling",
119
+ \par "make_derived_feats": false,
120
+ \par "missing_values": "Impute",
121
+ \par "impute_with": "Average of values"
122
+ \par
123
+ \par \}
124
+ \par \},
125
+ \par "petal_width": \{
126
+ \par "feature_name": "petal_width",
127
+ \par "is_selected": }{\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid1526327 false}{\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741 ,
128
+ \par "feature_variable_type": "numerical",
129
+ \par "feature_details": \{
130
+ \par "numerical_handling": "Keep as regular numerical feature",
131
+ \par "rescaling": "No rescaling",
132
+ \par "make_derived_feats": false,
133
+ \par "missing_values": "Impute",
134
+ \par "impute_with": "Average of values"
135
+ \par \}
136
+ \par \},
137
+ \par "species": \{
138
+ \par "feature_name": "species",
139
+ \par "is_selected": true,
140
+ \par "feature_variable_type": "text",
141
+ \par "feature_details": \{
142
+ \par "text_handling": "Tokenize and hash",
143
+ \par "hash_columns": 0
144
+ \par \}
145
+ \par \}
146
+ \par \},
147
+ \par
148
+ \par "algorithms": \{
149
+ \par "RandomForestClassifier": \{
150
+ \par "model_name": "Random Forest Classifier",
151
+ \par "is_selected": true,
152
+ \par "min_trees": 10,
153
+ \par "max_trees": 30,
154
+ \par "feature_sampling_statergy": "Default",
155
+ \par "min_depth": 20,
156
+ \par "max_depth": 30,
157
+ \par "min_samples_per_leaf_min_value": 5,
158
+ \par "min_samples_per_leaf_max_value": 50,
159
+ \par "parallelism": 0
160
+ \par \},
161
+ \par "RandomForestRegressor": \{
162
+ \par "model_name": "Random Forest Regressor",
163
+ \par "is_selected": false,
164
+ \par "min_trees": 10,
165
+ \par "max_trees": 20,
166
+ \par "feature_sampling_statergy": "Default",
167
+ \par "min_depth": 20,
168
+ \par "max_depth": 25,
169
+ \par "min_samples_per_leaf_min_value": 5,
170
+ \par "min_samples_per_leaf_max_value": 10,
171
+ \par "parallelism": 0
172
+ \par \},
173
+ \par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12544274 {\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741
174
+ \par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3218741 {\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741 "LinearRegression": \{
175
+ \par "model_name": "LinearRegression",
176
+ \par "is_selected": false,
177
+ \par "parallelism": 2,
178
+ \par "min_iter":30,
179
+ \par "max_iter":50,
180
+ \par "min_regparam":0.5,
181
+ \par "max_regparam":0.8,
182
+ \par "min_elasticnet":0.5,
183
+ \par "max_elasticnet":0.8
184
+ \par \},
185
+ \par "LogisticRegression": \{
186
+ \par "model_name": "LogisticRegression",
187
+ \par "is_selected": false,
188
+ \par "parallelism": 2,
189
+ \par "min_iter":30,
190
+ \par "max_iter":50,
191
+ \par "min_regparam":0.5,
192
+ \par "max_regparam":0.8,
193
+ \par "min_elasticnet":0.5,
194
+ \par "max_elasticnet":0.8
195
+ \par \},
196
+ \par "RidgeRegression": \{
197
+ \par "model_name": "RidgeRegression",
198
+ \par "is_selected": false,
199
+ \par "regularization_term": "Specify values to test",
200
+ \par "min_iter":30,
201
+ \par "max_iter":50,
202
+ \par "min_regparam":0.5,
203
+ \par "max_regparam":0.8
204
+ \par \},
205
+ \par "LassoRegression": \{
206
+ \par "model_name": "Lasso Regression",
207
+ \par "is_selected": false,
208
+ \par "regularization_term": "Specify values to test",
209
+ \par "min_iter":30,
210
+ \par "max_iter":50,
211
+ \par "min_regparam":0.5,
212
+ \par "max_regparam":0.8
213
+ \par \},
214
+ \par "ElasticNetRegression": \{
215
+ \par "model_name": "Lasso Regression",
216
+ \par "is_selected": false,
217
+ \par "regularization_term": "Specify values to test",
218
+ \par "min_iter":30,
219
+ \par "max_iter":50,
220
+ \par "min_regparam":0.5,
221
+ \par "max_regparam":0.8,
222
+ \par "min_elasticnet":0.5,
223
+ \par "max_elasticnet":0.8
224
+ \par \},
225
+ \par "xg_boost": \{
226
+ \par "model_name": "XG Boost",
227
+ \par "is_selected": false,
228
+ \par "use_gradient_boosted_tree": true,
229
+ \par "dart": true,
230
+ \par "tree_method": "",
231
+ \par "random_state": 0,
232
+ \par "max_num_of_trees": 0,
233
+ \par "early_stopping": true,
234
+ \par "early_stopping_rounds": 2,
235
+ \par "max_depth_of_tree": [56, 89],
236
+ \par "learningRate": [89, 76],
237
+ \par "l1_regularization": [77],
238
+ \par "l2_regularization": [78],
239
+ \par "gamma": [68],
240
+ \par "min_child_weight": [67],
241
+ \par "sub_sample": [67],
242
+ \par "col_sample_by_tree": [67],
243
+ \par "replace_missing_values": false,
244
+ \par "parallelism": 0
245
+ \par \},
246
+ \par "DecisionTreeRegressor": \{
247
+ \par "model_name": "Decision Tree",
248
+ \par "is_selected": false,
249
+ \par "min_depth":4,
250
+ \par "max_depth": 7,
251
+ \par "use_gini": false,
252
+ \par "use_entropy": true,
253
+ \par "min_samples_per_leaf": [12, 6],
254
+ \par "use_best": true,
255
+ \par "use_random": true
256
+ \par \},
257
+ \par "DecisionTreeClassifier": \{
258
+ \par "model_name": "Decision Tree",
259
+ \par "is_selected": }{\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3950199 true}{\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741 ,
260
+ \par "min_depth":4,
261
+ \par "max_depth": 7,
262
+ \par "use_gini": false,
263
+ \par "use_entropy": true,
264
+ \par "min_samples_per_leaf": [12, 6],
265
+ \par "use_best": true,
266
+ \par "use_random": }{\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid4398339 false}{\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741
267
+ \par \},
268
+ \par "SVM": \{
269
+ \par "model_name": "Support Vector Machine",
270
+ \par "is_selected": false,
271
+ \par "linear_kernel": true,
272
+ \par "rep_kernel": true,
273
+ \par "polynomial_kernel": true,
274
+ \par "sigmoid_kernel": true,
275
+ \par "c_value": [566, 79],
276
+ \par "auto": true,
277
+ \par "scale": true,
278
+ \par "custom_gamma_values": true,
279
+ \par "tolerance": 7,
280
+ \par "max_iterations": 7
281
+ \par \},
282
+ \par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12544274 {\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741
283
+ \par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3218741 {\rtlch\fcs1 \af2\afs21 \ltrch\fcs0 \f2\fs21\insrsid3218741\charrsid3218741 "KNN": \{
284
+ \par "model_name": "KNN",
285
+ \par "is_selected": false,
286
+ \par "k_value": [78],
287
+ \par "distance_weighting": true,
288
+ \par "neighbour_finding_algorithm": "Automatic",
289
+ \par "random_state": 0,
290
+ \par "p_value": 0
291
+ \par \},
292
+ \par "neural_network": \{
293
+ \par "model_name": "Neural Network",
294
+ \par "is_selected": false,
295
+ \par "hidden_layer_sizes": [67, 89],
296
+ \par "activation": "",
297
+ \par "alpha_value": 0,
298
+ \par "max_iterations": 0,
299
+ \par "convergence_tolerance": 0,
300
+ \par "early_stopping": true,
301
+ \par "solver": "ADAM",
302
+ \par "shuffle_data": true,
303
+ \par "initial_learning_rate": 0,
304
+ \par "automatic_batching": true,
305
+ \par "beta_1": 0,
306
+ \par "beta_2": 0,
307
+ \par "epsilon": 0,
308
+ \par "power_t": 0,
309
+ \par "momentum": 0,
310
+ \par "use_nesterov_momentum": false
311
+ \par \}
312
+ \par \}
313
+ \par \}
314
+ \par \}
315
+ \par
316
+ \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7687174\charrsid3218741
317
+ \par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a
318
+ 9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad
319
+ 5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6
320
+ b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0
321
+ 0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6
322
+ a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f
323
+ c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512
324
+ 0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462
325
+ a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865
326
+ 6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b
327
+ 4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b
328
+ 4757e8d3f729e245eb2b260a0238fd010000ffff0300504b030414000600080000002100b6f4679893070000c9200000160000007468656d652f7468656d652f
329
+ 7468656d65312e786d6cec59cd8b1bc915bf07f23f347d97f5d5ad8fc1f2a24fcfda33b6b164873dd648a5eef2547789aad28cc56208de532e81c026e49085bd
330
+ ed21842cecc22eb9e48f31d8249b3f22afaa5bdd5552c99e191c3061463074977eefd5afde7bf5de53d5ddcf5e26d4bbc05c1096f6fcfa9d9aefe174ce16248d
331
+ 7afeb3d9a4d2f13d2151ba4094a5b8e76fb0f03fbbf7eb5fdd454732c609f6403e1547a8e7c752ae8eaa5531876124eeb0154ee1bb25e30992f0caa3ea82a34b
332
+ d09bd06aa3566b55134452df4b51026a1f2f97648ebd9952e9dfdb2a1f53784da5500373caa74a35b6243476715e5708b11143cabd0b447b3eccb3609733fc52
333
+ fa1e4542c2173dbfa6fffceabdbb5574940b517940d6909be8bf5c2e17589c37f49c3c3a2b260d823068f50bfd1a40e53e6edc1eb7c6ad429f06a0f91c569a71
334
+ b175b61bc320c71aa0ecd1a17bd41e35eb16ded0dfdce3dc0fd5c7c26b50a63fd8c34f2643b0a285d7a00c1feee1c3417730b2f56b50866fede1dbb5fe28685b
335
+ fa3528a6243ddf43d7c25673b85d6d0159327aec8477c360d26ee4ca4b144443115d6a8a254be5a1584bd00bc6270050408a24493db959e1259a43140f112567
336
+ 9c7827248a21f056286502866b8ddaa4d684ffea13e827ed5174849121ad780113b137a4f87862cec94af6fc07a0d537206f7ffef9cdeb1fdfbcfee9cd575fbd
337
+ 79fdf77c6eadca923b466964cafdf2dd1ffef3cd6fbd7ffff0ed2f5fff319b7a172f4cfcbbbffdeedd3ffef93ef5b0e2d2146ffff4fdbb1fbf7ffbe7dfffebaf
338
+ 5f3bb4f7393a33e1339260e13dc297de5396c0021dfcf119bf9ec42c46c494e8a791402952b338f48f656ca11f6d10450edc00db767cce21d5b880f7d72f2cc2
339
+ d398af2571687c182716f094313a60dc6985876a2ec3ccb3751ab927e76b13f714a10bd7dc43945a5e1eaf579063894be530c616cd2714a5124538c5d253dfb1
340
+ 738c1dabfb8210cbaea764ce99604be97d41bc01224e93ccc899154da5d03149c02f1b1741f0b7659bd3e7de8051d7aa47f8c246c2de40d4417e86a965c6fb68
341
+ 2d51e252394309350d7e8264ec2239ddf0b9891b0b099e8e3065de78818570c93ce6b05ec3e90f21cdb8dd7e4a37898de4929cbb749e20c64ce4889d0f6394ac
342
+ 5cd829496313fbb938871045de13265df05366ef10f50e7e40e941773f27d872f787b3c133c8b026a53240d4376beef0e57dccacf89d6ee8126157aae9f3c44a
343
+ b17d4e9cd131584756689f604cd1255a60ec3dfbdcc160c05696cd4bd20f62c82ac7d815580f901dabea3dc5027a25d5dcece7c91322ac909de2881de073bad9
344
+ 493c1b9426881fd2fc08bc6eda7c0ca52e7105c0633a3f37818f08f480102f4ea33c16a0c308ee835a9fc4c82a60ea5db8e375c32dff5d658fc1be7c61d1b8c2
345
+ be04197c6d1948eca6cc7b6d3343d49aa00c9819822ec3956e41c4727f29a28aab165b3be596f6a62ddd00dd91d5f42424fd6007b4d3fb84ffbbde073a8cb77f
346
+ f9c6b10f3e4ebfe3566c25ab6b763a8792c9f14e7f7308b7dbd50c195f904fbfa919a175fa04431dd9cf58b73dcd6d4fe3ffdff73487f6f36d2773a8dfb8ed64
347
+ 7ce8306e3b99fc70e5e3743265f3027d8d3af0c80e7af4b14f72f0d46749289dca0dc527421ffc08f83db398c0a092d3279eb838055cc5f0a8ca1c4c60e1228e
348
+ b48cc799fc0d91f134462b381daafb4a492472d591f0564cc0a1911e76ea5678ba4e4ed9223becacd7d5c16656590592e5782d2cc6e1a04a66e856bb3cc02bd4
349
+ 6bb6913e68dd1250b2d721614c6693683a48b4b783ca48fa58178ce620a157f65158741d2c3a4afdd6557b2c805ae115f8c1edc1cff49e1f06200242701e07cd
350
+ f942f92973f5d6bbda991fd3d3878c69450034d8db08283ddd555c0f2e4fad2e0bb52b78da2261849b4d425b46377822869fc17974aad1abd0b8aeafbba54b2d
351
+ 7aca147a3e08ad9246bbf33e1637f535c8ede6069a9a9982a6de65cf6f35430899395af5fc251c1ac363b282d811ea3717a211dcbccc25cf36fc4d32cb8a0b39
352
+ 4222ce0cae934e960d122231f728497abe5a7ee1069aea1ca2b9d51b90103e59725d482b9f1a3970baed64bc5ce2b934dd6e8c284b67af90e1b35ce1fc568bdf
353
+ 1cac24d91adc3d8d1797de195df3a708422c6cd795011744c0dd413db3e682c0655891c8caf8db294c79da356fa3740c65e388ae62945714339967709dca0b3a
354
+ faadb081f196af190c6a98242f8467912ab0a651ad6a5a548d8cc3c1aafb6121653923699635d3ca2aaa6abab39835c3b60cecd8f26645de60b53531e434b3c2
355
+ 67a97b37e576b7b96ea74f28aa0418bcb09fa3ea5ea12018d4cac92c6a8af17e1a56393b1fb56bc776811fa07695226164fdd656ed8edd8a1ae19c0e066f54f9
356
+ 416e376a6168b9ed2bb5a5f5adb979b1cdce5e40f2184197bba6526857c2c92e47d0104d754f92a50dd8222f65be35e0c95b73d2f3bfac85fd60d80887955a27
357
+ 1c57826650ab74c27eb3d20fc3667d1cd66ba341e31514161927f530bbb19fc00506dde4f7f67a7cefee3ed9ded1dc99b3a4caf4dd7c5513d777f7f5c6e1bb7b
358
+ 8f40d2f9b2d598749bdd41abd26df627956034e854bac3d6a0326a0ddba3c9681876ba9357be77a1c141bf390c5ae34ea5551f0e2b41aba6e877ba9576d068f4
359
+ 8376bf330efaaff23606569ea58fdc16605ecdebde7f010000ffff0300504b0304140006000800000021000dd1909fb60000001b010000270000007468656d65
360
+ 2f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4350d36
361
+ 3f2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d262452282e
362
+ 3198720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173d985
363
+ 0528a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100e9de0fbfff0000001c020000130000000000000000000000
364
+ 0000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b00000000000000000000
365
+ 000000300100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c0000000000000000000000000019020000
366
+ 7468656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d0014000600080000002100b6f4679893070000c92000001600000000000000
367
+ 000000000000d60200007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b01000027000000
368
+ 000000000000000000009d0a00007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000980b00000000}
369
+ {\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d
370
+ 617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169
371
+ 6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363
372
+ 656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e}
373
+ {\*\latentstyles\lsdstimax376\lsdlockeddef0\lsdsemihiddendef0\lsdunhideuseddef0\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1;
374
+ \lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 2;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4;
375
+ \lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7;
376
+ \lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 1;
377
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 5;
378
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 6;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 7;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 9;
379
+ \lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 1;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 2;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 3;
380
+ \lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 4;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 5;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 6;
381
+ \lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 7;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 8;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal Indent;
382
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 header;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footer;
383
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index heading;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of figures;
384
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope address;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope return;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation reference;
385
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 line number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 page number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote text;
386
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of authorities;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 macro;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 toa heading;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List;
387
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 3;
388
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 3;
389
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 3;
390
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 5;\lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Closing;
391
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Signature;\lsdsemihidden1 \lsdunhideused1 \lsdpriority1 \lsdlocked0 Default Paragraph Font;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent;
392
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 4;
393
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Message Header;\lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Salutation;
394
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Date;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Note Heading;
395
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 3;
396
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Block Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 FollowedHyperlink;\lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;
397
+ \lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Document Map;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Plain Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 E-mail Signature;
398
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Top of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Bottom of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal (Web);\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Acronym;
399
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Address;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Cite;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Code;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Definition;
400
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Keyboard;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Preformatted;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Sample;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Typewriter;
401
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Variable;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation subject;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 No List;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 1;
402
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Balloon Text;\lsdpriority39 \lsdlocked0 Table Grid;
403
+ \lsdsemihidden1 \lsdlocked0 Placeholder Text;\lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;\lsdpriority60 \lsdlocked0 Light Shading;\lsdpriority61 \lsdlocked0 Light List;\lsdpriority62 \lsdlocked0 Light Grid;
404
+ \lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdpriority65 \lsdlocked0 Medium List 1;\lsdpriority66 \lsdlocked0 Medium List 2;\lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdpriority68 \lsdlocked0 Medium Grid 2;
405
+ \lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdpriority70 \lsdlocked0 Dark List;\lsdpriority71 \lsdlocked0 Colorful Shading;\lsdpriority72 \lsdlocked0 Colorful List;\lsdpriority73 \lsdlocked0 Colorful Grid;\lsdpriority60 \lsdlocked0 Light Shading Accent 1;
406
+ \lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;
407
+ \lsdsemihidden1 \lsdlocked0 Revision;\lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;
408
+ \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;
409
+ \lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdpriority60 \lsdlocked0 Light Shading Accent 2;\lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdpriority62 \lsdlocked0 Light Grid Accent 2;
410
+ \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;
411
+ \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;\lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;
412
+ \lsdpriority72 \lsdlocked0 Colorful List Accent 2;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdpriority61 \lsdlocked0 Light List Accent 3;\lsdpriority62 \lsdlocked0 Light Grid Accent 3;
413
+ \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;
414
+ \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdpriority70 \lsdlocked0 Dark List Accent 3;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;
415
+ \lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdpriority62 \lsdlocked0 Light Grid Accent 4;
416
+ \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;
417
+ \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;
418
+ \lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdpriority60 \lsdlocked0 Light Shading Accent 5;\lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdpriority62 \lsdlocked0 Light Grid Accent 5;
419
+ \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 5;
420
+ \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;\lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;
421
+ \lsdpriority72 \lsdlocked0 Colorful List Accent 5;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdpriority61 \lsdlocked0 Light List Accent 6;\lsdpriority62 \lsdlocked0 Light Grid Accent 6;
422
+ \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;
423
+ \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdpriority70 \lsdlocked0 Dark List Accent 6;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;
424
+ \lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;\lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis;
425
+ \lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;\lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdsemihidden1 \lsdunhideused1 \lsdpriority37 \lsdlocked0 Bibliography;
426
+ \lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;\lsdpriority41 \lsdlocked0 Plain Table 1;\lsdpriority42 \lsdlocked0 Plain Table 2;\lsdpriority43 \lsdlocked0 Plain Table 3;\lsdpriority44 \lsdlocked0 Plain Table 4;
427
+ \lsdpriority45 \lsdlocked0 Plain Table 5;\lsdpriority40 \lsdlocked0 Grid Table Light;\lsdpriority46 \lsdlocked0 Grid Table 1 Light;\lsdpriority47 \lsdlocked0 Grid Table 2;\lsdpriority48 \lsdlocked0 Grid Table 3;\lsdpriority49 \lsdlocked0 Grid Table 4;
428
+ \lsdpriority50 \lsdlocked0 Grid Table 5 Dark;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 1;
429
+ \lsdpriority48 \lsdlocked0 Grid Table 3 Accent 1;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 1;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 1;
430
+ \lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 1;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 2;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 2;
431
+ \lsdpriority49 \lsdlocked0 Grid Table 4 Accent 2;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 2;
432
+ \lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 3;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 3;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 3;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 3;
433
+ \lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 3;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 4;
434
+ \lsdpriority47 \lsdlocked0 Grid Table 2 Accent 4;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 4;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 4;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 4;
435
+ \lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 4;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 5;
436
+ \lsdpriority48 \lsdlocked0 Grid Table 3 Accent 5;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 5;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 5;
437
+ \lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 5;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 6;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 6;
438
+ \lsdpriority49 \lsdlocked0 Grid Table 4 Accent 6;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 6;
439
+ \lsdpriority46 \lsdlocked0 List Table 1 Light;\lsdpriority47 \lsdlocked0 List Table 2;\lsdpriority48 \lsdlocked0 List Table 3;\lsdpriority49 \lsdlocked0 List Table 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark;
440
+ \lsdpriority51 \lsdlocked0 List Table 6 Colorful;\lsdpriority52 \lsdlocked0 List Table 7 Colorful;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 List Table 2 Accent 1;\lsdpriority48 \lsdlocked0 List Table 3 Accent 1;
441
+ \lsdpriority49 \lsdlocked0 List Table 4 Accent 1;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 1;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 1;
442
+ \lsdpriority46 \lsdlocked0 List Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 List Table 2 Accent 2;\lsdpriority48 \lsdlocked0 List Table 3 Accent 2;\lsdpriority49 \lsdlocked0 List Table 4 Accent 2;
443
+ \lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 2;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 3;
444
+ \lsdpriority47 \lsdlocked0 List Table 2 Accent 3;\lsdpriority48 \lsdlocked0 List Table 3 Accent 3;\lsdpriority49 \lsdlocked0 List Table 4 Accent 3;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 3;
445
+ \lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 4;\lsdpriority47 \lsdlocked0 List Table 2 Accent 4;
446
+ \lsdpriority48 \lsdlocked0 List Table 3 Accent 4;\lsdpriority49 \lsdlocked0 List Table 4 Accent 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 4;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 4;
447
+ \lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 List Table 2 Accent 5;\lsdpriority48 \lsdlocked0 List Table 3 Accent 5;
448
+ \lsdpriority49 \lsdlocked0 List Table 4 Accent 5;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 5;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 5;
449
+ \lsdpriority46 \lsdlocked0 List Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 List Table 2 Accent 6;\lsdpriority48 \lsdlocked0 List Table 3 Accent 6;\lsdpriority49 \lsdlocked0 List Table 4 Accent 6;
450
+ \lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 6;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Mention;
451
+ \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Smart Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Hashtag;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Unresolved Mention;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Smart Link;}}{\*\datastore 01050000
452
+ 02000000180000004d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000
453
+ d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
454
+ ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
455
+ ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
456
+ ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
457
+ fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
458
+ ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
459
+ ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
460
+ ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
461
+ ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000e02e
462
+ c2aae99fda01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
463
+ 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000
464
+ 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000
465
+ 0000000000000000000000000000000000000000000000000105000000000000}}
data/iris_modified.csv ADDED
@@ -0,0 +1,151 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ sepal_length,sepal_width,petal_length,petal_width,species
2
+ 5.1,3.5,1.4,0.2,Iris-setosa
3
+ 4.9,3,1.4,0.2,Iris-setosa
4
+ 4.7,3.2,1.3,0.2,Iris-setosa
5
+ 4.6,3.1,1.5,0.2,Iris-setosa
6
+ 5,3.6,1.4,0.2,Iris-setosa
7
+ 5.4,3.9,1.7,0.4,Iris-setosa
8
+ 4.6,3.4,1.4,0.3,Iris-setosa
9
+ 5,3.4,1.5,0.2,Iris-setosa
10
+ 4.4,2.9,1.4,0.2,Iris-setosa
11
+ 4.9,3.1,1.5,0.1,Iris-setosa
12
+ 5.4,3.7,1.5,0.2,Iris-setosa
13
+ 4.8,3.4,1.6,0.2,Iris-setosa
14
+ 4.8,3,1.4,0.1,Iris-setosa
15
+ 4.3,3,1.1,0.1,Iris-setosa
16
+ 5.8,4,1.2,0.2,Iris-setosa
17
+ 5.7,4.4,1.5,0.4,Iris-setosa
18
+ 5.4,3.9,1.3,0.4,Iris-setosa
19
+ 5.1,3.5,1.4,0.3,Iris-setosa
20
+ 5.7,3.8,1.7,0.3,Iris-setosa
21
+ 5.1,3.8,1.5,0.3,Iris-setosa
22
+ 5.4,3.4,1.7,0.2,Iris-setosa
23
+ 5.1,3.7,1.5,0.4,Iris-setosa
24
+ 4.6,3.6,1,0.2,Iris-setosa
25
+ 5.1,3.3,1.7,0.5,Iris-setosa
26
+ 4.8,3.4,1.9,0.2,Iris-setosa
27
+ 5,3,1.6,0.2,Iris-setosa
28
+ 5,3.4,1.6,0.4,Iris-setosa
29
+ 5.2,3.5,1.5,0.2,Iris-setosa
30
+ 5.2,3.4,1.4,0.2,Iris-setosa
31
+ 4.7,3.2,1.6,0.2,Iris-setosa
32
+ 4.8,3.1,1.6,0.2,Iris-setosa
33
+ 5.4,3.4,1.5,0.4,Iris-setosa
34
+ 5.2,4.1,1.5,0.1,Iris-setosa
35
+ 5.5,4.2,1.4,0.2,Iris-setosa
36
+ 4.9,3.1,1.5,0.1,Iris-setosa
37
+ 5,3.2,1.2,0.2,Iris-setosa
38
+ 5.5,3.5,1.3,0.2,Iris-setosa
39
+ 4.9,3.1,1.5,0.1,Iris-setosa
40
+ 4.4,3,1.3,0.2,Iris-setosa
41
+ 5.1,3.4,1.5,0.2,Iris-setosa
42
+ 5,3.5,1.3,0.3,Iris-setosa
43
+ 4.5,2.3,1.3,0.3,Iris-setosa
44
+ 4.4,3.2,1.3,0.2,Iris-setosa
45
+ 5,3.5,1.6,0.6,Iris-setosa
46
+ 5.1,3.8,1.9,0.4,Iris-setosa
47
+ 4.8,3,1.4,0.3,Iris-setosa
48
+ 5.1,3.8,1.6,0.2,Iris-setosa
49
+ 4.6,3.2,1.4,0.2,Iris-setosa
50
+ 5.3,3.7,1.5,0.2,Iris-setosa
51
+ 5,3.3,1.4,0.2,Iris-setosa
52
+ 7,3.2,4.7,1.4,Iris-versicolor
53
+ 6.4,3.2,4.5,1.5,Iris-versicolor
54
+ 6.9,3.1,4.9,1.5,Iris-versicolor
55
+ 5.5,2.3,4,1.3,Iris-versicolor
56
+ 6.5,2.8,4.6,1.5,Iris-versicolor
57
+ 5.7,2.8,4.5,1.3,Iris-versicolor
58
+ 6.3,3.3,4.7,1.6,Iris-versicolor
59
+ 4.9,2.4,3.3,1,Iris-versicolor
60
+ 6.6,2.9,4.6,1.3,Iris-versicolor
61
+ 5.2,2.7,3.9,1.4,Iris-versicolor
62
+ 5,2,3.5,1,Iris-versicolor
63
+ 5.9,3,4.2,1.5,Iris-versicolor
64
+ 6,2.2,4,1,Iris-versicolor
65
+ 6.1,2.9,4.7,1.4,Iris-versicolor
66
+ 5.6,2.9,3.6,1.3,Iris-versicolor
67
+ 6.7,3.1,4.4,1.4,Iris-versicolor
68
+ 5.6,3,4.5,1.5,Iris-versicolor
69
+ 5.8,2.7,4.1,1,Iris-versicolor
70
+ 6.2,2.2,4.5,1.5,Iris-versicolor
71
+ 5.6,2.5,3.9,1.1,Iris-versicolor
72
+ 5.9,3.2,4.8,1.8,Iris-versicolor
73
+ 6.1,2.8,4,1.3,Iris-versicolor
74
+ 6.3,2.5,4.9,1.5,Iris-versicolor
75
+ 6.1,2.8,4.7,1.2,Iris-versicolor
76
+ 6.4,2.9,4.3,1.3,Iris-versicolor
77
+ 6.6,3,4.4,1.4,Iris-versicolor
78
+ 6.8,2.8,4.8,1.4,Iris-versicolor
79
+ 6.7,3,5,1.7,Iris-versicolor
80
+ 6,2.9,4.5,1.5,Iris-versicolor
81
+ 5.7,2.6,3.5,1,Iris-versicolor
82
+ 5.5,2.4,3.8,1.1,Iris-versicolor
83
+ 5.5,2.4,3.7,1,Iris-versicolor
84
+ 5.8,2.7,3.9,1.2,Iris-versicolor
85
+ 6,2.7,5.1,1.6,Iris-versicolor
86
+ 5.4,3,4.5,1.5,Iris-versicolor
87
+ 6,3.4,4.5,1.6,Iris-versicolor
88
+ 6.7,3.1,4.7,1.5,Iris-versicolor
89
+ 6.3,2.3,4.4,1.3,Iris-versicolor
90
+ 5.6,3,4.1,1.3,Iris-versicolor
91
+ 5.5,2.5,4,1.3,Iris-versicolor
92
+ 5.5,2.6,4.4,1.2,Iris-versicolor
93
+ 6.1,3,4.6,1.4,Iris-versicolor
94
+ 5.8,2.6,4,1.2,Iris-versicolor
95
+ 5,2.3,3.3,1,Iris-versicolor
96
+ 5.6,2.7,4.2,1.3,Iris-versicolor
97
+ 5.7,3,4.2,1.2,Iris-versicolor
98
+ 5.7,2.9,4.2,1.3,Iris-versicolor
99
+ 6.2,2.9,4.3,1.3,Iris-versicolor
100
+ 5.1,2.5,3,1.1,Iris-versicolor
101
+ 5.7,2.8,4.1,1.3,Iris-versicolor
102
+ 6.3,3.3,6,2.5,Iris-virginica
103
+ 5.8,2.7,5.1,1.9,Iris-virginica
104
+ 7.1,3,5.9,2.1,Iris-virginica
105
+ 6.3,2.9,5.6,1.8,Iris-virginica
106
+ 6.5,3,5.8,2.2,Iris-virginica
107
+ 7.6,3,6.6,2.1,Iris-virginica
108
+ 4.9,2.5,4.5,1.7,Iris-virginica
109
+ 7.3,2.9,6.3,1.8,Iris-virginica
110
+ 6.7,2.5,5.8,1.8,Iris-virginica
111
+ 7.2,3.6,6.1,2.5,Iris-virginica
112
+ 6.5,3.2,5.1,2,Iris-virginica
113
+ 6.4,2.7,5.3,1.9,Iris-virginica
114
+ 6.8,3,5.5,2.1,Iris-virginica
115
+ 5.7,2.5,5,2,Iris-virginica
116
+ 5.8,2.8,5.1,2.4,Iris-virginica
117
+ 6.4,3.2,5.3,2.3,Iris-virginica
118
+ 6.5,3,5.5,1.8,Iris-virginica
119
+ 7.7,3.8,6.7,2.2,Iris-virginica
120
+ 7.7,2.6,6.9,2.3,Iris-virginica
121
+ 6,2.2,5,1.5,Iris-virginica
122
+ 6.9,3.2,5.7,2.3,Iris-virginica
123
+ 5.6,2.8,4.9,2,Iris-virginica
124
+ 7.7,2.8,6.7,2,Iris-virginica
125
+ 6.3,2.7,4.9,1.8,Iris-virginica
126
+ 6.7,3.3,5.7,2.1,Iris-virginica
127
+ 7.2,3.2,6,1.8,Iris-virginica
128
+ 6.2,2.8,4.8,1.8,Iris-virginica
129
+ 6.1,3,4.9,1.8,Iris-virginica
130
+ 6.4,2.8,5.6,2.1,Iris-virginica
131
+ 7.2,3,5.8,1.6,Iris-virginica
132
+ 7.4,2.8,6.1,1.9,Iris-virginica
133
+ 7.9,3.8,6.4,2,Iris-virginica
134
+ 6.4,2.8,5.6,2.2,Iris-virginica
135
+ 6.3,2.8,5.1,1.5,Iris-virginica
136
+ 6.1,2.6,5.6,1.4,Iris-virginica
137
+ 7.7,3,6.1,2.3,Iris-virginica
138
+ 6.3,3.4,5.6,2.4,Iris-virginica
139
+ 6.4,3.1,5.5,1.8,Iris-virginica
140
+ 6,3,4.8,1.8,Iris-virginica
141
+ 6.9,3.1,5.4,2.1,Iris-virginica
142
+ 6.7,3.1,5.6,2.4,Iris-virginica
143
+ 6.9,3.1,5.1,2.3,Iris-virginica
144
+ 5.8,2.7,5.1,1.9,Iris-virginica
145
+ 6.8,3.2,5.9,2.3,Iris-virginica
146
+ 6.7,3.3,5.7,2.5,Iris-virginica
147
+ 6.7,3,5.2,2.3,Iris-virginica
148
+ 6.3,2.5,5,1.9,Iris-virginica
149
+ 6.5,3,5.2,2,Iris-virginica
150
+ 6.2,3.4,5.4,2.3,Iris-virginica
151
+ 5.9,3,5.1,1.8,Iris-virginica
data/uploaded_20240513_231616.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"session_name": "20240513_231616", "session_description": "20240513_231616", "design_state_data": {"session_info": {"dataset": "iris_modified.csv", "session_name": "20240513_231616", "session_description": "20240513_231616"}, "target": {"prediction_type": "Regression", "target": "sepal_length", "type": "Regression", "partitioning": true}, "train": {"k_fold": 5, "train_ratio": 0.8, "random_seed": 42}, "feature_handling": {"sepal_length": {"feature_name": "sepal_length", "is_selected": true, "feature_variable_type": "float64", "feature_details": {}}, "sepal_width": {"feature_name": "sepal_width", "is_selected": true, "feature_variable_type": "float64", "feature_details": {"numerical_handling": null, "rescaling": false, "scaling_type": null, "make_derived_feats": false, "missing_values": false, "impute_with": null}}, "petal_length": {"feature_name": "petal_length", "is_selected": false, "feature_variable_type": "float64", "feature_details": {"numerical_handling": null, "rescaling": false, "scaling_type": null, "make_derived_feats": false, "missing_values": "Impute", "impute_with": null}}, "petal_width": {"feature_name": "petal_width", "is_selected": false, "feature_variable_type": "float64", "feature_details": {"numerical_handling": null, "rescaling": false, "scaling_type": null, "make_derived_feats": false, "missing_values": "Impute", "impute_with": null}}, "species": {"feature_name": "species", "is_selected": false, "feature_variable_type": "object", "feature_details": {"numerical_handling": null, "rescaling": false, "scaling_type": null, "make_derived_feats": false, "missing_values": "Impute", "impute_with": null}}}, "algorithms": {"RandomForestRegressor": {"model_name": "RandomForestRegressor", "is_selected": false, "random_state": [42]}, "LinearRegression": {"model_name": "LinearRegression", "is_selected": false, "random_state": [42]}, "RidgeRegression": {"model_name": "RidgeRegression", "is_selected": false, "random_state": [42]}, "LassoRegression": {"model_name": "LassoRegression", "is_selected": false, "random_state": [42]}, "ElasticNetRegression": {"model_name": "ElasticNetRegression", "is_selected": false, "random_state": [42]}, "xg_boost": {"model_name": "xg_boost", "is_selected": false, "random_state": [42]}, "DecisionTreeRegressor": {"model_name": "DecisionTreeRegressor", "is_selected": false, "random_state": [42]}, "SVM": {"model_name": "SVM", "is_selected": false, "random_state": [42]}, "KNN": {"model_name": "KNN", "is_selected": false, "random_state": [42]}, "neural_network": {"model_name": "neural_network", "is_selected": false, "random_state": [42]}}}}
data/uploaded_20240513_231619.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"session_name": "20240513_231619", "session_description": "20240513_231619", "design_state_data": {"session_info": {"dataset": "iris_modified.csv", "session_name": "20240513_231619", "session_description": "20240513_231619"}, "target": {"prediction_type": "Regression", "target": "sepal_length", "type": "Regression", "partitioning": true}, "train": {"k_fold": 5, "train_ratio": 0.8, "random_seed": 42}, "feature_handling": {"sepal_length": {"feature_name": "sepal_length", "is_selected": true, "feature_variable_type": "float64", "feature_details": {}}, "sepal_width": {"feature_name": "sepal_width", "is_selected": true, "feature_variable_type": "float64", "feature_details": {"numerical_handling": null, "rescaling": false, "scaling_type": null, "make_derived_feats": false, "missing_values": false, "impute_with": null}}, "petal_length": {"feature_name": "petal_length", "is_selected": false, "feature_variable_type": "float64", "feature_details": {"numerical_handling": null, "rescaling": false, "scaling_type": null, "make_derived_feats": false, "missing_values": "Impute", "impute_with": null}}, "petal_width": {"feature_name": "petal_width", "is_selected": false, "feature_variable_type": "float64", "feature_details": {"numerical_handling": null, "rescaling": false, "scaling_type": null, "make_derived_feats": false, "missing_values": "Impute", "impute_with": null}}, "species": {"feature_name": "species", "is_selected": false, "feature_variable_type": "object", "feature_details": {"numerical_handling": null, "rescaling": false, "scaling_type": null, "make_derived_feats": false, "missing_values": "Impute", "impute_with": null}}}, "algorithms": {"RandomForestRegressor": {"model_name": "RandomForestRegressor", "is_selected": false, "random_state": [42]}, "LinearRegression": {"model_name": "LinearRegression", "is_selected": false, "random_state": [42]}, "RidgeRegression": {"model_name": "RidgeRegression", "is_selected": false, "random_state": [42]}, "LassoRegression": {"model_name": "LassoRegression", "is_selected": false, "random_state": [42]}, "ElasticNetRegression": {"model_name": "ElasticNetRegression", "is_selected": false, "random_state": [42]}, "xg_boost": {"model_name": "xg_boost", "is_selected": false, "random_state": [42]}, "DecisionTreeRegressor": {"model_name": "DecisionTreeRegressor", "is_selected": false, "random_state": [42]}, "SVM": {"model_name": "SVM", "is_selected": false, "random_state": [42]}, "KNN": {"model_name": "KNN", "is_selected": true, "random_state": [42], "k_value": [78], "distance_weighting": [true], "neighbour_finding_algorithm": "auto", "p_value": 1}, "neural_network": {"model_name": "neural_network", "is_selected": false, "random_state": [42]}}}}
docs/Hackathon Stage 2 Problem.docx ADDED
Binary file (95.8 kB). View file
 
requirements.txt ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ joblib==1.1.0
2
+ matplotlib==3.5.0
3
+ numpy==1.21.0
4
+ pandas==1.4.0
5
+ scikit-learn==1.0.2
6
+ xgboost==1.5.0
src/.ipynb_checkpoints/data_reader-checkpoint.py ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Contains the logic for reading and parsing the RTF file and extracting JSON content
2
+ import pandas as pd
3
+ import json
4
+ from striprtf.striprtf import rtf_to_text
5
+ from sklearn.preprocessing import train_test_split
6
+
7
+
8
+ class DataReader:
9
+ def rtf_parser(self, file_path, encoding='utf-8'):
10
+ # Read the RTF file
11
+ with open(file_path, 'r', encoding=encoding) as file:
12
+ rtf_content = file.read()
13
+
14
+ # Convert the RTF content to text
15
+ text_content = rtf_to_text(rtf_content)
16
+
17
+ return text_content
18
+
19
+
20
+ def rtf_to_json_parser(self, rtf_file_path):
21
+ plain_text = self.rtf_parser(rtf_file_path)
22
+ json_data = json.loads(plain_text)
23
+ self.json_content = json_data
24
+ return json_data
25
+
26
+ def get_selected_features_and_details(self):
27
+ selected_features = []
28
+ feature_details = {}
29
+ design_state = self.json_content["design_state_data"]
30
+ feature_handling = design_state["feature_handling"]
31
+ target_variable = design_state["target"]["target"]
32
+ for feature, details in feature_handling.items():
33
+ if(details["is_selected"]):
34
+ name = details["feature_name"]
35
+ selected_features.append(name)
36
+ feature_details[name] = details
37
+ selected_features.remove(target_variable)
38
+ return selected_features, feature_details
39
+
40
+
41
+ def get_problem_type_and_target_variable(self):
42
+ design_state = self.json_content["design_state_data"]
43
+ problem_type = design_state["target"]["prediction_type"]
44
+ target_variable = design_state["target"]["target"]
45
+ return problem_type,target_variable
src/.ipynb_checkpoints/feature_handler-checkpoint.py ADDED
@@ -0,0 +1,101 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Contains classes and functions for handling and transforming
2
+ # features based on the JSON file information.
3
+ import pandas as pd
4
+ from sklearn.model_selection import train_test_split
5
+ from sklearn.preprocessing import StandardScaler, MinMaxScaler
6
+
7
+ class FeatureHandler:
8
+ def __init__(self, json_content):
9
+ self.json_content = json_content
10
+
11
+ def impute_missing_values(self, feature_details, X_train, X_test=None):
12
+ mean_impute_features = []
13
+ median_impute_features = []
14
+ mode_impute_features = []
15
+ for feature, details in feature_details.items():
16
+ if details["missing_values"] == "Impute":
17
+ if "mean" in details["impute_with"].lower() or "average" in details["impute_with"].lower():
18
+ mean_impute_features.append(feature)
19
+ elif "median" in details["impute_with"].lower():
20
+ median_impute_features.append(feature)
21
+ elif "mode" in details["impute_with"].lower() or "most frequent" in details["impute_with"].lower():
22
+ mode_impute_features.append(feature)
23
+ if mean_impute_features:
24
+ X_train[mean_impute_features] = X_train[mean_impute_features].fillna(X_train[mean_impute_features].mean())
25
+ if median_impute_features:
26
+ X_train[median_impute_features] = X_train[median_impute_features].fillna(X_train[median_impute_features].median())
27
+ if mode_impute_features:
28
+ X_train[mode_impute_features] = X_train[mode_impute_features].fillna(X_train[mode_impute_features].mode().iloc[0])
29
+ if X_test is not None:
30
+ if mean_impute_features:
31
+ X_test[mean_impute_features] = X_test[mean_impute_features].fillna(X_train[mean_impute_features].mean())
32
+ if median_impute_features:
33
+ X_test[median_impute_features] = X_test[median_impute_features].fillna(X_train[median_impute_features].median())
34
+ if mode_impute_features:
35
+ X_test[mode_impute_features] = X_test[mode_impute_features].fillna(X_train[mode_impute_features].mode().iloc[0])
36
+ return X_train, X_test
37
+
38
+
39
+
40
+ # TODO: Add imputation for categorical features
41
+ def scale_features(self, feature_details, X_train, X_test=None):
42
+ min_max_scaler_features = []
43
+ standard_scaler_features = []
44
+ for feature, details in feature_details.items():
45
+ if details["rescaling"] == "MinMaxScaler":
46
+ min_max_scaler_features.append(feature)
47
+ elif details["rescaling"] == "StandardScaler":
48
+ standard_scaler_features.append(feature)
49
+
50
+ if min_max_scaler_features:
51
+ scaler = MinMaxScaler()
52
+ X_train_scaled = scaler.fit_transform(X_train[min_max_scaler_features])
53
+ X_train[min_max_scaler_features] = X_train_scaled
54
+ if standard_scaler_features:
55
+ scaler = StandardScaler()
56
+ X_train_scaled = scaler.fit_transform(X_train[standard_scaler_features])
57
+ X_train[standard_scaler_features] = X_train_scaled
58
+ if X_test is not None:
59
+ if min_max_scaler_features:
60
+ X_test_scaled = scaler.fit_transform(X_test[min_max_scaler_features])
61
+ X_test[min_max_scaler_features] = X_test_scaled
62
+ if standard_scaler_features:
63
+ X_test_scaled = scaler.fit_transform(X_test[standard_scaler_features])
64
+ X_test[standard_scaler_features] = X_test_scaled
65
+ return X_train, X_test
66
+
67
+
68
+ def transform_X_features(self, X_train, X_test, feature_details):
69
+ X_train_transformed, X_test_transformed = self.impute_missing_values(feature_details, X_train, X_test)
70
+ X_train_transformed, X_test_transformed = self.scale_features(feature_details, X_train_transformed, X_test_transformed)
71
+
72
+ # tokenize and hash the target variable
73
+ def tokenize_target_variable(self, y_train, y_test):
74
+ # tokenize the target variable
75
+ y_train_tokenized = y_train.apply(lambda x: x.split("-")[1])
76
+ y_train_encoded = pd.get_dummies(y_train_tokenized, prefix="Iris")
77
+ y_test_tokenized = y_test.apply(lambda x: x.split("-")[1])
78
+ y_test_encoded = pd.get_dummies(y_test_tokenized, prefix="Iris")
79
+ return y_train_encoded, y_test_encoded
80
+
81
+ def transform_y_features(self, y_train, y_test, feature_details, target_variable):
82
+ pass
83
+
84
+ def get_split_dataset(self, selected_features):
85
+ design_state = self.json_content["design_state_data"]
86
+ dataset = design_state["session_info"]["dataset"]
87
+ target_variable = design_state["target"]["target"]
88
+
89
+ train_info = design_state["train"]
90
+ train_ratio = train_info["train_ratio"]
91
+ random_seed = train_info["random_seed"]
92
+
93
+ DATASET_PATH = "data/"+dataset
94
+ df = pd.read_csv(DATASET_PATH)
95
+ X = df[selected_features]
96
+ Y = df[target_variable]
97
+
98
+ X_train, X_test, y_train, y_test = train_test_split(X, Y, train_size=train_ratio,
99
+ random_state=random_seed)
100
+
101
+ return X_train, X_test, y_train, y_test
src/__pycache__/config.cpython-311.pyc ADDED
Binary file (1.95 kB). View file
 
src/__pycache__/data_reader.cpython-311.pyc ADDED
Binary file (4.42 kB). View file
 
src/__pycache__/evaluator.cpython-311.pyc ADDED
Binary file (8.57 kB). View file
 
src/__pycache__/feature_handler.cpython-311.pyc ADDED
Binary file (10.8 kB). View file
 
src/__pycache__/main.cpython-311.pyc ADDED
Binary file (2.85 kB). View file
 
src/__pycache__/model_trainer.cpython-311.pyc ADDED
Binary file (15.8 kB). View file
 
src/app.py ADDED
@@ -0,0 +1,354 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ from data_reader import DataReader
3
+ from datetime import datetime
4
+ from feature_handler import FeatureHandler
5
+ from model_trainer import ModelTrainer
6
+ from evaluator import Evaluator
7
+ from config import *
8
+ import pandas as pd
9
+ import json
10
+
11
+
12
+ def extract_column_info(df):
13
+ column_info = {}
14
+ for column in df.columns:
15
+ column_info[column] = {
16
+ "feature_name": column,
17
+ "is_selected": True,
18
+ "feature_variable_type": str(df[column].dtype),
19
+ "feature_details": {
20
+ "numerical_handling": None,
21
+ "rescaling": False,
22
+ "scaling_type": None,
23
+ "make_derived_feats": False,
24
+ "missing_values": "Impute",
25
+ "impute_with": None
26
+ }
27
+ }
28
+ return column_info
29
+
30
+
31
+ def extract_algorithms_info(algo_list):
32
+ algo_info = {}
33
+ for algo in algo_list:
34
+ algo_info[algo] = {
35
+ "model_name" : algo,
36
+ "is_selected" : False,
37
+ "random_state" : [42]
38
+ }
39
+ return algo_info
40
+
41
+
42
+ def generate_json(session_name, dataset_name, target, train, feature_handling, algorithms):
43
+ json_data = {
44
+ "session_name": session_name,
45
+ "session_description": session_name,
46
+ "design_state_data": {
47
+ "session_info": {
48
+ "dataset": dataset_name,
49
+ "session_name": session_name,
50
+ "session_description": session_name
51
+ },
52
+ "target": target,
53
+ "train": train,
54
+ "feature_handling": feature_handling,
55
+ "algorithms": algorithms
56
+ }
57
+ }
58
+ return json_data
59
+
60
+
61
+
62
+ def train_models(save_file_path, json_file):
63
+ if json_file is not None:
64
+ with st.spinner('Hang On, Training Models For You...'):
65
+ # Read the RTF file and parse the JSON content
66
+ data_reader = DataReader(rtf_file_path=save_file_path)
67
+ json_content = data_reader.rtf_to_json_parser()
68
+
69
+ # Extract dataset information from JSON
70
+ problem_type, target_variable = data_reader.get_problem_type_and_target_variable()
71
+
72
+ # Extract feature names and target variable from JSON content
73
+ selected_features, feature_details = data_reader.get_selected_features_and_details()
74
+
75
+ # Transform features
76
+ feature_handler = FeatureHandler(json_content)
77
+ X_train, X_test, y_train, y_test = feature_handler.get_split_dataset(selected_features)
78
+
79
+ X_train_transformed , X_test_transformed = feature_handler.transform_X_features(X_train, X_test, feature_details)
80
+ y_train_transformed , y_test_transformed = feature_handler.transform_y_features(y_train, y_test, feature_details, target_variable)
81
+
82
+ # Model building and hyperparameter tuning
83
+ selected_models, model_parameters = data_reader.get_selected_models()
84
+ model_trainer = ModelTrainer(json_content)
85
+ trained_models = model_trainer.build_and_tune_model(X_train_transformed, y_train_transformed,
86
+ problem_type, selected_models, model_parameters)
87
+
88
+
89
+ # Evaluate the model
90
+ evaluator = Evaluator(json_content, problem_type, target_variable)
91
+ evaluation_results = evaluator.evaluate_model(trained_models, X_test_transformed, y_test_transformed)
92
+ # display bar chart of evaluation results
93
+ st.subheader("Different Model Comparison")
94
+ evaluator.display_metrics(evaluation_results)
95
+
96
+
97
+
98
+ else:
99
+ st.error("Please upload a JSON file first.")
100
+
101
+
102
+ def create_json_and_train():
103
+
104
+ st.write("### Upload Dataset: ")
105
+ uploaded_file = st.file_uploader("Upload Dataset CSV", type=['csv'])
106
+
107
+ if uploaded_file is not None:
108
+ df = pd.read_csv(uploaded_file)
109
+ st.write("### Sample Data:")
110
+ st.write(df.head())
111
+
112
+ # Extract column information
113
+ column_info = extract_column_info(df)
114
+
115
+ # take input for prediction_type
116
+ st.write("### Select Prediction Parameters:")
117
+ prediction_type = st.selectbox("Prediction Type", ["Regression", "Classification"], key="prediction_selectbox")
118
+
119
+ # Checkbox for selecting target columns and feature details
120
+ target_variable = st.selectbox("Target Variable", df.columns, key="target_selectbox")
121
+
122
+ # add option to let user select how to encode target variable
123
+
124
+ column_info[target_variable]["feature_details"] = {}
125
+ # if target_variable is of category type, add option to label encode
126
+ if column_info[target_variable]["feature_variable_type"] == "object":
127
+ column_info[target_variable]["feature_details"]["text_handling"] = st.selectbox("Text Handling", ["Tokenize and hash", "Label Encoding"], key="text_handling_selectbox", index=0)
128
+
129
+ train = {}
130
+ train["k_fold"] = st.number_input("K-Fold", min_value=2, value=5, step=1, key="kfold")
131
+ train["train_ratio"] = st.number_input("Train Ratio", min_value=0.0, max_value=1.0, value=0.8, step=0.1, key="train_ratio")
132
+ train["random_seed"] = st.number_input("Random Seed", min_value=0, value=42, step=1, key="random_seed")
133
+
134
+ target = {"prediction_type": prediction_type,
135
+ "target": target_variable,
136
+ "type": prediction_type,
137
+ "partitioning": True}
138
+
139
+ st.write("### Select Columns to Include:")
140
+ for column in column_info:
141
+ if column != target_variable:
142
+ column_info[column]["is_selected"] = st.checkbox(column, key=f"{column}_checkbox", value=False)
143
+ if column_info[column]["is_selected"]:
144
+ with st.expander(f"{column} Feature Handling", expanded=False):
145
+ column_info[column]["feature_details"]["rescaling"] = st.checkbox("Rescaling", key=f"{column}_scaling_checkbox")
146
+ if column_info[column]["feature_details"]["rescaling"] and column_info[column]["feature_variable_type"] != "object":
147
+ column_info[column]["feature_details"]["scaling_type"] = st.selectbox("Scaling Type", ["MinMaxScaler", "StandardScaler"], key=f"{column}_scaling_type_select")
148
+ column_info[column]["feature_details"]["missing_values"] = st.checkbox("Imputation", key=f"{column}_imputation_checkbox")
149
+ if column_info[column]["feature_details"]["missing_values"]:
150
+ column_info[column]["feature_details"]["impute_with"] = st.selectbox("Imputation With", ["Mean", "Median", "Mode", "Custom"], key=f"{column}_imputation_type_select")
151
+ if column_info[column]["feature_details"]["impute_with"] == "Custom":
152
+ column_info[column]["feature_details"]["custom_impute_value"] = st.text_input(f"Custom Impute Value", key=f"{column}_imputation_value_input")
153
+ if column_info[column]["feature_variable_type"] == "object":
154
+ column_info[column]["feature_details"]["encoding"] = st.selectbox("Encode Categorical Feature with", ["OridnalEncoder", "OneHotEncoder"], key = f"{column}_encoding_type")
155
+ # Checkbox for selecting columns
156
+ st.write(f"### Select {prediction_type} Algorithms:")
157
+ if prediction_type == "Regression":
158
+ algorithms_list = ["RandomForestRegressor", "LinearRegression", "RidgeRegression", "LassoRegression",
159
+ "ElasticNetRegression","xg_boost", "DecisionTreeRegressor", "SVM", "KNN", "neural_network"]
160
+ else:
161
+ algorithms_list = ["RandomForestClassifier", "LogisticRegression", "xg_boost",
162
+ "DecisionTreeClassifier", "SVM", "KNN", "neural_network"]
163
+
164
+ algo_info = extract_algorithms_info(algorithms_list)
165
+ for algo in algo_info:
166
+ algo_info[algo]["is_selected"] = st.checkbox(algo, key=f"{algo}_checkbox")
167
+ if algo_info[algo]["is_selected"]:
168
+ with st.expander(f"{algo} HyperParameters", expanded=False):
169
+ if algo == "RandomForestClassifier" or algo == "RandomForestRegressor":
170
+ algo_info[algo]["min_trees"] = st.number_input("Minimum Trees", min_value=1, max_value=100, value=10, step=1, key=f"{algo}_min_trees")
171
+ algo_info[algo]["max_trees"] = st.number_input("Maximum Trees", min_value=1, max_value=100, value=30, step=1, key=f"{algo}_max_trees")
172
+ algo_info[algo]["min_depth"] = st.number_input("Minimum Depth", min_value=1, max_value=100, value=20, step=1, key=f"{algo}_min_depth")
173
+ algo_info[algo]["max_depth"] = st.number_input("Maximum Depth", min_value=1, max_value=100, value=30, step=1, key=f"{algo}_max_depth")
174
+ algo_info[algo]["min_samples_per_leaf_min_value"] = st.number_input("Minimum Samples Per Leaf", min_value=1, max_value=100, value=5, step=1, key=f"{algo}_min_samples_per_leaf")
175
+ algo_info[algo]["min_samples_per_leaf_max_value"] = st.number_input("Maximum Samples Per Leaf", min_value=1, max_value=100, value=50, step=1, key=f"{algo}_max_samples_per_leaf")
176
+
177
+ elif algo == "LinearRegression" or algo == "LogisticRegression" or algo == "ElasticNetRegression":
178
+ algo_info[algo]["min_iter"] = st.number_input("Minimum Iterations", min_value=1, max_value=100, value=30, step=1, key=f"{algo}_min_iter")
179
+ algo_info[algo]["max_iter"] = st.number_input("Maximum Iterations", min_value=1, max_value=100, value=50, step=1, key=f"{algo}_max_iter")
180
+ algo_info[algo]["min_regparam"] = st.number_input("Minimum Regularization Parameter", min_value=0.0, max_value=1.0, value=0.5, step=0.1, key=f"{algo}_min_regparam")
181
+ algo_info[algo]["max_regparam"] = st.number_input("Maximum Regularization Parameter", min_value=0.0, max_value=1.0, value=0.8, step=0.1, key=f"{algo}_max_regparam")
182
+ algo_info[algo]["min_elasticnet"] = st.number_input("Minimum Elasticnet", min_value=0.0, max_value=1.0, value=0.5, step=0.1, key=f"{algo}_min_elasticnet")
183
+ algo_info[algo]["max_elasticnet"] = st.number_input("Maximum Elasticnet", min_value=0.0, max_value=1.0, value=0.8, step=0.1, key=f"{algo}_max_elasticnet")
184
+
185
+ elif algo == "RidgeRegression" or algo == "LassoRegression":
186
+ algo_info[algo]["min_iter"] = st.number_input("Minimum Iterations", min_value=1, max_value=100, value=30, step=1, key=f"{algo}_min_iter")
187
+ algo_info[algo]["max_iter"] = st.number_input("Maximum Iterations", min_value=1, max_value=100, value=50, step=1, key=f"{algo}_max_iter")
188
+ algo_info[algo]["min_regparam"] = st.number_input("Minimum Regularization Parameter", min_value=0.0, max_value=1.0, value=0.5, step=0.1, key=f"{algo}_min_regparam")
189
+ algo_info[algo]["max_regparam"] = st.number_input("Maximum Regularization Parameter", min_value=0.0, max_value=1.0, value=0.8, step=0.1, key=f"{algo}_max_regparam")
190
+
191
+ elif algo == "DecisionTreeClassifier" or algo == "DecisionTreeRegressor":
192
+ algo_info[algo]["min_depth"] = st.number_input("Minimum Depth", min_value=1, max_value=100, value=4, step=1, key=f"{algo}_min_depth")
193
+ algo_info[algo]["max_depth"] = st.number_input("Maximum Depth", min_value=1, max_value=100, value=7, step=1, key=f"{algo}_max_depth")
194
+ algo_info[algo]["use_gini"] = st.checkbox("Use Gini Index", value=False, key=f"{algo}_use_gini")
195
+ algo_info[algo]["use_entropy"] = st.checkbox("Use Entropy", value=True, key=f"{algo}_use_entropy")
196
+ algo_info[algo]["min_samples_per_leaf"] = st.text_input("Minimum Samples Per Leaf", placeholder="Enter comma separated list of values for min_samples_per_leaf",
197
+ key=f"{algo}_min_samples_per_leaf")
198
+ # check if min_samples_per_leaf is there
199
+ if algo_info[algo]["min_samples_per_leaf"]:
200
+ algo_info[algo]["min_samples_per_leaf"] = [int(x) for x in algo_info[algo]["min_samples_per_leaf"].split(",")]
201
+ else:
202
+ algo_info[algo]["min_samples_per_leaf"] = [12, 6]
203
+ algo_info[algo]["use_best"] = st.checkbox("Use Best", value=True, key=f"{algo}_use_best")
204
+ algo_info[algo]["use_random"] = st.checkbox("Use Random", value=True, key=f"{algo}_use_random")
205
+
206
+ elif algo == "SVM":
207
+ algo_info[algo]["linear_kernel"] = st.checkbox("Linear Kernel", value=True, key=f"{algo}_linear_kernel")
208
+ algo_info[algo]["rep_kernel"] = st.checkbox("Rep Kernel", value=True, key=f"{algo}_rep_kernel")
209
+ algo_info[algo]["polynomial_kernel"] = st.checkbox("Polynomial Kernel", value=True, key=f"{algo}_polynomial_kernel")
210
+ algo_info[algo]["sigmoid_kernel"] = st.checkbox("Sigmoid Kernel", value=True, key=f"{algo}_sigmoid_kernel")
211
+ algo_info[algo]["c_value"] = st.text_input("C Value", placeholder="Enter comma separated list of values for C Value", key=f"{algo}_c_value")
212
+ # convert c values into list of integers
213
+ if algo_info[algo]["c_value"]:
214
+ algo_info[algo]["c_value"] = [int(x) for x in algo_info[algo]["c_value"].split(",")]
215
+ else:
216
+ algo_info[algo]["c_value"] = [566, 79]
217
+ algo_info[algo]["auto"] = st.checkbox("Auto", value=True, key=f"{algo}_auto")
218
+ algo_info[algo]["scale"] = st.checkbox("Scale", value=True, key=f"{algo}_scale")
219
+ algo_info[algo]["custom_gamma_values"] = st.checkbox("Custom Gamma Values", value=True, key=f"{algo}_custom_gamma_values")
220
+ algo_info[algo]["tolerance"] = [st.number_input("Tolerance", min_value=0.0, max_value=1.0, value=0.001, step=0.001, key=f"{algo}_tolerance")]
221
+ algo_info[algo]["max_iterations"] = st.number_input("Maximum Iterations", min_value=1, max_value=100, value=10, step=1, key=f"{algo}_max_iterations")
222
+ if algo_info[algo]["max_iterations"]:
223
+ algo_info[algo]["max_iterations"] = [algo_info[algo]["max_iterations"]]
224
+
225
+ elif algo == "KNN":
226
+ algo_info[algo]["k_value"] = st.text_input("K Value", placeholder="Enter comma separated list of values for K Value", key=f"{algo}_k_value")
227
+ if algo_info[algo]["k_value"]:
228
+ algo_info[algo]["k_value"] = [int(x) for x in algo_info[algo]["k_value"].split(",")]
229
+ else:
230
+ algo_info[algo]["k_value"] = [78]
231
+ algo_info[algo]["distance_weighting"] = [st.checkbox("Distance Weighting", value=True, key=f"{algo}_distance_weighting")]
232
+ algo_info[algo]["neighbour_finding_algorithm"] = st.selectbox("Neighbour Finding Algorithm", ["auto", "ball_tree", "kd_tree", "brute"], key=f"{algo}_neighbour_finding_algorithm", index=0)
233
+ algo_info[algo]["p_value"] = st.number_input("P Value", min_value=1, max_value=2, value=1, step=1, key=f"{algo}_p_value")
234
+
235
+ elif algo == "neural_network":
236
+ algo_info[algo]["hidden_layer_sizes"] = st.text_input("Hidden Layer Sizes", placeholder="Enter comma separated list of values for Hidden Layer Sizes", key=f"{algo}_hidden_layer_sizes")
237
+ if algo_info[algo]["hidden_layer_sizes"]:
238
+ algo_info[algo]["hidden_layer_sizes"] = [int(x) for x in algo_info[algo]["hidden_layer_sizes"].split(",")]
239
+ else:
240
+ algo_info[algo]["hidden_layer_sizes"] = [67, 89]
241
+ algo_info[algo]["activation"] = ""
242
+ algo_info[algo]["alpha_value"] = [st.number_input("Alpha Value", min_value=0.0, max_value=1.0, value=0.01, step=0.0001, key=f"{algo}_alpha_value")]
243
+ algo_info[algo]["max_iterations"] = [st.number_input("Max Iterations", min_value=0, max_value=1000, value=10, step=100, key=f"{algo}_max_iterations")]
244
+ algo_info[algo]["convergence_tolerance"] = [st.number_input("Convergence Tolerance", min_value=0.0, max_value=1.0, value=0.1, step=0.0001, key=f"{algo}_convergence_tolerance")]
245
+ algo_info[algo]["early_stopping"] = [st.checkbox("Early Stopping", value=True, key=f"{algo}_early_stopping")]
246
+ algo_info[algo]["solver"] = [st.selectbox("Solver", ["lbfgs", "sgd", "adam"], key=f"{algo}_solver", index=2)]
247
+ algo_info[algo]["shuffle_data"] = [st.checkbox("Shuffle Data", value=True, key=f"{algo}_shuffle_data")]
248
+ algo_info[algo]["initial_learning_rate"] = [st.number_input("Initial Learning Rate", min_value=0.0, max_value=1.0, value=0.1, step=0.001, key=f"{algo}_initial_learning_rate")]
249
+ algo_info[algo]["automatic_batching"] = [st.checkbox("Automatic Batching", value=True, key=f"{algo}_automatic_batching")]
250
+ algo_info[algo]["beta_1"] = [st.number_input("Beta 1", min_value=0.0, max_value=1.0, value=0.1, step=0.1, key=f"{algo}_beta_1")]
251
+ algo_info[algo]["beta_2"] = [st.number_input("Beta 2", min_value=0.0, max_value=1.0, value=0.1, step=0.1, key=f"{algo}_beta_2")]
252
+ algo_info[algo]["epsilon"] = [st.number_input("Epsilon", min_value=0.0, max_value=1.0, value=0.1, step=0.1, key=f"{algo}_epsilon")]
253
+ algo_info[algo]["power_t"] = [st.number_input("Power T", min_value=0.0, max_value=1.0, value=0.1, step=0.1, key=f"{algo}_power_t")]
254
+ algo_info[algo]["momentum"] = [st.number_input("Momentum", min_value=0.0, max_value=1.0, value=0.1, step=0.1, key=f"{algo}_momentum")]
255
+ algo_info[algo]["use_nesterov_momentum"] = [st.checkbox("Use Nesterov Momentum", value=False, key=f"{algo}_use_nesterov_momentum")]
256
+
257
+ elif algo == "xg_boost":
258
+ algo_info[algo]["use_gradient_boosted_tree"] = st.checkbox("Use Gradient Boosted Tree", value=True, key=f"{algo}_use_gradient_boosted_tree")
259
+ algo_info[algo]["dart"] = st.checkbox("DART", value=True, key=f"{algo}_dart")
260
+ algo_info[algo]["tree_method"] = [st.selectbox("Tree Method", ["exact", "approx", "hist"], key=f"{algo}_tree_method", index=1)]
261
+ algo_info[algo]["max_num_of_trees"] = [st.number_input("Max Number of Trees", min_value=0, max_value=1000, value=10, step=100, key=f"{algo}_max_num_of_trees")]
262
+ algo_info[algo]["early_stopping"] = st.checkbox("Early Stopping", value=True, key=f"{algo}_early_stopping")
263
+ if algo_info[algo]["early_stopping"]:
264
+ algo_info[algo]["early_stopping_rounds"] = [st.number_input("Early Stopping Rounds", min_value=0, max_value=1000, value=2, step=100, key=f"{algo}_early_stopping_rounds")]
265
+ algo_info[algo]["max_depth_of_tree"] = [st.number_input("Max Depth of Tree", min_value=0, max_value=1000, value=10, step=100, key=f"{algo}_max_depth_of_tree")]
266
+ algo_info[algo]["learningRate"] = [st.number_input("Learning Rate", min_value=0.0, max_value=1.0, value=0.1, step=0.001, key=f"{algo}_learningRate")]
267
+ algo_info[algo]["l1_regularization"] = [st.number_input("L1 Regularization", min_value=0.0, max_value=1.0, value=0.1, step=0.001, key=f"{algo}_l1_regularization")]
268
+ algo_info[algo]["l2_regularization"] = [st.number_input("L2 Regularization", min_value=0.0, max_value=1.0, value=0.1, step=0.001, key=f"{algo}_l2_regularization")]
269
+ algo_info[algo]["gamma"] = [st.number_input("Gamma", min_value=0.0, max_value=1.0, value=0.1, step=0.001, key=f"{algo}_gamma")]
270
+ algo_info[algo]["min_child_weight"] = [st.number_input("Min Child Weight", min_value=0.0, max_value=1.0, value=0.1, step=0.001, key=f"{algo}_min_child_weight")]
271
+ algo_info[algo]["sub_sample"] = [st.number_input("Sub Sample", min_value=0.0, max_value=1.0, value=0.1, step=0.001, key=f"{algo}_sub_sample")]
272
+ algo_info[algo]["col_sample_by_tree"] = [st.number_input("Column Sample By Tree", min_value=0.0, max_value=1.0, value=0.1, step=0.001, key=f"{algo}_col_sample_by_tree")]
273
+ algo_info[algo]["replace_missing_values"] = st.checkbox("Replace Missing Values", value=True, key=f"{algo}_replace_missing_values")
274
+
275
+ # Generate JSON
276
+ if st.button("Generate JSON and train models"):
277
+ session_name = datetime.now().strftime('%Y%m%d_%H%M%S')
278
+ json_data = generate_json(session_name, uploaded_file.name, target, train, column_info, algo_info)
279
+ # save json to file
280
+ if json_data is not None:
281
+ current_time = datetime.now().strftime('%Y%m%d_%H%M%S')
282
+ extension = "json"
283
+ file_name = f"uploaded_{current_time}.{extension}"
284
+ save_file_path = '../data/'+file_name
285
+
286
+ with open(save_file_path, 'w') as file:
287
+ # file.write(json_data.read())
288
+ json.dump(json_data, file)
289
+ st.success("JSON file generated successfully, models are being trained!")
290
+
291
+ train_models(save_file_path, json_data)
292
+
293
+
294
+ def upload_json_and_train():
295
+
296
+ st.write("### Upload JSON File")
297
+ json_file = st.file_uploader("Upload RTF/JSON/TXT file", type=["rtf", "json", "txt"])
298
+
299
+ if json_file is not None:
300
+ current_time = datetime.now().strftime('%Y%m%d_%H%M%S')
301
+ extension = json_file.name.split('.')[-1]
302
+ file_name = f"{json_file.name.split('.')[0]}_{current_time}.{extension}"
303
+ save_file_path = '../data/'+file_name
304
+
305
+ with open(save_file_path, 'wb') as file:
306
+ file.write(json_file.read())
307
+
308
+ st.success("File uploaded successfully, mdoels are ready to be trained!")
309
+
310
+ # create button to train models
311
+ if st.button("Train Models"):
312
+ if json_file is not None:
313
+ train_models(save_file_path, json_file)
314
+ else:
315
+ st.warning("Please upload a JSON file")
316
+
317
+ def main():
318
+
319
+ #
320
+ main_heading = "<h1 style='text-align: center; color: #cce7ff; margin-bottom: 0; margin-top:-50px'>DataFlow Pro</h1>"
321
+ tagline = "<h4 style='text-align: center; color: #cce7ff; margin-top: -25px;'>Automating ML Workflow with Ease</h4>"
322
+ header_content = main_heading + tagline
323
+ st.markdown(header_content, unsafe_allow_html=True)
324
+ st.markdown("---")
325
+
326
+ st.subheader("Navigation")
327
+ st.write("If you want to create a JSON and train a model, please click on the <u><b>Create Json and Train Model</b></u> button.", unsafe_allow_html=True)
328
+ st.write("If you have an RTF/JSON/TXT file, please upload it and click on the <u><b>Upload Json and train model</b></u> button.", unsafe_allow_html=True)
329
+ page = st.radio(" ", ("Create Json and Train Model", "Upload Json and train model"), index= None)
330
+
331
+ if page == "Create Json and Train Model":
332
+ create_json_and_train()
333
+ elif page == "Upload Json and train model":
334
+ upload_json_and_train()
335
+ st.markdown("""
336
+ <style>
337
+ .footer {
338
+ position: fixed;
339
+ bottom: 0;
340
+ left: 0;
341
+ width: 100%;
342
+ background-color: #000000;
343
+ text-align: center;
344
+ padding: 10px 0;
345
+ }
346
+ </style>
347
+ <div class="footer">
348
+ <p>Made with ❤️ by Rupanshu Kapoor.</p>
349
+ </div>
350
+ """, unsafe_allow_html=True)
351
+
352
+
353
+ if __name__ == '__main__':
354
+ main()
src/config.py ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Optional. Contains configuration settings
2
+ # for your application (e.g., paths, hyperparameter ranges).
3
+ from sklearn.ensemble import RandomForestClassifier, RandomForestRegressor
4
+ from sklearn.linear_model import SGDRegressor, LogisticRegression, Ridge, Lasso, ElasticNet
5
+ from sklearn.tree import DecisionTreeClassifier, DecisionTreeRegressor
6
+ from sklearn.svm import SVC, SVR
7
+ from sklearn.neighbors import KNeighborsClassifier, KNeighborsRegressor
8
+ from sklearn.neural_network import MLPClassifier
9
+ from xgboost import XGBClassifier, XGBRegressor
10
+
11
+
12
+
13
+ RTF_FILE_PATH = "data/algoparams_from_ui1.json.rtf"
14
+
15
+
16
+ model_dict = {
17
+ "RandomForestClassifier" : RandomForestClassifier(),
18
+ "RandomForestRegressor" : RandomForestRegressor(),
19
+ "LinearRegression": SGDRegressor(),
20
+ "LogisticRegression": LogisticRegression(),
21
+ "RidgeRegression": Ridge(),
22
+ "LassoRegression": Lasso(),
23
+ "ElasticNetRegression": ElasticNet(),
24
+ "XGBoostClassifier": XGBClassifier(),
25
+ "XGBoostRegressor": XGBRegressor(),
26
+ "DecisionTreeRegressor": DecisionTreeRegressor(),
27
+ "DecisionTreeClassifier":DecisionTreeClassifier(),
28
+ "SVMClassifier": SVC(),
29
+ "SVMRegressor": SVR(),
30
+ "KNNRegressor": KNeighborsRegressor(),
31
+ "KNNClassifier": KNeighborsClassifier(),
32
+ "neural_network": MLPClassifier()
33
+ }
34
+
35
+
src/data_reader.py ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Contains the logic for reading and parsing the RTF file and extracting JSON content
2
+ import pandas as pd
3
+ import json
4
+ from striprtf.striprtf import rtf_to_text
5
+ import streamlit as st
6
+
7
+ class DataReader:
8
+ def __init__(self, rtf_file_path):
9
+ self.json_content = None
10
+ self.rtf_file_path = rtf_file_path
11
+ def rtf_parser(self, file_path, encoding='utf-8'):
12
+ # Read the RTF file
13
+ with open(file_path, 'r', encoding=encoding) as file:
14
+ rtf_content = file.read()
15
+
16
+ # Convert the RTF content to text
17
+ text_content = rtf_to_text(rtf_content)
18
+
19
+ return text_content
20
+
21
+
22
+ def rtf_to_json_parser(self):
23
+ # check for extension, if rtf convert to json
24
+ if self.rtf_file_path.split('.')[-1] == 'rtf':
25
+ plain_text = self.rtf_parser(self.rtf_file_path)
26
+ json_data = json.loads(plain_text)
27
+ elif self.rtf_file_path.split('.')[-1] == 'json' or self.rtf_file_path.split('.')[-1] == 'txt':
28
+ with open(self.rtf_file_path, 'r') as file:
29
+ json_data = json.load(file)
30
+ else:
31
+ st.error("Invalid file type. Please upload a .rtf, .json or .txt file.")
32
+ self.json_content = json_data
33
+ return json_data
34
+
35
+ def get_selected_features_and_details(self):
36
+ selected_features = []
37
+ feature_details = {}
38
+ design_state = self.json_content["design_state_data"]
39
+ feature_handling = design_state["feature_handling"]
40
+ target_variable = design_state["target"]["target"]
41
+ for feature, details in feature_handling.items():
42
+ if(details["is_selected"]):
43
+ name = details["feature_name"]
44
+ selected_features.append(name)
45
+ feature_details[name] = details
46
+ selected_features.remove(target_variable)
47
+ return selected_features, feature_details
48
+
49
+
50
+ def get_problem_type_and_target_variable(self):
51
+ design_state = self.json_content["design_state_data"]
52
+ problem_type = design_state["target"]["prediction_type"]
53
+ target_variable = design_state["target"]["target"]
54
+ return problem_type,target_variable
55
+
56
+ def get_selected_models(self):
57
+ algorithms = self.json_content["design_state_data"]["algorithms"]
58
+ selected_algorithms = []
59
+ algo_hyperparameters = {}
60
+ for algo, details in algorithms.items():
61
+ if(details["is_selected"]):
62
+ selected_algorithms.append(algo)
63
+ algo_hyperparameters[algo] = details
64
+ algo_hyperparameters[algo].pop("model_name")
65
+ algo_hyperparameters[algo].pop("is_selected")
66
+
67
+ return selected_algorithms, algo_hyperparameters
68
+
69
+
src/dataalgoparams_from_ui1.json.rtf_20240512_174409.json ADDED
File without changes
src/evaluator.py ADDED
@@ -0,0 +1,120 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Contains classes and functions for evaluating trained
2
+ # models using the specified metrics.
3
+
4
+
5
+ from sklearn.metrics import accuracy_score, root_mean_squared_error, r2_score, mean_squared_error,classification_report, confusion_matrix, ConfusionMatrixDisplay
6
+ import json
7
+ import matplotlib.pyplot as plt
8
+ import streamlit as st
9
+ import pandas as pd
10
+ import numpy as np
11
+
12
+ class Evaluator:
13
+ def __init__(self, json_content, problem_type, target_variable):
14
+ self.json_content = json_content
15
+ self.problem_type = problem_type
16
+
17
+ def evaluate_model(self, models, X_test, y_test):
18
+ """Evaluates the model using specified metrics and returns results."""
19
+ metrics = {}
20
+ for model_name, model in models.items():
21
+ metrics[model_name] = {}
22
+ print(f"Evaluating model: {model_name}")
23
+ predictions = model.predict(X_test)
24
+
25
+ # Choose evaluation metrics based on problem type
26
+ st.subheader(f"Model: {model_name}")
27
+ if self.problem_type == 'Classification':
28
+ self.log_confusion_matrix(y_test, predictions, model_name, model)
29
+ accuracy = self.log_classification_report(y_test, predictions, model_name)
30
+ metrics[model_name]["accuracy"] = accuracy
31
+ else: # 'regression'
32
+ rmse_score = self.log_rmse(y_test, predictions, model_name)
33
+ r2_score = self.log_r2(y_test, predictions, model_name)
34
+ adj_r2_score = self.log_adj_r2(X_test,y_test, predictions, model_name)
35
+ metrics[model_name]["rmse"] = rmse_score
36
+ metrics[model_name]["r2"] = r2_score
37
+ metrics[model_name]["adj_r2"] = adj_r2_score
38
+
39
+ return metrics
40
+
41
+ # return metrics
42
+
43
+ def save_metrics(self, metrics, file_path: str):
44
+ """Saves evaluation metrics to a file."""
45
+ with open(file_path, 'w') as file:
46
+ json.dump(metrics, file)
47
+
48
+
49
+ def log_confusion_matrix(self, y_test, predictions, model_name, model):
50
+ """Logs the confusion matrix."""
51
+ cm = confusion_matrix(y_test, predictions, labels=model.classes_)
52
+ # st.set_option('deprecation.showPyplotGlobalUse', False)
53
+ st.markdown(f"#### Confusion matrix for : {model_name} ")
54
+ fig, ax = plt.subplots()
55
+ disp = ConfusionMatrixDisplay(confusion_matrix=cm, display_labels=model.classes_)
56
+ disp.plot(ax=ax)
57
+ st.pyplot(fig)
58
+
59
+
60
+ def log_classification_report(self, y_test, predictions, model_name):
61
+ """Logs the classification report."""
62
+ st.markdown(f"#### Classification report for: {model_name} ")
63
+ accuracy = accuracy_score(y_test, predictions)
64
+ cr = classification_report(y_test, predictions, output_dict=True)
65
+ report_df = pd.DataFrame(cr).T
66
+ report_df = report_df.rename(columns={'precision': 'Precision', 'recall': 'Recall', 'f1-score': 'F1-Score', 'support': 'Support'})
67
+ st.table(report_df)
68
+ return round(accuracy,2)
69
+
70
+ def log_rmse(self, y_test, predictions, model_name):
71
+ """Logs the root mean squared error."""
72
+ rmse = root_mean_squared_error(y_test, predictions)
73
+ st.markdown(f"RMSE for {model_name}: {round(rmse,2)} ")
74
+ return round(rmse,2)
75
+
76
+ def log_r2(self, y_test, predictions, model_name):
77
+ """Logs the R-squared score."""
78
+ r2 = r2_score(y_test, predictions)
79
+ st.markdown(f"R-squared score for {model_name}: {round(r2,2)} ")
80
+ return round(r2,2)
81
+
82
+
83
+ def log_adj_r2(self,X_test, y_test, predictions, model_name):
84
+ """Logs the adjusted R-squared score."""
85
+ sample_size, n_variables = X_test.shape
86
+ r2 = r2_score(y_test, predictions)
87
+ adj_r2 = 1 - ((1 - r2) * (sample_size - 1)) / (sample_size - n_variables - 1)
88
+ print(f" model: {model_name}")
89
+ st.markdown(f"Adjusted R-squared score for {model_name}: {round(r2,2)} ")
90
+ return round(adj_r2,2)
91
+
92
+ def display_metrics(self, metrics):
93
+
94
+ available_metrics = list(next(iter(metrics.values())).keys())
95
+ available_models = list(metrics.keys())
96
+
97
+ num_models = len(available_models)
98
+ hue_colors = plt.cm.tab10(np.linspace(0, 1, num_models))
99
+
100
+ for metric in available_metrics:
101
+ fig, ax = plt.subplots(figsize=(10, 5))
102
+
103
+ for i, model in enumerate(available_models):
104
+ metric_value = metrics[model][metric]
105
+ bar = ax.bar(model, metric_value, color=hue_colors[i], label=model)
106
+
107
+ for rect in bar:
108
+ height = rect.get_height()
109
+ ax.annotate('{}'.format(round(height, 2)),
110
+ xy=(rect.get_x() + rect.get_width() / 2, height),
111
+ xytext=(0, 3), textcoords="offset points",
112
+ ha='center', va='bottom')
113
+
114
+ ax.set_xlabel('Algorithm Models')
115
+ ax.set_ylabel(metric.upper())
116
+ ax.legend()
117
+ plt.xticks(rotation=45)
118
+ plt.title(f'{metric.upper()}')
119
+ st.pyplot(fig)
120
+
src/feature_handler.py ADDED
@@ -0,0 +1,169 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Contains classes and functions for handling and transforming
2
+ # features based on the JSON file information.
3
+ import pandas as pd
4
+ from sklearn.model_selection import train_test_split
5
+ from sklearn.preprocessing import StandardScaler, MinMaxScaler, LabelEncoder, OrdinalEncoder, OneHotEncoder
6
+ import streamlit as st
7
+
8
+ class FeatureHandler:
9
+ def __init__(self, json_content):
10
+ self.json_content = json_content
11
+
12
+ def impute_missing_values(self, feature_details, X_train, X_test=None):
13
+ mean_impute_features = []
14
+ median_impute_features = []
15
+ mode_impute_features = []
16
+ custom_impute_features = []
17
+ for feature in X_train.columns:
18
+ details = feature_details[feature]['feature_details']
19
+ if details["missing_values"]:
20
+ if details["impute_with"].lower() == "mean":
21
+ mean_impute_features.append(feature)
22
+ elif details["impute_with"].lower() == "median":
23
+ median_impute_features.append(feature)
24
+ elif details["impute_with"].lower() == "mode":
25
+ mode_impute_features.append(feature)
26
+ elif details["impute_with"].lower() == "custom":
27
+ custom_impute_features.append(feature)
28
+
29
+ if mean_impute_features:
30
+ X_train[mean_impute_features] = X_train[mean_impute_features].fillna(X_train[mean_impute_features].mean())
31
+ if median_impute_features:
32
+ X_train[median_impute_features] = X_train[median_impute_features].fillna(X_train[median_impute_features].median())
33
+ if mode_impute_features:
34
+ X_train[mode_impute_features] = X_train[mode_impute_features].fillna(X_train[mode_impute_features].mode().iloc[0])
35
+ if custom_impute_features:
36
+ for feature in custom_impute_features:
37
+ X_train[feature] = X_train[feature].fillna(feature_details[feature]['feature_details']['custom_impute_value'])
38
+ if X_test is not None:
39
+ if mean_impute_features:
40
+ X_test[mean_impute_features] = X_test[mean_impute_features].fillna(X_train[mean_impute_features].mean())
41
+ if median_impute_features:
42
+ X_test[median_impute_features] = X_test[median_impute_features].fillna(X_train[median_impute_features].median())
43
+ if mode_impute_features:
44
+ X_test[mode_impute_features] = X_test[mode_impute_features].fillna(X_train[mode_impute_features].mode().iloc[0])
45
+ if custom_impute_features:
46
+ for feature in custom_impute_features:
47
+ X_test[feature] = X_test[feature].fillna(feature_details[feature]['feature_details']['custom_impute_value'])
48
+ return X_train, X_test
49
+
50
+
51
+
52
+ # TODO: Add imputation for categorical features
53
+ def scale_features(self, feature_details, X_train, X_test=None):
54
+ min_max_scaler_features = []
55
+ standard_scaler_features = []
56
+ # for feature, details in feature_details.items():
57
+ for feature in feature_details.keys():
58
+ details = feature_details[feature]['feature_details']
59
+ if details.get("rescaling"):
60
+ if details["rescaling"]!= "No rescaling" and details["scaling_type"] == "MinMaxScaler" :
61
+ min_max_scaler_features.append(feature)
62
+ elif details["rescaling"] != "No rescaling" and details["scaling_type"] == "StandardScaler" :
63
+ standard_scaler_features.append(feature)
64
+ if min_max_scaler_features:
65
+ scaler = MinMaxScaler()
66
+ X_train_scaled = scaler.fit_transform(X_train[min_max_scaler_features])
67
+ X_train[min_max_scaler_features] = X_train_scaled
68
+ if standard_scaler_features:
69
+ scaler = StandardScaler()
70
+ X_train_scaled = scaler.fit_transform(X_train[standard_scaler_features])
71
+ X_train[standard_scaler_features] = X_train_scaled
72
+ if X_test is not None:
73
+ if min_max_scaler_features:
74
+ X_test_scaled = scaler.fit_transform(X_test[min_max_scaler_features])
75
+ X_test[min_max_scaler_features] = X_test_scaled
76
+ if standard_scaler_features:
77
+ X_test_scaled = scaler.fit_transform(X_test[standard_scaler_features])
78
+ X_test[standard_scaler_features] = X_test_scaled
79
+ return X_train, X_test
80
+
81
+ def encode_features(self, feature_details, X_train, X_test=None):
82
+
83
+ ordinal_encoder_cols = []
84
+ one_hot_encoder_cols = []
85
+ for feature in X_train.columns:
86
+ if feature_details[feature]["feature_variable_type"] == "object":
87
+ details = feature_details[feature]['feature_details']
88
+ if details["encoding"] == "OridnalEncoder":
89
+ ordinal_encoder_cols.append(feature)
90
+ elif details["encoding"] == "OneHotEncoder":
91
+ one_hot_encoder_cols.append(feature)
92
+ if ordinal_encoder_cols:
93
+ ordinal_encoder = OrdinalEncoder()
94
+ X_train[ordinal_encoder_cols] = ordinal_encoder.fit_transform(X_train[ordinal_encoder_cols])
95
+ if X_test is not None:
96
+ X_test[ordinal_encoder_cols] = ordinal_encoder.transform(X_test[ordinal_encoder_cols])
97
+
98
+ if one_hot_encoder_cols:
99
+ one_hot_encoder = OneHotEncoder( drop="first", sparse_output=False)
100
+ temp_df = pd.DataFrame(one_hot_encoder.fit_transform(X_train[one_hot_encoder_cols]),
101
+ columns=one_hot_encoder.get_feature_names_out(),
102
+ index=X_train.index)
103
+ X_train = X_train.drop(one_hot_encoder_cols, axis=1)
104
+ X_train = pd.concat([X_train, temp_df], axis=1)
105
+
106
+ if X_test is not None:
107
+ temp_df = pd.DataFrame(one_hot_encoder.transform(X_test[one_hot_encoder_cols]),
108
+ columns=one_hot_encoder.get_feature_names_out(),
109
+ index=X_test.index)
110
+ X_test = X_test.drop(one_hot_encoder_cols, axis=1)
111
+ X_test = pd.concat([X_test, temp_df], axis=1)
112
+ return X_train, X_test
113
+
114
+ def transform_X_features(self, X_train, X_test, feature_details):
115
+
116
+ X_train_transformed, X_test_transformed = self.impute_missing_values(feature_details, X_train, X_test)
117
+ X_train_transformed, X_test_transformed = self.encode_features(feature_details, X_train_transformed, X_test_transformed)
118
+ X_train_transformed, X_test_transformed = self.scale_features(feature_details, X_train_transformed, X_test_transformed)
119
+ return X_train_transformed, X_test_transformed
120
+ # tokenize and hash the target variable
121
+ def tokenize_target_variable(self, y_train, y_test):
122
+ details = self.json_content["design_state_data"]["feature_handling"]
123
+ feature_details = details[y_train.name]["feature_details" ]
124
+ if feature_details["text_handling"] == "Tokenize and hash":
125
+ # tokenize the target variable
126
+ label_encoder = LabelEncoder()
127
+ y_train_tokenized = y_train.apply(lambda x: x.split("-")[1])
128
+ y_train_encoded = label_encoder.fit_transform(y_train_tokenized)
129
+
130
+ y_test_tokenized = y_test.apply(lambda x: x.split("-")[1])
131
+ y_test_encoded = label_encoder.transform(y_test_tokenized)
132
+ return y_train_encoded, y_test_encoded
133
+
134
+
135
+ def label_encode_target_variable(self, y_train, y_test):
136
+ label_encoder = LabelEncoder()
137
+ y_train_encoded = label_encoder.fit_transform(y_train)
138
+ y_test_encoded = label_encoder.transform(y_test)
139
+ return y_train_encoded, y_test_encoded
140
+
141
+
142
+ def transform_y_features(self, y_train, y_test, feature_details, target_variable):
143
+ if feature_details[target_variable]["feature_variable_type"] == "object":
144
+ if feature_details[target_variable]["feature_details"]["text_handling"] == "Tokenize and hash":
145
+ y_train_transformed, y_test_transformed = self.tokenize_target_variable(y_train, y_test)
146
+ elif feature_details[target_variable]["feature_details"]["text_handling"] == "Label Encoding":
147
+ y_train_transformed, y_test_transformed = self.label_encode_target_variable(y_train, y_test)
148
+ return y_train_transformed, y_test_transformed
149
+ else:
150
+ return y_train, y_test
151
+
152
+ def get_split_dataset(self, selected_features):
153
+ design_state = self.json_content["design_state_data"]
154
+ dataset = design_state["session_info"]["dataset"]
155
+ target_variable = design_state["target"]["target"]
156
+
157
+ train_info = design_state["train"]
158
+ train_ratio = train_info["train_ratio"]
159
+ random_seed = train_info["random_seed"]
160
+
161
+ DATASET_PATH = "../data/"+dataset
162
+ df = pd.read_csv(DATASET_PATH)
163
+ X = df[selected_features]
164
+ Y = df[target_variable]
165
+
166
+ X_train, X_test, y_train, y_test = train_test_split(X, Y, train_size=train_ratio,
167
+ random_state=random_seed)
168
+
169
+ return X_train, X_test, y_train, y_test
src/model_trainer.py ADDED
@@ -0,0 +1,302 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Contains classes and functions for model
2
+ # building, hyperparameter tuning, and training models.
3
+
4
+ import numpy as np
5
+ from sklearn.model_selection import GridSearchCV
6
+ from joblib import dump # For saving models
7
+ from config import model_dict
8
+ import streamlit as st
9
+ class ModelTrainer:
10
+ def __init__(self, json_content: dict):
11
+ self.json_content = json_content
12
+ self.k_fold = json_content["design_state_data"]["train"]["k_fold"]
13
+ if not self.k_fold:
14
+ self.k_fold = None
15
+ self.random_state = [42]
16
+ self.num_iter = 3
17
+
18
+
19
+ def tune_random_forest(self, model, X_train, y_train, model_name, model_parameters):
20
+ params = {"random_state": self.random_state}
21
+ min_trees = model_parameters[model_name]["min_trees"]
22
+ max_trees = model_parameters[model_name]["max_trees"]
23
+ params["n_estimators"] = np.linspace(min_trees, max_trees, self.num_iter, dtype=int)
24
+
25
+ min_depth = model_parameters[model_name]["min_depth"]
26
+ max_depth = model_parameters[model_name]["max_depth"]
27
+ params["max_depth"] = np.linspace(min_depth, max_depth, self.num_iter, dtype=int)
28
+
29
+ min_samples_per_leaf = model_parameters[model_name]["min_samples_per_leaf_min_value"]
30
+ max_samples_per_leaf = model_parameters[model_name]["min_samples_per_leaf_max_value"]
31
+ params["min_samples_leaf"] = np.linspace(min_samples_per_leaf, max_samples_per_leaf, self.num_iter, dtype=int)
32
+
33
+ if model_parameters[model_name].get("random_state"):
34
+ params["random_state"] = model_parameters[model_name]["random_state"]
35
+
36
+ gcv = GridSearchCV(model, params, cv=self.k_fold)
37
+ gcv.fit(X_train, y_train)
38
+ return gcv.best_estimator_
39
+
40
+ def tune_linear_elasticnet_regression(self, model, X_train, y_train, model_name, model_parameters):
41
+ params = {"random_state": self.random_state}
42
+ if model_parameters[model_name].get("random_state"):
43
+ params["random_state"] = model_parameters[model_name]["random_state"]
44
+
45
+ min_iter = model_parameters[model_name]["min_iter"]
46
+ max_iter = model_parameters[model_name]["max_iter"]
47
+ params["max_iter"] = np.linspace(min_iter, max_iter, self.num_iter, dtype=int)
48
+
49
+ min_reg = model_parameters[model_name]["min_regparam"]
50
+ max_reg = model_parameters[model_name]["max_regparam"]
51
+ params["alpha"] = np.logspace(min_reg, max_reg, self.num_iter)
52
+
53
+ min_elasticnet = model_parameters[model_name]["min_elasticnet"]
54
+ max_elasticnet = model_parameters[model_name]["max_elasticnet"]
55
+ params["l1_ratio"] = np.linspace(min_elasticnet, max_elasticnet, self.num_iter)
56
+
57
+ gcv = GridSearchCV(model, params, cv=self.k_fold)
58
+ gcv.fit(X_train, y_train)
59
+ return gcv.best_estimator_
60
+
61
+
62
+
63
+ def tune_logistic_regression(self, model, X_train, y_train, model_parameters):
64
+ params = {"random_state": self.random_state}
65
+ if model_parameters["LogisticRegression"].get("random_state"):
66
+ params["random_state"] = model_parameters["LogisticRegression"]["random_state"]
67
+
68
+ min_iter = model_parameters["LogisticRegression"]["min_iter"]
69
+ max_iter = model_parameters["LogisticRegression"]["max_iter"]
70
+ params["max_iter"] = np.linspace(min_iter, max_iter, self.num_iter, dtype=int)
71
+
72
+ min_reg = model_parameters["LogisticRegression"]["min_regparam"]
73
+ max_reg = model_parameters["LogisticRegression"]["max_regparam"]
74
+ params["C"] = np.logspace(min_reg, max_reg, self.num_iter)
75
+
76
+ min_elasticnet = model_parameters["LogisticRegression"]["min_elasticnet"]
77
+ max_elasticnet = model_parameters["LogisticRegression"]["max_elasticnet"]
78
+ params["l1_ratio"] = np.linspace(min_elasticnet, max_elasticnet, self.num_iter)
79
+
80
+ gcv = GridSearchCV(model, params, cv=self.k_fold)
81
+ gcv.fit(X_train, y_train)
82
+ return gcv.best_estimator_
83
+
84
+ def tune_ridge_lasso_regression(self, model, X_train, y_train, model_name, model_parameters):
85
+ params = {"random_state": self.random_state}
86
+ if model_parameters[model_name].get("random_state"):
87
+ params["random_state"] = model_parameters[model_name]["random_state"]
88
+
89
+ min_iter = model_parameters[model_name]["min_iter"]
90
+ max_iter = model_parameters[model_name]["max_iter"]
91
+ params["max_iter"] = np.linspace(min_iter, max_iter, self.num_iter, dtype=int)
92
+
93
+ min_regparam = model_parameters[model_name]["min_regparam"]
94
+ max_regparam = model_parameters[model_name]["max_regparam"]
95
+ params["alpha"] = np.logspace(min_regparam, max_regparam, self.num_iter)
96
+
97
+ gcv = GridSearchCV(model, params, cv=self.k_fold)
98
+ gcv.fit(X_train, y_train)
99
+ return gcv.best_estimator_
100
+
101
+
102
+ def tune_decision_tree(self, model, X_train, y_train, model_name, model_parameters):
103
+ params = {"random_state": self.random_state}
104
+ if model_parameters[model_name].get("random_state"):
105
+ params["random_state"] = model_parameters[model_name]["random_state"]
106
+
107
+ min_depth = model_parameters[model_name]["min_depth"]
108
+ max_depth = model_parameters[model_name]["max_depth"]
109
+ params["max_depth"] = np.linspace(min_depth, max_depth, self.num_iter, dtype=int)
110
+
111
+ criterion = []
112
+ if model_parameters[model_name]["use_gini"]:
113
+ criterion.append("gini")
114
+ if model_parameters[model_name]["use_entropy"]:
115
+ criterion.append("entropy")
116
+ params["criterion"] = criterion
117
+
118
+ splitter = []
119
+ if model_parameters[model_name]["use_random"]:
120
+ splitter.append("random")
121
+ if model_parameters[model_name]["use_best"]:
122
+ splitter.append("best")
123
+ params["splitter"] = splitter
124
+
125
+ if model_parameters[model_name].get("min_samples_per_leaf"):
126
+ params["min_samples_leaf"] = model_parameters[model_name]["min_samples_per_leaf"]
127
+
128
+ gcv = GridSearchCV(model, params, cv=self.k_fold)
129
+ gcv.fit(X_train, y_train)
130
+ return gcv.best_estimator_
131
+
132
+ def tune_svm(self, model, X_train, y_train, model_parameters):
133
+ params = {}
134
+
135
+ kernel = []
136
+ if model_parameters["SVM"]["linear_kernel"]:
137
+ kernel.append("linear")
138
+ if model_parameters["SVM"]["rep_kernel"]:
139
+ kernel.append("rbf")
140
+ if model_parameters["SVM"]["polynomial_kernel"]:
141
+ kernel.append("poly")
142
+ if model_parameters["SVM"]["sigmoid_kernel"]:
143
+ kernel.append("sigmoid")
144
+ params["kernel"] = kernel
145
+
146
+ params["C"] = model_parameters["SVM"]["c_value"]
147
+
148
+ gamma = []
149
+ if model_parameters["SVM"]["scale"]:
150
+ gamma.append("scale")
151
+ if model_parameters["SVM"]["auto"]:
152
+ gamma.append("auto")
153
+
154
+ params["gamma"] = gamma
155
+
156
+ params["max_iter"] = model_parameters["SVM"]["max_iterations"]
157
+ params["tol"] = model_parameters["SVM"]["tolerance"]
158
+
159
+ gcv = GridSearchCV(model, params, cv=self.k_fold)
160
+ gcv.fit(X_train, y_train)
161
+ return gcv.best_estimator_
162
+
163
+ def tune_knn(self, model, X_train, y_train, model_parameters):
164
+ params = {}
165
+
166
+ params["n_neighbors"] = model_parameters["KNN"]["k_value"]
167
+
168
+ if model_parameters["KNN"].get("distance_weighting"):
169
+ params["weights"] = ["distance"]
170
+
171
+ if model_parameters["KNN"]["neighbour_finding_algorithm"] == "Automatic":
172
+ params["algorithm"] = "auto"
173
+
174
+ gcv = GridSearchCV(model, params, cv=self.k_fold)
175
+ gcv.fit(X_train, y_train)
176
+ return gcv.best_estimator_
177
+ pass
178
+
179
+
180
+ def tune_neural_network(self, model, X_train, y_train, model_parameters):
181
+ parameters = model_parameters["neural_network"]
182
+ params = {"random_state": self.random_state,
183
+ "hidden_layer_sizes": parameters["hidden_layer_sizes"],
184
+ "alpha": parameters["alpha_value"],
185
+ "max_iter": parameters["max_iterations"],
186
+ "tol": parameters["convergence_tolerance"],
187
+ "early_stopping": parameters["early_stopping"],
188
+ "solver": parameters["solver"],
189
+ "shuffle": parameters["shuffle_data"],
190
+ "learning_rate_init": parameters["initial_learning_rate"],
191
+ "batch_size": parameters["automatic_batching"],
192
+ "beta_1": parameters["beta_1"],
193
+ "beta_2": parameters["beta_2"],
194
+ "epsilon": parameters["epsilon"],
195
+ "power_t": parameters["power_t"],
196
+ "momentum": parameters["momentum"],
197
+ "nesterovs_momentum": parameters["use_nesterov_momentum"],
198
+ }
199
+
200
+ if parameters.get("random_state"):
201
+ params["random_state"] = parameters["random_state"]
202
+
203
+ if parameters.get("activation"):
204
+ params["activation"] = parameters["activation"]
205
+
206
+ gcv = GridSearchCV(model, params, cv=self.k_fold)
207
+ gcv.fit(X_train, y_train)
208
+ return gcv.best_estimator_
209
+
210
+ def tune_xgb(self, model, X_train, y_train, model_name, model_parameters):
211
+ params = {"random_state": self.random_state,
212
+ "booster": []
213
+ }
214
+ if model_parameters["xg_boost"].get("random_state"):
215
+ params["random_state"] = model_parameters["xg_boost"]["random_state"]
216
+
217
+ if model_parameters["xg_boost"].get("use_gradient_boosted_tree"):
218
+ params["booster"].append("gbtree")
219
+
220
+ if model_parameters["xg_boost"].get("dart"):
221
+ params["booster"].append("dart")
222
+
223
+ params["n_estimators"] = model_parameters["xg_boost"]["max_num_of_trees"]
224
+ params["tree_method"] = model_parameters["xg_boost"]["tree_method"]
225
+ if model_parameters["xg_boost"]["early_stopping"]:
226
+ params["early_stopping_rounds"] = model_parameters["xg_boost"]["early_stopping_rounds"]
227
+
228
+ params["max_depth"] = model_parameters["xg_boost"]["max_depth_of_tree"]
229
+ params["learning_rate"] = model_parameters["xg_boost"]["learningRate"]
230
+ params["l1_regularization"] = model_parameters["xg_boost"]["l1_regularization"]
231
+ params["l2_regularization"] = model_parameters["xg_boost"]["l2_regularization"]
232
+ params["min_child_weight"] = model_parameters["xg_boost"]["min_child_weight"]
233
+ params["gamma"] = model_parameters["xg_boost"]["gamma"]
234
+ params["sub_sample"] = model_parameters["xg_boost"]["sub_sample"]
235
+ params["col_sample_by_tree"] = model_parameters["xg_boost"]["col_sample_by_tree"]
236
+
237
+ gcv = GridSearchCV(model, params, cv=self.k_fold)
238
+ gcv.fit(X_train, y_train)
239
+ return gcv.best_estimator_
240
+
241
+
242
+ def build_and_tune_model(self, X_train, y_train, problem_type, selected_models, model_parameters):
243
+ self.best_models = {}
244
+ for model_name in selected_models:
245
+ if model_name == "xg_boost":
246
+ st.warning("As of now xg_boost is not supported")
247
+ continue
248
+ if model_name == "SVM" and problem_type == "Regression":
249
+ model = model_dict["SVMRegressor"]
250
+ best_model = self.tune_svm(model, X_train, y_train, model_parameters)
251
+
252
+ elif model_name == "SVM" and problem_type == "Classification":
253
+ model = model_dict["SVMClassifier"]
254
+ best_model = self.tune_svm(model, X_train, y_train, model_parameters)
255
+
256
+ elif model_name == "KNN" and problem_type == "Regression":
257
+ model = model_dict["KNNRegressor"]
258
+ best_model = self.tune_knn(model, X_train, y_train, model_parameters)
259
+
260
+ elif model_name == "KNN" and problem_type == "Classification":
261
+ model = model_dict["KNNClassifier"]
262
+ best_model = self.tune_knn(model, X_train, y_train, model_parameters)
263
+
264
+ elif model_name == "neural_network" and problem_type == "Regression":
265
+ model = model_dict["neural_network"]
266
+ best_model = self.tune_neural_network(model, X_train, y_train, model_parameters)
267
+
268
+ elif model_name == "neural_network" and problem_type == "Classification":
269
+ model = model_dict["neural_network"]
270
+ best_model = self.tune_neural_network(model, X_train, y_train, model_parameters)
271
+
272
+ elif model_name == "xg_boost" and problem_type == "Regression":
273
+ model = model_dict["XGBoostRegressor"]
274
+ best_model = self.tune_xgb(model, X_train, y_train, model_name, model_parameters)
275
+
276
+ elif model_name == "xg_boost" and problem_type == "Classification":
277
+ model = model_dict["XGBoostClassifier"]
278
+ best_model = self.tune_xgb(model, X_train, y_train, model_name, model_parameters)
279
+ else:
280
+ model = model_dict[model_name]
281
+
282
+ if (model_name == "RandomForestClassifier" or model_name == "RandomForestRegressor"):
283
+ best_model = self.tune_random_forest(model, X_train, y_train, model_name, model_parameters)
284
+
285
+ elif (model_name == "LinearRegression" or model_name == "ElasticNetRegression"):
286
+ best_model = self.tune_linear_elasticnet_regression(model, X_train, y_train, model_name, model_parameters)
287
+
288
+ elif model_name == "LogisticRegression":
289
+ best_model = self.tune_logistic_regression(model, X_train, y_train, model_parameters)
290
+
291
+ elif (model_name == "RidgeRegression" or model_name == "LassoRegression"):
292
+ best_model = self.tune_ridge_lasso_regression(model, X_train, y_train, model_name, model_parameters)
293
+
294
+ elif (model_name == "DecisionTreeRegressor" or model_name == "DecisionTreeClassifier"):
295
+ best_model = self.tune_decision_tree(model, X_train, y_train, model_name, model_parameters)
296
+
297
+ self.best_models[model_name] = best_model
298
+
299
+
300
+ return self.best_models
301
+
302
+