1014人阅读
HelloX(1)
http://blog.csdn.net/hellochina15/article/details/7253350本文介绍如何在Windows 7操作系统和Virtual PC 2007虚拟机上***Hello China操作系统,Hello China的版本是V1.75。对于Windows XP等非Windows 7操作系统,由于不能直接支持虚拟硬盘,不能按照本文介绍的方法***Hello China的GUI功能,但是可以***内核和基于字符界面的shell。HelloChina在Virtual PC上的启动过程首先介绍一下Hello ChinaV1.75在Virtual PC上的启动过程。为了最大可能的降低***和使用的复杂性,V1.75版本在Virtual PC上是通过虚拟软盘启动的。Hello China的内核和核心驱动程序(比如键盘驱动、鼠标驱动、IDE接口硬盘驱动、文件系统等)等文件都集成在了虚拟软盘中。这样通过虚拟软盘启动计算机,操作系统的核心模块就直接从虚拟软盘中加载到内存并执行。内核初始化完成之后,Hello China会进入字符shell模式,这时候用户就可以运行字符模式命令了。在字符模式下,用户输入GUI命令,即可进入图形模式的shell。一旦用户输入gui命令,Hello China会在硬盘的第一个分区(用C:标识,与Windows类似)的PTHOUSE目录下,寻找hcngui.bin文件,这个文件即是Hello China图形模式模块的可执行二进制文件。一旦找到这个文件,Hello China内核就会把它读入内存,然后运行该模块。因此要在虚拟机上支持图形模式,则必须创建一个虚拟硬盘,并分区和格式化。完成后在其第一个分区上创建PTHOUSE目录,把hcngui.bin等文件拷贝到该目录上就可以了。GUI模块创建图形shell线程和其它图像模式的核心线程,然后初始化***在Hello China上的应用程序。所谓初始化应用程序,指的是GUI模块读取所有应用程序的特征数据,比如应用程序名字,应用程序的图标,等等,然后把所有这些应用程序显示在图形界面的主窗口上。最终的启动结果如下:&其中左边部分就是图形界面主窗口,里面列举出了所有已***在Hello China上的应用程序。一旦用户用鼠标点击某个应用程序,该程序就会被运行。在Hello China V1.75的实现中,所有应用程序都是***(实际上就是拷贝)在硬盘第一个分区(C:分区)的HCGUIAPP目录下。在GUI模块的初始化过程中,会读取该目录下的所有文件,一旦发现一个合法的应用程序,则就会进一步读取其特性数据,比如名称(上图中的显示名称)、图标等,然后加载到主窗口中。因此,要运行Hello China V1.75的应用程序,还必须在硬盘的第一个分区上创建一个HCGUIAPP目录,然后把所有应用程序文件拷贝到该目录即可。Hello China V1.75应用程序就是一个后缀是HCX(Hello China eXecutable)的文件,该文件包含了应用程序的可执行二进制代码、应用程序的图标、应用程序的名称和版本等信息。HCX文件是由一个叫做hcxbuild(随Hello China V1.75的SDK一起发行)的程序构建的,具体构建方法,请参考下一个章节。总结起来,在Virtual PC上***Hello China,需完成下列工作:1、&&&&&&&&创建虚拟软盘文件,用于引导Hello China;2、&&&&&&&&创建一个虚拟硬盘,并至少创建一个分区,格式化该分区(建议格式化为NTFS)。Hello China会自动把分区的分区标识设置为C:;3、&&&&&&&&在C:分区上创建PTHOUSE和HCGUIAPP两个目录,把Hello China的外围模块(比如GUI模块)拷贝到PTHOUSE目录下,把应用程序(HCX文件)拷贝到HCGUIAPP目录下。这样即可启动Hello China了。Windows 7操作系统添加了对虚拟硬盘的支持,这样就使得上述过程变得非常简单,下面进行详细说明。HelloChina V1.75***包说明Hello China***包中包含了***需要的所有文件和辅助工具,主要有:1、&&&&&&&&虚拟软驱文件(vfloppy.vfd)文件;2、&&&&&&&&Hello China的内核模块;3、&&&&&&&&Hello China的外围模块,比如GUI模块等;4、&&&&&&&&一些应用程序文件;5、&&&&&&&&相关辅助工具。针对Virtual PC的***包,放在bin/VirtualPC目录下。下面在介绍***步骤的时候,会对上述文件的使用进行说明。步骤一:下载和***Virtual PC 2007Virtual PC 2007(以上版本也可)可从Microsoft的官方网站上下载,具体可在google上搜索Virtual PC 2007,找到Microsoft网站上的具体链接,点击下载即可。该软件完全免费,也无需注册。而且根据作者的经验,下载速度也非常快。下载后双击即可***,无需做特殊设置,采用其默认***设置即可。步骤二:创建一个虚拟机这个步骤也简单,运行步骤一中***的VirtualPC,在Virtual PC的控制台中点击“New…”菜单,即可启动一个虚拟机的创建过程。假设创建的虚拟机名字是“Hello China”,无需做特殊设置,采用默认设置即可。但是在创建虚拟硬盘一步时,选择“A new hard disk”,如下:&在下一步中,指定虚拟硬盘的存放位置(可采用缺省位置)即可。对于虚拟硬盘的尺寸,可以直接使用缺省尺寸,也可以指定一个尺寸。若指定尺寸,建议至少在256M以上。最后点击finish按钮,即可完成虚拟机的创建。对于非Windows 7操作系统,由于不能直接支持虚拟硬盘的创建和操作,因此下列介绍的步骤三、四、五不能适用。读者可直接跳到步骤六,完成基于字符界面的Hello China的***。步骤三:对虚拟硬盘进行分区并格式化Windows 7已经支持虚拟硬盘功能。在“我的电脑”上点击右键,点击“管理”菜单,启动windows计算机管理工具。在计算机管理工具上,点击左边导航树中“磁盘管理”选项,出现磁盘管理界面。点击右面面板的“更多操作”菜单,可出现虚拟硬盘操作菜单。进一步选择“附加VHD”菜单,在显示的对话框中,选择步骤三中创建的虚拟硬盘文件,点击确定即可。这时候windows的磁盘管理器就会把这个虚拟硬盘挂接到磁盘管理界面上了,比如下图中:&其中“磁盘2”就是刚刚挂接的虚拟硬盘。在上图中“没有初始化“位置处点击右键,在弹出的菜单中选择”初始化硬盘“,采用默认设置初始化该硬盘即可。所谓初始化,指的是操作系统会建立这个硬盘的MBR扇区,并写入相关数据。需要注意的是,虚拟硬盘刚刚创建完成时,是没有任何数据的。要使这个虚拟硬盘可用,必须对之进行初始化。初始化完成之后,只是写入了MBR扇区,但是具体分区操作还没有完成。这时候可在初始化后的磁盘上,点击鼠标右键,在出现的菜单中,选择“新建简单卷…“,采用默认设置,即可完成虚拟硬盘的分区和格式化工作。完成格式化后,虚拟硬盘就可用了。可以看到,系统会增加一个新的盘符,这时就可以像使用普通硬盘一样使用虚拟硬盘了。假设windows 7为新增加的虚拟硬盘分配的盘符是J:,本文后续部分将会以J:为标识引用该虚拟硬盘。步骤四:准备Hello China V1.75***目录把Hello China软件包中bin目录下的VirtualPC目录,拷贝到任意一个本地硬盘(注意,这里不是虚拟硬盘)上,然后把VirtualPC目录下的install目录,在拷贝到虚拟硬盘上(即J:盘)。步骤五:在虚拟硬盘上***Hello China进入J:盘的install目录,运行batch.bat文件,即可完成Hello China在虚拟硬盘J上的***。Batch.bat文件主要是创建了HCGUIAPP和PTHOUSE两个目录,然后把相关文件拷贝到了这两个目录下。同时也拷贝了一些相关文件到J盘的根目录下。下列是成功***后J:盘的内容:&其中PTHOUSE目录中存放的是HelloChina的外围功能模块,比如GUI模块、网络模块等。而HCGUIAPP目录中存放的是基于GUI模块的HelloChina应用程序,即HCX文件。步骤六:将虚拟软驱与虚拟机进行关联由于Hello China是使用虚拟软盘启动虚拟机的,最后一步就是把虚拟软盘文件(vfloppy.vfd)与虚拟机进行关联,该文件在VirtualPC目录下。在Virtual PC的控制台中,双击步骤二中创建的虚拟机,启动之。由于没有可启动设备,虚拟机无法正常启动。使用鼠标拖住vfloppy.vfd文件,拖到虚拟机窗口下面的软驱图标上,这时候就实现了虚拟软驱与虚拟机的关联。重新启动虚拟机,正常情况下应该可进入HelloChina的字符模式了。步骤七:验证Hello China是否成功***完成上述步骤之后,虚拟机应该可以正常启动,并进入Hello China的字符操作界面了。在字符界面下执行help命令,可看到一些帮助信息。运行version命令,可看到Hello China的版本信息,如下:&在字符模式下,运行fs命令,进入文件系统操作程序。执行fslist,应该可以看到C:分区,如下:输入“exit“,退出fs程序,然后输入gui命令,即可进入图形模式,显示所有图形应用程序。点击任何一个应用程序即可运行,比如点击”CPI统计“程序,运行结果如下:在图形模式下,输入“ctrl+alt+del“组合键(虚拟机下,可点击Action菜单,选择该组合键),即可退到字符模式。Hello China V1.75测试版源代码和***文件,可从下列链接下载:任何技术问题,欢迎加入QQ群: 进行讨论。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1019022次
积分:17571
积分:17571
排名:第367名
原创:716篇
转载:39篇
评论:95条饮水思源 - ITNews精华区文章阅读
---====== ※精华区索引※ [更新时间:日04:33:17 星期二] ======---
│├┬ [34]
││├→ [34]
││├┬ [2]
│││└→
││├┬ [1]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [1]
│││├→
│││└→
││├┬ [1]
│││├→
│││└→
││├┬ [4]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [3]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [1]
│││├→
│││└→
││├┬ [2]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [2]
│││├┬ [4]
││││├→
││││├→
││││├→
││││├→
││││├→
││││└→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [1]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [1]
│││├→
│││├→
│││├→
│││└→
││├┬ [5]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [2]
│││└→
││├┬ [3]
│││├→
│││├→
│││└→
││├┬ [1]
│││├→
│││└→
││├┬ [1]
│││└→
││├┬ [3]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [1]
│││├→
│││└→
││├┬ [1]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [3]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [1]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [1]
│││└→
││├┬ [1]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [7]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [1]
│││├→
│││├→
│││├→
│││└→
││├┬ [2]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [1]
│││├→
│││├→
│││├→
│││└→
││├┬ [1]
│││└→
││├┬ [1]
│││├→
│││└→
││├┬ [1]
│││├→
│││├→
│││└→
││├┬ [1]
│││└→
││├┬ [1]
│││├→
│││└→
││├┬ [1]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [1]
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [3]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [1]
│││├→
│││├→
│││├→
│││└→
││├┬ [1]
│││├→
│││├→
│││└→
││├┬ [1]
│││├→
│││├→
│││└→
││├┬ [3]
│││├→
│││└→
││├┬ [1]
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [1]
│││└→
││├┬ [1]
│││└→
││├┬ [1]
│││└→
││├┬ [1]
│││└→
││├┬ [1]
│││├→
│││├→
│││└→
││├┬ [1]
│││├→
│││└→
││└┬ [1]
│├┬ [16]
││├┬ [3]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [5]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [3]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [3]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [1]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [1]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [1]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [1]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [1]
│││└→
││├┬ [1]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [3]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [4]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├→ [4]
││├┬ [2]
│││└→
││├┬ [2]
│││├→
│││└→
││├┬ [3]
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [2]
│││├→
│││├→
│││├→
│││└→
││└┬ [2]
│├┬ [16]
││├┬ [6]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [3]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [3]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [2]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [3]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [2]
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [3]
│││├→
│││├→
│││└→
││├┬ [2]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [2]
│││└→
││├┬ [4]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [3]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [3]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├→ [3]
││├┬ [1]
│││└→
││└┬ [3]
│├┬ [25]
││├┬ [3]
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [5]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [3]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [3]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [3]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [3]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [4]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [3]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [1]
│││├→
│││├→
│││├→
│││└→
││├┬ [4]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [10]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [5]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├→ [5]
││├┬ [2]
│││└→
││├┬ [1]
│││└→
││├┬ [1]
│││├→
│││├→
│││└→
││├┬ [2]
│││└→
││├┬ [1]
│││└→
││└┬ [2]
│├┬ [9]
││├┬ [2]
│││├→
│││├→
│││└→
││├→ [2]
││├┬ [2]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [2]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├→ [1]
││├┬ [1]
│││├→
│││├→
│││├→
│││└→
││├┬ [1]
│││├→
│││├→
│││├→
│││├→
│││└→
││├→ [1]
││├┬ [1]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [2]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [2]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├→ [2]
││└┬ [1]
│├┬ [6]
││├┬ [6]
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [6]
│││├→
│││├→
│││├→
│││└→
││├┬ [1]
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [1]
│││├→
│││└→
││├┬ [2]
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [2]
│││├→
│││├→
│││├→
│││└→
││├┬ [2]
│││├→
│││├→
│││└→
││├┬ [2]
│││├→
│││├→
│││└→
││├→ [2]
││├┬ [2]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [2]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [1]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├→ [1]
││├┬ [1]
│││├→
│││├→
│││└→
││└┬ [1]
│├┬ [8]
││├┬ [2]
│││├→
│││├→
│││├→
│││└→
││├┬ [1]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [1]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [3]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [2]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [1]
│││├→
│││├→
│││├→
│││└→
││├┬ [1]
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [1]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├→ [1]
││├┬ [1]
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [2]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [1]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├→ [1]
││└┬ [1]
│├┬ [3]
│└┬ [9]
│├┬ [23]
│├┬ [5]
││├┬ [2]
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├→ [2]
││├┬ [1]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [3]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││├┬ [1]
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││├→
│││└→
││└→ [1]
│└┬ [10]
│├┬ [8]
│├┬ [3]
│├┬ [7]
│├┬ [4]
│├┬ [2]
│├┬ [2]
│├┬ [2]
│├┬ [1]
│├┬ [2]
│├┬ [1]
│├┬ [2]
│├┬ [2]
│├┬ [2]
│├┬ [2]
│├┬ [2]
│├┬ [1]
│├┬ [1]
│├┬ [1]
│├┬ [1]
│├┬ [1]
│├┬ [1]
│└┬ [1]
│└┬ [5]
│├┬ [9]
│└┬ [2]