《常用窗口控》PPT课件.ppt
数据库管理系统数据库管理系统第第13章章 常用窗口控件常用窗口控件 13-1 13-1 窗口控件的通用属性窗口控件的通用属性 13-2 13-2 常用窗口控件常用窗口控件 数据库管理系统数据库管理系统n 控件是构成控件是构成PowerBuilder应用程序用户界应用程序用户界面、完成数据输入面、完成数据输入/输出的强有力工具。了解和输出的强有力工具。了解和熟悉各种控件的功能、作用和用法是设计美观的熟悉各种控件的功能、作用和用法是设计美观的用户界面的前提和基本要求,只有这样,才能够用户界面的前提和基本要求,只有这样,才能够根据业务工作的具体要求,迅速构造出操作方便、根据业务工作的具体要求,迅速构造出操作方便、使用灵活、安全稳健、界面友好的应用程序。使用灵活、安全稳健、界面友好的应用程序。n 控件是控件是PowerBuilder应用程序图形界面的应用程序图形界面的重要组成部分,一方面,控件丰富美化了窗口界重要组成部分,一方面,控件丰富美化了窗口界面,另一方面,控件也为用户操纵应用程序以及面,另一方面,控件也为用户操纵应用程序以及应用程序表现数据提供了灵活多样的手段。应用程序表现数据提供了灵活多样的手段。数据库管理系统数据库管理系统nPowerBuilder的控件基本上可分为两类:的控件基本上可分为两类:一类能够响应用户的操作,它们具有事件一类能够响应用户的操作,它们具有事件(如按钮、编辑框等);(如按钮、编辑框等);另一类不响应用户的操作,它们没有事件另一类不响应用户的操作,它们没有事件(如绘图控件)。无论哪类控件,只有将其放置(如绘图控件)。无论哪类控件,只有将其放置到窗口上、与窗口融为一体时才能发挥其作用。到窗口上、与窗口融为一体时才能发挥其作用。如何向窗口添加控件、窗口布局调整请同学如何向窗口添加控件、窗口布局调整请同学们自己看书。们自己看书。下面我们介绍常用的几个窗口控件用法及其下面我们介绍常用的几个窗口控件用法及其常用的属性、函数和事件。常用的属性、函数和事件。数据库管理系统数据库管理系统13-1 窗口控件的通用属性窗口控件的通用属性n大多数控件都有个标题,用于向用户提示控件的大多数控件都有个标题,用于向用户提示控件的功用,比如按钮、单选钮、复选框都有标题。功用,比如按钮、单选钮、复选框都有标题。n为了方便用户的键盘操作,应该为控件设置访问为了方便用户的键盘操作,应该为控件设置访问键(键(Accelerator,有些书籍将其称为加速键),有些书籍将其称为加速键)。所谓访问键是这样的组合键,用户按住。所谓访问键是这样的组合键,用户按住Alt键键后再按访问键,就能把输入焦点移动到定义该访后再按访问键,就能把输入焦点移动到定义该访问键的控件上。问键的控件上。n有些控件我们希望根据程序运行情况决定用户是有些控件我们希望根据程序运行情况决定用户是否能访问它,这时,可通过设置控件的否能访问它,这时,可通过设置控件的Visible或或Enabled属性来实现。下面分别介绍设置控属性来实现。下面分别介绍设置控件标题、访问键以及可访问性的方法。件标题、访问键以及可访问性的方法。数据库管理系统数据库管理系统n一、标题(一、标题(text)设置控件标题控件标题就是显示在控件上的文字。大多数设置控件标题控件标题就是显示在控件上的文字。大多数控件都有标题。控件都有标题。在窗口画板上设置控件标题文字的方法是:在窗口画板上设置控件标题文字的方法是:1.选中控件;选中控件;2.在窗口画笔风格栏(在窗口画笔风格栏(Style)左边的)左边的“text”中键入中键入标题文字。标题文字。我们也可以在程序中动态地控制窗口控件的标题。我们也可以在程序中动态地控制窗口控件的标题。例如:把单行编辑器中输入的文本取出:例如:把单行编辑器中输入的文本取出:string str 将将cb_ok的提示设置为的提示设置为“关闭关闭”cb_ok.text=”关闭关闭”将单行编辑框设置初值为将单行编辑框设置初值为”start”sle_1.text=”start”数据库管理系统数据库管理系统n二、是否可视二、是否可视,visible属性表示控件是否可见。属性表示控件是否可见。Cb_1.visible=falseSle_1.visible=falsen三、三、enabled属性属性 enabled属性是每个控件都具有的属性。该属性是每个控件都具有的属性。该属性是属性是true时,该控件处于活动状态,能够响应时,该控件处于活动状态,能够响应用户的操作,当用户的操作,当enabled属性是属性是false时,该控时,该控件处于不活动状态,其事件不会被触发,控件的件处于不活动状态,其事件不会被触发,控件的标题和轮廓变为灰色,控件只可见而不可用。标题和轮廓变为灰色,控件只可见而不可用。Cb_1.enabled=false Sle_1.enabled=false数据库管理系统数据库管理系统n四、快捷键四、快捷键 所谓快捷键是组合键,用户所谓快捷键是组合键,用户alt键后再按住键后再按住快捷键,就能把输入焦点移动到该控件上。快捷键,就能把输入焦点移动到该控件上。对命令按钮、复选框、单选钮这类有标题的对命令按钮、复选框、单选钮这类有标题的控件,定义快捷键的方法很简单,只要定义标题控件,定义快捷键的方法很简单,只要定义标题时在作为访问键的字符前放上时在作为访问键的字符前放上&字符即可,字符即可,PowerBuilder会把该字符显示成带下划线方会把该字符显示成带下划线方式。式。关闭关闭&c 例如,要给命令按钮例如,要给命令按钮“确定确定”加上访问键加上访问键“A”,只要将其标题修改为,只要将其标题修改为“&A确定确定”即可。即可。数据库管理系统数据库管理系统n 对没有标题的控件,比如单行编辑框、多行对没有标题的控件,比如单行编辑框、多行编辑框、列表框、下拉列表框等,定义快捷键的编辑框、列表框、下拉列表框等,定义快捷键的方法是:方法是:n 1.双击该控件打开属性设置对话框;双击该控件打开属性设置对话框;n 2.在在“General”标签页的标签页的“Accelerator”编辑框中键入作为访问键的字符,例如,要使编辑框中键入作为访问键的字符,例如,要使Alt+A成为单行编辑框的访问键,那么在成为单行编辑框的访问键,那么在“Accelerator”编辑框中键入字符编辑框中键入字符“a”。数据库管理系统数据库管理系统n五、颜色五、颜色 Backcolor背景色背景色 Textcolor字体的颜色字体的颜色 St_1.textcolor=RGB(255,0,0)St_1.backcolor=RGB(192,192,192)n六、标签六、标签tag属性属性 tag属性是与控件相关的字符串,本身没有属性是与控件相关的字符串,本身没有什么用途,主要取决于用户如何使用他,标签什么用途,主要取决于用户如何使用他,标签主要用于做注解、说明、标记等。主要用于做注解、说明、标记等。数据库管理系统数据库管理系统n七、边界七、边界border和边界类型和边界类型borderstyle属属性。性。Border属性是一个布尔类型的值,它决属性是一个布尔类型的值,它决定了控件是否有边界。只有当定了控件是否有边界。只有当border属性被属性被设置为设置为true时,时,borderstyle属性才会有效。属性才会有效。数据库管理系统数据库管理系统13-2 常用窗口控件常用窗口控件 n PowerBuilder的控件基本上可分为两类:一类能的控件基本上可分为两类:一类能够响应用户的操作,它们具有事件(如按钮、编辑框等)够响应用户的操作,它们具有事件(如按钮、编辑框等);另一类不响应用户的操作,它们没有事件(如几何画;另一类不响应用户的操作,它们没有事件(如几何画笔),它们在窗口上主要起装饰作用。笔),它们在窗口上主要起装饰作用。n一、按钮控件一、按钮控件n 按钮控件是大多数用户界面不可缺少的要素之一,它按钮控件是大多数用户界面不可缺少的要素之一,它表示一个动作,用户通过单击选择按钮时,将完成一个表示一个动作,用户通过单击选择按钮时,将完成一个或一系列操作。或一系列操作。PowerBuilder中的按钮有两种形式:中的按钮有两种形式:命令按钮和图形按钮,命令按钮上只显示一行提示按钮命令按钮和图形按钮,命令按钮上只显示一行提示按钮功能的文字,而图形按钮则既能够显示提示文字,又可功能的文字,而图形按钮则既能够显示提示文字,又可以显示图像。以显示图像。n命令按钮有十几个事件,其中最常用的是命令按钮有十几个事件,其中最常用的是clicked事件。事件。数据库管理系统数据库管理系统n二、单选钮、复选框与组框二、单选钮、复选框与组框 使用图形界面的目的是为了在直观明了的同时方便使用图形界面的目的是为了在直观明了的同时方便用户的操作。通过简单选择就能完成的任务就不应该让用户的操作。通过简单选择就能完成的任务就不应该让用户一个个地键入,单选钮、复选框正是为了方便用户用户一个个地键入,单选钮、复选框正是为了方便用户做出抉择而设计的。做出抉择而设计的。单选钮用来表示一组互斥的选项,用户只能从中选择单选钮用来表示一组互斥的选项,用户只能从中选择一个。单选钮带有一个圆形图案,当被选中时,其图案一个。单选钮带有一个圆形图案,当被选中时,其图案中心出现一个黑点,未被选中时,其图案中心为空白。中心出现一个黑点,未被选中时,其图案中心为空白。复选框用来表示是复选框用来表示是/否或真否或真/假两种状态,它常常被成假两种状态,它常常被成组使用,同一组中可有多个复选框被选中。复选框被选组使用,同一组中可有多个复选框被选中。复选框被选中时,方框内出现一个叉(中时,方框内出现一个叉(X)号;未被选中时,方框内)号;未被选中时,方框内为空白。单选钮、复选框的分组通过组框来实现,因此,为空白。单选钮、复选框的分组通过组框来实现,因此,我们通常看到的界面中,组框与单选钮、复选框常常结我们通常看到的界面中,组框与单选钮、复选框常常结伴而行。使用分组框可以修饰界面,使界面条理清晰。伴而行。使用分组框可以修饰界面,使界面条理清晰。对于单选按钮,还有一个重要的作用就是分组。分组框对于单选按钮,还有一个重要的作用就是分组。分组框的分组作用只对单选按纽有效。的分组作用只对单选按纽有效。数据库管理系统数据库管理系统n常用事件:常用事件:是是Clicked,它在用户单击单选钮或复选框时,它在用户单击单选钮或复选框时触发。触发。n常用的属性常用的属性 Checked:布尔类型,指该单选框或复选框:布尔类型,指该单选框或复选框是否被选中。是否被选中。n单选按纽应用:单选按纽应用:在在w_1上有三个单选按纽,用分组框分为一上有三个单选按纽,用分组框分为一组,分别代表颜色红、绿、蓝。还有一个命令按组,分别代表颜色红、绿、蓝。还有一个命令按纽纽cb_color,要求在单击该按纽时,按照单选,要求在单击该按纽时,按照单选按纽的选择,改变窗口的背景色按纽的选择,改变窗口的背景色数据库管理系统数据库管理系统数据库管理系统数据库管理系统在在cb_color的的clicked事件中:事件中:if rb_r.checked then parent.backcolor=RGB(255,0,0)end if if rb_g.checked then parent.backcolor=RGB(0,255,0)end if if rb_b.checked then parent.backcolor=rgb(0,0,255)end if 数据库管理系统数据库管理系统n复选按纽应用复选按纽应用 在在w_1上有三个复选按纽,用分组框分为一上有三个复选按纽,用分组框分为一组,分别代表颜色红、绿、蓝。还有一个命令按组,分别代表颜色红、绿、蓝。还有一个命令按纽纽cb_color,要求在单击该按纽时,按照复选,要求在单击该按纽时,按照复选按纽的选择颜色的组合,改变窗口的背景色按纽的选择颜色的组合,改变窗口的背景色数据库管理系统数据库管理系统在在cb_color的的clicked事件中事件中 int r,g,b r=0 g=0 b=0 if cbx_r.checked then r=255 if cbx_g.checked then g=255 if cbx_b.checked then b=255 parent.backcolor=rgb(r,g,b)数据库管理系统数据库管理系统三、单行编辑框与多行编辑框三、单行编辑框与多行编辑框 n 单行编辑框通常用于输入一行文本,它有一个单行编辑框通常用于输入一行文本,它有一个属性属性PASSWORD如选中,则可以用于输入口如选中,则可以用于输入口令、密码。键入内容用令、密码。键入内容用“*”隐蔽。隐蔽。n 多行编辑框适合于大段、多行文字的录入;而多行编辑框适合于大段、多行文字的录入;而掩码编辑框能够让用户以熟悉的格式键入数据。掩码编辑框能够让用户以熟悉的格式键入数据。n 单行编辑框常用的事件单行编辑框常用的事件:n modified:用户在修改了单行编辑框中内容:用户在修改了单行编辑框中内容时、并移走焦点时触发该事件。通常在该事件进时、并移走焦点时触发该事件。通常在该事件进行用户输入内容的有效性检查。行用户输入内容的有效性检查。数据库管理系统数据库管理系统n例如单行编辑框用于例如单行编辑框用于sle_date输入日期。输入日期。在在sle_date的的modified事件中加入,有效事件中加入,有效性检查代码:性检查代码:if not isdate(sle_date.text)then messagebox(“”,“非法日期,请重新输入!非法日期,请重新输入!”)end if常用属性常用属性 text属性:编辑框输入的值存放在该属性中。属性:编辑框输入的值存放在该属性中。数据库管理系统数据库管理系统四、标签控件(选项卡控件)四、标签控件(选项卡控件)n 标签控件(标签控件(Tab Control)是我们在)是我们在PowerBuilder开发环境中使用最多的控件之一,开发环境中使用最多的控件之一,当设置某个对象的属性时,打开的属性对话框使当设置某个对象的属性时,打开的属性对话框使用的就是标签控件。标签控件能够把多种数据和用的就是标签控件。标签控件能够把多种数据和程序选项封装在一个控件中,并允许用户通过简程序选项封装在一个控件中,并允许用户通过简单的操作访问这些数据和选项。一般来说,标签单的操作访问这些数据和选项。一般来说,标签控件由多个标签组成,用户能够看到的总是当前控件由多个标签组成,用户能够看到的总是当前标签页。标签控件在有限的屏幕空间里为用户展标签页。标签控件在有限的屏幕空间里为用户展示更多的数据,提供更多的选择。使需要几个窗示更多的数据,提供更多的选择。使需要几个窗口才能容纳的数据放在一个窗口中展示。口才能容纳的数据放在一个窗口中展示。n 标签控件的创建过程:标签控件的创建过程:数据库管理系统数据库管理系统n 标签控件分几个层次:标签控件放置在窗口标签控件分几个层次:标签控件放置在窗口上,窗口是它的父对象;标签页放置在标签控件上,窗口是它的父对象;标签页放置在标签控件中,标签控件是标签页的父对象;而放置在标签中,标签控件是标签页的父对象;而放置在标签页上的控件则以标签页为父对象。因此,访问标页上的控件则以标签页为父对象。因此,访问标签控件上不同对象时,需要考虑这些层次,一般签控件上不同对象时,需要考虑这些层次,一般方法是一次或多次使用点操作符方法是一次或多次使用点操作符(.)。n 假设窗口的名称为假设窗口的名称为w_1,放置标签控件的名,放置标签控件的名称为称为tab_1,“作品作品”标签页的名称为标签页的名称为tabpage_1,在该标签控件上有一个单选按钮,在该标签控件上有一个单选按钮rb_1。下面以实例方式说明访问标签控件中各。下面以实例方式说明访问标签控件中各种对象的方法。种对象的方法。数据库管理系统数据库管理系统n 在窗口在窗口w_1的事件处理程序或窗口的事件处理程序或窗口w_1其它控件其它控件的事件处理程序中将标签控件的事件处理程序中将标签控件tab_1的标签页的标签页tabpage_1上的单选钮上的单选钮rb_1设置为未选中状态时,可设置为未选中状态时,可使用下述语句:使用下述语句:tab_1.tabpage_1.rb_1.checked=FALSE 按类似的引用方法,我们也可以访问各对象的函数。按类似的引用方法,我们也可以访问各对象的函数。n常用事件:常用事件:SelectionChanged:在用户选择了新的标签页:在用户选择了新的标签页后触发,该事件有两个整数类型的参数:后触发,该事件有两个整数类型的参数:oldindex和和newindex,oldindex是当前标签页的位置号,是当前标签页的位置号,newindex是用户新选择标签页的位置号,该事件通常是用户新选择标签页的位置号,该事件通常用于初始化新选择的标签页,比如设置某些选项,为数用于初始化新选择的标签页,比如设置某些选项,为数据窗口提取数据等。据窗口提取数据等。数据库管理系统数据库管理系统五、下拉列表框五、下拉列表框 可以向用户提供一组可选项,减轻用户输入可以向用户提供一组可选项,减轻用户输入的强度。的强度。用法:函数:用法:函数:向下拉列表中加入可选项向下拉列表中加入可选项 AddItem(string item)取出下拉列表的选择取出下拉列表的选择:下拉列表选中的选项放下拉列表选中的选项放在下拉列表的在下拉列表的text属性中属性中:下拉列表框应用:修改窗口的背景色下拉列表框应用:修改窗口的背景色数据库管理系统数据库管理系统n在在w_1的的open事件中事件中 ddlb_1.additem(“红红”)ddlb_1.additem(“绿绿”)ddlb_1.additem(“蓝蓝”)数据库管理系统数据库管理系统n在在cb_color的的clicked事件中事件中 if ddlb_1.text=”红红”then parent.backcolor=RGB(255,0,0)elseif ddlb_1.text=”绿绿”then parent.backcolor=RGB(0,255,0)elseif ddlb_1.text=”蓝蓝”then parent.backcolor=RGB(0,0,255)end if数据库管理系统数据库管理系统 本章学习结束,进入下章学习本章学习结束,进入下章学习 数据库管理系统数据库管理系统I9LcOgRjUmYp!t&w)z1C4F7JaMePhSkWnZq$u*x+A2D5H8KbNfQiUlXo#s%v(y0B3F6I9LdOgRjVmYq!t&w-z1C4G7JaMePhTkWnZr$u*x+A2E5H8KcNfQiUlXp#s%v)y0B3F6IaLdOgSjVmYq!t*w-z1D4G7JbMeQhTkWoZr$u(x+B2E5H9KcNfRiUlXp#s&v)y0C3F6IaLdPgSjVnYq!t*w-A1D4G8JbMeQhTlWoZr%u(x+B2E6H9KcOfRiUmXp!s&v)z0C3F7IaMdPgSkVnYq$t*w-A1D5G8JbNeQhTlWo#r%u(y+B2E6H9LcOfRjUmXp!s&w)z0C4F7IaMdPhSkVnZq$t*x-A2D5G8KbNeQiTlXo#r%v(y+B3E6I9LcOgRjUmYp!s&w)z1C4F7JaMdPhSkWnZq$u*x-A2D5H8KbNfQiTlXo#s%v(y0B3B3E6I9LdOgRjVmYp!t&w-z1C4G7JaMePhTkWnZr$u*x+A2E5H8KcNfQiUlXo#s%v)y0B3F6I9LdOgSjVmYq!t&w-z1D4G7JbMePhTkWoZr$u(x+A2E5H9KcNfRiUlXp#s&v)y0C3F6IaLdPgSjVnYq!t*w-A1D4G8JbMeQhTkWoZr%u(x+B2E5H9KcOfRiUmXp#s&v)z0C3F7IaLdPgSkVnYq$t*w-A1D5G8JbNeQhTlWo#r%u(y+B2E6H9LcOfRjUmXp!s&v)z0C4F7IaMdPgSkVnZq$t*x-A1D5G8KbNeQiTlWo#r%v(y+B3E6H9LcOgRjUmYp!s&w)z1C4F7JaMdPhSkWnZq$u*x-A2D5H8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjVmYp!t&w)z1C4G7JaMePhSkWnZr$u*x+A2D5H8KcNfQiUlXo#s%v)y0B3F6I9LdOgSjVmYq!t&w-z1C4G7JbMePhTkWnZr$u(x+A2E5H8KcNfRiUlXp#s%v)y0C3F6IaLdOgSjVnYq!t*w-z1D4G8JbMeQhTkWoZr%u(x+B2E5H9KcNfRiUmXp#s&v)y0C3F7IaLdPgSjVnYq$t*w-A1D4G8JbNeQhTlWoZr%u(y+B2E6H9KcOfRjUmXp!s&v)z0C4F7IaMdPgSkVnZq$t*x-A1D5G8JbNeQiTlWo#r%u(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjUmYp!t&w)z1C4F7JaMePhSkWnZq$u*x+A2D5H8KbNfQiUlXo#s%v(y0B3F6I9LdOgRjVmYq!t&w-z1C4G7JbMePhTkWnZr$u(x+A2E5H8KcNfQiUlXp#s%v)y0B3F6IaLdOgSjVmYq!t*w-z1D4G7JbMeQhTkWoZr$u(x+B2E5H9KcNcNfRiUmXp#s&v)y0C3F7IaLdPgSjVnYq$t*w-A1D4G8JbMeQhTlWoZr%u(x+B2E6H9KcOfRiUmXp!s&v)z0C3F7IaMdPgSkVnYq$t*x-A1D5G8JbNeQiTlWo#r%u(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7IaMdPhSkVnZq$t*x-A2D5G8KbNeQiTlXo#r%v(y+B3E6I9LcOgRjUmYp!t&w)z1C4F7JaMePhSkWnZq$u*x+A2D5H8KbNfQiTlXo#s%v(y0B3E6I9LdOgRjVmYp!t&w-z1C4G7JaMePhTkWnZr$u*x+A2E5H8KcNfQiUlXp#s%v)y0B3F6IaLdOgSjVmYq!t&w-z1D4G7JbMePhTkWoZr$u(x+A2E5H9KcNfRiUlXp#s&v)y0C3F6IaLdPgSjVnYq!t*w-A1D4G8JbMeQhTlWoZr%u(x+B2E6H9KcOfRiUmXp#s&v)z0C3F7IaLdPgSkVnYq$t*w-A1D5G8JbNeQhTlWo#r%u(y+B2E6H9LcOfRjUmXp!s&w)z0C4F7IaMdPhSkVnZq$t*x-A1D5G8KbNeQiTlWo#r%v(y+y+B3E6H9LcOgRjUmYp!s&w)z1C4F7JaMdPhSkWnZq$u*x-A2D5H8KbNfQiTlXo#s%v(y0B3E6I9LdOgRjVmYp!t&w-z1C4G7JaMePhSkWnZr$u*x+A2D5H8KcNfQiUlXo#s%v)y0B3F6I9LdOgSjVmYq!t&w-z1D4G7JbMePhTkWoZr$u(x+A2E5H9KcNfRiUlXp#s%v)y0C3F6IaLdOgSjVnYq!t*w-z1D4G8JbMeQhTkWoZr%u(x+B2E5H9KcOfRiUmXp#s&v)z0C3F7IaLdPgSkVnYq$t*w-A1D5G8JbNeQhTlWoZr%u(y+B2E6H9KcOfRjUmXp!s&v)z0C4F7IaMdPgSkVnZq$t*x-A1D5G8KbNeQiTlWo#r%v(y+B3E6H9LcOgRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNfQiTlXo#r%v(v(y0B3E6I9LcOgRjVmYp!t&w)z1C4G7JaMePhSkWnZr$u*x+A2D5H8KcNfQiUlXo#s%v)y0B3F6I9LdOgRjVmYq!t&w-z1C4G7JbMePhTkWnZr$u(x+A2E5H8KcNfRiUlXp#s%v)y0C3F6IaLdOgSjVnYq!t*w-z1D4G8JbMeQhTkWoZr$u(x+B2E5H9KcNfRiUmXp#s&v)y0C3F7IaLdPgSjVnYq$t*w-A1D4G8JbNeQhTlWoZr%u(y+B2E6H9KcOfRjUmXp!s&v)z0C4F7IaMdPgSkVnYq$t*x-A1D5G8JbNeQiTlWo#r%u(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNfQiTlXo#r%v%v(y0B3E6I9LcOgRjUmYp!t&w)z1C4F7JaMePhSkWnZq$u*x+A2D5H8KbNfQiUlXo#s%v(y0B3F6I9LdOgRjVmYq!t&w-z1C4G7JbMePhTkWnZr$u(x+A2E5H8KcNfQiUlXp#s%v)y0B3F6IaLdOgSjVmYq!t*w-z1D4G7JbMeQhTkWoZr$u(x+B2E5H9KcNfRiUmXp#s&v)y0C3F7IaLdPgSjVnYq!t*w-A1D4G8JbMeQhTlWoZr%u(x+B2E6H9KcOfRiUmXp!s&v)z0C3F7IaMdPgSkVnYq$t*x-A1D5G8JbNeQiTlWo#r%u(y+B3E6H9LcOfRjUmXp!s&s&w)z0C4F7IaMdPhSkVnZq$t*x-A2D5G8KbNeQiTlXo#r%v(y+B3E6I9LcOgRjUmYp!t&w)z1C4F7JaMePhSkWnZq$u*x+A2D5H8KbNfQiTlXo#s%v(y0B3E6I9LdOgRjVmYp!t&w-z1C4G7JaMePhTkWnZr$u*x+A2E5H8KcNfQiUlXp#s%v)y0B3F6IaLdOgSjVmYq!t*w-z1D4G7JbMePhTkWoZr$u(x+A2E5H9KcNfRiUlXp#s&v)y0C3F6IaLdPgSjVnYq!t*w-A1D4G8JbMeQhTlWoZr%u(x+B2E6H9KcKcOfRiUmXp!s&v)z0C3F7IaMdPgSkVnYq$t*w-A1D5G8JbNeQhTlWo#r%u(y+B2E6H9LcOfRjUmXp!s&w)z0C4F7IaMdPhSkVnZq$t*x-A2D5G8KbNeQiTlXo#r%v(y+B3E6H9LcOgRjUmYp!s&w)z1C4F7JaMdPhSkWnZq$u*x-A2D5H8KbNfQiTlXo#s%v(y0B3E6I9LdOgRjVmYp!t&w-z1C4G7JaMePhSkWnZr$u*x+A2D5H8KcNfQiUlXo#s%v)y0B3F6I9LdOgSjVmYq!q!t&w-z1D4G7JbMePhTkWoZr$u(x+A2E5H9KcNfRiUlXp#s&v)y0C3F6IaLdPgSjVnYq!t*w-z1D4G8JbMeQhTkWoZr%u(x+B2E5H9KcOfRiUmXp#s&v)z0C3F7IaLdPgSkVnYq$t*w-A1D5G8JbNeQhTlWo#r%u(y+B2E6H9KcOfRjUmXp!s&v)z0C4F7IaMdPgSkVnZq$t*x-A1D5G8KbNeQiTlWo#r%v(y+B3E6H9LcOgRjUmYp!s&w)z1C4F7JaMdMdPhSkWnZq$u*x-A2D5H8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjVmYp!t&w)z1C4G7JaMePhSkWnZr$u*x+A2D5H8KcNfQiUlXo#s%v)y0B3F6I9LdOgSjVmYq!t&w-z1D4G7JbMePhTkWnZr$u(x+A2E5H8KcNfRiUlXp#s%v)y0C3F6IaLdOgSjVnYq!t*w-z1D4G8JbMeQhTkWoZr%u(x+B2E5H9KcOfRiUmXp#s&v)y0C3F7IaIaLdPgSjVnYq$t*w-A1D4G8JbNeQhTlWoZr%u(y+B2E6H9KcOfRjUmXp!s&v)z0C4F7IaMdPgSkVnZq$t*x-A1D5G8KbNeQiTlWo#r%v(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjVmYp!t&w)z1C4G7JaMePhSkWnZq$u*x+A2D5H8KbNfQiUlUlXo#s%v(y0B3F6I9LdOgRjVmYq!t&w-z1C4G7JbMePhTkWnZr$u(x+A2E5H8KcNfRiUlXp#s%v)y0C3F6IaLdOgSjVnYq!t*w-z1D4G7JbMeQhTkWoZr$u(x+B2E5H9KcNfRiUmXp#s&v)y0C3F7IaLdPgSjVnYq$t*w-A1D4G8JbNeQhTlWoZr%u(y+B2E6H9KcOfRiUmXp!s&v)z0C3F7IaMdMdPgSkVnYq$t*x-A1D5G8JbNeQiTlWo#r%u(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNfQiTlXo#r%v(y+B3E6I9LcOgRjUmYp!t&w)z1C4F7JaMePhSkWnZq$u*x+A2D5H8KbNfQiUlXo#s%v(y0B3F6I9LdOgRjVmYq!t&w-z1C4G7JbMePhTkWnZrZr$u(x+A2E5H8KcNfQiUlXp#s%v)y0B3F6IaLdOgSjVmYq!t*w-z1D4G7JbMeQhTkWoZr$u(x+B2E5H9KcNfRiUmXp#s&v)y0C3F7IaLdPgSjVnYq!t*w-A1D4G8J