From e8b6310e2af5266b6a1726d111deb8b00e40d80e Mon Sep 17 00:00:00 2001 From: Ale Franzoni Gimenez Date: Thu, 10 Nov 2022 20:28:52 -0300 Subject: [PATCH 1/5] script visuals feature added. Now the app check for them on start --- frmMain.Designer.cs | 82 ++++++++++++++++++++++++++------------------- frmMain.cs | 43 ++++++++++++++++++++++++ 2 files changed, 91 insertions(+), 34 deletions(-) diff --git a/frmMain.Designer.cs b/frmMain.Designer.cs index 69f900b..a7bf64c 100644 --- a/frmMain.Designer.cs +++ b/frmMain.Designer.cs @@ -33,6 +33,9 @@ private void InitializeComponent() System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmMain)); this.lblTitle = new System.Windows.Forms.Label(); this.gbInput = new System.Windows.Forms.GroupBox(); + this.spanishAppLang = new System.Windows.Forms.RadioButton(); + this.englishAppLang = new System.Windows.Forms.RadioButton(); + this.pbiLangLabel = new System.Windows.Forms.Label(); this.numericTimeout = new System.Windows.Forms.NumericUpDown(); this.lblTimeout = new System.Windows.Forms.Label(); this.cmdSetInput = new System.Windows.Forms.Button(); @@ -57,9 +60,7 @@ private void InitializeComponent() this.cmdStartRefresh = new System.Windows.Forms.Button(); this.helpToolTip = new System.Windows.Forms.ToolTip(this.components); this.cmdGenerateScript = new System.Windows.Forms.Button(); - this.pbiLangLabel = new System.Windows.Forms.Label(); - this.englishAppLang = new System.Windows.Forms.RadioButton(); - this.spanishAppLang = new System.Windows.Forms.RadioButton(); + this.chkEnableScriptVisuals = new System.Windows.Forms.CheckBox(); this.gbInput.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.numericTimeout)).BeginInit(); this.gbOptions.SuspendLayout(); @@ -95,6 +96,39 @@ private void InitializeComponent() this.gbInput.TabStop = false; this.gbInput.Text = "Input"; // + // spanishAppLang + // + this.spanishAppLang.AutoSize = true; + this.spanishAppLang.Location = new System.Drawing.Point(247, 54); + this.spanishAppLang.Name = "spanishAppLang"; + this.spanishAppLang.Size = new System.Drawing.Size(66, 17); + this.spanishAppLang.TabIndex = 4; + this.spanishAppLang.Text = "Spanish"; + this.spanishAppLang.UseVisualStyleBackColor = true; + this.spanishAppLang.CheckedChanged += new System.EventHandler(this.spanishAppLang_CheckedChanged); + // + // englishAppLang + // + this.englishAppLang.AutoSize = true; + this.englishAppLang.Checked = true; + this.englishAppLang.Location = new System.Drawing.Point(182, 54); + this.englishAppLang.Name = "englishAppLang"; + this.englishAppLang.Size = new System.Drawing.Size(63, 17); + this.englishAppLang.TabIndex = 4; + this.englishAppLang.TabStop = true; + this.englishAppLang.Text = "English"; + this.englishAppLang.UseVisualStyleBackColor = true; + this.englishAppLang.CheckedChanged += new System.EventHandler(this.englishAppLang_CheckedChanged); + // + // pbiLangLabel + // + this.pbiLangLabel.AutoSize = true; + this.pbiLangLabel.Location = new System.Drawing.Point(7, 56); + this.pbiLangLabel.Name = "pbiLangLabel"; + this.pbiLangLabel.Size = new System.Drawing.Size(169, 13); + this.pbiLangLabel.TabIndex = 3; + this.pbiLangLabel.Text = "PowerBI Applicaction Language"; + // // numericTimeout // this.numericTimeout.Location = new System.Drawing.Point(391, 22); @@ -159,6 +193,7 @@ private void InitializeComponent() this.gbOptions.Controls.Add(this.lblModelFields); this.gbOptions.Controls.Add(this.chkCloseFileOnFinish); this.gbOptions.Controls.Add(this.chkPublish); + this.gbOptions.Controls.Add(this.chkEnableScriptVisuals); this.gbOptions.Controls.Add(this.chkRefreshAll); this.gbOptions.Location = new System.Drawing.Point(12, 139); this.gbOptions.Name = "gbOptions"; @@ -364,38 +399,16 @@ private void InitializeComponent() this.cmdGenerateScript.UseVisualStyleBackColor = true; this.cmdGenerateScript.Click += new System.EventHandler(this.cmdGenerateScript_Click); // - // pbiLangLabel - // - this.pbiLangLabel.AutoSize = true; - this.pbiLangLabel.Location = new System.Drawing.Point(7, 56); - this.pbiLangLabel.Name = "pbiLangLabel"; - this.pbiLangLabel.Size = new System.Drawing.Size(169, 13); - this.pbiLangLabel.TabIndex = 3; - this.pbiLangLabel.Text = "PowerBI Applicaction Language"; - // - // englishAppLang + // chkEnableScriptVisuals // - this.englishAppLang.AutoSize = true; - this.englishAppLang.Checked = true; - this.englishAppLang.Location = new System.Drawing.Point(182, 54); - this.englishAppLang.Name = "englishAppLang"; - this.englishAppLang.Size = new System.Drawing.Size(63, 17); - this.englishAppLang.TabIndex = 4; - this.englishAppLang.TabStop = true; - this.englishAppLang.Text = "English"; - this.englishAppLang.UseVisualStyleBackColor = true; - this.englishAppLang.CheckedChanged += new System.EventHandler(this.englishAppLang_CheckedChanged); - // - // spanishAppLang - // - this.spanishAppLang.AutoSize = true; - this.spanishAppLang.Location = new System.Drawing.Point(247, 54); - this.spanishAppLang.Name = "spanishAppLang"; - this.spanishAppLang.Size = new System.Drawing.Size(66, 17); - this.spanishAppLang.TabIndex = 4; - this.spanishAppLang.Text = "Spanish"; - this.spanishAppLang.UseVisualStyleBackColor = true; - this.spanishAppLang.CheckedChanged += new System.EventHandler(this.spanishAppLang_CheckedChanged); + this.chkEnableScriptVisuals.AutoSize = true; + this.chkEnableScriptVisuals.Location = new System.Drawing.Point(96, 22); + this.chkEnableScriptVisuals.Name = "chkEnableScriptVisuals"; + this.chkEnableScriptVisuals.Size = new System.Drawing.Size(132, 17); + this.chkEnableScriptVisuals.TabIndex = 0; + this.chkEnableScriptVisuals.Text = "Enable Script Visuals"; + this.helpToolTip.SetToolTip(this.chkEnableScriptVisuals, "Only enable script visuals if you trust the author and source."); + this.chkEnableScriptVisuals.UseVisualStyleBackColor = true; // // frmMain // @@ -462,6 +475,7 @@ private void InitializeComponent() private System.Windows.Forms.RadioButton spanishAppLang; private System.Windows.Forms.RadioButton englishAppLang; private System.Windows.Forms.Label pbiLangLabel; + private System.Windows.Forms.CheckBox chkEnableScriptVisuals; } } diff --git a/frmMain.cs b/frmMain.cs index beb8507..0c2900a 100644 --- a/frmMain.cs +++ b/frmMain.cs @@ -13,6 +13,7 @@ public partial class frmMain : Form //Default Control Strings : English private string REFRESH_BUTTON = "refreshQueries"; private string REFRESH_DIALOG = "modalDialog"; + private string SCRIPT_VISUAL_DIALOG = "MessageDialog"; private string CANCEL_REFRESH_BUTTON = "Close"; private string SAVE_BUTTON = "save"; private string SAVE_WAIT_MESSAGE = "Working on it"; @@ -24,6 +25,7 @@ public partial class frmMain : Form private string REPLACE_DIALOG = "KoPublishWithImpactViewDialog"; private string REPLACE_BUTTON = "Replace"; private string SUCCESS_PUBLISH = "Got it"; + private string ENABLE_BUTTON = "Enable"; private string REFRESH_CONTEXTUAL_MENU = "FieldListMenuItem_RefreshEntity"; @@ -41,6 +43,8 @@ public partial class frmMain : Form private AutomationElement targetWorkspaceElement; private AutomationElement replaceDatasetDialog; private AutomationElement refreshContextualMenu; + private AutomationElement enableScriptVisualsDialog; + private AutomationElement enableScriptVisualsButton; private WindowPattern windowPattern; private InvokePattern invokePattern; @@ -269,6 +273,17 @@ private void GetFileData() //Selecting field if needed if (refreshModeCmd == "fields") SetModelFieldsFromArgs(); + + //Enable script visual if needed + checkScriptVisuals(); + + //do + //{ + // Thread.Sleep(500); + // refreshDialog = pbi.FindFirst(TreeScope.Descendants, new PropertyCondition(AutomationElement.AutomationIdProperty, REFRESH_DIALOG)); + // cancelRefreshButton = pbi.FindFirst(TreeScope.Descendants, new PropertyCondition(AutomationElement.HelpTextProperty, CANCEL_REFRESH_BUTTON)); + //} while (refreshDialog != null && cancelRefreshButton == null); + } catch (Exception e) { @@ -277,6 +292,34 @@ private void GetFileData() ShowMessage("An unexpected error has occurred. Check the output for details.", MessageBoxIcon.Error, "Unexpected error"); } } + + private void checkScriptVisuals() + { + timeout = 0; + do + { + timeout += 1; + Thread.Sleep(1000); + enableScriptVisualsDialog = pbi.FindFirst(TreeScope.Descendants, new PropertyCondition(AutomationElement.AutomationIdProperty, SCRIPT_VISUAL_DIALOG)); + } while (enableScriptVisualsDialog == null || timeout < 5); + if (enableScriptVisualsDialog != null) + { + txtOutput.Text += "\nScript Visuals detected... "; + if (chkEnableScriptVisuals.Checked) + { + enableScriptVisualsButton = enableScriptVisualsDialog.FindFirst(TreeScope.Descendants, new PropertyCondition(AutomationElement.NameProperty, ENABLE_BUTTON)); + invokePattern = (InvokePattern)enableScriptVisualsButton.GetCurrentPattern(InvokePattern.Pattern); + invokePattern.Invoke(); + + txtOutput.Text += "Enabled! [DONE]"; + } + else + { + throw new Exception("Visual scripts detected in the file. The application is not authorized to enable them, the process will be aborted."); + } + } + } + private bool GetAndStoreArguments() { string[] args = Environment.GetCommandLineArgs(); From 381d750cf9716c6a5765af609c0d8a7bfd057691 Mon Sep 17 00:00:00 2001 From: Ale Franzoni Gimenez Date: Thu, 10 Nov 2022 20:38:39 -0300 Subject: [PATCH 2/5] added support for spanish --- frmMain.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/frmMain.cs b/frmMain.cs index 0c2900a..9288d64 100644 --- a/frmMain.cs +++ b/frmMain.cs @@ -395,6 +395,8 @@ private void SetPbiControlStringsByLang(string lang) REPLACE_BUTTON = "Reemplazar"; SUCCESS_PUBLISH = "Entendido"; REFRESH_CONTEXTUAL_MENU = "FieldListMenuItem_RefreshEntity"; + SCRIPT_VISUAL_DIALOG = "MessageDialog"; + ENABLE_BUTTON = "Habilitar"; break; case "en": REFRESH_BUTTON = "refreshQueries"; @@ -411,6 +413,8 @@ private void SetPbiControlStringsByLang(string lang) REPLACE_BUTTON = "Replace"; SUCCESS_PUBLISH = "Got it"; REFRESH_CONTEXTUAL_MENU = "FieldListMenuItem_RefreshEntity"; + SCRIPT_VISUAL_DIALOG = "MessageDialog"; + ENABLE_BUTTON = "Enable"; break; default: break; From 1ac19910e0e781b1bdf30479e56c099692fb72f9 Mon Sep 17 00:00:00 2001 From: Ale Franzoni Gimenez Date: Fri, 11 Nov 2022 00:30:28 -0300 Subject: [PATCH 3/5] added command-line support --- frmMain.cs | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/frmMain.cs b/frmMain.cs index 9288d64..9dedc43 100644 --- a/frmMain.cs +++ b/frmMain.cs @@ -52,11 +52,12 @@ public partial class frmMain : Form private int timeout; private string targetCmd, refreshModeCmd, fieldsCmd, workspaceNameCmd, pbiLangCmd; - private bool publishCmd, closeFileCmd, closeAppCmd, userArgsPassed; + private bool enableScriptVisualsCmd, publishCmd, closeFileCmd, closeAppCmd, userArgsPassed; private int timeoutCmd; private Stopwatch stopWatch; public frmMain() => InitializeComponent(); + private void frmMain_Load(object sender, EventArgs e) { userArgsPassed = false; @@ -64,7 +65,7 @@ private void frmMain_Load(object sender, EventArgs e) if (args.Length == 1) return; - if ((args.Length < 10 && args.Length > 1) || (args.Length > 10 && args.Length > 1) || args[1].Contains("help") || !IsValidArgs() || !GetAndStoreArguments()) + if ((args.Length < 11 && args.Length > 1) || (args.Length > 11 && args.Length > 1) || args[1].Contains("help") || !IsValidArgs() || !GetAndStoreArguments()) { ShowMessage(Properties.Resources.helpMessage, MessageBoxIcon.Information); return; @@ -72,13 +73,14 @@ private void frmMain_Load(object sender, EventArgs e) userArgsPassed = true; } + private void frmMain_Shown(object sender, EventArgs e) { if (userArgsPassed) { SetFormValues(); SetPbiControlStringsByLang(englishAppLang.Checked ? "en" : "es"); - GetFileData(); + if (GetFileData() == false) return; Thread.Sleep(1500); cmdStartRefresh.PerformClick(); } @@ -255,7 +257,7 @@ private void GetApplicationWindowPattern() windowPattern = (WindowPattern)pbi.GetCurrentPattern(WindowPattern.Pattern); windowPattern.SetWindowVisualState(WindowVisualState.Maximized); } - private void GetFileData() + private bool GetFileData() { String windowTitleFilename = null; txtOutput.Text = null; @@ -277,6 +279,7 @@ private void GetFileData() //Enable script visual if needed checkScriptVisuals(); + return true; //do //{ // Thread.Sleep(500); @@ -290,6 +293,7 @@ private void GetFileData() txtOutput.Text += "[FAILED]\nAn unexpected error has occurred: " + e.Message; SetOutputLineColor(txtOutput.Lines.Length - 1, Color.Red); ShowMessage("An unexpected error has occurred. Check the output for details.", MessageBoxIcon.Error, "Unexpected error"); + return false; } } @@ -323,7 +327,7 @@ private void checkScriptVisuals() private bool GetAndStoreArguments() { string[] args = Environment.GetCommandLineArgs(); - for (int i = 1; i <= 9; i++) + for (int i = 1; i <= 10; i++) { switch (i) { @@ -351,14 +355,18 @@ private bool GetAndStoreArguments() workspaceNameCmd = publishCmd ? args[i].Replace("-workspace=", null) : null; break; case 7: + if (args[i].Replace("-enable_script_visuals=", null).ToLower() != "false" && args[i].Replace("-enable_script_visuals=", null).ToLower() != "true") return false; + enableScriptVisualsCmd = args[i].Replace("-enable_script_visuals=", null).ToLower() == "true"; + break; + case 8: if (args[i].Replace("-closefile=", null).ToLower() != "false" && args[i].Replace("-closefile=", null).ToLower() != "true") return false; closeFileCmd = args[i].Replace("-closefile=", null).ToLower() == "true"; break; - case 8: + case 9: if (args[i].Replace("-closeapp=", null).ToLower() != "false" && args[i].Replace("-closeapp=", null).ToLower() != "true") return false; closeAppCmd = args[i].Replace("-closeapp=", null).ToLower() == "true"; break; - case 9: + case 10: if (args[i].Replace("-pbi_lang=", null).ToLower() != "en" && args[i].Replace("-pbi_lang=", null).ToLower() != "es") return false; pbiLangCmd = args[i].Replace("-pbi_lang=", null).ToLower(); break; @@ -470,6 +478,7 @@ private void SetFormValues() SetPbiControlStringsByLang(pbiLangCmd); numericTimeout.Value = timeoutCmd; chkRefreshAll.Checked = refreshModeCmd == "all"; + chkEnableScriptVisuals.Checked = enableScriptVisualsCmd; chkPublish.Checked = publishCmd; if (publishCmd) txtWorkspace.Text = workspaceNameCmd; chkCloseFileOnFinish.Checked = closeFileCmd; @@ -492,6 +501,7 @@ private void GenerateScript() commandLineScript += $"-fields=\"{(chkRefreshAll.Checked ? null : GetSelectedFieldsForScript())}\" "; commandLineScript += $"-publish={chkPublish.Checked} "; commandLineScript += $"-workspace=\"{(chkPublish.Checked ? txtWorkspace.Text : null)}\" "; + commandLineScript += $"-enable_script_visuals={chkEnableScriptVisuals.Checked} "; commandLineScript += $"-closefile={chkCloseFileOnFinish.Checked} "; commandLineScript += $"-closeapp={chkCloseAppOnFinish.Checked} "; commandLineScript += $"-pbi_lang={(englishAppLang.Checked ? "en" : "es")}"; @@ -841,7 +851,7 @@ private void FetchFieldsFromModel() private bool IsValidArgs() { string[] args = Environment.GetCommandLineArgs(); - for (int i = 1; i < 9; i++) + for (int i = 1; i < 10; i++) { switch (i) { @@ -864,12 +874,15 @@ private bool IsValidArgs() if (!args[i].Contains("workspace")) return false; break; case 7: - if (!args[i].Contains("closefile")) return false; + if (!args[i].Contains("enable_script_visuals")) return false; break; case 8: - if (!args[i].Contains("closeapp")) return false; + if (!args[i].Contains("closefile")) return false; break; case 9: + if (!args[i].Contains("closeapp")) return false; + break; + case 10: if (!args[i].Contains("pbi_lang")) return false; break; } From 51279e762774d5f330aa6cf7faa0d3b7a17adaca Mon Sep 17 00:00:00 2001 From: Ale Franzoni Gimenez Date: Fri, 11 Nov 2022 00:34:45 -0300 Subject: [PATCH 4/5] version upgrade --- PowerRefresher.csproj | 2 +- Properties/AssemblyInfo.cs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/PowerRefresher.csproj b/PowerRefresher.csproj index 2ba889e..68a156f 100644 --- a/PowerRefresher.csproj +++ b/PowerRefresher.csproj @@ -25,7 +25,7 @@ true true 0 - 1.2.0.%2a + 1.3.0.%2a false true true diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs index e7524b9..82fe6f2 100644 --- a/Properties/AssemblyInfo.cs +++ b/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.2.0.0")] -[assembly: AssemblyFileVersion("1.2.0.0")] +[assembly: AssemblyVersion("1.3.0.0")] +[assembly: AssemblyFileVersion("1.3.0.0")] From 03bee776ba0862f7a2cd5df27f50c7e026111cac Mon Sep 17 00:00:00 2001 From: Ale Franzoni Gimenez Date: Fri, 11 Nov 2022 20:55:02 -0300 Subject: [PATCH 5/5] updated documentation --- README.md | 28 +++++++++++++++------------- images/options_gui.png | Bin 4010 -> 7572 bytes images/screen.png | Bin 19710 -> 22831 bytes 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index effd6c5..6a2007d 100644 --- a/README.md +++ b/README.md @@ -77,6 +77,7 @@ Simply, you have to execute the program and set all the options shown in the use * Language: *Choose your Power BI Desktop application language*

input - **Options** * Refresh all: *Check to refresh all the queries/tables/fields present on the model. If uncheck this option, you have to select which fields want to be updated from the below list.* + * Enable Script Visuals: *Check to allow the application to enable script visuals automatically, if they exist in the file. Only enable script visuals if you trust the author and source.* * Publish: *Check to publish your file into a workspace after it has been updated. You must put the target workspace name in the box next to the checkbox control.* * Close file on finish: *Check to close `*.pbix` file on process finish* * Close application on finish: *Check to close `PowerRefresher` on process finish. If this option is enabled, when the application is closed, a log file will be created and shown with all the update details*

options @@ -92,23 +93,24 @@ Simply, you have to execute the program and set all the options shown in the use Run the **PowerRefresher** application by passing the following arguments: ```batchfile --target=path -timeout=180 -refresh_mode=all/fields -fields="[field1,fieldN]" -publish=bool -workspace=name -closefile=bool -closeapp=bool -pbi_lang=en/es +-target=path -timeout=180 -refresh_mode=all/fields -fields="[field1,fieldN]" -publish=bool -workspace=name -enable_script_visuals=bool -closefile=bool -closeapp=bool -pbi_lang=en/es ``` -| Command | Description | -|--------------|------------------------------------------------| -|`target` |Full pbix file path | -|`timeout` |Waiting timeout in seconds (max. 600) | -|`refresh_mode`|Refresh mode, all or selected fields | -|`fields` |Fields to update | -|`publish` |True if you want to publish file | -|`workspace` |Target workspace name (to publish into) | -|`closefile` |True if you want to close file on finish | -|`closeapp` |True if you want to close app on finish | -|`pbi_lang` |For English use **en**, for Spanish use **es** | +| Command | Description | +|---------------------------|-----------------------------------------------------| +|`target` |Full pbix file path | +|`timeout` |Waiting timeout in seconds (max. 600) | +|`refresh_mode` |Refresh mode, all or selected fields | +|`fields` |Fields to update | +|`publish` |True if you want to publish file | +|`workspace` |Target workspace name (to publish into) | +|`enable_script_visuals` |Allow the app to enable script visuals automatically | +|`closefile` |True if you want to close file on finish | +|`closeapp` |True if you want to close app on finish | +|`pbi_lang` |For English use **en**, for Spanish use **es** | #### Example ```batchfile --target="C:\Users\MyUser\Desktop\My File.pbix" -timeout=180 -refresh_mode=fields -fields="[Table1,Table2]" -publish=true -workspace="My workspace" -closefile=true -closeapp=true -pbi_lang=en +-target="C:\Users\MyUser\Desktop\My File.pbix" -timeout=180 -refresh_mode=fields -fields="[Table1,Table2]" -publish=true -workspace="My workspace" -enable_script_visuals=false -closefile=true -closeapp=true -pbi_lang=en ``` > **Note**: *Remember that you can generate the script from the* `Generate Script` *button.* diff --git a/images/options_gui.png b/images/options_gui.png index 835e280638f3b60f66a371ddaea1d43d3f0254db..00f0cb771f58bc42f198720a88a20e8ba1e59604 100644 GIT binary patch literal 7572 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 literal 4010 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 diff --git a/images/screen.png b/images/screen.png index e53061e022b397423d11ef65c22a1eca024466aa..2addb2d1898025d35dd56aad831ef93ac5105d4b 100644 GIT binary patch literal 22831 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 TtMddQ$Ggl-tge<_xfAHAvUMfPi#&4c*-^F!0Uz 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

)t85){3 z%xF6K_A5MUpKFwrmW4n)+AGI&UI#=V)zBrwU=@ z*z_AC#>Xw$`^7Y`eioQew0otMCRx{twbSM9UGh@Np^O#u+TsTn$Hpe?%Ii{%It7(` zX7(4g3?*=cxNkja!fayXVjRcdmT1=>MmJM8J=Oo|6~%Q~UFzEn=c)Eak$m3k>ZUD{ z*P4{!)JPNOqQE<6ik^+qF@@)D>M%+{r>2V^VH?xZ~v~DuHQ0x`?ecjOMtnnoH zC6e<1#Rr`{%OPVlvGjS!M|ojsikNbEPVC`{yj-FnR~7Lk#wSrEC3V%*WPRP0bsdKr zRok%jm!3xL`0Ys6bAs$O#@+B3>dXnb_PIYQ^k)0S_Yyk0Ac;AAw~E5Ab@ zH-HJ;h_?BAo|bO`-&Ko{;$K@dX^7Dkc=y5LZDm39#jet)tFH-iKvPx7cDL+ob%IEB~jEaq+J$Fxaee-VNfFJQQ?#juS{Vvme7xa z{r3e!H)~+Qt5YS&GMb);)3{pCCzK+dc&G&NE<+wGueMumC7c-s2_ErMsXwN9C>>>? znGvQCDrFdMmEZlfJv|ww!M`_fw##<*TeG8Vt4lTNgvL4jyS3a1^!vaa#d4bgQ#YW`4`T~h=KqB