summaryrefslogtreecommitdiff
path: root/stoc/test
ModeNameSize
d---------excomp306logplain
d---------javavm243logplain
-rw-r--r--language_binding.idl6809logplain
-rw-r--r--makefile.mk8005logplain
-rw-r--r--mergekeys_.cxx1356logplain
d---------registry_tdprovider281logplain
d---------security233logplain
d---------tdmanager517logplain
-rw-r--r--testconv.cxx34204logplain
-rw-r--r--testcorefl.cxx24488logplain
-rw-r--r--testcorefl.idl2988logplain
-rw-r--r--testiadapter.cxx52330logplain
-rw-r--r--testintrosp.cxx62653logplain
-rw-r--r--testintrosp.idl7310logplain
-rw-r--r--testloader.cxx4340logplain
-rw-r--r--testproxyfac.cxx13292logplain
-rw-r--r--testregistry.cxx29536logplain
-rw-r--r--testsmgr.cxx2961logplain
-rw-r--r--testsmgr2.cxx4379logplain
-rw-r--r--testsmgr_cpnt.cxx17806logplain
-rw-r--r--testsmgr_cpnt.map179logplain
d---------uriproc122logplain
'>test/user-template/user/autocorr/acor_sr-RS.datbin0 -> 1683 bytes-rw-r--r--test/user-template/user/autocorr/acor_sr-YU.datbin0 -> 1683 bytes-rw-r--r--test/user-template/user/autocorr/acor_sv-SE.datbin0 -> 15453 bytes-rw-r--r--test/user-template/user/autocorr/acor_tr-TR.datbin0 -> 16444 bytes-rw-r--r--test/user-template/user/autocorr/acor_vi-VN.datbin0 -> 77337 bytes-rw-r--r--test/user-template/user/autocorr/acor_zh-CN.datbin0 -> 14211 bytes-rw-r--r--test/user-template/user/autocorr/acor_zh-TW.datbin0 -> 14211 bytes-rw-r--r--test/user-template/user/autotext/en-US/crdbus50.baubin0 -> 29311 bytes-rw-r--r--test/user-template/user/autotext/en-US/standard.baubin0 -> 64398 bytes-rw-r--r--test/user-template/user/autotext/en-US/template.baubin0 -> 45671 bytes-rw-r--r--test/user-template/user/basic/Depot/CommonLang.xba351
-rw-r--r--test/user-template/user/basic/Depot/Currency.xba178
-rw-r--r--test/user-template/user/basic/Depot/Depot.xba500
-rw-r--r--test/user-template/user/basic/Depot/Dialog2.xdl36
-rw-r--r--test/user-template/user/basic/Depot/Dialog3.xdl45
-rw-r--r--test/user-template/user/basic/Depot/Dialog4.xdl17
-rw-r--r--test/user-template/user/basic/Depot/Internet.xba339
-rw-r--r--test/user-template/user/basic/Depot/Lang_de.xba158
-rw-r--r--test/user-template/user/basic/Depot/Lang_en.xba158
-rw-r--r--test/user-template/user/basic/Depot/Lang_es.xba158
-rw-r--r--test/user-template/user/basic/Depot/Lang_fr.xba158
-rw-r--r--test/user-template/user/basic/Depot/Lang_it.xba158
-rw-r--r--test/user-template/user/basic/Depot/Lang_ja.xba158
-rw-r--r--test/user-template/user/basic/Depot/Lang_ko.xba158
-rw-r--r--test/user-template/user/basic/Depot/Lang_sv.xba157
-rw-r--r--test/user-template/user/basic/Depot/Lang_tw.xba158
-rw-r--r--test/user-template/user/basic/Depot/Lang_zh.xba158
-rw-r--r--test/user-template/user/basic/Depot/dialog.xlb7
-rw-r--r--test/user-template/user/basic/Depot/script.xlb19
-rw-r--r--test/user-template/user/basic/Depot/tools.xba200
-rw-r--r--test/user-template/user/basic/Euro/AutoPilotRun.xba414
-rw-r--r--test/user-template/user/basic/Euro/Common.xba272
-rw-r--r--test/user-template/user/basic/Euro/ConvertRun.xba317
-rw-r--r--test/user-template/user/basic/Euro/DlgConvert.xdl77
-rw-r--r--test/user-template/user/basic/Euro/DlgPassword.xdl15
-rw-r--r--test/user-template/user/basic/Euro/Hard.xba229
-rw-r--r--test/user-template/user/basic/Euro/Init.xba620
-rw-r--r--test/user-template/user/basic/Euro/Protect.xba175
-rw-r--r--test/user-template/user/basic/Euro/Soft.xba239
-rw-r--r--test/user-template/user/basic/Euro/Writer.xba72
-rw-r--r--test/user-template/user/basic/Euro/dialog.xlb6
-rw-r--r--test/user-template/user/basic/Euro/script.xlb12
-rw-r--r--test/user-template/user/basic/FormWizard/DBMeta.xba330
-rw-r--r--test/user-template/user/basic/FormWizard/DlgFormDB.xdl102
-rw-r--r--test/user-template/user/basic/FormWizard/FormWizard.xba427
-rw-r--r--test/user-template/user/basic/FormWizard/Language.xba285
-rw-r--r--test/user-template/user/basic/FormWizard/Layouter.xba380
-rw-r--r--test/user-template/user/basic/FormWizard/develop.xba533
-rw-r--r--test/user-template/user/basic/FormWizard/dialog.xlb5
-rw-r--r--test/user-template/user/basic/FormWizard/script.xlb10
-rw-r--r--test/user-template/user/basic/FormWizard/tools.xba349
-rw-r--r--test/user-template/user/basic/Gimmicks/AutoText.xba97
-rw-r--r--test/user-template/user/basic/Gimmicks/ChangeAllChars.xba75
-rw-r--r--test/user-template/user/basic/Gimmicks/GetTexts.xba522
-rw-r--r--test/user-template/user/basic/Gimmicks/ReadDir.xba305
-rw-r--r--test/user-template/user/basic/Gimmicks/ReadFolderDlg.xdl22
-rw-r--r--test/user-template/user/basic/Gimmicks/UserfieldDlg.xdl49
-rw-r--r--test/user-template/user/basic/Gimmicks/Userfields.xba219
-rw-r--r--test/user-template/user/basic/Gimmicks/dialog.xlb6
-rw-r--r--test/user-template/user/basic/Gimmicks/script.xlb9
-rw-r--r--test/user-template/user/basic/ImportWizard/API.xba208
-rw-r--r--test/user-template/user/basic/ImportWizard/DialogModul.xba656
-rw-r--r--test/user-template/user/basic/ImportWizard/FilesModul.xba825
-rw-r--r--test/user-template/user/basic/ImportWizard/ImportDialog.xdl95
-rw-r--r--test/user-template/user/basic/ImportWizard/Language.xba156
-rw-r--r--test/user-template/user/basic/ImportWizard/Main.xba301
-rw-r--r--test/user-template/user/basic/ImportWizard/dialog.xlb5
-rw-r--r--test/user-template/user/basic/ImportWizard/script.xlb9
-rw-r--r--test/user-template/user/basic/Schedule/BankHoliday.xba177
-rw-r--r--test/user-template/user/basic/Schedule/CalendarMain.xba302
-rw-r--r--test/user-template/user/basic/Schedule/CreateTable.xba133
-rw-r--r--test/user-template/user/basic/Schedule/DlgCalendar.xdl64
-rw-r--r--test/user-template/user/basic/Schedule/DlgControl.xba148
-rw-r--r--test/user-template/user/basic/Schedule/GermanHolidays.xba132
-rw-r--r--test/user-template/user/basic/Schedule/Language.xba95
-rw-r--r--test/user-template/user/basic/Schedule/LocalHolidays.xba642
-rw-r--r--test/user-template/user/basic/Schedule/OwnEvents.xba217
-rw-r--r--test/user-template/user/basic/Schedule/dialog.xlb5
-rw-r--r--test/user-template/user/basic/Schedule/script.xlb12
-rw-r--r--test/user-template/user/basic/ScriptBindingLibrary/Highlight.xdl14
-rw-r--r--test/user-template/user/basic/ScriptBindingLibrary/dialog.xlb6
-rw-r--r--test/user-template/user/basic/ScriptBindingLibrary/script.xlb4
-rw-r--r--test/user-template/user/basic/Template/Autotext.xba173
-rw-r--r--test/user-template/user/basic/Template/Correspondence.xba286
-rw-r--r--test/user-template/user/basic/Template/DialogStyles.xdl15
-rw-r--r--test/user-template/user/basic/Template/ModuleAgenda.xba203
-rw-r--r--test/user-template/user/basic/Template/Samples.xba185
-rw-r--r--test/user-template/user/basic/Template/TemplateDialog.xdl29
-rw-r--r--test/user-template/user/basic/Template/dialog.xlb7
-rw-r--r--test/user-template/user/basic/Template/script.xlb8
-rw-r--r--test/user-template/user/basic/Tools/Debug.xba236
-rw-r--r--test/user-template/user/basic/Tools/DlgOverwriteAll.xdl17
-rw-r--r--test/user-template/user/basic/Tools/Listbox.xba353
-rw-r--r--test/user-template/user/basic/Tools/Misc.xba821
-rw-r--r--test/user-template/user/basic/Tools/ModuleControls.xba370
-rw-r--r--test/user-template/user/basic/Tools/Strings.xba452
-rw-r--r--test/user-template/user/basic/Tools/UCB.xba294
-rw-r--r--test/user-template/user/basic/Tools/dialog.xlb5
-rw-r--r--test/user-template/user/basic/Tools/script.xlb10
-rw-r--r--test/user-template/user/basic/Tutorials/Functions.xba368
-rw-r--r--test/user-template/user/basic/Tutorials/RoadMap.xba117
-rw-r--r--test/user-template/user/basic/Tutorials/ShowInfoDialog.xba305
-rw-r--r--test/user-template/user/basic/Tutorials/TutorialClose.xba15
-rw-r--r--test/user-template/user/basic/Tutorials/TutorialCloseDialog.xdl14
-rw-r--r--test/user-template/user/basic/Tutorials/TutorialCreator.xba10
-rw-r--r--test/user-template/user/basic/Tutorials/TutorialOpen.xba96
-rw-r--r--test/user-template/user/basic/Tutorials/TutorialOpenDialog.xdl21
-rw-r--r--test/user-template/user/basic/Tutorials/TutorialsDialog.xdl26
-rw-r--r--test/user-template/user/basic/Tutorials/dialog.xlb7
-rw-r--r--test/user-template/user/basic/Tutorials/script.xlb10
-rw-r--r--test/user-template/user/basic/dialog.xlc13
-rw-r--r--test/user-template/user/basic/script.xlc13
l---------test/user-template/user/config/images.zip1
l---------test/user-template/user/config/images_crystal.zip1
l---------test/user-template/user/config/images_hicontrast.zip1
l---------test/user-template/user/config/images_oxygen.zip1
l---------test/user-template/user/config/images_tango.zip1
-rw-r--r--test/user-template/user/config/javasettingsunopkginstall.xml3
-rw-r--r--test/user-template/user/config/linked/images.zipbin0 -> 2194265 bytes-rw-r--r--test/user-template/user/config/linked/images_crystal.zipbin0 -> 2641075 bytes-rw-r--r--test/user-template/user/config/linked/images_hicontrast.zipbin0 -> 1315478 bytes-rw-r--r--test/user-template/user/config/linked/images_oxygen.zipbin0 -> 2859422 bytes-rw-r--r--test/user-template/user/config/linked/images_tango.zipbin0 -> 2190232 bytes-rw-r--r--test/user-template/user/config/psetup.xpm31
-rw-r--r--test/user-template/user/config/psetupl.xpm49
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/BasicIDE/menubar/menubar.xml91
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/BasicIDE/statusbar/statusbar.xml10
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/BasicIDE/toolbar/dialogbar.xml9
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/BasicIDE/toolbar/findbar.xml9
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/BasicIDE/toolbar/fullscreenbar.xml5
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/BasicIDE/toolbar/insertcontrolsbar.xml43
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/BasicIDE/toolbar/macrobar.xml22
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/BasicIDE/toolbar/standardbar.xml25
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/BasicIDE/toolbar/translationbar.xml6
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/StartModule/menubar/menubar.xml83
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/StartModule/statusbar/statusbar.xml4
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/StartModule/toolbar/standardbar.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbapp/menubar/menubar.xml143
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbapp/statusbar/statusbar.xml8
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbapp/toolbar/formobjectbar.xml8
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbapp/toolbar/queryobjectbar.xml8
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbapp/toolbar/reportobjectbar.xml8
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbapp/toolbar/tableobjectbar.xml8
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbapp/toolbar/toolbar.xml19
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbbrowser/menubar/compat.xml1
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbbrowser/toolbar/toolbar.xml33
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbquery/menubar/menubar.xml84
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbquery/toolbar/designobjectbar.xml10
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbquery/toolbar/sqlobjectbar.xml5
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbquery/toolbar/toolbar.xml20
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbrelation/menubar/menubar.xml67
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbrelation/toolbar/toolbar.xml13
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbreport/menubar/menubar.xml422
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbreport/statusbar/statusbar.xml6
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/Formatting.xml23
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/alignmentbar.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/arrowshapes.xml34
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/basicshapes.xml29
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/calloutshapes.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/drawbar.xml10
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/flowchartshapes.xml36
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/reportcontrols.xml19
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/resizebar.xml9
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/sectionalignmentbar.xml9
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/sectionshrinkbar.xml7
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/starshapes.xml17
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/symbolshapes.xml24
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/toolbar.xml22
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbtable/menubar/menubar.xml68
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbtable/toolbar/toolbar.xml17
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbtdata/menubar/menubar.xml76
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/dbtdata/toolbar/toolbar.xml27
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sbibliography/menubar/menubar.xml92
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/layout/insert-sheet.xml57
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/layout/move-copy-sheet.xml21
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/layout/sort-options.xml40
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/layout/string-input.xml16
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/menubar/menubar.xml456
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/statusbar/statusbar.xml13
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/alignmentbar.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/arrowshapes.xml34
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/basicshapes.xml29
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/calloutshapes.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/colorbar.xml15
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/drawbar.xml34
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/drawobjectbar.xml30
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/extrusionobjectbar.xml16
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/findbar.xml9
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/flowchartshapes.xml36
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/fontworkobjectbar.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/fontworkshapetype.xml38
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/formatobjectbar.xml55
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/formcontrols.xml29
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/formdesign.xml32
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/formsfilterbar.xml7
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/formsnavigationbar.xml33
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/formtextobjectbar.xml28
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/fullscreenbar.xml5
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/graffilterbar.xml17
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/graphicobjectbar.xml32
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/insertbar.xml13
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/insertcellsbar.xml8
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/mediaobjectbar.xml7
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/moreformcontrols.xml20
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/previewbar.xml22
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/standardbar.xml44
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/starshapes.xml17
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/symbolshapes.xml24
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/textobjectbar.xml35
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/toolbar.xml23
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/viewerbar.xml18
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/schart/menubar/menubar.xml156
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/schart/statusbar/statusbar.xml6
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/schart/toolbar/arrowshapes.xml34
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/schart/toolbar/basicshapes.xml29
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/schart/toolbar/calloutshapes.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/schart/toolbar/drawbar.xml20
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/schart/toolbar/flowchartshapes.xml36
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/schart/toolbar/standardbar.xml22
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/schart/toolbar/starshapes.xml17
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/schart/toolbar/symbolshapes.xml24
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/schart/toolbar/toolbar.xml15
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/menubar/menubar.xml331
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/statusbar/statusbar.xml12
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/3dobjectsbar.xml13
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/alignmentbar.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/arrowsbar.xml16
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/arrowshapes.xml34
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/basicshapes.xml29
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/bezierobjectbar.xml20
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/calloutshapes.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/choosemodebar.xml13
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/colorbar.xml15
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/commentsbar.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/connectorsbar.xml35
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/drawingobjectbar.xml21
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/ellipsesbar.xml19
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/extrusionobjectbar.xml16
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/findbar.xml9
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/flowchartshapes.xml36
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/fontworkobjectbar.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/fontworkshapetype.xml38
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/formcontrols.xml26
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/formdesign.xml29
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/formsfilterbar.xml8
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/formsnavigationbar.xml32
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/formtextobjectbar.xml28
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/fullscreenbar.xml5
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/gluepointsobjectbar.xml20
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/graffilterbar.xml17
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/graphicobjectbar.xml17
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/insertbar.xml20
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/linesbar.xml13
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/masterviewtoolbar.xml9
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/mediaobjectbar.xml7
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/moreformcontrols.xml23
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/optimizetablebar.xml6
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/optionsbar.xml25
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/positionbar.xml13
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/rectanglesbar.xml13
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/standardbar.xml37
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/starshapes.xml17
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/symbolshapes.xml24
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/tableobjectbar.xml31
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/textbar.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/textobjectbar.xml40
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/toolbar.xml45
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/viewerbar.xml18
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/zoombar.xml16
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/menubar/menubar.xml459
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/statusbar/statusbar.xml15
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/alignmentbar.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/arrowshapes.xml34
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/basicshapes.xml29
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/bezierobjectbar.xml20
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/calloutshapes.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/colorbar.xml15
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/drawbar.xml34
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/drawingobjectbar.xml40
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/drawtextobjectbar.xml34
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/extrusionobjectbar.xml16
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/findbar.xml9
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/flowchartshapes.xml36
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/fontworkobjectbar.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/fontworkshapetype.xml38
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/formcontrols.xml26
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/formdesign.xml31
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/formsfilterbar.xml8
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/formsnavigationbar.xml32
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/formtextobjectbar.xml28
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/frameobjectbar.xml34
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/fullscreenbar.xml5
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/graffilterbar.xml17
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/graphicobjectbar.xml18
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/insertbar.xml30
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/insertobjectbar.xml7
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/mediaobjectbar.xml7
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/moreformcontrols.xml23
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/numobjectbar.xml23
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/oleobjectbar.xml30
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/optimizetablebar.xml8
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/previewobjectbar.xml24
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/standardbar.xml42
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/starshapes.xml17
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/symbolshapes.xml24
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/tableobjectbar.xml35
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/textobjectbar.xml44
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/toolbar.xml13
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/viewerbar.xml18
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/menubar/menubar.xml307
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/statusbar/statusbar.xml12
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/3dobjectsbar.xml13
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/alignmentbar.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/arrowsbar.xml16
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/arrowshapes.xml34
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/basicshapes.xml29
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/bezierobjectbar.xml20
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/calloutshapes.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/choosemodebar.xml13
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/colorbar.xml15
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/commentsbar.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/commontaskbar.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/connectorsbar.xml35
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/drawingobjectbar.xml21
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/ellipsesbar.xml19
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/extrusionobjectbar.xml16
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/findbar.xml9
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/flowchartshapes.xml36
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/fontworkobjectbar.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/fontworkshapetype.xml38
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/formcontrols.xml26
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/formdesign.xml29
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/formsfilterbar.xml8
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/formsnavigationbar.xml32
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/formtextobjectbar.xml28
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/fullscreenbar.xml5
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/gluepointsobjectbar.xml20
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/graffilterbar.xml17
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/graphicobjectbar.xml17
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/insertbar.xml20
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/linesbar.xml13
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/masterviewtoolbar.xml9
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/mediaobjectbar.xml7
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/moreformcontrols.xml23
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/optimizetablebar.xml6
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/optionsbar.xml25
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/outlinetoolbar.xml13
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/positionbar.xml13
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/rectanglesbar.xml13
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/slideviewobjectbar.xml10
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/slideviewtoolbar.xml7
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/standardbar.xml39
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/starshapes.xml17
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/symbolshapes.xml24
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/tableobjectbar.xml31
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/textbar.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/textobjectbar.xml45
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/toolbar.xml49
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/viewerbar.xml20
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/zoombar.xml16
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/smath/menubar/menubar.xml121
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/smath/statusbar/statusbar.xml8
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/smath/toolbar/fullscreenbar.xml5
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/smath/toolbar/standardbar.xml26
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/smath/toolbar/toolbar.xml12
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/menubar/menubar.xml389
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/statusbar/statusbar.xml14
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/arrowshapes.xml34
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/basicshapes.xml29
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/bezierobjectbar.xml20
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/calloutshapes.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/colorbar.xml17
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/drawingobjectbar.xml39
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/drawtextobjectbar.xml34
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/extrusionobjectbar.xml16
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/findbar.xml9
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/flowchartshapes.xml36
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/fontworkobjectbar.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/fontworkshapetype.xml38
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/formcontrols.xml25
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/formdesign.xml31
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/formsfilterbar.xml8
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/formsnavigationbar.xml32
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/formtextobjectbar.xml28
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/frameobjectbar.xml34
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/fullscreenbar.xml5
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/graffilterbar.xml17
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/graphicobjectbar.xml26
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/insertbar.xml25
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/mediaobjectbar.xml7
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/numobjectbar.xml23
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/oleobjectbar.xml30
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/optimizetablebar.xml8
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/previewobjectbar.xml24
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/standardbar.xml45
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/starshapes.xml17
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/symbolshapes.xml24
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/tableobjectbar.xml35
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/textobjectbar.xml44
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/toolbar.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/viewerbar.xml18
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/menubar/menubar.xml454
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/statusbar/statusbar.xml14
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/alignmentbar.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/arrowshapes.xml34
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/basicshapes.xml29
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/bezierobjectbar.xml20
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/calloutshapes.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/colorbar.xml15
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/drawbar.xml34
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/drawingobjectbar.xml40
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/drawtextobjectbar.xml34
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/extrusionobjectbar.xml16
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/flowchartshapes.xml36
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/fontworkobjectbar.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/fontworkshapetype.xml38
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/formcontrols.xml26
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/formdesign.xml33
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/formsfilterbar.xml8
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/formsnavigationbar.xml33
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/formtextobjectbar.xml28
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/frameobjectbar.xml34
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/fullscreenbar.xml5
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/graffilterbar.xml17
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/graphicobjectbar.xml18
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/insertbar.xml29
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/insertobjectbar.xml7
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/mediaobjectbar.xml7
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/moreformcontrols.xml23
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/numobjectbar.xml23
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/oleobjectbar.xml30
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/optimizetablebar.xml8
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/previewobjectbar.xml24
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/standardbar.xml42
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/starshapes.xml17
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/symbolshapes.xml24
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/tableobjectbar.xml35
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/textobjectbar.xml44
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/toolbar.xml13
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swform/toolbar/viewerbar.xml18
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/menubar/menubar.xml454
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/statusbar/statusbar.xml14
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/alignmentbar.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/arrowshapes.xml34
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/basicshapes.xml29
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/bezierobjectbar.xml20
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/calloutshapes.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/colorbar.xml15
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/drawbar.xml34
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/drawingobjectbar.xml40
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/drawtextobjectbar.xml34
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/extrusionobjectbar.xml16
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/flowchartshapes.xml36
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/fontworkobjectbar.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/fontworkshapetype.xml38
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/formcontrols.xml26
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/formdesign.xml34
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/formsfilterbar.xml8
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/formsnavigationbar.xml32
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/formtextobjectbar.xml28
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/frameobjectbar.xml34
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/fullscreenbar.xml5
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/graffilterbar.xml17
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/graphicobjectbar.xml18
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/insertbar.xml29
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/insertobjectbar.xml7
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/mediaobjectbar.xml7
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/moreformcontrols.xml23
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/numobjectbar.xml23
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/oleobjectbar.xml30
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/optimizetablebar.xml8
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/previewobjectbar.xml24
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/standardbar.xml42
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/starshapes.xml17
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/symbolshapes.xml24
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/tableobjectbar.xml35
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/textobjectbar.xml44
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/toolbar.xml13
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/viewerbar.xml18
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/menubar/menubar.xml463
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/statusbar/statusbar.xml15
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/alignmentbar.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/arrowshapes.xml34
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/basicshapes.xml29
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/bezierobjectbar.xml20
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/calloutshapes.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/colorbar.xml15
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/drawbar.xml34
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/drawingobjectbar.xml40
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/drawtextobjectbar.xml34
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/extrusionobjectbar.xml16
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/findbar.xml9
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/flowchartshapes.xml36
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/fontworkobjectbar.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/fontworkshapetype.xml38
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/formcontrols.xml26
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/formdesign.xml33
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/formsfilterbar.xml8
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/formsnavigationbar.xml33
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/formtextobjectbar.xml28
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/frameobjectbar.xml34
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/fullscreenbar.xml5
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/graffilterbar.xml17
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/graphicobjectbar.xml18
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/insertbar.xml31
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/mediaobjectbar.xml7
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/moreformcontrols.xml23
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/navigationobjectbar.xml6
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/numobjectbar.xml23
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/oleobjectbar.xml30
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/optimizetablebar.xml8
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/previewobjectbar.xml24
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/standardbar.xml42
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/starshapes.xml17
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/symbolshapes.xml24
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/tableobjectbar.xml35
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/textobjectbar.xml44
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/toolbar.xml13
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/viewerbar.xml18
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/menubar/menubar.xml455
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/statusbar/statusbar.xml15
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/alignmentbar.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/arrowshapes.xml34
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/basicshapes.xml29
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/bezierobjectbar.xml20
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/calloutshapes.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/colorbar.xml15
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/drawbar.xml34
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/drawingobjectbar.xml40
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/drawtextobjectbar.xml34
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/extrusionobjectbar.xml16
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/findbar.xml9
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/flowchartshapes.xml36
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/fontworkobjectbar.xml11
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/fontworkshapetype.xml38
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/formcontrols.xml23
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/formdesign.xml33
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/formsfilterbar.xml8
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/formsnavigationbar.xml33
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/formtextobjectbar.xml28
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/frameobjectbar.xml34
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/fullscreenbar.xml5
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/graffilterbar.xml17
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/graphicobjectbar.xml18
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/insertbar.xml29
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/insertobjectbar.xml7
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/mediaobjectbar.xml7
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/moreformcontrols.xml12
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/numobjectbar.xml23
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/oleobjectbar.xml30
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/optimizetablebar.xml8
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/previewobjectbar.xml24
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/standardbar.xml42
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/starshapes.xml17
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/symbolshapes.xml24
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/tableobjectbar.xml35
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/textobjectbar.xml44
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/toolbar.xml13
-rw-r--r--test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/viewerbar.xml18
-rw-r--r--test/user-template/user/config/soffice.cfg/simpress/effects.xml2630
-rw-r--r--test/user-template/user/config/soffice.cfg/simpress/transitions-ogl.xml48
-rw-r--r--test/user-template/user/config/soffice.cfg/simpress/transitions.xml225
-rw-r--r--test/user-template/user/config/symbol/l_2people.bmpbin0 -> 2136 bytes-rw-r--r--test/user-template/user/config/symbol/l_attention1.bmpbin0 -> 2136 bytes-rw-r--r--test/user-template/user/config/symbol/l_attention2.bmpbin0 -> 2136 bytes-rw-r--r--test/user-template/user/config/symbol/l_attention3.bmpbin0 -> 2136 bytes-rw-r--r--test/user-template/user/config/symbol/l_candy.bmpbin0 -> 2136 bytes-rw-r--r--test/user-template/user/config/symbol/l_face.bmpbin0 -> 2136 bytes-rw-r--r--test/user-template/user/config/symbol/l_flower.bmpbin0 -> 2136 bytes-rw-r--r--test/user-template/user/config/symbol/l_ghost.bmpbin0 -> 2136 bytes-rw-r--r--test/user-template/user/config/symbol/l_halloween.bmpbin0 -> 2136 bytes-rw-r--r--test/user-template/user/config/symbol/l_home.bmpbin0 -> 2136 bytes-rw-r--r--test/user-template/user/config/symbol/l_lamp.bmpbin0 -> 2136 bytes-rw-r--r--test/user-template/user/config/symbol/l_lock.bmpbin0 -> 2136 bytes-rw-r--r--test/user-template/user/config/symbol/l_page_b.bmpbin0 -> 2136 bytes-rw-r--r--test/user-template/user/config/symbol/l_page_g.bmpbin0 -> 2136 bytes-rw-r--r--test/user-template/user/config/symbol/l_page_y.bmpbin0 -> 2136 bytes-rw-r--r--test/user-template/user/config/symbol/l_people.bmpbin0 -> 2136 bytes-rw-r--r--test/user-template/user/config/symbol/l_rose.bmpbin0 -> 2136 bytes-rw-r--r--test/user-template/user/config/symbol/l_save.bmpbin0 -> 2136 bytes-rw-r--r--test/user-template/user/config/symbol/l_smiley_1.bmpbin0 -> 2136 bytes-rw-r--r--test/user-template/user/config/symbol/l_smiley_oh.bmpbin0 -> 2136 bytes-rw-r--r--test/user-template/user/config/symbol/l_smiley_sad.bmpbin0 -> 2136 bytes-rw-r--r--test/user-template/user/config/symbol/l_snow.bmpbin0 -> 2136 bytes-rw-r--r--test/user-template/user/config/symbol/l_star.bmpbin0 -> 2136 bytes-rw-r--r--test/user-template/user/config/symbol/s_arrow-1.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_arrow-2.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_arrow-3.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_arrow-4.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_attention1.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_attention2.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_attention3.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_ball-b.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_ball-g.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_ball-r.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_ball.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_bug.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_clover.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_egg.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_face.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_flower.bmpbin0 -> 344 bytes-rw-r--r--test/user-template/user/config/symbol/s_ghost.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_group.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_halloween.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_heart.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_home.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_lock.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_ok-g.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_ok-r.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_ok.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_page_b.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_page_g.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_page_y.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_pen-b.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_pen-g.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_pen-r.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_people.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_smily_1.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_smily_oh.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_smily_sad.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_snow.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_star.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_team.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_x-g.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_x-r.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/symbol/s_x.bmpbin0 -> 824 bytes-rw-r--r--test/user-template/user/config/webcast/common.inc110
-rw-r--r--test/user-template/user/config/webcast/common.pl48
-rw-r--r--test/user-template/user/config/webcast/edit.asp9
-rw-r--r--test/user-template/user/config/webcast/edit.pl18
-rw-r--r--test/user-template/user/config/webcast/editpic.asp58
-rw-r--r--test/user-template/user/config/webcast/editpic.pl40
-rw-r--r--test/user-template/user/config/webcast/index.pl17
-rw-r--r--test/user-template/user/config/webcast/poll.asp36
-rw-r--r--test/user-template/user/config/webcast/poll.pl32
-rw-r--r--test/user-template/user/config/webcast/savepic.asp39
-rw-r--r--test/user-template/user/config/webcast/savepic.pl41
-rw-r--r--test/user-template/user/config/webcast/show.asp42
-rw-r--r--test/user-template/user/config/webcast/show.pl39
-rw-r--r--test/user-template/user/config/webcast/webcast.asp28
-rw-r--r--test/user-template/user/config/webcast/webcast.pl21
-rw-r--r--test/user-template/user/config/wizard/form/styles/beige.css79
-rw-r--r--test/user-template/user/config/wizard/form/styles/bgr.css79
-rw-r--r--test/user-template/user/config/wizard/form/styles/dark.css79
-rw-r--r--test/user-template/user/config/wizard/form/styles/grey.css79
-rw-r--r--test/user-template/user/config/wizard/form/styles/ibg.css79
-rw-r--r--test/user-template/user/config/wizard/form/styles/ice.css79
-rw-r--r--test/user-template/user/config/wizard/form/styles/orange.css79
-rw-r--r--test/user-template/user/config/wizard/form/styles/red.css79
-rw-r--r--test/user-template/user/config/wizard/form/styles/violet.css79
-rw-r--r--test/user-template/user/config/wizard/form/styles/water.css79
-rw-r--r--test/user-template/user/config/wizard/web/buttons/glas-blue.zipbin0 -> 22010 bytes-rw-r--r--test/user-template/user/config/wizard/web/buttons/glas-green.zipbin0 -> 25032 bytes-rw-r--r--test/user-template/user/config/wizard/web/buttons/glas-red.zipbin0 -> 24325 bytes-rw-r--r--test/user-template/user/config/wizard/web/buttons/round-gorilla.zipbin0 -> 19208 bytes-rw-r--r--test/user-template/user/config/wizard/web/buttons/round-white.zipbin0 -> 10533 bytes-rw-r--r--test/user-template/user/config/wizard/web/buttons/simple.zipbin0 -> 4046 bytes-rw-r--r--test/user-template/user/config/wizard/web/buttons/square-blue.zipbin0 -> 15123 bytes-rw-r--r--test/user-template/user/config/wizard/web/buttons/square-gray.zipbin0 -> 8919 bytes-rw-r--r--test/user-template/user/config/wizard/web/buttons/square-green.zipbin0 -> 15750 bytes-rw-r--r--test/user-template/user/config/wizard/web/buttons/square-red.zipbin0 -> 15319 bytes-rw-r--r--test/user-template/user/config/wizard/web/buttons/square-yellow.zipbin0 -> 15185 bytes-rw-r--r--test/user-template/user/config/wizard/web/images/calc.gifbin0 -> 961 bytes-rw-r--r--test/user-template/user/config/wizard/web/images/draw.gifbin0 -> 1425 bytes-rw-r--r--test/user-template/user/config/wizard/web/images/fls.gifbin0 -> 1488 bytes-rw-r--r--test/user-template/user/config/wizard/web/images/graphics.gifbin0 -> 1533 bytes-rw-r--r--test/user-template/user/config/wizard/web/images/html.gifbin0 -> 1366 bytes-rw-r--r--test/user-template/user/config/wizard/web/images/impress.gifbin0 -> 1391 bytes-rw-r--r--test/user-template/user/config/wizard/web/images/media.gifbin0 -> 1407 bytes-rw-r--r--test/user-template/user/config/wizard/web/images/other.gifbin0 -> 1356 bytes-rw-r--r--test/user-template/user/config/wizard/web/images/pdf.gifbin0 -> 1485 bytes-rw-r--r--test/user-template/user/config/wizard/web/images/writer.gifbin0 -> 1353 bytes-rw-r--r--test/user-template/user/config/wizard/web/layouts/diagonal/index.html.xsl104
-rw-r--r--test/user-template/user/config/wizard/web/layouts/frame_bottom/index.html.xsl71
-rw-r--r--test/user-template/user/config/wizard/web/layouts/frame_bottom/mainframe.html7
-rw-r--r--test/user-template/user/config/wizard/web/layouts/frame_bottom/tocframe.html.xsl100
-rw-r--r--test/user-template/user/config/wizard/web/layouts/frame_left/index.html.xsl71
-rw-r--r--test/user-template/user/config/wizard/web/layouts/frame_left/mainframe.html7
-rw-r--r--test/user-template/user/config/wizard/web/layouts/frame_left/tocframe.html.xsl96
-rw-r--r--test/user-template/user/config/wizard/web/layouts/frame_right/index.html.xsl71
-rw-r--r--test/user-template/user/config/wizard/web/layouts/frame_right/mainframe.html7
-rw-r--r--test/user-template/user/config/wizard/web/layouts/frame_right/tocframe.html.xsl99
-rw-r--r--test/user-template/user/config/wizard/web/layouts/frame_top/index.html.xsl71
-rw-r--r--test/user-template/user/config/wizard/web/layouts/frame_top/mainframe.html7
-rw-r--r--test/user-template/user/config/wizard/web/layouts/frame_top/tocframe.html.xsl99
-rw-r--r--test/user-template/user/config/wizard/web/layouts/layout.xsl204
-rw-r--r--test/user-template/user/config/wizard/web/layouts/layoutF.xsl122
-rw-r--r--test/user-template/user/config/wizard/web/layouts/layoutX.xsl291
-rw-r--r--test/user-template/user/config/wizard/web/layouts/simple/index.html.xsl131
-rw-r--r--test/user-template/user/config/wizard/web/layouts/source.xml.xsl55
-rw-r--r--test/user-template/user/config/wizard/web/layouts/table_2/index.html.xsl185
-rw-r--r--test/user-template/user/config/wizard/web/layouts/table_3/index.html.xsl191
-rw-r--r--test/user-template/user/config/wizard/web/layouts/zigzag/index.html.xsl190
-rw-r--r--test/user-template/user/config/wizard/web/preview.html41
-rw-r--r--test/user-template/user/config/wizard/web/styles/beige.css79
-rw-r--r--test/user-template/user/config/wizard/web/styles/bg.css79
-rw-r--r--test/user-template/user/config/wizard/web/styles/bgr.css79
-rw-r--r--test/user-template/user/config/wizard/web/styles/bgrey.css79
-rw-r--r--test/user-template/user/config/wizard/web/styles/bwb.css79
-rw-r--r--test/user-template/user/config/wizard/web/styles/bwo.css79
-rw-r--r--test/user-template/user/config/wizard/web/styles/dark.css79
-rw-r--r--test/user-template/user/config/wizard/web/styles/dp.css79
-rw-r--r--test/user-template/user/config/wizard/web/styles/forest.css79
-rw-r--r--test/user-template/user/config/wizard/web/styles/green.css79
-rw-r--r--test/user-template/user/config/wizard/web/styles/greenred.css79
-rw-r--r--test/user-template/user/config/wizard/web/styles/grey.css79
-rw-r--r--test/user-template/user/config/wizard/web/styles/ibg.css79
-rw-r--r--test/user-template/user/config/wizard/web/styles/ice.css79
-rw-r--r--test/user-template/user/config/wizard/web/styles/marine.css79
-rw-r--r--test/user-template/user/config/wizard/web/styles/orange.css79
-rw-r--r--test/user-template/user/config/wizard/web/styles/pc_old.css91
-rw-r--r--test/user-template/user/config/wizard/web/styles/red.css79
-rw-r--r--test/user-template/user/config/wizard/web/styles/rgb.css91
-rw-r--r--test/user-template/user/config/wizard/web/styles/strange.css79
-rw-r--r--test/user-template/user/config/wizard/web/styles/violet.css79
-rw-r--r--test/user-template/user/config/wizard/web/styles/water.css79
-rw-r--r--test/user-template/user/dtd/math/1_01/w3c_ipr_software_notice.html105
-rw-r--r--test/user-template/user/dtd/officedocument/1_0/Manifest.dtd58
-rw-r--r--test/user-template/user/dtd/officedocument/1_0/accelerator.dtd44
-rw-r--r--test/user-template/user/dtd/officedocument/1_0/chart.mod262
-rw-r--r--test/user-template/user/dtd/officedocument/1_0/datastyl.mod208
-rw-r--r--test/user-template/user/dtd/officedocument/1_0/defs.mod56
-rw-r--r--test/user-template/user/dtd/officedocument/1_0/dialog.dtd405
-rw-r--r--test/user-template/user/dtd/officedocument/1_0/drawing.mod861
-rw-r--r--test/user-template/user/dtd/officedocument/1_0/dtypes.mod143
-rw-r--r--test/user-template/user/dtd/officedocument/1_0/event.dtd45
-rw-r--r--test/user-template/user/dtd/officedocument/1_0/form.mod366
-rw-r--r--test/user-template/user/dtd/officedocument/1_0/groupuinames.dtd35
-rw-r--r--test/user-template/user/dtd/officedocument/1_0/image.dtd67
-rw-r--r--test/user-template/user/dtd/officedocument/1_0/libraries.dtd45
-rw-r--r--test/user-template/user/dtd/officedocument/1_0/library.dtd44
-rw-r--r--test/user-template/user/dtd/officedocument/1_0/menubar.dtd46
-rw-r--r--test/user-template/user/dtd/officedocument/1_0/meta.mod90
-rw-r--r--test/user-template/user/dtd/officedocument/1_0/module.dtd35
-rw-r--r--test/user-template/user/dtd/officedocument/1_0/nmspace.mod53
-rw-r--r--test/user-template/user/dtd/officedocument/1_0/office.dtd56
-rw-r--r--test/user-template/user/dtd/officedocument/1_0/office.mod245
-rw-r--r--test/user-template/user/dtd/officedocument/1_0/script.mod59
-rw-r--r--test/user-template/user/dtd/officedocument/1_0/settings.mod49
-rw-r--r--test/user-template/user/dtd/officedocument/1_0/statusbar.dtd48
-rw-r--r--test/user-template/user/dtd/officedocument/1_0/style.mod427
-rw-r--r--test/user-template/user/dtd/officedocument/1_0/table.mod496
-rw-r--r--test/user-template/user/dtd/officedocument/1_0/text.mod1099
-rw-r--r--test/user-template/user/dtd/officedocument/1_0/toolbar.dtd67
-rw-r--r--test/user-template/user/fingerprint/afrikaans.lm400
-rw-r--r--test/user-template/user/fingerprint/albanian.lm400
-rw-r--r--test/user-template/user/fingerprint/amharic_utf.lm400
-rw-r--r--test/user-template/user/fingerprint/arabic.lm400
-rw-r--r--test/user-template/user/fingerprint/armenian.lm0
-rw-r--r--test/user-template/user/fingerprint/basque.lm400
-rw-r--r--test/user-template/user/fingerprint/belarus.lm400
-rw-r--r--test/user-template/user/fingerprint/bosnian.lm400
-rw-r--r--test/user-template/user/fingerprint/breton.lm400
-rw-r--r--test/user-template/user/fingerprint/catalan.lm400
-rw-r--r--test/user-template/user/fingerprint/chinese_simplified.lm400
-rw-r--r--test/user-template/user/fingerprint/chinese_traditional.lm400
-rw-r--r--test/user-template/user/fingerprint/croatian.lm400
-rw-r--r--test/user-template/user/fingerprint/czech.lm400
-rw-r--r--test/user-template/user/fingerprint/danish.lm400
-rw-r--r--test/user-template/user/fingerprint/drents.lm0
-rw-r--r--test/user-template/user/fingerprint/dutch.lm400
-rw-r--r--test/user-template/user/fingerprint/english.lm400
-rw-r--r--test/user-template/user/fingerprint/esperanto.lm400
-rw-r--r--test/user-template/user/fingerprint/estonian.lm400
-rw-r--r--test/user-template/user/fingerprint/finnish.lm400
-rw-r--r--test/user-template/user/fingerprint/fpdb.conf86
-rw-r--r--test/user-template/user/fingerprint/french.lm400
-rw-r--r--test/user-template/user/fingerprint/frisian.lm400
-rw-r--r--test/user-template/user/fingerprint/georgian.lm400
-rw-r--r--test/user-template/user/fingerprint/german.lm400
-rw-r--r--test/user-template/user/fingerprint/greek.lm400
-rw-r--r--test/user-template/user/fingerprint/hebrew.lm400
-rw-r--r--test/user-template/user/fingerprint/hindi.lm400
-rw-r--r--test/user-template/user/fingerprint/hungarian.lm400
-rw-r--r--test/user-template/user/fingerprint/icelandic.lm400
-rw-r--r--test/user-template/user/fingerprint/indonesian.lm400
-rw-r--r--test/user-template/user/fingerprint/irish_gaelic.lm400
-rw-r--r--test/user-template/user/fingerprint/italian.lm400
-rw-r--r--test/user-template/user/fingerprint/japanese.lm400
-rw-r--r--test/user-template/user/fingerprint/korean.lm400
-rw-r--r--test/user-template/user/fingerprint/latin.lm400
-rw-r--r--test/user-template/user/fingerprint/latvian.lm400
-rw-r--r--test/user-template/user/fingerprint/lithuanian.lm400
-rw-r--r--test/user-template/user/fingerprint/luxembourgish.lm400
-rw-r--r--test/user-template/user/fingerprint/malay.lm400
-rw-r--r--test/user-template/user/fingerprint/manx_gaelic.lm400
-rw-r--r--test/user-template/user/fingerprint/marathi.lm400
-rw-r--r--test/user-template/user/fingerprint/middle_frisian.lm400
-rw-r--r--test/user-template/user/fingerprint/mingo.lm400
-rw-r--r--test/user-template/user/fingerprint/mongolian_cyrillic.lm363
-rw-r--r--test/user-template/user/fingerprint/nepali.lm400
-rw-r--r--test/user-template/user/fingerprint/norwegian.lm400
-rw-r--r--test/user-template/user/fingerprint/persian.lm400
-rw-r--r--test/user-template/user/fingerprint/polish.lm400
-rw-r--r--test/user-template/user/fingerprint/portuguese.lm400
-rw-r--r--test/user-template/user/fingerprint/quechua.lm400
-rw-r--r--test/user-template/user/fingerprint/romanian.lm400
-rw-r--r--test/user-template/user/fingerprint/romansh.lm400
-rw-r--r--test/user-template/user/fingerprint/russian.lm400
-rw-r--r--test/user-template/user/fingerprint/sanskrit.lm400
-rw-r--r--test/user-template/user/fingerprint/scots.lm400
-rw-r--r--test/user-template/user/fingerprint/scots_gaelic.lm400
-rw-r--r--test/user-template/user/fingerprint/serbian-latin.lm400
-rw-r--r--test/user-template/user/fingerprint/serbian.lm400
-rw-r--r--test/user-template/user/fingerprint/slovak_ascii.lm400
-rw-r--r--test/user-template/user/fingerprint/slovenian.lm400
-rw-r--r--test/user-template/user/fingerprint/spanish.lm400
-rw-r--r--test/user-template/user/fingerprint/swahili.lm400
-rw-r--r--test/user-template/user/fingerprint/swedish.lm400
-rw-r--r--test/user-template/user/fingerprint/tagalog.lm400
-rw-r--r--test/user-template/user/fingerprint/tamil.lm400
-rw-r--r--test/user-template/user/fingerprint/thai.lm400
-rw-r--r--test/user-template/user/fingerprint/turkish.lm400
-rw-r--r--test/user-template/user/fingerprint/ukrainian.lm400
-rw-r--r--test/user-template/user/fingerprint/vietnamese.lm400
-rw-r--r--test/user-template/user/fingerprint/welsh.lm400
-rw-r--r--test/user-template/user/fingerprint/yiddish_utf.lm400
-rw-r--r--test/user-template/user/fingerprint/zulu.lm400
-rw-r--r--test/user-template/user/fonts/truetype/DejaVuSans-Bold.ttfbin0 -> 634184 bytes-rw-r--r--test/user-template/user/fonts/truetype/DejaVuSans-BoldOblique.ttfbin0 -> 574636 bytes-rw-r--r--test/user-template/user/fonts/truetype/DejaVuSans-ExtraLight.ttfbin0 -> 338436 bytes-rw-r--r--test/user-template/user/fonts/truetype/DejaVuSans-Oblique.ttfbin0 -> 574456 bytes-rw-r--r--test/user-template/user/fonts/truetype/DejaVuSans.ttfbin0 -> 683528 bytes-rw-r--r--test/user-template/user/fonts/truetype/DejaVuSansCondensed-Bold.ttfbin0 -> 595416 bytes-rw-r--r--test/user-template/user/fonts/truetype/DejaVuSansCondensed-BoldOblique.ttfbin0 -> 543704 bytes-rw-r--r--test/user-template/user/fonts/truetype/DejaVuSansCondensed-Oblique.ttfbin0 -> 539024 bytes-rw-r--r--test/user-template/user/fonts/truetype/DejaVuSansCondensed.ttfbin0 -> 605792 bytes-rw-r--r--test/user-template/user/fonts/truetype/DejaVuSansMono-Bold.ttfbin0 -> 303644 bytes-rw-r--r--test/user-template/user/fonts/truetype/DejaVuSansMono-BoldOblique.ttfbin0 -> 224936 bytes-rw-r--r--test/user-template/user/fonts/truetype/DejaVuSansMono-Oblique.ttfbin0 -> 231000 bytes-rw-r--r--test/user-template/user/fonts/truetype/DejaVuSansMono.ttfbin0 -> 323288 bytes-rw-r--r--test/user-template/user/fonts/truetype/DejaVuSerif-Bold.ttfbin0 -> 315052 bytes-rw-r--r--test/user-template/user/fonts/truetype/DejaVuSerif-BoldItalic.ttfbin0 -> 302940 bytes-rw-r--r--test/user-template/user/fonts/truetype/DejaVuSerif-Italic.ttfbin0 -> 310604 bytes-rw-r--r--test/user-template/user/fonts/truetype/DejaVuSerif.ttfbin0 -> 337444 bytes-rw-r--r--test/user-template/user/fonts/truetype/DejaVuSerifCondensed-Bold.ttfbin0 -> 290556 bytes-rw-r--r--test/user-template/user/fonts/truetype/DejaVuSerifCondensed-BoldItalic.ttfbin0 -> 302120 bytes-rw-r--r--test/user-template/user/fonts/truetype/DejaVuSerifCondensed-Italic.ttfbin0 -> 310024 bytes-rw-r--r--test/user-template/user/fonts/truetype/DejaVuSerifCondensed.ttfbin0 -> 304328 bytes-rw-r--r--test/user-template/user/fonts/truetype/GenBasB.ttfbin0 -> 271648 bytes-rw-r--r--test/user-template/user/fonts/truetype/GenBasBI.ttfbin0 -> 250668 bytes-rw-r--r--test/user-template/user/fonts/truetype/GenBasI.ttfbin0 -> 263504 bytes-rw-r--r--test/user-template/user/fonts/truetype/GenBasR.ttfbin0 -> 269048 bytes-rw-r--r--test/user-template/user/fonts/truetype/GenBkBasB.ttfbin0 -> 271832 bytes-rw-r--r--test/user-template/user/fonts/truetype/GenBkBasBI.ttfbin0 -> 249924 bytes-rw-r--r--test/user-template/user/fonts/truetype/GenBkBasI.ttfbin0 -> 266156 bytes-rw-r--r--test/user-template/user/fonts/truetype/GenBkBasR.ttfbin0 -> 272460 bytes-rw-r--r--test/user-template/user/fonts/truetype/LiberationMono-Bold.ttfbin0 -> 105308 bytes-rw-r--r--test/user-template/user/fonts/truetype/LiberationMono-BoldItalic.ttfbin0 -> 118144 bytes-rw-r--r--test/user-template/user/fonts/truetype/LiberationMono-Italic.ttfbin0 -> 124064 bytes-rw-r--r--test/user-template/user/fonts/truetype/LiberationMono-Regular.ttfbin0 -> 108020 bytes-rw-r--r--test/user-template/user/fonts/truetype/LiberationSans-Bold.ttfbin0 -> 136536 bytes-rw-r--r--test/user-template/user/fonts/truetype/LiberationSans-BoldItalic.ttfbin0 -> 134444 bytes-rw-r--r--test/user-template/user/fonts/truetype/LiberationSans-Italic.ttfbin0 -> 161356 bytes-rw-r--r--test/user-template/user/fonts/truetype/LiberationSans-Regular.ttfbin0 -> 138908 bytes-rw-r--r--test/user-template/user/fonts/truetype/LiberationSansNarrow-Bold.ttfbin0 -> 109820 bytes-rw-r--r--test/user-template/user/fonts/truetype/LiberationSansNarrow-BoldItalic.ttfbin0 -> 127588 bytes-rw-r--r--test/user-template/user/fonts/truetype/LiberationSansNarrow-Italic.ttfbin0 -> 131592 bytes-rw-r--r--test/user-template/user/fonts/truetype/LiberationSansNarrow-Regular.ttfbin0 -> 112592 bytes-rw-r--r--test/user-template/user/fonts/truetype/LiberationSerif-Bold.ttfbin0 -> 146532 bytes-rw-r--r--test/user-template/user/fonts/truetype/LiberationSerif-BoldItalic.ttfbin0 -> 150200 bytes-rw-r--r--test/user-template/user/fonts/truetype/LiberationSerif-Italic.ttfbin0 -> 143816 bytes-rw-r--r--test/user-template/user/fonts/truetype/LiberationSerif-Regular.ttfbin0 -> 151868 bytes-rw-r--r--test/user-template/user/fonts/truetype/LinBiolinumG_Bd.ttfbin0 -> 1331064 bytes-rw-r--r--test/user-template/user/fonts/truetype/LinBiolinumG_It.ttfbin0 -> 1397740 bytes-rw-r--r--test/user-template/user/fonts/truetype/LinBiolinumG_Re.ttfbin0 -> 1310368 bytes-rw-r--r--test/user-template/user/fonts/truetype/LinLibertineG_BI.ttfbin0 -> 1260528 bytes-rw-r--r--test/user-template/user/fonts/truetype/LinLibertineG_Bd.ttfbin0 -> 1345164 bytes-rw-r--r--test/user-template/user/fonts/truetype/LinLibertineG_It.ttfbin0 -> 1411160 bytes-rw-r--r--test/user-template/user/fonts/truetype/LinLibertineG_Re.ttfbin0 -> 1517128 bytes-rw-r--r--test/user-template/user/fonts/truetype/fc_local.conf24
-rw-r--r--test/user-template/user/fonts/truetype/opens___.ttfbin0 -> 206612 bytes-rw-r--r--test/user-template/user/gallery/apples.gifbin0 -> 6197 bytes-rw-r--r--test/user-template/user/gallery/bigapple.gifbin0 -> 35287 bytes-rw-r--r--test/user-template/user/gallery/bullets/blkpearl.gifbin0 -> 929 bytes-rw-r--r--test/user-template/user/gallery/bullets/bluarrow.gifbin0 -> 93 bytes-rw-r--r--test/user-template/user/gallery/bullets/bluball.gifbin0 -> 103 bytes-rw-r--r--test/user-template/user/gallery/bullets/bludiamd.gifbin0 -> 111 bytes-rw-r--r--test/user-template/user/gallery/bullets/bluered.gifbin0 -> 507 bytes-rw-r--r--test/user-template/user/gallery/bullets/blusqare.gifbin0 -> 96 bytes-rw-r--r--test/user-template/user/gallery/bullets/blustar.gifbin0 -> 146 bytes-rw-r--r--test/user-template/user/gallery/bullets/coffee_1.gifbin0 -> 644 bytes-rw-r--r--test/user-template/user/gallery/bullets/coffee_2.gifbin0 -> 656 bytes-rw-r--r--test/user-template/user/gallery/bullets/coffee_3.gifbin0 -> 625 bytes-rw-r--r--test/user-template/user/gallery/bullets/coffee_4.gifbin0 -> 605 bytes-rw-r--r--test/user-template/user/gallery/bullets/coffee_5.gifbin0 -> 671 bytes-rw-r--r--test/user-template/user/gallery/bullets/con-blue.gifbin0 -> 594 bytes-rw-r--r--test/user-template/user/gallery/bullets/con-cyan.gifbin0 -> 614 bytes-rw-r--r--test/user-template/user/gallery/bullets/con-green.gifbin0 -> 393 bytes-rw-r--r--test/user-template/user/gallery/bullets/con-lilac.gifbin0 -> 600 bytes-rw-r--r--test/user-template/user/gallery/bullets/con-oran.gifbin0 -> 594 bytes-rw-r--r--test/user-template/user/gallery/bullets/con-pink.gifbin0 -> 394 bytes-rw-r--r--test/user-template/user/gallery/bullets/con-red.gifbin0 -> 388 bytes-rw-r--r--test/user-template/user/gallery/bullets/con-yellow.gifbin0 -> 375 bytes-rw-r--r--test/user-template/user/gallery/bullets/corner_1.gifbin0 -> 399 bytes-rw-r--r--test/user-template/user/gallery/bullets/corner_2.gifbin0 -> 399 bytes-rw-r--r--test/user-template/user/gallery/bullets/corner_3.gifbin0 -> 402 bytes-rw-r--r--test/user-template/user/gallery/bullets/corner_4.gifbin0 -> 408 bytes-rw-r--r--test/user-template/user/gallery/bullets/darkball.gifbin0 -> 924 bytes-rw-r--r--test/user-template/user/gallery/bullets/darkblue.gifbin0 -> 527 bytes-rw-r--r--test/user-template/user/gallery/bullets/gldpearl.gifbin0 -> 929 bytes-rw-r--r--test/user-template/user/gallery/bullets/golfball.gifbin0 -> 960 bytes-rw-r--r--test/user-template/user/gallery/bullets/grnarrow.gifbin0 -> 94 bytes-rw-r--r--test/user-template/user/gallery/bullets/grnball.gifbin0 -> 101 bytes-rw-r--r--test/user-template/user/gallery/bullets/grndiamd.gifbin0 -> 111 bytes-rw-r--r--test/user-template/user/gallery/bullets/grnpearl.gifbin0 -> 935 bytes-rw-r--r--test/user-template/user/gallery/bullets/grnsqare.gifbin0 -> 97 bytes-rw-r--r--test/user-template/user/gallery/bullets/grnstar.gifbin0 -> 144 bytes-rw-r--r--test/user-template/user/gallery/bullets/gryarrow.gifbin0 -> 94 bytes-rw-r--r--test/user-template/user/gallery/bullets/gryball.gifbin0 -> 103 bytes-rw-r--r--test/user-template/user/gallery/bullets/grydiamd.gifbin0 -> 113 bytes-rw-r--r--test/user-template/user/gallery/bullets/grysqare.gifbin0 -> 98 bytes-rw-r--r--test/user-template/user/gallery/bullets/grystar.gifbin0 -> 144 bytes-rw-r--r--test/user-template/user/gallery/bullets/orgarrow.gifbin0 -> 96 bytes-rw-r--r--test/user-template/user/gallery/bullets/orgball.gifbin0 -> 104 bytes-rw-r--r--test/user-template/user/gallery/bullets/orgdiamd.gifbin0 -> 149 bytes-rw-r--r--test/user-template/user/gallery/bullets/orgsqare.gifbin0 -> 99 bytes-rw-r--r--test/user-template/user/gallery/bullets/orgstar.gifbin0 -> 143 bytes-rw-r--r--test/user-template/user/gallery/bullets/pebble_1.gifbin0 -> 434 bytes-rw-r--r--test/user-template/user/gallery/bullets/pebble_2.gifbin0 -> 460 bytes-rw-r--r--test/user-template/user/gallery/bullets/pebble_3.gifbin0 -> 463 bytes-rw-r--r--test/user-template/user/gallery/bullets/poliball.gifbin0 -> 945 bytes-rw-r--r--test/user-template/user/gallery/bullets/popcorn_1.gifbin0 -> 1005 bytes-rw-r--r--test/user-template/user/gallery/bullets/popcorn_2.gifbin0 -> 1249 bytes-rw-r--r--test/user-template/user/gallery/bullets/rainbow.gifbin0 -> 527 bytes-rw-r--r--test/user-template/user/gallery/bullets/redarrow.gifbin0 -> 97 bytes-rw-r--r--test/user-template/user/gallery/bullets/redball.gifbin0 -> 103 bytes-rw-r--r--test/user-template/user/gallery/bullets/reddiamd.gifbin0 -> 111 bytes-rw-r--r--test/user-template/user/gallery/bullets/redsqare.gifbin0 -> 97 bytes-rw-r--r--test/user-template/user/gallery/bullets/redstar.gifbin0 -> 145 bytes-rw-r--r--test/user-template/user/gallery/bullets/whtpearl.gifbin0 -> 931 bytes-rw-r--r--test/user-template/user/gallery/bullets/ylwarrow.gifbin0 -> 126 bytes-rw-r--r--test/user-template/user/gallery/bullets/ylwball.gifbin0 -> 133 bytes-rw-r--r--test/user-template/user/gallery/bullets/ylwdiamd.gifbin0 -> 145 bytes-rw-r--r--test/user-template/user/gallery/bullets/ylwsqare.gifbin0 -> 96 bytes-rw-r--r--test/user-template/user/gallery/bullets/ylwstar.gifbin0 -> 145 bytes-rw-r--r--test/user-template/user/gallery/flower.gifbin0 -> 6073 bytes-rw-r--r--test/user-template/user/gallery/flowers.gifbin0 -> 9333 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/bludown.gifbin0 -> 873 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/blufirs.gifbin0 -> 906 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/blufirs_.gifbin0 -> 884 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/blulast.gifbin0 -> 909 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/blulast_.gifbin0 -> 898 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/blunav.gifbin0 -> 1441 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/blunext.gifbin0 -> 886 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/blunext_.gifbin0 -> 841 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/bluprev.gifbin0 -> 893 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/bluprev_.gifbin0 -> 841 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/blutext.gifbin0 -> 1390 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/bluup.gifbin0 -> 874 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/cubdown.gifbin0 -> 1628 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/cubfirs.gifbin0 -> 1704 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/cubfirs_.gifbin0 -> 1320 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/cublast.gifbin0 -> 1712 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/cublast_.gifbin0 -> 1282 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/cubnav.gifbin0 -> 1719 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/cubnext.gifbin0 -> 1651 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/cubnext_.gifbin0 -> 1244 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/cubprev.gifbin0 -> 1648 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/cubprev_.gifbin0 -> 1239 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/cubtext.gifbin0 -> 1687 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/cubup.gifbin0 -> 1646 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/gredown.gifbin0 -> 1360 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/grefirs.gifbin0 -> 1517 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/grefirs_.gifbin0 -> 1442 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/grelast.gifbin0 -> 1457 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/grelast_.gifbin0 -> 1290 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/grenav.gifbin0 -> 1582 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/grenext.gifbin0 -> 1372 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/grenext_.gifbin0 -> 1184 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/greprev.gifbin0 -> 1370 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/greprev_.gifbin0 -> 1180 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/gretext.gifbin0 -> 1433 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/greup.gifbin0 -> 1365 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/simdown.gifbin0 -> 439 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/simfirs.gifbin0 -> 477 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/simfirs_.gifbin0 -> 477 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/simlast.gifbin0 -> 483 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/simlast_.gifbin0 -> 624 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/simnav.gifbin0 -> 483 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/simnext.gifbin0 -> 448 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/simnext_.gifbin0 -> 445 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/simprev.gifbin0 -> 444 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/simprev_.gifbin0 -> 446 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/simtext.gifbin0 -> 646 bytes-rw-r--r--test/user-template/user/gallery/htmlexpo/simup.gifbin0 -> 439 bytes-rw-r--r--test/user-template/user/gallery/rulers/blkballs.gifbin0 -> 2272 bytes-rw-r--r--test/user-template/user/gallery/rulers/blurulr1.gifbin0 -> 6583 bytes-rw-r--r--test/user-template/user/gallery/rulers/blurulr2.gifbin0 -> 2965 bytes-rw-r--r--test/user-template/user/gallery/rulers/blurulr3.gifbin0 -> 2011 bytes-rw-r--r--test/user-template/user/gallery/rulers/blurulr4.gifbin0 -> 2561 bytes-rw-r--r--test/user-template/user/gallery/rulers/blurulr5.gifbin0 -> 5708 bytes-rw-r--r--test/user-template/user/gallery/rulers/blurulr6.gifbin0 -> 1878 bytes-rw-r--r--test/user-template/user/gallery/rulers/gldballs.gifbin0 -> 2240 bytes-rw-r--r--test/user-template/user/gallery/rulers/grnballs.gifbin0 -> 3702 bytes-rw-r--r--test/user-template/user/gallery/rulers/grnrulr1.gifbin0 -> 2409 bytes-rw-r--r--test/user-template/user/gallery/rulers/grnrulr2.gifbin0 -> 2759 bytes-rw-r--r--test/user-template/user/gallery/rulers/grnrulr3.gifbin0 -> 2599 bytes-rw-r--r--test/user-template/user/gallery/rulers/grnrulr4.gifbin0 -> 3172 bytes-rw-r--r--test/user-template/user/gallery/rulers/gryrulr1.gifbin0 -> 2144 bytes-rw-r--r--test/user-template/user/gallery/rulers/gryrulr2.gifbin0 -> 3014 bytes-rw-r--r--test/user-template/user/gallery/rulers/gryrulr3.gifbin0 -> 1479 bytes-rw-r--r--test/user-template/user/gallery/rulers/orgrulr1.gifbin0 -> 2667 bytes-rw-r--r--test/user-template/user/gallery/rulers/redrulr1.gifbin0 -> 2138 bytes-rw-r--r--test/user-template/user/gallery/rulers/redrulr2.gifbin0 -> 2037 bytes-rw-r--r--test/user-template/user/gallery/rulers/redrulr3.gifbin0 -> 2192 bytes-rw-r--r--test/user-template/user/gallery/rulers/redrulr4.gifbin0 -> 2089 bytes-rw-r--r--test/user-template/user/gallery/rulers/redrulr5.gifbin0 -> 1343 bytes-rw-r--r--test/user-template/user/gallery/rulers/striped.gifbin0 -> 1553 bytes-rw-r--r--test/user-template/user/gallery/rulers/whtballs.gifbin0 -> 3616 bytes-rw-r--r--test/user-template/user/gallery/rulers/ylwrulr1.gifbin0 -> 2667 bytes-rw-r--r--test/user-template/user/gallery/sg1.sdgbin0 -> 29872 bytes-rw-r--r--test/user-template/user/gallery/sg1.sdvbin0 -> 2048 bytes-rw-r--r--test/user-template/user/gallery/sg1.thmbin0 -> 2432 bytes-rw-r--r--test/user-template/user/gallery/sg2.sdgbin0 -> 25785 bytes-rw-r--r--test/user-template/user/gallery/sg2.sdvbin0 -> 2048 bytes-rw-r--r--test/user-template/user/gallery/sg2.thmbin0 -> 1266 bytes-rw-r--r--test/user-template/user/gallery/sg24.sdgbin0 -> 45875 bytes-rw-r--r--test/user-template/user/gallery/sg24.sdvbin0 -> 369664 bytes-rw-r--r--test/user-template/user/gallery/sg24.thmbin0 -> 1236 bytes-rw-r--r--test/user-template/user/gallery/sg25.sdgbin0 -> 55650 bytes-rw-r--r--test/user-template/user/gallery/sg25.sdvbin0 -> 2048 bytes-rw-r--r--test/user-template/user/gallery/sg25.thmbin0 -> 2016 bytes-rw-r--r--test/user-template/user/gallery/sg3.sdgbin0 -> 270058 bytes-rw-r--r--test/user-template/user/gallery/sg3.sdvbin0 -> 2048 bytes-rw-r--r--test/user-template/user/gallery/sg3.thmbin0 -> 2503 bytes-rw-r--r--test/user-template/user/gallery/sg36.sdgbin0 -> 65354 bytes-rw-r--r--test/user-template/user/gallery/sg36.sdvbin0 -> 589312 bytes-rw-r--r--test/user-template/user/gallery/sg36.thmbin0 -> 1163 bytes-rw-r--r--test/user-template/user/gallery/sg4.sdgbin0 -> 60533 bytes-rw-r--r--test/user-template/user/gallery/sg4.sdvbin0 -> 2048 bytes-rw-r--r--test/user-template/user/gallery/sg4.thmbin0 -> 3323 bytes-rw-r--r--test/user-template/user/gallery/sg9.sdgbin0 -> 5331 bytes-rw-r--r--test/user-template/user/gallery/sg9.sdvbin0 -> 2048 bytes-rw-r--r--test/user-template/user/gallery/sg9.thmbin0 -> 1458 bytes-rw-r--r--test/user-template/user/gallery/sky.gifbin0 -> 7517 bytes-rw-r--r--test/user-template/user/gallery/sounds/apert.wavbin0 -> 47760 bytes-rw-r--r--test/user-template/user/gallery/sounds/apert2.wavbin0 -> 60904 bytes-rw-r--r--test/user-template/user/gallery/sounds/applause.wavbin0 -> 90472 bytes-rw-r--r--test/user-template/user/gallery/sounds/beam.wavbin0 -> 43728 bytes-rw-r--r--test/user-template/user/gallery/sounds/beam2.wavbin0 -> 73456 bytes-rw-r--r--test/user-template/user/gallery/sounds/cow.wavbin0 -> 37546 bytes-rw-r--r--test/user-template/user/gallery/sounds/curve.wavbin0 -> 134660 bytes-rw-r--r--test/user-template/user/gallery/sounds/drama.wavbin0 -> 162366 bytes-rw-r--r--test/user-template/user/gallery/sounds/explos.wavbin0 -> 47532 bytes-rw-r--r--test/user-template/user/gallery/sounds/falling.wavbin0 -> 87008 bytes-rw-r--r--test/user-template/user/gallery/sounds/glasses.wavbin0 -> 36270 bytes-rw-r--r--test/user-template/user/gallery/sounds/gong.wavbin0 -> 191292 bytes-rw-r--r--test/user-template/user/gallery/sounds/horse.wavbin0 -> 41958 bytes-rw-r--r--test/user-template/user/gallery/sounds/kling.wavbin0 -> 46376 bytes-rw-r--r--test/user-template/user/gallery/sounds/kongas.wavbin0 -> 54866 bytes-rw-r--r--test/user-template/user/gallery/sounds/laser.wavbin0 -> 8408 bytes-rw-r--r--test/user-template/user/gallery/sounds/left.wavbin0 -> 29788 bytes-rw-r--r--test/user-template/user/gallery/sounds/nature1.wavbin0 -> 83102 bytes-rw-r--r--test/user-template/user/gallery/sounds/nature2.wavbin0 -> 37164 bytes-rw-r--r--test/user-template/user/gallery/sounds/ok.wavbin0 -> 8862 bytes-rw-r--r--test/user-template/user/gallery/sounds/pluck.wavbin0 -> 28510 bytes-rw-r--r--test/user-template/user/gallery/sounds/roll.wavbin0 -> 242648 bytes-rw-r--r--test/user-template/user/gallery/sounds/romans.wavbin0 -> 90466 bytes-rw-r--r--test/user-template/user/gallery/sounds/soft.wavbin0 -> 185752 bytes-rw-r--r--test/user-template/user/gallery/sounds/space.wavbin0 -> 133758 bytes-rw-r--r--test/user-template/user/gallery/sounds/space2.wavbin0 -> 192686 bytes-rw-r--r--test/user-template/user/gallery/sounds/space3.wavbin0 -> 144748 bytes-rw-r--r--test/user-template/user/gallery/sounds/sparcle.wavbin0 -> 65580 bytes-rw-r--r--test/user-template/user/gallery/sounds/strom.wavbin0 -> 85106 bytes-rw-r--r--test/user-template/user/gallery/sounds/theetone.wavbin0 -> 49506 bytes-rw-r--r--test/user-template/user/gallery/sounds/top.wavbin0 -> 69242 bytes-rw-r--r--test/user-template/user/gallery/sounds/train.wavbin0 -> 56716 bytes-rw-r--r--test/user-template/user/gallery/sounds/untie.wavbin0 -> 190884 bytes-rw-r--r--test/user-template/user/gallery/sounds/ups.wavbin0 -> 28682 bytes-rw-r--r--test/user-template/user/gallery/sounds/wallewal.wavbin0 -> 104018 bytes-rw-r--r--test/user-template/user/gallery/www-back/aqua.jpgbin0 -> 5511 bytes-rw-r--r--test/user-template/user/gallery/www-back/bathroom.jpgbin0 -> 4473 bytes-rw-r--r--test/user-template/user/gallery/www-back/blocks.jpgbin0 -> 5664 bytes-rw-r--r--test/user-template/user/gallery/www-back/blow_green.jpgbin0 -> 3159 bytes-rw-r--r--test/user-template/user/gallery/www-back/blueblop.jpgbin0 -> 4469 bytes-rw-r--r--test/user-template/user/gallery/www-back/bulging.jpgbin0 -> 4523 bytes-rw-r--r--test/user-template/user/gallery/www-back/canvas_blue.jpgbin0 -> 5961 bytes-rw-r--r--test/user-template/user/gallery/www-back/cheese.jpgbin0 -> 3029 bytes-rw-r--r--test/user-template/user/gallery/www-back/chocolate.jpgbin0 -> 4316 bytes-rw-r--r--test/user-template/user/gallery/www-back/citrus.jpgbin0 -> 7669 bytes-rw-r--r--test/user-template/user/gallery/www-back/confetti.jpgbin0 -> 11733 bytes-rw-r--r--test/user-template/user/gallery/www-back/daisy.jpgbin0 -> 8197 bytes-rw-r--r--test/user-template/user/gallery/www-back/fluffy-grey.jpgbin0 -> 4314 bytes-rw-r--r--test/user-template/user/gallery/www-back/fluffy.jpgbin0 -> 6890 bytes-rw-r--r--test/user-template/user/gallery/www-back/fuzzy-blue.jpgbin0 -> 11472 bytes-rw-r--r--test/user-template/user/gallery/www-back/fuzzy-darkgrey.jpgbin0 -> 7293 bytes-rw-r--r--test/user-template/user/gallery/www-back/fuzzy-grey.jpgbin0 -> 6340 bytes-rw-r--r--test/user-template/user/gallery/www-back/fuzzy-lightgrey.jpgbin0 -> 4321 bytes-rw-r--r--test/user-template/user/gallery/www-back/fuzzy_light.jpgbin0 -> 4880 bytes-rw-r--r--test/user-template/user/gallery/www-back/gregre.gifbin0 -> 2326 bytes-rw-r--r--test/user-template/user/gallery/www-back/grey.gifbin0 -> 8529 bytes-rw-r--r--test/user-template/user/gallery/www-back/grypaws.gifbin0 -> 3537 bytes-rw-r--r--test/user-template/user/gallery/www-back/ice-blue.jpgbin0 -> 4675 bytes-rw-r--r--test/user-template/user/gallery/www-back/ice-light.jpgbin0 -> 3182 bytes-rw-r--r--test/user-template/user/gallery/www-back/imitation_leather.jpgbin0 -> 4207 bytes-rw-r--r--test/user-template/user/gallery/www-back/interstices.jpgbin0 -> 3964 bytes-rw-r--r--test/user-template/user/gallery/www-back/jeans.jpgbin0 -> 7002 bytes-rw-r--r--test/user-template/user/gallery/www-back/jeansblk.jpgbin0 -> 5436 bytes-rw-r--r--test/user-template/user/gallery/www-back/lawn-artificial.jpgbin0 -> 13522 bytes-rw-r--r--test/user-template/user/gallery/www-back/lawn.jpgbin0 -> 11635 bytes-rw-r--r--test/user-template/user/gallery/www-back/lightblue-wet.jpgbin0 -> 5235 bytes-rw-r--r--test/user-template/user/gallery/www-back/linen-fine.jpgbin0 -> 5580 bytes-rw-r--r--test/user-template/user/gallery/www-back/lino-green.jpgbin0 -> 6275 bytes-rw-r--r--test/user-template/user/gallery/www-back/liquid-blue.jpgbin0 -> 3497 bytes-rw-r--r--test/user-template/user/gallery/www-back/marble.jpgbin0 -> 4161 bytes-rw-r--r--test/user-template/user/gallery/www-back/marble_dark.jpgbin0 -> 6805 bytes-rw-r--r--test/user-template/user/gallery/www-back/mazes.jpgbin0 -> 9817 bytes-rw-r--r--test/user-template/user/gallery/www-back/mint.gifbin0 -> 4469 bytes-rw-r--r--test/user-template/user/gallery/www-back/notes.gifbin0 -> 1429 bytes-rw-r--r--test/user-template/user/gallery/www-back/pattern.jpgbin0 -> 13299 bytes-rw-r--r--test/user-template/user/gallery/www-back/pebble-light.jpgbin0 -> 5816 bytes-rw-r--r--test/user-template/user/gallery/www-back/pink.gifbin0 -> 4687 bytes-rw-r--r--test/user-template/user/gallery/www-back/pool.jpgbin0 -> 6005 bytes-rw-r--r--test/user-template/user/gallery/www-back/popcorn.jpgbin0 -> 12694 bytes-rw-r--r--test/user-template/user/gallery/www-back/purple.jpgbin0 -> 4257 bytes-rw-r--r--test/user-template/user/gallery/www-back/reddark.jpgbin0 -> 4968 bytes-rw-r--r--test/user-template/user/gallery/www-back/rings-green.jpgbin0 -> 5094 bytes-rw-r--r--test/user-template/user/gallery/www-back/rings-orange.jpgbin0 -> 6445 bytes-rw-r--r--test/user-template/user/gallery/www-back/roses.jpgbin0 -> 8323 bytes-rw-r--r--test/user-template/user/gallery/www-back/sand-light.jpgbin0 -> 4049 bytes-rw-r--r--test/user-template/user/gallery/www-back/sand.jpgbin0 -> 5402 bytes-rw-r--r--test/user-template/user/gallery/www-back/sky.jpgbin0 -> 1969 bytes-rw-r--r--test/user-template/user/gallery/www-back/soft-structure_grey.jpgbin0 -> 4818 bytes-rw-r--r--test/user-template/user/gallery/www-back/space.jpgbin0 -> 3011 bytes-rw-r--r--test/user-template/user/gallery/www-back/stone-dark.jpgbin0 -> 6351 bytes-rw-r--r--test/user-template/user/gallery/www-back/stone.jpgbin0 -> 7011 bytes-rw-r--r--test/user-template/user/gallery/www-back/structure.jpgbin0 -> 3834 bytes-rw-r--r--test/user-template/user/gallery/www-back/structure_darkgreen.gifbin0 -> 3782 bytes-rw-r--r--test/user-template/user/gallery/www-back/structure_green.jpgbin0 -> 4035 bytes-rw-r--r--test/user-template/user/gallery/www-back/wall-grey.jpgbin0 -> 5414 bytes-rw-r--r--test/user-template/user/gallery/www-back/wet-turquoise.jpgbin0 -> 3119 bytes-rw-r--r--test/user-template/user/gallery/www-back/wood.jpgbin0 -> 10382 bytes-rw-r--r--test/user-template/user/gallery/www-graf/bluat.gifbin0 -> 1330 bytes-rw-r--r--test/user-template/user/gallery/www-graf/bluback.gifbin0 -> 1016 bytes-rw-r--r--test/user-template/user/gallery/www-graf/bludisk.gifbin0 -> 1016 bytes-rw-r--r--test/user-template/user/gallery/www-graf/bludown.gifbin0 -> 1010 bytes-rw-r--r--test/user-template/user/gallery/www-graf/bluhome.gifbin0 -> 1031 bytes-rw-r--r--test/user-template/user/gallery/www-graf/bluinfo.gifbin0 -> 1000 bytes-rw-r--r--test/user-template/user/gallery/www-graf/bluleft.gifbin0 -> 1017 bytes-rw-r--r--test/user-template/user/gallery/www-graf/blumail.gifbin0 -> 1017 bytes-rw-r--r--test/user-template/user/gallery/www-graf/bluminus.gifbin0 -> 989 bytes-rw-r--r--test/user-template/user/gallery/www-graf/bluplus.gifbin0 -> 1009 bytes-rw-r--r--test/user-template/user/gallery/www-graf/bluquest.gifbin0 -> 1041 bytes-rw-r--r--test/user-template/user/gallery/www-graf/bluright.gifbin0 -> 1020 bytes-rw-r--r--test/user-template/user/gallery/www-graf/bluup.gifbin0 -> 1011 bytes-rw-r--r--test/user-template/user/gallery/www-graf/gredisk.gifbin0 -> 1016 bytes-rw-r--r--test/user-template/user/gallery/www-graf/gredown.gifbin0 -> 1010 bytes-rw-r--r--test/user-template/user/gallery/www-graf/grehome.gifbin0 -> 1031 bytes-rw-r--r--test/user-template/user/gallery/www-graf/greinfo.gifbin0 -> 1000 bytes-rw-r--r--test/user-template/user/gallery/www-graf/greleft.gifbin0 -> 1017 bytes-rw-r--r--test/user-template/user/gallery/www-graf/gremail.gifbin0 -> 1017 bytes-rw-r--r--test/user-template/user/gallery/www-graf/greminus.gifbin0 -> 989 bytes-rw-r--r--test/user-template/user/gallery/www-graf/greplus.gifbin0 -> 1009 bytes-rw-r--r--test/user-template/user/gallery/www-graf/grequest.gifbin0 -> 1041 bytes-rw-r--r--test/user-template/user/gallery/www-graf/greright.gifbin0 -> 1020 bytes-rw-r--r--test/user-template/user/gallery/www-graf/greup.gifbin0 -> 1011 bytes-rw-r--r--test/user-template/user/gallery/www-graf/grnat.gifbin0 -> 1264 bytes-rw-r--r--test/user-template/user/gallery/www-graf/grnback.gifbin0 -> 1073 bytes-rw-r--r--test/user-template/user/gallery/www-graf/grndisk.gifbin0 -> 1219 bytes-rw-r--r--test/user-template/user/gallery/www-graf/grndown.gifbin0 -> 1231 bytes-rw-r--r--test/user-template/user/gallery/www-graf/grnexcla.gifbin0 -> 1206 bytes-rw-r--r--test/user-template/user/gallery/www-graf/grnhome.gifbin0 -> 872 bytes-rw-r--r--test/user-template/user/gallery/www-graf/grninfo.gifbin0 -> 1200 bytes-rw-r--r--test/user-template/user/gallery/www-graf/grnleft.gifbin0 -> 1227 bytes-rw-r--r--test/user-template/user/gallery/www-graf/grnmail.gifbin0 -> 1222 bytes-rw-r--r--test/user-template/user/gallery/www-graf/grnminus.gifbin0 -> 1187 bytes-rw-r--r--test/user-template/user/gallery/www-graf/grnplus.gifbin0 -> 1204 bytes-rw-r--r--test/user-template/user/gallery/www-graf/grnquest.gifbin0 -> 1226 bytes-rw-r--r--test/user-template/user/gallery/www-graf/grnright.gifbin0 -> 1201 bytes-rw-r--r--test/user-template/user/gallery/www-graf/grnup.gifbin0 -> 1220 bytes-rw-r--r--test/user-template/user/gallery/www-graf/gryat.gifbin0 -> 1052 bytes-rw-r--r--test/user-template/user/gallery/www-graf/gryback.gifbin0 -> 1032 bytes-rw-r--r--test/user-template/user/gallery/www-graf/grydisk.gifbin0 -> 1044 bytes-rw-r--r--test/user-template/user/gallery/www-graf/grydown.gifbin0 -> 1022 bytes-rw-r--r--test/user-template/user/gallery/www-graf/gryhome.gifbin0 -> 1050 bytes-rw-r--r--test/user-template/user/gallery/www-graf/gryinfo.gifbin0 -> 1017 bytes-rw-r--r--test/user-template/user/gallery/www-graf/gryleft.gifbin0 -> 1030 bytes-rw-r--r--test/user-template/user/gallery/www-graf/grymail.gifbin0 -> 1036 bytes-rw-r--r--test/user-template/user/gallery/www-graf/gryminus.gifbin0 -> 1012 bytes-rw-r--r--test/user-template/user/gallery/www-graf/gryplus.gifbin0 -> 1030 bytes-rw-r--r--test/user-template/user/gallery/www-graf/gryquest.gifbin0 -> 1023 bytes-rw-r--r--test/user-template/user/gallery/www-graf/gryright.gifbin0 -> 1033 bytes-rw-r--r--test/user-template/user/gallery/www-graf/gryup.gifbin0 -> 1027 bytes-rw-r--r--test/user-template/user/gallery/www-graf/men@work.gifbin0 -> 1287 bytes-rw-r--r--test/user-template/user/gallery/www-graf/orgat.gifbin0 -> 606 bytes-rw-r--r--test/user-template/user/gallery/www-graf/orgback.gifbin0 -> 1259 bytes-rw-r--r--test/user-template/user/gallery/www-graf/orgdisk.gifbin0 -> 421 bytes-rw-r--r--test/user-template/user/gallery/www-graf/orgdown.gifbin0 -> 560 bytes-rw-r--r--test/user-template/user/gallery/www-graf/orghome.gifbin0 -> 808 bytes-rw-r--r--test/user-template/user/gallery/www-graf/orginfo.gifbin0 -> 341 bytes-rw-r--r--test/user-template/user/gallery/www-graf/orgleft.gifbin0 -> 285 bytes-rw-r--r--test/user-template/user/gallery/www-graf/orgmail.gifbin0 -> 517 bytes-rw-r--r--test/user-template/user/gallery/www-graf/orgminus.gifbin0 -> 272 bytes-rw-r--r--test/user-template/user/gallery/www-graf/orgplus.gifbin0 -> 289 bytes-rw-r--r--test/user-template/user/gallery/www-graf/orgquest.gifbin0 -> 281 bytes-rw-r--r--test/user-template/user/gallery/www-graf/orgright.gifbin0 -> 293 bytes-rw-r--r--test/user-template/user/gallery/www-graf/orgup.gifbin0 -> 1042 bytes-rw-r--r--test/user-template/user/gallery/www-graf/redat.gifbin0 -> 1413 bytes-rw-r--r--test/user-template/user/gallery/www-graf/redback.gifbin0 -> 1040 bytes-rw-r--r--test/user-template/user/gallery/www-graf/reddisk.gifbin0 -> 1019 bytes-rw-r--r--test/user-template/user/gallery/www-graf/reddown.gifbin0 -> 1015 bytes-rw-r--r--test/user-template/user/gallery/www-graf/redhome.gifbin0 -> 1032 bytes-rw-r--r--test/user-template/user/gallery/www-graf/redinfo.gifbin0 -> 1002 bytes-rw-r--r--test/user-template/user/gallery/www-graf/redleft.gifbin0 -> 1018 bytes-rw-r--r--test/user-template/user/gallery/www-graf/redmail.gifbin0 -> 1018 bytes-rw-r--r--test/user-template/user/gallery/www-graf/redminus.gifbin0 -> 993 bytes-rw-r--r--test/user-template/user/gallery/www-graf/redplus.gifbin0 -> 1015 bytes-rw-r--r--test/user-template/user/gallery/www-graf/redquest.gifbin0 -> 1045 bytes-rw-r--r--test/user-template/user/gallery/www-graf/redright.gifbin0 -> 1019 bytes-rw-r--r--test/user-template/user/gallery/www-graf/redup.gifbin0 -> 1015 bytes-rw-r--r--test/user-template/user/gallery/www-graf/turdown.gifbin0 -> 669 bytes-rw-r--r--test/user-template/user/gallery/www-graf/turhome.gifbin0 -> 474 bytes-rw-r--r--test/user-template/user/gallery/www-graf/turleft.gifbin0 -> 663 bytes-rw-r--r--test/user-template/user/gallery/www-graf/turright.gifbin0 -> 667 bytes-rw-r--r--test/user-template/user/gallery/www-graf/turup.gifbin0 -> 663 bytes-rw-r--r--test/user-template/user/gallery/www-graf/viohome.gifbin0 -> 249 bytes-rw-r--r--test/user-template/user/gallery/www-graf/violeft.gifbin0 -> 236 bytes-rw-r--r--test/user-template/user/gallery/www-graf/vioright.gifbin0 -> 238 bytes-rw-r--r--test/user-template/user/gallery/www-graf/vioup.gifbin0 -> 230 bytes-rw-r--r--test/user-template/user/gallery/www-graf/ylwdown.gifbin0 -> 149 bytes-rw-r--r--test/user-template/user/gallery/www-graf/ylwhome.gifbin0 -> 221 bytes-rw-r--r--test/user-template/user/gallery/www-graf/ylwleft.gifbin0 -> 177 bytes-rw-r--r--test/user-template/user/gallery/www-graf/ylwmail.gifbin0 -> 208 bytes-rw-r--r--test/user-template/user/gallery/www-graf/ylwright.gifbin0 -> 177 bytes-rw-r--r--test/user-template/user/gallery/www-graf/ylwup.gifbin0 -> 150 bytes-rw-r--r--test/user-template/user/psprint/driver/SGENPRT.PS589
-rw-r--r--test/user-template/user/psprint/driver/SGENT42.PS29
-rw-r--r--test/user-template/user/psprint/fontmetric/Courier-Bold.afm340
-rw-r--r--test/user-template/user/psprint/fontmetric/Courier-BoldOblique.afm340
-rw-r--r--test/user-template/user/psprint/fontmetric/Courier-Oblique.afm340
-rw-r--r--test/user-template/user/psprint/fontmetric/Courier.afm340
-rw-r--r--test/user-template/user/psprint/fontmetric/Helvetica-Bold.afm2825
-rw-r--r--test/user-template/user/psprint/fontmetric/Helvetica-BoldOblique.afm2825
-rw-r--r--test/user-template/user/psprint/fontmetric/Helvetica-Oblique.afm3049
-rw-r--r--test/user-template/user/psprint/fontmetric/Helvetica.afm3049
-rw-r--r--test/user-template/user/psprint/fontmetric/ITCAvantGarde-Book.afm1266
-rw-r--r--test/user-template/user/psprint/fontmetric/ITCAvantGarde-BookOblique.afm1266
-rw-r--r--test/user-template/user/psprint/fontmetric/ITCAvantGarde-Demi.afm1277
-rw-r--r--test/user-template/user/psprint/fontmetric/ITCAvantGarde-DemiOblique.afm1277
-rw-r--r--test/user-template/user/psprint/fontmetric/ITCBookman-Demi.afm1256
-rw-r--r--test/user-template/user/psprint/fontmetric/ITCBookman-DemiItalic.afm1275
-rw-r--r--test/user-template/user/psprint/fontmetric/ITCBookman-Light.afm1226
-rw-r--r--test/user-template/user/psprint/fontmetric/ITCBookman-LightItalic.afm1172
-rw-r--r--test/user-template/user/psprint/fontmetric/ITCZapfChancery-MediumItalic.afm1551
-rw-r--r--test/user-template/user/psprint/fontmetric/NewCenturySchlbk-Bold.afm1549
-rw-r--r--test/user-template/user/psprint/fontmetric/NewCenturySchlbk-BoldItalic.afm2997
-rw-r--r--test/user-template/user/psprint/fontmetric/NewCenturySchlbk-Italic.afm2040
-rw-r--r--test/user-template/user/psprint/fontmetric/NewCenturySchlbk-Roman.afm1824
-rw-r--r--test/user-template/user/psprint/fontmetric/Palatino-Bold.afm1172
-rw-r--r--test/user-template/user/psprint/fontmetric/Palatino-BoldItalic.afm1316
-rw-r--r--test/user-template/user/psprint/fontmetric/Palatino-Italic.afm1306
-rw-r--r--test/user-template/user/psprint/fontmetric/Palatino-Roman.afm1375
-rw-r--r--test/user-template/user/psprint/fontmetric/Symbol.afm212
-rw-r--r--test/user-template/user/psprint/fontmetric/Times-Bold.afm2586
-rw-r--r--test/user-template/user/psprint/fontmetric/Times-BoldItalic.afm2382
-rw-r--r--test/user-template/user/psprint/fontmetric/Times-Italic.afm2665
-rw-r--r--test/user-template/user/psprint/fontmetric/Times-Roman.afm2417
-rw-r--r--test/user-template/user/psprint/fontmetric/ZapfDingbats.afm224
-rw-r--r--test/user-template/user/psprint/pspfontcache1198
-rw-r--r--test/user-template/user/psprint/psprint.conf114
-rw-r--r--test/user-template/user/registry/Langpack-en-US.xcd2
-rw-r--r--test/user-template/user/registry/base.xcd2
-rw-r--r--test/user-template/user/registry/calc.xcd2
-rw-r--r--test/user-template/user/registry/draw.xcd2
-rw-r--r--test/user-template/user/registry/gnome.xcd2
-rw-r--r--test/user-template/user/registry/graphicfilter.xcd2
-rw-r--r--test/user-template/user/registry/impress.xcd2
-rw-r--r--test/user-template/user/registry/lingucomponent.xcd2
-rw-r--r--test/user-template/user/registry/main.xcd42
-rw-r--r--test/user-template/user/registry/math.xcd2
-rw-r--r--test/user-template/user/registry/ogltrans.xcd2
-rw-r--r--test/user-template/user/registry/oo-ad-ldap.xcd.sample153
-rw-r--r--test/user-template/user/registry/oo-ldap.xcd.sample156
-rw-r--r--test/user-template/user/registry/palm.xcd2
-rw-r--r--test/user-template/user/registry/pocketexcel.xcd2
-rw-r--r--test/user-template/user/registry/pocketword.xcd2
-rw-r--r--test/user-template/user/registry/pyuno.xcd2
-rw-r--r--test/user-template/user/registry/res/fcfg_langpack_en-US.xcd2
-rw-r--r--test/user-template/user/registry/writer.xcd2
-rw-r--r--test/user-template/user/registry/xsltfilter.xcd2
-rw-r--r--test/user-template/user/template/common/layout/.memdump4
-rw-r--r--test/user-template/user/template/common/layout/lyt-aqua.otpbin0 -> 31976 bytes-rw-r--r--test/user-template/user/template/common/layout/lyt-blackandwhite.otpbin0 -> 198907 bytes-rw-r--r--test/user-template/user/template/common/layout/lyt-bluegrey.otpbin0 -> 292429 bytes-rw-r--r--test/user-template/user/template/common/layout/lyt-bluelinesgrad.otpbin0 -> 47833 bytes-rw-r--r--test/user-template/user/template/common/layout/lyt-bluetitledown.otpbin0 -> 75706 bytes-rw-r--r--test/user-template/user/template/common/layout/lyt-book.otpbin0 -> 1144603 bytes-rw-r--r--test/user-template/user/template/common/layout/lyt-brown.otpbin0 -> 59272 bytes-rw-r--r--test/user-template/user/template/common/layout/lyt-charglow.otpbin0 -> 84988 bytes-rw-r--r--test/user-template/user/template/common/layout/lyt-forest.otpbin0 -> 721912 bytes-rw-r--r--test/user-template/user/template/common/layout/lyt-frepa.otpbin0 -> 68120 bytes-rw-r--r--test/user-template/user/template/common/layout/lyt-glacier.otpbin0 -> 654171 bytes-rw-r--r--test/user-template/user/template/common/layout/lyt-greengradlines.otpbin0 -> 71645 bytes-rw-r--r--test/user-template/user/template/common/layout/lyt-keyboard.otpbin0 -> 517630 bytes-rw-r--r--test/user-template/user/template/common/layout/lyt-movwaves.otpbin0 -> 55952 bytes-rw-r--r--test/user-template/user/template/common/layout/lyt-numdark.otpbin0 -> 327914 bytes-rw-r--r--test/user-template/user/template/common/layout/lyt-ocean.otpbin0 -> 13934 bytes-rw-r--r--test/user-template/user/template/common/layout/lyt-organic.otpbin0 -> 64257 bytes-rw-r--r--test/user-template/user/template/common/layout/lyt-paper.otpbin0 -> 706260 bytes-rw-r--r--test/user-template/user/template/common/layout/lyt-rededges.otpbin0 -> 502646 bytes-rw-r--r--test/user-template/user/template/common/layout/lyt-roundedrect.otpbin0 -> 125326 bytes-rw-r--r--test/user-template/user/template/common/layout/lyt-sunrise.otpbin0 -> 115684 bytes-rw-r--r--test/user-template/user/template/common/layout/lyt-techpoly.otpbin0 -> 312388 bytes-rw-r--r--test/user-template/user/template/common/layout/lyt-tunnel.otpbin0 -> 52342 bytes-rw-r--r--test/user-template/user/template/common/layout/lyt-water.otpbin0 -> 507227 bytes-rw-r--r--test/user-template/user/template/common/layout/lyt-wine.otpbin0 -> 652397 bytes-rw-r--r--test/user-template/user/template/en-US/internal/html.stwbin0 -> 5335 bytes-rw-r--r--test/user-template/user/template/en-US/internal/idxexample.odtbin0 -> 21126 bytes-rw-r--r--test/user-template/user/template/en-US/presnt/.memdump4
-rw-r--r--test/user-template/user/template/en-US/presnt/prs-novelty.otpbin0 -> 25239 bytes-rw-r--r--test/user-template/user/template/en-US/presnt/prs-strategy.otpbin0 -> 66743 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/agenda/10grey.ottbin0 -> 10240 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/agenda/1simple.ottbin0 -> 10009 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/agenda/2elegant.ottbin0 -> 14214 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/agenda/3modern.ottbin0 -> 10529 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/agenda/4classic.ottbin0 -> 10011 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/agenda/5blue.ottbin0 -> 10088 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/agenda/6orange.ottbin0 -> 10529 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/agenda/7red.ottbin0 -> 10493 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/agenda/8green.ottbin0 -> 10202 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/agenda/9colorful.ottbin0 -> 10047 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/agenda/aw-10grey.ottbin0 -> 10240 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/agenda/aw-1simple.ottbin0 -> 10009 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/agenda/aw-2elegant.ottbin0 -> 14215 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/agenda/aw-3modern.ottbin0 -> 10529 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/agenda/aw-4classic.ottbin0 -> 10011 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/agenda/aw-5blue.ottbin0 -> 10087 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/agenda/aw-6orange.ottbin0 -> 10530 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/agenda/aw-7red.ottbin0 -> 12159 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/agenda/aw-8green.ottbin0 -> 10202 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/agenda/aw-9colorful.ottbin0 -> 10087 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/fax/bus-classic-pri_f.ottbin0 -> 13433 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/fax/bus-classic_f.ottbin0 -> 25806 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/fax/bus-modern-pri_f.ottbin0 -> 13391 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/fax/bus-modern_f.ottbin0 -> 25693 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/fax/pri-bottle_f.ottbin0 -> 48122 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/fax/pri-fax_f.ottbin0 -> 58398 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/fax/pri-lines_f.ottbin0 -> 12192 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/fax/pri-marine_f.ottbin0 -> 19214 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/report/cnt-01.ottbin0 -> 8813 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/report/cnt-011.ottbin0 -> 8803 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/report/cnt-012.ottbin0 -> 8707 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/report/cnt-02.ottbin0 -> 8666 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/report/cnt-021.ottbin0 -> 8738 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/report/cnt-022.ottbin0 -> 8594 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/report/cnt-03.ottbin0 -> 9003 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/report/cnt-031.ottbin0 -> 8999 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/report/cnt-032.ottbin0 -> 8931 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/report/cnt-04.ottbin0 -> 9119 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/report/cnt-041.ottbin0 -> 9264 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/report/cnt-042.ottbin0 -> 8959 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/report/cnt-05.ottbin0 -> 8651 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/report/cnt-051.ottbin0 -> 8635 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/report/cnt-052.ottbin0 -> 8633 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/report/cnt-06.ottbin0 -> 8900 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/report/cnt-061.ottbin0 -> 8831 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/report/cnt-062.ottbin0 -> 8763 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/report/cnt-default.ottbin0 -> 8777 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/report/stl-01.ottbin0 -> 35361 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/report/stl-02.ottbin0 -> 25203 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/report/stl-03.ottbin0 -> 45630 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/report/stl-04.ottbin0 -> 23224 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/report/stl-05.ottbin0 -> 45601 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/report/stl-06.ottbin0 -> 16824 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/report/stl-07.ottbin0 -> 7951 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/report/stl-08.ottbin0 -> 10871 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/report/stl-09.ottbin0 -> 48567 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/report/stl-default.ottbin0 -> 6857 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/styles/black_white.otsbin0 -> 8204 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/styles/blackberry.otsbin0 -> 8150 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/styles/default.otsbin0 -> 8018 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/styles/diner.otsbin0 -> 8590 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/styles/fall.otsbin0 -> 8077 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/styles/glacier.otsbin0 -> 8185 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/styles/green_grapes.otsbin0 -> 8055 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/styles/jeans.otsbin0 -> 8059 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/styles/marine.otsbin0 -> 7941 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/styles/millennium.otsbin0 -> 8189 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/styles/nature.otsbin0 -> 8110 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/styles/neon.otsbin0 -> 8421 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/styles/night.otsbin0 -> 8201 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/styles/nostalgic.otsbin0 -> 8260 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/styles/pastell.otsbin0 -> 8160 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/styles/pool.otsbin0 -> 8360 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/styles/pumpkin.otsbin0 -> 8005 bytes-rw-r--r--test/user-template/user/template/en-US/wizard/styles/xos.otsbin0 -> 8072 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/Import_1.bmpbin0 -> 66480 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/Import_3.bmpbin0 -> 66480 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/Import_4.bmpbin0 -> 66480 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/MS-Import_2-1.bmpbin0 -> 66480 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/MS-Import_2-2.bmpbin0 -> 66480 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/MS-Import_2-3.bmpbin0 -> 66480 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/XML-Import_2-1.bmpbin0 -> 66480 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/XML-Import_2-2.bmpbin0 -> 66480 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/XML-Import_2-3.bmpbin0 -> 66480 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/XML-Import_2-4.bmpbin0 -> 66480 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/brasil.gifbin0 -> 6075 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/cancel_down.bmpbin0 -> 416 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/cancel_up.bmpbin0 -> 416 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/china.gifbin0 -> 10764 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/denmark.gifbin0 -> 12229 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/down.bmpbin0 -> 644 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/end.bmpbin0 -> 13190 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/euro_1.bmpbin0 -> 23344 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/euro_2.bmpbin0 -> 66480 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/euro_3.bmpbin0 -> 66480 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/finland.gifbin0 -> 9569 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/france.gifbin0 -> 7934 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/ftpconnected.gifbin0 -> 114 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/ftpconnecting.gifbin0 -> 166 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/ftperror.gifbin0 -> 123 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/ftpunknown.gifbin0 -> 152 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/germany.wmfbin0 -> 18306 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/greece.gifbin0 -> 13597 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/italia.gifbin0 -> 11213 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/japan.gifbin0 -> 7283 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/maximize.bmpbin0 -> 822 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/minimize.bmpbin0 -> 726 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/netherlands.gifbin0 -> 8639 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/okay_down.bmpbin0 -> 416 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/okay_up.bmpbin0 -> 416 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/polska.gifbin0 -> 7839 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/portugal.gifbin0 -> 5638 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/report.bmpbin0 -> 15744 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/russia.gifbin0 -> 7711 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/spain.gifbin0 -> 6863 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/sweden.gifbin0 -> 8605 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/taiwan.gifbin0 -> 4900 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/turkey.gifbin0 -> 6000 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/tutorial_background.gifbin0 -> 1888 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/up.bmpbin0 -> 644 bytes-rw-r--r--test/user-template/user/template/wizard/bitmap/usa.gifbin0 -> 7208 bytes-rw-r--r--test/user-template/user/template/wizard/letter/bg/bus-elegant_l.ottbin0 -> 33481 bytes-rw-r--r--test/user-template/user/template/wizard/letter/bg/bus-modern_l.ottbin0 -> 33305 bytes-rw-r--r--test/user-template/user/template/wizard/letter/bg/bus-office_l.ottbin0 -> 33302 bytes-rw-r--r--test/user-template/user/template/wizard/letter/bg/off-elegant_l.ottbin0 -> 15115 bytes-rw-r--r--test/user-template/user/template/wizard/letter/bg/off-modern_l.ottbin0 -> 14690 bytes-rw-r--r--test/user-template/user/template/wizard/letter/bg/off-office_l.ottbin0 -> 14392 bytes-rw-r--r--test/user-template/user/template/wizard/letter/bg/pri-bottle_l.ottbin0 -> 48155 bytes-rw-r--r--test/user-template/user/template/wizard/letter/bg/pri-mail_l.ottbin0 -> 24078 bytes-rw-r--r--test/user-template/user/template/wizard/letter/bg/pri-marine_l.ottbin0 -> 19317 bytes-rw-r--r--test/user-template/user/template/wizard/letter/bg/pri-redline_l.ottbin0 -> 12133 bytes-rw-r--r--test/user-template/user/template/wizard/letter/cs/bus-elegant_l.ottbin0 -> 35308 bytes-rw-r--r--test/user-template/user/template/wizard/letter/cs/bus-modern_l.ottbin0 -> 35774 bytes-rw-r--r--test/user-template/user/template/wizard/letter/cs/bus-office_l.ottbin0 -> 35420 bytes-rw-r--r--test/user-template/user/template/wizard/letter/cs/off-elegant_l.ottbin0 -> 16796 bytes-rw-r--r--test/user-template/user/template/wizard/letter/cs/off-modern_l.ottbin0 -> 16474 bytes-rw-r--r--test/user-template/user/template/wizard/letter/cs/off-office_l.ottbin0 -> 16099 bytes-rw-r--r--test/user-template/user/template/wizard/letter/cs/pri-bottle_l.ottbin0 -> 48166 bytes-rw-r--r--test/user-template/user/template/wizard/letter/cs/pri-mail_l.ottbin0 -> 24034 bytes-rw-r--r--test/user-template/user/template/wizard/letter/cs/pri-marine_l.ottbin0 -> 19287 bytes-rw-r--r--test/user-template/user/template/wizard/letter/cs/pri-redline_l.ottbin0 -> 12291 bytes-rw-r--r--test/user-template/user/template/wizard/letter/da/bus-elegant_l.ottbin0 -> 34076 bytes-rw-r--r--test/user-template/user/template/wizard/letter/da/bus-modern_l.ottbin0 -> 34201 bytes-rw-r--r--test/user-template/user/template/wizard/letter/da/bus-office_l.ottbin0 -> 34097 bytes-rw-r--r--test/user-template/user/template/wizard/letter/da/off-elegant_l.ottbin0 -> 15647 bytes-rw-r--r--test/user-template/user/template/wizard/letter/da/off-modern_l.ottbin0 -> 15245 bytes-rw-r--r--test/user-template/user/template/wizard/letter/da/off-office_l.ottbin0 -> 14769 bytes-rw-r--r--test/user-template/user/template/wizard/letter/da/pri-bottle_l.ottbin0 -> 48226 bytes-rw-r--r--test/user-template/user/template/wizard/letter/da/pri-mail_l.ottbin0 -> 24245 bytes-rw-r--r--test/user-template/user/template/wizard/letter/da/pri-marine_l.ottbin0 -> 19385 bytes-rw-r--r--test/user-template/user/template/wizard/letter/da/pri-redline_l.ottbin0 -> 12348 bytes-rw-r--r--test/user-template/user/template/wizard/letter/de/bus-elegant_l.ottbin0 -> 36299 bytes-rw-r--r--test/user-template/user/template/wizard/letter/de/bus-modern_l.ottbin0 -> 36496 bytes-rw-r--r--test/user-template/user/template/wizard/letter/de/bus-office_l.ottbin0 -> 36279 bytes-rw-r--r--test/user-template/user/template/wizard/letter/de/off-elegant_l.ottbin0 -> 15742 bytes-rw-r--r--test/user-template/user/template/wizard/letter/de/off-modern_l.ottbin0 -> 15315 bytes-rw-r--r--test/user-template/user/template/wizard/letter/de/off-office_l.ottbin0 -> 14789 bytes-rw-r--r--test/user-template/user/template/wizard/letter/de/pri-bottle_l.ottbin0 -> 48191 bytes-rw-r--r--test/user-template/user/template/wizard/letter/de/pri-mail_l.ottbin0 -> 24168 bytes-rw-r--r--test/user-template/user/template/wizard/letter/de/pri-marine_l.ottbin0 -> 19306 bytes-rw-r--r--test/user-template/user/template/wizard/letter/de/pri-redline_l.ottbin0 -> 12473 bytes-rw-r--r--test/user-template/user/template/wizard/letter/en-GB/bus-elegant_l.ottbin0 -> 34203 bytes-rw-r--r--test/user-template/user/template/wizard/letter/en-GB/bus-modern_l.ottbin0 -> 34370 bytes-rw-r--r--test/user-template/user/template/wizard/letter/en-GB/bus-office_l.ottbin0 -> 34188 bytes-rw-r--r--test/user-template/user/template/wizard/letter/en-GB/off-elegant_l.ottbin0 -> 15692 bytes-rw-r--r--test/user-template/user/template/wizard/letter/en-GB/off-modern_l.ottbin0 -> 15332 bytes-rw-r--r--test/user-template/user/template/wizard/letter/en-GB/off-office_l.ottbin0 -> 14881 bytes-rw-r--r--test/user-template/user/template/wizard/letter/en-GB/pri-bottle_l.ottbin0 -> 47926 bytes-rw-r--r--test/user-template/user/template/wizard/letter/en-GB/pri-mail_l.ottbin0 -> 23854 bytes-rw-r--r--test/user-template/user/template/wizard/letter/en-GB/pri-marine_l.ottbin0 -> 19125 bytes-rw-r--r--test/user-template/user/template/wizard/letter/en-GB/pri-redline_l.ottbin0 -> 12148 bytes-rw-r--r--test/user-template/user/template/wizard/letter/en-US/bus-elegant_l.ottbin0 -> 33945 bytes-rw-r--r--test/user-template/user/template/wizard/letter/en-US/bus-modern_l.ottbin0 -> 34270 bytes-rw-r--r--test/user-template/user/template/wizard/letter/en-US/bus-office_l.ottbin0 -> 34041 bytes-rw-r--r--test/user-template/user/template/wizard/letter/en-US/off-elegant_l.ottbin0 -> 15629 bytes-rw-r--r--test/user-template/user/template/wizard/letter/en-US/off-modern_l.ottbin0 -> 15341 bytes-rw-r--r--test/user-template/user/template/wizard/letter/en-US/off-office_l.ottbin0 -> 14731 bytes-rw-r--r--test/user-template/user/template/wizard/letter/en-US/pri-bottle_l.ottbin0 -> 48260 bytes-rw-r--r--test/user-template/user/template/wizard/letter/en-US/pri-mail_l.ottbin0 -> 24144 bytes-rw-r--r--test/user-template/user/template/wizard/letter/en-US/pri-marine_l.ottbin0 -> 19326 bytes-rw-r--r--test/user-template/user/template/wizard/letter/en-US/pri-redline_l.ottbin0 -> 12423 bytes-rw-r--r--test/user-template/user/template/wizard/letter/es/bus-elegant_l.ottbin0 -> 35196 bytes-rw-r--r--test/user-template/user/template/wizard/letter/es/bus-modern_l.ottbin0 -> 35293 bytes-rw-r--r--test/user-template/user/template/wizard/letter/es/bus-office_l.ottbin0 -> 35288 bytes-rw-r--r--test/user-template/user/template/wizard/letter/es/off-elegant_l.ottbin0 -> 15714 bytes-rw-r--r--test/user-template/user/template/wizard/letter/es/off-modern_l.ottbin0 -> 15514 bytes-rw-r--r--test/user-template/user/template/wizard/letter/es/off-office_l.ottbin0 -> 14755 bytes-rw-r--r--test/user-template/user/template/wizard/letter/es/pri-bottle_l.ottbin0 -> 48283 bytes-rw-r--r--test/user-template/user/template/wizard/letter/es/pri-mail_l.ottbin0 -> 24241 bytes-rw-r--r--test/user-template/user/template/wizard/letter/es/pri-marine_l.ottbin0 -> 19443 bytes-rw-r--r--test/user-template/user/template/wizard/letter/es/pri-redline_l.ottbin0 -> 12544 bytes-rw-r--r--test/user-template/user/template/wizard/letter/eu/bus-elegant_l.ottbin0 -> 33891 bytes-rw-r--r--test/user-template/user/template/wizard/letter/eu/bus-modern_l.ottbin0 -> 33889 bytes-rw-r--r--test/user-template/user/template/wizard/letter/eu/bus-office_l.ottbin0 -> 33857 bytes-rw-r--r--test/user-template/user/template/wizard/letter/eu/off-elegant_l.ottbin0 -> 15864 bytes-rw-r--r--test/user-template/user/template/wizard/letter/eu/off-modern_l.ottbin0 -> 15381 bytes-rw-r--r--test/user-template/user/template/wizard/letter/eu/off-office_l.ottbin0 -> 15020 bytes-rw-r--r--test/user-template/user/template/wizard/letter/eu/pri-bottle_l.ottbin0 -> 49465 bytes-rw-r--r--test/user-template/user/template/wizard/letter/eu/pri-mail_l.ottbin0 -> 25367 bytes-rw-r--r--test/user-template/user/template/wizard/letter/eu/pri-marine_l.ottbin0 -> 20630 bytes-rw-r--r--test/user-template/user/template/wizard/letter/eu/pri-redline_l.ottbin0 -> 13539 bytes-rw-r--r--test/user-template/user/template/wizard/letter/fr/bus-elegant_l.ottbin0 -> 35087 bytes-rw-r--r--test/user-template/user/template/wizard/letter/fr/bus-modern_l.ottbin0 -> 35258 bytes-rw-r--r--test/user-template/user/template/wizard/letter/fr/bus-office_l.ottbin0 -> 35187 bytes-rw-r--r--test/user-template/user/template/wizard/letter/fr/off-elegant_l.ottbin0 -> 15706 bytes-rw-r--r--test/user-template/user/template/wizard/letter/fr/off-modern_l.ottbin0 -> 15517 bytes-rw-r--r--test/user-template/user/template/wizard/letter/fr/off-office_l.ottbin0 -> 14721 bytes-rw-r--r--test/user-template/user/template/wizard/letter/fr/pri-bottle_l.ottbin0 -> 48247 bytes-rw-r--r--test/user-template/user/template/wizard/letter/fr/pri-mail_l.ottbin0 -> 24192 bytes-rw-r--r--test/user-template/user/template/wizard/letter/fr/pri-marine_l.ottbin0 -> 19393 bytes-rw-r--r--test/user-template/user/template/wizard/letter/fr/pri-redline_l.ottbin0 -> 12485 bytes-rw-r--r--test/user-template/user/template/wizard/letter/hu/bus-elegant_l.ottbin0 -> 28811 bytes-rw-r--r--test/user-template/user/template/wizard/letter/hu/bus-modern_l.ottbin0 -> 29220 bytes-rw-r--r--test/user-template/user/template/wizard/letter/hu/bus-office_l.ottbin0 -> 28943 bytes-rw-r--r--test/user-template/user/template/wizard/letter/hu/off-elegant_l.ottbin0 -> 17014 bytes-rw-r--r--test/user-template/user/template/wizard/letter/hu/off-modern_l.ottbin0 -> 16696 bytes-rw-r--r--test/user-template/user/template/wizard/letter/hu/off-office_l.ottbin0 -> 16232 bytes-rw-r--r--test/user-template/user/template/wizard/letter/hu/pri-bottle_l.ottbin0 -> 48573 bytes-rw-r--r--test/user-template/user/template/wizard/letter/hu/pri-mail_l.ottbin0 -> 24608 bytes-rw-r--r--test/user-template/user/template/wizard/letter/hu/pri-marine_l.ottbin0 -> 19848 bytes-rw-r--r--test/user-template/user/template/wizard/letter/hu/pri-redline_l.ottbin0 -> 12724 bytes-rw-r--r--test/user-template/user/template/wizard/letter/it/bus-elegant_l.ottbin0 -> 35132 bytes-rw-r--r--test/user-template/user/template/wizard/letter/it/bus-modern_l.ottbin0 -> 35272 bytes-rw-r--r--test/user-template/user/template/wizard/letter/it/bus-office_l.ottbin0 -> 35239 bytes-rw-r--r--test/user-template/user/template/wizard/letter/it/off-elegant_l.ottbin0 -> 15685 bytes-rw-r--r--test/user-template/user/template/wizard/letter/it/off-modern_l.ottbin0 -> 15531 bytes-rw-r--r--test/user-template/user/template/wizard/letter/it/off-office_l.ottbin0 -> 14763 bytes-rw-r--r--test/user-template/user/template/wizard/letter/it/pri-bottle_l.ottbin0 -> 48251 bytes-rw-r--r--test/user-template/user/template/wizard/letter/it/pri-mail_l.ottbin0 -> 24212 bytes-rw-r--r--test/user-template/user/template/wizard/letter/it/pri-marine_l.ottbin0 -> 19414 bytes-rw-r--r--test/user-template/user/template/wizard/letter/it/pri-redline_l.ottbin0 -> 12505 bytes-rw-r--r--test/user-template/user/template/wizard/letter/ja/bus-elegant_l.ottbin0 -> 32851 bytes-rw-r--r--test/user-template/user/template/wizard/letter/ja/bus-modern_l.ottbin0 -> 32811 bytes-rw-r--r--test/user-template/user/template/wizard/letter/ja/bus-office_l.ottbin0 -> 32866 bytes-rw-r--r--test/user-template/user/template/wizard/letter/ja/off-elegant_l.ottbin0 -> 13980 bytes-rw-r--r--test/user-template/user/template/wizard/letter/ja/off-modern_l.ottbin0 -> 13542 bytes-rw-r--r--test/user-template/user/template/wizard/letter/ja/off-office_l.ottbin0 -> 13078 bytes-rw-r--r--test/user-template/user/template/wizard/letter/ja/pri-bottle_l.ottbin0 -> 48475 bytes-rw-r--r--test/user-template/user/template/wizard/letter/ja/pri-mail_l.ottbin0 -> 24376 bytes-rw-r--r--test/user-template/user/template/wizard/letter/ja/pri-marine_l.ottbin0 -> 19693 bytes-rw-r--r--test/user-template/user/template/wizard/letter/ja/pri-redline_l.ottbin0 -> 12690 bytes-rw-r--r--test/user-template/user/template/wizard/letter/km/bus-elegant_l.ottbin0 -> 33195 bytes-rw-r--r--test/user-template/user/template/wizard/letter/km/bus-modern_l.ottbin0 -> 33366 bytes-rw-r--r--test/user-template/user/template/wizard/letter/km/bus-office_l.ottbin0 -> 33297 bytes-rw-r--r--test/user-template/user/template/wizard/letter/km/off-elegant_l.ottbin0 -> 15136 bytes-rw-r--r--test/user-template/user/template/wizard/letter/km/off-modern_l.ottbin0 -> 14766 bytes-rw-r--r--test/user-template/user/template/wizard/letter/km/off-office_l.ottbin0 -> 14343 bytes-rw-r--r--test/user-template/user/template/wizard/letter/km/pri-bottle_l.ottbin0 -> 48755 bytes-rw-r--r--test/user-template/user/template/wizard/letter/km/pri-mail_l.ottbin0 -> 24707 bytes-rw-r--r--test/user-template/user/template/wizard/letter/km/pri-marine_l.ottbin0 -> 19963 bytes-rw-r--r--test/user-template/user/template/wizard/letter/km/pri-redline_l.ottbin0 -> 12974 bytes-rw-r--r--test/user-template/user/template/wizard/letter/ko/bus-elegant_l.ottbin0 -> 33016 bytes-rw-r--r--test/user-template/user/template/wizard/letter/ko/bus-modern_l.ottbin0 -> 32993 bytes-rw-r--r--test/user-template/user/template/wizard/letter/ko/bus-office_l.ottbin0 -> 33110 bytes-rw-r--r--test/user-template/user/template/wizard/letter/ko/off-elegant_l.ottbin0 -> 14164 bytes-rw-r--r--test/user-template/user/template/wizard/letter/ko/off-modern_l.ottbin0 -> 13716 bytes-rw-r--r--test/user-template/user/template/wizard/letter/ko/off-office_l.ottbin0 -> 13242 bytes-rw-r--r--test/user-template/user/template/wizard/letter/ko/pri-bottle_l.ottbin0 -> 48425 bytes-rw-r--r--test/user-template/user/template/wizard/letter/ko/pri-mail_l.ottbin0 -> 24371 bytes-rw-r--r--test/user-template/user/template/wizard/letter/ko/pri-marine_l.ottbin0 -> 19629 bytes-rw-r--r--test/user-template/user/template/wizard/letter/ko/pri-redline_l.ottbin0 -> 12664 bytes-rw-r--r--test/user-template/user/template/wizard/letter/nl/bus-elegant_l.ottbin0 -> 35129 bytes-rw-r--r--test/user-template/user/template/wizard/letter/nl/bus-modern_l.ottbin0 -> 35296 bytes-rw-r--r--test/user-template/user/template/wizard/letter/nl/bus-office_l.ottbin0 -> 35304 bytes-rw-r--r--test/user-template/user/template/wizard/letter/nl/off-elegant_l.ottbin0 -> 15686 bytes-rw-r--r--test/user-template/user/template/wizard/letter/nl/off-modern_l.ottbin0 -> 15300 bytes-rw-r--r--test/user-template/user/template/wizard/letter/nl/off-office_l.ottbin0 -> 14769 bytes-rw-r--r--test/user-template/user/template/wizard/letter/nl/pri-bottle_l.ottbin0 -> 48038 bytes-rw-r--r--test/user-template/user/template/wizard/letter/nl/pri-mail_l.ottbin0 -> 23992 bytes-rw-r--r--test/user-template/user/template/wizard/letter/nl/pri-marine_l.ottbin0 -> 19194 bytes-rw-r--r--test/user-template/user/template/wizard/letter/nl/pri-redline_l.ottbin0 -> 12272 bytes-rw-r--r--test/user-template/user/template/wizard/letter/pl/bus-elegant_l.ottbin0 -> 35321 bytes-rw-r--r--test/user-template/user/template/wizard/letter/pl/bus-modern_l.ottbin0 -> 35491 bytes-rw-r--r--test/user-template/user/template/wizard/letter/pl/bus-office_l.ottbin0 -> 35400 bytes-rw-r--r--test/user-template/user/template/wizard/letter/pl/off-elegant_l.ottbin0 -> 15723 bytes-rw-r--r--test/user-template/user/template/wizard/letter/pl/off-modern_l.ottbin0 -> 15361 bytes-rw-r--r--test/user-template/user/template/wizard/letter/pl/off-office_l.ottbin0 -> 14779 bytes-rw-r--r--test/user-template/user/template/wizard/letter/pl/pri-bottle_l.ottbin0 -> 48075 bytes-rw-r--r--test/user-template/user/template/wizard/letter/pl/pri-mail_l.ottbin0 -> 24013 bytes-rw-r--r--test/user-template/user/template/wizard/letter/pl/pri-marine_l.ottbin0 -> 19287 bytes-rw-r--r--test/user-template/user/template/wizard/letter/pl/pri-redline_l.ottbin0 -> 12202 bytes-rw-r--r--test/user-template/user/template/wizard/letter/pt-BR/bus-elegant_l.ottbin0 -> 32898 bytes-rw-r--r--test/user-template/user/template/wizard/letter/pt-BR/bus-modern_l.ottbin0 -> 32976 bytes-rw-r--r--test/user-template/user/template/wizard/letter/pt-BR/bus-office_l.ottbin0 -> 33065 bytes-rw-r--r--test/user-template/user/template/wizard/letter/pt-BR/off-elegant_l.ottbin0 -> 13883 bytes-rw-r--r--test/user-template/user/template/wizard/letter/pt-BR/off-modern_l.ottbin0 -> 13540 bytes-rw-r--r--test/user-template/user/template/wizard/letter/pt-BR/off-office_l.ottbin0 -> 13125 bytes-rw-r--r--test/user-template/user/template/wizard/letter/pt-BR/pri-bottle_l.ottbin0 -> 48298 bytes-rw-r--r--test/user-template/user/template/wizard/letter/pt-BR/pri-mail_l.ottbin0 -> 24283 bytes-rw-r--r--test/user-template/user/template/wizard/letter/pt-BR/pri-marine_l.ottbin0 -> 19487 bytes-rw-r--r--test/user-template/user/template/wizard/letter/pt-BR/pri-redline_l.ottbin0 -> 12581 bytes-rw-r--r--test/user-template/user/template/wizard/letter/pt/bus-elegant_l.ottbin0 -> 34166 bytes-rw-r--r--test/user-template/user/template/wizard/letter/pt/bus-modern_l.ottbin0 -> 34295 bytes-rw-r--r--test/user-template/user/template/wizard/letter/pt/bus-office_l.ottbin0 -> 34137 bytes-rw-r--r--test/user-template/user/template/wizard/letter/pt/off-elegant_l.ottbin0 -> 15666 bytes-rw-r--r--test/user-template/user/template/wizard/letter/pt/off-modern_l.ottbin0 -> 15271 bytes-rw-r--r--test/user-template/user/template/wizard/letter/pt/off-office_l.ottbin0 -> 14805 bytes-rw-r--r--test/user-template/user/template/wizard/letter/pt/pri-bottle_l.ottbin0 -> 49425 bytes-rw-r--r--test/user-template/user/template/wizard/letter/pt/pri-mail_l.ottbin0 -> 25343 bytes-rw-r--r--test/user-template/user/template/wizard/letter/pt/pri-marine_l.ottbin0 -> 20592 bytes-rw-r--r--test/user-template/user/template/wizard/letter/pt/pri-redline_l.ottbin0 -> 13497 bytes-rw-r--r--test/user-template/user/template/wizard/letter/ru/bus-elegant_l.ottbin0 -> 32769 bytes-rw-r--r--test/user-template/user/template/wizard/letter/ru/bus-modern_l.ottbin0 -> 32828 bytes-rw-r--r--test/user-template/user/template/wizard/letter/ru/bus-office_l.ottbin0 -> 32818 bytes-rw-r--r--test/user-template/user/template/wizard/letter/ru/off-elegant_l.ottbin0 -> 14608 bytes-rw-r--r--test/user-template/user/template/wizard/letter/ru/off-modern_l.ottbin0 -> 13644 bytes-rw-r--r--test/user-template/user/template/wizard/letter/ru/off-office_l.ottbin0 -> 13848 bytes-rw-r--r--test/user-template/user/template/wizard/letter/ru/pri-bottle_l.ottbin0 -> 48536 bytes-rw-r--r--test/user-template/user/template/wizard/letter/ru/pri-mail_l.ottbin0 -> 24413 bytes-rw-r--r--test/user-template/user/template/wizard/letter/ru/pri-marine_l.ottbin0 -> 19526 bytes-rw-r--r--test/user-template/user/template/wizard/letter/ru/pri-redline_l.ottbin0 -> 12568 bytes-rw-r--r--test/user-template/user/template/wizard/letter/sk/bus-elegant_l.ottbin0 -> 32678 bytes-rw-r--r--test/user-template/user/template/wizard/letter/sk/bus-modern_l.ottbin0 -> 32647 bytes-rw-r--r--test/user-template/user/template/wizard/letter/sk/bus-office_l.ottbin0 -> 32986 bytes-rw-r--r--test/user-template/user/template/wizard/letter/sk/off-elegant_l.ottbin0 -> 14478 bytes-rw-r--r--test/user-template/user/template/wizard/letter/sk/off-modern_l.ottbin0 -> 13966 bytes-rw-r--r--test/user-template/user/template/wizard/letter/sk/off-office_l.ottbin0 -> 13750 bytes-rw-r--r--test/user-template/user/template/wizard/letter/sk/pri-bottle_l.ottbin0 -> 48272 bytes-rw-r--r--test/user-template/user/template/wizard/letter/sk/pri-mail_l.ottbin0 -> 24170 bytes-rw-r--r--test/user-template/user/template/wizard/letter/sk/pri-marine_l.ottbin0 -> 19478 bytes-rw-r--r--test/user-template/user/template/wizard/letter/sk/pri-redline_l.ottbin0 -> 12598 bytes-rw-r--r--test/user-template/user/template/wizard/letter/sl/bus-elegant_l.ottbin0 -> 19390 bytes-rw-r--r--test/user-template/user/template/wizard/letter/sl/bus-modern_l.ottbin0 -> 19439 bytes-rw-r--r--test/user-template/user/template/wizard/letter/sl/bus-office_l.ottbin0 -> 19454 bytes-rw-r--r--test/user-template/user/template/wizard/letter/sl/off-elegant_l.ottbin0 -> 13944 bytes-rw-r--r--test/user-template/user/template/wizard/letter/sl/off-modern_l.ottbin0 -> 13501 bytes-rw-r--r--test/user-template/user/template/wizard/letter/sl/off-office_l.ottbin0 -> 13109 bytes-rw-r--r--test/user-template/user/template/wizard/letter/sl/pri-bottle_l.ottbin0 -> 47978 bytes-rw-r--r--test/user-template/user/template/wizard/letter/sl/pri-mail_l.ottbin0 -> 23904 bytes-rw-r--r--test/user-template/user/template/wizard/letter/sl/pri-marine_l.ottbin0 -> 19152 bytes-rw-r--r--test/user-template/user/template/wizard/letter/sl/pri-redline_l.ottbin0 -> 11951 bytes-rw-r--r--test/user-template/user/template/wizard/letter/sv/bus-elegant_l.ottbin0 -> 35195 bytes-rw-r--r--test/user-template/user/template/wizard/letter/sv/bus-modern_l.ottbin0 -> 35342 bytes-rw-r--r--test/user-template/user/template/wizard/letter/sv/bus-office_l.ottbin0 -> 35313 bytes-rw-r--r--test/user-template/user/template/wizard/letter/sv/off-elegant_l.ottbin0 -> 15768 bytes-rw-r--r--test/user-template/user/template/wizard/letter/sv/off-modern_l.ottbin0 -> 15347 bytes-rw-r--r--test/user-template/user/template/wizard/letter/sv/off-office_l.ottbin0 -> 14801 bytes-rw-r--r--test/user-template/user/template/wizard/letter/sv/pri-bottle_l.ottbin0 -> 48237 bytes-rw-r--r--test/user-template/user/template/wizard/letter/sv/pri-mail_l.ottbin0 -> 24226 bytes-rw-r--r--test/user-template/user/template/wizard/letter/sv/pri-marine_l.ottbin0 -> 19359 bytes-rw-r--r--test/user-template/user/template/wizard/letter/sv/pri-redline_l.ottbin0 -> 12522 bytes-rw-r--r--test/user-template/user/template/wizard/letter/tr/bus-elegant_l.ottbin0 -> 32509 bytes-rw-r--r--test/user-template/user/template/wizard/letter/tr/bus-modern_l.ottbin0 -> 32664 bytes-rw-r--r--test/user-template/user/template/wizard/letter/tr/bus-office_l.ottbin0 -> 32593 bytes-rw-r--r--test/user-template/user/template/wizard/letter/tr/off-elegant_l.ottbin0 -> 14371 bytes-rw-r--r--test/user-template/user/template/wizard/letter/tr/off-modern_l.ottbin0 -> 14067 bytes-rw-r--r--test/user-template/user/template/wizard/letter/tr/off-office_l.ottbin0 -> 13636 bytes-rw-r--r--test/user-template/user/template/wizard/letter/tr/pri-bottle_l.ottbin0 -> 48166 bytes-rw-r--r--test/user-template/user/template/wizard/letter/tr/pri-mail_l.ottbin0 -> 24128 bytes-rw-r--r--test/user-template/user/template/wizard/letter/tr/pri-marine_l.ottbin0 -> 19377 bytes-rw-r--r--test/user-template/user/template/wizard/letter/tr/pri-redline_l.ottbin0 -> 12290 bytes-rw-r--r--test/user-template/user/template/wizard/letter/vi/bus-elegant_l.ottbin0 -> 34581 bytes-rw-r--r--test/user-template/user/template/wizard/letter/vi/bus-modern_l.ottbin0 -> 34704 bytes-rw-r--r--test/user-template/user/template/wizard/letter/vi/bus-office_l.ottbin0 -> 34605 bytes-rw-r--r--test/user-template/user/template/wizard/letter/vi/off-elegant_l.ottbin0 -> 15318 bytes-rw-r--r--test/user-template/user/template/wizard/letter/vi/off-modern_l.ottbin0 -> 14885 bytes-rw-r--r--test/user-template/user/template/wizard/letter/vi/off-office_l.ottbin0 -> 14412 bytes-rw-r--r--test/user-template/user/template/wizard/letter/vi/pri-bottle_l.ottbin0 -> 49511 bytes-rw-r--r--test/user-template/user/template/wizard/letter/vi/pri-mail_l.ottbin0 -> 25281 bytes-rw-r--r--test/user-template/user/template/wizard/letter/vi/pri-marine_l.ottbin0 -> 20477 bytes-rw-r--r--test/user-template/user/template/wizard/letter/vi/pri-redline_l.ottbin0 -> 13302 bytes-rw-r--r--test/user-template/user/template/wizard/letter/zh-CN/bus-elegant_l.ottbin0 -> 32964 bytes-rw-r--r--test/user-template/user/template/wizard/letter/zh-CN/bus-modern_l.ottbin0 -> 32935 bytes-rw-r--r--test/user-template/user/template/wizard/letter/zh-CN/bus-office_l.ottbin0 -> 33050 bytes-rw-r--r--test/user-template/user/template/wizard/letter/zh-CN/off-elegant_l.ottbin0 -> 14136 bytes-rw-r--r--test/user-template/user/template/wizard/letter/zh-CN/off-modern_l.ottbin0 -> 13669 bytes-rw-r--r--test/user-template/user/template/wizard/letter/zh-CN/off-office_l.ottbin0 -> 13239 bytes-rw-r--r--test/user-template/user/template/wizard/letter/zh-CN/pri-bottle_l.ottbin0 -> 48484 bytes-rw-r--r--test/user-template/user/template/wizard/letter/zh-CN/pri-mail_l.ottbin0 -> 24392 bytes-rw-r--r--test/user-template/user/template/wizard/letter/zh-CN/pri-marine_l.ottbin0 -> 19680 bytes-rw-r--r--test/user-template/user/template/wizard/letter/zh-CN/pri-redline_l.ottbin0 -> 12693 bytes-rw-r--r--test/user-template/user/template/wizard/letter/zh-TW/bus-elegant_l.ottbin0 -> 32949 bytes-rw-r--r--test/user-template/user/template/wizard/letter/zh-TW/bus-modern_l.ottbin0 -> 32924 bytes-rw-r--r--test/user-template/user/template/wizard/letter/zh-TW/bus-office_l.ottbin0 -> 33059 bytes-rw-r--r--test/user-template/user/template/wizard/letter/zh-TW/off-elegant_l.ottbin0 -> 14096 bytes-rw-r--r--test/user-template/user/template/wizard/letter/zh-TW/off-modern_l.ottbin0 -> 13615 bytes-rw-r--r--test/user-template/user/template/wizard/letter/zh-TW/off-office_l.ottbin0 -> 13206 bytes-rw-r--r--test/user-template/user/template/wizard/letter/zh-TW/pri-bottle_l.ottbin0 -> 48497 bytes-rw-r--r--test/user-template/user/template/wizard/letter/zh-TW/pri-mail_l.ottbin0 -> 24420 bytes-rw-r--r--test/user-template/user/template/wizard/letter/zh-TW/pri-marine_l.ottbin0 -> 19681 bytes-rw-r--r--test/user-template/user/template/wizard/letter/zh-TW/pri-redline_l.ottbin0 -> 12701 bytes-rw-r--r--test/user-template/user/wordbook/en-GB.dic46
-rw-r--r--test/user-template/user/wordbook/en-US.dic46
-rw-r--r--test/user-template/user/wordbook/sl.dic24
-rw-r--r--test/user-template/user/wordbook/technical.dic230
-rw-r--r--test/user-template/user/xslt/common/math.xsl589
-rw-r--r--test/user-template/user/xslt/common/measure_conversion.xsl488
-rw-r--r--test/user-template/user/xslt/docbook/DocBookTemplate.stwbin0 -> 6688 bytes-rw-r--r--test/user-template/user/xslt/docbook/docbooktosoffheadings.xsl1424
-rw-r--r--test/user-template/user/xslt/docbook/sofftodocbookheadings.xsl1161
-rw-r--r--test/user-template/user/xslt/export/common/body.xsl422
-rw-r--r--test/user-template/user/xslt/export/common/ooo2ms_docpr.xsl139
-rw-r--r--test/user-template/user/xslt/export/common/styles/style_collector.xsl828
-rw-r--r--test/user-template/user/xslt/export/common/styles/style_mapping_css.xsl355
-rw-r--r--test/user-template/user/xslt/export/common/table/table.xsl164
-rw-r--r--test/user-template/user/xslt/export/common/table/table_cells.xsl279
-rw-r--r--test/user-template/user/xslt/export/common/table/table_columns.xsl243
-rw-r--r--test/user-template/user/xslt/export/common/table/table_rows.xsl212
-rw-r--r--test/user-template/user/xslt/export/common/table_of_content.xsl588
-rw-r--r--test/user-template/user/xslt/export/spreadsheetml/formular.xsl640
-rw-r--r--test/user-template/user/xslt/export/spreadsheetml/ooo2spreadsheetml.xsl417
-rw-r--r--test/user-template/user/xslt/export/spreadsheetml/style_mapping.xsl390
-rw-r--r--test/user-template/user/xslt/export/spreadsheetml/styles.xsl695
-rw-r--r--test/user-template/user/xslt/export/spreadsheetml/table.xsl937
-rw-r--r--test/user-template/user/xslt/export/uof/odf2uof_presentation.xsl3375
-rw-r--r--test/user-template/user/xslt/export/uof/odf2uof_spreadsheet.xsl6194
-rw-r--r--test/user-template/user/xslt/export/uof/odf2uof_text.xsl4439
-rw-r--r--test/user-template/user/xslt/export/wordml/ooo2wordml.xsl218
-rw-r--r--test/user-template/user/xslt/export/wordml/ooo2wordml_border.xsl153
-rw-r--r--test/user-template/user/xslt/export/wordml/ooo2wordml_custom_draw.xsl284
-rw-r--r--test/user-template/user/xslt/export/wordml/ooo2wordml_draw.xsl1769
-rw-r--r--test/user-template/user/xslt/export/wordml/ooo2wordml_field.xsl733
-rw-r--r--test/user-template/user/xslt/export/wordml/ooo2wordml_list.xsl340
-rw-r--r--test/user-template/user/xslt/export/wordml/ooo2wordml_page.xsl401
-rw-r--r--test/user-template/user/xslt/export/wordml/ooo2wordml_path.xsl858
-rw-r--r--test/user-template/user/xslt/export/wordml/ooo2wordml_settings.xsl312
-rw-r--r--test/user-template/user/xslt/export/wordml/ooo2wordml_table.xsl416
-rw-r--r--test/user-template/user/xslt/export/wordml/ooo2wordml_text.xsl1279
-rw-r--r--test/user-template/user/xslt/export/xhtml/body.xsl2962
-rw-r--r--test/user-template/user/xslt/export/xhtml/header.xsl485
-rw-r--r--test/user-template/user/xslt/export/xhtml/opendoc2xhtml.xsl183
-rw-r--r--test/user-template/user/xslt/export/xhtml/table.xsl222
-rw-r--r--test/user-template/user/xslt/import/common/ms2ooo_docpr.xsl101
-rw-r--r--test/user-template/user/xslt/import/spreadsheetml/spreadsheetml2ooo.xsl9173
-rw-r--r--test/user-template/user/xslt/import/uof/uof2odf_presentation.xsl3478
-rw-r--r--test/user-template/user/xslt/import/uof/uof2odf_spreadsheet.xsl9054
-rw-r--r--test/user-template/user/xslt/import/uof/uof2odf_text.xsl4650
-rw-r--r--test/user-template/user/xslt/import/wordml/wordml2ooo.xsl265
-rw-r--r--test/user-template/user/xslt/import/wordml/wordml2ooo_custom_draw.xsl284
-rw-r--r--test/user-template/user/xslt/import/wordml/wordml2ooo_draw.xsl2178
-rw-r--r--test/user-template/user/xslt/import/wordml/wordml2ooo_field.xsl1587
-rw-r--r--test/user-template/user/xslt/import/wordml/wordml2ooo_list.xsl657
-rw-r--r--test/user-template/user/xslt/import/wordml/wordml2ooo_page.xsl408
-rw-r--r--test/user-template/user/xslt/import/wordml/wordml2ooo_path.xsl1818
-rw-r--r--test/user-template/user/xslt/import/wordml/wordml2ooo_props.xsl268
-rw-r--r--test/user-template/user/xslt/import/wordml/wordml2ooo_settings.xsl69
-rw-r--r--test/user-template/user/xslt/import/wordml/wordml2ooo_table.xsl1286
-rw-r--r--test/user-template/user/xslt/import/wordml/wordml2ooo_text.xsl1058
1785 files changed, 196894 insertions, 0 deletions
diff --git a/test/user-template/user/autocorr/acor_af-ZA.dat b/test/user-template/user/autocorr/acor_af-ZA.dat
new file mode 100644
index 000000000000..8c5eccbb5b73
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_af-ZA.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_bg-BG.dat b/test/user-template/user/autocorr/acor_bg-BG.dat
new file mode 100644
index 000000000000..093a717ada98
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_bg-BG.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_cs-CZ.dat b/test/user-template/user/autocorr/acor_cs-CZ.dat
new file mode 100644
index 000000000000..6e2a0d23aaee
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_cs-CZ.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_da-DK.dat b/test/user-template/user/autocorr/acor_da-DK.dat
new file mode 100644
index 000000000000..5a9f14d12e61
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_da-DK.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_de-DE.dat b/test/user-template/user/autocorr/acor_de-DE.dat
new file mode 100644
index 000000000000..82381c2990b8
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_de-DE.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_en-AU.dat b/test/user-template/user/autocorr/acor_en-AU.dat
new file mode 100644
index 000000000000..0c93ec451398
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_en-AU.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_en-GB.dat b/test/user-template/user/autocorr/acor_en-GB.dat
new file mode 100644
index 000000000000..a90454534c83
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_en-GB.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_en-US.dat b/test/user-template/user/autocorr/acor_en-US.dat
new file mode 100644
index 000000000000..d4e9a3d3264c
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_en-US.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_en-ZA.dat b/test/user-template/user/autocorr/acor_en-ZA.dat
new file mode 100644
index 000000000000..94d541ff64f6
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_en-ZA.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_es-ES.dat b/test/user-template/user/autocorr/acor_es-ES.dat
new file mode 100644
index 000000000000..05b60d0f77c7
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_es-ES.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_eu.dat b/test/user-template/user/autocorr/acor_eu.dat
new file mode 100644
index 000000000000..6b91cdef5c9c
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_eu.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_fa-IR.dat b/test/user-template/user/autocorr/acor_fa-IR.dat
new file mode 100644
index 000000000000..38e17981099a
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_fa-IR.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_fi-FI.dat b/test/user-template/user/autocorr/acor_fi-FI.dat
new file mode 100644
index 000000000000..0d87a4210185
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_fi-FI.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_fr-FR.dat b/test/user-template/user/autocorr/acor_fr-FR.dat
new file mode 100644
index 000000000000..c2277b6e0d54
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_fr-FR.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_ga-IE.dat b/test/user-template/user/autocorr/acor_ga-IE.dat
new file mode 100644
index 000000000000..66dbf9d18c5d
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_ga-IE.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_hr-HR.dat b/test/user-template/user/autocorr/acor_hr-HR.dat
new file mode 100644
index 000000000000..dd583fc30458
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_hr-HR.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_hu-HU.dat b/test/user-template/user/autocorr/acor_hu-HU.dat
new file mode 100644
index 000000000000..d09f20b80533
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_hu-HU.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_it-IT.dat b/test/user-template/user/autocorr/acor_it-IT.dat
new file mode 100644
index 000000000000..274a528be990
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_it-IT.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_ja-JP.dat b/test/user-template/user/autocorr/acor_ja-JP.dat
new file mode 100644
index 000000000000..5fa2eae384af
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_ja-JP.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_ko-KR.dat b/test/user-template/user/autocorr/acor_ko-KR.dat
new file mode 100644
index 000000000000..9e187483ca28
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_ko-KR.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_lb-LU.dat b/test/user-template/user/autocorr/acor_lb-LU.dat
new file mode 100644
index 000000000000..9f381781a0bb
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_lb-LU.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_lt-LT.dat b/test/user-template/user/autocorr/acor_lt-LT.dat
new file mode 100644
index 000000000000..ae37be4608f3
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_lt-LT.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_mn-MN.dat b/test/user-template/user/autocorr/acor_mn-MN.dat
new file mode 100644
index 000000000000..8abf06b67daf
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_mn-MN.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_nl-BE.dat b/test/user-template/user/autocorr/acor_nl-BE.dat
new file mode 100644
index 000000000000..ecfe671f9699
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_nl-BE.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_nl-NL.dat b/test/user-template/user/autocorr/acor_nl-NL.dat
new file mode 100644
index 000000000000..cfbe832ed4b7
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_nl-NL.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_pl-PL.dat b/test/user-template/user/autocorr/acor_pl-PL.dat
new file mode 100644
index 000000000000..d091628933e5
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_pl-PL.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_pt-BR.dat b/test/user-template/user/autocorr/acor_pt-BR.dat
new file mode 100644
index 000000000000..8ff201c2c3c7
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_pt-BR.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_pt-PT.dat b/test/user-template/user/autocorr/acor_pt-PT.dat
new file mode 100644
index 000000000000..82de0951de66
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_pt-PT.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_ru-RU.dat b/test/user-template/user/autocorr/acor_ru-RU.dat
new file mode 100644
index 000000000000..efb492b656d9
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_ru-RU.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_sh-ME.dat b/test/user-template/user/autocorr/acor_sh-ME.dat
new file mode 100644
index 000000000000..1f6e4057e6e1
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_sh-ME.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_sh-RS.dat b/test/user-template/user/autocorr/acor_sh-RS.dat
new file mode 100644
index 000000000000..1f6e4057e6e1
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_sh-RS.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_sh-YU.dat b/test/user-template/user/autocorr/acor_sh-YU.dat
new file mode 100644
index 000000000000..1f6e4057e6e1
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_sh-YU.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_sk-SK.dat b/test/user-template/user/autocorr/acor_sk-SK.dat
new file mode 100644
index 000000000000..8502fc624ec2
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_sk-SK.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_sl-SI.dat b/test/user-template/user/autocorr/acor_sl-SI.dat
new file mode 100644
index 000000000000..eb9e6cfeecfd
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_sl-SI.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_sr-ME.dat b/test/user-template/user/autocorr/acor_sr-ME.dat
new file mode 100644
index 000000000000..d512182b4735
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_sr-ME.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_sr-RS.dat b/test/user-template/user/autocorr/acor_sr-RS.dat
new file mode 100644
index 000000000000..d512182b4735
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_sr-RS.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_sr-YU.dat b/test/user-template/user/autocorr/acor_sr-YU.dat
new file mode 100644
index 000000000000..d512182b4735
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_sr-YU.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_sv-SE.dat b/test/user-template/user/autocorr/acor_sv-SE.dat
new file mode 100644
index 000000000000..32459530ed69
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_sv-SE.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_tr-TR.dat b/test/user-template/user/autocorr/acor_tr-TR.dat
new file mode 100644
index 000000000000..ffdbb4e0d864
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_tr-TR.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_vi-VN.dat b/test/user-template/user/autocorr/acor_vi-VN.dat
new file mode 100644
index 000000000000..025f04821b3f
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_vi-VN.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_zh-CN.dat b/test/user-template/user/autocorr/acor_zh-CN.dat
new file mode 100644
index 000000000000..767ceb337683
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_zh-CN.dat
Binary files differ
diff --git a/test/user-template/user/autocorr/acor_zh-TW.dat b/test/user-template/user/autocorr/acor_zh-TW.dat
new file mode 100644
index 000000000000..ea9bb9f9ed0a
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_zh-TW.dat
Binary files differ
diff --git a/test/user-template/user/autotext/en-US/crdbus50.bau b/test/user-template/user/autotext/en-US/crdbus50.bau
new file mode 100644
index 000000000000..3c140c7445f9
--- /dev/null
+++ b/test/user-template/user/autotext/en-US/crdbus50.bau
Binary files differ
diff --git a/test/user-template/user/autotext/en-US/standard.bau b/test/user-template/user/autotext/en-US/standard.bau
new file mode 100644
index 000000000000..40cec77a7a43
--- /dev/null
+++ b/test/user-template/user/autotext/en-US/standard.bau
Binary files differ
diff --git a/test/user-template/user/autotext/en-US/template.bau b/test/user-template/user/autotext/en-US/template.bau
new file mode 100644
index 000000000000..33bb534e2bb9
--- /dev/null
+++ b/test/user-template/user/autotext/en-US/template.bau
Binary files differ
diff --git a/test/user-template/user/basic/Depot/CommonLang.xba b/test/user-template/user/basic/Depot/CommonLang.xba
new file mode 100644
index 000000000000..a1cb283dab14
--- /dev/null
+++ b/test/user-template/user/basic/Depot/CommonLang.xba
@@ -0,0 +1,351 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="CommonLang" script:language="StarBasic">REM ***** BASIC *****
+
+
+&apos; Column A has the index 1
+Public Const SBCOLUMNNAME1 = 3 &apos; Stock names, sheet 1
+Public Const SBCOLUMNID1 = 4 &apos; Stock ID, sheet 1
+Public Const SBCOLUMNQUANTITY1 = 5 &apos; Stock quantity sheet 1
+Public Const SBCOLUMNRATE1 = 7 &apos; Price for stocks, sheet 1
+Public Const SBCOLUMNNAME2 = 3 &apos; Stock names, sheet 2
+Public Const SBCOLUMNDATE2 = 4 &apos; Transaction dates, sheet 2
+Public Const SBCOLUMNQUANTITY2 = 5 &apos; Transaction quantity, sheet 2
+Public Const SBCOLUMNRATE2 = 6 &apos; Price for stocks, sheet 2
+Public Const SBCOLUMNPROVPERCENT2 = 7 &apos; Provision in %, sheet 2
+Public Const SBCOLUMNPROVMIN2 = 8 &apos; Minimum provision, sheet 2
+Public Const SBCOLUMNPROVFIX2 = 9 &apos; Fixed provision, sheet 2
+Public Const SBCOLUMNPROCEEDS2 = 12 &apos; Profit, sheet 2
+Public Const SBCOLUMNQTYSOLD2 = 14 &apos; Quantity sold, sheet 2
+Public Const SBCOLUMNQTYREST2 = 15 &apos; Quantity not sold yet, sheet 2
+Public Const SBCOLUMNPRCREST2 = 16 &apos; Proportional proce for quantity not sold yet, sheet 2
+Public Const SBCOLUMNREALPROC2 = 17 &apos; Realized proceeds, sheet 2
+Public Const SBCOLUMNDIVIDEND2 = 18 &apos; Dividend paid, sheet 2
+Public Const SBCOLUMNREALPROFIT2 = 19 &apos; Realized profit, sheet 2
+Public Const SBROWFIRSTTRANSACT2 = 8 &apos; First data row, sheet 2
+Public Const SBROWHEADER1 = 6 &apos; Headline, sheet 1
+Public Const SBMSGOK = 0
+Public Const SBMSGYESNO = 4
+Public Const SBMSGSTOP = 16
+Public Const SBMSGQUESTION = 32
+Public Const SBMSGDEFAULTBTN2 = 256
+Public Const SBHASID = 1 &apos; 0 = no ID, 1 = stocks have an ID
+Public Const SBDIALOGSELL = 1 &apos; Step for main dialog
+Public Const SBDIALOGBUY = 2 &apos; Step for main dialog
+Public Const SBBINARY = 0
+Public TransactMode as Integer
+Public Const LIFO = -1
+Public Const FIFO = 1
+
+Public Const HANDLEDIVIDEND = 1
+Public Const HANDLESPLIT = 2
+
+Global oDocument as Object
+Global oDocFormats() as Object
+Global oController as Object
+Global oFirstSheet as Object
+Global oBankSheet as Object
+Global oMovementSheet as Object
+Global sDocLanguage as String
+Global sDocCountry as String
+Global oSheets as Object
+Global oDocLocale as New com.sun.star.lang.Locale
+Global bEnableMarket as Boolean
+Global bEnableInternet as Boolean
+Global oMarketModel as Object
+Global oInternetModel as Object
+
+Global sCurCurrency$, sCurExtension$, sCurChartSource$, sCurStockIDLabel$, sCurSeparator$
+
+Public oNumberFormatter as Object
+Public bDebugmode as Boolean
+Global GlobListindex as Integer
+Public blabla() as String
+Public SplitDate as Date
+Public oChartSheet as Object
+Public oBackgroundSheet as Object
+Public Const SBDATECOLUMN = 3
+Public Const SBVALUECOLUMN = 4
+Public Const SBSTARTROW = 25
+Public Const SBCHARTPERIOD = 14
+Public Const SBINTERVAL = &quot;d&quot;
+Public sColumnHeader as String
+Public StartDate as Date
+Public EndDate as Date
+Public iCurRow as Integer
+Public iMaxRow as Integer
+Public iStartDay as Integer
+Public iStartMonth as Integer
+Public iStartYear as Integer
+Public iEndDay as Integer
+Public iEndMonth as Integer
+Public iEndYear as Integer
+Public oStatusLine as Object
+Public Today as Date
+Public sInterval as String
+Public ShortMonths(11,1)
+Public iStep as Integer
+Public sDepotCurrency as String
+Public iValueCol as Integer
+
+Public DlgReference as Object
+Public DlgTransaction as Object
+Public DlgStockRates as Object
+Public DlgStartUp as Object
+Public TransactModel as Object
+Public StockRatesModel as Object
+Public StartUpModel as Object
+Public StockRatesTitle(1 To 3)
+Public TransactTitle(1 To 2)
+Public NullList()
+Public sStartupWelcome$, sStartupChooseMarket$, sStartupHint$
+
+Public sMarket(7,10) as String
+Public sCountryMarket(7,10) as String
+
+Public cDlgCaption1$, cDlgCaption2$
+Public sMsgError$, sMsgNoName$, sMsgNoQuantity$, sMsgNoDividend$, sMsgNoExchangeRate$
+Public sMsgNoValidExchangeDate$, sMsgWrongExchangeDate$, sMsgSellTooMuch$, sMsgConfirm$
+Public sMsgFreeStock$, sMsgTotalLoss$, sMsgEndDatebeforeNow$, sMsgStartDatebeforeEndDate$
+
+Public sOk$, sCancel$
+Public sMsgAuthorization$, sMsgDeleteAll$
+Public SellMethod$
+Public cSplit$
+Global HistoryChartSource as String
+Public DateCellStyle as String
+Public CurrCellStyle as String
+Public sStartDate$, sEndDate$, sHistory$
+Public sInsertStockname$
+Public sProductname$, sTitle$
+Public sInsertStocks$, sStockname$, sNoInternetUpdate$, sMarketplace$, sNoInternetDataAvailable$
+Public sCheckInternetSettings as String
+
+Sub LoadLanguage()
+ LoadDepotDialogs()
+ Select Case sDocLanguage
+ Case &quot;de&quot;
+ LoadGermanLanguage()
+ Case &quot;en&quot;
+ LoadEnglishLanguage()
+ Case &quot;fr&quot;
+ LoadFrenchLanguage()
+ Case &quot;it&quot;
+ LoadItalianLanguage()
+ Case &quot;es&quot;
+ LoadSpanishLanguage()
+ Case &quot;sv&quot;
+ LoadSwedishLanguage()
+ Case &quot;ja&quot;
+ LoadJapaneseLanguage()
+ Case &quot;ko&quot;
+ LoadKoreanLanguage()
+ Case &quot;zh&quot;
+ If sDocCountry = &quot;CN&quot; Then
+ LoadChineseSimpleLanguage()
+ Else
+ LoadChineseTradLanguage()
+ End If
+ End Select
+ InitializeStartUpModel()
+End Sub
+
+Sub CompleteMarketList()
+Dim EuroIndex as Integer
+Dim LocCountry as String
+Dim LocLanguage as String
+Dim sLangList() as String
+Dim sCountryList() as String
+Dim sExtensionList() as String
+Dim MaxIndex as Integer
+Dim bIsLocale as Boolean
+
+ GlobListIndex = -1
+ For n = 0 To 5
+ LocLanguage = sMarket(n,6)
+ LocCountry = sMarket(n,7)
+ If Instr(1,LocLanguage,&quot;;&quot;,SBBINARY) = 0 Then
+ bIsLocale = CheckDocLocale(LocLanguage, LocCountry)
+ Else
+ EuroIndex = 0
+ sLangList() = ArrayoutofString(LocLanguage, &quot;;&quot;, MaxIndex)
+ sCountryList() = ArrayoutofString(LocCountry, &quot;;&quot;, MaxIndex)
+ sExtensionList() = ArrayoutofString(sMarket(n,8), &quot;;&quot;, MaxIndex)
+ For m = 0 To MaxIndex
+ bIsLocale = CheckDocLocale(sLangList(m), sCountryList(m))
+ If bIsLocale Then
+ EuroIndex = m
+ Exit For
+ End If
+ Next m
+ sMarket(n,6) = sLangList(EuroIndex)
+ sMarket(n,7) = sCountryList(EuroIndex)
+ sMarket(n,8) = sExtensionList(EuroIndex)
+ End If
+ If bIsLocale Then
+ GlobListIndex = n
+ Exit For
+ End If
+ Next n
+End Sub
+
+Sub LocalizedCurrencies()
+ If GlobListIndex = -1 Then
+ sCountryMarket(0,0) = &quot;Euro&quot;
+ sCountryMarket(0,1) = chr(8364)
+ sCountryMarket(0,2) = &quot;Paris&quot;
+ sCountryMarket(0,3) = &quot;http://fr.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.PA&amp;f=s4l1t1c1ghov&amp;e=.csv&quot;
+ sCountryMarket(0,5) = &quot;Code&quot;
+ sCountryMarket(0,6) = &quot;fr&quot;
+ sCountryMarket(0,7) = &quot;FR&quot;
+ sCountryMarket(0,8) = &quot;40C&quot;
+ sCountryMarket(0,9) = &quot;59/9&quot;
+ sCountryMarket(0,10) = &quot;1&quot;
+
+ sCountryMarket(1,0) = &quot;Euro&quot;
+ sCountryMarket(1,1) = chr(8364)
+ sCountryMarket(1,2) = &quot;Milano&quot;
+ sCountryMarket(1,3) = &quot;http://it.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.MI&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sCountryMarket(1,5) = &quot;Codice&quot;
+ sCountryMarket(1,6) = &quot;it&quot;
+ sCountryMarket(1,7) = &quot;IT&quot;
+ sCountryMarket(1,8) = &quot;410&quot;
+ sCountryMarket(1,9) = &quot;44&quot;
+ sCountryMarket(1,10) = &quot;1&quot;
+
+ sCountryMarket(2,0) = &quot;Euro&quot;
+ sCountryMarket(2,1) = chr(8364)
+ sCountryMarket(2,2) = &quot;Madrid&quot;
+ sCountryMarket(2,3) = &quot;http://es.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;m=MC&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sCountryMarket(2,5) = &quot;Simbolo&quot;
+ sCountryMarket(2,6) = &quot;es&quot;
+ sCountryMarket(2,7) = &quot;ES&quot;
+ sCountryMarket(2,8) = &quot;40A&quot;
+ sCountryMarket(2,9) = &quot;44&quot;
+ sCountryMarket(2,10) = &quot;1&quot;
+
+ sCountryMarket(3,0) = &quot;Dansk krone&quot;
+ sCountryMarket(3,1) = &quot;kr&quot;
+ sCountryMarket(3,2) = &quot;København&quot;
+ sCountryMarket(3,3) = &quot;http://dk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID.CO&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sCountryMarket(3,5) = &quot;Aktiesymbol&quot;
+ sCountryMarket(3,6) = &quot;da&quot;
+ sCountryMarket(3,7) = &quot;DK&quot;
+ sCountryMarket(3,8) = &quot;406&quot;
+ sCountryMarket(3,9) = &quot;44&quot;
+ sCountryMarket(3,10) = &quot;1&quot;
+
+ sCountryMarket(4,0) = &quot;Svensk krona&quot;
+ sCountryMarket(4,1) = &quot;kr&quot;
+ sCountryMarket(4,2) = &quot;Stockholm&quot;
+ sCountryMarket(4,3) = &quot;http://se.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.L&amp;f=sl1d1t1c1ohgv&amp;e=.c&quot;
+ sCountryMarket(4,5) = &quot;Kod&quot;
+ sCountryMarket(4,6) = &quot;sv&quot;
+ sCountryMarket(4,7) = &quot;SE&quot;
+ sCountryMarket(4,8) = &quot;41D&quot;
+ sCountryMarket(4,9) = &quot;44&quot;
+ sCountryMarket(4,10) = &quot;1&quot;
+
+ &apos; Taiwan Dollar
+ sCountryMarket(5,0) = &quot;新臺幣&quot;
+ sCountryMarket(5,1) = &quot;¥&quot;
+ sCountryMarket(5,2) = &quot;代號&quot;
+ sCountryMarket(5,3) = &quot;http://tw.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.TW&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sCountryMarket(5,5) = &quot;代號&quot;
+ sCountryMarket(5,6) = &quot;zh&quot;
+ sCountryMarket(5,7) = &quot;TW&quot;
+ sCountryMarket(5,8) = &quot;404&quot;
+ sCountryMarket(5,9) = &quot;44&quot;
+ sCountryMarket(5,10) = &quot;1&quot;
+
+ &apos; Chinese Yuan
+ sCountryMarket(6,0) = &quot;人民币&quot;
+ sCountryMarket(6,1) = &quot;¥&quot;
+ sCountryMarket(6,2) = &quot;代号&quot;
+ sCountryMarket(6,3) = &quot;http://cn.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.SS&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sCountryMarket(6,5) = &quot;代号&quot;
+ sCountryMarket(6,6) = &quot;zh&quot;
+ sCountryMarket(6,7) = &quot;CN&quot;
+ sCountryMarket(6,8) = &quot;804&quot;
+ sCountryMarket(6,9) = &quot;44&quot;
+ sCountryMarket(6,10) = &quot;1&quot;
+
+ &apos; korean Won
+ sCountryMarket(7,0) = &quot;한국 원화&quot;
+ sCountryMarket(7,1) = &quot;₩&quot;
+ sCountryMarket(7,2) = &quot;서울&quot;
+ sCountryMarket(7,3) = &quot;http://kr.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.KS&amp;f=snl1d1t1c1ohgv&amp;e=.csv&quot;
+ sCountryMarket(7,5) = &quot;종목 코드&quot;
+ sCountryMarket(7,6) = &quot;ko&quot;
+ sCountryMarket(7,7) = &quot;KR&quot;
+ sCountryMarket(7,8) = &quot;412&quot;
+ sCountryMarket(7,9) = &quot;44&quot;
+ sCountryMarket(7,10) = &quot;2&quot;
+
+
+&apos; sCountryMarket(5,0) = &quot;Российский рубль&quot;
+&apos; sCountryMarket(5,1) = &quot;р.&quot;
+&apos; sCountryMarket(5,2) = &quot;&quot;
+&apos; sCountryMarket(5,3) = &quot;&quot;
+&apos; sCountryMarket(5,5) = &quot;&quot;
+&apos; sCountryMarket(5,6) = &quot;ru&quot;
+&apos; sCountryMarket(5,7) = &quot;RU&quot;
+&apos; sCountryMarket(5,8) = &quot;-419&quot;
+&apos; sCountryMarket(5,9) = &quot;&quot;
+&apos;
+&apos; sCountryMarket(6,0) = &quot;Złoty polski&quot;
+&apos; sCountryMarket(6,1) = &quot;zł&quot;
+&apos; sCountryMarket(6,2) = &quot;&quot;
+&apos; sCountryMarket(6,3) = &quot;&quot;
+&apos; sCountryMarket(6,5) = &quot;&quot; &apos;Still Todo!!
+&apos; sCountryMarket(6,6) = &quot;pl&quot;
+&apos; sCountryMarket(6,7) = &quot;PL&quot;
+&apos; sCountryMarket(6,8) = &quot;-415&quot;
+&apos; sCountryMarket(6,9) = &quot;&quot;
+&apos;
+&apos; sCountryMarket(7,0) = &quot;Türkische Lira&quot;
+&apos; sCountryMarket(7,1) = &quot;TL&quot;
+&apos; sCountryMarket(7,2) = &quot;&quot;
+&apos; sCountryMarket(7,3) = &quot;&quot;
+&apos; sCountryMarket(7,5) = &quot;&quot; &apos;Still Todo!!
+&apos; sCountryMarket(7,6) = &quot;tr&quot;
+&apos; sCountryMarket(7,7) = &quot;TR&quot;
+&apos; sCountryMarket(7,8) = &quot;-41F&quot;
+&apos; sCountryMarket(7,9) = &quot;&quot;
+
+ Dim n as Integer
+ Dim m as Integer
+&apos; Dim sCountryMarket(6,9) as String
+
+ For n = 0 To Ubound(sCountryMarket(),1)
+ If sDocLanguage = sCountryMarket(n,6) and sDocCountry = sCountryMarket(n,7) Then
+ GlobListIndex = 6
+ For m = 0 To 10
+ sMarket(6,m) = sCountryMarket(n,m)
+ Next m
+ Exit For
+ End If
+ Next n
+ End If
+End Sub
+
+Sub LoadDepotDialogs()
+ DlgTransaction = LoadDialog(&quot;Depot&quot;, &quot;Dialog2&quot;)
+ DlgStockRates = LoadDialog(&quot;Depot&quot;, &quot;Dialog3&quot;)
+ DlgStartUp = LoadDialog(&quot;Depot&quot;, &quot;Dialog4&quot;)
+ TransactModel = DlgTransaction.Model
+ StockRatesModel = DlgStockRates.Model
+ StartUpModel = DlgStartUp.Model
+End Sub
+
+
+Sub InitializeStartUpModel()
+ With StartUpModel
+ .lblWelcome.Label = sStartupWelcome &amp; Chr(13) &amp; chr(13) &amp; sStartUpChooseMarket
+ sStartUpHint = ReplaceString(sStartUpHint, sHistory, &quot;&lt;History&gt;&quot;)
+ .lblHint.Label = sStartupHint
+&apos; .cmdGoOn.Enabled = Ubound(StartUpModel.lstMarkets.SelectedItems()) &lt;&gt; -1
+ .cmdGoOn.Label = sOK
+ .cmdCancel.Label = sCancel
+ End With
+End Sub</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Depot/Currency.xba b/test/user-template/user/basic/Depot/Currency.xba
new file mode 100644
index 000000000000..c432fecc2661
--- /dev/null
+++ b/test/user-template/user/basic/Depot/Currency.xba
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Currency" script:language="StarBasic">REM ***** BASIC *****
+Option Explicit
+
+Dim bDoUnLoad as Boolean
+
+
+Sub Startup()
+Dim i as Integer
+Dim a as Integer
+Dim ListString as String
+Dim MarketListBoxControl as Object
+ Initialize(False)
+ MarketListBoxControl = DlgStartUp.GetControl(&quot;lstMarkets&quot;)
+ a = 0
+ For i = 0 To Ubound(sMarket(),1)
+ ListString = sMarket(i,0)
+ If sMarket(i,0) &lt;&gt; &quot;&quot; Then
+ If sMarket(i,3) = &quot;&quot; Then
+ ListString = ListString &amp; &quot; (&quot; &amp; sNoInternetUpdate &amp; &quot;)&quot;
+ Else
+ ListString = ListString &amp; &quot; (&quot; &amp; sMarketplace &amp; &quot; &quot; &amp; sMarket(i,2) &amp; &quot;)&quot;
+ End If
+ MarketListBoxControl.AddItem(ListString, a)
+ a = a + 1
+ End If
+ Next i
+ MarketListBoxControl.SelectItemPos(GlobListIndex, True)
+ DlgStartUp.Title = sDepotCurrency
+ DlgStartUp.Model.cmdGoOn.DefaultButton = True
+ DlgStartUp.GetControl(&quot;lstMarkets&quot;).SetFocus()
+ DlgStartUp.Execute()
+ DlgStartUp.Dispose()
+End Sub
+
+
+Sub EnableGoOnButton()
+ StartUpModel.cmdGoOn.Enabled = True
+ StartUpModel.cmdGoOn.DefaultButton = True
+End Sub
+
+
+Sub CloseStartUpDialog()
+ DlgStartUp.EndExecute()
+&apos; oDocument.Dispose()
+End Sub
+
+
+Sub DisposeDocument()
+ If bDoUnload Then
+ oDocument.Dispose()
+ End If
+End Sub
+
+
+Sub ChooseMarket(Optional aEvent)
+Dim Index as Integer
+Dim bIsDocLanguage as Boolean
+Dim bIsDocCountry as Boolean
+ oInternetModel = GetControlModel(oDocument.Sheets(0), &quot;CmdInternet&quot;)
+ If Not IsMissing(aEvent) Then
+ Index = StartupModel.lstMarkets.SelectedItems(0)
+ oInternetModel.Tag = Index
+ Else
+ Index = oInternetModel.Tag
+ End If
+ oMarketModel = GetControlModel(oDocument.Sheets(0), &quot;CmdHistory&quot;)
+ sCurCurrency = sMarket(Index,1)
+ If Index = 0 Then
+ HistoryChartSource = sMarket(Index,4)
+ End If
+ sCurStockIDLabel = sMarket(Index,5)
+ sCurExtension = sMarket(Index,8)
+ iValueCol = Val(sMarket(Index,10)
+ If Instr(sCurExtension,&quot;;&quot;) &lt;&gt; 0 Then
+ &apos; Take the german extension as the stock place is Frankfurt
+ sCurExtension = &quot;407&quot;
+ End If
+ sCurChartSource = sMarket(Index,3)
+ bIsDocLanguage = Instr(1, sMarket(Index,6), sDocLanguage, SBBINARY) &lt;&gt; 0
+ bIsDocCountry = Instr(1, sMarket(Index,7), sDocCountry, SBBINARY) &lt;&gt; 0 OR SDocCountry = &quot;&quot;
+ sCurSeparator = sMarket(Index,9)
+ TransactModel.txtRate.CurrencySymbol = sCurCurrency
+ TransactModel.txtFix.CurrencySymbol = sCurCurrency
+ TransactModel.txtMinimum.CurrencySymbol = sCurCurrency
+ bEnableMarket = Index = 0
+ bEnableInternet = sCurChartSource &lt;&gt; &quot;&quot;
+ oMarketModel.Enabled = bEnableMarket
+ oInternetModel.Enabled = bEnableInternet
+ If Not IsMissing(aEvent) Then
+ ConvertStylesCurrencies()
+ bDoUnload = False
+ DlgStartUp.EndExecute()
+ End If
+End Sub
+
+
+Sub ConvertStylesCurrencies()
+Dim m as integer
+Dim aStyleFormat as Object
+Dim StyleName as String
+Dim bAddToList as Boolean
+Dim oStyle as Object
+Dim oStyles as Object
+ UnprotectSheets(oSheets)
+ oFirstSheet.GetCellByPosition(SBCOLUMNID1, SBROWHEADER1).SetString(sCurStockIDLabel)
+ oStyles = oDocument.StyleFamilies.GetbyIndex(0)
+ For m = 0 To oStyles.count-1
+ oStyle = oStyles.GetbyIndex(m)
+ StyleName = oStyle.Name
+ bAddToList = CheckFormatType(oStyle)
+ If bAddToList Then
+ SwitchNumberFormat(ostyle, oDocFormats, sCurCurrency, sCurExtension)
+ End If
+ Next m
+ ProtectSheets(oSheets)
+End Sub
+
+
+Sub SwitchNumberFormat(oObject as Object, oFormats as object, sNewSymbol as String, sNewExtension as String)
+Dim nFormatLanguage as Integer
+Dim nFormatDecimals as Integer
+Dim nFormatLeading as Integer
+Dim bFormatLeading as Integer
+Dim bFormatNegRed as Integer
+Dim bFormatThousands as Integer
+Dim aNewStr as String
+Dim iNumberFormat as Long
+Dim sSimpleStr as String
+Dim nSimpleKey as Long
+Dim aFormat()
+Dim oLocale as New com.sun.star.lang.Locale
+ &apos; Numberformat with the new Symbol as Base for new Format
+ sSimpleStr = &quot;0 [$&quot; &amp; sNewSymbol &amp; &quot;-&quot; &amp; sNewExtension &amp; &quot;]&quot;
+ nSimpleKey = Numberformat(oFormats, sSimpleStr, oDocLocale)
+ On Local Error Resume Next
+ iNumberFormat = oObject.NumberFormat
+ If Err &lt;&gt; 0 Then
+ Msgbox &quot;Error Reading the Number Format&quot;
+ Resume CLERROR
+ End If
+
+ On Local Error GoTo NOKEY
+ aFormat() = oFormats.getByKey(iNumberFormat)
+ On Local Error GoTo 0
+ &apos; set new currency format with according settings
+ nFormatDecimals = aFormat.Decimals
+ nFormatLeading = aFormat.LeadingZeros
+ bFormatNegRed = aFormat.NegativeRed
+ bFormatThousands = aFormat.ThousandsSeparator
+ oLocale = aFormat.Locale
+ aNewStr = oFormats.generateFormat(nSimpleKey, oLocale, bFormatThousands, bFormatNegRed, nFormatDecimals, nFormatLeading)
+ oObject.NumberFormat = Numberformat(oFormats, aNewStr, oLocale)
+ NOKEY:
+ If Err &lt;&gt; 0 Then
+ Resume CLERROR
+ End If
+ CLERROR:
+End Sub
+
+
+Function Numberformat( oFormats as Object, aFormatStr as String, oLocale as Variant )
+Dim nRetkey
+ nRetKey = oFormats.queryKey(aFormatStr, oLocale, True)
+ If nRetKey = -1 Then
+ nRetKey = oFormats.addNew( aFormatStr, oLocale )
+ If nRetKey = -1 Then nRetKey = 0
+ End If
+ Numberformat = nRetKey
+End Function
+
+
+Function CheckFormatType(oStyle as Object)
+Dim oFormatofObject as Object
+ oFormatofObject = oDocFormats.getByKey(oStyle.NumberFormat)
+ CheckFormatType = INT(oFormatOfObject.Type) AND com.sun.star.util.NumberFormat.CURRENCY
+End Function</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Depot/Depot.xba b/test/user-template/user/basic/Depot/Depot.xba
new file mode 100644
index 000000000000..358f3eaea3d7
--- /dev/null
+++ b/test/user-template/user/basic/Depot/Depot.xba
@@ -0,0 +1,500 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Depot" script:language="StarBasic">Option Explicit
+
+
+Sub Initialize(Optional bChooseMarketPlace as Boolean)
+Dim bEnableHistory as Boolean
+ GlobalScope.BasicLibraries.LoadLibrary(&quot;Tools&quot;)
+&apos; oMarketModel = GetControlModel(oDocument.Sheets(0), &quot;CmdHistory&quot;)
+&apos; bEnableHistory = oMarketModel.Enabled
+ ToggleWindow(False)
+ Today = Date()
+ bDebugmode = False
+ oDocument = ThisComponent
+ oController = oDocument.GetCurrentController
+ oSheets = oDocument.Sheets
+ oFirstSheet = oSheets(0)
+ oMovementSheet = oSheets(1)
+ oBankSheet = oSheets(2)
+ oDocFormats = oDocument.NumberFormats
+ oNumberFormatter = CreateUnoService(&quot;com.sun.star.util.NumberFormatter&quot;)
+ oNumberFormatter.AttachNumberFormatsSupplier(oDocument)
+ oDocLocale = oDocument.CharLocale
+ sDocLanguage = oDocLocale.Language
+ sDocCountry = oDocLocale.Country
+ LoadLanguage()
+ ToggleWindow(True)
+&apos; oMarketModel.Enabled = bEnableHistory
+ If Not IsMissing(bChooseMarketPlace) Then
+ If bChoosemarketPlace Then
+ ChooseMarket()
+ End If
+ Else
+ ChooseMarket()
+ End If
+ If Not IsMissing(bChooseMarketPlace) Then
+ If bChooseMarketPlace Then
+ oMarketModel.Enabled = bEnableMarket
+ oInternetModel.Enabled = bEnableInternet
+ End If
+ End If
+End Sub
+
+
+Sub Buy()
+ Initialize(True)
+ FillListbox(DlgTransaction.GetControl(&quot;lstBuyStocks&quot;), TransactTitle(SBDIALOGBUY), False)
+ SetupTransactionControls(SBDIALOGBUY)
+ EnableTransactionControls(False)
+ DlgTransaction.Execute()
+End Sub
+
+
+Sub Sell()
+ Initialize(True)
+ If FillListbox(DlgTransaction.GetControl(&quot;lstSellStocks&quot;), TransactTitle(SBDIALOGSELL), True) Then
+ SetupTransactionControls(SBDIALOGSELL)
+ EnableTransactionControls(False)
+ DlgTransaction.Execute()
+ End If
+End Sub
+
+
+Sub Reset()
+Dim TransactionCount as Integer
+Dim StockCount, iStartRow, i as Integer
+Dim oRows, oRange as Object
+Dim StockName as String
+ Initialize(True)
+ &apos; Delete transactions and reset overview
+ If MsgBox(sMsgDeleteAll, SBMSGYESNO+SBMSGQUESTION+SBMSGDEFAULTBTN2, sMsgAuthorization) = 6 Then
+ &apos; Assumption: If and only if there is an overview, then there are transactions, too
+ UnprotectSheets(oSheets)
+ StockCount = GetStocksCount(iStartRow)
+
+ For i = 1 To StockCount
+ StockName = oFirstSheet.GetCellbyPosition(SBCOLUMNNAME1, iStartRow + i).String
+ If oSheets.HasbyName(StockName) Then
+ oSheets.RemoveByName(StockName)
+ End If
+ Next
+ oDocument.AddActionLock
+ RemoveStockRows(oFirstSheet, iStartRow + 1, StockCount)
+ TransactionCount = GetTransactionCount(iStartRow)
+ RemoveStockRows(oMovementSheet, iStartRow + 2, TransactionCount)
+ ProtectSheets(oSheets)
+ oDocument.RemoveActionLock
+ End If
+End Sub
+
+
+Sub TransactionOk
+Dim Sold as Long
+Dim RestQuantity, Value, PartialValue, Profit
+Dim iNewRow as Integer, iRow as Integer
+Dim iStockRow as Long, iRestQuantity as Long
+Dim oNameCell as Object
+Dim CellStockName as String, SelStockName as String
+Dim CurRate as Double
+Dim TransactDate as Date
+Dim LocStockName as String
+ &apos; Check for rate entered
+ If TransactModel.txtRate.Value = 0 Then
+ If TransactModel.Step = SBDIALOGBUY Then
+ If MsgBox(sMsgFreeStock, SBMSGYESNO+SBMSGQUESTION, sMsgConfirm)=7 Then
+ Exit Sub
+ End If
+ Else
+ If MsgBox(sMsgTotalLoss, SBMSGYESNO+SBMSGQUESTION, sMsgConfirm)=7 Then
+ Exit Sub
+ End If
+ End If
+ End If
+ CurRate = TransactModel.txtRate.Value
+ TransactDate = CDateFromISO(TransactModel.txtDate.Date)
+ DlgTransaction.EndExecute()
+ UnprotectSheets(oSheets)
+
+ iNewRow = DuplicateRow(oMovementSheet, &quot;HiddenRow3&quot;)
+
+ If TransactModel.Step = SBDIALOGBUY Then
+ CellStockName = TransactModel.lstBuyStocks.Text
+ If Instr(1,CellStockName,&quot;$&quot;) &lt;&gt; 0 Then
+ CellStockName = &quot;&apos;&quot; &amp; CellStockName &amp; &quot;&apos;&quot;
+ End If
+ oMovementSheet.GetCellByPosition(SBCOLUMNNAME2, iNewRow).String = CellStockName
+ oMovementSheet.GetCellByPosition(SBCOLUMNQUANTITY2, iNewRow).Value = TransactModel.txtQuantity.Value
+ Else
+ CellStockName = DlgTransaction.GetControl(&quot;lstSellStocks&quot;).GetSelectedItem()
+ oMovementSheet.GetCellByPosition(SBCOLUMNNAME2, iNewRow).String = CellStockName
+ oMovementSheet.GetCellByPosition(SBCOLUMNQUANTITY2, iNewRow).Value = -TransactModel.txtQuantity.Value
+ End If
+
+ oMovementSheet.GetCellByPosition(SBCOLUMNDATE2, iNewRow).Value = CDateFromISO(TransactModel.txtDate.Date)
+ oMovementSheet.GetCellByPosition(SBCOLUMNRATE2, iNewRow).Value = TransactModel.txtRate.Value
+ oMovementSheet.GetCellByPosition(SBCOLUMNPROVPERCENT2, iNewRow).Value = TransactModel.txtCommission.EffectiveValue
+ oMovementSheet.GetCellByPosition(SBCOLUMNPROVMIN2, iNewRow).Value = TransactModel.txtMinimum.Value
+ oMovementSheet.GetCellByPosition(SBCOLUMNPROVFIX2, iNewRow).Value = TransactModel.txtFix.Value
+
+ &apos; Buy stocks: Update overview for new stocks
+ If TransactModel.Step = SBDIALOGBUY Then
+ iStockRow = GetStockRowIndex(CellStockName)
+ If iStockRow = -1 Then
+ iNewRow = DuplicateRow(oFirstSheet, &quot;HiddenRow2&quot;)
+ oFirstSheet.GetCellByPosition(SBCOLUMNNAME1, iNewRow).String = CellStockName
+ oFirstSheet.GetCellByPosition(SBCOLUMNID1, iNewRow).String = TransactModel.txtStockID.Text
+ iStockRow = GetStockRowIndex(CellStockName)
+ End If
+ &apos; Sell stocks: Get transaction value, then update Transaction sheet
+ ElseIf TransactModel.Step = SBDIALOGSELL Then
+ Profit = oMovementSheet.GetCellByPosition(SBCOLUMNPROCEEDS2, iNewRow).Value
+ Value = Profit
+ Sold = TransactModel.txtQuantity.Value
+ SelStockName = DlgTransaction.GetControl(&quot;lstSellStocks&quot;).GetSelectedItem()
+ &apos; Go to first name
+ If TransactMode = FIFO Then
+ iRow = SBROWFIRSTTRANSACT2
+ Else
+ iRow = iNewRow-1
+ End If
+
+ &apos; Check that no transaction after split date exists else cancel split
+ Do While Sold &gt; 0
+ oNameCell = oMovementSheet.GetCellByPosition(SBCOLUMNNAME2, iRow)
+ CellStockName = oNameCell.String
+ If CellStockName = SelStockName Then
+ &apos; Update transactions: Note quantity sold
+ RestQuantity = oMovementSheet.GetCellByPosition(SBCOLUMNQTYREST2, iRow).Value
+ &apos; If there still is a rest left ...
+ If RestQuantity &gt; 0 Then
+ If RestQuantity &lt; Sold Then
+ &apos; Recalculate profit of new transaction
+ Profit = Profit - oMovementSheet.GetCellByPosition(SBCOLUMNPRCREST2, iRow).Value
+ AddValueToCellContent(SBCOLUMNQTYSOLD2, iRow, RestQuantity)
+ PartialValue = RestQuantity / Sold * Value
+ AddValueToCellContent(SBCOLUMNREALPROC2, iRow, PartialValue)
+ Sold = Sold - RestQuantity
+ Value = Value - PartialValue
+ Else
+ &apos; Recalculate profit of neTransactModel.lstBuyStocks.Textw transaction
+ PartialValue = oMovementSheet.GetCellByPosition(SBCOLUMNPRCREST2, iRow).Value
+ Profit = Profit - PartialValue/RestQuantity * Sold
+ &apos; Update sold shares cell
+ AddValueToCellContent(SBCOLUMNQTYSOLD2, iRow, Sold)
+ &apos; Update sales turnover cell
+ AddValueToCellContent(SBCOLUMNREALPROC2, iRow, Value)
+ &apos; Update variables for rest of transaction
+ Sold = 0
+ Value = 0
+ End If
+ End If
+ End If
+ iRow = iRow + TransactMode
+ Loop
+ oMovementSheet.GetCellByPosition(SBCOLUMNREALPROFIT2,iNewRow).Value = Profit
+ iStockRow = GetStockRowIndex(SelStockName)
+ iRestQuantity = oFirstSheet.GetCellbyPosition(SBCOLUMNQUANTITY1, iStockRow).Value
+&apos; If iRestQuantity = 0 Then
+&apos; If oSheets.HasbyName(SelStockName) Then
+&apos; oSheets.RemoveByName(SelStockName)
+&apos; End If
+&apos; Else
+
+&apos; End If
+ End If
+ InsertCurrentValue(CurRate, iStockRow,TransactDate)
+ ProtectSheets(oSheets)
+End Sub
+
+
+Sub SelectStockname(aEvent as Object)
+Dim iCurRow as Integer
+Dim CurStockName as String
+ With TransactModel
+ &apos; Find row with stock name
+ If TransactModel.Step = SBDIALOGBUY Then
+ CurStockName = .lstBuyStocks.Text
+ iCurRow = GetStockRowIndex(CurStockName)
+ .txtQuantity.ValueMax = 10000000
+ Else
+ Dim ListBoxList() as String
+ ListBoxList() = GetSelectedListboxItems(aEvent.Source.getModel())
+ CurStockName = ListBoxList(0)
+&apos; CurStockName = DlgTransaction.GetControl(aEvent.Source.getModel.Name).GetSelectedItem()
+ iCurRow = GetStockRowIndex(CurStockName)
+ Dim fdouble as Double
+ fdouble = oFirstSheet.GetCellByPosition(SBCOLUMNQUANTITY1, iCurRow).Value
+ .txtQuantity.Value = fdouble
+ .txtQuantity.ValueMax = oFirstSheet.GetCellByPosition(SBCOLUMNQUANTITY1, iCurRow).Value
+ .txtRate.Value = oFirstSheet.GetCellbyPosition(SBCOLUMNRATE1, iCurRow).Value
+ End If
+ .txtStockID.Enabled = .Step = SBDIALOGBUY
+ .lblStockID.Enabled = .Step = SBDIALOGBUY
+ &apos; Default settings for quantity and rate
+ .txtStockID.Text = GetStockID(CurStockName, iCurRow)
+ End With
+ EnableTransactionControls(CurStockName &lt;&gt; &quot;&quot;)
+ TransactModel.cmdGoOn.DefaultButton = True
+End Sub
+
+
+
+Sub HandleStocks(Mode as Integer, oDialog as Object)
+Dim DividendPerShare, DividendTotal, RestQuantity, OldValue
+Dim SelStockName, CellStockName as String
+Dim oNameCell as Object, oDateCell as Object
+Dim iRow as Integer
+Dim oDividendCell as Object
+Dim Amount
+Dim OldNumber, NewNumber as Integer
+Dim NoteText as String
+Dim TotalStocksCount as Long
+Dim oModel as Object
+ oDocument.AddActionLock
+ oDialog.EndExecute()
+ oModel = oDialog.Model
+ SelStockName = DlgStockRates.GetControl(&quot;lstStockNames&quot;).GetSelectedItem()
+ Select Case Mode
+ Case HANDLEDIVIDEND
+ Dim bTakeTotal as Boolean
+ &apos; Update transactions: Enter dividend paid for all Buy transactions not sold completely
+ bTakeTotal = oModel.optTotal.State = 1
+ If bTakeTotal Then
+ DividendTotal = oModel.txtDividend.Value
+ iRow = GetStockRowIndex(SelStockName)
+ TotalStocksCount = oFirstSheet.GetCellByPosition(SBCOLUMNQUANTITY1,iRow).Value
+ DividendPerShare = DividendTotal/TotalStocksCount
+ Else
+ DividendPerShare = oModel.txtDividend.Value
+ End If
+
+ Case HANDLESPLIT
+ &apos; Store entered values in variables
+ OldNumber = oModel.txtOldRate.Value
+ NewNumber = oModel.txtNewRate.Value
+ SplitDate = CDateFromISO(oModel.txtDate.Date)
+ iRow = SBROWFIRSTTRANSACT2
+ NoteText = cSplit &amp; SplitDate &amp; &quot;, &quot; &amp; oModel.txtOldRate.Value &amp; oModel.lblColon.Label &amp; oModel.txtNewRate.Value
+ Do
+ oNameCell = oMovementSheet.GetCellByPosition(SBCOLUMNNAME2, iRow)
+ CellStockName = oNameCell.String
+ If CellStockName = SelStockName Then
+ oDateCell = oMovementSheet.GetCellByPosition(SBCOLUMNDATE2, iRow)
+ If oDateCell.Value &gt;= SplitDate Then
+ MsgBox sMsgWrongExchangeDate, SBMSGOK + SBMSGSTOP, sMsgError
+ Exit Sub
+ End If
+ End If
+ iRow = iRow + 1
+ Loop Until CellStockName = &quot;&quot;
+ End Select
+ iRow = SBROWFIRSTTRANSACT2
+ UnprotectSheets(oSheets)
+ Do
+ oNameCell = oMovementSheet.GetCellByPosition(SBCOLUMNNAME2, iRow)
+ CellStockName = oNameCell.String
+ If CellStockName = SelStockName Then
+ Select Case Mode
+ Case HANDLEDIVIDEND
+ RestQuantity = oMovementSheet.GetCellByPosition(SBCOLUMNQTYREST2, iRow).Value
+ If RestQuantity &gt; 0 Then
+ oDividendCell = oMovementSheet.GetCellByPosition(SBCOLUMNDIVIDEND2, iRow)
+ OldValue = oDividendCell.Value
+ oDividendCell.Value = OldValue + RestQuantity * DividendPerShare
+ End If
+ Case HANDLESPLIT
+ oDateCell = oMovementSheet.GetCellByPosition(SBCOLUMNDATE2, iRow)
+ SplitCellValue(oMovementSheet, NewNumber, OldNumber, SBCOLUMNQUANTITY2, iRow, NoteText)
+ SplitCellValue(oMovementSheet, OldNumber, NewNumber, SBCOLUMNRATE2, iRow, &quot;&quot;)
+ SplitCellValue(oMovementSheet, NewNumber, OldNumber, SBCOLUMNQTYSOLD2, iRow, &quot;&quot;)
+ End Select
+ End If
+ iRow = iRow + 1
+ Loop Until CellStockName = &quot;&quot;
+ If Mode = HANDLESPLIT Then
+ CalculateChartafterSplit(SelStockName, NewNumber, OldNumber, NoteText, SplitDate)
+ End If
+ oDocument.CalculateAll()
+ ProtectSheets(oSheets)
+ oDocument.RemoveActionLock
+End Sub
+
+
+Sub CancelStockRate()
+ DlgStockRates.EndExecute()
+End Sub
+
+
+Sub CancelTransaction()
+ DlgTransaction.EndExecute()
+End Sub
+
+
+Sub CommitStockRate()
+Dim CurStep as Integer
+ CurStep = StockRatesModel.Step
+ Select Case CurStep
+ Case 1
+ &apos; Check for quantity entered
+ If StockRatesModel.txtDividend.Value = 0 Then
+ MsgBox sMsgNoDividend, SBMSGSTOP+SBMSGSTOP, sMsgError
+ Exit Sub
+ End If
+ HandleStocks(HANDLEDIVIDEND, DlgStockRates)
+ Case 2
+ HandleStocks(HANDLESPLIT, DlgStockRates)
+ Case 3
+ InsertCompanyHistory()
+ End Select
+End Sub
+
+
+Sub EnableTransactionControls(bEnable as Boolean)
+ With TransactModel
+ .lblQuantity.Enabled = bEnable
+ .txtQuantity.Enabled = bEnable
+ .lblRate.Enabled = bEnable
+ .txtRate.Enabled = bEnable
+ .lblDate.Enabled = bEnable
+ .txtDate.Enabled = bEnable
+ .lblCommission.Enabled = bEnable
+ .txtCommission.Enabled = bEnable
+ .lblMinimum.Enabled = bEnable
+ .txtMinimum.Enabled = bEnable
+ .lblFix.Enabled = bEnable
+ .txtFix.Enabled = bEnable
+ If TransactModel.Step = SBDIALOGSELL Then
+ .cmdGoOn.Enabled = Ubound(TransactModel.lstSellStocks.SelectedItems()) &gt; -1
+ DlgTransaction.GetControl(&quot;lstSellStocks&quot;).SetFocus()
+ Else
+ .cmdGoOn.Enabled = TransactModel.lstBuyStocks.Text &lt;&gt; &quot;&quot;
+ DlgTransaction.GetControl(&quot;lstBuyStocks&quot;).SetFocus()
+ End If
+ If bEnable Then
+ TransactModel.cmdGoOn.DefaultButton = True
+ End If
+ End With
+End Sub
+
+
+Sub SetupTransactionControls(CurStep as Integer)
+ DlgReference = DlgTransaction
+ With TransactModel
+ .txtDate.Date = CDateToISO(Date())
+ .txtDate.DateMax = CDateToISO(Date())
+ .txtStockID.Enabled = False
+ .lblStockID.Enabled = False
+ .lblStockID.Label = sCurStockIDLabel
+ .txtRate.CurrencySymbol = sCurCurrency
+ .txtFix.CurrencySymbol = sCurCurrency
+ .Step = CurStep
+ End With
+ DlgTransaction.Title = TransactTitle(CurStep)
+ CellValuetoControl(oBankSheet, TransactModel.txtCommission, &quot;ProvisionPercent&quot;)
+ CellValuetoControl(oBankSheet, TransactModel.txtMinimum, &quot;ProvisionMinimum&quot;)
+ CellValuetoControl(oBankSheet, TransactModel.txtFix, &quot;ProvisionFix&quot;)
+End Sub
+
+
+Sub AddShortCuttoControl()
+Dim SelCompany as String
+Dim iRow, SelIndex as Integer
+ SelIndex = DlgTransaction.GetControl(&quot;lstBuyStocks&quot;).GetSelectedItemPos()
+ If SelIndex &lt;&gt; -1 Then
+ SelCompany = TransactModel.lstBuyStocks.StringItemList(SelIndex)
+ iRow = GetStockRowIndex(SelCompany)
+ If iRow &lt;&gt; -1 Then
+ TransactModel.txtStockID.Text = oFirstSheet.GetCellByPosition(SBCOLUMNID1,iRow).String
+ TransactModel.txtRate.Value = oFirstSheet.GetCellByPosition(SBCOLUMNRATE1,iRow).Value
+ Else
+ TransactModel.txtStockID.Text = &quot;&quot;
+ TransactModel.txtRate.Value = 0
+ End If
+ Else
+ TransactModel.txtStockID.Text = &quot;&quot;
+ TransactModel.txtRate.Value = 0
+ End If
+End Sub
+
+
+Sub OpenStockRatePage(aEvent)
+Dim CurStep as Integer
+ Initialize(True)
+ CurStep = aEvent.Source.Model.Tag
+ If FillListbox(DlgStockRates.GetControl(&quot;lstStockNames&quot;), StockRatesTitle(CurStep), True) Then
+ StockRatesModel.Step = CurStep
+ ToggleStockRateControls(False, CurStep)
+ InitializeStockRatesControls(CurStep)
+ DlgStockRates.Execute()
+ End If
+End Sub
+
+
+Sub SelectStockNameForRates()
+Dim StockName as String
+ StockName = DlgStockRates.GetControl(&quot;lstStockNames&quot;).GetSelectedItem()
+ If StockName &lt;&gt; &quot;&quot; Then
+ StockRatesModel.txtStockID.Text = GetStockID(StockName)
+ ToggleStockRateControls(True, StockRatesModel.Step)
+ End If
+ StockRatesModel.cmdGoOn.DefaultButton = True
+End Sub
+
+
+Sub ToggleStockRateControls(bDoEnable as Boolean, CurStep as Integer)
+ With StockRatesModel
+ .lblStockID.Enabled = False
+ .txtStockID.Enabled = False
+ .cmdGoOn.Enabled = Ubound(StockRatesModel.lstStockNames.SelectedItems()) &lt;&gt; -1
+ Select Case CurStep
+ Case 1
+ .optPerShare.Enabled = bDoEnable
+ .optTotal.Enabled = bDoEnable
+ .lblDividend.Enabled = bDoEnable
+ .txtDividend.Enabled = bDoEnable
+ Case 2
+ .lblExchangeRate.Enabled = bDoEnable
+ .lblDate.Enabled = bDoEnable
+ .lblColon.Enabled = bDoEnable
+ .txtOldRate.Enabled = bDoEnable
+ .txtNewRate.Enabled = bDoEnable
+ .txtDate.Enabled = bDoEnable
+ Case 3
+ .lblStartDate.Enabled = bDoEnable
+ .lblEndDate.Enabled = bDoEnable
+ .txtStartDate.Enabled = bDoEnable
+ .txtEndDate.Enabled = bDoEnable
+ .hlnInterval.Enabled = bDoEnable
+ .optDaily.Enabled = bDoEnable
+ .optWeekly.Enabled = bDoEnable
+ End Select
+ End With
+End Sub
+
+
+Sub InitializeStockRatesControls(CurStep as Integer)
+ DlgReference = DlgStockRates
+ DlgStockRates.Title = StockRatesTitle(CurStep)
+ With StockRatesModel
+ .txtStockID.Text = &quot;&quot;
+ .lblStockID.Label = sCurStockIDLabel
+ Select Case CurStep
+ Case 1
+ .txtDividend.Value = 0
+ .optPerShare.State = 1
+ .txtDividend.CurrencySymbol = sCurCurrency
+ Case 2
+ .txtOldRate.Value = 1
+ .txtNewRate.Value = 1
+ .txtDate.Date = CDateToISO(Date())
+ Case 3
+ .txtStartDate.DateMax = CDateToISO(CDate(Date())-1)
+ .txtEndDate.DateMax = CDateToISO(CDate(Date())-1)
+ .txtStartDate.Date = CDateToISO(CDate(Date())-8)
+ .txtEndDate.Date = CDateToISO(CDate(Date())-1)
+ .optDaily.State = 1
+ End Select
+ End With
+End Sub
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Depot/Dialog2.xdl b/test/user-template/user/basic/Depot/Dialog2.xdl
new file mode 100644
index 000000000000..652acaa1942a
--- /dev/null
+++ b/test/user-template/user/basic/Depot/Dialog2.xdl
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE dlg:window PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "dialog.dtd">
+<dlg:window xmlns:dlg="http://openoffice.org/2000/dialog" xmlns:script="http://openoffice.org/2000/script" dlg:id="Dialog2" dlg:tab-index="0" dlg:left="91" dlg:top="24" dlg:width="220" dlg:height="128" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_DIALOG_SELLBUY" dlg:closeable="true" dlg:moveable="true">
+ <dlg:bulletinboard>
+ <dlg:text dlg:id="lblStockNames" dlg:tab-index="0" dlg:left="6" dlg:top="6" dlg:width="102" dlg:height="8" dlg:value="lblStockNames"/>
+ <dlg:menulist dlg:id="lstSellStocks" dlg:tab-index="1" dlg:left="6" dlg:top="17" dlg:width="102" dlg:height="12" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_1_LSTSELLSTOCKS" dlg:spin="true">
+ <script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:Depot.Depot.SelectStockname?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:menulist>
+ <dlg:combobox dlg:id="lstBuyStocks" dlg:tab-index="2" dlg:left="6" dlg:top="17" dlg:width="102" dlg:height="12" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_2_LSTBUYSTOCKS" dlg:spin="true">
+ <script:event script:event-name="on-textchange" script:macro-name="vnd.sun.star.script:Depot.Depot.SelectStockname?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:combobox>
+ <dlg:text dlg:id="lblStockID" dlg:tab-index="3" dlg:left="150" dlg:top="6" dlg:width="66" dlg:height="8" dlg:value="lblStockID"/>
+ <dlg:textfield dlg:id="txtStockID" dlg:tab-index="4" dlg:left="150" dlg:top="17" dlg:width="40" dlg:height="12" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_0_TXTSTOCKID_SELLBUY"/>
+ <dlg:text dlg:id="lblQuantity" dlg:tab-index="5" dlg:left="6" dlg:top="36" dlg:width="57" dlg:height="8" dlg:value="lblQuantity"/>
+ <dlg:numericfield dlg:id="txtQuantity" dlg:tab-index="6" dlg:left="6" dlg:top="47" dlg:width="46" dlg:height="12" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_0_TXTQUANTITY" dlg:decimal-accuracy="0" dlg:value-min="1"/>
+ <dlg:currencyfield dlg:id="txtRate" dlg:tab-index="7" dlg:left="68" dlg:top="47" dlg:width="40" dlg:height="12" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_0_TXTRATE" dlg:value-min="0"/>
+ <dlg:datefield dlg:id="txtDate" dlg:tab-index="8" dlg:left="150" dlg:top="47" dlg:width="50" dlg:height="12" dlg:tag="Dialog2" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_0_TXTDATE" dlg:strict-format="true" dlg:spin="true">
+ <script:event script:event-name="on-textchange" script:macro-name="vnd.sun.star.script:Depot.tools.CheckInputDate?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:datefield>
+ <dlg:text dlg:id="lblRate" dlg:tab-index="9" dlg:left="68" dlg:top="36" dlg:width="77" dlg:height="8" dlg:value="lblRate"/>
+ <dlg:text dlg:id="lblDate" dlg:tab-index="10" dlg:left="150" dlg:top="37" dlg:width="66" dlg:height="8" dlg:value="lblDate"/>
+ <dlg:formattedfield dlg:id="txtCommission" dlg:tab-index="11" dlg:left="6" dlg:top="90" dlg:width="40" dlg:height="12" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_0_TXTCOMMISSION" dlg:format-code="0,00%" dlg:format-locale="de;DE"/>
+ <dlg:text dlg:id="lblCommission" dlg:tab-index="12" dlg:left="6" dlg:top="79" dlg:width="60" dlg:height="8" dlg:value="lblCommission"/>
+ <dlg:currencyfield dlg:id="txtFix" dlg:tab-index="13" dlg:left="68" dlg:top="90" dlg:width="40" dlg:height="12" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_0_TXTFIX" dlg:value-min="0"/>
+ <dlg:currencyfield dlg:id="txtMinimum" dlg:tab-index="14" dlg:left="150" dlg:top="90" dlg:width="40" dlg:height="12" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_0_TXTMINIMUM" dlg:value-min="0"/>
+ <dlg:text dlg:id="lblFix" dlg:tab-index="15" dlg:left="68" dlg:top="79" dlg:width="71" dlg:height="8" dlg:value="lblFix"/>
+ <dlg:text dlg:id="lblMinimum" dlg:tab-index="16" dlg:left="150" dlg:top="79" dlg:width="66" dlg:height="8" dlg:value="lblMinimum"/>
+ <dlg:button dlg:id="cmdCancel" dlg:tab-index="17" dlg:left="58" dlg:top="109" dlg:width="50" dlg:height="14" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_0_CMDCANCEL_SELLBUY" dlg:value="cmdCancel">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Depot.Depot.CancelTransaction?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="cmdGoOn" dlg:tab-index="18" dlg:left="111" dlg:top="109" dlg:width="50" dlg:height="14" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_0_CMDGOON_SELLBUY" dlg:value="cmdGoOn">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Depot.Depot.TransactionOk?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:fixedline dlg:id="hlnCommission" dlg:tab-index="19" dlg:left="6" dlg:top="66" dlg:width="210" dlg:height="8" dlg:value="hlnCommission"/>
+ </dlg:bulletinboard>
+</dlg:window> \ No newline at end of file
diff --git a/test/user-template/user/basic/Depot/Dialog3.xdl b/test/user-template/user/basic/Depot/Dialog3.xdl
new file mode 100644
index 000000000000..87bda0197f28
--- /dev/null
+++ b/test/user-template/user/basic/Depot/Dialog3.xdl
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE dlg:window PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "dialog.dtd">
+<dlg:window xmlns:dlg="http://openoffice.org/2000/dialog" xmlns:script="http://openoffice.org/2000/script" dlg:id="Dialog3" dlg:left="161" dlg:top="81" dlg:width="176" dlg:height="119" dlg:page="3" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_DIALOG_SPLIT" dlg:closeable="true" dlg:moveable="true">
+ <dlg:bulletinboard>
+ <dlg:text dlg:id="lblStockNames" dlg:tab-index="0" dlg:left="6" dlg:top="6" dlg:width="98" dlg:height="8" dlg:value="lblStockNames"/>
+ <dlg:menulist dlg:id="lstStockNames" dlg:tab-index="1" dlg:left="5" dlg:top="17" dlg:width="102" dlg:height="12" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_0_LSTSTOCKNAMES" dlg:spin="true">
+ <script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:Depot.Depot.SelectStockNameForRates?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:menulist>
+ <dlg:textfield dlg:id="txtStockID" dlg:tab-index="2" dlg:left="120" dlg:top="17" dlg:width="50" dlg:height="12" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_0_TXTSTOCKID_SPLIT"/>
+ <dlg:datefield dlg:id="txtStartDate" dlg:tab-index="3" dlg:left="63" dlg:top="37" dlg:width="50" dlg:height="12" dlg:page="3" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_3_TXTSTARTDATE" dlg:spin="true">
+ <script:event script:event-name="on-textchange" script:macro-name="vnd.sun.star.script:Depot.tools.CheckInputDate?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:datefield>
+ <dlg:datefield dlg:id="txtEndDate" dlg:tab-index="4" dlg:left="63" dlg:top="53" dlg:width="50" dlg:height="12" dlg:page="3" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_3_TXTENDDATE" dlg:spin="true">
+ <script:event script:event-name="on-textchange" script:macro-name="vnd.sun.star.script:Depot.tools.CheckInputDate?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:datefield>
+ <dlg:radiogroup>
+ <dlg:radio dlg:id="optDaily" dlg:tab-index="5" dlg:left="12" dlg:top="83" dlg:width="75" dlg:height="10" dlg:page="3" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_3_OPTDAILY" dlg:value="optDaily"/>
+ <dlg:radio dlg:id="optWeekly" dlg:tab-index="6" dlg:left="101" dlg:top="83" dlg:width="69" dlg:height="10" dlg:page="3" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_3_OPTWEEKLY" dlg:value="optWeekly"/>
+ </dlg:radiogroup>
+ <dlg:datefield dlg:id="txtDate" dlg:tab-index="7" dlg:left="71" dlg:top="73" dlg:width="50" dlg:height="12" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_2_TXTDATE" dlg:spin="true">
+ <script:event script:event-name="on-textchange" script:macro-name="vnd.sun.star.script:Depot.tools.CheckInputDate?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:datefield>
+ <dlg:radiogroup>
+ <dlg:radio dlg:id="optPerShare" dlg:tab-index="8" dlg:left="6" dlg:top="37" dlg:width="69" dlg:height="10" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_1_OPTPERSHARE" dlg:value="optPerShare"/>
+ <dlg:radio dlg:id="optTotal" dlg:tab-index="9" dlg:left="6" dlg:top="51" dlg:width="69" dlg:height="10" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_1_OPTTOTAL" dlg:value="optTotal"/>
+ </dlg:radiogroup>
+ <dlg:currencyfield dlg:id="txtDividend" dlg:tab-index="10" dlg:left="6" dlg:top="80" dlg:width="50" dlg:height="12" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_1_TXTDIVIDEND" dlg:value-min="0" dlg:spin="true"/>
+ <dlg:button dlg:id="cmdCancel" dlg:tab-index="11" dlg:left="41" dlg:top="98" dlg:width="50" dlg:height="14" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_0_CMDCANCEL_SPLIT" dlg:value="cmdCancel">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Depot.Depot.CancelStockRate?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="cmdGoOn" dlg:tab-index="12" dlg:left="94" dlg:top="98" dlg:width="50" dlg:height="14" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_0_CMDGOON_SPLIT" dlg:value="cmdGoOn">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Depot.Depot.CommitStockRate?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:text dlg:id="lblStockID" dlg:tab-index="13" dlg:left="120" dlg:top="6" dlg:width="50" dlg:height="8" dlg:value="lblStockID"/>
+ <dlg:text dlg:id="lblDividend" dlg:tab-index="14" dlg:left="6" dlg:top="68" dlg:width="73" dlg:height="8" dlg:page="1" dlg:value="lblDividend"/>
+ <dlg:text dlg:id="lblExchangeRate" dlg:tab-index="15" dlg:left="6" dlg:top="39" dlg:width="92" dlg:height="8" dlg:page="2" dlg:value="lblExchangeRate"/>
+ <dlg:text dlg:id="lblColon" dlg:tab-index="16" dlg:left="40" dlg:top="55" dlg:width="5" dlg:height="8" dlg:page="2" dlg:value=" :"/>
+ <dlg:text dlg:id="lblDate" dlg:tab-index="17" dlg:left="5" dlg:top="75" dlg:width="66" dlg:height="8" dlg:page="2" dlg:value="lblDate"/>
+ <dlg:fixedline dlg:id="hlnInterval" dlg:tab-index="18" dlg:left="6" dlg:top="72" dlg:width="164" dlg:height="8" dlg:page="3" dlg:value="hlnInterval"/>
+ <dlg:text dlg:id="lblStartDate" dlg:tab-index="19" dlg:left="6" dlg:top="39" dlg:width="53" dlg:height="8" dlg:page="3" dlg:value="lblStartDate"/>
+ <dlg:text dlg:id="lblEndDate" dlg:tab-index="20" dlg:left="6" dlg:top="55" dlg:width="53" dlg:height="8" dlg:page="3" dlg:value="lblEndDate"/>
+ <dlg:numericfield dlg:id="txtOldRate" dlg:tab-index="21" dlg:left="6" dlg:top="53" dlg:width="30" dlg:height="12" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_2_TXTOLDRATE" dlg:decimal-accuracy="0" dlg:value-min="1" dlg:spin="true"/>
+ <dlg:numericfield dlg:id="txtNewRate" dlg:tab-index="22" dlg:left="50" dlg:top="53" dlg:width="30" dlg:height="12" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_2_TXTNEWRATE" dlg:decimal-accuracy="0" dlg:value-min="1" dlg:spin="true"/>
+ </dlg:bulletinboard>
+</dlg:window> \ No newline at end of file
diff --git a/test/user-template/user/basic/Depot/Dialog4.xdl b/test/user-template/user/basic/Depot/Dialog4.xdl
new file mode 100644
index 000000000000..f5c86ce47355
--- /dev/null
+++ b/test/user-template/user/basic/Depot/Dialog4.xdl
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE dlg:window PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "dialog.dtd">
+<dlg:window xmlns:dlg="http://openoffice.org/2000/dialog" xmlns:script="http://openoffice.org/2000/script" dlg:id="Dialog4" dlg:left="161" dlg:top="81" dlg:width="160" dlg:height="120" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_DIALOG_HISTORY" dlg:closeable="true" dlg:moveable="true">
+ <dlg:bulletinboard>
+ <dlg:text dlg:id="lblWelcome" dlg:tab-index="0" dlg:left="6" dlg:top="6" dlg:width="148" dlg:height="49" dlg:value="lblWelcome" dlg:multiline="true"/>
+ <dlg:text dlg:id="lblHint" dlg:tab-index="1" dlg:left="6" dlg:top="73" dlg:width="148" dlg:height="26" dlg:value="lblHint" dlg:multiline="true"/>
+ <dlg:button dlg:id="cmdCancel" dlg:tab-index="2" dlg:left="28" dlg:top="100" dlg:width="50" dlg:height="14" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_0_CMDCANCEL_HISTORY" dlg:value="cmdCancel">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Depot.Currency.CloseStartUpDialog?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="cmdGoOn" dlg:tab-index="3" dlg:left="84" dlg:top="100" dlg:width="52" dlg:height="14" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_0_CMDGOON_HISTORY" dlg:value="cmdGoOn">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Depot.Currency.ChooseMarket?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:menulist dlg:id="lstMarkets" dlg:tab-index="4" dlg:left="6" dlg:top="57" dlg:width="148" dlg:height="12" dlg:help-url="HID:WIZARDS_HID_DLGDEPOT_LSTMARKETS" dlg:spin="true">
+ <script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:Depot.Currency.EnableGoOnButton?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:menulist>
+ </dlg:bulletinboard>
+</dlg:window> \ No newline at end of file
diff --git a/test/user-template/user/basic/Depot/Internet.xba b/test/user-template/user/basic/Depot/Internet.xba
new file mode 100644
index 000000000000..f8b646d54133
--- /dev/null
+++ b/test/user-template/user/basic/Depot/Internet.xba
@@ -0,0 +1,339 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Internet" script:language="StarBasic">REM ***** BASIC *****
+Option Explicit
+Public sNewSheetName as String
+
+Function CheckHistoryControls()
+Dim bLocGoOn as Boolean
+Dim Firstdate as Date
+Dim LastDate as Date
+ LastDate = CDateFromISO(StockRatesModel.txtEndDate.Date)
+ FirstDate = CDateFromISO(StockRatesModel.txtStartDate.Date)
+ bLocGoOn = FirstDate &lt;&gt; 0 And LastDate &lt;&gt; 0
+ If bLocGoOn Then
+ If FirstDate &gt;= LastDate Then
+ Msgbox(sMsgStartDatebeforeEndDate,16, sProductname)
+ bLocGoOn = False
+ End If
+ End If
+ CheckHistoryControls = bLocGoon
+End Function
+
+
+Sub InsertCompanyHistory()
+Dim StockName as String
+Dim CurRow as Integer
+Dim sMsgInternetError as String
+Dim CurRate as Double
+Dim oCell as Object
+Dim sStockID as String
+Dim ChartSource as String
+ If CheckHistoryControls() Then
+ StartDate = CDateFromISO(StockRatesModel.txtStartDate.Date)
+ EndDate = CDateFromISO(StockRatesModel.txtEndDate.Date)
+ DlgStockRates.EndExecute()
+ If StockRatesModel.optDaily.State = 1 Then
+ sInterval = &quot;d&quot;
+ iStep = 1
+ ElseIf StockRatesModel.optWeekly.State = 1 Then
+ sInterval = &quot;w&quot;
+ iStep = 7
+ StartDate = StartDate - WeekDay(StartDate) + 2
+ EndDate = EndDate - WeekDay(EndDate) + 2
+ End If
+ iEndDay = Day(EndDate)
+ iEndMonth = Month(EndDate)
+ iEndYear = Year(EndDate)
+ iStartDay = Day(StartDate)
+ iStartMonth = Month(StartDate)
+ iStartYear = Year(StartDate)
+&apos; oDocument.AddActionLock()
+ UnprotectSheets(oSheets)
+ InitializeStatusline(&quot;&quot;, 10, 1)
+ oBackGroundSheet = oSheets.GetbyName(&quot;Background&quot;)
+ StockName = DlgStockRates.GetControl(&quot;lstStockNames&quot;).GetSelectedItem()
+ CurRow = GetStockRowIndex(Stockname)
+ sStockID = oFirstSheet.GetCellByPosition(SBCOLUMNID1, CurRow).String
+ ChartSource = ReplaceString(HistoryChartSource, sStockID, &quot;&lt;StockID&gt;&quot;)
+ ChartSource = ReplaceString(ChartSource, iStartDay, &quot;&lt;StartDay&gt;&quot;)
+ ChartSource = ReplaceString(ChartSource, cStr(iStartMonth-1), &quot;&lt;StartMonth&gt;&quot;)
+ ChartSource = ReplaceString(ChartSource, iStartYear, &quot;&lt;StartYear&gt;&quot;)
+ ChartSource = ReplaceString(ChartSource, iEndDay, &quot;&lt;EndDay&gt;&quot;)
+ ChartSource = ReplaceString(ChartSource, cStr(iEndMonth-1), &quot;&lt;EndMonth&gt;&quot;)
+ ChartSource = ReplaceString(ChartSource, iEndYear, &quot;&lt;EndYear&gt;&quot;)
+ ChartSource = ReplaceString(ChartSource, sInterval, &quot;&lt;interval&gt;&quot;)
+ oStatusLine.SetValue(2)
+ If GetCurrentRate(ChartSource, CurRate, 1) Then
+ oStatusLine.SetValue(8)
+ UpdateValue(StockName, Today, CurRate)
+ oStatusLine.SetValue(9)
+ UpdateChart(StockName)
+ oStatusLine.SetValue(10)
+ Else
+ sMsgInternetError = Stockname &amp; &quot;: &quot; &amp; sNoInternetDataAvailable &amp; chr(13) &amp; sCheckInternetSettings
+ Msgbox(sMsgInternetError, 16, sProductname)
+ End If
+ ProtectSheets(oSheets)
+ oStatusLine.End
+ If oSheets.HasbyName(sNewSheetName) Then
+ oController.ActiveSheet = oSheets.GetByName(sNewSheetName)
+ End If
+&apos; oDocument.RemoveActionLock()
+ End If
+End Sub
+
+
+
+Sub InternetUpdate()
+Dim i as Integer
+Dim StocksCount as Integer
+Dim iStartRow as Integer
+Dim sUrl as String
+Dim StockName as String
+Dim CurRate as Double
+Dim oCell as Object
+Dim sMsgInternetError as String
+Dim sStockID as String
+Dim ChartSource as String
+&apos; oDocument.AddActionLock()
+ Initialize(True)
+ UnprotectSheets(oSheets)
+ StocksCount = GetStocksCount(iStartRow)
+ InitializeStatusline(&quot;&quot;, StocksCount + 1, 1)
+ Today = CDate(Date)
+ For i = iStartRow + 1 To iStartRow + StocksCount
+ StockName = oFirstSheet.GetCellbyPosition(SBCOLUMNNAME1, i).String
+ sStockID = oFirstSheet.GetCellByPosition(SBCOLUMNID1, i).String
+ ChartSource = ReplaceString(sCurChartSource, sStockID, &quot;&lt;StockID&gt;&quot;)
+ If GetCurrentRate(ChartSource, CurRate, 0) Then
+ InsertCurrentValue(CurRate, i, Now)
+ Else
+ sMsgInternetError = Stockname &amp; &quot;: &quot; &amp; sNoInternetDataAvailable &amp; chr(13) &amp; sCheckInternetSettings
+ Msgbox(sMsgInternetError, 16, sProductname)
+ End If
+ oStatusline.SetValue(i - iStartRow + 1)
+ Next
+ ProtectSheets(oSheets)
+ oStatusLine.End
+&apos; oDocument.RemoveActionLock
+End Sub
+
+
+
+Function GetCurrentRate(sUrl as String, fValue As Double, iValueRow as Integer) as Boolean
+Dim sFilter As String
+Dim sOptions As String
+Dim oLinkSheet As Object
+Dim sDate as String
+ If oSheets.hasByName(&quot;Link&quot;) Then
+ oLinkSheet = oSheets.getByName(&quot;Link&quot;)
+ Else
+ oLinkSheet = oDocument.createInstance(&quot;com.sun.star.sheet.Spreadsheet&quot;)
+ oSheets.insertByName(&quot;Link&quot;, oLinkSheet)
+ oLinkSheet.IsVisible = False
+ End If
+
+ sFilter = &quot;Text - txt - csv (StarCalc)&quot;
+ sOptions = sCurSeparator &amp; &quot;,34,SYSTEM,1,1/10/2/10/3/10/4/10/5/10/6/10/7/10/8/10/9/10&quot;
+
+ oLinkSheet.LinkMode = com.sun.star.sheet.SheetLinkMode.NONE
+ oLinkSheet.link(sUrl, &quot;&quot;, sFilter, sOptions, 1 )
+ fValue = oLinkSheet.getCellByPosition(iValueCol, iValueRow).Value
+ If fValue = 0 Then
+ Dim sValue as String
+ sValue = oLinkSheet.getCellByPosition(1, iValueRow).String
+ sValue = ReplaceString(sValue, &quot;.&quot;,&quot;,&quot;)
+ fValue = Val(sValue)
+ End If
+ GetCurrentRate = fValue &lt;&gt; 0
+End Function
+
+
+
+Sub UpdateValue(ByVal sName As String, fDate As Double, fValue As Double )
+Dim oSheet As Object
+Dim iColumn As Long
+Dim iRow As Long
+Dim i as Integer
+Dim oCell As Object
+Dim LastDate as Date
+Dim bLeaveLoop as Boolean
+Dim RemoveCount as Integer
+Dim iLastRow as Integer
+Dim iLastLinkRow as Integer
+Dim dDate as Date
+Dim CurDate as Date
+Dim oLinkSheet as Object
+Dim StartIndex as Integer
+Dim iCellValue as Long
+ &apos; Insert Sheet with Company - Chart
+ sName = CheckNewSheetname(oSheets, sName)
+ If NOT oSheets.hasByName(sName) Then
+ oSheets.CopybyName(&quot;Background&quot;, sName, oSheets.Count)
+ oSheet = oSheets.getByName(sName)
+ iCurRow = SBSTARTROW
+ iMaxRow = iCurRow
+ oCell = oSheet.getCellByPosition(SBDATECOLUMN, iCurRow)
+ oCell.Value = fDate
+ End If
+ sNewSheetName = sName
+ oLinkSheet = oSheets.GetByName(&quot;Link&quot;)
+ oSheet = oSheets.getByName(sName)
+ iLastRow = GetLastUsedRow(oSheet)- 2
+ iLastLinkRow = GetLastUsedRow(oLinkSheet)
+ iCurRow = iLastRow
+ bLeaveLoop = False
+ RemoveCount = 0
+ &apos; Delete all Cells in Date Area
+ Do
+ oCell = oSheet.GetCellbyPosition(SBDATECOLUMN,iCurRow)
+ If oCell.CellStyle = sColumnHeader Then
+ bLeaveLoop = True
+ StartIndex = iCurRow
+ iCurRow = iCurRow + 1
+ Else
+ RemoveCount = RemoveCount + 1
+ iCurRow = iCurRow - 1
+ End If
+ Loop Until bLeaveLoop
+ If RemoveCount &gt; 1 Then
+ oSheet.Rows.RemoveByIndex(iCurRow, RemoveCount-1)
+ End If
+ For i = 1 To iLastLinkRow
+ oCell = oSheet.GetCellbyPosition(SBDATECOLUMN,iCurRow)
+ iCellValue = oLinkSheet.GetCellByPosition(0,i).Value
+ If iCellValue &gt; 0 Then
+ oCell.SetValue(oLinkSheet.GetCellByPosition(0,i).Value)
+ Else
+ oCell.SetValue(StringToDate(oLinkSheet.GetCellByPosition(0,i).String)
+ End If
+ oCell = oSheet.GetCellbyPosition(SBVALUECOLUMN,iCurRow)
+ oCell.SetValue(oLinkSheet.GetCellByPosition(4,i).Value)
+ If i &lt; iLastLinkRow Then
+ iCurRow = iCurRow + 1
+ oSheet.Rows.InsertByIndex(iCurRow,1)
+ End If
+ Next i
+ iMaxRow = iCurRow
+End Sub
+
+
+Function StringToDate(DateString as String) as Date
+Dim ShortMonths(11)
+Dim DateList() as String
+Dim MaxIndex as Integer
+Dim i as Integer
+ ShortMonths(0) = &quot;Jan&quot;
+ ShortMonths(1) = &quot;Feb&quot;
+ ShortMonths(2) = &quot;Mar&quot;
+ ShortMonths(3) = &quot;Apr&quot;
+ ShortMonths(4) = &quot;May&quot;
+ ShortMonths(5) = &quot;Jun&quot;
+ ShortMonths(6) = &quot;Jul&quot;
+ ShortMonths(7) = &quot;Aug&quot;
+ ShortMonths(8) = &quot;Sep&quot;
+ ShortMonths(9) = &quot;Oct&quot;
+ ShortMonths(10) = &quot;Nov&quot;
+ ShortMonths(11) = &quot;Dec&quot;
+ For i = 0 To 11
+ DateString = ReplaceString(DateString,CStr(i+1),ShortMonths(i))
+ Next i
+ DateString = ReplaceString(DateString, &quot;.&quot;, &quot;-&quot;)
+ StringToDate = CDate(DateString)
+End Function
+
+
+Sub UpdateChart(sName As String)
+Dim oSheet As Object
+Dim oCell As Object, oCursor As Object
+Dim oChartRange As Object
+Dim oEmbeddedChart As Object, oCharts As Object
+Dim oChart As Object, oDiagram As Object
+Dim oYAxis As Object, oXAxis As Object
+Dim fMin As Double, fMax As Double
+Dim nDateFormat As Long
+Dim aPos As Variant
+Dim aSize As Variant
+Dim oContainerChart as Object
+Dim mRangeAddresses(0) as New com.sun.star.table.CellRangeAddress
+ mRangeAddresses(0).Sheet = GetSheetIndex(oSheets, sNewSheetName)
+ mRangeAddresses(0).StartColumn = SBDATECOLUMN
+ mRangeAddresses(0).StartRow = SBSTARTROW-1
+ mRangeAddresses(0).EndColumn = SBVALUECOLUMN
+ mRangeAddresses(0).EndRow = iMaxRow
+
+ oSheet = oDocument.Sheets.getByName(sNewSheetName)
+ oCharts = oSheet.Charts
+
+ If Not oCharts.hasElements Then
+ oSheet.GetCellbyPosition(2,2).SetString(sName)
+ oChartRange = oSheet.getCellRangeByPosition(SBDATECOLUMN,6,5,SBSTARTROW-3)
+ aPos = oChartRange.Position
+ aSize = oChartRange.Size
+
+ Dim oRectangleShape As New com.sun.star.awt.Rectangle
+ oRectangleShape.X = aPos.X
+ oRectangleShape.Y = aPos.Y
+ oRectangleShape.Width = aSize.Width
+ oRectangleShape.Height = aSize.Height
+ oCharts.addNewByName(sName, oRectangleShape, mRangeAddresses(), True, False)
+ oContainerChart = oCharts.getByName(sName)
+ oChart = oContainerChart.EmbeddedObject
+ oChart.Title.String = &quot;&quot;
+ oChart.HasLegend = False
+ oChart.diagram = oChart.createInstance(&quot;com.sun.star.chart.XYDiagram&quot;)
+ oDiagram = oChart.Diagram
+ oDiagram.DataRowSource = com.sun.star.chart.ChartDataRowSource.COLUMNS
+ oChart.Area.LineStyle = com.sun.star.drawing.LineStyle.SOLID
+ oXAxis = oDiagram.XAxis
+ oXAxis.TextBreak = False
+ nDateFormat = oXAxis.NumberFormats.getStandardFormat(com.sun.star.util.NumberFormat.DATE, oDocLocale)
+
+ oYAxis = oDiagram.getYAxis()
+ oYAxis.AutoOrigin = True
+ Else
+ oChart = oCharts(0)
+ oChart.Ranges = mRangeAddresses()
+ oChart.HasRowHeaders = False
+ oEmbeddedChart = oChart.EmbeddedObject
+ oDiagram = oEmbeddedChart.Diagram
+ oXAxis = oDiagram.XAxis
+ End If
+ oXAxis.AutoStepMain = False
+ oXAxis.AutoStepHelp = False
+ oXAxis.StepMain = iStep
+ oXAxis.StepHelp = iStep
+ fMin = oSheet.getCellByPosition(SBDATECOLUMN,SBSTARTROW).Value
+ fMax = oSheet.getCellByPosition(SBDATECOLUMN,iMaxRow).Value
+ oXAxis.Min = fMin
+ oXAxis.Max = fMax
+ oXAxis.AutoMin = False
+ oXAxis.AutoMax = False
+End Sub
+
+
+Sub CalculateChartafterSplit(SheetName, NewNumber, OldNumber, NoteText, SplitDate)
+Dim oSheet as Object
+Dim i as Integer
+Dim oValueCell as Object
+Dim oDateCell as Object
+Dim bLeaveLoop as Boolean
+ If oSheets.HasbyName(SheetName) Then
+ oSheet = oSheets.GetbyName(SheetName)
+ i = 0
+ bLeaveLoop = False
+ Do
+ oValueCell = oSheet.GetCellbyPosition(SBVALUECOLUMN, SBSTARTROW + i)
+ If oValueCell.CellStyle = CurrCellStyle Then
+ SplitCellValue(oSheet, OldNumber, NewNumber, SBVALUECOLUMN, SBSTARTROW + i, &quot;&quot;)
+ i = i + 1
+ Else
+ bLeaveLoop = True
+ End If
+ Loop Until bLeaveLoop
+ oDateCell = oSheet.GetCellbyPosition(SBDATECOLUMN, SBSTARTROW + i-1)
+ oDateCell.Annotation.SetString(NoteText)
+ End If
+End Sub
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Depot/Lang_de.xba b/test/user-template/user/basic/Depot/Lang_de.xba
new file mode 100644
index 000000000000..1fe55bcca0b6
--- /dev/null
+++ b/test/user-template/user/basic/Depot/Lang_de.xba
@@ -0,0 +1,158 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Lang_de" script:language="StarBasic">Option Explicit
+
+Sub LoadGermanLanguage()
+
+ sProductname = GetProductname
+ sOK = &quot;~OK&quot;
+ sCancel = &quot;Abbrechen&quot;
+ sColumnHeader = &quot;Spaltenkopf&quot;
+ sInsertStockName = &quot;Bitte fügen Sie zunächst einige Aktien in Ihr Depot ein!&quot;
+ sTitle = &quot;&lt;PRODUCTNAME&gt;: Aktienverwaltung&quot;
+ sTitle = ReplaceString(sTitle, sProductName, &quot;&lt;PRODUCTNAME&gt;&quot;)
+ sMsgError = &quot;Eingabefehler&quot;
+ sMsgNoName = sInsertStockname
+ sMsgNoQuantity = &quot;Bitte geben Sie eine Stückzahl größer als 0 ein&quot;
+ sMsgNoDividend = &quot;Bitte geben Sie eine Dividende je Stück oder eine Gesamtdividende ein&quot;
+ sMsgNoExchangeRate = &quot;Bitte geben Sie eine korrekte Umtauschrate ein (alte Aktien -&gt; neue Aktien).&quot;
+ sMsgNoValidExchangeDate = &quot;Bitte geben Sie ein gültiges Datum für den Aktiensplitt ein.&quot;
+ sMsgWrongExchangeDate = &quot;Splitt nicht möglich, da bereits Transaktionen nach dem Splitt-Datum existieren.&quot;
+ sMsgSellTooMuch = &quot;So viele Aktien können Sie nicht verkaufen. Maximum: &quot;
+ sMsgConfirm = &quot;Bestätigung erforderlich&quot;
+ sMsgFreeStock = &quot;Beabsichtigen Sie die Eingabe von Gratisaktien?&quot;
+ sMsgTotalLoss = &quot;Beabsichtigen Sie die Eingabe eines Totalverlustes?&quot;
+ sMsgAuthorization = &quot;Sicherheitsabfrage&quot;
+ sMsgDeleteAll = &quot;Wollen Sie alle Bewegungen löschen und die Depotübersicht rücksetzen?&quot;
+ cSplit = &quot;Aktiensplitt am &quot;
+ sHistory = &quot;Historie&quot;
+ TransactTitle(1) = &quot;Aktien verkaufen&quot;
+ TransactTitle(2) = &quot;Aktien kaufen&quot;
+ StockRatesTitle(1) = &quot;Dividendenzahlung&quot;
+ StockRatesTitle(2) = &quot;Aktiensplitt&quot;
+ StockRatesTitle(3) = sHistory
+ sDepotCurrency = &quot;Depotwährung&quot;
+ sStockName = &quot;Aktienname&quot;
+ TransactMode = LIFO &apos; Possible values: &quot;FIFO&quot; and &quot;LIFO&quot;
+ DateCellStyle = &quot;Ergebnis Datum&quot;
+ CurrCellStyle = &quot;Ergebnis Euro mit Dezimalen&quot;
+ sStartDate = &quot;Startdatum:&quot;
+ sEndDate = &quot;Enddatum:&quot;
+ sStartUpWelcome = &quot;Diese Vorlage ermöglicht Ihnen eine effiziente Verwaltung Ihres Aktiendepots&quot;
+ sStartUpChooseMarket = &quot;Wählen Sie zunächst Ihre Referenz-Währung und damit den Börsenplatz für das Internet Update aus!&quot;
+ sStartUpHint = &quot;Leider steht Ihnen die &lt;History&gt;- Funktion nur für den amerikanischen Markt zur Verfügung!&quot;
+ sStartupHint = ReplaceString(sStartUpHint, sHistory, &quot;&lt;History&gt;&quot;)
+ sNoInternetUpdate = &quot;ohne Internet Update&quot;
+ sMarketPlace = &quot;Börsenplatz:&quot;
+ sNoInternetDataAvailable = &quot;Internet-Kurse konnten nicht empfangen werden!&quot;
+ sCheckInternetSettings = &quot;Mögliche Ursachen sind: &lt;BR&gt; Ihre Internet Einstellungen müssen überprüft werden.&lt;BR&gt; Sie haben eine falsche Kennung (z.B. Symbol, WKN) für die Aktie eingegeben.&quot;
+ sCheckInternetSettings = ReplaceString(sCheckInternetSettings, chr(13), &quot;&lt;BR&gt;&quot;)
+
+ sMsgEndDatebeforeNow = &quot;Das Enddatum muss vor dem heutigen Tag liegen!&quot;
+ sMsgStartDatebeforeEndDate = &quot;Das Startdatum muss vor dem Enddatum liegen!&quot;
+
+ sMarket(0,0) = &quot;Amerikanischer Dollar&quot;
+ sMarket(0,1) = &quot;$&quot;
+ sMarket(0,2) = &quot;New York&quot;
+ sMarket(0,3) = &quot;http://finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sMarket(0,4) = &quot;http://ichart.finance.yahoo.com/table.csv?&quot; &amp;_
+ &quot;s=&lt;StockID&gt;&amp;d=&lt;EndMonth&gt;&amp;e=&lt;EndDay&gt;&amp;f=&lt;Endyear&gt;&amp;g=d&amp;&quot; &amp;_
+ &quot;a=&lt;StartMonth&gt;&amp;b=&lt;StartDay&gt;&amp;c=&lt;Startyear&gt;&amp;ignore=.csv&quot;
+ sMarket(0,5) = &quot;Symbol&quot;
+ sMarket(0,6) = &quot;en&quot;
+ sMarket(0,7) = &quot;US&quot;
+ sMarket(0,8) = &quot;409&quot;
+ sMarket(0,9) = &quot;44&quot;
+ sMarket(0,10) = &quot;1&quot;
+
+ sMarket(1,0) = &quot;Euro&quot;
+ sMarket(1,1) = chr(8364)
+ sMarket(1,2) = &quot;Frankfurt&quot;
+ sMarket(1,3) = &quot;http://de.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.F&amp;f=sl1t1c1ghpv&amp;e=.csv&quot;
+ sMarket(1,5) = &quot;WKN&quot;
+ sMarket(1,6) = &quot;de;nl;pt;el&quot;
+ sMarket(1,7) = &quot;DE;NL;PT;GR&quot;
+ sMarket(1,8) = &quot;407;413;816;408&quot;
+ sMarket(1,9) = &quot;59/9&quot;
+ sMarket(1,10) = &quot;1&quot;
+
+ sMarket(2,0) = &quot;Englisches Pfund&quot;
+ sMarket(2,1) = &quot;£&quot;
+ sMarket(2,2) = &quot;London&quot;
+ sMarket(2,3) = &quot;http://uk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.L&amp;m=*&amp;f=sl1t1c1ghov&amp;e=.csv&quot;
+ sMarket(2,5) = &quot;Symbol&quot;
+ sMarket(2,6) = &quot;en&quot;
+ sMarket(2,7) = &quot;GB&quot;
+ sMarket(2,8) = &quot;809&quot;
+ sMarket(2,9) = &quot;44&quot;
+ sMarket(2,10) = &quot;1&quot;
+
+ sMarket(3,0) = &quot;Japanischer Yen&quot;
+ sMarket(3,1) = &quot;¥&quot;
+ sMarket(3,2) = &quot;Tokyo&quot;
+ sMarket(3,3) = &quot;&quot;
+ sMarket(3,5) = &quot;Code&quot;
+ sMarket(3,6) = &quot;ja&quot;
+ sMarket(3,7) = &quot;JP&quot;
+ sMarket(3,8) = &quot;411&quot;
+ sMarket(3,9) = &quot;&quot;
+ sMarket(3,10) = &quot;&quot;
+
+ sMarket(4,0) = &quot;Hongkong Dollar&quot;
+ sMarket(4,1) = &quot;HK$&quot;
+ sMarket(4,2) = &quot;Hongkong&quot;
+ sMarket(4,3) = &quot;http://hk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.HK&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sMarket(4,5) = &quot;Nummer&quot;
+ sMarket(4,6) = &quot;zh&quot;
+ sMarket(4,7) = &quot;HK&quot;
+ sMarket(4,8) = &quot;C04&quot;
+ sMarket(4,9) = &quot;44&quot;
+ sMarket(4,10) = &quot;1&quot;
+
+ sMarket(5,0) = &quot;Australischer Dollar&quot;
+ sMarket(5,1) = &quot;$&quot;
+ sMarket(5,2) = &quot;Sydney&quot;
+ sMarket(5,3) = &quot;http://au.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sMarket(5,5) = &quot;Symbol&quot;
+ sMarket(5,6) = &quot;en&quot;
+ sMarket(5,7) = &quot;AU&quot;
+ sMarket(5,8) = &quot;C09&quot;
+ sMarket(5,9) = &quot;44&quot;
+ sMarket(5,10) = &quot;1&quot;
+
+&apos; ****************************End of the default subset*********************************
+ CompleteMarketList()
+
+ LocalizedCurrencies()
+
+ With TransactModel
+ .lblStockNames.Label = sStockname
+ .lblQuantity.Label = &quot;Menge&quot;
+ .lblRate.Label = &quot;Kurs&quot;
+ .lblDate.Label = &quot;Transaktionsdatum&quot;
+ .hlnCommission.Label = &quot;Sonstige Ausgaben&quot;
+ .lblCommission.Label = &quot;Provision&quot;
+ .lblMinimum.Label = &quot;Mindestprovision&quot;
+ .lblFix.Label = &quot;Festbetrag/Spesen&quot;
+ .cmdGoOn.Label = sOK
+ .cmdCancel.Label = sCancel
+ End With
+
+ With StockRatesModel
+ .optPerShare.Label = &quot;Dividende/Aktie&quot;
+ .optTotal.Label = &quot;Dividende gesamt&quot;
+ .lblDividend.Label = &quot;Betrag&quot;
+ .lblExchangeRate.Label = &quot;Umtauschrate (alt-&gt;neu)&quot;
+ .lblColon.Label = &quot;:&quot;
+ .lblDate.Label = &quot;Umtauschdatum:&quot;
+ .lblStockNames.Label = sStockname
+ .lblStartDate.Label = sStartDate
+ .lblEndDate.Label = sEndDate
+ .optDaily.Label = &quot;~Täglich&quot;
+ .optWeekly.Label = &quot;~Wöchentlich&quot;
+ .hlnInterval.Label = &quot;Zeitraum&quot;
+ .cmdGoOn.Label = sOk
+ .cmdCancel.Label = sCancel
+ End With
+End Sub
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Depot/Lang_en.xba b/test/user-template/user/basic/Depot/Lang_en.xba
new file mode 100644
index 000000000000..347c5c2544b0
--- /dev/null
+++ b/test/user-template/user/basic/Depot/Lang_en.xba
@@ -0,0 +1,158 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Lang_en" script:language="StarBasic">Option Explicit
+
+Sub LoadEnglishLanguage()
+
+ sProductname = GetProductname
+ sOK = &quot;~OK&quot;
+ sCancel = &quot;Cancel&quot;
+ sColumnHeader = &quot;Column Header&quot;
+ sInsertStockName = &quot;Please enter shares in your portfolio.&quot;
+ sTitle = &quot;&lt;PRODUCTNAME&gt;: Stocks Manager&quot;
+ sTitle = ReplaceString(sTitle, sProductName, &quot;&lt;PRODUCTNAME&gt;&quot;)
+ sMsgError = &quot;Input Error&quot;
+ sMsgNoName = sInsertStockname
+ sMsgNoQuantity = &quot;Please enter a quantity larger than 0&quot;
+ sMsgNoDividend = &quot;Please enter the dividend per share or the total dividend&quot;
+ sMsgNoExchangeRate = &quot;Please enter the correct exchange rate (old shares -&gt; new shares)&quot;
+ sMsgNoValidExchangeDate = &quot;Please enter a valid date for the split.&quot;
+ sMsgWrongExchangeDate = &quot;Splitting not possible, as transactions already exist after the split date.&quot;
+ sMsgSellTooMuch = &quot;You cannot sell that many shares. Maximum: &quot;
+ sMsgConfirm = &quot;Confirmation Required&quot;
+ sMsgFreeStock = &quot;Do you intend to enter free shares?&quot;
+ sMsgTotalLoss = &quot;Do you intend to enter a total loss?&quot;
+ sMsgAuthorization = &quot;Security Query&quot;
+ sMsgDeleteAll = &quot;Do you want to delete all movements and reset the portfolio overview?&quot;
+ cSplit = &quot;Stock split on &quot;
+ sHistory = &quot;History&quot;
+ TransactTitle(1) = &quot;StarOffice Stocks Manager: Selling Shares&quot;
+ TransactTitle(2) = &quot;StarOffice Stocks Manager: Buying Shares&quot;
+ StockRatesTitle(1) = &quot;StarOffice Stocks Manager: Dividend Payment&quot;
+ StockRatesTitle(2) = &quot;Stock Split&quot;
+ StockRatesTitle(3) = sHistory
+ sDepotCurrency = &quot;Portfolio Currency&quot;
+ sStockName = &quot;Name of Stock&quot;
+ TransactMode = LIFO &apos; Possible values: &quot;FIFO&quot; and &quot;LIFO&quot;
+ DateCellStyle = &quot;Result Date&quot;
+ CurrCellStyle = &quot;1&quot;
+ sStartDate = &quot;Start date:&quot;
+ sEndDate = &quot;End date:&quot;
+ sStartUpWelcome = &quot;This template enables you to manage your stock portfolio efficiently.&quot;
+ sStartUpChooseMarket = &quot;First, select your reference currency and thus the stock exchange for the Internet update.&quot;
+ sStartUpHint = &quot;Unfortunately, the only &lt;History&gt; function available to you is that for the American market.&quot;
+ sStartupHint = ReplaceString(sStartUpHint, sHistory, &quot;&lt;History&gt;&quot;)
+ sNoInternetUpdate = &quot;without Internet update&quot;
+ sMarketPlace = &quot;Stock exchange:&quot;
+ sNoInternetDataAvailable = &quot;No prices could be received from the Internet!&quot;
+ sCheckInternetSettings = &quot;Possible causes could be: &lt;BR&gt;Your Internet settings have to be modified. &lt;BR&gt;The Symbol (e.g. Code, Ticker Symbol) entered for the stock was incorrect.&quot;
+ sCheckInternetSettings = ReplaceString(sCheckInternetSettings, chr(13), &quot;&lt;BR&gt;&quot;)
+
+ sMsgEndDatebeforeNow = &quot;The end date has to be before today&apos;s date.&quot;
+ sMsgStartDatebeforeEndDate = &quot;The start date has to be before the end date.&quot;
+
+ sMarket(0,0) = &quot;American Dollar&quot;
+ sMarket(0,1) = &quot;$&quot;
+ sMarket(0,2) = &quot;New York&quot;
+ sMarket(0,3) = &quot;http://finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sMarket(0,4) = &quot;http://ichart.finance.yahoo.com/table.csv?&quot; &amp;_
+ &quot;s=&lt;StockID&gt;&amp;d=&lt;EndMonth&gt;&amp;e=&lt;EndDay&gt;&amp;f=&lt;Endyear&gt;&amp;g=d&amp;&quot; &amp;_
+ &quot;a=&lt;StartMonth&gt;&amp;b=&lt;StartDay&gt;&amp;c=&lt;Startyear&gt;&amp;ignore=.csv&quot;
+ sMarket(0,5) = &quot;Symbol&quot;
+ sMarket(0,6) = &quot;en&quot;
+ sMarket(0,7) = &quot;US&quot;
+ sMarket(0,8) = &quot;409&quot;
+ sMarket(0,9) = &quot;44&quot;
+ sMarket(0,10) = &quot;1&quot;
+
+ sMarket(1,0) = &quot;Euro&quot;
+ sMarket(1,1) = chr(8364)
+ sMarket(1,2) = &quot;Frankfurt&quot;
+ sMarket(1,3) = &quot;http://de.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.F&amp;f=sl1t1c1ghpv&amp;e=.csv&quot;
+ sMarket(1,5) = &quot;Ticker Symbol&quot;
+ sMarket(1,6) = &quot;de;nl;pt;el&quot;
+ sMarket(1,7) = &quot;DE;NL;PT;GR&quot;
+ sMarket(1,8) = &quot;407;413;816;408&quot;
+ sMarket(1,9) = &quot;59/9&quot;
+ sMarket(1,10) = &quot;1&quot;
+
+ sMarket(2,0) = &quot;British Pound&quot;
+ sMarket(2,1) = &quot;£&quot;
+ sMarket(2,2) = &quot;London&quot;
+ sMarket(2,3) = &quot;http://uk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.L&amp;m=*&amp;f=sl1t1c1ghov&amp;e=.csv&quot;
+ sMarket(2,5) = &quot;Symbol&quot;
+ sMarket(2,6) = &quot;en&quot;
+ sMarket(2,7) = &quot;GB&quot;
+ sMarket(2,8) = &quot;809&quot;
+ sMarket(2,9) = &quot;44&quot;
+ sMarket(2,10) = &quot;1&quot;
+
+ sMarket(3,0) = &quot;Japanese Yen&quot;
+ sMarket(3,1) = &quot;¥&quot;
+ sMarket(3,2) = &quot;Tokyo&quot;
+ sMarket(3,3) = &quot;&quot;
+ sMarket(3,5) = &quot;Code&quot;
+ sMarket(3,6) = &quot;ja&quot;
+ sMarket(3,7) = &quot;JP&quot;
+ sMarket(3,8) = &quot;411&quot;
+ sMarket(3,9) = &quot;&quot;
+ sMarket(3,10) = &quot;&quot;
+
+ sMarket(4,0) = &quot;Hong Kong Dollar&quot;
+ sMarket(4,1) = &quot;HK$&quot;
+ sMarket(4,2) = &quot;Hong Kong&quot;
+ sMarket(4,3) = &quot;http://hk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sMarket(4,5) = &quot;Number&quot;
+ sMarket(4,6) = &quot;zh&quot;
+ sMarket(4,7) = &quot;HK&quot;
+ sMarket(4,8) = &quot;C04&quot;
+ sMarket(4,9) = &quot;44&quot;
+ sMarket(4,10) = &quot;1&quot;
+
+ sMarket(5,0) = &quot;Australian Dollar&quot;
+ sMarket(5,1) = &quot;$&quot;
+ sMarket(5,2) = &quot;Sydney&quot;
+ sMarket(5,3) = &quot;http://au.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sMarket(5,5) = &quot;Symbol&quot;
+ sMarket(5,6) = &quot;en&quot;
+ sMarket(5,7) = &quot;AU&quot;
+ sMarket(5,8) = &quot;C09&quot;
+ sMarket(5,9) = &quot;44&quot;
+ sMarket(5,10) = &quot;1&quot;
+
+&apos; ****************************End of the default subset*********************************
+ CompleteMarketList()
+
+ LocalizedCurrencies()
+
+ With TransactModel
+ .lblStockNames.Label = sStockname
+ .lblQuantity.Label = &quot;Quantity&quot;
+ .lblRate.Label = &quot;Price&quot;
+ .lblDate.Label = &quot;Transaction Date&quot;
+ .hlnCommission.Label = &quot;Other expenditures&quot;
+ .lblCommission.Label = &quot;Commission&quot;
+ .lblMinimum.Label = &quot;Min. Commission&quot;
+ .lblFix.Label = &quot;Fixed Costs/Charges&quot;
+ .cmdGoOn.Label = sOK
+ .cmdCancel.Label = sCancel
+ End With
+
+ With StockRatesModel
+ .optPerShare.Label = &quot;Dividends/Stocks&quot;
+ .optTotal.Label = &quot;Total Dividends&quot;
+ .lblDividend.Label = &quot;Amount&quot;
+ .lblExchangeRate.Label = &quot;Exchange Rate (old-&gt;new)&quot;
+ .lblColon.Label = &quot;:&quot;
+ .lblDate.Label = &quot;Exchange Date:&quot;
+ .lblStockNames.Label = sStockname
+ .lblStartDate.Label = sStartDate
+ .lblEndDate.Label = sEndDate
+ .optDaily.Label = &quot;~Daily&quot;
+ .optWeekly.Label = &quot;~Weekly&quot;
+ .hlnInterval.Label = &quot;Time period&quot;
+ .cmdGoOn.Label = sOk
+ .cmdCancel.Label = sCancel
+ End With
+End Sub
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Depot/Lang_es.xba b/test/user-template/user/basic/Depot/Lang_es.xba
new file mode 100644
index 000000000000..e12bf4b2551d
--- /dev/null
+++ b/test/user-template/user/basic/Depot/Lang_es.xba
@@ -0,0 +1,158 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Lang_es" script:language="StarBasic">Option Explicit
+
+Sub LoadSpanishLanguage()
+
+ sProductname = GetProductname
+ sOK = &quot;~Aceptar&quot;
+ sCancel = &quot;Cancelar&quot;
+ sColumnHeader = &quot;Título de columna&quot;
+ sInsertStockName = &quot;Introduzca primero algunas acciones en su depósito.&quot;
+ sTitle = &quot;&lt;PRODUCTNAME&gt;: Administración de acciones&quot;
+ sTitle = ReplaceString(sTitle, sProductName, &quot;&lt;PRODUCTNAME&gt;&quot;)
+ sMsgError = &quot;Error de entrada&quot;
+ sMsgNoName = sInsertStockname
+ sMsgNoQuantity = &quot;Indique una cantidad mayor que 0&quot;
+ sMsgNoDividend = &quot;Indique un dividendo por unidad o un dividendo total&quot;
+ sMsgNoExchangeRate = &quot;Indique aquí un cambio correcto (acción vieja -&gt; nueva acción)&quot;
+ sMsgNoValidExchangeDate = &quot;Indique una fecha correcta para el fraccionamiento de la acción.&quot;
+ sMsgWrongExchangeDate = &quot;El fraccionamiento no es posible porque existen transacciones después de la fecha de fraccionamiento.&quot;
+ sMsgSellTooMuch = &quot;No puede vender tantas acciones. Como máximo: &quot;
+ sMsgConfirm = &quot;Confirmación necesaria&quot;
+ sMsgFreeStock = &quot;¿Tiene previsto considerar acciones gratis?&quot;
+ sMsgTotalLoss = &quot;¿Tiene previsto introducir una pérdida total?&quot;
+ sMsgAuthorization = &quot;Pregunta de seguridad&quot;
+ sMsgDeleteAll = &quot;¿Desea borrar todos los movimientos y reiniciar el balance de depósito?&quot;
+ cSplit = &quot;Fraccionamiento el &quot;
+ sHistory = &quot;Historia&quot;
+ TransactTitle(1) = &quot;Vender acciones&quot;
+ TransactTitle(2) = &quot;Comprar acciones&quot;
+ StockRatesTitle(1) = &quot;Pago de dividendos&quot;
+ StockRatesTitle(2) = &quot;Fraccionamiento&quot;
+ StockRatesTitle(3) = sHistory
+ sDepotCurrency = &quot;Moneda del depósito&quot;
+ sStockName = &quot;Nombre de la acción&quot;
+ TransactMode = LIFO &apos; Possible values: &quot;FIFO&quot; and &quot;LIFO&quot;
+ DateCellStyle = &quot;Resultado Fecha&quot;
+ CurrCellStyle = &quot;1&quot;
+ sStartDate = &quot;Fecha de inicio:&quot;
+ sEndDate = &quot;Fecha final:&quot;
+ sStartUpWelcome = &quot;Esta plantilla le permite administrar eficientemente su depósito de acciones&quot;
+ sStartUpChooseMarket = &quot;Seleccione primero la moneda de referencia y la plaza bursátil para la actualización a través de Internet.&quot;
+ sStartUpHint = &quot;La función &lt;History&gt; está disponible únicamente para el mercado americano.&quot;
+ sStartupHint = ReplaceString(sStartUpHint, sHistory, &quot;&lt;History&gt;&quot;)
+ sNoInternetUpdate = &quot;Sin actualización por Internet&quot;
+ sMarketPlace = &quot;Plaza bursátil:&quot;
+ sNoInternetDataAvailable = &quot;No se pudieron recibir las cotizaciones por Internet.&quot;
+ sCheckInternetSettings = &quot;Causas posibles: &lt;BR&gt; Debe comprobar la configuración de Internet.&lt;BR&gt; Ha indicado un código incorrecto (p.ej. número, símbolo, etc.) para la acción.&quot;
+ sCheckInternetSettings = ReplaceString(sCheckInternetSettings, chr(13), &quot;&lt;BR&gt;&quot;)
+
+ sMsgEndDatebeforeNow = &quot;La fecha final debe ser anterior a la fecha de hoy.&quot;
+ sMsgStartDatebeforeEndDate = &quot;La fecha inicial debe ser anterior a la fecha final.&quot;
+
+ sMarket(0,0) = &quot;Dólar estadounidense&quot;
+ sMarket(0,1) = &quot;$&quot;
+ sMarket(0,2) = &quot;Nueva York&quot;
+ sMarket(0,3) = &quot;http://finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sMarket(0,4) = &quot;http://ichart.finance.yahoo.com/table.csv?&quot; &amp;_
+ &quot;s=&lt;StockID&gt;&amp;d=&lt;EndMonth&gt;&amp;e=&lt;EndDay&gt;&amp;f=&lt;Endyear&gt;&amp;g=d&amp;&quot; &amp;_
+ &quot;a=&lt;StartMonth&gt;&amp;b=&lt;StartDay&gt;&amp;c=&lt;Startyear&gt;&amp;ignore=.csv&quot;
+ sMarket(0,5) = &quot;Símbolo&quot;
+ sMarket(0,6) = &quot;en&quot;
+ sMarket(0,7) = &quot;US&quot;
+ sMarket(0,8) = &quot;409&quot;
+ sMarket(0,9) = &quot;44&quot;
+ sMarket(0,10) = &quot;1&quot;
+
+ sMarket(1,0) = &quot;Euro&quot;
+ sMarket(1,1) = chr(8364)
+ sMarket(1,2) = &quot;Frankfurt&quot;
+ sMarket(1,3) = &quot;http://de.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.F&amp;f=sl1t1c1ghpv&amp;e=.csv&quot;
+ sMarket(1,5) = &quot;Código&quot;
+ sMarket(1,6) = &quot;de;nl;pt;el&quot;
+ sMarket(1,7) = &quot;DE;NL;PT;GR&quot;
+ sMarket(1,8) = &quot;407;413;816;408&quot;
+ sMarket(1,9) = &quot;59/9&quot;
+ sMarket(1,10) = &quot;1&quot;
+
+ sMarket(2,0) = &quot;Libra esterlina&quot;
+ sMarket(2,1) = &quot;£&quot;
+ sMarket(2,2) = &quot;Londres&quot;
+ sMarket(2,3) = &quot;http://uk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.L&amp;m=*&amp;f=sl1t1c1ghov&amp;e=.csv&quot;
+ sMarket(2,5) = &quot;Símbolo&quot;
+ sMarket(2,6) = &quot;en&quot;
+ sMarket(2,7) = &quot;GB&quot;
+ sMarket(2,8) = &quot;809&quot;
+ sMarket(2,9) = &quot;44&quot;
+ sMarket(2,10) = &quot;1&quot;
+
+ sMarket(3,0) = &quot;Yen japonés&quot;
+ sMarket(3,1) = &quot;¥&quot;
+ sMarket(3,2) = &quot;Tokio&quot;
+ sMarket(3,3) = &quot;&quot;
+ sMarket(3,5) = &quot;Código&quot;
+ sMarket(3,6) = &quot;ja&quot;
+ sMarket(3,7) = &quot;JP&quot;
+ sMarket(3,8) = &quot;411&quot;
+ sMarket(3,9) = &quot;&quot;
+ sMarket(3,10) = &quot;&quot;
+
+ sMarket(4,0) = &quot;Dólar hongkonés&quot;
+ sMarket(4,1) = &quot;HK$&quot;
+ sMarket(4,2) = &quot;Hong Kong&quot;
+ sMarket(4,3) = &quot;http://hk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.HK&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sMarket(4,5) = &quot;Número&quot;
+ sMarket(4,6) = &quot;zh&quot;
+ sMarket(4,7) = &quot;HK&quot;
+ sMarket(4,8) = &quot;C04&quot;
+ sMarket(4,9) = &quot;44&quot;
+ sMarket(4,10) = &quot;1&quot;
+
+ sMarket(5,0) = &quot;Dólar australiano&quot;
+ sMarket(5,1) = &quot;$&quot;
+ sMarket(5,2) = &quot;Sidney&quot;
+ sMarket(5,3) = &quot;http://au.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sMarket(5,5) = &quot;Símbolo&quot;
+ sMarket(5,6) = &quot;en&quot;
+ sMarket(5,7) = &quot;AU&quot;
+ sMarket(5,8) = &quot;C09&quot;
+ sMarket(5,9) = &quot;44&quot;
+ sMarket(5,10) = &quot;1&quot;
+
+&apos; ****************************End of the default subset*********************************
+ CompleteMarketList()
+
+ LocalizedCurrencies()
+
+ With TransactModel
+ .lblStockNames.Label = sStockname
+ .lblQuantity.Label = &quot;Cantidad&quot;
+ .lblRate.Label = &quot;Cotización&quot;
+ .lblDate.Label = &quot;Fecha de operación&quot;
+ .hlnCommission.Label = &quot;Otros gastos&quot;
+ .lblCommission.Label = &quot;Provisión&quot;
+ .lblMinimum.Label = &quot;Provisión mínima&quot;
+ .lblFix.Label = &quot;Cantidad fija/comisión&quot;
+ .cmdGoOn.Label = sOK
+ .cmdCancel.Label = sCancel
+ End With
+
+ With StockRatesModel
+ .optPerShare.Label = &quot;Dividendos/Acción&quot;
+ .optTotal.Label = &quot;Dividendos totales&quot;
+ .lblDividend.Label = &quot;Importe&quot;
+ .lblExchangeRate.Label = &quot;Cambio (vieja-&gt;nueva)&quot;
+ .lblColon.Label = &quot;:&quot;
+ .lblDate.Label = &quot;Fecha de cambio:&quot;
+ .lblStockNames.Label = sStockname
+ .lblStartDate.Label = sStartDate
+ .lblEndDate.Label = sEndDate
+ .optDaily.Label = &quot;~Diario&quot;
+ .optWeekly.Label = &quot;~Semanal&quot;
+ .hlnInterval.Label = &quot;Periodo&quot;
+ .cmdGoOn.Label = sOk
+ .cmdCancel.Label = sCancel
+ End With
+End Sub
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Depot/Lang_fr.xba b/test/user-template/user/basic/Depot/Lang_fr.xba
new file mode 100644
index 000000000000..372b974402fd
--- /dev/null
+++ b/test/user-template/user/basic/Depot/Lang_fr.xba
@@ -0,0 +1,158 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Lang_fr" script:language="StarBasic">Option Explicit
+
+Sub LoadFrenchLanguage()
+
+ sProductname = GetProductname
+ sOK = &quot;~OK&quot;
+ sCancel = &quot;Annuler&quot;
+ sColumnHeader = &quot;En-tête de colonne&quot;
+ sInsertStockName = &quot;Saisissez quelques actions dans votre portefeuille !&quot;
+ sTitle = &quot;&lt;PRODUCTNAME&gt; : Gestion d&apos;actions&quot;
+ sTitle = ReplaceString(sTitle, sProductName, &quot;&lt;PRODUCTNAME&gt;&quot;)
+ sMsgError = &quot;Erreur de saisie&quot;
+ sMsgNoName = sInsertStockname
+ sMsgNoQuantity = &quot;Saisissez une quantité supérieure à 0 !&quot;
+ sMsgNoDividend = &quot;Vous devez saisir le montant des dividendes perçus (soit les dividendes par action, soit la somme totale perçue).&quot;
+ sMsgNoExchangeRate = &quot;Saisissez un taux correct de conversion (anciennes actions -&gt; nouvelles actions).&quot;
+ sMsgNoValidExchangeDate = &quot;Saisissez une date correcte pour le split d&apos;action.&quot;
+ sMsgWrongExchangeDate = &quot;Split impossible car il y a déjà eu des transactions après la date du split !&quot;
+ sMsgSellTooMuch = &quot;Impossible de vendre autant d&apos;actions ! Maximum : &quot;
+ sMsgConfirm = &quot;Confirmation requise&quot;
+ sMsgFreeStock = &quot;S&apos;agit-il d&apos;actions gratuites ?&quot;
+ sMsgTotalLoss = &quot;Prévoyez-vous une perte totale ?&quot;
+ sMsgAuthorization = &quot;Requête de sécurité&quot;
+ sMsgDeleteAll = &quot;Voulez-vous supprimer tous les mouvements et remettre le portefeuille d&apos;actions à zéro ?&quot;
+ cSplit = &quot;Split d&apos;action le &quot;
+ sHistory = &quot;Historique&quot;
+ TransactTitle(1) = &quot;Vente d&apos;actions&quot;
+ TransactTitle(2) = &quot;Achat d&apos;actions&quot;
+ StockRatesTitle(1) = &quot;Versement des dividendes&quot;
+ StockRatesTitle(2) = &quot;Split d&apos;action&quot;
+ StockRatesTitle(3) = sHistory
+ sDepotCurrency = &quot;Monnaie du portefeuille&quot;
+ sStockName = &quot;Nom de l&apos;action&quot;
+ TransactMode = LIFO &apos; Possible values: &quot;FIFO&quot; and &quot;LIFO&quot;
+ DateCellStyle = &quot;Résultat date&quot;
+ CurrCellStyle = &quot;1&quot;
+ sStartDate = &quot;Date de début :&quot;
+ sEndDate = &quot;Date de fin :&quot;
+ sStartUpWelcome = &quot;Utilisez ce modèle pour une gestion efficiente de votre portefeuille d&apos;actions !&quot;
+ sStartUpChooseMarket = &quot;Commencez par choisir une monnaie de référence et ainsi la place boursière pour la mise à jour Internet !&quot;
+ sStartUpHint = &quot;La fonction &lt;History&gt; n&apos;est cependant disponible que pour le marché américain.&quot;
+ sStartupHint = ReplaceString(sStartUpHint, sHistory, &quot;&lt;History&gt;&quot;)
+ sNoInternetUpdate = &quot;Sans mise à jour Internet&quot;
+ sMarketPlace = &quot;Place boursière :&quot;
+ sNoInternetDataAvailable = &quot;Réception des cours Internet impossible !&quot;
+ sCheckInternetSettings = &quot;Causes possibles : &lt;BR&gt; Problème de paramétrage Internet : vérifiez les paramètres !&lt;BR&gt; Vous avez saisi un identificateur (par ex. symbole ou code) incorrect pour l&apos;action.&quot;
+ sCheckInternetSettings = ReplaceString(sCheckInternetSettings, chr(13), &quot;&lt;BR&gt;&quot;)
+
+ sMsgEndDatebeforeNow = &quot;La date spécifiée pour la fin doit précéder celle de ce jour !&quot;
+ sMsgStartDatebeforeEndDate = &quot;La date spécifiée pour le début doit succéder à celle de ce jour !&quot;
+
+ sMarket(0,0) = &quot;Dollar Américain&quot;
+ sMarket(0,1) = &quot;$&quot;
+ sMarket(0,2) = &quot;New York&quot;
+ sMarket(0,3) = &quot;http://finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sMarket(0,4) = &quot;http://ichart.finance.yahoo.com/table.csv?&quot; &amp;_
+ &quot;s=&lt;StockID&gt;&amp;d=&lt;EndMonth&gt;&amp;e=&lt;EndDay&gt;&amp;f=&lt;Endyear&gt;&amp;g=d&amp;&quot; &amp;_
+ &quot;a=&lt;StartMonth&gt;&amp;b=&lt;StartDay&gt;&amp;c=&lt;Startyear&gt;&amp;ignore=.csv&quot;
+ sMarket(0,5) = &quot;Symbole&quot;
+ sMarket(0,6) = &quot;en&quot;
+ sMarket(0,7) = &quot;US&quot;
+ sMarket(0,8) = &quot;409&quot;
+ sMarket(0,9) = &quot;44&quot;
+ sMarket(0,10) = &quot;1&quot;
+
+ sMarket(1,0) = &quot;Euro&quot;
+ sMarket(1,1) = chr(8364)
+ sMarket(1,2) = &quot;Francfort&quot;
+ sMarket(1,3) = &quot;http://de.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.F&amp;f=sl1t1c1ghpv&amp;e=.csv&quot;
+ sMarket(1,5) = &quot;Code&quot;
+ sMarket(1,6) = &quot;de;nl;pt;el&quot;
+ sMarket(1,7) = &quot;DE;NL;PT;GR&quot;
+ sMarket(1,8) = &quot;407;413;816;408&quot;
+ sMarket(1,9) = &quot;59/9&quot;
+ sMarket(1,10) = &quot;1&quot;
+
+ sMarket(2,0) = &quot;Livre Sterling&quot;
+ sMarket(2,1) = &quot;£&quot;
+ sMarket(2,2) = &quot;Londres&quot;
+ sMarket(2,3) = &quot;http://uk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.L&amp;m=*&amp;f=sl1t1c1ghov&amp;e=.csv&quot;
+ sMarket(2,5) = &quot;Symbole&quot;
+ sMarket(2,6) = &quot;en&quot;
+ sMarket(2,7) = &quot;GB&quot;
+ sMarket(2,8) = &quot;809&quot;
+ sMarket(2,9) = &quot;44&quot;
+ sMarket(2,10) = &quot;1&quot;
+
+ sMarket(3,0) = &quot;Yen Japonais&quot;
+ sMarket(3,1) = &quot;¥&quot;
+ sMarket(3,2) = &quot;Tokyo&quot;
+ sMarket(3,3) = &quot;&quot;
+ sMarket(3,5) = &quot;Code&quot;
+ sMarket(3,6) = &quot;ja&quot;
+ sMarket(3,7) = &quot;JP&quot;
+ sMarket(3,8) = &quot;411&quot;
+ sMarket(3,9) = &quot;&quot;
+ sMarket(3,10) = &quot;&quot;
+
+ sMarket(4,0) = &quot;Dollar de Hong Kong&quot;
+ sMarket(4,1) = &quot;HK$&quot;
+ sMarket(4,2) = &quot;Hong Kong&quot;
+ sMarket(4,3) = &quot;http://hk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sMarket(4,5) = &quot;Numéro&quot;
+ sMarket(4,6) = &quot;zh&quot;
+ sMarket(4,7) = &quot;HK&quot;
+ sMarket(4,8) = &quot;C04&quot;
+ sMarket(4,9) = &quot;44&quot;
+ sMarket(4,10) = &quot;1&quot;
+
+ sMarket(5,0) = &quot;Dollar Australien&quot;
+ sMarket(5,1) = &quot;$&quot;
+ sMarket(5,2) = &quot;Sydney&quot;
+ sMarket(5,3) = &quot;http://au.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sMarket(5,5) = &quot;Symbole&quot;
+ sMarket(5,6) = &quot;en&quot;
+ sMarket(5,7) = &quot;AU&quot;
+ sMarket(5,8) = &quot;C09&quot;
+ sMarket(5,9) = &quot;44&quot;
+ sMarket(5,10) = &quot;1&quot;
+
+&apos; ****************************End of the default subset*********************************
+ CompleteMarketList()
+
+ LocalizedCurrencies()
+
+ With TransactModel
+ .lblStockNames.Label = sStockname
+ .lblQuantity.Label = &quot;Quantité&quot;
+ .lblRate.Label = &quot;Cours&quot;
+ .lblDate.Label = &quot;Date de transaction&quot;
+ .hlnCommission.Label = &quot;Dépenses diverses&quot;
+ .lblCommission.Label = &quot;Commission&quot;
+ .lblMinimum.Label = &quot;Commission minimale&quot;
+ .lblFix.Label = &quot;Montant fixe/frais&quot;
+ .cmdGoOn.Label = sOK
+ .cmdCancel.Label = sCancel
+ End With
+
+ With StockRatesModel
+ .optPerShare.Label = &quot;Dividende/action&quot;
+ .optTotal.Label = &quot;Dividende total&quot;
+ .lblDividend.Label = &quot;Montant&quot;
+ .lblExchangeRate.Label = &quot;Taux de conversion (ancien-&gt;nouveau)&quot;
+ .lblColon.Label = &quot;:&quot;
+ .lblDate.Label = &quot;Date de la conversion:&quot;
+ .lblStockNames.Label = sStockname
+ .lblStartDate.Label = sStartDate
+ .lblEndDate.Label = sEndDate
+ .optDaily.Label = &quot;~Quotidien&quot;
+ .optWeekly.Label = &quot;~Hebdomadaire&quot;
+ .hlnInterval.Label = &quot;Période&quot;
+ .cmdGoOn.Label = sOk
+ .cmdCancel.Label = sCancel
+ End With
+End Sub
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Depot/Lang_it.xba b/test/user-template/user/basic/Depot/Lang_it.xba
new file mode 100644
index 000000000000..2450bed82a88
--- /dev/null
+++ b/test/user-template/user/basic/Depot/Lang_it.xba
@@ -0,0 +1,158 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Lang_it" script:language="StarBasic">Option Explicit
+
+Sub LoadItalianLanguage()
+
+ sProductname = GetProductname
+ sOK = &quot;~OK&quot;
+ sCancel = &quot;Annulla&quot;
+ sColumnHeader = &quot;Intestazione colonna&quot;
+ sInsertStockName = &quot;Inserite un nome di azioni&quot;
+ sTitle = &quot;&lt;PRODUCTNAME&gt;: Gestione delle azioni&quot;
+ sTitle = ReplaceString(sTitle, sProductName, &quot;&lt;PRODUCTNAME&gt;&quot;)
+ sMsgError = &quot;Errore dati immessi&quot;
+ sMsgNoName = sInsertStockname
+ sMsgNoQuantity = &quot;Inserite il numero delle azioni&quot;
+ sMsgNoDividend = &quot;Inserite un dividendo a unità oppure un dividendo totale&quot;
+ sMsgNoExchangeRate = &quot;Indicate un corretto tasso di cambio (vecchie azioni -&gt; nuove azioni).&quot;
+ sMsgNoValidExchangeDate = &quot;Indicate la data di frazionamento delle azioni.&quot;
+ sMsgWrongExchangeDate = &quot;Il frazionamento non è possibile perché sono ancora in atto transazioni dopo la data indicata.&quot;
+ sMsgSellTooMuch = &quot;Non potete vendere così tante azioni. Massimo: &quot;
+ sMsgConfirm = &quot;È necessaria una conferma&quot;
+ sMsgFreeStock = &quot;Confermate la digitazione di azioni gratuite?&quot;
+ sMsgTotalLoss = &quot;Confermate la digitazione di perdita totale?&quot;
+ sMsgAuthorization = &quot;Domanda di sicurezza&quot;
+ sMsgDeleteAll = &quot;Eliminare tutti i movimenti e ripristinare la panoramica dei depositi?&quot;
+ cSplit = &quot;Frazionamento delle azioni il: &quot;
+ sHistory = &quot;Cronologia&quot;
+ TransactTitle(1) = &quot;Vendita di azioni&quot;
+ TransactTitle(2) = &quot;Acquisto di azioni&quot;
+ StockRatesTitle(1) = &quot;Pagamento dei dividendi&quot;
+ StockRatesTitle(2) = &quot;Frazionamento azioni&quot;
+ StockRatesTitle(3) = sHistory
+ sDepotCurrency = &quot;Valuta deposito&quot;
+ sStockName = &quot;Nome delle azioni&quot;
+ TransactMode = LIFO &apos; Possible values: &quot;FIFO&quot; and &quot;LIFO&quot;
+ DateCellStyle = &quot;Risultato data&quot;
+ CurrCellStyle = &quot;1&quot;
+ sStartDate = &quot;Data d&apos;inizio:&quot;
+ sEndDate = &quot;Data finale:&quot;
+ sStartUpWelcome = &quot;Questo modello vi permette una gestione efficace delle vostre azioni.&quot;
+ sStartUpChooseMarket = &quot;Selezionate la valuta di riferimento e la Borsa per il collegamento Internet.&quot;
+ sStartUpHint = &quot;La funzione &lt;History&gt; è disponibile solo per il mercato americano.&quot;
+ sStartupHint = ReplaceString(sStartUpHint, sHistory, &quot;&lt;History&gt;&quot;)
+ sNoInternetUpdate = &quot;Senza aggiornamento Internet&quot;
+ sMarketPlace = &quot;Borsa:&quot;
+ sNoInternetDataAvailable = &quot;Impossibile ricevere le quotazioni Internet&quot;
+ sCheckInternetSettings = &quot;Possibili cause: &lt;BR&gt; le impostazioni Internet devono essere modificate.&lt;BR&gt; Avete indicato un indice (ad es. simbolo o codice) errato per le azioni.&quot;
+ sCheckInternetSettings = ReplaceString(sCheckInternetSettings, chr(13), &quot;&lt;BR&gt;&quot;)
+
+ sMsgEndDatebeforeNow = &quot;La data finale dev&apos;essere anteriore alla data odierna.&quot;
+ sMsgStartDatebeforeEndDate = &quot;La data d&apos;inizio deve precedere la data finale.&quot;
+
+ sMarket(0,0) = &quot;Dollaro USA&quot;
+ sMarket(0,1) = &quot;$&quot;
+ sMarket(0,2) = &quot;New York&quot;
+ sMarket(0,3) = &quot;http://finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sMarket(0,4) = &quot;http://ichart.finance.yahoo.com/table.csv?&quot; &amp;_
+ &quot;s=&lt;StockID&gt;&amp;d=&lt;EndMonth&gt;&amp;e=&lt;EndDay&gt;&amp;f=&lt;Endyear&gt;&amp;g=d&amp;&quot; &amp;_
+ &quot;a=&lt;StartMonth&gt;&amp;b=&lt;StartDay&gt;&amp;c=&lt;Startyear&gt;&amp;ignore=.csv&quot;
+ sMarket(0,5) = &quot;Simbolo&quot;
+ sMarket(0,6) = &quot;en&quot;
+ sMarket(0,7) = &quot;US&quot;
+ sMarket(0,8) = &quot;409&quot;
+ sMarket(0,9) = &quot;44&quot;
+ sMarket(0,10) = &quot;1&quot;
+
+ sMarket(1,0) = &quot;Euro&quot;
+ sMarket(1,1) = chr(8364)
+ sMarket(1,2) = &quot;Francoforte&quot;
+ sMarket(1,3) = &quot;http://de.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.F&amp;f=sl1t1c1ghpv&amp;e=.csv&quot;
+ sMarket(1,5) = &quot;Numero identificazione titoli&quot;
+ sMarket(1,6) = &quot;de;nl;pt;el&quot;
+ sMarket(1,7) = &quot;DE;NL;PT;GR&quot;
+ sMarket(1,8) = &quot;407;413;816;408&quot;
+ sMarket(1,9) = &quot;59/9&quot;
+ sMarket(1,10) = &quot;1&quot;
+
+ sMarket(2,0) = &quot;Sterlina inglese&quot;
+ sMarket(2,1) = &quot;£&quot;
+ sMarket(2,2) = &quot;Londra&quot;
+ sMarket(2,3) = &quot;http://uk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.L&amp;m=*&amp;f=sl1t1c1ghov&amp;e=.csv&quot;
+ sMarket(2,5) = &quot;Simbolo&quot;
+ sMarket(2,6) = &quot;en&quot;
+ sMarket(2,7) = &quot;GB&quot;
+ sMarket(2,8) = &quot;809&quot;
+ sMarket(2,9) = &quot;44&quot;
+ sMarket(2,10) = &quot;1&quot;
+
+ sMarket(3,0) = &quot;Yen&quot;
+ sMarket(3,1) = &quot;¥&quot;
+ sMarket(3,2) = &quot;Tokyo&quot;
+ sMarket(3,3) = &quot;&quot;
+ sMarket(3,5) = &quot;Codice&quot;
+ sMarket(3,6) = &quot;ja&quot;
+ sMarket(3,7) = &quot;JP&quot;
+ sMarket(3,8) = &quot;411&quot;
+ sMarket(3,9) = &quot;&quot;
+ sMarket(3,10) = &quot;&quot;
+
+ sMarket(4,0) = &quot;Dollaro Hong Kong&quot;
+ sMarket(4,1) = &quot;HK$&quot;
+ sMarket(4,2) = &quot;Hong Kong&quot;
+ sMarket(4,3) = &quot;http://hk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sMarket(4,5) = &quot;Numero&quot;
+ sMarket(4,6) = &quot;zh&quot;
+ sMarket(4,7) = &quot;HK&quot;
+ sMarket(4,8) = &quot;C04&quot;
+ sMarket(4,9) = &quot;44&quot;
+ sMarket(4,10) = &quot;1&quot;
+
+ sMarket(5,0) = &quot;Dollaro australiano&quot;
+ sMarket(5,1) = &quot;$&quot;
+ sMarket(5,2) = &quot;Sydney&quot;
+ sMarket(5,3) = &quot;http://au.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sMarket(5,5) = &quot;Simbolo&quot;
+ sMarket(5,6) = &quot;en&quot;
+ sMarket(5,7) = &quot;AU&quot;
+ sMarket(5,8) = &quot;C09&quot;
+ sMarket(5,9) = &quot;44&quot;
+ sMarket(5,10) = &quot;1&quot;
+
+&apos; ****************************End of the default subset*********************************
+ CompleteMarketList()
+
+ LocalizedCurrencies()
+
+ With TransactModel
+ .lblStockNames.Label = sStockname
+ .lblQuantity.Label = &quot;Quantità&quot;
+ .lblRate.Label = &quot;Quotazione&quot;
+ .lblDate.Label = &quot;Data della transazione&quot;
+ .hlnCommission.Label = &quot;Spese extra&quot;
+ .lblCommission.Label = &quot;Commissioni&quot;
+ .lblMinimum.Label = &quot;Commissione minima&quot;
+ .lblFix.Label = &quot;Importo fisso/Spese&quot;
+ .cmdGoOn.Label = sOK
+ .cmdCancel.Label = sCancel
+ End With
+
+ With StockRatesModel
+ .optPerShare.Label = &quot;Dividendo/Azione&quot;
+ .optTotal.Label = &quot;Dividendo totale&quot;
+ .lblDividend.Label = &quot;Importo&quot;
+ .lblExchangeRate.Label = &quot;Tasso di cambio (vecchio-&gt;nuovo)&quot;
+ .lblColon.Label = &quot;:&quot;
+ .lblDate.Label = &quot;Data di cambio:&quot;
+ .lblStockNames.Label = sStockname
+ .lblStartDate.Label = sStartDate
+ .lblEndDate.Label = sEndDate
+ .optDaily.Label = &quot;~Giornaliero&quot;
+ .optWeekly.Label = &quot;~Settimanale&quot;
+ .hlnInterval.Label = &quot;Durata&quot;
+ .cmdGoOn.Label = sOk
+ .cmdCancel.Label = sCancel
+ End With
+End Sub
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Depot/Lang_ja.xba b/test/user-template/user/basic/Depot/Lang_ja.xba
new file mode 100644
index 000000000000..4b4a53de3607
--- /dev/null
+++ b/test/user-template/user/basic/Depot/Lang_ja.xba
@@ -0,0 +1,158 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Lang_ja" script:language="StarBasic">Option Explicit
+
+Sub LoadJapaneseLanguage()
+
+ sProductname = GetProductname
+ sOK = &quot;~OK&quot;
+ sCancel = &quot;キャンセル&quot;
+ sColumnHeader = &quot;列番号&quot;
+ sInsertStockName = &quot;最初に株の銘柄を入力してください。&quot;
+ sTitle = &quot;&lt;PRODUCTNAME&gt;: 株管理&quot;
+ sTitle = ReplaceString(sTitle, sProductName, &quot;&lt;PRODUCTNAME&gt;&quot;)
+ sMsgError = &quot;入力フィールド&quot;
+ sMsgNoName = sInsertStockname
+ sMsgNoQuantity = &quot;0 より大きな額を入力してください。&quot;
+ sMsgNoDividend = &quot;1株当たりの配当金額または総配当金額を入力してください。&quot;
+ sMsgNoExchangeRate = &quot;交換比率(旧株-&gt;新株)を入力してください。&quot;
+ sMsgNoValidExchangeDate = &quot;株式分割日を入力してください。&quot;
+ sMsgWrongExchangeDate = &quot;分割日以降に取引がすでに存在するので、分割できません。&quot;
+ sMsgSellTooMuch = &quot;売却できる株式数を超えています。最大値: &quot;
+ sMsgConfirm = &quot;ご確認ください&quot;
+ sMsgFreeStock = &quot;無料株式を入力しますか?&quot;
+ sMsgTotalLoss = &quot;全損の入力を行いますか?&quot;
+ sMsgAuthorization = &quot;確認ダイアログ&quot;
+ sMsgDeleteAll = &quot;すべての移動を取り消し、ポートフォリオの概要をリセットしますか?&quot;
+ cSplit = &quot;株式分割日 &quot;
+ sHistory = &quot;履歴&quot;
+ TransactTitle(1) = &quot;株を買う&quot;
+ TransactTitle(2) = &quot;株を買う&quot;
+ StockRatesTitle(1) = &quot;配当額&quot;
+ StockRatesTitle(2) = &quot;株式分割&quot;
+ StockRatesTitle(3) = sHistory
+ sDepotCurrency = &quot;ポートフォリオの通貨&quot;
+ sStockName = &quot;株式名&quot;
+ TransactMode = LIFO &apos; Possible values: &quot;FIFO&quot; and &quot;LIFO&quot;
+ DateCellStyle = &quot;結果(日付)&quot;
+ CurrCellStyle = &quot;1&quot;
+ sStartDate = &quot;開始日:&quot;
+ sEndDate = &quot;終了日:&quot;
+ sStartUpWelcome = &quot;このテンプレートを使えば、株式のポートフォリオをより効率的に管理できます。&quot;
+ sStartUpChooseMarket = &quot;まず、インターネットにより情報を更新する基準通貨と、対応する証券取引所を選択します。&quot;
+ sStartUpHint = &quot;残念ながら、&lt;History&gt; 機能を使用できるのは米国市場に限られています。&quot;
+ sStartupHint = ReplaceString(sStartUpHint, sHistory, &quot;&lt;History&gt;&quot;)
+ sNoInternetUpdate = &quot;インターネットによる情報の更新を行いません&quot;
+ sMarketPlace = &quot;証券取引所:&quot;
+ sNoInternetDataAvailable = &quot;インターネットから株価情報を受信できない場合があります!&quot;
+ sCheckInternetSettings = &quot;考えられる原因は次のとおりです。&lt;BR&gt;インターネット設定の変更が必要です。&lt;BR&gt;入力した株式のが間違っています。&quot;
+ sCheckInternetSettings = ReplaceString(sCheckInternetSettings, chr(13), &quot;&lt;BR&gt;&quot;)
+
+ sMsgEndDatebeforeNow = &quot;終了日は、今日の日付より前であることが必要です。&quot;
+ sMsgStartDatebeforeEndDate = &quot;開始日は、終了日より前であることが必要です。&quot;
+
+ sMarket(0,0) = &quot;米ドル&quot;
+ sMarket(0,1) = &quot;$&quot;
+ sMarket(0,2) = &quot;ニューヨーク&quot;
+ sMarket(0,3) = &quot;http://finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sMarket(0,4) = &quot;http://ichart.finance.yahoo.com/table.csv?&quot; &amp;_
+ &quot;s=&lt;StockID&gt;&amp;d=&lt;EndMonth&gt;&amp;e=&lt;EndDay&gt;&amp;f=&lt;Endyear&gt;&amp;g=d&amp;&quot; &amp;_
+ &quot;a=&lt;StartMonth&gt;&amp;b=&lt;StartDay&gt;&amp;c=&lt;Startyear&gt;&amp;ignore=.csv&quot;
+ sMarket(0,5) = &quot;シンボル&quot;
+ sMarket(0,6) = &quot;en&quot;
+ sMarket(0,7) = &quot;US&quot;
+ sMarket(0,8) = &quot;409&quot;
+ sMarket(0,9) = &quot;44&quot;
+ sMarket(0,10) = &quot;1&quot;
+
+ sMarket(1,0) = &quot;ユーロ&quot;
+ sMarket(1,1) = chr(8364)
+ sMarket(1,2) = &quot;フランクフルト&quot;
+ sMarket(1,3) = &quot;http://de.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.F&amp;f=sl1t1c1ghpv&amp;e=.csv&quot;
+ sMarket(1,5) = &quot;銘柄コード&quot;
+ sMarket(1,6) = &quot;de;nl;pt;el&quot;
+ sMarket(1,7) = &quot;DE;NL;PT;GR&quot;
+ sMarket(1,8) = &quot;407;413;816;408&quot;
+ sMarket(1,9) = &quot;59/9&quot;
+ sMarket(1,10) = &quot;1&quot;
+
+ sMarket(2,0) = &quot;英ポンド&quot;
+ sMarket(2,1) = &quot;£&quot;
+ sMarket(2,2) = &quot;ロンドン&quot;
+ sMarket(2,3) = &quot;http://uk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.L&amp;m=*&amp;f=sl1t1c1ghov&amp;e=.csv&quot;
+ sMarket(2,5) = &quot;シンボル&quot;
+ sMarket(2,6) = &quot;en&quot;
+ sMarket(2,7) = &quot;GB&quot;
+ sMarket(2,8) = &quot;809&quot;
+ sMarket(2,9) = &quot;44&quot;
+ sMarket(2,10) = &quot;1&quot;
+
+ sMarket(3,0) = &quot;日本円&quot;
+ sMarket(3,1) = &quot;¥&quot;
+ sMarket(3,2) = &quot;東京&quot;
+ sMarket(3,3) = &quot;&quot;
+ sMarket(3,5) = &quot;コード&quot;
+ sMarket(3,6) = &quot;ja&quot;
+ sMarket(3,7) = &quot;JP&quot;
+ sMarket(3,8) = &quot;411&quot;
+ sMarket(3,9) = &quot;&quot;
+ sMarket(3,10) = &quot;&quot;
+
+ sMarket(4,0) = &quot;香港ドル&quot;
+ sMarket(4,1) = &quot;HK$&quot;
+ sMarket(4,2) = &quot;香港&quot;
+ sMarket(4,3) = &quot;http://hk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.HK&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sMarket(4,5) = &quot;番号&quot;
+ sMarket(4,6) = &quot;zh&quot;
+ sMarket(4,7) = &quot;HK&quot;
+ sMarket(4,8) = &quot;C04&quot;
+ sMarket(4,9) = &quot;44&quot;
+ sMarket(4,10) = &quot;1&quot;
+
+ sMarket(5,0) = &quot;オーストリア・ドル&quot;
+ sMarket(5,1) = &quot;$&quot;
+ sMarket(5,2) = &quot;シドニー&quot;
+ sMarket(5,3) = &quot;http://au.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sMarket(5,5) = &quot;シンボル&quot;
+ sMarket(5,6) = &quot;en&quot;
+ sMarket(5,7) = &quot;AU&quot;
+ sMarket(5,8) = &quot;C09&quot;
+ sMarket(5,9) = &quot;44&quot;
+ sMarket(5,10) = &quot;1&quot;
+
+&apos; ****************************End of the default subset*********************************
+ CompleteMarketList()
+
+ LocalizedCurrencies()
+
+ With TransactModel
+ .lblStockNames.Label = sStockname
+ .lblQuantity.Label = &quot;株数&quot;
+ .lblRate.Label = &quot;価格&quot;
+ .lblDate.Label = &quot;取引日&quot;
+ .hlnCommission.Label = &quot;その他の経費n&quot;
+ .lblCommission.Label = &quot;手数料&quot;
+ .lblMinimum.Label = &quot;最低手数料&quot;
+ .lblFix.Label = &quot;固定費/諸経費&quot;
+ .cmdGoOn.Label = sOK
+ .cmdCancel.Label = sCancel
+ End With
+
+ With StockRatesModel
+ .optPerShare.Label = &quot;配当金/株式数&quot;
+ .optTotal.Label = &quot;配当金の総額&quot;
+ .lblDividend.Label = &quot;金額&quot;
+ .lblExchangeRate.Label = &quot;交換比率(旧株-&gt;新株)&quot;
+ .lblColon.Label = &quot;:&quot;
+ .lblDate.Label = &quot;交換日:&quot;
+ .lblStockNames.Label = sStockname
+ .lblStartDate.Label = sStartDate
+ .lblEndDate.Label = sEndDate
+ .optDaily.Label = &quot;~毎日&quot;
+ .optWeekly.Label = &quot;~毎週&quot;
+ .hlnInterval.Label = &quot;期間&quot;
+ .cmdGoOn.Label = sOk
+ .cmdCancel.Label = sCancel
+ End With
+End Sub
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Depot/Lang_ko.xba b/test/user-template/user/basic/Depot/Lang_ko.xba
new file mode 100644
index 000000000000..1b701dcbab67
--- /dev/null
+++ b/test/user-template/user/basic/Depot/Lang_ko.xba
@@ -0,0 +1,158 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Lang_ko" script:language="StarBasic">Option Explicit
+
+Sub LoadKoreanLanguage()
+
+ sProductname = GetProductname
+ sOK = &quot;~확인&quot;
+ sCancel = &quot;취소&quot;
+ sColumnHeader = &quot;열 머리글&quot;
+ sInsertStockName = &quot;주식 종목을 삽입해주십시오.&quot;
+ sTitle = &quot;&lt;PRODUCTNAME&gt;: 주식 매수&quot;
+ sTitle = ReplaceString(sTitle, sProductName, &quot;&lt;PRODUCTNAME&gt;&quot;)
+ sMsgError = &quot;입력 오류&quot;
+ sMsgNoName = sInsertStockname
+ sMsgNoQuantity = &quot;0 이하의 매수를 입력해주십시오.&quot;
+ sMsgNoDividend = &quot;한 주당 배당분 또는 총배당분을 입력해주십시오.&quot;
+ sMsgNoExchangeRate = &quot;정확한 환율을 입력해주십시오 (구주를 신주로 소급 시).&quot;
+ sMsgNoValidExchangeDate = &quot;유효한 배당 결제일을 입력해주십시오.&quot;
+ sMsgWrongExchangeDate = &quot;배당 기준일이 경과하여 배당할 수 없습니다.&quot;
+ sMsgSellTooMuch = &quot;이렇게 많은 주식을 팔 수 없습니다. 최대 매도수: &quot;
+ sMsgConfirm = &quot;확인 필요&quot;
+ sMsgFreeStock = &quot;공짜 주식을 입력하시겠습니까?&quot;
+ sMsgTotalLoss = &quot;주가 폭락세를 입력하시겠습니까?&quot;
+ sMsgAuthorization = &quot;안정성 조회&quot;
+ sMsgDeleteAll = &quot;모든 주가 움직임을 삭제하고 계좌 현황을 원래대로 하시겠습니까?&quot;
+ cSplit = &quot;주식 배당일 &quot;
+ sHistory = &quot;내역&quot;
+ TransactTitle(1) = &quot;주식 관리: 주식 매도&quot;
+ TransactTitle(2) = &quot;주식 관리: 주식 매수&quot;
+ StockRatesTitle(1) = &quot;주식 관리: 배당금 지불&quot;
+ StockRatesTitle(2) = &quot;주식 관리: 주식 배분&quot;
+ StockRatesTitle(3) = sHistory
+ sDepotCurrency = &quot;주식 계좌 통화&quot;
+ sStockName = &quot;주식 종목명&quot;
+ TransactMode = LIFO &apos; Possible values: &quot;FIFO&quot; and &quot;LIFO&quot;
+ DateCellStyle = &quot;결과, 날짜&quot;
+ CurrCellStyle = &quot;1&quot;
+ sStartDate = &quot;매매일:&quot;
+ sEndDate = &quot;만기일:&quot;
+ sStartUpWelcome = &quot;이 템플릿을 사용하여 주식 투자 관리를 효율적으로 할 수 있습니다.&quot;
+ sStartUpChooseMarket = &quot;인터넷 업데이트를 위해 우선 관련 통화와 증권 장소를 선택하십시오.&quot;
+ sStartUpHint = &quot;&lt;내역&gt; 기능은 미국 시장용으로만 사용할 수 있습니다.&quot;
+ sStartupHint = ReplaceString(sStartUpHint, sHistory, &quot;&lt;History&gt;&quot;)
+ sNoInternetUpdate = &quot;인터넷 업데이트 없음&quot;
+ sMarketPlace = &quot;증권 장소:&quot;
+ sNoInternetDataAvailable = &quot;인터넷 시세는 받을 수 없었습니다.&quot;
+ sCheckInternetSettings = &quot;원인: &lt;BR&gt; 인터넷 설정을 점검해야만 합니다.&lt;BR&gt; 옳지 않은 암호&lt;예를 들어 잘못된 문자 또는 종목 코드&gt;를 입력했습니다.&quot;
+ sCheckInternetSettings = ReplaceString(sCheckInternetSettings, chr(13), &quot;&lt;BR&gt;&quot;)
+
+ sMsgEndDatebeforeNow = &quot;만기일은 오늘 날짜 전에 기입되어야 합니다.&quot;
+ sMsgStartDatebeforeEndDate = &quot;매매일은 만기일 전에 기입되어야 합니다.&quot;
+
+ sMarket(0,0) = &quot;미국 달러&quot;
+ sMarket(0,1) = &quot;$&quot;
+ sMarket(0,2) = &quot;뉴욕&quot;
+ sMarket(0,3) = &quot;http://finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sMarket(0,4) = &quot;http://ichart.finance.yahoo.com/table.csv?&quot; &amp;_
+ &quot;s=&lt;StockID&gt;&amp;d=&lt;EndMonth&gt;&amp;e=&lt;EndDay&gt;&amp;f=&lt;Endyear&gt;&amp;g=d&amp;&quot; &amp;_
+ &quot;a=&lt;StartMonth&gt;&amp;b=&lt;StartDay&gt;&amp;c=&lt;Startyear&gt;&amp;ignore=.csv&quot;
+ sMarket(0,5) = &quot;기호&quot;
+ sMarket(0,6) = &quot;en&quot;
+ sMarket(0,7) = &quot;US&quot;
+ sMarket(0,8) = &quot;409&quot;
+ sMarket(0,9) = &quot;44&quot;
+ sMarket(0,10) = &quot;1&quot;
+
+ sMarket(1,0) = &quot;유로&quot;
+ sMarket(1,1) = chr(8364)
+ sMarket(1,2) = &quot;프랑크푸르트&quot;
+ sMarket(1,3) = &quot;http://de.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.F&amp;f=sl1t1c1ghpv&amp;e=.csv&quot;
+ sMarket(1,5) = &quot;WKN&quot;
+ sMarket(1,6) = &quot;de;nl;pt;el&quot;
+ sMarket(1,7) = &quot;DE;NL;PT;GR&quot;
+ sMarket(1,8) = &quot;407;413;816;408&quot;
+ sMarket(1,9) = &quot;59/9&quot;
+ sMarket(1,10) = &quot;1&quot;
+
+ sMarket(2,0) = &quot;영국 파운드&quot;
+ sMarket(2,1) = &quot;£&quot;
+ sMarket(2,2) = &quot;런던&quot;
+ sMarket(2,3) = &quot;http://uk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.L&amp;m=*&amp;f=sl1t1c1ghov&amp;e=.csv&quot;
+ sMarket(2,5) = &quot;기호&quot;
+ sMarket(2,6) = &quot;en&quot;
+ sMarket(2,7) = &quot;GB&quot;
+ sMarket(2,8) = &quot;809&quot;
+ sMarket(2,9) = &quot;44&quot;
+ sMarket(2,10) = &quot;1&quot;
+
+ sMarket(3,0) = &quot;엔화&quot;
+ sMarket(3,1) = &quot;¥&quot;
+ sMarket(3,2) = &quot;도쿄&quot;
+ sMarket(3,3) = &quot;&quot;
+ sMarket(3,5) = &quot;코드&quot;
+ sMarket(3,6) = &quot;ja&quot;
+ sMarket(3,7) = &quot;JP&quot;
+ sMarket(3,8) = &quot;411&quot;
+ sMarket(3,9) = &quot;&quot;
+ sMarket(3,10) = &quot;&quot;
+
+ sMarket(4,0) = &quot;홍콩 달러&quot;
+ sMarket(4,1) = &quot;HK$&quot;
+ sMarket(4,2) = &quot;홍콩&quot;
+ sMarket(4,3) = &quot;http://hk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.HK&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sMarket(4,5) = &quot;번호&quot;
+ sMarket(4,6) = &quot;zh&quot;
+ sMarket(4,7) = &quot;HK&quot;
+ sMarket(4,8) = &quot;C04&quot;
+ sMarket(4,9) = &quot;44&quot;
+ sMarket(4,10) = &quot;1&quot;
+
+ sMarket(5,0) = &quot;호주 달러&quot;
+ sMarket(5,1) = &quot;$&quot;
+ sMarket(5,2) = &quot;시드니&quot;
+ sMarket(5,3) = &quot;http://au.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sMarket(5,5) = &quot;기호&quot;
+ sMarket(5,6) = &quot;en&quot;
+ sMarket(5,7) = &quot;AU&quot;
+ sMarket(5,8) = &quot;C09&quot;
+ sMarket(5,9) = &quot;44&quot;
+ sMarket(5,10) = &quot;1&quot;
+
+&apos; ****************************End of the default subset*********************************
+ CompleteMarketList()
+
+ LocalizedCurrencies()
+
+ With TransactModel
+ .lblStockNames.Label = sStockname
+ .lblQuantity.Label = &quot;수량&quot;
+ .lblRate.Label = &quot;시세&quot;
+ .lblDate.Label = &quot;배당 결산일&quot;
+ .hlnCommission.Label = &quot;기타 지출&quot;
+ .lblCommission.Label = &quot;수수료&quot;
+ .lblMinimum.Label = &quot;최저 수수료&quot;
+ .lblFix.Label = &quot;약정 금액/기타 경비&quot;
+ .cmdGoOn.Label = sOK
+ .cmdCancel.Label = sCancel
+ End With
+
+ With StockRatesModel
+ .optPerShare.Label = &quot;배당분/주&quot;
+ .optTotal.Label = &quot;배당분 합계&quot;
+ .lblDividend.Label = &quot;금액&quot;
+ .lblExchangeRate.Label = &quot;환율(구주-&gt;신주)&quot;
+ .lblColon.Label = &quot;:&quot;
+ .lblDate.Label = &quot;환율일자&quot;
+ .lblStockNames.Label = sStockname
+ .lblStartDate.Label = sStartDate
+ .lblEndDate.Label = sEndDate
+ .optDaily.Label = &quot;~매일&quot;
+ .optWeekly.Label = &quot;~매주&quot;
+ .hlnInterval.Label = &quot;기간&quot;
+ .cmdGoOn.Label = sOk
+ .cmdCancel.Label = sCancel
+ End With
+End Sub
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Depot/Lang_sv.xba b/test/user-template/user/basic/Depot/Lang_sv.xba
new file mode 100644
index 000000000000..bbfe930b60ca
--- /dev/null
+++ b/test/user-template/user/basic/Depot/Lang_sv.xba
@@ -0,0 +1,157 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Lang_sv" script:language="StarBasic">Option Explicit
+
+Sub LoadSwedishLanguage()
+ sProductname = GetProductname
+ sOK = &quot;~OK&quot;
+ sCancel = &quot;Avbryt&quot;
+ sColumnHeader = &quot;Kolumnhuvud&quot;
+ sInsertStockName = &quot;Infoga först några aktier i Din portfölj!&quot;
+ sTitle = &quot;&lt;PRODUCTNAME&gt;: Aktieförvaltning&quot;
+ sTitle = ReplaceString(sTitle, sProductName, &quot;&lt;PRODUCTNAME&gt;&quot;)
+ sMsgError = &quot;Inmatningsfel&quot;
+ sMsgNoName = sInsertStockname
+ sMsgNoQuantity = &quot;Var vänlig och mata in ett större antal än 0&quot;
+ sMsgNoDividend = &quot;Var vänlig och mata in utdelning per styck eller den totala utdelningen&quot;
+ sMsgNoExchangeRate = &quot;Var vänlig och mata in en korrekt omräkningskurs (gamla aktier -&gt; nya aktier).&quot;
+ sMsgNoValidExchangeDate = &quot;Var vänlig och mata in ett giltigt datum för aktiesplitten.&quot;
+ sMsgWrongExchangeDate = &quot;Split är inte möjlig eftersom det redan finns transaktioner efter splitdatum.&quot;
+ sMsgSellTooMuch = &quot;Så många aktier kan Du inte sälja. Maximum: &quot;
+ sMsgConfirm = &quot;Bekräftelse krävs&quot;
+ sMsgFreeStock = &quot;Avser Du att mata in gratisaktier?&quot;
+ sMsgTotalLoss = &quot;Avser Du att mata in en totalförlust?&quot;
+ sMsgAuthorization = &quot;Säkerhetskontroll&quot;
+ sMsgDeleteAll = &quot;Vill Du ta bort alla rörelser och återställa portföljöversikten?&quot;
+ cSplit = &quot;Aktiesplit den &quot;
+ sHistory = &quot;Historik&quot;
+ TransactTitle(1) = &quot;Sälja aktier&quot;
+ TransactTitle(2) = &quot;Köpa aktier&quot;
+ StockRatesTitle(1) = &quot;Aktieutdelning&quot;
+ StockRatesTitle(2) = &quot;Aktiesplit&quot;
+ StockRatesTitle(3) = sHistory
+ sDepotCurrency = &quot;Portföljvaluta&quot;
+ sStockName = &quot;Aktienamn&quot;
+ TransactMode = LIFO &apos; Possible values: &quot;FIFO&quot; and &quot;LIFO&quot;
+ DateCellStyle = &quot;Resultat datum&quot;
+ CurrCellStyle = &quot;1&quot;
+ sStartDate = &quot;Startdatum:&quot;
+ sEndDate = &quot;Slutdatum:&quot;
+ sStartUpWelcome = &quot;Med hjälp av den här mallen kan Du förvalta Din aktieportfölj effektivt&quot;
+ sStartUpChooseMarket = &quot;Välj först Din referensvaluta och därigenom börs för Internet-uppdateringen!&quot;
+ sStartUpHint = &quot;Tyvärr är &lt;History&gt;-funktionen bara tillgänglig för den amerikanska marknaden!&quot;
+ sStartupHint = ReplaceString(sStartUpHint, sHistory, &quot;&lt;History&gt;&quot;)
+ sNoInternetUpdate = &quot;utan Internet-uppdatering&quot;
+ sMarketPlace = &quot;Börs:&quot;
+ sNoInternetDataAvailable = &quot;Det gick inte att ta emot Internet-kurser!&quot;
+ sCheckInternetSettings = &quot;Detta kan bero på att: &lt;BR&gt; Dina Internet-inställningar måste ändras.&lt;BR&gt; Du har angivit ett felaktigt ID (t.ex. symbol, värdepappersnr.) för aktien.&quot;
+ sCheckInternetSettings = ReplaceString(sCheckInternetSettings, chr(13), &quot;&lt;BR&gt;&quot;)
+
+ sMsgEndDatebeforeNow = &quot;Slutdatum måste ligga före idag!&quot;
+ sMsgStartDatebeforeEndDate = &quot;Startdatum måste ligga före slutdatum!&quot;
+
+ sMarket(0,0) = &quot;Amerikansk dollar&quot;
+ sMarket(0,1) = &quot;$&quot;
+ sMarket(0,2) = &quot;New York&quot;
+ sMarket(0,3) = &quot;http://finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sMarket(0,4) = &quot;http://ichart.finance.yahoo.com/table.csv?&quot; &amp;_
+ &quot;s=&lt;StockID&gt;&amp;d=&lt;EndMonth&gt;&amp;e=&lt;EndDay&gt;&amp;f=&lt;Endyear&gt;&amp;g=d&amp;&quot; &amp;_
+ &quot;a=&lt;StartMonth&gt;&amp;b=&lt;StartDay&gt;&amp;c=&lt;Startyear&gt;&amp;ignore=.csv&quot;
+ sMarket(0,5) = &quot;Symbol&quot;
+ sMarket(0,6) = &quot;en&quot;
+ sMarket(0,7) = &quot;US&quot;
+ sMarket(0,8) = &quot;409&quot;
+ sMarket(0,9) = &quot;44&quot;
+ sMarket(0,10) = &quot;1&quot;
+
+ sMarket(1,0) = &quot;Euro&quot;
+ sMarket(1,1) = chr(8364)
+ sMarket(1,2) = &quot;Frankfurt&quot;
+ sMarket(1,3) = &quot;http://de.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.F&amp;f=sl1t1c1ghpv&amp;e=.csv&quot;
+ sMarket(1,5) = &quot;Värdepappersnr&quot;
+ sMarket(1,6) = &quot;de;nl;pt;el&quot;
+ sMarket(1,7) = &quot;DE;NL;PT;GR&quot;
+ sMarket(1,8) = &quot;407;413;816;408&quot;
+ sMarket(1,9) = &quot;59/9&quot;
+ sMarket(1,10) = &quot;1&quot;
+
+ sMarket(2,0) = &quot;Engelskt pund&quot;
+ sMarket(2,1) = &quot;£&quot;
+ sMarket(2,2) = &quot;London&quot;
+ sMarket(2,3) = &quot;http://uk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.L&amp;m=*&amp;f=sl1t1c1ghov&amp;e=.csv&quot;
+ sMarket(2,5) = &quot;Symbol&quot;
+ sMarket(2,6) = &quot;en&quot;
+ sMarket(2,7) = &quot;GB&quot;
+ sMarket(2,8) = &quot;809&quot;
+ sMarket(2,9) = &quot;44&quot;
+ sMarket(2,10) = &quot;1&quot;
+
+ sMarket(3,0) = &quot;Japansk yen&quot;
+ sMarket(3,1) = &quot;¥&quot;
+ sMarket(3,2) = &quot;Tokyo&quot;
+ sMarket(3,3) = &quot;&quot;
+ sMarket(3,5) = &quot;Kod&quot;
+ sMarket(3,6) = &quot;ja&quot;
+ sMarket(3,7) = &quot;JP&quot;
+ sMarket(3,8) = &quot;411&quot;
+ sMarket(3,9) = &quot;&quot;
+ sMarket(3,10) = &quot;&quot;
+
+ sMarket(4,0) = &quot;Hongkongdollar&quot;
+ sMarket(4,1) = &quot;HK$&quot;
+ sMarket(4,2) = &quot;Hongkong&quot;
+ sMarket(4,3) = &quot;http://hk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sMarket(4,5) = &quot;Nummer&quot;
+ sMarket(4,6) = &quot;zh&quot;
+ sMarket(4,7) = &quot;HK&quot;
+ sMarket(4,8) = &quot;C04&quot;
+ sMarket(4,9) = &quot;44&quot;
+ sMarket(4,10) = &quot;1&quot;
+
+ sMarket(5,0) = &quot;Australisk dollar&quot;
+ sMarket(5,1) = &quot;$&quot;
+ sMarket(5,2) = &quot;Sydney&quot;
+ sMarket(5,3) = &quot;http://au.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sMarket(5,5) = &quot;Symbol&quot;
+ sMarket(5,6) = &quot;en&quot;
+ sMarket(5,7) = &quot;AU&quot;
+ sMarket(5,8) = &quot;C09&quot;
+ sMarket(5,9) = &quot;44&quot;
+ sMarket(5,10) = &quot;1&quot;
+
+&apos; ****************************End of the default subset*********************************
+ CompleteMarketList()
+
+ LocalizedCurrencies()
+
+ With TransactModel
+ .lblStockNames.Label = sStockname
+ .lblQuantity.Label = &quot;Antal&quot;
+ .lblRate.Label = &quot;Kurs&quot;
+ .lblDate.Label = &quot;Transaktionsdatum&quot;
+ .hlnCommission.Label = &quot;Övriga utgifter&quot;
+ .lblCommission.Label = &quot;Provision&quot;
+ .lblMinimum.Label = &quot;Minimiprovision&quot;
+ .lblFix.Label = &quot;Fast belopp/omkostnader&quot;
+ .cmdGoOn.Label = sOK
+ .cmdCancel.Label = sCancel
+ End With
+
+ With StockRatesModel
+ .optPerShare.Label = &quot;Utdelning per aktie&quot;
+ .optTotal.Label = &quot;Utdelning totalt&quot;
+ .lblDividend.Label = &quot;Belopp&quot;
+ .lblExchangeRate.Label = &quot;Omräkningskurs (gammal-&gt;ny)&quot;
+ .lblColon.Label = &quot;:&quot;
+ .lblDate.Label = &quot;Omräkningsdatum:&quot;
+ .lblStockNames.Label = sStockname
+ .lblStartDate.Label = sStartDate
+ .lblEndDate.Label = sEndDate
+ .optDaily.Label = &quot;~Dagligen&quot;
+ .optWeekly.Label = &quot;~Varje vecka&quot;
+ .hlnInterval.Label = &quot;Period&quot;
+ .cmdGoOn.Label = sOk
+ .cmdCancel.Label = sCancel
+ End With
+End Sub
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Depot/Lang_tw.xba b/test/user-template/user/basic/Depot/Lang_tw.xba
new file mode 100644
index 000000000000..fbe54a413132
--- /dev/null
+++ b/test/user-template/user/basic/Depot/Lang_tw.xba
@@ -0,0 +1,158 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Lang_tw" script:language="StarBasic">Option Explicit
+
+Sub LoadChineseTradLanguage()
+
+ sProductname = GetProductname
+ sOK = &quot;確定&quot;
+ sCancel = &quot;取消&quot;
+ sColumnHeader = &quot;欄標簽&quot;
+ sInsertStockName = &quot;請先填入股票名稱!&quot;
+ sTitle = &quot;&lt;PRODUCTNAME&gt;: 股票管理&quot;
+ sTitle = ReplaceString(sTitle, sProductName, &quot;&lt;PRODUCTNAME&gt;&quot;)
+ sMsgError = &quot;輸入無效&quot;
+ sMsgNoName = sInsertStockname
+ sMsgNoQuantity = &quot;請輸入大於0的交易股數&quot;
+ sMsgNoDividend = &quot;請輸入每股股息金額或股息總額&quot;
+ sMsgNoExchangeRate = &quot;請鍵入正確的換算比率(舊股票 -&gt; 新股票)。&quot;
+ sMsgNoValidExchangeDate = &quot;請輸入股票分割的日期。&quot;
+ sMsgWrongExchangeDate = &quot;無法分割股票,因為分割日期之後已經買進或賣出股票。&quot;
+ sMsgSellTooMuch = &quot;最多能出售的股票數: &quot;
+ sMsgConfirm = &quot;需要确認&quot;
+ sMsgFreeStock = &quot;需要輸入一個贈送的股票?&quot;
+ sMsgTotalLoss = &quot;要輸入一個全部損失的股票?&quot;
+ sMsgAuthorization = &quot;安全詢問&quot;
+ sMsgDeleteAll = &quot;您要刪除所有的交易資料,重新建立一個股票一覽表?&quot;
+ cSplit = &quot;股票分割的日期 &quot;
+ sHistory = &quot;紀錄&quot;
+ TransactTitle(1) = &quot;出售股票&quot;
+ TransactTitle(2) = &quot;購買股票&quot;
+ StockRatesTitle(1) = &quot;支付股息&quot;
+ StockRatesTitle(2) = &quot;股票分割&quot;
+ StockRatesTitle(3) = sHistory
+ sDepotCurrency = &quot;股票的貨幣&quot;
+ sStockName = &quot;股票名稱&quot;
+ TransactMode = LIFO &apos; Possible values: &quot;FIFO&quot; and &quot;LIFO&quot;
+ DateCellStyle = &quot;結果 日期&quot;
+ CurrCellStyle = &quot;1&quot;
+ sStartDate = &quot;交割日期:&quot;
+ sEndDate = &quot;到期日期:&quot;
+ sStartUpWelcome = &quot;這個樣式用於高效能地管理股票交易。&quot;
+ sStartUpChooseMarket = &quot;請先選一個參照的貨幣和一個可直接從 Internet 更新資料的贈券交易所。&quot;
+ sStartUpHint = &quot;很遺憾,&lt;History&gt;-功能僅適用於美國的交易所。&quot;
+ sStartupHint = ReplaceString(sStartUpHint, sHistory, &quot;&lt;History&gt;&quot;)
+ sNoInternetUpdate = &quot;不透過 internet 更新&quot;
+ sMarketPlace = &quot;證券交易所:&quot;
+ sNoInternetDataAvailable = &quot;無法接受 Internet 股票價格!&quot;
+ sCheckInternetSettings = &quot;可能的原因:&lt;BR&gt;Internet 設定不正確,需要重新設定。&lt;BR&gt;輸入了一個錯誤的股票代碼。&quot;
+ sCheckInternetSettings = ReplaceString(sCheckInternetSettings, chr(13), &quot;&lt;BR&gt;&quot;)
+
+ sMsgEndDatebeforeNow = &quot;到期日期必須是在今日之前!&quot;
+ sMsgStartDatebeforeEndDate = &quot;交割日期必須是在到期日期之前!&quot;
+
+ sMarket(0,0) = &quot;美元&quot;
+ sMarket(0,1) = &quot;$&quot;
+ sMarket(0,2) = &quot;紐約&quot;
+ sMarket(0,3) = &quot;http://finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sMarket(0,4) = &quot;http://ichart.finance.yahoo.com/table.csv?&quot; &amp;_
+ &quot;s=&lt;StockID&gt;&amp;d=&lt;EndMonth&gt;&amp;e=&lt;EndDay&gt;&amp;f=&lt;Endyear&gt;&amp;g=d&amp;&quot; &amp;_
+ &quot;a=&lt;StartMonth&gt;&amp;b=&lt;StartDay&gt;&amp;c=&lt;Startyear&gt;&amp;ignore=.csv&quot;
+ sMarket(0,5) = &quot;股票符號&quot;
+ sMarket(0,6) = &quot;en&quot;
+ sMarket(0,7) = &quot;US&quot;
+ sMarket(0,8) = &quot;409&quot;
+ sMarket(0,9) = &quot;44&quot;
+ sMarket(0,10) = &quot;1&quot;
+
+ sMarket(1,0) = &quot;歐元&quot;
+ sMarket(1,1) = chr(8364)
+ sMarket(1,2) = &quot;法蘭克福&quot;
+ sMarket(1,3) = &quot;http://de.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.F&amp;f=sl1t1c1ghpv&amp;e=.csv&quot;
+ sMarket(1,5) = &quot;股代碼&quot;
+ sMarket(1,6) = &quot;de;nl;pt;el&quot;
+ sMarket(1,7) = &quot;DE;NL;PT;GR&quot;
+ sMarket(1,8) = &quot;407;413;816;408&quot;
+ sMarket(1,9) = &quot;59/9&quot;
+ sMarket(1,10) = &quot;1&quot;
+
+ sMarket(2,0) = &quot;英鎊&quot;
+ sMarket(2,1) = &quot;£&quot;
+ sMarket(2,2) = &quot;倫敦&quot;
+ sMarket(2,3) = &quot;http://uk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.L&amp;m=*&amp;f=sl1t1c1ghov&amp;e=.csv&quot;
+ sMarket(2,5) = &quot;股票符號&quot;
+ sMarket(2,6) = &quot;en&quot;
+ sMarket(2,7) = &quot;GB&quot;
+ sMarket(2,8) = &quot;809&quot;
+ sMarket(2,9) = &quot;44&quot;
+ sMarket(2,10) = &quot;1&quot;
+
+ sMarket(3,0) = &quot;日元&quot;
+ sMarket(3,1) = &quot;¥&quot;
+ sMarket(3,2) = &quot;東京&quot;
+ sMarket(3,3) = &quot;&quot;
+ sMarket(3,5) = &quot;代碼&quot;
+ sMarket(3,6) = &quot;ja&quot;
+ sMarket(3,7) = &quot;JP&quot;
+ sMarket(3,8) = &quot;411&quot;
+ sMarket(3,9) = &quot;&quot;
+ sMarket(3,10) = &quot;&quot;
+
+ sMarket(4,0) = &quot;港幣&quot;
+ sMarket(4,1) = &quot;HK$&quot;
+ sMarket(4,2) = &quot;香港&quot;
+ sMarket(4,3) = &quot;http://hk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.HK&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sMarket(4,5) = &quot;編號&quot;
+ sMarket(4,6) = &quot;zh&quot;
+ sMarket(4,7) = &quot;HK&quot;
+ sMarket(4,8) = &quot;C04&quot;
+ sMarket(4,9) = &quot;44&quot;
+ sMarket(4,10) = &quot;1&quot;
+
+ sMarket(5,0) = &quot;澳元&quot;
+ sMarket(5,1) = &quot;$&quot;
+ sMarket(5,2) = &quot;悉尼&quot;
+ sMarket(5,3) = &quot;http://au.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sMarket(5,5) = &quot;股票符號&quot;
+ sMarket(5,6) = &quot;en&quot;
+ sMarket(5,7) = &quot;AU&quot;
+ sMarket(5,8) = &quot;C09&quot;
+ sMarket(5,9) = &quot;44&quot;
+ sMarket(5,10) = &quot;1&quot;
+
+&apos; ****************************End of the default subset*********************************
+ CompleteMarketList()
+
+ LocalizedCurrencies()
+
+ With TransactModel
+ .lblStockNames.Label = sStockname
+ .lblQuantity.Label = &quot;數量&quot;
+ .lblRate.Label = &quot;股票價格&quot;
+ .lblDate.Label = &quot;交易日期&quot;
+ .hlnCommission.Label = &quot;其它的支出費用&quot;
+ .lblCommission.Label = &quot;手續費&quot;
+ .lblMinimum.Label = &quot;最低手續費&quot;
+ .lblFix.Label = &quot;固定金額/費用&quot;
+ .cmdGoOn.Label = sOK
+ .cmdCancel.Label = sCancel
+ End With
+
+ With StockRatesModel
+ .optPerShare.Label = &quot;每股股息&quot;
+ .optTotal.Label = &quot;股息總計&quot;
+ .lblDividend.Label = &quot;金額&quot;
+ .lblExchangeRate.Label = &quot;轉換比率(舊股票 -&gt; 新股票)&quot;
+ .lblColon.Label = &quot;:&quot;
+ .lblDate.Label = &quot;轉換日期:&quot;
+ .lblStockNames.Label = sStockname
+ .lblStartDate.Label = sStartDate
+ .lblEndDate.Label = sEndDate
+ .optDaily.Label = &quot;每日&quot;
+ .optWeekly.Label = &quot;每週&quot;
+ .hlnInterval.Label = &quot;時間週期&quot;
+ .cmdGoOn.Label = sOk
+ .cmdCancel.Label = sCancel
+ End With
+End Sub
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Depot/Lang_zh.xba b/test/user-template/user/basic/Depot/Lang_zh.xba
new file mode 100644
index 000000000000..94e05bfe5ecd
--- /dev/null
+++ b/test/user-template/user/basic/Depot/Lang_zh.xba
@@ -0,0 +1,158 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Lang_zh" script:language="StarBasic">Option Explicit
+
+Sub LoadChineseSimpleLanguage()
+
+ sProductname = GetProductname
+ sOK = &quot;确定&quot;
+ sCancel = &quot;取消&quot;
+ sColumnHeader = &quot;列标题&quot;
+ sInsertStockName = &quot;请首先往您的帐号内输入一些股票名称!&quot;
+ sTitle = &quot;&lt;PRODUCTNAME&gt;:股票管理&quot;
+ sTitle = ReplaceString(sTitle, sProductName, &quot;&lt;PRODUCTNAME&gt;&quot;)
+ sMsgError = &quot;输入错误&quot;
+ sMsgNoName = sInsertStockname
+ sMsgNoQuantity = &quot;请输入大于0的交易股数&quot;
+ sMsgNoDividend = &quot;请输入每股的红利金额或红利总额&quot;
+ sMsgNoExchangeRate = &quot;请输入一个正确的兑换率(旧股-&gt; 新股)。&quot;
+ sMsgNoValidExchangeDate = &quot;请输入拆股生效日期。&quot;
+ sMsgWrongExchangeDate = &quot;因为在拆股生效后已经进行了股票交易,所以无法拆股。&quot;
+ sMsgSellTooMuch = &quot;您最多能出售的股票数为: &quot;
+ sMsgConfirm = &quot;需要确认&quot;
+ sMsgFreeStock = &quot;您想要输入赠送股票?&quot;
+ sMsgTotalLoss = &quot;您想要输入总亏损值?&quot;
+ sMsgAuthorization = &quot;安全查询&quot;
+ sMsgDeleteAll = &quot;您要删除所有的交易信息并重新建立股票帐号一览表吗?&quot;
+ cSplit = &quot;股票拆股日期 &quot;
+ sHistory = &quot;记录&quot;
+ TransactTitle(1) = &quot;出售股票&quot;
+ TransactTitle(2) = &quot;购买股票&quot;
+ StockRatesTitle(1) = &quot;支付红利&quot;
+ StockRatesTitle(2) = &quot;股票拆股&quot;
+ StockRatesTitle(3) = sHistory
+ sDepotCurrency = &quot;股票交易的货币&quot;
+ sStockName = &quot;股票名称&quot;
+ TransactMode = LIFO &apos; Possible values: &quot;FIFO&quot; and &quot;LIFO&quot;
+ DateCellStyle = &quot;结果 日期&quot;
+ CurrCellStyle = &quot;1&quot;
+ sStartDate = &quot;起始日期:&quot;
+ sEndDate = &quot;终止日期:&quot;
+ sStartUpWelcome = &quot;这个样式能够帮助您有效地管理自己的股票帐号&quot;
+ sStartUpChooseMarket = &quot;请首先选择采用的参考货币以及要直接用国际互联网来更新资料的证券交易所!&quot;
+ sStartUpHint = &quot;很遗憾,&lt;History&gt;功能仅可供美国市场使用!&quot;
+ sStartupHint = ReplaceString(sStartUpHint, sHistory, &quot;&lt;History&gt;&quot;)
+ sNoInternetUpdate = &quot;不通过国际互联网更新&quot;
+ sMarketPlace = &quot;交易所:&quot;
+ sNoInternetDataAvailable = &quot;无法获得国际互联网上的行情!&quot;
+ sCheckInternetSettings = &quot;可能的原因是:&lt;BR&gt;您的国际互联网设定不正确,需要重新设定。&lt;BR&gt;输入了一个错误的股票号码。&quot;
+ sCheckInternetSettings = ReplaceString(sCheckInternetSettings, chr(13), &quot;&lt;BR&gt;&quot;)
+
+ sMsgEndDatebeforeNow = &quot;终止日期必须在今天之前!&quot;
+ sMsgStartDatebeforeEndDate = &quot;起始日期必须在终止日期之前!&quot;
+
+ sMarket(0,0) = &quot;美元&quot;
+ sMarket(0,1) = &quot;$&quot;
+ sMarket(0,2) = &quot;纽约&quot;
+ sMarket(0,3) = &quot;http://finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sMarket(0,4) = &quot;http://ichart.finance.yahoo.com/table.csv?&quot; &amp;_
+ &quot;s=&lt;StockID&gt;&amp;d=&lt;EndMonth&gt;&amp;e=&lt;EndDay&gt;&amp;f=&lt;Endyear&gt;&amp;g=d&amp;&quot; &amp;_
+ &quot;a=&lt;StartMonth&gt;&amp;b=&lt;StartDay&gt;&amp;c=&lt;Startyear&gt;&amp;ignore=.csv&quot;
+ sMarket(0,5) = &quot;图标&quot;
+ sMarket(0,6) = &quot;en&quot;
+ sMarket(0,7) = &quot;US&quot;
+ sMarket(0,8) = &quot;409&quot;
+ sMarket(0,9) = &quot;44&quot;
+ sMarket(0,10) = &quot;1&quot;
+
+ sMarket(1,0) = &quot;欧元&quot;
+ sMarket(1,1) = chr(8364)
+ sMarket(1,2) = &quot;法兰克福&quot;
+ sMarket(1,3) = &quot;http://de.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.F&amp;f=sl1t1c1ghpv&amp;e=.csv&quot;
+ sMarket(1,5) = &quot;代码&quot;
+ sMarket(1,6) = &quot;de;nl;pt;el&quot;
+ sMarket(1,7) = &quot;DE;NL;PT;GR&quot;
+ sMarket(1,8) = &quot;407;413;816;408&quot;
+ sMarket(1,9) = &quot;59/9&quot;
+ sMarket(1,10) = &quot;1&quot;
+
+ sMarket(2,0) = &quot;英镑&quot;
+ sMarket(2,1) = &quot;£&quot;
+ sMarket(2,2) = &quot;伦敦&quot;
+ sMarket(2,3) = &quot;http://uk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.L&amp;m=*&amp;f=sl1t1c1ghov&amp;e=.csv&quot;
+ sMarket(2,5) = &quot;股票代码&quot;
+ sMarket(2,6) = &quot;en&quot;
+ sMarket(2,7) = &quot;GB&quot;
+ sMarket(2,8) = &quot;809&quot;
+ sMarket(2,9) = &quot;44&quot;
+ sMarket(2,10) = &quot;1&quot;
+
+ sMarket(3,0) = &quot;日元&quot;
+ sMarket(3,1) = &quot;¥&quot;
+ sMarket(3,2) = &quot;东京&quot;
+ sMarket(3,3) = &quot;&quot;
+ sMarket(3,5) = &quot;代码&quot;
+ sMarket(3,6) = &quot;ja&quot;
+ sMarket(3,7) = &quot;JP&quot;
+ sMarket(3,8) = &quot;411&quot;
+ sMarket(3,9) = &quot;&quot;
+ sMarket(3,10) = &quot;&quot;
+
+ sMarket(4,0) = &quot;港币&quot;
+ sMarket(4,1) = &quot;HK$&quot;
+ sMarket(4,2) = &quot;香港&quot;
+ sMarket(4,3) = &quot;http://hk.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;.HK&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sMarket(4,5) = &quot;编号&quot;
+ sMarket(4,6) = &quot;zh&quot;
+ sMarket(4,7) = &quot;HK&quot;
+ sMarket(4,8) = &quot;C04&quot;
+ sMarket(4,9) = &quot;44&quot;
+ sMarket(4,10) = &quot;1&quot;
+
+ sMarket(5,0) = &quot;澳元&quot;
+ sMarket(5,1) = &quot;$&quot;
+ sMarket(5,2) = &quot;悉尼&quot;
+ sMarket(5,3) = &quot;http://au.finance.yahoo.com/d/quotes.csv?s=&lt;StockID&gt;&amp;f=sl1d1t1c1ohgv&amp;e=.csv&quot;
+ sMarket(5,5) = &quot;股票代码&quot;
+ sMarket(5,6) = &quot;en&quot;
+ sMarket(5,7) = &quot;AU&quot;
+ sMarket(5,8) = &quot;C09&quot;
+ sMarket(5,9) = &quot;44&quot;
+ sMarket(5,10) = &quot;1&quot;
+
+&apos; ****************************End of the default subset*********************************
+ CompleteMarketList()
+
+ LocalizedCurrencies()
+
+ With TransactModel
+ .lblStockNames.Label = sStockname
+ .lblQuantity.Label = &quot;数量&quot;
+ .lblRate.Label = &quot;股票牌价&quot;
+ .lblDate.Label = &quot;交易日期&quot;
+ .hlnCommission.Label = &quot;其它支出费用&quot;
+ .lblCommission.Label = &quot;手续费&quot;
+ .lblMinimum.Label = &quot;最低手续费&quot;
+ .lblFix.Label = &quot;固定金额/费用&quot;
+ .cmdGoOn.Label = sOK
+ .cmdCancel.Label = sCancel
+ End With
+
+ With StockRatesModel
+ .optPerShare.Label = &quot;每股红利&quot;
+ .optTotal.Label = &quot;红利总计&quot;
+ .lblDividend.Label = &quot;金额&quot;
+ .lblExchangeRate.Label = &quot;兑换率(旧-&gt;新)&quot;
+ .lblColon.Label = &quot;:&quot;
+ .lblDate.Label = &quot;兑换日期:&quot;
+ .lblStockNames.Label = sStockname
+ .lblStartDate.Label = sStartDate
+ .lblEndDate.Label = sEndDate
+ .optDaily.Label = &quot;每天&quot;
+ .optWeekly.Label = &quot;每周&quot;
+ .hlnInterval.Label = &quot;时间周期&quot;
+ .cmdGoOn.Label = sOk
+ .cmdCancel.Label = sCancel
+ End With
+End Sub
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Depot/dialog.xlb b/test/user-template/user/basic/Depot/dialog.xlb
new file mode 100644
index 000000000000..764ea3f35335
--- /dev/null
+++ b/test/user-template/user/basic/Depot/dialog.xlb
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="Depot" library:readonly="true" library:passwordprotected="false">
+ <library:element library:name="Dialog2"/>
+ <library:element library:name="Dialog3"/>
+ <library:element library:name="Dialog4"/>
+</library:library>
diff --git a/test/user-template/user/basic/Depot/script.xlb b/test/user-template/user/basic/Depot/script.xlb
new file mode 100644
index 000000000000..372665b22760
--- /dev/null
+++ b/test/user-template/user/basic/Depot/script.xlb
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="Depot" library:readonly="true" library:passwordprotected="false">
+ <library:element library:name="Depot"/>
+ <library:element library:name="CommonLang"/>
+ <library:element library:name="Currency"/>
+ <library:element library:name="Internet"/>
+ <library:element library:name="Lang_de"/>
+ <library:element library:name="tools"/>
+ <library:element library:name="Lang_en"/>
+ <library:element library:name="Lang_fr"/>
+ <library:element library:name="Lang_it"/>
+ <library:element library:name="Lang_es"/>
+ <library:element library:name="Lang_sv"/>
+ <library:element library:name="Lang_zh"/>
+ <library:element library:name="Lang_tw"/>
+ <library:element library:name="Lang_ko"/>
+ <library:element library:name="Lang_ja"/>
+</library:library>
diff --git a/test/user-template/user/basic/Depot/tools.xba b/test/user-template/user/basic/Depot/tools.xba
new file mode 100644
index 000000000000..6399805419ee
--- /dev/null
+++ b/test/user-template/user/basic/Depot/tools.xba
@@ -0,0 +1,200 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="tools" script:language="StarBasic">REM ***** BASIC *****
+Option Explicit
+
+Sub RemoveSheet()
+ If oSheets.HasbyName(&quot;Link&quot;) then
+ oSheets.RemovebyName(&quot;Link&quot;)
+ End If
+End Sub
+
+
+Sub InitializeStatusLine(StatusText as String, MaxValue as Integer, FirstValue as Integer)
+ oStatusline = oDocument.GetCurrentController.GetFrame.CreateStatusIndicator()
+ oStatusLine.Start(StatusText, MaxValue)
+ oStatusline.SetValue(FirstValue)
+End Sub
+
+
+Sub MakeRangeVisible(oSheet as Object, RangeName as String, BIsVisible as Boolean)
+Dim oRangeAddress, oColumns as Object
+Dim i, iStartColumn, iEndColumn as Integer
+ oRangeAddress = oSheet.GetCellRangeByName(RangeName).RangeAddress
+ iStartColumn = oRangeAddress.StartColumn
+ iEndColumn = oRangeAddress.EndColumn
+ oColumns = oSheet.Columns
+ For i = iStartColumn To iEndColumn
+ oSheet.Columns(i).IsVisible = bIsVisible
+ Next i
+End Sub
+
+
+Function GetRowIndex(oSheet as Object, RowName as String)
+Dim oRange as Object
+ oRange = oSheet.GetCellRangeByName(RowName)
+ GetRowIndex = oRange.RangeAddress.StartRow
+End Function
+
+
+Function GetTransactionCount(iStartRow as Integer)
+Dim iEndRow as Integer
+ iStartRow = GetRowIndex(oMovementSheet, &quot;ColumnsToHide&quot;)
+ iEndRow = GetRowIndex(oMovementSheet, &quot;HiddenRow3&quot; )
+ GetTransactionCount = iEndRow -iStartRow - 2
+End Function
+
+
+Function GetStocksCount(iStartRow as Integer)
+Dim iEndRow as Integer
+ iStartRow = GetRowIndex(oFirstSheet, &quot;HiddenRow1&quot;)
+ iEndRow = GetRowIndex(oFirstSheet, &quot;HiddenRow2&quot;)
+ GetStocksCount = iEndRow -iStartRow - 1
+End Function
+
+
+Function FillListbox(ListboxControl as Object, MsgTitle as String, bShowMessage) as Boolean
+Dim i, StocksCount as Integer
+Dim iStartRow as Integer
+Dim oCell as Object
+ &apos; Add stock names to empty list box
+ StocksCount = GetStocksCount(iStartRow)
+ If StocksCount &gt; 0 Then
+ ListboxControl.Model.StringItemList() = NullList()
+ For i = 1 To StocksCount
+ oCell = oFirstSheet.GetCellByPosition(SBCOLUMNNAME1,iStartRow + i)
+ ListboxControl.AddItem(oCell.String, i-1)
+ Next
+ FillListbox() = True
+ Else
+ If bShowMessage Then
+ Msgbox(sInsertStockName, 16, MsgTitle)
+ FillListbox() = False
+ End If
+ End If
+End Function
+
+
+Sub CellValuetoControl(oSheet, oControl as Object, CellName as String)
+Dim oCell as Object
+Dim StringValue
+ oCell = GetCellByName(oSheet, CellName)
+ If oControl.PropertySetInfo.HasPropertyByName(&quot;EffectiveValue&quot;) Then
+ oControl.EffectiveValue = oCell.Value
+ Else
+ oControl.Value = oCell.Value
+ End If
+&apos; If oCell.FormulaResultType = 1 Then
+&apos; StringValue = oNumberFormatter.GetInputString(oCell.NumberFormat, oCell.Value)
+&apos; oControl.Text = DeleteStr(StringValue, &quot;%&quot;)
+&apos; Else
+&apos; oControl.Text = oCell.String
+&apos; End If
+End Sub
+
+
+Sub RemoveStockRows(oSheet as Object, iStartRow, RowCount as Integer)
+ If RowCount &gt; 0 Then
+ oSheet.Rows.RemoveByIndex(iStartRow, RowCount)
+ End If
+End Sub
+
+
+Sub AddValueToCellContent(iCellCol, iCellRow as Integer, AddValue)
+Dim oCell as Object
+Dim OldValue
+ oCell = oMovementSheet.GetCellByPosition(iCellCol, iCellRow)
+ OldValue = oCell.Value
+ oCell.Value = OldValue + AddValue
+End Sub
+
+
+Sub CheckInputDate(aEvent as Object)
+Dim oRefDialog as Object
+Dim oRefModel as Object
+Dim oDateModel as Object
+ oDateModel = aEvent.Source.Model
+ oRefModel = DlgReference.GetControl(&quot;cmdGoOn&quot;).Model
+ oRefModel.Enabled = oDateModel.Date &lt;&gt; 0
+End Sub
+
+
+
+&apos; Updates the cell with the CurrentValue after checking if the
+&apos; Newdate is later than the one that is refered to in the annotation
+&apos; of the cell
+Sub InsertCurrentValue(CurValue as Double, iRow as Integer, Newdate as Date)
+Dim oCell as Object
+Dim OldDate as Date
+ oCell = oFirstSheet.GetCellByPosition(SBCOLUMNRATE1, iRow)
+ OldDate = CDate(oCell.Annotation.Text.String)
+ If NewDate &gt;= OldDate Then
+ oCell.SetValue(CurValue)
+ oCell.Annotation.Text.SetString(CStr(NewDate))
+ End If
+End Sub
+
+
+Sub SplitCellValue(oSheet, FirstNumber, SecondNumber, iCol, iRow, NoteText)
+Dim oCell as Object
+Dim OldValue
+ oCell = oSheet.GetCellByPosition(iCol, iRow)
+ OldValue = oCell.Value
+ oCell.Value = OldValue * FirstNumber / SecondNumber
+ If NoteText &lt;&gt; &quot;&quot; Then
+ oCell.Annotation.SetString(NoteText)
+ End If
+End Sub
+
+
+Function GetStockRowIndex(ByVal Stockname) as Integer
+Dim i, StocksCount as Integer
+Dim iStartRow as Integer
+Dim oCell as Object
+ StocksCount = GetStocksCount(iStartRow)
+ For i = 1 To StocksCount
+ oCell = oFirstSheet.GetCellByPosition(SBCOLUMNNAME1,iStartRow + i)
+ If oCell.String = Stockname Then
+ GetStockRowIndex = iStartRow + i
+ Exit Function
+ End If
+ Next
+ GetStockRowIndex = -1
+End Function
+
+
+Function GetStockID(StockName as String, Optional iFirstRow as Integer) as String
+Dim CellStockName as String
+Dim i as Integer
+Dim iCount as Integer
+Dim iLastRow as Integer
+ If IsMissing(iFirstRow) Then
+ iFirstRow = GetRowIndex(oFirstSheet, &quot;HiddenRow1&quot;)
+ End If
+ iCount = GetStocksCount(iFirstRow)
+ iLastRow = iFirstRow + iCount
+ For i = iFirstRow To iLastRow
+ CellStockName = oFirstSheet.GetCellByPosition(SBCOLUMNNAME1, i).String
+ If CellStockname = StockName Then
+ Exit For
+ End If
+ Next i
+ If i &gt; iLastRow Then
+ GetStockID() = &quot;&quot;
+ Else
+ If Not IsMissing(iFirstRow) Then
+ iFirstRow = i
+ End If
+ GetStockID() = oFirstSheet.GetCellByPosition(SBCOLUMNID1, i).String
+ End If
+End Function
+
+
+Function CheckDocLocale(LocLanguage as String, LocCountry as String)
+Dim bIsDocLanguage as Boolean
+Dim bIsDocCountry as Boolean
+ bIsDocLanguage = Instr(1, LocLanguage, sDocLanguage, SBBINARY) &lt;&gt; 0
+ bIsDocCountry = Instr(1, LocCountry, sDocCountry, SBBINARY) &lt;&gt; 0 OR SDocCountry = &quot;&quot;
+ CheckDocLocale = (bIsDocLanguage And bIsDocCountry)
+End Function
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Euro/AutoPilotRun.xba b/test/user-template/user/basic/Euro/AutoPilotRun.xba
new file mode 100644
index 000000000000..e1f2fe076953
--- /dev/null
+++ b/test/user-template/user/basic/Euro/AutoPilotRun.xba
@@ -0,0 +1,414 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="AutoPilotRun" script:language="StarBasic">Option Explicit
+
+Public SourceDir as String
+Public TargetDir as String
+Public TargetStemDir as String
+Public SourceFile as String
+Public TargetFile as String
+Public Source as String
+Public SubstFile as String
+Public SubstDir as String
+Public NoArgs()
+Public TypeList(14) as String
+Public GoOn as Boolean
+Public DoUnprotect as Integer
+Public Password as String
+Public DocIndex as Integer
+Public oPathSettings as Object
+Public oUcb as Object
+Public TotDocCount as Integer
+Public sTotDocCount as String
+Public OpenProperties(1) as New com.sun.star.beans.PropertyValue
+
+
+Sub StartAutoPilot()
+Dim i As Integer
+Dim oFactoryKey as Object
+ BasicLibraries.LoadLibrary(&quot;Tools&quot;)
+ BasicLibraries.LoadLibrary(&quot;ImportWizard&quot;)
+ If InitResources(&quot;Euro Converter&quot;, &quot;eur&quot;) Then
+ oUcb = createUnoService(&quot;com.sun.star.ucb.SimpleFileAccess&quot;)
+ oLocale = GetStarOfficeLocale()
+ InitializeConverter(oLocale, 2)
+ ToggleGoOnButton()
+ oFactoryKey = GetRegistryKeyContent(&quot;org.openoffice.Setup/Office/Factories&quot;)
+ DialogModel.chkTextDocuments.Enabled = oFactoryKey.hasbyName(&quot;com.sun.star.text.TextDocument&quot;)
+ DialogModel.cmdGoOn.DefaultButton = True
+ DialogModel.lstCurrencies.TabIndex = 12
+ DialogConvert.GetControl(&quot;optWholeDir&quot;).SetFocus()
+ DialogConvert.Execute()
+ DialogConvert.Dispose()
+ End If
+End Sub
+
+
+Sub ConvertDocuments()
+Dim FilesList()
+Dim bDisposable as Boolean
+
+ If Source &lt;&gt; &quot;&quot; And TargetDir &lt;&gt; &quot;&quot; Then
+ If DialogModel.optSingleFile.State = 1 Then
+ SourceFile = Source
+ TotDocCount = 1
+ Else
+ SourceDir = Source
+ TargetStemDir = TargetDir
+ TypeList(0) = &quot;calc8&quot;
+ TypeList(1) = &quot;calc_StarOffice_XML_Calc&quot;
+ TypeList(2) = &quot;calc_StarCalc_30&quot;
+ TypeList(3) = &quot;calc_StarCalc_40&quot;
+ TypeList(4) = &quot;calc_StarCalc_50&quot;
+ If DialogModel.chkTextDocuments.State = 1 Then
+ ReDim Preserve TypeList(13) as String
+
+ TypeList(5) = &quot;writer8&quot;
+ TypeList(6) = &quot;writerglobal8&quot;
+ TypeList(7) = &quot;writer_StarOffice_XML_Writer&quot;
+ TypeList(8) = &quot;writer_globaldocument_StarOffice_XML_Writer_GlobalDocument&quot;
+ TypeList(9) = &quot;writer_StarWriter_30&quot;
+ TypeList(10) = &quot;writer_StarWriter_40&quot;
+ TypeList(11) = &quot;writer_globaldocument_StarWriter_40GlobalDocument&quot;
+ TypeList(12) = &quot;writer_StarWriter_50&quot;
+ TypeList(13) = &quot;writer_globaldocument_StarWriter_50GlobalDocument&quot;
+ End If
+ FilesList() = ReadDirectories(SourceDir, bRecursive, True, False, TypeList())
+ TotDocCount = Ubound(FilesList(),1) + 1
+ End If
+ InitializeProgressPage(DialogModel)
+&apos; ChangeToNextProgressStep()
+ sTotDocCount = CStr(TotDocCount)
+ OpenProperties(0).Name = &quot;Hidden&quot;
+ OpenProperties(0).Value = True
+ OpenProperties(1).Name = &quot;AsTemplate&quot;
+ OpenProperties(1).Value = False
+ For DocIndex = 0 To TotDocCount - 1
+ If InitializeDocument(FilesList(), bDisposable) Then
+ If StoreDocument() Then
+ ConvertDocument()
+ oDocument.Store
+ End If
+ If bDisposable Then
+ oDocument.Dispose()
+ End If
+ End If
+ Next DocIndex
+ DialogModel.cmdBack.Enabled = True
+ DialogModel.cmdGoOn.Enabled = True
+ DialogModel.cmdGoOn.Label = sReady
+ DialogModel.cmdCancel.Label = sEnd
+ End If
+End Sub
+
+
+Function InitializeDocument(FilesList(), bDisposable as Boolean) as Boolean
+&apos; The Autopilot is started from step No. 2
+Dim sViewPath as String
+Dim bIsReadOnly as Boolean
+Dim sExtension as String
+ On Local Error Goto NEXTFILE
+ If Not bCancelTask Then
+ If DialogModel.optWholeDir.State = 1 Then
+ SourceFile = FilesList(DocIndex,0)
+ TargetFile = ReplaceString(SourceFile,TargetStemDir,SourceDir)
+ TargetDir = DirectorynameoutofPath(TargetFile, &quot;/&quot;)
+ Else
+ SourceFile = Source
+ TargetFile = TargetDir &amp; &quot;/&quot; &amp; FileNameoutofPath(SourceFile, &quot;/&quot;)
+ End If
+ If CreateFolder(TargetDir) Then
+ sExtension = GetFileNameExtension(SourceFile, &quot;/&quot;)
+ oDocument = OpenDocument(SourceFile, OpenProperties(), bDisposable)
+ If (oDocument.IsReadOnly) AND (UCase(SourceFile) = UCase(TargetFile)) Then
+ bIsReadOnly = True
+ Msgbox(sMsgDOCISREADONLY, 16, GetProductName())
+ Else
+ bIsReadOnly = False
+ RetrieveDocumentObjects()
+ sViewPath = CutPathView(SourceFile, 60)
+ DialogModel.lblCurDocument.Label = Str(DocIndex+1) &amp; &quot;/&quot; &amp; sTotDocCount &amp; &quot; (&quot; &amp; sViewPath &amp; &quot;)&quot;
+ End If
+ InitializeDocument() = Not bIsReadOnly
+ Else
+ InitializeDocument() = False
+ End If
+ Else
+ InitializeDocument() = False
+ End If
+NEXTFILE:
+ If Err &lt;&gt; 0 Then
+ InitializeDocument() = False
+ Resume LETSGO
+LETSGO:
+ End If
+End Function
+
+
+Sub ChangeToNextProgressStep()
+ DialogModel.lblCurProgress.FontWeight = com.sun.star.awt.FontWeight.NORMAL
+ DialogConvert.GetControl(&quot;lblCurProgress&quot;).Visible = True
+End Sub
+
+
+Function StoreDocument() as Boolean
+Dim sCurFileExists as String
+Dim iOverWrite as Integer
+ If (TargetFile &lt;&gt; &quot;&quot;) And (Not bCancelTask) Then
+ On Local Error Goto NOSAVING
+ If oUcb.Exists(TargetFile) Then
+ sCurFileExists = ReplaceString(sMsgFileExists, ConvertFromUrl(TargetFile), &quot;&lt;1&gt;&quot;)
+ sCurFileExists = ReplaceString(sCurFileExists, chr(13), &quot;&lt;CR&gt;&quot;)
+ iOverWrite = Msgbox (sCurFileExists, 32 + 3, sMsgDLGTITLE)
+ Select Case iOverWrite
+ Case 1 &apos; OK
+ Case 2 &apos; Abort
+ bCancelTask = True
+ StoreDocument() = False
+ Exit Function
+ Case 7 &apos; No
+ StoreDocument() = False
+ Exit Function
+ End Select
+ End If
+ If TargetFile &lt;&gt; SourceFile Then
+ oDocument.StoreAsUrl(TargetFile,NoArgs)
+ Else
+ oDocument.Store
+ End If
+ StoreDocument() = True
+ NOSAVING:
+ If Err &lt;&gt; 0 Then
+ StoreDocument() = False
+ Resume CLERROR
+ End If
+ CLERROR:
+ End If
+End Function
+
+
+Sub SwapExtent()
+ DialogModel.chkRecursive.Enabled = DialogModel.optWholeDir.State = 1
+ If DialogModel.optWholeDir.State = 1 Then
+ DialogModel.lblSource.Label = sSOURCEDIR
+ If Not IsNull(SubstFile) Then
+ SubstFile = DialogModel.txtSource.Text
+ DialogModel.txtSource.Text = SubstDir
+ End If
+ Else
+ DialogModel.LblSource.Label = sSOURCEFILE
+ If Not IsNull(SubstDir) Then
+ SubstDir = DialogModel.txtSource.Text
+ DialogModel.txtSource.Text = SubstFile
+ End If
+ End If
+ ToggleGoOnButton()
+End Sub
+
+
+Function InitializeThirdStep() as Boolean
+Dim TextBoxText as String
+ Source = AssignFileName(DialogModel.txtSource.Text, DialogModel.lblSource.Label, True)
+ If CheckTextBoxPath(DialogModel.txtTarget, True, True, sMsgDLGTITLE, True) Then
+ TargetDir = AssignFileName(DialogModel.txtTarget.Text, DialogModel.lblTarget.Label, False)
+ Else
+ TargetDir = &quot;&quot;
+ End If
+ If Source &lt;&gt; &quot;&quot; And TargetDir &lt;&gt; &quot;&quot; Then
+ bRecursive = DialogModel.chkRecursive.State = 1
+ bDoUnprotect = DialogModel.chkProtect.State = 1
+ DialogModel.lblRetrieval.FontWeight = com.sun.star.awt.FontWeight.BOLD
+ DialogModel.lblRetrieval.Label = sPrgsRETRIEVAL
+ DialogModel.lblCurProgress.Label = sPrgsCONVERTING
+ If DialogModel.optWholeDir.State = 1 Then
+ TextBoxText = sSOURCEDIR &amp; &quot; &quot; &amp; ConvertFromUrl(Source) &amp; chr(13)
+ If DialogModel.chkRecursive.State = 1 Then
+ TextBoxText = TextBoxText &amp; DeleteStr(sInclusiveSubDir,&quot;~&quot;) &amp; chr(13)
+ End If
+ Else
+ TextBoxText = sSOURCEFILE &amp; &quot; &quot; &amp; ConvertFromUrl(Source) &amp; chr(13)
+ End If
+ TextBoxText = TextBoxText &amp; sTARGETDIR &amp; &quot; &quot; &amp; ConvertFromUrl(TargetDir) &amp; chr(13)
+ If DialogModel.chkProtect.State = 1 Then
+ TextBoxText = TextboxText &amp; sPrgsUNPROTECT
+ End If
+ DialogModel.txtConfig.Text = TextBoxText
+ ToggleProgressStep()
+ DialogModel.cmdGoOn.Enabled = False
+ InitializeThirdStep() = True
+ Else
+ InitializeThirdStep() = False
+ End If
+End Function
+
+
+Sub ToggleProgressStep(Optional aEvent as Object)
+Dim bMakeVisible as Boolean
+Dim LocStep as Integer
+ &apos; If the Sub is call by the &apos;cmdBack&apos; Button then set the &apos;bMakeVisible&apos; variable accordingly
+ bMakeVisible = IsMissing(aEvent)
+ If bMakeVisible Then
+ DialogModel.Step = 3
+ Else
+ DialogModel.Step = 2
+ End If
+ DialogConvert.GetControl(&quot;lblCurrencies&quot;).Visible = Not bMakeVisible
+ DialogConvert.GetControl(&quot;lstCurrencies&quot;).Visible = Not bMakeVisible
+ DialogConvert.GetControl(&quot;cmdBack&quot;).Visible = bMakeVisible
+ DialogConvert.GetControl(&quot;cmdGoOn&quot;).Visible = bMakeVisible
+ DialogModel.imgPreview.ImageUrl = BitmapDir &amp; &quot;euro_&quot; &amp; DialogModel.Step &amp; &quot;.bmp&quot;
+End Sub
+
+
+Sub EnableStep2DialogControls(OnValue as Boolean)
+ With DialogModel
+ .hlnExtent.Enabled = OnValue
+ .optWholeDir.Enabled = OnValue
+ .optSingleFile.Enabled = OnValue
+ .chkProtect.Enabled = OnValue
+ .cmdCallSourceDialog.Enabled = OnValue
+ .cmdCallTargetDialog.Enabled = OnValue
+ .lblSource.Enabled = OnValue
+ .lblTarget.Enabled = OnValue
+ .txtSource.Enabled = OnValue
+ .txtTarget.Enabled = OnValue
+ .imgPreview.Enabled = OnValue
+ .lstCurrencies.Enabled = OnValue
+ .lblCurrencies.Enabled = OnValue
+ If OnValue Then
+ ToggleGoOnButton()
+ .chkRecursive.Enabled = .optWholeDir.State = 1
+ Else
+ .cmdGoOn.Enabled = False
+ .chkRecursive.Enabled = False
+ End If
+ End With
+End Sub
+
+
+Sub InitializeProgressPage()
+ DialogConvert.GetControl(&quot;lblRetrieval&quot;).Visible = False
+ DialogConvert.GetControl(&quot;lblCurProgress&quot;).Visible = False
+ DialogModel.lblRetrieval.FontWeight = com.sun.star.awt.FontWeight.NORMAL
+ DialogModel.lblCurProgress.FontWeight = com.sun.star.awt.FontWeight.BOLD
+ DialogConvert.GetControl(&quot;lblRetrieval&quot;).Visible = True
+ DialogConvert.GetControl(&quot;lblCurProgress&quot;).Visible = True
+End Sub
+
+
+Function AssignFileName(sPath as String, ByVal HeaderString, bCheckFileType as Boolean) as String
+Dim bIsValid as Boolean
+Dim sLocMimeType as String
+Dim sNoDirMessage as String
+ HeaderString = DeleteStr(HeaderString, &quot;:&quot;)
+ sPath = ConvertToUrl(Trim(sPath))
+ bIsValid = oUcb.Exists(sPath)
+ If bIsValid Then
+ If DialogModel.optSingleFile.State = 1 Then
+ If bCheckFileType Then
+ sLocMimeType = GetRealFileContent(sPath)
+ If DialogModel.chkTextDocuments.State = 1 Then
+ If (Instr(1, sLocMimeType, &quot;text&quot;) = 0) And (Instr(1, sLocMimeType, &quot;calc&quot;) = 0) Then
+ Msgbox(sMsgFileInvalid, 48, sMsgDLGTITLE)
+ bIsValid = False
+ End If
+ Else
+ If (Instr(1, sLocMimeType, &quot;spreadsheet&quot;) = 0) And (Instr(1, sLocMimeType, &quot;calc&quot;)) = 0 Then
+ Msgbox(sMsgFileInvalid, 48, sMsgDLGTITLE)
+ bIsValid = False
+ End If
+ End If
+ End If
+ Else
+ If Not oUcb.IsFolder(sPath) Then
+ sNoDirMessage = ReplaceString(sMsgNODIRECTORY,sPath,&quot;&lt;1&gt;&quot;)
+ Msgbox(sNoDirMessage,48, sMsgDLGTITLE)
+ bIsValid = False
+ Else
+ sPath = RTrimStr(sPath,&quot;/&quot;)
+ sPath = sPath &amp; &quot;/&quot;
+ End If
+ End if
+ Else
+ Msgbox(HeaderString &amp; &quot; &apos;&quot; &amp; ConvertFromUrl(sPath) &amp; &quot;&apos; &quot; &amp; sMsgNOTTHERE,48, sMsgDLGTITLE)
+ End If
+ If bIsValid Then
+ AssignFileName() = sPath
+ Else
+ AssignFilename() = &quot;&quot;
+ End If
+End Function
+
+
+Sub ToggleGoOnButton()
+Dim bDoEnable as Boolean
+Dim sLocMimeType as String
+Dim sPath as String
+ bDoEnable = Ubound(DialogModel.lstCurrencies.SelectedItems()) &gt; -1
+ If bDoEnable Then
+ &apos; Check if Source is set correctly
+ sPath = ConvertToUrl(Trim(DialogModel.txtSource.Text))
+ bDoEnable = oUcb.Exists(sPath)
+ End If
+ DialogModel.cmdGoOn.Enabled = bDoEnable
+End Sub
+
+
+Sub CallFolderPicker()
+ GetFolderName(DialogModel.txtTarget)
+ ToggleGoOnButton()
+End Sub
+
+
+Sub CallFilePicker()
+ If DialogModel.optSingleFile.State = 1 Then
+ Dim oMasterKey as Object
+ Dim oTypes() as Object
+ Dim oUIKey() as Object
+
+ oMasterKey = GetRegistryKeyContent(&quot;org.openoffice.TypeDetection.Types&quot;)
+ oTypes() = oMasterKey.Types
+ oUIKey = GetRegistryKeyContent(&quot;org.openoffice.Office.UI/FilterClassification/LocalFilters&quot;)
+ If DialogModel.chkTextDocuments.State = 1 Then
+ Dim FilterNames(11,1) as String
+ FilterNames(6,0) = oTypes.GetByName(&quot;writer_StarOffice_XML_Writer&quot;).UIName
+ FilterNames(6,1) = &quot;*.sxw&quot;
+ FilterNames(7,0) = oTypes.GetByName(&quot;writer_StarOffice_XML_Writer_Template&quot;).UIName
+ FilterNames(7,1) = &quot;*.stw&quot;
+ FilterNames(8,0) = oUIKey.Classes.GetByName(&quot;sw3to5&quot;).DisplayName
+ FilterNames(8,1) = &quot;*.sdw&quot;
+ FilterNames(9,0) = oUIKey.Classes.GetByName(&quot;sw3to5templ&quot;).DisplayName
+ Filternames(9,1) = &quot;*.vor&quot;
+ FilterNames(10,0) = oTypes.GetByName(&quot;writer8&quot;).UIName
+ FilterNames(10,1) = &quot;*.odt&quot;
+ FilterNames(11,0) = oTypes.GetByName(&quot;writer8_template&quot;).UIName
+ FilterNames(11,1) = &quot;*.ott&quot;
+ Else
+ ReDim FilterNames(5,1) as String
+ End If
+ FilterNames(0,0) = oTypes.GetByName(&quot;calc_StarOffice_XML_Calc&quot;).UIName
+ Filternames(0,1) = &quot;*.sxc&quot;
+ FilterNames(1,0) = oTypes.GetByName(&quot;calc_StarOffice_XML_Calc_Template&quot;).UIName
+ Filternames(1,1) = &quot;*.stc&quot;
+ FilterNames(2,0) = oUIKey.Classes.GetByName(&quot;sc345&quot;).DisplayName
+ FilterNames(2,1) = &quot;*.sdc&quot;
+ FilterNames(3,0) = oUIKey.Classes.GetByName(&quot;sc345templ&quot;).DisplayName
+ Filternames(3,1) = &quot;*.vor&quot;
+ FilterNames(4,0) = oTypes.GetByName(&quot;calc8&quot;).UIName
+ Filternames(4,1) = &quot;*.ods&quot;
+ FilterNames(5,0) = oTypes.GetByName(&quot;calc8_template&quot;).UIName
+ Filternames(5,1) = &quot;*.ots&quot;
+ GetFileName(DialogModel.txtSource, Filternames())
+ Else
+ GetFolderName(DialogModel.txtSource)
+ End If
+ ToggleGoOnButton()
+End Sub
+
+
+Sub PreviousStep()
+ DialogModel.Step = 2
+ DialogModel.cmdGoOn.Label = sGOON
+ DialogModel.cmdCancel.Label = sCANCEL
+End Sub
+</script:module>
diff --git a/test/user-template/user/basic/Euro/Common.xba b/test/user-template/user/basic/Euro/Common.xba
new file mode 100644
index 000000000000..42a5c643dd22
--- /dev/null
+++ b/test/user-template/user/basic/Euro/Common.xba
@@ -0,0 +1,272 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Common" script:language="StarBasic"> REM ***** BASIC *****
+Public DialogModel as Object
+Public DialogConvert as Object
+Public DialogPassword as Object
+Public PasswordModel as Object
+
+Sub RetrieveDocumentObjects()
+ CurMimeType = Tools.GetDocumentType(oDocument)
+ If Instr(1, CurMimeType, &quot;calc&quot;) &lt;&gt; 0 Then
+ oSheets = oDocument.Sheets
+ oSheet = oDocument.Sheets.GetbyIndex(0)
+ oAddressRanges = oDocument.createInstance(&quot;com.sun.star.sheet.SheetCellRanges&quot;)
+ End If
+ &apos; Retrieve the indices for the cellformatations
+ oFormats = oDocument.NumberFormats
+End Sub
+
+
+Sub CancelTask()
+&apos; If Not DocDisposed Then
+&apos; ReprotectSheets()
+&apos; End If
+ If DialogModel.Step = 3 And (Not bCancelTask) Then
+ If Msgbox(sMsgCancelConversion, 36, sMsgCancelTitle) = 6 Then
+ bCancelTask = True
+ DialogConvert.EndExecute
+ Else
+ bCancelTask = False
+ End If
+ Else
+ DialogConvert.EndExecute()
+ End If
+End Sub
+
+
+Function ConvertDocument()
+ GoOn = True
+&apos; DocDisposed = True
+ InitializeProgressbar()
+ If Instr(1, CurMimeType, &quot;calc&quot;) &lt;&gt; 0 Then
+ bDocHasProtectedSheets = CheckSheetProtection(oSheets)
+ If bDocHasProtectedSheets Then
+ bDocHasProtectedSheets = UnprotectSheetsWithPassword(oSheets, bDoUnProtect)
+ End If
+ If Not bDocHasProtectedSheets Then
+ If Not bRangeListDefined Then
+ TotCellCount = 0
+ CreateRangeEnumeration(True)
+ Else
+ IncreaseStatusvalue(SBRelGet/3)
+ End If
+ RangeIndex = Ubound(RangeList())
+ If RangeIndex &gt; -1 Then
+ ConvertThehardWay(RangeList(), True, False)
+ MakeStyleEnumeration(True)
+ oDocument.calculateAll()
+ End If
+ ReprotectSheets()
+ bRangeListDefined = False
+ End If
+ Else
+ DialogModel.ProgressBar.ProgressValue = 10 &apos; oStatusline.SetValue(10)
+ ConvertTextFields()
+ DialogModel.ProgressBar.ProgressValue = 80 &apos; oStatusline.SetValue(80)
+ ConvertWriterTables()
+ End If
+ EndStatusLine()
+ On Local Error Goto 0
+End Function
+
+
+Sub SwitchNumberFormat(oObject as Object, oFormats as object)
+Dim nFormatLanguage as Integer
+Dim nFormatDecimals as Integer
+Dim nFormatLeading as Integer
+Dim bFormatLeading as Integer
+Dim bFormatNegRed as Integer
+Dim bFormatThousands as Integer
+Dim i as Integer
+Dim aNewStr as String
+Dim iNumberFormat as Long
+Dim AddToList as Boolean
+Dim sOldCurrSymbol as String
+ On Local Error Resume Next
+ iNumberFormat = oObject.NumberFormat
+ On Local Error GoTo NOKEY
+ aFormat() = oFormats.getByKey(iNumberFormat)
+ On Local Error GoTo 0
+ sOldCurrSymbol = aFormat.CurrencySymbol
+ If sOldCurrSymbol = CurrValue(CurrIndex,5) Then
+ aSimpleStr = &quot;0 [$EUR]&quot;
+ Else
+ aSimpleStr = &quot;0 [$&quot; &amp; sEuroSign &amp; aFormat.CurrencyExtension &amp; &quot;]&quot;
+ End If
+
+ nSimpleKey = Numberformat(oFormats, aSimpleStr, oLocale)
+ &apos; set new Currency format with according settings
+ nFormatDecimals = 2
+ nFormatLeading = aFormat.LeadingZeros
+ bFormatNegRed = aFormat.NegativeRed
+ bFormatThousands = aFormat.ThousandsSeparator
+ aNewStr = oFormats.generateFormat( nSimpleKey, aFormat.Locale, bFormatThousands, bFormatNegRed, nFormatDecimals, nFormatLeading)
+ oObject.NumberFormat = Numberformat(oFormats, aNewStr, aFormat.Locale)
+ NOKEY:
+ If Err &lt;&gt; 0 Then
+ Resume CLERROR
+ End If
+ CLERROR:
+End Sub
+
+
+Function Numberformat( oFormats as Object, aFormatStr as String, oLocale as Object)
+Dim nRetkey
+Dim l as String
+Dim c as String
+ nRetKey = oFormats.queryKey( aFormatStr, oLocale, True )
+ If nRetKey = -1 Then
+ l = oLocale.Language
+ c = oLocale.Country
+ nRetKey = oFormats.addNew( aFormatStr, oLocale )
+ If nRetKey = -1 Then nRetKey = 0
+ End If
+ Numberformat = nRetKey
+End Function
+
+
+Function CheckFormatType( FormatObject as object)
+Dim i as Integer
+Dim LocCurrIndex as Integer
+Dim nFormatFormatString as String
+Dim FormatLangID as Integer
+Dim sFormatCurrExt as String
+Dim oFormatofObject() as Object
+
+ &apos; Retrieve the Format of the Object
+ On Local Error GoTo NOKEY
+ oFormatofObject = oFormats.getByKey(FormatObject.NumberFormat)
+ On Local Error GoTo 0
+ If NOT INT(oFormatofObject.Type) AND com.sun.star.util.NumberFormat.CURRENCY Then
+ CheckFormatType = False
+ Exit Function
+ End If
+ If FieldinArray(CurrSymbolList(),2,oFormatofObject.CurrencySymbol) Then
+ &apos; If the Currencysymbol of the object ist the one needed, then check the Currency extension
+ sFormatCurrExt = oFormatofObject.CurrencyExtension
+
+ If FieldInList(CurExtension(),2,sFormatCurrExt) Then
+ &apos; The Currency - extension also fits
+ CheckFormatType = True
+ Else
+ &apos; The Currency - symbol is Euro-conforming (like &apos;DEM&apos;), so there is no Currency-Extension
+ CheckFormatType = oFormatofObject.CurrencySymbol = CurrsymbolList(2)
+ End If
+ Else
+ &apos; The Currency Symbol of the object is not the desired one
+ If oFormatofObject.CurrencySymbol = &quot;&quot; Then
+ &apos; Format is &quot;automatic&quot;
+ CheckFormatType = CheckLocale(oFormatofObject.Locale)
+ Else
+ CheckFormatType = False
+ End If
+ End If
+
+ NOKEY:
+ If Err &lt;&gt; 0 Then
+ CheckFormatType = False
+ Resume CLERROR
+ End If
+ CLERROR:
+End Function
+
+
+Sub StartConversion()
+ GoOn = True
+ Select Case DialogModel.Step
+ Case 1
+ If DialogModel.chkComplete.State = 1 Then
+ ConvertWholeDocument()
+ Else
+ ConvertRangesorStylesofDocument()
+ End If
+ Case 2
+ bCancelTask = False
+ If InitializeThirdStep() Then
+ ConvertDocuments()
+ bCancelTask = True
+ End If
+ Case 3
+ DialogConvert.EndExecute()
+ End Select
+End Sub
+
+
+Sub IncreaseStatusValue(AddStatusValue as Integer)
+ StatusValue = Int(StatusValue + AddStatusValue)
+ If DialogModel.Step = 3 Then
+ DialogModel.ProgressBar.ProgressValue = StatusValue
+ Else
+ oStatusline.SetValue(StatusValue)
+ End If
+End Sub
+
+
+Sub SelectCurrency()
+Dim AddtoList as Boolean
+Dim NullList()
+Dim OldCurrIndex as Integer
+ bRangeListDefined = False
+ OldCurrIndex = CurrIndex
+ CurrIndex = DialogModel.lstCurrencies.SelectedItems(0)
+ If OldCurrIndex &lt;&gt; CurrIndex Then
+ InitializeCurrencyValues(CurrIndex)
+ CurExtension(0) = LangIDValue(CurrIndex,0,2)
+ CurExtension(1) = LangIDValue(CurrIndex,1,2)
+ CurExtension(2) = LangIDValue(CurrIndex,2,2)
+ If DialogModel.Step = 1 Then
+ EnableStep1DialogControls(False,False, False)
+ If DialogModel.optCellTemplates.State = 1 Then
+ EnableStep1DialogControls(False, False, False)
+ CreateStyleEnumeration()
+ ElseIf ((DialogModel.optSheetRanges.State = 1) OR (DialogModel.optDocRanges.State = 1)) AND (DialogModel.Step = 1) Then
+ CreateRangeEnumeration(False)
+ If Ubound(RangeList()) = -1 Then
+ DialogModel.lstSelection.StringItemList() = NullList()
+ End If
+ ElseIf DialogModel.optSelRange.State= 1 Then
+ &apos;Preselected Range
+ End If
+ EnableStep1DialogControls(True, True, True)
+ ElseIf DialogModel.Step = 2 Then
+ EnableStep2DialogControls(True)
+ End If
+ End If
+End Sub
+
+
+Sub FillUpCurrencyListbox()
+Dim i as Integer
+Dim MaxIndex as Integer
+ MaxIndex = Ubound(CurrValue(),1)
+ Dim LocList(MaxIndex) as String
+ For i = 0 To MaxIndex
+ LocList(i) = CurrValue(i,0)
+ Next i
+ DialogModel.lstCurrencies.StringItemList() = LocList()
+ If CurrIndex &gt; -1 Then
+ SelectListboxItem(DialogModel.lstCurrencies, CurrIndex)
+ End If
+End Sub
+
+
+Sub InitializeProgressbar()
+ CurCellCount = 0
+ If Not IsNull(oStatusLine) Then
+ oStatusline.Start(sStsPROGRESS, 100)
+ Else
+ DialogModel.ProgressBar.ProgressValue = 0
+ End If
+ StatusValue = 0
+End Sub
+
+
+Sub EndStatusLine()
+ If Not IsNull(oStatusLine) Then
+ oStatusline.End
+ Else
+ DialogModel.ProgressBar.ProgressValue = 100
+ End If
+End Sub
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Euro/ConvertRun.xba b/test/user-template/user/basic/Euro/ConvertRun.xba
new file mode 100644
index 000000000000..a15c88412228
--- /dev/null
+++ b/test/user-template/user/basic/Euro/ConvertRun.xba
@@ -0,0 +1,317 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ConvertRun" script:language="StarBasic">Option Explicit
+
+Public oPreSelRange as Object
+
+Sub Main()
+ BasicLibraries.LoadLibrary(&quot;Tools&quot;)
+ If InitResources(&quot;Euro Converter&quot;, &quot;eur&quot;) Then
+ bDoUnProtect = False
+ bPreSelected = True
+ oDocument = ThisComponent
+ RetrieveDocumentObjects() &apos; Statusline, SheetsCollection etc.
+ InitializeConverter(oDocument.CharLocale, 1)
+ GetPreSelectedRange()
+ If GoOn Then
+ DialogModel.lstCurrencies.TabIndex = 2
+ DialogConvert.GetControl(&quot;chkComplete&quot;).SetFocus()
+ DialogConvert.Execute
+ End If
+ DialogConvert.Dispose
+ End If
+End Sub
+
+
+Sub SelectListItem()
+Dim Listbox as Object
+Dim oListSheet as Object
+Dim CurStyleName as String
+Dim oCursheet as Object
+Dim oTempRanges as Object
+Dim sCurSheetName as String
+Dim RangeName as String
+Dim oSheetRanges as Object
+Dim ListIndex as Integer
+Dim a as Integer
+Dim i as Integer
+Dim n as Integer
+Dim m as Integer
+Dim MaxIndex as Integer
+ Listbox = DialogModel.lstSelection
+ If Ubound(Listbox.SelectedItems()) &gt; -1 Then
+ EnableStep1DialogControls(False, False, False)
+ oSelRanges = oDocument.createInstance(&quot;com.sun.star.sheet.SheetCellRanges&quot;)
+
+ &apos; Is the sheet the basis, then the sheetobject has to be created
+ If DialogModel.optDocRanges.State = 1 Then
+ &apos; Document is the basis for the conversion
+ ListIndex = Listbox.SelectedItems(0)
+ oCurSheet = RetrieveSheetoutofRangeName(Listbox.StringItemList(ListIndex))
+ oDocument.CurrentController.SetActiveSheet(oCurSheet)
+ Else
+ oCurSheet = oDocument.CurrentController.ActiveSheet
+ End If
+ sCurSheetName = oCurSheet.Name
+ If DialogModel.optCellTemplates.State = 1 Then
+ Dim CurIndex as Integer
+ For i = 0 To Ubound(Listbox.SelectedItems())
+ CurIndex = Listbox.SelectedItems(i)
+ CurStylename = Listbox.StringItemList(CurIndex)
+ oSheetRanges = oCursheet.CellFormatRanges.createEnumeration
+ While oSheetRanges.hasMoreElements
+ oRange = oSheetRanges.NextElement
+ If oRange.getPropertyState(&quot;NumberFormat&quot;) = 1 Then
+ If oRange.CellStyle = CurStyleName Then
+ oSelRanges.InsertbyName(&quot;&quot;,oRange)
+ End If
+ End If
+ Wend
+ Next i
+ Else
+ &apos; Hard Formatation is selected
+ a = -1
+ For n = 0 To Ubound(Listbox.SelectedItems())
+ m = Listbox.SelectedItems(n)
+ RangeName = Listbox.StringItemList(m)
+ oListSheet = RetrieveSheetoutofRangeName(RangeName)
+ a = a + 1
+ MaxIndex = Ubound(SelRangeList())
+ If a &gt; MaxIndex Then
+ Redim Preserve SelRangeList(MaxIndex + SBRANGEUBOUND)
+ End If
+ SelRangeList(a) = RangeName
+ If oListSheet.Name = sCurSheetName Then
+ oRange = RetrieveRangeoutofRangeName(RangeName)
+ oSelRanges.InsertbyName(&quot;&quot;,oRange)
+ End If
+ Next n
+ End If
+ If a &gt; -1 Then
+ ReDim Preserve SelRangeList(a)
+ Else
+ ReDim SelRangeList()
+ End If
+ oDocument.CurrentController.Select(oSelRanges)
+ EnableStep1DialogControls(True, True, True)
+ End If
+End Sub
+
+
+&apos; Procedure that is called by an event
+Sub RetrieveEnableValue()
+Dim EnableValue as Boolean
+ EnableValue = Not DialogModel.lstSelection.Enabled
+ EnableStep1DialogControls(True, EnableValue, True)
+End Sub
+
+
+Sub EnableStep1DialogControls(bCurrEnabled as Boolean, bFrameEnabled as Boolean, bButtonsEnabled as Boolean)
+Dim bCurrIsSelected as Boolean
+Dim bObjectIsSelected as Boolean
+Dim bConvertWholeDoc as Boolean
+Dim bDoEnableFrame as Boolean
+ bConvertWholeDoc = DialogModel.chkComplete.State = 1
+ bDoEnableFrame = bFrameEnabled And (NOT bConvertWholeDoc)
+
+ &apos; Controls around the Selection Listbox
+ With DialogModel
+ .lblCurrencies.Enabled = bCurrEnabled
+ .lstCurrencies.Enabled = bCurrEnabled
+ .lstSelection.Enabled = bDoEnableFrame
+ .lblSelection.Enabled = bDoEnableFrame
+ .hlnSelection.Enabled = bDoEnableFrame
+ .optCellTemplates.Enabled = bDoEnableFrame
+ .optSheetRanges.Enabled = bDoEnableFrame
+ .optDocRanges.Enabled = bDoEnableFrame
+ .optSelRange.Enabled = bDoEnableFrame
+ End With
+ &apos; The CheckBox has the Value &apos;1&apos; when the Controls in the Frame are disabled
+ If bButtonsEnabled Then
+ bCurrIsSelected = Ubound(DialogModel.lstCurrencies.SelectedItems()) &lt;&gt; -1
+ &apos; Enable GoOnButton only when Currency is selected
+ DialogModel.cmdGoOn.Enabled = bCurrIsSelected
+ DialogModel.chkComplete.Enabled = bCurrIsSelected
+ If bDoEnableFrame AND DialogModel.cmdGoOn.Enabled Then
+ &apos; If FrameControls are enabled, check if Listbox is Empty
+ bObjectIsSelected = Ubound(DialogModel.lstSelection.SelectedItems()) &lt;&gt; -1
+ DialogModel.cmdGoOn.Enabled = bObjectIsSelected
+ End If
+ Else
+ DialogModel.cmdGoOn.Enabled = False
+ DialogModel.chkComplete.Enabled = False
+ End If
+End Sub
+
+
+Sub ConvertRangesOrStylesOfDocument()
+Dim i as Integer
+Dim ItemName as String
+Dim SelList() as String
+Dim oSheetRanges as Object
+
+ bDocHasProtectedSheets = CheckSheetProtection(oSheets)
+ If bDocHasProtectedSheets Then
+ bDocHasProtectedSheets = UnprotectSheetsWithPassWord(oSheets, bDoUnProtect)
+ DialogModel.cmdGoOn.Enabled = False
+ End If
+ If Not bDocHasProtectedSheets Then
+ EnableStep1DialogControls(False, False, False)
+ InitializeProgressBar()
+ If DialogModel.optSelRange.State = 1 Then
+ SelectListItem()
+ End If
+ SelList() = DialogConvert.GetControl(&quot;lstSelection&quot;).SelectedItems()
+ If DialogModel.optCellTemplates.State = 1 Then
+ &apos; Option &apos;Soft&apos; Formatation is selected
+ AssignRangestoStyle(DialogModel.lstSelection.StringItemList(), SelList())
+ ConverttheSoftWay(SelList(), True)
+ ElseIf DialogModel.optSelRange.State = 1 Then
+ oSheetRanges = oPreSelRange.CellFormatRanges.createEnumeration
+ While oSheetRanges.hasMoreElements
+ oRange = oSheetRanges.NextElement
+ If CheckFormatType(oRange) Then
+ ConvertCellCurrencies(oRange)
+ SwitchNumberFormat(oRange, oFormats, sEuroSign)
+ End If
+ Wend
+ Else
+ ConverttheHardWay(SelList(), False, True)
+ End If
+ oStatusline.End
+ EnableStep1DialogControls(True, False, True)
+ DialogModel.cmdGoOn.Enabled = True
+ oDocument.CurrentController.Select(oSelRanges)
+ End If
+End Sub
+
+
+Sub ConvertWholeDocument()
+Dim s as Integer
+ DialogModel.cmdGoOn.Enabled = False
+ DialogModel.chkComplete.Enabled = False
+ GoOn = ConvertDocument()
+ EmptyListbox(DialogModel.lstSelection())
+ EnableStep1DialogControls(True, True, True)
+End Sub
+
+
+&apos; Everything previously selected will be deselected
+Sub EmptySelection()
+Dim RangeName as String
+Dim i as Integer
+Dim MaxIndex as Integer
+Dim EmptySelRangeList() as String
+
+ If Not IsNull(oSelRanges) Then
+ If oSelRanges.HasElements Then
+ EmptySelRangeList() = ArrayOutofString(oSelRanges.RangeAddressesasString, &quot;;&quot;, MaxIndex)
+ For i = 0 To MaxIndex
+ oSelRanges.RemovebyName(EmptySelRangeList(i))
+ Next i
+ End If
+ oDocument.CurrentController.Select(oSelRanges)
+ Else
+ oSelRanges = oDocument.createInstance(&quot;com.sun.star.sheet.SheetCellRanges&quot;)
+ End If
+End Sub
+
+
+Function AddSelectedRangeToSelRangesEnum() as Object
+Dim oLocRange as Object
+ osheet = oDocument.CurrentController.GetActiveSheet
+ oSelRanges = oDocument.createInstance(&quot;com.sun.star.sheet.SheetCellRanges&quot;)
+ &apos; Check if a Currency-Range has been selected
+ oLocRange = oDocument.CurrentController.Selection
+ bPreSelected = oLocRange.SupportsService(&quot;com.sun.star.sheet.SheetCellRange&quot;)
+ If bPreSelected Then
+ oSelRanges.InsertbyName(&quot;&quot;,oLocRange)
+ AddSelectedRangeToSelRangesEnum() = oLocRange
+ End If
+End Function
+
+
+Sub GetPreSelectedRange()
+Dim i as Integer
+Dim OldCurrSymbolList(2) as String
+Dim OldCurrIndex as Integer
+Dim OldCurExtension(2) as String
+ oPreSelRange = AddSelectedRangeToSelRangesEnum()
+
+ DialogModel.chkComplete.State = Abs(Not(bPreSelected))
+ If bPreSelected Then
+ DialogModel.optSelRange.State = 1
+ AddRangeToListbox(oPreSelRange)
+ Else
+ DialogModel.optCellTemplates.State = 1
+ CreateStyleEnumeration()
+ End If
+ EnableStep1DialogControls(True, bPreSelected, True)
+ DialogModel.optSelRange.Enabled = bPreSelected
+End Sub
+
+
+Sub AddRangeToListbox(oLocRange as Object)
+ EmptyListBox(DialogModel.lstSelection)
+ PreName = RetrieveRangeNamefromAddress(oLocRange)
+ AddSingleItemToListbox(DialogModel.lstSelection, Prename)&apos;, 0)
+ SelectListboxItem(DialogModel.lstCurrencies, CurrIndex)
+ TotCellCount = CountRangeCells(oLocRange)
+End Sub
+
+
+Sub CheckRangeSelection(Optional oEvent)
+ EmptySelection()
+ AddRangeToListbox(oPreSelRange)
+ oPreSelRange = AddSelectedRangeToSelRangesEnum()
+End Sub
+
+
+&apos; Checks if a Field (LocField) is already defined in an Array
+&apos; Returns &apos;True&apos; or &apos;False&apos;
+Function FieldinList(LocList(), MaxIndex as integer, ByVal LocField ) As Boolean
+Dim i as integer
+ LocField = Ucase(LocField)
+ For i = Lbound(LocList()) to MaxIndex
+ If Ucase(LocList(i)) = LocField then
+ FieldInList = True
+ Exit Function
+ End if
+ Next
+ FieldInList = False
+End Function
+
+
+Function CheckLocale(oLocale) as Boolean
+Dim i as Integer
+Dim LocCountry as String
+Dim LocLanguage as String
+ LocCountry = oLocale.Country
+ LocLanguage = oLocale.Language
+ For i = 0 To 1
+ If LocLanguage = LangIDValue(CurrIndex,i,0) AND LocCountry = LangIDValue(CurrIndex,i,1) Then
+ CheckLocale = True
+ Exit Function
+ End If
+ Next i
+ CheckLocale = False
+End Function
+
+
+Sub SetOptionValuestoNull()
+ With DialogModel
+ .optCellTemplates.State = 0
+ .optSheetRanges.State = 0
+ .optDocRanges.State = 0
+ .optSelRange.State = 0
+ End With
+End Sub
+
+
+
+Sub SetStatusLineText(sStsREPROTECT as String)
+ If Not IsNull(oStatusLine) Then
+ oStatusline.SetText(sStsREPROTECT)
+ End If
+End Sub
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Euro/DlgConvert.xdl b/test/user-template/user/basic/Euro/DlgConvert.xdl
new file mode 100644
index 000000000000..18f3caef0454
--- /dev/null
+++ b/test/user-template/user/basic/Euro/DlgConvert.xdl
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE dlg:window PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "dialog.dtd">
+<dlg:window xmlns:dlg="http://openoffice.org/2000/dialog" xmlns:script="http://openoffice.org/2000/script" dlg:id="DialogConvert" dlg:left="96" dlg:top="28" dlg:width="270" dlg:height="210" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_DIALOG" dlg:closeable="true" dlg:moveable="true">
+ <dlg:bulletinboard>
+ <dlg:text dlg:id="lblCurrencies" dlg:tab-index="1" dlg:left="170" dlg:top="39" dlg:width="89" dlg:height="8" dlg:value="lblCurrencies"/>
+ <dlg:checkbox dlg:id="chkComplete" dlg:tab-index="0" dlg:left="12" dlg:top="43" dlg:width="129" dlg:height="10" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_CHECKBOX1" dlg:value="chkComplete" dlg:checked="true">
+ <script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:Euro.ConvertRun.RetrieveEnableValue?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:checkbox>
+ <dlg:menulist dlg:id="lstCurrencies" dlg:tab-index="2" dlg:left="170" dlg:top="51" dlg:width="90" dlg:height="12" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_COMBOBOX1" dlg:spin="true" dlg:linecount="12">
+ <script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:Euro.Common.SelectCurrency?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:menulist>
+ <dlg:radiogroup>
+ <dlg:radio dlg:id="optCellTemplates" dlg:tab-index="3" dlg:left="12" dlg:top="96" dlg:width="129" dlg:height="10" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_OPTIONBUTTON1" dlg:value="optCellTemplates">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Euro.Soft.CreateStyleEnumeration?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:radio>
+ <dlg:radio dlg:id="optSheetRanges" dlg:tab-index="4" dlg:left="12" dlg:top="110" dlg:width="130" dlg:height="10" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_OPTIONBUTTON2" dlg:value="optSheetRanges">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Euro.Hard.CreateRangeList?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:radio>
+ <dlg:radio dlg:id="optDocRanges" dlg:tab-index="5" dlg:left="12" dlg:top="124" dlg:width="130" dlg:height="10" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_OPTIONBUTTON3" dlg:value="optDocRanges">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Euro.Hard.CreateRangeList?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:radio>
+ <dlg:radio dlg:id="optSelRange" dlg:tab-index="6" dlg:left="12" dlg:top="138" dlg:width="130" dlg:height="10" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_OPTIONBUTTON4" dlg:value="optSelRange">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Euro.ConvertRun.CheckRangeSelection?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:radio>
+ </dlg:radiogroup>
+ <dlg:text dlg:id="lblSelection" dlg:tab-index="7" dlg:left="170" dlg:top="84" dlg:width="73" dlg:height="8" dlg:page="1" dlg:value="lblSelection"/>
+ <dlg:menulist dlg:id="lstSelection" dlg:tab-index="8" dlg:left="170" dlg:top="96" dlg:width="90" dlg:height="52" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_LISTBOX1" dlg:multiselection="true">
+ <script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:Euro.ConvertRun.SelectListItem?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:menulist>
+ <dlg:radiogroup>
+ <dlg:radio dlg:id="optSingleFile" dlg:tab-index="9" dlg:left="12" dlg:top="51" dlg:width="146" dlg:height="10" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_OBFILE" dlg:value="optSingleFile">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Euro.AutoPilotRun.SwapExtent?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:radio>
+ <dlg:radio dlg:id="optWholeDir" dlg:tab-index="10" dlg:left="12" dlg:top="65" dlg:width="146" dlg:height="10" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_OBDIR" dlg:value="optWholeDir" dlg:checked="true">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Euro.AutoPilotRun.SwapExtent?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:radio>
+ </dlg:radiogroup>
+ <dlg:textfield dlg:id="txtConfig" dlg:tab-index="11" dlg:left="6" dlg:top="50" dlg:width="258" dlg:height="55" dlg:page="3" dlg:vscroll="true" dlg:multiline="true" dlg:readonly="true"/>
+ <dlg:textfield dlg:id="txtSource" dlg:tab-index="12" dlg:left="80" dlg:top="82" dlg:width="165" dlg:height="12" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_TBSOURCE">
+ <script:event script:event-name="on-textchange" script:macro-name="vnd.sun.star.script:Euro.AutoPilotRun.ToggleGoOnButton?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:textfield>
+ <dlg:button dlg:id="cmdCallSourceDialog" dlg:tab-index="13" dlg:left="249" dlg:top="81" dlg:width="15" dlg:height="14" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_CBSOURCEOPEN" dlg:value="...">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Euro.AutoPilotRun.CallFilePicker?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:checkbox dlg:id="chkRecursive" dlg:tab-index="14" dlg:left="12" dlg:top="98" dlg:width="252" dlg:height="10" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_CHECKRECURSIVE" dlg:value="chkRecursive" dlg:checked="false"/>
+ <dlg:checkbox dlg:id="chkTextDocuments" dlg:tab-index="15" dlg:left="12" dlg:top="112" dlg:width="251" dlg:height="10" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_CHKTEXTDOCUMENTS" dlg:value="chkTextDocuments" dlg:checked="false"/>
+ <dlg:checkbox dlg:id="chkProtect" dlg:tab-index="16" dlg:left="12" dlg:top="126" dlg:width="251" dlg:height="10" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_CHKPROTECT" dlg:value="chkProtect" dlg:checked="false"/>
+ <dlg:textfield dlg:id="txtTarget" dlg:tab-index="17" dlg:left="80" dlg:top="143" dlg:width="165" dlg:height="12" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_TBTARGET"/>
+ <dlg:button dlg:id="cmdCallTargetDialog" dlg:tab-index="18" dlg:left="249" dlg:top="142" dlg:width="15" dlg:height="14" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_CBTARGETOPEN" dlg:value="...">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Euro.AutoPilotRun.CallFolderPicker?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:progressmeter dlg:id="ProgressBar" dlg:tab-index="19" dlg:left="85" dlg:top="152" dlg:width="179" dlg:height="10" dlg:page="3"/>
+ <dlg:text dlg:id="lblHint" dlg:tab-index="20" dlg:left="6" dlg:top="166" dlg:width="258" dlg:height="20" dlg:value="lblHint" dlg:multiline="true"/>
+ <dlg:text dlg:id="lblTarget" dlg:tab-index="21" dlg:left="6" dlg:top="145" dlg:width="73" dlg:height="8" dlg:page="2" dlg:value="lblTarget"/>
+ <dlg:text dlg:id="lblSource" dlg:tab-index="22" dlg:left="6" dlg:top="84" dlg:width="73" dlg:height="8" dlg:page="2" dlg:value="lblSource"/>
+ <dlg:text dlg:id="lblCurProgress" dlg:tab-index="23" dlg:left="16" dlg:top="130" dlg:width="208" dlg:height="8" dlg:page="3"/>
+ <dlg:text dlg:id="lblRetrieval" dlg:tab-index="24" dlg:left="9" dlg:top="119" dlg:width="216" dlg:height="8" dlg:page="3" dlg:value="lblRetrieval"/>
+ <dlg:text dlg:id="lblConfig" dlg:tab-index="25" dlg:left="6" dlg:top="39" dlg:width="94" dlg:height="8" dlg:page="3" dlg:value="lblConfig"/>
+ <dlg:text dlg:id="lblCurDocument" dlg:tab-index="26" dlg:left="16" dlg:top="141" dlg:width="208" dlg:height="8" dlg:page="3"/>
+ <dlg:img dlg:id="imgPreview" dlg:tab-index="27" dlg:left="6" dlg:top="6" dlg:width="258" dlg:height="26" dlg:src="file:///D:/office630np/share/template/german/wizard/bitmap/euro_2.bmp"/>
+ <dlg:fixedline dlg:id="hlnSelection" dlg:tab-index="28" dlg:left="7" dlg:top="72" dlg:width="258" dlg:height="8" dlg:page="1" dlg:value="hlnSelection"/>
+ <dlg:fixedline dlg:id="hlnExtent" dlg:tab-index="29" dlg:left="6" dlg:top="39" dlg:width="156" dlg:height="8" dlg:page="2" dlg:value="hlnExtent"/>
+ <dlg:fixedline dlg:id="hlnProgress" dlg:tab-index="30" dlg:left="6" dlg:top="108" dlg:width="258" dlg:height="8" dlg:page="3" dlg:value="hlnProgress"/>
+ <dlg:fixedline dlg:id="FixedLine1" dlg:tab-index="31" dlg:left="6" dlg:top="152" dlg:width="258" dlg:height="9" dlg:page="1"/>
+ <dlg:text dlg:id="lblProgress" dlg:tab-index="32" dlg:left="6" dlg:top="153" dlg:width="79" dlg:height="8" dlg:page="3" dlg:value="lblProgress"/>
+ <dlg:button dlg:id="cmdCancel" dlg:tab-index="33" dlg:left="6" dlg:top="190" dlg:width="53" dlg:height="14" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_CBCANCEL" dlg:value="cmdCancel">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Euro.Common.CancelTask?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="cmdHelp" dlg:tab-index="34" dlg:left="63" dlg:top="190" dlg:width="53" dlg:height="14" dlg:value="cmdHelp" dlg:button-type="help"/>
+ <dlg:button dlg:id="cmdBack" dlg:tab-index="35" dlg:left="155" dlg:top="190" dlg:width="53" dlg:height="14" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_CBBACK" dlg:value="cmdBack">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Euro.AutoPilotRun.PreviousStep?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="cmdGoOn" dlg:tab-index="36" dlg:left="211" dlg:top="190" dlg:width="53" dlg:height="14" dlg:help-url="HID:WIZARDS_HID_DLGCONVERT_CBGOON" dlg:value="cmdGoOn">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Euro.Common.StartConversion?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ </dlg:bulletinboard>
+</dlg:window> \ No newline at end of file
diff --git a/test/user-template/user/basic/Euro/DlgPassword.xdl b/test/user-template/user/basic/Euro/DlgPassword.xdl
new file mode 100644
index 000000000000..976891a48d71
--- /dev/null
+++ b/test/user-template/user/basic/Euro/DlgPassword.xdl
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE dlg:window PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "dialog.dtd">
+<dlg:window xmlns:dlg="http://openoffice.org/2000/dialog" xmlns:script="http://openoffice.org/2000/script" dlg:id="DlgPassword" dlg:left="77" dlg:top="93" dlg:width="310" dlg:height="65" dlg:closeable="true" dlg:moveable="true" dlg:title="DlgPassword">
+ <dlg:bulletinboard>
+ <dlg:button dlg:id="cmdGoOn" dlg:tab-index="0" dlg:left="251" dlg:top="6" dlg:width="53" dlg:height="14" dlg:help-url="HID:WIZARDS_HID_DLGPASSWORD_CMDGOON" dlg:value="cmdGoOn">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Euro.Protect.ReadPassword?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="cmdCancel" dlg:tab-index="1" dlg:left="251" dlg:top="24" dlg:width="53" dlg:height="14" dlg:help-url="HID:WIZARDS_HID_DLGPASSWORD_CMDCANCEL" dlg:value="cmdCancel">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Euro.Protect.RejectPassword?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="cmdHelp" dlg:tab-index="2" dlg:left="251" dlg:top="45" dlg:width="53" dlg:height="14" dlg:tag="34692" dlg:value="cmdHelp" dlg:button-type="help"/>
+ <dlg:textfield dlg:id="txtPassword" dlg:tab-index="3" dlg:left="11" dlg:top="18" dlg:width="232" dlg:height="12" dlg:help-url="HID:WIZARDS_HID_DLGPASSWORD_TXTPASSWORD" dlg:echochar="*"/>
+ <dlg:fixedline dlg:id="hlnPassword" dlg:tab-index="4" dlg:left="6" dlg:top="6" dlg:width="238" dlg:height="8" dlg:value="hlnPassword"/>
+ </dlg:bulletinboard>
+</dlg:window> \ No newline at end of file
diff --git a/test/user-template/user/basic/Euro/Hard.xba b/test/user-template/user/basic/Euro/Hard.xba
new file mode 100644
index 000000000000..c500946bd9d5
--- /dev/null
+++ b/test/user-template/user/basic/Euro/Hard.xba
@@ -0,0 +1,229 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Hard" script:language="StarBasic">REM ***** BASIC *****
+Option Explicit
+
+
+Sub CreateRangeList()
+Dim MaxIndex as Integer
+ MaxIndex = -1
+ EnableStep1DialogControls(False, False, False)
+ EmptySelection()
+ DialogModel.lblSelection.Label = sCURRRANGES
+ EmptyListbox(DialogModel.lstSelection)
+ oDocument.CurrentController.Select(oSelRanges)
+ If (DialogModel.optSheetRanges.State = 1) AND (DialogModel.chkComplete.State &lt;&gt; 1) Then
+ &apos; Conversion on a sheet?
+ SetStatusLineText(sStsRELRANGES)
+ osheet = oDocument.CurrentController.GetActiveSheet
+ oRanges = osheet.CellFormatRanges.createEnumeration()
+ MaxIndex = AddSheetRanges(oRanges, MaxIndex, oSheet, False)
+ If MaxIndex &gt; -1 Then
+ ReDim Preserve RangeList(MaxIndex)
+ End If
+ Else
+ CreateRangeEnumeration(False)
+ bRangeListDefined = True
+ End If
+ EnableStep1DialogControls(True, True, True)
+ SetStatusLineText(&quot;&quot;)
+End Sub
+
+
+Sub CreateRangeEnumeration(bAutopilot as Boolean)
+Dim i as Integer
+Dim MaxIndex as integer
+Dim sStatustext as String
+ MaxIndex = -1
+ If Not bRangeListDefined Then
+ &apos; Cellranges are not yet defined
+ oSheets = oDocument.Sheets
+ For i = 0 To oSheets.Count-1
+ oSheet = oSheets.GetbyIndex(i)
+ If bAutopilot Then
+ IncreaseStatusValue(SBRELGET/osheets.Count)
+ Else
+ sStatustext = ReplaceString(sStsRELSHEETRANGES,Str(i+1),&quot;%1Number%1&quot;)
+ sStatustext = ReplaceString(sStatusText,oSheets.Count,&quot;%2TotPageCount%2&quot;)
+ SetStatusLineText(sStatusText)
+ End If
+ oRanges = osheet.CellFormatRanges.createEnumeration
+ MaxIndex = AddSheetRanges(oRanges, MaxIndex, oSheet, bAutopilot)
+ Next i
+ Else
+ If Not bAutoPilot Then
+ SetStatusLineText(sStsRELRANGES)
+ &apos; cellranges already defined
+ For i = 0 To Ubound(RangeList())
+ If RangeList(i) &lt;&gt; &quot;&quot; Then
+ AddSingleItemToListBox(DialogModel.lstSelection, RangeList(i))
+ End If
+ Next
+ End If
+ End If
+ If MaxIndex &gt; -1 Then
+ ReDim Preserve RangeList(MaxIndex)
+ Else
+ ReDim RangeList()
+ End If
+ Rangeindex = MaxIndex
+End Sub
+
+
+Function AddSheetRanges(oRanges as Object, r as Integer, oSheet as Object, bAutopilot)
+Dim RangeName as String
+Dim AddtoList as Boolean
+Dim iCurStep as Integer
+Dim MaxIndex as Integer
+ iCurStep = DialogModel.Step
+ While oRanges.hasMoreElements
+ oRange = oRanges.NextElement
+ AddToList = CheckFormatType(oRange)
+ If AddToList Then
+ RangeName = RetrieveRangeNamefromAddress(oRange)
+ TotCellCount = TotCellCount + CountRangeCells(oRange)
+ If Not bAutoPilot Then
+ AddSingleItemToListbox(DialogModel.lstSelection, RangeName)
+ End If
+ &apos; The Ranges are only passed to an Array when the whole Document is the basis
+ &apos; Redimension the RangeList Array if necessary
+ MaxIndex = Ubound(RangeList())
+ r = r + 1
+ If r &gt; MaxIndex Then
+ MaxIndex = MaxIndex + SBRANGEUBOUND
+ ReDim Preserve RangeList(MaxIndex)
+ End If
+ RangeList(r) = RangeName
+ End If
+ Wend
+ AddSheetRanges = r
+End Function
+
+
+&apos; adds a section to the collection
+Sub SelectRange()
+Dim i as Integer
+Dim RangeName as String
+Dim SelItem as String
+Dim CurRange as String
+Dim SheetRangeName as String
+Dim DescriptionList() as String
+Dim MaxRangeIndex as Integer
+Dim StatusValue as Integer
+ StatusValue = 0
+ MaxRangeIndex = Ubound(SelRangeList())
+ CurSheetName = oSheet.Name
+ For i = 0 To MaxRangeIndex
+ SelItem = SelRangeList(i)
+ &apos; Is the Range already included in the collection?
+ oRange = RetrieveRangeoutOfRangename(SelItem)
+ TotCellCount = TotCellCount + CountRangeCells(oRange)
+ DescriptionList() = ArrayOutofString(SelItem,&quot;.&quot;,1)
+ SheetRangeName = DeleteStr(DescriptionList(0),&quot;&apos;&quot;)
+ If SheetRangeName = CurSheetName Then
+ oSelRanges.InsertbyName(&quot;&quot;,oRange)
+ End If
+ IncreaseStatusValue(SBRELGET/MaxRangeIndex)
+ Next i
+End Sub
+
+
+Sub ConvertThehardWay(ListboxList(), SwitchFormat as Boolean, bRemove as Boolean)
+Dim i as Integer
+Dim AddCells as Long
+Dim OldStatusValue as Single
+Dim RangeName as String
+Dim LastIndex as Integer
+Dim oSelListbox as Object
+
+ oSelListbox = DialogConvert.GetControl(&quot;lstSelection&quot;)
+ Lastindex = Ubound(ListboxList())
+ If TotCellCount &gt; 0 Then
+ OldStatusValue = StatusValue
+ &apos; hard format
+ For i = 0 To LastIndex
+ RangeName = ListboxList(i)
+ oRange = RetrieveRangeoutofRangeName(RangeName)
+ ConvertCellCurrencies(oRange)
+ If bRemove Then
+ If oSelRanges.HasbyName(RangeName) Then
+ oSelRanges.RemovebyName(RangeName)
+ oDocument.CurrentController.Select(oSelRanges)
+ End If
+ End If
+ If SwitchFormat Then
+ If oRange.getPropertyState(&quot;NumberFormat&quot;) &lt;&gt; 1 Then
+ &apos; Range is hard formatted
+ SwitchNumberFormat(oRange, oFormats, sEuroSign)
+ End If
+ Else
+ SwitchNumberFormat(oRange, oFormats, sEuroSign)
+ End If
+ AddCells = CountRangeCells(oRange)
+ CurCellCount = AddCells
+ IncreaseStatusValue((CurCellCount/TotCellCount)*(100-OldStatusValue))
+ If bRemove Then
+ RemoveListBoxItemByName(oSelListbox.Model,Rangename)
+ End If
+ Next
+ End If
+End Sub
+
+
+Sub ConvertCellCurrencies(oRange as Object)
+Dim oValues as Object
+Dim oCells as Object
+Dim oCell as Object
+ oValues = oRange.queryContentCells(com.sun.star.sheet.CellFlags.VALUE)
+ If (oValues.Count &gt; 0) Then
+ oCells = oValues.Cells.createEnumeration
+ While oCells.hasMoreElements
+ oCell = oCells.nextElement
+ ModifyObjectValuewithCurrFactor(oCell)
+ Wend
+ End If
+End Sub
+
+
+Sub ModifyObjectValuewithCurrFactor(oDocObject as Object)
+Dim oDocObjectValue as double
+ oDocObjectValue = oDocObject.Value
+ oDocObject.Value = Round(oDocObjectValue/CurrFactor, 2)
+End Sub
+
+
+Function CheckIfRangeisCurrency(FormatObject as Object)
+Dim oFormatofObject() as Object
+ &apos; Retrieve the Format of the Object
+ On Local Error GoTo NOKEY
+ oFormatofObject() = oFormats.getByKey(FormatObject.NumberFormat)
+ On Local Error GoTo 0
+ CheckIfRangeIsCurrency = INT(oFormatofObject.Type) AND com.sun.star.util.NumberFormat.CURRENCY
+ Exit Function
+NOKEY:
+ CheckIfRangeisCurrency = False
+ Resume CLERROR
+ CLERROR:
+End Function
+
+
+Function CountColumnsForRow(IndexArray() as String, Row as Integer)
+Dim i as Integer
+Dim NoNulls as Boolean
+ For i = 1 To Ubound(IndexArray,2)
+ If IndexArray(Row,i)= &quot;&quot; Then
+ NoNulls = False
+ Exit For
+ End If
+ Next
+ CountColumnsForRow = i
+End Function
+
+
+Function CountRangeCells(oRange as Object) As Long
+Dim oRangeAddress as Object
+Dim LocCellCount as Long
+ oRangeAddress = oRange.RangeAddress
+ LocCellCount = (oRangeAddress.EndColumn - oRangeAddress.StartColumn + 1) * (oRangeAddress.EndRow - oRangeAddress.StartRow + 1)
+ CountRangeCells = LocCellCount
+End Function</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Euro/Init.xba b/test/user-template/user/basic/Euro/Init.xba
new file mode 100644
index 000000000000..9cd6710c67bc
--- /dev/null
+++ b/test/user-template/user/basic/Euro/Init.xba
@@ -0,0 +1,620 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Init" script:language="StarBasic">Option Explicit
+REM ***** BASIC *****
+
+
+
+Public Const SBRANGEUBOUND = 20
+Public StyleRangeAssignmentList(SBRANGEUBOUND)as String
+Public SelRangeList(SBRANGEUBOUND) as String
+Public RangeList(SBRANGEUBOUND) as String
+Public UnprotectList() as String
+Public FilterNames(2,1) as String
+Public bDoUnProtect as Boolean
+Public bCancelTask as Boolean
+
+Public sREADY as String
+Public sPROTECT as String
+Public sCONTINUE as String
+
+Public sSELTEMPL as String
+Public sSELCELL as String
+Public sCURRRANGES as String
+Public sTEMPLATES as String
+
+Public sSOURCEFILE as String
+Public sSOURCEDIR as String
+Public sTARGETDIR as String
+
+Public sStsPROGRESS as String
+Public sStsCELLPROGRSS as String
+Public sStsRELRANGES as String
+Public sStsRELSHEETRANGES as String
+Public sStsREPROTECT as String
+
+Public sMsgSELDIR as String
+Public sMsgSELFILE as String
+Public sMsgTARGETDIR as String
+Public sMsgNOTTHERE as String
+Public sMsgDLGTITLE as String
+Public sMsgUNPROTECT as String
+Public sMsgPWPROTECT as String
+Public sMsgWRONGPW as String
+Public sMsgSHEETPROTECTED as String
+Public sMsgWARNING as String
+Public sMsgSHEETSNOPROTECT as String
+Public sMsgSHEETNOPROTECT as String
+Public sMsgCHOOSECURRENCY as String
+Public sMsgPASSWORD as String
+Public sMsgOK as String
+Public sMsgCANCEL as String
+Public sMsgFileInvalid as String
+Public sMsgNODIRECTORY as String
+Public sMsgDOCISREADONLY as String
+Public sMsgFileExists as String
+Public sMsgCancelConversion as String
+Public sMsgCancelTitle as String
+Public sCurrPORTUGUESE as String
+Public sCurrDUTCH as String
+Public sCurrFRENCH as String
+Public sCurrSPANISH as String
+Public sCurrITALIAN as String
+Public sCurrGERMAN as String
+Public sCurrBELGIAN as String
+Public sCurrIRISH as String
+Public sCurrLUXEMBOURG as String
+Public sCurrAUSTRIAN as String
+Public sCurrFINNISH as String
+Public sCurrGREEK as String
+Public sCurrSLOVENIAN as String
+Public sCurrCYPRIOT as String
+Public sCurrMALTESE as String
+Public sCurrSLOVAK as String
+Public sCurrESTONIAN as String
+Public sCurrUNKNOWN as String
+Public sCurrSYSUNKNOWN as String
+
+Public sPrgsRETRIEVAL as String
+Public sPrgsCONVERTING as String
+Public sPrgsUNPROTECT as String
+Public sInclusiveSubDir as String
+
+Public Const SBCOUNTRYCOUNT = 17
+Public CurMimeType as String
+Public CurCellCount as Long
+Public oSheets as Object
+Public oStyles as Object
+Public oStyle as Object
+Public oFormats as Object
+Public aSimpleStr as String
+Public nSimpleKey as Long
+Public aFormat() as Variant
+Public oRanges as Object
+Public oRange as Object
+Public nLanguage as integer
+Public nFormatLanguage as integer
+Public aCellFormat as Variant
+Public oDocument as Object
+Public StartCol, StartRow, EndCol, EndRow as String
+Public oSheet as Object
+Public IntStartCol, IntStartRow, IntEndCol, IntEndRow as integer
+Public oSelRanges as Object
+Public nFormatType as Integer
+Public sFormatCurrency as String
+Public sFormatLanguage as String
+Public CurSheetName as String
+Public oStatusLine as Object
+Public Const SBRELGET = 50
+Public StatusValue as Single
+Public TotCellCount as Long
+Public StyleIndex as Integer
+Public RangeIndex as Integer
+Public CurrIndex as Integer
+Public ActLangNumber(1) as Integer
+Public CurExtension(2) as String
+Public Currfactor as Double
+Public CurrSymbolList(2) as String
+Public CurrLanguage as String
+Public CurrValue(16,5)
+Public LangIDValue(16,2,2) as String
+Public PreName as String
+Public Separator as String
+Public BitmapDir as String
+Public TypeIndex as Integer, CSIndex as Integer, LangIndex as Integer, FSIndex as Integer
+Public oLocale as New com.sun.star.lang.Locale
+Public sEuroSign as String
+Public oPointer as Object
+Public sDocType as String
+Public bPreSelected as Boolean
+Public bRecursive as Boolean
+Public bCancelProtection as Boolean
+Public CurrRoundMode as Boolean
+Public bRangeListDefined as Boolean
+Public bDocHasProtectedSheets as Boolean
+Public sGOON as String
+Public sHELP as String
+Public sCANCEL as String
+Dim sEnd as String
+
+Sub InitializeResources()
+Dim LocWorkPath as String
+ With DialogModel
+ &apos; Strings that are also needed by the Password Dialog
+ sGoOn = GetResText(1003)
+ sHelp = GetResText(1001)
+ sCANCEL = GetResText(1418)
+ sEnd = GetResText(1000)
+ sPROTECT = GetResText(1005)
+ sCONTINUE = GetResText(1007)
+ sSELTEMPL = GetResText(1106)
+ sSELCELL = GetResText(1107)
+ sCURRRANGES = GetResText(1108)
+ sTEMPLATES = GetResText(1109)
+ sStsPROGRESS = GetResText(1300)
+ sStsCELLPROGRSS = GetResText(1301)
+ sStsRELSHEETRANGES = GetResText(1302)
+ sStsRELRANGES = GetResText(1303)
+ sStsREPROTECT = GetResText(1304)
+ sREADY = GetResText(1400)
+ sMsgSELDIR = GetResText(1401)
+ sMsgSELFILE = GetResText(1402)
+ sMsgTARGETDIR = GetResText(1403)
+ sMsgNOTTHERE = GetResText(1404)
+ sMsgDLGTITLE = GetResText(1405)
+ sMsgUNPROTECT = GetResText(1406)
+ sMsgPWPROTECT = GetResText(1407)
+ sMsgWRONGPW = GetResText(1408)
+ sMsgSHEETPROTECTED = GetResText(1409)
+ sMsgWARNING = GetResText(1410)
+ sMsgSHEETSNOPROTECT = GetResText(1411)
+ sMsgSHEETNOPROTECT = GetResText(1412)
+ sMsgCHOOSECURRENCY = GetResText(1415)
+ sMsgPASSWORD = GetResText(1416)
+ sMsgOK = GetResText(1417)
+ sMsgCANCEL = GetResText(1418)
+ sMsgFILEINVALID = GetResText(1419)
+ sMsgFILEINVALID = ReplaceString(sMsgFILEINVALID,&quot;%PRODUCTNAME&quot;, GetProductname())
+ SMsgNODIRECTORY = GetResText(1420)
+ sMsgDOCISREADONLY = GetResText(1421)
+ sMsgFileExists = GetResText(1422)
+ sMsgCancelConversion = GetResText(1423)
+ sMsgCancelTitle = GetResText(1424)
+ sCurrPORTUGUESE = GetResText(1500)
+ sCurrDUTCH = GetResText(1501)
+ sCurrFRENCH = GetResText(1502)
+ sCurrSPANISH = GetResText(1503)
+ sCurrITALIAN = GetResText(1504)
+ sCurrGERMAN = GetResText(1505)
+ sCurrBELGIAN = GetResText(1506)
+ sCurrIRISH = GetResText(1507)
+ sCurrLUXEMBOURG = GetResText(1508)
+ sCurrAUSTRIAN = GetResText(1509)
+ sCurrFINNISH = GetResText(1510)
+ sCurrGREEK = GetResText(1511)
+ sCurrSLOVENIAN = GetResText(1512)
+ sCurrCYPRIOT = GetResText(1513)
+ sCurrMALTESE = GetResText(1514)
+ sCurrSLOVAK = GetResText(1515)
+ sCurrESTONIAN = GetResText(1516)
+ sCurrUNKNOWN = GetResText(1517)
+ sCurrSYSUNKNOWN = GetResText(1518)
+ .cmdCancel.Label = sCANCEL
+ .cmdHelp.Label = sHELP
+ .cmdBack.Label = GetResText(1002)
+ .cmdGoOn.Label = sGOON
+ .lblHint.Label = GetResText(1004)
+ .lblCurrencies.Label = GetResText(1006)
+ .cmdBack.Enabled = False
+ If .Step = 1 Then
+ .chkComplete.Label = GetResText(1100)
+ .hlnSelection.Label = GetResText(1101)
+ .optCellTemplates.Label = GetResText(1102)
+ .optSheetRanges.Label = GetResText(1103)
+ .optDocRanges.Label = GetResText(1104)
+ .optSelRange.Label = GetResText(1105)
+ sCURRRANGES = GetResText(1108)
+ .lblSelection.Label = sCURRRANGES
+ Else
+ .lblProgress.Label = sStsPROGRESS
+ .hlnExtent.Label = GetResText(1200)
+ .optSingleFile.Label = GetResText(1201)
+ .optWholeDir.Label = GetResText(1202)
+ .chkProtect.Label = GetResText(1207)
+ .chkTextDocuments.Label = GetResText(1210)
+
+ sSOURCEFILE = GetResText(1203)
+ sSOURCEDIR = GetResText(1204)
+ .lblSource.Label = sSOURCEDIR
+ sInclusiveSubDir = GetResText(1205)
+ .chkRecursive.Label = sInclusiveSubDir
+ sTARGETDIR = GetResText(1206)
+ .lblTarget.Label = STARGETDIR
+
+ LocWorkPath = GetPathSettings(&quot;Work&quot;)
+ If Not oUcb.Exists(LocWorkPath) Then
+ ShowNoOfficePathError()
+ Stop
+ End If
+
+ .txtSource.Text = ConvertfromUrl(LocWorkPath)
+
+ SubstDir = .txtSource.Text
+ .txtTarget.Text = .txtSource.Text
+ .hlnProgress.Label = GetResText(1600)
+ .lblConfig.Label = GetResText(1603)
+ sPrgsRETRIEVAL = GetResText(1601)
+ sPrgsCONVERTING = GetResText(1602)
+ sPrgsUNPROTECT = GetResText(1604)
+ End If
+ End With
+End Sub
+
+Sub InitializeLanguages()
+ sEuroSign = chr(8364)
+
+&apos; CURRENCIES_PORTUGUESE
+ LangIDValue(0,0,0) = &quot;pt&quot;
+ LangIDValue(0,0,1) = &quot;&quot;
+ LangIDValue(0,0,2) = &quot;-816&quot;
+
+&apos; CURRENCIES_DUTCH
+ LangIDValue(1,0,0) = &quot;nl&quot;
+ LangIDValue(1,0,1) = &quot;&quot;
+ LangIDValue(1,0,2) = &quot;-413&quot;
+
+&apos; CURRENCIES_FRENCH
+ LangIDValue(2,0,0) = &quot;fr&quot;
+ LangIDValue(2,0,1) = &quot;&quot;
+ LangIDValue(2,0,2) = &quot;-40C&quot;
+
+&apos; CURRENCIES_SPANISH
+ LangIDValue(3,0,0) = &quot;es&quot;
+ LangIDValue(3,0,1) = &quot;&quot;
+ LangIDValue(3,0,2) = &quot;-40A&quot;
+
+ &apos;Spanish modern
+ LangIDValue(3,1,0) = &quot;es&quot;
+ LangIDValue(3,1,1) = &quot;&quot;
+ LangIDValue(3,1,2) = &quot;-C0A&quot;
+
+ &apos;Spanish katalanic
+ LangIDValue(3,2,0) = &quot;es&quot;
+ LangIDValue(3,2,1) = &quot;&quot;
+ LangIDValue(3,2,2) = &quot;-403&quot;
+
+&apos; CURRENCIES_ITALIAN
+ LangIDValue(4,0,0) = &quot;it&quot;
+ LangIDValue(4,0,1) = &quot;&quot;
+ LangIDValue(4,0,2) = &quot;-410&quot;
+
+&apos; CURRENCIES_GERMAN
+ LangIDValue(5,0,0) = &quot;de&quot;
+ LangIDValue(5,0,1) = &quot;DE&quot;
+ LangIDValue(5,0,2) = &quot;-407&quot;
+
+&apos; CURRENCIES_BELGIAN
+ LangIDValue(6,0,0) = &quot;fr&quot;
+ LangIDValue(6,0,1) = &quot;BE&quot;
+ LangIDValue(6,0,2) = &quot;-80C&quot;
+
+ LangIDValue(6,1,0) = &quot;nl&quot;
+ LangIDValue(6,1,1) = &quot;BE&quot;
+ LangIDValue(6,1,2) = &quot;-813&quot;
+
+&apos; CURRENCIES_IRISH
+ LangIDValue(7,0,0) = &quot;en&quot;
+ LangIDValue(7,0,1) = &quot;IE&quot;
+ LangIDValue(7,0,2) = &quot;-1809&quot;
+
+ LangIDValue(7,1,0) = &quot;ga&quot;
+ LangIDValue(7,1,1) = &quot;IE&quot;
+ LangIDValue(7,1,2) = &quot;-83C&quot;
+
+&apos; CURRENCIES_LUXEMBOURG
+ LangIDValue(8,0,0) = &quot;fr&quot;
+ LangIDValue(8,0,1) = &quot;LU&quot;
+ LangIDValue(8,0,2) = &quot;-140C&quot;
+
+ LangIDValue(8,1,0) = &quot;de&quot;
+ LangIDValue(8,1,1) = &quot;LU&quot;
+ LangIDValue(8,1,2) = &quot;-1007&quot;
+
+&apos; CURRENCIES_AUSTRIAN
+ LangIDValue(9,0,0) = &quot;de&quot;
+ LangIDValue(9,0,1) = &quot;AT&quot;
+ LangIDValue(9,0,2) = &quot;-C07&quot;
+
+&apos; CURRENCIES_FINNISH
+ LangIDValue(10,0,0) = &quot;fi&quot;
+ LangIDValue(10,0,1) = &quot;FI&quot;
+ LangIDValue(10,0,2) = &quot;-40B&quot;
+
+ LangIDValue(10,1,0) = &quot;sv&quot;
+ LangIDValue(10,1,1) = &quot;FI&quot;
+ LangIDValue(10,1,2) = &quot;-81D&quot;
+
+&apos; CURRENCIES_GREEK
+ LangIDValue(11,0,0) = &quot;el&quot;
+ LangIDValue(11,0,1) = &quot;GR&quot;
+ LangIDValue(11,0,2) = &quot;-408&quot;
+
+&apos; CURRENCIES_SLOVENIAN
+ LangIDValue(12,0,0) = &quot;sl&quot;
+ LangIDValue(12,0,1) = &quot;SI&quot;
+ LangIDValue(12,0,2) = &quot;-424&quot;
+
+&apos; CURRENCIES_CYPRIOT
+ LangIDValue(13,0,0) = &quot;el&quot;
+ LangIDValue(13,0,1) = &quot;CY&quot;
+ LangIDValue(13,0,2) = &quot;-408&quot;
+
+&apos; CURRENCIES_MALTESE
+ LangIDValue(14,0,0) = &quot;mt&quot;
+ LangIDValue(14,0,1) = &quot;MT&quot;
+ LangIDValue(14,0,2) = &quot;-43A&quot;
+
+&apos; CURRENCIES_SLOVAK
+ LangIDValue(15,0,0) = &quot;sk&quot;
+ LangIDValue(15,0,1) = &quot;SK&quot;
+ LangIDValue(15,0,2) = &quot;-41B&quot;
+
+&apos; CURRENCIES_ESTONIAN
+ LangIDValue(16,0,0) = &quot;et&quot;
+ LangIDValue(16,0,1) = &quot;ET&quot;
+ LangIDValue(16,0,2) = &quot;-425&quot;
+
+End Sub
+
+
+
+Sub InitializeCurrencies()
+Dim i as Integer
+ GoOn = True
+
+ CurrValue(0,0) = sCurrPORTUGUESE
+ &apos; real conversion rate
+ CurrValue(0,1) = 200.482
+ &apos; rounded conversion rate
+ CurrValue(0,2) = 200
+ CurrValue(0,3) = &quot;Esc.&quot;
+ CurrValue(0,4) = &quot;Esc.&quot;
+ CurrValue(0,5) = &quot;PTE&quot;
+
+ CurrValue(1,0) = sCurrDUTCH
+ &apos; real conversion rate
+ CurrValue(1,1) = 2.20371
+ &apos; rounded conversion rate
+ CurrValue(1,2) = 2
+ CurrValue(1,3) = &quot;F&quot;
+ CurrValue(1,4) = &quot;fl&quot;
+ CurrValue(1,5) = &quot;NLG&quot;
+
+ CurrValue(2,0) = sCurrFRENCH
+ &apos; real conversion rate
+ CurrValue(2,1) = 6.55957
+ &apos; rounded conversion rate
+ CurrValue(2,2) = 7
+ CurrValue(2,3) = &quot;F&quot;
+ CurrValue(2,4) = &quot;F&quot;
+ CurrValue(2,5) = &quot;FRF&quot;
+
+ CurrValue(3,0) = sCurrSPANISH
+ &apos; real conversion rate
+ CurrValue(3,1) = 166.386
+ &apos; rounded conversion rate
+ CurrValue(3,2) = 170
+ CurrValue(3,3) = &quot;Pts&quot;
+ CurrValue(3,4) = &quot;Pts&quot;
+ CurrValue(3,5) = &quot;ESP&quot;
+
+ CurrValue(4,0) = sCurrITALIAN
+ &apos; real conversion rate
+ CurrValue(4,1) = 1936.27
+ &apos; rounded conversion rate
+ CurrValue(4,2) = 2000
+ CurrValue(4,3) = &quot;L.&quot;
+ CurrValue(4,4) = &quot;L.&quot;
+ CurrValue(4,5) = &quot;ITL&quot;
+
+ CurrValue(5,0) = sCurrGERMAN
+ &apos; real conversion rate
+ CurrValue(5,1) = 1.95583
+ &apos; rounded conversion rate
+ CurrValue(5,2) = 2
+ CurrValue(5,3) = &quot;DM&quot;
+ CurrValue(5,4) = &quot;DM&quot;
+ CurrValue(5,5) = &quot;DEM&quot;
+
+ CurrValue(6,0) = sCurrBELGIAN
+ &apos; real conversion rate
+ CurrValue(6,1) = 40.3399
+ &apos; rounded conversion rate
+ CurrValue(6,2) = 40
+ CurrValue(6,3) = &quot;FB&quot;
+ CurrValue(6,4) = &quot;BF&quot;
+ CurrValue(6,5) = &quot;BEF&quot;
+
+ CurrValue(7,0) = sCurrIRISH
+ &apos; real conversion rate
+ CurrValue(7,1) = 0.787564
+ &apos; rounded conversion rate
+ CurrValue(7,2) = 0.8
+ CurrValue(7,3) = &quot;IR£&quot;
+ CurrValue(7,4) = &quot;£&quot;
+ CurrValue(7,5) = &quot;IEP&quot;
+
+ CurrValue(8,0) = sCurrLUXEMBOURG
+ &apos; real conversion rate
+ CurrValue(8,1) = 40.3399
+ &apos; rounded conversion rate
+ CurrValue(8,2) = 40
+ CurrValue(8,3) = &quot;F&quot;
+ CurrValue(8,4) = &quot;F&quot;
+ CurrValue(8,5) = &quot;LUF&quot;
+
+ CurrValue(9,0) = sCurrAUSTRIAN
+ &apos; real conversion rate
+ CurrValue(9,1) = 13.7603
+ &apos; rounded conversion rate
+ CurrValue(9,2) = 15
+ CurrValue(9,3) = &quot;öS&quot;
+ CurrValue(9,4) = &quot;S&quot;
+ CurrValue(9,5) = &quot;ATS&quot;
+
+ CurrValue(10,0) = sCurrFINNISH
+ &apos; real conversion rate
+ CurrValue(10,1) = 5.94573
+ &apos; rounded conversion rate
+ CurrValue(10,2) = 6
+ CurrValue(10,3) = &quot;mk&quot;
+ CurrValue(10,4) = &quot;mk&quot;
+ CurrValue(10,5) = &quot;FIM&quot;
+
+ CurrValue(11,0) = sCurrGREEK
+ &apos; real conversion rate
+ CurrValue(11,1) = 340.750
+ &apos; rounded conversion rate
+ CurrValue(11,2) = 400
+ CurrValue(11,3) = chr(916) &amp; chr(961) &amp; chr(967)
+ CurrValue(11,4) = chr(916) &amp; chr(961) &amp; chr(967)
+ CurrValue(11,5) = &quot;GRD&quot;
+
+ CurrValue(12,0) = sCurrSLOVENIAN
+ &apos; real conversion rate
+ CurrValue(12,1) = 239.64
+ &apos; rounded conversion rate
+ CurrValue(12,2) = 240
+ CurrValue(12,3) = &quot;SIT&quot;
+ CurrValue(12,4) = &quot;SIT&quot;
+ CurrValue(12,5) = &quot;SIT&quot;
+
+ CurrValue(13,0) = sCurrCYPRIOT
+ &apos; real conversion rate
+ CurrValue(13,1) = 0.585274
+ &apos; rounded conversion rate
+ CurrValue(13,2) = 0.6
+ CurrValue(13,3) = &quot;£C&quot;
+ CurrValue(13,4) = &quot;£&quot;
+ CurrValue(13,5) = &quot;CYP&quot;
+
+ CurrValue(14,0) = sCurrMALTESE
+ &apos; real conversion rate
+ CurrValue(14,1) = 0.429300
+ &apos; rounded conversion rate
+ CurrValue(14,2) = 0.4
+ CurrValue(14,3) = chr(8356)
+ CurrValue(14,4) = &quot;Lm&quot;
+ CurrValue(14,5) = &quot;MTL&quot;
+
+ CurrValue(15,0) = sCurrSLOVAK
+ &apos; real conversion rate
+ CurrValue(15,1) = 30.1260
+ &apos; rounded conversion rate
+ CurrValue(15,2) = 30
+ CurrValue(15,3) = &quot;Sk&quot;
+ CurrValue(15,4) = &quot;Sk&quot;
+ CurrValue(15,5) = &quot;SKK&quot;
+
+ CurrValue(16,0) = sCurrESTONIAN
+ &apos; real conversion rate
+ CurrValue(16,1) = 15.6466
+ &apos; rounded conversion rate
+ CurrValue(16,2) = 16
+ CurrValue(16,3) = &quot;kr&quot;
+ CurrValue(16,4) = &quot;kr&quot;
+ CurrValue(16,5) = &quot;EEK&quot;
+
+ i = -1
+ CurrSymbolList(0) = &quot;&quot;
+ CurrSymbolList(1) = &quot;&quot;
+ InitializeCurrencyValues(CurrIndex)
+End Sub
+
+
+Sub InitializeControls()
+ If CurrIndex = -1 Then
+ If DialogModel.Step = 1 Then
+ EnableStep1DialogControls(True, False, False)
+ ElseIf DialogModel.Step = 2 Then
+ EnableStep2DialogControls(True)
+ End If
+ End If
+End Sub
+
+
+Sub InitializeConverter(oLocale, iDialogPage as Integer)
+Dim Isthere as Boolean
+ bCancelProtection = False
+ bRangeListDefined = False
+ PWIndex = -1
+ If iDialogPage = 1 Then
+ ToggleWindow(False)
+ sDocType = Tools.GetDocumentType(ThisComponent)
+ If sDocType = &quot;sCalc&quot; Then
+ bDocHasProtectedSheets = CheckSheetProtection(oSheets)
+ End If
+ oStatusline = ThisComponent.GetCurrentController.GetFrame.CreateStatusIndicator()
+ End If
+ DialogConvert = LoadDialog(&quot;Euro&quot;, &quot;DlgConvert&quot;)
+ DialogModel = DialogConvert.Model
+ DialogPassword = LoadDialog(&quot;Euro&quot;, &quot;DlgPassword&quot;)
+ PasswordModel = DialogPassword.Model
+ DialogModel.Step = iDialogPage
+ InitializeResources()
+ InitializeLanguages()
+ InitializeLocales(oLocale)
+ InitializeCurrencies()
+ InitializeControls()
+ BitmapDir = GetOfficeSubPath(&quot;Template&quot;, &quot;../wizard/bitmap&quot;)
+ If BitmapDir = &quot;&quot; Then
+ Stop
+ End If
+ FillUpCurrencyListbox()
+ DialogModel.imgPreview.ImageUrl = BitmapDir &amp; &quot;euro_&quot; &amp; DialogModel.Step &amp; &quot;.bmp&quot;
+ DialogConvert.Title = sMsgDLGTITLE
+ DialogModel.cmdGoOn.DefaultButton = True
+ If iDialogPage = 1 Then
+ ToggleWindow(True)
+ End If
+End Sub
+
+
+Sub InitializeCurrencyValues(CurrIndex)
+ If CurrIndex &lt;&gt; -1 Then
+ CurrLanguage = CurrValue(CurrIndex,0)
+ CurrFactor = CurrValue(CurrIndex,1)
+ CurrSymbolList(0) = CurrValue(CurrIndex,3)
+ CurrSymbolList(1) = CurrValue(CurrIndex,4)
+ CurrSymbolList(2) = CurrValue(CurrIndex,5)
+ End If
+End Sub
+
+
+Function InitializeLocales(oLocale) as Boolean
+Dim i as Integer, n as Integer, m as Integer
+Dim sLanguage as String, sCountry as String
+Dim bTakeThisLocale as Boolean
+ sLanguage = oLocale.Language
+ sCountry = oLocale.Country
+ For n = 0 To SBCOUNTRYCOUNT - 1
+ For m = 0 TO 1
+ If DialogModel.Step = 2 Then
+ bTakeThisLocale = LangIDValue(n,m,0) = sLanguage
+ Else
+ bTakeThisLocale = LangIDValue(n,m,0) = sLanguage
+ End If
+ If bTakeThisLocale Then
+ CurrIndex = n
+ For i = 0 To 2
+ CurExtension(i) = LangIDValue(CurrIndex,i,2)
+ Next i
+ InitializeLocales = True
+ Exit Function
+ End If
+ Next m
+ Next n
+ CurrIndex = -1
+ InitializeLocales = False
+End Function
+</script:module>
diff --git a/test/user-template/user/basic/Euro/Protect.xba b/test/user-template/user/basic/Euro/Protect.xba
new file mode 100644
index 000000000000..8a852e9c3e5c
--- /dev/null
+++ b/test/user-template/user/basic/Euro/Protect.xba
@@ -0,0 +1,175 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Protect" script:language="StarBasic">REM ***** BASIC *****
+Option Explicit
+
+Public PWIndex as Integer
+
+
+Function UnprotectSheetsWithPassWord(oSheets as Object, bDoUnProtect as Boolean)
+Dim i as Integer
+Dim MaxIndex as Integer
+Dim iMsgResult as Integer
+ PWIndex = -1
+ If bDocHasProtectedSheets Then
+ If Not bDoUnprotect Then
+ &apos; At First query if sheets shall generally be unprotected
+ iMsgResult = Msgbox(sMsgUNPROTECT,36,sMsgDLGTITLE)
+ bDoUnProtect = iMsgResult = 6
+ End If
+ If bDoUnProtect Then
+ MaxIndex = oSheets.Count-1
+ For i = 0 To MaxIndex
+ bDocHasProtectedSheets = Not UnprotectSheet(oSheets(i))
+ If bDocHasProtectedSheets Then
+ ReprotectSheets()
+ Exit For
+ End If
+ Next i
+ If PWIndex = -1 Then
+ ReDim UnProtectList() as String
+ Else
+ ReDim Preserve UnProtectList(PWIndex) as String
+ End If
+ Else
+ Msgbox (sMsgSHEETSNOPROTECT, 64, sMsgDLGTITLE)
+ End If
+ End If
+ UnProtectSheetsWithPassword = bDocHasProtectedSheets
+End Function
+
+
+Function UnprotectSheet(oListSheet as Object)
+Dim ListSheetName as String
+Dim sStatustext as String
+Dim i as Integer
+Dim bOneSheetIsUnprotected as Boolean
+ i = -1
+ ListSheetName = oListSheet.Name
+ If oListSheet.IsProtected Then
+ oListSheet.Unprotect(&quot;&quot;)
+ If oListSheet.IsProtected Then
+ &apos; Sheet is protected by a Password
+ bOneSheetIsUnProtected = UnprotectSheetWithDialog(oListSheet, ListSheetName)
+ UnProtectSheet() = bOneSheetIsUnProtected
+ Else
+ &apos; The Sheet could be unprotected without a password
+ AddSheettoUnprotectionlist(ListSheetName,&quot;&quot;)
+ UnprotectSheet() = True
+ End If
+ Else
+ UnprotectSheet() = True
+ End If
+End Function
+
+
+Function UnprotectSheetWithDialog(oListSheet as Object, ListSheetName as String) as Boolean
+Dim PWIsCorrect as Boolean
+Dim QueryText as String
+ oDocument.CurrentController.SetActiveSheet(oListSheet)
+ QueryText = ReplaceString(sMsgPWPROTECT,&quot;&apos;&quot; &amp; ListSheetName &amp; &quot;&apos;&quot;, &quot;%1TableName%1&quot;)
+ &apos;&quot;Please insert the password to unprotect the sheet &apos;&quot; &amp; ListSheetName&apos;&quot;
+ Do
+ ExecutePasswordDialog(QueryText)
+ If bCancelProtection Then
+ bCancelProtection = False
+ Msgbox (sMsgSHEETSNOPROTECT, 64, sMsgDLGTITLE)
+ UnprotectSheetWithDialog() = False
+ exit Function
+ End If
+ oListSheet.Unprotect(Password)
+ If oListSheet.IsProtected Then
+ PWIsCorrect = False
+ Msgbox (sMsgWRONGPW, 64, sMsgDLGTITLE)
+ Else
+ &apos; Sheet could be unprotected
+ AddSheettoUnprotectionlist(ListSheetName,Password)
+ PWIsCorrect = True
+ End If
+ Loop Until PWIsCorrect
+ UnprotectSheetWithDialog() = True
+End Function
+
+
+Sub ExecutePasswordDialog(QueryText as String)
+ With PasswordModel
+ .Title = QueryText
+ .hlnPassword.Label = sMsgPASSWORD
+ .cmdCancel.Label = sMsgCANCEL
+ .cmdHelp.Label = sHELP
+ .cmdGoOn.Label = sMsgOK
+ .cmdGoOn.DefaultButton = True
+ End With
+ DialogPassword.Execute
+End Sub
+
+Sub ReadPassword()
+ Password = PasswordModel.txtPassword.Text
+ DialogPassword.EndExecute
+End Sub
+
+
+Sub RejectPassword()
+ bCancelProtection = True
+ DialogPassword.EndExecute
+End Sub
+
+
+&apos; Reprotects the previousliy protected sheets
+&apos; The passwordinformation is stored in the List &apos;UnProtectList()&apos;
+Sub ReprotectSheets()
+Dim i as Integer
+Dim oProtectSheet as Object
+Dim ProtectList() as String
+Dim SheetName as String
+Dim SheetPassword as String
+ If PWIndex &gt; -1 Then
+ SetStatusLineText(sStsREPROTECT)
+ For i = 0 To PWIndex
+ ProtectList() = ArrayOutOfString(UnProtectList(i),&quot;;&quot;)
+ SheetName = ProtectList(0)
+ If Ubound(ProtectList()) &gt; 0 Then
+ SheetPassWord = ProtectList(1)
+ Else
+ SheetPassword = &quot;&quot;
+ End If
+ oProtectSheet = oSheets.GetbyName(SheetName)
+ If Not oProtectSheet.IsProtected Then
+ oProtectSheet.Protect(SheetPassWord)
+ End If
+ Next i
+ SetStatusLineText(&quot;&quot;)
+ End If
+ PWIndex = -1
+ ReDim UnProtectList()
+End Sub
+
+
+&apos; Add a Sheet to the list of sheets that finally have to be
+&apos; unprotected
+Sub AddSheettoUnprotectionlist(ListSheetName as String, Password as String)
+Dim MaxIndex as Integer
+ MaxIndex = Ubound(UnProtectList())
+ PWIndex = PWIndex + 1
+ If PWIndex &gt; MaxIndex Then
+ ReDim Preserve UnprotectList(MaxIndex + SBRANGEUBOUND)
+ End If
+ UnprotectList(PWIndex) = ListSheetName &amp; &quot;;&quot; &amp; Password
+End Sub
+
+
+Function CheckSheetProtection(oSheets as Object) as Boolean
+Dim MaxIndex as Integer
+Dim i as Integer
+Dim bProtectedSheets as Boolean
+ bProtectedSheets = False
+ MaxIndex = oSheets.Count-1
+ For i = 0 To MaxIndex
+ bProtectedSheets = oSheets(i).IsProtected
+ If bProtectedSheets Then
+ CheckSheetProtection() = True
+ Exit Function
+ End If
+ Next i
+ CheckSheetProtection() = False
+End Function</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Euro/Soft.xba b/test/user-template/user/basic/Euro/Soft.xba
new file mode 100644
index 000000000000..b4088e931156
--- /dev/null
+++ b/test/user-template/user/basic/Euro/Soft.xba
@@ -0,0 +1,239 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Soft" script:language="StarBasic">Option Explicit
+REM ***** BASIC *****
+
+
+Sub CreateStyleEnumeration()
+ EmptySelection()
+ EmptyListbox(DialogModel.lstSelection)
+ CurSheetName = oDocument.CurrentController.GetActiveSheet.Name
+ MakeStyleEnumeration(False)
+ DialogModel.lblSelection.Label = sTEMPLATES
+End Sub
+
+
+Sub MakeStyleEnumeration(bAddToListbox as Boolean)
+Dim m as integer
+Dim aStyleFormat as Object
+Dim Stylename as String
+ StyleIndex = -1
+ oStyles = oDocument.StyleFamilies.GetbyIndex(0)
+ For m = 0 To oStyles.count-1
+ oStyle = oStyles.GetbyIndex(m)
+ StyleName = oStyle.Name
+ If CheckFormatType(oStyle) Then
+ If Not bAddToListBox Then
+ AddSingleItemToListbox(DialogModel.lstSelection, Stylename)
+ Else
+ SwitchNumberFormat(ostyle, oFormats, sEuroSign)
+ End If
+ StyleIndex = StyleIndex + 1
+ If StyleIndex &gt; Ubound(StyleRangeAssignMentList()) Then
+ Redim Preserve StyleRangeAssignmentList(StyleIndex)
+ End If
+ StyleRangeAssignmentList(StyleIndex) = &quot;&lt;STYLENAME&gt;&quot; &amp; Stylename &amp; &quot;&lt;/STYLENAME&gt;&quot; &amp; _
+ &quot;&lt;DEFINED&gt;FALSE&lt;/DEFINED&gt;&quot; &amp; &quot;&lt;RANGES&gt;&lt;/RANGES&gt;&quot; &amp;_
+ &quot;&lt;CELLCOUNT&gt;0&lt;/CELLCOUNT&gt;&quot; &amp;_
+ &quot;&lt;SELECTED&gt;FALSE&lt;/SELECTED&gt;&quot;
+ End If
+ Next m
+ If StyleIndex &gt; -1 Then
+ Redim Preserve StyleRangeAssignmentList(StyleIndex)
+ Else
+ ReDim StyleRangeAssignmentList()
+ End If
+End Sub
+
+
+Sub AssignRangestoStyle(StyleList(), SelList())
+Dim i as Integer
+Dim n as integer
+Dim LastIndex as Integer
+Dim CurStyleName as String
+Dim AssignString as String
+ LastIndex = Ubound(StyleList())
+ StatusValue = 0
+ SetStatusLineText(sStsRELRANGES)
+ For i = 0 To LastIndex
+ CurStyleName = StyleList(i)
+ n = PartStringInArray(StyleRangeAssignmentList(), CurStyleName, 0)
+ AssignString = StyleRangeAssignmentlist(n)
+ If IndexInArray(CurStyleName, SelList()) &lt;&gt; -1 Then
+ &apos; Style is selected
+ If FindPartString(AssignString, &quot;&lt;DEFINED&gt;&quot;, &quot;&lt;/DEFINED&gt;&quot;, 1) = &quot;FALSE&quot; Then
+ AssignString = ReplaceString(AssignString, &quot;&lt;SELECTED&gt;TRUE&lt;/SELECTED&gt;&quot;, &quot;&lt;SELECTED&gt;FALSE&lt;/SELECTED&gt;&quot;)
+ AssignCellFormatRanges(n, AssignString, CurStyleName)
+ End If
+ Else
+ &apos; Style is not selected
+ If FindPartString(AssignString, &quot;&lt;SELECTED&gt;&quot;, &quot;&lt;/SELECTED&gt;&quot;, 1) = &quot;FALSE&quot; Then
+ DeselectStyle(CurStyleName, n)
+ End If
+ End If
+ IncreaseStatusvalue(SBRELGET/(LastIndex+1))
+ Next i
+End Sub
+
+
+Sub AssignCellFormatRanges(n as Integer, AssignString as String, CurStyleName as String)
+Dim oRanges() as Object
+Dim oRange as Object
+Dim oRangeAddress
+Dim oSheet as Object
+Dim StyleCellCount as Long
+Dim i as Integer
+Dim MaxIndex as Integer
+Dim RangeString as String
+Dim SheetName as String
+Dim RangeName as String
+Dim CellCountString as String
+ StyleCellCount = 0
+ RangeString = &quot;&lt;RANGES&gt;&quot;
+ MaxIndex = oSheets.Count-1
+ For i = 0 To MaxIndex
+ oSheet = oSheets(i)
+ SheetName = oSheet.Name
+ oRanges = osheet.CellFormatRanges.CreateEnumeration
+ While oRanges.hasMoreElements
+ oRange = oRanges.NextElement
+ If oRange.getPropertyState(&quot;NumberFormat&quot;) = 1 Then
+ If oRange.CellStyle = CurStyleName Then
+ oRangeAddress = oRange.RangeAddress
+ RangeName = RetrieveRangeNamefromAddress(oRange)
+ RangeString = RangeString &amp; RangeName &amp; &quot;,&quot;
+ StyleCellCount = StyleCellCount + CountRangeCells(oRange)
+ End If
+ End If
+ Wend
+ Next i
+ If StyleCellCount &gt; 0 Then
+ TotCellCount = TotCellCount + StyleCellCount
+ RangeString = RTrimStr(RangeString,&quot;,&quot;)
+ RangeString = RangeString &amp; &quot;&lt;/RANGES&gt;&quot;
+ CellCountString = &quot;&lt;CELLCOUNT&gt;&quot; &amp; StyleCellCount &amp; &quot;&lt;/CELLCOUNT&quot;
+ AssignString = ReplaceString(AssignString, RangeString,&quot;&lt;RANGES&gt;&lt;/RANGES&gt;&quot;)
+ AssignString = ReplaceString(AssignString, CellCountString,&quot;&lt;CELLCOUNT&gt;0&lt;/CELLCOUNT&gt;&quot;)
+ End If
+ AssignString = ReplaceString(AssignString, &quot;&lt;DEFINED&gt;TRUE&lt;/DEFINED&gt;&quot;, &quot;&lt;DEFINED&gt;FALSE&lt;/DEFINED&gt;&quot;)
+ StyleRangeAssignmentList(n) = AssignString
+End Sub
+
+
+&apos; deletes a styletemplate from the Collection that selects the ranges
+Sub DeselectStyle(DeSelStyleName as String, n as Integer)
+Dim i as Integer
+Dim RangeName as String
+Dim SelectString as String
+Dim AssignString as String
+Dim StyleRangeList() as String
+Dim MaxIndex as Integer
+ SelectString =&quot;&lt;SELECTED&gt;FALSE&lt;/SELECTED&gt;&quot;
+ AssignString = StyleRangeAssignmentList(n)
+ RangeString = FindPartString(AssignString,&quot;&lt;RANGES&gt;&quot;,&quot;&lt;/RANGES&gt;&quot;,1)
+ StyleRangeList() = ArrayoutofString(RangeString,&quot;,&quot;)
+ MaxIndex = Ubound(StyleRangeList())
+ For i = 0 To MaxIndex
+ RangeName = StyleRangeList(i)
+ If oSelRanges.HasbyName(RangeName) Then
+ oSelRanges.RemovebyName(RangeName)
+ End If
+ Next i
+ AssignString = ReplaceString(AssignString, &quot;&lt;SELECTED&gt;FALSE&lt;/SELECTED&gt;&quot;, &quot;&lt;SELECTED&gt;TRUE&lt;/SELECTED&gt;&quot;)
+ StyleRangeAssignmentList(n) = AssignString
+End Sub
+
+
+Function RetrieveRangeNamefromAddress(oRange as Object) as String
+Dim Rangename as String
+Dim oAddressRanges as Object
+ oAddressRanges = oDocument.createInstance(&quot;com.sun.star.sheet.SheetCellRanges&quot;)
+ oAddressRanges.InsertbyName(&quot;&quot;,oRange)
+ Rangename = oAddressRanges.RangeAddressesasString
+&apos; Msgbox &quot;Adresse: &quot; &amp; oRangeAddress.StartColumn &amp; &quot; ; &quot; &amp; oRangeAddress.EndColumn &amp; &quot; ; &quot; &amp; oRangeAddress.StartRow &amp; &quot; ; &quot; &amp; oRangeAddress.EndRow &amp; chr(13) &amp; RangeName
+&apos; oAddressRanges.RemovebyName(RangeName)
+ RetrieveRangeNamefromAddress = Rangename
+End Function
+
+
+&apos; creates a sheet object from an according sectionname
+Function RetrieveSheetoutofRangeName(TableText as String)
+Dim DescriptionList() as String
+Dim SheetName as String
+Dim MaxIndex as integer
+ &apos; find out in which sheet the range is
+ DescriptionList() = ArrayOutofString(TableText,&quot;.&quot;,MaxIndex)
+ SheetName = DescriptionList(0)
+ SheetName = DeleteStr(SheetName,&quot;&apos;&quot;)
+ &apos; set the viewcursor on this sheet
+ RetrieveSheetoutofRangeName = oSheets.GetbyName(SheetName)
+End Function
+
+
+&apos; creates a rangeobject from an according rangename
+Function RetrieveRangeoutofRangeName(TableText as String)
+ oSheet = RetrieveSheetoutofRangeName(TableText)
+ oRange = oSheet.GetCellRangebyName(TableText)
+ RetrieveRangeoutofRangeName = oRange
+End Function
+
+
+Sub ConvertTheSoftWay(StyleList(), bDeSelect as Boolean)
+Dim i as Integer
+Dim l as Integer
+Dim s as Integer
+Dim n as Integer
+Dim CurStyleName as String
+Dim RangeName as String
+Dim OldStatusValue as Integer
+Dim LastIndex as Integer
+Dim oSelListbox as Object
+Dim StyleRangeList() as String
+Dim MaxIndex as Integer
+ oSelListbox = DialogConvert.GetControl(&quot;lstSelection&quot;)
+ LastIndex = Ubound(StyleList())
+ OldStatusValue = StatusValue
+ For i = 0 To LastIndex
+ CurStyleName = StyleList(i)
+ oStyle = oStyles.GetbyName(CurStyleName)
+ StyleRangeList() = GetAssignedRanges(CurStyleName, n)
+ MaxIndex = Ubound(StyleRangeList())
+ For s = 0 To MaxIndex
+ RangeName = StyleRangeList(s)
+ oRange = RetrieveRangeoutofRangeName(RangeName)
+ If oRange.getPropertyState(&quot;NumberFormat&quot;) = 1 Then
+ &apos; Range is hard formatted
+ ConvertCellCurrencies(oRange)
+ CurCellCount = CountRangeCells(oRange)
+ End If
+ IncreaseStatusvalue((CurCellCount/TotCellCount)*(95-OldStatusValue))
+ If bDeSelect Then
+ &apos; Note: On Problems see Bug #73157
+ If oSelRanges.HasbyName(RangeName) Then
+ oSelRanges.RemovebyName(RangeName)
+ oDocument.CurrentController.Select(oSelRanges)
+ End If
+ End If
+ Next s
+ SwitchNumberFormat(ostyle, oFormats, sEuroSign)
+ StyleRangeAssignmentList(n) = &quot;&quot;
+ l = GetItemPos(oSelListBox.Model, CurStyleName)
+ oSelListbox.RemoveItems(l,1)
+ Next
+End Sub
+
+
+Function GetAssignedRanges(CurStyleName as String, n as Integer)
+Dim StyleRangeList() as String
+Dim RangeString as String
+Dim AssignString as String
+ n = PartStringInArray(StyleRangeAssignmentList(), CurStyleName, 0)
+ If n &lt;&gt; -1 Then
+ AssignString = StyleRangeAssignmentList(n)
+ RangeString = FindPartString(AssignString,&quot;&lt;RANGES&gt;&quot;, &quot;&lt;/RANGES&gt;&quot;,1)
+ If RangeString &lt;&gt; &quot;&quot; Then
+ StyleRangeList() = ArrayoutofString(RangeString,&quot;,&quot;)
+ End If
+ End If
+ GetAssignedRanges() = StyleRangeList()
+End Function</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Euro/Writer.xba b/test/user-template/user/basic/Euro/Writer.xba
new file mode 100644
index 000000000000..0d153b7058e2
--- /dev/null
+++ b/test/user-template/user/basic/Euro/Writer.xba
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Writer" script:language="StarBasic">REM ***** BASIC *****
+
+
+Sub ConvertWriterTables()
+Dim CellString as String
+Dim oParagraphs as Object
+Dim oPara as Object
+Dim i as integer
+Dim sCellNames()
+Dim oCell as Object
+ oParagraphs = oDocument.Text.CreateEnumeration
+ While oParagraphs.HasMoreElements
+ oPara = oParagraphs.NextElement
+ If NOT oPara.supportsService(&quot;com.sun.star.text.Paragraph&quot;) Then
+ &apos; Note: As cells might be splitted or merged
+ &apos; you cannot refer to them via their indices
+ sCellNames = oPara.CellNames
+ For i = 0 To Ubound(sCellNames)
+ If sCellNames(i) &lt;&gt; &quot;&quot; Then
+ oCell = oPara.getCellByName(sCellNames(i))
+ If CheckFormatType(oCell) Then
+ SwitchNumberFormat(oCell, oFormats, sEuroSign)
+ ModifyObjectValuewithCurrFactor(oCell)
+ End If
+ End If
+ Next
+ End If
+ Wend
+End Sub
+
+
+Sub ModifyObjectValuewithCurrFactor(oDocObject as Object)
+ oDocObjectValue = oDocObject.Value
+ oDocObject.Value = oDocObjectValue/CurrFactor
+End Sub
+
+
+Sub ConvertTextFields()
+Dim oTextFields as Object
+Dim oTextField as Object
+Dim FieldValue
+Dim oDocObjectValue as double
+Dim InstanceNames(500) as String
+Dim CurInstanceName as String
+Dim MaxIndex as Integer
+ MaxIndex = 0
+ oTextfields = oDocument.getTextfields.CreateEnumeration
+ While oTextFields.hasmoreElements
+ oTextField = oTextFields.NextElement
+ If oTextField.PropertySetInfo.HasPropertybyName(&quot;NumberFormat&quot;) Then
+ If CheckFormatType(oTextField) Then
+ If oTextField.PropertySetInfo.HasPropertybyName(&quot;Value&quot;) Then
+ If Not oTextField.SupportsService(&quot;com.sun.star.text.TextField.GetExpression&quot;) Then
+ oTextField.Content = CStr(Round(oTextField.Value/CurrFactor,2))
+ End If
+ ElseIf oTextField.TextFieldMaster.PropertySetInfo.HasPropertyByName(&quot;Value&quot;) Then
+ CurInstanceName = oTextField.TextFieldMaster.InstanceName
+ If Not FieldinArray(InstanceNames(), MaxIndex, CurInstanceName) Then
+ oTextField.TextFieldMaster.Content = CStr(Round(oTextField.TextFieldMaster.Value/CurrFactor,2))
+ InstanceNames(MaxIndex) = CurInstanceName
+ MaxIndex = MaxIndex + 1
+ End If
+ End If
+ SwitchNumberFormat(oTextField, oFormats, sEuroSign)
+ End If
+ End If
+ Wend
+ oDocument.GetTextFields.refresh()
+End Sub
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Euro/dialog.xlb b/test/user-template/user/basic/Euro/dialog.xlb
new file mode 100644
index 000000000000..c461ce54f0cd
--- /dev/null
+++ b/test/user-template/user/basic/Euro/dialog.xlb
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="Euro" library:readonly="true" library:passwordprotected="false">
+ <library:element library:name="DlgConvert"/>
+ <library:element library:name="DlgPassword"/>
+</library:library>
diff --git a/test/user-template/user/basic/Euro/script.xlb b/test/user-template/user/basic/Euro/script.xlb
new file mode 100644
index 000000000000..1bc4927c2a5a
--- /dev/null
+++ b/test/user-template/user/basic/Euro/script.xlb
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="Euro" library:readonly="true" library:passwordprotected="false">
+ <library:element library:name="ConvertRun"/>
+ <library:element library:name="AutoPilotRun"/>
+ <library:element library:name="Hard"/>
+ <library:element library:name="Soft"/>
+ <library:element library:name="Init"/>
+ <library:element library:name="Common"/>
+ <library:element library:name="Writer"/>
+ <library:element library:name="Protect"/>
+</library:library>
diff --git a/test/user-template/user/basic/FormWizard/DBMeta.xba b/test/user-template/user/basic/FormWizard/DBMeta.xba
new file mode 100644
index 000000000000..2d8dc2838f5c
--- /dev/null
+++ b/test/user-template/user/basic/FormWizard/DBMeta.xba
@@ -0,0 +1,330 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="DBMeta" script:language="StarBasic">REM ***** BASIC *****
+Option Explicit
+
+
+Public iCommandTypes() as Integer
+Public CurCommandType as Integer
+Public oDataSource as Object
+Public bEnableBinaryOptionGroup as Boolean
+&apos;Public bSelectContent as Boolean
+
+
+Function GetDatabaseNames(baddFirstListItem as Boolean)
+Dim sDatabaseList()
+ If oDBContext.HasElements Then
+ Dim LocDBList() as String
+ Dim MaxIndex as Integer
+ Dim i as Integer
+ LocDBList = oDBContext.ElementNames()
+ MaxIndex = Ubound(LocDBList())
+ If baddfirstListItem Then
+ ReDim Preserve sDatabaseList(MaxIndex + 1)
+ sDatabaseList(0) = sSelectDatasource
+ a = 1
+ Else
+ ReDim Preserve sDatabaseList(MaxIndex)
+ a = 0
+ End If
+ For i = 0 To MaxIndex
+ sDatabaseList(a) = oDBContext.ElementNames(i)
+ a = a + 1
+ Next i
+ End If
+ GetDatabaseNames() = sDatabaseList()
+End Function
+
+
+Sub GetSelectedDBMetaData(sDBName as String)
+Dim OldsDBname as String
+Dim DBIndex as Integer
+Dim LocList() as String
+&apos; If bStartUp Then
+&apos; bStartUp = false
+&apos; Exit Sub
+&apos; End Sub
+ ToggleDatabasePage(False)
+ With DialogModel
+ If GetConnection(sDBName) Then
+ If GetDBMetaData() Then
+ LocList() = AddListToList(Array(sSelectDBTable), TableNames())
+ .lstTables.StringItemList() = AddListToList(LocList(), QueryNames())
+&apos; bSelectContent = True
+ .lstTables.SelectedItems() = Array(0)
+ iCommandTypes() = CreateCommandTypeList()
+ EmptyFieldsListboxes()
+ End If
+ End If
+ bEnableBinaryOptionGroup = False
+ .lstTables.Enabled = True
+ .lblTables.Enabled = True
+&apos; Else
+&apos; DialogModel.lstTables.StringItemList = Array(sSelectDBTable)
+&apos; EmptyFieldsListboxes()
+&apos; End If
+ ToggleDatabasePage(True)
+ End With
+End Sub
+
+
+Function GetConnection(sDBName as String)
+Dim oInteractionHandler as Object
+Dim bExitLoop as Boolean
+Dim bGetConnection as Boolean
+Dim iMsg as Integer
+Dim Nulllist()
+ If Not IsNull(oDBConnection) Then
+ oDBConnection.Dispose()
+ End If
+ oDataSource = oDBContext.GetByName(sDBName)
+&apos; If Not oDBContext.hasbyName(sDBName) Then
+&apos; GetConnection() = False
+&apos; Exit Function
+&apos; End If
+ If Not oDataSource.IsPasswordRequired Then
+ oDBConnection = oDBContext.GetByName(sDBName).GetConnection(&quot;&quot;,&quot;&quot;)
+ GetConnection() = True
+ Else
+ oInteractionHandler = createUnoService(&quot;com.sun.star.task.InteractionHandler&quot;)
+ oDataSource = oDBContext.GetByName(sDBName)
+ On Local Error Goto NOCONNECTION
+ Do
+ bExitLoop = True
+ oDBConnection = oDataSource.ConnectWithCompletion(oInteractionHandler)
+ NOCONNECTION:
+ bGetConnection = Err = 0
+ If bGetConnection Then
+ bGetConnection = Not IsNull(oDBConnection)
+ If Not bGetConnection Then
+ Exit Do
+ End If
+ End If
+ If Not bGetConnection Then
+ iMsg = Msgbox (sMsgNoConnection,32 + 2, sMsgWizardName)
+ bExitLoop = iMsg = SBCANCEL
+ Resume CLERROR
+ CLERROR:
+ End If
+ Loop Until bExitLoop
+ On Local Error Goto 0
+ If Not bGetConnection Then
+ DialogModel.lstTables.StringItemList() = Array(sSelectDBTable)
+ DialogModel.lstFields.StringItemList() = NullList()
+ DialogModel.lstSelFields.StringItemList() = NullList()
+ End If
+ GetConnection() = bGetConnection
+ End If
+End Function
+
+
+Function GetDBMetaData()
+ If oDBContext.HasElements Then
+ Tablenames() = oDBConnection.Tables.ElementNames()
+ Querynames() = oDBConnection.Queries.ElementNames()
+ GetDBMetaData = True
+ Else
+ MsgBox(sMsgErrNoDatabase, 64, sMsgWizardName)
+ GetDBMetaData = False
+ End If
+End Function
+
+
+Sub GetTableMetaData()
+Dim iType as Long
+Dim m as Integer
+Dim Found as Boolean
+Dim i as Integer
+Dim sFieldName as String
+Dim n as Integer
+Dim WidthIndex as Integer
+Dim oField as Object
+ MaxIndex = Ubound(DialogModel.lstSelFields.StringItemList())
+ Dim ColumnMap(MaxIndex)as Integer
+ FieldNames() = DialogModel.lstSelFields.StringItemList()
+ &apos; Build a structure which maps the position of a selected field (within the selection) to the the column position within
+ &apos; the table. So we ensure that the controls are placed in the same order the according fields are selected.
+ For i = 0 To Ubound(FieldNames())
+ sFieldName = FieldNames(i)
+ Found = False
+ n = 0
+ While (n&lt; MaxIndex And (Not Found))
+ If (FieldNames(n) = sFieldName) Then
+ Found = True
+ ColumnMap(n) = i
+ End If
+ n = n + 1
+ Wend
+ Next i
+ For n = 0 to MaxIndex
+ sFieldname = FieldNames(n)
+ oField = oColumns.GetByName(sFieldName)
+ iType = oField.Type
+ FieldMetaValues(n,0) = oField.Type
+ FieldMetaValues(n,1) = AssignFieldLength(oField.Precision)
+ FieldMetaValues(n,2) = GetValueoutofList(iType, WidthList(),1, WidthIndex)
+ FieldMetaValues(n,3) = WidthList(WidthIndex,3)
+ FieldMetaValues(n,4) = oField.FormatKey
+ FieldMetaValues(n,5) = oField.DefaultValue
+ FieldMetaValues(n,6) = oField.IsCurrency
+ FieldMetaValues(n,7) = oField.Scale
+&apos; If oField.Description &lt;&gt; &quot;&quot; Then
+&apos;&apos; Todo: What&apos;s wrong with this line?
+&apos; Msgbox oField.Helptext
+&apos; End If
+ FieldMetaValues(n,8) = oField.Description
+ Next
+ ReDim oDBShapeList(MaxIndex) as Object
+ ReDim oTCShapeList(MaxIndex) as Object
+ ReDim oDBModelList(MaxIndex) as Object
+ ReDim oGroupShapeList(MaxIndex) as Object
+End Sub
+
+
+Function GetSpecificFieldNames() as Integer
+Dim n as Integer
+Dim m as Integer
+Dim s as Integer
+Dim iType as Integer
+Dim oField as Object
+Dim MaxIndex as Integer
+Dim EmptyList()
+ If Ubound(DialogModel.lstTables.StringItemList()) &gt; -1 Then
+ FieldNames() = oColumns.GetElementNames()
+ MaxIndex = Ubound(FieldNames())
+ If MaxIndex &lt;&gt; -1 Then
+ Dim ResultFieldNames(MaxIndex)
+ ReDim ImgFieldNames(MaxIndex)
+ m = 0
+ For n = 0 To MaxIndex
+ oField = oColumns.GetByName(FieldNames(n))
+ iType = oField.Type
+ If GetIndexInMultiArray(WidthList(), iType, 0) &lt;&gt; -1 Then
+ ResultFieldNames(m) = FieldNames(n)
+ m = m + 1
+ End If
+ If GetIndexInMultiArray(ImgWidthList(), iType, 0) &lt;&gt; -1 Then
+ ImgFieldNames(s) = FieldNames(n)
+ s = s + 1
+ End If
+ Next n
+ If s &lt;&gt; 0 Then
+ Redim Preserve ImgFieldNames(s-1)
+ bEnableBinaryOptionGroup = True
+ Else
+ bEnableBinaryOptionGroup = False
+ End If
+ If (DialogModel.optBinariesasGraphics.State = 1) And (s &lt;&gt; 0) Then
+ ResultFieldNames() = AddListToList(ResultFieldNames(), ImgFieldNames())
+ Else
+ Redim Preserve ResultFieldNames(m-1)
+ End If
+ FieldNames() = ResultFieldNames()
+ DialogModel.lstFields.StringItemList = FieldNames()
+ InitializeListboxProcedures(DialogModel, DialogModel.lstFields, DialogModel.lstSelFields)
+ End If
+ GetSpecificFieldNames = MaxIndex
+ Else
+ GetSpecificFieldNames = -1
+ End If
+End Function
+
+
+Sub CreateDBForm()
+ If oDrawPage.Forms.Count = 0 Then
+ oDBForm = oDocument.CreateInstance(&quot;com.sun.star.form.component.Form&quot;)
+ oDrawpage.Forms.InsertByIndex (0, oDBForm)
+ Else
+ oDBForm = oDrawPage.Forms.GetByIndex(0)
+ End If
+ oDBForm.Name = &quot;Standard&quot;
+ oDBForm.DataSourceName = sDBName
+ oDBForm.Command = TableName
+ oDBForm.CommandType = CurCommandType
+End Sub
+
+
+Sub AddOrRemoveBinaryFieldsToWidthList()
+Dim LocWidthList()
+Dim MaxIndex as Integer
+Dim OldMaxIndex as Integer
+Dim s as Integer
+Dim n as Integer
+Dim m as Integer
+ If Not bDebug Then
+ On Local Error GoTo WIZARDERROR
+ End If
+ If DialogModel.optBinariesasGraphics.State = 1 Then
+ OldMaxIndex = Ubound(WidthList(),1)
+ If OldMaxIndex = 15 Then
+ MaxIndex = Ubound(WidthList(),1) + Ubound(ImgWidthList(),1) + 1
+ ReDim Preserve WidthList(MaxIndex,4)
+ s = 0
+ For n = OldMaxIndex + 1 To MaxIndex
+ For m = 0 To 3
+ WidthList(n,m) = ImgWidthList(s,m)
+ Next m
+ s = s + 1
+ Next n
+ MergeList(DialogModel.lstFields, ImgFieldNames())
+ End If
+ Else
+ ReDim Preserve WidthList(15, 4)
+ RemoveListItems(DialogModel.lstFields(), DialogModel.lstSelFields(), ImgFieldNames())
+ End If
+ DialogModel.lstSelFields.Tag = True
+WIZARDERROR:
+ If Err &lt;&gt; 0 Then
+ Msgbox(sMsgErrMsg, 16, GetProductName())
+ Resume LOCERROR
+ LOCERROR:
+ End If
+End Sub
+
+
+Function CreateCommandTypeList()
+Dim MaxTableIndex as Integer
+Dim MaxQueryIndex as Integer
+Dim MaxIndex as Integer
+Dim i as Integer
+Dim a as Integer
+ MaxTableIndex = Ubound(TableNames()
+ MaxQueryIndex = Ubound(QueryNames()
+ MaxIndex = MaxTableIndex + MaxQueryIndex + 1
+ If MaxIndex &gt; -1 Then
+ Dim LocCommandTypes(MaxIndex) as Integer
+ For i = 0 To MaxTableIndex
+ LocCommandTypes(i) = com.sun.star.sdb.CommandType.TABLE
+ Next i
+ a = i
+ For i = 0 To MaxQueryIndex
+ LocCommandTypes(a) = com.sun.star.sdb.CommandType.QUERY
+ a = a + 1
+ Next i
+ End If
+ CreateCommandTypeList() = LocCommandTypes()
+End Function
+
+
+Sub GetCurrentMetaValues(Index as Integer)
+ CurFieldType = FieldMetaValues(Index,0)
+ CurFieldLength = FieldMetaValues(Index,1)
+ CurControlType = FieldMetaValues(Index,2)
+ CurControlName = FieldMetaValues(Index,3)
+ CurFormatKey = FieldMetaValues(Index,4)
+ CurDefaultValue = FieldMetaValues(Index,5)
+ CurIsCurrency = FieldMetaValues(Index,6)
+ CurScale = FieldMetaValues(Index,7)
+ CurHelpText = FieldMetaValues(Index,8)
+ CurFieldName = FieldNames(Index)
+End Sub
+
+
+Function AssignFieldLength(FieldLength as Long) as Integer
+ If FieldLength &gt;= 65535 Then
+ AssignFieldLength() = -1
+ Else
+ AssignFieldLength() = FieldLength
+ End If
+End Function
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/FormWizard/DlgFormDB.xdl b/test/user-template/user/basic/FormWizard/DlgFormDB.xdl
new file mode 100644
index 000000000000..269b7e61819f
--- /dev/null
+++ b/test/user-template/user/basic/FormWizard/DlgFormDB.xdl
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE dlg:window PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "dialog.dtd">
+<dlg:window xmlns:dlg="http://openoffice.org/2000/dialog" xmlns:script="http://openoffice.org/2000/script" dlg:id="DlgFormDB" dlg:left="96" dlg:top="28" dlg:width="270" dlg:height="210" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGFORM_DIALOG" dlg:closeable="true" dlg:moveable="true">
+ <dlg:bulletinboard>
+ <dlg:text dlg:id="lblSelFields" dlg:tab-index="10" dlg:left="154" dlg:top="70" dlg:width="110" dlg:height="8" dlg:page="1" dlg:value="lblSelFields"/>
+ <dlg:menulist dlg:id="lstTables" dlg:tab-index="3" dlg:left="6" dlg:top="51" dlg:width="110" dlg:height="12" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGFORM_MASTER_LBTABLES" dlg:spin="true">
+ <script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:FormWizard.FormWizard.FormGetFields?language=Basic&amp;location=application" script:language="Script"/>
+ <script:event script:event-name="on-mousedown" script:macro-name="vnd.sun.star.script:FormWizard.FormWizard.DeleteFirstTableListBoxEntry?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:menulist>
+ <dlg:img dlg:id="imgTheme" dlg:tab-index="1" dlg:left="6" dlg:top="6" dlg:width="258" dlg:height="26" dlg:scale-image="false"/>
+ <dlg:button dlg:id="cmdCancel" dlg:tab-index="33" dlg:left="6" dlg:top="190" dlg:width="53" dlg:height="14" dlg:help-url="HID:34401" dlg:value="cmdCancel" dlg:button-type="cancel"/>
+ <dlg:button dlg:id="cmdHelp" dlg:tab-index="34" dlg:left="63" dlg:top="190" dlg:width="53" dlg:height="14" dlg:tag="34400" dlg:value="cmdHelp" dlg:button-type="help"/>
+ <dlg:button dlg:id="cmdBack" dlg:tab-index="35" dlg:left="155" dlg:top="190" dlg:width="53" dlg:height="14" dlg:help-url="HID:WIZARDS_HID_DLGFORM_CMDPREV" dlg:value="cmdBack">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:FormWizard.FormWizard.PreviousStep?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="cmdGoOn" dlg:tab-index="36" dlg:left="211" dlg:top="190" dlg:width="53" dlg:height="14" dlg:help-url="HID:WIZARDS_HID_DLGFORM_CMDNEXT" dlg:value="cmdGoOn">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:FormWizard.FormWizard.NextStep?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:text dlg:id="lblTables" dlg:tab-index="2" dlg:left="6" dlg:top="40" dlg:width="72" dlg:height="8" dlg:page="1" dlg:value="lblTables"/>
+ <dlg:text dlg:id="lblFields" dlg:tab-index="4" dlg:left="6" dlg:top="70" dlg:width="109" dlg:height="8" dlg:page="1" dlg:value="lblFields"/>
+ <dlg:button dlg:id="cmdMoveSelected" dlg:tab-index="6" dlg:left="122" dlg:top="84" dlg:width="25" dlg:height="14" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGFORM_OPTONEXISTINGRELATION" dlg:value="-&gt;">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Tools.Listbox.FormMoveSelected?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="cmdMoveAll" dlg:tab-index="7" dlg:left="122" dlg:top="101" dlg:width="25" dlg:height="14" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGFORM_OPTSELECTMANUALLY" dlg:value="=&gt;&gt;">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Tools.Listbox.FormMoveAll?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="cmdRemoveSelected" dlg:tab-index="8" dlg:left="122" dlg:top="118" dlg:width="25" dlg:height="14" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGFORM_lstRELATIONS" dlg:value="&lt;-">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Tools.Listbox.FormRemoveSelected?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="cmdRemoveAll" dlg:tab-index="9" dlg:left="122" dlg:top="135" dlg:width="25" dlg:height="14" dlg:page="1" dlg:help-url="HID:34425" dlg:value="&lt;&lt;=">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Tools.Listbox.FormRemoveAll?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:radiogroup>
+ <dlg:radio dlg:id="optIgnoreBinaries" dlg:tab-index="14" dlg:left="122" dlg:top="169" dlg:width="104" dlg:height="10" dlg:page="1" dlg:help-url="HID:34427" dlg:value="optIgnoreBinaries" dlg:checked="true">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:FormWizard.DBMeta.AddOrRemoveBinaryFieldsToWidthList?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:radio>
+ <dlg:radio dlg:id="optBinariesasGraphics" dlg:tab-index="13" dlg:left="12" dlg:top="169" dlg:width="104" dlg:height="10" dlg:page="1" dlg:help-url="HID:34426" dlg:value="optBinariesasGraphics">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:FormWizard.DBMeta.AddOrRemoveBinaryFieldsToWidthList?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:radio>
+ </dlg:radiogroup>
+ <dlg:menulist dlg:id="lstFields" dlg:tab-index="5" dlg:left="6" dlg:top="81" dlg:width="110" dlg:height="70" dlg:page="1" dlg:help-url="HID:34420" dlg:multiselection="true">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Tools.Listbox.FormMoveSelected?language=Basic&amp;location=application" script:language="Script"/>
+ <script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:Tools.Listbox.FormSetMoveRights?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:menulist>
+ <dlg:menulist dlg:id="lstSelFields" dlg:tab-index="11" dlg:left="154" dlg:top="81" dlg:width="110" dlg:height="70" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGFORM_CHKCREATESUBFORM" dlg:multiselection="true">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Tools.Listbox.FormRemoveSelected?language=Basic&amp;location=application" script:language="Script"/>
+ <script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:Tools.Listbox.FormSetMoveRights?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:menulist>
+ <dlg:text dlg:id="lblStyles" dlg:tab-index="25" dlg:left="150" dlg:top="39" dlg:width="114" dlg:height="8" dlg:page="2" dlg:value="lblStyles"/>
+ <dlg:button dlg:id="cmdArrange1" dlg:tab-index="16" dlg:left="12" dlg:top="50" dlg:width="23" dlg:height="25" dlg:page="2" dlg:tag="1" dlg:help-url="HID:WIZARDS_HID_DLGFORM_SUB_LBTABLES">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:FormWizard.Layouter.ChangeArrangemode?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="cmdArrange2" dlg:tab-index="17" dlg:left="39" dlg:top="50" dlg:width="23" dlg:height="25" dlg:page="2" dlg:tag="2" dlg:help-url="HID:WIZARDS_HID_DLGFORM_SUB_FIELDSAVAILABLE">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:FormWizard.Layouter.ChangeArrangemode?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="cmdArrange3" dlg:tab-index="18" dlg:left="66" dlg:top="50" dlg:width="23" dlg:height="25" dlg:page="2" dlg:tag="3" dlg:help-url="HID:WIZARDS_HID_DLGFORM_SUB_CMDMOVESELECTED">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:FormWizard.Layouter.ChangeArrangemode?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="cmdArrange4" dlg:tab-index="19" dlg:left="93" dlg:top="50" dlg:width="23" dlg:height="25" dlg:page="2" dlg:tag="4" dlg:help-url="HID:WIZARDS_HID_DLGFORM_SUB_CMDMOVEALL">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:FormWizard.Layouter.ChangeArrangemode?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="cmdArrange5" dlg:tab-index="20" dlg:left="120" dlg:top="50" dlg:width="23" dlg:height="25" dlg:page="2" dlg:tag="5" dlg:help-url="HID:WIZARDS_HID_DLGFORM_SUB_CMDREMOVESELECTED">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:FormWizard.Layouter.ChangeArrangemode?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:menulist dlg:id="lstStyles" dlg:tab-index="26" dlg:left="150" dlg:top="50" dlg:width="114" dlg:height="86" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGFORM_LINKER_LSTSLAVELINK2">
+ <script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:FormWizard.tools.ImportStyles?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:menulist>
+ <dlg:radiogroup>
+ <dlg:radio dlg:id="optBorder0" dlg:tab-index="22" dlg:left="12" dlg:top="95" dlg:width="131" dlg:height="10" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGFORM_SUB_CMDMOVEUP" dlg:value="optBorder0">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:FormWizard.Layouter.ChangeBorderLayouts?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:radio>
+ <dlg:radio dlg:id="optBorder1" dlg:tab-index="23" dlg:left="12" dlg:top="109" dlg:width="131" dlg:height="10" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGFORM_SUB_CMDMOVEDOWN" dlg:value="optBorder1">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:FormWizard.Layouter.ChangeBorderLayouts?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:radio>
+ <dlg:radio dlg:id="optBorder2" dlg:tab-index="24" dlg:left="12" dlg:top="123" dlg:width="131" dlg:height="10" dlg:page="2" dlg:help-url="HID:34440" dlg:value="optBorder2">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:FormWizard.Layouter.ChangeBorderLayouts?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:radio>
+ </dlg:radiogroup>
+ <dlg:fixedline dlg:id="hlnBinaries" dlg:tab-index="12" dlg:left="6" dlg:top="158" dlg:width="258" dlg:height="8" dlg:page="1" dlg:value="hlnBinaries"/>
+ <dlg:radiogroup>
+ <dlg:radio dlg:id="optTiled" dlg:tab-index="31" dlg:left="156" dlg:top="154" dlg:width="81" dlg:height="10" dlg:page="2" dlg:tag="11" dlg:help-url="HID:WIZARDS_HID_DLGFORM_LINKER_LSTMASTERLINK2" dlg:value="optTiled" dlg:checked="true">
+ <script:event script:event-name="on-mouseup" script:macro-name="vnd.sun.star.script:WebWizard.Common.SetBackGraphicStyle?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:radio>
+ <dlg:radio dlg:id="optArea" dlg:tab-index="32" dlg:left="156" dlg:top="168" dlg:width="81" dlg:height="10" dlg:page="2" dlg:tag="10" dlg:help-url="HID:WIZARDS_HID_DLGFORM_LINKER_LSTSLAVELINK3" dlg:value="optArea">
+ <script:event script:event-name="on-mouseup" script:macro-name="vnd.sun.star.script:WebWizard.Common.SetBackGraphicStyle?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:radio>
+ </dlg:radiogroup>
+ <dlg:fixedline dlg:id="hlnBackground" dlg:tab-index="30" dlg:left="150" dlg:top="143" dlg:width="114" dlg:height="8" dlg:page="2" dlg:value="hlnBackground"/>
+ <dlg:fixedline dlg:id="hlnAlign" dlg:tab-index="27" dlg:left="6" dlg:top="143" dlg:width="137" dlg:height="8" dlg:page="2" dlg:value="hlnAlign"/>
+ <dlg:fixedline dlg:id="hlnBorderLayout" dlg:tab-index="21" dlg:left="6" dlg:top="83" dlg:width="137" dlg:height="8" dlg:page="2" dlg:value="hlnBorderLayout"/>
+ <dlg:fixedline dlg:id="hlnArrangements" dlg:tab-index="15" dlg:left="6" dlg:top="39" dlg:width="137" dlg:height="8" dlg:page="2" dlg:value="hlnArrangements"/>
+ <dlg:radiogroup>
+ <dlg:radio dlg:id="optAlign0" dlg:tab-index="28" dlg:left="12" dlg:top="154" dlg:width="131" dlg:height="10" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGFORM_LINKER_LSTSLAVELINK1" dlg:value="optAlign0">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:FormWizard.Layouter.ChangeLabelAlignments?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:radio>
+ <dlg:radio dlg:id="optAlign2" dlg:tab-index="29" dlg:left="12" dlg:top="168" dlg:width="131" dlg:height="10" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGFORM_LINKER_LSTMASTERLINK1" dlg:value="optAlign2">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:FormWizard.Layouter.ChangeLabelAlignments?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:radio>
+ </dlg:radiogroup>
+ <dlg:fixedline dlg:id="FixedLine1" dlg:tab-index="0" dlg:left="6" dlg:top="180" dlg:width="258" dlg:height="6"/>
+ </dlg:bulletinboard>
+</dlg:window> \ No newline at end of file
diff --git a/test/user-template/user/basic/FormWizard/FormWizard.xba b/test/user-template/user/basic/FormWizard/FormWizard.xba
new file mode 100644
index 000000000000..99103d9335bc
--- /dev/null
+++ b/test/user-template/user/basic/FormWizard/FormWizard.xba
@@ -0,0 +1,427 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="FormWizard" script:language="StarBasic">Option Explicit
+
+Public DocumentName as String
+Public FormPath as String
+Public WizardPath as String
+Public WebWizardPath as String
+Public WorkPath as String
+Public TempPath as String
+Public TexturePath as String
+Public sQueryName as String
+Public oDBConnection as Object
+Public bWithBackGraphic as Boolean
+Public bNeedFieldRefresh as Boolean
+Public oDBForm as Object
+Public oColumns() as Object
+Public sDatabaseList() as String
+Public TableNames() as String
+Public QueryNames() as String
+Public FieldNames() as String
+Public ImgFieldNames() as String
+Public oDBContext as Object
+Public oUcb as Object
+Public oDocInfo as Object
+Public WidthList(15,3)
+Public ImgWidthList(3,3)
+Public sDBName as String
+Public Tablename as String
+Public Const SBSIZETEXT = &quot;The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.&quot;
+Public bDisposeDoc as Boolean
+Public bDebug as Boolean
+&apos;Public bStartUp as Boolean
+Public bConnectionIsovergiven as Boolean
+Public FormName As String
+Public sFormUrl as String
+Public oFormDocuments
+
+
+&apos; The macro can be called in 4 possible scenarios:
+&apos; Scenario 1. No parameters at given
+&apos; Scenario 2: Only Datasourcename is given, but no connection and no Content
+&apos; Scenario 3: a data source and a connection are given
+&apos; Scenario 4: all parameters (data source name, connection, object type and object) are given
+
+Sub Main()
+Dim oLocDBContext as Object
+Dim oLocConnection as Object
+
+&apos; Scenario 1. No parameters at given
+ MainWithDefault()
+
+&apos; Scenario 2: Only Datasourcename is given, but no connection and no Content
+&apos; MainWithDefault(&quot;Bibliography&quot;)
+
+&apos; Scenario 3: a data source and a connection are given
+&apos; oLocDBContext = CreateUnoService(&quot;com.sun.star.sdb.DatabaseContext&quot;)
+&apos; oLocConnection = oLocDBContext.GetByName(&quot;Bibliography&quot;).GetConnection(&quot;&quot;,&quot;&quot;)
+&apos; MainWithDefault(&quot;Bibliography&quot;, oLocConnection)
+
+&apos; Scenario 4: all parameters (data source name, connection, object type and object) are given
+&apos; oLocDBContext = CreateUnoService(&quot;com.sun.star.sdb.DatabaseContext&quot;)
+&apos; oLocConnection = oLocDBContext.GetByName(&quot;Bibliography&quot;).GetConnection(&quot;&quot;,&quot;&quot;)
+&apos; MainWithDefault(&quot;Bibliography&quot;, oLocConnection, com.sun.star.sdb.CommandType.TABLE, &quot;biblio&quot;)
+End Sub
+
+
+Sub MainWithDefault(Optional DatasourceName as String, Optional oConnection as Object, Optional CommandType as Integer, Optional sContent as String)
+Dim i as Integer
+Dim SelCount as Integer
+Dim RetValue as Integer
+Dim SelList(0) as Integer
+Dim LocList() as String
+ SelList(0) = 0
+ BasicLibraries.LoadLibrary(&quot;Tools&quot;)
+ BasicLibraries.LoadLibrary(&quot;WebWizard&quot;)
+ bDebug = False
+ If Not bDebug Then
+ On Local Error GoTo WIZARDERROR
+ End If
+ OpenFormDocument()
+ CurArrangement = 0
+ bControlsareCreated = False
+ bEnableBinaryOptionGroup = False
+ bDisposeDoc = True
+ MaxIndex = -1
+ If Not InitResources(&quot;Formwizard&quot;,&quot;dbw&quot;) Then
+ Exit Sub
+ End If
+ oDBContext = CreateUnoService(&quot;com.sun.star.sdb.DatabaseContext&quot;)
+ oUcb = createUnoService(&quot;com.sun.star.ucb.SimpleFileAccess&quot;)
+ If GetFormWizardPaths() = False Then
+ Exit Sub
+ End If
+ oDocument.GetCurrentController().Frame.ComponentWindow.Enable = False
+ oProgressBar.Value = 10
+ LoadLanguage()
+ oProgressBar.Value = 20
+ InitializeWidthList()
+ oProgressBar.Value = 30
+ Styles() = getListBoxArrays(oUcb, &quot;/stl&quot;)
+ CurIndex = GetCurIndex(DialogModel, Styles(), 2)
+ oProgressBar.Value = 40
+ ConfigurePageStyle()
+ oProgressBar.Value = 50
+ InitializeLabelValues()
+ bNeedFieldRefresh = True
+ SetDialogLanguage()
+&apos; bStartUp = true
+ With DialogModel
+ .cmdBack.Enabled = False
+ .cmdGoOn.Enabled = False
+ .lblTables.Enabled = False
+ .lstSelFields.Tag = False
+ .Step = 1
+ End With
+ oProgressBar.Value = 60
+ bConnectionIsovergiven = Not IsMissing(oConnection)
+ If Not IsMissing(DataSourceName) Then
+ sDBName = DataSourceName
+ If Not IsMissing(oConnection) Then
+ &apos; Scenario 3: a data source and a connection are given
+ Set oDBConnection = oConnection
+ oDataSource = oDBContext.GetByName(DataSourceName)
+ DialogModel.lstTables.Enabled = True
+ DialogModel.lblTables.Enabled = True
+ If GetDBMetaData() Then
+ LocList() = AddListToList(TableNames(), QueryNames())
+ iCommandTypes = CreateCommandTypeList()
+ If Not IsMissing(sContent) Then
+ &apos; Scenario 4: all parameters (data source name, connection, object type and object) are given
+ DialogModel.lstTables.StringItemList() = LocList()
+ iCommandTypes() = CreateCommandTypeList()
+ SelCount = CountItemsInArray(DialogModel.lstTables.StringItemList(), sContent)
+ If SelCount = 1 Then
+ DlgFormDB.GetControl(&quot;lstTables&quot;).SelectItem(sContent, True)
+ Else
+ If CommandType = com.sun.star.sdb.CommandType.QUERY Then
+ SelIndex = IndexInArray(sContent, QueryNames()
+ DlgFormDB.GetControl(&quot;lstTables&quot;).SelectItemPos(SelIndex, True)
+ ElseIf CommandType = com.sun.star.sdb.CommandType.TABLE Then
+ SelIndex = IndexInArray(sContent, TableNames()
+ DlgFormDB.GetControl(&quot;lstTables&quot;).SelectItemPos(Ubound(QueryNames()+1 + SelIndex, True)
+ End If
+ End If
+ CurCommandType = CommandType
+ FillUpFieldsListbox(False)
+ Else
+ LocList() = AddListToList(Array(sSelectDBTable), LocList())
+ DialogModel.lstTables.StringItemList() = LocList()
+&apos; bSelectContent = True
+ DialogModel.lstTables.SelectedItems() = Array(0)
+
+ End If
+ End If
+ Else
+ &apos; Scenario 2: Only Datasourcename is given, but no connection and no Content
+ GetSelectedDBMetaData(sDBName)
+ End If
+ Else
+ &apos; Scenario 1: No parameters are given
+ ToggleListboxControls(DialogModel, False)
+ End If
+ oProgressBar.Value = 80
+ bWithBackGraphic = LoadNewStyles(oDocument, DialogModel, CurIndex, Styles(CurIndex, 8), Styles(), TexturePath)
+ DlgFormDB.Title = WizardTitle(1)
+ DialogModel.lstStyles.StringItemList() = ArrayfromMultiArray(Styles, 1)
+ DialogModel.lstStyles.SelectedItems() = SelList()
+ ControlCaptionsToStandardLayout()
+ oDocument.GetCurrentController().Frame.ComponentWindow.Enable = True
+ oProgressBar.Value = 90
+ DialogModel.imgTheme.ImageURL = FormPath &amp; &quot;FormWizard_1.bmp&quot;
+ DialogModel.imgTheme.BackGroundColor = RGB(0,60,126)
+ ToggleDatabasePage(True)
+ oProgressBar.Value = 100
+ DlgFormDB.GetControl(&quot;lstTables&quot;).SetFocus()
+ oProgressbar.End
+ RetValue = DlgFormDB.Execute()
+ DlgFormDB.Dispose()
+ If bDisposeDoc Then
+ Dim aPropertyValues(2) as new com.sun.star.beans.PropertyValue
+ oFormDocuments = oDataSource.getFormDocuments()
+ DlgFormDB.Dispose()
+ oDocument.dispose()
+ Dim bLinkExists as Boolean
+ i = 1
+ Dim FormBaseName as String
+ FormBaseName = FormName
+ Do
+ bLinkExists = oFormDocuments.HasbyHierarchicalName(FormName)
+ If bLinkExists Then
+ i = i + 1
+ FormName = FormBaseName &amp; &quot;_&quot; &amp; i
+ End If
+ Loop Until Not bLinkExists
+ aPropertyValues(0).Name = &quot;Name&quot;
+ aPropertyValues(0).Value = FormName
+ aPropertyValues(1).Name = &quot;Parent&quot;
+ aPropertyValues(1).Value = oFormDocuments()
+ aPropertyValues(2).Name = &quot;URL&quot;
+ aPropertyValues(2).Value = sFormUrl
+ Dim oDBDocument
+ oDBDocument = oFormDocuments.createInstanceWithArguments(&quot;com.sun.star.sdb.DocumentDefinition&quot;, aPropertyValues())
+ oFormDocuments.insertbyName(FormName, oDBDocument)
+ ElseIf RetValue = 0 Then
+ RemoveNirwanaShapes()
+ End If
+ If ((Not IsNull(oDBConnection)) And (Not bConnectionIsovergiven)) Then
+ oDBConnection.Dispose()
+ End If
+WIZARDERROR:
+ If Err &lt;&gt; 0 Then
+ Msgbox(sMsgErrMsg, 16, GetProductName())
+ Resume LOCERROR
+ LOCERROR:
+ End If
+End Sub
+
+
+Sub FormGetFields()
+Dim i as Integer
+&apos; If bSelectContent Then
+&apos; bSelectContent = False
+&apos; Exit Sub
+&apos; End If
+ DeleteFirstListBoxEntry(&quot;lstTables&quot;, sSelectDBTable)
+ ToggleDatabasePage(False)
+ FillUpFieldsListbox(True)
+ ToggleDatabasePage(True)
+End Sub
+
+
+Sub FillUpFieldsListbox(bGetCommandType as Boolean)
+Dim SelIndex as Integer
+Dim QueryIndex as Integer
+ If Not bDebug Then
+ On Local Error GoTo NOFIELDS
+ End If
+ SelIndex = DlgFormDB.GetControl(&quot;lstTables&quot;).getSelectedItemPos() &apos;.SelectedItems())
+ If SelIndex &gt; -1 Then
+ If bGetCommandType Then
+ CurCommandType = iCommandTypes(SelIndex)
+ End If
+ If CurCommandType = com.sun.star.sdb.CommandType.QUERY Then
+ QueryIndex = SelIndex - Ubound(Tablenames()) - 1
+ Tablename = QueryNames(QueryIndex)
+ oColumns = oDBConnection.Queries.GetByName(TableName).Columns
+ Else
+ Tablename = Tablenames(SelIndex)
+ oColumns = oDBConnection.Tables.GetByName(Tablename).Columns
+ End If
+ If GetSpecificFieldNames() &lt;&gt; -1 Then
+ ToggleListboxControls(DialogModel, True)
+ Exit Sub
+ End If
+ End If
+ EmptyFieldsListboxes()
+NOFIELDS:
+ If Err &lt;&gt; 0 Then
+ MsgBox sMsgErrCouldNotOpenObject, 16, sMsgWizardName
+ End If
+End Sub
+
+
+Sub PreviousStep()
+ If Not bDebug Then
+ On Local Error GoTo WIZARDERROR
+ End If
+ With DialogModel
+ .Step = 1
+ .cmdBack.Enabled = False
+ .cmdGoOn.Enabled = True
+ .lstSelFields.Tag = Not bControlsareCreated
+ .cmdGoOn.Label = sGoOn
+ .imgTheme.ImageUrl = FormPath &amp; &quot;FormWizard_1.bmp&quot;
+ End With
+ FormSetMoveRights()
+WIZARDERROR:
+ If Err &lt;&gt; 0 Then
+ Msgbox(sMsgErrMsg, 16, GetProductName())
+ Resume LOCERROR
+ LOCERROR:
+ End If
+End Sub
+
+
+Sub NextStep()
+ If Not bDebug Then
+ On Local Error GoTo WIZARDERROR
+ End If
+ Select Case DialogModel.Step
+ Case 1
+ bControlsAreCreated = Not (cBool(DialogModel.lstSelFields.Tag))
+ If Not bControlsAreCreated Then
+ GetTableMetaData()
+ CreateDBForm()
+ RemoveShapes()
+ InitializeLayoutSettings()
+ oDBForm.Load
+ End If
+ DialogModel.cmdGoOn.Label = sReady
+ DialogModel.cmdBack.Enabled = True
+ DialogModel.Step = 2
+ bDisposeDoc = False
+ Case 2
+ StoreForm()
+ DlgFormDB.EndExecute()
+ exit Sub
+ End Select
+ DialogModel.imgTheme.ImageUrl = FormPath &amp; &quot;FormWizard_&quot; &amp; DialogModel.Step &amp; &quot;.bmp&quot;
+ DlgFormDB.Title = WizardTitle(DialogModel.Step)
+WIZARDERROR:
+ If Err &lt;&gt; 0 Then
+ Msgbox(sMsgErrMsg, 16, GetProductName())
+ Resume LOCERROR
+ LOCERROR:
+ End If
+End Sub
+
+
+Sub InitializeLayoutSettings()
+ SwitchArrangementButtons(cTabled)
+ SwitchAlignMode(SBALIGNLEFT)
+ SwitchBorderMode(SB3DBORDER)
+ ToggleBorderGroup(bControlsAreCreated)
+ ToggleAlignGroup(bControlsAreCreated)
+ ArrangeControls()
+ If OldAlignMode &lt;&gt; 0 Then
+ DlgFormDB.GetControl(&quot;optAlign2&quot;).Model.State = 0
+ End If
+End Sub
+
+
+Sub ToggleDatabasePage(bDoEnable as Boolean)
+ With DialogModel
+ .cmdBack.Enabled = False
+ .cmdHelp.Enabled = bDoEnable
+ .cmdGoOn.Enabled = Ubound(DialogModel.lstSelFields.StringItemList()) &lt;&gt; -1
+ .hlnBinaries.Enabled = ((bDoEnable = True) And (bEnableBinaryOptionGroup = True))
+ .optIgnoreBinaries.Enabled = ((bDoEnable = True) And (bEnableBinaryOptionGroup = True))
+ .optBinariesasGraphics.Enabled = ((bDoEnable = True) And (bEnableBinaryOptionGroup = True))
+ End With
+End Sub
+
+
+&apos; This Sub is called from the Procedure &quot;StoreDocument&quot; in the &quot;Tools&quot; Library
+Sub CommitLastDocumentChanges(sTargetPath as String)
+Dim i as Integer
+Dim sBookmarkName as String
+Dim oDBBookmarks as Object
+Dim bLinkExists as Boolean
+Dim sBaseBookmarkName as String
+ sBookmarkName = GetFileNamewithoutExtension(FileNameoutofPath(sTargetPath))
+ sBaseBookmarkName = sBookmarkName
+ oDBBookmarks = oDataSource.GetBookmarks()
+ i = 1
+ Do
+ bLinkExists = oDBBookmarks.HasbyName(sBookmarkName)
+ If bLinkExists Then
+ i = i + 1
+ sBookmarkName = sBaseBookmarkName &amp; &quot;_&quot; &amp; i
+ Else
+ oDBBookmarks.insertByName(sBookmarkName, sTargetPath)
+ End If
+ Loop Until Not bLinkExists
+ bDisposeDoc = False
+ GroupShapesTogether()
+ ToggleDesignMode(oDocument)
+ oDBForm.Reload()
+End Sub
+
+
+Sub StoreFormInDatabase()
+ Dim NoArgs() as new com.sun.star.beans.PropertyValue
+ FormName = &quot;Form_&quot; &amp; sDBName &amp; &quot;_&quot; &amp; TableName &amp; &quot;.sxw&quot;
+ sFormUrl = TempPath &amp; &quot;/&quot; &amp; FormName
+ oDocument.StoreAsUrl(sFormUrl, NoArgs())
+ bdisposeDoc = true
+ DlgFormDB.Endexecute()
+End Sub
+
+
+
+Sub StoreForm()
+Dim sTargetPath as String
+Dim TypeNames(0,2) as String
+Dim oMasterKey as Object
+Dim oTypes() as Object
+ oMasterKey = GetRegistryKeyContent(&quot;org.openoffice.TypeDetection.Types/&quot;)
+ oTypes() = oMasterKey.Types
+ TypeNames(0,0) = GetFilterName(&quot;StarOffice XML (Writer)&quot;)
+ TypeNames(0,1) = &quot;*.sxw&quot;
+ TypeNames(0,2) = &quot;&quot;
+ StoreFormInDatabase()
+&apos; sTargetPath = StoreDocument(oDocument, TypeNames(), &quot;Form_&quot; &amp; sDBName &amp; &quot;_&quot; &amp; TableName &amp; &quot;.sxw&quot;, WorkPath, 1)
+End Sub
+
+
+
+Sub EmptyFieldsListboxes()
+Dim NullList() as String
+ ToggleListboxControls(DialogModel, False)
+ DialogModel.lstFields.StringItemList() = NullList()
+ DialogModel.lstSelFields.StringItemList() = NullList()
+ bEnableBinaryOptionGroup = False
+End Sub
+
+
+Sub DeleteFirstTableListBoxEntry()
+ DeleteFirstListBoxEntry(&quot;lstTables&quot;, sSelectDBTable)
+End Sub
+
+Sub DeleteFirstListboxEntry(ListBoxName as String, DelEntryName as String)
+Dim oListbox as Object
+Dim sFirstItem as String
+dim iSelPos as Integer
+ oListBox = DlgFormDB.getControl(ListBoxName)
+ sFirstItem = oListBox.getItem(0)
+ If sFirstItem = DelEntryName Then
+ iSelPos = oListBox.getSelectedItemPos()
+ oListBox.removeItems(0, 1)
+ If iSelPos &gt; 0 Then
+ oListBox.selectItemPos(iSelPos-1, True)
+ End If
+ End If
+End Sub
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/FormWizard/Language.xba b/test/user-template/user/basic/FormWizard/Language.xba
new file mode 100644
index 000000000000..2f2b7e3ec11f
--- /dev/null
+++ b/test/user-template/user/basic/FormWizard/Language.xba
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Language" script:language="StarBasic">Option Explicit
+
+
+Global Const RID_COMMON = 1000
+Global Const RID_FORM = 2200
+
+Public Const SBCANCEL = 2
+Public Const SBREPEAT = 4
+Public LabelDiffHeight as Long
+Public BasicLabelDiffHeight as Long
+
+Public WizardTitle(1 To 3) as String
+Public DlgFormDB as Object
+Public DialogModel as Object
+
+Dim sMsgWizardName as String
+Dim sMsgErrMsg as String
+Dim sMsgErrNoDatabase as String
+Dim sMsgErrNoTableInDatabase as String
+Dim sMsgErrTitleSuggestedExist as String
+Dim sMsgErrTitleSyntaxError as String
+Dim sMsgErrTitleAsTableExist as String
+Dim sMsgProgressText as String
+Dim sMsgCreatedForm as String
+Dim sMsgErrCouldNotOpenObject as String
+Dim sMsgErrNameToLong as String
+Dim sTimeAppendix as String
+Dim sDateAppendix as String
+Public sGoOn as String
+Public sReady as String
+Public sMsgNoConnection as String
+Public sWriterFilterName as String
+Public XPixelFactor as Long
+Public YPixelFactor as Long
+Public sSelectDatasource as String
+Public sSelectDBTable as String
+
+
+
+Sub LoadLanguage ()
+ sMsgWizardName = GetResText(RID_FORM + 0)
+ sMsgErrMsg = GetResText(RID_COMMON + 6)
+ sMsgErrNoDatabase = GetResText(RID_COMMON + 8)
+ sMsgErrNoTableInDatabase = GetResText(RID_COMMON + 9)
+ sMsgErrTitleSuggestedExist = GetResText(RID_COMMON + 10)
+ sMsgErrTitleAsTableExist = GetResText(RID_COMMON + 10)
+ sMsgErrTitleSyntaxError = GetResText(RID_COMMON + 11)
+ sMsgNoConnection = GetResText(RID_COMMON + 14
+ sMsgProgressText = GetResText(RID_FORM + 2)
+ sMsgCreatedForm = GetResText(RID_FORM + 26)
+ sMsgErrNameToLong = GetResText (RID_FORM + 27)
+ sMsgErrCouldNotOpenObject = GetResText (RID_COMMON + 13)
+
+ &apos; Internal Logic
+ sDateAppendix = GetResText(RID_FORM + 4)
+ sTimeAppendix = GetResText(RID_FORM + 5)
+
+ sReady = GetResText(RID_COMMON + 0)
+End Sub
+
+
+Sub SetDialogLanguage ()
+Dim i as Integer
+Dim ButtonHelpText as String
+Dim CmdButton as Object
+Dim IDArray as Variant
+Dim FNameAddOn as String
+Dim slblSelFields as String
+Dim slblFields as String
+
+ DlgFormDB = LoadDialog(&quot;FormWizard&quot;, &quot;DlgFormDB&quot;)
+ DialogModel = DlgFormDB.Model
+
+ With DialogModel
+ .cmdCancel.Label = GetResText(RID_COMMON + 1)
+ .cmdBack.Label = GetResText(RID_COMMON + 2)
+ .cmdHelp.Label = GetResText(RID_COMMON + 20)
+ sGoOn = GetResText(RID_COMMON + 3)
+ .cmdGoOn.Label = sGoOn
+ .lblTables.Label = GetResText(RID_FORM + 6)
+
+ slblFields = GetResText(RID_FORM + 12)
+ slblSelFields = GetResText(RID_FORM + 13)
+ .lblFields.Label = slblFields
+ .lblSelFields.Label = slblSelFields
+
+ .lblStyles.Label = GetResText(RID_FORM + 21)
+ .hlnBorderLayout.Label = GetResText(RID_FORM + 28)
+ .hlnAlign.Label = GetResText(RID_FORM + 32)
+ .hlnArrangements.Label = GetResText(RID_FORM + 35)
+
+ WizardTitle(1) = sMsgWizardName &amp; &quot; - &quot; &amp; GetResText(RID_FORM + 45)
+ WizardTitle(2) = sMsgWizardName &amp; &quot; - &quot; &amp; GetResText(RID_FORM + 46)
+ WizardTitle(3) = sMsgWizardName &amp; &quot; - &quot; &amp; GetResText(RID_FORM + 47)
+
+ .hlnBinaries.Label = GetResText(RID_FORM + 50)
+ .optIgnoreBinaries.Label = GetResText(RID_FORM + 51)
+ .optBinariesasGraphics.Label = GetResText(RID_FORM + 52)
+
+ .hlnBackground.Label = GetResText(RID_FORM + 55)
+ .optTiled.Label = GetResText(RID_FORM + 56)
+ .optArea.Label = GetResText(RID_FORM + 57)
+
+ .optBorder0.Label = GetResText(RID_FORM + 29)
+ .optBorder1.Label = GetResText(RID_FORM + 30)
+ .optBorder2.Label = GetResText(RID_FORM + 31)
+ .optBorder1.State = 1
+
+ .optAlign0.Label = GetResText(RID_FORM + 33)
+ .optAlign2.Label = GetResText(RID_FORM + 34)
+ .optAlign0.State = 1
+
+ //FIXME: Remove this unused FNameAddOn through the file
+ FNameAddOn = &quot;&quot;
+
+ IDArray = Array(36, 37, 40, 38, 39)
+ For i = 1 To 5
+ ButtonHelpText = GetResText(RID_FORM + IDArray(i-1)
+ cmdButton = DlgFormDB.getControl(&quot;cmdArrange&quot; &amp; i)
+ cmdButton.Model.ImageURL = FormPath &amp; &quot;Arrange_&quot; &amp; i &amp; FNameAddOn &amp; &quot;.gif&quot;
+ cmdButton.Model.HelpText = ButtonHelpText
+ cmdButton.getPeer().setProperty(&quot;AccessibleName&quot;, ButtonHelpText)
+ Next i
+&apos; .cmdArrange1.ImageURL = FormPath &amp; &quot;Arrange_1&quot; &amp; FNameAddOn &amp; &quot;.gif&quot;
+&apos; .cmdArrange1.HelpText = GetResText(RID_FORM + 36)
+&apos;
+&apos; .cmdArrange2.ImageURL = FormPath &amp; &quot;Arrange_2&quot; &amp; FNameAddOn &amp; &quot;.gif&quot;
+&apos; .cmdArrange2.HelpText = GetResText(RID_FORM + 37)
+&apos;
+&apos; .cmdArrange3.ImageURL = FormPath &amp; &quot;Arrange_3&quot; &amp; FNameAddOn &amp; &quot;.gif&quot;
+&apos; .cmdArrange3.HelpText = GetResText(RID_FORM + 40)
+&apos;
+&apos; .cmdArrange4.ImageURL = FormPath &amp; &quot;Arrange_4&quot; &amp; FNameAddOn &amp; &quot;.gif&quot;
+&apos; .cmdArrange4.HelpText = GetResText(RID_FORM + 38)
+&apos;
+&apos; .cmdArrange5.ImageURL = FormPath &amp; &quot;Arrange_5&quot; &amp; FNameAddOn &amp; &quot;.gif&quot;
+&apos; .cmdArrange5.HelpText = GetResText(RID_FORM + 39)
+ sWriterFilterName = GetResText(RID_FORM + 70)
+ End With
+ DlgFormDB.GetControl(&quot;cmdMoveSelected&quot;).getPeer().setProperty(&quot;AccessibleName&quot;, GetResText(RID_COMMON + 39)
+ DlgFormDB.GetControl(&quot;cmdRemoveSelected&quot;).getPeer().setProperty(&quot;AccessibleName&quot;, GetResText(RID_COMMON + 40)
+ DlgFormDB.GetControl(&quot;cmdMoveAll&quot;).getPeer().setProperty(&quot;AccessibleName&quot;, GetResText(RID_COMMON + 41)
+ DlgFormDB.GetControl(&quot;cmdRemoveAll&quot;).getPeer().setProperty(&quot;AccessibleName&quot;, GetResText(RID_COMMON + 42)
+ DlgFormDB.getControl(&quot;lstFields&quot;).getPeer().setProperty(&quot;AccessibleName&quot;, DeleteStr(slblFields, &quot;~&quot;))
+ DlgFormDB.getControl(&quot;lstSelFields&quot;).getPeer().setProperty(&quot;AccessibleName&quot;, DeleteStr(slblSelFields, &quot;~&quot;))
+
+ sSelectDatasource = GetResText(RID_COMMON + 37)
+ sSelectDBTable = GetResText(RID_COMMON + 38)
+End Sub
+
+
+
+Sub InitializeWidthList()
+
+ If Ubound(WidthList(),1) &gt; 16 Then
+ ReDim WidthList(16,4)
+ End If
+
+ WidthList(0,0) = com.sun.star.sdbc.DataType.BIT &apos; = -7;
+ WidthList(0,1) = cCheckbox
+ WidthList(0,2) = False
+ WidthList(0,3) = &quot;CheckBox&quot;
+
+ WidthList(1,0) = com.sun.star.sdbc.DataType.TINYINT &apos; = -6;
+ WidthList(1,1) = cNumericBox
+ WidthList(1,2) = False
+ WidthList(1,3) = &quot;FormattedField&quot;
+
+ WidthList(2,0) = com.sun.star.sdbc.DataType.SMALLINT &apos; = 5;
+ WidthList(2,1) = cNumericBox
+ WidthList(2,2) = False
+ WidthList(2,3) = &quot;FormattedField&quot;
+
+ WidthList(3,0) = com.sun.star.sdbc.DataType.INTEGER &apos; = 4;
+ WidthList(3,1) = cNumericBox
+ WidthList(3,2) = False
+ WidthList(3,3) = &quot;FormattedField&quot;
+
+ WidthList(4,0) = com.sun.star.sdbc.DataType.BIGINT &apos; = -5;
+ WidthList(4,1) = cNumericBox
+ WidthList(4,2) = False
+ WidthList(4,3) = &quot;FormattedField&quot;
+
+ WidthList(5,0) = com.sun.star.sdbc.DataType.FLOAT &apos; = 6;
+ WidthList(5,1) = cNumericBox
+ WidthList(5,2) = False
+ WidthList(5,3) = &quot;FormattedField&quot;
+
+ WidthList(6,0) = com.sun.star.sdbc.DataType.REAL &apos; = 7;
+ WidthList(6,1) = cNumericBox
+ WidthList(6,2) = False
+ WidthList(6,3) = &quot;FormattedField&quot;
+
+ WidthList(7,0) = com.sun.star.sdbc.DataType.DOUBLE &apos; = 8;
+ WidthList(7,1) = cNumericBox
+ WidthList(7,2) = False
+ WidthList(7,3) = &quot;FormattedField&quot;
+
+ WidthList(8,0) = com.sun.star.sdbc.DataType.NUMERIC &apos; = 2;
+ WidthList(8,1) = cNumericBox
+ WidthList(8,2) = False
+ WidthList(8,3) = &quot;FormattedField&quot;
+
+ WidthList(9,0) = com.sun.star.sdbc.DataType.DECIMAL &apos; = 3; (including decimal places)
+ WidthList(9,1) = cNumericBox
+ WidthList(9,2) = False
+ WidthList(9,3) = &quot;FormattedField&quot;
+
+ WidthList(10,0) = com.sun.star.sdbc.DataType.CHAR &apos; = 1;
+ WidthList(10,1) = cTextBox
+ WidthList(10,2) = False
+ WidthList(10,3) = &quot;TextField&quot;
+
+ WidthList(11,0) = com.sun.star.sdbc.DataType.VARCHAR &apos; = 12;
+ WidthList(11,1) = cTextBox
+ WidthList(11,2) = True
+ WidthList(11,3) = &quot;TextField&quot;
+
+ WidthList(12,0) = com.sun.star.sdbc.DataType.LONGVARCHAR &apos; = -1;
+ WidthList(12,1) = cTextBox
+ WidthList(12,2) = True
+ WidthList(12,3) = &quot;TextField&quot;
+
+ WidthList(13,0) = com.sun.star.sdbc.DataType.DATE &apos; = 91;
+ WidthList(13,1) = cDateBox
+ WidthList(13,2) = False
+ WidthList(13,3) = &quot;DateField&quot;
+
+ WidthList(14,0) = com.sun.star.sdbc.DataType.TIME &apos; = 92;
+ WidthList(14,1) = cTimeBox
+ WidthList(14,2) = False
+ WidthList(14,3) = &quot;TimeField&quot;
+
+ WidthList(15,0) = com.sun.star.sdbc.DataType.TIMESTAMP &apos; = 93;
+ WidthList(15,1) = cDateBox
+ WidthList(15,2) = False
+ WidthList(15,3) = &quot;DateField&quot;
+
+ WidthList(16,0) = com.sun.star.sdbc.DataType.BOOLEAN &apos; = 16;
+ WidthList(16,1) = cCheckbox
+ WidthList(16,2) = False
+ WidthList(16,3) = &quot;CheckBox&quot;
+
+ ImgWidthList(0,0) = com.sun.star.sdbc.DataType.BINARY &apos; = -2;
+ ImgWidthList(0,1) = cImageControl
+ ImgWidthList(0,2) = False
+ ImgWidthList(0,3) = &quot;ImageControl&quot;
+
+ ImgWidthList(1,0) = com.sun.star.sdbc.DataType.VARBINARY &apos; = -3;
+ ImgWidthList(1,1) = cImageControl
+ ImgWidthList(1,2) = False
+ ImgWidthList(1,3) = &quot;ImageControl&quot;
+
+ ImgWidthList(2,0) = com.sun.star.sdbc.DataType.LONGVARBINARY &apos; = -4;
+ ImgWidthList(2,1) = cImageControl
+ ImgWidthList(2,2) = False
+ ImgWidthList(2,3) = &quot;ImageControl&quot;
+
+ ImgWidthList(3,0) = com.sun.star.sdbc.DataType.BLOB &apos; = 2004;
+ ImgWidthList(3,1) = cImageControl
+ ImgWidthList(3,2) = False
+ ImgWidthList(3,3) = &quot;ImageControl&quot;
+
+&apos; Note: the following Fieldtypes are ignored
+&apos;ExcludeList(0) = com.sun.star.sdbc.DataType.SQLNULL
+&apos;ExcludeList(1) = com.sun.star.sdbc.DataType.OTHER
+&apos;ExcludeList(2) = com.sun.star.sdbc.DataType.OBJECT
+&apos;ExcludeList(3) = com.sun.star.sdbc.DataType.DISTINCT
+&apos;ExcludeList(4) = com.sun.star.sdbc.DataType.STRUCT
+&apos;ExcludeList(5) = com.sun.star.sdbc.DataType.ARRAY
+&apos;ExcludeList(6) = com.sun.star.sdbc.DataType.CLOB
+&apos;ExcludeList(7) = com.sun.star.sdbc.DataType.REF
+
+ oModelService(cLabel) = &quot;com.sun.star.form.component.FixedText&quot;
+ oModelService(cTextBox) = &quot;com.sun.star.form.component.TextField&quot;
+ oModelService(cCheckBox) = &quot;com.sun.star.form.component.CheckBox&quot;
+ oModelService(cDateBox) = &quot;com.sun.star.form.component.DateField&quot;
+ oModelService(cTimeBox) = &quot;com.sun.star.form.component.TimeField&quot;
+ oModelService(cNumericBox) = &quot;com.sun.star.form.component.FormattedField&quot;
+ oModelService(cGridControl) = &quot;com.sun.star.form.component.GridControl&quot;
+ oModelService(cImageControl) = &quot;com.sun.star.form.component.DatabaseImageControl&quot;
+End Sub
+</script:module>
diff --git a/test/user-template/user/basic/FormWizard/Layouter.xba b/test/user-template/user/basic/FormWizard/Layouter.xba
new file mode 100644
index 000000000000..ae10314bbda3
--- /dev/null
+++ b/test/user-template/user/basic/FormWizard/Layouter.xba
@@ -0,0 +1,380 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Layouter" script:language="StarBasic">Option Explicit
+
+Public oProgressbar as Object
+Public ProgressValue as Integer
+Public oDocument as Object
+Public oController as Object
+Public oForm as Object
+Public oDrawPage as Object
+Public oPageStyle as Object
+
+Public nMaxColRightX as Long
+Public nMaxTCWidth as Long
+Public nMaxRowRightX as Long
+Public nMaxRowY as Long
+Public nSecMaxRowY as Long
+Public MaxIndex as Integer
+Public CurIndex as Integer
+
+Public Const cVertDistance = 200
+Public Const cHoriDistance = 300
+
+Public nPageWidth as Long
+Public nPageHeight as Long
+Public nFormWidth as Long
+Public nFormHeight as Long
+Public nMaxHoriPos as Long
+Public nMaxVertPos as Long
+
+Public CONST SBALIGNLEFT = 0
+Public CONST SBALIGNRIGHT = 2
+
+Public Const SBNOBORDER = 0
+Public Const SB3DBORDER = 1
+Public Const SBSIMPLEBORDER = 2
+
+Public CurArrangement as Integer
+Public CurBorderType as Integer
+Public CurAlignmode as Integer
+
+Public OldAlignMode as Integer
+Public OldBorderType as Integer
+Public OldArrangement as Integer
+
+Public Const cColumnarLeft = 1
+Public Const cColumnarTop = 2
+Public Const cTabled = 3
+Public Const cLeftJustified = 4
+Public Const cTopJustified = 5
+
+Public Const cXOffset = 1000
+Public Const cYOffset = 700
+&apos; This is the viewed space that we lose because of the symbol bars
+Public Const cSymbolMargin = 2000
+Public Const MaxFieldIndex = 200
+
+Public Const cControlCollectionCount = 9
+Public Const cLabel = 1
+Public Const cTextBox = 2
+Public Const cCheckBox = 3
+Public Const cDateBox = 4
+Public Const cTimeBox = 5
+Public Const cNumericBox = 6
+Public Const cCurrencyBox = 7
+Public Const cGridControl = 8
+Public Const cImageControl = 9
+
+Public Styles(100, 8) as String
+
+Public CurControlType as Integer
+Public CurFieldlength as Double
+Public CurFieldType as Integer
+Public CurFieldName as String
+Public CurControlName as String
+Public CurFormatKey as Long
+Public CurDefaultValue
+Public CurIsCurrency as Boolean
+Public CurScale as Integer
+Public CurHelpText as String
+
+Public FieldMetaValues(MaxFieldIndex, 8)
+&apos; Description of this List:
+&apos; CurFieldType = FieldMetaValues(Index,0)
+&apos; CurFieldLength = FieldMetaValues(Index,1)
+&apos; CurControlType = FieldMetaValues(Index,2) (ControlType eg. cLabel, cTextbox usw.)
+&apos; CurControlName = FieldMetaValues(Index,3)
+&apos; CurFormatKey = FieldMetaValues(Index,4)
+&apos; CurDefaultValue = FieldMetaValues(Index,5)
+&apos; CurIsCurrency = FieldMetaValues(Index,6)
+&apos; CurScale = FieldMetaValues(Index,7)
+&apos; CurHelpText = FieldMetaValues(Index,8)
+
+Public FieldNames(MaxFieldIndex) as string
+Public oModelService(cControlCollectionCount) as String
+Public oGridModel as Object
+
+
+Function InsertControl(oContainer as Object, oControlObject as object, aPoint as Object, aSize as Object)
+Dim oShape as object
+ oShape = oDocument.CreateInstance (&quot;com.sun.star.drawing.ControlShape&quot;)
+ oShape.Size = aSize
+ oShape.Position = aPoint
+ oShape.AnchorType = com.sun.star.text.TextContentAnchorType.AT_PARAGRAPH
+ oShape.control = oControlObject
+ oContainer.Add(oShape)
+ InsertControl() = oShape
+End Function
+
+
+Function ArrangeControls()
+Dim oShape as Object
+Dim i as Integer
+ oProgressbar = oDocument.GetCurrentController.GetFrame.CreateStatusIndicator
+ oProgressbar.Start(&quot;&quot;, MaxIndex)
+ If oDBForm.HasbyName(&quot;Grid1&quot;) Then
+ RemoveShapes()
+ End If
+ ToggleLayoutPage(False)
+ Select Case CurArrangement
+ Case cTabled
+ PositionGridControl(MaxIndex)
+ Case Else
+ PositionControls(MaxIndex)
+ End Select
+ ToggleLayoutPage(True)
+ oProgressbar.End
+End Function
+
+
+Sub OpenFormDocument()
+Dim NoArgs() as new com.sun.star.beans.PropertyValue
+Dim oViewSettings as Object
+ oDocument = CreateNewDocument(&quot;swriter&quot;)
+ oProgressbar = oDocument.GetCurrentController.GetFrame.CreateStatusIndicator()
+ oProgressbar.Start(&quot;&quot;, 100)
+ oDocument.ApplyFormDesignMode = False
+ oController = oDocument.GetCurrentController
+ oViewSettings = oDocument.CurrentController.ViewSettings
+ oViewSettings.ShowTableBoundaries = False
+ oViewSettings.ShowOnlineLayout = True
+ oDrawPage = oDocument.DrawPage
+ oPageStyle = oDocument.StyleFamilies.GetByName(&quot;PageStyles&quot;).GetByName(&quot;Standard&quot;)
+End Sub
+
+
+Sub InitializeLabelValues()
+Dim oLabelModel as Object
+Dim oTBModel as Object
+Dim oLabelShape as Object
+Dim oTBShape as Object
+Dim aTBSize As New com.sun.star.awt.Size
+Dim aLabelSize As New com.sun.star.awt.Size
+Dim aPoint As New com.sun.star.awt.Point
+Dim aSize As New com.sun.star.awt.Size
+Dim oLocControl as Object
+Dim oLocPeer as Object
+ oLabelModel = CreateUnoService(&quot;com.sun.star.form.component.FixedText&quot;)
+ oTBModel = CreateUnoService(&quot;com.sun.star.form.component.TextField&quot;)
+
+ Set oLabelShape = InsertControl(oDrawPage, oLabelModel, aPoint, aLabelSize)
+ Set oTBShape = InsertControl(oDrawPage, oTBModel, aPoint, aSize)
+
+ oLocPeer = oController.GetControl(oLabelModel).Peer
+ XPixelFactor = 100000/oLocPeer.GetInfo.PixelPerMeterX
+ YPixelFactor = 100000/oLocPeer.GetInfo.PixelPerMeterY
+ aLabelSize = GetPeerSize(oLabelModel, oLocControl, &quot;The quick brown fox...&quot;)
+ nTCHeight = (aLabelSize.Height+1) * YPixelFactor
+ aTBSize = GetPeerSize(oTBModel, oLocControl, &quot;The quick brown fox...&quot;)
+ nDBRefHeight = (aTBSize.Height+1) * YPixelFactor
+ BasicLabelDiffHeight = Clng((nDBRefHeight - nTCHeight)/2)
+ oDrawPage.Remove(oLabelShape)
+ oDrawPage.Remove(oTBShape)
+End Sub
+
+
+Sub ConfigurePageStyle()
+Dim aPageSize As New com.sun.star.awt.Size
+Dim aSize As New com.sun.star.awt.Size
+ oPageStyle.IsLandscape = True
+ aPageSize = oPageStyle.Size
+ nPageWidth = aPageSize.Width
+ nPageHeight = aPageSize.Height
+ aSize.Width = nPageHeight
+ aSize.Height = nPageWidth
+ oPageStyle.Size = aSize
+ nPageWidth = nPageHeight
+ nPageHeight = oPageStyle.Size.Height
+ nFormWidth = nPageWidth - oPageStyle.RightMargin - oPageStyle.LeftMargin - 2 * cXOffset
+ nFormHeight = nPageHeight - oPageStyle.TopMargin - oPageStyle.BottomMargin - 2 * cYOffset - cSymbolMargin
+End Sub
+
+
+&apos; Modify the Borders of the Controls
+Sub ChangeBorderLayouts(oEvent as Object)
+Dim oModel as Object
+Dim i as Integer
+Dim oCurModel as Object
+Dim sLocText as String
+Dim oGroupShape as Object
+Dim s as Integer
+ If Not bDebug Then
+ On Local Error GoTo WIZARDERROR
+ End If
+ oModel = oEvent.Source.Model
+ SwitchBorderMode(Val(Right(oModel.Name,1)))
+ ToggleLayoutPage(False)
+ If CurArrangement = cTabled Then
+ oGridModel.Border = CurBorderType
+ Else
+ If OldBorderType &lt;&gt; CurBorderType Then
+ For i = 0 To MaxIndex
+ If oDBShapeList(i).SupportsService(&quot;com.sun.star.drawing.GroupShape&quot;) Then
+ oGroupShape = oDBShapeList(i)
+ For s = 0 To oGroupShape.Count-1
+ oGroupShape(s).Control.Border = CurBorderType
+ Next s
+ Else
+ If oDBModelList(i).PropertySetInfo.HasPropertyByName(&quot;Border&quot;) Then
+ oDBModelList(i).Border = CurBorderType
+ End If
+ End If
+ Next i
+ End If
+ End If
+ ToggleLayoutPage(True)
+WIZARDERROR:
+ If Err &lt;&gt; 0 Then
+ Msgbox(sMsgErrMsg, 16, GetProductName())
+ Resume LOCERROR
+ LOCERROR:
+ DlgFormDB.Dispose()
+ End If
+End Sub
+
+
+Sub ChangeLabelAlignments(oEvent as Object)
+Dim i as Integer
+Dim oSize as New com.sun.star.awt.Size
+Dim oModel as Object
+ If Not bDebug Then
+ On Local Error GoTo WIZARDERROR
+ End If
+ oModel = oEvent.Source.Model
+ SwitchAlignMode(Val(Right(oModel.Name,1)))
+ ToggleLayoutPage(False)
+ If OldAlignMode &lt;&gt; CurAlignMode Then
+ For i = 0 To MaxIndex
+ oTCShapeList(i).GetControl.Align = CurAlignmode
+ Next i
+ End If
+ If CurAlignmode = com.sun.star.awt.TextAlign.RIGHT Then
+ For i = 0 To Ubound(oTCShapeList())
+ oSize = oTCShapeList(i).Size
+ oSize.Width = oDBShapeList(i).Position.X - oTCShapeList(i).Position.X - cHoriDistance
+ oTCShapeList(i).Size = oSize
+ Next i
+ End If
+
+WIZARDERROR:
+ If Err &lt;&gt; 0 Then
+ Msgbox(sMsgErrMsg, 16, GetProductName())
+ Resume LOCERROR
+ LOCERROR:
+ End If
+ ToggleLayoutPage(True)
+End Sub
+
+
+Sub ChangeArrangemode(oEvent as Object)
+Dim oModel as Object
+ If Not bDebug Then
+ On Local Error GoTo WIZARDERROR
+ End If
+ oModel = oEvent.Source.Model
+ SwitchArrangementButtons(Val(Right(oModel.Name,1)))
+ oModel.State = 1
+ DlgFormDB.GetControl(&quot;cmdArrange&quot; &amp; OldArrangement).Model.State = 0
+ If CurArrangement &lt;&gt; OldArrangement Then
+ ArrangeControls()
+ Select Case CurArrangement
+ Case cTabled
+ ToggleBorderGroup(False)
+ ToggleAlignGroup(False)
+ Case Else &apos; cColumnarTop,cLeftJustified, cTopJustified
+ ToggleAlignGroup(CurArrangement = cColumnarLeft)
+ If CurArrangement = cColumnarTop Then
+ If CurAlignMode = com.sun.star.awt.TextAlign.RIGHT Then
+ DialogModel.optAlign0.State = 1
+ CurAlignMode = com.sun.star.awt.TextAlign.LEFT
+ OldAlignMode = com.sun.star.awt.TextAlign.RIGHT
+ End If
+ End If
+ ControlCaptionstoStandardLayout()
+ oDBForm.Load
+ End Select
+ End If
+WIZARDERROR:
+ If Err &lt;&gt; 0 Then
+ Msgbox(sMsgErrMsg, 16, GetProductName())
+ Resume LOCERROR
+ LOCERROR:
+ End If
+End Sub
+
+
+Sub ToggleBorderGroup(bDoEnable as Boolean)
+ With DialogModel
+ .hlnBorderLayout.Enabled = bDoEnable
+ .optBorder0.Enabled = bDoEnable &apos; 0: No border
+ .optBorder1.Enabled = bDoEnable &apos; 1: 3D border
+ .optBorder2.Enabled = bDoEnable &apos; 2: simple border
+ End With
+End Sub
+
+
+Sub ToggleAlignGroup(ByVal bDoEnable as Boolean)
+ With DialogModel
+ If bDoEnable Then
+ bDoEnable = CurArrangement = cColumnarLeft
+ End If
+ .hlnAlign.Enabled = bDoEnable
+ .optAlign0.Enabled = bDoEnable
+ .optAlign2.Enabled = bDoEnable
+ End With
+End Sub
+
+
+Sub ToggleLayoutPage(bDoEnable as Boolean, Optional FocusControlName as String)
+ DialogModel.Enabled = bDoEnable
+ If bDoEnable Then
+ If Not bDebug Then
+ oDocument.UnlockControllers()
+ End If
+ ToggleOptionButtons(DialogModel,(bWithBackGraphic = True))
+ ToggleAlignGroup(bDoEnable)
+ ToggleBorderGroup(bDoEnable)
+ Else
+ If Not bDebug Then
+ oDocument.LockControllers()
+ End If
+ End If
+ If Not IsMissing(FocusControlName) Then
+ DlgFormDB.GetControl(FocusControlName).SetFocus()
+ End If
+End Sub
+
+
+Sub DestroyControlShapes(oDrawPage as Object)
+Dim i as Integer
+Dim oShape as Object
+ For i = oDrawPage.Count-1 To 0 Step -1
+ oShape = oDrawPage.GetByIndex(i)
+ If oShape.ShapeType = &quot;com.sun.star.drawing.ControlShape&quot; Then
+ oShape.Dispose()
+ End If
+ Next i
+End Sub
+
+
+Sub SwitchArrangementButtons(ByVal LocArrangement as Integer)
+ OldArrangement = CurArrangement
+ CurArrangement = LocArrangement
+ If OldArrangement &lt;&gt; 0 Then
+ DlgFormDB.GetControl(&quot;cmdArrange&quot; &amp; OldArrangement).Model.State = 0
+ End If
+ DlgFormDB.GetControl(&quot;cmdArrange&quot; &amp; CurArrangement).Model.State = 1
+End Sub
+
+
+Sub SwitchBorderMode(ByVal LocBorderType as Integer)
+ OldBorderType = CurBorderType
+ CurBorderType = LocBorderType
+End Sub
+
+
+Sub SwitchAlignMode(ByVal LocAlignMode as Integer)
+ OldAlignMode = CurAlignMode
+ CurAlignMode = LocAlignMode
+End Sub</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/FormWizard/develop.xba b/test/user-template/user/basic/FormWizard/develop.xba
new file mode 100644
index 000000000000..a12d1af37461
--- /dev/null
+++ b/test/user-template/user/basic/FormWizard/develop.xba
@@ -0,0 +1,533 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="develop" script:language="StarBasic">REM ***** BASIC *****
+Option Explicit
+
+Public oDBShapeList() as Object
+Public oTCShapeList() as Object
+Public oDBModelList() as Object
+Public oGroupShapeList() as Object
+
+Public oGridShape as Object
+Public a as Integer
+Public StartA as Integer
+Public bIsFirstRun as Boolean
+Public bIsVeryFirstRun as Boolean
+Public bControlsareCreated as Boolean
+Public nDBRefHeight as Long
+Public nXTCPos&amp;, nYTCPos&amp;, nXDBPos&amp;, nYDBPos&amp;, nTCHeight&amp;, nTCWidth&amp;, nDBHeight&amp;, nDBWidth&amp;
+
+Dim iReduceWidth as Integer
+
+Function PositionControls(Maxindex as Integer)
+Dim oTCModel as Object
+Dim oDBModel as Object
+Dim i as Integer
+ InitializePosSizes()
+ bIsFirstRun = True
+ bIsVeryFirstRun = True
+ a = 0
+ StartA = 0
+ nMaxRowY = 0
+ nSecMaxRowY = 0
+ If CurArrangement = cLeftJustified Or cTopJustified Then
+ DialogModel.optAlign0.State = 1
+ End If
+ For i = 0 To MaxIndex
+ GetCurrentMetaValues(i)
+ oTCModel = InsertTextControl(i)
+ If CurFieldType = com.sun.star.sdbc.DataType.TIMESTAMP Then
+ InsertTimeStampShape(i)
+ Else
+ InsertDBControl(i)
+ bIsVeryFirstRun = False
+ oDBModelList(i).LabelControl = oTCModel
+ End If
+ GetLabelDiffHeight(i+1)
+ ResetPosSizes(i)
+ oProgressbar.Value = i
+ Next i
+ ControlCaptionstoStandardLayout()
+ bControlsareCreated = True
+End Function
+
+
+Sub ResetPosSizes(LastIndex as Integer)
+ Select Case CurArrangement
+ Case cColumnarLeft
+ nYDBPos = nYDBPos + nDBHeight + cVertDistance
+ If (nYDBPos &gt; cYOffset + nFormHeight) Or (LastIndex = MaxIndex) Then
+ RepositionColumnarLeftControls(LastIndex)
+ nXTCPos = nMaxColRightX + 2 * cHoriDistance
+ nXDBPos = nXTCPos + cHoriDistance + nMaxTCWidth
+ nYDBPos = cYOffset
+ bIsFirstRun = True
+ StartA = LastIndex + 1
+ a = 0
+ Else
+ a = a + 1
+ End If
+ nYTCPos = nYDBPos + LABELDIFFHEIGHT
+ Case cColumnarTop
+ nYTCPos = nYDBPos + nDBHeight + cVertDistance
+ If nYTCPos &gt; cYOffset + nFormHeight Then
+ nXDBPos = nMaxColRightX + cHoriDistance
+ nXTCPos = nXDBPos
+ nYDBPos = cYOffset + nTCHeight + cVertDistance
+ nYTCPos = cYOffset
+ bIsFirstRun = True
+ StartA = LastIndex + 1
+ a = 0
+ Else
+ a = a + 1
+ End If
+ Case cLeftJustified,cTopJustified
+ If nMaxColRightX &gt; cXOffset + nFormWidth Then
+ Dim nOldYTCPos as Long
+ nOldYTCPos = nYTCPos
+ CheckJustifiedPosition()
+ Else
+ nXTCPos = nMaxColRightX + CHoriDistance
+ If CurArrangement = cLeftJustified Then
+ nYTCPos = nYDBPos + LabelDiffHeight
+ End If
+ End If
+ a = a + 1
+ End Select
+End Sub
+
+
+Sub RepositionColumnarLeftControls(LastIndex as Integer)
+Dim aSize As New com.sun.star.awt.Size
+Dim aPoint As New com.sun.star.awt.Point
+Dim i as Integer
+ aSize = GetSize(nMaxTCWidth, nTCHeight)
+ bIsFirstRun = True
+ For i = StartA To LastIndex
+ If i = StartA Then
+ nXTCPos = oTCShapeList(i).Position.X
+ nXDBPos = nXTCPos + nMaxTCWidth + cHoriDistance
+ End If
+ ResetDBShape(oDBShapeList(i), nXDBPos)
+ CheckOuterPoints(nXDBPos, nDBWidth, nYDBPos, nDBHeight, True)
+ Next i
+End Sub
+
+
+Sub ResetDBShape(oLocDBShape as Object, iXPos as Long)
+Dim aSize As New com.sun.star.awt.Size
+Dim aPoint As New com.sun.star.awt.Point
+ nYDBPos = oLocDBShape.Position.Y
+ nDBWidth = oLocDBShape.Size.Width
+ nDBHeight = oLocDBShape.Size.Height
+ aPoint = GetPoint(iXPos,nYDBPos)
+ oLocDBShape.SetPosition(aPoint)
+End Sub
+
+
+Sub InitializePosSizes()
+ nXTCPos = cXOffset
+ nTCWidth = 2000
+ nDBWidth = 2000
+ nDBHeight = nDBRefHeight
+ iReduceWidth = 0
+ Select Case CurArrangement
+ Case cColumnarLeft, cLeftJustified
+ GetLabelDiffHeight(0)
+ nYTCPos = cYOffset + LABELDIFFHEIGHT
+ nXDBPos = cXOffset + 3050
+ nYDBPos = cYOffset
+ Case cColumnarTop, cTopJustified
+ nXDBPos = cXOffset
+ nYTCPos = cYOffset
+ End Select
+End Sub
+
+
+Function InsertTextControl(i as Integer) as Object
+Dim oShape as Object
+Dim oModel as Object
+Dim aPoint as New com.sun.star.awt.Point
+Dim aSize As New com.sun.star.awt.Size
+ If bControlsareCreated Then
+ Set oShape = oTCShapeList(i)
+ Set oModel = oShape.GetControl
+ If CurArrangement = cLeftJustified Then
+ nTCWidth = GetPreferredWidth(oModel, True, CurFieldname)
+ Else
+ nTCWidth = oShape.Size.Width
+ End If
+ oShape.Position = GetPoint(nXTCPos, nYTCPos)
+ If CurArrangement = cColumnarTop Then
+ oModel.Align = com.sun.star.awt.TextAlign.LEFT
+ End If
+ Else
+ oModel = CreateUnoService(oModelService(cLabel))
+ aPoint = GetPoint(nXTCPos, nYTCPos)
+ aSize = GetSize(nTCWidth,nTCHeight)
+ Set oShape = InsertControl(oDrawPage, oModel, aPoint, aSize)
+ Set oTCShapeList(i)= oShape
+ If bIsVeryFirstRun Then
+ If CurArrangement = cColumnarTop Then
+ nYDBPos = nYTCPos + nTCHeight
+ End If
+ End If
+ nTCWidth = GetPreferredWidth(oModel, True, CurFieldName)
+ End If
+ If CurArrangement = cColumnarLeft Then
+ &apos; Note This If Sequence must be called before retrieving the outer Points
+ If bIsFirstRun Then
+ nMaxTCWidth = nTCWidth
+ bIsFirstRun = False
+ ElseIf nTCWidth &gt; nMaxTCWidth Then
+ nMaxTCWidth = nTCWidth
+ End If
+ End If
+ CheckOuterPoints(oShape.Position.X, nTCWidth, nYTCPos, nTCHeight, False)
+ Select Case CurArrangement
+ Case cLeftJustified
+ nXDBPos = nMaxColRightX
+ Case cColumnarTop,cTopJustified
+ oModel.Align = com.sun.star.awt.TextAlign.LEFT
+ nXDBPos = nXTCPos
+ nYDBPos = nYTCPos + nTCHeight
+ If CurFieldLength = 20 And nDBWidth &gt; 2 * nTCWidth Then
+ iReduceWidth = iReduceWidth + 1
+ End If
+ End Select
+ oShape.SetSize(GetSize(nTCWidth,nTCHeight))
+ If CurHelpText &lt;&gt; &quot;&quot; Then
+ oModel.HelpText = CurHelptext
+ End If
+ InsertTextControl = oModel
+End Function
+
+
+Sub InsertDBControl(i as Integer)
+Dim aPoint as New com.sun.star.awt.Point
+Dim aSize As New com.sun.star.awt.Size
+Dim oControl as Object
+Dim iColRightX as Long
+
+ aPoint = GetPoint(nXDBPos, nYDBPos)
+ If bControlsAreCreated Then
+ oDBShapeList(i).Position = aPoint
+ Else
+ oDBModelList(i) = CreateUnoService(oModelService(CurControlType))
+ oDBShapeList(i) = InsertControl(oDrawPage, oDBModelList(i), aPoint, aSize)
+ SetNumerics(oDBModelList(i), CurFieldType)
+ If CurControlType = cCheckBox Then
+ oDBModelList(i).Label = &quot;&quot;
+ End If
+ oDBModelList(i).DataField = CurFieldName
+ End If
+ nDBHeight = GetDBHeight(oDBModelList(i))
+ nDBWidth = GetPreferredWidth(oDBModelList(i),True)
+ aSize = GetSize(nDBWidth,nDBHeight)
+ oDBShapeList(i).SetSize(aSize)
+ CheckOuterPoints(nXDBPos, nDBWidth, nYDBPos, nDBHeight, True)
+End Sub
+
+
+Function InsertTimeStampShape(i as Integer) as Object
+Dim oDateModel as Object
+Dim oTimeModel as Object
+Dim oDateShape as Object
+Dim oTimeShape as Object
+Dim oDateTimeShape as Object
+Dim aPoint as New com.sun.star.awt.Point
+Dim aSize as New com.sun.star.awt.Size
+Dim nDateWidth as Long
+Dim nTimeWidth as Long
+Dim oGroupShape as Object
+ aPoint = GetPoint(nXDBPos, nYDBPos)
+ If bControlsAreCreated Then
+ oDBShapeList(i).Position = aPoint
+ nDBWidth = oDBShapeList(i).Size.Width
+ nDBHeight = oDBShapeList(i).Size.Height
+ Else
+ oGroupShape = oDocument.CreateInstance(&quot;com.sun.star.drawing.GroupShape&quot;)
+ oGroupShape.AnchorType = com.sun.star.text.TextContentAnchorType.AT_PARAGRAPH
+ oDrawPage.Add(oGroupShape)
+ CurFieldType = com.sun.star.sdbc.DataType.DATE
+ oDateModel = CreateUnoService(&quot;com.sun.star.form.component.DateField&quot;)
+ oDateModel.DataField = CurFieldName
+ oDateShape = InsertControl(oGroupShape, oDateModel, aPoint, aSize)
+ SetNumerics(oDateModel, CurFieldType)
+ nDBHeight = GetDBHeight(oDateModel)
+ nDateWidth = GetPreferredWidth(oDateModel,True)
+ aSize = GetSize(nDateWidth,nDBHeight)
+ oDateShape.SetSize(aSize)
+
+ CurFieldType = com.sun.star.sdbc.DataType.TIME
+ oTimeModel = CreateUnoService(&quot;com.sun.star.form.component.TimeField&quot;)
+ oTimeModel.DataField = CurFieldName
+ oTimeShape = InsertControl(oGroupShape, oTimeModel, aPoint, aSize)
+ oTimeShape.Position = GetPoint(nXDBPos + 10 + nDateWidth,nYDBPos)
+ nTimeWidth = GetPreferredWidth(oTimeModel)
+ aSize = GetSize(nTimeWidth,nDBHeight)
+ oTimeShape.SetSize(aSize)
+ nDBWidth = nDateWidth + nTimeWidth + 10
+ oGroupShape.Position = aPoint
+ oGroupShape.Size = GetSize(nDBWidth, nDBHeight)
+ Set oDBShapeList(i)= oGroupShape
+ End If
+ CheckOuterPoints(nXDBPos, nDBWidth, nYDBPos, nDBHeight, True)
+ InsertTimeStampShape() = oDBShapeList(i)
+End Function
+
+
+&apos; Note: on all Controls except for the checkbox the Label has to be set
+&apos; a bit under the DBControl because its Height is also smaller
+Sub GetLabelDiffHeight(Index as Integer)
+ If (CurArrangement = cLeftJustified) Or (CurArrangement = cColumnarLeft) Then
+ If Index &lt;= Ubound(FieldMetaValues()) Then
+ If FieldMetaValues(Index,2) = cCheckBox Then
+ LabelDiffHeight = 0
+ Else
+ LabelDiffHeight = BasicLabelDiffHeight
+ End If
+ End If
+ End If
+End Sub
+
+
+Sub CheckJustifiedPosition()
+Dim nLeftDist as Long
+Dim nRightDist as Long
+Dim oLocDBShape as Object
+Dim oLocTextShape as Object
+Dim nBaseWidth as Long
+ nBaseWidth = nFormWidth + cXOffset
+ nLeftDist = nMaxColRightX - nBaseWidth
+ nRightDist = nBaseWidth - nXTCPos + cHoriDistance
+ If nLeftDist &lt; 0.5 * nRightDist and iReduceWidth &gt; 2 Then
+ &apos; Fieldwidths in the line can be made smaller
+ AdjustLineWidth(StartA, a, nLeftDist, - 1)
+ If CurArrangement = cLeftjustified Then
+ nYDBPos = nMaxRowY + cVertDistance
+ nYTCPos = nYDBPos + LABELDIFFHEIGHT
+ nXTCPos = cXOffset
+ Else
+ nYTCPos = nMaxRowY + cVertDistance
+ nYDBPos = nYTCPos + nTCHeight
+ nXTCPos = cXOffset
+ nXDBPos = cXOffset
+ End If
+ bIsFirstRun = True
+ StartA = a + 1
+ Else
+ Set oLocDBShape = oDBShapeList(a)
+ Set oLocTextShape = oTCShapeList(a)
+ If CurArrangement = cLeftJustified Then
+ If nYDBPos + nDBHeight = nMaxRowY Then
+ &apos; The last Control was the highes in the row
+ nYDBPos = nSecMaxRowY + cVertDistance
+ Else
+ nYDBPos = nMaxRowY + cVertDistance
+ End If
+ nYTCPos = nYDBPos + LABELDIFFHEIGHT
+ nXDBPos = cXOffset + nTCWidth
+ oLocTextShape.Position = GetPoint(cXOffset, nYTCPos)
+ oLocDBShape.Position = GetPoint(nXDBPos, nYDBPos)
+ &apos; PosSizes for the next two Controls
+ nXTCPos = oLocDBShape.Position.X + oLocDBShape.Size.Width + cHoriDistance
+ bIsFirstRun = True
+ CheckOuterPoints(nXDBPos, nDBWidth, nYDBPos, nDBHeight, True)
+ nXDBPos = nMaxColRightX + cHoriDistance
+ Else &apos; cTopJustified
+ If nYDBPos + nDBHeight = nMaxRowY Then
+ &apos; The last Control was the highest in the row
+ nYTCPos = nSecMaxRowY + cVertDistance
+ Else
+ nYTCPos = nMaxRowY + cVertDistance
+ End If
+ nYDBPos = nYTCPOS + nTCHeight
+ nXDBPos = cXOffset
+ nXTCPos = cXOffset
+ oLocTextShape.Position = GetPoint(cXOffset, nYTCPos)
+ oLocDBShape.Position = GetPoint(cXOffset, nYDBPos)
+ bIsFirstRun = True
+ If nDBWidth &gt; nTCWidth Then
+ CheckOuterPoints(nXDBPos, nDBWidth, nYDBPos, nDBHeight, True)
+ Else
+ CheckOuterPoints(nXDBPos, nTCWidth, nYDBPos, nDBHeight, True)
+ End If
+ nXTCPos = nMaxColRightX + cHoriDistance
+ nXDBPos = nXTCPos
+ End If
+ AdjustLineWidth(StartA, a-1, nRightDist, 1)
+ StartA = a
+ End If
+ iReduceWidth = 0
+End Sub
+
+
+
+Function GetCorrWidth(StartIndex as Integer, EndIndex as Integer, nDist as Long, Widthfactor as Integer) as Integer
+Dim ShapeCount as Integer
+ If WidthFactor &gt; 0 Then
+ ShapeCount = EndIndex-StartIndex + 1
+ Else
+ ShapeCount = iReduceWidth
+ End If
+ GetCorrWidth() = (nDist)/ShapeCount
+End Function
+
+
+Sub AdjustLineWidth(StartIndex as Integer, EndIndex as Integer, nDist as Long, Widthfactor as Integer)
+Dim i as Integer
+Dim oLocDBShape as Object
+Dim oLocTCShape as Object
+Dim CorrWidth as Integer
+Dim bAdjustPos as Boolean
+Dim iLocTCPosX as Long
+Dim iLocDBPosX as Long
+ CorrWidth = GetCorrWidth(StartIndex, EndIndex, nDist, Widthfactor)
+ bAdjustPos = False
+ iLocTCPosX = cXOffset
+ For i = StartIndex To EndIndex
+ Set oLocDBShape = oDBShapeList(i)
+ Set oLocTCShape = oTCShapeList(i)
+ If bAdjustPos Then
+ oLocTCShape.Position = GetPoint(iLocTCPosX, oLocTCShape.Position.Y)
+ If CurArrangement = cLeftJustified Then
+ iLocDBPosX = oLocTCShape.Position.X + oLocTCShape.Size.Width
+ oLocDBShape.Position = GetPoint(iLocDBPosX, oLocDBShape.Position.Y)
+ Else
+ oLocDBShape.Position = GetPoint(iLocTCPosX, oLocTCShape.Position.Y + nTCHeight)
+ End If
+ Else
+ bAdjustPos = True
+ End If
+ If CDbl(FieldMetaValues(i,1)) &gt; 20 or WidthFactor &gt; 0 Then
+ If (CurArrangement = cTopJustified) And (oLocTCShape.Size.Width &gt; oLocDBShape.Size.Width) Then
+ oLocDBShape.Size = GetSize(oLocTCShape.Size.Width + WidthFactor * CorrWidth, oLocDBShape.Size.Height)
+ Else
+ oLocDBShape.Size = GetSize(oLocDBShape.Size.Width + WidthFactor * CorrWidth, oLocDBShape.Size.Height)
+ End If
+ End If
+ iLocTCPosX = oLocDBShape.Position.X + oLocDBShape.Size.Width + cHoriDistance
+ If CurArrangement = cTopJustified Then
+ If oLocTCShape.Size.Width &gt; oLocDBShape.Size.Width Then
+ iLocTCPosX = oLocDBShape.Position.X + oLocTCShape.Size.Width + cHoriDistance
+ End If
+ End If
+ Next i
+End Sub
+
+
+Sub CheckOuterPoints(nXPos, nWidth, nYPos, nHeight, bIsDBField as Boolean)
+Dim nColRightX as Long
+Dim nRowY as Long
+Dim nOldMaxRowY as Long
+ If CurArrangement = cLeftJustified Or CurArrangement = cTopJustified Then
+ If bIsDBField Then
+ &apos; Only at DBControls you can measure the Value of nMaxRowY
+ If bIsFirstRun Then
+ nMaxRowY = nYPos + nHeight
+ nSecMaxRowY = nMaxRowY
+ Else
+ nRowY = nYPos + nHeight
+ If nRowY &gt;= nMaxRowY Then
+ nOldMaxRowY = nMaxRowY
+ nSecMaxRowY = nOldMaxRowY
+ nMaxRowY = nRowY
+ End If
+ End If
+ End If
+ End If
+ &apos; Find the outer right point
+ If bIsFirstRun Then
+ nMaxColRightX = nXPos + nWidth
+ bIsFirstRun = False
+ Else
+ nColRightX = nXPos + nWidth
+ If nColRightX &gt; nMaxColRightX Then
+ nMaxColRightX = nColRightX
+ End If
+ End If
+End Sub
+
+
+Function PositionGridControl(MaxIndex as Integer)
+Dim oControl as Object
+Dim n as Integer
+Dim oColumn as Object
+Dim aPoint as New com.sun.star.awt.Point
+Dim aSize as New com.sun.star.awt.Size
+ If bControlsareCreated Then
+ ShapesToNirwana()
+ End If
+ oGridModel = CreateUnoService(oModelService(cGridControl))
+ oGridModel.Name = &quot;Grid1&quot;
+ aPoint = GetPoint(cXOffset, cYOffset)
+ aSize = GetSize(nFormWidth, nFormHeight)
+ oDBForm.InsertByName (oGridModel.Name, oGridModel)
+ oGridShape = InsertControl(oDrawPage, oGridModel, aPoint, aSize)
+ For n = 0 to MaxIndex
+ GetCurrentMetaValues(n)
+ If CurFieldType = com.sun.star.sdbc.DataType.TIMESTAMP Then
+ oColumn = SetupGridColumn(oGridModel,&quot;DateField&quot;, False, com.sun.star.sdbc.DataType.DATE, CurFieldName &amp; &quot; &quot; &amp; sDateAppendix)
+ oColumn = SetupGridColumn(oGridModel,&quot;TimeField&quot;, False, com.sun.star.sdbc.DataType.TIME, CurFieldName &amp; &quot; &quot; &amp; sTimeAppendix)
+ Else
+ If CurControlType = cImageControl Then
+ oColumn = SetupGridColumn(oGridModel,&quot;TextField&quot;, True, CurFieldType, CurFieldName)
+ Else
+ oColumn = SetupGridColumn(oGridModel, CurControlName, False, CurFieldType, CurFieldName)
+ End If
+ End If
+ oProgressbar.Value = n
+ next n
+End Function
+
+
+Function SetupGridColumn(oGridModel as Object, ControlName as String, bHidden as Boolean, iLocFieldType as Integer, ColName as String) as Object
+Dim oColumn as Object
+ CurControlName = ControlName
+ oColumn = oGridModel.CreateColumn(CurControlName)
+ oColumn.Name = CalcUniqueContentName(oGridModel, CurControlName)
+ oColumn.Hidden = bHidden
+ SetNumerics(oColumn, iLocFieldType)
+ oColumn.DataField = CurFieldName
+ oColumn.Label = ColName
+ oColumn.Width = 0 &apos; Width of column is adjusted to Columname
+ oGridModel.insertByName(oColumn.Name, oColumn)
+End Function
+
+
+Sub ControlCaptionstoStandardLayout()
+Dim i as Integer
+Dim iBorderType as Integer
+Dim oCurModel as Object
+Dim oStyle as Object
+Dim iStandardColor as Long
+ If CurArrangement &lt;&gt; cTabled Then
+ oStyle = oDocument.StyleFamilies.GetByName(&quot;ParagraphStyles&quot;).GetByName(&quot;Standard&quot;)
+ iStandardColor = oStyle.CharColor
+ For i = 0 To MaxIndex
+ oCurModel = oTCShapeList(i).GetControl
+ If i = 0 Then
+ If oCurModel.TextColor = iStandardColor Then
+ Exit Sub
+ End If
+ End If
+ oCurModel.TextColor = iStandardColor
+ Next i
+ End If
+End Sub
+
+
+Sub GroupShapesTogether()
+Dim i as Integer
+ If CurArrangement &lt;&gt; cTabled Then
+ For i = 0 To MaxIndex
+ oGroupShapeList(i) = CreateUnoService(&quot;com.sun.star.drawing.ShapeCollection&quot;)
+ oGroupShapeList(i).Add(oTCShapeList(i))
+ oGroupShapeList(i).Add(oDBShapeList(i))
+ oDrawPage.Group(oGroupShapeList(i))
+ Next i
+ Else
+ RemoveNirwanaShapes()
+ End If
+End Sub</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/FormWizard/dialog.xlb b/test/user-template/user/basic/FormWizard/dialog.xlb
new file mode 100644
index 000000000000..d680f29292e8
--- /dev/null
+++ b/test/user-template/user/basic/FormWizard/dialog.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="FormWizard" library:readonly="true" library:passwordprotected="false">
+ <library:element library:name="DlgFormDB"/>
+</library:library>
diff --git a/test/user-template/user/basic/FormWizard/script.xlb b/test/user-template/user/basic/FormWizard/script.xlb
new file mode 100644
index 000000000000..0b79b7f078ba
--- /dev/null
+++ b/test/user-template/user/basic/FormWizard/script.xlb
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="FormWizard" library:readonly="true" library:passwordprotected="false">
+ <library:element library:name="FormWizard"/>
+ <library:element library:name="Layouter"/>
+ <library:element library:name="Language"/>
+ <library:element library:name="DBMeta"/>
+ <library:element library:name="tools"/>
+ <library:element library:name="develop"/>
+</library:library>
diff --git a/test/user-template/user/basic/FormWizard/tools.xba b/test/user-template/user/basic/FormWizard/tools.xba
new file mode 100644
index 000000000000..8b40b8379c10
--- /dev/null
+++ b/test/user-template/user/basic/FormWizard/tools.xba
@@ -0,0 +1,349 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="tools" script:language="StarBasic">REM ***** BASIC *****
+Option Explicit
+Public Const SBMAXTEXTSIZE = 50
+
+
+Function SetProgressValue(iValue as Integer)
+ If iValue = 0 Then
+ oProgressbar.End
+ End If
+ ProgressValue = iValue
+ oProgressbar.Value = iValue
+End Function
+
+
+Function GetPreferredWidth(oModel as Object, bGetMaxWidth as Boolean, Optional LocText)
+Dim aPeerSize as new com.sun.star.awt.Size
+Dim nWidth as Integer
+Dim oControl as Object
+ If Not IsMissing(LocText) Then
+ &apos; Label
+ aPeerSize = GetPeerSize(oModel, oControl, LocText)
+ ElseIf CurControlType = cImageControl Then
+ GetPreferredWidth() = 2000
+ Exit Function
+ Else
+ aPeerSize = GetPeerSize(oModel, oControl)
+ End If
+ nWidth = aPeerSize.Width
+ &apos; We increase the preferred Width a bit so that the control does not become too small
+ &apos; when we change the border from &quot;3D&quot; to &quot;Flat&quot;
+ GetPreferredWidth = (nWidth + 10) * XPixelFactor &apos; PixelTo100thmm(nWidth)
+End Function
+
+
+Function GetPreferredHeight(oModel as Object, Optional LocText)
+Dim aPeerSize as new com.sun.star.awt.Size
+Dim nHeight as Integer
+Dim oControl as Object
+ If Not IsMissing(LocText) Then
+ &apos; Label
+ aPeerSize = GetPeerSize(oModel, oControl, LocText)
+ ElseIf CurControlType = cImageControl Then
+ GetPreferredHeight() = 2000
+ Exit Function
+ Else
+ aPeerSize = GetPeerSize(oModel, oControl)
+ End If
+ nHeight = aPeerSize.Height
+ &apos; We increase the preferred Height a bit so that the control does not become too small
+ &apos; when we change the border from &quot;3D&quot; to &quot;Flat&quot;
+ GetPreferredHeight = (nHeight+1) * YPixelFactor &apos; PixelTo100thmm(nHeight)
+End Function
+
+
+Function GetPeerSize(oModel as Object, oControl as Object, Optional LocText)
+Dim oPeer as Object
+Dim aPeerSize as new com.sun.star.awt.Size
+Dim NullValue
+ oControl = oController.GetControl(oModel)
+ oPeer = oControl.GetPeer()
+ If oControl.Model.PropertySetInfo.HasPropertybyName(&quot;EffectiveMax&quot;) Then
+ If oControl.Model.EffectiveMax = 0 Then
+ &apos; This is relevant for decimal fields
+ oControl.Model.EffectiveValue = 999.9999
+ Else
+ oControl.Model.EffectiveValue = oControl.Model.EffectiveMax
+ End If
+ GetPeerSize() = oPeer.PreferredSize()
+ oControl.Model.EffectiveValue = NullValue
+ ElseIf Not IsMissing(LocText) Then
+ oControl.Text = LocText
+ GetPeerSize() = oPeer.PreferredSize()
+ ElseIf CurFieldType = com.sun.star.sdbc.DataType.BIT Then
+ GetPeerSize() = oPeer.PreferredSize()
+ ElseIf CurFieldType = com.sun.star.sdbc.DataType.BOOLEAN Then
+ GetPeerSize() = oPeer.PreferredSize()
+ ElseIf CurFieldType = com.sun.star.sdbc.DataType.DATE Then
+ oControl.Model.Date = Date
+ GetPeerSize() = oPeer.PreferredSize()
+ oControl.Model.Date = NullValue
+ ElseIf CurFieldType = com.sun.star.sdbc.DataType.TIME Then
+ oControl.Time = Time
+ GetPeerSize() = oPeer.PreferredSize()
+ oControl.Time = NullValue
+ Else
+ If oControl.MaxTextLen &gt; SBMAXTEXTSIZE Then
+ oControl.Text = Mid(SBSIZETEXT,1, SBMAXTEXTSIZE)
+ Else
+ oControl.Text = Mid(SBSIZETEXT,1, oControl.MaxTextLen)
+ End If
+ GetPeerSize() = oPeer.PreferredSize()
+ oControl.Text = &quot;&quot;
+ End If
+End Function
+
+
+Function TwipToCM(BYVAL nValue as long) as String
+ TwipToCM = trim(str(nValue / 567)) + &quot;cm&quot;
+End function
+
+
+Function TwipTo100telMM(BYVAL nValue as long) as long
+ TwipTo100telMM = nValue / 0.567
+End function
+
+
+Function TwipToPixel(BYVAL nValue as long) as long &apos; not an exact calculation
+ TwipToPixel = nValue / 15
+End function
+
+
+Function PixelTo100thMMX(oControl as Object) as long
+ oPeer = oControl.GetPeer()
+ PixelTo100mmX = Clng(Peer.GetInfo.PixelPerMeterX/100000)
+
+&apos; PixelTo100thMM = nValue * 28 &apos; not an exact calculation
+End function
+
+
+Function PixelTo100thMMY(oControl as Object) as long
+ oPeer = oControl.GetPeer()
+ PixelTo100mmX = Clng(Peer.GetInfo.PixelPerMeterY/100000)
+
+&apos; PixelTo100thMM = nValue * 28 &apos; not an exact calculation
+End function
+
+
+Function GetPoint(xPos, YPos) as New com.sun.star.awt.Point
+Dim aPoint as New com.sun.star.awt.Point
+ aPoint.X = xPos
+ aPoint.Y = yPos
+ GetPoint() = aPoint
+End Function
+
+
+Function GetSize(iWidth, iHeight) As New com.sun.star.awt.Size
+Dim aSize As New com.sun.star.awt.Size
+ aSize.Width = iWidth
+ aSize.Height = iHeight
+ GetSize() = aSize
+End Function
+
+
+Sub ImportStyles()
+Dim OldIndex as Integer
+ If Not bDebug Then
+ On Local Error GoTo WIZARDERROR
+ End If
+ OldIndex = CurIndex
+ CurIndex = GetCurIndex(DialogModel.lstStyles, Styles(),8)
+ If CurIndex &lt;&gt; OldIndex Then
+ ToggleLayoutPage(False)
+ Dim sImportPath as String
+ sImportPath = Styles(CurIndex, 8)
+ bWithBackGraphic = LoadNewStyles(oDocument, DialogModel, CurIndex, sImportPath, Styles(), TexturePath)
+ ControlCaptionsToStandardLayout()
+ ToggleLayoutPage(True, &quot;lstStyles&quot;)
+ End If
+WIZARDERROR:
+ If Err &lt;&gt; 0 Then
+ Msgbox(sMsgErrMsg, 16, GetProductName())
+ Resume LOCERROR
+ LOCERROR:
+ End If
+End Sub
+
+
+
+Function SetNumerics(ByVal oLocObject as Object, iLocFieldType as Integer) as Object
+ If CurControlType = cNumericBox Then
+ oLocObject.TreatAsNumber = True
+ Select Case iLocFieldType
+ Case com.sun.star.sdbc.DataType.BIGINT
+ oLocObject.EffectiveMax = 2147483647 * 2147483647
+ oLocObject.EffectiveMin = -(-2147483648 * -2147483648)
+&apos; oLocObject.DecimalAccuracy = 0
+ Case com.sun.star.sdbc.DataType.INTEGER
+ oLocObject.EffectiveMax = 2147483647
+ oLocObject.EffectiveMin = -2147483648
+ Case com.sun.star.sdbc.DataType.SMALLINT
+ oLocObject.EffectiveMax = 32767
+ oLocObject.EffectiveMin = -32768
+ Case com.sun.star.sdbc.DataType.TINYINT
+ oLocObject.EffectiveMax = 127
+ oLocObject.EffectiveMin = -128
+ Case com.sun.star.sdbc.DataType.FLOAT, com.sun.star.sdbc.DataType.REAL, com.sun.star.sdbc.DataType.DOUBLE, com.sun.star.sdbc.DataType.DECIMAL, com.sun.star.sdbc.DataType.NUMERIC
+&apos;Todo: oLocObject.DecimalAccuracy = ...
+ oLocObject.EffectiveDefault = CurDefaultValue
+&apos; Todo: HelpText???
+ End Select
+ If oLocObject.PropertySetinfo.HasPropertyByName(&quot;Width&quot;)Then &apos; Note: an Access AutoincrementField does not provide this property Width
+ oLocObject.Width = CurFieldLength + CurScale + 1
+ End If
+ If CurIsCurrency Then
+&apos;Todo: How do you set currencies?
+ End If
+ ElseIf CurControlType = cTextBox Then &apos;com.sun.star.sdbc.DataType.CHAR, com.sun.star.sdbc.DataType.VARCHAR, com.sun.star.sdbc.DataType.LONGVARCHAR
+ If CurFieldLength = 0 Then &apos;Or oLocObject.MaxTextLen &gt; SBMAXTEXTSIZE
+ oLocObject.MaxTextLen = SBMAXTEXTSIZE
+ CurFieldLength = SBMAXTEXTSIZE
+ Else
+ oLocObject.MaxTextLen = CurFieldLength
+ End If
+ oLocObject.DefaultText = CurDefaultValue
+ ElseIf CurControlType = cDateBox Then
+&apos; Todo Why does this not work?: oLocObject.DefaultDate = CurDefaultValue
+ ElseIf CurControlType = cTimeBox Then &apos; com.sun.star.sdbc.DataType.DATE, com.sun.star.sdbc.DataType.TIME
+ oLocObject.DefaultTime = CurDefaultValue
+&apos; Todo: Property TimeFormat? frome where?
+ ElseIf CurControlType = cCheckBox Then
+&apos; Todo Why does this not work?: oLocObject.DefautState = CurDefaultValue
+ End If
+ If oLocObject.PropertySetInfo.HasPropertybyName(&quot;FormatKey&quot;) Then
+ On Local Error Resume Next
+ oLocObject.FormatKey = CurFormatKey
+ End If
+End Function
+
+
+&apos; Destroy all Shapes in Nirwana
+Sub RemoveShapes()
+Dim n as Integer
+Dim oControl as Object
+Dim oShape as Object
+ For n = oDrawPage.Count-1 To 0 Step -1
+ oShape = oDrawPage(n)
+ If oShape.Position.Y &gt; -2000 Then
+ oDrawPage.Remove(oShape)
+ End If
+ Next n
+End Sub
+
+
+&apos; Destroy all Shapes in Nirwana
+Sub RemoveNirwanaShapes()
+Dim n as Integer
+Dim oControl as Object
+Dim oShape as Object
+ For n = oDrawPage.Count-1 To 0 Step -1
+ oShape = oDrawPage(n)
+ If oShape.Position.Y &lt; -2000 Then
+ oDrawPage.Remove(oShape)
+ End If
+ Next n
+End Sub
+
+
+
+&apos; Note: as Shapes cannot be removed from the DrawPage without destroying
+&apos; the object we have to park them somewhere beyond the visible area of the page
+Sub ShapesToNirwana()
+Dim n as Integer
+Dim oControl as Object
+ For n = 0 To oDrawPage.Count-1
+ oDrawPage(n).Position = GetPoint(-20, -10000)
+ Next n
+End Sub
+
+
+Function CalcUniqueContentName(BYVAL oContainer as Object, sBaseName as String) as String
+
+Dim nPostfix as Integer
+Dim sReturn as String
+ nPostfix = 2
+ sReturn = sBaseName
+ while (oContainer.hasByName(sReturn))
+ sReturn = sBaseName &amp; nPostfix
+ nPostfix = nPostfix + 1
+ Wend
+ CalcUniqueContentName = sReturn
+End Function
+
+
+Function CountItemsInArray(BigArray(), SearchItem)
+Dim i as Integer
+Dim MaxIndex as Integer
+Dim ResCount as Integer
+ ResCount = 0
+ MaxIndex = Ubound(BigArray())
+ For i = 0 To MaxIndex
+ If SearchItem = BigArray(i) Then
+ ResCount = ResCount + 1
+ End If
+ Next i
+ CountItemsInArray() = ResCount
+End Function
+
+
+Function GetDBHeight(oDBModel as Object)
+ If CurControlType = cImageControl Then
+ nDBHeight = 2000
+ Else
+ If CurFieldType = com.sun.star.sdbc.DataType.LONGVARCHAR Then
+ oDBModel.MultiLine = True
+ nDBHeight = nDBRefHeight * 4
+ Else
+ nDBHeight = nDBRefHeight
+ End If
+ End If
+ GetDBHeight() = nDBHeight
+End Function
+
+
+Function GetFormWizardPaths() as Boolean
+ FormPath = GetOfficeSubPath(&quot;Template&quot;,&quot;../wizard/bitmap&quot;)
+ If FormPath &lt;&gt; &quot;&quot; Then
+ WebWizardPath = GetOfficeSubPath(&quot;Template&quot;,&quot;wizard/web&quot;)
+ If WebWizardPath &lt;&gt; &quot;&quot; Then
+ WizardPath = GetOfficeSubPath(&quot;Template&quot;,&quot;wizard/&quot;)
+ If Wizardpath &lt;&gt; &quot;&quot; Then
+ TexturePath = GetOfficeSubPath(&quot;Gallery&quot;, &quot;www-back/&quot;)
+ If TexturePath &lt;&gt; &quot;&quot; Then
+ WorkPath = GetPathSettings(&quot;Work&quot;)
+ If WorkPath &lt;&gt; &quot;&quot; Then
+ TempPath = GetPathSettings(&quot;Temp&quot;)
+ If TempPath &lt;&gt; &quot;&quot; Then
+ GetFormWizardPaths = True
+ Exit Function
+ End If
+ End If
+ End If
+ End If
+ End If
+ End If
+ DisposeDocument(oDocument)
+ GetFormWizardPaths() = False
+End Function
+
+
+Function GetFilterName(sApplicationKey as String) as String
+Dim oArgs()
+Dim oFactory
+Dim i as Integer
+Dim Maxindex as Integer
+Dim UIName as String
+ oFactory = createUnoService(&quot;com.sun.star.document.FilterFactory&quot;)
+ oArgs() = oFactory.getByName(sApplicationKey)
+ MaxIndex = Ubound(oArgs())
+ For i = 0 to MaxIndex
+ If (oArgs(i).Name=&quot;UIName&quot;) Then
+ UIName = oArgs(i).Value
+ Exit For
+ End If
+ next i
+ GetFilterName() = UIName
+End Function
+</script:module>
diff --git a/test/user-template/user/basic/Gimmicks/AutoText.xba b/test/user-template/user/basic/Gimmicks/AutoText.xba
new file mode 100644
index 000000000000..5d3cc18e5e13
--- /dev/null
+++ b/test/user-template/user/basic/Gimmicks/AutoText.xba
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="AutoText" script:language="StarBasic">&apos; BASIC
+Option Explicit
+Dim oDocument as Object
+Dim sDocumentTitle as String
+
+
+Sub Main()
+Dim oTable as Object
+Dim oRows as Object
+Dim oDocuText as Object
+Dim oAutoTextCursor as Object
+Dim oAutoTextContainer as Object
+Dim oAutogroup as Object
+Dim oAutoText as Object
+Dim oCharStyles as Object
+Dim oContentStyle as Object
+Dim oHeaderStyle as Object
+Dim oGroupTitleStyle as Object
+Dim n, m, iAutoCount as Integer
+ BasicLibraries.LoadLibrary(&quot;Tools&quot;)
+ sDocumentTitle = &quot;Installed AutoTexts&quot;
+
+ &apos; Open a new empty document
+ oDocument = CreateNewDocument(&quot;swriter&quot;)
+ If Not IsNull(oDocument) Then
+ oDocument.DocumentProperties.Title = sDocumentTitle
+ oDocuText = oDocument.Text
+
+ &apos; Create The Character-templates
+ oCharStyles = oDocument.StyleFamilies.GetByName(&quot;CharacterStyles&quot;)
+
+ &apos; The Characterstyle for the Header that describes the Title of Autotextgroups
+ oGroupTitleStyle = oDocument.createInstance(&quot;com.sun.star.style.CharacterStyle&quot;)
+ oCharStyles.InsertbyName(&quot;AutoTextGroupTitle&quot;, oGroupTitleStyle)
+
+ oGroupTitleStyle.CharWeight = com.sun.star.awt.FontWeight.BOLD
+ oGroupTitleStyle.CharHeight = 14
+
+ &apos; The Characterstyle for the Header that describes the Title of Autotextgroups
+ oHeaderStyle = oDocument.createInstance(&quot;com.sun.star.style.CharacterStyle&quot;)
+ oCharStyles.InsertbyName(&quot;AutoTextHeading&quot;, oHeaderStyle)
+ oHeaderStyle.CharWeight = com.sun.star.awt.FontWeight.BOLD
+
+ &apos; &quot;Ordinary&quot; Table Content
+ oContentStyle = oDocument.createInstance(&quot;com.sun.star.style.CharacterStyle&quot;)
+ oCharStyles.InsertbyName(&quot;TableContent&quot;, oContentStyle)
+
+ oAutoTextContainer = CreateUnoService(&quot;com.sun.star.text.AutoTextContainer&quot;)
+
+ oAutoTextCursor = oDocuText.CreateTextCursor()
+
+ oAutoTextCursor.CharStyleName = &quot;AutoTextGroupTitle&quot;
+ &apos; Link the Title with the following table
+ oAutoTextCursor.ParaKeepTogether = True
+
+ For n = 0 To oAutoTextContainer.Count - 1
+ oAutoGroup = oAutoTextContainer.GetByIndex(n)
+
+ oAutoTextCursor.SetString(oAutoGroup.Title)
+ oAutoTextCursor.CollapseToEnd()
+ oDocuText.insertControlCharacter(oAutoTextCursor,com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK,False)
+ oTable = oDocument.CreateInstance(&quot;com.sun.star.text.TextTable&quot;)
+ &apos; Divide the table if necessary
+ oTable.Split = True
+&apos; oTable.KeepTogether = False
+ oTable.RepeatHeadLine = True
+ oAutoTextCursor.Text.InsertTextContent(oAutoTextCursor,oTable,False)
+ InsertStringToCell(&quot;AutoText Name&quot;,oTable.GetCellbyPosition(0,0), &quot;AutoTextHeading&quot;)
+ InsertStringToCell(&quot;AutoText Shortcut&quot;,oTable.GetCellbyPosition(1,0), &quot;AutoTextHeading&quot;)
+ &apos; Insert one row at the bottom of the table
+ oRows = oTable.Rows
+ iAutoCount = oAutoGroup.Count
+ For m = 0 To iAutoCount-1
+ &apos; Insert the name and the title of all Autotexts
+ oAutoText = oAutoGroup.GetByIndex(m)
+ InsertStringToCell(oAutoGroup.Titles(m), oTable.GetCellbyPosition(0, m + 1), &quot;TableContent&quot;)
+ InsertStringToCell(oAutoGroup.ElementNames(m), oTable.GetCellbyPosition(1, m + 1), &quot;TableContent&quot;)
+ If m &lt; iAutoCount-1 Then
+ oRows.InsertbyIndex(m + 2,1)
+ End If
+ Next m
+ oDocuText.insertControlCharacter(oAutoTextCursor,com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK,False)
+ oAutoTextCursor.CollapseToEnd()
+ Next n
+ End If
+End Sub
+
+
+Sub InsertStringToCell(sCellString as String, oCell as Object, sCellStyle as String)
+Dim oCellCursor as Object
+ oCellCursor = oCell.CreateTextCursor()
+ oCellCursor.CharStyleName = sCellStyle
+ oCell.Text.insertString(oCellCursor,sCellString,False)
+ oDocument.CurrentController.Select(oCellCursor)
+End Sub</script:module>
diff --git a/test/user-template/user/basic/Gimmicks/ChangeAllChars.xba b/test/user-template/user/basic/Gimmicks/ChangeAllChars.xba
new file mode 100644
index 000000000000..aa0abaa1cca8
--- /dev/null
+++ b/test/user-template/user/basic/Gimmicks/ChangeAllChars.xba
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ChangeAllChars" script:language="StarBasic">&apos; This macro replaces all characters in a writer-documet through &quot;x&quot; or &quot;X&quot; signs.
+&apos; It works on the currently activated document.
+Private const UPPERREPLACECHAR = &quot;X&quot;
+Private const LOWERREPLACECHAR = &quot;x&quot;
+
+Private MSGBOXTITLE
+Private NOTSAVEDTEXT
+Private WARNING
+
+Sub ChangeAllChars &apos; Change all chars in the active document
+Dim oSheets, oPages as Object
+Dim i as Integer
+Const MBYES = 6
+Const MBABORT = 2
+Const MBNO = 7
+ BasicLibraries.LoadLibrary(&quot;Tools&quot;)
+ MSGBOXTITLE = &quot;Change All Characters to an &apos;&quot; &amp; UPPERREPLACECHAR &amp; &quot;&apos;&quot;
+ NOTSAVEDTEXT = &quot;This document has already been modified: All characters will be changed to an &quot; &amp; UPPERREPLACECHAR &amp; &quot;&apos;. Should the document be saved now?&quot;
+ WARNING = &quot;This macro changes all characters and numbers to an &apos;&quot; &amp; UPPERREPLACECHAR &amp; &quot;&apos; in this document.&quot;
+
+ On Local Error GoTo NODOCUMENT
+ oDocument = StarDesktop.ActiveFrame.Controller.Model
+ NODOCUMENT:
+ If Err &lt;&gt; 0 Then
+ Msgbox(WARNING &amp; chr(13) &amp; &quot;First, activate a Writer document.&quot; , 16, GetProductName())
+ Exit Sub
+ End If
+ On Local Error Goto 0
+
+ sDocType = GetDocumentType(oDocument)
+
+ If oDocument.IsModified And oDocument.Url &lt;&gt; &quot;&quot; Then
+ Status = MsgBox(NOTSAVEDTEXT, 3+32, MSGBOXTITLE)
+ Select Case Status
+ Case MBYES
+ oDocument.Store
+ Case MBABORT, MBNO
+ End
+ End Select
+ Else
+ Status = MsgBox(WARNING, 3+32, MSGBOXTITLE)
+ If Status = MBNO Or Status = MBABORT Then &apos; No, Abort
+ End
+ End If
+ End If
+
+ Select Case sDocType
+ Case &quot;swriter&quot;
+ ReplaceAllStrings(oDocument)
+
+ Case Else
+ Msgbox(&quot;This macro only works with Writer documents.&quot;, 16, GetProductName())
+ End Select
+End Sub
+
+
+Sub ReplaceAllStrings(oContainer as Object)
+ ReplaceStrings(oContainer, &quot;[a-z]&quot;, LOWERREPLACECHAR)
+ ReplaceStrings(oContainer, &quot;[à-þ]&quot;, LOWERREPLACECHAR)
+ ReplaceStrings(oContainer, &quot;[A-Z]&quot;, UPPERREPLACECHAR)
+ ReplaceStrings(oContainer, &quot;[À-ß]&quot;, UPPERREPLACECHAR)
+ ReplaceStrings(oContainer, &quot;[0-9]&quot;, UPPERREPLACECHAR)
+End Sub
+
+
+Sub ReplaceStrings(oContainer as Object, sSearchString, sReplaceString as String)
+ oReplaceDesc = oContainer.createReplaceDescriptor()
+ oReplaceDesc.SearchCaseSensitive = True
+ oReplaceDesc.SearchRegularExpression = True
+ oReplaceDesc.Searchstring = sSearchString
+ oReplaceDesc.ReplaceString = sReplaceString
+ oReplCount = oContainer.ReplaceAll(oReplaceDesc)
+End Sub</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Gimmicks/GetTexts.xba b/test/user-template/user/basic/Gimmicks/GetTexts.xba
new file mode 100644
index 000000000000..c98e7d51f580
--- /dev/null
+++ b/test/user-template/user/basic/Gimmicks/GetTexts.xba
@@ -0,0 +1,522 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="GetTexts" script:language="StarBasic">Option Explicit
+&apos; Macro-Description:
+&apos; This Macro extracts the Strings out of the currently activated document und inserts them into a logdocument
+&apos; The aim of the macro is to provide the programmer an insight into the StarOffice API
+&apos; It focusses on how document-Objects are accessed.
+&apos; Therefor not only texts of the document-body are retrieved but also Texts of general
+&apos; document Objects like, Annotations, charts and general Document Information
+
+Public oLogDocument, oLogText, oLogCursor, oLogHeaderStyle, oLogBodyTextStyle as Object
+Public oDocument as Object
+Public LogArray(1000) as String
+Public LogIndex as Integer
+Public oLocHeaderStyle as Object
+
+Sub Main
+Dim sDocType as String
+Dim oHyperCursor as Object
+Dim oCharStyles as Object
+ BasicLibraries.LoadLibrary(&quot;Tools&quot;)
+ On Local Error GoTo NODOCUMENT
+ oDocument = StarDesktop.ActiveFrame.Controller.Model
+ sDocType = GetDocumentType(oDocument)
+ NODOCUMENT:
+ If Err &lt;&gt; 0 Then
+ Msgbox(&quot;This macro extracts all data from the active Writer, Calc or Draw document.&quot; &amp; chr(13) &amp;_
+ &quot;To start this macro you have to activate a document first.&quot; , 16, GetProductName)
+ Exit Sub
+ End If
+ On Local Error Goto 0
+
+ &apos; Open a new document where all the texts are inserted
+ oLogDocument = CreateNewDocument(&quot;swriter&quot;)
+ If Not IsNull(oLogDocument) Then
+ oLogText = oLogDocument.Text
+
+ &apos; create and define the character styles of the Log-document
+ oCharStyles = oLogDocument.StyleFamilies.GetByName(&quot;CharacterStyles&quot;)
+ oLogHeaderStyle = oLogDocument.createInstance(&quot;com.sun.star.style.CharacterStyle&quot;)
+ oCharStyles.InsertbyName(&quot;Log Header&quot;, oLogHeaderStyle)
+
+ oLogHeaderStyle.charWeight = com.sun.star.awt.FontWeight.BOLD
+ oLogBodyTextStyle = oLogDocument.createInstance(&quot;com.sun.star.style.CharacterStyle&quot;)
+ oCharStyles.InsertbyName(&quot;Log Body&quot;, oLogBodyTextStyle)
+
+ &apos; Insert the title of the activated document as a hyperlink
+ oHyperCursor = oLogText.createTextCursor()
+ oHyperCursor.CharWeight = com.sun.star.awt.FontWeight.BOLD
+ oHyperCursor.gotoStart(False)
+ oHyperCursor.HyperLinkURL = oDocument.URL
+ oHyperCursor.HyperLinkTarget = oDocument.URL
+ If oDocument.DocumentProperties.Title &lt;&gt; &quot;&quot; Then
+ oHyperCursor.HyperlinkName = oDocument.DocumentProperties.Title
+ End If
+ oLogText.insertString(oHyperCursor, oDocument.DocumentProperties.Title, False)
+ oLogText.insertControlCharacter(oHyperCursor,com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK,False)
+
+ oLogCursor = oLogText.createTextCursor()
+ oLogCursor.GotoEnd(False)
+ &apos; &quot;Switch off&quot; the Hyperlink - Properties
+ oLogCursor.SetPropertyToDefault(&quot;HyperLinkURL&quot;)
+ oLogCursor.SetPropertyToDefault(&quot;HyperLinkTarget&quot;)
+ oLogCursor.SetPropertyToDefault(&quot;HyperLinkName&quot;)
+ LogIndex = 0
+
+ &apos; Get the Properties of the document
+ GetDocumentProps()
+
+ Select Case sDocType
+ Case &quot;swriter&quot;
+ GetWriterStrings()
+ Case &quot;scalc&quot;
+ GetCalcStrings()
+ Case &quot;sdraw&quot;, &quot;simpress&quot;
+ GetDrawStrings()
+ Case Else
+ Msgbox(&quot;This macro only works with a Writer, Calc or Draw/Impress document.&quot;, 16, GetProductName())
+ End Select
+ End If
+End Sub
+
+
+&apos; ***********************************************Calc-Documents**************************************************
+
+Sub GetCalcStrings()
+Dim i, n as integer
+Dim oSheet as Object
+Dim SheetName as String
+Dim oSheets as Object
+ &apos; Create a sequence of all sheets within the document
+ oSheets = oDocument.Sheets
+
+ For i = 0 to osheets.Count - 1
+ oSheet = osheets.GetbyIndex(i)
+ SheetName = oSheet.Name
+ MakeLogHeadLine(&quot;Sheet No. &quot; &amp; i &amp; &quot;(&quot; &amp; SheetName &amp; &quot;)&quot; )
+
+ &apos; Check the &quot;body&quot; of the sheet
+ GetCellTexts(oSheet)
+
+ If oSheet.IsScenario then
+ MakeLogHeadLine(&quot;Scenario Comments from &quot; &amp; SheetName &amp; &quot;&apos;&quot;)
+ WriteStringtoLogFile(osheet.ScenarioComment)
+ End if
+
+ GetAnnotations(oSheet, &quot;Annotations from &apos;&quot; &amp; SheetName &amp; &quot;&apos;&quot;)
+
+ GetChartStrings(oSheet, &quot;Charts from &apos;&quot; &amp; SheetName &amp; &quot;&apos;&quot;)
+
+ GetControlStrings(oSheet.DrawPage, &quot;Controls from &apos;&quot; &amp; SheetName &amp; &quot;&apos;&quot;)
+ Next
+
+ &apos; Pictures
+ GetCalcGraphicNames()
+
+ GetNamedRanges()
+End Sub
+
+
+Sub GetCellTexts(oSheet as Object)
+Dim BigRange, BigEnum, oCell as Object
+ BigRange = oDocument.CreateInstance(&quot;com.sun.star.sheet.SheetCellRanges&quot;)
+ BigRange.InsertbyName(&quot;&quot;,oSheet)
+ BigEnum = BigRange.GetCells.CreateEnumeration
+ While BigEnum.hasmoreElements
+ oCell = BigEnum.NextElement
+ If oCell.String &lt;&gt; &quot;&quot; And Val(oCell.String) = 0then
+ WriteStringtoLogFile(oCell.String)
+ End If
+ Wend
+End Sub
+
+
+Sub GetAnnotations(oSheet as Object, HeaderLine as String)
+Dim oNotes as Object
+Dim n as Integer
+ oNotes = oSheet.getAnnotations
+ If oNotes.hasElements() then
+ MakeLogHeadLine(HeaderLine)
+ For n = 0 to oNotes.Count-1
+ WriteStringtoLogFile(oNotes.GetbyIndex(n).String)
+ Next
+ End if
+End Sub
+
+
+Sub GetNamedRanges()
+Dim i as integer
+ MakeLogHeadLine(&quot;Named Ranges&quot;)
+ For i = 0 To oDocument.NamedRanges.Count - 1
+ WriteStringtoLogFile(oDocument.NamedRanges.GetbyIndex(i).Name)
+ Next
+End Sub
+
+
+Sub GetCalcGraphicNames()
+Dim n,m as integer
+ MakeLogHeadLine(&quot;Graphics&quot;)
+ For n = 0 To oDocument.Drawpages.count-1
+ For m = 0 To oDocument.Drawpages.GetbyIndex(n).Count - 1
+ WriteStringtoLogFile(oDocument.DrawPages.GetbyIndex(n).GetbyIndex(m).Text.String)
+ Next m
+ Next n
+End Sub
+
+
+&apos; ***********************************************Writer-Documents**************************************************
+
+Sub GetParagraphTexts(oParaObject as Object, HeadLine as String)
+Dim ParaEnum as Object
+Dim oPara as Object
+Dim oTextPortEnum as Object
+Dim oTextPortion as Object
+Dim i as integer
+Dim oCellNames()
+Dim oCell as Object
+
+ MakeLogHeadLine(HeadLine)
+ ParaEnum = oParaObject.Text.CreateEnumeration
+
+ While ParaEnum.HasMoreElements
+ oPara = ParaEnum.NextElement
+
+ &apos; Note: The Enumeration ParaEnum lists all tables and Paragraphs.
+ &apos; Therefor we have to find out what kind of object &quot;oPara&quot; actually is
+ If oPara.supportsService(&quot;com.sun.star.text.Paragraph&quot;) Then
+ &apos; &quot;oPara&quot; is a Paragraph
+ oTextPortEnum = oPara.createEnumeration
+ While oTextPortEnum.hasmoreElements
+ oTextPortion = oTextPortEnum.nextElement()
+ WriteStringToLogFile(oTextPortion.String)
+ Wend
+ Else
+ &apos; &quot;oPara&quot; is a table
+ oCellNames = oPara.CellNames
+ For i = 0 To Ubound(oCellNames())
+ If oCellNames(i) &lt;&gt; &quot;&quot; Then
+ oCell = oPara.getCellByName(oCellNames(i))
+ WriteStringToLogFile(oCell.String)
+ End If
+ Next
+ End If
+ Wend
+End Sub
+
+
+
+Sub GetChartStrings(oSheet as Object, HeaderLine as String)
+Dim i as Integer
+Dim aChartObject as Object
+Dim aChartDiagram as Object
+
+ MakeLogHeadLine(HeaderLine)
+
+ For i = 0 to oSheet.Charts.Count-1
+ aChartObject = oSheet.Charts.GetByIndex(i).EmbeddedObject
+ If aChartObject.HasSubTitle then
+ WriteStringToLogFile(aChartObject.SubTitle.String)
+ End If
+
+ If aChartObject.HasMainTitle then
+ WriteStringToLogFile(aChartObject.Title.String)
+ End If
+
+ aChartDiagram = aChartObject.Diagram
+
+ If aChartDiagram.hasXAxisTitle Then
+ WriteStringToLogFile(aChartDiagram.XAxisTitle)
+ End If
+
+ If aChartDiagram.hasYAxisTitle Then
+ WriteStringToLogFile(aChartDiagram.YAxisTitle)
+ End If
+
+ If aChartDiagram.hasZAxisTitle Then
+ WriteStringToLogFile(aChartDiagram.ZAxisTitle)
+ End If
+ Next i
+End Sub
+
+
+
+Sub GetFrameTexts()
+Dim i as integer
+Dim oTextFrame as object
+Dim oFrameEnum as Object
+Dim oFramePort as Object
+Dim oFrameTextEnum as Object
+Dim oFrameTextPort as Object
+
+ MakeLogHeadLine(&quot;Text Frames&quot;)
+ For i = 0 to oDocument.TextFrames.Count-1
+ oTextFrame = oDocument.TextFrames.GetbyIndex(i)
+ WriteStringToLogFile(oTextFrame.Name)
+
+ &apos; Is the frame bound to the Page
+ If oTextFrame.AnchorType = com.sun.star.text.TextContentAnchorType.AT_PAGE Then
+ GetParagraphTexts(oTextFrame, &quot;Text Frame Contents&quot;)
+ End If
+
+ oFrameEnum = oTextFrame.CreateEnumeration
+ While oFrameEnum.HasMoreElements
+ oFramePort = oFrameEnum.NextElement
+ If oFramePort.supportsService(&quot;com.sun.star.text.Paragraph&quot;) then
+ oFrameTextEnum = oFramePort.createEnumeration
+ While oFrameTextEnum.HasMoreElements
+ oFrameTextPort = oFrameTextEnum.NextElement
+ If oFrameTextPort.SupportsService(&quot;com.sun.star.text.TextFrame&quot;) Then
+ WriteStringtoLogFile(oFrameTextPort.String)
+ End If
+ Wend
+ Else
+ WriteStringtoLogFile(oFramePort.Name)
+ End if
+ Wend
+ Next
+End Sub
+
+
+Sub GetTextFieldStrings()
+Dim aTextField as Object
+Dim i as integer
+Dim CurElement as Object
+ MakeLogHeadLine(&quot;Text Fields&quot;)
+ aTextfield = oDocument.getTextfields.CreateEnumeration
+ While aTextField.hasmoreElements
+ CurElement = aTextField.NextElement
+ If CurElement.PropertySetInfo.hasPropertybyName(&quot;Content&quot;) Then
+ WriteStringtoLogFile(CurElement.Content)
+ ElseIf CurElement.PropertySetInfo.hasPropertybyName(&quot;PlaceHolder&quot;) Then
+ WriteStringtoLogFile(CurElement.PlaceHolder)
+ WriteStringtoLogFile(CurElement.Hint)
+ ElseIf Curelement.TextFieldMaster.PropertySetInfo.HasPropertybyName(&quot;Content&quot;) then
+ WriteStringtoLogFile(CurElement.TextFieldMaster.Content)
+ End If
+ Wend
+End Sub
+
+
+
+Sub GetLinkedFileNames()
+Dim oDocSections as Object
+Dim LinkedFileName as String
+Dim i as Integer
+ If Right(oDocument.URL,3) = &quot;sgl&quot; Then
+ MakeLogHeadLine(&quot;Sub-documents&quot;)
+ oDocSections = oDocument.TextSections
+ For i = 0 to oDocSections.Count - 1
+ LinkedFileName = oDocSections.GetbyIndex(i).FileLink.FileURL
+ If LinkedFileName &lt;&gt; &quot;&quot; Then
+ WriteStringToLogFile(LinkedFileName)
+ End If
+ Next i
+ End If
+End Sub
+
+
+Sub GetSectionNames()
+Dim i as integer
+Dim oDocSections as Object
+ MakeLogHeadLine(&quot;Sections&quot;)
+ oDocSections = oDocument.TextSections
+ For i = 0 to oDocSections.Count-1
+ WriteStringtoLogFile(oDocSections.GetbyIndex(i).Name)
+ Next
+End Sub
+
+
+Sub GetWriterStrings()
+ GetParagraphTexts(oDocument, &quot;Document Body&quot;)
+ GetGraphicNames()
+ GetStyles()
+ GetControlStrings(oDocument.DrawPage, &quot;Controls&quot;)
+ GetTextFieldStrings()
+ GetSectionNames()
+ GetFrameTexts()
+ GetHyperLinks
+ GetLinkedFileNames()
+End Sub
+
+
+&apos; ***********************************************Draw-Documents**************************************************
+
+Sub GetDrawPageTitles(LocObject as Object)
+Dim n as integer
+Dim oPage as Object
+
+ For n = 0 to LocObject.Count - 1
+ oPage = LocObject.GetbyIndex(n)
+ WriteStringtoLogFile(oPage.Name)
+ &apos; Is the Page a DrawPage and not a MasterPage?
+ If oPage.supportsService(&quot;com.sun.star.drawing.DrawPage&quot;)then
+ &apos; Get the Name of the NotesPage (only relevant for Impress-Documents)
+ If oDocument.supportsService(&quot;com.sun.star.presentation.PresentationDocument&quot;) then
+ WriteStringtoLogFile(oPage.NotesPage.Name)
+ End If
+ End If
+ Next
+End Sub
+
+
+Sub GetPageStrings(oPages as Object)
+Dim m, n, s as Integer
+Dim oPage, oPageElement, oShape as Object
+ For n = 0 to oPages.Count-1
+ oPage = oPages.GetbyIndex(n)
+ If oPage.HasElements then
+ For m = 0 to oPage.Count-1
+ oPageElement = oPage.GetByIndex(m)
+ If HasUnoInterfaces(oPageElement,&quot;com.sun.star.container.XIndexAccess&quot;) Then
+ &apos; The Object &quot;oPageElement&quot; a group of Shapes, that can be accessed by their index
+ For s = 0 To oPageElement.Count - 1
+ WriteStringToLogFile(oPageElement.GetByIndex(s).String)
+ Next s
+ ElseIf HasUnoInterfaces(oPageElement, &quot;com.sun.star.text.XText&quot;) Then
+ WriteStringtoLogFile(oPageElement.String)
+ End If
+ Next
+ End If
+ Next
+End Sub
+
+
+Sub GetDrawStrings()
+Dim oDPages, oMPages as Object
+
+ oDPages = oDocument.DrawPages
+ oMPages = oDocument.Masterpages
+
+ MakeLogHeadLine(&quot;Titles&quot;)
+ GetDrawPageTitles(oDPages)
+ GetDrawPageTitles(oMPages)
+
+ MakeLogHeadLine(&quot;Document Body&quot;)
+ GetPageStrings(oDPages)
+ GetPageStrings(oMPages)
+End Sub
+
+
+&apos; ***********************************************Misc**************************************************
+
+Sub GetDocumentProps()
+Dim oDocuProps as Object
+ MakeLogHeadLine(&quot;Document Properties&quot;)
+ oDocuProps = oDocument.DocumentProperties
+ WriteStringToLogFile(oDocuProps.Title)
+ WriteStringToLogFile(oDocuProps.Description)
+ WriteStringToLogFile(oDocuProps.Subject)
+ WriteStringToLogFile(oDocuProps.Author)
+&apos; WriteStringToLogFile(oDocuProps.UserDefinedProperties.ReplyTo)
+&apos; WriteStringToLogFile(oDocuProps.UserDefinedProperties.Recipient)
+&apos; WriteStringToLogFile(oDocuProps.UserDefinedProperties.References)
+&apos; WriteStringToLogFile(oDocuProps.Keywords)
+End Sub
+
+
+Sub GetHyperlinks()
+Dim i as integer
+Dim oCrsr as Object
+Dim oAllHyperLinks as Object
+Dim SrchAttributes(0) as new com.sun.star.beans.PropertyValue
+Dim oSearchDesc as Object
+
+ MakeLogHeadLine(&quot;Hyperlinks&quot;)
+ &apos; create a Search-Descriptor
+ oSearchDesc = oDocument.CreateSearchDescriptor
+ oSearchDesc.Valuesearch = False
+
+ &apos; define the Search-attributes
+ srchattributes(0).Name = &quot;HyperLinkURL&quot;
+ srchattributes(0).Value = &quot;&quot;
+ oSearchDesc.SetSearchAttributes(SrchAttributes())
+
+ oAllHyperLinks = oDocument.findAll(oSearchDesc())
+
+ For i = 0 to oAllHyperLinks.Count - 1
+ oFound = oAllHyperLinks(i)
+ oCrsr = oFound.Text.createTextCursorByRange(oFound)
+ WriteStringToLogFile(oCrs.HyperLinkURL) &apos;Url
+ WriteStringToLogFile(oCrs.HyperLinkTarget) &apos;Name
+ WriteStringToLogFile(oCrs.HyperLinkName) &apos;Frame
+ Next i
+End Sub
+
+
+Sub GetGraphicNames()
+Dim i as integer
+Dim oDocGraphics as Object
+ MakeLogHeadLine(&quot;Graphics&quot;)
+ oDocGraphics = oDocument.GraphicObjects
+ For i = 0 to oDocGraphics.count - 1
+ WriteStringtoLogFile(oDocGraphics.GetbyIndex(i).Name)
+ Next
+End Sub
+
+
+Sub GetStyles()
+Dim m,n as integer
+ MakeLogHeadLine(&quot;User-defined Templates&quot;)
+
+ &apos; Check all StyleFamilies(i.e. PageStyles, ParagraphStyles, CharacterStyles, cellStyles)
+ For n = 0 to oDocument.StyleFamilies.Count - 1
+ For m = 0 to oDocument.StyleFamilies.getbyIndex(n).Count-1
+ If oDocument.StyleFamilies.GetbyIndex(n).getbyIndex(m).IsUserDefined then
+ WriteStringtoLogFile(oDocument.StyleFamilies.GetbyIndex(n).getbyIndex(m).Name)
+ End If
+ Next
+ Next
+End Sub
+
+
+Sub GetControlStrings(oDPage as Object, HeaderLine as String)
+Dim aForm as Object
+Dim m,n as integer
+ MakeLogHeadLine(HeaderLine)
+ &apos;SearchFor all possible Controls
+ For n = 0 to oDPage.Forms.Count - 1
+ aForm = oDPage.Forms(n)
+ For m = 0 to aForm.Count-1
+ GetControlContent(aForm.GetbyIndex(m))
+ Next
+ Next
+End Sub
+
+
+Sub GetControlContent(LocControl as Object)
+Dim i as integer
+
+ If LocControl.PropertySetInfo.HasPropertybyName(&quot;Label&quot;) then
+ WriteStringtoLogFile(LocControl.Label)
+
+ ElseIf LocControl.SupportsService(&quot;com.sun.star.form.component.ListBox&quot;) then
+ For i = 0 to Ubound(LocControl.StringItemList())
+ WriteStringtoLogFile(LocControl.StringItemList(i))
+ Next
+ End If
+ If LocControl.PropertySetInfo.HasPropertybyName(&quot;HelpText&quot;) then
+ WriteStringtoLogFile(LocControl.Helptext)
+ End If
+End Sub
+
+&apos; ***********************************************LogDocument**************************************************
+
+Sub WriteStringtoLogFile( sString as String)
+ If (Not FieldInArray(LogArray(),LogIndex,sString))AND (NOT ISNULL(sString)) Then
+ LogArray(LogIndex) = sString
+ LogIndex = LogIndex + 1
+ oLogText.insertString(oLogCursor,sString,False)
+ oLogText.insertControlCharacter(oLogCursor,com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK,False)
+ End If
+End Sub
+
+
+Sub MakeLogHeadLine(HeadText as String)
+ oLogCursor.CharStyleName = &quot;Log Header&quot;
+ oLogText.insertControlCharacter(oLogCursor,com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK,False)
+ oLogText.insertString(oLogCursor,HeadText,False)
+ oLogText.insertControlCharacter(oLogCursor,com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK,False)
+ oLogCursor.CharStyleName = &quot;Log Body&quot;
+End Sub
+</script:module>
diff --git a/test/user-template/user/basic/Gimmicks/ReadDir.xba b/test/user-template/user/basic/Gimmicks/ReadDir.xba
new file mode 100644
index 000000000000..370f8cbc1915
--- /dev/null
+++ b/test/user-template/user/basic/Gimmicks/ReadDir.xba
@@ -0,0 +1,305 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ReadDir" script:language="StarBasic">Option Explicit
+Public Const SBPAGEX = 800
+Public Const SBPAGEY = 800
+Public Const SBRELDIST = 1.3
+
+&apos; Names of the second Dimension of the Array iLevelPos
+Public Const SBBASEX = 0
+Public Const SBBASEY = 1
+
+Public Const SBOLDSTARTX = 2
+Public Const SBOLDSTARTY = 3
+
+Public Const SBOLDENDX = 4
+Public Const SBOLDENDY = 5
+
+Public Const SBNEWSTARTX = 6
+Public Const SBNEWSTARTY = 7
+
+Public Const SBNEWENDX = 8
+Public Const SBNEWENDY = 9
+
+Public ConnectLevel As Integer
+Public iLevelPos(1,9) As Long
+Public Source as String
+Public iCurLevel as Integer
+Public nConnectLevel as Integer
+Public nOldWidth, nOldHeight As Long
+Public nOldX, nOldY, nOldLevel As Integer
+Public oOldLeavingLine As Object
+Public oOldArrivingLine As Object
+Public DlgReadDir as Object
+Dim oProgressBar as Object
+Dim oDocument As Object
+Dim oPage As Object
+
+
+Sub Main()
+Dim oStandardTemplate as Object
+ BasicLibraries.LoadLibrary(&quot;Tools&quot;)
+ oDocument = CreateNewDocument(&quot;sdraw&quot;)
+ If Not IsNull(oDocument) Then
+ oPage = oDocument.DrawPages(0)
+ oStandardTemplate = oDocument.StyleFamilies.GetByName(&quot;graphics&quot;).GetByName(&quot;standard&quot;)
+ oStandardTemplate.CharHeight = 10
+ oStandardTemplate.TextLeftDistance = 100
+ oStandardTemplate.TextRightDistance = 100
+ oStandardTemplate.TextUpperDistance = 50
+ oStandardTemplate.TextLowerDistance = 50
+ DlgReadDir = LoadDialog(&quot;Gimmicks&quot;,&quot;ReadFolderDlg&quot;)
+ oProgressBar = DlgReadDir.Model.ProgressBar1
+ DlgReadDir.Model.TextField1.Text = ConvertFromUrl(GetPathSettings(&quot;Work&quot;))
+ DlgReadDir.Model.cmdGoOn.DefaultButton = True
+ DlgReadDir.GetControl(&quot;TextField1&quot;).SetFocus()
+ DlgReadDir.Execute
+ End If
+End Sub
+
+
+Sub TreeInfo()
+Dim oCurTextShape As Object
+Dim i as Integer
+Dim bStartUpRun As Boolean
+Dim CurFilename as String
+Dim BaseLevel as Integer
+Dim oController as Object
+Dim MaxFileIndex as Integer
+Dim FileNames() as String
+ ToggleDialogControls(False)
+ oProgressBar.ProgressValueMin = 0
+ oProgressBar.ProgressValueMax = 100
+ bStartUpRun = True
+ nOldHeight = 200
+ nOldY = SBPAGEY
+ nOldX = SBPAGEX
+ nOldWidth = SBPAGEX
+ oController = oDocument.GetCurrentController
+ Source = ConvertToURL(DlgReadDir.Model.TextField1.Text)
+ BaseLevel = CountCharsInString(Source, &quot;/&quot;, 1)
+ oProgressBar.ProgressValue = 5
+ DlgReadDir.Model.Label3.Enabled = True
+ FileNames() = ReadSourceDirectory(Source)
+ DlgReadDir.Model.Label4.Enabled = True
+ DlgReadDir.Model.Label3.Enabled = False
+ oProgressBar.ProgressValue = 12
+ FileNames() = BubbleSortList(FileNames())
+ DlgReadDir.Model.Label5.Enabled = True
+ DlgReadDir.Model.Label4.Enabled = False
+ oProgressBar.ProgressValue = 20
+ MaxFileIndex = Ubound(FileNames(),1)
+ For i = 0 To MaxFileIndex
+ oProgressBar.ProgressValue = 20 + (i/MaxFileIndex * 80)
+ CurFilename = FileNames(i,1)
+ SetNewLevels(FileNames(i,0), BaseLevel)
+ oCurTextShape = CreateTextShape(oPage, CurFilename)
+ CheckPageWidth(oCurTextShape.Size.Width)
+ iLevelPos(iCurLevel,SBBASEY) = oCurTextShape.Position.Y
+ If i = 0 Then
+ AdjustPageHeight(oCurTextShape.Size.Height, MaxFileIndex + 1)
+ End If
+ &apos; The Current TextShape has To be connected with a TextShape one Level higher
+ &apos; except for a TextShape In Level 0:
+ If Not bStartUpRun Then
+ &apos; A leaving Line Is only drawn when level is not 0
+ If iCurLevel&lt;&gt; 0 Then
+ &apos; Determine the Coordinates of the arriving Line
+ iLevelPos(iCurLevel,SBOLDSTARTX) = iLevelPos(nConnectLevel,SBNEWSTARTX)
+ iLevelPos(iCurLevel,SBOLDSTARTY) = oCurTextShape.Position.Y + 0.5 * oCurTextShape.Size.Height
+
+ iLevelPos(iCurLevel,SBOLDENDX) = iLevelPos(iCurLevel,SBBASEX)
+ iLevelPos(iCurLevel,SBOLDENDY) = oCurTextShape.Position.Y + 0.5 * oCurTextShape.Size.Height
+
+ oOldArrivingLine = DrawLine(iCurLevel, SBOLDSTARTX, SBOLDSTARTY, SBOLDENDX, SBOLDENDY, oPage)
+
+ &apos; Determine the End-Coordinates of the last leaving Line
+ iLevelPos(nConnectLevel,SBNEWENDX) = iLevelPos(nConnectLevel,SBNEWSTARTX)
+ iLevelPos(nConnectLevel,SBNEWENDY) = oCurTextShape.Position.Y + 0.5 * oCurTextShape.Size.Height
+ Else
+ &apos; On Level 0 the last Leaving Line&apos;s Endpoint is the upper edge of the TextShape
+ iLevelPos(nConnectLevel,SBNEWENDY) = oCurTextShape.Position.Y
+ iLevelPos(nConnectLevel,SBNEWENDX) = iLevelPos(nConnectLevel,SBNEWSTARTX)
+ End If
+ &apos; Draw the Connectors To the previous TextShapes
+ oOldLeavingLine = DrawLine(nConnectLevel, SBNEWSTARTX, SBNEWSTARTY, SBNEWENDX, SBNEWENDY, oPage)
+ Else
+ &apos; StartingPoint of the leaving Edge
+ bStartUpRun = FALSE
+ End If
+
+ &apos; Determine the beginning Coordinates of the leaving Line
+ iLevelPos(iCurLevel,SBNEWSTARTX) = iLevelPos(iCurLevel,SBBASEX) + 0.5 * oCurTextShape.Size.Width
+ iLevelPos(iCurLevel,SBNEWSTARTY) = iLevelPos(iCurLevel,SBBASEY) + oCurTextShape.Size.Height
+
+ &apos; Save the values For the Next run
+ nOldHeight = oCurTextShape.Size.Height
+ nOldX = oCurTextShape.Position.X
+ nOldWidth = oCurTextShape.Size.Width
+ nOldLevel = iCurLevel
+ Next i
+ ToggleDialogControls(True)
+ DlgReadDir.Model.cmdGoOn.Enabled = False
+End Sub
+
+
+Function CreateTextShape(oPage as Object, Filename as String)
+Dim oTextShape As Object
+Dim aPoint As New com.sun.star.awt.Point
+
+ aPoint.X = CalculateXPoint()
+ aPoint.Y = nOldY + SBRELDIST * nOldHeight
+ nOldY = aPoint.Y
+
+ oTextShape = oDocument.createInstance(&quot;com.sun.star.drawing.TextShape&quot;)
+ oTextShape.LineStyle = 1
+ oTextShape.Position = aPoint
+
+ oPage.add(oTextShape)
+ oTextShape.TextAutoGrowWidth = TRUE
+ oTextShape.TextAutoGrowHeight = TRUE
+ oTextShape.String = FileName
+
+ &apos; Configure Size And Position of the TextShape according to its Scripting
+ aPoint.X = iLevelPos(iCurLevel,SBBASEX)
+ oTextShape.Position = aPoint
+ CreateTextShape() = oTextShape
+End Function
+
+
+Function CalculateXPoint()
+ &apos; The current level Is lower than the Old one
+ If (iCurLevel&lt; nOldLevel) And (iCurLevel&lt;&gt; 0) Then
+ &apos; ClearArray(iLevelPos(),iCurLevel+1)
+ Elseif iCurLevel= 0 Then
+ iLevelPos(iCurLevel,SBBASEX) = SBPAGEX
+ &apos; The current level Is higher than the old one
+ Elseif iCurLevel&gt; nOldLevel Then
+ iLevelPos(iCurLevel,SBBASEX) = iLevelPos(iCurLevel-1,SBBASEX) + nOldWidth + 100
+ End If
+ CalculateXPoint = iLevelPos(iCurLevel,SBBASEX)
+End Function
+
+
+Function DrawLine(nLevel, nStartX, nStartY, nEndX, nEndY As Integer, oPage as Object)
+Dim oConnect As Object
+Dim aPoint As New com.sun.star.awt.Point
+Dim aSize As New com.sun.star.awt.Size
+ aPoint.X = iLevelPos(nLevel,nStartX)
+ aPoint.Y = iLevelPos(nLevel,nStartY)
+ aSize.Width = iLevelPos(nLevel,nEndX) - iLevelPos(nLevel,nStartX)
+ aSize.Height = iLevelPos(nLevel,nEndY) - iLevelPos(nLevel,nStartY)
+ oConnect = oDocument.createInstance(&quot;com.sun.star.drawing.LineShape&quot;)
+ oConnect.Position = aPoint
+ oConnect.Size = aSize
+ oPage.Add(oConnect)
+ DrawLine() = oConnect
+End Function
+
+
+Sub GetSourceDirectory()
+ GetFolderName(DlgReadDir.Model.TextField1)
+End Sub
+
+
+Function ReadSourceDirectory(ByVal Source As String)
+Dim i as Integer
+Dim m as Integer
+Dim n as Integer
+Dim s as integer
+Dim FileName as string
+Dim FileNameList(100,1) as String
+Dim DirList(0) as String
+Dim oUCBobject as Object
+Dim DirContent() as String
+Dim SystemPath as String
+Dim PathSeparator as String
+Dim MaxFileIndex as Integer
+ PathSeparator = GetPathSeparator()
+ oUcbobject = createUnoService(&quot;com.sun.star.ucb.SimpleFileAccess&quot;)
+ m = 0
+ s = 0
+ DirList(0) = Source
+ FileNameList(n,0) = Source
+ SystemPath = ConvertFromUrl(Source)
+ FileNameList(n,1) = FileNameoutofPath(SystemPath, PathSeparator)
+ n = 1
+ Do
+ Source = DirList(m)
+ m = m + 1
+ DirContent() = oUcbObject.GetFolderContents(Source,True)
+ If Ubound(DirContent()) &lt;&gt; -1 Then
+ MaxFileIndex = Ubound(DirContent())
+ For i = 0 to MaxFileIndex
+ FileName = DirContent(i)
+ FileNameList(n,0) = FileName
+ SystemPath = ConvertFromUrl(FileName)
+ FileNameList(n,1) = FileNameOutofPath(SystemPath, PathSeparator)
+ n = n + 1
+ If n &gt; Ubound(FileNameList(),1) Then
+ ReDim Preserve FileNameList(n + 10,1) as String
+ End If
+ If oUcbObject.IsFolder(FileName) Then
+ s = s + 1
+ ReDim Preserve DirList(s) as String
+ DirList(s) = FileName
+ End If
+ Next i
+ End If
+ Loop Until m &gt; Ubound(DirList()
+ ReDim Preserve FileNameList(n-1,1) as String
+ ReadSourceDirectory() = FileNameList()
+End Function
+
+
+Sub CloseDialog
+ DlgReadDir.EndExecute
+End Sub
+
+
+Sub AdjustPageHeight(lShapeHeight, FileCount)
+Dim lNecHeight as Long
+Dim lBorders as Long
+ oDocument.LockControllers
+ lBorders = oPage.BorderTop + oPage.BorderBottom
+ lNecHeight = SBPAGEY + (FileCount * SBRELDIST * lShapeHeight)
+ If lNecHeight &gt; (oPage.Height - lBorders) Then
+ oPage.Height = lNecHeight + lBorders + 500
+ End If
+ oDocument.UnlockControllers
+End Sub
+
+
+Sub SetNewLevels(FileName as String, BaseLevel as Integer)
+ iCurLevel= CountCharsInString(FileName, &quot;/&quot;, 1) - BaseLevel
+ If iCurLevel &lt;&gt; 0 Then
+ nConnectLevel = iCurLevel- 1
+ Else
+ nConnectLevel = iCurLevel
+ End If
+ If iCurLevel &gt; Ubound(iLevelPos(),1) Then
+ ReDim Preserve iLevelPos(iCurLevel,9) as Long
+ End If
+End Sub
+
+
+Sub CheckPageWidth(TextWidth as Long)
+Dim PageWidth as Long
+Dim BaseX as Long
+ PageWidth = oPage.Width
+ BaseX = iLevelPos(iCurLevel,SBBASEX)
+ If BaseX + TextWidth &gt; PageWidth - 1000 Then
+ oPage.Width = 1000 + BaseX + TextWidth
+ End If
+End Sub
+
+
+Sub ToggleDialogControls(bDoEnable as Boolean)
+ With DlgReadDir.Model
+ .cmdGoOn.Enabled = bDoEnable
+ .cmdGetDir.Enabled = bDoEnable
+ .Label1.Enabled = bDoEnable
+ .Label2.Enabled = bDoEnable
+ .TextField1.Enabled = bDoEnable
+ End With
+End Sub</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Gimmicks/ReadFolderDlg.xdl b/test/user-template/user/basic/Gimmicks/ReadFolderDlg.xdl
new file mode 100644
index 000000000000..e49127db2f13
--- /dev/null
+++ b/test/user-template/user/basic/Gimmicks/ReadFolderDlg.xdl
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE dlg:window PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "dialog.dtd">
+<dlg:window xmlns:dlg="http://openoffice.org/2000/dialog" xmlns:script="http://openoffice.org/2000/script" dlg:id="ReadFolderDlg" dlg:left="161" dlg:top="81" dlg:width="180" dlg:height="136" dlg:closeable="true" dlg:moveable="true" dlg:title="Read and Design Recursively">
+ <dlg:bulletinboard>
+ <dlg:button dlg:id="cmdGetDir" dlg:tab-index="0" dlg:left="161" dlg:top="49" dlg:width="14" dlg:height="14" dlg:value="...">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Gimmicks.ReadDir.GetSourceDirectory?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:textfield dlg:id="TextField1" dlg:tab-index="1" dlg:left="6" dlg:top="50" dlg:width="147" dlg:height="12"/>
+ <dlg:button dlg:id="cmdCancel" dlg:tab-index="2" dlg:left="49" dlg:top="115" dlg:width="35" dlg:height="14" dlg:value="~Cancel">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Gimmicks.ReadDir.CloseDialog?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="cmdGoOn" dlg:tab-index="3" dlg:left="95" dlg:top="115" dlg:width="35" dlg:height="14" dlg:value="~GoOn">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Gimmicks.ReadDir.TreeInfo?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:text dlg:id="Label1" dlg:tab-index="4" dlg:left="6" dlg:top="38" dlg:width="122" dlg:height="8" dlg:value="Top level path"/>
+ <dlg:text dlg:id="Label2" dlg:tab-index="5" dlg:left="6" dlg:top="4" dlg:width="168" dlg:height="26" dlg:value="This macro will create a drawing document and design a complete tree view of all subdirectories from a given path." dlg:multiline="true"/>
+ <dlg:progressmeter dlg:id="ProgressBar1" dlg:tab-index="6" dlg:left="6" dlg:top="101" dlg:width="170" dlg:height="10"/>
+ <dlg:text dlg:id="Label3" dlg:tab-index="7" dlg:disabled="true" dlg:left="6" dlg:top="69" dlg:width="170" dlg:height="8" dlg:value="Getting the files and subdirectories..."/>
+ <dlg:text dlg:id="Label4" dlg:tab-index="8" dlg:disabled="true" dlg:left="6" dlg:top="80" dlg:width="170" dlg:height="8" dlg:value="Sorting the files and subdirectories..."/>
+ <dlg:text dlg:id="Label5" dlg:tab-index="9" dlg:disabled="true" dlg:left="6" dlg:top="91" dlg:width="170" dlg:height="8" dlg:value="Drawing the filestructure..."/>
+ </dlg:bulletinboard>
+</dlg:window> \ No newline at end of file
diff --git a/test/user-template/user/basic/Gimmicks/UserfieldDlg.xdl b/test/user-template/user/basic/Gimmicks/UserfieldDlg.xdl
new file mode 100644
index 000000000000..408f3c8be305
--- /dev/null
+++ b/test/user-template/user/basic/Gimmicks/UserfieldDlg.xdl
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE dlg:window PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "dialog.dtd">
+<dlg:window xmlns:dlg="http://openoffice.org/2000/dialog" xmlns:script="http://openoffice.org/2000/script" dlg:id="UserfieldDlg" dlg:left="161" dlg:top="57" dlg:width="281" dlg:height="214" dlg:closeable="true" dlg:moveable="true" dlg:title="Modify User Data">
+ <dlg:bulletinboard>
+ <dlg:text dlg:id="Label1" dlg:tab-index="0" dlg:left="6" dlg:top="48" dlg:width="57" dlg:height="8" dlg:value="Label1"/>
+ <dlg:text dlg:id="Label2" dlg:tab-index="1" dlg:left="6" dlg:top="64" dlg:width="57" dlg:height="8" dlg:value="Label2"/>
+ <dlg:text dlg:id="Label3" dlg:tab-index="2" dlg:left="6" dlg:top="80" dlg:width="57" dlg:height="8" dlg:value="Label3"/>
+ <dlg:text dlg:id="Label4" dlg:tab-index="3" dlg:left="6" dlg:top="96" dlg:width="57" dlg:height="8" dlg:value="Label4"/>
+ <dlg:text dlg:id="Label5" dlg:tab-index="4" dlg:left="6" dlg:top="112" dlg:width="57" dlg:height="8" dlg:value="Label5"/>
+ <dlg:text dlg:id="Label6" dlg:tab-index="5" dlg:left="6" dlg:top="128" dlg:width="57" dlg:height="8" dlg:value="Label6"/>
+ <dlg:text dlg:id="Label7" dlg:tab-index="6" dlg:left="6" dlg:top="144" dlg:width="57" dlg:height="8" dlg:value="Label7"/>
+ <dlg:text dlg:id="Label8" dlg:tab-index="7" dlg:left="6" dlg:top="160" dlg:width="57" dlg:height="8" dlg:value="Label8"/>
+ <dlg:text dlg:id="Label9" dlg:tab-index="8" dlg:left="6" dlg:top="176" dlg:width="57" dlg:height="8" dlg:value="Label9"/>
+ <dlg:textfield dlg:id="TextField1" dlg:tab-index="9" dlg:left="65" dlg:top="46" dlg:width="193" dlg:height="12"/>
+ <dlg:textfield dlg:id="TextField2" dlg:tab-index="10" dlg:left="65" dlg:top="62" dlg:width="193" dlg:height="12"/>
+ <dlg:textfield dlg:id="TextField3" dlg:tab-index="11" dlg:left="65" dlg:top="78" dlg:width="193" dlg:height="12"/>
+ <dlg:textfield dlg:id="TextField4" dlg:tab-index="12" dlg:left="65" dlg:top="94" dlg:width="193" dlg:height="12"/>
+ <dlg:textfield dlg:id="TextField5" dlg:tab-index="13" dlg:left="65" dlg:top="110" dlg:width="193" dlg:height="12"/>
+ <dlg:textfield dlg:id="TextField6" dlg:tab-index="14" dlg:left="65" dlg:top="126" dlg:width="193" dlg:height="12"/>
+ <dlg:textfield dlg:id="TextField7" dlg:tab-index="15" dlg:left="65" dlg:top="142" dlg:width="193" dlg:height="12"/>
+ <dlg:textfield dlg:id="TextField8" dlg:tab-index="16" dlg:left="65" dlg:top="158" dlg:width="193" dlg:height="12"/>
+ <dlg:textfield dlg:id="TextField9" dlg:tab-index="17" dlg:left="65" dlg:top="174" dlg:width="193" dlg:height="12"/>
+ <dlg:scrollbar dlg:id="ScrollBar1" dlg:tab-index="18" dlg:left="263" dlg:top="46" dlg:width="12" dlg:height="140" dlg:align="vertical">
+ <script:event script:event-name="on-adjustmentvaluechange" script:macro-name="vnd.sun.star.script:Gimmicks.Userfields.ScrollControls?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:scrollbar>
+ <dlg:button dlg:id="cmdQuit" dlg:tab-index="19" dlg:left="6" dlg:top="193" dlg:width="35" dlg:height="14" dlg:help-text="Exit Macro" dlg:value="Exit">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Gimmicks.Userfields.StopMacro?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="cmdSave" dlg:tab-index="20" dlg:left="45" dlg:top="193" dlg:width="35" dlg:height="14" dlg:help-text="Save All Data of All Users to File" dlg:value="~Save">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Gimmicks.Userfields.SaveSettings?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="cmdSelect" dlg:tab-index="21" dlg:left="84" dlg:top="193" dlg:width="35" dlg:height="14" dlg:help-text="Replace the User Data in &lt;PRODUCTNAME&gt; With the User Data Above" dlg:value="Se~lect">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Gimmicks.Userfields.SelectCurrentFields?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="cmdNextUser" dlg:tab-index="22" dlg:left="162" dlg:top="193" dlg:width="35" dlg:height="14" dlg:tag="1" dlg:help-text="Show Data of Next User" dlg:value="Next &gt;&gt;">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Gimmicks.Userfields.StepToRecord?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="cmdPrevUser" dlg:tab-index="23" dlg:left="123" dlg:top="193" dlg:width="35" dlg:height="14" dlg:tag="-1" dlg:help-text="Show Data of Previous User" dlg:value="&lt;&lt;Previous">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Gimmicks.Userfields.StepToRecord?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="CommandButton1" dlg:tab-index="24" dlg:left="201" dlg:top="193" dlg:width="35" dlg:height="14" dlg:help-text="Add Data for New User" dlg:value="~New">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Gimmicks.Userfields.AddRecord?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:text dlg:id="Label10" dlg:tab-index="25" dlg:left="6" dlg:top="6" dlg:width="269" dlg:height="34" dlg:value="This macro lets you easily administrate several user profiles.&#x0a;The user data of several users may be stored in a single file in the directory &lt;ConfigDir&gt;. From there, you can select a particular user whose data is then the current user data in &lt;PRODUCTNAME&gt;." dlg:multiline="true"/>
+ <dlg:button dlg:id="cmdDelete" dlg:tab-index="26" dlg:left="240" dlg:top="193" dlg:width="35" dlg:height="14" dlg:help-text="Delete Data of Current User" dlg:value="Delete">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Gimmicks.Userfields.DeleteCurrentSettings?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ </dlg:bulletinboard>
+</dlg:window> \ No newline at end of file
diff --git a/test/user-template/user/basic/Gimmicks/Userfields.xba b/test/user-template/user/basic/Gimmicks/Userfields.xba
new file mode 100644
index 000000000000..391337c6a357
--- /dev/null
+++ b/test/user-template/user/basic/Gimmicks/Userfields.xba
@@ -0,0 +1,219 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Userfields" script:language="StarBasic">Option Explicit
+&apos;Todo: Controlling Scrollbar via Keyboard
+
+Public Const SBMAXFIELDINDEX = 14
+
+Public DlgUserFields as Object
+Public oDocument as Object
+Public UserFieldDataType(SBMAXFIELDINDEX,1) as String
+Public ScrollBarValue as Integer
+Public UserFieldFamily(0, SBMAXfIELDINDEX) as String
+Public Const SBTBCOUNT = 9
+Public oUserDataAccess as Object
+Public CurFieldIndex as Integer
+Public FilePath as String
+
+Sub StartChangesUserfields
+Dim SystemPath as String
+ BasicLibraries.LoadLibrary(&quot;Tools&quot;)
+ UserFieldDatatype(0,0) = &quot;COMPANY&quot;
+ UserFieldDatatype(0,1) = &quot;o&quot;
+ UserFieldDatatype(1,0) = &quot;FIRSTNAME&quot;
+ UserFieldDatatype(1,1) = &quot;givenname&quot;
+ UserFieldDatatype(2,0) = &quot;LASTNAME&quot;
+ UserFieldDatatype(2,1) = &quot;sn&quot;
+ UserFieldDatatype(3,0) = &quot;INITIALS&quot;
+ UserFieldDatatype(3,1) = &quot;initials&quot;
+ UserFieldDatatype(4,0) = &quot;STREET&quot;
+ UserFieldDatatype(4,1) = &quot;street&quot;
+ UserFieldDatatype(5,0) = &quot;COUNTRY&quot;
+ UserFieldDatatype(5,1) = &quot;c&quot;
+ UserFieldDatatype(6,0) = &quot;ZIP&quot;
+ UserFieldDatatype(6,1) = &quot;postalcode&quot;
+ UserFieldDatatype(7,0) = &quot;CITY&quot;
+ UserFieldDatatype(7,1) = &quot;l&quot;
+ UserFieldDatatype(8,0) = &quot;TITLE&quot;
+ UserFieldDatatype(8,1) = &quot;title&quot;
+ UserFieldDatatype(9,0) = &quot;POSITION&quot;
+ UserFieldDatatype(9,1) = &quot;position&quot;
+ UserFieldDatatype(10,0) = &quot;PHONE_HOME&quot;
+ UserFieldDatatype(10,1) = &quot;homephone&quot;
+ UserFieldDatatype(11,0) = &quot;PHONE_WORK&quot;
+ UserFieldDatatype(11,1) = &quot;telephonenumber&quot;
+ UserFieldDatatype(12,0) = &quot;FAX&quot;
+ UserFieldDatatype(12,1) = &quot;facsimiletelephonenumber&quot;
+ UserFieldDatatype(13,0) = &quot;E-MAIL&quot;
+ UserFieldDatatype(13,1) = &quot;mail&quot;
+ UserFieldDatatype(14,0) = &quot;STATE&quot;
+ UserFieldDatatype(14,1) = &quot;st&quot;
+ FilePath = GetPathSettings(&quot;Config&quot;, False) &amp; &quot;/&quot; &amp; &quot;UserData.dat&quot;
+ DlgUserFields = LoadDialog(&quot;Gimmicks&quot;,&quot;UserfieldDlg&quot;)
+ SystemPath = ConvertFromUrl(FilePath)
+ DlgUserFields.Model.Label10.Label = ReplaceString(DlgUserFields.Model.Label10.Label, &quot;&apos;&quot; &amp; SystemPath &amp; &quot;&apos;&quot;, &quot;&lt;ConfigDir&gt;&quot;)
+ DlgUserFields.Model.Label10.Label = ReplaceString(DlgUserFields.Model.Label10.Label, GetProductName(), &quot;&lt;PRODUCTNAME&gt;&quot;)
+ DlgUserFields.Model.cmdSelect.HelpText = ReplaceString(DlgUserFields.Model.cmdSelect.HelpText, GetProductName(), &quot;&lt;PRODUCTNAME&gt;&quot;)
+ ScrollBarValue = 0
+ oUserDataAccess = GetRegistryKeyContent(&quot;org.openoffice.UserProfile/Data&quot;, True)
+ InitializeUserFamily()
+ FillDialog()
+ DlgUserFields.Execute
+ DlgUserFields.Dispose()
+End Sub
+
+
+Sub FillDialog()
+Dim a as Integer
+ With DlgUserFields
+ For a = 1 To SBTBCount
+ .GetControl(&quot;Label&quot; &amp; a).Model.Label = UserFieldDataType(a-1,0)
+ .GetControl(&quot;TextField&quot; &amp; a).Model.Text = UserFieldFamily(CurFieldIndex, a-1)
+ Next a
+ .Model.ScrollBar1.ScrollValueMax = (SBMAXFIELDINDEX+1) - SBTBCOUNT
+ .Model.ScrollBar1.BlockIncrement = SBTBCOUNT
+ .Model.ScrollBar1.LineIncrement = 1
+ .Model.ScrollBar1.ScrollValue = ScrollBarValue
+ End With
+End Sub
+
+
+Sub ScrollControls()
+ ScrollTextFieldInfo(ScrollBarValue)
+ ScrollBarValue = DlgUserFields.Model.ScrollBar1.ScrollValue
+ If (ScrollBarValue + SBTBCOUNT) &gt;= SBMAXFIELDINDEX + 1 Then
+ ScrollBarValue = (SBMAXFIELDINDEX + 1) - SBTBCOUNT
+ End If
+ FillupTextFields()
+End Sub
+
+
+Sub ScrollTextFieldInfo(ByVal iScrollValue as Integer)
+Dim a as Integer
+Dim CurIndex as Integer
+ For a = 1 To SBTBCOUNT
+ CurIndex = (a-1) + iScrollValue
+ UserFieldFamily(CurFieldIndex,CurIndex) = DlgUserFields.GetControl(&quot;TextField&quot; &amp; a).Model.Text
+ Next a
+End Sub
+
+
+Sub StopMacro()
+ DlgUserFields.EndExecute
+End Sub
+
+
+Sub SaveSettings()
+Dim n as Integer
+Dim m as Integer
+Dim MaxIndex as Integer
+ ScrollTextFieldInfo(DlgUserFields.Model.ScrollBar1.ScrollValue)
+ MaxIndex = Ubound(UserFieldFamily(), 1)
+ Dim FileStrings(MaxIndex) as String
+ For n = 0 To MaxIndex
+ FileStrings(n) = &quot;&quot;
+ For m = 0 To SBMAXFIELDINDEX
+ FileStrings(n) = FileStrings(n) &amp; UserFieldFamily(n,m) &amp; &quot;;&quot;
+ Next m
+ Next n
+ SaveDataToFile(FilePath, FileStrings(), True)
+End Sub
+
+
+Sub ToggleButtons(ByVal Index as Integer)
+Dim i as Integer
+ CurFieldIndex = Index
+ DlgUserFields.Model.cmdNextUser.Enabled = CurFieldIndex &lt;&gt; Ubound(UserFieldFamily(), 1)
+ DlgUserFields.Model.cmdPrevUser.Enabled = CurFieldIndex &lt;&gt; 0
+End Sub
+
+
+Sub InitializeUserFamily()
+Dim FirstIndex as Integer
+Dim UserFieldstrings() as String
+Dim LocStrings() as String
+Dim bFileExists as Boolean
+Dim n as Integer
+Dim m as Integer
+ bFileExists = LoadDataFromFile(GetPathSettings(&quot;Config&quot;, False) &amp; &quot;/&quot; &amp; &quot;UserData.dat&quot;, UserFieldStrings())
+ If bFileExists Then
+ FirstIndex = Ubound(UserFieldStrings())
+ ReDim Preserve UserFieldFamily(FirstIndex, SBMAXFIELDINDEX) as String
+ For n = 0 To FirstIndex
+ LocStrings() = ArrayOutofString(UserFieldStrings(n), &quot;;&quot;)
+ For m = 0 To SBMAXFIELDINDEX
+ UserFieldFamily(n,m) = LocStrings(m)
+ Next m
+ Next n
+ Else
+ ReDim Preserve UserFieldFamily(0,SBMAXFIELDINDEX) as String
+ For m = 0 To SBMAXFIELDINDEX
+ UserFieldFamily(0,m) = oUserDataAccess.GetByName(UserFieldDataType(m,1))
+ Next m
+ End If
+ ToggleButtons(0)
+End Sub
+
+
+Sub AddRecord()
+Dim i as Integer
+Dim MaxIndex as Integer
+ For i = 1 To SBTBCount
+ DlgUserFields.GetControl(&quot;TextField&quot; &amp; i).Model.Text = &quot;&quot;
+ Next i
+ MaxIndex = Ubound(UserFieldFamily(),1)
+ ReDim Preserve UserFieldFamily(MaxIndex + 1, SBMAXFIELDINDEX) as String
+ ToggleButtons(MaxIndex + 1, 1)
+End Sub
+
+
+Sub FillupTextFields()
+Dim a as Integer
+Dim CurIndex as Integer
+ For a = 1 To SBTBCOUNT
+ CurIndex = (a-1) + ScrollBarValue
+ DlgUserFields.GetControl(&quot;Label&quot; &amp; a).Model.Label = UserFieldDataType(CurIndex,0)
+ DlgUserFields.GetControl(&quot;TextField&quot; &amp; a).Model.Text = UserFieldFamily(CurFieldIndex, CurIndex)
+ Next a
+End Sub
+
+
+Sub StepToRecord(aEvent as Object)
+Dim iStep as Integer
+ iStep = CInt(aEvent.Source.Model.Tag)
+ ScrollTextFieldInfo(ScrollBarValue)
+ ToggleButtons(CurFieldIndex + iStep)
+ FillUpTextFields()
+End Sub
+
+
+Sub SelectCurrentFields()
+Dim MaxIndex as Integer
+Dim i as Integer
+ ScrollTextFieldInfo(ScrollBarValue)
+ MaxIndex = Ubound(UserFieldFamily(),2)
+ For i = 0 To MaxIndex
+ oUserDataAccess.ReplaceByName(UserFieldDataType(i,1), UserFieldFamily(CurFieldIndex, i))
+ Next i
+ oUserDataAccess.commitChanges()
+End Sub
+
+
+Sub DeleteCurrentSettings()
+Dim n as Integer
+Dim m as Integer
+Dim MaxIndex as Integer
+ MaxIndex = Ubound(UserFieldFamily(),1)
+ If CurFieldIndex &lt; MaxIndex Then
+ For n = CurFieldIndex To MaxIndex - 1
+ For m = 0 To SBMAXFIELDINDEX
+ UserFieldFamily(n,m) = UserFieldFamily(n + 1,m)
+ Next m
+ Next n
+ Else
+ CurFieldIndex = MaxIndex - 1
+ End If
+ ReDim Preserve UserFieldFamily(MaxIndex-1, SBMAXfIELDINDEX) as String
+ FillupTextFields()
+ ToggleButtons(CurFieldIndex)
+End Sub</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Gimmicks/dialog.xlb b/test/user-template/user/basic/Gimmicks/dialog.xlb
new file mode 100644
index 000000000000..22271dacb14b
--- /dev/null
+++ b/test/user-template/user/basic/Gimmicks/dialog.xlb
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="Gimmicks" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="UserfieldDlg"/>
+ <library:element library:name="ReadFolderDlg"/>
+</library:library>
diff --git a/test/user-template/user/basic/Gimmicks/script.xlb b/test/user-template/user/basic/Gimmicks/script.xlb
new file mode 100644
index 000000000000..5c820ba43e0c
--- /dev/null
+++ b/test/user-template/user/basic/Gimmicks/script.xlb
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="Gimmicks" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="GetTexts"/>
+ <library:element library:name="Userfields"/>
+ <library:element library:name="ChangeAllChars"/>
+ <library:element library:name="AutoText"/>
+ <library:element library:name="ReadDir"/>
+</library:library>
diff --git a/test/user-template/user/basic/ImportWizard/API.xba b/test/user-template/user/basic/ImportWizard/API.xba
new file mode 100644
index 000000000000..d38ba68d832d
--- /dev/null
+++ b/test/user-template/user/basic/ImportWizard/API.xba
@@ -0,0 +1,208 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="API" script:language="StarBasic">Declare Function RegOpenKeyEx Lib &quot;advapi32.dll&quot; Alias &quot;RegOpenKeyExA&quot; _
+ (ByVal hKey As Long, _
+ ByVal lpSubKey As String, _
+ ByVal ulOptions As Long, _
+ ByVal samDesired As Long, _
+ phkResult As Long) As Long
+
+Declare Function RegQueryValueExString Lib &quot;advapi32.dll&quot; Alias &quot;RegQueryValueExA&quot; _
+ (ByVal hKey As Long, _
+ ByVal lpValueName As String, _
+ ByVal lpReserved As Long, _
+ lpType As Long, _
+ lpData As String, _
+ lpcbData As Long) As Long
+
+Declare Function RegQueryValueExLong Lib &quot;advapi32.dll&quot; Alias &quot;RegQueryValueExA&quot; _
+ (ByVal hKey As Long, _
+ ByVal lpValueName As String, _
+ ByVal lpReserved As Long, _
+ lpType As Long, _
+ lpData As Long, _
+ lpcbData As Long) As Long
+
+Declare Function RegQueryValueExNULL Lib &quot;advapi32.dll&quot; Alias &quot;RegQueryValueExA&quot; _
+ (ByVal hKey As Long, _
+ ByVal lpValueName As String, _
+ ByVal lpReserved As Long, _
+ lpType As Long, _
+ ByVal lpData As Long, _
+ lpcbData As Long) As Long
+
+Declare Function RegCloseKeyA Lib &quot;advapi32.dll&quot; Alias &quot;RegCloseKey&quot; _
+ (ByVal hKey As Long) As Long
+
+
+Public Const HKEY_CLASSES_ROOT = &amp;H80000000
+Public Const HKEY_CURRENT_USER = &amp;H80000001
+Public Const HKEY_LOCAL_MACHINE = &amp;H80000002
+Public Const HKEY_USERS = &amp;H80000003
+Public Const KEY_ALL_ACCESS = &amp;H3F
+Public Const REG_OPTION_NON_VOLATILE = 0
+Public Const REG_SZ As Long = 1
+Public Const REG_DWORD As Long = 4
+Public Const ERROR_NONE = 0
+Public Const ERROR_BADDB = 1
+Public Const ERROR_BADKEY = 2
+Public Const ERROR_CANTOPEN = 3
+Public Const ERROR_CANTREAD = 4
+Public Const ERROR_CANTWRITE = 5
+Public Const ERROR_OUTOFMEMORY = 6
+Public Const ERROR_INVALID_PARAMETER = 7
+Public Const ERROR_ACCESS_DENIED = 8
+Public Const ERROR_INVALID_PARAMETERS = 87
+Public Const ERROR_NO_MORE_ITEMS = 259
+&apos;Public Const KEY_READ = &amp;H20019
+
+
+Function OpenRegKey(lBaseKey As Long, sKeyName As String) As Variant
+Dim LocKeyValue
+Dim hKey as Long
+Dim lRetValue as Long
+ lRetValue = RegOpenKeyEx(lBaseKey, sKeyName, 0, KEY_ALL_ACCESS, hKey)
+&apos; lRetValue = QueryValue(HKEY_LOCAL_MACHINE, &quot;SOFTWARE\Microsoft\Outlook Express\5.0\Default Settings&quot;, &quot;Revocation Checking&quot;)
+ If hKey &lt;&gt; 0 Then
+ RegCloseKeyA (hKey)
+ End If
+ OpenRegKey() = lRetValue
+End Function
+
+
+Function GetDefaultPath(CurOffice as Integer) As String
+Dim sPath as String
+Dim Index as Integer
+ Select Case Wizardmode
+ Case SBMICROSOFTMODE
+ Index = Applications(CurOffice,SBAPPLKEY)
+ If GetGUIType = 1 Then &apos; Windows
+ sPath = QueryValue(HKEY_LOCAL_MACHINE, sKeyName(Index), sValueName(Index))
+ Else
+ sPath = &quot;&quot;
+ End If
+ If sPath = &quot;&quot; Then
+ sPath = SOWorkPath
+ End If
+ GetDefaultPath = sPath
+ Case SBXMLMODE
+ GetDefaultPath = SOWorkPath
+ End Select
+End Function
+
+
+Function GetTemplateDefaultPath(Index as Integer) As String
+Dim sLocTemplatePath as String
+Dim sLocProgrampath as String
+Dim Progstring as String
+Dim PathList()as String
+Dim Maxindex as Integer
+Dim OldsLocTemplatePath
+Dim sTemplateKeyName as String
+Dim sTemplateValueName as String
+ On Local Error Goto NOVAlIDSYSTEMPATH
+ Select Case WizardMode
+ Case SBMICROSOFTMODE
+ If GetGUIType = 1 Then &apos; Windows
+ &apos; Template directory of Office 97
+ sTemplateKeyName = &quot;Software\Microsoft\Office\8.0\Common\FileNew\LocalTemplates&quot;
+ sTemplateValueName = &quot;&quot;
+ sLocTemplatePath = QueryValue(HKEY_LOCAL_MACHINE, sTemplateKeyName, sTemplateValueName)
+
+ If sLocTemplatePath = &quot;&quot; Then
+ &apos; Retrieve the template directory of Office 2000
+ &apos; Unfortunately there is no existing note about the template directory in
+ &apos; the whole registry.
+
+ &apos; Programdirectory of Office 2000
+ sTemplateKeyName = &quot;Software\Microsoft\Office\9.0\Common\InstallRoot&quot;
+ sTemplateValueName = &quot;Path&quot;
+ sLocProgrampath = QueryValue(HKEY_LOCAL_MACHINE, sTemplateKeyName, sTemplateValueName)
+ If sLocProgrampath &lt;&gt; &quot;&quot; Then
+ If Right(sLocProgrampath, 1) &lt;&gt; &quot;\&quot; Then
+ sLocProgrampath = sLocProgrampath &amp; &quot;\&quot;
+ End If
+ PathList() = ArrayoutofString(sLocProgrampath,&quot;\&quot;,Maxindex)
+ Progstring = &quot;\&quot; &amp; PathList(Maxindex-1) &amp; &quot;\&quot;
+ OldsLocTemplatePath = DeleteStr(sLocProgramPath,Progstring)
+
+ sLocTemplatePath = OldsLocTemplatePath &amp; &quot;\&quot; &amp; &quot;Templates&quot;
+
+ &apos; Does this subdirectory &quot;templates&quot; exist at all
+ If oUcb.Exists(sLocTemplatePath) Then
+ &apos; If Not the main directory of the office is the base
+ sLocTemplatePath = OldsLocTemplatePath
+ End If
+ Else
+ sLocTemplatePath = SOWorkPath
+ End If
+ End If
+ GetTemplateDefaultPath = ConvertToUrl(sLocTemplatePath)
+ Else
+ GetTemplateDefaultPath = SOWorkPath
+ End If
+ Case SBXMLMODE
+ If Index = 3 Then
+ &apos; Helper Application with no templates
+ GetTemplateDefaultPath = SOWorkPath
+ Else
+ GetTemplateDefaultPath = SOTemplatePath
+ End If
+ End Select
+NOVALIDSYSTEMPATH:
+ If Err &lt;&gt; 0 Then
+ GetTemplateDefaultPath() = SOWorkPath
+ Resume ONITGOES
+ ONITGOES:
+ End If
+End Function
+
+
+Function QueryValueEx(ByVal lhKey, ByVal szValueName As String, vValue As String) As Long
+Dim cch As Long
+Dim lrc As Long
+Dim lType As Long
+Dim lValue As Long
+Dim sValue As String
+Dim Empty
+
+ On Error GoTo QueryValueExError
+
+ lrc = RegQueryValueExNULL(lhKey, szValueName, 0&amp;, lType, 0&amp;, cch)
+ If lrc &lt;&gt; ERROR_NONE Then Error 5
+ Select Case lType
+ Case REG_SZ:
+ sValue = String(cch, 0)
+ lrc = RegQueryValueExString(lhKey, szValueName, 0&amp;, lType, sValue, cch)
+ If lrc = ERROR_NONE Then
+ vValue = Left$(sValue, cch)
+ Else
+ vValue = Empty
+ End If
+ Case REG_DWORD:
+ lrc = RegQueryValueExLong(lhKey, szValueName, 0&amp;, lType, lValue, cch)
+ If lrc = ERROR_NONE Then
+ vValue = lValue
+ End If
+ Case Else
+ lrc = -1
+ End Select
+QueryValueExExit:
+ QueryValueEx = lrc
+ Exit Function
+QueryValueExError:
+ Resume QueryValueExExit
+End Function
+
+
+Function QueryValue(BaseKey As Long, sKeyName As String, sValueName As String) As Variant
+Dim lRetVal As Long &apos; Returnvalue API-Call
+Dim hKey As Long &apos; Onen key handle
+Dim vValue As String &apos; Key value
+
+ lRetVal = RegOpenKeyEx(BaseKey, sKeyName, 0, KEY_ALL_ACCESS, hKey)
+ lRetVal = QueryValueEx(hKey, sValueName, vValue)
+ RegCloseKeyA (hKey)
+ QueryValue = vValue
+End Function
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/ImportWizard/DialogModul.xba b/test/user-template/user/basic/ImportWizard/DialogModul.xba
new file mode 100644
index 000000000000..cb4b94a9ba13
--- /dev/null
+++ b/test/user-template/user/basic/ImportWizard/DialogModul.xba
@@ -0,0 +1,656 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="DialogModul" script:language="StarBasic">Option Explicit
+
+Public Const bDebugWizard = True
+
+Public Const SBFIRSTAPPLCHECKED = 0
+Public Const SBSECONDAPPLCHECKED = 1
+Public Const SBTHIRDAPPLCHECKED = 2
+Public Const SBFOURTHAPPLCHECKED = 3
+Public bFilterTracingAvailable as Boolean
+Public WizardMode as String
+Public Const SBMICROSOFTMODE = &quot;MS&quot;
+Public Const SBXMLMODE = &quot;SO&quot;
+&apos; The absolute maximal Number of possible Applications
+Public Const Twip = 425
+Public Const SBMAXAPPLCOUNT = 4
+Public MaxApplCount as Integer
+Public CurOffice As Integer
+Public SOBitmapPath As String
+Public SOWorkPath As String
+Public SOTemplatePath as String
+Public bCancelTask As Boolean
+Public bDoKeepApplValues as Boolean
+Public iApplSection as Integer
+Public oUcb as Object
+Public PathSeparator as String
+
+Public ApplCount as Integer
+Public sKeyName(SBMAXAPPLCOUNT-1) as String
+Public sValueName(SBMAXAPPLCOUNT-1) as String
+Public sCRLF as String
+Public MSFilterName(5,4) as String
+Public XMLFilterName(7,3) as String &apos;Number of different formats
+Public FilterTracingLogPath(2) as String
+Public bMSApplFilterTracingAvailable(2) as String
+Public bTakeOverTargetName(2) as Boolean
+Public bTakeOverPathName(2) as Boolean
+
+&apos; e.g.:
+&apos; XMLFilterName(x,0) = &quot;sdw&quot; &apos; in documents we take the extensions; in SO-templates the appropriate Filtername
+&apos; XMLFilterName(x,1) = &quot;swriter: StarWriter 5.0&quot; &apos; the filtername of the target-format
+&apos; XMLFilterName(x,2) = &quot;sxw&quot; &apos; the target extension
+
+Public Applications(SBMAXAPPLCOUNT-1,9)
+
+Public Const SBAPPLCONVERT = 0
+Public Const SBDOCCONVERT = 1
+Public Const SBDOCRECURSIVE = 2
+Public Const SBDOCSOURCE = 3
+Public Const SBDOCTARGET = 4
+Public Const SBTEMPLCONVERT = 5
+Public Const SBTEMPLRECURSIVE = 6
+Public Const SBTEMPLSOURCE = 7
+Public Const SBTEMPLTARGET = 8
+Public Const SBAPPLKEY = 9
+Public XMLTemplateList()
+
+&apos; Application-relating Data are stored in this Array
+&apos; according to the following structure:
+&apos; Applications(X,0) = True/False (Application is to be converted)
+&apos; Applications(X,1) = True/False (Documents are to be converted)
+&apos; Applications(X,2) = True/False (Including Subdirectories)
+&apos; Applications(X,3) = &quot;File:///...&quot; (SourceUrl of the documents)
+&apos; Applications(X,4) = &quot;File///:...&quot; (TargetUrl of the documents)
+&apos; Applications(X,5) = True/False (Templates are to be converted)
+&apos; Applications(X,6) = True/False (Including Subdirectories)
+&apos; Applications(X,7) = &quot;File:///...&quot; (SourceUrl of the templates)
+&apos; Applications(X,8) = &quot;File:///...&quot; (TargetUrl of the templates)
+&apos; Applications(X,9) = 0 (Key to the original Index of the Applications)
+
+Public Const SBMAXEXTENSIONLENGTH = 15
+
+
+Sub FillStep_Welcome()
+Dim i as Integer
+&apos; bDoKeepApplValues = False
+ ImportDialogArea.Title = sTitle
+ With ImportDialog
+ .cmdHelp.Label = sHelpButton
+ .cmdCancel.Label = sCancelButton
+ .cmdBack.Label = sBackButton
+ .cmdGoOn.Label = sNextButton
+ .WelcomeTextLabel.Label = sWelcomeTextLabel1
+ .WelcomeTextLabel3.Label = sWelcomeTextLabel3
+
+ .optMSDocuments.Label = sContainerName(0)
+ .chkMSApplication1.Label = sMsDocumentCheckbox(0)
+ .chkMSApplication2.Label = sMsDocumentCheckbox(1)
+ .chkMSApplication3.Label = sMsDocumentCheckbox(2)
+
+ .optSODocuments.Label = sContainerName(1)
+ .chkSOApplication1.Label = sSODocumentCheckbox(0)
+ .chkSOApplication2.Label = sSODocumentCheckbox(1)
+ .chkSOApplication3.Label = sSODocumentCheckbox(2)
+ .chkSOApplication4.Label = sSODocumentCheckbox(3)
+ .cmdBack.Enabled = False
+ .Step = 1
+
+ If Not oFactoryKey.hasbyName(&quot;com.sun.star.text.TextDocument&quot;) Then
+ .chkLogfile.State = 0
+ .chkLogfile.Enabled = False
+ End If
+ End With
+ CheckModuleInstallation()
+ ToggleNextButton()
+End Sub
+
+
+Sub FillStep_InputPaths(OfficeIndex as Integer, bStartup as Boolean)
+Dim Index as Integer
+Dim oNullObject as Object
+ If bStartup And Not bDoKeepApplValues Then
+ If ImportDialog.optMSDocuments.State = 1 Then
+ SetupMSConfiguration()
+ Else
+ SetupXMLConfiguration()
+ End If
+ FillUpApplicationList()
+ End If
+ CurOffice = OfficeIndex
+ Index = Applications(CurOffice,SBAPPLKEY)
+ InitializePathsforCurrentApplication(Index)
+ With ImportDialog
+ .chkTemplatePath.Label = sTemplateCheckbox(Index)
+ .chkDocumentPath.State = Abs(Applications(CurOffice,SBDOCCONVERT))
+ .chkDocumentSearchSubDir.State = Abs(Applications(CurOffice,SBDOCRECURSIVE))
+ .txtDocumentImportPath.Text = ConvertFromUrl(Applications(CurOffice,SBDOCSOURCE))
+ .txtDocumentExportPath.Text = ConvertFromUrl(Applications(CurOffice,SBDOCTARGET))
+ .hlnDocuments.Label = sProgressMoreDocs
+ If WizardMode = SBXMLMODE Then
+ ImportDialogArea.Title = sTitle &amp; &quot; - &quot; &amp; sSODocumentCheckBox(Index)
+ Else
+ ImportDialogArea.Title = sTitle &amp; &quot; - &quot; &amp; sMSDocumentCheckBox(Index)
+ End If
+ If WizardMode = SBXMLMODE AND Index = 3 Then
+ &apos; Note: SO-Helper Applications are partly treated like templates although they only have documents
+ .hlnTemplates.Label = sProgressMoreDocs
+ .chkTemplatePath.Label = sSOHelperDocuments(0,0)
+ .chkTemplatePath.Enabled = oFactoryKey.HasByName(sSOHelperDocuments(0,1))
+ .chkDocumentPath.Label = sSOHelperDocuments(1,0)
+ .chkDocumentPath.Enabled = oFactoryKey.HasByName(sSOHelperDocuments(1,1))
+ Else
+ .chkTemplatePath.Enabled = True
+ .chkDocumentPath.Enabled = True
+ .chkTemplatePath.Label = sTemplateCheckbox(Index)
+ .chkDocumentPath.Label = sDocumentCheckbox(Index)
+ .hlnTemplates.Label = sProgressMoreTemplates
+ End If
+ .chkTemplatePath.State = Abs(Applications(CurOffice,SBTEMPLCONVERT))
+ ToggleInputPaths(oNullObject,&quot;Template&quot;)
+ ToggleInputPaths(oNullObject,&quot;Document&quot;)
+ .chkTemplateSearchSubDir.State = Abs(Applications(CurOffice,SBTEMPLRECURSIVE))
+ .txtTemplateImportPath.Text = ConvertFromUrl(Applications(CurOffice,SBTEMPLSOURCE))
+ .txtTemplateExportPath.Text = ConvertFromUrl(Applications(CurOffice,SBTEMPLTARGET))
+ .cmdGoOn.Label = sNextButton
+ .cmdBack.Enabled = True
+ ImportDialog.Step = 2
+ End With
+ ImportDialogArea.GetControl(&quot;chkTemplatePath&quot;).SetFocus()
+ ToggleNextButton()
+End Sub
+
+
+Sub FillUpApplicationList()
+Dim i as Integer
+Dim a as Integer
+Dim BoolValue as Boolean
+ If Not bDoKeepApplValues Then
+ a = 0
+ For i = 1 To ApplCount
+ If ImportDialog.optMSDocuments.State = 1 Then
+ BoolValue = ImportDialogArea.GetControl(&quot;chkMSApplication&quot; &amp; i).Model.State = 1
+ Else
+ BoolValue = ImportDialogArea.GetControl(&quot;chkSOApplication&quot; &amp; i).Model.State = 1
+ End If
+ Applications(a,SBAPPLCONVERT) = BoolValue
+ Applications(a,SBDOCCONVERT) = BoolValue
+ Applications(a,SBDOCRECURSIVE) = BoolValue
+ Applications(a,SBDOCSOURCE) = &quot;&quot; &apos; GetDefaultPath(i)
+ Applications(a,SBDOCTARGET) = &quot;&quot; &apos; SOWorkPath
+ Applications(a,SBTEMPLCONVERT) = BoolValue
+ Applications(a,SBTEMPLRECURSIVE) = BoolValue
+ Applications(a,SBTEMPLSOURCE) = &quot;&quot; &apos; GetTemplateDefaultPath(i)
+ Applications(a,SBTEMPLTARGET) = &quot;&quot; &apos; GetTargetTemplatePath(i)
+ Applications(a,SBAPPLKEY) = i-1
+ If BoolValue Then
+ a = a + 1
+ End If
+ Next i
+ ApplCount = a
+ End If
+End Sub
+
+
+Sub InitializePathsforCurrentApplication(i as Integer)
+ AssignPathToCurrentApplication(SBDOCSOURCE, GetDefaultPath(i))
+ AssignPathToCurrentApplication(SBDOCTARGET, SOWorkPath)
+ AssignPathToCurrentApplication(SBTEMPLSOURCE, GetTemplateDefaultPath(i))
+ AssignPathToCurrentApplication(SBTEMPLTARGET, GetTargetTemplatePath(i))
+End Sub
+
+
+Sub AssignPathToCurrentApplication(Index as Integer, NewPath as String)
+ If Applications(CurOffice,Index) = &quot;&quot; Then
+ If CurOffice &gt; 0 Then
+ Applications(CurOffice,Index) = Applications(CurOffice-1,Index)
+ Else
+ Applications(CurOffice,Index) = NewPath
+ End If
+ End If
+End Sub
+
+
+Sub SaveStep_InputPath()
+ Applications(CurOffice,SBDOCCONVERT) = ImportDialog.chkDocumentPath.State = 1
+ Applications(CurOffice,SBDOCRECURSIVE) = ImportDialog.chkDocumentSearchSubDir.State = 1
+ Applications(CurOffice,SBDOCSOURCE) = ConvertToURL(ImportDialog.txtDocumentImportPath.Text)
+ Applications(CurOffice,SBDOCTARGET) = ConvertToUrl(ImportDialog.txtDocumentExportPath.Text)
+ Applications(CurOffice,SBTEMPLCONVERT) = ImportDialog.chkTemplatePath.State = 1
+ Applications(CurOffice,SBTEMPLRECURSIVE) = ImportDialog.chkTemplateSearchSubDir.State = 1
+ Applications(CurOffice,SBTEMPLSOURCE) = ConvertToURL(ImportDialog.txtTemplateImportPath.Text)
+ Applications(CurOffice,SBTEMPLTARGET) = ConvertToURL(ImportDialog.txtTemplateExportPath.Text)
+End Sub
+
+
+Sub ToggleInputPaths(aEvent as Object, Optional sDocType)
+Dim bDoEnable as Boolean
+Dim sLocDocType as String
+Dim oCheckBox as Object
+ If Not IsNull(aEvent) Then
+ sLocDocType = aEvent.Source.Model.Tag
+ Else
+ sLocDocType = sDocType
+ End If
+ With ImportDialogArea
+ oCheckBox = .GetControl(&quot;chk&quot; &amp; sLocDocType &amp; &quot;Path&quot;).Model
+ bDoEnable = oCheckBox.State = 1 And oCheckBox.Enabled
+ .GetControl(&quot;lbl&quot; &amp; sLocDocType &amp; &quot;Import&quot;).Model.Enabled = bDoEnable
+ .GetControl(&quot;lbl&quot; &amp; sLocDocType &amp; &quot;Export&quot;).Model.Enabled = bDoEnable
+ .GetControl(&quot;txt&quot; &amp; sLocDocType &amp; &quot;ImportPath&quot;).Model.Enabled = bDoEnable
+ .GetControl(&quot;txt&quot; &amp; sLocDocType &amp; &quot;ExportPath&quot;).Model.Enabled = bDoEnable
+ .GetControl(&quot;chk&quot; &amp; sLocDocType &amp; &quot;SearchSubDir&quot;).Model.Enabled = bDoEnable
+ .GetControl(&quot;cmd&quot; &amp; sLocDocType &amp; &quot;Import&quot;).Model.Enabled = bDoEnable
+ .GetControl(&quot;cmd&quot; &amp; sLocDocType &amp; &quot;Export&quot;).Model.Enabled = bDoEnable
+ End With
+ ToggleNextButton()
+End Sub
+
+
+Function MakeSummaryString()
+Dim sTmpText As String
+Dim i as Integer
+Dim Index as Integer
+Dim sAddText as String
+ For i = 0 To ApplCount -1
+ Index = Applications(i,SBAPPLKEY)
+ GetFilterTracingLogPath(i, Index)
+ If Applications(i,SBTEMPLCONVERT) Then
+ &apos; Templates are to be converted
+ sAddText = &quot;&quot;
+ If WizardMode = SBMICROSOFTMODE Then
+ sAddText = sSumMSTemplates(Index) &amp; sCRLF
+ Else
+ sAddText = sSumSOTemplates(Index) &amp; sCRLF
+ End If
+ sTmpText = sTmpText &amp; sAddText &amp; ConvertFromUrl(Applications(i,SBTEMPLSOURCE)) &amp; sCRLF
+ If Applications(i,SBTEMPLRECURSIVE) Then
+ &apos; Including Subdirectories
+ sTmpText = sTmpText &amp; sSumInclusiveSubDir &amp; sCRLF
+ End If
+ sTmpText = sTmpText &amp; sSumSaveDocuments &amp; sCRLF
+ sTmpText = sTmpText &amp; ConvertFromUrl(Applications(i,SBTEMPLTARGET)) &amp; sCRLF
+ sTmpText = sTmpText &amp; sCRLF
+ End If
+
+ If Applications(i,SBDOCCONVERT) Then
+ &apos; Documents are to be converted
+ If WizardMode = SBMICROSOFTMODE Then
+ sAddText = sSumMSDocuments(Index) &amp; sCRLF
+ Else
+ sAddText = sSumSODocuments(Index) &amp; sCRLF
+ End If
+ sTmpText = sTmpText &amp; sAddText &amp; ConvertFromUrl(Applications(i,SBDOCSOURCE)) &amp; sCRLF
+
+ If Applications(i,SBDOCRECURSIVE) Then
+ &apos; Including Subdirectories
+ sTmpText = sTmpText &amp; sSumInclusiveSubDir &amp; sCRLF
+ End If
+
+ sTmpText = sTmpText &amp; sSumSaveDocuments &amp; sCRLF
+ sTmpText = sTmpText &amp; ConvertFromUrl(Applications(i,SBDOCTARGET)) &amp; sCRLF
+ sTmpText = sTmpText &amp; sCRLF
+ End If
+ Next i
+ MakeSummaryString = sTmpText
+End Function
+
+
+Sub FillStep_Summary()
+ ImportDialogArea.Title = sTitle
+ With ImportDialog
+ .SummaryTextbox.Text = MakeSummaryString()
+ .cmdGoOn.Enabled = .SummaryTextbox.Text &lt;&gt; &quot;&quot;
+ .cmdGoOn.Label = sBeginButton
+ .SummaryHeaderLabel.Label = sSummaryHeader
+ .Step = 3
+ End With
+ ImportDialogArea.GetControl(&quot;SummaryHeaderLabel&quot;).SetFocus()
+End Sub
+
+
+Sub FillStep_Progress()
+ With ImportDialog
+ .cmdBack.Enabled = False
+ .cmdGoOn.Enabled = False
+ .hlnProgress.Label = sProgressPage_1
+ .LabelRetrieval.FontWeight = com.sun.star.awt.FontWeight.BOLD
+ .LabelRetrieval.Label = sProgressPage_2
+ .LabelCurProgress.Label = sProgressPage_3
+ .LabelCurDocumentRetrieval.Label = &quot;&quot;
+ .LabelCurTemplateRetrieval.Label = &quot;&quot;
+ .LabelCurDocument.Label = &quot;&quot;
+ .Step = 4
+ End With
+ ImportDialogArea.GetControl(&quot;LabelRetrieval&quot;).SetFocus()
+ If ImportDialog.chkLogfile.State = 1 Then
+ ImportDialog.cmdShowLogFile.DefaultButton = True
+ End If
+End Sub
+
+
+Sub GetFilterTracingLogPath(i as Integer, Index as Integer)
+Dim aNodePath(0) as new com.sun.star.beans.PropertyValue
+Dim oMasterKey
+Dim oImportKey
+Dim oWordKey
+Dim oExcelkey
+Dim oPowerpointKey
+Dim oFilterService
+ aNodePath(0).Name = &quot;nodepath&quot;
+ aNodePath(0).Value = &quot;org.openoffice.Office.Tracing&quot;
+ oFilterService = createUnoService(&quot;com.sun.star.util.FilterTracer&quot;)
+ bFilterTracingAvailable = Not IsNull(oFilterService)
+ If bFilterTracingAvailable Then
+ oMasterkey = GetRegistryKeyContent(&quot;org.openoffice.Office.Tracing/&quot;)
+ If oMasterKey.hasbyName(&quot;Import&quot;) Then
+ oImportKey = GetRegistryKeyContent(&quot;org.openoffice.Office.Tracing/Import&quot;)
+ bMSApplFilterTracingAvailable(i) = CheckMSImportAvailability(oImportkey, MSFiltername(Index, 4), FilterTracingLogPath(i), bTakeOverTargetName(i), bTakeOverPathName(i))
+ End If
+ End If
+End Sub
+
+
+Function CheckMSImportAvailability(oImportkey, MSApplName as String, MSLogPath as String, bTakeOverTargetname as String, bTakeOverpathName as String) as Boolean
+Dim bApplIsAvailable as Boolean
+Dim oApplKey
+Dim LocApplName as String
+Dim LocApplPath as String
+ bApplIsAvailable = oImportKey.hasbyName(MSApplName)
+ If bApplIsAvailable Then
+ oApplKey = oImportKey.getByName(MSApplName)
+ bApplIsAvailable = oApplKey.On
+ LocApplName = oApplKey.Name
+ LocApplPath = oApplKey.Path
+ bTakeOverTargetName = (LocApplName = &quot;&quot;)
+ bTakeOverPathName = (LocApplPath = &quot;&quot;)
+ MSLogPath = LocApplPath &amp; &quot;/&quot; &amp; LocApplName &amp; &quot;.log&quot;
+ End If
+ CheckMSImportAvailability() = bApplIsAvailable
+End Function
+
+
+
+Sub SetupMSConfiguration()
+ iApplSection = 0
+ Wizardmode = SBMICROSOFTMODE
+ MaxApplCount = 3
+ ApplCount = 3
+ &apos; chkTemplatePath-Captions
+ GetApplResourceArray(1009 + iApplSection, ApplCount, sTemplateCheckBox())
+ &apos; DocumentCheckbox- Captions
+ GetApplResourceArray(1009 + iApplSection + ApplCount, ApplCount, sDocumentCheckBox())
+
+ sKeyName(0) = &quot;Software\Microsoft\Office\8.0\Word\Options&quot;
+ sKeyName(1) = &quot;Software\Microsoft\Office\8.0\Excel\Microsoft Excel&quot;
+ sKeyName(2) = &quot;Software\Microsoft\Office\8.0\PowerPoint\Recent Folder List\Default&quot;
+
+ sValueName(0) = &quot;DOC-PATH&quot;
+ sValueName(1) = &quot;DefaultPath&quot;
+ sValueName(2) = &quot;&quot;
+
+&apos; See definition of Filtername-Array about meaning of fields
+ MSFilterName(0,0) = &quot;doc|docx|docm&quot;
+ MSFilterName(0,1) = &quot;writer8|writer8|writer8&quot;
+ MSFilterName(0,2) = &quot;odt&quot;
+ MSFilterName(0,3) = sMSDocumentCheckBox(0)
+ MSFilterName(0,4) = &quot;Word&quot;
+
+
+ MSFilterName(1,0) = &quot;xls|xlsx|xlsm&quot;
+ MSFilterName(1,1) = &quot;calc8|calc8|calc8&quot;
+ MSFilterName(1,2) = &quot;ods&quot;
+ MSFilterName(1,3) = sMSDocumentCheckBox(1)
+ MSFilterName(1,4) = &quot;Excel&quot;
+
+ MSFilterName(2,0) = &quot;ppt|pps|pptx|pptm|ppsx|ppsm&quot;
+ MSFilterName(2,1) = &quot;impress8|impress8|impress8|impress8|impress8|impress8&quot;
+ MSFilterName(2,2) = &quot;odp|odp&quot;
+ MSFilterName(2,3) = sMSDocumentCheckBox(2)
+ MSFilterName(2,4) = &quot;PowerPoint&quot;
+
+ MSFilterName(3,0) = &quot;dot|dotx|dotm&quot;
+ MSFilterName(3,1) = &quot;writer8_template|writer8_template|writer8_template&quot;
+ MSFilterName(3,2) = &quot;ott&quot;
+ MSFilterName(3,3) = sMSTemplateCheckBox(0)
+ MSFilterName(3,4) = &quot;Word&quot;
+
+ MSFilterName(4,0) = &quot;xlt|xltx|xltm&quot;
+ MSFilterName(4,1) = &quot;calc8_template|calc8_template|calc8_template&quot;
+ MSFilterName(4,2) = &quot;ots&quot;
+ MSFilterName(4,3) = sMSTemplateCheckBox(1)
+ MSFilterName(4,4) = &quot;Excel&quot;
+
+ MSFilterName(5,0) = &quot;pot|potx|potm&quot;
+ MSFilterName(5,1) = &quot;impress8_template|impress8_template|impress8_template&quot;
+ MSFilterName(5,2) = &quot;otp&quot;
+ MSFilterName(5,3) = sMSTemplateCheckBox(2)
+ MSFilterName(5,4) = &quot;PowerPoint&quot;
+End Sub
+
+
+
+&apos; This is an extract from &quot;http://util.openoffice.org/source/browse/util/sot/source/base/exchange.cxx?rev=1.25&amp;content-type=text/x-cvsweb-markup&quot;
+&apos; about the listed defined mimetypes that are required to define binary StarOffice templates that have for all applications the same extension &quot;.vor&quot;
+
+&apos; 26 SOT_FORMATSTR_ID_STARWRITER_30*/ { &quot;application/x-openoffice-starwriter-30;windows_formatname=\&quot;StarWriter 3.0\&quot;&quot;, &quot;StarWriter 3.0&quot;, &amp;::getCppuType( (const Sequence&lt; sal_Int8 &gt;*) 0 ) },
+&apos; 27 SOT_FORMATSTR_ID_STARWRITER_40*/ { &quot;application/x-openoffice-starwriter-40;windows_formatname=\&quot;StarWriter 4.0\&quot;&quot;, &quot;StarWriter 4.0&quot;, &amp;::getCppuType( (const Sequence&lt; sal_Int8 &gt;*) 0 ) },
+&apos; 28 SOT_FORMATSTR_ID_STARWRITER_50*/ { &quot;application/x-openoffice-starwriter-50;windows_formatname=\&quot;StarWriter 5.0\&quot;&quot;, &quot;StarWriter 5.0&quot;, &amp;::getCppuType( (const Sequence&lt; sal_Int8 &gt;*) 0 ) },
+
+&apos; 29 SOT_FORMATSTR_ID_STARWRITERWEB_40*/ { &quot;application/x-openoffice-starwriterweb-40;windows_formatname=\&quot;StarWriter/Web 4.0\&quot;&quot;, &quot;StarWriter/Web 4.0&quot;, &amp;::getCppuType( (const Sequence&lt; sal_Int8 &gt;*) 0 ) },
+&apos; 30 SOT_FORMATSTR_ID_STARWRITERWEB_50*/ { &quot;application/x-openoffice-starwriterweb-50;windows_formatname=\&quot;StarWriter/Web 5.0\&quot;&quot;, &quot;StarWriter/Web 5.0&quot;, &amp;::getCppuType( (const Sequence&lt; sal_Int8 &gt;*) 0 ) },
+
+&apos; 31 SOT_FORMATSTR_ID_STARWRITERGLOB_40*/ { &quot;application/x-openoffice-starwriterglob-40;windows_formatname=\&quot;StarWriter/Global 4.0\&quot;&quot;, &quot;StarWriter/Global 4.0&quot;, &amp;::getCppuType( (const Sequence&lt; sal_Int8 &gt;*) 0 ) },
+&apos; 32 SOT_FORMATSTR_ID_STARWRITERGLOB_50*/ { &quot;application/x-openoffice-starwriterglob-50;windows_formatname=\&quot;StarWriter/Global 5.0\&quot;&quot;, &quot;StarWriter/Global 5.0&quot;, &amp;::getCppuType( (const Sequence&lt; sal_Int8 &gt;*) 0 ) },
+
+&apos; 33 SOT_FORMATSTR_ID_STARDRAW*/ { &quot;application/x-openoffice-stardraw;windows_formatname=\&quot;StarDrawDocument\&quot;&quot;, &quot;StarDrawDocument&quot;, &amp;::getCppuType( (const Sequence&lt; sal_Int8 &gt;*) 0 ) },
+&apos; 34 SOT_FORMATSTR_ID_STARDRAW_40*/ { &quot;application/x-openoffice-stardraw-40;windows_formatname=\&quot;StarDrawDocument 4.0\&quot;&quot;, &quot;StarDrawDocument 4.0&quot;, &amp;::getCppuType( (const Sequence&lt; sal_Int8 &gt;*) 0 ) },
+&apos; 36 SOT_FORMATSTR_ID_STARDRAW_50*/ { &quot;application/x-openoffice-stardraw-50;windows_formatname=\&quot;StarDraw 5.0\&quot;&quot;, &quot;StarDraw 5.0&quot;, &amp;::getCppuType( (const Sequence&lt; sal_Int8 &gt;*) 0 ) },
+
+&apos; 35 SOT_FORMATSTR_ID_STARIMPRESS_50*/ { &quot;application/x-openoffice-starimpress-50;windows_formatname=\&quot;StarImpress 5.0\&quot;&quot;, &quot;StarImpress 5.0&quot;, &amp;::getCppuType( (const Sequence&lt; sal_Int8 &gt;*) 0 ) },
+
+&apos; 37 SOT_FORMATSTR_ID_STARCALC*/ { &quot;application/x-openoffice-starcalc;windows_formatname=\&quot;StarCalcDocument\&quot;&quot;, &quot;StarCalcDocument&quot;, &amp;::getCppuType( (const Sequence&lt; sal_Int8 &gt;*) 0 ) },
+&apos; 38 SOT_FORMATSTR_ID_STARCALC_40*/ { &quot;application/x-openoffice-starcalc-40;windows_formatname=\&quot;StarCalc 4.0\&quot;&quot;, &quot;StarCalc 4.0&quot;, &amp;::getCppuType( (const Sequence&lt; sal_Int8 &gt;*) 0 ) },
+&apos; 39 SOT_FORMATSTR_ID_STARCALC_50*/ { &quot;application/x-openoffice-starcalc-50;windows_formatname=\&quot;StarCalc 5.0\&quot;&quot;, &quot;StarCalc 5.0&quot;, &amp;::getCppuType( (const Sequence&lt; sal_Int8 &gt;*) 0 ) },
+
+&apos; 40 SOT_FORMATSTR_ID_STARCHART*/ { &quot;application/x-openoffice-starchart;windows_formatname=\&quot;StarChartDocument\&quot;&quot;, &quot;StarChartDocument&quot;, &amp;::getCppuType( (const Sequence&lt; sal_Int8 &gt;*) 0 ) },
+&apos; 41 SOT_FORMATSTR_ID_STARCHART_40*/ { &quot;application/x-openoffice-starchart-40;windows_formatname=\&quot;StarChartDocument 4.0\&quot;&quot;, &quot;StarChartDocument 4.0&quot;, &amp;::getCppuType( (const Sequence&lt; sal_Int8 &gt;*) 0 ) },
+&apos; 42 SOT_FORMATSTR_ID_STARCHART_50*/ { &quot;application/x-openoffice-starchart-50;windows_formatname=\&quot;StarChart 5.0\&quot;&quot;, &quot;StarChart 5.0&quot;, &amp;::getCppuType( (const Sequence&lt; sal_Int8 &gt;*) 0 ) },
+
+&apos; 46 SOT_FORMATSTR_ID_STARMATH*/ { &quot;application/x-openoffice-starmath;windows_formatname=\&quot;StarMath\&quot;&quot;, &quot;StarMath&quot;, &amp;::getCppuType( (const Sequence&lt; sal_Int8 &gt;*) 0 ) },
+&apos; 47 SOT_FORMATSTR_ID_STARMATH_40*/ { &quot;application/x-openoffice-starmath-40;windows_formatname=\&quot;StarMathDocument 4.0\&quot;&quot;, &quot;StarMathDocument 4.0&quot;, &amp;::getCppuType( (const Sequence&lt; sal_Int8 &gt;*) 0 ) },
+&apos; 48 SOT_FORMATSTR_ID_STARMATH_50*/ { &quot;application/x-openoffice-starmath-50;windows_formatname=\&quot;StarMath 5.0\&quot;&quot;, &quot;StarMath 5.0&quot;, &amp;::getCppuType( (const Sequence&lt; sal_Int8 &gt;*) 0 ) },
+
+
+Sub SetupXMLConfiguration()
+ iApplSection = 1000
+ Wizardmode = SBXMLMODE
+ ApplCount = 4
+ MaxApplCount = 4
+ XMLTemplateList = Array(&quot;vor&quot;, &quot;sti&quot;, &quot;stw&quot; , &quot;stc&quot; , &quot;std&quot;)
+ &apos; chkTemplatePath-Captions
+ GetApplResourceArray(1009 + iApplSection, ApplCount, sTemplateCheckBox())
+ &apos; DocumentCheckbox- Captions
+ GetApplResourceArray(1009 + iApplSection + ApplCount, ApplCount, sDocumentCheckBox())
+
+ XMLFilterName(0,0) = &quot;sdw|sxw&quot;
+ XMLFilterName(0,1) = &quot;writer8|writer8&quot;
+ XMLFilterName(0,2) = &quot;odt|odt&quot;
+ XMLFilterName(0,3) = sDocumentCheckBox(0)
+
+ XMLFilterName(1,0) = &quot;sdc|sxc&quot;
+ XMLFilterName(1,1) = &quot;calc8|calc8&quot;
+ XMLFilterName(1,2) = &quot;ods|ods&quot;
+ XMLFilterName(1,3) = sDocumentCheckBox(1)
+
+ If oFactoryKey.HasByName(&quot;com.sun.star.drawing.DrawingDocument&quot;) and oFactoryKey.HasByName(&quot;com.sun.star.presentation.PresentationDocument&quot;) Then
+ XMLFilterName(2,0) = &quot;sdd|sda|sxi|sxd&quot;
+ XMLFilterName(2,1) = &quot;impress8|draw8|impress8|draw8&quot;
+ XMLFilterName(2,2) = &quot;odp|odg|odp|odg&quot;
+ Elseif oFactoryKey.HasByName(&quot;com.sun.star.drawing.DrawingDocument&quot;) Then
+ XMLFilterName(2,0) = &quot;sda|sxd&quot;
+ XMLFilterName(2,1) = &quot;draw8|draw8&quot;
+ XMLFilterName(2,2) = &quot;odg|odg&quot;
+ Elseif oFactoryKey.HasByName(&quot;com.sun.star.presentation.PresentationDocument&quot;) Then
+ XMLFilterName(2,0) = &quot;sdd|sxi&quot;
+ XMLFilterName(2,1) = &quot;impress8|impress8&quot;
+ XMLFilterName(2,2) = &quot;odp|odp&quot;
+ End If
+ XMLFilterName(2,3) = sDocumentCheckBox(2)
+
+
+ XMLFilterName(3,0) = &quot;smf|sxm&quot;
+ XMLFilterName(3,1) = &quot;math8|math8&quot;
+ XMLFilterName(3,2) = &quot;odf|odf&quot;
+ XMLFilterName(3,3) = sDocumentCheckBox(3)
+
+ XMLFilterName(4,0) = &quot;application/x-openoffice-starwriter|application/vnd.stardivision.writer/web|application/vnd.sun.xml.writer|application/vnd.sun.xml.writerweb&quot;
+ XMLFilterName(4,1) = &quot;writer8_template|writerweb8_writer_template|writer8_template|writerweb8_writer_template&quot;
+ XMLFilterName(4,2) = &quot;ott|oth|ott|oth&quot;
+ XMLFilterName(4,3) = sTemplateCheckBox(0)
+
+
+ XMLFilterName(5,0) = &quot;application/x-openoffice-starcalc|application/vnd.sun.xml.calc&quot;
+ XMLFilterName(5,1) = &quot;calc8_template|calc8_template&quot;
+ XMLFilterName(5,2) = &quot;ots|ots&quot;
+ XMLFilterName(5,3) = sTemplateCheckBox(1)
+
+ &apos; due to bug #108942# impress templates of the version 4.0 have to be handled in a special way because their mimetype
+ &apos; falsely points to the draw application.
+ If oFactoryKey.HasByName(&quot;com.sun.star.drawing.DrawingDocument&quot;) and oFactoryKey.HasByName(&quot;com.sun.star.presentation.PresentationDocument&quot;) Then
+ XMLFilterName(6,0) = &quot;application/x-openoffice-starimpress|application/x-openoffice-stardraw-40|application/x-openoffice-stardraw|application/vnd.sun.xml.impress|application/vnd.sun.xml.draw&quot;
+ XMLFilterName(6,1) = &quot;impress8_template|impress8_template|draw8_template|impress8_template|draw8_template&quot;
+ XMLFilterName(6,2) = &quot;otp|otp|otg|otp|otg&quot;
+ Elseif oFactoryKey.HasByName(&quot;com.sun.star.drawing.DrawingDocument&quot;) Then
+ XMLFilterName(6,0) = &quot;application/x-openoffice-stardraw|application/vnd.sun.xml.draw&quot;
+ XMLFilterName(6,1) = &quot;draw8_template|draw8_template&quot;
+ XMLFilterName(6,2) = &quot;otg|otg&quot;
+ Elseif oFactoryKey.HasByName(&quot;com.sun.star.presentation.PresentationDocument&quot;) Then
+ XMLFilterName(6,0) = &quot;application/x-openoffice-starimpress|application/x-openoffice-stardraw-40|application/vnd.sun.xml.impress&quot;
+ XMLFilterName(6,1) = &quot;impress8_template|impress8_template|impress8_template&quot;
+ XMLFilterName(6,2) = &quot;otp|otp|otp&quot;
+ End If
+ XMLFilterName(6,3) = sTemplateCheckBox(2)
+
+ If oFactoryKey.HasByName(&quot;com.sun.star.text.GlobalDocument&quot;) Then
+ XMLFilterName(7,0) = &quot;sgl|sxg&quot;
+ XMLFilterName(7,1) = &quot;writerglobal8|writerglobal8&quot;
+ XMLFilterName(7,2) = &quot;odm|odm&quot;
+ XMLFilterName(7,3) = sTemplateCheckBox(3)
+ End If
+End Sub
+
+
+Function CheckControlPath(oCheckbox as Object, oTextBox as Object, ByVal bDoEnable as Boolean)
+Dim sPath as String
+ If Not bDoEnable Then
+ CheckControlPath = False
+ ElseIf oCheckbox.State = 0 Then
+ CheckControlPath = True
+ Else
+ sPath = ConvertToUrl(Trim(oTextBox.Text)
+ CheckControlPath = oUcb.Exists(sPath)
+ End If
+End Function
+
+
+Function CheckInputPaths() as Boolean
+Dim bChangePage as Boolean
+ bChangePage = CheckTextBoxPath(ImportDialog.txtTemplateImportPath, True, False, sTitle, False)
+ bChangePage = CheckTextBoxPath(ImportDialog.txtTemplateExportPath, bChangePage, True, sTitle, False)
+ bChangePage = CheckTextBoxPath(ImportDialog.txtDocumentImportPath, bChangePage, False, sTitle, False)
+ bChangePage = CheckTextBoxPath(ImportDialog.txtDocumentExportPath, bChangePage, True, sTitle, False)
+ CheckInputPaths = bChangePage
+End Function
+
+
+Function CheckTextBoxPath(oTextBox as Object, ByVal bCheck as Boolean, bCreateNew as Boolean, sTitle as String, bgetResources as Boolean) as Boolean
+Dim iCreate as Integer
+Dim sQueryMessage as String
+Dim sUrlPath as String
+Dim sMessageNoDir as String
+Dim sShowPath as String
+Dim oLocUcb as Object
+ oLocUcb = createUnoService(&quot;com.sun.star.ucb.SimpleFileAccess&quot;)
+ If bGetResources Then
+ If InitResources(&quot;ImportWizard&quot;,&quot;imp&quot;) then
+ sNoDirCreation = GetResText(1050)
+ sMsgDirNotThere = GetResText(1051)
+ sQueryForNewCreation = GetResText(1052)
+ Else
+ CheckTextBoxPath() = False
+ Exit Function
+ End If
+ End If
+ If oTextBox.Enabled Then
+ If bCheck Then
+ sShowPath = oTextBox.Text
+ sUrlPath = ConvertToUrl(sShowPath)
+ If Not oLocUcb.Exists(sUrlPath) Then
+ If Not bCreateNew Then
+ &apos; Sourcedirectories must be existing, Targetdirectories may be created new
+ sQueryMessage = ReplaceString(sMsgDirNotThere, sShowPath,&quot;%1&quot;)
+ Msgbox(sQueryMessage,16,sTitle)
+ CheckTextBoxPath() = False
+ Exit Function
+ Else
+ sQueryMessage = ReplaceString(sMsgDirNotThere, sShowPath,&quot;%1&quot;)
+ sQueryMessage = sQueryMessage &amp; Chr(13) &amp; sQueryForNewCreation
+ iCreate = Msgbox (sQueryMessage, 36, sTitle)
+ If iCreate = 6 Then
+ On Local Error Goto NOVALIDPATH
+ CreateFolder(sUrlPath)
+ If Not oLocUcb.Exists(sUrlPath) Then
+ Goto NOVALIDPATH
+ End If
+ Else
+ CheckTextBoxPath() = False
+ Exit Function
+ End If
+ End If
+ End If
+ CheckTextBoxPath() = True
+ Else
+ CheckTextBoxPath() = False
+ End If
+ Else
+ CheckTextBoxPath() = True
+ End If
+ Exit Function
+NOVALIDPATH:
+ sMessageNoDir = ReplaceString(sNoDirCreation, sShowPath, &quot;%1&quot;)
+ Msgbox(sMessageNoDir, 16, sTitle)
+ CheckTextBoxPath() = False
+End Function
+
+
+Sub InitializeProgressPage(oDialog as Object)
+ oDialog.LabelRetrieval.FontWeight = com.sun.star.awt.FontWeight.NORMAL
+ oDialog.LabelCurProgress.FontWeight = com.sun.star.awt.FontWeight.BOLD
+End Sub
+
+
+Sub SetProgressDisplay(AbsFound as Integer)
+ ImportDialog.LabelRetrieval.Label = sProgressPage_2 &amp; &quot; &quot; &amp; ReplaceString(sProgressPage_5, Str(AbsFound) &amp; &quot; &quot;, &quot;%1&quot;)
+ ImportDialog.LabelCurDocumentRetrieval.Label = sProgressFound &amp; &quot; &quot; &amp; CStr(AbsDocuFound) &amp; &quot; &quot; &amp; sProgressMoreDocs
+ ImportDialog.LabelCurTemplateRetrieval.Label = sProgressFound &amp; &quot; &quot; &amp; CStr(AbsTemplateFound) &amp; &quot; &quot; &amp; sProgressMoreTemplates
+End Sub
+
+Sub TakoverFolderName(aEvent as Object)
+Dim RefControlName as String
+Dim oRefControl
+ RefControlName = aEvent.Source.Model.Tag
+ oRefControl = ImportDialogArea.GetControl(RefControlName)
+ GetFolderName(oRefControl.Model)
+ ToggleNextButton()
+End Sub
+
+
+Sub FinalizeDialogButtons()
+ ImportDialog.cmdShowLogFile.Enabled = ((Isnull(oLogDocument) = False) And (ImportDialog.chkLogfile.State = 1))
+ ImportDialog.cmdCancel.Enabled = False
+ ImportDialog.cmdGoOn.Label = sCloseButton
+ ImportDialog.cmdGoOn.Enabled = True
+End Sub
+</script:module>
diff --git a/test/user-template/user/basic/ImportWizard/FilesModul.xba b/test/user-template/user/basic/ImportWizard/FilesModul.xba
new file mode 100644
index 000000000000..e35e0b3a3ba9
--- /dev/null
+++ b/test/user-template/user/basic/ImportWizard/FilesModul.xba
@@ -0,0 +1,825 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="FilesModul" script:language="StarBasic">Option Explicit
+
+Public AbsTemplateFound as Integer
+Public AbsDocuFound as Integer
+Public oLogDocument as Object
+Public oLogTable as Object
+Public bLogExists as Boolean
+Public sComment as String
+Public MaxCollectIndex as Integer
+Public bInsertRow as Boolean
+Public sLogUrl as String
+Public sCurPassWord as String
+Public FileCount as Integer
+Public XMLTemplateCount as Integer
+Public PathCollection(7,3) as String
+Public bIsFirstLogTable as Boolean
+Public bFilterTracerIsinsideTable as Boolean
+
+
+Function ReadCollectionPaths(FilesList() as String, sFilterName() as String)
+Dim FilterIndex as Integer
+Dim bRecursive as Boolean
+Dim SearchDir as String
+Dim i as Integer
+Dim n as Integer
+Dim a as Integer
+Dim s as Integer
+Dim t as Integer
+Dim sFileContent() as String
+Dim NewList(0,1) as String
+Dim Index as Integer
+Dim CurFileName as String
+Dim CurExtension as String
+Dim CurFileContent as String
+Dim XMLTemplateContentList() as String
+Dim bIsTemplatePath as Boolean
+Dim MaxIndex as Integer
+Dim NewContentList() as String
+Dim XMLTemplateContentString as String
+Dim ApplIndex as Integer
+Dim bAssignFileName as Boolean
+Dim bInterruptSearch as Boolean
+ bInterruptSearch = False
+ For i = 0 To MaxCollectIndex
+ SearchDir = PathCollection(i,0)
+ bRecursive = PathCollection(i,1)
+ sFileContent() = ArrayoutofString(PathCollection(i,2), &quot;|&quot;)
+ NewList() = ReadDirectories(SearchDir, bRecursive, False, False, sFileContent(), &quot;&quot;)
+ If InterruptProcess Then
+ ReadCollectionPaths() = False
+ Exit Function
+ End If
+ If Ubound(NewList()) &gt; -1 Then
+ bIsTemplatePath = FieldInList(&quot;vor&quot;, sFileContent)
+ If bIsTemplatePath Then
+ XMLTemplateContentString = PathCollection(i,3)
+ XMLTemplateContentList() = ArrayoutofString(XMLTemplateContentString, &quot;|&quot;)
+ If Ubound(XMLTemplateContentList()) &gt; -1 Then
+ MaxIndex = Ubound(NewList())
+ ReDim Preserve NewList(MaxIndex, 1) as String
+ ReDim Preserve NewContentList(MaxIndex) as String
+ a = -1
+ For n = 0 To MaxIndex
+ bAssignFileName = True
+ If InterruptProcess() Then
+ ReadCollectionPaths() = False
+ Exit Function
+ End If
+ CurFileContent = &quot;&quot;
+ CurFileName = NewList(n,0)
+ If (FieldInList(NewList(n,1), XMLTemplateList())) Then
+ CurFileContent = GetRealFileContent(CurFileName)
+ t = SearchArrayforPartString(CurFileContent, XMLTemplateContentList())
+ bAssignFileName = (t &gt; -1)
+ If bAssignFileName Then
+ CurFileContent = XMLTemplateContentList(t)
+ End If
+ NewList(n,1) = CurFileContent
+ End If
+ CurExtension = NewList(n,1)
+ If bAssignFileName Then
+ If a &lt; n Then
+ a = a + 1
+ NewList(a,0) = CurFileName
+ NewList(a,1) = CurExtension
+ If CurFileContent = &quot;&quot; Then
+ CurFileContent = CurExtension
+ End If
+ ApplIndex = GetApplicationIndex(CurFileContent, sFiltername())
+ NewContentList(a) = ApplIndex
+ End If
+ End If
+ Next n
+ If a &lt; MaxIndex And a &gt; -1 Then
+ ReDim Preserve NewList(a, 1) as String
+ End If
+ If a &gt; -1 Then
+ AddListtoFilesList(FilesList(), NewList(), NewContentList())
+ End If
+ End If
+ Else
+ MaxIndex = Ubound(NewList())
+ ReDim Preserve NewContentList(MaxIndex) as String
+ For s = 0 To MaxIndex
+ CurExtension = NewList(s,1)
+ NewContentList(s) = GetApplicationIndex(CurExtension, sFiltername())
+ Next s
+ AddListtoFilesList(FilesList(), NewList(), NewContentList())
+ End If
+ End If
+ Next i
+ ReadCollectionPaths() = Ubound(FilesList()) &gt; -1
+End Function
+
+
+Function GetApplicationIndex(CurFileContent as String, sFilterName() as String) as Integer
+Dim Index as Integer
+Dim i as Integer
+ Index = GetIndexForPartStringinMultiArray(sFilterName(), CurFileContent, 0)
+ If Index &gt;= MaxApplCount Then
+ Index = Index - MaxApplCount
+ End If
+ For i = 0 To MaxApplCount - 1
+ If Applications(i, SBAPPLKEY) = Index Then
+ GetApplicationIndex() = i
+ Exit Function
+ End If
+ Next i
+ GetApplicationIndex() = - 1
+End Function
+
+
+Function InterruptProcess() as Boolean
+ If bCancelTask Or RetValue = 0 Then
+ bConversionIsRunning = False
+ InterruptProcess() = True
+ Exit Function
+ End if
+ InterruptProcess() = False
+End Function
+
+
+Sub AddCollectionPath(ApplIndex as Integer, DocIndex as Integer, RecursiveIndex as Integer, sFiltername() as String, DistIndex as Integer)
+ MaxCollectIndex = MaxCollectIndex + 1
+ PathCollection(MaxCollectIndex, 0) = Applications(ApplIndex, DocIndex)
+ PathCollection(MaxCollectIndex, 1) = Applications(ApplIndex, RecursiveIndex)
+ AddFilterNameToPathItem(ApplIndex, MaxCollectIndex, sFiltername(), DistIndex)
+End Sub
+
+
+Function SetExtension(LocExtension) as String
+ if (Instr(LocExtension, &quot;vnd.sun.xml.impress&quot;)) &gt; 0 then
+ SetExtension() = &quot;vor|sti|std&quot;
+ elseif (Instr(LocExtension, &quot;vnd.sun.xml.writer&quot;)) &gt; 0 then
+ SetExtension() = &quot;vor|stw&quot;
+ elseif (Instr(LocExtension, &quot;vnd.sun.xml.calc&quot;)) &gt; 0 then
+ SetExtension() = &quot;vor|stc&quot;
+ elseif (Instr(LocExtension, &quot;vnd.sun.xml.draw&quot;)) &gt; 0 then
+ SetExtension() = &quot;vor|std|sti&quot;
+ endif
+End Function
+
+Sub AddFilterNameToPathItem(ApplIndex as Integer, CollectIndex as Integer, sFiltername() as String, DistIndex as Integer)
+Dim iKey as Integer
+Dim CurListString as String
+Dim LocExtension as String
+Dim LocContentString as String
+Dim LocXMLTemplateContent as String
+ iKey = Applications(ApplIndex, SBAPPLKEY)
+ CurListString = PathCollection(CollectIndex, 2)
+ LocExtension = sFilterName(iKey +DistIndex, 0)
+ If Len(LocExtension) &gt; SBMAXEXTENSIONLENGTH Then &apos; 7 == Length of two extensions like &apos;sda|sdd
+ LocExtension = SetExtension(LocExtension)
+ LocContentString = sFilterName(iKey +DistIndex, 0)
+ LocContentString = ReplaceString(LocContentString, &quot;|&quot;, &quot;;&quot;)
+ LocXMLTemplateContent = PathCollection(CollectIndex, 3)
+ If LocXMLTemplateContent = &quot;&quot; Then
+ LocXMLTemplateContent = LocContentString
+ Else
+ LocXMLTemplateContent = LocXMLTemplateContent &amp; &quot;|&quot; &amp; LocContentString
+ End If
+ PathCollection(CollectIndex, 3) = LocXMLTemplateContent
+ End If
+ If CurListString = &quot;&quot; Then
+ PathCollection(CollectIndex, 2) = LocExtension
+ Else
+ If Instr(CurListString, LocExtension) = 0 Then
+ PathCollection(CollectIndex, 2) = CurListString &amp; &quot;|&quot; &amp; LocExtension
+ End If
+ End If
+End Sub
+
+
+Sub CheckIfToAddPathToCollection(ApplIndex as Integer, bDoConvertIndex as Integer, DocIndex as Integer, RecursiveIndex as Integer, sFiltername() as String, DistIndex as Integer)
+Dim CollectIndex as Integer
+Dim bCheckDocuType as Boolean
+ bCheckDocuType = Applications(ApplIndex, bDoConvertIndex)
+ If bCheckDocuType Then
+ CollectIndex = GetIndexInMultiArray(PathCollection(), Applications(ApplIndex,DocIndex), 0)
+ If (CollectIndex &gt;-1) Then
+ If Applications(ApplIndex, RecursiveIndex) &lt;&gt; PathCollection(CollectIndex, 1) Then
+ AddCollectionPath(ApplIndex, DocIndex, RecursiveIndex, sFilterName(), DistIndex)
+ Else
+ AddFilterNameToPathItem(ApplIndex, CollectIndex, sFilterName(), DistIndex)
+ End If
+ Else
+ AddCollectionPath(ApplIndex, DocIndex, RecursiveIndex, sFilterName(), DistIndex)
+ End If
+ End If
+End Sub
+
+
+Sub CollectPaths(sFiltername() as String)
+Dim i as Integer
+Dim XMLTemplateContentString as String
+ MaxCollectIndex = -1
+ For i = 0 To ApplCount-1
+ CheckIfToAddPathToCollection(i, SBDOCCONVERT, SBDOCSOURCE, SBDOCRECURSIVE, sFilterName(), 0)
+ Next i
+ XMLTemplateCount = 0
+ XMLTemplateContentString = &quot;&quot;
+ For i = 0 To ApplCount-1
+ If WizardMode = SBXMLMODE Then
+ XMLTemplateCount = XMLTemplateCount + 1
+ End If
+ CheckIfToAddPathToCollection(i, SBTEMPLCONVERT, SBTEMPLSOURCE, SBTEMPLRECURSIVE, sFilterName(), MaxApplCount)
+ Next i
+End Sub
+
+
+Sub ConvertAllDocuments(sFilterName() as String)
+Dim FileProperties(1) as new com.sun.star.beans.PropertyValue
+Dim PWFileProperties(2) as New com.sun.star.beans.PropertyValue
+Dim WriterWebProperties(0) as new com.sun.star.beans.PropertyValue
+Dim OpenProperties(4) as new com.sun.star.beans.PropertyValue
+Dim oInteractionHandler as Object
+Dim InteractionTypes(0) as Long
+Dim FilesList(0,2) as String
+Dim sViewPath as String
+Dim i as Integer
+Dim FilterIndex as Integer
+Dim sSourceUrl as String
+Dim CurFilename as String
+Dim oDocument as Object
+Dim sExtension as String
+Dim OldExtension as String
+Dim CurFound as Integer
+Dim TotFound as Integer
+Dim TargetStemDir as String
+Dim SourceStemDir as String
+Dim TargetDir as String
+Dim sTargetUrl as String
+Dim CurFilterName as String
+Dim ApplIndex as Integer
+Dim Index as Integer
+Dim bIsDocument as Boolean
+Dim bDoSave as Boolean
+Dim sCurFileExists as String
+Dim MaxFileIndex as Integer
+Dim bContainsBasicMacro as Boolean
+Dim bIsPassWordProtected as Boolean
+Dim iOverwrite as Integer
+Dim sMimeTypeorExtension as String
+Dim sPrevMimeTypeorExtension as String
+ bConversionisrunning = True
+ InteractionTypes(0) = com.sun.star.task.PasswordRequestMode.PASSWORD_REENTER
+ oInteractionHandler = createUnoService(&quot;com.sun.star.task.InteractionHandler&quot;)
+ oInteractionHandler.initialize(InteractionTypes())
+ iGeneralOverwrite = SBOVERWRITEUNDEFINED
+ bConversionIsRunning = True
+ bLogExists = false
+ AbsTemplateFound = 0
+ AbsDocuFound = 0
+ CollectPaths(sFiltername())
+ If Not ReadCollectionPaths(FilesList(), sFilterName()) Then
+ TotFound = 0
+ SetProgressDisplay(0)
+ bConversionisrunning = false
+ FinalizeDialogButtons()
+ Exit Sub
+ End If
+ TotFound = Ubound(FilesList()) + 1
+ If FilesList(0,0) = &quot;&quot; Then &apos; Querying the number of fields in a multidimensionl Array is unsecure
+ TotFound = 0 &apos; because it will return the value 0 (and not -1) even when the Array is empty
+ SetProgressDisplay(0)
+ End If
+ BubbleSortList(FilesList(), true)
+ If TotFound &gt; 0 Then
+ CreateLogDocument(OpenProperties())
+ InitializeProgressPage(ImportDialog)
+ OpenProperties(0).Name = &quot;Hidden&quot;
+ OpenProperties(0).Value = True
+ OpenProperties(1).Name = &quot;AsTemplate&quot;
+ OpenProperties(1).Value = False
+ OpenProperties(2).Name = &quot;MacroExecutionMode&quot;
+ OpenProperties(2).Value = com.sun.star.document.MacroExecMode.NEVER_EXECUTE
+ OpenProperties(3).Name = &quot;UpdateDocMode&quot;
+ OpenProperties(3).Value = com.sun.star.document.UpdateDocMode.NO_UPDATE
+ OpenProperties(4).Name = &quot;InteractionHandler&quot;
+ OpenProperties(4).Value = oInteractionHandler
+ MaxFileIndex = Ubound(FilesList(),1)
+ FileCount = 0
+ For i = 0 To MaxFileIndex
+ sComment = &quot;&quot;
+ If InterruptProcess() Then
+ Exit For
+ End If
+ bDoSave = True
+ sSourceUrl = FilesList(i,0)
+ sPrevMimeTypeorExtension = sMimeTypeorExtension
+ sMimeTypeorExtension = FilesList(i,1)
+ CurFiltername = GetFilterName(sMimeTypeorExtension, sFilterName(), sExtension, FilterIndex)
+ ApplIndex = FilesList(i,2)
+ If sMimeTypeorExtension &lt;&gt; sPrevMimeTypeorExtension Then
+ CreateLogTable(ApplIndex, sMimeTypeOrExtension, sFiltername()
+ End If
+ If ApplIndex &gt; Ubound(Applications) or (ApplIndex &lt; 0) Then
+ Msgbox &quot;Applicationindex out of bounds:&quot; &amp; sSourcUrl
+ End If
+ sViewPath = ConvertFromUrl(sSourceUrl) &apos; CutPathView(sSourceUrl, 70)
+ ImportDialog.LabelCurDocument.Label = Str(i+1) &amp; &quot;/&quot; &amp; MaxFileIndex + 1 &amp; &quot; (&quot; &amp; sViewPath &amp; &quot;)&quot;
+ Select Case lcase(sExtension)
+ Case &quot;odt&quot;, &quot;ods&quot;, &quot;odp&quot;, &quot;odg&quot;, &quot;odm&quot;, &quot;odf&quot;
+ SourceStemDir = RTrimStr(Applications(ApplIndex,SBDOCSOURCE), &quot;/&quot;)
+ TargetStemDir = RTrimStr(Applications(ApplIndex,SBDOCTARGET), &quot;/&quot;)
+ Case Else &apos; Templates and Helper-Applications remain
+ SourceStemDir = RTrimStr(Applications(ApplIndex,SBTEMPLSOURCE), &quot;/&quot;)
+ TargetStemDir = RTrimStr(Applications(ApplIndex,SBTEMPLTARGET), &quot;/&quot;)
+ End Select
+ sTargetUrl = ReplaceString(sSourceUrl, TargetStemDir, SourceStemDir)
+ CurFilename = GetFileNameWithoutExtension(sTargetUrl, &quot;/&quot;)
+ OldExtension = GetFileNameExtension(sTargetUrl)
+ sTargetUrl = RTrimStr(sTargetUrl, OldExtension)
+ sTargetUrl = sTargetUrl &amp; sExtension
+ TargetDir = RTrimStr(sTargetUrl, CurFilename &amp; &quot;.&quot; &amp; sExtension)
+ If (oUcb.Exists(sTargetUrl)) Then
+ If (iGeneralOverwrite &lt;&gt; SBOVERWRITEALWAYS) Then
+ If (iGeneralOverwrite = SBOVERWRITEUNDEFINED) Then
+ ShowOverwriteAllDialog(sTargetUrl, sTitle)
+ bDoSave = (iGeneralOverwrite = SBOVERWRITEQUERY) Or (iGeneralOverwrite = SBOVERWRITEALWAYS)
+ Elseif iGeneralOverwrite = SBOVERWRITENEVER Then
+ bDoSave = False
+ ElseIf ((iGeneralOverWrite = SBOVERWRITEQUERY) OR (iGeneralOverwrite = SBOVERWRITECANCEL)) Then
+ &apos; Todo: According to AS there might come a new feature that storeasUrl could possibly rise a UI dialog.
+ &apos; In this case my own UI becomes obsolete
+ sCurFileExists = ReplaceString(sFileExists, ConvertFromUrl(sTargetUrl), &quot;&lt;1&gt;&quot;)
+ sCurFileExists = ReplaceString(sCurFileExists, chr(13), &quot;&lt;CR&gt;&quot;)
+ iOverWrite = Msgbox (sCurFileExists, 32 + 3, sTitle)
+ Select Case iOverWrite
+ Case 1 &apos; OK
+ &apos; In the FileProperty-Bean this is already default
+ bDoSave = True
+ Case 2 &apos; Abort
+ CancelTask(False)
+ bDoSave = False
+ Case 7 &apos; No
+ bDoSave = False
+ End Select
+ End If
+ End If
+ End If
+ If bDoSave Then
+ If Not oUcb.Exists(TargetDir) Then
+ bDoSave = CreateFolder(TargetDir)
+ End If
+ If bDoSave Then
+ oDocument = StarDesktop.LoadComponentFromURL(sSourceUrl, &quot;_default&quot;, 0, OpenProperties())
+ If Not IsNull(oDocument) Then
+ InsertSourceUrlToLogDocument(sSourceUrl, &quot;&quot;)
+ bIsPassWordProtected = CheckPassWordProtection(oDocument)
+ CheckIfMacroExists(oDocument.BasicLibraries, sComment)
+ On Local Error Goto NOSAVING
+ If bIsPassWordProtected Then
+ PWFileProperties(0).Name = &quot;FilterName&quot;
+ PWFileProperties(0).Value = CurFilterName
+ PWFileProperties(1).Name = &quot;Overwrite&quot;
+ PWFileProperties(1).Value = True
+ PWFileProperties(2).Name = &quot;Password&quot;
+ PWFileProperties(2).Value = sCurPassWord
+ oDocument.StoreAsUrl(sTargetUrl, PWFileProperties())
+ Else
+ FileProperties(0).Name = &quot;FilterName&quot;
+ FileProperties(0).Value = CurFilterName
+ FileProperties(1).Name = &quot;Overwrite&quot;
+ FileProperties(1).Value = True
+ oDocument.StoreAsUrl(sTargetUrl,FileProperties())
+ End If
+ &apos; Todo: Make sure that an errorbox pops up when saving fails
+ NOSAVING:
+ If Err &lt;&gt; 0 Then
+ sCurcouldnotsaveDocument = ReplaceString(scouldnotsaveDocument, ConvertFromUrl(sTargetUrl), &quot;&lt;1&gt;&quot;)
+ sComment = ConcatComment(sComment, sCurCouldnotsaveDocument)
+ Resume LETSGO
+ LETSGO:
+ Else
+ FileCount = FileCount + 1
+ End If
+ oDocument.Dispose()
+ InsertTargetUrlToLogDocument(sTargetUrl, sComment, ApplIndex)
+ Else
+ sCurcouldnotopenDocument = ReplaceString(scouldnotopenDocument, ConvertFromUrl(sSourceUrl), &quot;&lt;1&gt;&quot;)
+ sComment = ConcatComment(sComment, sCurCouldnotopenDocument)
+ InsertSourceUrlToLogDocument(sSourceUrl, sComment)
+ End If
+ End If
+ End If
+ Next i
+ End If
+ AddLogStatistics()
+ FinalizeDialogButtons()
+ bConversionIsRunning = False
+ Exit Sub
+RTError:
+ Msgbox sRTErrorDesc, 16, sRTErrorHeader
+End Sub
+
+
+
+Sub AddListtoFilesList(FirstList(), SecList(), NewContentList() as String)
+Dim sLocExtension as String
+Dim FirstStart as Integer
+Dim FirstEnd as Integer
+Dim i as Integer
+Dim s as Integer
+ If FirstList(0,0) = &quot;&quot; Then
+ FirstStart = Ubound(FirstList(),1)
+ Else
+ FirstStart = Ubound(FirstList(),1) + 1
+ End If
+ FirstEnd = FirstStart + Ubound(SecList(),1)
+ ReDim Preserve FirstList(FirstEnd,2)
+ s = 0
+ For i = FirstStart To FirstEnd
+ FirstList(i,0) = SecList(s,0)
+ FirstList(i,1) = SecList(s,1)
+ sLocExtension = lcase(FirstList(i,1))
+ Select Case sLocExtension
+ Case &quot;sdw&quot;, &quot;sdc&quot;, &quot;sda&quot;, &quot;sdd&quot;, &quot;smf&quot;, &quot;sgl&quot;, &quot;doc&quot;, &quot;xls&quot;, &quot;ppt&quot;, &quot;sxi&quot; , &quot;sxw&quot; , &quot;sxd&quot; , &quot;sxg&quot; , &quot;sxm&quot; , &quot;sxc&quot; , &quot;pps&quot;
+ AbsDocuFound = AbsDocuFound + 1
+ Case else
+ AbsTemplateFound = AbsTemplateFound + 1
+ End Select
+ FirstList(i,2) = CStr(NewContentList(s))
+ s = s + 1
+ Next i
+ SetProgressDisplay(Ubound(FirstList()) + 1)
+End Sub
+
+
+
+Function GetTargetTemplatePath(Index as Integer)
+ Select Case WizardMode
+ Case SBMICROSOFTMODE
+ GetTargetTemplatePath() = SOTemplatePath &amp; &quot;/&quot; &amp; sTemplateGroupName
+ Case SBXMLMODE
+ If Index = 3 Then
+ &apos; Helper Application
+ GetTargetTemplatePath = SOWorkPath
+ Else
+ GetTargetTemplatePath = SOTemplatePath
+ End If
+ End Select
+End Function
+
+
+&apos; Retrieves the second value for a next to &apos;SearchString&apos; in
+&apos; a two-dimensional string-Array
+Function GetFilterName(sMimetypeorExtension as String, sFilterName(), sExtension as string, FilterIndex as Integer) as String
+Dim i as Integer
+Dim MaxIndex as Integer
+Dim sLocFilterlist() as String
+ For i = 0 To Ubound(sFiltername(),1)
+ If Instr(1,sFilterName(i,0),sMimeTypeOrExtension) &lt;&gt; 0 Then
+ sLocFilterList() = ArrayoutofString(sFiltername(i,0),&quot;|&quot;, MaxIndex)
+ If MaxIndex = 0 Then
+ sExtension = sFiltername(i,2)
+ GetFilterName = sFilterName(i,1)
+ Else
+ Dim b as Integer
+ Dim sLocExtensionList() as String
+ b = SearchArrayForPartString(sMimetypeOrExtension, sLocFilterList())
+ sLocFilterList() = ArrayoutofString(sFiltername(i,1),&quot;|&quot;, MaxIndex)
+ GetFilterName = sLocFilterList(b)
+ sLocExtensionList() = ArrayoutofString(sFilterName(i,2), &quot;|&quot;, MaxIndex)
+ sExtension = sLocExtensionList(b)
+ End If
+ Exit For
+ End If
+ Next
+ FilterIndex = i
+End Function
+
+
+Function SearchArrayforPartString(SearchString as String, LocList()) as Integer
+Dim i as Integer
+Dim a as Integer
+Dim StringList() as String
+ For i = Lbound(LocList(),1) to Ubound(LocList(),1)
+ StringList() = ArrayoutofString(LocList(i), &quot;|&quot;)
+ For a = 0 To Ubound(StringList())
+ If (Instr(1, SearchString, StringList(a)) &lt;&gt; 0) Then
+ SearchArrayForPartString() = i
+ Exit Function
+ End If
+ Next a
+ Next i
+ SearchArrayForPartString() = -1
+End Function
+
+
+Sub CreateLogTable(ApplIndex as Integer, CurFileContent as String, sFilterName() as String)
+Dim oLogCursor as Object
+Dim oLogRows as Object
+Dim FilterIndex as Integer
+Dim sDocumentType as String
+Dim oTextCursor
+Dim oCell
+ If Not bLogExists Then
+ Exit Sub
+ End If
+ bFilterTracerIsinsideTable = False
+ FilterIndex = GetIndexForPartStringinMultiArray(sFilterName(), CurFileContent, 0)
+ sDocumentType = sFiltername(FilterIndex,3)
+ oLogCursor = oLogDocument.Text.createTextCursor()
+ oLogCursor.GotoEnd(False)
+ If Not bIsFirstLogTable Then
+ oLogDocument.Text.insertControlCharacter(oLogCursor, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, False)
+ Else
+ bisFirstLogTable = False
+ End If
+ oLogCursor.HyperLinkURL = &quot;&quot;
+ oLogCursor.HyperLinkName = &quot;&quot;
+ oLogCursor.HyperLinkTarget = &quot;&quot;
+ oLogCursor.ParaStyleName = &quot;Heading 1&quot;
+ oLogCursor.setString(sDocumentType)
+ If WizardMode = SBMICROSOFTMODE Then
+ If bFilterTracingAvailable Then
+ If bMSApplFilterTracingAvailable(ApplIndex) Then
+ Dim CurFilterTracingPath as String
+ CurFilterTracingPath = FilterTracingLogPath(ApplIndex)
+ bFilterTracerIsinsideTable = (bTakeOverTargetName(ApplIndex) Or bTakeOverPathName(ApplIndex))
+ If Not bFilterTracerIsinsideTable Then
+ oLogCursor.CollapseToEnd()
+ oLogDocument.Text.insertControlCharacter(oLogCursor, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, False)
+ InsertCommandButtonatViewCursor(oLogDocument, oLogCursor, CurFilterTracingPath)
+ End If
+ End If
+ End If
+ End If
+ oLogCursor.CollapsetoEnd()
+ oLogDocument.Text.insertControlCharacter(oLogCursor, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, False)
+ oLogTable = oLogDocument.CreateInstance(&quot;com.sun.star.text.TextTable&quot;)
+ oLogTable.RepeatHeadline = true
+ If bFilterTracerIsinsideTable Then
+ oLogTable.initialize(2,3)
+ End If
+ oLogCursor.Text.InsertTextContent(oLogCursor, oLogTable, True)
+ oTextCursor = oLogTable.GetCellbyPosition(0,0).createTextCursor()
+ oTextCursor.SetString(sSourceDocuments)
+ oTextCursor = oLogTable.GetCellbyPosition(1,0).createTextCursor()
+ oTextCursor.SetString(sTargetDocuments)
+ If bFilterTracerIsinsideTable Then
+ oTextCursor = oLogTable.GetCellbyPosition(2,0).createTextCursor()
+ oTextCursor.SetString(&quot;FilterTracer&quot;)
+ End If
+ bInsertRow = False
+End Sub
+
+
+Function GetSize(iWidth, iHeight) As New com.sun.star.awt.Size
+Dim aSize As New com.sun.star.awt.Size
+ aSize.Width = iWidth
+ aSize.Height = iHeight
+ GetSize() = aSize
+End Function
+
+
+Sub InsertCommandButtonatViewCursor(oLocDocument, oLocCursor, TargetUrl as String, Optional aSize)
+Dim oDocument
+Dim oController
+Dim oCommandButton
+Dim oShape
+Dim oDrawPage
+Dim oCommandControl
+Dim oEvent
+Dim oCell
+ oCommandButton = oLocDocument.createInstance(&quot;com.sun.star.form.component.CommandButton&quot;)
+ oShape = oLocDocument.CreateInstance (&quot;com.sun.star.drawing.ControlShape&quot;)
+ If IsMissing(aSize) Then
+ oShape.Size = GetSize(4000, 600)
+ End If
+ oCommandButton.Label = FileNameoutofPath(Targeturl)
+ oCommandButton.TargetFrame = &quot;_default&quot;
+ oCommandButton.ButtonType = com.sun.star.form.FormButtonType.URL
+ oCommandbutton.DispatchUrlInternal = True
+ oCommandButton.TargetURL = ConverttoUrl(TargetUrl)
+ oShape.Control = oCommandbutton
+ oLocCursor.Text.InsertTextContent(oLocCursor, oShape, True)
+End Sub
+
+
+
+Sub CreateLogDocument(HiddenProperties())
+Dim OpenProperties(0) as new com.sun.star.beans.PropertyValue
+Dim NoArgs()
+Dim i as Integer
+Dim bLogIsThere as Boolean
+ If ImportDialog.chkLogfile.State = 1 Then
+ i = 2
+ OpenProperties(0).Name = &quot;Hidden&quot;
+ OpenProperties(0).Value = True
+ oLogDocument = StarDesktop.LoadComponentFromURL(&quot;private:factory/swriter&quot;, &quot;_default&quot;, 4, OpenProperties())
+ SOWorkPath = RTrimStr(SOWorkPath,&quot;/&quot;)
+ sLogUrl = SOWorkPath &amp; &quot;/Logfile.odt&quot;
+ Do
+ bLogIsThere = oUcb.Exists(sLogUrl)
+ If bLogIsThere Then
+ If i = 2 Then
+ sLogUrl = ReplaceString(sLogUrl, &quot;/Logfile_2.odt&quot;, &quot;/Logfile.odt&quot;)
+ Else
+ sLogUrl = ReplaceString(sLogUrl, &quot;/Logfile_&quot; &amp; cStr(i) &amp; &quot;.odt&quot;, &quot;/Logfile_&quot; &amp; cStr(i-1) &amp; &quot;.odt&quot;)
+ End If
+ i = i + 1
+ End If
+ Loop Until Not bLogIsThere
+ bLogExists = True
+ oLogDocument.StoreAsUrl(sLogUrl, NoArgs())
+ End If
+End Sub
+
+
+Function GetFilterTracingLogPath(sTargetUrl as String, ApplIndex) as String
+Dim TargetFileName as String
+Dim sTargetFolder as String
+Dim CurFilterTracingPath as String
+Dim CurFilterTracingname as String
+Dim CurFilterFolder as String
+ CurFilterTracingPath = FilterTracingLogPath(ApplIndex)
+ If bTakeOverTargetName(ApplIndex) Then
+ TargetFilename = GetFileNameWithoutextension(sTargetUrl, &quot;/&quot;)
+ CurFilterFolder = DirectoryNameoutofPath(FilterTracingLogPath(ApplIndex), &quot;/&quot;)
+ CurFilterTracingpath = CurFilterFolder &amp; &quot;/&quot; &amp; TargetFilename &amp; &quot;.log&quot;
+ End If
+ If bTakeOverPathName(ApplIndex) Then &apos;Replace the Folder in the FilterTracerpath by the Folder of the targetUrl
+ sTargetFolder = DirectoryNameoutofPath(sTargetUrl,&quot;/&quot;)
+ CurFilterTracingPath = sTargetFolder &amp; &quot;/&quot; &amp; FileNameoutofPath(CurFilterTracingPath, &quot;/&quot;)
+ End If
+ GetFilterTracingLogPath() = CurFilterTracingPath
+End Function
+
+
+Sub InsertTargetUrlToLogDocument(sTargetUrl as String, sComment as String, ApplIndex as Integer)
+Dim oCell
+Dim oTextCursor
+Dim CurFilterTracingpath as String
+ If (bLogExists) And (sTargetUrl &lt;&gt; &quot;&quot;) Then
+ If sTargetUrl &lt;&gt; &quot;&quot; Then
+ oCell = oLogTable.GetCellbyPosition(1,oLogTable.Rows.Count-1)
+ InsertCommentToLogCell(sComment, oCell)
+ InsertHyperLinkToLogCell(sTargetUrl, oCell)
+ If bFilterTracerIsinsideTable Then
+ oCell = oLogTable.getCellByPosition(2, oLogTable.Rows.Count-1)
+ oTextCursor = oCell.Text.CreateTextCursor()
+ CurFilterTracingpath = GetFilterTracingLogPath(sTargetUrl, ApplIndex)
+ InsertCommandButtonatViewCursor(oLogDocument, oTextCursor, CurFilterTracingPath)
+ End If
+ oLogDocument.Store()
+ End If
+ End If
+End Sub
+
+
+Sub InsertSourceUrlToLogDocument(SourceUrl as String, sComment) &apos;
+Dim oCell as Object
+ If bLogExists Then
+ If bInsertRow Then
+ oLogTable.Rows.InsertByIndex(oLogTable.Rows.Count,1)
+ Else
+ bInsertRow = True
+ End If
+ oCell = oLogTable.GetCellbyPosition(0,oLogTable.Rows.Count-1)
+ InsertCommentToLogCell(sComment, oCell)
+ InsertHyperLinkToLogCell(SourceUrl, oCell)
+ oLogDocument.Store()
+ End If
+End Sub
+
+
+Sub InsertHyperLinkToLogCell(sUrl as String, oCell as Object)
+Dim oLogCursor as Object
+Dim LocFileName as String
+ oLogCursor = oCell.createTextCursor()
+ oLogCursor.CollapseToStart()
+ oLogCursor.HyperLinkURL = sUrl
+ oLogCursor.HyperLinkName = sUrl
+ oLogCursor.HyperLinkTarget = sUrl
+ LocFileName = FileNameOutOfPath(sUrl)
+ oCell.InsertString(oLogCursor, LocFileName,False)
+End Sub
+
+
+Sub InsertCommentToLogCell(sComment as string, oCell as Object)
+Dim oCommentCursor as Object
+ If sComment &lt;&gt; &quot;&quot; Then
+ oCommentCursor = oCell.createTextCursor()
+ oCell.insertControlCharacter(oCommentCursor, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, False)
+ oCell.insertString(oCommentCursor, sComment, false)
+ End If
+End Sub
+
+
+Sub AddLogStatistics()
+Dim oCell as Object
+Dim oLogCursor as Object
+Dim MaxRowIndex as Integer
+ If bLogExists Then
+ MaxRowIndex = oLogTable.Rows.Count
+ sLogSummary = ReplaceString(sLogSummary, FileCount, &quot;&lt;COUNT&gt;&quot;)
+&apos; oLogTable.Rows.InsertByIndex(MaxRowIndex, 1)
+&apos; oCell = oLogTable.GetCellbyPosition(0, MaxRowIndex)
+&apos; oLogCursor = oCell.createTextCursor()
+&apos; oCell.InsertString(oLogCursor, sLogSummary,False)
+&apos; MergeRange(oLogTable, oCell, 1)
+
+ oLogCursor = oLogDocument.Text.CreateTextCursor
+ oLogCursor.gotoEnd(False)
+ oLogCursor.HyperLinkURL = &quot;&quot;
+ oLogCursor.HyperLinkName = &quot;&quot;
+ oLogCursor.HyperLinkTarget = &quot;&quot;
+ oLogCursor.SetString(sLogSummary)
+ oLogDocument.Store()
+ oLogDocument.Dispose()
+ bLogExists = False
+ End If
+End Sub
+
+
+
+Function CheckIfMacroExists(oBasicLibraries as Object, sComment as String) as Boolean
+Dim ModuleNames() as String
+Dim ModuleName as String
+Dim MaxLibIndex as Integer
+Dim MaxModuleIndex as Integer
+Dim bMacroExists as Boolean
+Dim n as Integer
+Dim m as Integer
+Dim LibName as String
+Dim sBasicCode as String
+Dim oLibrary as Object
+ bMacroExists = False
+ bMacroExists = oBasicLibraries.hasElements
+ If bMacroExists Then
+ MaxLibIndex = Ubound(oBasicLibraries.ElementNames())
+ For n = 0 To MaxLibIndex
+ LibName = oBasicLibraries.ElementNames(n)
+ If oBasicLibraries.isLibraryLoaded(LibName) Then
+ oLibrary = oBasicLibraries.getbyName(LibName)
+ If oLibrary.hasElements() Then
+ MaxModuleIndex = Ubound(oLibrary.ElementNames())
+ For m = 0 To MaxModuleIndex
+ ModuleName = oLibrary.ElementNames(m)
+ sBasicCode = oLibrary.getbyName(ModuleName)
+ If sBasicCode &lt;&gt; &quot;&quot; Then
+ ConcatComment(sComment, sReeditMacro)
+ CheckIfMacroExists() = True
+ Exit Function
+ End If
+ Next m
+ End If
+ End If
+ Next n
+ End If
+ CheckIfMacroExists() = False
+End Function
+
+
+
+Function CheckPassWordProtection(oDocument as Object)
+Dim bIsPassWordProtected as Boolean
+Dim i as Integer
+Dim oArgs()
+Dim MaxIndex as Integer
+Dim sblabla as String
+ bIsPassWordProtected = false
+ oArgs() = oDocument.getArgs()
+ MaxIndex = Ubound(oArgs())
+ For i = 0 To MaxIndex
+ sblabla = oArgs(i).Name
+ If oArgs(i).Name = &quot;Password&quot; Then
+ bIsPassWordProtected = True
+ sCurPassWord = oArgs(i).Value
+ Exit For
+ End If
+ Next i
+ CheckPassWordProtection() = bIsPassWordProtected
+End Function
+
+
+Sub OpenLogDocument()
+
+ bShowLogFile = True
+ ImportDialogArea.endexecute()
+
+End Sub
+
+
+Sub MergeRange(oTable as Object, oCell as Object, MergeCount as Integer)
+Dim oTableCursor as Object
+ oTableCursor = oTable.createCursorByCellName(oCell.CellName)
+ oTableCursor.goRight(MergeCount, True)
+ oTableCursor.mergeRange()
+End Sub
+
+
+Function ConcatComment(sComment as String, AdditionalComment as String)
+ If sComment = &quot;&quot; Then
+ sComment = AdditionalComment
+ Else
+ sComment = sComment &amp; chr(13) + AdditionalComment
+ End If
+ ConcatComment = sComment
+End Function
+</script:module>
diff --git a/test/user-template/user/basic/ImportWizard/ImportDialog.xdl b/test/user-template/user/basic/ImportWizard/ImportDialog.xdl
new file mode 100644
index 000000000000..a5cd30f04756
--- /dev/null
+++ b/test/user-template/user/basic/ImportWizard/ImportDialog.xdl
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE dlg:window PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "dialog.dtd">
+<dlg:window xmlns:dlg="http://openoffice.org/2000/dialog" xmlns:script="http://openoffice.org/2000/script" dlg:id="ImportDialog" dlg:left="96" dlg:top="28" dlg:width="270" dlg:height="210" dlg:page="4" dlg:help-url="HID:WIZARDS_HID_DLGIMPORT_DIALOG" dlg:closeable="true" dlg:moveable="true" dlg:title="ImportDialog">
+ <dlg:bulletinboard>
+ <dlg:text dlg:id="lblTemplateExport" dlg:tab-index="0" dlg:left="12" dlg:top="94" dlg:width="60" dlg:height="8" dlg:page="2" dlg:value="lblTemplateExport"/>
+ <dlg:textfield dlg:id="txtTemplateImportPath" dlg:tab-index="1" dlg:left="73" dlg:top="76" dlg:width="170" dlg:height="12" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGIMPORT_2_LBTEMPLATEPATH">
+ <script:event script:event-name="on-textchange" script:macro-name="vnd.sun.star.script:ImportWizard.Main.ToggleNextButton?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:textfield>
+ <dlg:textfield dlg:id="txtTemplateExportPath" dlg:tab-index="2" dlg:left="73" dlg:top="92" dlg:width="170" dlg:height="12" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGIMPORT_2_EDTEMPLATEPATH"/>
+ <dlg:checkbox dlg:id="chkDocumentPath" dlg:tab-index="3" dlg:left="12" dlg:top="121" dlg:width="240" dlg:height="10" dlg:page="2" dlg:tag="Document" dlg:help-url="HID:WIZARDS_HID_DLGIMPORT_2_CBDOCUMENT" dlg:value="chkDocumentPath" dlg:checked="true">
+ <script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:ImportWizard.DialogModul.ToggleInputPaths?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:checkbox>
+ <dlg:checkbox dlg:id="chkDocumentSearchSubDir" dlg:tab-index="4" dlg:left="12" dlg:top="134" dlg:width="240" dlg:height="10" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGIMPORT_2_CBDOCUMENTRECURSE" dlg:value="chkDocumentSearchSubDir" dlg:checked="false"/>
+ <dlg:text dlg:id="lblDocumentImport" dlg:tab-index="5" dlg:left="10" dlg:top="151" dlg:width="60" dlg:height="8" dlg:page="2" dlg:value="lblDocumentImport"/>
+ <dlg:text dlg:id="lblDocumentExport" dlg:tab-index="6" dlg:left="10" dlg:top="167" dlg:width="60" dlg:height="8" dlg:page="2" dlg:value="lblDocumentExport"/>
+ <dlg:textfield dlg:id="txtDocumentImportPath" dlg:tab-index="7" dlg:left="73" dlg:top="149" dlg:width="170" dlg:height="12" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGIMPORT_2_LBDOCUMENTPATH">
+ <script:event script:event-name="on-textchange" script:macro-name="vnd.sun.star.script:ImportWizard.Main.ToggleNextButton?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:textfield>
+ <dlg:textfield dlg:id="txtDocumentExportPath" dlg:tab-index="8" dlg:left="73" dlg:top="165" dlg:width="170" dlg:height="12" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGIMPORT_2_EDDOCUMENTPATH"/>
+ <dlg:text dlg:id="SummaryHeaderLabel" dlg:tab-index="9" dlg:left="6" dlg:top="37" dlg:width="258" dlg:height="8" dlg:page="3" dlg:value="SummaryHeaderLabel"/>
+ <dlg:textfield dlg:id="SummaryTextbox" dlg:tab-index="10" dlg:left="5" dlg:top="48" dlg:width="259" dlg:height="125" dlg:page="3" dlg:help-url="HID:WIZARDS_HID_DLGIMPORT_3_TBSUMMARY" dlg:vscroll="true" dlg:multiline="true" dlg:readonly="true"/>
+ <dlg:text dlg:id="LabelRetrieval" dlg:tab-index="11" dlg:left="10" dlg:top="67" dlg:width="255" dlg:height="8" dlg:page="4" dlg:value="LabelRetrieval"/>
+ <dlg:text dlg:id="LabelCurTemplateRetrieval" dlg:tab-index="12" dlg:left="15" dlg:top="79" dlg:width="249" dlg:height="8" dlg:page="4" dlg:value="LabelCurTemplateRetrieval"/>
+ <dlg:text dlg:id="LabelCurDocumentRetrieval" dlg:tab-index="13" dlg:left="15" dlg:top="91" dlg:width="249" dlg:height="8" dlg:page="4" dlg:value="LabelCurDocumentRetrieval"/>
+ <dlg:text dlg:id="LabelCurProgress" dlg:tab-index="14" dlg:left="10" dlg:top="106" dlg:width="255" dlg:height="8" dlg:page="4" dlg:value="LabelCurProgress"/>
+ <dlg:text dlg:id="LabelCurDocument" dlg:tab-index="15" dlg:left="15" dlg:top="118" dlg:width="249" dlg:height="20" dlg:page="4" dlg:value="LabelCurDocument" dlg:multiline="true"/>
+ <dlg:img dlg:id="ImportPreview" dlg:tab-index="16" dlg:left="5" dlg:top="6" dlg:width="258" dlg:height="26" dlg:scale-image="false"/>
+ <dlg:button dlg:id="cmdBack" dlg:tab-index="17" dlg:left="155" dlg:top="190" dlg:width="50" dlg:height="14" dlg:help-url="HID:WIZARDS_HID_DLGIMPORT_0_CMDPREV" dlg:value="cmdBack">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:ImportWizard.Main.PrevStep?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="cmdCancel" dlg:tab-index="18" dlg:left="6" dlg:top="190" dlg:width="50" dlg:height="14" dlg:help-url="HID:WIZARDS_HID_DLGIMPORT_0_CMDCANCEL" dlg:value="cmdCancel">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:ImportWizard.Main.CancelTask?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="cmdHelp" dlg:tab-index="19" dlg:left="65" dlg:top="190" dlg:width="50" dlg:height="14" dlg:value="cmdHelp" dlg:button-type="help"/>
+ <dlg:button dlg:id="cmdGoOn" dlg:tab-index="20" dlg:left="214" dlg:top="190" dlg:width="50" dlg:height="14" dlg:help-url="HID:WIZARDS_HID_DLGIMPORT_0_CMDNEXT" dlg:value="cmdGoOn">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:ImportWizard.Main.NextStep?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:text dlg:id="WelcomeTextLabel" dlg:tab-index="21" dlg:left="6" dlg:top="38" dlg:width="258" dlg:height="20" dlg:page="1" dlg:value="WelcomeTextLabel" dlg:multiline="true"/>
+ <dlg:text dlg:id="WelcomeTextLabel3" dlg:tab-index="22" dlg:left="6" dlg:top="58" dlg:width="258" dlg:height="12" dlg:page="1" dlg:value="WelcomeTextLabel3"/>
+ <dlg:button dlg:id="cmdTemplateImport" dlg:tab-index="23" dlg:left="248" dlg:top="75" dlg:width="14" dlg:height="14" dlg:page="2" dlg:tag="txtTemplateImportPath" dlg:help-url="HID:WIZARDS_HID_DLGIMPORT_2_CMDTEMPLATEPATHSELECT" dlg:value="...">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:ImportWizard.DialogModul.TakoverFolderName?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="cmdTemplateExport" dlg:tab-index="24" dlg:left="248" dlg:top="91" dlg:width="14" dlg:height="14" dlg:page="2" dlg:tag="txtTemplateExportPath" dlg:help-url="HID:WIZARDS_HID_DLGIMPORT_2_CMDTEMPLATEPATHSELECT2" dlg:value="...">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:ImportWizard.DialogModul.TakoverFolderName?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="cmdDocumentImport" dlg:tab-index="25" dlg:left="248" dlg:top="148" dlg:width="14" dlg:height="14" dlg:page="2" dlg:tag="txtDocumentImportPath" dlg:help-url="HID:WIZARDS_HID_DLGIMPORT_2_CMDDOCUMENTPATHSELECT" dlg:value="...">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:ImportWizard.DialogModul.TakoverFolderName?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="cmdDocumentExport" dlg:tab-index="26" dlg:left="248" dlg:top="164" dlg:width="14" dlg:height="14" dlg:page="2" dlg:tag="txtDocumentExportPath" dlg:help-url="HID:WIZARDS_HID_DLGIMPORT_2_CMDDOCUMENTPATHSELECT2" dlg:value="...">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:ImportWizard.DialogModul.TakoverFolderName?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:radiogroup>
+ <dlg:radio dlg:id="optMSDocuments" dlg:tab-index="27" dlg:left="6" dlg:top="72" dlg:width="258" dlg:height="9" dlg:page="1" dlg:tag="MS" dlg:help-url="HID:WIZARDS_HID_DLGIMPORT_0_OPTMSDOCUMENTS" dlg:value="optMSDocuments" dlg:checked="true">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:ImportWizard.Main.ToggleCheckboxes?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:radio>
+ <dlg:radio dlg:id="optSODocuments" dlg:tab-index="28" dlg:left="6" dlg:top="113" dlg:width="258" dlg:height="9" dlg:page="1" dlg:tag="SO" dlg:help-url="HID:WIZARDS_HID_DLGIMPORT_0_OPTSODOCUMENTS" dlg:value="optSODocuments">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:ImportWizard.Main.ToggleCheckboxes?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:radio>
+ </dlg:radiogroup>
+ <dlg:checkbox dlg:id="chkMSApplication1" dlg:tab-index="29" dlg:disabled="true" dlg:left="12" dlg:top="85" dlg:width="141" dlg:height="9" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGIMPORT_2_CHKWORD" dlg:value="chkMSApplication1" dlg:checked="false">
+ <script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:ImportWizard.Main.ToggleNextButton?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:checkbox>
+ <dlg:checkbox dlg:id="chkMSApplication2" dlg:tab-index="30" dlg:disabled="true" dlg:left="155" dlg:top="85" dlg:width="109" dlg:height="9" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGIMPORT_2_CHKEXCEL" dlg:value="chkMSApplication2" dlg:checked="false">
+ <script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:ImportWizard.Main.ToggleNextButton?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:checkbox>
+ <dlg:checkbox dlg:id="chkMSApplication3" dlg:tab-index="31" dlg:disabled="true" dlg:left="12" dlg:top="98" dlg:width="141" dlg:height="9" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGIMPORT_2_CHKPOWERPOINT" dlg:value="chkMSApplication3" dlg:checked="false">
+ <script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:ImportWizard.Main.ToggleNextButton?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:checkbox>
+ <dlg:checkbox dlg:id="chkSOApplication1" dlg:tab-index="32" dlg:left="12" dlg:top="126" dlg:width="141" dlg:height="9" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGIMPORT_0_CHKWRITER" dlg:value="chkSOApplication1" dlg:checked="false">
+ <script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:ImportWizard.Main.ToggleNextButton?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:checkbox>
+ <dlg:checkbox dlg:id="chkSOApplication2" dlg:tab-index="33" dlg:left="155" dlg:top="126" dlg:width="109" dlg:height="9" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGIMPORT_0_CHKCALC" dlg:value="chkSOApplication2" dlg:checked="false">
+ <script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:ImportWizard.Main.ToggleNextButton?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:checkbox>
+ <dlg:checkbox dlg:id="chkSOApplication3" dlg:tab-index="34" dlg:left="12" dlg:top="139" dlg:width="141" dlg:height="9" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGIMPORT_0_CHKIMPRESS" dlg:value="chkSOApplication3" dlg:checked="false">
+ <script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:ImportWizard.Main.ToggleNextButton?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:checkbox>
+ <dlg:checkbox dlg:id="chkSOApplication4" dlg:tab-index="35" dlg:left="155" dlg:top="139" dlg:width="109" dlg:height="9" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGIMPORT_0_CHKMATHGLOBAL" dlg:value="chkSOApplication4" dlg:checked="false">
+ <script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:ImportWizard.Main.ToggleNextButton?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:checkbox>
+ <dlg:checkbox dlg:id="chkTemplatePath" dlg:tab-index="36" dlg:left="12" dlg:top="48" dlg:width="240" dlg:height="10" dlg:page="2" dlg:tag="Template" dlg:help-url="HID:WIZARDS_HID_DLGIMPORT_2_CBTEMPLATE" dlg:value="chkTemplatePath" dlg:checked="true">
+ <script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:ImportWizard.DialogModul.ToggleInputPaths?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:checkbox>
+ <dlg:checkbox dlg:id="chkTemplateSearchSubDir" dlg:tab-index="37" dlg:left="12" dlg:top="61" dlg:width="240" dlg:height="10" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGIMPORT_2_CBTEMPLATERECURSE" dlg:value="chkTemplateSearchSubDir" dlg:checked="false"/>
+ <dlg:text dlg:id="lblTemplateImport" dlg:tab-index="38" dlg:left="12" dlg:top="78" dlg:width="60" dlg:height="8" dlg:page="2" dlg:value="lblTemplateImport"/>
+ <dlg:checkbox dlg:id="chkLogfile" dlg:tab-index="39" dlg:left="6" dlg:top="171" dlg:width="136" dlg:height="9" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGIMPORT_0_CHKLOGFILE" dlg:value="chkLogfile" dlg:checked="true"/>
+ <dlg:fixedline dlg:id="hlnTemplates" dlg:tab-index="40" dlg:left="6" dlg:top="37" dlg:width="258" dlg:height="8" dlg:page="2" dlg:value="hlnTemplates"/>
+ <dlg:fixedline dlg:id="hlnDocuments" dlg:tab-index="41" dlg:left="6" dlg:top="110" dlg:width="258" dlg:height="8" dlg:page="2" dlg:value="hlnDocuments"/>
+ <dlg:fixedline dlg:id="FixedLine1" dlg:tab-index="42" dlg:left="6" dlg:top="181" dlg:width="258" dlg:height="6"/>
+ <dlg:fixedline dlg:id="hlnProgress" dlg:tab-index="43" dlg:left="6" dlg:top="55" dlg:width="258" dlg:height="8" dlg:page="4" dlg:value="hlnProgress"/>
+ <dlg:button dlg:id="cmdShowLogFile" dlg:tab-index="44" dlg:disabled="true" dlg:left="75" dlg:top="142" dlg:width="120" dlg:height="14" dlg:page="4" dlg:value="cmdShowLogFile">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:ImportWizard.FilesModul.OpenLogDocument?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ </dlg:bulletinboard>
+</dlg:window>
diff --git a/test/user-template/user/basic/ImportWizard/Language.xba b/test/user-template/user/basic/ImportWizard/Language.xba
new file mode 100644
index 000000000000..08c7ec7e5784
--- /dev/null
+++ b/test/user-template/user/basic/ImportWizard/Language.xba
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Language" script:language="StarBasic">Option Explicit
+
+Public sMSTemplateCheckbox(2) As String
+Public sMSDocumentCheckbox(2) As String
+Public sSODocumentCheckbox(4) As String
+Public sSOHelperdocuments(1,1) As String
+Public sTemplateCheckbox(SBMAXAPPLCOUNT-1) As String
+Public sDocumentCheckbox(SBMAXAPPLCOUNT-1) As String
+Public sTemplateGroupName As String
+Public sSearchInSubDir as String
+Public sPathErrorTemplates(SBMAXAPPLCOUNT-1) As String
+Public sPathErrorDocument(SBMAXAPPLCOUNT-1) As String
+Public sPathErrorStarDoc(SBMAXAPPLCOUNT-1) As String
+Public sStarDocLabel(SBMAXAPPLCOUNT-1) As String
+Public sImportLabel As String, sExportLabel As String
+Public SOApplicationName(5) As String
+Public sHelpButton As String, sCancelButton As String, sBackButton As String, sNextButton As String
+Public sSumInclusiveSubDir As String, sSumSaveDocuments As String
+Public sSummaryHeader As String
+Public sWelcometextLabel1 As String, sWelcometextLabel3 As String
+Public sBeginButton As String, sMsgDirNotThere As String
+Public sQueryForNewCreation As String, sPathError3 As String
+Public sNoDirCreation As String
+Public sProgressMoreDocs As String, sProgressMoreTemplates as String
+Public sFileExists As String, sMorePathsError3 As String
+Public sConvertError1 As String, sConvertError2 As String, sPathDialogMessage As String
+Public sRTErrorDesc As String, sRTErrorHeader As String
+Public sProgressPage_1 As String, sProgressPage_2 As String, sProgressPage_3 as String
+Public sProgressFound as String, sProgresspage_5 as String
+Public sContainerName(1) as String
+Public sReady as String, sTitle as String
+Public sCloseButton as String
+Public sSourceDocuments as String
+Public sTargetDocuments as String
+Public sSumSODocuments(4) as String
+Public sSumSOTemplates(4) as String
+Public sSumMSDocuments(3) as String
+Public sSumMSTemplates(3) as String
+Public ModuleList(3) as String
+Public sLogSummary as String
+Public sReeditMacro as String
+Public sOverwriteallFiles as String
+Public scouldnotopenDocument as String
+Public sCurcouldnotopenDocument as String
+Public scouldnotsaveDocument as String
+Public sCurcouldnotsaveDocument as String
+
+
+Sub LoadLanguage()
+ If InitResources(&quot;ImportWizard&quot;,&quot;imp&quot;) then
+ sHelpButton = GetResText(1000)
+ sCancelButton = GetResText(1001)
+ sBackButton = GetResText(1002)
+ sNextButton = GetResText(1003)
+ sBeginButton = GetResText(1004)
+ sCloseButton = GetResText(1005)
+
+ sWelcometextLabel1 = ReplaceString(GetResText(1006), GetProductName(),&quot;%PRODUCTNAME&quot;)
+ sWelcometextLabel3 = GetResText(1008)
+
+ &apos; Microsoft Documents
+ GetApplResourceArray(1009, 3, sMSTemplateCheckBox())
+
+ &apos; DocumentCheckbox- Captions
+ GetApplResourceArray(1012, 3, sMSDocumentCheckBox())
+
+ &apos; DocumentCheckbox- Captions
+ GetApplResourceArray(2013, 5, sSODocumentCheckBox())
+
+ &apos;StarOffice Applicationnames
+
+ sSOHelperDocuments(0,0) = GetResText(2017)
+ sSOHelperDocuments(0,1) = &quot;com.sun.star.text.GlobalDocument&quot;
+ sSOHelperDocuments(1,0) = GetResText(2018)
+ sSOHelperDocuments(1,1) = &quot;com.sun.star.formula.FormulaProperties&quot;
+
+ GetApplResourceArray(2017,2, sSOHelperDocuments())
+
+ sContainerName(0) = GetResText(1030)
+ &apos; Note: for the version 5.2 there was no Productname &quot;StarSuite&quot;
+ sContainerName(1) = &quot;StarOffice&quot;
+
+ sSummaryHeader = GetResText(1031)
+
+ sTemplateGroupName = GetResText(1036)
+
+ sProgressMoreDocs = GetResText(1041)
+ sProgressMoreTemplates = GetResText(1042)
+ sNoDirCreation = GetResText(1050)
+ sMsgDirNotThere = GetResText(1051)
+ sQueryForNewCreation = GetResText(1052)
+ sFileExists = GetResText(1053)
+ sMorePathsError3 = GetResText(1054)
+ sConvertError1 = GetResText(1055)
+ sConvertError2 = GetResText(1056)
+ sRTErrorDesc = GetResText(1057)
+ sRTErrorHeader = GetResText(1058)
+ sOverwriteallFiles = GetResText(1070)
+ sReeditMacro = GetResText(1071)
+ scouldnotsaveDocument = GetResText(1072)
+ scouldnotopenDocument = GetResText(1073)
+ sPathDialogMessage = GetResText(1080)
+ sTitle = GetResText(1081)
+
+ sProgressPage_1 = GetResText(1090)
+ sProgressPage_2 = GetResText(1091)
+ sProgressPage_3 = GetResText(1092)
+ sProgressFound = GetResText(1093)
+ sProgressPage_5 = GetResText(1094)
+ sReady = GetResText(1100)
+ sSourceDocuments = GetResText(2030)
+ sTargetDocuments = GetResText(2031)
+ sLogSummary = GetResText(2034)
+ sSumInclusiveSubDir = GetResText(3000)
+ sSumSaveDocuments = GetResText(3001)
+ &apos;StarOffice Applicationnames
+ GetApplResourceArray(3100, 4, sSumSODocuments())
+ GetApplResourceArray(3110, 4, sSumSOTemplates())
+ GetApplResourceArray(3200, 3, sSumMSDocuments())
+ GetApplResourceArray(3210, 3, sSumMSTemplates())
+ With ImportDialog
+ sImportLabel = GetResText(1033)
+ sExportLabel = GetResText(1034)
+ sSearchInSubDir = GetResText(1022)
+ .chkTemplateSearchSubDir.Label = sSearchInSubDir
+ .lblDocumentImport.Label = sImportLabel
+ .lblDocumentExport.Label = sExportLabel
+ .chkDocumentSearchSubDir.Label = sSearchInSubDir
+ .lblTemplateImport.Label = sImportLabel
+ .lblTemplateExport.Label = sExportLabel
+ .chkLogfile.Label = GetResText(2032)
+ .chkLogfile.Helptext = GetResText(2033)
+ Dim Blabla as String
+ blabla = GetResText(1072)
+ .cmdShowLogFile.Label = GetResText(2035)
+ End With
+ ModuleList(0) = &quot;com.sun.star.text.TextDocument&quot;
+ ModuleList(1) = &quot;com.sun.star.sheet.SpreadsheetDocument&quot;
+ ModuleList(2) = &quot;com.sun.star.drawing.DrawingDocument/com.sun.star.presentation.PresentationDocument&quot;
+ ModuleList(3) = &quot;com.sun.star.formula.FormulaProperties/com.sun.star.text.GlobalDocument&quot;
+ End If
+End Sub
+
+
+Sub GetApplResourceArray(StartResIndex as Integer, Count as Integer, BigArray())
+Dim i as Integer
+Dim a as Integer
+ a = 0
+ For i = StartResIndex To StartResIndex + Count-1
+ BigArray(a) = GetResText(i)
+ a = a + 1
+ Next
+End Sub
+</script:module>
diff --git a/test/user-template/user/basic/ImportWizard/Main.xba b/test/user-template/user/basic/ImportWizard/Main.xba
new file mode 100644
index 000000000000..8084fda702cb
--- /dev/null
+++ b/test/user-template/user/basic/ImportWizard/Main.xba
@@ -0,0 +1,301 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Main" script:language="StarBasic">Option Explicit
+
+&apos; ***** BASIC *****
+Public HeaderPreviews(4) as Object
+Public ImportDialog as Object
+Public ImportDialogArea as Object
+Public oFactoryKey as Object
+Public bShowLogFile as Boolean
+Public oBinFilterComp as Object
+
+&apos; If the ProgressPage ist already on Top The Dialog will be immediately closed when this flag is
+&apos; set to False
+Public bConversionIsRunning as Boolean
+Public RetValue as Integer
+
+Sub Main()
+ Dim NoArgs() as New com.sun.star.beans.PropertyValue
+ bShowLogFile=FALSE
+ If Not bDebugWizard Then
+ On Local Error Goto RTError
+ End If
+ BasicLibraries.LoadLibrary(&quot;Tools&quot;)
+ RetValue = 10
+ bIsFirstLogTable = True
+ bConversionIsRunning = False
+ sCRLF = CHR(13) &amp; CHR(10)
+ oUcb = createUnoService(&quot;com.sun.star.ucb.SimpleFileAccess&quot;)
+ oFactoryKey = GetRegistryKeyContent(&quot;org.openoffice.Setup/Office/Factories&quot;)
+ If GetImportWizardPaths() = False Then
+ Exit Sub
+ End If
+ bCancelTask = False
+ bDoKeepApplValues = False
+ CurOffice = 0
+ ImportDialogArea = LoadDialog(&quot;ImportWizard&quot;,&quot;ImportDialog&quot;)
+ ImportDialog = ImportDialogArea.Model
+ LoadLanguage()
+ WizardMode = SBXMLMODE
+ MaxApplCount = 4
+ FillStep_Welcome()
+ RepaintHeaderPreview()
+ ImportDialog.ImportPreview.BackGroundColor = RGB(0,60,126)
+ ImportDialog.cmdGoOn.DefaultButton = True
+ ImportDialogArea.GetControl(&quot;optMSDocuments&quot;).SetFocus()
+ oBinFilterComp = createUnoService( &quot;com.sun.star.comp.office.BF_MigrateFilter&quot; )
+ ToggleCheckboxesWithBoolean(True)
+
+ RetValue = ImportDialogArea.Execute()
+ If bShowLogFile=TRUE Then
+ OpenDocument(sLogUrl, NoArgs())
+ End if
+ If RetValue = 0 Then
+ CancelTask()
+ End If
+ ImportDialogArea.Dispose()
+ End
+ Exit Sub
+RTError:
+ Msgbox sRTErrorDesc, 16, sRTErrorHeader
+End Sub
+
+
+
+Sub NextStep()
+Dim iCurStep as Integer
+ If Not bDebugWizard Then
+ On Error Goto RTError
+ End If
+ bConversionIsRunning = False
+ iCurStep = ImportDialog.Step
+ Select Case iCurStep
+ Case 1
+ FillStep_InputPaths(0, True)
+ Case 2
+ If CheckInputPaths Then
+ SaveStep_InputPath
+ If CurOffice &lt; ApplCount - 1 Then
+ CurOffice = CurOffice + 1
+ TakeOverPathSettings()
+ FillStep_InputPaths(CurOffice, False)
+ Else
+ FillStep_Summary()
+ End If
+ End If
+ Case 3
+ FillStep_Progress()
+ Select Case WizardMode
+ Case SBMICROSOFTMODE
+ Call ConvertAllDocuments(MSFilterName())
+ CASE SBXMLMODE
+ Call ConvertAllDocuments(XMLFilterName())
+ End Select
+ Case 4
+ CancelTask(True)
+ End Select
+
+ If ((ImportDialog.chkLogfile.State &lt;&gt; 1) OR (iCurStep &lt;&gt; 3)) Then
+ ImportDialog.cmdGoOn.DefaultButton = True
+ End If
+
+ RepaintHeaderPreview()
+ Exit Sub
+RTError:
+ Msgbox sRTErrorDesc, 16, sRTErrorHeader
+End Sub
+
+
+
+Sub PrevStep()
+Dim iCurStep as Integer
+ If Not bDebugWizard Then
+ On Error Goto RTError
+ End If
+ bConversionIsRunning = False
+ iCurStep = ImportDialog.Step
+ Select Case iCurStep
+ Case 4
+ ImportDialog.cmdCancel.Label = sCancelButton
+ FillStep_Summary()
+ Case 3
+ FillStep_InputPaths(Applcount-1, False)
+ Case 2
+ SaveStep_InputPath
+ If CurOffice &gt; 0 Then
+ CurOffice = CurOffice - 1
+ FillStep_InputPaths(CurOffice, False)
+ Else
+ FillStep_Welcome()
+ ToggleCheckboxesWithBoolean(True)
+ bDoKeepApplValues = True
+ End If
+ End Select
+ ImportDialog.cmdGoOn.DefaultButton = True
+ RepaintHeaderPreview()
+ Exit Sub
+RTError:
+ Msgbox sRTErrorDesc, 16, sRTErrorHeader
+End Sub
+
+
+
+Sub CancelTask()
+ If bConversionIsRunning Then
+ If Msgbox(sConvertError1, 36, sConvertError2) = 6 Then
+ bCancelTask = True
+ bInterruptSearch = True
+ Else
+ bCancelTask = False
+ ImportDialog.cmdCancel.Enabled = True
+ End If
+ Else
+ ImportDialogArea.EndExecute()
+ End If
+End Sub
+
+
+Sub TemplateDirSearchDialog()
+ CallDirSearchDialog(ImportDialog.TemplateImportPath)
+End Sub
+
+
+Sub RepaintHeaderPreview()
+Dim Bitmap As Object
+Dim CurStep as Integer
+Dim sBitmapPath as String
+Dim LocPrefix as String
+ CurStep = ImportDialog.Step
+ LocPrefix = WizardMode
+ LocPrefix = ReplaceString(LocPrefix,&quot;XML&quot;, &quot;SO&quot;)
+ If CurStep = 2 Then
+ sBitmapPath = SOBitmapPath &amp; LocPrefix &amp; &quot;-Import_&quot; &amp; CurStep &amp; &quot;-&quot; &amp; Applications(CurOffice,SBAPPLKEY) + 1 &amp; &quot;.bmp&quot;
+ Else
+ sBitmapPath = SOBitmapPath &amp; &quot;Import_&quot; &amp; CurStep &amp; &quot;.bmp&quot;
+ End If
+ ImportDialog.ImportPreview.ImageURL = sBitmapPath
+End Sub
+
+
+Sub CheckModuleInstallation()
+Dim i as Integer
+ For i = 1 To MaxApplCount
+ ImportDialogArea.GetControl(&quot;chk&quot; &amp; WizardMode &amp; &quot;Application&quot; &amp; i).Model.Enabled = Abs(CheckInstalledModule(i-1))
+ Next i
+End Sub
+
+
+Function CheckInstalledModule(Index as Integer) as Boolean
+Dim ModuleName as String
+Dim NameList() as String
+Dim MaxIndex as Integer
+Dim i as Integer
+ ModuleName = ModuleList(Index)
+ If Instr(1,ModuleName,&quot;/&quot;) &lt;&gt; 0 Then
+ CheckInstalledModule() = False
+ NameList() = ArrayoutOfString(ModuleName,&quot;/&quot;, MaxIndex)
+ For i = 0 To MaxIndex
+ If oFactoryKey.HasByName(NameList(i)) Then
+ CheckInstalledModule() = True
+ End If
+ Next i
+ Else
+ CheckInstalledModule() = oFactoryKey.HasByName(ModuleName)
+ End If
+End Function
+
+
+Sub ToggleCheckboxes(oEvent as Object)
+Dim bMSEnable as Boolean
+ WizardMode = oEvent.Source.Model.Tag
+ bMSEnable = WizardMode = &quot;MS&quot;
+ ToggleCheckboxesWithBoolean(bMSEnable)
+End Sub
+
+
+Sub ToggleCheckboxesWithBoolean(bMSEnable as Boolean)
+ If bMSEnable = True Then
+ WizardMode = SBMICROSOFTMODE
+ MaxApplCount = 3
+ Else
+ WizardMode = SBXMLMODE
+ MaxApplCount = 4
+ End If
+ With ImportDialogArea
+ If (isNull(oBinFilterComp)) Then
+ .GetControl(&quot;optSODocuments&quot;).Visible = False
+ .GetControl(&quot;chkSOApplication1&quot;).Visible = False
+ .GetControl(&quot;chkSOApplication2&quot;).Visible = False
+ .GetControl(&quot;chkSOApplication3&quot;).Visible = False
+ .GetControl(&quot;chkSOApplication4&quot;).Visible = False
+ Else
+ .GetControl(&quot;chkSOApplication1&quot;).Model.Enabled = Not bMSEnable
+ .GetControl(&quot;chkSOApplication2&quot;).Model.Enabled = Not bMSEnable
+ .GetControl(&quot;chkSOApplication3&quot;).Model.Enabled = Not bMSEnable
+ .GetControl(&quot;chkSOApplication4&quot;).Model.Enabled = Not bMSEnable
+ End if
+ .GetControl(&quot;chkMSApplication1&quot;).Model.Enabled = bMSEnable
+ .GetControl(&quot;chkMSApplication2&quot;).Model.Enabled = bMSEnable
+ .GetControl(&quot;chkMSApplication3&quot;).Model.Enabled = bMSEnable
+ End With
+ CheckModuleInstallation()
+ bDoKeepApplValues = False
+ ToggleNextButton()
+End Sub
+
+
+Sub ToggleNextButton()
+Dim iCurStep as Integer
+Dim bDoEnable as Boolean
+Dim i as Integer
+ iCurStep = ImportDialog.Step
+ Select Case iCurStep
+ Case 1
+ With ImportDialog
+ If .optMSDocuments.State = 1 Then
+ bDoEnable = .chkMSApplication1.State = 1 Or .chkMSApplication2.State = 1 Or .chkMSApplication3.State = 1
+ Else
+ bDoEnable = .chkSOApplication1.State = 1 Or .chkSOApplication2.State = 1 Or .chkSOApplication3.State = 1 Or .chkSOApplication4.State = 1
+ End If
+ End With
+ bDoKeepApplValues = False
+ Case 2
+ bDoEnable = CheckControlPath(ImportDialog.chkTemplatePath, ImportDialog.txtTemplateImportPath, True)
+ bDoEnable = CheckControlPath(ImportDialog.chkDocumentPath, ImportDialog.txtDocumentImportPath, bDoEnable)
+ End Select
+ ImportDialog.cmdGoOn.Enabled = bDoEnable
+End Sub
+
+
+Sub TakeOverPathSettings()
+&apos;Takes over the Pathsettings from the first selected application to the next applications
+ If Applications(CurOffice,SBDOCSOURCE) = &quot;&quot; Then
+ Applications(CurOffice,SBDOCSOURCE) = Applications(0,SBDOCSOURCE)
+ Applications(CurOffice,SBDOCTARGET) = Applications(0,SBDOCTARGET)
+ If WizardMode = SBXMLMODE AND Applications(CurOffice,SBAPPLKEY) = 3 Then
+ Applications(CurOffice,SBTEMPLSOURCE) = Applications(CurOffice,SBDOCSOURCE)
+ Applications(CurOffice,SBTEMPLTARGET) = Applications(CurOffice,SBDOCTARGET)
+ Else
+ Applications(CurOffice,SBTEMPLSOURCE) = Applications(0,SBTEMPLSOURCE)
+ Applications(CurOffice,SBTEMPLTARGET) = Applications(0,SBTEMPLTARGET)
+ End If
+ End If
+End Sub
+
+
+Function GetImportWizardPaths() as Boolean
+ SOBitmapPath = GetOfficeSubPath(&quot;Template&quot;, &quot;../wizard/bitmap&quot;)
+ If SOBitmapPath &lt;&gt; &quot;&quot; Then
+ SOWorkPath = GetPathSettings(&quot;Work&quot;, False)
+ If SOWorkPath &lt;&gt; &quot;&quot; Then
+ SOTemplatePath = GetPathSettings(&quot;Template_writable&quot;,False,0)
+ If SOTemplatePath &lt;&gt; &quot;&quot; Then
+ GetImportWizardPaths() = True
+ Exit Function
+ End If
+ End If
+ End If
+ GetImportWizardPaths() = False
+End Function
+</script:module>
diff --git a/test/user-template/user/basic/ImportWizard/dialog.xlb b/test/user-template/user/basic/ImportWizard/dialog.xlb
new file mode 100644
index 000000000000..f5cc021d521d
--- /dev/null
+++ b/test/user-template/user/basic/ImportWizard/dialog.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ImportWizard" library:readonly="true" library:passwordprotected="false">
+ <library:element library:name="ImportDialog"/>
+</library:library>
diff --git a/test/user-template/user/basic/ImportWizard/script.xlb b/test/user-template/user/basic/ImportWizard/script.xlb
new file mode 100644
index 000000000000..2d10f65cba30
--- /dev/null
+++ b/test/user-template/user/basic/ImportWizard/script.xlb
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ImportWizard" library:readonly="true" library:passwordprotected="false">
+ <library:element library:name="Main"/>
+ <library:element library:name="DialogModul"/>
+ <library:element library:name="Language"/>
+ <library:element library:name="FilesModul"/>
+ <library:element library:name="API"/>
+</library:library>
diff --git a/test/user-template/user/basic/Schedule/BankHoliday.xba b/test/user-template/user/basic/Schedule/BankHoliday.xba
new file mode 100644
index 000000000000..e9af180aa32e
--- /dev/null
+++ b/test/user-template/user/basic/Schedule/BankHoliday.xba
@@ -0,0 +1,177 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="BankHoliday" script:language="StarBasic">Option Explicit
+
+Sub Main()
+ Call CalAutopilotTable()
+End Sub
+
+
+Function CalEasterTable&amp;(byval Year%)
+Dim B%,C%,D%,E%,F%,G%,H%,I%,K%,L%,M%,N%,O%, nMonth%, nDay%
+ N = Year% mod 19
+ B = int(Year% / 100)
+ C = Year% mod 100
+ D = int(B / 4)
+ E = B mod 4
+ F = int((B + 8) / 25)
+ G = int((B - F + 1) / 3)
+ H =(19 * N + B - D - G + 15) mod 30
+ I = int(C / 4)
+ K = C mod 4
+ L =(32 + 2 * E + 2 * I - H - K) mod 7
+ M = int((N + 11 * H + 22 * L) / 451)
+ O = H + L - 7 * M + 114
+ nDay = O mod 31 + 1
+ nMonth = int(O / 31)
+ CalEasterTable&amp; = DateSerial(Year, nMonth,nDay)
+End Function
+
+
+&apos; Note: the following algorithm is valid only till the Year 2100.
+&apos; but I have no Idea from which date in the paste it is valid
+Function CalOrthodoxEasterTable(ByVal iYear as Integer) as Long
+Dim R1%, R2%, R3%, RA%, R4%, RB%, R5%, RC%
+Dim lDate as Long
+ R1 = iYear mod 19
+ R2 = iYear mod 4
+ R3 = iYear mod 7
+ RA =19 * R1 + 16
+ R4 = RA mod 30
+ RB = 2 * R2 + 4 * R3 + 6 * R4
+ R5 = RB mod 7
+ RC = R4 + R5
+ lDate = DateSerial(iYear, 4,4)
+ CalOrthodoxEasterTable() = lDate + RC
+End Function
+
+
+Sub CalInitGlobalVariablesDate()
+Dim i as Integer
+ For i = 1 To 374
+ CalBankholidayName$(i) = &quot;&quot;
+ CalTypeOfBankHoliday%(i) = cHolidayType_None
+ Next
+End Sub
+
+
+Sub CalInsertBankholiday(byval CurDate as Long, byval EventName as String, ByVal iLevel as Integer)
+Dim iDay
+ iDay =(Month(CurDate)-1)*31 +Day(CurDate)
+
+ If 0 &lt;&gt; CalTypeOfBankHoliday(iDay) Then
+ If iLevel &lt; CalTypeOfBankHoliday(iDay) Then
+ CalTypeOfBankHoliday(iDay) = iLevel
+ End If
+ Else
+ CalTypeOfBankHoliday(iDay) = iLevel
+ End If
+
+ If CalBankHolidayName(iDay) = &quot;&quot; Then
+ CalBankHolidayName(iDay) = EventName
+ Else
+ CalBankHolidayName(iDay) = CalBankHolidayName(iDay) &amp; &quot; / &quot; &amp; EventName
+ End If
+End Sub
+
+Function CalMaxDayInMonth(ByVal iYear as Integer, ByVal iMonth as Integer) as Integer
+&apos; delivers the maximum Day of a month in a certain year
+ Dim TmpDate as Long
+ Dim MaxDay as Long
+
+ MaxDay = 28
+ TmpDate = DateSerial(iYear, iMonth, MaxDay)
+
+ While Month(TmpDate) = iMonth
+ MaxDay = MaxDay + 1
+ TmpDate = TmpDate + 1
+ Wend
+ Maxday = MaxDay - 1
+ CalMaxDayInMonth() = MaxDay
+End Function
+
+
+Function CalGetIntOfShortMonthName(ByVal MonthName as String) as Integer
+Dim i as Integer
+Dim nMonth as Integer
+
+ nMonth = Val(MonthName)
+
+ If (1 &lt;= nMonth And 12 &gt;= nMonth) Then
+ CalGetIntOfShortMonthName = nMonth
+ Exit Function
+ End If
+
+ MonthName = UCase(Trim(Left(MonthName, 3)))
+
+ For i = 0 To 11
+ If (UCase(cCalShortMonthNames(i)) = MonthName) Then
+ CalGetIntOfShortMonthName = i+1
+ Exit Function
+ End If
+ Next
+
+ &apos; Not Found
+ CalGetIntOfShortMonthName = 0
+End Function
+
+
+Sub CalInsertOwnDataInTables(ByVal iSelYear as Integer)
+ &apos; inserts the individual data from the table into the previously unsorted list
+Dim CurEventName as String
+Dim CurEvMonth as Integer
+Dim CurEvDay as Integer
+Dim LastIndex as Integer
+Dim i as Integer
+Dim DateStr as String
+ LastIndex = Ubound(DlgCalModel.lstOwnData.StringItemList())
+ For i = 0 To LastIndex
+ If GetSelectedDateUnits(CurEvDay, CurEvMonth, i) &lt;&gt; SBDATEUNDEFINED Then
+ CurEventName = CalGetNameOfEvent(i)
+ CalInsertBankholiday(DateSerial(iSelYear, CurEvMonth, CurEvDay), CurEventName, cHolidayType_Own)
+ End If
+ Next
+End Sub
+
+
+&apos; Finds eg the first,second Monday in a month
+&apos; Note: in This Function the week starts with the Sunday
+Function GetMonthDate(YearInt as Integer, iMonth as Integer, iWeekDay as Integer, iOffset as Integer)
+Dim bFound as Boolean
+Dim lDate as Long
+ &apos; 1st Tue in Nov : Election Day, Half
+ bFound = False
+ lDate = DateSerial(YearInt, iMonth, 1)
+ Do
+ If iWeekDay = WeekDay(lDate) Then
+ bFound = True
+ Else
+ lDate = lDate + 1
+ End If
+ Loop Until bFound
+ GetMonthDate = lDate + iOffset
+End Function
+
+
+&apos; Finds the next weekday after a fixed date
+&apos; e.g. Midsummerfeast in Sweden: next Saturday after 20th June
+Function GetNextWeekDay(iYear as Integer, iMonth as Integer, iDay as Integer, iWeekDay as Integer)
+Dim lDate as Long
+Dim iCurWeekDay as Integer
+ lDate = DateSerial(iYear, iMonth, iDay)
+ iCurWeekDay = WeekDay(lDate)
+ While iCurWeekDay &lt;&gt; iWeekDay
+ lDate = lDate + 1
+ iCurWeekDay = WeekDay(lDate)
+ Wend
+ GetNextWeekDay() = lDate
+End Function
+
+
+Sub AddFollowUpHolidays(ByVal lStartDate as Long, iCount as Integer, HolidayName as String, iType as Integer)
+Dim lDate as Long
+ For lDate = lStartDate + 1 To lStartDate + 4
+ CalInsertBankholiday(lDate, HolidayName, iType)
+ Next lDate
+End Sub
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Schedule/CalendarMain.xba b/test/user-template/user/basic/Schedule/CalendarMain.xba
new file mode 100644
index 000000000000..2deb51cca84d
--- /dev/null
+++ b/test/user-template/user/basic/Schedule/CalendarMain.xba
@@ -0,0 +1,302 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="CalendarMain" script:language="StarBasic">Option Explicit
+
+Const _DEBUG = 0
+
+&apos; CalenderMain
+Public sCurLangLocale as String
+Public sCurCountryLocale as String
+&apos; This flag serves as a query if the individual Data should be saved
+Public bCalOwnDataChanged as Boolean
+
+&apos;BankHoliday Functions
+Public CalBankholidayName$ (1 To 374)
+Public CalTypeOfBankHoliday% (1 To 374)
+
+Public Const cHolidayType_None = 0
+Public Const cHolidayType_Full = 1
+Public Const cHolidayType_Half = 2
+Public Const cHolidayType_Own = 4
+
+Public cCalSubcmdDeleteSelect_DeleteSelEntry$
+Public cCalSubcmdDeleteSelect_DeleteSelEntryTitle$
+Public cCalSubcmdSwitchOwnDataOrGeneral_Back$
+Public cCalSubcmdSwitchOwnDataOrGeneral_OwnData$
+
+&apos;Language
+Public cCalLongMonthNames(11) as String
+Public cCalShortMonthNames(11) as String
+
+Public sBitmapFilename$
+Public sCalendarTitle$, sMonthTitle$, sWizardTitle$, sError$
+Public cCalStyleWorkday$, cCalStyleWeekend$
+
+Public CalChoosenLand as Integer
+
+Public oDocument as Object
+Public oSheets as Object
+Public oSheet as Object
+Public oStatusLine as Object
+Public bCancelTask as Boolean
+Public oNumberFormatter as Object
+
+&apos; BL* means &quot;BundesLand&quot; (for german states only)
+Public CONST CalBLBayern = 1
+Public CONST CalBLBadenWuert = 2
+Public CONST CalBLBerlin = 3
+Public CONST CalBLBremen = 4
+Public CONST CalBLBrandenburg = 5
+Public CONST CalBLHamburg = 6
+Public CONST CalBLHessen = 7
+Public CONST CalBLMeckPomm = 8
+Public CONST CalBLNiedersachsen = 9
+Public CONST CalBLNordrheinWest = 10
+Public CONST CalBLRheinlandPfalz = 11
+Public CONST CalBLSaarland = 12
+Public CONST CalBLSachsen = 13
+Public CONST CalBLSachsenAnhalt = 14
+Public CONST CalBLSchlHolstein = 15
+Public CONST CalBLThueringen = 16
+
+Public DlgCalendar as Object
+Public DlgCalModel as Object
+Public lDateFormat as Long
+Public lDateStandardFormat as Long
+
+
+
+Sub CalAutopilotTable()
+Dim BitmapDir as String
+Dim iThisMonth as Integer
+
+&apos;On Error Goto ErrorHandler
+ BasicLibraries.LoadLibrary(&quot;Tools&quot;)
+ bSelectByMouseMove = True
+ oDocument = ThisComponent
+ oStatusline = oDocument.GetCurrentController.GetFrame.CreateStatusIndicator
+ ToggleWindow(False)
+ sCurLangLocale = oDocument.CharLocale.Language
+ sCurCountryLocale = oDocument.CharLocale.Country
+ DlgCalendar = LoadDialog(&quot;Schedule&quot;, &quot;DlgCalendar&quot;)
+ DlgCalModel = DlgCalendar.Model
+ LoadLanguage(sCurLangLocale)
+ CalInitGlobalVariablesDate()
+ BitmapDir = GetOfficeSubPath(&quot;Template&quot;,&quot;../wizard/bitmap&quot;)
+ DlgCalModel.imgCountry.ImageURL = BitmapDir &amp; sBitmapFilename
+ CalChoosenLand = -2
+ CalLoadOwnData()
+
+ With DlgCalModel
+ .cmdDelete.Enabled = False
+ .lstMonth.StringItemList() = cCalShortMonthNames()
+ Select Case sCurLangLocale
+ Case cLANGUAGE_JAPANESE
+ .lstOwnData.FontName = &quot;HG MinochoL&quot;
+ .txtEvent.FontName = &quot;HG MinchoL&quot;
+ Case cLANGUAGE_CHINESE
+ If oDocument.CharLocale.Country = &quot;CN&quot; Then
+ .lstOwnData.FontName = &quot;FZ Song Ti&quot;
+ .txtEvent.FontName = &quot;FZ Song Ti&quot;
+ Else
+ .lstOwnData.FontName = &quot;FZ Ming Ti&quot;
+ .txtEvent.FontName = &quot;FZ Ming Ti&quot;
+ End If
+ Case &quot;ko&quot;
+ .lstOwnData.FontName = &quot;Sun Gulim&quot;
+ .txtEvent.FontName = &quot;Sun Gulim&quot;
+ End Select
+ .lstOwnEventMonth.StringItemList() = cCalShortMonthNames()
+ .optYear.State = 1
+ .txtYear.Value = Year(Now())
+ .txtYear.Tag = .txtYear.Value
+ .Step = 1
+ End With
+ SetupNumberFormatter(sCurLangLocale, sCurCountryLocale)
+ CalChooseCalendar() &apos; month
+ iThisMonth = Month(Now)
+ DlgCalendar.GetControl(&quot;lstMonth&quot;).SelectItemPos(iThisMonth-1, True)
+ DlgCalendar.GetControl(&quot;lstHolidays&quot;).SelectItemPos(0,True)
+ DlgCalModel.cmdGoOn.DefaultButton = True
+ ToggleWindow(True)
+ DlgCalendar.GetControl(&quot;lblHolidays&quot;).Visible = sCurLangLocale = cLANGUAGE_GERMAN
+ DlgCalendar.GetControl(&quot;lstHolidays&quot;).Visible = sCurLangLocale = cLANGUAGE_GERMAN
+ fHeightCorrFactor = DlgCalendar.GetControl(&quot;imgCountry&quot;).Size.Height/198
+ fWidthCorrFactor = DlgCalendar.GetControl(&quot;imgCountry&quot;).Size.Width/166
+ DlgCalendar.Execute()
+ DlgCalendar.Dispose()
+ Exit Sub
+ErrorHandler:
+ MsgBox(sError$, 16, sWizardTitle$)
+End Sub
+
+
+Sub SetupNumberFormatter(sCurLangLocale as String, sCurCountryLocale as String)
+Dim oFormats as Object
+Dim DateFormatString as String
+ oFormats = oDocument.getNumberFormats()
+ Select Case sCurLangLocale
+ Case cLANGUAGE_GERMAN
+ DateFormatString = &quot;TT.MMM&quot;
+ Case cLANGUAGE_ENGLISH
+ DateFormatString = &quot;MMM DD&quot;
+ Case cLANGUAGE_FRENCH
+ DateFormatString = &quot;JJ/MMM&quot;
+ Case cLANGUAGE_ITALIAN
+ DateFormatString = &quot;GG/MMM&quot;
+ Case cLANGUAGE_SPANISH
+ DateFormatString = &quot;DD/MMM&quot;
+ Case cLANGUAGE_PORTUGUESE
+ If sCurCountryLocale = &quot;BR&quot; Then
+ DateFormatString = &quot;DD/MMM&quot;
+ Else
+ DateFormatString = &quot;DD-MMM&quot;
+ End If
+ Case cLANGUAGE_DUTCH
+ DateFormatString = &quot;DD/MMM&quot;
+ Case cLANGUAGE_SWEDISH
+ DateFormatString = &quot;MMM DD&quot;
+ Case cLANGUAGE_DANISH
+ DateFormatString = &quot;DD-MMM&quot;
+ Case cLANGUAGE_POLISH
+ DateFormatString = &quot;MMM DD&quot;
+ Case cLANGUAGE_RUSSIAN
+ DateFormatString = &quot;MMM DD&quot;
+ Case cLANGUAGE_JAPANESE
+ DateFormatString = &quot;M月D日&quot;
+ Case cLANGUAGE_CHINESE
+ If sCurCountryLocale = &quot;TW&quot; Then
+ DateFormatString = &quot;MMMMD&quot; &amp;&quot;&quot;&quot;&quot; &amp; &quot;日&quot; &amp; &quot;&quot;&quot;&quot;
+ Else
+ DateFormatString = &quot;M&quot; &amp; &quot;&quot;&quot;&quot; &amp; &quot;月&quot; &amp; &quot;&quot;&quot;&quot; &amp; &quot;D&quot; &amp;&quot;&quot;&quot;&quot; &amp; &quot;日&quot; &amp; &quot;&quot;&quot;&quot;
+ End If
+ Case cLANGUAGE_GREEK
+ DateFormatString = &quot;DD/MMM&quot;
+ Case cLANGUAGE_TURKISH
+ DateFormatString = &quot;DD/MMM&quot;
+ Case cLANGUAGE_POLISH
+ DateFormatString = &quot;MMM DD&quot;
+ Case cLANGUAGE_FINNISH
+ DateFormatString = &quot;PP.KKK&quot;
+ End Select
+
+ lDateFormat = AddNumberFormat(oFormats, DateFormatString, oDocument.CharLocale)
+ lDateStandardFormat = oFormats.getStandardFormat(com.sun.star.util.NumberFormat.DATE, oDocument.CharLocale)
+
+&apos; lDateStandardFormat = AddNumberFormat(oFormats, StandardDateFormatString, oDocument.CharLocale)
+ oNumberFormatter = createUNOService(&quot;com.sun.star.util.NumberFormatter&quot;)
+ oNumberFormatter.attachNumberFormatsSupplier(oDocument)
+End Sub
+
+
+Function AddNumberFormat(oNumberFormats as Object, FormatString as String, oLocale as Object) as Long
+Dim lLocDateFormat as Long
+ lLocDateFormat = oNumberFormats.QueryKey(FormatString, oLocale, True)
+ If lLocDateFormat = -1 Then
+ lLocDateFormat = oNumberFormats.addNew(FormatString, oLocale)
+ End If
+ AddNumberFormat() = lLocDateFormat
+End Function
+
+
+Sub CalChooseCalendar()
+ With DlgCalModel
+ .lstMonth.Enabled = .optMonth.State = 1
+ .lblMonth.Enabled = .optMonth.State = 1
+ End With
+End Sub
+
+
+Sub CalcmdCancel()
+ Call CalSaveOwnData()
+ DlgCalendar.EndExecute
+End Sub
+
+
+Sub CalcmdOk()
+ &apos; cmdOk is called when the Button &apos;Read&apos; is clicked on
+ &apos; It is either given out a month or a year
+Dim i, iSelYear as Integer
+Dim SelYear as String
+&apos; DlgCalendar.Visible = False
+
+ oSheets = oDocument.sheets
+ Call CalSaveOwnData()
+ UnprotectSheets(oSheets)
+ oSheets.RemovebyName(oSheets.GetbyIndex(0).Name)
+ iSelYear = DlgCalModel.txtYear.Value
+ Select Case sCurLangLocale
+ Case cLANGUAGE_GERMAN
+ If Ubound(DlgCalModel.lstHolidays.SelectedItems()) &gt; -1 Then
+ CalChoosenLand = DlgCalModel.lstHolidays.SelectedItems(0)
+ Else
+ CalChoosenLand = 0
+ End If
+ Call CalFindWholeYearHolidays_GERMANY(iSelYear, CalChoosenLand)
+ Case cLANGUAGE_ENGLISH
+ Call FindWholeYearHolidays_US(iSelYear)
+ Case cLANGUAGE_FRENCH
+ Call FindWholeYearHolidays_FRANCE(iSelYear)
+ Case cLANGUAGE_ITALIAN
+ Call FindWholeYearHolidays_ITA(iSelYear)
+ Case cLANGUAGE_SPANISH
+ Call FindWholeYearHolidays_SPAIN(iSelYear)
+ Case cLANGUAGE_PORTUGUESE
+ Call FindWholeYearHolidays_PORT(iSelYear)
+ Case cLANGUAGE_DUTCH
+ Call FindWholeYearHolidays_NL(iSelYear)
+ Case cLANGUAGE_SWEDISH
+ Call FindWholeYearHolidays_SWED(iSelYear)
+ Case cLANGUAGE_DANISH
+ Call FindWholeYearHolidays_DK(iSelYear)
+ Case cLANGUAGE_POLISH
+ Call FindWholeYearHolidays_PL(iSelYear)
+ Case cLANGUAGE_RUSSIAN
+ Call FindWholeYearHolidays_RU(iSelYear)
+ Case cLANGUAGE_JAPANESE
+ Call FindWholeYearHolidays_JP(iSelYear)
+ Case cLANGUAGE_CHINESE
+ If sCurCountryLocale = &quot;TW&quot; Then
+ Call FindWholeYearHolidays_TW(iSelYear)
+ Else
+ Call FindWholeYearHolidays_CN(iSelYear)
+ End If
+ Case cLANGUAGE_GREEK
+ Call FindWholeYearHolidays_GREEK(iSelYear)
+ Case cLANGUAGE_TURKISH
+ Call FindWholeYearHolidays_TRK(iSelYear)
+ Case cLANGUAGE_POLISH
+ Call FindWholeYearHolidays_PL(iSelYear)
+ Case cLANGUAGE_FINNISH
+ Call FindWholeYearHolidays_FI(iSelYear)
+ End Select
+
+ Call CalInsertOwnDataInTables(iSelYear)
+
+ If DlgCalModel.optYear.State = 1 Then
+ oSheets.RemovebyName(oSheets.GetbyIndex(0).Name)
+ oSheet = oSheets.GetbyIndex(0)
+ oSheet.Name = sCalendarTitle$ + &quot; &quot; + iSelYear
+ oDocument.AddActionLock
+ Call CalCreateYearTable(iSelYear)
+ ElseIf DlgCalModel.optMonth.State = 1 Then
+ Dim iMonth
+ iMonth = DlgCalModel.lstMonth.SelectedItems(0) + 1
+ oSheets.RemovebyName(oSheets.GetbyIndex(1).Name)
+ oSheet = oSheets.GetbyIndex(0)
+ If sMonthTitle = &quot;&quot; Then
+ oSheet.Name = cCalLongMonthNames(iMonth-1)
+ Else
+ oSheet.Name = sMonthTitle + &quot; &quot; + cCalLongMonthNames(iMonth-1)
+ End If
+ oDocument.AddActionLock
+ Call CalCreateMonthTable(iSelYear, iMonth)
+ End If
+
+ oDocument.RemoveActionLock
+ oSheet.protect(&quot;&quot;)
+ oStatusLine.End
+ DlgCalendar.EndExecute()
+ bCancelTask = True
+End Sub
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Schedule/CreateTable.xba b/test/user-template/user/basic/Schedule/CreateTable.xba
new file mode 100644
index 000000000000..6d472a84bca4
--- /dev/null
+++ b/test/user-template/user/basic/Schedule/CreateTable.xba
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="CreateTable" script:language="StarBasic">Option Explicit
+
+Public Const FirstDayRow = 5 &apos; Row on month sheet for first day of month
+Public Const DateColumn% = 3 &apos; Column on month sheet with days
+Public Const NewYearRow = 4 &apos; Row on year sheet for January 1st
+Public Const NewYearColumn = 2 &apos; Column on year sheet for January 1st
+
+
+Sub CalCreateYearTable(ByVal iSelYear as Integer)
+&apos; Completes the overview for whole year
+
+&apos; Needed by StarOffice Calc and StarOffice Schedule
+Dim CalDay as Integer
+Dim CalMonth as Integer
+Dim i as Integer
+Dim s as Integer
+Dim oYearCell as object
+Dim iDate
+Dim ColPos, RowPos as Integer
+Dim oNameCell, oDateCell as Object
+Dim iCellValue as Long
+Dim oRangeFebCell, oCellAddress, oFebcell as Object
+Dim oRangeBlank as Object
+Dim sBlankStyle as String
+&apos; On Error Goto ErrorHandling
+ oStatusLine.Start(&quot;&quot;,140) &apos;GetResText(sProgress)
+ iDate = DateSerial(iSelYear,1,1)
+ oYearCell = oSheet.GetCellRangeByName(&quot;Year&quot;)
+ oYearCell.Value = iSelYear
+
+ CalMonth = 1
+ CalDay = 0
+ s = 10
+ oStatusLine.SetValue(s)
+ For i = 1 To 374
+ CalDay = CalDay+1
+ If CalDay = 32 Then
+ CalDay = 1
+ CalMonth = CalMonth+1
+ s = s + 10
+ oStatusLine.SetValue(s)
+ End If
+ ColPos = NewYearColumn+(2*CalMonth)
+ RowPos = NewYearRow + CalDay
+ FormatCalCells(ColPos,RowPos,i)
+ Next
+ If NOT CalIsLeapYear(iSelYear) Then
+ &apos; Delete 29th February if necessary
+ oRangeFebCell = oSheet.GetCellRangeByName(&quot;Feb29&quot;)
+ oCellAddress = oRangeFebCell.RangeAddress
+ oFebCell = oSheet.GetCellByPosition(oCellAddress.StartColumn,oCellAddress.StartRow)
+ oFebCell.String = &quot;&quot;
+ &apos; Change the CellStyle according to the Range &quot;Blank&quot;
+ oRangeBlank = oSheet.GetCellRangebyName(&quot;Blank&quot;)
+ sBlankStyle = oRangeBlank.CellStyle
+ oRangeFebCell.CellStyle = sBlankStyle
+ End If
+ oStatusLine.SetValue(150)
+ ErrorHandling:
+ If Err &lt;&gt; 0 Then
+ MsgBox sError$, 16, sWizardTitle$
+ End If
+End Sub
+
+
+
+Sub CalCreateMonthTable(ByVal iSelYear as Integer, iSelMonth as Integer)
+Dim oMonthCell, oDateCell as Object
+Dim iDate as Date
+Dim oAddress
+Dim i, s as Integer
+Dim iStartDay as Integer
+
+&apos; Completes the monthly calendar
+&apos;On Error Goto ErrorHandling
+ oStatusLine.Start(&quot;&quot;,40) &apos;GetResText(sProgess)
+ &apos; Set month
+ oMonthCell = oSheet.GetCellRangeByName(&quot;Month&quot;)
+
+ iDate = DateSerial(iSelYear,iSelMonth,1)
+ oMonthCell.Value = iDate
+ &apos; Inserting holidays
+ iStartDay = (iSelMonth - 1) * 31 + 1
+ s = 5
+ For i = iStartDay To iStartDay + 30
+ oStatusLine.SetValue(s)
+ s = s + 1
+ FormatCalCells(DateColumn+1,FirstDayRow + i - iStartDay,i)
+ Next
+ oDateCell = oSheet.GetCellbyPosition(DateColumn,FirstDayRow+i-iStartDay - 1)
+ oAddress = oDateCell.RangeAddress
+
+ Select Case iSelMonth
+ Case 2,4,6,9,11
+ oSheet.RemoveRange(oAddress, com.sun.star.sheet.CellDeleteMode.ROWS)
+ If iSelMonth = 2 Then
+ oAddress.StartRow = oAddress.StartRow - 1
+ oAddress.EndRow = oAddress.StartRow
+ oSheet.RemoveRange(oAddress, com.sun.star.sheet.CellDeleteMode.ROWS)
+ If Not CalIsLeapYear(iSelYear) Then
+ oAddress.StartRow = oAddress.StartRow - 1
+ oAddress.EndRow = oAddress.StartRow
+ oSheet.RemoveRange(oAddress, com.sun.star.sheet.CellDeleteMode.ROWS)
+ End If
+ End If
+ End Select
+ oStatusLine.SetValue(45)
+ErrorHandling:
+ If Err &lt;&gt; 0 Then
+ MsgBox sError$, 16, sWizardTitle$
+ End If
+End Sub
+
+
+
+Sub FormatCalCells(ColPos,RowPos,i as Integer)
+Dim oNameCell, oDateCell as Object
+Dim iCellValue as Long
+ oDateCell = oSheet.GetCellbyPosition(ColPos-1,RowPos)
+ If oDateCell.Value &lt;&gt; 0 Then
+ iCellValue = oDateCell.Value
+ oDateCell.Value = iCellValue
+ If CalBankHolidayName$(i) &lt;&gt; &quot;&quot; Then
+ oNameCell = oSheet.GetCellbyPosition(ColPos,RowPos)
+ oNameCell.String = CalBankHolidayName$(i)
+ If CalTypeOfBankHoliday%(i) = cHolidayType_Full Then
+ oDateCell.CellStyle = cCalStyleWeekend$
+ End If
+ End If
+ End If
+End Sub</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Schedule/DlgCalendar.xdl b/test/user-template/user/basic/Schedule/DlgCalendar.xdl
new file mode 100644
index 000000000000..2936a5ebe6da
--- /dev/null
+++ b/test/user-template/user/basic/Schedule/DlgCalendar.xdl
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE dlg:window PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "dialog.dtd">
+<dlg:window xmlns:dlg="http://openoffice.org/2000/dialog" xmlns:script="http://openoffice.org/2000/script" dlg:id="Dialog1" dlg:left="160" dlg:top="81" dlg:width="208" dlg:height="156" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGHOLIDAYCAL_DIALOG" dlg:closeable="true" dlg:moveable="true">
+ <dlg:styles>
+ <dlg:style dlg:style-id="0" dlg:border="none"/>
+ <dlg:style dlg:style-id="1" dlg:font-name="Cumberland" dlg:font-stylename="Standard" dlg:font-family="modern" dlg:font-charset="ansi"/>
+ <dlg:style dlg:style-id="2" dlg:font-name="Cumberland" dlg:font-stylename="Standard" dlg:font-family="modern" dlg:font-charset="ansi"/>
+ </dlg:styles>
+ <dlg:bulletinboard>
+ <dlg:menulist dlg:id="lstHolidays" dlg:tab-index="0" dlg:left="6" dlg:top="17" dlg:width="95" dlg:height="12" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGHOLIDAYCAL_1_CMBSTATE" dlg:spin="true"/>
+ <dlg:fixedline dlg:id="hlnCalendar" dlg:tab-index="1" dlg:left="6" dlg:top="36" dlg:width="95" dlg:height="8" dlg:page="1" dlg:value="hlnCalendar"/>
+ <dlg:radiogroup>
+ <dlg:radio dlg:id="optYear" dlg:tab-index="2" dlg:left="12" dlg:top="47" dlg:width="81" dlg:height="10" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGHOLIDAYCAL_1_OPYEAR" dlg:value="optYear">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Schedule.CalendarMain.CalChooseCalendar?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:radio>
+ <dlg:radio dlg:id="optMonth" dlg:tab-index="3" dlg:left="12" dlg:top="61" dlg:width="81" dlg:height="10" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGHOLIDAYCAL_1_OPMONTH" dlg:value="optMonth">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Schedule.CalendarMain.CalChooseCalendar?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:radio>
+ </dlg:radiogroup>
+ <dlg:text dlg:id="lblHolidays" dlg:tab-index="4" dlg:left="6" dlg:top="6" dlg:width="96" dlg:height="8" dlg:page="1" dlg:value="lblHolidays"/>
+ <dlg:img dlg:style-id="0" dlg:id="imgCountry" dlg:tab-index="5" dlg:left="106" dlg:top="6" dlg:width="95" dlg:height="113" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGHOLIDAYCAL_1_PREVIEW">
+ <script:event script:event-name="on-mousedown" script:macro-name="vnd.sun.star.script:Schedule.DlgControl.SelectState?language=Basic&amp;location=application" script:language="Script"/>
+ <script:event script:event-name="on-mouseout" script:macro-name="vnd.sun.star.script:Schedule.DlgControl.MouseLeavesImage?language=Basic&amp;location=application" script:language="Script"/>
+ <script:event script:event-name="on-mousemove" script:macro-name="vnd.sun.star.script:Schedule.DlgControl.CalMouseMoved?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:img>
+ <dlg:fixedline dlg:id="hlnTime" dlg:tab-index="6" dlg:left="5" dlg:top="78" dlg:width="95" dlg:height="8" dlg:page="1" dlg:value="hlnTime"/>
+ <dlg:menulist dlg:id="lstMonth" dlg:tab-index="7" dlg:left="62" dlg:top="106" dlg:width="38" dlg:height="12" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGHOLIDAYCAL_1_EDMONTH" dlg:spin="true"/>
+ <dlg:text dlg:id="lblYear" dlg:tab-index="8" dlg:left="12" dlg:top="91" dlg:width="46" dlg:height="8" dlg:page="1" dlg:value="lblYear"/>
+ <dlg:text dlg:id="lblMonth" dlg:tab-index="9" dlg:left="12" dlg:top="108" dlg:width="46" dlg:height="8" dlg:page="1" dlg:value="lblMonth"/>
+ <dlg:fixedline dlg:id="FixedLine1" dlg:tab-index="10" dlg:left="6" dlg:top="125" dlg:width="196" dlg:height="4"/>
+ <dlg:button dlg:id="cmdCancel" dlg:tab-index="11" dlg:left="6" dlg:top="136" dlg:width="50" dlg:height="14" dlg:help-url="HID:WIZARDS_HID_DLGHOLIDAYCAL_0_CMDCANCEL" dlg:value="cmdCancel">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Schedule.CalendarMain.CalcmdCancel?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="cmdOwnData" dlg:tab-index="12" dlg:left="99" dlg:top="136" dlg:width="50" dlg:height="14" dlg:help-url="HID:WIZARDS_HID_DLGHOLIDAYCAL_0_CMDOWNDATA" dlg:value="cmdOwnData">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Schedule.DlgControl.CalmdSwitchOwnDataOrGeneral?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="cmdGoOn" dlg:tab-index="13" dlg:left="152" dlg:top="136" dlg:width="50" dlg:height="14" dlg:help-url="HID:WIZARDS_HID_DLGHOLIDAYCAL_0_CMDOK" dlg:value="cmdGoOn">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Schedule.CalendarMain.CalcmdOk?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:text dlg:id="lblEvent" dlg:tab-index="14" dlg:left="12" dlg:top="17" dlg:width="67" dlg:height="8" dlg:page="2" dlg:value="lblEvent"/>
+ <dlg:fixedline dlg:id="hlnNewEvent" dlg:tab-index="15" dlg:left="6" dlg:top="6" dlg:width="196" dlg:height="8" dlg:page="2" dlg:value="hlnNewEvent"/>
+ <dlg:textfield dlg:style-id="1" dlg:id="txtEvent" dlg:tab-index="16" dlg:left="12" dlg:top="28" dlg:width="107" dlg:height="12" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGHOLIDAYCAL_2_EDEVENT">
+ <script:event script:event-name="on-textchange" script:macro-name="vnd.sun.star.script:Schedule.OwnEvents.CheckInsertedDates?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:textfield>
+ <dlg:numericfield dlg:id="txtOwnEventDay" dlg:tab-index="17" dlg:left="13" dlg:top="55" dlg:width="30" dlg:height="12" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGHOLIDAYCAL_2_EDEVENTDAY" dlg:decimal-accuracy="0" dlg:value-min="1" dlg:spin="true">
+ <script:event script:event-name="on-textchange" script:macro-name="vnd.sun.star.script:Schedule.OwnEvents.CheckInsertedDates?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:numericfield>
+ <dlg:menulist dlg:id="lstOwnEventMonth" dlg:tab-index="18" dlg:left="60" dlg:top="55" dlg:width="30" dlg:height="12" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGHOLIDAYCAL_2_EDEVENTMONTH" dlg:spin="true">
+ <script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:Schedule.OwnEvents.GetOwnMonth?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:menulist>
+ <dlg:button dlg:id="cmdInsert" dlg:tab-index="19" dlg:left="99" dlg:top="70" dlg:width="50" dlg:height="14" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGHOLIDAYCAL_2_CMDINSERT" dlg:value="cmdInsert">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Schedule.OwnEvents.CalcmdInsertData?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="cmdDelete" dlg:tab-index="20" dlg:left="152" dlg:top="70" dlg:width="50" dlg:height="14" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGHOLIDAYCAL_2_CMDDELETE" dlg:value="cmdDelete">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Schedule.DlgControl.CalcmdDeleteSelect?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:menulist dlg:style-id="2" dlg:id="lstOwnData" dlg:tab-index="21" dlg:left="12" dlg:top="86" dlg:width="190" dlg:height="34" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGHOLIDAYCAL_2_LBOWNDATA">
+ <script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:Schedule.DlgControl.CalUpdateNewEventFrame?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:menulist>
+ <dlg:text dlg:id="lblEventDay" dlg:tab-index="22" dlg:left="12" dlg:top="44" dlg:width="44" dlg:height="8" dlg:page="2" dlg:value="lblEventDay"/>
+ <dlg:text dlg:id="lblEventMonth" dlg:tab-index="23" dlg:left="60" dlg:top="44" dlg:width="44" dlg:height="8" dlg:page="2" dlg:value="lblEventMonth"/>
+ <dlg:numericfield dlg:id="txtYear" dlg:tab-index="24" dlg:left="62" dlg:top="89" dlg:width="38" dlg:height="12" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGHOLIDAYCAL_1_EDYEAR" dlg:decimal-accuracy="0" dlg:value-min="1582" dlg:value-max="9957" dlg:spin="true"/>
+ </dlg:bulletinboard>
+</dlg:window> \ No newline at end of file
diff --git a/test/user-template/user/basic/Schedule/DlgControl.xba b/test/user-template/user/basic/Schedule/DlgControl.xba
new file mode 100644
index 000000000000..b7a7c4c957ae
--- /dev/null
+++ b/test/user-template/user/basic/Schedule/DlgControl.xba
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="DlgControl" script:language="StarBasic">Option Explicit
+
+Dim CalBitmap As Object
+Public bSelectByMouseMove as Boolean
+Public fHeightCorrFactor as Double
+Public fWidthCorrFactor as Double
+
+
+
+Sub Main()
+ Call CalAutopilotTable()
+End Sub
+
+
+Sub CalcmdDeleteSelect()
+Dim MsgBoxResult as Integer
+Dim bDoEnable as Boolean
+Dim iSel as Integer
+Dim MaxIndex as Integer
+ If Ubound(DlgCalModel.lstOwnData.SelectedItems()) &gt; -1 Then
+ MsgBoxResult = MsgBox(cCalSubcmdDeleteSelect_DeleteSelEntry$, 4+32, cCalSubcmdDeleteSelect_DeleteSelEntryTitle$)
+ If MsgBoxResult = 6 Then
+ iSel = DlgCalModel.lstOwnData.SelectedItems(0)
+ DlgCalModel.lstOwnData.StringItemList() = RemoveSelected(DlgCalModel.lstOwnData)
+ &apos; Flag to store the new data
+ bCalOwnDataChanged = True
+ bDoEnable = Ubound(DlgCalModel.lstOwnData.StringItemList()) &gt; -1
+ DlgCalModel.cmdDelete.Enabled = bDoEnable
+ If bDoEnable Then
+ MaxIndex = Ubound(DlgCalModel.lstOwnData.StringItemList())
+ If iSel &gt; MaxIndex Then
+ iSel = MaxIndex
+ End If
+ DlgCalendar.GetControl(&quot;lstOwnData&quot;).SelectItemPos(iSel, True)
+ CalUpdateNewEventFrame()
+ Else
+ Call CalClearInputMask()
+ End If
+ End If
+ End If
+End Sub
+
+
+Sub CalSaveOwnEventControls()
+ With DlgCalModel
+ .txtOwnEventDay.Tag = .txtOwnEventDay.Value
+ .txtOwnEventMonth.Tag = .txtOwnEventMonth.Text
+ End With
+End Sub
+
+
+Sub CalMouseMoved(aEvent as object)
+Dim ListIndex as Integer
+ Select Case sCurLangLocale
+ Case cLANGUAGE_GERMAN
+ If bSelectByMouseMove Then
+&apos; oStatusLine.SetText(&quot;Position: &quot; &amp; aEvent.X &amp; &quot; ; &quot; &amp; aEvent.Y)
+ ListIndex = CalGetGermanLandAtMousePos(CInt(aEvent.X/fWidthCorrFactor), CInt(aEvent.Y/fHeightCorrFactor))
+ DlgCalendar.GetControl(&quot;lstHolidays&quot;).SelectItemPos(ListIndex, True)
+ End If
+ End Select
+End Sub
+
+
+Sub SelectState(aEvent as Object)
+Dim ListIndex as Integer
+ Select Case sCurLangLocale
+ Case cLANGUAGE_GERMAN
+ If aEvent.ClickCount &gt;= 1 Then
+ ListIndex = CalGetGermanLandAtMousePos(CInt(aEvent.X/fWidthCorrFactor), CInt(aEvent.Y/fHeightCorrFactor))
+ DlgCalendar.GetControl(&quot;lstHolidays&quot;).SelectItemPos(ListIndex, True)
+ bSelectByMouseMove = False
+ End If
+ End Select
+End Sub
+
+
+Sub MouseLeavesImage
+ bSelectbyMouseMove = True
+End Sub
+
+
+Sub CalClearInputMask()
+Dim NullList() as String
+ With DlgCalModel
+ .txtEvent.Text = &quot;&quot;
+ .txtOwnEventDay.SetPropertyToDefault(&quot;Value&quot;)
+ .cmdInsert.Enabled = False
+ End With
+ If Ubound(DlgCalModel.lstOwnData.StringItemList()) &gt; -1 Then
+ If Ubound(DlgCalModel.lstOwnData.SelectedItems()) = -1 Then
+ DlgCalendar.GetControl(&quot;lstOwnData&quot;).SelectItemPos(0,True)
+ CalUpdateNewEventFrame()
+ End If
+ End If
+End Sub
+
+
+Sub CalmdSwitchOwnDataOrGeneral()
+ If DlgCalModel.Step = 1 Then
+ DlgCalModel.Step = 2
+ DlgCalModel.cmdOwnData.Label = cCalSubcmdSwitchOwnDataOrGeneral_Back$
+ DlgCalModel.cmdInsert.Enabled = DlgCalModel.txtEvent.Text &lt;&gt; &quot;&quot;
+&apos; ToggleYearBox()
+ Else
+ dim bla as boolean
+ DlgCalModel.Step = 1
+ DlgCalendar.GetControl(&quot;lblHolidays&quot;).Visible = sCurLangLocale = cLANGUAGE_GERMAN
+ DlgCalendar.GetControl(&quot;lstHolidays&quot;).Visible = sCurLangLocale = cLANGUAGE_GERMAN
+ DlgCalModel.cmdOwnData.Label = cCalSubcmdSwitchOwnDataOrGeneral_OwnData$
+ End If
+End Sub
+
+
+Sub ToggleInsertButton()
+ DlgCalModel.cmdInsert.Enabled = LTrim(DlgCalModel.txtEvent.Text) &lt;&gt; &quot;&quot;
+End Sub
+
+
+Sub CalUpdateNewEventFrame()
+Dim bDoEnable as Boolean
+Dim sSelectedItem
+Dim ListIndex as Integer
+Dim MaxSelIndex as Integer
+Dim CurEvMonth as Integer
+Dim CurEvDay as Integer
+Dim DateStr as String
+ bDoEnable = False
+ With DlgCalModel
+ MaxSelIndex = Ubound(DlgCalModel.lstOwnData.SelectedItems())
+ If MaxSelIndex &gt; -1 Then
+ ListIndex = .lstOwnData.SelectedItems(MaxSelIndex)
+ .txtEvent.Text = CalGetNameofEvent(ListIndex)
+ If GetSelectedDateUnits(CurEvDay, CurEvMonth, ListIndex) &lt;&gt; SBDATEUNDEFINED Then
+ .txtOwnEventDay.Value = CurEvDay
+ DlgCalendar.GetControl(&quot;lstOwnEventMonth&quot;).SelectItemPos(CurEvMonth-1, True)
+ .cmdDelete.Enabled = True
+ .cmdInsert.Enabled = True
+ Else
+ Call CalClearInputMask()
+ .cmdDelete.Enabled = True
+ End If
+ End If
+ End With
+End Sub
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Schedule/GermanHolidays.xba b/test/user-template/user/basic/Schedule/GermanHolidays.xba
new file mode 100644
index 000000000000..7ce4357e9699
--- /dev/null
+++ b/test/user-template/user/basic/Schedule/GermanHolidays.xba
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="GermanHolidays" script:language="StarBasic">Option Explicit
+
+Sub Main()
+ Call CalAutopilotTable()
+End Sub
+
+Function CalGetGermanLandAtMousePos(byval X as single, byval Y as single) as Integer
+ CalChoosenLand = 0
+ If (X&gt;73)And(X&lt;130)And(Y&gt;=117)And(Y&lt;181) Then
+ CalChoosenLand = CalBLBayern
+
+ ElseIf (X&gt;41)And(X&lt;89)And(Y&gt;=136)And(Y&lt;183) Then
+ CalChoosenLand = CalBLBadenWuert
+
+ ElseIf (X&gt;18)And(X&lt;35)And(Y&gt;136)And(Y&lt;147) Then
+ CalChoosenLand = CalBLSaarland
+
+ ElseIf (X&gt;13)And(X&lt;42)And(Y&gt;111)And(Y&lt;146) Then
+ CalChoosenLand = CalBLRheinlandPfalz
+
+ ElseIf (X&gt;15)And(X&lt;=60)And(Y&gt;=69)And(Y&lt;112) Then
+ CalChoosenLand = CalBLNordrheinWest
+
+ ElseIf (X&gt;=42)And(X&lt;78)And(Y&gt;=95)And(Y&lt;136) Then
+ CalChoosenLand = CalBLHessen
+
+ ElseIf (X&gt;=78)And(X&lt;112)And(Y&gt;=95)And(Y&lt;117) Then
+ CalChoosenLand = CalBLThueringen
+
+ ElseIf (X&gt;=112)And(X&lt;158)And(Y&gt;=88)And(Y&lt;114) Then
+ CalChoosenLand = CalBLSachsen
+
+ ElseIf (X&gt;77)And(X&lt;84)And(Y&gt;35)And(Y&lt;42) Then
+ CalChoosenLand = CalBLHamburg
+
+ ElseIf (X&gt;56)And(X&lt;60)And(Y&gt;36)And(Y&lt;41) Then
+ CalChoosenLand = CalBLBremen
+
+ ElseIf (X&gt;58)And(X&lt;63)And(Y&gt;44)And(Y&lt;52) Then
+ CalChoosenLand = CalBLBremen
+
+ ElseIf (X&gt;52)And(X&lt;95)And(Y&gt;8)And(Y&lt;40) Then
+ CalChoosenLand = CalBLSchlHolstein
+
+ ElseIf (X&gt;90)And(X&lt;149)And(Y&gt;23)And(Y&lt;48) Then
+ CalChoosenLand = CalBLMeckPomm
+
+ ElseIf (X&gt;28)And(X&lt;90)And(Y&gt;35)And(Y&lt;69) Then
+ CalChoosenLand = CalBLNiedersachsen
+
+ ElseIf (X&gt;60)And(X&lt;90)And(Y&gt;=69)And(Y&lt;95) Then
+ CalChoosenLand = CalBLNiedersachsen
+
+ ElseIf (X&gt;=90)And(X&lt;=115)And(Y&gt;47)And(Y&lt;95) Then
+ CalChoosenLand = CalBLSachsenAnhalt
+
+ ElseIf (X&gt;129)And(X&lt;139)And(Y&gt;60)And(Y&lt;66) Then
+ CalChoosenLand = CalBLBerlin
+
+ ElseIf (X&gt;115)And(X&lt;151)And(Y&gt;=48)And(Y&lt;88) Then
+ CalChoosenLand = CalBLBrandenburg
+ End If
+ CalGetGermanLandAtMousePos = CalChoosenLand
+End Function
+
+
+
+Sub CalFindWholeYearHolidays_GERMANY(ByVal iSelYear as Integer, ByVal iCountry as Integer)
+ Dim So as Integer
+ Dim OsternDate&amp;, VierterAdvent&amp;
+
+ If (iCountry &lt; 1) Or (iCountry &gt; 16) Then
+ iCountry = CalBLHamburg
+ End If
+ OsternDate&amp; = CalEasterTable&amp;(iSelYear)
+ So = 1
+
+ CalInsertBankholiday(DateSerial(iSelYear, 1, 1), &quot;Neujahr&quot;, cHolidayType_Full)
+
+ If (iCountry = CalBLBayern) Or (iCountry = CalBLBadenWuert) Or (iCountry = CalBLSachsenAnhalt) Then
+ CalInsertBankholiday(DateSerial(iSelYear, 1, 6), &quot;Hl. 3 Könige&quot;, cHolidayType_Full)
+ End If
+
+ CalInsertBankholiday(OsternDate&amp;-2, &quot;Karfreitag&quot;, cHolidayType_Full)
+ CalInsertBankholiday(OsternDate&amp;, &quot;Ostersonntag&quot;, cHolidayType_Full)
+ CalInsertBankholiday(OsternDate&amp;+1, &quot;Ostermontag&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(iSelYear, 5, 1), &quot;Maifeiertag&quot;, cHolidayType_Full)
+ CalInsertBankholiday(OsternDate&amp;+39, &quot;Christi Himmelfahrt&quot;, cHolidayType_Full)
+ CalInsertBankholiday(OsternDate&amp;+49, &quot;Pfingstsonntag&quot;, cHolidayType_Full)
+ CalInsertBankholiday(OsternDate&amp;+50, &quot;Pfingstmontag&quot;, cHolidayType_Full)
+
+ If (iCountry = CalBLBadenWuert) Or (iCountry = CalBLBayern) Or (iCountry = CalBLHessen) Or (iCountry = CalBLNordRheinWest) Or (iCountry = CalBLRheinlandPfalz) Or (iCountry = CalBLSaarland) Or (iCountry = CalBLSachsen) Or (iCountry = CalBLThueringen) Then
+ CalInsertBankholiday(OsternDate&amp;+60, &quot;Fronleichnam&quot;, cHolidayType_Full)
+ End If
+
+ If (iCountry = CalBLBayern) Or (iCountry = CalBLSaarland) Then
+ CalInsertBankholiday(DateSerial(iSelYear, 8, 15), &quot;Mariä Himmelfahrt&quot;, cHolidayType_Full)
+ End If
+
+ CalInsertBankholiday(DateSerial(iSelYear, 10, 3), &quot;Tag der dt. Einheit&quot;, cHolidayType_Full)
+
+ If (iCountry=CalBLBrandenburg) Or (iCountry=CalBLMeckPomm) Or (iCountry=CalBLSachsenAnhalt) Or (iCountry=CalBLSachsen) Or (iCountry=CalBLThueringen) Then
+ CalInsertBankholiday(DateSerial(iSelYear, 10, 31), &quot;Reformationstag&quot;, cHolidayType_Full)
+ End If
+
+ If (iCountry = CalBLBadenWuert) Or (iCountry = CalBLBayern) Or (iCountry = CalBLNordRheinWest) Or (iCountry = CalBLRheinlandPfalz) Or (iCountry = CalBLSaarland) Or (iCountry = CalBLSachsen) Or (iCountry = CalBLThueringen) Then
+ CalInsertBankholiday(DateSerial(iSelYear, 11, 1), &quot;Allerheiligen&quot;, cHolidayType_Full)
+ End If
+
+ vierterAdvent = DateSerial(iSelYear, 12, 24)
+ While WeekDay(vierterAdvent) &lt;&gt; So
+ vierterAdvent = vierterAdvent - 1
+ Wend
+
+ If iCountry = CalBLSachsen Then
+ CalInsertBankholiday(vierterAdvent-32, &quot;Buß- und Bettag&quot;, cHolidayType_Full)
+ Else
+ CalInsertBankholiday(vierterAdvent-32, &quot;Buß- und Bettag&quot;, cHolidayType_Half)
+ End If
+ CalInsertBankholiday(vierterAdvent-21, &quot;1. Advent&quot;, cHolidayType_Full)
+ CalInsertBankholiday(vierterAdvent-14, &quot;2. Advent&quot;, cHolidayType_Full)
+ CalInsertBankholiday(vierterAdvent-7, &quot;3. Advent&quot;, cHolidayType_Full)
+ CalInsertBankholiday(vierterAdvent, &quot;4. Advent&quot;, cHolidayType_Full)
+
+ CalInsertBankholiday(Dateserial(iSelYear, 12, 24), &quot;Heiligabend&quot;, cHolidayType_Half)
+ CalInsertBankholiday(Dateserial(iSelYear, 12, 25), &quot;1. Weihnachtstag&quot;, cHolidayType_Full)
+ CalInsertBankholiday(Dateserial(iSelYear, 12, 26), &quot;2. Weihnachtstag&quot;, cHolidayType_Full)
+ CalInsertBankholiday(Dateserial(iSelYear, 12, 31), &quot;Sylvester&quot;, cHolidayType_Half)
+End Sub
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Schedule/Language.xba b/test/user-template/user/basic/Schedule/Language.xba
new file mode 100644
index 000000000000..9fbf0942e94f
--- /dev/null
+++ b/test/user-template/user/basic/Schedule/Language.xba
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Language" script:language="StarBasic">Option Explicit
+
+
+Public Const cLANGUAGE_SYSTEM = &quot;&quot;, cLANGUAGE_CHINESE = &quot;zh&quot;, cLANGUAGE_DANISH = &quot;da&quot;
+Public Const cLANGUAGE_DUTCH = &quot;nl&quot;, cLANGUAGE_ENGLISH = &quot;en&quot;, cLANGUAGE_FINNISH = &quot;fi&quot;
+Public Const cLANGUAGE_FRENCH = &quot;fr&quot;, cLANGUAGE_GERMAN = &quot;de&quot;, cLANGUAGE_GREEK = &quot;el&quot;
+Public Const cLANGUAGE_ITALIAN = &quot;it&quot;, cLANGUAGE_JAPANESE = &quot;ja&quot;, cLANGUAGE_NORWEGIAN = &quot;no&quot;
+Public Const cLANGUAGE_POLISH = &quot;pl&quot;, cLANGUAGE_PORTUGUESE = &quot;pt&quot;, cLANGUAGE_RUSSIAN = &quot;ru&quot;
+Public Const cLANGUAGE_SPANISH = &quot;es&quot;, cLANGUAGE_SWEDISH = &quot;sv&quot;, cLANGUAGE_TURKISH = &quot;tr&quot;
+
+Public BLNameList(0 To 16) as String
+
+
+&apos; R e s o u r c e s t r i n g c o n s t a n t s
+&apos; -------------------------------------------------
+&apos; Dialog labels start at 1000
+
+Sub LoadLanguage%(ByVal LangLocale)
+Dim Dummy$
+Dim i as Integer
+Const dlgMonth = 1200
+&apos; Abreviated months start 1225
+Const dlgShortMonth = 1225
+ If InitResources(&quot;schedule&quot;, &quot;cal&quot;) Then
+ If LangLocale = cLANGUAGE_GERMAN Then
+
+ &apos; Load all states
+ BLNameList(0) = GetResText(1100)
+ BLNameList(1) = &quot;Bayern&quot;
+ BLNameList(2) = &quot;Baden-Württemberg&quot;
+ BLNameList(3) = &quot;Berlin&quot;
+ BLNameList(4) = &quot;Bremen&quot;
+ BLNameList(5) = &quot;Brandenburg&quot;
+ BLNameList(6) = &quot;Hamburg&quot;
+ BLNameList(7) = &quot;Hessen&quot;
+ BLNameList(8) = &quot;Mecklenburg-Vorpommern&quot;
+ BLNameList(9) = &quot;Niedersachsen&quot;
+ BLNameList(10) = &quot;Nordrhein-Westfalen&quot;
+ BLNameList(11) = &quot;Rheinland-Pfalz&quot;
+ BLNameList(12) = &quot;Saarland&quot;
+ BLNameList(13) = &quot;Sachsen&quot;
+ BLNameList(14) = &quot;Sachsen-Anhalt&quot;
+ BLNameList(15) = &quot;Schleswig Holstein&quot;
+ BLNameList(16) = &quot;Thüringen&quot;
+
+ DlgCalModel.lstHolidays.StringItemList() = BLNameList()
+ End If
+ sWizardTitle$ = GetResText(1300)
+ sError = GetResText(1301)
+ cCalSubcmdDeleteSelect_DeleteSelEntryTitle$ = GetResText(1302)
+ cCalSubcmdDeleteSelect_DeleteSelEntry$ = GetResText(1303)
+ DlgCalendar.Title = GetResText(1000)
+
+ With DlgCalModel
+ cCalSubcmdSwitchOwnDataOrGeneral_OwnData$ = GetResText(1002)
+ cCalSubcmdSwitchOwnDataOrGeneral_Back$ = GetResText(1001)
+ .hlnTime.Label = GetResText(1011)
+ .lblYear.Label = GetResText(1012)
+ .cmdCancel.Label = GetResText(1005)
+ .cmdGoOn.Label = GetResText(1004)
+ .lblHolidays.Label = GetResText(1014)
+ sBitmapFilename = GetResText(1099)
+ sBitmapFilename = ReplaceString(sBitmapFileName, &quot;.gif&quot;, &quot;.bmp&quot;)
+ DlgCalModel.hlnCalendar.Label = GetResText(1006)
+ .optYear.Label = GetResText(1007)
+ .optMonth.Label = GetResText(1008)
+ .lblMonth.Label = GetResText(1013)
+ .cmdOwnData.Label = GetResText(1015)
+ .hlnNewEvent.Label = GetResText(1019)
+ .lblEvent.Label = GetResText(1019)
+ .lblEventDay.Label = GetResText(1021)
+ .lblEventMonth.Label = GetResText(1022)
+&apos; .lblEventYear.Label = GetResText(1023)
+&apos; .chkEventOnce.Label = GetResText(1020)
+ .cmdInsert.Label = GetResText(1016)
+ .cmdDelete.Label = GetResText(1017)
+ &apos; Load long month names
+ For i = 0 To 11
+ cCalLongMonthNames(i) = GetResText(dlgMonth+i)
+ cCalShortMonthNames(i)= cCalLongMonthNames(i)
+ &apos;cCalShortMonthNames(i)= Left$(cCalLongMonthNames(i), 3)
+ cCalShortMonthNames(i)= RTrim(cCalShortMonthNames(i))
+ Next
+ &apos; Load sheet names
+ sCalendarTitle = GetResText(1410)
+ sMonthTitle = GetResText(1411)
+ &apos; Load names of styles
+ cCalStyleWorkday$ = GetResText(1400)
+ cCalStyleWeekend$ = GetResText(1401)
+ End With
+ End If
+End Sub
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Schedule/LocalHolidays.xba b/test/user-template/user/basic/Schedule/LocalHolidays.xba
new file mode 100644
index 000000000000..0b347c03f031
--- /dev/null
+++ b/test/user-template/user/basic/Schedule/LocalHolidays.xba
@@ -0,0 +1,642 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="LocalHolidays" script:language="StarBasic">Option Explicit
+
+Sub Main
+ Call CalAutopilotTable()
+End Sub
+
+
+Sub FindWholeYearHolidays_FRANCE(ByVal YearInt as Integer)
+Dim lEasterDate&amp;
+Dim lDate&amp;
+ CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Jour de l&apos;an&quot;, cHolidayType_Full)
+ lEasterDate = CalEasterTable(YearInt)
+ CalInsertBankholiday(lEasterDate, &quot;Pâques&quot;, cHolidayType_Full)
+ CalInsertBankholiday(lEasterDate + 1, &quot;Lundi de Pâques&quot;, cHolidayType_Full)
+ CalInsertBankholiday(lEasterDate + 39, &quot;Ascension&quot;, cHolidayType_Full)
+ CalInsertBankholiday(lEasterDate + 49, &quot;Pentecôte&quot;, cHolidayType_Full)
+ CalInsertBankholiday(lEasterDate + 50, &quot;Lundi de Pentecôte&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 5, 1), &quot;Fête du travail&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 5, 8), &quot;Victoire 1945&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 7, 14), &quot;Fête Nationale&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 8, 15), &quot;Assomption&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 11, 1), &quot;Toussaint&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 11, 11), &quot;Armistice ou Victoire 1918&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;Noël&quot;, cHolidayType_Full)
+End Sub
+
+
+Sub FindWholeYearHolidays_SWED(ByVal YearInt as Integer)
+Dim lDate&amp;
+ CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Nyårsdagen&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 1, 6), &quot;Trettondagen&quot;, cHolidayType_Full)
+ lDate = CalEasterTable(YearInt)
+ CalInsertBankholiday(lDate - 2, &quot;Långfredagen&quot;, cHolidayType_Full)
+ CalInsertBankholiday(lDate, &quot;Påskdagen&quot;, cHolidayType_Full)
+ CalInsertBankholiday(lDate + 1, &quot;Annandag påsk&quot;, cHolidayType_Full)
+ CalInsertBankholiday(lDate + 39, &quot;Kristi himmelfärds dag&quot;, cHolidayType_Full)
+ CalInsertBankholiday(lDate + 49, &quot;Pingstdagen&quot;, cHolidayType_Full)
+ CalInsertBankholiday(lDate + 50, &quot;Annandag pingst&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 5, 1), &quot;1:a maj&quot;, cHolidayType_Full)
+ &apos; MidSummerfeast (next Sunday after 20th June)
+ CalInsertBankholiday(GetNextWeekday(YearInt, 6, 20, 7), &quot;Midsommardagen&quot;, cHolidayType_Full)
+ CalInsertBankholiday(GetNextWeekDay(YearInt, 10, 31, 7), &quot;Alla helgons dag&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;Juldagen&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 12, 26), &quot;Annandag jul&quot;, cHolidayType_Full)
+End Sub
+
+
+
+Sub FindWholeYearHolidays_FI(ByVal YearInt as Integer)
+ Dim OsternDate&amp;
+ &apos; New Year
+ CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Uudenvuodenpäivä&quot;, cHolidayType_Full)
+ &apos; &quot;the three Magi&quot;
+ CalInsertBankholiday(DateSerial(YearInt, 1, 6), &quot;Loppiainen&quot;, cHolidayType_Half)
+ OsternDate = CalEasterTable(YearInt)
+ CalInsertBankholiday(OsternDate-2, &quot;Pitkäperjantai&quot;, cHolidayType_Full)
+ CalInsertBankholiday(OsternDate, &quot;Pääsiäispäivä&quot;, cHolidayType_Full)
+ CalInsertBankholiday(OsternDate+1, &quot;2. pääsiäispäivä&quot;, cHolidayType_Full)
+ &apos; Ascension Day
+ CalInsertBankholiday(OsternDate+39, &quot;Helatorstai&quot;, cHolidayType_Full)
+ &apos; First of May
+ CalInsertBankholiday(DateSerial(YearInt, 5, 1), &quot;Vappu, suomalaisen työn päivä&quot;, cHolidayType_Full)
+ &apos; Mothers Day : 2nd Sunday in May, Full
+ CalInsertBankholiday(GetMonthDate(YearInt, 5,1,7), &quot;Äitienpäivä&quot;, cHolidayType_Full)
+ &apos; MidSummerfeast (next Sunday after 20th June)
+ CalInsertBankholiday(GetNextWeekday(YearInt, 6, 20, 7), &quot;Juhannus, Suomen lipun päivä&quot;, cHolidayType_Full)
+ &apos; Independance day
+ CalInsertBankholiday(DateSerial(YearInt, 12, 6), &quot;Itsenäisyyspäivä&quot;, cHolidayType_Full)
+ &apos; Christmas
+ CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;Joulupäivä&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 12, 26), &quot;Tapaninpäivä&quot;, cHolidayType_Full)
+End Sub
+
+
+
+Sub FindWholeYearHolidays_DK (ByVal YearInt as Integer)
+Dim lDate&amp;, VierterAdvent&amp;
+
+ &apos;New Year
+ CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Nytårsdag&quot;, cHolidayType_Full)
+ lDate = CalEasterTable (YearInt)
+ &apos; carnival
+ CalInsertBankholiday(lDate-49, &quot;Fastelavn&quot;, cHolidayType_Half)
+ &apos;&quot;Maundy Tuesday
+ CalInsertBankholiday(lDate-3, &quot;Skærtorsdag&quot;, cHolidayType_Full)
+ &apos;&quot;Good Friday &quot;
+ CalInsertBankholiday(lDate-2, &quot;Langfredag&quot;, cHolidayType_Full)
+ &apos; Easter Sunday
+ CalInsertBankholiday(lDate, &quot;Påskesøndag&quot;, cHolidayType_Full)
+ &apos; Easter Monday
+ CalInsertBankholiday(lDate+1, &quot;2. påskedag&quot;, cHolidayType_Full)
+ &apos; 4th Friday after Easter
+ CalInsertBankholiday(lDate+26, &quot;Store bededag&quot;, cHolidayType_Full)
+ &apos; &quot;Ascension Day
+ CalInsertBankholiday(lDate+39, &quot;Kristi himmelfahrt&quot;, cHolidayType_Full)
+ &apos; &quot;Whitsunday&quot;
+ CalInsertBankholiday(lDate+49, &quot;Pinsesøndag&quot;, cHolidayType_Full)
+ &apos; &quot;Whitmonday&quot;
+ CalInsertBankholiday(lDate+50, &quot;2. pinsedag&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 6, 5), &quot;Grundlovsdag&quot;, cHolidayType_Full)
+ &apos;Christmas Days
+ CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;1. juledag&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 12, 26), &quot;2. juledag&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 1, 6), &quot;Hellig 3 konger&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 3, 28), &quot;Dr. Ingrid&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 4, 16), &quot;Dr. Margrete&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 4, 16), &quot;Palmesøndag&quot;, cHolidayType_Half)
+ &apos; &quot;Liberation day&quot;
+ CalInsertBankholiday(DateSerial(YearInt, 5, 5), &quot;Befrielsesdag&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 5, 26), &quot;Krpr. Frederik&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 6, 7), &quot;Pr. Joachim&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 6, 11), &quot;Pr. Henrik&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 6, 15), &quot;Valdemarsdag&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 6, 24), &quot;Skt. Hans&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 6, 30), &quot;Prinsesse Alexandra&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 8, 28), &quot;Pr. Nikolai&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 10, 24), &quot;FN-dag&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 11, 11), &quot;Morten Bisp&quot;, cHolidayType_Half)
+ &apos; all half (Memorial Days)
+ &apos;&quot;adventdays
+ VierterAdvent = DateSerial(YearInt, 12, 24)
+ While (Weekday(VierterAdvent) &lt;&gt; 1)
+ vierterAdvent = vierterAdvent - 1
+ Wend
+ CalInsertBankholiday(vierterAdvent-21, &quot;1. søndag i advent&quot;, cHolidayType_Half)
+ CalInsertBankholiday(vierterAdvent-14, &quot;2. søndag i advent&quot;, cHolidayType_Half)
+ CalInsertBankholiday(vierterAdvent-7, &quot;3. søndag i advent&quot;, cHolidayType_Half)
+ CalInsertBankholiday(vierterAdvent, &quot;4. søndag i advent&quot;, cHolidayType_Half)
+ &apos;Christmas eve
+ CalInsertBankholiday(DateSerial(YearInt, 12, 24), &quot;Juleaften&quot;, cHolidayType_Half)
+ &apos;&quot;New Year&apos;s eve&quot;
+ CalInsertBankholiday(DateSerial(YearInt, 12, 31), &quot;Nytårsaften&quot;, cHolidayType_Half)
+End Sub
+
+
+Sub FindWholeYearHolidays_ITA(ByVal YearInt as Integer)
+Dim lDate&amp;
+ CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Capodanno&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 1, 6), &quot;Epifania&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 4, 25), &quot;Festa della liberazione&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 8, 15), &quot;Ferragusto&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 11, 1), &quot;Tutti i Santi&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 12, 8), &quot;Immacolata concezione&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;Natale&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 12, 26), &quot;Santo Stefano&quot;, cHolidayType_Full)
+ lDate = CalEasterTable(YearInt)
+ CalInsertBankholiday(lDate, &quot;Pasqua&quot;, cHolidayType_Full)
+ CalInsertBankholiday(lDate+1, &quot;Lunedì dell&apos;Angelo&quot;, cHolidayType_Full)
+End Sub
+
+
+
+Sub FindWholeYearHolidays_TRK(ByVal YearInt as Integer)
+Dim lDate as Long
+ &apos; New Years&apos; Day
+ CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Yılbaşı&quot;, cHolidayType_Full)
+ &apos; National Sovereignty and Children&apos;s Day
+ CalInsertBankholiday(DateSerial(YearInt, 4, 23), &quot;Ulusal Egemenlik ve Çocuk Bayramı&quot;, cHolidayType_Full)
+ &apos; Ataturk Commemoration and Youth &amp; Sports Day
+ CalInsertBankholiday(DateSerial(YearInt, 5, 19), &quot;Atatürk&apos;ü Anma, Gençlik ve Spor Bayramı&quot;, cHolidayType_Full)
+ &apos; Mothers Day : 2nd Sunday in May, Full
+ CalInsertBankholiday(GetMonthDate(YearInt, 5,1,7), &quot;Anneler günü&quot;, cHolidayType_Full)
+ &apos; Fathers Day: 3rd Sunday in May, Full
+ CalInsertBankholiday(GetMonthDate(YearInt, 6,1,14), &quot;Babalar Günü&quot;, cHolidayType_Full)
+ &apos; Victory Day
+ CalInsertBankholiday(DateSerial(YearInt, 8, 30), &quot;Zafer Bayramı&quot;, cHolidayType_Full)
+ &apos; Republic Day
+ CalInsertBankholiday(DateSerial(YearInt, 10, 28), &quot;Cumhuriyet Bayramı&quot;, cHolidayType_Full)
+ &apos; Republic Day
+ CalInsertBankholiday(DateSerial(YearInt, 10, 29), &quot;Cumhuriyet Bayramı&quot;, cHolidayType_Full)
+ &apos; Commemoration Of Ataturk-Anniversary of Ataturk&apos;s Death
+ CalInsertBankholiday(DateSerial(YearInt, 11, 10), &quot;Atatürk&apos;ün Ölüm Günü&quot;, cHolidayType_Full)
+ CalculateturkishReligousHolidays(YearInt)
+End Sub
+
+
+Sub CalculateturkishReligousHolidays(iSelYear as Integer)
+Dim lKurbanBayRamStartDate as Long
+Dim lRamazanBayRamStartDate as Long
+
+ Select Case iSelYear
+ Case 2002
+ lKurbanBayRamStartDate = DateSerial(iSelYear, 2, 21)
+ lRamazanBayRamStartDate = DateSerial(iSelYear, 12, 4)
+ Case 2003
+ lKurbanBayRamStartDate = DateSerial(iSelYear, 2, 10)
+ lRamazanBayRamStartDate = DateSerial(iSelYear, 11, 24)
+ Case 2004
+ lKurbanBayRamStartDate = DateSerial(iSelYear, 1, 31)
+ lRamazanBayRamStartDate = DateSerial(iSelYear, 11, 13)
+ Case 2005
+ lKurbanBayRamStartDate = DateSerial(iSelYear, 1, 19)
+ lRamazanBayRamStartDate = DateSerial(iSelYear, 11, 2)
+ Case 2006
+ lKurbanBayRamStartDate = DateSerial(iSelYear, 12, 30)
+ CalInsertBankholiday(lKurbanBayRamStartDate, &quot;Kurban Bayramı Arefesi&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(iSelYear, 12, 31), &quot;Kurban Bayram&quot;, cHolidayType_Full)
+
+ lKurbanBayRamStartDate = DateSerial(iSelYear, 1, 9)
+ lRamazanBayRamStartDate = DateSerial(iSelYear, 10, 22)
+ Case 2007
+ lKurbanBayRamStartDate = DateSerial(iSelYear, 1, 1)
+ &apos; Note: The first day has already been in 2006!!!
+ AddFollowUpHolidays(lKurbanBayRamStartDate-1, 3, &quot;Kurban Bayram&quot;, cHolidayType_Full)
+ lKurbanBayRamStartDate = DateSerial(iSelYear, 12, 19)
+
+ lRamazanBayRamStartDate = DateSerial(iSelYear, 10, 11)
+ Case 2008
+ lKurbanBayRamStartDate = DateSerial(iSelYear, 12, 7)
+ lRamazanBayRamStartDate = DateSerial(iSelYear, 9, 29)
+ Case Else
+ Exit Sub
+ End Select
+ &apos;Feast Of the Sacrifice Eve
+ CalInsertBankholiday(lKurbanBayRamStartDate, &quot;Kurban Bayramı Arefesi&quot;, cHolidayType_Half)
+ &apos;Feast Of the Sacrifice
+ AddFollowUpHolidays(lKurbanBayRamStartDate, 4, &quot;Kurban Bayram&quot;, cHolidayType_Full)
+ &apos; End of Ramadan Eve
+ CalInsertBankholiday(lRamazanBayRamStartDate, &quot;Ramazan (Şeker) Bayramı Arefesi&quot;, cHolidayType_Half)
+ &apos; End of Ramadan
+ AddFollowUpHolidays(lRamazanBayRamStartDate, 3, &quot;Ramazan (Şeker) Bayramı&quot;, cHolidayType_Full)
+End Sub
+
+
+Sub FindWholeYearHolidays_GREEK(ByVal YearInt as Integer)
+Dim lDate as Long
+ &apos; New Year
+ CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Πρωτοχρονιά&quot;, cHolidayType_Full)
+ &apos;Schol Holiday
+ CalInsertBankholiday(DateSerial(YearInt, 12, 30), &quot;Τριών Ιεραρχών&quot;, cHolidayType_Full)
+ &apos; This is both a National Holiday and a religious holiday
+ CalInsertBankholiday(DateSerial(YearInt, 3, 25), &quot;Εθνική Εορτή Ευαγγελισμός Θεοτόκου&quot;, cHolidayType_Full)
+ &apos; Labor Day
+ CalInsertBankholiday(DateSerial(YearInt, 5, 1), &quot;Πρωτομαγιά&quot;, cHolidayType_Full)
+ &apos; Assumption Day
+ CalInsertBankholiday(DateSerial(YearInt, 8, 15), &quot;Κοίμηση της Θεοτόκου&quot;, cHolidayType_Full)
+ &apos; National Resistance Day
+ CalInsertBankholiday(DateSerial(YearInt, 10, 28), &quot;Εθνική Εορτή&quot;, cHolidayType_Full)
+ &apos; School Holiday
+ CalInsertBankholiday(DateSerial(YearInt, 11, 17), &quot;Επέτειος του Πολυτεχνείου&quot;, cHolidayType_Full)
+ &apos; Christmas Eve
+ CalInsertBankholiday(DateSerial(YearInt, 12, 24), &quot;Παραμονή Χριστουγέννων&quot;, cHolidayType_Full)
+ &apos; Christmas Day
+ CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;Χριστούγεννα&quot;, cHolidayType_Full)
+ &apos; Boxing Day
+ CalInsertBankholiday(DateSerial(YearInt, 12, 26), &quot;Δεύτερη μέρα Χριστουγέννων&quot;, cHolidayType_Full)
+ lDate = CalOrthodoxEasterTable(YearInt)
+ &apos; Triodon
+ CalInsertBankholiday(lDate-70, &quot;Αρχή Τριωδίου&quot;, cHolidayType_Full)
+ &apos; Meat Fare
+ CalInsertBankholiday(lDate-56, &quot;Τσικνοπέμπτη&quot;, cHolidayType_Full)
+ &apos; First Day of Lent
+ CalInsertBankholiday(lDate-48, &quot;Καθαρή Δευτέρα&quot;, cHolidayType_Full)
+ &apos; Saturday of Lazarus
+ CalInsertBankholiday(lDate-8, &quot;Σάββατο του Λαζάρου&quot;, cHolidayType_Full)
+ &apos; Palm Sunday
+ CalInsertBankholiday(lDate-7, &quot;Κυριακή των Βαΐων&quot;, cHolidayType_Full)
+ &apos; Monday before Easter
+ CalInsertBankholiday(lDate-6, &quot;Μεγάλη Δευτέρα&quot;, cHolidayType_Full)
+ &apos; Tuesday before Easter
+ CalInsertBankholiday(lDate-5, &quot;Μεγάλη Τρίτη&quot;, cHolidayType_Full)
+ &apos; Wednesday before Easter
+ CalInsertBankholiday(lDate-4, &quot;Μεγάλη Τετάρτη&quot;, cHolidayType_Full)
+ &apos; Thursday before Easter
+ CalInsertBankholiday(lDate-3, &quot;Μεγάλη Πέμπτη&quot;, cHolidayType_Full)
+ &apos; Good Friday
+ CalInsertBankholiday(lDate-2, &quot;Μεγάλη Παρασκευή&quot;, cHolidayType_Full)
+ &apos; Saturday before Easter
+ CalInsertBankholiday(lDate-1, &quot;Μεγάλο Σάββατο&quot;, cHolidayType_Full)
+ &apos; Easter Monday
+ CalInsertBankholiday(lDate+1, &quot;Δευτέρα του Πάσχα&quot;, cHolidayType_Full)
+ &apos; Pentecost
+ CalInsertBankholiday(lDate+49, &quot;Κυριακή της Πεντηκοστής&quot;, cHolidayType_Full)
+ &apos; Ascension Day
+ CalInsertBankholiday(lDate+39, &quot;Του Αγίου Πνεύματος&quot;, cHolidayType_Full)
+ &apos; All Saints Day
+ CalInsertBankholiday(lDate+56, &quot;Των Αγίων Πάντων&quot;, cHolidayType_Full)
+End Sub
+
+
+
+Sub FindWholeYearHolidays_SPAIN(ByVal YearInt as Integer)
+Dim lDate&amp;
+ CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Año Nuevo&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 1, 6), &quot;Reyes&quot;, cHolidayType_Full)
+ lDate = CalEasterTable(YearInt)
+ CalInsertBankholiday(lDate-2, &quot;Viernes Santo&quot;, cHolidayType_Full)
+ CalInsertBankholiday(lDate+1, &quot;Lunes de Pascua Florida&quot;, cHolidayType_Full)
+ CalInsertBankholiday(lDate+39, &quot;Día de la Ascensión&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 5, 1), &quot;Fiesta del Trabajo&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 8, 15), &quot;Día de la Asunción&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 10, 12), &quot;Fiesta de la Hispanidad&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 11, 1), &quot;Todos los Santos&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 12, 6), &quot;Día de la Constitución&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 12, 8), &quot;La Inmaculada&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;Navidad&quot;, cHolidayType_Full)
+End Sub
+
+
+Sub FindWholeYearHolidays_PORT(ByVal YearInt as Integer)
+Dim lDate&amp;
+ CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Ano Novo&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 1, 6), &quot;Reis Magos&quot;, cHolidayType_Half)
+ lDate = CalEasterTable(YearInt)
+ CalInsertBankholiday(lDate-47, &quot;Carnaval&quot;, cHolidayType_Full)
+ CalInsertBankholiday(lDate-7, &quot;Domingo de Ramos&quot;, cHolidayType_Half)
+ CalInsertBankholiday(lDate-2, &quot;Sexta-feira Santa&quot;, cHolidayType_Full)
+ CalInsertBankholiday(lDate, &quot;Páscoa&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 4, 25), &quot;25 de Abril&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 5, 1), &quot;Dia do Trabalhador&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 5, 29), &quot;Corpo de Deus&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 6, 10), &quot;Dia de Camões e das Comunidades Portuguesas&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 6, 24), &quot;S. João&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 6, 29), &quot;S. Pedro&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 8, 15), &quot;Assunção de Nossa Senhora&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 10, 5), &quot;Implantação da República&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 11, 1), &quot;Dia de Todos os Santos&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 12, 8), &quot;Imaculada Conceição&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;Natal&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 12, 1), &quot;Restauração da Independência&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 12, 31), &quot;Passagem de Ano&quot;, cHolidayType_Half)
+End Sub
+
+
+Sub FindWholeYearHolidays_NL(ByVal YearInt as Integer)
+Dim lDate&amp;
+ CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Nieuwjaarsdag&quot;, cHolidayType_Full)
+ lDate = CalEasterTable(YearInt)
+ CalInsertBankholiday(lDate, &quot;1e Paasdag&quot;, cHolidayType_Full)
+ CalInsertBankholiday(lDate + 1, &quot;2e Paasdag&quot;, cHolidayType_Full)
+ CalInsertBankholiday(lDate + 39, &quot;Hemelvaartsdag&quot;, cHolidayType_Full)
+ CalInsertBankholiday(lDate + 49, &quot;1e Pinksterdag&quot;, cHolidayType_Full)
+ CalInsertBankholiday(lDate + 50, &quot;2e Pinksterdag&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 4, 30), &quot;Koninginnedag&quot;, cHolidayType_Full)
+ &apos; Bevrijdingsdag is celebrated every 5th year
+ If YearInt Mod 5 = 0 then
+ CalInsertBankholiday(DateSerial(YearInt, 5, 5), &quot;Bevrijdingsdag&quot;, cHolidayType_Full)
+ End if
+ CalInsertBankholiday(DateSerial(YearInt, 12, 6), &quot;Sinterklaas&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;1e Kerstdag&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 12, 26), &quot;2e Kerstdag&quot;, cHolidayType_Full)
+End Sub
+
+
+Sub FindWholeYearHolidays_PL (ByVal YearInt as Integer)
+ Dim lDate&amp;, OsternDate&amp;
+ &apos; New Year
+ CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Nowy Rok&quot;, cHolidayType_Full)
+ &apos; &quot;the three Magi&quot;
+ CalInsertBankholiday(DateSerial(YearInt, 1, 6), &quot;Trzech Króli&quot;, cHolidayType_Half)
+ &apos; &quot;Womens&apos; Day&quot;
+ CalInsertBankholiday(DateSerial(YearInt, 3, 8), &quot;Dzień Kobiet&quot;, cHolidayType_Half)
+ OsternDate = CalEasterTable(YearInt)
+ CalInsertBankholiday(OsternDate-2, &quot;Wielki Piątek&quot;, cHolidayType_Full)
+ CalInsertBankholiday(OsternDate, &quot;Wielka Niedziela&quot;, cHolidayType_Full)
+ CalInsertBankholiday(OsternDate+1, &quot;Lany Poniedziałek&quot;, cHolidayType_Full)
+ &apos; Ascension Day
+ CalInsertBankholiday(OsternDate+39, &quot;Wniebowstąpienie&quot;, cHolidayType_Full)
+ &apos; Pentecost
+ CalInsertBankholiday(OsternDate+49, &quot;Zielone Świątki&quot;, cHolidayType_Full)
+ &apos; Feast of Corpus Christi
+ CalInsertBankholiday(OsternDate+60, &quot;Boże Ciało&quot;, cHolidayType_Full)
+ &apos; First of May
+ CalInsertBankholiday(DateSerial(YearInt, 5, 1), &quot;Święto pracy&quot;, cHolidayType_Full)
+ &apos; Memorial day of constitution
+ CalInsertBankholiday(DateSerial(YearInt, 5, 3), &quot;Dzień konstytucji 3-go maja&quot;, cHolidayType_Full)
+ &apos; &quot;Childrens&apos; day&quot;
+ CalInsertBankholiday(DateSerial(YearInt, 6, 1), &quot;Dzień Dziecka&quot;, cHolidayType_Half)
+ &apos; &quot;Ascension Day&quot;
+ CalInsertBankholiday(DateSerial(YearInt, 8, 15), &quot;Matki Boskiej Zielnej&quot;, cHolidayType_Half)
+ &apos; &quot;All Saints&apos; Day &quot;
+ CalInsertBankholiday(DateSerial(YearInt, 11, 1), &quot;Wszystkich Świętych&quot;, cHolidayType_Full)
+ &apos; National day&quot;
+ CalInsertBankholiday(DateSerial(YearInt, 11, 11), &quot;Dzień Niepodległości&quot;, cHolidayType_Full)
+ &apos; Christmas Eve
+ CalInsertBankholiday(DateSerial(YearInt, 12, 24), &quot;Wigilia&quot;, cHolidayType_Half)
+ &apos; Christmas
+ CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;Boże Narodzenie&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 12, 26), &quot;Boże Narodzenie&quot;, cHolidayType_Full)
+ &apos; &quot;New Year&apos;s eve&quot;
+ CalInsertBankholiday(DateSerial(YearInt, 12, 31), &quot;Sylwester&quot;, cHolidayType_Half)
+End Sub
+
+
+Sub FindWholeYearHolidays_RU (ByVal YearInt as Integer)
+Dim lDate&amp;
+ &apos; New Year
+ CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Новый Год&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 1, 2), &quot;Новый Год&quot;, cHolidayType_Full)
+ &apos; Russian Christmas&quot;
+ CalInsertBankholiday(DateSerial(YearInt, 1, 7), &quot;Рождество&quot;, cHolidayType_Full)
+ &apos;Day of Defender of Motherland
+ CalInsertBankholiday(DateSerial(YearInt, 2, 23), &quot;День Защитника Отечества&quot;, cHolidayType_Full)
+ &apos; Woman Day
+ CalInsertBankholiday(DateSerial(YearInt, 3, 8), &quot;Международный Женский День&quot;, cHolidayType_Full)
+ &apos; Spring and labor holiday
+ CalInsertBankholiday(DateSerial(YearInt, 5, 1), &quot;Праздник Весны и Труда&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 5, 2), &quot;Праздник Весны и Труда&quot;, cHolidayType_Full)
+ &apos; Victory of the second World War
+ CalInsertBankholiday(DateSerial(YearInt, 5, 9), &quot;День Победы&quot;, cHolidayType_Full)
+ &apos; Independence Day
+ CalInsertBankholiday(DateSerial(YearInt, 6, 12), &quot;День Независимости&quot;, cHolidayType_Full)
+ &apos; Day of Accord and Conciliation
+ CalInsertBankholiday(DateSerial(YearInt, 11, 7), &quot;День Согласия и Примирения&quot;, cHolidayType_Full)
+ &apos; Constitution Day
+ CalInsertBankholiday(DateSerial(YearInt, 12, 12), &quot;День Конституции&quot;, cHolidayType_Full)
+End Sub
+
+
+Sub FindWholeYearHolidays_US(ByVal YearInt as Integer)
+Dim lDate as Long
+Dim lFirstNov as Long
+Dim lElectDate as Long
+ CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;New Year&apos;s Day&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 2, 2), &quot;Groundhog Day&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 2, 14), &quot;Valentine&apos;s Day&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 3, 17), &quot;St Patrick&apos;s Day&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 4, 1), &quot;April Fools&apos; Day&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 4, 22), &quot;Earth Day&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 5, 6), &quot;Nurses&apos; Day&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 6, 14), &quot;Flag Day&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 6, 14), &quot;Army Day&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 6, 19), &quot;Juneteenth(Liberation of Slaves)&quot;, cHolidayType_Half)
+
+ CalInsertBankholiday(DateSerial(YearInt, 7, 4), &quot;Independence Day&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 8, 1), &quot;Air Force Day&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 8, 4), &quot;Coast Guard Day&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 9, 17), &quot;Citizenship Day or Constitution Day&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 10, 16), &quot;Bosses&apos; Day&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 10, 26 ), &quot;Mother-in-Law&apos;s Day&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 10, 27), &quot;Navy Day&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 10, 31), &quot;Halloween&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 11, 10), &quot;Marine Corps Day&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 11, 11), &quot;Veteran&apos;s Day&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 12, 7), &quot;Pearl Harbor Remembrance Day&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 12, 24), &quot;Christmas Eve&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;Christmas Day&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 12, 31), &quot;New Year&apos;s Eve&quot;, cHolidayType_Half)
+
+ CalInsertBankholiday(CalEasterTable(YearInt), &quot;Easter Sunday&quot;, cHolidayType_Half)
+
+ &apos; Inauguration Day occurs every 4 years (1997, 2001) in the year following the presidential election
+ &apos; always on the 20th of January unless this is a Sunday in which case on Monday 21st January
+ If YearInt Mod 4 = 1 Then
+ lDate = DateSerial(YearInt, 1, 20)
+ If WeekDay(lDate) = 1 Then
+ CalInsertBankholiday(lDate + 1, &quot;Inauguration Day&quot;, cHolidayType_Half)
+ Else
+ CalInsertBankholiday(lDate, &quot;Inauguration Day&quot;, cHolidayType_Half)
+ End If
+ End If
+ &apos; First Tuesday in November, but only after the 1st of November and only on evenly numbered years
+ If YearInt Mod 2 = 0 Then
+ lFirstNov = DateSerial(YearInt, 11, 1)
+ lElectDate = GetMonthDate(YearInt, 11, 3, 0)
+ If lElectDate &gt; lFirstNov Then
+ CalInsertBankholiday(lElectDate, &quot;Election Day&quot;, cHolidayType_Half)
+ Else
+ CalInsertBankholiday(lElectDate + 7, &quot;Election Day&quot;, cHolidayType_Half)
+ End If
+ End If
+ CalInsertBankholiday(GetMonthDate(YearInt, 1, 2, 14), &quot;Martin Luther King Jr Day&quot;, cHolidayType_Full)
+ CalInsertBankholiday(GetMonthDate(YearInt, 2, 2, 14), &quot;President&apos;s Day&quot;, cHolidayType_Full)
+ &apos; Mothers Day : 2nd Sunday in May, Full
+ CalInsertBankholiday(GetMonthDate(YearInt, 5,1,7), &quot;Mother&apos;s Day&quot;, cHolidayType_Full)
+
+ &apos; Wednesday of the last full week of April Administrative Professionals&apos; Day (formerly Secretaries&apos; Day)
+ CalInsertBankholiday(GetMonthDate(YearInt, 5, 7, -7)-3, &quot;Administrative Professionals&apos; Day&quot;, cHolidayType_Half)
+
+ CalInsertBankholiday(GetMonthDate(YearInt, 5, 5, 0), &quot;National Day of Prayer&quot;, cHolidayType_Half)
+ CalInsertBankholiday(GetMonthDate(YearInt, 5, 7, 14), &quot;Armed Forces Day&quot;, cHolidayType_Half)
+ &apos; Fathers Day : 3rd Sunday in June
+ CalInsertBankholiday(GetMonthDate(YearInt, 6,1,14), &quot;Father&apos;s Day&quot;, cHolidayType_Half)
+
+ &apos; Last Monday in May: Menorial Day, Full
+ CalInsertBankholiday(GetMonthDate(YearInt, 6, 2, 0)-7, &quot;Memorial Day&quot;, cHolidayType_Full)
+ CalInsertBankholiday(GetMonthDate(YearInt, 7, 1, 21), &quot;Parents&apos; Day&quot;, cHolidayType_Half)
+ CalInsertBankholiday(GetMonthDate(YearInt, 8, 1, 0), &quot;Friendship Day&quot;, cHolidayType_Half)
+
+ &apos; 1st Monday in Sep : Labor Day, Full
+ CalInsertBankholiday(GetMonthDate(YearInt, 9, 2, 0), &quot;Labor Day&quot;, cHolidayType_Full)
+ &apos; Sunday after Labor Day Grandparents&apos; Day
+ CalInsertBankholiday(GetMonthDate(YearInt, 9, 2, 0)+6, &quot;Grandparents&apos; Day&quot;, cHolidayType_Half)
+
+ CalInsertBankholiday(GetMonthDate(YearInt, 10, 1, 0), &quot;National Children&apos;s Day&quot;, cHolidayType_Half)
+ CalInsertBankholiday(GetMonthDate(YearInt, 10, 2, 7), &quot;Columbus Day&quot;, cHolidayType_Full)
+ &apos; Sweetest Day: Third Saturday in October
+ CalInsertBankholiday(GetMonthDate(YearInt, 10, 7, 14), &quot;Sweetest Day&quot;, cHolidayType_Half)
+ &apos; 4th Thu in Nov : Thanksgiving, Full
+ CalInsertBankholiday(GetMonthDate(YearInt, 11, 5, 21), &quot;Thanksgiving&quot;, cHolidayType_Full)
+End Sub
+
+
+Sub FindWholeYearHolidays_JP(ByVal YearInt as Integer)
+Dim lDate&amp;
+ CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;元日&quot;, cHolidayType_Full)
+ &apos; 2nd Monday in January
+ CalInsertBankholiday(GetMonthDate(YearInt, 1, 2, 7), &quot;成人の日&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 2, 11), &quot;建国記念の日&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 3, 20), &quot;春分の日&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 4, 29), &quot;みどりの日&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 5, 3), &quot;憲法記念日&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 5, 4), &quot;国民の休日&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 5, 5), &quot;こどもの日&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 9, 23), &quot;秋分の日&quot;, cHolidayType_Full)
+ CalInsertBankholiday(GetMonthDate(YearInt, 10, 2, 7), &quot;体育の日&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 11, 3), &quot;文化の日&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 11, 23), &quot;勤労感謝の日&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 12, 23), &quot;天皇誕生日&quot;, cHolidayType_Full)
+ If YearInt &gt; 2002 Then
+ CalInsertBankholiday(GetMonthDate(YearInt, 7, 2, 14), &quot;海の日&quot;, cHolidayType_Full)
+ CalInsertBankholiday(GetMonthDate(YearInt, 9, 2, 14), &quot;敬老の日&quot;, cHolidayType_Full)
+ Else
+ CalInsertBankholiday(DateSerial(YearInt, 7, 20), &quot;海の日&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 9, 15), &quot;敬老の日&quot;, cHolidayType_Full)
+ End If
+End Sub
+
+
+Sub FindWholeYearHolidays_TW(YearInt as Integer)
+ CalculateChineseNewYear(YearInt)
+ CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;元旦&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 2, 28), &quot;和平紀念日&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 3, 8), &quot;婦女節&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 3, 29), &quot;革命先烈紀念日(青年節)&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 4, 4), &quot;兒童節&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 4, 5), &quot;民族掃墓節&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 5, 1), &quot;勞動節&quot;, cHolidayType_Full)
+ CalInsertBankholiday(GetNextWeekDay(YearInt, 5, 19, 2), &quot;佛陀誕辰紀念日&quot;, cHolidayType_Full) &apos; Just like Columbus Day
+ CalInsertBankholiday(DateSerial(YearInt, 6, 15), &quot;端午節&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 9, 3), &quot;軍人節&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 9, 21), &quot;中秋節&quot;, cHolidayType_Full)
+ CalInsertBankholiday(GetNextWeekDay(YearInt, 9, 28, 2), &quot;孔子誕辰紀念日(教師節)&quot;, cHolidayType_Full) &apos; Just like Columnbusday
+ CalInsertBankholiday(DateSerial(YearInt, 10, 10), &quot;國慶日&quot;, cHolidayType_Full)
+ CalInsertBankholiday(DateSerial(YearInt, 10, 25), &quot;臺灣光復節&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 10, 31), &quot;先總統 蔣公誕辰紀念日&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 12, 11), &quot;國父誕辰紀念日(中華文化復興節)&quot;, cHolidayType_Half)
+ CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;行憲紀念日&quot;, cHolidayType_Half)
+End Sub
+
+
+Sub FindWholeYearHolidays_CN(YearInt as Integer)
+ CalculateChineseNewYear(YearInt)
+ CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;元旦&quot;, cHolidayType_Full) &apos; New Year
+ CalInsertBankholiday(DateSerial(YearInt, 3, 8), &quot;妇女节&quot;, cHolidayType_Half) &apos; Women&apos;s Day
+ CalInsertBankholiday(DateSerial(YearInt, 4, 5), &quot;清明节&quot;, cHolidayType_Half) &apos; Day of the deads
+ CalInsertBankholiday(DateSerial(YearInt, 5, 1), &quot;劳动节&quot;, cHolidayType_Full) &apos; International Labour Day
+ CalInsertBankholiday(DateSerial(YearInt, 6, 1), &quot;儿童节&quot;, cHolidayType_Half) &apos; Children&apos;s Day
+ CalInsertBankholiday(DateSerial(YearInt, 8, 1), &quot;建军节&quot;, cHolidayType_Half) &apos; Foundation of military
+ CalInsertBankholiday(DateSerial(YearInt, 10, 1), &quot;国庆节&quot;, cHolidayType_Full) &apos; National festival day
+End Sub
+
+
+&apos; Unfortunately I could not find a Routine to convert a &apos;Moon Date&apos; into a gregorian date
+Sub CalculateChineseNewYear(iSelYear as Integer)
+Dim lDate as Long
+ Select Case iSelYear
+ Case 1995
+ lDate = DateSerial(iSelYear, 1, 31)
+ Case 1996
+ lDate = DateSerial(iSelYear, 2, 19)
+ Case 1997
+ lDate = DateSerial(iSelYear, 2, 7)
+ Case 1998
+ lDate = DateSerial(iSelYear, 1, 28)
+ Case 1999
+ lDate = DateSerial(iSelYear,2, 16)
+ Case 2000
+ lDate = DateSerial(iSelYear,2, 5)
+ Case 2001
+ lDate = DateSerial(iSelYear, 1, 24)
+ Case 2002
+ lDate = DateSerial(iSelYear,2, 12)
+ Case 2003
+ lDate = DateSerial(iSelYear,2, 1)
+ Case 2004
+ lDate = DateSerial(iSelYear, 1, 22)
+ Case 2005
+ lDate = DateSerial(iSelYear,2, 9)
+ Case 2006
+ lDate = DateSerial(iSelYear, 1, 29)
+ Case 2007
+ lDate = DateSerial(iSelYear,2, 18)
+ Case 2008
+ lDate = DateSerial(iSelYear,2, 7)
+ Case 2009
+ lDate = DateSerial(iSelYear, 1, 26)
+ Case 2010
+ lDate = DateSerial(iSelYear,2, 10)
+ Case 2011
+ lDate = DateSerial(iSelYear,2, 3)
+ Case 2012
+ lDate = DateSerial(iSelYear, 1, 23)
+ Case 2013
+ lDate = DateSerial(iSelYear,2, 10)
+ Case 2014
+ lDate = DateSerial(iSelYear, 1, 31)
+ Case 2015
+ lDate = DateSerial(iSelYear,2, 19)
+ Case 2016
+ lDate = DateSerial(iSelYear,2, 9)
+ Case 2017
+ lDate = DateSerial(iSelYear, 1, 28)
+ Case 2018
+ lDate = DateSerial(iSelYear,2, 16)
+ Case 2019
+ lDate = DateSerial(iSelYear,2, 5)
+ Case 2020
+ lDate = DateSerial(iSelYear, 1, 25)
+ Case Else
+ Exit Sub
+ End Select
+ Select Case sCurCountryLocale
+ Case &quot;CN&quot;
+ CalInsertBankholiday(lDate-1, &quot;农历除夕&quot;, cHolidayType_Full)
+ CalInsertBankholiday(lDate, &quot;春节初一&quot;, cHolidayType_Full)
+ CalInsertBankholiday(lDate+1, &quot;春节初二&quot;, cHolidayType_Full)
+ CalInsertBankholiday(lDate+2, &quot;春节初三&quot;, cHolidayType_Full)
+
+ Case Else
+ CalInsertBankholiday(lDate-1, &quot;農曆除夕&quot;, cHolidayType_Full)
+ CalInsertBankholiday(lDate, &quot;春節初一&quot;, cHolidayType_Full)
+ CalInsertBankholiday(lDate+1, &quot;春節初二&quot;, cHolidayType_Full)
+ CalInsertBankholiday(lDate+2, &quot;春節初三&quot;, cHolidayType_Full)
+ End Select
+End Sub
+
+
+Function CalculateJapaneseSpringDay(iSelYear as Integer)
+ If (iSelYear &gt; 1979) And (iSelYear &lt; 2100) Then
+ CalculateJapaneseSpringDay() = Int(20.8431 + 0.242194)* (iSelYear-1980) - (Int((iSelYear-1980)/4))
+ End If
+End Function
+
+
+Function CalculateJapaneseAutumnDay(iSelYear as Integer)
+ If (iSelYear &gt; 1979) And (iSelYear &lt; 2100) Then
+ CalculateJapaneseAutumnDay() = Int(23.8431 + 0.242194)* (iSelYear-1980) - (Int((iSelYear-1980)/4))
+ End If
+End Function</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Schedule/OwnEvents.xba b/test/user-template/user/basic/Schedule/OwnEvents.xba
new file mode 100644
index 000000000000..f141c2ab0efe
--- /dev/null
+++ b/test/user-template/user/basic/Schedule/OwnEvents.xba
@@ -0,0 +1,217 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="OwnEvents" script:language="StarBasic">Option Explicit
+
+Public Const SBDATEUNDEFINED as Double = -98765432.1
+
+Sub Main
+ Call CalAutopilotTable()
+End Sub
+
+
+Sub CalSaveOwnData()
+Dim FileName as String
+Dim FileChannel as Integer
+Dim i as Integer
+ If bCalOwnDataChanged Then
+ FileName = GetPathSettings(&quot;UserConfig&quot;, False) &amp; &quot;/&quot; &amp; &quot;DATE.DAT&quot;
+ SaveDataToFile(FileName, DlgCalModel.lstOwnData.StringItemList())
+ End If
+End Sub
+
+
+Sub CalLoadOwnData()
+Dim FileName as String
+Dim LocList() as String
+ FileName = GetPathSettings(&quot;UserConfig&quot;, False) &amp; &quot;/DATE.DAT&quot;
+ If LoadDataFromFile(FileName, LocList()) Then
+ DlgCalModel.lstOwnData.StringItemList() = LocList()
+ End If
+End Sub
+
+
+Function CalCreateDateStrOfInput() as String
+Dim DateStr as String
+Dim CurOwnMonth as Integer
+Dim CurOwnDay as Integer
+Dim FormatDateStr as String
+Dim dblDate as Double
+Dim iLen as Integer
+Dim iDiff as Integer
+Dim i as Integer
+ CurOwnDay = DlgCalModel.txtOwnEventDay.Value
+ CurOwnMonth = DlgCalendar.GetControl(&quot;lstOwnEventMonth&quot;).getselectedItemPos() + 1
+ DateStr = DateSerial(0, CurOwnMonth, CurOwnDay)
+ dblDate = CDbl(DateValue(DateStr))
+ FormatDateStr = oNumberFormatter.convertNumberToString(lDateFormat, dblDate)
+ iLen = Len(FormatDateStr)
+ iDiff = 16 - iLen
+ If iDiff &gt; 0 Then
+ For i = 0 To iDiff
+ FormatDateStr = FormatDateStr + &quot; &quot;
+ Next i
+ Else
+ MsgBox(&quot;Invalid DateFormat: &apos;FormatDateStr&apos;&quot;, 16, sWizardTitle)
+ CalCreateDateStrOfInput = &quot;&quot;
+ Exit Function
+ End If
+ DateStr = FormatDateStr &amp; Trim(DlgCalModel.txtEvent.Text)
+ CalCreateDateStrOfInput = DateStr
+End Function
+
+
+
+Sub CalcmdInsertData()
+Dim MaxIndex as Integer
+Dim UIDateStr as String
+Dim DateStr as String
+Dim NewDate as Double
+Dim bInserted as Boolean
+Dim i as Integer
+Dim CurOwnDay as Integer
+Dim CurOwnMonth as Integer
+Dim CurOwnYear as Integer
+ CurOwnDay = DlgCalModel.txtOwnEventDay.Value
+ CurOwnMonth = DlgCalendar.GetControl(&quot;lstOwnEventMonth&quot;).getSelectedItemPos() + 1
+ UIDateStr = CalCreateDateStrOfInput()
+ NewDate = GetDateUnits(CurOwnDay, CurOwnMonth, UIDateStr)
+ If UIDateStr = &quot;&quot; Then Exit Sub
+ MaxIndex = Ubound(DlgCalModel.lstOwnData.StringItemList())
+ If MaxIndex = -1 Then
+ DlgCalendar.GetControl(&quot;lstOwnData&quot;).AddItem(UIDateStr, 0 + 1)
+ bInserted = True
+ Else
+ Dim CurEvMonth(MaxIndex) as Integer
+ Dim CurEvDay(MaxIndex) as Integer
+ Dim CurDate(MaxIndex) as Double
+ &apos; same Years(&quot;no years&quot; are treated like same years) -&gt; delete old entry and insert new one
+ i = 0
+ Do
+ CurDate(i) = GetSelectedDateUnits(CurEvDay(i), CurEvMonth(i), i)
+ If CurDate(i) = NewDate Then
+ DlgCalendar.GetControl(&quot;lstOwnData&quot;).RemoveItems(i,1)
+ DlgCalendar.GetControl(&quot;lstOwnData&quot;).AddItem(UIDateStr, i)
+ bInserted = True
+ End If
+ i = i + 1
+ Loop Until bInserted Or i &gt; MaxIndex
+
+ &apos; There exists already a date
+ If Not bInserted Then
+ i = 0
+ Do
+ If (CurEvMonth(i) = CurOwnMonth) And (CurEvDay(i) = CurOwnDay) Then
+ bInserted = True
+ DlgCalendar.GetControl(&quot;lstOwnData&quot;).RemoveItems(i,1)
+ DlgCalendar.GetControl(&quot;lstOwnData&quot;).AddItem(UIDateStr, i)
+ End If
+ i = i + 1
+ Loop Until bInserted Or i &gt; MaxIndex
+ End If
+
+ &apos; The date is not yet existing and will will be sorted in accordingly
+ If Not bInserted Then
+ i = 0
+ Do
+ bInserted = NewDate &lt; CurDate(i)
+ If bInserted Then
+ DlgCalendar.GetControl(&quot;lstOwnData&quot;).AddItem(UIDateStr, i)
+ End If
+ i = i + 1
+ Loop Until bInserted Or i &gt; MaxIndex
+ If Not bInserted Then
+ DlgCalendar.GetControl(&quot;lstOwnData&quot;).AddItem(UIDateStr, MaxIndex+1)
+ End If
+ End If
+ End If
+ bCalOwnDataChanged = True
+ Call CalClearInputMask()
+End Sub
+
+
+Function GetSelectedDateUnits(CurEvDay as Integer, CurEvMonth as Integer, i as Integer) as Double
+Dim dblDate as Double
+Dim DateStr as String
+ dblDate = SBDATEUNDEFINED
+ DateStr = DlgCalModel.lstOwnData.StringItemList(i)
+ If DateStr &lt;&gt; &quot;&quot; Then
+ dblDate = GetDateUnits(CurEvDay, CurEvMonth, DateStr)
+ End If
+ GetSelectedDateUnits() = dblDate
+End Function
+
+
+Function GetDateUnits(CurEvDay as Integer, CurEvMonth as Integer, DateStr) as Double
+Dim bEventOnce as String
+Dim LocDateStr as String
+Dim dblDate as Double
+Dim lDate as Long
+ LocDateStr = Mid(DateStr, 1, 15)
+ LocDateStr = Trim(LocDateStr)
+
+ bEventOnce = True
+ On Local Error Goto NODATEFORMAT
+ dblDate = oNumberFormatter.convertStringToNumber(lDateFormat, LocDateStr)
+ lDate = Clng(dblDate)
+ CurEvMonth = Month(lDate)
+ CurEvDay = Day(lDate)
+ GetDateUnits() = dblDate
+ Exit Function
+ GetDateUnits() =SBDATEUNDEFINED
+NODATEFORMAT:
+ If Err &lt;&gt; 0 Then
+ MsgBox(&quot;Error: Date : &apos; &quot; &amp; LocDateStr &amp; &quot;&apos; is not a valid Format&quot;, 16, sWizardTitle)
+ Resume GETRETURNVALUE
+GETRETURNVALUE:
+ GetDateUnits() = SBDATEUNDEFINED
+ End If
+End Function
+
+
+Function CalGetNameOfEvent(ByVal ListIndex as Integer) as String
+Dim NameStr as String
+ NameStr = DlgCalModel.lstOwnData.StringItemList(ListIndex)
+ NameStr = Trim (Mid(NameStr, 16))
+ CalGetNameOfEvent = NameStr
+End Function
+
+
+
+Sub CheckInsertedDates(Optional ControlEnvironment, Optional CurOwnMonth as Integer)
+Dim EvYear as Long
+Dim EvDay as Long
+Dim sEvMonth as String
+Dim bDoEnable as Boolean
+Dim ListboxName as String
+Dim MaxValue as Integer
+ If Not IsMissing(ControlEnvironment) Then
+ CurOwnMonth = DlgCalendar.GetControl(&quot;lstOwnEventMonth&quot;).getSelectedItemPos()+1
+ End If
+ EvYear = Year(Now())
+ bDoEnable = CurOwnMonth &lt;&gt; 0
+ If bDoEnable Then
+ MaxValue = CalMaxDayInMonth(EvYear, CurOwnMonth)
+ DlgCalModel.txtOwnEventDay.ValueMax = MaxValue
+ If DlgCalModel.txtOwnEventDay.Value &gt; MaxValue Then
+ DlgCalModel.txtOwnEventDay.Value = MaxValue
+ End If
+ bDoEnable = DlgCalModel.txtOwnEventDay.Value &lt;&gt; 0
+ If bDoEnable Then
+ bDoEnable = Ubound(DlgCalModel.lstOwnEventMonth.SelectedItems()) &gt; -1
+ If bDoEnable Then
+ bDoEnable = LTrim(DlgCalModel.txtEvent.Text) &lt;&gt; &quot;&quot;
+ End If
+ End If
+ End If
+ DlgCalModel.cmdInsert.Enabled = bDoEnable
+End Sub
+
+
+Sub GetOwnMonth()
+Dim EvYear as Integer
+Dim CurOwnMonth as Integer
+ EvYear = year(now())
+ CurOwnMonth = DlgCalModel.lstOwnEventMonth.SelectedItems(0) + 1
+ DlgCalModel.txtOwnEventDay.ValueMax = CalMaxDayInMonth(EvYear, CurOwnMonth)
+ CheckInsertedDates(,CurOwnMonth)
+End Sub</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Schedule/dialog.xlb b/test/user-template/user/basic/Schedule/dialog.xlb
new file mode 100644
index 000000000000..b1afde681e7e
--- /dev/null
+++ b/test/user-template/user/basic/Schedule/dialog.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="Schedule" library:readonly="true" library:passwordprotected="false">
+ <library:element library:name="DlgCalendar"/>
+</library:library>
diff --git a/test/user-template/user/basic/Schedule/script.xlb b/test/user-template/user/basic/Schedule/script.xlb
new file mode 100644
index 000000000000..96dd8da57fc1
--- /dev/null
+++ b/test/user-template/user/basic/Schedule/script.xlb
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="Schedule" library:readonly="true" library:passwordprotected="false">
+ <library:element library:name="OwnEvents"/>
+ <library:element library:name="CalendarMain"/>
+ <library:element library:name="BankHoliday"/>
+ <library:element library:name="DlgControl"/>
+ <library:element library:name="Language"/>
+ <library:element library:name="CreateTable"/>
+ <library:element library:name="GermanHolidays"/>
+ <library:element library:name="LocalHolidays"/>
+</library:library>
diff --git a/test/user-template/user/basic/ScriptBindingLibrary/Highlight.xdl b/test/user-template/user/basic/ScriptBindingLibrary/Highlight.xdl
new file mode 100644
index 000000000000..2d65de42283e
--- /dev/null
+++ b/test/user-template/user/basic/ScriptBindingLibrary/Highlight.xdl
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE dlg:window PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "dialog.dtd">
+<dlg:window xmlns:dlg="http://openoffice.org/2000/dialog" xmlns:script="http://openoffice.org/2000/script" dlg:id="Highlight" dlg:left="68" dlg:top="23" dlg:width="135" dlg:height="48" dlg:closeable="true" dlg:moveable="true">
+ <dlg:bulletinboard>
+ <dlg:text dlg:id="Label1" dlg:tab-index="2" dlg:left="3" dlg:top="8" dlg:width="33" dlg:height="9" dlg:value="Find What:"/>
+ <dlg:textfield dlg:id="HighlightTextField" dlg:tab-index="3" dlg:left="39" dlg:top="6" dlg:width="93" dlg:height="12"/>
+ <dlg:button dlg:id="HighlightButton" dlg:tab-index="0" dlg:left="20" dlg:top="24" dlg:width="46" dlg:height="18" dlg:value="Highlight">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Highlight.ButtonPressHandler.bsh?language=BeanShell&amp;location=share" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="ExitButton" dlg:tab-index="1" dlg:left="72" dlg:top="24" dlg:width="46" dlg:height="18" dlg:value="Exit">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Highlight.ButtonPressHandler.bsh?language=BeanShell&amp;location=share" script:language="Script"/>
+ </dlg:button>
+ </dlg:bulletinboard>
+</dlg:window>
diff --git a/test/user-template/user/basic/ScriptBindingLibrary/dialog.xlb b/test/user-template/user/basic/ScriptBindingLibrary/dialog.xlb
new file mode 100644
index 000000000000..1445c98b8cab
--- /dev/null
+++ b/test/user-template/user/basic/ScriptBindingLibrary/dialog.xlb
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ScriptBindingLibrary" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="Highlight"/>
+ <library:element library:name="MacroEditor"/>
+</library:library>
diff --git a/test/user-template/user/basic/ScriptBindingLibrary/script.xlb b/test/user-template/user/basic/ScriptBindingLibrary/script.xlb
new file mode 100644
index 000000000000..33eb114b5b64
--- /dev/null
+++ b/test/user-template/user/basic/ScriptBindingLibrary/script.xlb
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ScriptBindingLibrary" library:readonly="false" library:passwordprotected="false">
+</library:library>
diff --git a/test/user-template/user/basic/Template/Autotext.xba b/test/user-template/user/basic/Template/Autotext.xba
new file mode 100644
index 000000000000..27a7bca1290e
--- /dev/null
+++ b/test/user-template/user/basic/Template/Autotext.xba
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Autotext" script:language="StarBasic">Option Explicit
+
+Public UserfieldDataType(14) as String
+Public oDocAuto as Object
+Public BulletList(7) as Integer
+Public sTextFieldNotDefined as String
+Public sGeneralError as String
+
+
+Sub Main()
+ Dim oCursor as Object
+ Dim oStyles as Object
+ Dim oSearchDesc as Object
+ Dim oFoundall as Object
+ Dim oFound as Object
+ Dim i as Integer
+ Dim sFoundString as String
+ Dim sFoundContent as String
+ Dim FieldStringThere as String
+ Dim ULStringThere as String
+ Dim PHStringThere as String
+ On Local Error Goto GENERALERROR
+ &apos; Initialization...
+ BasicLibraries.LoadLibrary(&quot;Tools&quot;)
+ If InitResources(&quot;&apos;Template&apos;&quot;, &quot;tpl&quot;) Then
+ sGeneralError = GetResText(1302)
+ sTextFieldNotDefined = GetResText(1400)
+ End If
+
+ UserfieldDatatype(0) = &quot;COMPANY&quot;
+ UserfieldDatatype(1) = &quot;FIRSTNAME&quot;
+ UserfieldDatatype(2) = &quot;NAME&quot;
+ UserfieldDatatype(3) = &quot;SHORTCUT&quot;
+ UserfieldDatatype(4) = &quot;STREET&quot;
+ UserfieldDatatype(5) = &quot;COUNTRY&quot;
+ UserfieldDatatype(6) = &quot;ZIP&quot;
+ UserfieldDatatype(7) = &quot;CITY&quot;
+ UserfieldDatatype(8) = &quot;TITLE&quot;
+ UserfieldDatatype(9) = &quot;POSITION&quot;
+ UserfieldDatatype(10) = &quot;PHONE_PRIVATE&quot;
+ UserfieldDatatype(11) = &quot;PHONE_COMPANY&quot;
+ UserfieldDatatype(12) = &quot;FAX&quot;
+ UserfieldDatatype(13) = &quot;EMAIL&quot;
+ UserfieldDatatype(14) = &quot;STATE&quot;
+ BulletList(0) = 149
+ BulletList(1) = 34
+ BulletList(2) = 65
+ BulletList(3) = 61
+ BulletList(4) = 49
+ BulletList(5) = 47
+ BulletList(6) = 79
+ BulletList(7) = 58
+
+ oDocAuto = ThisComponent
+ oStyles = oDocAuto.Stylefamilies.GetByName(&quot;NumberingStyles&quot;)
+
+ &apos; Prepare the Search-Descriptor
+ oSearchDesc = oDocAuto.createsearchDescriptor()
+ oSearchDesc.SearchRegularExpression = True
+ oSearchDesc.SearchWords = True
+ oSearchDesc.SearchString = &quot;&lt;[^&gt;]+&gt;&quot;
+ oFoundall = oDocAuto.FindAll(oSearchDesc)
+
+ &apos;Loop over the foundings
+ For i = 0 To oFoundAll.Count - 1
+ oFound = oFoundAll.GetByIndex(i)
+ sFoundString = oFound.String
+ &apos;Extract the string inside the brackets
+ sFoundContent = FindPartString(sFoundString,&quot;&lt;&quot;,&quot;&gt;&quot;,1)
+ sFoundContent = LTrim(sFoundContent)
+
+ &apos; Define the Cursor and place it on the founding
+ oCursor = oFound.Text.CreateTextCursorbyRange(oFound)
+
+ &apos; Find out, which object is to be created...
+ FieldStringThere = Instr(1,sFoundContent,&quot;Field&quot;)
+ ULStringThere = Instr(1,sFoundContent,&quot;UL&quot;)
+ PHStringThere = Instr(1,sFoundContent,&quot;Placeholder&quot;)
+ If FieldStringThere = 1 Then
+ CreateUserDatafield(oCursor, sFoundContent)
+ ElseIf ULStringThere = 1 Then
+ CreateBullet(oCursor, oStyles)
+ ElseIf PHStringThere = 1 Then
+ CreatePlaceholder(oCursor, sFoundContent)
+ End If
+ Next i
+
+ GENERALERROR:
+ If Err &lt;&gt; 0 Then
+ Msgbox(sGeneralError,16, GetProductName())
+ Resume LETSGO
+ End If
+ LETSGO:
+End Sub
+
+
+&apos; creates a User - datafield out of a string with the following structure
+&apos; &quot;&lt;field:Company&gt;&quot;
+Sub CreateUserDatafield(oCursor, sFoundContent as String)
+ Dim MaxIndex as Integer
+ Dim sFoundList(3)
+ Dim oUserfield as Object
+ Dim UserInfo as String
+ Dim UserIndex as Integer
+
+ oUserfield = oDocAuto.CreateInstance(&quot;com.sun.star.text.TextField.ExtendedUser&quot;)
+ sFoundList() = ArrayoutofString(sFoundContent,&quot;:&quot;,MaxIndex)
+ UserInfo = UCase(LTrim(sFoundList(1)))
+ UserIndex = IndexinArray(UserInfo, UserfieldDatatype())
+ If UserIndex &lt;&gt; -1 Then
+ oUserField.UserDatatype = UserIndex
+ oCursor.Text.InsertTextContent(oCursor,oUserField,True)
+ oUserField.IsFixed = True
+ Else
+ Msgbox(UserInfo &amp;&quot;: &quot; &amp; sTextFieldNotDefined,16, GetProductName())
+ End If
+End Sub
+
+
+&apos; Creates a Bullet by setting a soft Formatation on the first unsorted List-Templates with a defined
+&apos; Bullet Id
+Sub CreateBullet(oCursor, oStyles as Object)
+ Dim n, m, s as Integer
+ Dim StyleSet as Boolean
+ Dim ostyle as Object
+ Dim StyleName as String
+ Dim alevel()
+ StyleSet = False
+ For s = 0 To Ubound(BulletList())
+ For n = 0 To oStyles.Count - 1
+ ostyle = oStyles.getbyindex(n)
+ StyleName = oStyle.Name
+ alevel() = ostyle.NumberingRules.getbyindex(0)
+ &apos; The properties of the style are stored in a Name-Value-Array()
+ For m = 0 to Ubound(alevel())
+ &apos; Set the first Numbering template without a bulletID
+ If (aLevel(m).Name = &quot;BulletId&quot;) Then
+ If alevel(m).Value = BulletList(s) Then
+ oCursor.NumberingStyle = StyleName
+ oCursor.SetString(&quot;&quot;)
+ exit Sub
+ End if
+ End If
+ Next m
+ Next n
+ Next s
+ If Not StyleSet Then
+ &apos; The Template with the demanded BulletID is not available, so take the first style in the sequence
+ &apos; that has a defined Bullet ID
+ oCursor.NumberingStyleName = oStyles.GetByIndex(5).Name
+ oCursor.SetString(&quot;&quot;)
+ End If
+End Sub
+
+
+&apos; Creates a placeholder out of a string with the following structure:
+&apos;&lt;placeholder:Showtext:Helptext&gt;
+Sub CreatePlaceholder(oCursor as Object, sFoundContent as String)
+ Dim oPlaceholder as Object
+ Dim MaxIndex as Integer
+ Dim sFoundList(3)
+ oPlaceholder = oDocAuto.CreateInstance(&quot;com.sun.star.text.TextField.JumpEdit&quot;)
+ sFoundList() = ArrayoutofString(sFoundContent, &quot;:&quot; &amp; chr(34),MaxIndex)
+ &apos; Delete The Double-quotes
+ oPlaceholder.Hint = DeleteStr(sFoundList(2),chr(34))
+ oPlaceholder.placeholder = DeleteStr(sFoundList(1),chr(34))
+ oCursor.Text.InsertTextContent(oCursor,oPlaceholder,True)
+End Sub
+
+
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Template/Correspondence.xba b/test/user-template/user/basic/Template/Correspondence.xba
new file mode 100644
index 000000000000..03c7ef77fbe8
--- /dev/null
+++ b/test/user-template/user/basic/Template/Correspondence.xba
@@ -0,0 +1,286 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Correspondence" script:language="StarBasic">Option Explicit
+
+Public msgNoTextmark$, msgError$
+Public sAddressbook$
+Public Table
+Public sCompany$, sFirstName$, sLastName$, sStreet$, sPostalCode$, sCity$, sState$, sInitials$, sPosition$
+Public DialogExited
+Public oDocument, oText, oBookMarks, oBookMark, oBookMarkCursor, oBookText as Object
+Public bTemplate, bDBFields as Boolean
+
+Sub Main
+ bTemplate = true
+ BasicLibraries.LoadLibrary(&quot;Tools&quot;)
+ TemplateDialog = LoadDialog(&quot;Template&quot;, &quot;TemplateDialog&quot;)
+ DialogModel = TemplateDialog.Model
+ DialogModel.Step = 2
+ DialogModel.Optmerge.State = True
+ LoadLanguageCorrespondence()
+ TemplateDialog.Execute
+ TemplateDialog.Dispose()
+End Sub
+
+
+Sub Placeholder
+ bTemplate = false
+ BasicLibraries.LoadLibrary(&quot;Tools&quot;)
+ LoadLanguageCorrespondence()
+ bDBFields = false
+ OK()
+End Sub
+
+
+Sub Database
+ bTemplate = false
+ BasicLibraries.LoadLibrary(&quot;Tools&quot;)
+ LoadLanguageCorrespondence()
+ bDBFields = true
+ OK()
+End Sub
+
+
+Function LoadLanguageCorrespondence() as Boolean
+ If InitResources(&quot;&apos;Template&apos;&quot;, &quot;tpl&quot;) Then
+ msgNoTextmark$ = GetResText(1303) &amp; Chr(13) &amp; Chr(10) &amp; GetResText(1301)
+ msgError$ = GetResText(1302)
+ If bTemplate Then
+ DialogModel.Title = GetResText(1303+3)
+ DialogModel.CmdCancel.Label = GetResText(1102)
+ DialogModel.CmdCorrGoOn.Label = GetResText(1103)
+ DialogModel.OptSingle.Label = GetResText(1303 + 1)
+ DialogModel.Optmerge.Label = GetResText(1303 + 2)
+ DialogModel.FrmLetter.Label = GetResText(1303)
+ End If
+ LoadLanguageCorrespondence() = True
+ Else
+ msgbox(&quot;Warning: Resource could not be loaded!&quot;)
+ End If
+End Function
+
+
+Function GetFieldName(oFieldKnot as Object, GeneralFieldName as String)
+ If oFieldKnot.HasByName(GeneralFieldName) Then
+ GetFieldName = oFieldKnot.GetByName(GeneralFieldName).AssignedFieldName
+ Else
+ GetFieldName = &quot;&quot;
+ End If
+End Function
+
+
+Sub OK
+Dim ParaBreak
+Dim sDocLang as String
+Dim oSearchDesc as Object
+Dim oFoundAll as Object
+Dim oFound as Object
+Dim sFoundContent as String
+Dim sFoundString as String
+Dim sDBField as String
+Dim i as Integer
+Dim oDBAccess as Object
+Dim oAddressDialog as Object
+Dim oAddressPilot as Object
+Dim oFields as Object
+Dim oDocSettings as Object
+Dim oContext as Object
+Dim bDBvalid as Boolean
+ &apos;On Local Error Goto GENERALERROR
+
+ If bTemplate Then
+ bDBFields = DialogModel.Optmerge.State &apos;database or placeholder
+ TemplateDialog.EndExecute()
+ DialogExited = TRUE
+ End If
+
+ If bDBFields Then
+ oDBAccess = GetRegistryKeyContent(&quot;org.openoffice.Office.DataAccess/AddressBook/&quot;)
+ sAddressbook = oDBAccess.DataSourceName
+
+ bDBvalid = false
+ oContext = createUnoService( &quot;com.sun.star.sdb.DatabaseContext&quot; )
+
+ If (not isNull(oContext)) Then
+ &apos;Is the previously assigned address data source still valid?
+ bDBvalid = oContext.hasByName(sAddressbook)
+ end if
+
+ If (bDBvalid = false) Then
+ oAddressPilot = createUnoService(&quot;com.sun.star.ui.dialogs.AddressBookSourcePilot&quot;)
+ oAddressPilot.execute
+
+ oDBAccess = GetRegistryKeyContent(&quot;org.openoffice.Office.DataAccess/AddressBook/&quot;)
+ sAddressbook = oDBAccess.DataSourceName
+ If sAddressbook = &quot;&quot; Then
+ MsgBox(GetResText(1301))
+ Exit Sub
+ End If
+ End If
+ oFields = oDBAccess.GetByName(&quot;Fields&quot;)
+ Table = oDBAccess.GetByName(&quot;Command&quot;)
+ End If
+
+ ParaBreak = com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK
+ oDocument = ThisComponent
+ If bDBFields Then
+ &apos;set the address db as current db at the document
+ oDocSettings = oDocument.createInstance(&quot;com.sun.star.document.Settings&quot;)
+ oDocSettings.CurrentDatabaseDataSource = sAddressbook
+ oDocSettings.CurrentDatabaseCommand = Table
+ oDocSettings.CurrentDatabaseCommandType = 0
+ End If
+ oBookmarks = oDocument.Bookmarks
+ oText = oDocument.Text
+
+ oSearchDesc = oDocument.createsearchDescriptor()
+ oSearchDesc.SearchRegularExpression = True
+ oSearchDesc.SearchWords = True
+ oSearchDesc.SearchString = &quot;&lt;[^&gt;]+&gt;&quot;
+ oFoundall = oDocument.FindAll(oSearchDesc)
+
+ &apos;Loop over the foundings
+ For i = oFoundAll.Count -1 To 0 Step -1
+ oFound = oFoundAll.GetByIndex(i)
+ sFoundString = oFound.String
+ &apos;Extract the string inside the brackets
+ sFoundContent = FindPartString(sFoundString,&quot;&lt;&quot;,&quot;&gt;&quot;,1)
+ sFoundContent = LTrim(sFoundContent)
+ &apos; Define the Cursor and place it on the founding
+ oBookmarkCursor = oFound.Text.CreateTextCursorbyRange(oFound)
+ oBookText = oFound.Text
+ If bDBFields Then
+ sDBField = GetFieldname(oFields, sFoundContent)
+ If sDBField &lt;&gt; &quot;&quot; Then
+ InsertDBField(sAddressbook, Table, sDBField)
+ Else
+ InsertPlaceholder(sFoundContent)
+ End If
+ Else
+ InsertPlaceholder(sFoundContent)
+ End If
+ Next i
+ If bDBFields Then
+ &apos;Open the DB beamer with the right DB
+ Dim oDisp as Object
+ Dim oTransformer
+ Dim aURL as new com.sun.star.util.URL
+ aURL.complete = &quot;.component:DB/DataSourceBrowser&quot;
+ oTransformer = createUnoService(&quot;com.sun.star.util.URLTransformer&quot;)
+ oTransformer.parseStrict(aURL)
+ oDisp = oDocument.getCurrentController.getFrame.queryDispatch(aURL, &quot;_beamer&quot;, com.sun.star.frame.FrameSearchFlag.CHILDREN + com.sun.star.frame.FrameSearchFlag.CREATE)
+ Dim aArgs(3) as new com.sun.star.beans.PropertyValue
+ aArgs(1).Name = &quot;DataSourceName&quot;
+ aArgs(1).Value = sAddressbook
+ aArgs(2).Name = &quot;CommandType&quot;
+ aArgs(2).Value = com.sun.star.sdb.CommandType.TABLE
+ aArgs(3).Name = &quot;Command&quot;
+ aArgs(3).Value = Table
+ oDisp.dispatch(aURL, aArgs())
+ End If
+
+ GENERALERROR:
+ If Err &lt;&gt; 0 Then
+ Msgbox(msgError$,16, GetProductName())
+ Resume LETSGO
+ End If
+ LETSGO:
+
+End Sub
+
+
+Sub InsertDBField(sDBName as String, sTableName as String, sColName as String)
+Dim oFieldMaster, oField as Object
+ If sColname &lt;&gt; &quot;&quot; Then
+ oFieldMaster = oDocument.createInstance(&quot;com.sun.star.text.FieldMaster.Database&quot;)
+ oField = oDocument.createInstance(&quot;com.sun.star.text.TextField.Database&quot;)
+ oFieldMaster.DataBaseName = sDBName
+ oFieldMaster.DataBaseName = sDBName
+ oFieldMaster.DataTableName = sTableName
+ oFieldMaster.DataColumnName = sColName
+ oField.AttachTextfieldmaster (oFieldMaster)
+ oBookText.InsertTextContent(oBookMarkCursor, oField, True)
+ oField.Content = &quot;&lt;&quot; &amp; sColName &amp; &quot;&gt;&quot;
+ End If
+End Sub
+
+
+Sub InsertPlaceholder(sColName as String)
+Dim oFieldMaster as Object
+Dim bCorrectField as Boolean
+ If sColname &lt;&gt; &quot;&quot; Then
+ bCorrectField = True
+ oFieldMaster = oDocument.createInstance(&quot;com.sun.star.text.TextField.JumpEdit&quot;)
+ Select Case sColName
+ Case &quot;Company&quot;
+ oFieldMaster.PlaceHolder = getResText(1350+1)
+ Case &quot;Department&quot;
+ oFieldMaster.PlaceHolder = getResText(1350+2)
+ Case &quot;FirstName&quot;
+ oFieldMaster.PlaceHolder = getResText(1350+3)
+ Case &quot;LastName&quot;
+ oFieldMaster.PlaceHolder = getResText(1350+4)
+ Case &quot;Street&quot;
+ oFieldMaster.PlaceHolder = getResText(1350+5)
+ Case &quot;Country&quot;
+ oFieldMaster.PlaceHolder = getResText(1350+6)
+ Case &quot;Zip&quot;
+ oFieldMaster.PlaceHolder = getResText(1350+7)
+ Case &quot;City&quot;
+ oFieldMaster.PlaceHolder = getResText(1350+8)
+ Case &quot;Title&quot;
+ oFieldMaster.PlaceHolder = getResText(1350+9)
+ Case &quot;Position&quot;
+ oFieldMaster.PlaceHolder = getResText(1350+10)
+ Case &quot;AddrForm&quot;
+ oFieldMaster.PlaceHolder = getResText(1350+11)
+ Case &quot;Code&quot;
+ oFieldMaster.PlaceHolder = getResText(1350+12)
+ Case &quot;AddrFormMail&quot;
+ oFieldMaster.PlaceHolder = getResText(1350+13)
+ Case &quot;PhonePriv&quot;
+ oFieldMaster.PlaceHolder = getResText(1350+14)
+ Case &quot;PhoneComp&quot;
+ oFieldMaster.PlaceHolder = getResText(1350+15)
+ Case &quot;Fax&quot;
+ oFieldMaster.PlaceHolder = getResText(1350+16)
+ Case &quot;EMail&quot;
+ oFieldMaster.PlaceHolder = getResText(1350+17)
+ Case &quot;URL&quot;
+ oFieldMaster.PlaceHolder = getResText(1350+18)
+ Case &quot;Note&quot;
+ oFieldMaster.PlaceHolder = getResText(1350+19)
+ Case &quot;Altfield1&quot;
+ oFieldMaster.PlaceHolder = getResText(1350+20)
+ Case &quot;Altfield2&quot;
+ oFieldMaster.PlaceHolder = getResText(1350+21)
+ Case &quot;Altfield3&quot;
+ oFieldMaster.PlaceHolder = getResText(1350+22)
+ Case &quot;Altfield4&quot;
+ oFieldMaster.PlaceHolder = getResText(1350+23)
+ Case &quot;Id&quot;
+ oFieldMaster.PlaceHolder = getResText(1350+24)
+ Case &quot;State&quot;
+ oFieldMaster.PlaceHolder = getResText(1350+25)
+ Case &quot;PhoneOffice&quot;
+ oFieldMaster.PlaceHolder = getResText(1350+26)
+ Case &quot;Pager&quot;
+ oFieldMaster.PlaceHolder = getResText(1350+27)
+ Case &quot;PhoneCell&quot;
+ oFieldMaster.PlaceHolder = getResText(1350+28)
+ Case &quot;PhoneOther&quot;
+ oFieldMaster.PlaceHolder = getResText(1350+29)
+ Case &quot;CalendarURL&quot;
+ oFieldMaster.PlaceHolder = getResText(1350+30)
+ Case &quot;InviteParticipant&quot;
+ oFieldMaster.PlaceHolder = getResText(1350+31)
+ Case Else
+ bCorrectField = False
+ End Select
+ If bCorrectField Then
+ oFieldMaster.Hint = getResText(1350)
+ oBookText.InsertTextContent(oBookMarkCursor, oFieldMaster, True)
+ End If
+ End If
+End Sub
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Template/DialogStyles.xdl b/test/user-template/user/basic/Template/DialogStyles.xdl
new file mode 100644
index 000000000000..35042849c2f6
--- /dev/null
+++ b/test/user-template/user/basic/Template/DialogStyles.xdl
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE dlg:window PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "dialog.dtd">
+<dlg:window xmlns:dlg="http://openoffice.org/2000/dialog" xmlns:script="http://openoffice.org/2000/script" dlg:id="DialogStyles" dlg:left="170" dlg:top="93" dlg:width="120" dlg:height="169" dlg:help-url="HID:WIZARDS_HID_DLGSTYLES_DIALOG" dlg:closeable="true" dlg:moveable="true">
+ <dlg:bulletinboard>
+ <dlg:button dlg:id="cmdCancel" dlg:tab-index="0" dlg:left="5" dlg:top="150" dlg:width="50" dlg:height="13" dlg:help-url="HID:WIZARDS_HID_DLGSTYLES_CANCEL" dlg:value="cmdCancel">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Template.Samples.RestoreCurrentStyles?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="cmdOk" dlg:tab-index="1" dlg:left="65" dlg:top="150" dlg:width="50" dlg:height="12" dlg:help-url="HID:WIZARDS_HID_DLGSTYLES_OKAY" dlg:value="cmdOk">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Template.Samples.CloseStyleDialog?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:menulist dlg:id="lbStyles" dlg:tab-index="2" dlg:left="5" dlg:top="5" dlg:width="110" dlg:height="133" dlg:help-url="HID:WIZARDS_HID_DLGSTYLES_LISTBOX">
+ <script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:Template.Samples.SelectStyle?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:menulist>
+ </dlg:bulletinboard>
+</dlg:window> \ No newline at end of file
diff --git a/test/user-template/user/basic/Template/ModuleAgenda.xba b/test/user-template/user/basic/Template/ModuleAgenda.xba
new file mode 100644
index 000000000000..73b0c6cfd8dc
--- /dev/null
+++ b/test/user-template/user/basic/Template/ModuleAgenda.xba
@@ -0,0 +1,203 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ModuleAgenda" script:language="StarBasic">&apos; All variables must be declared before use
+Option Explicit
+
+&apos; Used for &quot;disabling&quot; the cancel button of the dialog
+Public DialogExited As Boolean
+Dim DlgAgenda_gMyName as String
+Public TemplateDialog as Object
+Public DialogModel as Object
+Public sTrueContent as String
+Public Bookmarkname as String
+
+
+
+Sub Initialize()
+&apos; User sets the type of minutes
+ BasicLibraries.LoadLibrary( &quot;Tools&quot; )
+ TemplateDialog = LoadDialog(&quot;Template&quot;, &quot;TemplateDialog&quot;)
+ DialogModel = TemplateDialog.Model
+ DialogModel.Step = 1
+ LoadLanguageAgenda()
+ DialogModel.OptAgenda2.State = TRUE
+ GetOptionValues()
+ DialogExited = FALSE
+ TemplateDialog.Execute
+End Sub
+
+
+Sub LoadLanguageAgenda()
+ If InitResources(&quot;&apos;Template&apos;&quot;, &quot;tpl&quot;) Then
+ DlgAgenda_gMyName = GetResText(1200)
+ DialogModel.CmdCancel.Label = GetResText(1102)
+ DialogModel.CmdAgdGoon.Label = GetResText(1103)
+&apos; DlgAgenda_gMsgNoCancel$ = GetResText(1201)
+ DialogModel.FrmAgenda.Label = GetResText(1202)
+ DialogModel.OptAgenda1.Label = GetResText(1203)
+ DialogModel.OptAgenda2.Label = GetResText(1204)
+&apos; DialogModel.OptAgenda1.State = 1
+ End If
+End Sub
+
+
+Sub ModifyTemplate()
+Dim oDocument, oBookmarks, oBookmark, oBookmarkCursor, oTextField as Object
+Dim i as Integer
+
+ oDocument = ThisComponent
+ oBookMarks = oDocument.Bookmarks
+
+ On Local Error Goto NOBOOKMARK
+ TemplateDialog.EndExecute
+ DialogExited = TRUE
+ oBookmarkCursor = CreateBookmarkCursor(oDocument, BookmarkName)
+ oBookmarkCursor.Text.insertString(oBookmarkCursor,&quot;&quot;,True)
+ &apos; Delete all the Bookmarks except for the one named &quot;NextTopic&quot;
+ For i = oBookmarks.Count-1 To 0 Step -1
+ oBookMark = oBookMarks.GetByIndex(i)
+ If oBookMark.Name &lt;&gt; &quot;NextTopic&quot; Then
+ oBookMark.Dispose()
+ End If
+ Next i
+ oBookMarkCursor = CreateBookmarkCursor(oDocument, &quot;NextTopic&quot;)
+ If Not IsNull(oBookMarkCursor) Then
+ oTextField = oBookMarkCursor.TextField
+&apos; oTextField.TrueContent = sTrueContent
+ oTextField.Content = sTrueContent
+ End If
+
+ NOBOOKMARK:
+ If Err &lt;&gt; 0 Then
+ RESUME NEXT
+ End If
+End Sub
+
+
+Sub NewTopic
+&apos; Add a new topic to the agenda
+Dim oDocument, oBookmarks, oBookmark, oBookmarkCursor, oTextField as Object
+Dim oBaustein, oAutoText, oAutoGroup as Object
+Dim i as Integer
+
+ oDocument = ThisComponent
+ oBookMarkCursor = CreateBookMarkCursor(oDocument, &quot;NextTopic&quot;)
+ oTextField = oBookMarkCursor.TextField
+ oAutoText = CreateUnoService(&quot;com.sun.star.text.AutoTextContainer&quot;)
+ If oAutoText.HasbyName(&quot;template&quot;) Then
+ oAutoGroup = oAutoText.GetbyName(&quot;template&quot;)
+ If oAutoGroup.HasbyName(oTextField.Content) Then
+ oBaustein = oAutoGroup.GetbyName(oTextField.Content)
+ oBaustein.ApplyTo(oBookMarkCursor)
+ Else
+ Msgbox(&quot;AutoText &apos;&quot; &amp; oTextField.Content &amp; &quot;&apos; is not existing. Cannot insert additional topic!&quot;)
+ End If
+ Else
+ Msgbox(&quot;AutoGroupField template is not existing. Cannot insert additional topic!&quot;, 16, DlgAgenda_gMyName )
+ End If
+End Sub
+
+
+
+&apos; Add initials, date and time at bottom of agenda, disable and hide command buttons
+Sub FinishAgenda
+Dim BtnAddAgendaTopic As Object
+Dim BtnFinishAgenda As Object
+Dim oUserField, oDateTimeField as Object
+Dim oBookmarkCursor as Object
+Dim oFormats, oLocale as Object
+Dim iDateTimeKey as Integer
+
+ BasicLibraries.LoadLibrary( &quot;Tools&quot; )
+ oDocument = ThisComponent
+
+ oUserField = oDocument.CreateInstance(&quot;com.sun.star.text.TextField.ExtendedUser&quot;)
+ oUserField.UserDatatype = com.sun.star.text.UserDataPart.SHORTCUT
+
+ oDateTimeField = oDocument.CreateInstance(&quot;com.sun.star.text.TextField.DateTime&quot;)
+
+ &apos; Assign Standardformat to Datetime-Textfield
+ oFormats = oDocument.Numberformats
+ oLocale = oDocument.CharLocale
+ iDateTimeKey = oFormats.GetStandardFormat(com.sun.star.util.NumberFormat.DATETIME,oLocale)
+ oDateTimeField.NumberFormat = iDateTimeKey
+
+ oBookmarkCursor = CreateBookmarkCursor(oDocument, &quot;NextTopic&quot;)
+ oBookmarkCursor.Text.InsertTextContent(oBookmarkCursor,oUserField,False)
+ oBookmarkCursor.Text.InsertString(oBookmarkCursor,&quot; &quot;,False)
+ oBookmarkCursor.Text.InsertTextContent(oBookmarkCursor,oDateTimeField,False)
+ BtnAddAgendaTopic = getControlModel(oDocument, &quot;BtnAddAgendaTopic&quot;)
+ BtnFinishAgenda = getControlModel(oDocument, &quot;BtnFinishAgenda&quot;)
+ If Not IsNull(BtnAddAgendaTopic) Then BtnAddAgendaTopic.Enabled = FALSE
+ If Not IsNull(BtnFinishAgenda) Then BtnFinishAgenda.Enabled = FALSE
+End Sub
+
+
+Function CreateBookMarkCursor(oDocument as Object,sBookmarkName as String)
+ oBookMarks = oDocument.Bookmarks
+ If oBookmarks.HasbyName(sBookmarkName) Then
+ oBookMark = oBookMarks.GetbyName(sBookmarkName)
+ CreateBookMarkCursor = oBookMark.Anchor.Text.CreateTextCursorByRange(oBookMark.Anchor)
+ Else
+ Msgbox &quot;Bookmark &quot; &amp; sBookmarkName &amp; &quot; is not defined!&quot;
+ End If
+End Function
+
+
+
+Sub DeleteButtons
+Dim AgendaFinished As Boolean
+Dim BtnAddAgendaTopic As Object
+Dim BtnFinishAgenda As Object
+
+ oDocument = ThisComponent
+
+ BtnAddAgendaTopic = getControlModel(oDocument, &quot;BtnAddAgendaTopic&quot;)
+ BtnFinishAgenda = getControlModel(oDocument, &quot;BtnFinishAgenda&quot;)
+
+ &apos; If buttons could be accessed: If at least one button is disabled, then agenda is finished
+ AgendaFinished = FALSE
+ If Not IsNull(BtnAddAgendaTopic) Then
+ AgendaFinished = (AgendaFinished Or (BtnAddAgendaTopic.Enabled = FALSE))
+ End If
+
+ If Not IsNull(BtnFinishAgenda) Then
+ AgendaFinished = (AgendaFinished Or (BtnFinishAgenda.Enabled = FALSE))
+ End If
+
+ &apos; Delete Buttons, empty rows at end of document &amp; macro bindings if agenda is finished
+ If AgendaFinished Then
+ DisposeControl(oDocument, &quot;BtnAddAgendaTopic&quot;)
+ DisposeControl(oDocument, &quot;BtnFinishAgenda&quot;)
+
+ oBookmarkCursor = CreateBookMarkCursor(oDocument,&quot;NextTopic&quot;)
+ oBookMarkCursor.GotoEnd(True)
+ oBookmarkCursor.Text.insertString(oBookmarkCursor,&quot;&quot;,True)
+
+ AttachBasicMacroToEvent(oDocument,&quot;OnNew&quot;, &quot;&quot;)
+ AttachBasicMacroToEvent(oDocument,&quot;OnSave&quot;, &quot;&quot;)
+ AttachBasicMacroToEvent(oDocument,&quot;OnSaveAs&quot;, &quot;&quot;)
+ AttachBasicMacroToEvent(oDocument,&quot;OnPrint&quot;, &quot;&quot;)
+ End If
+End Sub
+
+
+
+Sub GetOptionValues(Optional aEvent as Object)
+Dim CurTag as String
+Dim Taglist() as String
+ If Not IsMissing(aEvent) Then
+ CurTag = aEvent.Source.Model.Tag
+ Else
+ If DialogModel.OptAgenda1.State = TRUE Then
+ CurTag = DialogModel.OptAgenda1.Tag
+ Else
+ CurTag = DialogModel.OptAgenda2.Tag
+ End If
+ End If
+ Taglist() = ArrayoutOfString(CurTag, &quot;;&quot;)
+ Bookmarkname = TagList(0)
+ sTrueContent = TagList(1)
+End Sub
+
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Template/Samples.xba b/test/user-template/user/basic/Template/Samples.xba
new file mode 100644
index 000000000000..118fb37d0c49
--- /dev/null
+++ b/test/user-template/user/basic/Template/Samples.xba
@@ -0,0 +1,185 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Samples" script:language="StarBasic">Option Explicit
+
+Const SAMPLES = 1000
+Const STYLES = 1100
+Const aTempFileName = &quot;Berend_Ilko_Tom_Stella_Volker.stc&quot;
+Public Const Twip = 425
+Dim oUcbObject as Object
+Public StylesDir as String
+Public StylesDialog as Object
+Public PathSeparator as String
+Public oFamilies as Object
+Public aOptions(0) as New com.sun.star.beans.PropertyValue
+Public sQueryPath as String
+Public NoArgs()as New com.sun.star.beans.PropertyValue
+Public aTempURL as String
+
+Public Files(100) as String
+
+
+&apos;--------------------------------------------------------------------------------------
+&apos;Miscellaneous Section starts here
+
+Function PrepareForEditing(Optional ByVal oDocument)
+&apos;This sub is called when sample documents are loaded (load event).
+&apos;It checks whether the documents is read-only, in which case it
+&apos;offers the user to create a new (writable) document using the original
+&apos;as a template.
+Dim DocPath as String
+Dim MMessage as String
+Dim MTitle as String
+Dim RValue as Integer
+Dim oNewDocument as Object
+Dim mFileProperties(1) as New com.sun.star.beans.PropertyValue
+ PrepareForEditing = NULL
+ BasicLibraries.LoadLibrary( &quot;Tools&quot; )
+ If InitResources(&quot;&apos;Template&apos;&quot;, &quot;tpl&quot;) then
+ If IsMissing(oDocument) Then
+ oDocument = ThisComponent
+ End If
+ If oDocument.IsReadOnly then
+ MMessage = GetResText(SAMPLES)
+ MTitle = GetResText(SAMPLES + 1)
+ RValue = Msgbox(MMessage, (128+48+1), MTitle)
+ If RValue = 1 Then
+ DocPath = oDocument.URL
+ mFileProperties(0).Name = &quot;AsTemplate&quot;
+ mFileProperties(0).Value = True
+ mFileProperties(1).Name = &quot;MacroExecutionMode&quot;
+ mFileProperties(1).Value = com.sun.star.document.MacroExecMode.USE_CONFIG
+
+ oNewDocument = StarDesktop.LoadComponentFromURL(DocPath,&quot;_default&quot;,0, mFileProperties())
+ PrepareForEditing() = oNewDocument
+ DisposeDocument(oDocument)
+ Else
+ PrepareForEditing() = NULL
+ End If
+ Else
+ PrepareForEditing() = oDocument
+ End If
+ End If
+End Function
+
+
+
+&apos;--------------------------------------------------------------------------------------
+&apos;Calc Style Section starts here
+
+Sub ShowStyles
+&apos;This sub displays the style selection dialog if the current document is a calc document.
+Dim TemplateDir, ActFileTitle, DisplayDummy as String
+Dim sFilterName(0) as String
+Dim StyleNames() as String
+Dim t as Integer
+Dim MaxIndex as Integer
+ BasicLibraries.LoadLibrary(&quot;Tools&quot;)
+ If InitResources(&quot;&apos;Template&apos;&quot;, &quot;tpl&quot;) then
+ oDocument = ThisComponent
+ If oDocument.SupportsService(&quot;com.sun.star.sheet.SpreadsheetDocument&quot;) Then
+ ToggleWindow(False)
+ oUcbObject = createUnoService(&quot;com.sun.star.ucb.SimpleFileAccess&quot;)
+ oFamilies = oDocument.StyleFamilies
+ SaveCurrentStyles(oDocument)
+ StylesDialog = LoadDialog(&quot;Template&quot;, &quot;DialogStyles&quot;)
+ DialogModel = StylesDialog.Model
+ TemplateDir = GetPathSettings(&quot;Template&quot;, False, 0)
+ StylesDir = GetOfficeSubPath(&quot;Template&quot;, &quot;wizard/styles/&quot;)
+ sQueryPath = GetOfficeSubPath(&quot;Template&quot;, &quot;../wizard/bitmap/&quot;)
+ DialogModel.Title = GetResText(STYLES)
+ DialogModel.cmdCancel.Label = GetResText(STYLES+2)
+ DialogModel.cmdOk.Label = GetResText(STYLES+3)
+ Stylenames() = ReadDirectories(StylesDir, False, False, True,)
+ MaxIndex = Ubound(Stylenames())
+ BubbleSortList(Stylenames(),True)
+ Dim cStyles(MaxIndex)
+ For t = 0 to MaxIndex
+ Files(t) = StyleNames(t,0)
+ cStyles(t) = StyleNames(t,1)
+ Next t
+ On Local Error Resume Next
+ DialogModel.lbStyles.StringItemList() = cStyles()
+ ToggleWindow(True)
+ StylesDialog.Execute
+ End If
+ End If
+End Sub
+
+
+Sub SelectStyle
+&apos;This sub loads the specific styles from a style document and loads them into the
+&apos;current document.
+Dim StylePath as String
+Dim NewStyle as String
+Dim Position as Integer
+ Position = DialogModel.lbStyles.SelectedItems(0)
+ If Position &gt; -1 Then
+ ToggleWindow(False)
+ StylePath = Files(Position)
+ aOptions(0).Name = &quot;OverwriteStyles&quot;
+ aOptions(0).Value = true
+ oFamilies.loadStylesFromURL(StylePath, aOptions())
+ ToggleWindow(True)
+ End If
+End Sub
+
+
+Sub SaveCurrentStyles(oDocument as Object)
+&apos;This sub stores the current document in the user work directory
+ On Error Goto ErrorOcurred
+ aTempURL = GetPathSettings(&quot;Work&quot;, False)
+ Dim aRightMost as String
+ aRightMost = Right(aTempURL, 1)
+ if aRightMost = &quot;/&quot; Then
+ aTempURL = aTempURL &amp; aTempFileName
+ Else
+ aTempURL = aTempURL &amp; &quot;/&quot; &amp; aTempFileName
+ End If
+
+ While FileExists(aTempURL)
+ aTempURL=Left(aTempURL,(Len(aTempURL)-4)) &amp; &quot;_1.stc&quot;
+ Wend
+ oDocument.storeToURL(aTempURL, NoArgs())
+ Exit Sub
+
+ErrorOcurred:
+ MsgBox(GetResText( STYLES+1 ), 16, GetResText( STYLES ))
+ On Local Error Goto 0
+End Sub
+
+
+Sub RestoreCurrentStyles
+&apos;This sub retrieves the styles from the temporarily save document
+ ToggleWindow(False)
+ On Local Error Goto NoFile
+ If FileExists(aTempURL) Then
+ aOptions(0).Name = &quot;OverwriteStyles&quot;
+ aOptions(0).Value = true
+ oFamilies.LoadStylesFromURL(aTempURL, aOptions())
+ KillTempFile()
+ End If
+ StylesDialog.EndExecute
+ ToggleWindow(True)
+NOFILE:
+ If Err &lt;&gt; 0 Then
+ Msgbox(&quot;Cannot load Document from &quot; &amp; aTempUrl, 64, GetProductname())
+ End If
+ On Local Error Goto 0
+End Sub
+
+
+Sub CloseStyleDialog
+ KillTempFile()
+ DialogExited = True
+ StylesDialog.Endexecute
+End Sub
+
+
+Sub KillTempFile()
+ If oUcbObject.Exists(aTempUrl) Then
+ oUcbObject.Kill(aTempUrl)
+ End If
+End Sub
+
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Template/TemplateDialog.xdl b/test/user-template/user/basic/Template/TemplateDialog.xdl
new file mode 100644
index 000000000000..4b8633f231a3
--- /dev/null
+++ b/test/user-template/user/basic/Template/TemplateDialog.xdl
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE dlg:window PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "dialog.dtd">
+<dlg:window xmlns:dlg="http://openoffice.org/2000/dialog" xmlns:script="http://openoffice.org/2000/script" dlg:id="TemplateDialog" dlg:left="170" dlg:top="93" dlg:width="220" dlg:height="60" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGCORRESPONDENCE_DIALOG" dlg:closeable="true" dlg:moveable="true">
+ <dlg:bulletinboard>
+ <dlg:radiogroup>
+ <dlg:radio dlg:id="OptAgenda1" dlg:tab-index="0" dlg:left="12" dlg:top="20" dlg:width="144" dlg:height="10" dlg:page="1" dlg:tag="TOP2;PT1" dlg:help-url="HID:WIZARDS_HID_DLGCORRESPONDENCE_OPTIONAGENDA1" dlg:value="OptAgenda1">
+ <script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:Template.ModuleAgenda.GetOptionValues?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:radio>
+ <dlg:radio dlg:id="OptAgenda2" dlg:tab-index="1" dlg:left="12" dlg:top="34" dlg:width="144" dlg:height="10" dlg:page="1" dlg:tag="TOP1;PT2" dlg:help-url="HID:WIZARDS_HID_DLGCORRESPONDENCE_OPTIONAGENDA2" dlg:value="OptAgenda2">
+ <script:event script:event-name="on-itemstatechange" script:macro-name="vnd.sun.star.script:Template.ModuleAgenda.GetOptionValues?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:radio>
+ </dlg:radiogroup>
+ <dlg:button dlg:id="CmdCorrGoOn" dlg:tab-index="2" dlg:left="164" dlg:top="11" dlg:width="50" dlg:height="14" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGCORRESPONDENCE_LETTEROKAY" dlg:value="CmdCorrGoOn">
+ <script:event script:event-name="on-performaction" script:macro-name="Template.Correspondence.OK" script:language="StarBasic"/>
+ </dlg:button>
+ <dlg:radiogroup>
+ <dlg:radio dlg:id="OptSingle" dlg:tab-index="3" dlg:left="12" dlg:top="20" dlg:width="144" dlg:height="10" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGCORRESPONDENCE_OPTIONLETTER1" dlg:value="OptSingle"/>
+ <dlg:radio dlg:id="Optmerge" dlg:tab-index="4" dlg:left="12" dlg:top="34" dlg:width="144" dlg:height="10" dlg:page="2" dlg:help-url="HID:WIZARDS_HID_DLGCORRESPONDENCE_OPTIONLETTER2" dlg:value="Optmerge"/>
+ </dlg:radiogroup>
+ <dlg:button dlg:id="CmdAgdGoon" dlg:tab-index="5" dlg:left="164" dlg:top="11" dlg:width="50" dlg:height="14" dlg:page="1" dlg:help-url="HID:WIZARDS_HID_DLGCORRESPONDENCE_AGENDAOKAY" dlg:value="CmdAgdGoOn">
+ <script:event script:event-name="on-performaction" script:macro-name="Template.ModuleAgenda.ModifyTemplate" script:language="StarBasic"/>
+ </dlg:button>
+ <dlg:button dlg:id="CmdCancel" dlg:tab-index="6" dlg:left="164" dlg:top="28" dlg:width="50" dlg:height="14" dlg:help-url="HID:WIZARDS_HID_DLGCORRESPONDENCE_CANCEL" dlg:value="CmdCancel" dlg:button-type="cancel">
+ <script:event script:event-name="on-performaction" script:macro-name="Template.ModuleAgenda.DisposeDocument" script:language="StarBasic"/>
+ </dlg:button>
+ <dlg:fixedline dlg:id="FrmLetter" dlg:tab-index="7" dlg:left="6" dlg:top="6" dlg:width="150" dlg:height="10" dlg:page="2" dlg:value="FrmLetter"/>
+ <dlg:fixedline dlg:id="FrmAgenda" dlg:tab-index="8" dlg:left="6" dlg:top="6" dlg:width="150" dlg:height="10" dlg:page="1" dlg:value="FrmAgenda"/>
+ </dlg:bulletinboard>
+</dlg:window> \ No newline at end of file
diff --git a/test/user-template/user/basic/Template/dialog.xlb b/test/user-template/user/basic/Template/dialog.xlb
new file mode 100644
index 000000000000..c5eed37a26f2
--- /dev/null
+++ b/test/user-template/user/basic/Template/dialog.xlb
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="Template" library:readonly="true" library:passwordprotected="false">
+ <library:element library:name="DialogStyles"/>
+ <library:element library:name="DlgGreeting"/>
+ <library:element library:name="TemplateDialog"/>
+</library:library>
diff --git a/test/user-template/user/basic/Template/script.xlb b/test/user-template/user/basic/Template/script.xlb
new file mode 100644
index 000000000000..c89cc3788875
--- /dev/null
+++ b/test/user-template/user/basic/Template/script.xlb
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+ <library:library xmlns:library="http://openoffice.org/2000/library" library:name="Template" library:readonly="true" library:passwordprotected="false">
+ <library:element library:name="ModuleAgenda"/>
+ <library:element library:name="Correspondence"/>
+ <library:element library:name="Samples"/>
+ <library:element library:name="Autotext"/>
+ </library:library>
diff --git a/test/user-template/user/basic/Tools/Debug.xba b/test/user-template/user/basic/Tools/Debug.xba
new file mode 100644
index 000000000000..4ba60ffb8d95
--- /dev/null
+++ b/test/user-template/user/basic/Tools/Debug.xba
@@ -0,0 +1,236 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Debug" script:language="StarBasic">REM ***** BASIC *****
+
+Sub ActivateReadOnlyFlag()
+ SetBasicReadOnlyFlag(True)
+End Sub
+
+
+Sub DeactivateReadOnlyFlag()
+ SetBasicReadOnlyFlag(False)
+End Sub
+
+
+Sub SetBasicReadOnlyFlag(bReadOnly as Boolean)
+Dim i as Integer
+Dim LibName as String
+Dim BasicLibNames() as String
+ BasicLibNames() = BasicLibraries.ElementNames()
+ For i = 0 To Ubound(BasicLibNames())
+ LibName = BasicLibNames(i)
+ If LibName &lt;&gt; &quot;Standard&quot; Then
+ BasicLibraries.SetLibraryReadOnly(LibName, bReadOnly)
+ End If
+ Next i
+End Sub
+
+
+Sub WritedbgInfo(LocObject as Object)
+Dim locUrl as String
+Dim oLocDocument as Object
+Dim oLocText as Object
+Dim oLocCursor as Object
+Dim NoArgs()
+Dim sObjectStrings(2) as String
+Dim sProperties() as String
+Dim n as Integer
+Dim m as Integer
+Dim MaxIndex as Integer
+ sObjectStrings(0) = LocObject.dbg_Properties
+ sObjectStrings(1) = LocObject.dbg_Methods
+ sObjectStrings(2) = LocObject.dbg_SupportedInterfaces
+ LocUrl = &quot;private:factory/swriter&quot;
+ oLocDocument = StarDesktop.LoadComponentFromURL(LocUrl,&quot;_default&quot;,0,NoArgs)
+ oLocText = oLocDocument.text
+ oLocCursor = oLocText.createTextCursor()
+ oLocCursor.gotoStart(False)
+ If Vartype(LocObject) = 9 then &apos; an Object Variable
+ For n = 0 To 2
+ sProperties() = ArrayoutofString(sObjectStrings(n),&quot;;&quot;, MaxIndex)
+ For m = 0 To MaxIndex
+ oLocText.insertString(oLocCursor,sProperties(m),False)
+ oLocText.insertControlCharacter(oLocCursor,com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK,False)
+ Next m
+ Next n
+ Elseif Vartype(LocObject) = 8 Then &apos; a String Variable
+ oLocText.insertString(oLocCursor,LocObject,False)
+ ElseIf Vartype(LocObject) = 1 Then
+ Msgbox(&quot;Variable is Null!&quot;, 16, GetProductName())
+ End If
+End Sub
+
+
+Sub WriteDbgString(LocString as string)
+Dim oLocDesktop as object
+Dim LocUrl as String
+Dim oLocDocument as Object
+Dim oLocCursor as Object
+Dim oLocText as Object
+
+ LocUrl = &quot;private:factory/swriter&quot;
+ oLocDocument = StarDesktop.LoadComponentFromURL(LocUrl,&quot;_default&quot;,0,NoArgs)
+ oLocText = oLocDocument.text
+ oLocCursor = oLocText.createTextCursor()
+ oLocCursor.gotoStart(False)
+ oLocText.insertString(oLocCursor,LocString,False)
+End Sub
+
+
+Sub printdbgInfo(LocObject)
+ If Vartype(LocObject) = 9 then
+ Msgbox LocObject.dbg_properties
+ Msgbox LocObject.dbg_methods
+ Msgbox LocObject.dbg_supportedinterfaces
+ Elseif Vartype(LocObject) = 8 Then &apos; a String Variable
+ Msgbox LocObject
+ ElseIf Vartype(LocObject) = 0 Then
+ Msgbox(&quot;Variable is Null!&quot;, 16, GetProductName())
+ Else
+ Msgbox(&quot;Type of Variable: &quot; &amp; Typename(LocObject), 48, GetProductName())
+ End If
+End Sub
+
+
+Sub ShowArray(LocArray())
+Dim i as integer
+Dim msgstring
+ msgstring = &quot;&quot;
+ For i = Lbound(LocArray()) to Ubound(LocArray())
+ msgstring = msgstring + LocArray(i) + chr(13)
+ Next
+ Msgbox msgstring
+End Sub
+
+
+Sub ShowPropertyValues(oLocObject as Object)
+Dim PropName as String
+Dim sValues as String
+ On Local Error Goto NOPROPERTYSETINFO:
+ sValues = &quot;&quot;
+ For i = 0 To Ubound(oLocObject.PropertySetInfo.Properties)
+ Propname = oLocObject.PropertySetInfo.Properties(i).Name
+ sValues = sValues &amp; PropName &amp; chr(13) &amp; &quot; = &quot; &amp; oLocObject.GetPropertyValue(PropName) &amp; chr(13)
+ Next i
+ Msgbox(sValues , 64, GetProductName())
+ Exit Sub
+
+NOPROPERTYSETINFO:
+ Msgbox(&quot;Sorry, No PropertySetInfo attached to the object&quot;, 16, GetProductName())
+ Resume LEAVEPROC
+ LEAVEPROC:
+End Sub
+
+
+Sub ShowNameValuePair(Pair())
+Dim i as Integer
+Dim ShowString as String
+ ShowString = &quot;&quot;
+ On Local Error Resume Next
+ For i = 0 To Ubound(Pair())
+ ShowString = ShowString &amp; Pair(i).Name &amp; &quot; = &quot;
+ ShowString = ShowString &amp; Pair(i).Value &amp; chr(13)
+ Next i
+ Msgbox ShowString
+End Sub
+
+
+&apos; Retrieves all the Elements of aSequence of an object, with the
+&apos; possibility to define a filter(sfilter &lt;&gt; &quot;&quot;)
+Sub ShowElementNames(oLocElements() as Object, Optional sFiltername as String)
+Dim i as Integer
+Dim NameString as String
+ NameString = &quot;&quot;
+ For i = 0 To Ubound(oLocElements())
+ If Not IsMissIng(sFilterName) Then
+ If Instr(1, oLocElements(i), sFilterName) Then
+ NameString = NameString &amp; oLocElements(i) &amp; chr(13)
+ End If
+ Else
+ NameString = NameString &amp; oLocElements(i) &amp; chr(13)
+ End If
+ Next i
+ Msgbox(NameString, 64, GetProductName())
+End Sub
+
+
+&apos; Retrieves all the supported servicenames of an object, with the
+&apos; possibility to define a filter(sfilter &lt;&gt; &quot;&quot;)
+Sub ShowSupportedServiceNames(oLocObject as Object, Optional sFilterName as String)
+ On Local Error Goto NOSERVICENAMES
+ If IsMissing(sFilterName) Then
+ ShowElementNames(oLocobject.SupportedServiceNames())
+ Else
+ ShowElementNames(oLocobject.SupportedServiceNames(), sFilterName)
+ End If
+ Exit Sub
+
+ NOSERVICENAMES:
+ Msgbox(&quot;Sorry, No &apos;SupportedServiceNames&apos; - Property attached to the object&quot;, 16, GetProductName())
+ Resume LEAVEPROC
+ LEAVEPROC:
+End Sub
+
+
+&apos; Retrieves all the available Servicenames of an object, with the
+&apos; possibility to define a filter(sfilter &lt;&gt; &quot;&quot;)
+Sub ShowAvailableServiceNames(oLocObject as Object, Optional sFilterName as String)
+ On Local Error Goto NOSERVICENAMES
+ If IsMissing(sFilterName) Then
+ ShowElementNames(oLocobject.AvailableServiceNames)
+ Else
+ ShowElementNames(oLocobject.AvailableServiceNames, sFilterName)
+ End If
+ Exit Sub
+
+ NOSERVICENAMES:
+ Msgbox(&quot;Sorry, No &apos;AvailableServiceNames&apos; - Property attached to the object&quot;, 16, GetProductName())
+ Resume LEAVEPROC
+ LEAVEPROC:
+End Sub
+
+
+Sub ShowCommands(oLocObject as Object)
+ On Local Error Goto NOCOMMANDS
+ ShowElementNames(oLocObject.QueryCommands)
+ Exit Sub
+ NOCOMMANDS:
+ Msgbox(&quot;Sorry, No &apos;QueryCommands&apos; - Property attached to the object&quot;, 16, GetProductName())
+ Resume LEAVEPROC
+ LEAVEPROC:
+End Sub
+
+
+Sub ProtectCurrentSheets()
+Dim oDocument as Object
+Dim sDocType as String
+Dim iResult as Integer
+Dim oSheets as Object
+Dim i as Integer
+Dim bDoProtect as Boolean
+ oDocument = StarDesktop.ActiveFrame.Controller.Model
+ sDocType = GetDocumentType(oDocument)
+ If sDocType = &quot;scalc&quot; Then
+ oSheets = oDocument.Sheets
+ bDoProtect = False
+ For i = 0 To oSheets.Count-1
+ If Not oSheets(i).IsProtected Then
+ bDoProtect = True
+ End If
+ Next i
+ If bDoProtect Then
+ iResult = Msgbox( &quot;Do you want to protect all sheets of this document?&quot;,35, GetProductName())
+ If iResult = 6 Then
+ ProtectSheets(oDocument.Sheets)
+ End If
+ End If
+ End If
+End Sub
+
+
+Sub FillDocument()
+ oMyReport = createUNOService(&quot;com.sun.star.wizards.report.CallReportWizard&quot;)
+ oMyReport.trigger(&quot;fill&quot;)
+End Sub
+
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Tools/DlgOverwriteAll.xdl b/test/user-template/user/basic/Tools/DlgOverwriteAll.xdl
new file mode 100644
index 000000000000..5208ead799d6
--- /dev/null
+++ b/test/user-template/user/basic/Tools/DlgOverwriteAll.xdl
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE dlg:window PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "dialog.dtd">
+<dlg:window xmlns:dlg="http://openoffice.org/2000/dialog" xmlns:script="http://openoffice.org/2000/script" dlg:id="DlgOverwriteAll" dlg:left="138" dlg:top="75" dlg:width="230" dlg:height="64" dlg:closeable="true" dlg:moveable="true">
+ <dlg:bulletinboard>
+ <dlg:text dlg:id="lblQueryforSave" dlg:tab-index="0" dlg:left="6" dlg:top="6" dlg:width="218" dlg:height="36" dlg:value="lblQueryforSave" dlg:multiline="true"/>
+ <dlg:button dlg:id="cmdYes" dlg:tab-index="1" dlg:left="6" dlg:top="43" dlg:width="50" dlg:height="14" dlg:value="cmdYes">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Tools.ModuleControls.SetOVERWRITEToQuery?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="cmdYesToAll" dlg:tab-index="2" dlg:left="62" dlg:top="43" dlg:width="50" dlg:height="14" dlg:value="cmdYesToAll">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Tools.ModuleControls.SetOVERWRITEToAlways?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="cmdNo" dlg:tab-index="3" dlg:left="118" dlg:top="43" dlg:width="50" dlg:height="14" dlg:default="true" dlg:value="cmdNo">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Tools.ModuleControls.SetOVERWRITEToNever?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="cmdCancel" dlg:tab-index="4" dlg:left="174" dlg:top="43" dlg:width="50" dlg:height="14" dlg:value="cmdCancel" dlg:button-type="cancel"/>
+ </dlg:bulletinboard>
+</dlg:window>
diff --git a/test/user-template/user/basic/Tools/Listbox.xba b/test/user-template/user/basic/Tools/Listbox.xba
new file mode 100644
index 000000000000..01e62e7d6715
--- /dev/null
+++ b/test/user-template/user/basic/Tools/Listbox.xba
@@ -0,0 +1,353 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Listbox" script:language="StarBasic">Option Explicit
+Dim OriginalList()
+Dim oDialogModel as Object
+
+
+Sub MergeList(SourceListBox() as Object, SecondList() as String)
+Dim i as Integer
+Dim MaxIndex as Integer
+ MaxIndex = Ubound(SecondList())
+ OriginalList() = AddListToList(OriginalList(), SecondList())
+ For i = 0 To MaxIndex
+ SourceListbox = AddSingleItemToListbox(SourceListbox, SecondList(i))
+ Next i
+ Call FormSetMoveRights()
+End Sub
+
+
+Sub RemoveListItems(SourceListbox as Object, TargetListbox as Object, RemoveList() as String)
+Dim i as Integer
+Dim s as Integer
+Dim MaxIndex as Integer
+Dim CopyList()
+ MaxIndex = Ubound(RemoveList())
+ For i = 0 To MaxIndex
+ RemoveListboxItemByName(SourceListbox, RemoveList(i))
+ RemoveListboxItemByName(TargetListbox, RemoveList(i))
+ Next i
+ CopyList() = OriginalList()
+ s = 0
+ MaxIndex = Ubound(CopyList())
+ For i = 0 To MaxIndex
+ If IndexInArray(CopyList(i),RemoveList())= -1 Then
+ OriginalList(s) = CopyList(i)
+ s = s + 1
+ End If
+ Next i
+ ReDim Preserve OriginalList(s-1)
+ Call FormSetMoveRights()
+End Sub
+
+
+&apos; Note Boolean Parameter
+Sub InitializeListboxProcedures(oModel as Object, SourceListbox as Object, TargetListbox as Object)
+Dim EmptyList()
+ Set oDialogModel = oModel
+ OriginalList()= SourceListbox.StringItemList()
+ TargetListbox.StringItemList() = EmptyList()
+End Sub
+
+
+Sub CopyListboxItems(SourceListbox as Object, TargetListbox As Object)
+Dim NullArray()
+ TargetListbox.StringItemList() = OriginalList()
+ SourceListbox.StringItemList() = NullArray()
+End Sub
+
+
+Sub FormMoveSelected()
+ Call MoveSelectedListBox(oDialogModel.lstFields, oDialogModel.lstSelFields)
+ Call FormSetMoveRights()
+ oDialogModel.lstSelFields.Tag = True
+End Sub
+
+
+Sub FormMoveAll()
+ Call CopyListboxItems(oDialogModel.lstFields, oDialogModel.lstSelFields)
+ Call FormSetMoveRights()
+ oDialogModel.lstSelFields.Tag = True
+End Sub
+
+
+Sub FormRemoveSelected()
+ Call MoveOrderedSelectedListbox(oDialogModel.lstFields, oDialogModel.lstSelFields, False)
+ Call FormSetMoveRights()
+ oDialogModel.lstSelFields.Tag = True
+End Sub
+
+
+Sub FormRemoveAll()
+ Call MoveOrderedSelectedListbox(oDialogModel.lstFields, oDialogModel.lstSelFields, True)
+ Call FormSetMoveRights()
+ oDialogModel.lstSelFields.Tag = 1
+End Sub
+
+
+Sub MoveSelectedListBox(SourceListbox as Object, TargetListbox as Object)
+Dim MaxCurTarget as Integer
+Dim MaxSourceSelected as Integer
+Dim n as Integer
+Dim m as Integer
+Dim CurIndex
+Dim iOldTargetSelect as Integer
+Dim iOldSourceSelect as Integer
+ MaxCurTarget = Ubound(TargetListbox.StringItemList())
+ MaxSourceSelected = Ubound(SourceListbox.SelectedItems())
+ Dim TargetList(MaxCurTarget+MaxSourceSelected+1)
+ If MaxSourceSelected &gt; -1 Then
+ iOldSourceSelect = SourceListbox.SelectedItems(0)
+ If Ubound(TargetListbox.SelectedItems()) &gt; -1 Then
+ iOldTargetSelect = TargetListbox.SelectedItems(0)
+ Else
+ iOldTargetSelect = -1
+ End If
+ For n = 0 To MaxCurTarget
+ TargetList(n) = TargetListbox.StringItemList(n)
+ Next n
+ For m = 0 To MaxSourceSelected
+ CurIndex = SourceListbox.SelectedItems(m)
+ TargetList(n) = SourceListbox.StringItemList(CurIndex)
+ n = n + 1
+ Next m
+ TargetListBox.StringItemList() = TargetList()
+ SourceListbox.StringItemList() = RemoveSelected (SourceListbox)
+ SetNewSelection(SourceListbox, iOldSourceSelect)
+ SetNewSelection(TargetListbox, iOldTargetSelect)
+ End If
+End Sub
+
+
+
+Sub MoveOrderedSelectedListbox(lstSource as Object, lstTarget as Object, bMoveAll as Boolean)
+Dim NullArray()
+Dim MaxSelected as Integer
+Dim MaxSourceIndex as Integer
+Dim MaxOriginalIndex as Integer
+Dim MaxNewIndex as Integer
+Dim n as Integer
+Dim m as Integer
+Dim CurIndex as Integer
+Dim SearchString as String
+Dim SourceList() as String
+Dim iOldTargetSelect as Integer
+Dim iOldSourceSelect as Integer
+ If bMoveAll Then
+ lstSource.StringItemList() = OriginalList()
+ lstTarget.StringItemList() = NullArray()
+ Else
+ MaxOriginalIndex = Ubound(OriginalList())
+ MaxSelected = Ubound(lstTarget.SelectedItems())
+ iOldTargetSelect = lstTarget.SelectedItems(0)
+ If Ubound(lstSource.SelectedItems()) &gt; -1 Then
+ iOldSourceSelect = lstSource.SelectedItems(0)
+ End If
+ Dim SelList(MaxSelected)
+ For n = 0 To MaxSelected
+ CurIndex = lstTarget.SelectedItems(n)
+ SelList(n) = lstTarget.StringItemList(CurIndex)
+ Next n
+ SourceList() = lstSource.StringItemList()
+ MaxSourceIndex = Ubound(lstSource.StringItemList())
+ MaxNewIndex = MaxSelected + MaxSourceIndex + 1
+ Dim NewSourceList(MaxNewIndex)
+ m = 0
+ For n = 0 To MaxOriginalIndex
+ SearchString = OriginalList(n)
+ If IndexinArray(SearchString, SelList()) &lt;&gt; -1 Then
+ NewSourceList(m) = SearchString
+ m = m + 1
+ ElseIf IndexinArray(SearchString, SourceList()) &lt;&gt; -1 Then
+ NewSourceList(m) = SearchString
+ m = m + 1
+ End If
+ Next n
+ lstSource.StringItemList() = NewSourceList()
+ lstTarget.StringItemList() = RemoveSelected(lstTarget)
+ End If
+ SetNewSelection(lstSource, iOldSourceSelect)
+ SetNewSelection(lstTarget, iOldTargetSelect)
+
+End Sub
+
+
+Function RemoveSelected(oListbox as Object)
+Dim MaxIndex as Integer
+Dim MaxSelected as Integer
+Dim n as Integer
+Dim m as Integer
+Dim CurIndex as Integer
+Dim CurItem as String
+Dim ResultArray()
+ MaxIndex = Ubound(oListbox.StringItemList())
+ MaxSelected = Ubound(oListbox.SelectedItems())
+ Dim LocItemList(MaxIndex)
+ LocItemList() = oListbox.StringItemList()
+ If MaxSelected &gt; -1 Then
+ For n = 0 To MaxSelected
+ CurIndex = oListbox.SelectedItems(n)
+ LocItemList(CurIndex) = &quot;&quot;
+ Next n
+ If MaxIndex &gt; 0 Then
+ ReDim ResultArray(MaxIndex - MaxSelected - 1)
+ m = 0
+ For n = 0 To MaxIndex
+ CurItem = LocItemList(n)
+ If CurItem &lt;&gt; &quot;&quot; Then
+ ResultArray(m) = CurItem
+ m = m + 1
+ End If
+ Next n
+ End If
+ RemoveSelected = ResultArray()
+ Else
+ RemoveSelected = oListbox.StringItemList()
+ End If
+End Function
+
+
+Sub SetNewSelection(oListBox as Object, iLastSelection as Integer)
+Dim MaxIndex as Integer
+Dim SelIndex as Integer
+Dim SelList(0) as Integer
+ MaxIndex = Ubound(oListBox.StringItemList())
+ If MaxIndex &gt; -1 AND iLastSelection &gt; -1 Then
+ If iLastSelection &gt; MaxIndex Then
+ Selindex = MaxIndex
+ Else
+ SelIndex = iLastSelection
+ End If
+ Sellist(0) = SelIndex
+ oListBox.SelectedItems() = SelList()
+ End If
+End Sub
+
+
+Sub ToggleListboxControls(oDialogModel as Object, bDoEnable as Boolean)
+ With oDialogModel
+ .lblFields.Enabled = bDoEnable
+ .lblSelFields.Enabled = bDoEnable
+&apos; .lstTables.Enabled = bDoEnable
+ .lstFields.Enabled = bDoEnable
+ .lstSelFields.Enabled = bDoEnable
+ .cmdRemoveAll.Enabled = bDoEnable
+ .cmdRemoveSelected.Enabled = bDoEnable
+ .cmdMoveAll.Enabled = bDoEnable
+ .cmdMoveSelected.Enabled = bDoEnable
+ End With
+ If bDoEnable Then
+ FormSetMoveRights()
+ End If
+End Sub
+
+
+&apos; Enable or disable the buttons used for moving the available
+&apos; fields between the two list boxes.
+Sub FormSetMoveRights()
+Dim bIsFieldSelected as Boolean
+Dim bSelectSelected as Boolean
+Dim FieldCount as Integer
+Dim SelectCount as Integer
+ bIsFieldSelected = Ubound(oDialogModel.lstFields.SelectedItems()) &lt;&gt; -1
+ FieldCount = Ubound(oDialogModel.lstFields.StringItemList()) + 1
+ bSelectSelected = Ubound(oDialogModel.lstSelFields.SelectedItems()) &gt; -1
+ SelectCount = Ubound(oDialogModel.lstSelFields.StringItemList()) + 1
+ oDialogModel.cmdRemoveAll.Enabled = SelectCount&gt;=1
+ oDialogModel.cmdRemoveSelected.Enabled = bSelectSelected
+ oDialogModel.cmdMoveAll.Enabled = FieldCount &gt;=1
+ oDialogModel.cmdMoveSelected.Enabled = bIsFieldSelected
+ oDialogModel.cmdGoOn.Enabled = SelectCount&gt;=1
+ &apos; This flag is set to &apos;1&apos; when the lstSelFields has been modified
+End Sub
+
+
+Function AddSingleItemToListbox(ByVal oListbox as Object, ListItem as String, Optional iSelIndex) as Object
+Dim MaxIndex as Integer
+Dim i as Integer
+
+ MaxIndex = Ubound(oListbox.StringItemList())
+Dim LocList(MaxIndex + 1)
+&apos; Todo: This goes faster with the Redim LocList(MaxIndex + 1) Preserve function
+ For i = 0 To MaxIndex
+ LocList(i) = oListbox.StringItemList(i)
+ Next i
+ LocList(MaxIndex + 1) = ListItem
+ oListbox.StringItemList() = LocList()
+ If Not IsMissing(iSelIndex) Then
+ SelectListboxItem(oListbox, iSelIndex)
+ End If
+ AddSingleItemToListbox() = oListbox
+End Function
+
+
+Sub EmptyListbox(oListbox as Object)
+Dim NullList() as String
+ oListbox.StringItemList() = NullList()
+End Sub
+
+
+Sub SelectListboxItem(oListbox as Object, iSelIndex as Integer)
+Dim LocSelList(0) as Integer
+ If iSelIndex &lt;&gt; -1 Then
+ LocSelList(0) = iSelIndex
+ oListbox.SelectedItems() = LocSelList()
+ End If
+End Sub
+
+
+Function GetSelectedListboxItems(oListbox as Object)
+Dim SelList(Ubound(oListBox.SelectedItems())) as String
+Dim i as Integer
+Dim CurIndex as Integer
+ For i = 0 To Ubound(oListbox.SelectedItems())
+ CurIndex = oListbox.SelectedItems(i)
+ SelList(i) = oListbox.StringItemList(CurIndex)
+ Next i
+ GetSelectedListboxItems() = SelList()
+End Function
+
+
+&apos; Note: When using this Sub it must be ensured that the
+&apos; &apos;RemoveItem&apos; appears only only once in the Listbox
+Sub RemoveListboxItemByName(oListbox as Object, RemoveItem as String)
+Dim OldList() as String
+Dim NullList() as String
+Dim i as Integer
+Dim a as Integer
+Dim MaxIndex as Integer
+ OldList = oListbox.StringItemList()
+ MaxIndex = Ubound(OldList())
+ If IndexInArray(RemoveItem, OldList()) &lt;&gt; -1 Then
+ If MaxIndex &gt; 0 Then
+ a = 0
+ Dim NewList(MaxIndex -1)
+ For i = 0 To MaxIndex
+ If RemoveItem &lt;&gt; OldList(i) Then
+ NewList(a) = OldList(i)
+ a = a + 1
+ End If
+ Next i
+ oListbox.StringItemList() = NewList()
+ Else
+ oListBox.StringItemList() = NullList()
+ End If
+ End If
+End Sub
+
+
+Function GetItemPos(oListBox as Object, sItem as String)
+Dim ItemList()
+Dim MaxIndex as Integer
+Dim i as Integer
+ ItemList() = oListBox.StringItemList()
+ MaxIndex = Ubound(ItemList())
+ For i = 0 To MaxIndex
+ If sItem = ItemList(i) Then
+ GetItemPos() = i
+ Exit Function
+ End If
+ Next i
+ GetItemPos() = -1
+End Function
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Tools/Misc.xba b/test/user-template/user/basic/Tools/Misc.xba
new file mode 100644
index 000000000000..faa0f802f6c6
--- /dev/null
+++ b/test/user-template/user/basic/Tools/Misc.xba
@@ -0,0 +1,821 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Misc" script:language="StarBasic">REM ***** BASIC *****
+
+Const SBSHARE = 0
+Const SBUSER = 1
+Dim Taskindex as Integer
+Dim oResSrv as Object
+
+Sub Main()
+Dim PropList(3,1)&apos; as String
+ PropList(0,0) = &quot;URL&quot;
+ PropList(0,1) = &quot;sdbc:odbc:Erica_Test_Unicode&quot;
+ PropList(1,0) = &quot;User&quot;
+ PropList(1,1) = &quot;extra&quot;
+ PropList(2,0) = &quot;Password&quot;
+ PropList(2,1) = &quot;extra&quot;
+ PropList(3,0) = &quot;IsPasswordRequired&quot;
+ PropList(3,1) = True
+End Sub
+
+
+Function RegisterNewDataSource(DSName as String, PropertyList(), Optional DriverProperties() as New com.sun.star.beans.PropertyValue)
+Dim oDataSource as Object
+Dim oDBContext as Object
+Dim oPropInfo as Object
+Dim i as Integer
+ oDBContext = createUnoService(&quot;com.sun.star.sdb.DatabaseContext&quot;)
+ oDataSource = createUnoService(&quot;com.sun.star.sdb.DataSource&quot;)
+ For i = 0 To Ubound(PropertyList(), 1)
+ sPropName = PropertyList(i,0)
+ sPropValue = PropertyList(i,1)
+ oDataSource.SetPropertyValue(sPropName,sPropValue)
+ Next i
+ If Not IsMissing(DriverProperties()) Then
+ oDataSource.Info() = DriverProperties()
+ End If
+ oDBContext.RegisterObject(DSName, oDataSource)
+ RegisterNewDataSource () = oDataSource
+End Function
+
+
+&apos; Connects to a registered Database
+Function ConnecttoDatabase(DSName as String, UserID as String, Password as String, Optional Propertylist(), Optional DriverProperties() as New com.sun.star.beans.PropertyValue)
+Dim oDBContext as Object
+Dim oDBSource as Object
+&apos; On Local Error Goto NOCONNECTION
+ oDBContext = CreateUnoService(&quot;com.sun.star.sdb.DatabaseContext&quot;)
+ If oDBContext.HasbyName(DSName) Then
+ oDBSource = oDBContext.GetByName(DSName)
+ ConnectToDatabase = oDBSource.GetConnection(UserID, Password)
+ Else
+ If Not IsMissing(Namelist()) Then
+ If Not IsMissing(DriverProperties()) Then
+ RegisterNewDataSource(DSName, PropertyList(), DriverProperties())
+ Else
+ RegisterNewDataSource(DSName, PropertyList())
+ End If
+ oDBSource = oDBContext.GetByName(DSName)
+ ConnectToDatabase = oDBSource.GetConnection(UserID, Password)
+ Else
+ Msgbox(&quot;DataSource &quot; &amp; DSName &amp; &quot; is not registered&quot; , 16, GetProductname())
+ ConnectToDatabase() = NULL
+ End If
+ End If
+NOCONNECTION:
+ If Err &lt;&gt; 0 Then
+ Msgbox(Error$, 16, GetProductName())
+ Resume LEAVESUB
+ LEAVESUB:
+ End If
+End Function
+
+
+Function GetStarOfficeLocale() as New com.sun.star.lang.Locale
+Dim aLocLocale As New com.sun.star.lang.Locale
+Dim sLocale as String
+Dim sLocaleList(1)
+Dim oMasterKey
+ oMasterKey = GetRegistryKeyContent(&quot;org.openoffice.Setup/L10N/&quot;)
+ sLocale = oMasterKey.getByName(&quot;ooLocale&quot;)
+ sLocaleList() = ArrayoutofString(sLocale, &quot;-&quot;)
+ aLocLocale.Language = sLocaleList(0)
+ If Ubound(sLocaleList()) &gt; 0 Then
+ aLocLocale.Country = sLocaleList(1)
+ End If
+ GetStarOfficeLocale() = aLocLocale
+End Function
+
+
+Function GetRegistryKeyContent(sKeyName as string, Optional bforUpdate as Boolean)
+Dim oConfigProvider as Object
+Dim aNodePath(0) as new com.sun.star.beans.PropertyValue
+ oConfigProvider = createUnoService(&quot;com.sun.star.configuration.ConfigurationProvider&quot;)
+ aNodePath(0).Name = &quot;nodepath&quot;
+ aNodePath(0).Value = sKeyName
+ If IsMissing(bForUpdate) Then
+ GetRegistryKeyContent() = oConfigProvider.createInstanceWithArguments(&quot;com.sun.star.configuration.ConfigurationAccess&quot;, aNodePath())
+ Else
+ If bForUpdate Then
+ GetRegistryKeyContent() = oConfigProvider.createInstanceWithArguments(&quot;com.sun.star.configuration.ConfigurationUpdateAccess&quot;, aNodePath())
+ Else
+ GetRegistryKeyContent() = oConfigProvider.createInstanceWithArguments(&quot;com.sun.star.configuration.ConfigurationAccess&quot;, aNodePath())
+ End If
+ End If
+End Function
+
+
+Function GetProductname() as String
+Dim oProdNameAccess as Object
+Dim sVersion as String
+Dim sProdName as String
+ oProdNameAccess = GetRegistryKeyContent(&quot;org.openoffice.Setup/Product&quot;)
+ sProdName = oProdNameAccess.getByName(&quot;ooName&quot;)
+ sVersion = oProdNameAccess.getByName(&quot;ooSetupVersion&quot;)
+ GetProductName = sProdName &amp; sVersion
+End Function
+
+
+&apos; Opens a Document, checks beforehand, wether it has to be loaded
+&apos; or wether it is already on the desktop.
+&apos; If the parameter bDisposable is set to False then then returned document
+&apos; should not be disposed afterwards, because it is already opened.
+Function OpenDocument(DocPath as String, Args(), Optional bDisposable as Boolean)
+Dim oComponents as Object
+Dim oComponent as Object
+ &apos; Search if one of the active Components ist the one that you search for
+ oComponents = StarDesktop.Components.CreateEnumeration
+ While oComponents.HasmoreElements
+ oComponent = oComponents.NextElement
+ If hasUnoInterfaces(oComponent,&quot;com.sun.star.frame.XModel&quot;) then
+ If UCase(oComponent.URL) = UCase(DocPath) then
+ OpenDocument() = oComponent
+ If Not IsMissing(bDisposable) Then
+ bDisposable = False
+ End If
+ Exit Function
+ End If
+ End If
+ Wend
+ If Not IsMissing(bDisposable) Then
+ bDisposable = True
+ End If
+ OpenDocument() = StarDesktop.LoadComponentFromURL(DocPath,&quot;_default&quot;,0,Args())
+End Function
+
+
+Function TaskonDesktop(DocPath as String) as Boolean
+Dim oComponents as Object
+Dim oComponent as Object
+ &apos; Search if one of the active Components ist the one that you search for
+ oComponents = StarDesktop.Components.CreateEnumeration
+ While oComponents.HasmoreElements
+ oComponent = oComponents.NextElement
+ If hasUnoInterfaces(oComponent,&quot;com.sun.star.frame.XModel&quot;) then
+ If UCase(oComponent.URL) = UCase(DocPath) then
+ TaskonDesktop = True
+ Exit Function
+ End If
+ End If
+ Wend
+ TaskonDesktop = False
+End Function
+
+
+&apos; Retrieves a FileName out of a StarOffice-Document
+Function RetrieveFileName(LocDoc as Object)
+Dim LocURL as String
+Dim LocURLArray() as String
+Dim MaxArrIndex as integer
+
+ LocURL = LocDoc.Url
+ LocURLArray() = ArrayoutofString(LocURL,&quot;/&quot;,MaxArrIndex)
+ RetrieveFileName = LocURLArray(MaxArrIndex)
+End Function
+
+
+&apos; Gets a special configured PathSetting
+Function GetPathSettings(sPathType as String, Optional bshowall as Boolean, Optional ListIndex as integer) as String
+Dim oSettings, oPathSettings as Object
+Dim sPath as String
+Dim PathList() as String
+Dim MaxIndex as Integer
+Dim oPS as Object
+
+ oPS = createUnoService(&quot;com.sun.star.util.PathSettings&quot;)
+
+ If Not IsMissing(bShowall) Then
+ If bShowAll Then
+ ShowPropertyValues(oPS)
+ Exit Function
+ End If
+ End If
+ sPath = oPS.getPropertyValue(sPathType)
+ If Not IsMissing(ListIndex) Then
+ &apos; Share and User-Directory
+ If Instr(1,sPath,&quot;;&quot;) &lt;&gt; 0 Then
+ PathList = ArrayoutofString(sPath,&quot;;&quot;, MaxIndex)
+ If ListIndex &lt;= MaxIndex Then
+ sPath = PathList(ListIndex)
+ Else
+ Msgbox(&quot;String Cannot be analyzed!&quot; &amp; sPath , 16, GetProductName())
+ End If
+ End If
+ End If
+ If Instr(1, sPath, &quot;;&quot;) = 0 Then
+ GetPathSettings = ConvertToUrl(sPath)
+ Else
+ GetPathSettings = sPath
+ End If
+
+End Function
+
+
+
+&apos; Gets the fully qualified path to a subdirectory of the
+&apos; Template Directory, e. g. with the parameter &quot;wizard/bitmap&quot;
+&apos; The parameter must be passed over in Url-scription
+&apos; The return-Value is in Urlscription
+Function GetOfficeSubPath(sOfficePath as String, ByVal sSubDir as String)
+Dim sOfficeString as String
+Dim sOfficeList() as String
+Dim sOfficeDir as String
+Dim sBigDir as String
+Dim i as Integer
+Dim MaxIndex as Integer
+Dim oUcb as Object
+ oUcb = createUnoService(&quot;com.sun.star.ucb.SimpleFileAccess&quot;)
+ sOfficeString = GetPathSettings(sOfficePath)
+ If Right(sSubDir,1) &lt;&gt; &quot;/&quot; Then
+ sSubDir = sSubDir &amp; &quot;/&quot;
+ End If
+ sOfficeList() = ArrayoutofString(sOfficeString,&quot;;&quot;, MaxIndex)
+ For i = 0 To MaxIndex
+ sOfficeDir = ConvertToUrl(sOfficeList(i))
+ If Right(sOfficeDir,1) &lt;&gt; &quot;/&quot; Then
+ sOfficeDir = sOfficeDir &amp; &quot;/&quot;
+ End If
+ sBigDir = sOfficeDir &amp; sSubDir
+ If oUcb.Exists(sBigDir) Then
+ GetOfficeSubPath() = sBigDir
+ Exit Function
+ End If
+ Next i
+ ShowNoOfficePathError()
+ GetOfficeSubPath = &quot;&quot;
+End Function
+
+
+Sub ShowNoOfficePathError()
+Dim ProductName as String
+Dim sError as String
+Dim bResObjectexists as Boolean
+Dim oLocResSrv as Object
+ bResObjectexists = not IsNull(oResSrv)
+ If bResObjectexists Then
+ oLocResSrv = oResSrv
+ End If
+ If InitResources(&quot;Tools&quot;, &quot;com&quot;) Then
+ ProductName = GetProductName()
+ sError = GetResText(1006)
+ sError = ReplaceString(sError, ProductName, &quot;%PRODUCTNAME&quot;)
+ sError = ReplaceString(sError, chr(13), &quot;&lt;BR&gt;&quot;)
+ MsgBox(sError, 16, ProductName)
+ End If
+ If bResObjectexists Then
+ oResSrv = oLocResSrv
+ End If
+
+End Sub
+
+
+Function InitResources(Description, ShortDescription as String) as boolean
+Dim xResource as Object
+Dim aArgs(0) as String
+ On Error Goto ErrorOcurred
+ aArgs(0) = ShortDescription
+ oConfigProvider = createUnoService(&quot;com.sun.star.configuration.ConfigurationProvider&quot;)
+ xResource = getProcessServiceManager().createInstanceWithArguments( &quot;org.libreoffice.resource.ResourceIndexAccess&quot;, aArgs() )
+ If (IsNull(xResource)) then
+ InitResources = FALSE
+ MsgBox(&quot;could not initialize ResourceIndexAccess&quot;)
+ Else
+ InitResources = TRUE
+ oResSrv = xResource.getByName( &quot;String&quot; )
+ End If
+ Exit Function
+ErrorOcurred:
+ Dim nSolarVer
+ InitResources = FALSE
+ nSolarVer = GetSolarVersion()
+ MsgBox(&quot;Resource file missing (&quot; &amp; ShortDescription &amp; trim(str(nSolarVer)) + &quot;*.res)&quot;, 16, GetProductName())
+ Resume CLERROR
+ CLERROR:
+End Function
+
+
+Function GetResText( nID as integer ) As string
+ On Error Goto ErrorOcurred
+ If Not IsNull(oResSrv) Then
+ GetResText = oResSrv.getByIndex( nID )
+ Else
+ GetResText = &quot;&quot;
+ End If
+ Exit Function
+ErrorOcurred:
+ GetResText = &quot;&quot;
+ MsgBox(&quot;Resource with ID =&quot; + str( nID ) + &quot; not found!&quot;, 16, GetProductName())
+ Resume CLERROR
+ CLERROR:
+End Function
+
+
+Function CutPathView(sDocUrl as String, Optional PathLen as Integer)
+Dim sViewPath as String
+Dim FileName as String
+Dim iFileLen as Integer
+ sViewPath = ConvertfromURL(sDocURL)
+ iViewPathLen = Len(sViewPath)
+ If iViewPathLen &gt; 60 Then
+ FileName = FileNameoutofPath(sViewPath, &quot;/&quot;)
+ iFileLen = Len(FileName)
+ If iFileLen &lt; 44 Then
+ sViewPath = Left(sViewPath,57-iFileLen-10) &amp; &quot;...&quot; &amp; Right(sViewPath,iFileLen + 10)
+ Else
+ sViewPath = Left(sViewPath,27) &amp; &quot; ... &quot; &amp; Right(sViewPath,28)
+ End If
+ End If
+ CutPathView = sViewPath
+End Function
+
+
+&apos; Deletes the content of all cells that are softformatted according
+&apos; to the &apos;InputStyleName&apos;
+Sub DeleteInputCells(oSheet as Object, InputStyleName as String)
+Dim oRanges as Object
+Dim oRange as Object
+ oRanges = oSheet.CellFormatRanges.createEnumeration
+ While oRanges.hasMoreElements
+ oRange = oRanges.NextElement
+ If Instr(1,oRange.CellStyle, InputStyleName) &lt;&gt; 0 Then
+ Call ReplaceRangeValues(oRange, &quot;&quot;)
+ End If
+ Wend
+End Sub
+
+
+&apos; Inserts a certain String to all cells of a Range that ist passed over
+&apos; either as an object or as the RangeName
+Sub ChangeValueofRange(oSheet as Object, Range, ReplaceValue, Optional StyleName as String)
+Dim oCellRange as Object
+ If Vartype(Range) = 8 Then
+ &apos; Get the Range out of the Rangename
+ oCellRange = oSheet.GetCellRangeByName(Range)
+ Else
+ &apos; The range is passed over as an object
+ Set oCellRange = Range
+ End If
+ If IsMissing(StyleName) Then
+ ReplaceRangeValues(oCellRange, ReplaceValue)
+ Else
+ If Instr(1,oCellRange.CellStyle,StyleName) Then
+ ReplaceRangeValues(oCellRange, ReplaceValue)
+ End If
+ End If
+End Sub
+
+
+Sub ReplaceRangeValues(oRange as Object, ReplaceValue)
+Dim oRangeAddress as Object
+Dim ColCount as Integer
+Dim RowCount as Integer
+Dim i as Integer
+ oRangeAddress = oRange.RangeAddress
+ ColCount = oRangeAddress.EndColumn - oRangeAddress.StartColumn
+ RowCount = oRangeAddress.EndRow - oRangeAddress.StartRow
+ Dim FillArray(RowCount) as Variant
+ Dim sLine(ColCount) as Variant
+ For i = 0 To ColCount
+ sLine(i) = ReplaceValue
+ Next i
+ For i = 0 To RowCount
+ FillArray(i) = sLine()
+ Next i
+ oRange.DataArray = FillArray()
+End Sub
+
+
+&apos; Returns the Value of the first cell of a Range
+Function GetValueofCellbyName(oSheet as Object, sCellName as String)
+Dim oCell as Object
+ oCell = GetCellByName(oSheet, sCellName)
+ GetValueofCellbyName = oCell.Value
+End Function
+
+
+Function DuplicateRow(oSheet as Object, RangeName as String)
+Dim oRange as Object
+Dim oCell as Object
+Dim oCellAddress as New com.sun.star.table.CellAddress
+Dim oRangeAddress as New com.sun.star.table.CellRangeAddress
+ oRange = oSheet.GetCellRangeByName(RangeName)
+ oRangeAddress = oRange.RangeAddress
+ oCell = oSheet.GetCellByPosition(oRangeAddress.StartColumn,oRangeAddress.StartRow)
+ oCellAddress = oCell.CellAddress
+ oSheet.Rows.InsertByIndex(oCellAddress.Row,1)
+ oRangeAddress = oRange.RangeAddress
+ oSheet.CopyRange(oCellAddress, oRangeAddress)
+ DuplicateRow = oRangeAddress.StartRow-1
+End Function
+
+
+&apos; Returns the String of the first cell of a Range
+Function GetStringofCellbyName(oSheet as Object, sCellName as String)
+Dim oCell as Object
+ oCell = GetCellByName(oSheet, sCellName)
+ GetStringofCellbyName = oCell.String
+End Function
+
+
+&apos; Returns a named Cell
+Function GetCellByName(oSheet as Object, sCellName as String) as Object
+Dim oCellRange as Object
+Dim oCellAddress as Object
+ oCellRange = oSheet.GetCellRangeByName(sCellName)
+ oCellAddress = oCellRange.RangeAddress
+ GetCellByName = oSheet.GetCellByPosition(oCellAddress.StartColumn,oCellAddress.StartRow)
+End Function
+
+
+&apos; Changes the numeric Value of a cell by transmitting the String of the numeric Value
+Sub ChangeCellValue(oCell as Object, ValueString as String)
+Dim CellValue
+ oCell.Formula = &quot;=Value(&quot; &amp; &quot;&quot;&quot;&quot; &amp; ValueString &amp; &quot;&quot;&quot;&quot; &amp; &quot;)&quot;
+ CellValue = oCell.Value
+ oCell.Formula = &quot;&quot;
+ oCell.Value = CellValue
+End Sub
+
+
+Function GetDocumentType(oDocument)
+ On Local Error GoTo NODOCUMENTTYPE
+&apos; ShowSupportedServiceNames(oDocument)
+ If oDocument.SupportsService(&quot;com.sun.star.sheet.SpreadsheetDocument&quot;) Then
+ GetDocumentType() = &quot;scalc&quot;
+ ElseIf oDocument.SupportsService(&quot;com.sun.star.text.TextDocument&quot;) Then
+ GetDocumentType() = &quot;swriter&quot;
+ ElseIf oDocument.SupportsService(&quot;com.sun.star.drawing.DrawingDocument&quot;) Then
+ GetDocumentType() = &quot;sdraw&quot;
+ ElseIf oDocument.SupportsService(&quot;com.sun.star.presentation.PresentationDocument&quot;) Then
+ GetDocumentType() = &quot;simpress&quot;
+ ElseIf oDocument.SupportsService(&quot;com.sun.star.formula.FormulaProperties&quot;) Then
+ GetDocumentType() = &quot;smath&quot;
+ End If
+ NODOCUMENTTYPE:
+ If Err &lt;&gt; 0 Then
+ GetDocumentType = &quot;&quot;
+ Resume GOON
+ GOON:
+ End If
+End Function
+
+
+Function GetNumberFormatType(oDocFormats, oFormatObject as Object) as Integer
+Dim ThisFormatKey as Long
+Dim oObjectFormat as Object
+ On Local Error Goto NOFORMAT
+ ThisFormatKey = oFormatObject.NumberFormat
+ oObjectFormat = oDocFormats.GetByKey(ThisFormatKey)
+ GetNumberFormatType = oObjectFormat.Type
+ NOFORMAT:
+ If Err &lt;&gt; 0 Then
+ Msgbox(&quot;Numberformat of Object is not available!&quot;, 16, GetProductName())
+ GetNumberFormatType = 0
+ GOTO NOERROR
+ End If
+ NOERROR:
+ On Local Error Goto 0
+End Function
+
+
+Sub ProtectSheets(Optional oSheets as Object)
+Dim i as Integer
+Dim oDocSheets as Object
+ If IsMissing(oSheets) Then
+ oDocSheets = StarDesktop.CurrentFrame.Controller.Model.Sheets
+ Else
+ Set oDocSheets = oSheets
+ End If
+
+ For i = 0 To oDocSheets.Count-1
+ oDocSheets(i).Protect(&quot;&quot;)
+ Next i
+End Sub
+
+
+Sub UnprotectSheets(Optional oSheets as Object)
+Dim i as Integer
+Dim oDocSheets as Object
+ If IsMissing(oSheets) Then
+ oDocSheets = StarDesktop.CurrentFrame.Controller.Model.Sheets
+ Else
+ Set oDocSheets = oSheets
+ End If
+
+ For i = 0 To oDocSheets.Count-1
+ oDocSheets(i).Unprotect(&quot;&quot;)
+ Next i
+End Sub
+
+
+Function GetRowIndex(oSheet as Object, RowName as String)
+Dim oRange as Object
+ oRange = oSheet.GetCellRangeByName(RowName)
+ GetRowIndex = oRange.RangeAddress.StartRow
+End Function
+
+
+Function GetColumnIndex(oSheet as Object, ColName as String)
+Dim oRange as Object
+ oRange = oSheet.GetCellRangeByName(ColName)
+ GetColumnIndex = oRange.RangeAddress.StartColumn
+End Function
+
+
+Function CopySheetbyName(oSheets as Object, OldName as String, NewName as String, DestPos as Integer) as Object
+Dim oSheet as Object
+Dim Count as Integer
+Dim BasicSheetName as String
+
+ BasicSheetName = NewName
+ &apos; Copy the last table. Assumption: The last table is the template
+ On Local Error Goto RENAMESHEET
+ oSheets.CopybyName(OldName, NewName, DestPos)
+
+RENAMESHEET:
+ oSheet = oSheets(DestPos)
+ If Err &lt;&gt; 0 Then
+ &apos; Test if renaming failed
+ Count = 2
+ Do While oSheet.Name &lt;&gt; NewName
+ NewName = BasicSheetName &amp; &quot;_&quot; &amp; Count
+ oSheet.Name = NewName
+ Count = Count + 1
+ Loop
+ Resume CL_ERROR
+CL_ERROR:
+ End If
+ CopySheetbyName = oSheet
+End Function
+
+
+&apos; Dis-or enables a Window and adjusts the mousepointer accordingly
+Sub ToggleWindow(bDoEnable as Boolean)
+Dim oWindow as Object
+ oWindow = StarDesktop.CurrentFrame.ComponentWindow
+ oWindow.Enable = bDoEnable
+End Sub
+
+
+Function CheckNewSheetname(oSheets as Object, Sheetname as String, Optional oLocale) as String
+Dim nStartFlags as Long
+Dim nContFlags as Long
+Dim oCharService as Object
+Dim iSheetNameLength as Integer
+Dim iResultPos as Integer
+Dim WrongChar as String
+Dim oResult as Object
+ nStartFlags = com.sun.star.i18n.KParseTokens.ANY_LETTER_OR_NUMBER + com.sun.star.i18n.KParseTokens.ASC_UNDERSCORE
+ nContFlags = nStartFlags
+ oCharService = CreateUnoService(&quot;com.sun.star.i18n.CharacterClassification&quot;)
+ iSheetNameLength = Len(SheetName)
+ If IsMissing(oLocale) Then
+ oLocale = ThisComponent.CharLocale
+ End If
+ Do
+ oResult =oCharService.parsePredefinedToken(com.sun.star.i18n.KParseType.IDENTNAME, SheetName, 0, oLocale, nStartFlags, &quot;&quot;, nContFlags, &quot; &quot;)
+ iResultPos = oResult.EndPos
+ If iResultPos &lt; iSheetNameLength Then
+ WrongChar = Mid(SheetName, iResultPos+1,1)
+ SheetName = ReplaceString(SheetName,&quot;_&quot;, WrongChar)
+ End If
+ Loop Until iResultPos = iSheetNameLength
+ CheckNewSheetname = SheetName
+End Function
+
+
+Sub AddNewSheetName(oSheets as Object, ByVal SheetName as String)
+Dim Count as Integer
+Dim bSheetIsThere as Boolean
+Dim iSheetNameLength as Integer
+ iSheetNameLength = Len(SheetName)
+ Count = 2
+ Do
+ bSheetIsThere = oSheets.HasByName(SheetName)
+ If bSheetIsThere Then
+ SheetName = Right(SheetName,iSheetNameLength) &amp; &quot;_&quot; &amp; Count
+ Count = Count + 1
+ End If
+ Loop Until Not bSheetIsThere
+ AddNewSheetname = SheetName
+End Sub
+
+
+Function GetSheetIndex(oSheets, sName) as Integer
+Dim i as Integer
+ For i = 0 To oSheets.Count-1
+ If oSheets(i).Name = sName Then
+ GetSheetIndex = i
+ exit Function
+ End If
+ Next i
+ GetSheetIndex = -1
+End Function
+
+
+Function GetLastUsedRow(oSheet as Object) as Integer
+Dim oCell As Object
+Dim oCursor As Object
+Dim aAddress As Variant
+ oCell = oSheet.GetCellbyPosition(0, 0)
+ oCursor = oSheet.createCursorByRange(oCell)
+ oCursor.GotoEndOfUsedArea(True)
+ aAddress = oCursor.RangeAddress
+ GetLastUsedRow = aAddress.EndRow
+End Function
+
+
+&apos; Note To set a one lined frame you have to set the inner width to 0
+&apos; In the API all Units that refer to pt-Heights are &quot;1/100mm&quot;
+&apos; The convert factor from 1pt to 1/100 mm is approximately 35
+Function ModifyBorderLineWidth(ByVal oStyleBorder, iInnerLineWidth as Integer, iOuterLineWidth as Integer)
+Dim aBorder as New com.sun.star.table.BorderLine
+ aBorder = oStyleBorder
+ aBorder.InnerLineWidth = iInnerLineWidth
+ aBorder.OuterLineWidth = iOuterLineWidth
+ ModifyBorderLineWidth = aBorder
+End Function
+
+
+Sub AttachBasicMacroToEvent(oDocument as Object, EventName as String, SubPath as String)
+Dim PropValue(1) as new com.sun.star.beans.PropertyValue
+ PropValue(0).Name = &quot;EventType&quot;
+ PropValue(0).Value = &quot;StarBasic&quot;
+ PropValue(1).Name = &quot;Script&quot;
+ PropValue(1).Value = &quot;macro:///&quot; &amp; SubPath
+ oDocument.Events.ReplaceByName(EventName, PropValue())
+End Sub
+
+
+
+Function ModifyPropertyValue(oContent() as New com.sun.star.beans.PropertyValue, TargetProperties() as New com.sun.star.beans.PropertyValue)
+Dim MaxIndex as Integer
+Dim i as Integer
+Dim a as Integer
+ MaxIndex = Ubound(oContent())
+ bDoReplace = False
+ For i = 0 To MaxIndex
+ a = GetPropertyValueIndex(oContent(i).Name, TargetProperties())
+ If a &lt;&gt; -1 Then
+ If Vartype(TargetProperties(a).Value) &lt;&gt; 9 Then
+ If TargetProperties(a).Value &lt;&gt; oContent(i).Value Then
+ oContent(i).Value = TargetProperties(a).Value
+ bDoReplace = True
+ End If
+ Else
+ If Not EqualUnoObjects(TargetProperties(a).Value, oContent(i).Value) Then
+ oContent(i).Value = TargetProperties(a).Value
+ bDoReplace = True
+ End If
+ End If
+ End If
+ Next i
+ ModifyPropertyValue() = bDoReplace
+End Function
+
+
+Function GetPropertyValueIndex(SearchName as String, TargetProperties() as New com.sun.star.beans.PropertyValue ) as Integer
+Dim i as Integer
+ For i = 0 To Ubound(TargetProperties())
+ If Searchname = TargetProperties(i).Name Then
+ GetPropertyValueIndex = i
+ Exit Function
+ End If
+ Next i
+ GetPropertyValueIndex() = -1
+End Function
+
+
+Sub DispatchSlot(SlotID as Integer)
+Dim oArg() as new com.sun.star.beans.PropertyValue
+Dim oUrl as new com.sun.star.util.URL
+Dim oTrans as Object
+Dim oDisp as Object
+ oTrans = createUNOService(&quot;com.sun.star.util.URLTransformer&quot;)
+ oUrl.Complete = &quot;slot:&quot; &amp; CStr(SlotID)
+ oTrans.parsestrict(oUrl)
+ oDisp = StarDesktop.ActiveFrame.queryDispatch(oUrl, &quot;_self&quot;, 0)
+ oDisp.dispatch(oUrl, oArg())
+End Sub
+
+
+&apos;returns the type of the office application
+&apos;FatOffice = 0, WebTop = 1
+&apos;This routine has to be changed if the Product Name is being changed!
+Function IsFatOffice() As Boolean
+ If sProductname = &quot;&quot; Then
+ sProductname = GetProductname()
+ End If
+ IsFatOffice = TRUE
+ &apos;The following line has to include the current productname
+ If Instr(1,sProductname,&quot;WebTop&quot;,1) &lt;&gt; 0 Then
+ IsFatOffice = FALSE
+ End If
+End Function
+
+
+Function GetLocale(sLanguage as String, sCountry as String)
+Dim oLocale as New com.sun.star.lang.Locale
+ oLocale.Language = sLanguage
+ oLocale.Country = sCountry
+ GetLocale = oLocale
+End Function
+
+
+Sub ToggleDesignMode(oDocument as Object)
+Dim aSwitchMode as new com.sun.star.util.URL
+ aSwitchMode.Complete = &quot;.uno:SwitchControlDesignMode&quot;
+ aTransformer = createUnoService(&quot;com.sun.star.util.URLTransformer&quot;)
+ aTransformer.parseStrict(aSwitchMode)
+ oFrame = oDocument.currentController.Frame
+ oDispatch = oFrame.queryDispatch(aSwitchMode, oFrame.Name, 63)
+ Dim aEmptyArgs() as New com.sun.star.bean.PropertyValue
+ oDispatch.dispatch(aSwitchMode, aEmptyArgs())
+ Erase aSwitchMode
+End Sub
+
+
+Function isHighContrast(oPeer as Object)
+ Dim UIColor as Long
+ Dim myRed as Integer
+ Dim myGreen as Integer
+ Dim myBlue as Integer
+ Dim myLuminance as Double
+
+ UIColor = oPeer.getProperty( &quot;DisplayBackgroundColor&quot; )
+ myRed = Red (UIColor)
+ myGreen = Green (UIColor)
+ myBlue = Blue (UIColor)
+ myLuminance = (( myBlue*28 + myGreen*151 + myRed*77 ) / 256 )
+ isHighContrast = false
+ If myLuminance &lt;= 25 Then isHighContrast = true
+End Function
+
+
+Function CreateNewDocument(sType as String, Optional sAddMsg as String) as Object
+Dim NoArgs() as new com.sun.star.beans.PropertyValue
+Dim oDocument as Object
+Dim sUrl as String
+Dim ErrMsg as String
+ On Local Error Goto NOMODULEINSTALLED
+ sUrl = &quot;private:factory/&quot; &amp; sType
+ oDocument = StarDesktop.LoadComponentFromURL(sUrl,&quot;_default&quot;,0, NoArgs())
+NOMODULEINSTALLED:
+ If (Err &lt;&gt; 0) OR IsNull(oDocument) Then
+ If InitResources(&quot;&quot;, &quot;com&quot;) Then
+ Select Case sType
+ Case &quot;swriter&quot;
+ ErrMsg = GetResText(1001)
+ Case &quot;scalc&quot;
+ ErrMsg = GetResText(1002)
+ Case &quot;simpress&quot;
+ ErrMsg = GetResText(1003)
+ Case &quot;sdraw&quot;
+ ErrMsg = GetResText(1004)
+ Case &quot;smath&quot;
+ ErrMsg = GetResText(1005)
+ Case Else
+ ErrMsg = &quot;Invalid Document Type!&quot;
+ End Select
+ ErrMsg = ReplaceString(ErrMsg, chr(13), &quot;&lt;BR&gt;&quot;)
+ If Not IsMissing(sAddMsg) Then
+ ErrMsg = ErrMsg &amp; chr(13) &amp; sAddMsg
+ End If
+ Msgbox(ErrMsg, 48, GetProductName())
+ End If
+ If Err &lt;&gt; 0 Then
+ Resume GOON
+ End If
+ End If
+GOON:
+ CreateNewDocument = oDocument
+End Function
+
+
+&apos; This Sub has been used in order to ensure that after disposing a document
+&apos; from the backing window it is returned to the backing window, so the
+&apos; office won&apos;t be closed
+Sub DisposeDocument(oDocument as Object)
+Dim dispatcher as Object
+Dim parser as Object
+Dim disp as Object
+Dim url as new com.sun.star.util.URL
+Dim NoArgs() as New com.sun.star.beans.PropertyValue
+Dim oFrame as Object
+ If Not IsNull(oDocument) Then
+ oDocument.setModified(false)
+ parser = createUnoService(&quot;com.sun.star.util.URLTransformer&quot;)
+ url.Complete = &quot;.uno:CloseDoc&quot;
+ parser.parseStrict(url)
+ oFrame = oDocument.CurrentController.Frame
+ disp = oFrame.queryDispatch(url,&quot;_self&quot;, com.sun.star.util.SearchFlags.NORM_WORD_ONLY)
+ disp.dispatch(url, NoArgs())
+ End If
+End Sub
+
+&apos;Function to calculate if the year is a leap year
+Function CalIsLeapYear(ByVal iYear as Integer) as Boolean
+ CalIsLeapYear = ((iYear Mod 4 = 0) And ((iYear Mod 100 &lt;&gt; 0) Or (iYear Mod 400 = 0)))
+End Function
+</script:module>
diff --git a/test/user-template/user/basic/Tools/ModuleControls.xba b/test/user-template/user/basic/Tools/ModuleControls.xba
new file mode 100644
index 000000000000..dc5ef02a5b7f
--- /dev/null
+++ b/test/user-template/user/basic/Tools/ModuleControls.xba
@@ -0,0 +1,370 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ModuleControls" script:language="StarBasic">Option Explicit
+
+Public DlgOverwrite as Object
+Public Const SBOVERWRITEUNDEFINED as Integer = 0
+Public Const SBOVERWRITECANCEL as Integer = 2
+Public Const SBOVERWRITEQUERY as Integer = 7
+Public Const SBOVERWRITEALWAYS as Integer = 6
+Public Const SBOVERWRITENEVER as Integer = 8
+Public iGeneralOverwrite as Integer
+
+
+
+&apos; Accepts the name of a control and returns the respective control model as object
+&apos; The Container can either be a whole document or a specific sheet of a Calc-Document
+&apos; &apos;CName&apos; is the name of the Control
+Function getControlModel(oContainer as Object, CName as String)
+Dim aForm, oForms as Object
+Dim i as Integer
+ oForms = oContainer.Drawpage.GetForms
+ For i = 0 To oForms.Count-1
+ aForm = oForms.GetbyIndex(i)
+ If aForm.HasByName(CName) Then
+ GetControlModel = aForm.GetbyName(CName)
+ Exit Function
+ End If
+ Next i
+ Msgbox(&quot;No Control with the name &apos;&quot; &amp; CName &amp; &quot;&apos; found&quot; , 16, GetProductName())
+End Function
+
+
+
+&apos; Gets the Shape of a Control( e. g. to reset the size or Position of the control
+&apos; Parameters:
+&apos; The &apos;oContainer&apos; is the Document or a specific sheet of a Calc - Document
+&apos; &apos;CName&apos; is the Name of the Control
+Function GetControlShape(oContainer as Object,CName as String)
+Dim i as integer
+Dim aShape as Object
+ For i = 0 to oContainer.DrawPage.Count-1
+ aShape = oContainer.DrawPage(i)
+ If HasUnoInterfaces(aShape, &quot;com.sun.star.drawing.XControlShape&quot;) then
+ If ashape.Control.Name = CName then
+ GetControlShape = aShape
+ exit Function
+ End If
+ End If
+ Next
+End Function
+
+
+&apos; Returns the View of a Control
+&apos; Parameters:
+&apos; The &apos;oContainer&apos; is the Document or a specific sheet of a Calc - Document
+&apos; The &apos;oController&apos; is always directly attached to the Document
+&apos; &apos;CName&apos; is the Name of the Control
+Function getControlView(oContainer , oController as Object, CName as String) as Object
+Dim aForm, oForms, oControlModel as Object
+Dim i as Integer
+ oForms = oContainer.DrawPage.Forms
+ For i = 0 To oForms.Count-1
+ aForm = oforms.GetbyIndex(i)
+ If aForm.HasByName(CName) Then
+ oControlModel = aForm.GetbyName(CName)
+ GetControlView = oController.GetControl(oControlModel)
+ Exit Function
+ End If
+ Next i
+ Msgbox(&quot;No Control with the name &apos;&quot; &amp; CName &amp; &quot;&apos; found&quot; , 16, GetProductName())
+End Function
+
+
+
+&apos; Parameters:
+&apos; The &apos;oContainer&apos; is the Document or a specific sheet of a Calc - Document
+&apos; &apos;CName&apos; is the Name of the Control
+Function DisposeControl(oContainer as Object, CName as String) as Boolean
+Dim aControl as Object
+
+ aControl = GetControlModel(oContainer,CName)
+ If not IsNull(aControl) Then
+ aControl.Dispose()
+ DisposeControl = True
+ Else
+ DisposeControl = False
+ End If
+End Function
+
+
+&apos; Returns a sequence of a group of controls like option buttons or checkboxes
+&apos; The &apos;oContainer&apos; is the Document or a specific sheet of a Calc - Document
+&apos; &apos;sGroupName&apos; is the Name of the Controlgroup
+Function GetControlGroupModel(oContainer as Object, sGroupName as String )
+Dim aForm, oForms As Object
+Dim aControlModel() As Object
+Dim i as integer
+
+ oForms = oContainer.DrawPage.Forms
+ For i = 0 To oForms.Count-1
+ aForm = oForms(i)
+ If aForm.HasbyName(sGroupName) Then
+ aForm.GetGroupbyName(sGroupName,aControlModel)
+ GetControlGroupModel = aControlModel
+ Exit Function
+ End If
+ Next i
+ Msgbox(&quot;No Controlgroup with the name &apos;&quot; &amp; sGroupName &amp; &quot;&apos; found&quot; , 16, GetProductName())
+End Function
+
+
+&apos; Returns the Referencevalue of a group of e.g. option buttons or check boxes
+&apos; &apos;oControlGroup&apos; is a sequence of the Control objects
+Function GetRefValue(oControlGroup() as Object)
+Dim i as Integer
+ For i = 0 To Ubound(oControlGroup())
+&apos; oControlGroup(i).DefaultState = oControlGroup(i).State
+ If oControlGroup(i).State Then
+ GetRefValue = oControlGroup(i).RefValue
+ exit Function
+ End If
+ Next
+ GetRefValue() = -1
+End Function
+
+
+Function GetRefValueOfControlGroup(oContainer as Object, GroupName as String)
+Dim oOptGroup() as Object
+Dim iRef as Integer
+ oOptGroup() = GetControlGroupModel(oContainer, GroupName)
+ iRef = GetRefValue(oOptGroup())
+ GetRefValueofControlGroup = iRef
+End Function
+
+
+Function GetOptionGroupValue(oContainer as Object, OptGroupName as String) as Boolean
+Dim oRulesOptions() as Object
+ oRulesOptions() = GetControlGroupModel(oContainer, OptGroupName)
+ GetOptionGroupValue = oRulesOptions(0).State
+End Function
+
+
+
+Function WriteOptValueToCell(oSheet as Object, OptGroupName as String, iCol as Integer, iRow as Integer) as Boolean
+Dim bOptValue as Boolean
+Dim oCell as Object
+ bOptValue = GetOptionGroupValue(oSheet, OptGroupName)
+ oCell = oSheet.GetCellByPosition(iCol, iRow)
+ oCell.SetValue(ABS(CInt(bOptValue)))
+ WriteOptValueToCell() = bOptValue
+End Function
+
+
+Function LoadDialog(Libname as String, DialogName as String, Optional oLibContainer)
+Dim oLib as Object
+Dim oLibDialog as Object
+Dim oRuntimeDialog as Object
+ If IsMissing(oLibContainer ) then
+ oLibContainer = DialogLibraries
+ End If
+ oLibContainer.LoadLibrary(LibName)
+ oLib = oLibContainer.GetByName(Libname)
+ oLibDialog = oLib.GetByName(DialogName)
+ oRuntimeDialog = CreateUnoDialog(oLibDialog)
+ LoadDialog() = oRuntimeDialog
+End Function
+
+
+Sub GetFolderName(oRefModel as Object)
+Dim oFolderDialog as Object
+Dim iAccept as Integer
+Dim sPath as String
+Dim InitPath as String
+Dim RefControlName as String
+Dim oUcb as object
+ &apos;Note: The following services have to be called in the following order
+ &apos; because otherwise Basic does not remove the FileDialog Service
+ oFolderDialog = CreateUnoService(&quot;com.sun.star.ui.dialogs.FolderPicker&quot;)
+ oUcb = createUnoService(&quot;com.sun.star.ucb.SimpleFileAccess&quot;)
+ InitPath = ConvertToUrl(oRefModel.Text)
+ If InitPath = &quot;&quot; Then
+ InitPath = GetPathSettings(&quot;Work&quot;)
+ End If
+ If oUcb.Exists(InitPath) Then
+ oFolderDialog.SetDisplayDirectory(InitPath)
+ End If
+ iAccept = oFolderDialog.Execute()
+ If iAccept = 1 Then
+ sPath = oFolderDialog.GetDirectory()
+ If oUcb.Exists(sPath) Then
+ oRefModel.Text = ConvertFromUrl(sPath)
+ End If
+ End If
+End Sub
+
+
+Sub GetFileName(oRefModel as Object, Filternames())
+Dim oFileDialog as Object
+Dim iAccept as Integer
+Dim sPath as String
+Dim InitPath as String
+Dim RefControlName as String
+Dim oUcb as object
+&apos;Dim ListAny(0)
+ &apos;Note: The following services have to be called in the following order
+ &apos; because otherwise Basic does not remove the FileDialog Service
+ oFileDialog = CreateUnoService(&quot;com.sun.star.ui.dialogs.FilePicker&quot;)
+ oUcb = createUnoService(&quot;com.sun.star.ucb.SimpleFileAccess&quot;)
+ &apos;ListAny(0) = com.sun.star.ui.dialogs.TemplateDescription.FILEOPEN_SIMPLE
+ &apos;oFileDialog.initialize(ListAny())
+ AddFiltersToDialog(FilterNames(), oFileDialog)
+ InitPath = ConvertToUrl(oRefModel.Text)
+ If InitPath = &quot;&quot; Then
+ InitPath = GetPathSettings(&quot;Work&quot;)
+ End If
+ If oUcb.Exists(InitPath) Then
+ oFileDialog.SetDisplayDirectory(InitPath)
+ End If
+ iAccept = oFileDialog.Execute()
+ If iAccept = 1 Then
+ sPath = oFileDialog.Files(0)
+ If oUcb.Exists(sPath) Then
+ oRefModel.Text = ConvertFromUrl(sPath)
+ End If
+ End If
+ oFileDialog.Dispose()
+End Sub
+
+
+Function StoreDocument(oDocument as Object, FilterNames() as String, DefaultName as String, DisplayDirectory as String, Optional iAddProcedure as Integer) as String
+Dim NoArgs() as New com.sun.star.beans.PropertyValue
+Dim oStoreProperties(0) as New com.sun.star.beans.PropertyValue
+Dim oStoreDialog as Object
+Dim iAccept as Integer
+Dim sPath as String
+Dim ListAny(0) as Long
+Dim UIFilterName as String
+Dim FilterName as String
+Dim FilterIndex as Integer
+ ListAny(0) = com.sun.star.ui.dialogs.TemplateDescription.FILESAVE_AUTOEXTENSION_PASSWORD
+ oStoreDialog = CreateUnoService(&quot;com.sun.star.ui.dialogs.FilePicker&quot;)
+ oStoreDialog.Initialize(ListAny())
+ AddFiltersToDialog(FilterNames(), oStoreDialog)
+ oStoreDialog.SetDisplayDirectory(DisplayDirectory)
+ oStoreDialog.SetDefaultName(DefaultName)
+ oStoreDialog.setValue(com.sun.star.ui.dialogs.ExtendedFilePickerElementIds.CHECKBOX_AUTOEXTENSION,0, true)
+
+ iAccept = oStoreDialog.Execute()
+ If iAccept = 1 Then
+ sPath = oStoreDialog.Files(0)
+ UIFilterName = oStoreDialog.GetCurrentFilter()
+ FilterIndex = IndexInArray(UIFilterName, FilterNames())
+ FilterName = FilterNames(FilterIndex,2)
+ If Not IsMissing(iAddProcedure) Then
+ Select Case iAddProcedure
+ Case 1
+ CommitLastDocumentChanges(sPath)
+ End Select
+ End If
+ On Local Error Goto NOSAVING
+ If FilterName = &quot;&quot; Then
+ &apos; Todo: Catch the case that a document that has to be overwritten is writeportected (e.g. it is open)
+ oDocument.StoreAsUrl(sPath, NoArgs())
+ Else
+ oStoreProperties(0).Name = &quot;FilterName&quot;
+ oStoreProperties(0).Value = FilterName
+ oDocument.StoreAsUrl(sPath, oStoreProperties())
+ End If
+ End If
+ oStoreDialog.dispose()
+ StoreDocument() = sPath
+ Exit Function
+NOSAVING:
+ If Err &lt;&gt; 0 Then
+&apos; Msgbox(&quot;Document cannot be saved under &apos;&quot; &amp; ConvertFromUrl(sPath) &amp; &quot;&apos;&quot;, 48, GetProductName())
+ sPath = &quot;&quot;
+ oStoreDialog.dispose()
+ Resume NOERROR
+ NOERROR:
+ End If
+End Function
+
+
+Sub AddFiltersToDialog(FilterNames() as String, oDialog as Object)
+Dim i as Integer
+Dim MaxIndex as Integer
+Dim ViewFiltername as String
+Dim oProdNameAccess as Object
+Dim sProdName as String
+ oProdNameAccess = GetRegistryKeyContent(&quot;org.openoffice.Setup/Product&quot;)
+ sProdName = oProdNameAccess.getByName(&quot;ooName&quot;)
+ MaxIndex = Ubound(FilterNames(), 1)
+ For i = 0 To MaxIndex
+ Filternames(i,0) = ReplaceString(Filternames(i,0), sProdName,&quot;%productname%&quot;)
+ oDialog.AppendFilter(FilterNames(i,0), FilterNames(i,1))
+ Next i
+ oDialog.SetCurrentFilter(FilterNames(0,0)
+End Sub
+
+
+Sub SwitchMousePointer(oWindowPeer as Object, bDoEnable as Boolean)
+Dim oWindowPointer as Object
+ oWindowPointer = CreateUnoService(&quot;com.sun.star.awt.Pointer&quot;)
+ If bDoEnable Then
+ oWindowPointer.SetType(com.sun.star.awt.SystemPointer.ARROW)
+ Else
+ oWindowPointer.SetType(com.sun.star.awt.SystemPointer.WAIT)
+ End If
+ oWindowPeer.SetPointer(oWindowPointer)
+End Sub
+
+
+Sub ShowOverwriteAllDialog(FilePath as String, sTitle as String)
+Dim QueryString as String
+Dim LocRetValue as Integer
+Dim lblYes as String
+Dim lblNo as String
+Dim lblYesToAll as String
+Dim lblCancel as String
+Dim OverwriteModel as Object
+ If InitResources(GetProductName(), &quot;dbw&quot;) Then
+ QueryString = GetResText(507)
+ QueryString = ReplaceString(QueryString, ConvertFromUrl(FilePath), &quot;&lt;PATH&gt;&quot;)
+ If Len(QueryString) &gt; 190 Then
+ QueryString = DeleteStr(QueryString, &quot;.&lt;BR&gt;&quot;)
+ End If
+ QueryString = ReplaceString(QueryString, chr(13), &quot;&lt;BR&gt;&quot;)
+ lblYes = GetResText(508)
+ lblYesToAll = GetResText(509)
+ lblNo = GetResText(510)
+ lblCancel = GetResText(511)
+ DlgOverwrite = LoadDialog(&quot;Tools&quot;, &quot;DlgOverwriteAll&quot;)
+ DlgOverwrite.Title = sTitle
+ OverwriteModel = DlgOverwrite.Model
+ OverwriteModel.cmdYes.Label = lblYes
+ OverwriteModel.cmdYesToAll.Label = lblYesToAll
+ OverwriteModel.cmdNo.Label = lblNo
+ OverwriteModel.cmdCancel.Label = lblCancel
+ OverwriteModel.lblQueryforSave.Label = QueryString
+ OverwriteModel.cmdNo.DefaultButton = True
+ DlgOverwrite.GetControl(&quot;cmdNo&quot;).SetFocus()
+ iGeneralOverwrite = 999
+ LocRetValue = DlgOverwrite.execute()
+ If iGeneralOverwrite = 999 Then
+ iGeneralOverwrite = SBOVERWRITECANCEL
+ End If
+ DlgOverwrite.dispose()
+ Else
+ iGeneralOverwrite = SBOVERWRITECANCEL
+ End If
+End Sub
+
+
+Sub SetOVERWRITEToQuery()
+ iGeneralOverwrite = SBOVERWRITEQUERY
+ DlgOverwrite.EndExecute()
+End Sub
+
+
+Sub SetOVERWRITEToAlways()
+ iGeneralOverwrite = SBOVERWRITEALWAYS
+ DlgOverwrite.EndExecute()
+End Sub
+
+
+Sub SetOVERWRITEToNever()
+ iGeneralOverwrite = SBOVERWRITENEVER
+ DlgOverwrite.EndExecute()
+End Sub
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Tools/Strings.xba b/test/user-template/user/basic/Tools/Strings.xba
new file mode 100644
index 000000000000..a2a8907e02f2
--- /dev/null
+++ b/test/user-template/user/basic/Tools/Strings.xba
@@ -0,0 +1,452 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Strings" script:language="StarBasic">Option Explicit
+Public sProductname as String
+
+
+&apos; Deletes out of a String &apos;BigString&apos; all possible PartStrings, that are summed up
+&apos; in the Array &apos;ElimArray&apos;
+Function ElimChar(ByVal BigString as String, ElimArray() as String)
+Dim i% ,n%
+ For i = 0 to Ubound(ElimArray)
+ BigString = DeleteStr(BigString,ElimArray(i)
+ Next
+ ElimChar = BigString
+End Function
+
+
+&apos; Deletes out of a String &apos;BigString&apos; a possible Partstring &apos;CompString&apos;
+Function DeleteStr(ByVal BigString,CompString as String) as String
+Dim i%, CompLen%, BigLen%
+ CompLen = Len(CompString)
+ i = 1
+ While i &lt;&gt; 0
+ i = Instr(i, BigString,CompString)
+ If i &lt;&gt; 0 then
+ BigLen = Len(BigString)
+ BigString = Mid(BigString,1,i-1) + Mid(BigString,i+CompLen,BigLen-i+1-CompLen)
+ End If
+ Wend
+ DeleteStr = BigString
+End Function
+
+
+&apos; Finds a PartString, that is framed by the Strings &apos;Prestring&apos; and &apos;PostString&apos;
+Function FindPartString(BigString, PreString, PostString as String, SearchPos as Integer) as String
+Dim StartPos%, EndPos%
+Dim BigLen%, PreLen%, PostLen%
+ StartPos = Instr(SearchPos,BigString,PreString)
+ If StartPos &lt;&gt; 0 Then
+ PreLen = Len(PreString)
+ EndPos = Instr(StartPos + PreLen,BigString,PostString)
+ If EndPos &lt;&gt; 0 Then
+ BigLen = Len(BigString)
+ PostLen = Len(PostString)
+ FindPartString = Mid(BigString,StartPos + PreLen, EndPos - (StartPos + PreLen))
+ SearchPos = EndPos + PostLen
+ Else
+ Msgbox(&quot;No final tag for &apos;&quot; &amp; PreString &amp; &quot;&apos; existing&quot;, 16, GetProductName())
+ FindPartString = &quot;&quot;
+ End If
+ Else
+ FindPartString = &quot;&quot;
+ End If
+End Function
+
+
+&apos; Note iCompare = 0 (Binary comparison)
+&apos; iCompare = 1 (Text comparison)
+Function PartStringInArray(BigArray(), SearchString as String, iCompare as Integer) as Integer
+Dim MaxIndex as Integer
+Dim i as Integer
+ MaxIndex = Ubound(BigArray())
+ For i = 0 To MaxIndex
+ If Instr(1, BigArray(i), SearchString, iCompare) &lt;&gt; 0 Then
+ PartStringInArray() = i
+ Exit Function
+ End If
+ Next i
+ PartStringInArray() = -1
+End Function
+
+
+&apos; Deletes the String &apos;SmallString&apos; out of the String &apos;BigString&apos;
+&apos; in case SmallString&apos;s Position in BigString is right at the end
+Function RTrimStr(ByVal BigString, SmallString as String) as String
+Dim SmallLen as Integer
+Dim BigLen as Integer
+ SmallLen = Len(SmallString)
+ BigLen = Len(BigString)
+ If Instr(1,BigString, SmallString) &lt;&gt; 0 Then
+ If Mid(BigString,BigLen + 1 - SmallLen, SmallLen) = SmallString Then
+ RTrimStr = Mid(BigString,1,BigLen - SmallLen)
+ Else
+ RTrimStr = BigString
+ End If
+ Else
+ RTrimStr = BigString
+ End If
+End Function
+
+
+&apos; Deletes the Char &apos;CompChar&apos; out of the String &apos;BigString&apos;
+&apos; in case CompChar&apos;s Position in BigString is right at the beginning
+Function LTRimChar(ByVal BigString as String,CompChar as String) as String
+Dim BigLen as integer
+ BigLen = Len(BigString)
+ If BigLen &gt; 1 Then
+ If Left(BigString,1) = CompChar then
+ BigString = Mid(BigString,2,BigLen-1)
+ End If
+ ElseIf BigLen = 1 Then
+ BigString = &quot;&quot;
+ End If
+ LTrimChar = BigString
+End Function
+
+
+&apos; Retrieves an Array out of a String.
+&apos; The fields of the Array are separated by the parameter &apos;Separator&apos;, that is contained
+&apos; in the Array
+&apos; The Array MaxIndex delivers the highest Index of this Array
+Function ArrayOutOfString(BigString, Separator as String, Optional MaxIndex as Integer)
+Dim LocList() as String
+ LocList=Split(BigString,Separator)
+
+ If not isMissing(MaxIndex) then maxIndex=ubound(LocList())
+
+ ArrayOutOfString=LocList
+End Function
+
+
+&apos; Deletes all fieldvalues in one-dimensional Array
+Sub ClearArray(BigArray)
+Dim i as integer
+ For i = Lbound(BigArray()) to Ubound(BigArray())
+ BigArray(i) = &quot;&quot;
+ Next
+End Sub
+
+
+&apos; Deletes all fieldvalues in a multidimensional Array
+Sub ClearMultiDimArray(BigArray,DimCount as integer)
+Dim n%, m%
+ For n = Lbound(BigArray(),1) to Ubound(BigArray(),1)
+ For m = 0 to Dimcount - 1
+ BigArray(n,m) = &quot;&quot;
+ Next m
+ Next n
+End Sub
+
+
+&apos; Checks if a Field (LocField) is already defined in an Array
+&apos; Returns &apos;True&apos; or &apos;False&apos;
+Function FieldinArray(LocArray(), MaxIndex as integer, LocField as String) As Boolean
+Dim i as integer
+ For i = Lbound(LocArray()) to MaxIndex
+ If Ucase(LocArray(i)) = Ucase(LocField) Then
+ FieldInArray = True
+ Exit Function
+ End if
+ Next
+ FieldInArray = False
+End Function
+
+
+&apos; Checks if a Field (LocField) is already defined in an Array
+&apos; Returns &apos;True&apos; or &apos;False&apos;
+Function FieldinList(LocField, BigList()) As Boolean
+Dim i as integer
+ For i = Lbound(BigList()) to Ubound(BigList())
+ If LocField = BigList(i) Then
+ FieldInList = True
+ Exit Function
+ End if
+ Next
+ FieldInList = False
+End Function
+
+
+&apos; Retrieves the Index of the delivered String &apos;SearchString&apos; in
+&apos; the Array LocList()&apos;
+Function IndexinArray(SearchString as String, LocList()) as Integer
+Dim i as integer
+ For i = Lbound(LocList(),1) to Ubound(LocList(),1)
+ If Ucase(LocList(i,0)) = Ucase(SearchString) Then
+ IndexinArray = i
+ Exit Function
+ End if
+ Next
+ IndexinArray = -1
+End Function
+
+
+Sub MultiArrayInListbox(oDialog as Object, ListboxName as String, ValList(), iDim as Integer)
+Dim oListbox as Object
+Dim i as integer
+Dim a as Integer
+ a = 0
+ oListbox = oDialog.GetControl(ListboxName)
+ oListbox.RemoveItems(0, oListbox.GetItemCount)
+ For i = 0 to Ubound(ValList(), 1)
+ If ValList(i) &lt;&gt; &quot;&quot; Then
+ oListbox.AddItem(ValList(i, iDim-1), a)
+ a = a + 1
+ End If
+ Next
+End Sub
+
+
+&apos; Searches for a String in a two-dimensional Array by querying all Searchindexex of the second dimension
+&apos; and delivers the specific String of the ReturnIndex in the second dimension of the Searchlist()
+Function StringInMultiArray(SearchList(), SearchString as String, SearchIndex as Integer, ReturnIndex as Integer, Optional MaxIndex as Integer) as String
+Dim i as integer
+Dim CurFieldString as String
+ If IsMissing(MaxIndex) Then
+ MaxIndex = Ubound(SearchList(),1)
+ End If
+ For i = Lbound(SearchList()) to MaxIndex
+ CurFieldString = SearchList(i,SearchIndex)
+ If Ucase(CurFieldString) = Ucase(SearchString) Then
+ StringInMultiArray() = SearchList(i,ReturnIndex)
+ Exit Function
+ End if
+ Next
+ StringInMultiArray() = &quot;&quot;
+End Function
+
+
+&apos; Searches for a Value in multidimensial Array by querying all Searchindices of the passed dimension
+&apos; and delivers the Index where it is found.
+Function GetIndexInMultiArray(SearchList(), SearchValue, SearchIndex as Integer) as Integer
+Dim i as integer
+Dim MaxIndex as Integer
+Dim CurFieldValue
+ MaxIndex = Ubound(SearchList(),1)
+ For i = Lbound(SearchList()) to MaxIndex
+ CurFieldValue = SearchList(i,SearchIndex)
+ If CurFieldValue = SearchValue Then
+ GetIndexInMultiArray() = i
+ Exit Function
+ End if
+ Next
+ GetIndexInMultiArray() = -1
+End Function
+
+
+&apos; Searches for a Value in multidimensial Array by querying all Searchindices of the passed dimension
+&apos; and delivers the Index where the Searchvalue is found as a part string
+Function GetIndexForPartStringinMultiArray(SearchList(), SearchValue, SearchIndex as Integer) as Integer
+Dim i as integer
+Dim MaxIndex as Integer
+Dim CurFieldValue
+ MaxIndex = Ubound(SearchList(),1)
+ For i = Lbound(SearchList()) to MaxIndex
+ CurFieldValue = SearchList(i,SearchIndex)
+ If Instr(CurFieldValue, SearchValue) &gt; 0 Then
+ GetIndexForPartStringinMultiArray() = i
+ Exit Function
+ End if
+ Next
+ GetIndexForPartStringinMultiArray = -1
+End Function
+
+
+Function ArrayfromMultiArray(MultiArray as String, iDim as Integer)
+Dim MaxIndex as Integer
+Dim i as Integer
+ MaxIndex = Ubound(MultiArray())
+ Dim ResultArray(MaxIndex) as String
+ For i = 0 To MaxIndex
+ ResultArray(i) = MultiArray(i,iDim)
+ Next i
+ ArrayfromMultiArray() = ResultArray()
+End Function
+
+
+&apos; Replaces the string &quot;OldReplace&quot; through the String &quot;NewReplace&quot; in the String
+&apos; &apos;BigString&apos;
+Function ReplaceString(ByVal Bigstring, NewReplace, OldReplace as String) as String
+ ReplaceString=join(split(BigString,OldReplace),NewReplace)
+End Function
+
+
+&apos; Retrieves the second value for a next to &apos;SearchString&apos; in
+&apos; a two-dimensional string-Array
+Function FindSecondValue(SearchString as String, TwoDimList() as String ) as String
+Dim i as Integer
+ For i = 0 To Ubound(TwoDimList,1)
+ If Ucase(SearchString) = Ucase(TwoDimList(i,0)) Then
+ FindSecondValue = TwoDimList(i,1)
+ Exit For
+ End If
+ Next
+End Function
+
+
+&apos; raises a base to a certain power
+Function Power(Basis as Double, Exponent as Double) as Double
+ Power = Exp(Exponent*Log(Basis))
+End Function
+
+
+&apos; rounds a Real to a given Number of Decimals
+Function Round(BaseValue as Double, Decimals as Integer) as Double
+Dim Multiplicator as Long
+Dim DblValue#, RoundValue#
+ Multiplicator = Power(10,Decimals)
+ RoundValue = Int(BaseValue * Multiplicator)
+ Round = RoundValue/Multiplicator
+End Function
+
+
+&apos;Retrieves the mere filename out of a whole path
+Function FileNameoutofPath(ByVal Path as String, Optional Separator as String) as String
+Dim i as Integer
+Dim SepList() as String
+ If IsMissing(Separator) Then
+ Path = ConvertFromUrl(Path)
+ Separator = GetPathSeparator()
+ End If
+ SepList() = ArrayoutofString(Path, Separator,i)
+ FileNameoutofPath = SepList(i)
+End Function
+
+
+Function GetFileNameExtension(ByVal FileName as String)
+Dim MaxIndex as Integer
+Dim SepList() as String
+ SepList() = ArrayoutofString(FileName,&quot;.&quot;, MaxIndex)
+ GetFileNameExtension = SepList(MaxIndex)
+End Function
+
+
+Function GetFileNameWithoutExtension(ByVal FileName as String, Optional Separator as String)
+Dim MaxIndex as Integer
+Dim SepList() as String
+ If not IsMissing(Separator) Then
+ FileName = FileNameoutofPath(FileName, Separator)
+ End If
+ SepList() = ArrayoutofString(FileName,&quot;.&quot;, MaxIndex)
+ GetFileNameWithoutExtension = RTrimStr(FileName, &quot;.&quot; &amp; SepList(MaxIndex)
+End Function
+
+
+Function DirectoryNameoutofPath(sPath as String, Separator as String) as String
+Dim LocFileName as String
+ LocFileName = FileNameoutofPath(sPath, Separator)
+ DirectoryNameoutofPath = RTrimStr(sPath, Separator &amp; LocFileName)
+End Function
+
+
+Function CountCharsinString(BigString, LocChar as String, ByVal StartPos as Integer) as Integer
+Dim LocCount%, LocPos%
+ LocCount = 0
+ Do
+ LocPos = Instr(StartPos,BigString,LocChar)
+ If LocPos &lt;&gt; 0 Then
+ LocCount = LocCount + 1
+ StartPos = LocPos+1
+ End If
+ Loop until LocPos = 0
+ CountCharsInString = LocCount
+End Function
+
+
+Function BubbleSortList(ByVal SortList(),optional sort2ndValue as Boolean)
+&apos;This function bubble sorts an array of maximum 2 dimensions.
+&apos;The default sorting order is the first dimension
+&apos;Only if sort2ndValue is True the second dimension is the relevant for the sorting order
+ Dim s as Integer
+ Dim t as Integer
+ Dim i as Integer
+ Dim k as Integer
+ Dim dimensions as Integer
+ Dim sortvalue as Integer
+ Dim DisplayDummy
+ dimensions = 2
+
+On Local Error Goto No2ndDim
+ k = Ubound(SortList(),2)
+ No2ndDim:
+ If Err &lt;&gt; 0 Then dimensions = 1
+
+ i = Ubound(SortList(),1)
+ If ismissing(sort2ndValue) then
+ sortvalue = 0
+ else
+ sortvalue = 1
+ end if
+
+ For s = 1 to i - 1
+ For t = 0 to i-s
+ Select Case dimensions
+ Case 1
+ If SortList(t) &gt; SortList(t+1) Then
+ DisplayDummy = SortList(t)
+ SortList(t) = SortList(t+1)
+ SortList(t+1) = DisplayDummy
+ End If
+ Case 2
+ If SortList(t,sortvalue) &gt; SortList(t+1,sortvalue) Then
+ For k = 0 to UBound(SortList(),2)
+ DisplayDummy = SortList(t,k)
+ SortList(t,k) = SortList(t+1,k)
+ SortList(t+1,k) = DisplayDummy
+ Next k
+ End If
+ End Select
+ Next t
+ Next s
+ BubbleSortList = SortList()
+End Function
+
+
+Function GetValueoutofList(SearchValue, BigList(), iDim as Integer, Optional ValueIndex)
+Dim i as Integer
+Dim MaxIndex as Integer
+ MaxIndex = Ubound(BigList(),1)
+ For i = 0 To MaxIndex
+ If BigList(i,0) = SearchValue Then
+ If Not IsMissing(ValueIndex) Then
+ ValueIndex = i
+ End If
+ GetValueOutOfList() = BigList(i,iDim)
+ End If
+ Next i
+End Function
+
+
+Function AddListtoList(ByVal FirstArray(), ByVal SecondArray(), Optional StartIndex)
+Dim n as Integer
+Dim m as Integer
+Dim MaxIndex as Integer
+ MaxIndex = Ubound(FirstArray()) + Ubound(SecondArray()) + 1
+ If MaxIndex &gt; -1 Then
+ Dim ResultArray(MaxIndex)
+ For m = 0 To Ubound(FirstArray())
+ ResultArray(m) = FirstArray(m)
+ Next m
+ For n = 0 To Ubound(SecondArray())
+ ResultArray(m) = SecondArray(n)
+ m = m + 1
+ Next n
+ AddListToList() = ResultArray()
+ Else
+ Dim NullArray()
+ AddListToList() = NullArray()
+ End If
+End Function
+
+
+Function CheckDouble(DoubleString as String)
+On Local Error Goto WRONGDATATYPE
+ CheckDouble() = CDbl(DoubleString)
+WRONGDATATYPE:
+ If Err &lt;&gt; 0 Then
+ CheckDouble() = 0
+ Resume NoErr:
+ End If
+NOERR:
+End Function
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Tools/UCB.xba b/test/user-template/user/basic/Tools/UCB.xba
new file mode 100644
index 000000000000..524afe60c4d9
--- /dev/null
+++ b/test/user-template/user/basic/Tools/UCB.xba
@@ -0,0 +1,294 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="UCB" script:language="StarBasic">&apos;Option explicit
+Public oDocument
+Public oDocInfo as object
+Const SBMAXDIRCOUNT = 10
+Dim CurDirMaxCount as Integer
+Dim sDirArray(SBMAXDIRCOUNT-1) as String
+Dim DirIndex As Integer
+Dim iDirCount as Integer
+Public bInterruptSearch as Boolean
+Public NoArgs()as New com.sun.star.beans.PropertyValue
+
+Sub Main()
+Dim LocsfileContent(0) as String
+ LocsfileContent(0) = &quot;*&quot;
+ ReadDirectories(&quot;file:///space&quot;, LocsfileContent(), True, False, false)
+End Sub
+
+&apos; ReadDirectories( sSourceDir, bRecursive, bCheckRealType, False, sFileContent(), sLocExtension)
+
+Function ReadDirectories(ByVal AnchorDir As String, bRecursive as Boolean, bcheckFileType as Boolean, bGetByTitle as Boolean, Optional sFileContent(), Optional sExtension as String)
+Dim i as integer
+Dim Status as Object
+Dim FileCountinDir as Integer
+Dim RealFileContent as String
+Dim FileName as string
+Dim oUcbObject as Object
+Dim DirContent()
+Dim CurIndex as Integer
+Dim MaxIndex as Integer
+Dim StartUbound as Integer
+Dim FileExtension as String
+ StartUbound = 5
+ MaxIndex = StartUBound
+ CurDirMaxCount = SBMAXDIRCOUNT
+Dim sFileArray(StartUbound,1) as String
+ On Local Error Goto FILESYSTEMPROBLEM:
+ CurIndex = -1
+ &apos; Todo: Is the last separator valid?
+ DirIndex = 0
+ sDirArray(iDirIndex) = AnchorDir
+ iDirCount = 1
+ oDocInfo = CreateUnoService(&quot;com.sun.star.document.DocumentProperties&quot;)
+ oUcbObject = createUnoService(&quot;com.sun.star.ucb.SimpleFileAccess&quot;)
+ If oUcbObject.Exists(AnchorDir) Then
+ Do
+ AnchorDir = sDirArray(DirIndex)
+ On Local Error Resume Next
+ DirContent() = oUcbObject.GetFolderContents(AnchorDir,True)
+ DirIndex = DirIndex + 1
+ On Local Error Goto 0
+ On Local Error Goto FILESYSTEMPROBLEM:
+ If Ubound(DirContent()) &lt;&gt; -1 Then
+ FileCountinDir = Ubound(DirContent())+ 1
+ For i = 0 to FilecountinDir -1
+ If bInterruptSearch = True Then
+ Exit Do
+ End If
+
+ Filename = DirContent(i)
+ If oUcbObject.IsFolder(FileName) Then
+ If brecursive Then
+ AddFoldertoList(FileName, DirIndex)
+ End If
+ Else
+ If bcheckFileType Then
+ RealFileContent = GetRealFileContent(FileName)
+ Else
+ RealFileContent = GetFileNameExtension(FileName)
+ End If
+ If RealFileContent &lt;&gt; &quot;&quot; Then
+ &apos; Retrieve the Index in the Array, where a Filename is positioned
+ If Not IsMissing(sFileContent()) Then
+ If (FieldinArray(sFileContent(), Ubound(sFileContent), RealFileContent)) Then
+ &apos; The extension of the current file passes the filter and is therefor admitted to the
+ &apos; fileList
+ If Not IsMissing(sExtension) Then
+ If sExtension &lt;&gt; &quot;&quot; Then
+ &apos; Consider that some Formats like old StarOffice Templates with the extension &quot;.vor&quot; can only be
+ &apos; precisely identified by their mimetype and their extension
+ FileExtension = GetFileNameExtension(FileName)
+ If FileExtension = sExtension Then
+ AddFileNameToList(sFileArray(), FileName, RealFileContent, bGetByTitle, CurIndex)
+ End If
+ Else
+ AddFileNameToList(sFileArray(), FileName, RealFileContent, bGetByTitle, CurIndex)
+ End If
+ Else
+ AddFileNameToList(sFileArray(), FileName, RealFileContent, bGetByTitle, CurIndex)
+ End If
+ End If
+ Else
+ AddFileNameToList(sFileArray(), FileName, RealFileContent, bGetByTitle, CurIndex)
+ End If
+ If CurIndex = MaxIndex Then
+ MaxIndex = MaxIndex + StartUbound
+ ReDim Preserve sFileArray(MaxIndex,1) as String
+ End If
+ End If
+ End If
+ Next i
+ End If
+ Loop Until DirIndex &gt;= iDirCount
+ If CurIndex &gt; -1 Then
+ ReDim Preserve sFileArray(CurIndex,1) as String
+ Else
+ ReDim sFileArray() as String
+ End If
+ Else
+ Msgbox(&quot;Directory &apos;&quot; &amp; ConvertFromUrl(AnchorDir) &amp; &quot;&apos; does not exist!&quot;, 16, GetProductName())
+ End If
+ ReadDirectories() = sFileArray()
+ Exit Function
+
+ FILESYSTEMPROBLEM:
+ Msgbox(&quot;Sorry, Filesystem Problem&quot;)
+ ReadDirectories() = sFileArray()
+ Resume LEAVEPROC
+ LEAVEPROC:
+End Function
+
+
+Sub AddFoldertoList(sDirURL as String, iDirIndex)
+ iDirCount = iDirCount + 1
+ If iDirCount = CurDirMaxCount Then
+ CurDirMaxCount = CurDirMaxCount + SBMAXDIRCOUNT
+ ReDim Preserve sDirArray(CurDirMaxCount) as String
+ End If
+ sDirArray(iDirCount-1) = sDirURL
+End Sub
+
+
+Sub AddFileNameToList(sFileArray(), FileName as String, FileContent as String, bGetByTitle as Boolean, CurIndex)
+Dim FileCount As Integer
+ CurIndex = CurIndex + 1
+ sFileArray(CurIndex,0) = FileName
+ If bGetByTitle Then
+ sFileArray(CurIndex,1) = RetrieveDocTitle(oDocInfo, FileName)
+ &apos; Add the documenttitles to the Filearray
+ Else
+ sFileArray(CurIndex,1) = FileContent
+ End If
+End Sub
+
+
+Function RetrieveDocTitle(oDocProps as Object, sFileName as String) As String
+Dim sDocTitle as String
+ On Local Error Goto NOFILE
+ oDocProps.loadFromMedium(sFileName, NoArgs())
+ sDocTitle = oDocProps.Title
+ NOFILE:
+ If Err &lt;&gt; 0 Then
+ RetrieveDocTitle = &quot;&quot;
+ RESUME CLR_ERROR
+ End If
+ CLR_ERROR:
+ If sDocTitle = &quot;&quot; Then
+ sDocTitle = GetFileNameWithoutExtension(sFilename, &quot;/&quot;)
+ End If
+ RetrieveDocTitle = sDocTitle
+End Function
+
+
+&apos; Retrieves The Filecontent of a Document by extracting the content
+&apos; from the Header of the document
+Function GetRealFileContent(FileName as String) As String
+ On Local Error Goto NOFILE
+ oTypeDetect = createUnoService(&quot;com.sun.star.document.TypeDetection&quot;)
+ GetRealFileContent = oTypeDetect.queryTypeByURL(FileName)
+ NOFILE:
+ If Err &lt;&gt; 0 Then
+ GetRealFileContent = &quot;&quot;
+ resume CLR_ERROR
+ End If
+ CLR_ERROR:
+End Function
+
+
+Function CopyRecursively(SourceFilePath as String, SourceStemDir as String, TargetStemDir as String)
+Dim TargetDir as String
+Dim TargetFile as String
+
+ TargetFile= ReplaceString(SourceFilePath, TargetStemDir, SourceStemDir)
+ TargetFileName = FileNameoutofPath(TargetFile,&quot;/&quot;)
+ TargetDir = DeleteStr(TargetFile, TargetFileName)
+ CreateFolder(TargetDir)
+ CopyRecursively() = TargetFile
+End Function
+
+
+&apos; Opens a help url referenced by a Help ID that is retrieved from the calling button tag
+Sub ShowHelperDialog(aEvent)
+Dim oSystemNode as Object
+Dim sSystem as String
+Dim oLanguageNode as Object
+Dim sLocale as String
+Dim sLocaleList() as String
+Dim sLanguage as String
+Dim sHelpUrl as String
+Dim sDocType as String
+ HelpID = aEvent.Source.Model.Tag
+ oLocDocument = StarDesktop.ActiveFrame.Controller.Model
+ sDocType = GetDocumentType(oLocDocument)
+ oSystemNode = GetRegistryKeyContent(&quot;org.openoffice.Office.Common/Help&quot;)
+ sSystem = oSystemNode.GetByName(&quot;System&quot;)
+ oLanguageNode = GetRegistryKeyContent(&quot;org.openoffice.Setup/L10N/&quot;)
+ sLocale = oLanguageNode.getByName(&quot;ooLocale&quot;)
+ sLocaleList() = ArrayoutofString(sLocale, &quot;-&quot;)
+ sLanguage = sLocaleList(0)
+ sHelpUrl = &quot;vnd.sun.star.help://&quot; &amp; sDocType &amp; &quot;/&quot; &amp; HelpID &amp; &quot;?Language=&quot; &amp; sLanguage &amp; &quot;&amp;System=&quot; &amp; sSystem
+ StarDesktop.LoadComponentfromUrl(sHelpUrl, &quot;OFFICE_HELP&quot;, 63, NoArgs())
+End Sub
+
+
+Sub SaveDataToFile(FilePath as String, DataList())
+Dim FileChannel as Integer
+Dim i as Integer
+Dim oFile as Object
+Dim oOutputStream as Object
+Dim oStreamString as Object
+Dim oUcb as Object
+Dim sCRLF as String
+
+ sCRLF = CHR(13) &amp; CHR(10)
+ oUcb = createUnoService(&quot;com.sun.star.ucb.SimpleFileAccess&quot;)
+ oOutputStream = createUnoService(&quot;com.sun.star.io.TextOutputStream&quot;)
+ If oUcb.Exists(FilePath) Then
+ oUcb.Kill(FilePath)
+ End If
+ oFile = oUcb.OpenFileReadWrite(FilePath)
+ oOutputStream.SetOutputStream(oFile.GetOutputStream)
+ For i = 0 To Ubound(DataList())
+ oOutputStream.WriteString(DataList(i) &amp; sCRLF)
+ Next i
+ oOutputStream.CloseOutput()
+End Sub
+
+
+Function LoadDataFromFile(FilePath as String, DataList()) as Boolean
+Dim oInputStream as Object
+Dim i as Integer
+Dim oUcb as Object
+Dim oFile as Object
+Dim MaxIndex as Integer
+ oUcb = createUnoService(&quot;com.sun.star.ucb.SimpleFileAccess&quot;)
+ If oUcb.Exists(FilePath) Then
+ MaxIndex = 10
+ oInputStream = createUnoService(&quot;com.sun.star.io.TextInputStream&quot;)
+ oFile = oUcb.OpenFileReadWrite(FilePath)
+ oInputStream.SetInputStream(oFile.GetInputStream)
+ i = -1
+ Redim Preserve DataList(MaxIndex)
+ While Not oInputStream.IsEOF
+ i = i + 1
+ If i &gt; MaxIndex Then
+ MaxIndex = MaxIndex + 10
+ Redim Preserve DataList(MaxIndex)
+ End If
+ DataList(i) = oInputStream.ReadLine
+ Wend
+ If i &gt; -1 And i &lt;&gt; MaxIndex Then
+ Redim Preserve DataList(i)
+ End If
+ LoadDataFromFile() = True
+ oInputStream.CloseInput()
+ Else
+ LoadDataFromFile() = False
+ End If
+End Function
+
+
+Function CreateFolder(sNewFolder) as Boolean
+Dim oUcb as Object
+ oUcb = createUnoService(&quot;com.sun.star.ucb.SimpleFileAccess&quot;)
+ On Local Error Goto NOSPACEONDRIVE
+ If Not oUcb.Exists(sNewFolder) Then
+ oUcb.CreateFolder(sNewFolder)
+ End If
+ CreateFolder = True
+NOSPACEONDRIVE:
+ If Err &lt;&gt; 0 Then
+ If InitResources(&quot;&quot;, &quot;dbw&quot;) Then
+ ErrMsg = GetResText(500)
+ ErrMsg = ReplaceString(ErrMsg, chr(13), &quot;&lt;BR&gt;&quot;)
+ ErrMsg = ReplaceString(ErrMsg, sNewFolder, &quot;%1&quot;)
+ Msgbox(ErrMsg, 48, GetProductName())
+ End If
+ CreateFolder = False
+ Resume GOON
+ End If
+GOON:
+End Function
+</script:module>
diff --git a/test/user-template/user/basic/Tools/dialog.xlb b/test/user-template/user/basic/Tools/dialog.xlb
new file mode 100644
index 000000000000..dc8dfbda2701
--- /dev/null
+++ b/test/user-template/user/basic/Tools/dialog.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="Tools" library:readonly="true" library:passwordprotected="false">
+ <library:element library:name="DlgOverwriteAll"/>
+</library:library>
diff --git a/test/user-template/user/basic/Tools/script.xlb b/test/user-template/user/basic/Tools/script.xlb
new file mode 100644
index 000000000000..fe4d74d60332
--- /dev/null
+++ b/test/user-template/user/basic/Tools/script.xlb
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="Tools" library:readonly="true" library:passwordprotected="false">
+ <library:element library:name="ModuleControls"/>
+ <library:element library:name="Strings"/>
+ <library:element library:name="Misc"/>
+ <library:element library:name="UCB"/>
+ <library:element library:name="Listbox"/>
+ <library:element library:name="Debug"/>
+</library:library> \ No newline at end of file
diff --git a/test/user-template/user/basic/Tutorials/Functions.xba b/test/user-template/user/basic/Tutorials/Functions.xba
new file mode 100644
index 000000000000..c1b464acaf9d
--- /dev/null
+++ b/test/user-template/user/basic/Tutorials/Functions.xba
@@ -0,0 +1,368 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Functions" script:language="StarBasic">REM ***** BASIC *****
+Dim DialogVisible As Boolean
+Dim TutorStep As Integer
+Dim TutorLastStep As Integer
+Dim myDialog As Object
+Dim myTutorial As Object
+Public TutorText() As String
+Dim documentTitle As String
+Dim exampleUse As Object
+Dim properties() As Object
+Dim docTYP As String
+&apos;public myWidth As Long
+Dim myHeight As Long
+Dim oTextField As Object
+Dim stepTitle As String
+Dim oOpenDialogFlag
+Dim imageStatus As String
+
+Sub LoadTutorialDialog(exampleToUse, documentTYP)
+ Init()
+ exampleUse = exampleToUse
+ TutorText() = exampleUse.LoadText()
+ properties() = exampleUse.GetProperties()
+ If properties(3).Value = &quot;True&quot; Then
+ Dim localisation(0) As new com.sun.star.beans.NamedValue
+ localisation(0).Name = &quot;Localisation&quot;
+ localisation(0).Value = properties()
+ myTutorial.execute(localisation())
+ Else
+ TutorStep = 0
+ TutorLastStep = 0
+ docTYP = documentTYP
+ InitAction()
+ ShowInfoMain()
+ DialogVisible = True
+ myDialog = LoadDialog(&quot;Tutorials&quot;,&quot;TutorialsDialog&quot;)
+
+ SetTutorialDocumentPosSize()
+
+ documentProps = ThisComponent.getDocumentProperties()
+ myDialog.Title = &quot;Tutorials - &quot; &amp; documentProps.Title
+ oTextField = myDialog.GetControl(&quot;myTextField&quot;)
+ oTextField.setVisible(False)
+
+ imageStatus = &quot;MIN&quot;
+ setMaxMinImage(imageStatus)
+
+ &apos;myWidth = myDialog.Size.Width
+ myHeight = myDialog.Size.Height
+
+ CheckForStepShowButtonStatus()
+ CheckForStepNextButtonStatus()
+ InitRoadMap()
+ SetVisibleTrue()
+ myDialog.model.myTextField.Label = stepTitle
+ myDialog.model.myText.Label = GetStepText()&apos;TutorText(TutorStep)
+
+
+ Do
+ wait 1000
+ Loop Until DialogVisible = False
+ If( oOpenDialogFlag = True) Then
+ Destroy()
+ TutorialOpen.TutorialOpenMain()
+ Else
+ Destroy()
+ End If
+ End If
+End Sub
+
+Sub setMaxMinImage(param As String)
+ On Local Error Goto NOIMAGE
+ oCommandButton = myDialog.GetControl(&quot;CommandButton&quot;)
+ templatePath = GetPathSettings(&quot;Template&quot;,false, 0)
+ Dim bitmapPath As String
+ iPos = InStr(templatePath,&quot;/&quot;)
+ If(iPos &gt; 0) Then
+ If(param = &quot;MAX&quot;) Then
+ bitmapPath = templatePath &amp; &quot;../wizard/bitmap/maximize.bmp&quot;
+ ElseIf(param = &quot;MIN&quot;) Then
+ bitmapPath = templatePath &amp; &quot;../wizard/bitmap/minimize.bmp&quot;
+ End If
+ Else
+ If(param = &quot;MAX&quot;) Then
+ bitmapPath = templatePath &amp; &quot;..\wizard\bitmap\maximize.bmp&quot;
+ ElseIf(param = &quot;MIN&quot;) Then
+ bitmapPath = templatePath &amp; &quot;..\wizard\bitmap\minimize.bmp&quot;
+ End If
+ End If
+ &apos;printdbgInfo oCommandButton.Model
+ oCommandButton.Model.ImageUrl = bitmapPath
+ Exit Sub
+ NOIMAGE:
+End Sub
+
+Sub SetTutorialDocumentPosSize()
+ activDesktopWindow = StarDesktop.activeFrame.ContainerWindow
+ If(activDesktopWindow.posSize.Height &lt; 550) Then
+ activDesktopWindow.setPosSize(0,0,0,550,8)
+ End If
+ If (activDesktopWindow.posSize.Width &lt; 750 ) Then
+ activDesktopWindow.setPosSize(0,0,750,0,4)
+ EndIf
+End Sub
+
+Sub InitRoadMap()
+ RoadMapMain(Functions, myDialog)
+ SetControlModelPosSize(0, 0, 85, 176)
+ SetControlModelText(&quot;Steps&quot;)
+
+ StepSize = Ubound(TutorText())
+ Dim ItemsArray(StepSize) as String
+ For i = 0 To StepSize
+ stepcontent = TutorText(i)
+ iPos = InStr(stepcontent,CHR(13))
+ ItemName = Left(stepcontent, iPos)
+ ItemsArray(i) = ItemName
+ Next i
+ InsertItemsLabels( ItemsArray())
+
+ For i = 1 To StepSize
+ SetItemEnabled( i, False)
+ Next i
+ SetItemEnabled( 0, True)
+End Sub
+
+Sub Destroy()
+ &apos;myDialog.dispose
+ wait 1000
+ ShowInfoDialog.DisposeIDialog()
+
+ &apos; HIER WIRD DAS DOCUMENT GESCHLOSSEN!!!!!!!! GPF
+ thisComponent.CurrentController.Frame.close(True)
+
+End Sub
+
+Sub Init
+ GlobalScope.BasicLibraries.LoadLibrary(&quot;Tools&quot;)
+ myTutorial = createUNOService(&quot;com.sun.star.wizards.tutorial.executer.CallTutorialFramework&quot;)
+ documentTitle = ThisComponent.getCurrentController.getFrame.Title
+End Sub
+
+Sub InitStep
+ udProps = ThisComponent.DocumentProperties.UserDefinedProperties
+ If udProps.PropertySetInfo.hasPropertyByName(&quot;CurrentStep&quot;) Then
+ TutorStep = udProps.CurrentStep
+ Else
+ udProps.addProperty(&quot;CurrentStep&quot;, 0, TutorStep)
+ End If
+End Sub
+
+Sub setStep
+ ThisComponent.DocumentProperties.UserDefinedProperties.CurrentStep = TutorStep
+End Sub
+
+Sub InitAction()
+ SetStepTitle()
+
+ Dim property(6) As new com.sun.star.beans.PropertyValue
+ property(0).Name = &quot;DocumentTYP&quot;
+ property(0).Value = docTYP
+ property(1).Name = &quot;MethodName&quot;
+ property(1).Value = &quot;setDelay&quot;
+ property(2).Name = &quot;Param&quot;
+ property(2).Value = 0 &apos;key insert speed (Millis)
+ property(3).Name = &quot;Param&quot;
+ property(3).Value = 4 &apos;mouse animate speed (Millis)
+ property(4).Name = &quot;Param&quot;
+ property(4).Value = 2000 &apos;after mouse animate sleep (Millis)
+ property(5).Name = &quot;Param&quot;
+ property(5).Value = 10 &apos;mouse scroll speed (Millis)
+ property(6).Name = &quot;Param&quot;
+ property(6).Value = -1 &apos;mouse speed (step)
+ myTutorial.setPropertyValues(property())
+End Sub
+
+Sub EndDialog
+ oOpenDialogFlag = False
+ If (myDialog.model.done.Label = &quot;Close&quot;) Then
+ TutorialCloseMain()
+ Else
+ DialogVisible = False
+ End If
+End Sub
+
+Sub NextStep
+ GotoStep(TutorStep + 1)
+End Sub
+
+Sub GotoStep(StepIndex)
+ If(StepIndex &lt;= Ubound(TutorText())) Then
+ TutorStep = StepIndex
+ If TutorStep &gt; TutorLastStep Then
+ TutorLastStep = TutorStep
+ End If
+ If(TutorStep = Ubound(TutorText())) Then
+ myDialog.model.next.enabled = False
+ myDialog.model.done.Label = &quot;Done&quot;
+ myDialog.model.show.Label = &quot;Tutorials&quot;
+ Else
+ myDialog.model.next.enabled = True
+ End If
+ SetStepTitle()
+ myDialog.model.myText.Label = GetStepText()
+ CheckForStepShowButtonStatus()
+ SetItemEnabled( TutorStep, True)
+ &apos;setStep()
+ End If
+End Sub
+
+Function GetStepText()
+ Dim tempText As String
+ tempText = TutorText(TutorStep)
+ iPos = InStr(tempText,CHR(13))
+ ResultString = Right(tempText, Len(tempText) - iPos - 1)
+ GetStepText() = ResultString
+End Function
+
+Sub ItemChange(CurrentItemID, SelectitemID)
+ GotoStep(SelectitemID)
+End Sub
+
+Sub SetDisableShowMeButton()
+ myDialog.model.show.enabled = False
+ TutorLastStep = TutorLastStep + 1
+End Sub
+
+Sub Minimize(aEvent)
+ ActionItemsTextField = myDialog.GetControl(&quot;ActionItemsLabel&quot;)
+ FixedLineVertikal = myDialog.GetControl(&quot;FixedLineVertikal&quot;)
+
+ If myDialog.Size.Height = 35 Then
+ myDialog.setPosSize(0,0,0,myHeight,8)
+ oTextField.setVisible(False)
+ ActionItemsTextField.setVisible(True)
+ FixedLineVertikal.setVisible(True)
+ RoadMap.SetVisibleRoadMap(True)
+ Else
+ myDialog.setPosSize(0,0,0,35,8)
+ rmSelectedIndex = RoadMap.GetSelectedIndex() + 1
+ gsTitle = GetStepTitle()
+ oTextField.setText(rmSelectedIndex &amp; &quot;. &quot; &amp; gsTitle)
+ oTextField.setVisible(True)
+ ActionItemsTextField.setVisible(False)
+ FixedLineVertikal.setVisible(False)
+ RoadMap.SetVisibleRoadMap(False)
+ End If
+ If(imageStatus = &quot;MAX&quot;) Then
+ imageStatus = &quot;MIN&quot;
+ ElseIf(imageStatus = &quot;MIN&quot;) Then
+ imageStatus = &quot;MAX&quot;
+ End If
+ setMaxMinImage(imageStatus)
+
+End Sub
+
+Sub SetStepTitle()
+ stepcontent = TutorText(TutorStep)
+ iPos = InStr(stepcontent,CHR(13))
+ stepTitle = Left(stepcontent, iPos)
+ SetStepTitle() = stepTitle
+End Sub
+
+Function GetStepTitle()
+ GetStepTitle() = stepTitle
+End Function
+
+Sub CheckForStepShowButtonStatus()
+ If ((exampleUse.ContainsStepAction() = True And TutorStep = TutorLastStep) Or myDialog.model.show.Label = &quot;Tutorials&quot;) Then
+ myDialog.model.show.enabled = True
+ Else
+ myDialog.model.show.enabled = False
+ End If
+End Sub
+
+Sub CheckForStepNextButtonStatus()
+ If(TutorStep = Ubound(TutorText())) Then
+ myDialog.model.next.enabled = False
+ myDialog.model.done.Label = &quot;Done&quot;
+ End If
+End Sub
+
+Sub Show(aEvent)
+ &apos;ShowInfoMain()
+ If( myDialog.model.show.Label = &quot;Tutorials&quot;) Then
+ oOpenDialogFlag = True
+ DialogVisible = False
+ Else
+ SetMousePosition(aEvent)
+ exampleUse.Action()
+ End If
+End Sub
+
+Sub SetMousePosition(aEvent)
+ MyPoints() = MousePoints(aEvent)
+
+ Dim mousePosition(3) as new com.sun.star.beans.PropertyValue
+ mousePosition(0).Name = &quot;DocumentTYP&quot;
+ mousePosition(0).Value = docTYP
+ mousePosition(1).Name = &quot;MethodName&quot;
+ mousePosition(1).Value = &quot;setMousePosition&quot;
+ mousePosition(2).Name = &quot;Param&quot;
+ mousePosition(2).Value = MyPoints(0)
+ mousePosition(3).Name = &quot;Param&quot;
+ mousePosition(3).Value = MyPoints(1)
+
+ myTutorial.setPropertyValues(mousePosition())
+End Sub
+
+Function MousePoints(aEvent)
+ Dim position(1) As Integer
+ position(0) = myDialog.getControl(&quot;show&quot;).AccessibleContext.LocationOnScreen.X + aEvent.Source.Model.PositionX
+ position(1) = myDialog.getControl(&quot;show&quot;).AccessibleContext.LocationOnScreen.Y + aEvent.Source.Model.PositionY
+ MousePoints = position()
+End Function
+
+Function CheckPath(path() As String)
+ &apos;documentTitle = ThisComponent.getCurrentController.getFrame.Title
+ sTitle = path(0)
+ ResultString = Right(sTitle, 3)
+ iPos = InStr(ResultString,&quot;#&quot;)
+ ResultString = Right(ResultString, Len(ResultString) - iPos)
+ ResultFrameString = InStr (sTitle, &quot;{D}FRAME#&quot;)
+ If ResultFrameString &lt;&gt; 0 Then
+ If Not (sTitle = (&quot;{D}FRAME#&quot; &amp; documentTitle &amp; &quot;#&quot; &amp; ResultString)) Then
+ &apos;path(0) = &quot;{D}FRAME#&quot; &amp; documentTitle &amp; &quot;#&quot; &amp; ResultString
+ path(0) = &quot;FRAME#&quot; &amp; documentTitle &amp; &quot;#&quot; &amp; ResultString
+ sTitle = path(1)
+ ResultString = Right(sTitle, 3)
+ iPos = InStr(ResultString,&quot;#&quot;)
+ ResultString = Right(ResultString, Len(ResultString) - iPos)
+ path(1) = &quot;ROOT_PANE#&quot; &amp; documentTitle &amp; &quot;#&quot; &amp; ResultString
+ Else
+ &apos;path(0) = &quot;{D}FRAME#&quot; &amp; documentTitle &amp; &quot;#&quot; &amp; ResultString
+ path(0) = &quot;FRAME#&quot; &amp; documentTitle &amp; &quot;#&quot; &amp; ResultString
+ End If
+ End If
+End Function
+
+Sub SetVisibleTutorialsDialog(param)
+ myDialog.setVisible(param)
+End Sub
+
+Sub SetVisibleTrue()
+ myDialog.setVisible(True)
+End Sub
+
+Sub SetVisibleFalse()
+ myDialog.setVisible(False)
+End Sub
+
+Sub ExitTutorial()
+ Dim aUrl As new com.sun.star.util.URL
+ oDoc = ThisComponent
+ urlTransformer = createUNOService(&quot;com.sun.star.util.URLTransformer&quot;)
+ aUrl.Complete = &quot;slot:5621&quot;
+ urlTransformer.parseStrict(aUrl)
+ xController = oDoc.getCurrentController()
+ xDispatcher = xController.queryDispatch(aUrl, &quot;&quot;, 0)
+ if NOT isNull(xDispatcher) then
+ xDispatcher.dispatch(aUrl, DimArray())
+ else
+ msgBox &quot;Error! Cannot close document.&quot;
+ End If
+End Sub
+</script:module>
diff --git a/test/user-template/user/basic/Tutorials/RoadMap.xba b/test/user-template/user/basic/Tutorials/RoadMap.xba
new file mode 100644
index 000000000000..fa992cb13b8c
--- /dev/null
+++ b/test/user-template/user/basic/Tutorials/RoadMap.xba
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="RoadMap" script:language="StarBasic">REM ***** BASIC *****
+Dim oControlModel
+Dim oDialogModel
+Dim CurrentItem
+Dim bLongString
+Dim oControl
+Dim oEvent
+Dim oUseDialog As Object
+Dim oModulName As Object
+
+Sub RoadMapMain(ModulNameforItemChange, dialogtoUse)
+ GlobalScope.BasicLibraries.LoadLibrary(&quot;Tools&quot;)
+ oUseDialog = dialogtoUse
+ oModulName = ModulNameforItemChange
+ oDialogModel = oUseDialog.Model
+ oControlModel = oUseDialog.Model.CreateInstance(&quot;com.sun.star.awt.UnoControlRoadmapModel&quot;)
+
+ oDialogModel.insertByName(&quot;RoadMap&quot;, oControlModel)
+ oControl = oUseDialog.getControl(&quot;RoadMap&quot;)
+ oEvent = createUnoListener( &quot;CallBack_&quot;, &quot;com.sun.star.awt.XItemListener&quot; )
+ oControl.addItemListener(oEvent)
+ oControlModel.CurrentItemID = 0
+ oControlModel.Complete = True
+ oControlModel.Activated = True
+End Sub
+
+Sub SetVisibleRoadMap(param)
+ oControl.SetVisible(param)
+End Sub
+
+Sub SetDialogModelSize(Width, Height)
+ oDialogModel.Width = Width
+ oDialogModel.Height = Height
+End Sub
+
+Sub SetControlModelPosSize(X, Y, Width, Height)
+ oControlModel.PositionX = X
+ oControlModel.PositionY = Y
+ oControlModel.Width = Width
+ oControlModel.Height = Height
+End Sub
+
+Sub SetControlModelText( ModelText As String)
+ oControlModel.Text = ModelText
+End Sub
+
+Sub InsertItemsLabels( ItemLabelsArray() As String)
+ For i = 0 To Ubound(ItemLabelsArray())
+ oRoadmapItem = oControlModel.createInstance()
+ oRoadmapItem.Label = ItemLabelsArray(i)
+ oRoadmapItem.ID = i
+ oControlModel.insertbyIndex(i, oRoadmapItem)
+ Next i
+End Sub
+
+Sub SetItemEnabled( ItemIndex, param)
+ oControlModel.getByIndex(ItemIndex).Enabled = param
+ oControlModel.CurrentItemID = ItemIndex
+End Sub
+
+Sub AddImagetoControlModel( Url As String)
+ oControlModel.ImageUrl = ConvertToUrl(Url)
+End Sub
+
+Function GetSelectedIndex()
+ GetSelectedIndex() = oControlModel.CurrentItemID
+End Function
+
+Function GetControlModel()
+ GetControlModel = oControlModel
+End Function
+
+Function GetDialogModel()
+ GetDialogModel = oDialogModel
+End Function
+
+Sub Callback_itemStateChanged(aEvent)
+ oModulName.ItemChange(oControlModel.CurrentItemID, aEvent.itemID)
+End Sub
+
+Sub SetComplete(param)
+ oControlModel.Complete = param
+End Sub
+
+Sub SetActivated(param)
+ oControlModel.Activated = param
+End Sub
+
+Sub RemoveItem(ItemIndex)
+ If ItemIndex &gt; -1 Then
+ oControlModel.removeByIndex(ItemIndex)
+ End If
+End Sub
+
+Sub InsertItem(ItemLabel As String)
+ oRoadmapItem = oControlModel.createInstance()
+ oRoadmapItem.Label = ItemLabel
+ oControlModel.insertbyIndex(oControlModel.CurrentItemID, oRoadmapItem)
+End Sub
+
+Sub ReplaceItem(ItemLabel As String)
+ oRoadmapItem = oControlModel.createInstance()
+ oRoadmapItem.Label = ItemLabel
+ oControlModel.replacebyIndex(oControlModel.CurrentItemID, oRoadmapItem)
+End Sub
+
+Sub Callback_disposing(aEvent)
+End Sub
+
+Sub Property_propertyChange(aEvent)
+End Sub
+
+Sub Property_disposing(aEvent)
+End Sub
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Tutorials/ShowInfoDialog.xba b/test/user-template/user/basic/Tutorials/ShowInfoDialog.xba
new file mode 100644
index 000000000000..61c2ed96731f
--- /dev/null
+++ b/test/user-template/user/basic/Tutorials/ShowInfoDialog.xba
@@ -0,0 +1,305 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="ShowInfoDialog" script:language="StarBasic">REM ***** BASIC *****
+Dim oWnd As Object
+Dim oWnd2 As Object
+Dim oWnd3 As Object
+Dim oDoc as Object
+
+Sub ShowInfoMain
+ prop() = GetShowInfoPropeties()
+ Init(prop(0).Value, prop(1).Value, prop(2).Value, prop(3).Value, prop(4).Value, prop(5).Value, prop(6).Value, prop(7).Value, prop(8).Value)
+End Sub
+
+Sub Init(tFieldText As String, windowX, windowY, windowWidth, windowHeight, tFieldX, tFieldY, tFieldWidth, tFieldHeight)
+ toolkit = createUnoService(&quot;com.sun.star.awt.Toolkit&quot;)
+ Dim oWndDescr As new com.sun.star.awt.WindowDescriptor
+ Dim oBounds As new com.sun.star.awt.Rectangle
+ oWndDescr.Type = com.sun.star.awt.WindowClass.TOP
+ oWndDescr.WindowServiceName = &quot;&quot;
+ oWndDescr.ParentIndex = 0
+
+ &apos;officeX = StarDesktop.ActiveFrame.getContainerWindow().AccessibleContext.LocationOnScreen.X
+ &apos;officeY = StarDesktop.ActiveFrame.getContainerWindow().AccessibleContext.LocationOnScreen.Y
+ &apos;officeWidth = StarDesktop.ActiveFrame.getContainerWindow().getPosSize().Width
+ &apos;officeHeight = StarDesktop.ActiveFrame.getContainerWindow().getPosSize().Height
+ officeWidth = thisComponent.CurrentController.Frame.getContainerWindow().getPosSize().Width
+ officeHeight = thisComponent.CurrentController.Frame.getContainerWindow().getPosSize().Height
+
+ &apos;dialogWidth = myTutoShowDialog.getPosSize().Width
+ &apos;dialogHeight = myTutoShowDialog.getPosSize().Height
+ X = officeWidth - windowWidth - windowX
+ Y = officeHeight - windowHeight - windowY
+
+ oBounds.X = X : oBounds.Y = Y
+ oBounds.Width = windowWidth : oBounds.Height = windowHeight
+ oWndDescr.Bounds = oBounds
+ oWndDescr.Parent = thisComponent.CurrentController.Frame.ContainerWindow
+ with com.sun.star.awt.WindowAttribute
+ oWndDescr.WindowAttributes = .CLOSEABLE AND .MOVEABLE AND .SIZEABLE AND .BORDER AND .SHOW
+ end with
+
+ oWnd = toolkit.createWindow(oWndDescr)
+
+ Dim oWndDescr3 As new com.sun.star.awt.WindowDescriptor
+ Dim oBounds3 As new com.sun.star.awt.Rectangle
+ oWndDescr3.Type = com.sun.star.awt.WindowClass.TOP
+ oWndDescr3.WindowServiceName = &quot;fixedimage&quot; &apos;&quot;fixedtext&quot;
+ oWndDescr3.ParentIndex = 0
+ oBounds3.X = 0 : oBounds3.Y = 0
+ oBounds3.Width = tFieldWidth : oBounds3.Height = tFieldHeight
+ oWndDescr3.Bounds = oBounds3
+ oWndDescr3.Parent = oWnd
+ with com.sun.star.awt.WindowAttribute
+ oWndDescr3.WindowAttributes = .CLOSEABLE AND .MOVEABLE AND .SIZEABLE AND .BORDER AND .SHOW
+ end with
+
+ oWnd3= toolkit.createWindow(oWndDescr3)
+ &apos;oWnd2.Text = tFieldText
+ &apos;printdbgInfo(oWnd3)
+ setImage(oWnd3)
+ &apos;oWnd3.Background = 16777215
+&apos; oWnd2.SetBackGround(16776960)
+ oWnd.SetBackGround(16776960)
+&apos; oWnd.FontDescriptors(0).Name = &quot;Albany&quot;
+&apos; oWnd.FontDescriptors(0).StyleName = &quot;BOLD&quot;
+
+ Dim oWndDescr2 As new com.sun.star.awt.WindowDescriptor
+ Dim oBounds2 As new com.sun.star.awt.Rectangle
+ oWndDescr2.Type = com.sun.star.awt.WindowClass.TOP
+ oWndDescr2.WindowServiceName = &quot;fixedtext&quot;
+ oWndDescr2.ParentIndex = 0
+ oBounds2.X = tFieldX : oBounds2.Y = tFieldY
+ oBounds2.Width = tFieldWidth : oBounds2.Height = tFieldHeight
+ oWndDescr2.Bounds = oBounds2
+ oWndDescr2.Parent = oWnd3
+ with com.sun.star.awt.WindowAttribute
+ oWndDescr2.WindowAttributes = .CLOSEABLE AND .MOVEABLE AND .SIZEABLE AND .BORDER AND .SHOW
+ end with
+
+ oWnd2= toolkit.createWindow(oWndDescr2)
+ oWnd2.Text = tFieldText
+ oWnd2.Background = 268435455
+ &apos;printdbgInfo(oWnd2)
+
+ &apos;printdbgInfo oWnd.getPosSize()
+
+End Sub
+
+Function GetShowInfoPropeties()
+ stepText = GetStepTitle()
+ Dim Properties(8) As new com.sun.star.beans.NamedValue
+ Properties(0).Name = &quot;ShowInfoDialogText&quot;
+ Properties(0).Value = stepText &amp; &quot;Press [Esc] to abort.&quot;
+ Properties(1).Name = &quot;WindowX&quot;
+ Properties(1).Value = 20
+ Properties(2).Name = &quot;WindowY&quot;
+ Properties(2).Value = 40
+ Properties(3).Name = &quot;WindowWidth&quot;
+ Properties(3).Value = 190
+ Properties(4).Name = &quot;WindowHeight&quot;
+ Properties(4).Value = 50
+ Properties(5).Name = &quot;TFieldX&quot;
+ Properties(5).Value = 7
+ Properties(6).Name = &quot;TFieldY&quot;
+ Properties(6).Value = 8
+ Properties(7).Name = &quot;TFieldWidth&quot;
+ Properties(7).Value = 190
+ Properties(8).Name = &quot;TFieldHeight&quot;
+ Properties(8).Value = 50
+ GetShowInfoPropeties = Properties()
+End Function
+
+Sub setShowInfoText()
+ stepText = GetStepTitle()
+ oWnd2.Text = stepText &amp; &quot;Press [Esc] to abort.&quot;
+End Sub
+
+Sub ShowON()
+ setShowInfoText()
+ oWnd.setVisible(True)
+ oWnd3.setVisible(True)
+ oWnd2.setVisible(True)
+End Sub
+
+Sub ShowOFF()
+ &apos;On Local Error Goto NOPROPERTYSETINFO:
+ oWnd.setVisible(False)
+ oWnd2.setVisible(False)
+ oWnd3.setVisible(False)
+ &apos;oDoc.dispose()
+ Exit Sub
+ &apos;NOPROPERTYSETINFO:
+End Sub
+
+Sub DisposeIDialog()
+ &apos;On Local Error Goto NOPROPERTYSETINFO:
+ oWnd3.dispose
+ oWnd2.dispose
+ oWnd.dispose
+ oDoc.dispose()
+ Exit Sub
+ &apos;NOPROPERTYSETINFO:
+End Sub
+
+sub setImage(whatever as Object)
+
+ templatePath = GetPathSettings(&quot;Template&quot;,false, 0)
+ Dim bitmapPath As String
+ iPos = InStr(templatePath,&quot;/&quot;)
+ if(iPos &gt; 0) Then
+ bitmapPath = templatePath &amp; &quot;../wizard/bitmap/tutorial_background.gif&quot;
+ Else
+ bitmapPath = templatePath &amp; &quot;..\wizard\bitmap\tutorial_background.gif&quot;
+ End If
+
+ dim props(0) as new com.sun.star.beans.PropertyValue
+ props(0).Name = &quot;Hidden&quot;
+ props(0).Value = true
+ oDoc = StarDesktop.loadComponentFromUrl(&quot;private:factory/swriter&quot;,&quot;_blank&quot;,0,props())
+ oShape = addControlToDefaultForm(&quot;ImageButton&quot;, 1000, 1000, 2000, 1000)
+ imgControl = oShape.getControl()
+ &apos;imgControl.ImageUrl=&quot;file:///D:/Program%20Files/src680_m11_qwizards1_49_TEST/share/gallery/tutoItem.gif&quot;
+ imgControl.ImageUrl = bitmapPath
+ imgControl.addConsumer(whatever)
+ imgControl.startProduction()
+end sub
+
+Function createControlShape(cKind As String) As Object
+
+ Dim oControlShape As Object
+ Dim oControl As Object
+
+
+ oControlShape = oDoc.createInstance(&quot;com.sun.star.drawing.ControlShape&quot;)
+ oControl = oDoc.createInstance(&quot;com.sun.star.form.component.&quot; &amp; cKind)
+ oControl.setPropertyValue(&quot;DefaultControl&quot;, &quot;com.sun.star.form.control.&quot; &amp; cKind)
+ oControlShape.setControl(oControl)
+
+
+ createControlShape() = oControlShape
+
+End Function
+
+Function createControlShapeWithDefaultControl(cKind As String) As Object
+
+ Dim oControlShape As Object
+ Dim oControl As Object
+
+
+ oControlShape = oDoc.createInstance(&quot;com.sun.star.drawing.ControlShape&quot;)
+ oControl = oDoc.createInstance(&quot;com.sun.star.form.component.&quot; &amp; cKind)
+ oControlShape.setControl(oControl)
+
+
+ createControlShapeWithDefaultControl() = oControlShape
+
+End Function
+
+Function createUNOControlShape(cKind As String, defControl As String) As Object
+
+ Dim oControlShape As Object
+ Dim oControl As Object
+
+
+ oControlShape = oDoc.createInstance(&quot;com.sun.star.drawing.ControlShape&quot;)
+ oControl = oDoc.createInstance(&quot;com.sun.star.form.component.&quot; &amp; cKind)
+ oControl.setPropertyValue(&quot;DefaultControl&quot;, &quot;com.sun.star.awt.&quot; &amp; defControl)
+ oControlShape.setControl(oControl)
+
+
+ createUNOControlShape() = oControlShape
+
+End Function
+
+Function addShape(oShape As Object) As Boolean
+
+ Dim vSize As New com.sun.star.awt.Size
+ Dim oDrawPage As Object
+ Dim oForms As Object
+ Dim oForm As Object
+
+ oDrawPage = oDoc.getDrawPage()
+ oForms = oDrawPage.getForms()
+
+ if oForms.Count = 0 then
+ oForm = oDoc.createInstance(&quot;com.sun.star.form.component.Form&quot;)
+ oForms.insertByIndex(0, oForm)
+ end if
+
+ vSize.Height = 2000 : vSize.Width = 2000
+ oShape.Size = vSize
+ oDrawPage.add(oShape)
+
+ addShape() = true
+
+End Function
+
+sub addControl(cKind as String)
+
+ Dim oDrawPage As Object
+ Dim oForm As Object, oForms As Object
+ Dim oControl As Object, oControlShape As Object
+ Dim aSz As Variant
+ Dim oText As Object
+
+ oDrawPage = oDoc.DrawPage
+ oControlShape = oDoc.createInstance(&quot;com.sun.star.drawing.ControlShape&quot;)
+ oControl = oDoc.createInstance(&quot;com.sun.star.form.component.&quot; + cKind)
+ oForm = oDoc.createInstance(&quot;com.sun.star.form.component.Form&quot;)
+ oforms = oDrawPage.Forms
+ if oforms.count = 0 then
+ oforms.insertbyindex(0,oForm)
+ end if
+ oControlShape.Control = oControl
+ oDrawPage.add(oControlShape)
+
+End sub
+
+Function addControlToDefaultForm(cKind as String, x As Integer, y As Integer, width As Integer, height As Integer) As Object
+
+ Dim oDrawPage As Object
+ Dim oControl As Object, oControlShape As Object
+ Dim pos As New com.sun.star.awt.Point
+ Dim size As New com.sun.star.awt.Size
+
+ pos.X = x
+ pos.Y = y
+ size.Width = width
+ size.Height = height
+
+ oDrawPage = oDoc.DrawPage
+ oControlShape = oDoc.createInstance(&quot;com.sun.star.drawing.ControlShape&quot;)
+ oControl = oDoc.createInstance(&quot;com.sun.star.form.component.&quot; + cKind)
+ oControlShape.Control = oControl
+ oControlShape.Position = pos
+ oControlShape.Size = size
+ oDrawPage.add(oControlShape)
+
+ addControlToDefaultForm() = oControlShape
+
+End Function
+
+Function addShapeToDrawDoc(oPage as Object, nPosX, nPosY as Integer, oType As String) As Object
+ Dim aPoint As New com.sun.star.awt.Point
+ Dim aSize As New com.sun.star.awt.Size
+ Dim oShape As Object
+ Dim servNames As Variant
+
+ aPoint.x = nPosX
+ aPoint.y = nPosY
+ aSize.Width = 2000
+ aSize.Height = 1000
+ oShape = oDoc.createInstance(&quot;com.sun.star.drawing.&quot;+oType+&quot;Shape&quot;)
+ oShape.Size = aSize
+ oShape.Position = aPoint
+
+ if oShape.getPropertySetInfo().hasPropertyByName(&quot;FillColor&quot;) then
+ oShape.FillColor = RGB(128, 255, 0)
+ End If
+
+ oPage.add(oShape)
+
+ addShapeToDrawDoc() = oShape
+End Function
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Tutorials/TutorialClose.xba b/test/user-template/user/basic/Tutorials/TutorialClose.xba
new file mode 100644
index 000000000000..2438243b82ff
--- /dev/null
+++ b/test/user-template/user/basic/Tutorials/TutorialClose.xba
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="TutorialClose" script:language="StarBasic">REM ***** BASIC *****
+Dim myCloseDialog As Object
+
+Sub TutorialCloseMain
+ myCloseDialog = LoadDialog(&quot;Tutorials&quot;,&quot;TutorialCloseDialog&quot;)
+ myCloseDialog.Execute()
+End Sub
+
+Sub CloseYes(aEvent)
+ myCloseDialog.EndExecute()
+ DialogVisible = False
+End Sub
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Tutorials/TutorialCloseDialog.xdl b/test/user-template/user/basic/Tutorials/TutorialCloseDialog.xdl
new file mode 100644
index 000000000000..edc1dae7e699
--- /dev/null
+++ b/test/user-template/user/basic/Tutorials/TutorialCloseDialog.xdl
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE dlg:window PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "dialog.dtd">
+<dlg:window xmlns:dlg="http://openoffice.org/2000/dialog" xmlns:script="http://openoffice.org/2000/script" dlg:id="TutorialCloseDialog" dlg:left="173" dlg:top="82" dlg:width="132" dlg:height="38" dlg:closeable="true" dlg:moveable="true">
+ <dlg:styles>
+ <dlg:style dlg:style-id="0" dlg:font-weight="150"/>
+ </dlg:styles>
+ <dlg:bulletinboard>
+ <dlg:button dlg:id="yesButton" dlg:tab-index="1" dlg:left="24" dlg:top="20" dlg:width="50" dlg:height="14" dlg:value="Yes">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Tutorials.TutorialClose.CloseYes?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="noButton" dlg:tab-index="0" dlg:left="76" dlg:top="20" dlg:width="50" dlg:height="14" dlg:value="No" dlg:button-type="cancel"/>
+ <dlg:text dlg:style-id="0" dlg:id="Label1" dlg:tab-index="2" dlg:left="6" dlg:top="6" dlg:width="120" dlg:height="8" dlg:value="Do you want to close this Tutorial?." dlg:align="center"/>
+ </dlg:bulletinboard>
+</dlg:window> \ No newline at end of file
diff --git a/test/user-template/user/basic/Tutorials/TutorialCreator.xba b/test/user-template/user/basic/Tutorials/TutorialCreator.xba
new file mode 100644
index 000000000000..7169b4e2e467
--- /dev/null
+++ b/test/user-template/user/basic/Tutorials/TutorialCreator.xba
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="TutorialCreator" script:language="StarBasic">REM ***** BASIC *****
+Sub TutorialCreatorMain
+ GlobalScope.BasicLibraries.LoadLibrary(&quot;Tools&quot;)
+ myTutorial = createUNOService(&quot;com.sun.star.wizards.tutorial.executer.CallTutorialFramework&quot;)
+ myTutorial.trigger(&quot;StartTutorialCreator&quot;)
+End Sub
+
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Tutorials/TutorialOpen.xba b/test/user-template/user/basic/Tutorials/TutorialOpen.xba
new file mode 100644
index 000000000000..a64a72507ba1
--- /dev/null
+++ b/test/user-template/user/basic/Tutorials/TutorialOpen.xba
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="TutorialOpen" script:language="StarBasic">REM ***** BASIC *****
+Dim myOpenDialog As Object
+Dim oListBox As Object
+Dim files As Object
+Dim oUcb As Object
+Dim oListener As Object
+
+Sub TutorialOpenMain
+ GlobalScope.BasicLibraries.LoadLibrary(&quot;Tools&quot;)
+ myOpenDialog = LoadDialog(&quot;Tutorials&quot;,&quot;TutorialOpenDialog&quot;)
+ init()
+ myOpenDialog.Execute()
+End Sub
+
+Sub Init
+ On Local Error Goto NOFILE
+ myOpenDialog.Title = &quot;Tutorials&quot;
+ oListBox = myOpenDialog.GetControl(&quot;ListBox&quot;)
+ templatePath = GetPathSettings(&quot;Template&quot;,false, 0)
+ Dim tutorialPath As String
+ iPos = InStr(templatePath,&quot;/&quot;)
+ if(iPos &gt; 0) Then
+ tutorialPath = templatePath &amp; &quot;/tutorials&quot;
+ Else
+ tutorialPath = templatePath &amp; &quot;\tutorials&quot;
+ End If
+ oUcb = createUnoService(&quot;com.sun.star.ucb.SimpleFileAccess&quot;)
+ files = oUcb.getFolderContents(tutorialPath,true)
+ size = Ubound( files() )
+ Dim tempFiles(size) As String
+ tempCount = 0
+ For iCount = 0 To size
+ completPath = files(iCount)
+ oDocInfo = CreateUnoService(&quot;com.sun.star.document.DocumentProperties&quot;)
+ oDocInfo.Read(completPath)
+ sDocTitle = oDocInfo.Title
+ if(not isNull(sDocTitle) And len(sDocTitle) &gt; 0) Then
+ oListbox.additem(sDocTitle,0)
+ tempFiles(tempCount) = completPath
+ tempCount = tempCount + 1
+ End If
+ Next iCount
+ &apos;printdbgInfo oListbox
+ size = oListbox.ItemCount - 1
+ Dim tempFiles2(size) As String
+ For iCount = 0 To size
+ tempFiles2(iCount) = tempFiles(iCount)
+ Next iCount
+ files() = tempFiles2()
+ Exit Sub
+ NOFILE:
+ If Err &lt;&gt; 0 Then
+ Msgbox &quot;No file found error!&quot; &amp; CHR(13) &amp; &quot;Path: ...\share\template\...\tutorials\&quot;
+ myOpenDialog.model.Open.enabled = False
+ End If
+End Sub
+
+Sub ItemSelected(oEvent)
+ On Local Error Goto NOFILE
+ completPath = files(Ubound(files()) - oEvent.Selected)
+ oTextField = myOpenDialog.GetControl(&quot;Label&quot;) &apos;TextField
+ oTextField.setText(&quot;&quot;)
+ Dim NoArgs() as new com.sun.star.beans.PropertyValue
+ oDocInfo = CreateUnoService(&quot;com.sun.star.document.DocumentProperties&quot;)
+ oDocInfo.Read(completPath)
+ sDocDescription = oDocInfo.Description
+ if(not isNull(sDocTitle) And len(sDocDescription) &gt; 0) Then
+ oTextField.setText(sDocDescription)
+ Else
+ oTextField.setText(&quot;Not Description!!!.&quot;)
+ End If
+ Exit Sub
+ NOFILE:
+ If Err &lt;&gt; 0 Then
+ Msgbox &quot;Open file error!&quot;
+ End If
+End Sub
+
+Sub OpenTutorial(aEvent)
+ completPath = files(Ubound(files()) - oListBox.getSelectedItemPos())
+ Dim Args(2) as new com.sun.star.beans.PropertyValue
+ Args(1).Name = &quot;MacroExecutionMode&quot;
+ Args(1).Value = com.sun.star.document.MacroExecMode.ALWAYS_EXECUTE
+ Args(2).Name = &quot;AsTemplate&quot;
+ Args(2).Value = true
+
+ StarDesktop.LoadComponentFromURL(completPath,&quot;_default&quot;,0, Args())
+ myOpenDialog.endExecute()
+End Sub
+
+Sub Cancel(aEvent)
+ myOpenDialog.endExecute()
+End Sub
+</script:module> \ No newline at end of file
diff --git a/test/user-template/user/basic/Tutorials/TutorialOpenDialog.xdl b/test/user-template/user/basic/Tutorials/TutorialOpenDialog.xdl
new file mode 100644
index 000000000000..6c9893306c6e
--- /dev/null
+++ b/test/user-template/user/basic/Tutorials/TutorialOpenDialog.xdl
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE dlg:window PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "dialog.dtd">
+<dlg:window xmlns:dlg="http://openoffice.org/2000/dialog" xmlns:script="http://openoffice.org/2000/script" dlg:id="TutorialOpenDialog" dlg:left="158" dlg:top="58" dlg:width="250" dlg:height="200" dlg:closeable="true" dlg:moveable="true">
+ <dlg:bulletinboard>
+ <dlg:button dlg:id="Open" dlg:tab-index="1" dlg:left="141" dlg:top="180" dlg:width="50" dlg:height="14" dlg:value="Open">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Tutorials.TutorialOpen.OpenTutorial?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="Cancel" dlg:tab-index="2" dlg:left="194" dlg:top="180" dlg:width="50" dlg:height="14" dlg:value="Cancel">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Tutorials.TutorialOpen.Cancel?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:menulist dlg:id="ListBox" dlg:tab-index="0" dlg:left="8" dlg:top="17" dlg:width="98" dlg:height="155">
+ <script:event script:event-name="on-performaction" script:location="application" script:macro-name="Tutorials.TutorialOpen.OpenTutorial" script:language="StarBasic"/>
+ <script:event script:event-name="on-itemstatechange" script:location="application" script:macro-name="Tutorials.TutorialOpen.ItemSelected" script:language="StarBasic"/>
+ </dlg:menulist>
+ <dlg:fixedline dlg:id="FixedLine" dlg:tab-index="3" dlg:left="6" dlg:top="6" dlg:width="100" dlg:height="8" dlg:value="Tutorials"/>
+ <dlg:fixedline dlg:id="FixedLine1" dlg:tab-index="4" dlg:left="6" dlg:top="176" dlg:width="238" dlg:height="1"/>
+ <dlg:fixedline dlg:id="FixedLine2" dlg:tab-index="5" dlg:left="110" dlg:top="6" dlg:width="134" dlg:height="8" dlg:value="Description"/>
+ <dlg:fixedline dlg:id="FixedLine3" dlg:tab-index="6" dlg:left="267" dlg:top="44" dlg:width="0" dlg:height="2"/>
+ <dlg:text dlg:id="Label" dlg:tab-index="7" dlg:left="112" dlg:top="17" dlg:width="132" dlg:height="155" dlg:multiline="true"/>
+ </dlg:bulletinboard>
+</dlg:window> \ No newline at end of file
diff --git a/test/user-template/user/basic/Tutorials/TutorialsDialog.xdl b/test/user-template/user/basic/Tutorials/TutorialsDialog.xdl
new file mode 100644
index 000000000000..3a211f9f649a
--- /dev/null
+++ b/test/user-template/user/basic/Tutorials/TutorialsDialog.xdl
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE dlg:window PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "dialog.dtd">
+<dlg:window xmlns:dlg="http://openoffice.org/2000/dialog" xmlns:script="http://openoffice.org/2000/script" dlg:id="TutorialsDialog" dlg:left="149" dlg:top="54" dlg:width="250" dlg:height="200" dlg:closeable="true" dlg:moveable="true">
+ <dlg:styles>
+ <dlg:style dlg:style-id="0" dlg:font-weight="150"/>
+ </dlg:styles>
+ <dlg:bulletinboard>
+ <dlg:button dlg:id="CommandButton" dlg:tab-index="3" dlg:left="232" dlg:top="4" dlg:width="13" dlg:height="13" dlg:value="C">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Tutorials.Functions.Minimize?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:text dlg:id="myText" dlg:tab-index="4" dlg:left="91" dlg:top="26" dlg:width="153" dlg:height="145" dlg:value="This text explains all the action items that the user can do to follow the current step highlighted in the road map at the left side of the tutorial window.&#x0a;&#x0a;1. Open the Format menu&#x0a;2. Choose the Paragraph command&#x0a;3. Click the Numbering tab&#x0a;&#x0a;The first step will always explain what the current tutorial is about.&#x0a;&#x0a;The last step - it is higjlighted currently in the road map - will summarize what the user now has seen or learned." dlg:multiline="true"/>
+ <dlg:button dlg:id="show" dlg:tab-index="1" dlg:left="142" dlg:top="180" dlg:width="50" dlg:height="14" dlg:value="Show me">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Tutorials.Functions.Show?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="next" dlg:tab-index="0" dlg:left="89" dlg:top="180" dlg:width="50" dlg:height="14" dlg:value="Next &gt;&gt;">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Tutorials.Functions.NextStep?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:text dlg:style-id="0" dlg:id="myTextField" dlg:tab-index="5" dlg:left="6" dlg:top="6" dlg:width="192" dlg:height="8" dlg:value="Current Step (in Road Map)"/>
+ <dlg:button dlg:id="done" dlg:tab-index="2" dlg:left="195" dlg:top="180" dlg:width="50" dlg:height="14" dlg:value="Close">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Tutorials.Functions.EndDialog?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:text dlg:style-id="0" dlg:id="ActionItemsLabel" dlg:tab-index="8" dlg:left="91" dlg:top="8" dlg:width="45" dlg:height="8" dlg:value="Action Items"/>
+ <dlg:fixedline dlg:id="FixedLineHorizontal" dlg:tab-index="7" dlg:left="0" dlg:top="176" dlg:width="250" dlg:height="1"/>
+ <dlg:fixedline dlg:id="FixedLineVertikal" dlg:tab-index="6" dlg:left="85" dlg:top="0" dlg:width="1" dlg:height="176" dlg:align="vertical"/>
+ </dlg:bulletinboard>
+</dlg:window> \ No newline at end of file
diff --git a/test/user-template/user/basic/Tutorials/dialog.xlb b/test/user-template/user/basic/Tutorials/dialog.xlb
new file mode 100644
index 000000000000..e02b20688a72
--- /dev/null
+++ b/test/user-template/user/basic/Tutorials/dialog.xlb
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="Tutorials" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="TutorialsDialog"/>
+ <library:element library:name="TutorialOpenDialog"/>
+ <library:element library:name="TutorialCloseDialog"/>
+</library:library> \ No newline at end of file
diff --git a/test/user-template/user/basic/Tutorials/script.xlb b/test/user-template/user/basic/Tutorials/script.xlb
new file mode 100644
index 000000000000..30280c6b1feb
--- /dev/null
+++ b/test/user-template/user/basic/Tutorials/script.xlb
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="Tutorials" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="Functions"/>
+ <library:element library:name="TutorialCreator"/>
+ <library:element library:name="TutorialOpen"/>
+ <library:element library:name="RoadMap"/>
+ <library:element library:name="ShowInfoDialog"/>
+ <library:element library:name="TutorialClose"/>
+</library:library> \ No newline at end of file
diff --git a/test/user-template/user/basic/dialog.xlc b/test/user-template/user/basic/dialog.xlc
new file mode 100644
index 000000000000..b63ebd6d71d2
--- /dev/null
+++ b/test/user-template/user/basic/dialog.xlc
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:libraries PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "libraries.dtd">
+<library:libraries xmlns:library="http://openoffice.org/2000/library" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <library:library library:name="FormWizard" xlink:href="$(INST)/share/basic/FormWizard/dialog.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
+ <library:library library:name="Template" xlink:href="$(INST)/share/basic/Template/dialog.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
+ <library:library library:name="Tools" xlink:href="$(INST)/share/basic/Tools/dialog.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
+ <library:library library:name="Schedule" xlink:href="$(INST)/share/basic/Schedule/dialog.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
+ <library:library library:name="Gimmicks" xlink:href="$(INST)/share/basic/Gimmicks/dialog.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
+ <library:library library:name="ImportWizard" xlink:href="$(INST)/share/basic/ImportWizard/dialog.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
+ <library:library library:name="Euro" xlink:href="$(INST)/share/basic/Euro/dialog.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
+ <library:library library:name="Depot" xlink:href="$(INST)/share/basic/Depot/dialog.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
+ <library:library library:name="ScriptBindingLibrary" xlink:href="$(INST)/share/basic/ScriptBindingLibrary/dialog.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
+</library:libraries> \ No newline at end of file
diff --git a/test/user-template/user/basic/script.xlc b/test/user-template/user/basic/script.xlc
new file mode 100644
index 000000000000..aaf1b0d9303e
--- /dev/null
+++ b/test/user-template/user/basic/script.xlc
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:libraries PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "libraries.dtd">
+<library:libraries xmlns:library="http://openoffice.org/2000/library" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <library:library library:name="FormWizard" xlink:href="$(INST)/share/basic/FormWizard/script.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
+ <library:library library:name="Template" xlink:href="$(INST)/share/basic/Template/script.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
+ <library:library library:name="Tools" xlink:href="$(INST)/share/basic/Tools/script.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
+ <library:library library:name="Schedule" xlink:href="$(INST)/share/basic/Schedule/script.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
+ <library:library library:name="Gimmicks" xlink:href="$(INST)/share/basic/Gimmicks/script.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
+ <library:library library:name="ImportWizard" xlink:href="$(INST)/share/basic/ImportWizard/script.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
+ <library:library library:name="Euro" xlink:href="$(INST)/share/basic/Euro/script.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
+ <library:library library:name="Depot" xlink:href="$(INST)/share/basic/Depot/script.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
+ <library:library library:name="ScriptBindingLibrary" xlink:href="$(INST)/share/basic/ScriptBindingLibrary/script.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
+</library:libraries> \ No newline at end of file
diff --git a/test/user-template/user/config/images.zip b/test/user-template/user/config/images.zip
new file mode 120000
index 000000000000..a7d51d861dba
--- /dev/null
+++ b/test/user-template/user/config/images.zip
@@ -0,0 +1 @@
+/devel/libo/libo1/packimages/unxlngx6.pro/bin/images.zip \ No newline at end of file
diff --git a/test/user-template/user/config/images_crystal.zip b/test/user-template/user/config/images_crystal.zip
new file mode 120000
index 000000000000..849d4dc9e049
--- /dev/null
+++ b/test/user-template/user/config/images_crystal.zip
@@ -0,0 +1 @@
+/devel/libo/libo1/packimages/unxlngx6.pro/bin/images_crystal.zip \ No newline at end of file
diff --git a/test/user-template/user/config/images_hicontrast.zip b/test/user-template/user/config/images_hicontrast.zip
new file mode 120000
index 000000000000..24237af99628
--- /dev/null
+++ b/test/user-template/user/config/images_hicontrast.zip
@@ -0,0 +1 @@
+/devel/libo/libo1/packimages/unxlngx6.pro/bin/images_hicontrast.zip \ No newline at end of file
diff --git a/test/user-template/user/config/images_oxygen.zip b/test/user-template/user/config/images_oxygen.zip
new file mode 120000
index 000000000000..0c83c8b25d98
--- /dev/null
+++ b/test/user-template/user/config/images_oxygen.zip
@@ -0,0 +1 @@
+/devel/libo/libo1/packimages/unxlngx6.pro/bin/images_oxygen.zip \ No newline at end of file
diff --git a/test/user-template/user/config/images_tango.zip b/test/user-template/user/config/images_tango.zip
new file mode 120000
index 000000000000..b5f8135a8d4e
--- /dev/null
+++ b/test/user-template/user/config/images_tango.zip
@@ -0,0 +1 @@
+/devel/libo/libo1/packimages/unxlngx6.pro/bin/images_tango.zip \ No newline at end of file
diff --git a/test/user-template/user/config/javasettingsunopkginstall.xml b/test/user-template/user/config/javasettingsunopkginstall.xml
new file mode 100644
index 000000000000..3efc8e87fc62
--- /dev/null
+++ b/test/user-template/user/config/javasettingsunopkginstall.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<java xmlns="http://openoffice.org/2004/java/framework/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+</java>
diff --git a/test/user-template/user/config/linked/images.zip b/test/user-template/user/config/linked/images.zip
new file mode 100644
index 000000000000..ee02f4ba881f
--- /dev/null
+++ b/test/user-template/user/config/linked/images.zip
Binary files differ
diff --git a/test/user-template/user/config/linked/images_crystal.zip b/test/user-template/user/config/linked/images_crystal.zip
new file mode 100644
index 000000000000..9c8eb94cbde3
--- /dev/null
+++ b/test/user-template/user/config/linked/images_crystal.zip
Binary files differ
diff --git a/test/user-template/user/config/linked/images_hicontrast.zip b/test/user-template/user/config/linked/images_hicontrast.zip
new file mode 100644
index 000000000000..481845bfb00a
--- /dev/null
+++ b/test/user-template/user/config/linked/images_hicontrast.zip
Binary files differ
diff --git a/test/user-template/user/config/linked/images_oxygen.zip b/test/user-template/user/config/linked/images_oxygen.zip
new file mode 100644
index 000000000000..a98f348892d7
--- /dev/null
+++ b/test/user-template/user/config/linked/images_oxygen.zip
Binary files differ
diff --git a/test/user-template/user/config/linked/images_tango.zip b/test/user-template/user/config/linked/images_tango.zip
new file mode 100644
index 000000000000..e795be3cd278
--- /dev/null
+++ b/test/user-template/user/config/linked/images_tango.zip
Binary files differ
diff --git a/test/user-template/user/config/psetup.xpm b/test/user-template/user/config/psetup.xpm
new file mode 100644
index 000000000000..f5129757923f
--- /dev/null
+++ b/test/user-template/user/config/psetup.xpm
@@ -0,0 +1,31 @@
+/* XPM */
+static char * L3PSetup_t_pm[] = {
+/* width height ncolors cpp [x_hot y_hot] */
+"16 16 9 1 0 0",
+/* colors */
+" s none m none c none",
+". c #861782078617",
+"X s iconColor1 m black c black",
+"o c #000000008617",
+"O s iconColor2 m white c white",
+"+ c #C71BC30BC71B",
+"@ s iconColor6 m white c yellow",
+"# c #00000000FFFF",
+"$ c #861700000000",
+/* pixels */
+" ",
+" .. XXXXX o",
+" ..OO+XO.OO@Xo",
+" ..OOOOX@.@.OOOo",
+"XXOOOOXOXO.O.@Oo",
+" XOOX@XOX@.OXXo",
+" XOOXOO+XXX o",
+" XX+XOO..+++O+. ",
+"X.++X..+++##++O.",
+"X...++++$$++OOO.",
+"X.....++++OO++O.",
+"X.......OO++++..",
+"XX......+++++.X.",
+" XX....+++.XX ",
+" XX..+.XX ",
+" XXXX "};
diff --git a/test/user-template/user/config/psetupl.xpm b/test/user-template/user/config/psetupl.xpm
new file mode 100644
index 000000000000..f9cca89f10e1
--- /dev/null
+++ b/test/user-template/user/config/psetupl.xpm
@@ -0,0 +1,49 @@
+/* XPM */
+static char * L3PSetup_m_pm[] = {
+/* width height ncolors cpp [x_hot y_hot] */
+"32 32 11 1 0 0",
+/* colors */
+" s none m none c none",
+". s iconColor1 m black c black",
+"X c #000000008617",
+"o c #861782078617",
+"O s iconColor2 m white c white",
+"+ c #C71BC30BC71B",
+"@ s iconColor6 m white c yellow",
+"# c #00000000FFFF",
+"$ c #861782070000",
+"% c #000082078617",
+"& c #861700000000",
+/* pixels */
+" ",
+" ........ XXXX",
+" .o..oo.OOOOOOO+..X+OX",
+" .+ooOO.@OO@OOOO@OOXOOX",
+" .+oo+O.OO.OOOOOOOOOXXXX",
+" .+oo+O.O@.OOO@OOOO@OXXXX",
+" .+oo+O.@O.O@O.OO@OOOOXXXX",
+" .+oo+O.OO.+.O.OOOOOOOOXXXX",
+" .+oo+O.O@.+O+.O@O.OOO..X.X.",
+" .+oo+O+...+O++o.O.OO@. .X. ",
+" .+oo+O+O+O+O++++o.@O..o ... ",
+" .ooo+O+O+O+O++++ooo.. ",
+" .ooo+O+O+O+O++++o..+Oo ",
+" .oo+O+O+O+O++++o....OO. ",
+" ..+O+O+O+O++++o......OO. ",
+" .o+OO+O+O++#+o....$o..OO. ",
+" .oo+OO+O++%+o....$$$...Oo. ",
+" .ooo+OO++&+o...$$$+$+...o. ",
+" .oooo+O+++o...$$$+$+++..o. ",
+" .oooooOO+o.o.$$++$+OoOO..o ",
+" .ooooo+Oo..O.$++$OOoOO$O.o ",
+"o.ooooooO.o.OO.+$OOoOOoOOO. ",
+"oo.ooooo.O.O.OO.OOoOO$OOoOO. ",
+" oo.oooo+O.OO.OO.OOOoOOoOO.o ",
+" oo.ooo+O.oOo.Oo.O$OO$OO.o ",
+" oo.oo+O.o+o.+o.OOOoOO.o ",
+" oo.o+O.o+o.+o.OOoOO.o ",
+" oo.+..o+o.+o..OOO.o ",
+" oo.oo.+..+o.o.O.o ",
+" ooooo.o.o.ooo.o ",
+" oooo.o oo ",
+" oo "};
diff --git a/test/user-template/user/config/soffice.cfg/modules/BasicIDE/menubar/menubar.xml b/test/user-template/user/config/soffice.cfg/modules/BasicIDE/menubar/menubar.xml
new file mode 100644
index 000000000000..4583ca294dc0
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/BasicIDE/menubar/menubar.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<menu:menubar xmlns:menu="http://openoffice.org/2001/menu" menu:id="menubar">
+ <menu:menu menu:id=".uno:PickList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:AddDirect"/>
+ <menu:menuitem menu:id=".uno:Open"/>
+ <menu:menuitem menu:id=".uno:RecentFileList"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AutoPilotMenu"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CloseDoc"/>
+ <menu:menuitem menu:id=".uno:Save"/>
+ <menu:menuitem menu:id=".uno:SaveAs"/>
+ <menu:menuitem menu:id=".uno:SaveAll"/>
+ <menu:menu menu:id=".uno:TemplateMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Organizer"/>
+ <menu:menuitem menu:id=".uno:AddressBookSource"/>
+ <menu:menuitem menu:id=".uno:SaveAsTemplate"/>
+ <menu:menuitem menu:id=".uno:OpenTemplate"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Signature"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Print"/>
+ <menu:menuitem menu:id=".uno:PrinterSetup"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Quit"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:EditMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Undo"/>
+ <menu:menuitem menu:id=".uno:Redo"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Cut"/>
+ <menu:menuitem menu:id=".uno:Copy"/>
+ <menu:menuitem menu:id=".uno:Paste"/>
+ <menu:menuitem menu:id=".uno:SelectAll"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id="vnd.sun.star.findbar:FocusToFindbar"/>
+ <menu:menuitem menu:id=".uno:SearchDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ViewMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:AvailableToolbars"/>
+ <menu:menuitem menu:id=".uno:StatusBarVisible"/>
+ <menu:menuitem menu:id=".uno:ShowImeStatusWindow"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:FullScreen"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ToolsMenu">
+ <menu:menupopup>
+ <menu:menu menu:id=".uno:MacrosMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:MacroRecorder"/>
+ <menu:menuitem menu:id=".uno:RunMacro"/>
+ <menu:menu menu:id=".uno:ScriptOrganizer"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MacroOrganizer?TabId:short=1"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id="service:com.sun.star.deployment.ui.PackageManagerDialog"/>
+ <menu:menuseparator/>
+
+ <menu:menuitem menu:id=".uno:ConfigureDialog"/>
+ <menu:menuitem menu:id=".uno:OptionsTreeDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:WindowList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:CloseWin"/>
+ <menu:menuseparator/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:HelpMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HelpIndex"/>
+ <menu:menuitem menu:id=".uno:ExtendedHelp"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowLicense"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowCredits"/>
+ <menu:menuitem menu:id=".uno:About"/>
+ </menu:menupopup>
+ </menu:menu>
+</menu:menubar>
+
diff --git a/test/user-template/user/config/soffice.cfg/modules/BasicIDE/statusbar/statusbar.xml b/test/user-template/user/config/soffice.cfg/modules/BasicIDE/statusbar/statusbar.xml
new file mode 100644
index 000000000000..37766aeb58ed
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/BasicIDE/statusbar/statusbar.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE statusbar:statusbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "statusbar.dtd">
+<statusbar:statusbar xmlns:statusbar="http://openoffice.org/2001/statusbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <statusbar:statusbaritem xlink:href=".uno:StatusGetTitle" statusbar:align="left" statusbar:autosize="true" statusbar:width="240" statusbar:helpid="helpid:30808"/>
+ <statusbar:statusbaritem xlink:href=".uno:ModifiedStatus" statusbar:align="center" statusbar:width="14" statusbar:helpid="helpid:5584"/>
+ <statusbar:statusbaritem xlink:href=".uno:StatusGetPosition" statusbar:align="left" statusbar:width="120" statusbar:helpid="helpid:30806"/>
+ <statusbar:statusbaritem xlink:href=".uno:InsertMode" statusbar:align="center" statusbar:width="41" statusbar:helpid="helpid:10221"/>
+ <statusbar:statusbaritem xlink:href=".uno:Signature" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="16" statusbar:helpid="helpid:5699"/>
+ <statusbar:statusbaritem xlink:href=".uno:Size" statusbar:align="left" statusbar:autosize="true" statusbar:ownerdraw="true" statusbar:width="160" statusbar:helpid="helpid:10224"/>
+</statusbar:statusbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/BasicIDE/toolbar/dialogbar.xml b/test/user-template/user/config/soffice.cfg/modules/BasicIDE/toolbar/dialogbar.xml
new file mode 100644
index 000000000000..91b9a925fa60
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/BasicIDE/toolbar/dialogbar.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:LibSelector" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ChooseControls" />
+ <toolbar:toolbaritem xlink:href=".uno:ImportDialog" />
+ <toolbar:toolbaritem xlink:href=".uno:ExportDialog" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/BasicIDE/toolbar/findbar.xml b/test/user-template/user/config/soffice.cfg/modules/BasicIDE/toolbar/findbar.xml
new file mode 100644
index 000000000000..49e483e178a3
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/BasicIDE/toolbar/findbar.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FindText"/>
+ <toolbar:toolbaritem xlink:href=".uno:DownSearch"/>
+ <toolbar:toolbaritem xlink:href=".uno:UpSearch"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SearchDialog"/>
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/BasicIDE/toolbar/fullscreenbar.xml b/test/user-template/user/config/soffice.cfg/modules/BasicIDE/toolbar/fullscreenbar.xml
new file mode 100644
index 000000000000..5aecdda4fb04
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/BasicIDE/toolbar/fullscreenbar.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FullScreen" toolbar:helpid="helpid:5627" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/BasicIDE/toolbar/insertcontrolsbar.xml b/test/user-template/user/config/soffice.cfg/modules/BasicIDE/toolbar/insertcontrolsbar.xml
new file mode 100644
index 000000000000..fe0edf689bba
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/BasicIDE/toolbar/insertcontrolsbar.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SelectMode" toolbar:helpid="helpid:10198" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:ManageLanguage" toolbar:helpid="helpid:30820" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:TestMode" toolbar:helpid="helpid:10199" />
+ <toolbar:toolbaritem xlink:href=".uno:ShowPropBrowser" toolbar:helpid="helpid:10943" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertPushbutton" toolbar:helpid="helpid:10146" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertImageControl" toolbar:helpid="helpid:10926" toolbar:style="radio" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:Checkbox" toolbar:helpid="helpid:10148" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Radiobutton" toolbar:helpid="helpid:10147" toolbar:style="radio" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertFixedText" toolbar:helpid="helpid:10188" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertEdit" toolbar:helpid="helpid:10190" toolbar:style="radio" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertListbox" toolbar:helpid="helpid:10191" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Combobox" toolbar:helpid="helpid:10192" toolbar:style="radio" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:HScrollbar" toolbar:helpid="helpid:10194" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:VScrollbar" toolbar:helpid="helpid:10195" toolbar:style="radio" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:Groupbox" toolbar:helpid="helpid:10189" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:ProgressBar" toolbar:helpid="helpid:10927" toolbar:style="radio" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:HFixedLine" toolbar:helpid="helpid:10928" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:VFixedLine" toolbar:helpid="helpid:10929" toolbar:style="radio" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:AddDateField" toolbar:helpid="helpid:10936" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertTimeField" toolbar:helpid="helpid:10937" toolbar:style="radio" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertNumericField" toolbar:helpid="helpid:10938" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertCurrencyField" toolbar:helpid="helpid:10939" toolbar:style="radio" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertFormattedField" toolbar:helpid="helpid:10940" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertPatternField" toolbar:helpid="helpid:10941" toolbar:style="radio" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertFileControl" toolbar:helpid="helpid:10942" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertTreeControl" toolbar:style="radio" />
+ <toolbar:toolbarbreak/>
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/BasicIDE/toolbar/macrobar.xml b/test/user-template/user/config/soffice.cfg/modules/BasicIDE/toolbar/macrobar.xml
new file mode 100644
index 000000000000..6e22bff09baf
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/BasicIDE/toolbar/macrobar.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:LibSelector" toolbar:helpid="helpid:30787" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:CompileBasic" toolbar:helpid="helpid:5954" />
+ <toolbar:toolbaritem xlink:href=".uno:RunBasic" toolbar:helpid="helpid:5955" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicStop" toolbar:helpid="helpid:5958" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicStepOver" toolbar:helpid="helpid:5957" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicStepInto" toolbar:helpid="helpid:5956" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicStepOut" toolbar:helpid="helpid:5963" />
+ <toolbar:toolbaritem xlink:href=".uno:ToggleBreakPoint" toolbar:helpid="helpid:30768" />
+ <toolbar:toolbaritem xlink:href=".uno:ManageBreakPoints" toolbar:helpid="helpid:30810" />
+ <toolbar:toolbaritem xlink:href=".uno:AddWatch" toolbar:helpid="helpid:30769" />
+ <toolbar:toolbaritem xlink:href=".uno:MatchGroup" toolbar:helpid="helpid:30782" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LoadBasic" toolbar:helpid="helpid:5951" />
+ <toolbar:toolbaritem xlink:href=".uno:SaveBasicAs" toolbar:helpid="helpid:5953" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ImportDialog" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/BasicIDE/toolbar/standardbar.xml b/test/user-template/user/config/soffice.cfg/modules/BasicIDE/toolbar/standardbar.xml
new file mode 100644
index 000000000000..3e685264b75b
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/BasicIDE/toolbar/standardbar.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:OpenUrl" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:AddDirect" toolbar:helpid="helpid:5537" toolbar:style="dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:Open" toolbar:helpid="helpid:5501" />
+ <toolbar:toolbaritem xlink:href=".uno:Save" toolbar:helpid="helpid:5505" />
+ <toolbar:toolbaritem xlink:href=".uno:SaveAs" toolbar:helpid="helpid:5502" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:PrintDefault" toolbar:helpid="helpid:5509" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Cut" toolbar:helpid="helpid:5710" />
+ <toolbar:toolbaritem xlink:href=".uno:Copy" toolbar:helpid="helpid:5711" />
+ <toolbar:toolbaritem xlink:href=".uno:Paste" toolbar:helpid="helpid:5712" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Undo" toolbar:helpid="helpid:5701" />
+ <toolbar:toolbaritem xlink:href=".uno:Redo" toolbar:helpid="helpid:5700" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ObjectCatalog" toolbar:helpid="helpid:30774" />
+ <toolbar:toolbaritem xlink:href=".uno:ChooseMacro" toolbar:helpid="helpid:30770" />
+ <toolbar:toolbaritem xlink:href=".uno:ModuleDialog" toolbar:helpid="helpid:30773" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:HelpIndex" />
+ <toolbar:toolbaritem xlink:href=".uno:ExtendedHelp" toolbar:visible="false" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/BasicIDE/toolbar/translationbar.xml b/test/user-template/user/config/soffice.cfg/modules/BasicIDE/toolbar/translationbar.xml
new file mode 100644
index 000000000000..0402e9ba38c6
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/BasicIDE/toolbar/translationbar.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:CurrentLanguage" toolbar:helpid="helpid:30821" />
+ <toolbar:toolbaritem xlink:href=".uno:ManageLanguage" toolbar:helpid="helpid:30820" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/StartModule/menubar/menubar.xml b/test/user-template/user/config/soffice.cfg/modules/StartModule/menubar/menubar.xml
new file mode 100644
index 000000000000..5ac4c3eb4b7c
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/StartModule/menubar/menubar.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<menu:menubar xmlns:menu="http://openoffice.org/2001/menu" menu:id="menubar">
+ <menu:menu menu:id=".uno:PickList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:AddDirect"/>
+ <menu:menuitem menu:id=".uno:Open"/>
+ <menu:menuitem menu:id=".uno:RecentFileList"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AutoPilotMenu"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CloseDoc"/>
+ <menu:menuitem menu:id=".uno:Save"/>
+ <menu:menuitem menu:id=".uno:SaveAs"/>
+ <menu:menuitem menu:id=".uno:SaveAll"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SendMail"/>
+ <menu:menu menu:id=".uno:TemplateMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Organizer"/>
+ <menu:menuitem menu:id=".uno:AddressBookSource"/>
+ <menu:menuitem menu:id=".uno:SaveAsTemplate"/>
+ <menu:menuitem menu:id=".uno:OpenTemplate"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SetDocumentProperties"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Print"/>
+ <menu:menuitem menu:id=".uno:PrinterSetup"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Quit"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:EditMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Undo"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Cut"/>
+ <menu:menuitem menu:id=".uno:Copy"/>
+ <menu:menuitem menu:id=".uno:Paste"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ViewMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:AvailableToolbars"/>
+ <menu:menuitem menu:id=".uno:StatusBarVisible"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ToolsMenu">
+ <menu:menupopup>
+ <menu:menu menu:id=".uno:MacrosMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:MacroRecorder"/>
+ <menu:menuitem menu:id=".uno:RunMacro"/>
+ <menu:menu menu:id=".uno:ScriptOrganizer"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MacroOrganizer?TabId:short=1"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id="service:com.sun.star.deployment.ui.PackageManagerDialog"/>
+ <menu:menuitem menu:id=".uno:ConfigureDialog"/>
+ <menu:menuitem menu:id=".uno:OptionsTreeDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:WindowList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:NewWindow"/>
+ <menu:menuitem menu:id=".uno:CloseWin"/>
+ <menu:menuseparator/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:HelpMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HelpIndex"/>
+ <menu:menuitem menu:id=".uno:ExtendedHelp"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowLicense"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowCredits"/>
+ <menu:menuitem menu:id=".uno:About"/>
+ </menu:menupopup>
+ </menu:menu>
+</menu:menubar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/StartModule/statusbar/statusbar.xml b/test/user-template/user/config/soffice.cfg/modules/StartModule/statusbar/statusbar.xml
new file mode 100644
index 000000000000..7b15360f9775
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/StartModule/statusbar/statusbar.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE statusbar:statusbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "statusbar.dtd">
+<statusbar:statusbar xmlns:statusbar="http://openoffice.org/2001/statusbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+</statusbar:statusbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/StartModule/toolbar/standardbar.xml b/test/user-template/user/config/soffice.cfg/modules/StartModule/toolbar/standardbar.xml
new file mode 100644
index 000000000000..4d50afc6576a
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/StartModule/toolbar/standardbar.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:OpenUrl" toolbar:visible="false"/>
+ <toolbar:toolbaritem xlink:href=".uno:AddDirect" toolbar:helpid="helpid:5537" toolbar:style="dropdown"/>
+ <toolbar:toolbaritem xlink:href=".uno:NewDoc" toolbar:helpid="helpid:5500" toolbar:visible="false"/>
+ <toolbar:toolbaritem xlink:href=".uno:Open" toolbar:helpid="helpid:5501"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:HelpIndex"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtendedHelp" toolbar:visible="false"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbapp/menubar/menubar.xml b/test/user-template/user/config/soffice.cfg/modules/dbapp/menubar/menubar.xml
new file mode 100644
index 000000000000..a76fda58c575
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbapp/menubar/menubar.xml
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<menu:menubar xmlns:menu="http://openoffice.org/2001/menu" menu:id="menubar">
+ <menu:menu menu:id=".uno:PickList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:AddDirect"/>
+ <menu:menuitem menu:id=".uno:Open"/>
+ <menu:menuitem menu:id=".uno:RecentFileList"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AutoPilotMenu"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CloseDoc"/>
+ <menu:menuitem menu:id=".uno:Save"/>
+ <menu:menuitem menu:id=".uno:SaveAs"/>
+ <menu:menuitem menu:id=".uno:SaveAll"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ExportTo"/>
+ <menu:menu menu:id=".uno:SendToMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SendMail"/>
+ <menu:menuitem menu:id=".uno:DBSendReportAsMail"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:DBSendReportToWriter"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Quit"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:EditMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Undo"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Cut"/>
+ <menu:menuitem menu:id=".uno:Copy"/>
+ <menu:menuitem menu:id=".uno:Paste"/>
+ <menu:menuitem menu:id=".uno:PasteSpecial"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:DBDelete"/>
+ <menu:menuitem menu:id=".uno:DBRename"/>
+ <menu:menuitem menu:id=".uno:DBEdit"/>
+ <menu:menuitem menu:id=".uno:DBEditSqlView"/>
+ <menu:menuitem menu:id=".uno:DBOpen"/>
+ <menu:menuitem menu:id=".uno:DBConvertToView"/>
+ <menu:menuitem menu:id=".uno:DBNewFormAutoPilotWithPreSelection"/>
+ <menu:menuitem menu:id=".uno:DBNewReportAutoPilotWithPreSelection"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SelectAll"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:DBDatabasePropertiesMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:DBDSProperties"/>
+ <menu:menuitem menu:id=".uno:DBDSConnectionType"/>
+ <menu:menuitem menu:id=".uno:DBDSAdvancedSettings"/>
+ </menu:menupopup>
+ </menu:menu>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ViewMenu">
+ <menu:menupopup>
+ <menu:menu menu:id=".uno:DBDatabaseObjectsMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:DBViewTables" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:DBViewQueries" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:DBViewForms" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:DBViewReports" menu:style="radio"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AvailableToolbars"/>
+ <menu:menuitem menu:id=".uno:StatusBarVisible"/>
+ <menu:menu menu:id=".uno:DBPreview">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:DBDisablePreview" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:DBShowDocInfoPreview" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:DBShowDocPreview" menu:style="radio"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:DBSort">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Sortup"/>
+ <menu:menuitem menu:id=".uno:SortDown"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:DBRefreshTables"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:InsertMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:DBNewForm" menu:helpid="12305" menu:label="" />
+ <menu:menuitem menu:id=".uno:DBNewReport" menu:helpid="12316" menu:label="" />
+ <menu:menuitem menu:id=".uno:DBNewQuery" menu:helpid="38873" menu:label="" />
+ <menu:menuitem menu:id=".uno:DBNewQuerySql" menu:helpid="38841" menu:label="" />
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:DBNewTable"/>
+ <menu:menuitem menu:id=".uno:DBNewView"/>
+ <menu:menuitem menu:id=".uno:DBNewViewSQL"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:DBNewFolder"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ToolsMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:DBRelationDesign"/>
+ <menu:menuitem menu:id=".uno:DBUserAdmin"/>
+ <menu:menuitem menu:id=".uno:DBTableFilter"/>
+ <menu:menuitem menu:id=".uno:DBDirectSQL"/>
+ <menu:menuitem menu:id=".uno:DBMigrateScripts"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:MacrosMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:MacroRecorder"/>
+ <menu:menuitem menu:id=".uno:RunMacro"/>
+ <menu:menu menu:id=".uno:ScriptOrganizer"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MacroOrganizer?TabId:short=1"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id="service:com.sun.star.deployment.ui.PackageManagerDialog"/>
+ <menu:menuitem menu:id=".uno:OpenXMLFilterSettings"/>
+ <menu:menuitem menu:id=".uno:ConfigureDialog"/>
+ <menu:menuitem menu:id=".uno:OptionsTreeDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:WindowList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:NewWindow"/>
+ <menu:menuitem menu:id=".uno:CloseWin"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:HelpMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HelpIndex"/>
+ <menu:menuitem menu:id=".uno:ExtendedHelp"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowLicense"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowCredits"/>
+ <menu:menuitem menu:id=".uno:About"/>
+ </menu:menupopup>
+ </menu:menu>
+</menu:menubar>
+
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbapp/statusbar/statusbar.xml b/test/user-template/user/config/soffice.cfg/modules/dbapp/statusbar/statusbar.xml
new file mode 100644
index 000000000000..ca0ad5fbdaa6
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbapp/statusbar/statusbar.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE statusbar:statusbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "statusbar.dtd">
+<statusbar:statusbar xmlns:statusbar="http://openoffice.org/2001/statusbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <statusbar:statusbaritem xlink:href=".uno:DBStatusType" statusbar:align="left" statusbar:autosize="true" statusbar:width="50" statusbar:helpid="helpid:12308"/>
+ <statusbar:statusbaritem xlink:href=".uno:DBStatusDBName" statusbar:align="left" statusbar:autosize="true" statusbar:width="70" statusbar:helpid="helpid:12309"/>
+ <statusbar:statusbaritem xlink:href=".uno:DBStatusUserName" statusbar:align="left" statusbar:autosize="true" statusbar:width="70" statusbar:helpid="helpid:12310"/>
+ <statusbar:statusbaritem xlink:href=".uno:DBStatusHostName" statusbar:align="left" statusbar:autosize="true" statusbar:width="70" statusbar:helpid="helpid:12311"/>
+</statusbar:statusbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbapp/toolbar/formobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/dbapp/toolbar/formobjectbar.xml
new file mode 100644
index 000000000000..b8f555a80d8c
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbapp/toolbar/formobjectbar.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:DBFormOpen" toolbar:helpid="helpid:12286" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:DBFormEdit" toolbar:helpid="helpid:12285" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:DBFormDelete" toolbar:helpid="helpid:12283" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:DBFormRename" toolbar:helpid="helpid:12284" toolbar:text="" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbapp/toolbar/queryobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/dbapp/toolbar/queryobjectbar.xml
new file mode 100644
index 000000000000..ad67b7c4d3e6
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbapp/toolbar/queryobjectbar.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:DBQueryOpen" toolbar:helpid="helpid:12282" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:DBQueryEdit" toolbar:helpid="helpid:12281" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:DBQueryDelete" toolbar:helpid="helpid:12279" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:DBQueryRename" toolbar:helpid="helpid:12280" toolbar:text="" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbapp/toolbar/reportobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/dbapp/toolbar/reportobjectbar.xml
new file mode 100644
index 000000000000..d9fb154df0c2
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbapp/toolbar/reportobjectbar.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:DBReportOpen" toolbar:helpid="helpid:12290" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:DBReportEdit" toolbar:helpid="helpid:12289" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:DBReportDelete" toolbar:helpid="helpid:12287" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:DBReportRename" toolbar:helpid="helpid:12288" toolbar:text="" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbapp/toolbar/tableobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/dbapp/toolbar/tableobjectbar.xml
new file mode 100644
index 000000000000..66a2dd4cca98
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbapp/toolbar/tableobjectbar.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:DBTableOpen" toolbar:helpid="helpid:12278" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:DBTableEdit" toolbar:helpid="helpid:12277" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:DBTableDelete" toolbar:helpid="helpid:12275" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:DBTableRename" toolbar:helpid="helpid:12276" toolbar:text="" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbapp/toolbar/toolbar.xml b/test/user-template/user/config/soffice.cfg/modules/dbapp/toolbar/toolbar.xml
new file mode 100644
index 000000000000..ad003449cedd
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbapp/toolbar/toolbar.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:OpenUrl" toolbar:visible="false"/>
+ <toolbar:toolbaritem xlink:href=".uno:AddDirect" toolbar:helpid="helpid:5537" toolbar:text="" toolbar:style="dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:Open" toolbar:helpid="helpid:5501" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Save" toolbar:helpid="helpid:5505" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Copy" toolbar:helpid="helpid:5711" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Paste" toolbar:helpid="helpid:5712" toolbar:text="" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Sortup" toolbar:helpid="helpid:10712" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:SortDown" toolbar:helpid="helpid:10713" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:DBNewForm" toolbar:helpid="helpid:5500" toolbar:text="" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:HelpIndex" toolbar:helpid="helpid:5411" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:ExtendedHelp" toolbar:visible="false"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbbrowser/menubar/compat.xml b/test/user-template/user/config/soffice.cfg/modules/dbbrowser/menubar/compat.xml
new file mode 100644
index 000000000000..1e224627c50f
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbbrowser/menubar/compat.xml
@@ -0,0 +1 @@
+<compat/>
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbbrowser/toolbar/toolbar.xml b/test/user-template/user/config/soffice.cfg/modules/dbbrowser/toolbar/toolbar.xml
new file mode 100644
index 000000000000..54bfcda90988
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbbrowser/toolbar/toolbar.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:RecSave" toolbar:helpid="helpid:38991" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:DSBEditDoc" toolbar:helpid="helpid:6312" toolbar:text="" toolbar:style="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Cut" toolbar:helpid="helpid:5710" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Copy" toolbar:helpid="helpid:5711" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Paste" toolbar:helpid="helpid:5712" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:RecUndo" toolbar:helpid="helpid:38992" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:RecSearch" toolbar:helpid="helpid:10725" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Refresh" toolbar:helpid="helpid:10724" toolbar:text="" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:OrderCrit" toolbar:helpid="helpid:10714" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Sortup" toolbar:helpid="helpid:10712" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:SortDown" toolbar:helpid="helpid:10713" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AutoFilter" toolbar:helpid="helpid:10716" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:FormFiltered" toolbar:helpid="helpid:10723" toolbar:text="" toolbar:style="" />
+ <toolbar:toolbaritem xlink:href=".uno:FilterCrit" toolbar:helpid="helpid:10715" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:RemoveFilterSort" toolbar:helpid="helpid:10711" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:DSBInsertColumns" toolbar:helpid="helpid:12202" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:DSBInsertContent" toolbar:helpid="helpid:12201" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:DSBFormLetter" toolbar:helpid="helpid:12203" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:DSBDocumentDataSource" toolbar:helpid="helpid:12252" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:DSBrowserExplorer" toolbar:helpid="helpid:10764" toolbar:text="" toolbar:style="" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbquery/menubar/menubar.xml b/test/user-template/user/config/soffice.cfg/modules/dbquery/menubar/menubar.xml
new file mode 100644
index 000000000000..2d6ec8d05abc
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbquery/menubar/menubar.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<menu:menubar xmlns:menu="http://openoffice.org/2001/menu" menu:id="menubar">
+ <menu:menu menu:id=".uno:PickList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:AddDirect"/>
+ <menu:menuitem menu:id=".uno:Open"/>
+ <menu:menuitem menu:id=".uno:AutoPilotMenu"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CloseDoc"/>
+ <menu:menuitem menu:id=".uno:SaveAll"/>
+ <menu:menuitem menu:id=".uno:Save"/>
+ <menu:menuitem menu:id=".uno:SaveAs"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Quit"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:EditMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Undo"/>
+ <menu:menuitem menu:id=".uno:Redo"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Cut"/>
+ <menu:menuitem menu:id=".uno:Copy"/>
+ <menu:menuitem menu:id=".uno:Paste"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:DBDistinctValues"/>
+ <menu:menuitem menu:id=".uno:SbaNativeSql"/>
+ <menu:menuitem menu:id=".uno:DBClearQuery"/>
+ <menu:menuitem menu:id=".uno:SbaExecuteSql"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ViewMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:DBViewFunctions"/>
+ <menu:menuitem menu:id=".uno:DBViewTableNames"/>
+ <menu:menuitem menu:id=".uno:DBViewAliases"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AvailableToolbars"/>
+ <menu:menuitem menu:id=".uno:StatusBarVisible"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:DBChangeDesignMode"/>
+ <menu:menuitem menu:id=".uno:DBQueryPreview"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:InsertMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:DBAddRelation"/>
+ <menu:menuitem menu:id=".uno:AddTable"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ToolsMenu">
+ <menu:menupopup>
+ <menu:menu menu:id=".uno:MacrosMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:MacroRecorder"/>
+ <menu:menuitem menu:id=".uno:RunMacro"/>
+ <menu:menu menu:id=".uno:ScriptOrganizer"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MacroOrganizer?TabId:short=1"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id="service:com.sun.star.deployment.ui.PackageManagerDialog"/>
+ <menu:menuitem menu:id=".uno:ConfigureDialog"/>
+ <menu:menuitem menu:id=".uno:OptionsTreeDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:WindowList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:CloseWin"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:HelpMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HelpIndex"/>
+ <menu:menuitem menu:id=".uno:ExtendedHelp"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowLicense"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowCredits"/>
+ <menu:menuitem menu:id=".uno:About"/>
+ </menu:menupopup>
+ </menu:menu>
+</menu:menubar>
+
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbquery/toolbar/designobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/dbquery/toolbar/designobjectbar.xml
new file mode 100644
index 000000000000..894e725fde7e
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbquery/toolbar/designobjectbar.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:AddTable" toolbar:helpid="helpid:10722" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:DBViewFunctions" toolbar:helpid="helpid:12297" toolbar:text="" toolbar:style="" />
+ <toolbar:toolbaritem xlink:href=".uno:DBViewTableNames" toolbar:helpid="helpid:12298" toolbar:text="" toolbar:style="" />
+ <toolbar:toolbaritem xlink:href=".uno:DBViewAliases" toolbar:helpid="helpid:12299" toolbar:text="" toolbar:style="" />
+ <toolbar:toolbaritem xlink:href=".uno:DBDistinctValues" toolbar:helpid="helpid:12300" toolbar:text="" toolbar:style="" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbquery/toolbar/sqlobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/dbquery/toolbar/sqlobjectbar.xml
new file mode 100644
index 000000000000..27b4825e5539
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbquery/toolbar/sqlobjectbar.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SbaNativeSql" toolbar:helpid="helpid:10720" toolbar:text="" toolbar:style="" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbquery/toolbar/toolbar.xml b/test/user-template/user/config/soffice.cfg/modules/dbquery/toolbar/toolbar.xml
new file mode 100644
index 000000000000..790ee57c6b53
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbquery/toolbar/toolbar.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:Save" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:SaveAs" toolbar:text="" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:EditDoc" toolbar:text="" toolbar:style="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Cut" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Copy" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Paste" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Undo" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Redo" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SbaExecuteSql" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:DBChangeDesignMode" toolbar:text="" toolbar:style="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:DBClearQuery" toolbar:text="" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbrelation/menubar/menubar.xml b/test/user-template/user/config/soffice.cfg/modules/dbrelation/menubar/menubar.xml
new file mode 100644
index 000000000000..b7460a447e54
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbrelation/menubar/menubar.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<menu:menubar xmlns:menu="http://openoffice.org/2001/menu" menu:id="menubar">
+ <menu:menu menu:id=".uno:PickList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:AddDirect"/>
+ <menu:menuitem menu:id=".uno:Open"/>
+ <menu:menuitem menu:id=".uno:AutoPilotMenu"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CloseDoc"/>
+ <menu:menuitem menu:id=".uno:SaveAll"/>
+ <menu:menuitem menu:id=".uno:Save"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Quit"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:EditMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Undo"/>
+ <menu:menuitem menu:id=".uno:Redo"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ViewMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:AvailableToolbars"/>
+ <menu:menuitem menu:id=".uno:StatusBarVisible"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:InsertMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:DBAddRelation"/>
+ <menu:menuitem menu:id=".uno:AddTable"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ToolsMenu">
+ <menu:menupopup>
+ <menu:menu menu:id=".uno:MacrosMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:MacroRecorder"/>
+ <menu:menuitem menu:id=".uno:RunMacro"/>
+ <menu:menu menu:id=".uno:ScriptOrganizer"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MacroOrganizer?TabId:short=1"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id="service:com.sun.star.deployment.ui.PackageManagerDialog"/>
+ <menu:menuitem menu:id=".uno:ConfigureDialog"/>
+ <menu:menuitem menu:id=".uno:OptionsTreeDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:WindowList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:CloseWin"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:HelpMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HelpIndex"/>
+ <menu:menuitem menu:id=".uno:ExtendedHelp"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowLicense"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowCredits"/>
+ <menu:menuitem menu:id=".uno:About"/>
+ </menu:menupopup>
+ </menu:menu>
+</menu:menubar>
+
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbrelation/toolbar/toolbar.xml b/test/user-template/user/config/soffice.cfg/modules/dbrelation/toolbar/toolbar.xml
new file mode 100644
index 000000000000..f7f79fff538d
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbrelation/toolbar/toolbar.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:Save" toolbar:helpid="helpid:5505" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:EditDoc" toolbar:helpid="helpid:6312" toolbar:text="" toolbar:style="" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Undo" toolbar:helpid="helpid:5701" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Redo" toolbar:helpid="helpid:5700" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AddTable" toolbar:helpid="helpid:10722" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:DBAddRelation" toolbar:helpid="helpid:12296" toolbar:text="" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbreport/menubar/menubar.xml b/test/user-template/user/config/soffice.cfg/modules/dbreport/menubar/menubar.xml
new file mode 100644
index 000000000000..9993288d8601
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbreport/menubar/menubar.xml
@@ -0,0 +1,422 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<menu:menubar xmlns:menu="http://openoffice.org/2001/menu" menu:id="menubar">
+ <menu:menu menu:id=".uno:PickList" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:AddDirect"/>
+ <menu:menuitem menu:id=".uno:Open"/>
+ <menu:menuitem menu:id=".uno:RecentFileList"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AutoPilotMenu"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CloseDoc"/>
+ <menu:menuitem menu:id=".uno:Save"/>
+ <menu:menuitem menu:id=".uno:SaveAs"/>
+ <menu:menuitem menu:id=".uno:SaveAll"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:ExportReportTo">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:TextDocument"/>
+ <menu:menuitem menu:id=".uno:Spreadsheet"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Quit"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:EditMenu" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Undo"/>
+ <menu:menuitem menu:id=".uno:Redo"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Cut"/>
+ <menu:menuitem menu:id=".uno:Copy"/>
+ <menu:menuitem menu:id=".uno:Paste"/>
+ <menu:menu menu:id=".uno:Select">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SelectAll"/>
+ <menu:menuitem menu:id=".uno:SelectAllLabels"/>
+ <menu:menuitem menu:id=".uno:SelectAllEdits"/>
+ <menu:menuitem menu:id=".uno:SelectReport"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Delete"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:PageHeaderFooter"/>
+ <menu:menuitem menu:id=".uno:ReportHeaderFooter"/>
+ <menu:menuitem menu:id=".uno:ColumnHeaderFooter"/>
+ <menu:menuseparator/>
+
+ <menu:menu menu:id=".uno:EditShapeMenu">
+ <menu:menupopup>
+ <!--
+ <menu:menu menu:id=".uno:ArrangeMenu">
+ <menu:menupopup>
+-->
+ <menu:menuitem menu:id=".uno:BringToFront"/>
+ <menu:menuitem menu:id=".uno:ObjectBackOne"/>
+ <menu:menuitem menu:id=".uno:ObjectForwardOne"/>
+ <menu:menuitem menu:id=".uno:SendToBack"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SetObjectToForeground"/>
+ <menu:menuitem menu:id=".uno:SetObjectToBackground"/>
+ <!--
+ </menu:menupopup>
+ </menu:menu>
+-->
+ </menu:menupopup>
+ </menu:menu>
+
+ <menu:menu menu:id=".uno:EditControlMenu">
+ <menu:menupopup>
+ <menu:menu menu:id=".uno:ObjectAlign" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ObjectAlignLeft"/>
+ <menu:menuitem menu:id=".uno:AlignCenter"/>
+ <menu:menuitem menu:id=".uno:ObjectAlignRight"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AlignUp"/>
+ <menu:menuitem menu:id=".uno:AlignMiddle"/>
+ <menu:menuitem menu:id=".uno:AlignDown"/>
+ </menu:menupopup>
+ </menu:menu>
+
+ <menu:menu menu:id=".uno:ObjectResize" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SmallestWidth"/>
+ <menu:menuitem menu:id=".uno:GreatestWidth"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SmallestHeight"/>
+ <menu:menuitem menu:id=".uno:GreatestHeight"/>
+ </menu:menupopup>
+ </menu:menu>
+
+ <menu:menu menu:id=".uno:SectionAlignmentMenu" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SectionAlignLeft"/>
+ <menu:menuitem menu:id=".uno:SectionAlignRight"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SectionAlignTop"/>
+ <menu:menuitem menu:id=".uno:SectionAlignBottom"/>
+ </menu:menupopup>
+ </menu:menu>
+
+ </menu:menupopup>
+ </menu:menu>
+
+ <menu:menu menu:id=".uno:SectionShrinkMenu" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SectionShrink"/>
+ <menu:menuitem menu:id=".uno:SectionShrinkTop"/>
+ <menu:menuitem menu:id=".uno:SectionShrinkBottom"/>
+ </menu:menupopup>
+ </menu:menu>
+
+
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ExecuteReport"/>
+ </menu:menupopup>
+ </menu:menu>
+
+
+ <menu:menu menu:id=".uno:ViewMenu" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SwitchControlDesignMode"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ControlProperties"/>
+ <menu:menuitem menu:id=".uno:AddField"/>
+ <menu:menuitem menu:id=".uno:DbSortingAndGrouping"/>
+ <menu:menuitem menu:id=".uno:ReportNavigator"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AvailableToolbars"/>
+ <menu:menuitem menu:id=".uno:StatusBarVisible"/>
+ <menu:menuitem menu:id=".uno:ShowRuler"/>
+ <menu:menu menu:id=".uno:GridMenu" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:GridVisible"/>
+ <menu:menuitem menu:id=".uno:GridUse"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:SnapLinesMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HelplinesMove"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:Zoom"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:InsertMenu" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertPageNumberField"/>
+ <menu:menuitem menu:id=".uno:InsertDateTimeField"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:ReportControlMenu" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SelectObject"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ControlProperties"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Label" />
+ <menu:menuitem menu:id=".uno:Edit" />
+ <menu:menuitem menu:id=".uno:ImageControl" />
+ <menu:menuitem menu:id=".uno:InsertObjectChart" />
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:HFixedLine" />
+ <menu:menuitem menu:id=".uno:VFixedLine" />
+ </menu:menupopup>
+ </menu:menu>
+
+ <menu:menu menu:id=".uno:GraphicMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertGraphic"/>
+ </menu:menupopup>
+ </menu:menu>
+
+ <menu:menu menu:id=".uno:ShapesMenu" >
+ <menu:menupopup>
+
+ <menu:menu menu:id=".uno:BasicShapesMenu" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:BasicShapes.rectangle"/>
+ <menu:menuitem menu:id=".uno:BasicShapes.round-rectangle"/>
+ <menu:menuitem menu:id=".uno:BasicShapes.quadrat"/>
+ <menu:menuitem menu:id=".uno:BasicShapes.round-quadrat"/>
+ <menu:menuitem menu:id=".uno:BasicShapes.circle"/>
+ <menu:menuitem menu:id=".uno:BasicShapes.ellipse"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:BasicShapes.circle-pie"/>
+ <menu:menuitem menu:id=".uno:BasicShapes.isosceles-triangle"/>
+ <menu:menuitem menu:id=".uno:BasicShapes.right-triangle"/>
+ <menu:menuitem menu:id=".uno:BasicShapes.trapezoid"/>
+ <menu:menuitem menu:id=".uno:BasicShapes.diamond"/>
+ <menu:menuitem menu:id=".uno:BasicShapes.parallelogram"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:BasicShapes.pentagon"/>
+ <menu:menuitem menu:id=".uno:BasicShapes.hexagon"/>
+ <menu:menuitem menu:id=".uno:BasicShapes.octagon"/>
+ <menu:menuitem menu:id=".uno:BasicShapes.cross"/>
+ <menu:menuitem menu:id=".uno:BasicShapes.ring"/>
+ <menu:menuitem menu:id=".uno:BasicShapes.block-arc"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:BasicShapes.can"/>
+ <menu:menuitem menu:id=".uno:BasicShapes.cube"/>
+ <menu:menuitem menu:id=".uno:BasicShapes.paper"/>
+ <menu:menuitem menu:id=".uno:BasicShapes.frame"/>
+ </menu:menupopup>
+ </menu:menu>
+
+ <menu:menu menu:id=".uno:SymbolShapesMenu" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SymbolShapes.smiley"/>
+ <menu:menuitem menu:id=".uno:SymbolShapes.sun"/>
+ <menu:menuitem menu:id=".uno:SymbolShapes.moon"/>
+ <menu:menuitem menu:id=".uno:SymbolShapes.lightning"/>
+ <menu:menuitem menu:id=".uno:SymbolShapes.heart"/>
+ <menu:menuitem menu:id=".uno:SymbolShapes.flower"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SymbolShapes.cloud"/>
+ <menu:menuitem menu:id=".uno:SymbolShapes.forbidden"/>
+ <menu:menuitem menu:id=".uno:SymbolShapes.puzzle"/>
+ <menu:menuitem menu:id=".uno:SymbolShapes.bracket-pair"/>
+ <menu:menuitem menu:id=".uno:SymbolShapes.left-bracket"/>
+ <menu:menuitem menu:id=".uno:SymbolShapes.right-bracket"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SymbolShapes.brace-pair"/>
+ <menu:menuitem menu:id=".uno:SymbolShapes.left-brace"/>
+ <menu:menuitem menu:id=".uno:SymbolShapes.right-brace"/>
+ <menu:menuitem menu:id=".uno:SymbolShapes.quad-bevel"/>
+ <menu:menuitem menu:id=".uno:SymbolShapes.octagon-bevel"/>
+ <menu:menuitem menu:id=".uno:SymbolShapes.diamond-bevel"/>
+ </menu:menupopup>
+ </menu:menu>
+
+ <menu:menu menu:id=".uno:ArrowShapesMenu" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ArrowShapes.left-arrow"/>
+ <menu:menuitem menu:id=".uno:ArrowShapes.right-arrow"/>
+ <menu:menuitem menu:id=".uno:ArrowShapes.up-arrow"/>
+ <menu:menuitem menu:id=".uno:ArrowShapes.down-arrow"/>
+ <menu:menuitem menu:id=".uno:ArrowShapes.left-right-arrow"/>
+ <menu:menuitem menu:id=".uno:ArrowShapes.up-down-arrow"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ArrowShapes.up-right-arrow"/>
+ <menu:menuitem menu:id=".uno:ArrowShapes.up-right-down-arrow"/>
+ <menu:menuitem menu:id=".uno:ArrowShapes.quad-arrow"/>
+ <menu:menuitem menu:id=".uno:ArrowShapes.corner-right-arrow"/>
+ <menu:menuitem menu:id=".uno:ArrowShapes.split-arrow"/>
+ <menu:menuitem menu:id=".uno:ArrowShapes.striped-right-arrow"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ArrowShapes.notched-right-arrow"/>
+ <menu:menuitem menu:id=".uno:ArrowShapes.pentagon-right"/>
+ <menu:menuitem menu:id=".uno:ArrowShapes.chevron"/>
+ <menu:menuitem menu:id=".uno:ArrowShapes.right-arrow-callout"/>
+ <menu:menuitem menu:id=".uno:ArrowShapes.left-arrow-callout"/>
+ <menu:menuitem menu:id=".uno:ArrowShapes.up-arrow-callout"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ArrowShapes.down-arrow-callout"/>
+ <menu:menuitem menu:id=".uno:ArrowShapes.left-right-arrow-callout"/>
+ <menu:menuitem menu:id=".uno:ArrowShapes.up-down-arrow-callout"/>
+ <menu:menuitem menu:id=".uno:ArrowShapes.up-right-arrow-callout"/>
+ <menu:menuitem menu:id=".uno:ArrowShapes.quad-arrow-callout"/>
+ <menu:menuitem menu:id=".uno:ArrowShapes.circular-arrow"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ArrowShapes.split-round-arrow"/>
+ <menu:menuitem menu:id=".uno:ArrowShapes.s-sharped-arrow"/>
+ </menu:menupopup>
+ </menu:menu>
+
+ <menu:menu menu:id=".uno:FlowChartShapesMenu" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:FlowChartShapes.flowchart-process"/>
+ <menu:menuitem menu:id=".uno:FlowChartShapes.flowchart-alternate-process"/>
+ <menu:menuitem menu:id=".uno:FlowChartShapes.flowchart-decision"/>
+ <menu:menuitem menu:id=".uno:FlowChartShapes.flowchart-data"/>
+ <menu:menuitem menu:id=".uno:FlowChartShapes.flowchart-predefined-process"/>
+ <menu:menuitem menu:id=".uno:FlowChartShapes.flowchart-internal-storage"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:FlowChartShapes.flowchart-document"/>
+ <menu:menuitem menu:id=".uno:FlowChartShapes.flowchart-multidocument"/>
+ <menu:menuitem menu:id=".uno:FlowChartShapes.flowchart-terminator"/>
+ <menu:menuitem menu:id=".uno:FlowChartShapes.flowchart-preparation"/>
+ <menu:menuitem menu:id=".uno:FlowChartShapes.flowchart-manual-input"/>
+ <menu:menuitem menu:id=".uno:FlowChartShapes.flowchart-manual-operation"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:FlowChartShapes.flowchart-connector"/>
+ <menu:menuitem menu:id=".uno:FlowChartShapes.flowchart-off-page-connector"/>
+ <menu:menuitem menu:id=".uno:FlowChartShapes.flowchart-card"/>
+ <menu:menuitem menu:id=".uno:FlowChartShapes.flowchart-punched-tape"/>
+ <menu:menuitem menu:id=".uno:FlowChartShapes.flowchart-summing-junction"/>
+ <menu:menuitem menu:id=".uno:FlowChartShapes.flowchart-or"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:FlowChartShapes.flowchart-collate"/>
+ <menu:menuitem menu:id=".uno:FlowChartShapes.flowchart-sort"/>
+ <menu:menuitem menu:id=".uno:FlowChartShapes.flowchart-extract"/>
+ <menu:menuitem menu:id=".uno:FlowChartShapes.flowchart-merge"/>
+ <menu:menuitem menu:id=".uno:FlowChartShapes.flowchart-stored-data"/>
+ <menu:menuitem menu:id=".uno:FlowChartShapes.flowchart-delay"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:FlowChartShapes.flowchart-sequential-access"/>
+ <menu:menuitem menu:id=".uno:FlowChartShapes.flowchart-magnetic-disk"/>
+ <menu:menuitem menu:id=".uno:FlowChartShapes.flowchart-direct-access-storage"/>
+ <menu:menuitem menu:id=".uno:FlowChartShapes.flowchart-display"/>
+ </menu:menupopup>
+ </menu:menu>
+
+ <menu:menu menu:id=".uno:CalloutShapesMenu" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:CalloutShapes.rectangular-callout" />
+ <menu:menuitem menu:id=".uno:CalloutShapes.round-rectangular-callout" />
+ <menu:menuitem menu:id=".uno:CalloutShapes.round-callout" />
+ <menu:menuitem menu:id=".uno:CalloutShapes.cloud-callout" />
+ <menu:menuitem menu:id=".uno:CalloutShapes.line-callout-1" />
+ <menu:menuitem menu:id=".uno:CalloutShapes.line-callout-2" />
+ <menu:menuitem menu:id=".uno:CalloutShapes.line-callout-3" />
+ </menu:menupopup>
+ </menu:menu>
+
+ <menu:menu menu:id=".uno:StarShapesMenu" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:StarShapes.bang"/>
+ <menu:menuitem menu:id=".uno:StarShapes.star4"/>
+ <menu:menuitem menu:id=".uno:StarShapes.star5"/>
+ <menu:menuitem menu:id=".uno:StarShapes.star6"/>
+ <menu:menuitem menu:id=".uno:StarShapes.star8"/>
+ <menu:menuitem menu:id=".uno:StarShapes.star12"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:StarShapes.star24"/>
+ <menu:menuitem menu:id=".uno:StarShapes.concave-star6"/>
+ <menu:menuitem menu:id=".uno:StarShapes.vertical-scroll"/>
+ <menu:menuitem menu:id=".uno:StarShapes.horizontal-scroll"/>
+ <menu:menuitem menu:id=".uno:StarShapes.signet"/>
+ <menu:menuitem menu:id=".uno:StarShapes.doorplate"/>
+ </menu:menupopup>
+ </menu:menu>
+
+ </menu:menupopup>
+ </menu:menu>
+
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:FormatMenu" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ConditionalFormatting"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:FontDialog"/>
+ <menu:menuitem menu:id=".uno:PageDialog"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:ArrangeMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:BringToFront"/>
+ <menu:menuitem menu:id=".uno:ObjectBackOne"/>
+ <menu:menuitem menu:id=".uno:ObjectForwardOne"/>
+ <menu:menuitem menu:id=".uno:SendToBack"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SetObjectToForeground"/>
+ <menu:menuitem menu:id=".uno:SetObjectToBackground"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ObjectAlign" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ObjectAlignLeft"/>
+ <menu:menuitem menu:id=".uno:AlignCenter"/>
+ <menu:menuitem menu:id=".uno:ObjectAlignRight"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AlignUp"/>
+ <menu:menuitem menu:id=".uno:AlignMiddle"/>
+ <menu:menuitem menu:id=".uno:AlignDown"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ObjectResize" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SmallestWidth"/>
+ <menu:menuitem menu:id=".uno:GreatestWidth"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SmallestHeight"/>
+ <menu:menuitem menu:id=".uno:GreatestHeight"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Distribution"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ToolsMenu" >
+ <menu:menupopup>
+ <menu:menu menu:id=".uno:MacrosMenu" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:MacroRecorder"/>
+ <menu:menuitem menu:id=".uno:RunMacro"/>
+ <menu:menu menu:id=".uno:ScriptOrganizer"/>
+ <menu:menuitem menu:id=".uno:MacroSignature"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MacroOrganizer?TabId:short=1"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id="service:com.sun.star.deployment.ui.PackageManagerDialog"/>
+ <menu:menuitem menu:id=".uno:ConfigureDialog"/>
+ <menu:menuitem menu:id=".uno:OptionsTreeDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:WindowList" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:NewWindow"/>
+ <menu:menuitem menu:id=".uno:CloseWin"/>
+ <menu:menuseparator/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:HelpMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HelpIndex"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ExtendedHelp"/>
+ <menu:menuitem menu:id=".uno:HelpTip"/>
+ <menu:menuitem menu:id=".uno:ActiveHelp"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:HelperDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowLicense"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowCredits"/>
+ <menu:menuitem menu:id=".uno:About"/>
+ </menu:menupopup>
+ </menu:menu>
+</menu:menubar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbreport/statusbar/statusbar.xml b/test/user-template/user/config/soffice.cfg/modules/dbreport/statusbar/statusbar.xml
new file mode 100644
index 000000000000..7e50780b633d
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbreport/statusbar/statusbar.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE statusbar:statusbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "statusbar.dtd">
+<statusbar:statusbar xmlns:statusbar="http://openoffice.org/2001/statusbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <statusbar:statusbaritem xlink:href=".uno:ZoomSlider" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="130" statusbar:helpid="helpid:11065"/>
+ <statusbar:statusbaritem xlink:href=".uno:Zoom" statusbar:align="center" statusbar:width="35" statusbar:helpid="helpid:10000"/>
+</statusbar:statusbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/Formatting.xml b/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/Formatting.xml
new file mode 100644
index 000000000000..2fc8494938d4
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/Formatting.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:SelectObject" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:CharFontName" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontHeight" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Bold" />
+ <toolbar:toolbaritem xlink:href=".uno:Italic" />
+ <toolbar:toolbaritem xlink:href=".uno:Underline" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LeftPara" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CenterPara" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:RightPara" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:JustifyPara" toolbar:helpid="helpid:10031" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontColor" toolbar:style="dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:BackgroundColor" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontDialog" toolbar:visible="false" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/alignmentbar.xml b/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/alignmentbar.xml
new file mode 100644
index 000000000000..1c4a05228a07
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/alignmentbar.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlignLeft"/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignCenter"/>
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlignRight"/>
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignUp"/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignMiddle"/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignDown"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/arrowshapes.xml b/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/arrowshapes.xml
new file mode 100644
index 000000000000..62f2e5e2d534
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/arrowshapes.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-arrow"/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.right-arrow"/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-arrow"/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.down-arrow"/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-right-arrow"/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-down-arrow"/>
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-right-arrow"/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-right-down-arrow"/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.quad-arrow"/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.corner-right-arrow"/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.split-arrow"/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.striped-right-arrow"/>
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.notched-right-arrow"/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.pentagon-right"/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.chevron"/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.right-arrow-callout"/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-arrow-callout"/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-arrow-callout"/>
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.down-arrow-callout"/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-right-arrow-callout"/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-down-arrow-callout"/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-right-arrow-callout"/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.quad-arrow-callout"/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.circular-arrow"/>
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.split-round-arrow"/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.s-sharped-arrow"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/basicshapes.xml b/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/basicshapes.xml
new file mode 100644
index 000000000000..e26df54f29ab
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/basicshapes.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.rectangle"/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.round-rectangle"/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.quadrat"/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.round-quadrat"/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.circle"/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.ellipse"/>
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.circle-pie"/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.isosceles-triangle"/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.right-triangle"/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.trapezoid"/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.diamond"/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.parallelogram"/>
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.pentagon"/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.hexagon"/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.octagon"/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.cross"/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.ring"/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.block-arc"/>
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.can"/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.cube"/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.paper"/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.frame"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/calloutshapes.xml b/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/calloutshapes.xml
new file mode 100644
index 000000000000..5a37c8de0301
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/calloutshapes.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.rectangular-callout" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.round-rectangular-callout" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.round-callout" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.cloud-callout" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.line-callout-1" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.line-callout-2" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.line-callout-3" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/drawbar.xml b/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/drawbar.xml
new file mode 100644
index 000000000000..07778059053a
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/drawbar.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes" toolbar:style="dropdown"/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes" toolbar:style="dropdown"/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes" toolbar:style="dropdown"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes" toolbar:style="dropdown"/>
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes" toolbar:style="dropdown"/>
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes" toolbar:style="dropdown"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/flowchartshapes.xml b/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/flowchartshapes.xml
new file mode 100644
index 000000000000..d3e649930942
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/flowchartshapes.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-process"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-alternate-process"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-decision"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-data"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-predefined-process"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-internal-storage"/>
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-document"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-multidocument"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-terminator"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-preparation"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-manual-input"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-manual-operation"/>
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-connector"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-off-page-connector"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-card"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-punched-tape"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-summing-junction"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-or"/>
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-collate"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-sort"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-extract"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-merge"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-stored-data"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-delay"/>
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-sequential-access"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-magnetic-disk"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-direct-access-storage"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-display"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/reportcontrols.xml b/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/reportcontrols.xml
new file mode 100644
index 000000000000..ac460a3ba77c
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/reportcontrols.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SelectObject" toolbar:style="radio auto" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ControlProperties"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Label" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Edit" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:ImageControl" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertObjectChart" toolbar:style="radio auto" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:HFixedLine" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:VFixedLine" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GridVisible" toolbar:style="radio auto" toolbar:visible="false"/>
+ <toolbar:toolbaritem xlink:href=".uno:GridUse" toolbar:visible="false"/>
+ <toolbar:toolbaritem xlink:href=".uno:HelplinesMove" toolbar:visible="false"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/resizebar.xml b/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/resizebar.xml
new file mode 100644
index 000000000000..864f588b976b
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/resizebar.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SmallestWidth"/>
+ <toolbar:toolbaritem xlink:href=".uno:GreatestWidth"/>
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:SmallestHeight"/>
+ <toolbar:toolbaritem xlink:href=".uno:GreatestHeight"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/sectionalignmentbar.xml b/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/sectionalignmentbar.xml
new file mode 100644
index 000000000000..fc21516735a5
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/sectionalignmentbar.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SectionAlignLeft"/>
+ <toolbar:toolbaritem xlink:href=".uno:SectionAlignRight"/>
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:SectionAlignTop"/>
+ <toolbar:toolbaritem xlink:href=".uno:SectionAlignBottom"/>
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/sectionshrinkbar.xml b/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/sectionshrinkbar.xml
new file mode 100644
index 000000000000..0064ce8501b3
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/sectionshrinkbar.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SectionShrink"/>
+ <toolbar:toolbaritem xlink:href=".uno:SectionShrinkTop"/>
+ <toolbar:toolbaritem xlink:href=".uno:SectionShrinkBottom"/>
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/starshapes.xml b/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/starshapes.xml
new file mode 100644
index 000000000000..820e9c07434d
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/starshapes.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.bang"/>
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star4"/>
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star5"/>
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star6"/>
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star8"/>
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star12"/>
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star24"/>
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.concave-star6"/>
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.vertical-scroll"/>
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.horizontal-scroll"/>
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.signet"/>
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.doorplate"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/symbolshapes.xml b/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/symbolshapes.xml
new file mode 100644
index 000000000000..4269c1d42e08
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/symbolshapes.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.smiley"/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.sun"/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.moon"/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.lightning"/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.heart"/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.flower"/>
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.cloud"/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.forbidden"/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.puzzle"/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.bracket-pair"/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.left-bracket"/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.right-bracket"/>
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.brace-pair"/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.left-brace"/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.right-brace"/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.quad-bevel"/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.octagon-bevel"/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.diamond-bevel"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/toolbar.xml b/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/toolbar.xml
new file mode 100644
index 000000000000..55d77cb75f97
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbreport/toolbar/toolbar.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:Save" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:EditDoc" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Cut" />
+ <toolbar:toolbaritem xlink:href=".uno:Copy" />
+ <toolbar:toolbaritem xlink:href=".uno:Paste" toolbar:text="" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Undo" />
+ <toolbar:toolbaritem xlink:href=".uno:Redo" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AddField" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:ReportNavigator" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:DbSortingAndGrouping" />
+ <toolbar:toolbaritem xlink:href=".uno:ExecuteReport" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:HelpIndex" />
+ <toolbar:toolbaritem xlink:href=".uno:ExtendedHelp" toolbar:visible="false" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbtable/menubar/menubar.xml b/test/user-template/user/config/soffice.cfg/modules/dbtable/menubar/menubar.xml
new file mode 100644
index 000000000000..ede5eed2c224
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbtable/menubar/menubar.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<menu:menubar xmlns:menu="http://openoffice.org/2001/menu" menu:id="menubar">
+ <menu:menu menu:id=".uno:PickList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:AddDirect"/>
+ <menu:menuitem menu:id=".uno:Open"/>
+ <menu:menuitem menu:id=".uno:AutoPilotMenu"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CloseDoc"/>
+ <menu:menuitem menu:id=".uno:SaveAll"/>
+ <menu:menuitem menu:id=".uno:Save"/>
+ <menu:menuitem menu:id=".uno:SaveAs"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Quit"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:EditMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Undo"/>
+ <menu:menuitem menu:id=".uno:Redo"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Cut"/>
+ <menu:menuitem menu:id=".uno:Copy"/>
+ <menu:menuitem menu:id=".uno:Paste"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ViewMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:AvailableToolbars"/>
+ <menu:menuitem menu:id=".uno:StatusBarVisible"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ToolsMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:DBIndexDesign"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:MacrosMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:MacroRecorder"/>
+ <menu:menuitem menu:id=".uno:RunMacro"/>
+ <menu:menu menu:id=".uno:ScriptOrganizer"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MacroOrganizer?TabId:short=1"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id="service:com.sun.star.deployment.ui.PackageManagerDialog"/>
+ <menu:menuitem menu:id=".uno:ConfigureDialog"/>
+ <menu:menuitem menu:id=".uno:OptionsTreeDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:WindowList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:CloseWin"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:HelpMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HelpIndex"/>
+ <menu:menuitem menu:id=".uno:ExtendedHelp"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowLicense"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowCredits"/>
+ <menu:menuitem menu:id=".uno:About"/>
+ </menu:menupopup>
+ </menu:menu>
+</menu:menubar>
+
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbtable/toolbar/toolbar.xml b/test/user-template/user/config/soffice.cfg/modules/dbtable/toolbar/toolbar.xml
new file mode 100644
index 000000000000..f601211ca3d2
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbtable/toolbar/toolbar.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:Save" toolbar:helpid="helpid:5505" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:SaveAs" toolbar:helpid="helpid:5502" toolbar:text="" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:EditDoc" toolbar:helpid="helpid:6312" toolbar:text="" toolbar:style="" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:DBIndexDesign" toolbar:helpid="helpid:12251" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Cut" toolbar:helpid="helpid:5710" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Copy" toolbar:helpid="helpid:5711" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Paste" toolbar:helpid="helpid:5712" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Undo" toolbar:helpid="helpid:5701" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Redo" toolbar:helpid="helpid:5700" toolbar:text="" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbtdata/menubar/menubar.xml b/test/user-template/user/config/soffice.cfg/modules/dbtdata/menubar/menubar.xml
new file mode 100644
index 000000000000..79fe68a2d7d8
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbtdata/menubar/menubar.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<menu:menubar xmlns:menu="http://openoffice.org/2001/menu" menu:id="menubar">
+ <menu:menu menu:id=".uno:PickList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:AddDirect"/>
+ <menu:menuitem menu:id=".uno:Open"/>
+ <menu:menuitem menu:id=".uno:AutoPilotMenu"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CloseDoc"/>
+ <menu:menuitem menu:id=".uno:SaveAll"/>
+ <menu:menuitem menu:id=".uno:Save"/>
+ <menu:menuitem menu:id=".uno:SaveAs"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Quit"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:EditMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:FormSlots/undoRecord"/>
+ <menu:menuitem menu:id=".uno:Redo"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Cut"/>
+ <menu:menuitem menu:id=".uno:Copy"/>
+ <menu:menuitem menu:id=".uno:Paste"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:FormSlots/saveRecord"/>
+ <menu:menuitem menu:id=".uno:FormSlots/deleteRecord"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:DSBEditDoc"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ViewMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:AvailableToolbars"/>
+ <menu:menuitem menu:id=".uno:StatusBarVisible"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:InsertMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:FormSlots/insertRecord"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ToolsMenu">
+ <menu:menupopup>
+ <menu:menu menu:id=".uno:MacrosMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:MacroRecorder"/>
+ <menu:menuitem menu:id=".uno:RunMacro"/>
+ <menu:menu menu:id=".uno:ScriptOrganizer"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MacroOrganizer?TabId:short=1"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id="service:com.sun.star.deployment.ui.PackageManagerDialog"/>
+ <menu:menuitem menu:id=".uno:ConfigureDialog"/>
+ <menu:menuitem menu:id=".uno:OptionsTreeDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:WindowList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:CloseWin"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:HelpMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HelpIndex"/>
+ <menu:menuitem menu:id=".uno:ExtendedHelp"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowLicense"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowCredits"/>
+ <menu:menuitem menu:id=".uno:About"/>
+ </menu:menupopup>
+ </menu:menu>
+</menu:menubar>
+
diff --git a/test/user-template/user/config/soffice.cfg/modules/dbtdata/toolbar/toolbar.xml b/test/user-template/user/config/soffice.cfg/modules/dbtdata/toolbar/toolbar.xml
new file mode 100644
index 000000000000..09b143b04c1d
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/dbtdata/toolbar/toolbar.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:RecSave" toolbar:helpid="helpid:38991" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:DSBEditDoc" toolbar:helpid="helpid:6312" toolbar:text="" toolbar:style="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Cut" toolbar:helpid="helpid:5710" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Copy" toolbar:helpid="helpid:5711" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Paste" toolbar:helpid="helpid:5712" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:RecUndo" toolbar:helpid="helpid:38992" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:RecSearch" toolbar:helpid="helpid:10725" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Refresh" toolbar:helpid="helpid:10724" toolbar:text="" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:OrderCrit" toolbar:helpid="helpid:10714" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Sortup" toolbar:helpid="helpid:10712" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:SortDown" toolbar:helpid="helpid:10713" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AutoFilter" toolbar:helpid="helpid:10716" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:FormFiltered" toolbar:helpid="helpid:10723" toolbar:text="" toolbar:style="" />
+ <toolbar:toolbaritem xlink:href=".uno:FilterCrit" toolbar:helpid="helpid:10715" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:RemoveFilterSort" toolbar:helpid="helpid:10711" toolbar:text="" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sbibliography/menubar/menubar.xml b/test/user-template/user/config/soffice.cfg/modules/sbibliography/menubar/menubar.xml
new file mode 100644
index 000000000000..817473af0e73
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sbibliography/menubar/menubar.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<menu:menubar xmlns:menu="http://openoffice.org/2001/menu" menu:id="menubar">
+ <menu:menu menu:id=".uno:PickList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:AddDirect"/>
+ <menu:menuitem menu:id=".uno:Open"/>
+ <menu:menuitem menu:id=".uno:AutoPilotMenu"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CloseWin"/>
+ <menu:menuitem menu:id=".uno:Save"/>
+ <menu:menuitem menu:id=".uno:SaveAs"/>
+ <menu:menuitem menu:id=".uno:SaveAll"/>
+ <menu:menuitem menu:id=".uno:Reload"/>
+ <menu:menuitem menu:id=".uno:VersionDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SendToMenu"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SetDocumentProperties"/>
+ <menu:menu menu:id=".uno:TemplateMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Organizer"/>
+ <menu:menuitem menu:id=".uno:AddressBookSource"/>
+ <menu:menuitem menu:id=".uno:SaveAsTemplate"/>
+ <menu:menuitem menu:id=".uno:OpenTemplate"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:PrintPreview"/>
+ <menu:menuitem menu:id=".uno:Print"/>
+ <menu:menuitem menu:id=".uno:PrinterSetup"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Quit"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:EditMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Cut"/>
+ <menu:menuitem menu:id=".uno:Copy"/>
+ <menu:menuitem menu:id=".uno:Paste"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Bib/Mapping"/>
+ <menu:menuitem menu:id=".uno:Bib/sdbsource"/>
+ <menu:menuitem menu:id=".uno:Bib/DeleteRecord"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ViewMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:AvailableToolbars"/>
+ <menu:menuitem menu:id=".uno:StatusBarVisible"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:InsertMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Bib/InsertRecord"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ToolsMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Bib/standardFilter"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:MacrosMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:MacroRecorder"/>
+ <menu:menuitem menu:id=".uno:RunMacro"/>
+ <menu:menu menu:id=".uno:ScriptOrganizer"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MacroOrganizer?TabId:short=1"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id="service:com.sun.star.deployment.ui.PackageManagerDialog"/>
+ <menu:menuitem menu:id=".uno:ConfigureDialog"/>
+ <menu:menuitem menu:id=".uno:OptionsTreeDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:WindowList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:NewWindow"/>
+ <menu:menuitem menu:id=".uno:CloseWin"/>
+ <menu:menuseparator/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:HelpMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HelpIndex"/>
+ <menu:menuitem menu:id=".uno:ExtendedHelp"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowLicense"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:About"/>
+ </menu:menupopup>
+ </menu:menu>
+</menu:menubar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/layout/insert-sheet.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/layout/insert-sheet.xml
new file mode 100644
index 000000000000..35a55e405e7a
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/layout/insert-sheet.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- This is a template. i18n translation is not performed in-place;
+ i18n translated XML files are generated from this template by
+ transex3/layout/tralay. !-->
+
+<modaldialog sizeable="true" closeable="true" moveable="true" output-size="true" id="RID_SCDLG_INSERT_TABLE" sv-look="true" _title="Insert Sheet" xmlns="http://openoffice.org/2007/layout" xmlns:cnt="http://openoffice.org/2007/layout/container">
+ <vbox spacing="5" border="5">
+ <fixedline id="FL_POSITION" _text="Position"/>
+ <hbox>
+ <vbox cnt:padding="13" spacing="5">
+ <radiobutton radiogroup="insert-sheet-position" id="RB_BEFORE" tabstop="true" _label="B~efore current sheet"/>
+ <radiobutton radiogroup="insert-sheet-position" id="RB_BEHIND" tabstop="true" _label="~After current sheet"/>
+ </vbox>
+ </hbox>
+ <fixedline id="FL_TABLE" _text="Sheet"/>
+ <hbox>
+ <vbox cnt:padding="13" spacing="5">
+ <radiobutton radiogroup="insert-sheet-source" id="RB_NEW" _label="~New sheet"/>
+ <hbox>
+ <vbox cnt:padding="13" spacing="5" cnt:fill="false" cnt:expand="false">
+ <fixedtext id="FT_COUNT" _label="N~o. of sheets"/>
+ <fixedtext id="FT_NAME" _label="Na~me"/>
+ </vbox>
+ <vbox>
+ <hbox>
+ <numericfield has_border="true" maximum="256" minimum="1" repeat="true" id="NF_COUNT" spin="true" spin-size="1" tabstop="true" value="1" cnt:fill="true" cnt:expand="true"/>
+ </hbox>
+ <edit has_border="true" id="ED_TABNAME" cnt:fill="true" cnt:expand="true"/>
+ </vbox>
+ </hbox>
+ </vbox>
+ </hbox>
+ <hbox>
+ <vbox cnt:padding="13" spacing="5">
+ <radiobutton radiogroup="insert-sheet-source" id="RB_FROMFILE" _label="~From file"/>
+ <hbox>
+ <vbox cnt:padding="13" spacing="5">
+ <hbox>
+ <multilistbox auto-hscroll="true" has_border="true" id="LB_TABLES" simple-mode="true" string-item-list=" : : : : " cnt:fill="true" cnt:expand="true"/>
+ <vbox cnt:fill="false" cnt:expand="false" spacing="5">
+ <pushbutton id="BTN_BROWSE" _label="~Browse..." cnt:expand="false"/>
+ <checkbox id="CB_LINK" _label="Lin~k" cnt:expand="false"/>
+ <flow/>
+ </vbox>
+ </hbox>
+ <fixedtext id="FT_PATH" label="FT-PATH"/>
+ </vbox>
+ </hbox>
+ </vbox>
+ </hbox>
+ <dialogbuttonhbox border="5" spacing="5">
+ <okbutton defbutton="true" id="BTN_OK"/>
+ <cancelbutton id="BTN_CANCEL"/>
+ <helpbutton id="BTN_HELP"/>
+ </dialogbuttonhbox>
+ </vbox>
+</modaldialog>
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/layout/move-copy-sheet.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/layout/move-copy-sheet.xml
new file mode 100644
index 000000000000..3d26db1aa73d
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/layout/move-copy-sheet.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- This is a template. i18n translation is not performed in-place;
+ i18n translated XML files are generated from this template by
+ transex3/layout/tralay. !-->
+
+<modaldialog sizeable="true" closeable="true" help-id="FID_TAB_MOVE" moveable="true" output-size="true" id="RID_SCDLG_MOVETAB" sv-look="true" _title="Move/Copy Sheet" xmlns="http://openoffice.org/2007/layout" xmlns:cnt="http://openoffice.org/2007/layout/container">
+ <vbox spacing="5" border="5">
+ <string id="STR_NEWDOC" _text="- new document -"/>
+ <fixedtext id="FT_DEST" _label="To ~document"/>
+ <listbox has_border="true" dropdown="true" id="LB_DEST" tabstop="true"/>
+ <fixedtext id="FT_INSERT" _label="~Insert before"/>
+ <listbox has_border="true" id="LB_INSERT" tabstop="true" string-item-list=" : : : : " />
+ <checkbox id="BTN_COPY" tabstop="true" _label="~Copy"/>
+ <dialogbuttonhbox border="5" spacing="5">
+ <flow/>
+ <cancelbutton id="BTN_CANCEL" tabstop="true"/>
+ <helpbutton id="BTN_HELP" tabstop="true"/>
+ <okbutton defbutton="true" id="BTN_OK" tabstop="true"/>
+ </dialogbuttonhbox>
+ </vbox>
+</modaldialog>
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/layout/sort-options.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/layout/sort-options.xml
new file mode 100644
index 000000000000..a409ac2d530a
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/layout/sort-options.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- This is a template. i18n translation is not performed in-place;
+ i18n translated XML files are generated from this template by
+ transex3/layout/tralay. !-->
+
+<tabpage help-id="HID_SCPAGE_SORT_OPTIONS"
+ id="RID_SCPAGE_SORT_OPTIONS"
+ sv-look="true" xmlns="http://openoffice.org/2007/layout" xmlns:cnt="http://openoffice.org/2007/layout/container"
+ optimumsize="true"
+ sizeable="true" moveable="true">
+ <vbox spacing="4" border="5">
+ <string id="STR_COL_LABEL" _text="Range contains column la~bels"/>
+ <string id="STR_ROW_LABEL" _text="Range contains ~row labels"/>
+ <string id="SCSTR_UNDEFINED" _text="- undefined -"/>
+ <vbox spacing="4" border="5">
+ <checkbox id="BTN_CASESENSITIVE" tabstop="true" _label="Case ~sensitive"/>
+ <checkbox id="BTN_LABEL" tabstop="true"/>
+ <checkbox id="BTN_FORMATS" tabstop="true" _label="Include ~formats"/>
+ <checkbox id="BTN_NATURALSORT" tabstop="true" _label="Enable ~natural sort"/>
+ <checkbox id="BTN_COPYRESULT" tabstop="true" _label="~Copy sort results to:"/>
+ <hbox>
+ <listbox has_border="true" dropdown="true" id="LB_OUTAREA" tabstop="true"/>
+ <edit has_border="true" disable="true" id="ED_OUTAREA" tabstop="true"/>
+ </hbox>
+ <checkbox id="BTN_SORT_USER" tabstop="true" _label="Custom sort ~order"/>
+ <listbox has_border="true" disable="true" dropdown="true" id="LB_SORT_USER" tabstop="true"/>
+ <hbox>
+ <fixedtext id="FT_LANGUAGE" _label="~Language"/>
+ <fixedtext id="FT_ALGORITHM" _label="O~ptions"/>
+ </hbox>
+ <hbox>
+ <svxlanguagebox has_border="true" dropdown="true" id="LB_LANGUAGE" sort="true" tabstop="true" _string-item-list="Default"/>
+ <listbox has_border="true" dropdown="true" id="LB_ALGORITHM" tabstop="true"/>
+ </hbox>
+ <fixedline id="FL_DIRECTION" _text="Direction"/>
+ <radiobutton id="BTN_TOP_DOWN" radiogroup="sort-options" tabstop="true" _label="~Top to bottom (sort rows)"/>
+ <radiobutton id="BTN_LEFT_RIGHT" radiogroup="sort-options" tabstop="true" _label="L~eft to right (sort columns)"/>
+ </vbox>
+ </vbox>
+</tabpage>
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/layout/string-input.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/layout/string-input.xml
new file mode 100644
index 000000000000..b1aed5197c17
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/layout/string-input.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- This is a template. i18n translation is not performed in-place;
+ i18n translated XML files are generated from this template by
+ transex3/layout/tralay. !-->
+
+<modaldialog sizeable="true" closeable="false" moveable="true" output-size="true" id="RID_SCDLG_STRINPUT" sv-look="true" xmlns="http://openoffice.org/2007/layout" xmlns:cnt="http://openoffice.org/2007/layout/container" title="Insert String">
+ <vbox spacing="5" border="5">
+ <fixedtext id="FT_LABEL" label="FT-LABEL"/>
+ <edit has_border="true" id="ED_INPUT" tabstop="true"/>
+ <dialogbuttonhbox border="5" spacing="5">
+ <okbutton defbutton="true" id="BTN_OK" tabstop="true"/>
+ <cancelbutton id="BTN_CANCEL" tabstop="true"/>
+ <helpbutton id="BTN_HELP" tabstop="true"/>
+ </dialogbuttonhbox>
+ </vbox>
+</modaldialog>
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/menubar/menubar.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/menubar/menubar.xml
new file mode 100644
index 000000000000..f59549918e9a
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/menubar/menubar.xml
@@ -0,0 +1,456 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<menu:menubar xmlns:menu="http://openoffice.org/2001/menu" menu:id="menubar">
+ <menu:menu menu:id=".uno:PickList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:AddDirect"/>
+ <menu:menuitem menu:id=".uno:Open"/>
+ <menu:menuitem menu:id=".uno:RecentFileList"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AutoPilotMenu"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CloseDoc"/>
+ <menu:menuitem menu:id=".uno:Save"/>
+ <menu:menuitem menu:id=".uno:SaveAs"/>
+ <menu:menuitem menu:id=".uno:SaveAll"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Reload"/>
+ <menu:menuitem menu:id=".uno:VersionDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ExportTo"/>
+ <menu:menuitem menu:id=".uno:ExportToPDF"/>
+ <menu:menu menu:id=".uno:SendTo">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SendMail"/>
+ <menu:menuitem menu:id=".uno:SendMailDocAsOOo"/>
+ <menu:menuitem menu:id=".uno:SendMailDocAsMS"/>
+ <menu:menuitem menu:id=".uno:SendMailDocAsPDF"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SetDocumentProperties"/>
+ <menu:menuitem menu:id=".uno:Signature"/>
+ <menu:menu menu:id=".uno:TemplateMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Organizer"/>
+ <menu:menuitem menu:id=".uno:AddressBookSource"/>
+ <menu:menuitem menu:id=".uno:SaveAsTemplate"/>
+ <menu:menuitem menu:id=".uno:OpenTemplate"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:WebHtml"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:PrintPreview"/>
+ <menu:menuitem menu:id=".uno:Print"/>
+ <menu:menuitem menu:id=".uno:PrinterSetup"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Quit"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:EditMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Undo"/>
+ <menu:menuitem menu:id=".uno:Redo"/>
+ <menu:menuitem menu:id=".uno:Repeat"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Cut"/>
+ <menu:menuitem menu:id=".uno:Copy"/>
+ <menu:menuitem menu:id=".uno:Paste"/>
+ <menu:menuitem menu:id=".uno:PasteSpecial"/>
+ <menu:menuitem menu:id=".uno:SelectAll"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:ChangesMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:TraceChangeMode"/>
+ <menu:menuitem menu:id=".uno:ProtectTraceChangeMode"/>
+ <menu:menuitem menu:id=".uno:ShowChanges"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AcceptChanges"/>
+ <menu:menuitem menu:id=".uno:CommentChange"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MergeDocuments"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:CompareDocuments"/>
+ <menu:menuitem menu:id="vnd.sun.star.findbar:FocusToFindbar"/>
+ <menu:menuitem menu:id=".uno:SearchDialog"/>
+ <menu:menuitem menu:id=".uno:EditHeaderAndFooter"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:FillCellsMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:FillDown"/>
+ <menu:menuitem menu:id=".uno:FillRight"/>
+ <menu:menuitem menu:id=".uno:FillUp"/>
+ <menu:menuitem menu:id=".uno:FillLeft"/>
+ <menu:menuitem menu:id=".uno:FillTable"/>
+ <menu:menuitem menu:id=".uno:FillSeries"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:Delete"/>
+ <menu:menuitem menu:id=".uno:DeleteCell"/>
+ <menu:menu menu:id=".uno:EditSheetMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Move"/>
+ <menu:menuitem menu:id=".uno:SelectTables"/>
+ <menu:menuitem menu:id=".uno:Remove"/>
+ <menu:menuitem menu:id=".uno:TableEvents"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:DelBreakMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:DeleteRowbreak"/>
+ <menu:menuitem menu:id=".uno:DeleteColumnbreak"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:EditLinks"/>
+ <menu:menuitem menu:id=".uno:PlugInsActive"/>
+ <menu:menuitem menu:id=".uno:ImageMapDialog"/>
+ <menu:menuitem menu:id=".uno:ObjectMenue"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ViewMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:NormalViewMode" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:PagebreakMode" menu:style="radio"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AvailableToolbars"/>
+ <menu:menuitem menu:id=".uno:InputLineVisible"/>
+ <menu:menuitem menu:id=".uno:StatusBarVisible"/>
+ <menu:menuitem menu:id=".uno:ShowImeStatusWindow"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ViewRowColumnHeaders"/>
+ <menu:menuitem menu:id=".uno:ViewValueHighlighting"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ViewDataSourceBrowser"/>
+ <menu:menuitem menu:id=".uno:Navigator"/>
+ <menu:menuitem menu:id=".uno:TaskPane"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:FullScreen"/>
+ <menu:menuitem menu:id=".uno:Zoom"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:InsertMenu">
+ <menu:menupopup>
+ <menu:menu menu:id=".uno:InsertBreakMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertRowBreak"/>
+ <menu:menuitem menu:id=".uno:InsertColumnBreak"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:InsertCell"/>
+ <menu:menuitem menu:id=".uno:InsertRows"/>
+ <menu:menuitem menu:id=".uno:InsertColumns"/>
+ <menu:menuitem menu:id=".uno:Insert"/>
+ <menu:menuitem menu:id=".uno:InsertSheetFromFile"/>
+ <menu:menuitem menu:id=".uno:InsertExternalDataSource"/>
+ <menu:menuitem menu:id=".uno:InsertSymbol"/>
+ <menu:menu menu:id=".uno:FormattingMarkMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertNonBreakingSpace"/>
+ <menu:menuitem menu:id=".uno:InsertHardHyphen"/>
+ <menu:menuitem menu:id=".uno:InsertSoftHyphen"/>
+ <menu:menuitem menu:id=".uno:InsertZWSP"/>
+ <menu:menuitem menu:id=".uno:InsertZWNBSP"/>
+ <menu:menuitem menu:id=".uno:InsertLRM"/>
+ <menu:menuitem menu:id=".uno:InsertRLM"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:HyperlinkDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:FunctionDialog"/>
+ <menu:menuitem menu:id=".uno:FunctionBox"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:NamesMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:DefineName"/>
+ <menu:menuitem menu:id=".uno:InsertName"/>
+ <menu:menuitem menu:id=".uno:CreateNames"/>
+ <menu:menuitem menu:id=".uno:DefineLabelRange"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:InsertAnnotation"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:GraphicMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertGraphic"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:InsertAVMedia"/>
+ <menu:menu menu:id=".uno:ObjectMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertObject"/>
+ <menu:menuitem menu:id=".uno:InsertPlugin"/>
+ <menu:menuitem menu:id=".uno:InsertSound"/>
+ <menu:menuitem menu:id=".uno:InsertVideo"/>
+ <menu:menuitem menu:id=".uno:InsertObjectStarMath"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:InsertObjectChart"/>
+ <menu:menuitem menu:id=".uno:InsertObjectFloatingFrame"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:FormatMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ResetAttributes"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:FormatCellDialog"/>
+ <menu:menu menu:id=".uno:RowMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:RowHeight"/>
+ <menu:menuitem menu:id=".uno:SetOptimalRowHeight"/>
+ <menu:menuitem menu:id=".uno:HideRow"/>
+ <menu:menuitem menu:id=".uno:ShowRow"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ColumnMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ColumnWidth"/>
+ <menu:menuitem menu:id=".uno:SetOptimalColumnWidth"/>
+ <menu:menuitem menu:id=".uno:HideColumn"/>
+ <menu:menuitem menu:id=".uno:ShowColumn"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:SheetMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:RenameTable"/>
+ <menu:menuitem menu:id=".uno:Hide"/>
+ <menu:menuitem menu:id=".uno:Show"/>
+ <menu:menuitem menu:id=".uno:SheetRightToLeft"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SetTabBgColor"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:MergeCellsMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ToggleMergeCells"/>
+ <menu:menuitem menu:id=".uno:MergeCells"/>
+ <menu:menuitem menu:id=".uno:SplitCell"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:PageFormatDialog"/>
+ <menu:menu menu:id=".uno:PrintRangesMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:DefinePrintArea"/>
+ <menu:menuitem menu:id=".uno:AddPrintArea"/>
+ <menu:menuitem menu:id=".uno:DeletePrintArea"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:EditPrintArea"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:FontDialog"/>
+ <menu:menuitem menu:id=".uno:ParagraphDialog"/>
+ <menu:menu menu:id=".uno:TransliterateMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ChangeCaseToSentenceCase"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToLower"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToUpper"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToTitleCase"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToToggleCase"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToHalfWidth"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToFullWidth"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToHiragana"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToKatakana"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:DesignerDialog"/>
+ <menu:menuitem menu:id=".uno:AutoFormat"/>
+ <menu:menuitem menu:id=".uno:ConditionalFormatDialog"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:AnchorMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SetAnchorToPage" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:SetAnchorToCell" menu:style="radio"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ObjectAlign">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:CommonAlignHorizontalDefault" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:CommonAlignLeft" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:CommonAlignHorizontalCenter" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:CommonAlignRight" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:CommonAlignJustified" menu:style="radio"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CommonAlignTop" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:CommonAlignVerticalCenter" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:CommonAlignBottom" menu:style="radio"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ArrangeMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:BringToFront"/>
+ <menu:menuitem menu:id=".uno:ObjectForwardOne"/>
+ <menu:menuitem menu:id=".uno:ObjectBackOne"/>
+ <menu:menuitem menu:id=".uno:SendToBack"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SetObjectToForeground"/>
+ <menu:menuitem menu:id=".uno:SetObjectToBackground"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:FlipMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ObjectMirrorVertical"/>
+ <menu:menuitem menu:id=".uno:ObjectMirrorHorizontal"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:GroupMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:FormatGroup"/>
+ <menu:menuitem menu:id=".uno:FormatUngroup"/>
+ <menu:menuitem menu:id=".uno:EnterGroup"/>
+ <menu:menuitem menu:id=".uno:LeaveGroup"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:DrawGraphicMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:TransformDialog"/>
+ <menu:menuitem menu:id=".uno:FormatLine"/>
+ <menu:menuitem menu:id=".uno:FormatArea"/>
+ <menu:menuitem menu:id=".uno:TextAttributes"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ToggleObjectBezierMode"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:ControlProperties"/>
+ <menu:menuitem menu:id=".uno:FormProperties"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ToolsMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SpellDialog"/>
+ <menu:menu menu:id=".uno:LanguageMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HangulHanjaConversion"/>
+ <menu:menuitem menu:id=".uno:ChineseConversion"/>
+ <menu:menuitem menu:id=".uno:ThesaurusDialog"/>
+ <menu:menuitem menu:id=".uno:Hyphenate"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MoreDictionaries"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:AuditMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ShowPrecedents"/>
+ <menu:menuitem menu:id=".uno:ClearArrowPrecedents"/>
+ <menu:menuitem menu:id=".uno:ShowDependents"/>
+ <menu:menuitem menu:id=".uno:ClearArrowDependents"/>
+ <menu:menuitem menu:id=".uno:ClearArrows"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowErrors"/>
+ <menu:menuitem menu:id=".uno:ShowInvalid"/>
+ <menu:menuitem menu:id=".uno:RefreshArrows"/>
+ <menu:menuitem menu:id=".uno:AutoRefreshArrows"/>
+ <menu:menuitem menu:id=".uno:AuditingFillMode"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:GoalSeekDialog"/>
+ <menu:menuitem menu:id=".uno:SolverDialog"/>
+ <menu:menuitem menu:id=".uno:ScenarioManager"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShareDocument"/>
+ <menu:menuitem menu:id=".uno:MergeDocuments"/>
+ <menu:menu menu:id=".uno:ProtectMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Protect"/>
+ <menu:menuitem menu:id=".uno:ToolProtectionDocument"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:CellContentsMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Calculate"/>
+ <menu:menuitem menu:id=".uno:AutomaticCalculation"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AutoComplete"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Gallery"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:MacrosMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:MacroRecorder"/>
+ <menu:menuitem menu:id=".uno:RunMacro"/>
+ <menu:menu menu:id=".uno:ScriptOrganizer"/>
+ <menu:menuitem menu:id=".uno:MacroSignature"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MacroOrganizer?TabId:short=1"/>
+ </menu:menupopup>
+ </menu:menu>
+
+ <menu:menuitem menu:id="service:com.sun.star.deployment.ui.PackageManagerDialog"/>
+
+ <menu:menuitem menu:id=".uno:OpenXMLFilterSettings"/>
+ <menu:menuitem menu:id=".uno:AutoCorrectDlg"/>
+ <menu:menuitem menu:id=".uno:ConfigureDialog"/>
+ <menu:menuitem menu:id=".uno:OptionsTreeDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:DataMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:DefineDBName"/>
+ <menu:menuitem menu:id=".uno:SelectDB"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:DataSort"/>
+ <menu:menu menu:id=".uno:FilterMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:DataFilterAutoFilter"/>
+ <menu:menuitem menu:id=".uno:DataFilterStandardFilter"/>
+ <menu:menuitem menu:id=".uno:DataFilterSpecialFilter"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:DataFilterRemoveFilter"/>
+ <menu:menuitem menu:id=".uno:DataFilterHideAutoFilter"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:DataForm"/>
+ <menu:menuitem menu:id=".uno:DataSubTotals"/>
+ <menu:menuitem menu:id=".uno:Validation"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:TableOperationDialog"/>
+ <menu:menuitem menu:id=".uno:TextToColumns"/>
+ <menu:menuitem menu:id=".uno:DataConsolidate"/>
+ <menu:menu menu:id=".uno:GroupOutlineMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HideDetail"/>
+ <menu:menuitem menu:id=".uno:ShowDetail"/>
+ <menu:menuitem menu:id=".uno:Group"/>
+ <menu:menuitem menu:id=".uno:Ungroup"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AutoOutline"/>
+ <menu:menuitem menu:id=".uno:ClearOutline"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:DataPilotMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:DataDataPilotRun"/>
+ <menu:menuitem menu:id=".uno:RecalcPivotTable"/>
+ <menu:menuitem menu:id=".uno:DeletePivotTable"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:DataAreaRefresh"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:WindowList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:NewWindow"/>
+ <menu:menuitem menu:id=".uno:CloseWin"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SplitWindow"/>
+ <menu:menuitem menu:id=".uno:FreezePanes"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:HelpMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HelpIndex"/>
+ <menu:menuitem menu:id=".uno:ExtendedHelp"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowLicense"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowCredits"/>
+ <menu:menuitem menu:id=".uno:About"/>
+ </menu:menupopup>
+ </menu:menu>
+</menu:menubar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/statusbar/statusbar.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/statusbar/statusbar.xml
new file mode 100644
index 000000000000..28dfaf480771
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/statusbar/statusbar.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE statusbar:statusbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "statusbar.dtd">
+<statusbar:statusbar xmlns:statusbar="http://openoffice.org/2001/statusbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <statusbar:statusbaritem xlink:href=".uno:StatusDocPos" statusbar:align="left" statusbar:autosize="true" statusbar:width="58" statusbar:helpid="helpid:26114"/>
+ <statusbar:statusbaritem xlink:href=".uno:StatusPageStyle" statusbar:align="left" statusbar:autosize="true" statusbar:width="83" statusbar:helpid="helpid:26115"/>
+ <statusbar:statusbaritem xlink:href=".uno:InsertMode" statusbar:align="center" statusbar:width="41" statusbar:helpid="helpid:10221"/>
+ <statusbar:statusbaritem xlink:href=".uno:StatusSelectionMode" statusbar:align="center" statusbar:width="34" statusbar:helpid="helpid:26116"/>
+ <statusbar:statusbaritem xlink:href=".uno:ModifiedStatus" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="18" statusbar:helpid="helpid:5584"/>
+ <statusbar:statusbaritem xlink:href=".uno:Signature" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="16" statusbar:helpid="helpid:5699"/>
+ <statusbar:statusbaritem xlink:href=".uno:Size" statusbar:align="center" statusbar:autosize="true" statusbar:ownerdraw="true" statusbar:width="212" statusbar:helpid="helpid:10224"/>
+ <statusbar:statusbaritem xlink:href=".uno:ZoomSlider" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="140" statusbar:helpid="helpid:11065"/>
+ <statusbar:statusbaritem xlink:href=".uno:Zoom" statusbar:align="center" statusbar:width="35" statusbar:helpid="helpid:10000"/>
+</statusbar:statusbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/alignmentbar.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/alignmentbar.xml
new file mode 100644
index 000000000000..dbd7294e566c
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/alignmentbar.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlignLeft" toolbar:helpid="helpid:10131" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignCenter" toolbar:helpid="helpid:10132" />
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlignRight" toolbar:helpid="helpid:10133" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignUp" toolbar:helpid="helpid:10134" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignMiddle" toolbar:helpid="helpid:10135" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignDown" toolbar:helpid="helpid:10136" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/arrowshapes.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/arrowshapes.xml
new file mode 100644
index 000000000000..4a53519494ea
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/arrowshapes.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.down-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-down-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-right-down-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.quad-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.corner-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.split-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.striped-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.notched-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.pentagon-right" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.chevron" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.right-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.down-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-right-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-down-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-right-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.quad-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.circular-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.split-round-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.s-sharped-arrow" toolbar:helpid="helpid:11004" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/basicshapes.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/basicshapes.xml
new file mode 100644
index 000000000000..e65778305788
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/basicshapes.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.rectangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.round-rectangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.quadrat" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.round-quadrat" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.circle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.ellipse" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.circle-pie" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.isosceles-triangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.right-triangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.trapezoid" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.diamond" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.parallelogram" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.pentagon" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.hexagon" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.octagon" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.cross" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.ring" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.block-arc" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.can" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.cube" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.paper" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.frame" toolbar:helpid="helpid:11002" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/calloutshapes.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/calloutshapes.xml
new file mode 100644
index 000000000000..91b957fa697a
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/calloutshapes.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.rectangular-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.round-rectangular-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.round-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.cloud-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.line-callout-1" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.line-callout-2" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.line-callout-3" toolbar:helpid="helpid:11006" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/colorbar.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/colorbar.xml
new file mode 100644
index 000000000000..adcda76b5c3a
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/colorbar.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:GrafRed" toolbar:helpid="helpid:10865" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafGreen" toolbar:helpid="helpid:10866" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafBlue" toolbar:helpid="helpid:10867" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafLuminance" toolbar:helpid="helpid:10863" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafContrast" toolbar:helpid="helpid:10864" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafGamma" toolbar:helpid="helpid:10868" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/drawbar.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/drawbar.xml
new file mode 100644
index 000000000000..2407475a88f6
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/drawbar.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:SelectObject" toolbar:helpid="10128"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Line" toolbar:helpid="10102"/>
+ <toolbar:toolbaritem xlink:href=".uno:Rect" toolbar:helpid="10104"/>
+ <toolbar:toolbaritem xlink:href=".uno:Ellipse" toolbar:helpid="10110"/>
+ <toolbar:toolbaritem xlink:href=".uno:Polygon_Unfilled" toolbar:visible="false" toolbar:helpid="10395"/>
+ <toolbar:toolbaritem xlink:href=".uno:Bezier_Unfilled" toolbar:visible="false" toolbar:helpid="10397"/>
+ <toolbar:toolbaritem xlink:href=".uno:Freeline_Unfilled" toolbar:helpid="10464"/>
+ <toolbar:toolbaritem xlink:href=".uno:Arc" toolbar:visible="false" toolbar:helpid="10114"/>
+ <toolbar:toolbaritem xlink:href=".uno:Pie" toolbar:visible="false" toolbar:helpid="10112"/>
+ <toolbar:toolbaritem xlink:href=".uno:CircleCut" toolbar:visible="false" toolbar:helpid="10115"/>
+ <toolbar:toolbaritem xlink:href=".uno:DrawText" toolbar:helpid="10253"/>
+ <toolbar:toolbaritem xlink:href=".uno:VerticalText" toolbar:helpid="10905"/>
+ <toolbar:toolbaritem xlink:href=".uno:Text_Marquee" toolbar:visible="false" toolbar:helpid="10465"/>
+ <toolbar:toolbaritem xlink:href=".uno:DrawCaption" toolbar:helpid="10254"/>
+ <toolbar:toolbaritem xlink:href=".uno:VerticalCaption" toolbar:helpid="10906"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes" toolbar:helpid="11002"/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes" toolbar:helpid="11003"/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes" toolbar:helpid="11004"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes" toolbar:helpid="11005"/>
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes" toolbar:helpid="11006"/>
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes" toolbar:helpid="11007"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleObjectBezierMode" toolbar:helpid="10126"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkGalleryFloater" toolbar:helpid="10977"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertGraphic" toolbar:helpid="10241"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionToggle" toolbar:helpid="10960"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/drawobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/drawobjectbar.xml
new file mode 100644
index 000000000000..8cd0a9bf8b67
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/drawobjectbar.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:FormatLine" toolbar:helpid="10143"/>
+ <toolbar:toolbaritem xlink:href=".uno:LineEndStyle" toolbar:helpid="10301"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:XLineStyle" toolbar:helpid="10169"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LineWidth" toolbar:helpid="10171"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:XLineColor" toolbar:helpid="10172"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatArea" toolbar:helpid="10142"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FillStyle" toolbar:helpid="10164"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleObjectRotateMode" toolbar:helpid="10129"/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleAnchorType" toolbar:helpid="26412"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BringToFront" toolbar:helpid="10286"/>
+ <toolbar:toolbaritem xlink:href=".uno:SendToBack" toolbar:helpid="10287"/>
+ <toolbar:toolbaritem xlink:href=".uno:SetObjectToForeground" toolbar:helpid="10283"/>
+ <toolbar:toolbaritem xlink:href=".uno:SetObjectToBackground" toolbar:helpid="10282"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GridVisible" toolbar:visible="false" toolbar:helpid="27322"/>
+ <toolbar:toolbaritem xlink:href=".uno:GridUse" toolbar:visible="false" toolbar:helpid="27154"/>
+ <toolbar:toolbaritem xlink:href=".uno:HelplinesMove" toolbar:visible="false" toolbar:helpid="27153"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlign" toolbar:helpid="10130"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/extrusionobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/extrusionobjectbar.xml
new file mode 100644
index 000000000000..148849db6ee7
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/extrusionobjectbar.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionToggle" toolbar:helpid="10960"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltDown" toolbar:helpid="10961"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltUp" toolbar:helpid="10962"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltLeft" toolbar:helpid="10963"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltRight" toolbar:helpid="10964"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionDepthFloater" toolbar:helpid="10965" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionDirectionFloater" toolbar:helpid="10966" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionLightingFloater" toolbar:helpid="10967" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionSurfaceFloater" toolbar:helpid="10968" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:Extrusion3DColor" toolbar:helpid="10969" toolbar:style="dropdownonly"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/findbar.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/findbar.xml
new file mode 100644
index 000000000000..49e483e178a3
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/findbar.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FindText"/>
+ <toolbar:toolbaritem xlink:href=".uno:DownSearch"/>
+ <toolbar:toolbaritem xlink:href=".uno:UpSearch"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SearchDialog"/>
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/flowchartshapes.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/flowchartshapes.xml
new file mode 100644
index 000000000000..bb1d1099dbd4
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/flowchartshapes.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-process" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-alternate-process" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-decision" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-data" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-predefined-process" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-internal-storage" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-document" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-multidocument" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-terminator" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-preparation" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-manual-input" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-manual-operation" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-connector" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-off-page-connector" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-card" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-punched-tape" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-summing-junction" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-or" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-collate" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-sort" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-extract" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-merge" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-stored-data" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-delay" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-sequential-access" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-magnetic-disk" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-direct-access-storage" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-display" toolbar:helpid="helpid:11005" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/fontworkobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/fontworkobjectbar.xml
new file mode 100644
index 000000000000..32de621477dc
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/fontworkobjectbar.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FontworkGalleryFloater" toolbar:helpid="helpid:10977" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType" toolbar:helpid="helpid:10978" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkSameLetterHeights" toolbar:helpid="helpid:10979" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkAlignmentFloater" toolbar:helpid="helpid:10981" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkCharacterSpacingFloater" toolbar:helpid="helpid:10982" toolbar:style="dropdownonly"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/fontworkshapetype.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/fontworkshapetype.xml
new file mode 100644
index 000000000000..49b5b8173e0e
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/fontworkshapetype.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-plain-text" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-wave" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-inflate" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-stop" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-curve-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-curve-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-triangle-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-triangle-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-right" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-left" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-slant-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-slant-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-up-and-right" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-up-and-left" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-chevron-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-chevron-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-up-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-down-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-left-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-right-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-circle-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-open-circle-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-up-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-down-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-left-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-right-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-circle-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-open-circle-pour" toolbar:helpid="helpid:10978" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/formatobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/formatobjectbar.xml
new file mode 100644
index 000000000000..773befcc8ac7
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/formatobjectbar.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:DesignerDialog" toolbar:helpid="helpid:5539" />
+ <toolbar:toolbaritem xlink:href=".uno:StyleApply" toolbar:helpid="helpid:5552" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:CharFontName" toolbar:helpid="helpid:10007" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontHeight" toolbar:helpid="helpid:10015" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Bold" toolbar:helpid="helpid:10009" />
+ <toolbar:toolbaritem xlink:href=".uno:Italic" toolbar:helpid="helpid:10008" />
+ <toolbar:toolbaritem xlink:href=".uno:Underline" toolbar:helpid="helpid:10014" />
+ <toolbar:toolbaritem xlink:href=".uno:UnderlineDouble" toolbar:helpid="helpid:26648" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignLeft" toolbar:helpid="helpid:26371" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignHorizontalCenter" toolbar:helpid="helpid:26373" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignRight" toolbar:helpid="helpid:26372" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignBlock" toolbar:helpid="helpid:26374" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:ToggleMergeCells" toolbar:helpid="helpid:26581" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ParaLeftToRight" toolbar:helpid="helpid:10950" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:ParaRightToLeft" toolbar:helpid="helpid:10951" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:TextdirectionLeftToRight" toolbar:helpid="helpid:10907" />
+ <toolbar:toolbaritem xlink:href=".uno:TextdirectionTopToBottom" toolbar:helpid="helpid:10908" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignTop" toolbar:helpid="helpid:26375" toolbar:style="radio auto" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignVCenter" toolbar:helpid="helpid:26377" toolbar:style="radio auto" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignBottom" toolbar:helpid="helpid:26376" toolbar:style="radio auto" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:NumberFormatCurrency" toolbar:helpid="helpid:26045" />
+ <toolbar:toolbaritem xlink:href=".uno:NumberFormatPercent" toolbar:helpid="helpid:26046" />
+ <toolbar:toolbaritem xlink:href=".uno:NumberFormatDate" toolbar:helpid="helpid:26053" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:NumberFormatScientific" toolbar:helpid="helpid:26055" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:NumberFormatStandard" toolbar:helpid="helpid:26052" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:NumberFormatIncDecimals" toolbar:helpid="helpid:26057" />
+ <toolbar:toolbaritem xlink:href=".uno:NumberFormatDecDecimals" toolbar:helpid="helpid:26058" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:DecrementIndent" toolbar:helpid="helpid:10461" />
+ <toolbar:toolbaritem xlink:href=".uno:IncrementIndent" toolbar:helpid="helpid:10462" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SetBorderStyle" toolbar:helpid="helpid:10187" />
+ <toolbar:toolbaritem xlink:href=".uno:BackgroundColor" toolbar:helpid="helpid:10185" toolbar:style="dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:Color" toolbar:helpid="helpid:10017" toolbar:style="dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:LineStyle" toolbar:helpid="helpid:10200" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:FrameLineColor" toolbar:helpid="helpid:10201" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertRows" toolbar:helpid="helpid:26267" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertColumns" toolbar:helpid="helpid:26268" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:DeleteRows" toolbar:helpid="helpid:26236" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:DeleteColumns" toolbar:helpid="helpid:26237" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleSheetGrid" toolbar:helpid="helpid:26238" toolbar:visible="true" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/formcontrols.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/formcontrols.xml
new file mode 100644
index 000000000000..e8060319e9f8
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/formcontrols.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SelectObject" toolbar:helpid="helpid:10128" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:SwitchControlDesignMode" toolbar:helpid="helpid:10629" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ControlProperties" toolbar:helpid="helpid:10613" />
+ <toolbar:toolbaritem xlink:href=".uno:FormProperties" toolbar:helpid="helpid:10614" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:CheckBox" toolbar:helpid="helpid:10596" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Edit" toolbar:helpid="helpid:10599" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FormattedField" toolbar:helpid="helpid:10728" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Pushbutton" toolbar:helpid="helpid:10594" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:RadioButton" toolbar:helpid="helpid:10595" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:ListBox" toolbar:helpid="helpid:10600" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ComboBox" toolbar:helpid="helpid:10601" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Label" toolbar:helpid="helpid:10597" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:SpinButton" toolbar:helpid="helpid:10769" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:ScrollBar" toolbar:helpid="helpid:10768" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FormDesignTools" toolbar:helpid="helpid:11046" />
+ <toolbar:toolbaritem xlink:href=".uno:MoreControls" toolbar:helpid="helpid:11045" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:UseWizards" toolbar:helpid="helpid:10727" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/formdesign.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/formdesign.xml
new file mode 100644
index 000000000000..5a74f41f361d
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/formdesign.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SelectObject" toolbar:helpid="helpid:10128" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:SwitchControlDesignMode" toolbar:helpid="helpid:10629" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ControlProperties" toolbar:helpid="helpid:10613" />
+ <toolbar:toolbaritem xlink:href=".uno:FormProperties" toolbar:helpid="helpid:10614" />
+ <toolbar:toolbaritem xlink:href=".uno:TransformDialog" toolbar:helpid="helpid:10087" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ShowFmExplorer" toolbar:helpid="helpid:10633" />
+ <toolbar:toolbaritem xlink:href=".uno:TabDialog" toolbar:helpid="helpid:10615" />
+ <toolbar:toolbaritem xlink:href=".uno:AddField" toolbar:helpid="helpid:10623" />
+ <toolbar:toolbaritem xlink:href=".uno:AutoControlFocus" toolbar:helpid="helpid:10763" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleAnchorType" toolbar:helpid="helpid:20349" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BringToFront" toolbar:helpid="helpid:10286" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SendToBack" toolbar:helpid="helpid:10287" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatGroup" toolbar:helpid="helpid:10454" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:FormatUngroup" toolbar:helpid="helpid:10455" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:EnterGroup" toolbar:helpid="helpid:27096" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:LeaveGroup" toolbar:helpid="helpid:27097" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlign" toolbar:helpid="helpid:10130" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:OpenReadOnly" toolbar:helpid="helpid:10709" />
+ <toolbar:toolbaritem xlink:href=".uno:GridVisible" toolbar:helpid="helpid:27322" />
+ <toolbar:toolbaritem xlink:href=".uno:GridUse" toolbar:helpid="helpid:27154" />
+ <toolbar:toolbaritem xlink:href=".uno:HelplinesMove" toolbar:helpid="helpid:27153" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/formsfilterbar.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/formsfilterbar.xml
new file mode 100644
index 000000000000..be94f01b761f
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/formsfilterbar.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FormFilterNavigator" toolbar:helpid="helpid:10732" />
+ <toolbar:toolbaritem xlink:href=".uno:FormFilterExecute" toolbar:helpid="helpid:10731" />
+ <toolbar:toolbaritem xlink:href=".uno:FormFilterExit" toolbar:helpid="helpid:10730" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/formsnavigationbar.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/formsnavigationbar.xml
new file mode 100644
index 000000000000..ce47a450e2f5
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/formsnavigationbar.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:RecSearch" toolbar:helpid="10725"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:RecText" toolbar:helpid="10624"/>
+ <toolbar:toolbaritem xlink:href=".uno:AbsoluteRecord" toolbar:helpid="10622"/>
+ <toolbar:toolbaritem xlink:href=".uno:RecFromText" toolbar:helpid="10625"/>
+ <toolbar:toolbaritem xlink:href=".uno:RecTotal" toolbar:helpid="10626"/>
+ <toolbar:toolbaritem xlink:href=".uno:FirstRecord" toolbar:helpid="10616"/>
+ <toolbar:toolbaritem xlink:href=".uno:PrevRecord" toolbar:helpid="10618"/>
+ <toolbar:toolbaritem xlink:href=".uno:NextRecord" toolbar:helpid="10617"/>
+ <toolbar:toolbaritem xlink:href=".uno:LastRecord" toolbar:helpid="10619"/>
+ <toolbar:toolbaritem xlink:href=".uno:NewRecord" toolbar:helpid="10620"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:RecSave" toolbar:helpid="10627"/>
+ <toolbar:toolbaritem xlink:href=".uno:RecUndo" toolbar:helpid="10630"/>
+ <toolbar:toolbaritem xlink:href=".uno:DeleteRecord" toolbar:helpid="10621"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Refresh" toolbar:helpid="10724"/>
+ <toolbar:toolbaritem xlink:href=".uno:RefreshFormControl"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:OrderCrit" toolbar:helpid="10714"/>
+ <toolbar:toolbaritem xlink:href=".uno:Sortup" toolbar:helpid="10712"/>
+ <toolbar:toolbaritem xlink:href=".uno:SortDown" toolbar:helpid="10713"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AutoFilter" toolbar:helpid="10716"/>
+ <toolbar:toolbaritem xlink:href=".uno:FormFiltered" toolbar:helpid="10723"/>
+ <toolbar:toolbaritem xlink:href=".uno:FormFilter" toolbar:helpid="10729"/>
+ <toolbar:toolbaritem xlink:href=".uno:RemoveFilterSort" toolbar:helpid="10711"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ViewFormAsGrid" toolbar:helpid="10761"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/formtextobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/formtextobjectbar.xml
new file mode 100644
index 000000000000..dbdeaf675371
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/formtextobjectbar.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:CharFontName" toolbar:helpid="helpid:10007" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontHeight" toolbar:helpid="helpid:10015" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Bold" toolbar:helpid="helpid:10009" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Italic" toolbar:helpid="helpid:10008" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Underline" toolbar:helpid="helpid:10014" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:SuperScript" toolbar:helpid="helpid:20411" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:SubScript" toolbar:helpid="helpid:20412" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LeftPara" toolbar:helpid="helpid:10028" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CenterPara" toolbar:helpid="helpid:10030" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:RightPara" toolbar:helpid="helpid:10029" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:JustifyPara" toolbar:helpid="helpid:10031" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ParaLeftToRight" toolbar:helpid="helpid:10950" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:ParaRightToLeft" toolbar:helpid="helpid:10951" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara1" toolbar:helpid="helpid:10034" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara15" toolbar:helpid="helpid:10035" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara2" toolbar:helpid="helpid:10036" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontDialog" toolbar:helpid="helpid:10296" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:ParagraphDialog" toolbar:helpid="helpid:10297" toolbar:text="" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/fullscreenbar.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/fullscreenbar.xml
new file mode 100644
index 000000000000..5aecdda4fb04
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/fullscreenbar.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FullScreen" toolbar:helpid="helpid:5627" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/graffilterbar.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/graffilterbar.xml
new file mode 100644
index 000000000000..287c33fe25e5
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/graffilterbar.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterInvert" toolbar:helpid="helpid:34149" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSmooth" toolbar:helpid="helpid:34150" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSharpen" toolbar:helpid="helpid:34151" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterRemoveNoise" toolbar:helpid="helpid:34152" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSolarize" toolbar:helpid="helpid:34159" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSepia" toolbar:helpid="helpid:34158" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterPoster" toolbar:helpid="helpid:34156" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterPopart" toolbar:helpid="helpid:34157" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSobel" toolbar:helpid="helpid:34153" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterRelief" toolbar:helpid="helpid:34155" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterMosaic" toolbar:helpid="helpid:34154" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/graphicobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/graphicobjectbar.xml
new file mode 100644
index 000000000000..25eca7950842
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/graphicobjectbar.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:InsertGraphic" toolbar:helpid="10241"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterToolbox" toolbar:helpid="helpid:10469" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafMode" toolbar:helpid="helpid:10871" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ColorSettings" toolbar:helpid="helpid:11016" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafTransparence" toolbar:helpid="helpid:10869" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatLine" toolbar:helpid="helpid:10143" />
+ <toolbar:toolbaritem xlink:href=".uno:FormatArea" toolbar:helpid="helpid:10142" />
+ <toolbar:toolbaritem xlink:href=".uno:FillShadow" toolbar:helpid="helpid:10299" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafAttrCrop" toolbar:helpid="helpid:10883" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleAnchorType" toolbar:helpid="helpid:26412" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BringToFront" toolbar:helpid="helpid:10286" />
+ <toolbar:toolbaritem xlink:href=".uno:SendToBack" toolbar:helpid="helpid:10287" />
+ <toolbar:toolbaritem xlink:href=".uno:SetObjectToForeground" toolbar:helpid="helpid:10283" />
+ <toolbar:toolbaritem xlink:href=".uno:SetObjectToBackground" toolbar:helpid="helpid:10282" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GridVisible" toolbar:helpid="helpid:27322" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:GridUse" toolbar:helpid="helpid:27154" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:HelplinesMove" toolbar:helpid="helpid:27153" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlign" toolbar:helpid="helpid:10130" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/insertbar.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/insertbar.xml
new file mode 100644
index 000000000000..5f5b73310ee4
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/insertbar.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:InsertObjectFloatingFrame" toolbar:helpid="helpid:5563" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertSymbol" toolbar:helpid="helpid:10503" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertGraphic" toolbar:helpid="helpid:10241" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertAVMedia" toolbar:helpid="helpid:6695" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertObjectStarMath" toolbar:helpid="helpid:26063" />
+ <toolbar:toolbaritem xlink:href=".uno:DrawChart" toolbar:helpid="helpid:26071" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertObject" toolbar:helpid="helpid:5561" toolbar:visible="false" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/insertcellsbar.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/insertcellsbar.xml
new file mode 100644
index 000000000000..c7b5b70cabcb
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/insertcellsbar.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:InsertCellsDown" toolbar:helpid="helpid:26278" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertCellsRight" toolbar:helpid="helpid:26279" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertRows" toolbar:helpid="helpid:26267" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertColumns" toolbar:helpid="helpid:26268" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/mediaobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/mediaobjectbar.xml
new file mode 100644
index 000000000000..2014343bf89b
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/mediaobjectbar.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:InsertAVMedia" toolbar:helpid="6695"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AVMediaToolBox" toolbar:helpid="helpid:6693" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/moreformcontrols.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/moreformcontrols.xml
new file mode 100644
index 000000000000..cdcba63e9cc7
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/moreformcontrols.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:Imagebutton" toolbar:helpid="helpid:10604" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:ImageControl" toolbar:helpid="helpid:10710" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FileControl" toolbar:helpid="helpid:10605" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:DateField" toolbar:helpid="helpid:10704" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:TimeField" toolbar:helpid="helpid:10705" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:NumericField" toolbar:helpid="helpid:10706" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:CurrencyField" toolbar:helpid="helpid:10707" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:PatternField" toolbar:helpid="helpid:10708" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GroupBox" toolbar:helpid="helpid:10598" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Grid" toolbar:helpid="helpid:10603" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:NavigationBar" toolbar:helpid="helpid:10607" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/previewbar.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/previewbar.xml
new file mode 100644
index 000000000000..ef1acbe344ce
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/previewbar.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:PreviousPage" toolbar:helpid="helpid:26497" />
+ <toolbar:toolbaritem xlink:href=".uno:NextPage" toolbar:helpid="helpid:26496" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FirstPage" toolbar:helpid="helpid:26498" />
+ <toolbar:toolbaritem xlink:href=".uno:LastPage" toolbar:helpid="helpid:26499" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ZoomIn" toolbar:helpid="helpid:26501" />
+ <toolbar:toolbaritem xlink:href=".uno:ZoomOut" toolbar:helpid="helpid:26502" />
+ <toolbar:toolbaritem xlink:href=".uno:FullScreen" toolbar:helpid="helpid:5627" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:PageFormatDialog" toolbar:helpid="helpid:26295" />
+ <toolbar:toolbaritem xlink:href=".uno:EditHeaderAndFooter" toolbar:helpid="helpid:26235" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Margins" toolbar:helpid="helpid:26504" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ScalingFactor" toolbar:helpid="helpid:26505" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ClosePreview" toolbar:helpid="helpid:5325" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/standardbar.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/standardbar.xml
new file mode 100644
index 000000000000..cb733829f67f
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/standardbar.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:OpenUrl" toolbar:visible="false"/>
+ <toolbar:toolbaritem xlink:href=".uno:AddDirect" toolbar:helpid="helpid:5537"/>
+ <toolbar:toolbaritem xlink:href=".uno:NewDoc" toolbar:visible="false" toolbar:helpid="helpid:5500"/>
+ <toolbar:toolbaritem xlink:href=".uno:Open" toolbar:helpid="helpid:5501"/>
+ <toolbar:toolbaritem xlink:href=".uno:Save" toolbar:helpid="helpid:5505"/>
+ <toolbar:toolbaritem xlink:href=".uno:SaveAs" toolbar:visible="false" toolbar:helpid="helpid:5502"/>
+ <toolbar:toolbaritem xlink:href=".uno:SendMail" toolbar:helpid="helpid:5331"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:EditDoc" toolbar:helpid="helpid:6312"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExportDirectToPDF" toolbar:helpid="helpid:6674"/>
+ <toolbar:toolbaritem xlink:href=".uno:PrintDefault" toolbar:helpid="helpid:5509"/>
+ <toolbar:toolbaritem xlink:href=".uno:PrintPreview" toolbar:helpid="helpid:5325"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SpellDialog" toolbar:helpid="helpid:20622"/>
+ <toolbar:toolbaritem xlink:href=".uno:SpellOnline" toolbar:helpid="helpid:12021"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Cut" toolbar:helpid="helpid:5710"/>
+ <toolbar:toolbaritem xlink:href=".uno:Copy" toolbar:helpid="helpid:5711"/>
+ <toolbar:toolbaritem xlink:href=".uno:Paste" toolbar:helpid="helpid:5712"/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatPaintbrush" toolbar:helpid="helpid:5715"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Undo" toolbar:helpid="helpid:5701"/>
+ <toolbar:toolbaritem xlink:href=".uno:Redo" toolbar:helpid="helpid:5700"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:HyperlinkDialog" toolbar:helpid="helpid:5678"/>
+ <toolbar:toolbaritem xlink:href=".uno:SortAscending" toolbar:helpid="helpid:26344"/>
+ <toolbar:toolbaritem xlink:href=".uno:SortDescending" toolbar:helpid="helpid:26343"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertObjectChart" toolbar:helpid="helpid:26155"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertDraw" toolbar:helpid="helpid:10244"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SearchDialog" toolbar:helpid="helpid:5961" toolbar:visible="false"/>
+ <toolbar:toolbaritem xlink:href=".uno:Navigator" toolbar:helpid="helpid:10366"/>
+ <toolbar:toolbaritem xlink:href=".uno:Gallery" toolbar:helpid="helpid:5960"/>
+ <toolbar:toolbaritem xlink:href=".uno:ViewDataSourceBrowser" toolbar:helpid="helpid:6660"/>
+ <toolbar:toolbaritem xlink:href=".uno:Zoom" toolbar:helpid="helpid:10000" toolbar:visible="false"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:HelpIndex"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtendedHelp" toolbar:visible="false"/>
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/starshapes.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/starshapes.xml
new file mode 100644
index 000000000000..a2ff874d2fe7
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/starshapes.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.bang" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star4" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star5" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star6" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star8" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star12" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star24" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.concave-star6" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.vertical-scroll" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.horizontal-scroll" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.signet" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.doorplate" toolbar:helpid="helpid:11007" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/symbolshapes.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/symbolshapes.xml
new file mode 100644
index 000000000000..0fa6aee313db
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/symbolshapes.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.smiley" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.sun" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.moon" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.lightning" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.heart" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.flower" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.cloud" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.forbidden" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.puzzle" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.bracket-pair" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.left-bracket" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.right-bracket" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.brace-pair" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.left-brace" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.right-brace" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.quad-bevel" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.octagon-bevel" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.diamond-bevel" toolbar:helpid="helpid:11003" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/textobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/textobjectbar.xml
new file mode 100644
index 000000000000..e76bd3970e13
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/textobjectbar.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:CharFontName" toolbar:helpid="helpid:10007" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontHeight" toolbar:helpid="helpid:10015" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Bold" toolbar:helpid="helpid:10009" toolbar:style="auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Italic" toolbar:helpid="helpid:10008" toolbar:style="auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Underline" toolbar:helpid="helpid:10014" toolbar:style="auto" />
+ <toolbar:toolbaritem xlink:href=".uno:UnderlineDouble" toolbar:helpid="helpid:26648" toolbar:style="auto" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignLeft" toolbar:helpid="helpid:10028" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignHorizontalCenter" toolbar:helpid="helpid:10030" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignRight" toolbar:helpid="helpid:10029" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignBlock" toolbar:helpid="helpid:10031" toolbar:style="radio auto" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara1" toolbar:helpid="helpid:10034" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara15" toolbar:helpid="helpid:10035" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara2" toolbar:helpid="helpid:10036" toolbar:style="radio auto" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ParaLeftToRight" toolbar:helpid="helpid:10950" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:ParaRightToLeft" toolbar:helpid="helpid:10951" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SuperScript" toolbar:helpid="helpid:10294" />
+ <toolbar:toolbaritem xlink:href=".uno:SubScript" toolbar:helpid="helpid:10295" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:TextdirectionLeftToRight" toolbar:helpid="helpid:10907" />
+ <toolbar:toolbaritem xlink:href=".uno:TextdirectionTopToBottom" toolbar:helpid="helpid:10908" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontDialog" toolbar:helpid="helpid:10296" />
+ <toolbar:toolbaritem xlink:href=".uno:ParagraphDialog" toolbar:helpid="helpid:10297" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Color" toolbar:helpid="helpid:10017" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/toolbar.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/toolbar.xml
new file mode 100644
index 000000000000..e42964a86b0b
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/toolbar.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:InsertCtrl" toolbar:helpid="helpid:26626" toolbar:style="dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:InsCellsCtrl" toolbar:helpid="helpid:26627" toolbar:style="dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:InsObjCtrl" toolbar:helpid="helpid:26628" toolbar:style="dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:Config" toolbar:helpid="helpid:10593" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AutoFormat" toolbar:helpid="helpid:10242" />
+ <toolbar:toolbaritem xlink:href=".uno:ChooseDesign" toolbar:helpid="helpid:26082" />
+ <toolbar:toolbaritem xlink:href=".uno:ThesaurusDialog" toolbar:helpid="helpid:10245" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:DataFilterAutoFilter" toolbar:helpid="helpid:26325" />
+ <toolbar:toolbaritem xlink:href=".uno:DataFilterStandardFilter" toolbar:helpid="helpid:26323" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:DataFilterSpecialFilter" toolbar:helpid="helpid:26324" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:DataDataPilotRun" toolbar:helpid="helpid:26151" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:EuroConverter" toolbar:helpid="helpid:26083" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:DefineName" toolbar:helpid="helpid:26271" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:GoalSeekDialog" toolbar:helpid="helpid:26153" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:Group" toolbar:helpid="helpid:26331" />
+ <toolbar:toolbaritem xlink:href=".uno:Ungroup" toolbar:helpid="helpid:26332" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/viewerbar.xml b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/viewerbar.xml
new file mode 100644
index 000000000000..d4d6a59d7ed5
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/scalc/toolbar/viewerbar.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SaveAs" toolbar:helpid="helpid:5502" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:EditDoc" toolbar:helpid="helpid:6312" />
+ <toolbar:toolbaritem xlink:href=".uno:SendMail" toolbar:helpid="helpid:5331" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExportDirectToPDF" toolbar:helpid="helpid:6674" />
+ <toolbar:toolbaritem xlink:href=".uno:PrintDefault" toolbar:helpid="helpid:5509" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Copy" toolbar:helpid="helpid:5711" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SearchDialog" toolbar:helpid="helpid:5961" />
+ <toolbar:toolbaritem xlink:href=".uno:Navigator" toolbar:helpid="helpid:10366" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Zoom" toolbar:helpid="helpid:10000" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/schart/menubar/menubar.xml b/test/user-template/user/config/soffice.cfg/modules/schart/menubar/menubar.xml
new file mode 100644
index 000000000000..3c50167ef845
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/schart/menubar/menubar.xml
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<menu:menubar xmlns:menu="http://openoffice.org/2001/menu" menu:id="menubar">
+ <menu:menu menu:id=".uno:PickList" menu:label="" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:AddDirect" menu:helpid="5537" menu:label="" />
+ <menu:menuitem menu:id=".uno:Open" menu:helpid="5501" menu:label="" />
+ <menu:menuitem menu:id=".uno:AutoPilotMenu" menu:helpid="6381" menu:label="" />
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CloseDoc" menu:helpid="5503" menu:label="" />
+ <menu:menuitem menu:id=".uno:Save" menu:helpid="5505" menu:label="" />
+ <menu:menuitem menu:id=".uno:SaveAs" menu:helpid="5502" menu:label="" />
+ <menu:menuitem menu:id=".uno:SaveAll" menu:helpid="5309" menu:label="" />
+ <menu:menuitem menu:id=".uno:Reload" menu:helpid="5508" menu:label="" />
+ <menu:menuitem menu:id=".uno:VersionDialog" menu:helpid="6583" menu:label="" />
+ <menu:menuitem menu:id=".uno:SendMail" menu:helpid="5331" menu:label="" />
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SetDocumentProperties" menu:helpid="5535" menu:label="" />
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Print" menu:helpid="5504" menu:label="" />
+ <menu:menuitem menu:id=".uno:PrinterSetup" menu:helpid="5302" menu:label="" />
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Quit" menu:helpid="5300" menu:label="" />
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:EditMenu" menu:label="" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Undo" menu:helpid="5701" menu:label="" />
+ <menu:menuitem menu:id=".uno:Redo" menu:helpid="5700" menu:label="" />
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Cut" menu:helpid="5710" menu:label="" />
+ <menu:menuitem menu:id=".uno:Copy" menu:helpid="5711" menu:label="" />
+ <menu:menuitem menu:id=".uno:Paste" menu:helpid="5712" menu:label="" />
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ViewMenu" menu:label="" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:AvailableToolbars" menu:label="" />
+ <menu:menuitem menu:id=".uno:StatusBarVisible" menu:helpid="5920" menu:label="" />
+ <menu:menuitem menu:id=".uno:ShowImeStatusWindow" menu:helpid="6680" menu:label="" />
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:DiagramData" menu:helpid="30514" menu:label="" />
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:InsertMenu" menu:label="" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertMenuTitles" menu:label="" />
+ <menu:menuitem menu:id=".uno:InsertMenuLegend" menu:label="" />
+ <menu:menuitem menu:id=".uno:InsertMenuAxes" menu:label="" />
+ <menu:menuitem menu:id=".uno:InsertMenuGrids" menu:label="" />
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertMenuDataLabels" menu:label="" />
+ <menu:menuitem menu:id=".uno:InsertMenuTrendlines" menu:label="" />
+ <menu:menuitem menu:id=".uno:InsertMenuMeanValues" menu:label="" />
+ <menu:menuitem menu:id=".uno:InsertMenuYErrorBars" menu:label="" />
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertSymbol" menu:helpid="10503" menu:label="" />
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:FormatMenu" menu:label="" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:FormatSelection" menu:label="" />
+ <menu:menuitem menu:id=".uno:TransformDialog" menu:helpid="10087" menu:label="" />
+ <menu:menu menu:id=".uno:ArrangeRow" menu:label="" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Forward" menu:helpid="30594" menu:label="" />
+ <menu:menuitem menu:id=".uno:Backward" menu:helpid="30595" menu:label="" />
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:ChartTitleMenu" menu:label="" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:MainTitle" menu:helpid="30557" menu:label="" />
+ <menu:menuitem menu:id=".uno:SubTitle" menu:helpid="30558" menu:label="" />
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:XTitle" menu:helpid="30559" menu:label="" />
+ <menu:menuitem menu:id=".uno:YTitle" menu:helpid="30560" menu:label="" />
+ <menu:menuitem menu:id=".uno:ZTitle" menu:helpid="30561" menu:label="" />
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SecondaryXTitle" menu:label="" />
+ <menu:menuitem menu:id=".uno:SecondaryYTitle" menu:label="" />
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AllTitles" menu:helpid="30562" menu:label="" />
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:Legend" menu:helpid="30521" menu:label="" />
+ <menu:menu menu:id=".uno:DiagramAxisMenu" menu:label="" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:DiagramAxisX" menu:helpid="30552" menu:label="" />
+ <menu:menuitem menu:id=".uno:DiagramAxisY" menu:helpid="30553" menu:label="" />
+ <menu:menuitem menu:id=".uno:DiagramAxisZ" menu:helpid="30554" menu:label="" />
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:DiagramAxisA" menu:helpid="30616" menu:label="" />
+ <menu:menuitem menu:id=".uno:DiagramAxisB" menu:helpid="30617" menu:label="" />
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:DiagramAxisAll" menu:helpid="30555" menu:label="" />
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:DiagramGridMenu" menu:label="" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:DiagramGridYMain" menu:helpid="30564" menu:label="" />
+ <menu:menuitem menu:id=".uno:DiagramGridXMain" menu:helpid="30563" menu:label="" />
+ <menu:menuitem menu:id=".uno:DiagramGridZMain" menu:helpid="30565" menu:label="" />
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:DiagramGridYHelp" menu:helpid="30579" menu:label="" />
+ <menu:menuitem menu:id=".uno:DiagramGridXHelp" menu:helpid="30578" menu:label="" />
+ <menu:menuitem menu:id=".uno:DiagramGridZHelp" menu:helpid="30580" menu:label="" />
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:DiagramGridAll" menu:helpid="30566" menu:label="" />
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:DiagramWall" menu:helpid="30524" menu:label="" />
+ <menu:menuitem menu:id=".uno:DiagramFloor" menu:helpid="30525" menu:label="" />
+ <menu:menuitem menu:id=".uno:DiagramArea" menu:helpid="30526" menu:label="" />
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:DiagramType" menu:helpid="30528" menu:label="" />
+ <menu:menuitem menu:id=".uno:DataRanges" menu:helpid="30514" menu:label="" />
+ <menu:menuitem menu:id=".uno:View3D" menu:helpid="30527" menu:label="" />
+
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ToolsMenu" menu:label="" >
+ <menu:menupopup>
+ <menu:menu menu:id=".uno:MacrosMenu" menu:label="" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:MacroRecorder" menu:helpid="6669" menu:label="" />
+ <menu:menuitem menu:id=".uno:RunMacro" menu:helpid="40011" menu:label="" />
+ <menu:menu menu:id=".uno:ScriptOrganizer" menu:label="" />
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MacroOrganizer?TabId:short=1" menu:helpid="40013" menu:label="" />
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id="service:com.sun.star.deployment.ui.PackageManagerDialog" menu:helpid="42772" />
+ <menu:menuitem menu:id=".uno:ConfigureDialog" menu:helpid="5904" menu:label="" />
+ <menu:menuitem menu:id=".uno:OptionsTreeDialog" menu:helpid="31630" menu:label="" />
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:WindowList" menu:label="" >
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:NewWindow" menu:helpid="5620" menu:label="" />
+ <menu:menuitem menu:id=".uno:CloseWin" menu:helpid="5621" menu:label="" />
+ <menu:menuseparator/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:HelpMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HelpIndex"/>
+ <menu:menuitem menu:id=".uno:ExtendedHelp"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowLicense"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowCredits"/>
+ <menu:menuitem menu:id=".uno:About"/>
+ </menu:menupopup>
+ </menu:menu>
+</menu:menubar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/schart/statusbar/statusbar.xml b/test/user-template/user/config/soffice.cfg/modules/schart/statusbar/statusbar.xml
new file mode 100644
index 000000000000..27af64165411
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/schart/statusbar/statusbar.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE statusbar:statusbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "statusbar.dtd">
+<statusbar:statusbar xmlns:statusbar="http://openoffice.org/2001/statusbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <statusbar:statusbaritem xlink:href=".uno:Context" statusbar:align="left" statusbar:autosize="true" statusbar:width="208" statusbar:helpid="helpid:5310"/>
+ <statusbar:statusbaritem xlink:href=".uno:ModifiedStatus" statusbar:align="center" statusbar:width="14" statusbar:helpid="helpid:5584"/>
+</statusbar:statusbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/schart/toolbar/arrowshapes.xml b/test/user-template/user/config/soffice.cfg/modules/schart/toolbar/arrowshapes.xml
new file mode 100644
index 000000000000..4a53519494ea
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/schart/toolbar/arrowshapes.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.down-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-down-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-right-down-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.quad-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.corner-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.split-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.striped-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.notched-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.pentagon-right" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.chevron" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.right-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.down-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-right-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-down-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-right-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.quad-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.circular-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.split-round-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.s-sharped-arrow" toolbar:helpid="helpid:11004" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/schart/toolbar/basicshapes.xml b/test/user-template/user/config/soffice.cfg/modules/schart/toolbar/basicshapes.xml
new file mode 100644
index 000000000000..e65778305788
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/schart/toolbar/basicshapes.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.rectangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.round-rectangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.quadrat" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.round-quadrat" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.circle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.ellipse" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.circle-pie" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.isosceles-triangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.right-triangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.trapezoid" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.diamond" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.parallelogram" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.pentagon" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.hexagon" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.octagon" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.cross" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.ring" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.block-arc" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.can" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.cube" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.paper" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.frame" toolbar:helpid="helpid:11002" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/schart/toolbar/calloutshapes.xml b/test/user-template/user/config/soffice.cfg/modules/schart/toolbar/calloutshapes.xml
new file mode 100644
index 000000000000..91b957fa697a
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/schart/toolbar/calloutshapes.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.rectangular-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.round-rectangular-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.round-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.cloud-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.line-callout-1" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.line-callout-2" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.line-callout-3" toolbar:helpid="helpid:11006" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/schart/toolbar/drawbar.xml b/test/user-template/user/config/soffice.cfg/modules/schart/toolbar/drawbar.xml
new file mode 100644
index 000000000000..f4017835635c
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/schart/toolbar/drawbar.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:SelectObject" toolbar:helpid="10128"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Line" toolbar:helpid="10102"/>
+ <toolbar:toolbaritem xlink:href=".uno:LineArrowEnd" toolbar:helpid="27173"/>
+ <toolbar:toolbaritem xlink:href=".uno:Rect" toolbar:helpid="10104"/>
+ <toolbar:toolbaritem xlink:href=".uno:Ellipse" toolbar:helpid="10110"/>
+ <toolbar:toolbaritem xlink:href=".uno:Freeline_Unfilled" toolbar:helpid="10464"/>
+ <toolbar:toolbaritem xlink:href=".uno:DrawText" toolbar:helpid="10253"/>
+ <toolbar:toolbaritem xlink:href=".uno:DrawCaption" toolbar:helpid="10254"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes" toolbar:style="dropdown" toolbar:helpid="11002"/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes" toolbar:style="dropdown" toolbar:helpid="11003"/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes" toolbar:style="dropdown" toolbar:helpid="11004"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes" toolbar:style="dropdown" toolbar:helpid="11005"/>
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes" toolbar:style="dropdown" toolbar:helpid="11006"/>
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes" toolbar:style="dropdown" toolbar:helpid="11007"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/schart/toolbar/flowchartshapes.xml b/test/user-template/user/config/soffice.cfg/modules/schart/toolbar/flowchartshapes.xml
new file mode 100644
index 000000000000..bb1d1099dbd4
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/schart/toolbar/flowchartshapes.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-process" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-alternate-process" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-decision" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-data" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-predefined-process" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-internal-storage" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-document" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-multidocument" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-terminator" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-preparation" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-manual-input" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-manual-operation" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-connector" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-off-page-connector" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-card" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-punched-tape" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-summing-junction" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-or" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-collate" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-sort" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-extract" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-merge" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-stored-data" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-delay" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-sequential-access" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-magnetic-disk" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-direct-access-storage" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-display" toolbar:helpid="helpid:11005" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/schart/toolbar/standardbar.xml b/test/user-template/user/config/soffice.cfg/modules/schart/toolbar/standardbar.xml
new file mode 100644
index 000000000000..28b7f131af6a
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/schart/toolbar/standardbar.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:AddDirect" toolbar:helpid="helpid:5537" toolbar:text="" toolbar:style="dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:NewDoc" toolbar:helpid="helpid:5500" toolbar:text="" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:Open" toolbar:helpid="helpid:5501" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Save" toolbar:helpid="helpid:5505" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:SaveAs" toolbar:helpid="helpid:5502" toolbar:text="" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SendMail" toolbar:helpid="helpid:5331" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:EditDoc" toolbar:helpid="helpid:6312" toolbar:text="" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExportDirectToPDF" toolbar:helpid="helpid:6674" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:PrintDefault" toolbar:helpid="helpid:5509" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Cut" toolbar:helpid="helpid:5710" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Copy" toolbar:helpid="helpid:5711" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Paste" toolbar:helpid="helpid:5712" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Undo" toolbar:helpid="helpid:5701" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Redo" toolbar:helpid="helpid:5700" toolbar:text="" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/schart/toolbar/starshapes.xml b/test/user-template/user/config/soffice.cfg/modules/schart/toolbar/starshapes.xml
new file mode 100644
index 000000000000..a2ff874d2fe7
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/schart/toolbar/starshapes.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.bang" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star4" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star5" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star6" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star8" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star12" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star24" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.concave-star6" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.vertical-scroll" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.horizontal-scroll" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.signet" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.doorplate" toolbar:helpid="helpid:11007" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/schart/toolbar/symbolshapes.xml b/test/user-template/user/config/soffice.cfg/modules/schart/toolbar/symbolshapes.xml
new file mode 100644
index 000000000000..0fa6aee313db
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/schart/toolbar/symbolshapes.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.smiley" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.sun" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.moon" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.lightning" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.heart" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.flower" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.cloud" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.forbidden" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.puzzle" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.bracket-pair" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.left-bracket" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.right-bracket" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.brace-pair" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.left-brace" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.right-brace" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.quad-bevel" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.octagon-bevel" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.diamond-bevel" toolbar:helpid="helpid:11003" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/schart/toolbar/toolbar.xml b/test/user-template/user/config/soffice.cfg/modules/schart/toolbar/toolbar.xml
new file mode 100644
index 000000000000..41d5bd41ab63
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/schart/toolbar/toolbar.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:ChartElementSelector" />
+ <toolbar:toolbaritem xlink:href=".uno:FormatSelection" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:DiagramType" toolbar:helpid="helpid:30528" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:DiagramData" toolbar:helpid="helpid:30514" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleGridHorizontal" toolbar:helpid="helpid:30533" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:ToggleLegend" toolbar:helpid="helpid:30530" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:ScaleText" toolbar:helpid="helpid:30586" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:NewArrangement" toolbar:helpid="helpid:30539" toolbar:text="" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/menubar/menubar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/menubar/menubar.xml
new file mode 100644
index 000000000000..55f620d867de
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/menubar/menubar.xml
@@ -0,0 +1,331 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<menu:menubar xmlns:menu="http://openoffice.org/2001/menu" menu:id="menubar">
+ <menu:menu menu:id=".uno:PickList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:AddDirect"/>
+ <menu:menuitem menu:id=".uno:Open"/>
+ <menu:menuitem menu:id=".uno:RecentFileList"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AutoPilotMenu"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CloseDoc"/>
+ <menu:menuitem menu:id=".uno:Save"/>
+ <menu:menuitem menu:id=".uno:SaveAs"/>
+ <menu:menuitem menu:id=".uno:SaveAll"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Reload"/>
+ <menu:menuitem menu:id=".uno:VersionDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ExportTo"/>
+ <menu:menuitem menu:id=".uno:ExportToPDF"/>
+ <menu:menu menu:id=".uno:SendMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SendMail"/>
+ <menu:menuitem menu:id=".uno:SendMailDocAsPDF"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SetDocumentProperties"/>
+ <menu:menuitem menu:id=".uno:Signature"/>
+ <menu:menu menu:id=".uno:TemplateMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Organizer"/>
+ <menu:menuitem menu:id=".uno:AddressBookSource"/>
+ <menu:menuitem menu:id=".uno:SaveAsTemplate"/>
+ <menu:menuitem menu:id=".uno:OpenTemplate"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:WebHtml"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Print"/>
+ <menu:menuitem menu:id=".uno:PrinterSetup"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Quit"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:EditMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Undo"/>
+ <menu:menuitem menu:id=".uno:Redo"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Cut"/>
+ <menu:menuitem menu:id=".uno:Copy"/>
+ <menu:menuitem menu:id=".uno:Paste"/>
+ <menu:menuitem menu:id=".uno:PasteSpecial"/>
+ <menu:menuitem menu:id=".uno:SelectAll"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id="vnd.sun.star.findbar:FocusToFindbar"/>
+ <menu:menuitem menu:id=".uno:SearchDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CopyObjects"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ToggleObjectBezierMode"/>
+ <menu:menuitem menu:id=".uno:GlueEditMode"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Morphing"/>
+ <menu:menuitem menu:id=".uno:ModifyField"/>
+ <menu:menuitem menu:id=".uno:DeletePage"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ManageLinks"/>
+ <menu:menuitem menu:id=".uno:PlugInsActive"/>
+ <menu:menuitem menu:id=".uno:ImageMapDialog"/>
+ <menu:menuitem menu:id=".uno:ObjectMenue"/>
+ <menu:menuitem menu:id=".uno:EditHyperlink"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ViewMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:PageMode" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:MasterPage" menu:style="radio"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:DisplayQualityMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:OutputQualityColor" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:OutputQualityGrayscale" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:OutputQualityBlackWhite" menu:style="radio"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:LeftPaneDraw"/>
+ <menu:menuitem menu:id=".uno:AvailableToolbars"/>
+ <menu:menuitem menu:id=".uno:StatusBarVisible"/>
+ <menu:menuitem menu:id=".uno:ShowImeStatusWindow"/>
+ <menu:menuitem menu:id=".uno:ShowRuler"/>
+ <menu:menu menu:id=".uno:GridMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:GridVisible"/>
+ <menu:menuitem menu:id=".uno:GridUse"/>
+ <menu:menuitem menu:id=".uno:GridFront"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:SnapLinesMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HelplinesVisible"/>
+ <menu:menuitem menu:id=".uno:HelplinesUse"/>
+ <menu:menuitem menu:id=".uno:HelplinesFront"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:ShowAnnotations"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Navigator"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Zoom"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:InsertMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertPage"/>
+ <menu:menuitem menu:id=".uno:DuplicatePage"/>
+ <menu:menuitem menu:id=".uno:InsertLayer"/>
+ <menu:menuitem menu:id=".uno:CapturePoint"/>
+ <menu:menu menu:id=".uno:FieldMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertDateFieldFix"/>
+ <menu:menuitem menu:id=".uno:InsertDateFieldVar"/>
+ <menu:menuitem menu:id=".uno:InsertTimeFieldFix"/>
+ <menu:menuitem menu:id=".uno:InsertTimeFieldVar"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertAuthorField"/>
+ <menu:menuitem menu:id=".uno:InsertPageField"/>
+ <menu:menuitem menu:id=".uno:InsertPagesField"/>
+ <menu:menuitem menu:id=".uno:InsertFileField"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:InsertAnnotation"/>
+ <menu:menuitem menu:id=".uno:InsertSymbol"/>
+ <menu:menu menu:id=".uno:FormattingMarkMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertNonBreakingSpace"/>
+ <menu:menuitem menu:id=".uno:InsertHardHyphen"/>
+ <menu:menuitem menu:id=".uno:InsertSoftHyphen"/>
+ <menu:menuitem menu:id=".uno:InsertZWSP"/>
+ <menu:menuitem menu:id=".uno:InsertZWNBSP"/>
+ <menu:menuitem menu:id=".uno:InsertLRM"/>
+ <menu:menuitem menu:id=".uno:InsertRLM"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:HyperlinkDialog"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:GraphicMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertGraphic"/>
+ <menu:menu menu:id=".uno:Scan">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:TwainSelect"/>
+ <menu:menuitem menu:id=".uno:TwainTransfer"/>
+ </menu:menupopup>
+ </menu:menu>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:InsertTable"/>
+ <menu:menuitem menu:id=".uno:InsertAVMedia"/>
+ <menu:menu menu:id=".uno:ObjectMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertObject"/>
+ <menu:menuitem menu:id=".uno:InsertPlugin"/>
+ <menu:menuitem menu:id=".uno:InsertMath"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:InsertObjectChart"/>
+ <menu:menuitem menu:id=".uno:InsertObjectFloatingFrame"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ImportFromFile"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:FormatMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SetDefault"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:FontDialog"/>
+ <menu:menuitem menu:id=".uno:ParagraphDialog"/>
+ <menu:menuitem menu:id=".uno:OutlineBullet"/>
+ <menu:menuitem menu:id=".uno:PageSetup"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:TransliterateMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ChangeCaseToSentenceCase"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToLower"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToUpper"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToTitleCase"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToToggleCase"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToHalfWidth"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToFullWidth"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToHiragana"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToKatakana"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:TransformDialog"/>
+ <menu:menuitem menu:id=".uno:FormatLine"/>
+ <menu:menuitem menu:id=".uno:FormatArea"/>
+ <menu:menuitem menu:id=".uno:TextAttributes"/>
+ <menu:menuitem menu:id=".uno:GrafAttrCrop"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ModifyLayer"/>
+ <menu:menuitem menu:id=".uno:DesignerDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ToolsMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SpellDialog"/>
+ <menu:menu menu:id=".uno:LanguageMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HangulHanjaConversion"/>
+ <menu:menuitem menu:id=".uno:ChineseConversion"/>
+ <menu:menuitem menu:id=".uno:ThesaurusDialog"/>
+ <menu:menuitem menu:id=".uno:Hyphenation"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MoreDictionaries"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Gallery"/>
+ <menu:menuitem menu:id=".uno:BmpMask"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:MacrosMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:MacroRecorder"/>
+ <menu:menuitem menu:id=".uno:RunMacro"/>
+ <menu:menu menu:id=".uno:ScriptOrganizer"/>
+ <menu:menuitem menu:id=".uno:MacroSignature"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MacroOrganizer?TabId:short=1"/>
+ </menu:menupopup>
+ </menu:menu>
+
+ <menu:menuitem menu:id="service:com.sun.star.deployment.ui.PackageManagerDialog"/>
+ <menu:menuitem menu:id=".uno:OpenXMLFilterSettings"/>
+ <menu:menuitem menu:id=".uno:AutoCorrectDlg"/>
+ <menu:menuitem menu:id=".uno:ConfigureDialog"/>
+ <menu:menuitem menu:id=".uno:OptionsTreeDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ModifyMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ToggleObjectRotateMode"/>
+ <menu:menu menu:id=".uno:MirrorMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:MirrorVert"/>
+ <menu:menuitem menu:id=".uno:MirrorHorz"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ConvertMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ChangeBezier"/>
+ <menu:menuitem menu:id=".uno:ChangePolygon"/>
+ <menu:menuitem menu:id=".uno:convert_to_contour"/>
+ <menu:menuitem menu:id=".uno:ConvertInto3D"/>
+ <menu:menuitem menu:id=".uno:ConvertInto3DLatheFast"/>
+ <menu:menuitem menu:id=".uno:ConvertIntoBitmap"/>
+ <menu:menuitem menu:id=".uno:ConvertIntoMetaFile"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:ArrangeMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:BringToFront"/>
+ <menu:menuitem menu:id=".uno:Forward"/>
+ <menu:menuitem menu:id=".uno:Backward"/>
+ <menu:menuitem menu:id=".uno:SendToBack"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:BeforeObject"/>
+ <menu:menuitem menu:id=".uno:BehindObject"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ReverseOrder"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ObjectAlign">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ObjectAlignLeft"/>
+ <menu:menuitem menu:id=".uno:AlignCenter"/>
+ <menu:menuitem menu:id=".uno:ObjectAlignRight"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AlignUp"/>
+ <menu:menuitem menu:id=".uno:AlignMiddle"/>
+ <menu:menuitem menu:id=".uno:AlignDown"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:DistributeSelection"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ObjectTitleDescription"/>
+ <menu:menuitem menu:id=".uno:NameGroup"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:FormatGroup"/>
+ <menu:menuitem menu:id=".uno:FormatUngroup"/>
+ <menu:menuitem menu:id=".uno:EnterGroup"/>
+ <menu:menuitem menu:id=".uno:LeaveGroup"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Combine"/>
+ <menu:menuitem menu:id=".uno:Dismantle"/>
+ <menu:menu menu:id=".uno:PolyFormen">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Merge"/>
+ <menu:menuitem menu:id=".uno:Substract"/>
+ <menu:menuitem menu:id=".uno:Intersect"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Connect"/>
+ <menu:menuitem menu:id=".uno:Break"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:WindowList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:NewWindow"/>
+ <menu:menuitem menu:id=".uno:CloseWin"/>
+ <menu:menuseparator/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:HelpMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HelpIndex"/>
+ <menu:menuitem menu:id=".uno:ExtendedHelp"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowLicense"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowCredits"/>
+ <menu:menuitem menu:id=".uno:About"/>
+ </menu:menupopup>
+ </menu:menu>
+</menu:menubar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/statusbar/statusbar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/statusbar/statusbar.xml
new file mode 100644
index 000000000000..0872bd42f3f4
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/statusbar/statusbar.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE statusbar:statusbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "statusbar.dtd">
+<statusbar:statusbar xmlns:statusbar="http://openoffice.org/2001/statusbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <statusbar:statusbaritem xlink:href=".uno:Context" statusbar:align="left" statusbar:autosize="true" statusbar:width="184" statusbar:helpid="helpid:5310"/>
+ <statusbar:statusbaritem xlink:href=".uno:Size" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="208" statusbar:helpid="helpid:10224"/>
+ <statusbar:statusbaritem xlink:href=".uno:ModifiedStatus" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="14" statusbar:helpid="helpid:5584"/>
+ <statusbar:statusbaritem xlink:href=".uno:Signature" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="16" statusbar:helpid="helpid:5699"/>
+ <statusbar:statusbaritem xlink:href=".uno:PageStatus" statusbar:align="left" statusbar:width="124" statusbar:helpid="helpid:27086"/>
+ <statusbar:statusbaritem xlink:href=".uno:LayoutStatus" statusbar:align="left" statusbar:autosize="true" statusbar:width="54" statusbar:helpid="helpid:27087"/>
+ <statusbar:statusbaritem xlink:href=".uno:ZoomSlider" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="130" statusbar:helpid="helpid:11065"/>
+ <statusbar:statusbaritem xlink:href=".uno:Zoom" statusbar:align="center" statusbar:width="36" statusbar:helpid="helpid:10000"/>
+</statusbar:statusbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/3dobjectsbar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/3dobjectsbar.xml
new file mode 100644
index 000000000000..841d960388fb
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/3dobjectsbar.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:Cube" toolbar:helpid="helpid:27296" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Sphere" toolbar:helpid="helpid:27297" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Cylinder" toolbar:helpid="helpid:27298" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Cone" toolbar:helpid="helpid:27299" toolbar:style="radio" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:Cyramid" toolbar:helpid="helpid:27300" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Torus" toolbar:helpid="helpid:27312" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Shell3D" toolbar:helpid="helpid:27311" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:HalfSphere" toolbar:helpid="helpid:27313" toolbar:style="radio" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/alignmentbar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/alignmentbar.xml
new file mode 100644
index 000000000000..dbd7294e566c
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/alignmentbar.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlignLeft" toolbar:helpid="helpid:10131" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignCenter" toolbar:helpid="helpid:10132" />
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlignRight" toolbar:helpid="helpid:10133" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignUp" toolbar:helpid="helpid:10134" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignMiddle" toolbar:helpid="helpid:10135" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignDown" toolbar:helpid="helpid:10136" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/arrowsbar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/arrowsbar.xml
new file mode 100644
index 000000000000..50a7b0af85ff
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/arrowsbar.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:Line" toolbar:helpid="helpid:10102" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:LineArrowEnd" toolbar:helpid="helpid:27173" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:LineArrowCircle" toolbar:helpid="helpid:27175" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:LineArrowSquare" toolbar:helpid="helpid:27177" toolbar:style="radio" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:Line_Diagonal" toolbar:helpid="helpid:10103" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:LineArrowStart" toolbar:helpid="helpid:27172" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:LineCircleArrow" toolbar:helpid="helpid:27176" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:LineSquareArrow" toolbar:helpid="helpid:27178" toolbar:style="radio" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:MeasureLine" toolbar:helpid="helpid:27051" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:LineArrows" toolbar:helpid="helpid:27174" toolbar:style="radio" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/arrowshapes.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/arrowshapes.xml
new file mode 100644
index 000000000000..b1260e5410bc
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/arrowshapes.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.down-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-down-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-right-down-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.quad-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.corner-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.split-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.striped-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.notched-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.pentagon-right" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.chevron" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.right-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.down-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-right-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-down-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-right-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.quad-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.circular-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.split-round-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.s-sharped-arrow" toolbar:helpid="helpid:11004" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/basicshapes.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/basicshapes.xml
new file mode 100644
index 000000000000..e65778305788
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/basicshapes.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.rectangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.round-rectangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.quadrat" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.round-quadrat" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.circle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.ellipse" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.circle-pie" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.isosceles-triangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.right-triangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.trapezoid" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.diamond" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.parallelogram" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.pentagon" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.hexagon" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.octagon" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.cross" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.ring" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.block-arc" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.can" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.cube" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.paper" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.frame" toolbar:helpid="helpid:11002" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/bezierobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/bezierobjectbar.xml
new file mode 100644
index 000000000000..a711f4643918
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/bezierobjectbar.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:ToggleObjectBezierMode" toolbar:helpid="helpid:10126" toolbar:style="radio auto" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierMove" toolbar:helpid="helpid:10121" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierInsert" toolbar:helpid="helpid:10119" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierDelete" toolbar:helpid="helpid:10120" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierCutLine" toolbar:helpid="helpid:10127" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierConvert" toolbar:helpid="helpid:27065" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierEdge" toolbar:helpid="helpid:27066" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierSmooth" toolbar:helpid="helpid:10123" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierSymmetric" toolbar:helpid="helpid:27067" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierClose" toolbar:helpid="helpid:10122" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierEliminatePoints" toolbar:helpid="helpid:27030" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/calloutshapes.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/calloutshapes.xml
new file mode 100644
index 000000000000..91b957fa697a
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/calloutshapes.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.rectangular-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.round-rectangular-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.round-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.cloud-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.line-callout-1" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.line-callout-2" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.line-callout-3" toolbar:helpid="helpid:11006" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/choosemodebar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/choosemodebar.xml
new file mode 100644
index 000000000000..9e30bc62d094
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/choosemodebar.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:ToggleObjectRotateMode" toolbar:helpid="helpid:10129" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Mirror" toolbar:helpid="helpid:27085" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:ConvertInto3DLathe" toolbar:helpid="helpid:27008" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CrookRotate" toolbar:helpid="helpid:27090" toolbar:style="radio" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:CrookSlant" toolbar:helpid="helpid:27091" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Shear" toolbar:helpid="helpid:27107" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:InteractiveTransparence" toolbar:helpid="helpid:27100" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:InteractiveGradient" toolbar:helpid="helpid:27101" toolbar:style="radio" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/colorbar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/colorbar.xml
new file mode 100644
index 000000000000..adcda76b5c3a
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/colorbar.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:GrafRed" toolbar:helpid="helpid:10865" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafGreen" toolbar:helpid="helpid:10866" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafBlue" toolbar:helpid="helpid:10867" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafLuminance" toolbar:helpid="helpid:10863" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafContrast" toolbar:helpid="helpid:10864" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafGamma" toolbar:helpid="helpid:10868" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/commentsbar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/commentsbar.xml
new file mode 100644
index 000000000000..07c42d262758
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/commentsbar.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:InsertAnnotation" toolbar:helpid="helpid:26276"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:PreviousAnnotation" toolbar:helpid="helpid:11095"/>
+ <toolbar:toolbaritem xlink:href=".uno:NextAnnotation" toolbar:helpid="helpid:11094"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:DeleteAnnotation" toolbar:helpid="helpid:11093"/>
+ <toolbar:toolbaritem xlink:href=".uno:DeleteAllAnnotation" toolbar:helpid="helpid:11096"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/connectorsbar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/connectorsbar.xml
new file mode 100644
index 000000000000..b33662343f51
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/connectorsbar.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:Connector" toolbar:helpid="27058"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorArrowStart" toolbar:visible="false" toolbar:helpid="27119"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorArrowEnd" toolbar:helpid="27120"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorArrows" toolbar:helpid="27121"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorCircleStart" toolbar:visible="false" toolbar:helpid="27122"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorCircleEnd" toolbar:visible="false" toolbar:helpid="27123"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorCircles" toolbar:visible="false" toolbar:helpid="27124"/>
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorLines" toolbar:helpid="27139"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorLinesArrowStart" toolbar:visible="false" toolbar:helpid="27140"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorLinesArrowEnd" toolbar:helpid="27141"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorLinesArrows" toolbar:helpid="27142"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorLinesCircleStart" toolbar:visible="false" toolbar:helpid="27143"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorLinesCircleEnd" toolbar:visible="false" toolbar:helpid="27144"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorLinesCircles" toolbar:visible="false" toolbar:helpid="27145"/>
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorLine" toolbar:helpid="27125"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorLineArrowStart" toolbar:visible="false" toolbar:helpid="27126"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorLineArrowEnd" toolbar:helpid="27127"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorLineArrows" toolbar:helpid="27128"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorLineCircleStart" toolbar:visible="false" toolbar:helpid="27129"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorLineCircleEnd" toolbar:visible="false" toolbar:helpid="27130"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorLineCircles" toolbar:visible="false" toolbar:helpid="27131"/>
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorCurve" toolbar:helpid="27132"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorCurveArrowStart" toolbar:visible="false" toolbar:helpid="27133"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorCurveArrowEnd" toolbar:helpid="27134"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorCurveArrows" toolbar:helpid="27135"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorCurveCircleStart" toolbar:visible="false" toolbar:helpid="27136"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorCurveCircleEnd" toolbar:visible="false" toolbar:helpid="27137"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorCurveCircles" toolbar:visible="false" toolbar:helpid="27138"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/drawingobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/drawingobjectbar.xml
new file mode 100644
index 000000000000..4c322a9028b6
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/drawingobjectbar.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:DesignerDialog" toolbar:helpid="5539"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatLine" toolbar:helpid="10143"/>
+ <toolbar:toolbaritem xlink:href=".uno:LineEndStyle" toolbar:helpid="10301"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:XLineStyle" toolbar:helpid="10169"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LineWidth" toolbar:helpid="10171"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:XLineColor" toolbar:helpid="10172"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatArea" toolbar:helpid="10142"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FillStyle" toolbar:helpid="10164"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FillShadow" toolbar:helpid="10299"/>
+ <toolbar:toolbaritem xlink:href=".uno:ImageMapDialog" toolbar:visible="false" toolbar:helpid="10371"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/ellipsesbar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/ellipsesbar.xml
new file mode 100644
index 000000000000..84ccaf854009
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/ellipsesbar.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:Ellipse" toolbar:helpid="helpid:10110" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Circle" toolbar:helpid="helpid:10385" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Pie" toolbar:helpid="helpid:10112" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CirclePie" toolbar:helpid="helpid:10388" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:EllipseCut" toolbar:helpid="helpid:10392" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CircleCut" toolbar:helpid="helpid:10115" toolbar:style="radio" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:Ellipse_Unfilled" toolbar:helpid="helpid:10384" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Circle_Unfilled" toolbar:helpid="helpid:10386" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Pie_Unfilled" toolbar:helpid="helpid:10387" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CirclePie_Unfilled" toolbar:helpid="helpid:10389" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:EllipseCut_Unfilled" toolbar:helpid="helpid:10393" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CircleCut_Unfilled" toolbar:helpid="helpid:10391" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Arc" toolbar:helpid="helpid:10114" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CircleArc" toolbar:helpid="helpid:10390" toolbar:style="radio" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/extrusionobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/extrusionobjectbar.xml
new file mode 100644
index 000000000000..148849db6ee7
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/extrusionobjectbar.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionToggle" toolbar:helpid="10960"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltDown" toolbar:helpid="10961"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltUp" toolbar:helpid="10962"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltLeft" toolbar:helpid="10963"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltRight" toolbar:helpid="10964"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionDepthFloater" toolbar:helpid="10965" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionDirectionFloater" toolbar:helpid="10966" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionLightingFloater" toolbar:helpid="10967" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionSurfaceFloater" toolbar:helpid="10968" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:Extrusion3DColor" toolbar:helpid="10969" toolbar:style="dropdownonly"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/findbar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/findbar.xml
new file mode 100644
index 000000000000..49e483e178a3
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/findbar.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FindText"/>
+ <toolbar:toolbaritem xlink:href=".uno:DownSearch"/>
+ <toolbar:toolbaritem xlink:href=".uno:UpSearch"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SearchDialog"/>
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/flowchartshapes.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/flowchartshapes.xml
new file mode 100644
index 000000000000..696a713424cd
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/flowchartshapes.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-process" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-alternate-process" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-decision" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-data" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-predefined-process" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-internal-storage" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-document" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-multidocument" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-terminator" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-preparation" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-manual-input" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-manual-operation" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-connector" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-off-page-connector" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-card" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-punched-tape" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-summing-junction" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-or" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-collate" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-sort" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-extract" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-merge" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-stored-data" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-delay" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-sequential-access" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-magnetic-disk" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-direct-access-storage" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-display" toolbar:helpid="helpid:11005" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/fontworkobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/fontworkobjectbar.xml
new file mode 100644
index 000000000000..32de621477dc
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/fontworkobjectbar.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FontworkGalleryFloater" toolbar:helpid="helpid:10977" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType" toolbar:helpid="helpid:10978" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkSameLetterHeights" toolbar:helpid="helpid:10979" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkAlignmentFloater" toolbar:helpid="helpid:10981" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkCharacterSpacingFloater" toolbar:helpid="helpid:10982" toolbar:style="dropdownonly"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/fontworkshapetype.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/fontworkshapetype.xml
new file mode 100644
index 000000000000..49b5b8173e0e
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/fontworkshapetype.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-plain-text" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-wave" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-inflate" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-stop" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-curve-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-curve-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-triangle-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-triangle-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-right" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-left" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-slant-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-slant-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-up-and-right" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-up-and-left" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-chevron-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-chevron-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-up-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-down-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-left-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-right-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-circle-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-open-circle-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-up-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-down-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-left-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-right-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-circle-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-open-circle-pour" toolbar:helpid="helpid:10978" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/formcontrols.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/formcontrols.xml
new file mode 100644
index 000000000000..f0b802f28559
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/formcontrols.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SelectObject" toolbar:helpid="helpid:10128" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:SwitchControlDesignMode" toolbar:helpid="helpid:10629" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ControlProperties" toolbar:helpid="helpid:10613" />
+ <toolbar:toolbaritem xlink:href=".uno:FormProperties" toolbar:helpid="helpid:10614" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:CheckBox" toolbar:helpid="helpid:10596" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Edit" toolbar:helpid="helpid:10599" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FormattedField" toolbar:helpid="helpid:10728" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Pushbutton" toolbar:helpid="helpid:10594" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:RadioButton" toolbar:helpid="helpid:10595" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:ListBox" toolbar:helpid="helpid:10600" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ComboBox" toolbar:helpid="helpid:10601" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Label" toolbar:helpid="helpid:10597" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FormDesignTools" toolbar:helpid="helpid:11046" />
+ <toolbar:toolbaritem xlink:href=".uno:MoreControls" toolbar:helpid="helpid:11045" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:UseWizards" toolbar:helpid="helpid:10727" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/formdesign.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/formdesign.xml
new file mode 100644
index 000000000000..01f59fb34b91
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/formdesign.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SelectObject" toolbar:helpid="helpid:10128" toolbar:style="radio auto" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ControlProperties" toolbar:helpid="helpid:10613" />
+ <toolbar:toolbaritem xlink:href=".uno:FormProperties" toolbar:helpid="helpid:10614" />
+ <toolbar:toolbaritem xlink:href=".uno:TransformDialog" toolbar:helpid="helpid:10087" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ShowFmExplorer" toolbar:helpid="helpid:10633" />
+ <toolbar:toolbaritem xlink:href=".uno:TabDialog" toolbar:helpid="helpid:10615" />
+ <toolbar:toolbaritem xlink:href=".uno:AddField" toolbar:helpid="helpid:10623" />
+ <toolbar:toolbaritem xlink:href=".uno:AutoControlFocus" toolbar:helpid="helpid:10763" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BringToFront" toolbar:helpid="helpid:10286" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SendToBack" toolbar:helpid="helpid:10287" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatGroup" toolbar:helpid="helpid:10454" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:FormatUngroup" toolbar:helpid="helpid:10455" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:EnterGroup" toolbar:helpid="helpid:27096" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:LeaveGroup" toolbar:helpid="helpid:27097" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlign" toolbar:helpid="helpid:10130" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:OpenReadOnly" toolbar:helpid="helpid:10709" />
+ <toolbar:toolbaritem xlink:href=".uno:GridVisible" toolbar:helpid="helpid:27322" />
+ <toolbar:toolbaritem xlink:href=".uno:GridUse" toolbar:helpid="helpid:27154" />
+ <toolbar:toolbaritem xlink:href=".uno:HelplinesMove" toolbar:helpid="helpid:27153" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/formsfilterbar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/formsfilterbar.xml
new file mode 100644
index 000000000000..311ae87a37af
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/formsfilterbar.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FormFilterNavigator" toolbar:helpid="helpid:10732" />
+ <toolbar:toolbaritem xlink:href=".uno:FormFilterExecute" toolbar:helpid="helpid:10731" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormFilterExit" toolbar:helpid="helpid:10730" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/formsnavigationbar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/formsnavigationbar.xml
new file mode 100644
index 000000000000..c6e16444a55d
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/formsnavigationbar.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:RecSearch" toolbar:helpid="10725"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:RecText" toolbar:helpid="10624"/>
+ <toolbar:toolbaritem xlink:href=".uno:AbsoluteRecord" toolbar:helpid="10622"/>
+ <toolbar:toolbaritem xlink:href=".uno:RecFromText" toolbar:helpid="10625"/>
+ <toolbar:toolbaritem xlink:href=".uno:RecTotal" toolbar:helpid="10626"/>
+ <toolbar:toolbaritem xlink:href=".uno:FirstRecord" toolbar:helpid="10616"/>
+ <toolbar:toolbaritem xlink:href=".uno:PrevRecord" toolbar:helpid="10618"/>
+ <toolbar:toolbaritem xlink:href=".uno:NextRecord" toolbar:helpid="10617"/>
+ <toolbar:toolbaritem xlink:href=".uno:LastRecord" toolbar:helpid="10619"/>
+ <toolbar:toolbaritem xlink:href=".uno:NewRecord" toolbar:helpid="10620"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:RecSave" toolbar:helpid="10627"/>
+ <toolbar:toolbaritem xlink:href=".uno:RecUndo" toolbar:helpid="10630"/>
+ <toolbar:toolbaritem xlink:href=".uno:DeleteRecord" toolbar:helpid="10621"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Refresh" toolbar:helpid="10724"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:OrderCrit" toolbar:helpid="10714"/>
+ <toolbar:toolbaritem xlink:href=".uno:Sortup" toolbar:helpid="10712"/>
+ <toolbar:toolbaritem xlink:href=".uno:SortDown" toolbar:helpid="10713"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AutoFilter" toolbar:helpid="10716"/>
+ <toolbar:toolbaritem xlink:href=".uno:FormFiltered" toolbar:helpid="10723"/>
+ <toolbar:toolbaritem xlink:href=".uno:FormFilter" toolbar:helpid="10729"/>
+ <toolbar:toolbaritem xlink:href=".uno:RemoveFilterSort" toolbar:helpid="10711"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ViewFormAsGrid" toolbar:helpid="10761"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/formtextobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/formtextobjectbar.xml
new file mode 100644
index 000000000000..dbdeaf675371
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/formtextobjectbar.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:CharFontName" toolbar:helpid="helpid:10007" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontHeight" toolbar:helpid="helpid:10015" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Bold" toolbar:helpid="helpid:10009" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Italic" toolbar:helpid="helpid:10008" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Underline" toolbar:helpid="helpid:10014" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:SuperScript" toolbar:helpid="helpid:20411" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:SubScript" toolbar:helpid="helpid:20412" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LeftPara" toolbar:helpid="helpid:10028" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CenterPara" toolbar:helpid="helpid:10030" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:RightPara" toolbar:helpid="helpid:10029" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:JustifyPara" toolbar:helpid="helpid:10031" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ParaLeftToRight" toolbar:helpid="helpid:10950" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:ParaRightToLeft" toolbar:helpid="helpid:10951" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara1" toolbar:helpid="helpid:10034" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara15" toolbar:helpid="helpid:10035" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara2" toolbar:helpid="helpid:10036" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontDialog" toolbar:helpid="helpid:10296" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:ParagraphDialog" toolbar:helpid="helpid:10297" toolbar:text="" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/fullscreenbar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/fullscreenbar.xml
new file mode 100644
index 000000000000..5aecdda4fb04
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/fullscreenbar.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FullScreen" toolbar:helpid="helpid:5627" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/gluepointsobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/gluepointsobjectbar.xml
new file mode 100644
index 000000000000..b6c8501f4044
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/gluepointsobjectbar.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:GlueInsertPoint" toolbar:helpid="helpid:27302" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GlueEscapeDirectionLeft" toolbar:helpid="helpid:27314" />
+ <toolbar:toolbaritem xlink:href=".uno:GlueEscapeDirectionTop" toolbar:helpid="helpid:27316" />
+ <toolbar:toolbaritem xlink:href=".uno:GlueEscapeDirectionRight" toolbar:helpid="helpid:27315" />
+ <toolbar:toolbaritem xlink:href=".uno:GlueEscapeDirectionBottom" toolbar:helpid="helpid:27317" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GluePercent" toolbar:helpid="helpid:27303" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GlueHorzAlignLeft" toolbar:helpid="helpid:27306" />
+ <toolbar:toolbaritem xlink:href=".uno:GlueHorzAlignCenter" toolbar:helpid="helpid:27305" />
+ <toolbar:toolbaritem xlink:href=".uno:GlueHorzAlignRight" toolbar:helpid="helpid:27307" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GlueVertAlignTop" toolbar:helpid="helpid:27309" />
+ <toolbar:toolbaritem xlink:href=".uno:GlueVertAlignCenter" toolbar:helpid="helpid:27308" />
+ <toolbar:toolbaritem xlink:href=".uno:GlueVertAlignBottom" toolbar:helpid="helpid:27310" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/graffilterbar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/graffilterbar.xml
new file mode 100644
index 000000000000..287c33fe25e5
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/graffilterbar.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterInvert" toolbar:helpid="helpid:34149" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSmooth" toolbar:helpid="helpid:34150" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSharpen" toolbar:helpid="helpid:34151" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterRemoveNoise" toolbar:helpid="helpid:34152" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSolarize" toolbar:helpid="helpid:34159" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSepia" toolbar:helpid="helpid:34158" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterPoster" toolbar:helpid="helpid:34156" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterPopart" toolbar:helpid="helpid:34157" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSobel" toolbar:helpid="helpid:34153" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterRelief" toolbar:helpid="helpid:34155" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterMosaic" toolbar:helpid="helpid:34154" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/graphicobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/graphicobjectbar.xml
new file mode 100644
index 000000000000..43956d085f3c
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/graphicobjectbar.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterToolbox" toolbar:helpid="helpid:10469" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafMode" toolbar:helpid="helpid:10871" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ColorSettings" toolbar:helpid="helpid:11016" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafTransparence" toolbar:helpid="helpid:10867" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatLine" toolbar:helpid="helpid:10143" />
+ <toolbar:toolbaritem xlink:href=".uno:FormatArea" toolbar:helpid="helpid:10142" />
+ <toolbar:toolbaritem xlink:href=".uno:FillShadow" toolbar:helpid="helpid:10299" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Crop" toolbar:helpid="helpid:10883" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/insertbar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/insertbar.xml
new file mode 100644
index 000000000000..8313e1ab9cb6
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/insertbar.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:InsertPage" toolbar:helpid="helpid:27014" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertObjectFloatingFrame" toolbar:helpid="helpid:5563" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ImportFromFile" toolbar:helpid="helpid:27015" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertTable" toolbar:helpid="helpid:10141" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertGraphic" toolbar:helpid="helpid:10241" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertAVMedia" toolbar:helpid="helpid:6695" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertSound" toolbar:helpid="helpid:5676" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertVideo" toolbar:helpid="helpid:5677" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertMath" toolbar:helpid="helpid:27106" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertObjectChart" toolbar:helpid="helpid:10140" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertObject" toolbar:helpid="helpid:5561" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertPlugin" toolbar:helpid="helpid:5672" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/linesbar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/linesbar.xml
new file mode 100644
index 000000000000..d0f9f8f90e18
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/linesbar.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:BezierFill" toolbar:helpid="helpid:10118" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Polygon" toolbar:helpid="helpid:10117" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Polygon_Diagonal" toolbar:helpid="helpid:10394" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Freeline" toolbar:helpid="helpid:10463" toolbar:style="radio" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:Bezier_Unfilled" toolbar:helpid="helpid:10397" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Polygon_Unfilled" toolbar:helpid="helpid:10395" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Polygon_Diagonal_Unfilled" toolbar:helpid="helpid:10396" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Freeline_Unfilled" toolbar:helpid="helpid:10464" toolbar:style="radio" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/masterviewtoolbar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/masterviewtoolbar.xml
new file mode 100644
index 000000000000..994c537a0aad
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/masterviewtoolbar.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:InsertMasterPage" toolbar:helpid="helpid:27430" />
+ <toolbar:toolbaritem xlink:href=".uno:DeleteMasterPage" toolbar:helpid="helpid:27431" />
+ <toolbar:toolbaritem xlink:href=".uno:RenameMasterPage" toolbar:helpid="helpid:27432" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:CloseMasterView" toolbar:helpid="helpid:27433" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/mediaobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/mediaobjectbar.xml
new file mode 100644
index 000000000000..2014343bf89b
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/mediaobjectbar.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:InsertAVMedia" toolbar:helpid="6695"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AVMediaToolBox" toolbar:helpid="helpid:6693" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/moreformcontrols.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/moreformcontrols.xml
new file mode 100644
index 000000000000..275c733e7340
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/moreformcontrols.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SpinButton" toolbar:helpid="helpid:10769" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:ScrollBar" toolbar:helpid="helpid:10768" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:Imagebutton" toolbar:helpid="helpid:10604" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:ImageControl" toolbar:helpid="helpid:10710" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FileControl" toolbar:helpid="helpid:10605" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:DateField" toolbar:helpid="helpid:10704" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:TimeField" toolbar:helpid="helpid:10705" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:NumericField" toolbar:helpid="helpid:10706" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:CurrencyField" toolbar:helpid="helpid:10707" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:PatternField" toolbar:helpid="helpid:10708" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GroupBox" toolbar:helpid="helpid:10598" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Grid" toolbar:helpid="helpid:10603" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:NavigationBar" toolbar:helpid="helpid:10607" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/optimizetablebar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/optimizetablebar.xml
new file mode 100644
index 000000000000..bf97f65ae9cb
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/optimizetablebar.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:DistributeColumns" toolbar:helpid="helpid:20582" />
+ <toolbar:toolbaritem xlink:href=".uno:DistributeRows" toolbar:helpid="helpid:20583" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/optionsbar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/optionsbar.xml
new file mode 100644
index 000000000000..e3d92eb6a486
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/optionsbar.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:ClickChangeRotation" toolbar:helpid="helpid:27170" toolbar:style="auto" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GridVisible" toolbar:helpid="helpid:27322" toolbar:style="auto" />
+ <toolbar:toolbaritem xlink:href=".uno:HelplinesVisible" toolbar:helpid="helpid:27324" toolbar:style="auto" />
+ <toolbar:toolbaritem xlink:href=".uno:HelplinesMove" toolbar:helpid="helpid:27153" toolbar:style="auto" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GridUse" toolbar:helpid="helpid:27154" toolbar:style="auto" />
+ <toolbar:toolbaritem xlink:href=".uno:HelplinesUse" toolbar:helpid="helpid:27152" toolbar:style="auto" />
+ <toolbar:toolbaritem xlink:href=".uno:SnapBorder" toolbar:helpid="helpid:27155" toolbar:style="auto" />
+ <toolbar:toolbaritem xlink:href=".uno:SnapFrame" toolbar:helpid="helpid:27156" toolbar:style="auto" />
+ <toolbar:toolbaritem xlink:href=".uno:SnapPoints" toolbar:helpid="helpid:27157" toolbar:style="auto" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:QuickEdit" toolbar:helpid="helpid:27158" toolbar:style="auto" />
+ <toolbar:toolbaritem xlink:href=".uno:PickThrough" toolbar:helpid="helpid:27159" toolbar:style="auto" />
+ <toolbar:toolbaritem xlink:href=".uno:DoubleClickTextEdit" toolbar:helpid="helpid:27169" toolbar:style="auto" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:HandlesDraft" toolbar:helpid="helpid:27150" toolbar:style="auto" />
+ <toolbar:toolbaritem xlink:href=".uno:BigHandles" toolbar:helpid="helpid:27168" toolbar:style="auto" />
+ <toolbar:toolbaritem xlink:href=".uno:SolidCreate" toolbar:helpid="helpid:27151" toolbar:style="auto" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LeaveAllGroups" toolbar:helpid="helpid:27345" toolbar:style="auto" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/positionbar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/positionbar.xml
new file mode 100644
index 000000000000..5f571924d72a
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/positionbar.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:BringToFront" toolbar:helpid="helpid:10286" />
+ <toolbar:toolbaritem xlink:href=".uno:Forward" toolbar:helpid="helpid:27031" />
+ <toolbar:toolbaritem xlink:href=".uno:Backward" toolbar:helpid="helpid:27032" />
+ <toolbar:toolbaritem xlink:href=".uno:SendToBack" toolbar:helpid="helpid:10287" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BeforeObject" toolbar:helpid="helpid:27326" />
+ <toolbar:toolbaritem xlink:href=".uno:BehindObject" toolbar:helpid="helpid:27116" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ReverseOrder" toolbar:helpid="helpid:27117" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/rectanglesbar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/rectanglesbar.xml
new file mode 100644
index 000000000000..2716265612f4
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/rectanglesbar.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:Rect" toolbar:helpid="helpid:10104" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Square" toolbar:helpid="helpid:10380" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Rect_Rounded" toolbar:helpid="helpid:10105" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Square_Rounded" toolbar:helpid="helpid:10381" toolbar:style="radio" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:Rect_Unfilled" toolbar:helpid="helpid:10378" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Square_Unfilled" toolbar:helpid="helpid:10382" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Rect_Rounded_Unfilled" toolbar:helpid="helpid:10379" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Square_Rounded_Unfilled" toolbar:helpid="helpid:10383" toolbar:style="radio" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/standardbar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/standardbar.xml
new file mode 100644
index 000000000000..a53982f43767
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/standardbar.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:OpenUrl" toolbar:visible="false"/>
+ <toolbar:toolbaritem xlink:href=".uno:AddDirect" toolbar:helpid="5537"/>
+ <toolbar:toolbaritem xlink:href=".uno:NewDoc" toolbar:visible="false" toolbar:helpid="5500"/>
+ <toolbar:toolbaritem xlink:href=".uno:Open" toolbar:helpid="5501"/>
+ <toolbar:toolbaritem xlink:href=".uno:Save" toolbar:helpid="5505"/>
+ <toolbar:toolbaritem xlink:href=".uno:SaveAs" toolbar:visible="false" toolbar:helpid="5502"/>
+ <toolbar:toolbaritem xlink:href=".uno:SendMail" toolbar:helpid="5331"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:EditDoc" toolbar:helpid="6312"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExportDirectToPDF" toolbar:helpid="6674"/>
+ <toolbar:toolbaritem xlink:href=".uno:PrintDefault" toolbar:helpid="5509"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SpellDialog" toolbar:helpid="20622"/>
+ <toolbar:toolbaritem xlink:href=".uno:SpellOnline" toolbar:helpid="12021"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Cut" toolbar:helpid="5710"/>
+ <toolbar:toolbaritem xlink:href=".uno:Copy" toolbar:helpid="5711"/>
+ <toolbar:toolbaritem xlink:href=".uno:Paste" toolbar:helpid="5712"/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatPaintbrush" toolbar:helpid="5715"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Undo" toolbar:helpid="5701"/>
+ <toolbar:toolbaritem xlink:href=".uno:Redo" toolbar:helpid="5700"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertObjectChart" toolbar:helpid="10140"/>
+ <toolbar:toolbaritem xlink:href=".uno:HyperlinkDialog" toolbar:helpid="5678"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Navigator" toolbar:helpid="10366"/>
+ <toolbar:toolbaritem xlink:href=".uno:Window3D" toolbar:helpid="helpid:10644" toolbar:style="auto" toolbar:visible="false"/>
+ <toolbar:toolbaritem xlink:href=".uno:ZoomToolBox" toolbar:helpid="10096"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:HelpIndex"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtendedHelp" toolbar:visible="false"/>
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/starshapes.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/starshapes.xml
new file mode 100644
index 000000000000..a2ff874d2fe7
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/starshapes.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.bang" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star4" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star5" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star6" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star8" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star12" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star24" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.concave-star6" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.vertical-scroll" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.horizontal-scroll" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.signet" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.doorplate" toolbar:helpid="helpid:11007" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/symbolshapes.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/symbolshapes.xml
new file mode 100644
index 000000000000..0e96bcf78134
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/symbolshapes.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.smiley" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.sun" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.moon" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.lightning" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.heart" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.flower" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.cloud" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.forbidden" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.puzzle" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.bracket-pair" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.left-bracket" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.right-bracket" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.brace-pair" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.left-brace" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.right-brace" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.quad-bevel" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.octagon-bevel" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.diamond-bevel" toolbar:helpid="helpid:11003" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/tableobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/tableobjectbar.xml
new file mode 100644
index 000000000000..57726de89461
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/tableobjectbar.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:InsertTable" toolbar:helpid="helpid:20330" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LineStyle" toolbar:helpid="helpid:10200" />
+ <toolbar:toolbaritem xlink:href=".uno:FrameLineColor" toolbar:helpid="helpid:10201" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SetBorderStyle" toolbar:helpid="helpid:10187" />
+ <toolbar:toolbaritem xlink:href=".uno:FillStyle" toolbar:helpid="helpid:10164"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:MergeCells" toolbar:helpid="helpid:20506" />
+ <toolbar:toolbaritem xlink:href=".uno:SplitCell" toolbar:helpid="helpid:20505" />
+ <toolbar:toolbaritem xlink:href=".uno:OptimizeTable" toolbar:helpid="helpid:20510" toolbar:style="dropdown" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:CellVertTop" toolbar:helpid="helpid:20585" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CellVertCenter" toolbar:helpid="helpid:20586" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CellVertBottom" toolbar:helpid="helpid:20587" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertRows" toolbar:helpid="helpid:20501" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertColumns" toolbar:helpid="helpid:20502" />
+ <toolbar:toolbaritem xlink:href=".uno:DeleteRows" toolbar:helpid="helpid:20503" />
+ <toolbar:toolbaritem xlink:href=".uno:DeleteColumns" toolbar:helpid="helpid:20504" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SelectTable" toolbar:helpid="helpid:20515" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:EntireColumn" toolbar:helpid="helpid:20514" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:EntireRow" toolbar:helpid="helpid:20513" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:TableDesign" toolbar:helpid="helpid:10429" />
+ <toolbar:toolbaritem xlink:href=".uno:TableDialog" toolbar:helpid="helpid:20459" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/textbar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/textbar.xml
new file mode 100644
index 000000000000..4bd5672237d3
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/textbar.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:Text" toolbar:helpid="helpid:10006" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:TextFitToSizeTool" toolbar:helpid="helpid:27285" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:DrawCaption" toolbar:helpid="helpid:10254" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:VerticalText" toolbar:helpid="helpid:10905" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:VerticalTextFitToSizeTool" toolbar:helpid="helpid:27286" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:VerticalCaption" toolbar:helpid="helpid:10906" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/textobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/textobjectbar.xml
new file mode 100644
index 000000000000..d364ca42e771
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/textobjectbar.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:CharFontName" toolbar:helpid="10007"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontHeight" toolbar:helpid="10015"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Bold" toolbar:helpid="10009"/>
+ <toolbar:toolbaritem xlink:href=".uno:Italic" toolbar:helpid="10008"/>
+ <toolbar:toolbaritem xlink:href=".uno:Underline" toolbar:helpid="10014"/>
+ <toolbar:toolbaritem xlink:href=".uno:Shadowed" toolbar:helpid="10010"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LeftPara" toolbar:helpid="10028"/>
+ <toolbar:toolbaritem xlink:href=".uno:CenterPara" toolbar:helpid="10030"/>
+ <toolbar:toolbaritem xlink:href=".uno:RightPara" toolbar:helpid="10029"/>
+ <toolbar:toolbaritem xlink:href=".uno:JustifyPara" toolbar:helpid="10031"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ParaLeftToRight" toolbar:helpid="10950"/>
+ <toolbar:toolbaritem xlink:href=".uno:ParaRightToLeft" toolbar:helpid="10951"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ParaspaceIncrease" toolbar:helpid="27346"/>
+ <toolbar:toolbaritem xlink:href=".uno:ParaspaceDecrease" toolbar:helpid="27347"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara1" toolbar:helpid="10034"/>
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara15" toolbar:helpid="10035"/>
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara2" toolbar:helpid="10036"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:DefaultBullet" toolbar:helpid="20138"/>
+ <toolbar:toolbaritem xlink:href=".uno:Grow" toolbar:helpid="helpid:20403"/>
+ <toolbar:toolbaritem xlink:href=".uno:Shrink" toolbar:helpid="helpid:20404"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:TextdirectionLeftToRight" toolbar:helpid="10907"/>
+ <toolbar:toolbaritem xlink:href=".uno:TextdirectionTopToBottom" toolbar:helpid="10908"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontDialog" toolbar:helpid="10296"/>
+ <toolbar:toolbaritem xlink:href=".uno:ParagraphDialog" toolbar:helpid="10297"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Color" toolbar:helpid="10017"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertSymbol" toolbar:visible="false" toolbar:helpid="27019"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/toolbar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/toolbar.xml
new file mode 100644
index 000000000000..9bd802585f6f
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/toolbar.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SelectObject" toolbar:helpid="helpid:10128" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Line" toolbar:helpid="helpid:10102" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:LineArrowEnd" toolbar:helpid="helpid:27173" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.rectangle" toolbar:helpid="helpid:10104" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.ellipse" toolbar:helpid="helpid:10110" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Text" toolbar:helpid="helpid:10398" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:VerticalText" toolbar:helpid="helpid:10398" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LineToolbox" toolbar:helpid="helpid:10401" toolbar:style="radio dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorToolbox" toolbar:helpid="helpid:27028" toolbar:style="radio dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowsToolbox" toolbar:helpid=".uno:ArrowsToolbox" toolbar:style="radio dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:Objects3DToolbox" toolbar:helpid="helpid:27295" toolbar:style="radio dropdown" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes" toolbar:helpid="helpid:11002" toolbar:style="radio dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes" toolbar:helpid="helpid:11003" toolbar:style="radio dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes" toolbar:helpid="helpid:11004" toolbar:style="radio dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes" toolbar:helpid="helpid:11005" toolbar:style="radio dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes" toolbar:helpid="helpid:11006" toolbar:style="radio dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes" toolbar:helpid="helpid:11007" toolbar:style="radio dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleObjectBezierMode" toolbar:helpid="10126"/>
+ <toolbar:toolbaritem xlink:href=".uno:GlueEditMode" toolbar:helpid="helpid:27301" toolbar:style="auto" />
+ <toolbar:toolbaritem xlink:href=".uno:ChangeBezier" toolbar:helpid="helpid:27036" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:ChangePolygon" toolbar:helpid="helpid:27037" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:ConvertInto3D" toolbar:helpid="helpid:10648" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:ConvertInto3DLatheFast" toolbar:helpid="helpid:10649" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkGalleryFloater" toolbar:helpid="helpid:10977" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertGraphic" toolbar:helpid="helpid:10241" />
+ <toolbar:toolbaritem xlink:href=".uno:Gallery" toolbar:helpid="helpid:5960" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AdvancedMode" toolbar:helpid="helpid:27095" toolbar:style="radio dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:Mirror" toolbar:helpid="helpid:27085" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:TransformDialog" toolbar:helpid="helpid:10087" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlign" toolbar:helpid="helpid:10130" toolbar:style="dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:ObjectPosition" toolbar:helpid="helpid:27022" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertToolbox" toolbar:helpid="helpid:27318" toolbar:style="radio dropdown" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:Config" toolbar:helpid="helpid:10593" toolbar:style="dropdown" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionToggle" toolbar:helpid="10960"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/viewerbar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/viewerbar.xml
new file mode 100644
index 000000000000..d4d6a59d7ed5
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/viewerbar.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SaveAs" toolbar:helpid="helpid:5502" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:EditDoc" toolbar:helpid="helpid:6312" />
+ <toolbar:toolbaritem xlink:href=".uno:SendMail" toolbar:helpid="helpid:5331" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExportDirectToPDF" toolbar:helpid="helpid:6674" />
+ <toolbar:toolbaritem xlink:href=".uno:PrintDefault" toolbar:helpid="helpid:5509" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Copy" toolbar:helpid="helpid:5711" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SearchDialog" toolbar:helpid="helpid:5961" />
+ <toolbar:toolbaritem xlink:href=".uno:Navigator" toolbar:helpid="helpid:10366" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Zoom" toolbar:helpid="helpid:10000" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/zoombar.xml b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/zoombar.xml
new file mode 100644
index 000000000000..fa59303d6176
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sdraw/toolbar/zoombar.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:ZoomPlus" toolbar:helpid="10097"/>
+ <toolbar:toolbaritem xlink:href=".uno:ZoomMinus" toolbar:helpid="10098"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Zoom100Percent" toolbar:helpid="10099"/>
+ <toolbar:toolbaritem xlink:href=".uno:ZoomPrevious" toolbar:visible="false" toolbar:helpid="10403"/>
+ <toolbar:toolbaritem xlink:href=".uno:ZoomNext" toolbar:visible="false" toolbar:helpid="10402"/>
+ <toolbar:toolbaritem xlink:href=".uno:ZoomPage" toolbar:helpid="10100"/>
+ <toolbar:toolbaritem xlink:href=".uno:ZoomPageWidth" toolbar:helpid="27098"/>
+ <toolbar:toolbaritem xlink:href=".uno:ZoomOptimal" toolbar:helpid="10101"/>
+ <toolbar:toolbaritem xlink:href=".uno:ZoomObjects" toolbar:helpid="27099"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ZoomPanning" toolbar:helpid="27017"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/menubar/menubar.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/menubar/menubar.xml
new file mode 100644
index 000000000000..e643158b2506
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/menubar/menubar.xml
@@ -0,0 +1,459 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<menu:menubar xmlns:menu="http://openoffice.org/2001/menu" menu:id="menubar">
+ <menu:menu menu:id=".uno:PickList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:AddDirect"/>
+ <menu:menuitem menu:id=".uno:Open"/>
+ <menu:menuitem menu:id=".uno:RecentFileList"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AutoPilotMenu"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CloseDoc"/>
+ <menu:menuitem menu:id=".uno:Save"/>
+ <menu:menuitem menu:id=".uno:SaveAs"/>
+ <menu:menuitem menu:id=".uno:SaveAll"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Reload"/>
+ <menu:menuitem menu:id=".uno:VersionDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ExportTo"/>
+ <menu:menuitem menu:id=".uno:ExportToPDF"/>
+ <menu:menu menu:id=".uno:SendToMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SendMail"/>
+ <menu:menuitem menu:id=".uno:SendMailDocAsPDF"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:NewGlobalDoc"/>
+ <menu:menuitem menu:id=".uno:NewHtmlDoc"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SendOutlineToStarImpress"/>
+ <menu:menuitem menu:id=".uno:SendOutlineToClipboard"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CreateAbstract"/>
+ <menu:menuitem menu:id=".uno:SendAbstractToStarImpress"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SetDocumentProperties"/>
+ <menu:menu menu:id=".uno:TemplateMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Organizer"/>
+ <menu:menuitem menu:id=".uno:AddressBookSource"/>
+ <menu:menuitem menu:id=".uno:SaveAsTemplate"/>
+ <menu:menuitem menu:id=".uno:OpenTemplate"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:WebHtml"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:PrintPreview"/>
+ <menu:menuitem menu:id=".uno:Print"/>
+ <menu:menuitem menu:id=".uno:PrinterSetup"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Quit"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:EditMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Undo"/>
+ <menu:menuitem menu:id=".uno:Redo"/>
+ <menu:menuitem menu:id=".uno:Repeat"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Cut"/>
+ <menu:menuitem menu:id=".uno:Copy"/>
+ <menu:menuitem menu:id=".uno:Paste"/>
+ <menu:menuitem menu:id=".uno:PasteSpecial"/>
+ <menu:menu menu:id=".uno:SelectionModeMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SelectionModeDefault" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:SelectionModeBlock" menu:style="radio"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:SelectTextMode"/>
+ <menu:menuitem menu:id=".uno:SelectAll"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:ChangesMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:TrackChanges"/>
+ <menu:menuitem menu:id=".uno:ProtectTraceChangeMode"/>
+ <menu:menuitem menu:id=".uno:ShowTrackedChanges"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AcceptTrackedChanges"/>
+ <menu:menuitem menu:id=".uno:CommentChangeTracking"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MergeDocuments"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:CompareDocuments"/>
+ <menu:menuitem menu:id="vnd.sun.star.findbar:FocusToFindbar"/>
+ <menu:menuitem menu:id=".uno:SearchDialog"/>
+ <menu:menuitem menu:id=".uno:EditGlossary"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ChangeDatabaseField"/>
+ <menu:menuitem menu:id=".uno:FieldDialog"/>
+ <menu:menuitem menu:id=".uno:EditFootnote"/>
+ <menu:menuitem menu:id=".uno:IndexEntryDialog"/>
+ <menu:menuitem menu:id=".uno:AuthoritiesEntryDialog"/>
+ <menu:menuitem menu:id=".uno:EditHyperlink"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:LinkDialog"/>
+ <menu:menuitem menu:id=".uno:PlugInsActive"/>
+ <menu:menuitem menu:id=".uno:ImageMapDialog"/>
+ <menu:menuitem menu:id=".uno:ObjectMenue"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ViewMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:PrintLayout" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:BrowseView" menu:style="radio"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AvailableToolbars"/>
+ <menu:menuitem menu:id=".uno:StatusBarVisible"/>
+ <menu:menuitem menu:id=".uno:ShowImeStatusWindow"/>
+ <menu:menuitem menu:id=".uno:Ruler"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ViewBounds"/>
+ <menu:menuitem menu:id=".uno:Marks"/>
+ <menu:menuitem menu:id=".uno:Fieldnames"/>
+ <menu:menuitem menu:id=".uno:ControlCodes"/>
+ <menu:menuitem menu:id=".uno:ShowHiddenParagraphs"/>
+ <menu:menuitem menu:id=".uno:ShowAnnotations"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ViewDataSourceBrowser"/>
+ <menu:menuitem menu:id=".uno:Navigator"/>
+ <menu:menuitem menu:id=".uno:TaskPane"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:FullScreen"/>
+ <menu:menuitem menu:id=".uno:Zoom"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:InsertMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertBreak"/>
+ <menu:menu menu:id=".uno:FieldMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertDateField"/>
+ <menu:menuitem menu:id=".uno:InsertTimeField"/>
+ <menu:menuitem menu:id=".uno:InsertPageNumberField"/>
+ <menu:menuitem menu:id=".uno:InsertPageCountField"/>
+ <menu:menuitem menu:id=".uno:InsertTopicField"/>
+ <menu:menuitem menu:id=".uno:InsertTitleField"/>
+ <menu:menuitem menu:id=".uno:InsertAuthorField"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertField"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:InsertSymbol"/>
+ <menu:menu menu:id=".uno:FormattingMarkMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertNonBreakingSpace"/>
+ <menu:menuitem menu:id=".uno:InsertHardHyphen"/>
+ <menu:menuitem menu:id=".uno:InsertSoftHyphen"/>
+ <menu:menuitem menu:id=".uno:InsertZWSP"/>
+ <menu:menuitem menu:id=".uno:InsertZWNBSP"/>
+ <menu:menuitem menu:id=".uno:InsertLRM"/>
+ <menu:menuitem menu:id=".uno:InsertRLM"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertSection"/>
+ <menu:menuitem menu:id=".uno:HyperlinkDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertPageHeader"/>
+ <menu:menuitem menu:id=".uno:InsertPageFooter"/>
+ <menu:menuitem menu:id=".uno:InsertFootnoteDialog"/>
+ <menu:menuitem menu:id=".uno:InsertCaptionDialog"/>
+ <menu:menuitem menu:id=".uno:InsertBookmark"/>
+ <menu:menuitem menu:id=".uno:InsertReferenceField"/>
+ <menu:menuitem menu:id=".uno:InsertAnnotation"/>
+ <menu:menuitem menu:id=".uno:InsertScript"/>
+ <menu:menu menu:id=".uno:IndexesMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertIndexesEntry"/>
+ <menu:menuitem menu:id=".uno:InsertMultiIndex"/>
+ <menu:menuitem menu:id=".uno:InsertAuthoritiesEntry"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertEnvelope"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertFrame"/>
+ <menu:menuitem menu:id=".uno:InsertTable"/>
+ <menu:menuitem menu:id=".uno:InsertGraphicRuler"/>
+ <menu:menu menu:id=".uno:GraphicMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertGraphic"/>
+ <menu:menu menu:id=".uno:Scan">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:TwainSelect"/>
+ <menu:menuitem menu:id=".uno:TwainTransfer"/>
+ </menu:menupopup>
+ </menu:menu>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:InsertAVMedia"/>
+ <menu:menu menu:id=".uno:ObjectMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertObject"/>
+ <menu:menuitem menu:id=".uno:InsertPlugin"/>
+ <menu:menuitem menu:id=".uno:InsertObjectStarMath"/>
+ <menu:menuitem menu:id=".uno:InsertObjectChart"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:InsertObjectFloatingFrame"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertDoc"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:FormatMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ResetAttributes"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:FontDialog"/>
+ <menu:menuitem menu:id=".uno:ParagraphDialog"/>
+ <menu:menuitem menu:id=".uno:BulletsAndNumberingDialog"/>
+ <menu:menuitem menu:id=".uno:PageDialog"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:TransliterateMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ChangeCaseToSentenceCase"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToLower"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToUpper"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToTitleCase"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToToggleCase"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToHalfWidth"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToFullWidth"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToHiragana"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToKatakana"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:RubyDialog"/>
+ <menu:menuitem menu:id=".uno:FormatColumns"/>
+ <menu:menuitem menu:id=".uno:EditRegion"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:DesignerDialog"/>
+ <menu:menu menu:id=".uno:AutoFormatMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:OnlineAutoFormat"/>
+ <menu:menuitem menu:id=".uno:AutoFormatApply"/>
+ <menu:menuitem menu:id=".uno:AutoFormatRedlineApply"/>
+ <menu:menuitem menu:id=".uno:AutoCorrectDlg"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:AnchorMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SetAnchorToPage" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:SetAnchorToPara" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:SetAnchorAtChar" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:SetAnchorToChar" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:SetAnchorToFrame" menu:style="radio"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:WrapMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:WrapOff"/>
+ <menu:menuitem menu:id=".uno:WrapOn"/>
+ <menu:menuitem menu:id=".uno:WrapIdeal"/>
+ <menu:menuitem menu:id=".uno:WrapThrough"/>
+ <menu:menuitem menu:id=".uno:WrapThroughTransparent"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:WrapContour"/>
+ <menu:menuitem menu:id=".uno:ContourDialog"/>
+ <menu:menuitem menu:id=".uno:WrapAnchorOnly"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:TextWrap"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ObjectAlign">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:CommonAlignLeft" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:CommonAlignHorizontalCenter" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:CommonAlignRight" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:CommonAlignJustified" menu:style="radio"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CommonAlignTop"/>
+ <menu:menuitem menu:id=".uno:CommonAlignVerticalCenter"/>
+ <menu:menuitem menu:id=".uno:CommonAlignBottom"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ArrangeMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:BringToFront"/>
+ <menu:menuitem menu:id=".uno:ObjectForwardOne"/>
+ <menu:menuitem menu:id=".uno:ObjectBackOne"/>
+ <menu:menuitem menu:id=".uno:SendToBack"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SetObjectToForeground"/>
+ <menu:menuitem menu:id=".uno:SetObjectToBackground"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:FlipMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:FlipHorizontal"/>
+ <menu:menuitem menu:id=".uno:FlipVertical"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:GroupMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:FormatGroup"/>
+ <menu:menuitem menu:id=".uno:FormatUngroup"/>
+ <menu:menuitem menu:id=".uno:EnterGroup"/>
+ <menu:menuitem menu:id=".uno:LeaveGroup"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:ObjectMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:TransformDialog"/>
+ <menu:menuitem menu:id=".uno:FormatLine"/>
+ <menu:menuitem menu:id=".uno:FormatArea"/>
+ <menu:menuitem menu:id=".uno:TextAttributes"/>
+ <menu:menuitem menu:id=".uno:FontWork"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ObjectTitleDescription"/>
+ <menu:menuitem menu:id=".uno:NameGroup"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:FrameDialog"/>
+ <menu:menuitem menu:id=".uno:GraphicDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:TableMenu">
+ <menu:menupopup>
+ <menu:menu menu:id=".uno:TableInsertMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertTable"/>
+ <menu:menuitem menu:id=".uno:InsertRowDialog"/>
+ <menu:menuitem menu:id=".uno:InsertColumnDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:TableDeleteMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:DeleteTable"/>
+ <menu:menuitem menu:id=".uno:DeleteRows"/>
+ <menu:menuitem menu:id=".uno:DeleteColumns"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:TableSelectMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SelectTable"/>
+ <menu:menuitem menu:id=".uno:EntireRow"/>
+ <menu:menuitem menu:id=".uno:EntireColumn"/>
+ <menu:menuitem menu:id=".uno:EntireCell"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:MergeCells"/>
+ <menu:menuitem menu:id=".uno:SplitCell"/>
+ <menu:menuitem menu:id=".uno:Protect"/>
+ <menu:menuitem menu:id=".uno:MergeTable"/>
+ <menu:menuitem menu:id=".uno:SplitTable"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AutoFormat"/>
+ <menu:menu menu:id=".uno:TableAutoFitMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SetColumnWidth"/>
+ <menu:menuitem menu:id=".uno:SetOptimalColumnWidth"/>
+ <menu:menuitem menu:id=".uno:DistributeColumns"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SetRowHeight"/>
+ <menu:menuitem menu:id=".uno:SetOptimalRowHeight"/>
+ <menu:menuitem menu:id=".uno:DistributeRows"/>
+ <menu:menuitem menu:id=".uno:RowSplit"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:HeadingRowsRepeat"/>
+ <menu:menu menu:id=".uno:TableConvertMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ConvertTextToTable"/>
+ <menu:menuitem menu:id=".uno:ConvertTableToText"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:TableSort"/>
+ <menu:menuitem menu:id=".uno:InsertFormula"/>
+ <menu:menuitem menu:id=".uno:TableNumberFormatDialog"/>
+ <menu:menuitem menu:id=".uno:TableBoundaries"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:TableDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ToolsMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SpellingAndGrammarDialog"/>
+ <menu:menu menu:id=".uno:LanguageMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SetLanguageSelectionMenu"/>
+ <menu:menuitem menu:id=".uno:SetLanguageParagraphMenu"/>
+ <menu:menuitem menu:id=".uno:SetLanguageAllTextMenu"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:HangulHanjaConversion"/>
+ <menu:menuitem menu:id=".uno:ChineseConversion"/>
+ <menu:menuitem menu:id=".uno:ThesaurusDialog"/>
+ <menu:menuitem menu:id=".uno:Hyphenate"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MoreDictionaries"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:WordCountDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ChapterNumberingDialog"/>
+ <menu:menuitem menu:id=".uno:LineNumberingDialog"/>
+ <menu:menuitem menu:id=".uno:FootnoteDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Gallery"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:BibliographyComponent"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MergeDocuments"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SortDialog"/>
+ <menu:menuitem menu:id=".uno:CalculateSel"/>
+ <menu:menu menu:id=".uno:UpdateMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:UpdateAll"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:UpdateFields"/>
+ <menu:menuitem menu:id=".uno:UpdateAllLinks"/>
+ <menu:menuitem menu:id=".uno:UpdateCharts"/>
+ <menu:menuitem menu:id=".uno:UpdateCurIndex"/>
+ <menu:menuitem menu:id=".uno:UpdateAllIndexes"/>
+ <menu:menuitem menu:id=".uno:Repaginate"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:MacrosMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:MacroRecorder"/>
+ <menu:menuitem menu:id=".uno:RunMacro"/>
+ <menu:menu menu:id=".uno:ScriptOrganizer"/>
+ <menu:menuitem menu:id=".uno:MacroSignature"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MacroOrganizer?TabId:short=1"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id="service:com.sun.star.deployment.ui.PackageManagerDialog"/>
+ <menu:menuitem menu:id=".uno:OpenXMLFilterSettings"/>
+ <menu:menuitem menu:id=".uno:AutoCorrectDlg"/>
+ <menu:menuitem menu:id=".uno:ConfigureDialog"/>
+ <menu:menuitem menu:id=".uno:OptionsTreeDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:WindowList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:NewWindow"/>
+ <menu:menuitem menu:id=".uno:CloseWin"/>
+ <menu:menuseparator/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:HelpMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HelpIndex"/>
+ <menu:menuitem menu:id=".uno:ExtendedHelp"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowLicense"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowCredits"/>
+ <menu:menuitem menu:id=".uno:About"/>
+ </menu:menupopup>
+ </menu:menu>
+</menu:menubar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/statusbar/statusbar.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/statusbar/statusbar.xml
new file mode 100644
index 000000000000..3e46300cd0e7
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/statusbar/statusbar.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE statusbar:statusbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "statusbar.dtd">
+<statusbar:statusbar xmlns:statusbar="http://openoffice.org/2001/statusbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <statusbar:statusbaritem xlink:href=".uno:StatePageNumber" statusbar:align="left" statusbar:autosize="true" statusbar:width="54" statusbar:helpid="helpid:21181"/>
+ <statusbar:statusbaritem xlink:href=".uno:PageStyleName" statusbar:align="left" statusbar:autosize="true" statusbar:width="79" statusbar:helpid="helpid:21182"/>
+ <statusbar:statusbaritem xlink:href=".uno:LanguageStatus" statusbar:align="center" statusbar:autosize="true" statusbar:width="100" />
+ <statusbar:statusbaritem xlink:href=".uno:InsertMode" statusbar:align="center" statusbar:width="37" statusbar:helpid="helpid:10221"/>
+ <statusbar:statusbaritem xlink:href=".uno:SelectionMode" statusbar:align="center" statusbar:width="30" statusbar:helpid="helpid:21185"/>
+ <statusbar:statusbaritem xlink:href=".uno:ModifiedStatus" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="9" statusbar:helpid="helpid:5584"/>
+ <statusbar:statusbaritem xlink:href=".uno:Signature" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="16" statusbar:helpid="helpid:5699"/>
+ <statusbar:statusbaritem xlink:href=".uno:Size" statusbar:align="left" statusbar:autosize="true" statusbar:ownerdraw="true" statusbar:width="129" statusbar:helpid="helpid:10224"/>
+ <statusbar:statusbaritem xlink:href=".uno:ViewLayout" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="63" statusbar:helpid="helpid:11064"/>
+ <statusbar:statusbaritem xlink:href=".uno:ZoomSlider" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="130" statusbar:helpid="helpid:11065"/>
+ <statusbar:statusbaritem xlink:href=".uno:Zoom" statusbar:align="center" statusbar:width="35" statusbar:helpid="helpid:10000"/>
+</statusbar:statusbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/alignmentbar.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/alignmentbar.xml
new file mode 100644
index 000000000000..7b6bb3e61d2e
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/alignmentbar.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlignLeft" toolbar:helpid="helpid:10131" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignCenter" toolbar:helpid="helpid:10132" />
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlignRight" toolbar:helpid="helpid:10133" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignUp" toolbar:helpid="helpid:10134" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignMiddle" toolbar:helpid="helpid:10135" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignDown" toolbar:helpid="helpid:10136" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/arrowshapes.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/arrowshapes.xml
new file mode 100644
index 000000000000..4a53519494ea
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/arrowshapes.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.down-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-down-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-right-down-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.quad-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.corner-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.split-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.striped-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.notched-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.pentagon-right" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.chevron" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.right-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.down-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-right-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-down-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-right-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.quad-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.circular-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.split-round-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.s-sharped-arrow" toolbar:helpid="helpid:11004" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/basicshapes.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/basicshapes.xml
new file mode 100644
index 000000000000..e65778305788
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/basicshapes.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.rectangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.round-rectangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.quadrat" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.round-quadrat" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.circle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.ellipse" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.circle-pie" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.isosceles-triangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.right-triangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.trapezoid" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.diamond" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.parallelogram" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.pentagon" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.hexagon" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.octagon" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.cross" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.ring" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.block-arc" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.can" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.cube" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.paper" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.frame" toolbar:helpid="helpid:11002" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/bezierobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/bezierobjectbar.xml
new file mode 100644
index 000000000000..a17067c335ec
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/bezierobjectbar.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:ToggleObjectBezierMode" toolbar:helpid="helpid:10126" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierMove" toolbar:helpid="helpid:10121" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierInsert" toolbar:helpid="helpid:10119" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierDelete" toolbar:helpid="helpid:10120" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierCutLine" toolbar:helpid="helpid:10127" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierConvert" toolbar:helpid="helpid:27065" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierEdge" toolbar:helpid="helpid:27066" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierSmooth" toolbar:helpid="helpid:10123" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierSymmetric" toolbar:helpid="helpid:27067" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierClose" toolbar:helpid="helpid:10122" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierEliminatePoints" toolbar:helpid="helpid:27030" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/calloutshapes.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/calloutshapes.xml
new file mode 100644
index 000000000000..e708b70bbc4a
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/calloutshapes.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.rectangular-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.round-rectangular-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.round-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.cloud-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.line-callout-1" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.line-callout-2" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.line-callout-3" toolbar:helpid="helpid:11006" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/colorbar.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/colorbar.xml
new file mode 100644
index 000000000000..e42bbfb49ad6
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/colorbar.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:GrafRed" toolbar:helpid="helpid:10865" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafGreen" toolbar:helpid="helpid:10866" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafBlue" toolbar:helpid="helpid:10867" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafLuminance" toolbar:helpid="helpid:10863" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafContrast" toolbar:helpid="helpid:10864" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafGamma" toolbar:helpid="helpid:10868" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/drawbar.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/drawbar.xml
new file mode 100644
index 000000000000..2407475a88f6
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/drawbar.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:SelectObject" toolbar:helpid="10128"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Line" toolbar:helpid="10102"/>
+ <toolbar:toolbaritem xlink:href=".uno:Rect" toolbar:helpid="10104"/>
+ <toolbar:toolbaritem xlink:href=".uno:Ellipse" toolbar:helpid="10110"/>
+ <toolbar:toolbaritem xlink:href=".uno:Polygon_Unfilled" toolbar:visible="false" toolbar:helpid="10395"/>
+ <toolbar:toolbaritem xlink:href=".uno:Bezier_Unfilled" toolbar:visible="false" toolbar:helpid="10397"/>
+ <toolbar:toolbaritem xlink:href=".uno:Freeline_Unfilled" toolbar:helpid="10464"/>
+ <toolbar:toolbaritem xlink:href=".uno:Arc" toolbar:visible="false" toolbar:helpid="10114"/>
+ <toolbar:toolbaritem xlink:href=".uno:Pie" toolbar:visible="false" toolbar:helpid="10112"/>
+ <toolbar:toolbaritem xlink:href=".uno:CircleCut" toolbar:visible="false" toolbar:helpid="10115"/>
+ <toolbar:toolbaritem xlink:href=".uno:DrawText" toolbar:helpid="10253"/>
+ <toolbar:toolbaritem xlink:href=".uno:VerticalText" toolbar:helpid="10905"/>
+ <toolbar:toolbaritem xlink:href=".uno:Text_Marquee" toolbar:visible="false" toolbar:helpid="10465"/>
+ <toolbar:toolbaritem xlink:href=".uno:DrawCaption" toolbar:helpid="10254"/>
+ <toolbar:toolbaritem xlink:href=".uno:VerticalCaption" toolbar:helpid="10906"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes" toolbar:helpid="11002"/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes" toolbar:helpid="11003"/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes" toolbar:helpid="11004"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes" toolbar:helpid="11005"/>
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes" toolbar:helpid="11006"/>
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes" toolbar:helpid="11007"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleObjectBezierMode" toolbar:helpid="10126"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkGalleryFloater" toolbar:helpid="10977"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertGraphic" toolbar:helpid="10241"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionToggle" toolbar:helpid="10960"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/drawingobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/drawingobjectbar.xml
new file mode 100644
index 000000000000..3c64a4678780
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/drawingobjectbar.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FormatLine" toolbar:helpid="helpid:10143" />
+ <toolbar:toolbaritem xlink:href=".uno:LineEndStyle" toolbar:helpid="helpid:10301" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:XLineStyle" toolbar:helpid="helpid:10169" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LineWidth" toolbar:helpid="helpid:10171" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:XLineColor" toolbar:helpid="helpid:10172" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatArea" toolbar:helpid="helpid:10142" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FillStyle" toolbar:helpid="helpid:10164" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleObjectRotateMode" toolbar:helpid="10129"/>
+ <toolbar:toolbaritem xlink:href=".uno:GridVisible" toolbar:visible="false" toolbar:helpid="27322"/>
+ <toolbar:toolbaritem xlink:href=".uno:GridUse" toolbar:visible="false" toolbar:helpid="27154"/>
+ <toolbar:toolbaritem xlink:href=".uno:HelplinesMove" toolbar:visible="false" toolbar:helpid="27153"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapOff" toolbar:visible="false" toolbar:helpid="20472"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapOn" toolbar:visible="false" toolbar:helpid="20473"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapIdeal" toolbar:visible="false" toolbar:helpid="20563"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapLeft" toolbar:visible="false" toolbar:helpid="20572"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapRight" toolbar:visible="false" toolbar:helpid="20573"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapThrough" toolbar:visible="false" toolbar:helpid="20474"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapContour" toolbar:visible="false" toolbar:helpid="20584"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SetObjectToForeground" toolbar:helpid="10283"/>
+ <toolbar:toolbaritem xlink:href=".uno:SetObjectToBackground" toolbar:helpid="10282"/>
+ <toolbar:toolbaritem xlink:href=".uno:BringToFront" toolbar:helpid="10286"/>
+ <toolbar:toolbaritem xlink:href=".uno:SendToBack" toolbar:helpid="10287"/>
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlign" toolbar:helpid="10130"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleAnchorType" toolbar:helpid="20349"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatUngroup" toolbar:helpid="10455"/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatGroup" toolbar:helpid="10454"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/drawtextobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/drawtextobjectbar.xml
new file mode 100644
index 000000000000..5734555531d7
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/drawtextobjectbar.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:CharFontName" toolbar:helpid="helpid:10007" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontHeight" toolbar:helpid="helpid:10015" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Bold" toolbar:helpid="helpid:10009" />
+ <toolbar:toolbaritem xlink:href=".uno:Italic" toolbar:helpid="helpid:10008" />
+ <toolbar:toolbaritem xlink:href=".uno:Underline" toolbar:helpid="helpid:10014" />
+ <toolbar:toolbaritem xlink:href=".uno:SuperScript" toolbar:helpid="helpid:20411" />
+ <toolbar:toolbaritem xlink:href=".uno:SubScript" toolbar:helpid="helpid:20412" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LeftPara" toolbar:helpid="helpid:10028" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CenterPara" toolbar:helpid="helpid:10030" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:RightPara" toolbar:helpid="helpid:10029" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:JustifyPara" toolbar:helpid="helpid:10031" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara1" toolbar:helpid="helpid:10034" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara15" toolbar:helpid="helpid:10035" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara2" toolbar:helpid="helpid:10036" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Color" toolbar:helpid="helpid:10017" toolbar:style="dropdown" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ParaLeftToRight" toolbar:helpid="helpid:10950" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:ParaRightToLeft" toolbar:helpid="helpid:10951" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:TextdirectionLeftToRight" toolbar:helpid="helpid:10907" />
+ <toolbar:toolbaritem xlink:href=".uno:TextdirectionTopToBottom" toolbar:helpid="helpid:10908" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SelectAll" toolbar:helpid="helpid:5723" />
+ <toolbar:toolbaritem xlink:href=".uno:FontDialog" toolbar:helpid="helpid:10296" />
+ <toolbar:toolbaritem xlink:href=".uno:ParagraphDialog" toolbar:helpid="helpid:10297" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/extrusionobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/extrusionobjectbar.xml
new file mode 100644
index 000000000000..148849db6ee7
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/extrusionobjectbar.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionToggle" toolbar:helpid="10960"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltDown" toolbar:helpid="10961"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltUp" toolbar:helpid="10962"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltLeft" toolbar:helpid="10963"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltRight" toolbar:helpid="10964"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionDepthFloater" toolbar:helpid="10965" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionDirectionFloater" toolbar:helpid="10966" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionLightingFloater" toolbar:helpid="10967" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionSurfaceFloater" toolbar:helpid="10968" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:Extrusion3DColor" toolbar:helpid="10969" toolbar:style="dropdownonly"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/findbar.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/findbar.xml
new file mode 100644
index 000000000000..49e483e178a3
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/findbar.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FindText"/>
+ <toolbar:toolbaritem xlink:href=".uno:DownSearch"/>
+ <toolbar:toolbaritem xlink:href=".uno:UpSearch"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SearchDialog"/>
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/flowchartshapes.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/flowchartshapes.xml
new file mode 100644
index 000000000000..bb1d1099dbd4
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/flowchartshapes.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-process" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-alternate-process" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-decision" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-data" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-predefined-process" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-internal-storage" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-document" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-multidocument" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-terminator" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-preparation" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-manual-input" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-manual-operation" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-connector" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-off-page-connector" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-card" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-punched-tape" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-summing-junction" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-or" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-collate" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-sort" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-extract" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-merge" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-stored-data" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-delay" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-sequential-access" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-magnetic-disk" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-direct-access-storage" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-display" toolbar:helpid="helpid:11005" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/fontworkobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/fontworkobjectbar.xml
new file mode 100644
index 000000000000..32de621477dc
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/fontworkobjectbar.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FontworkGalleryFloater" toolbar:helpid="helpid:10977" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType" toolbar:helpid="helpid:10978" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkSameLetterHeights" toolbar:helpid="helpid:10979" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkAlignmentFloater" toolbar:helpid="helpid:10981" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkCharacterSpacingFloater" toolbar:helpid="helpid:10982" toolbar:style="dropdownonly"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/fontworkshapetype.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/fontworkshapetype.xml
new file mode 100644
index 000000000000..49b5b8173e0e
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/fontworkshapetype.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-plain-text" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-wave" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-inflate" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-stop" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-curve-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-curve-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-triangle-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-triangle-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-right" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-left" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-slant-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-slant-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-up-and-right" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-up-and-left" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-chevron-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-chevron-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-up-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-down-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-left-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-right-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-circle-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-open-circle-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-up-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-down-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-left-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-right-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-circle-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-open-circle-pour" toolbar:helpid="helpid:10978" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/formcontrols.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/formcontrols.xml
new file mode 100644
index 000000000000..692fceee16f6
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/formcontrols.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SelectObject" toolbar:helpid="helpid:10128" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:SwitchControlDesignMode" toolbar:helpid="helpid:10629" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ControlProperties" toolbar:helpid="helpid:10613" />
+ <toolbar:toolbaritem xlink:href=".uno:FormProperties" toolbar:helpid="helpid:10614" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:CheckBox" toolbar:helpid="helpid:10596" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Edit" toolbar:helpid="helpid:10599" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FormattedField" toolbar:helpid="helpid:10728" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Pushbutton" toolbar:helpid="helpid:10594" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:RadioButton" toolbar:helpid="helpid:10595" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:ListBox" toolbar:helpid="helpid:10600" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ComboBox" toolbar:helpid="helpid:10601" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Label" toolbar:helpid="helpid:10597" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:MoreControls" toolbar:helpid="helpid:11045" />
+ <toolbar:toolbaritem xlink:href=".uno:FormDesignTools" toolbar:helpid="helpid:11046" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:UseWizards" toolbar:helpid="helpid:10727" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/formdesign.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/formdesign.xml
new file mode 100644
index 000000000000..8598b48bd762
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/formdesign.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SelectObject" toolbar:helpid="helpid:10128" toolbar:style="radio auto" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ControlProperties" toolbar:helpid="helpid:10613" />
+ <toolbar:toolbaritem xlink:href=".uno:FormProperties" toolbar:helpid="helpid:10614" />
+ <toolbar:toolbaritem xlink:href=".uno:TransformDialog" toolbar:helpid="helpid:10087" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ShowFmExplorer" toolbar:helpid="helpid:10633" />
+ <toolbar:toolbaritem xlink:href=".uno:TabDialog" toolbar:helpid="helpid:10615" />
+ <toolbar:toolbaritem xlink:href=".uno:AddField" toolbar:helpid="helpid:10623" />
+ <toolbar:toolbaritem xlink:href=".uno:AutoControlFocus" toolbar:helpid="helpid:10763" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleAnchorType" toolbar:helpid="helpid:20349" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BringToFront" toolbar:helpid="helpid:10286" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SendToBack" toolbar:helpid="helpid:10287" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatGroup" toolbar:helpid="helpid:10454" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:FormatUngroup" toolbar:helpid="helpid:10455" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:EnterGroup" toolbar:helpid="helpid:27096" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:LeaveGroup" toolbar:helpid="helpid:27097" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlign" toolbar:helpid="helpid:10130" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:OpenReadOnly" toolbar:helpid="helpid:10709" />
+ <toolbar:toolbaritem xlink:href=".uno:GridVisible" toolbar:helpid="helpid:27322" />
+ <toolbar:toolbaritem xlink:href=".uno:GridUse" toolbar:helpid="helpid:27154" />
+ <toolbar:toolbaritem xlink:href=".uno:HelplinesMove" toolbar:helpid="helpid:27153" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/formsfilterbar.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/formsfilterbar.xml
new file mode 100644
index 000000000000..7ebaa53250bb
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/formsfilterbar.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FormFilterExecute" toolbar:helpid="helpid:10731" />
+ <toolbar:toolbaritem xlink:href=".uno:FormFilterNavigator" toolbar:helpid="helpid:10732" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormFilterExit" toolbar:helpid="helpid:10730" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/formsnavigationbar.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/formsnavigationbar.xml
new file mode 100644
index 000000000000..c6e16444a55d
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/formsnavigationbar.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:RecSearch" toolbar:helpid="10725"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:RecText" toolbar:helpid="10624"/>
+ <toolbar:toolbaritem xlink:href=".uno:AbsoluteRecord" toolbar:helpid="10622"/>
+ <toolbar:toolbaritem xlink:href=".uno:RecFromText" toolbar:helpid="10625"/>
+ <toolbar:toolbaritem xlink:href=".uno:RecTotal" toolbar:helpid="10626"/>
+ <toolbar:toolbaritem xlink:href=".uno:FirstRecord" toolbar:helpid="10616"/>
+ <toolbar:toolbaritem xlink:href=".uno:PrevRecord" toolbar:helpid="10618"/>
+ <toolbar:toolbaritem xlink:href=".uno:NextRecord" toolbar:helpid="10617"/>
+ <toolbar:toolbaritem xlink:href=".uno:LastRecord" toolbar:helpid="10619"/>
+ <toolbar:toolbaritem xlink:href=".uno:NewRecord" toolbar:helpid="10620"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:RecSave" toolbar:helpid="10627"/>
+ <toolbar:toolbaritem xlink:href=".uno:RecUndo" toolbar:helpid="10630"/>
+ <toolbar:toolbaritem xlink:href=".uno:DeleteRecord" toolbar:helpid="10621"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Refresh" toolbar:helpid="10724"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:OrderCrit" toolbar:helpid="10714"/>
+ <toolbar:toolbaritem xlink:href=".uno:Sortup" toolbar:helpid="10712"/>
+ <toolbar:toolbaritem xlink:href=".uno:SortDown" toolbar:helpid="10713"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AutoFilter" toolbar:helpid="10716"/>
+ <toolbar:toolbaritem xlink:href=".uno:FormFiltered" toolbar:helpid="10723"/>
+ <toolbar:toolbaritem xlink:href=".uno:FormFilter" toolbar:helpid="10729"/>
+ <toolbar:toolbaritem xlink:href=".uno:RemoveFilterSort" toolbar:helpid="10711"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ViewFormAsGrid" toolbar:helpid="10761"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/formtextobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/formtextobjectbar.xml
new file mode 100644
index 000000000000..dbdeaf675371
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/formtextobjectbar.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:CharFontName" toolbar:helpid="helpid:10007" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontHeight" toolbar:helpid="helpid:10015" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Bold" toolbar:helpid="helpid:10009" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Italic" toolbar:helpid="helpid:10008" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Underline" toolbar:helpid="helpid:10014" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:SuperScript" toolbar:helpid="helpid:20411" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:SubScript" toolbar:helpid="helpid:20412" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LeftPara" toolbar:helpid="helpid:10028" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CenterPara" toolbar:helpid="helpid:10030" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:RightPara" toolbar:helpid="helpid:10029" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:JustifyPara" toolbar:helpid="helpid:10031" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ParaLeftToRight" toolbar:helpid="helpid:10950" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:ParaRightToLeft" toolbar:helpid="helpid:10951" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara1" toolbar:helpid="helpid:10034" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara15" toolbar:helpid="helpid:10035" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara2" toolbar:helpid="helpid:10036" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontDialog" toolbar:helpid="helpid:10296" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:ParagraphDialog" toolbar:helpid="helpid:10297" toolbar:text="" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/frameobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/frameobjectbar.xml
new file mode 100644
index 000000000000..2225e004ae41
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/frameobjectbar.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:StyleApply" toolbar:helpid="helpid:5552" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapOff" toolbar:helpid="helpid:20472" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:WrapOn" toolbar:helpid="helpid:20473" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:WrapIdeal" toolbar:helpid="helpid:20563" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:WrapLeft" toolbar:helpid="helpid:20572" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:WrapRight" toolbar:helpid="helpid:20573" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:WrapThrough" toolbar:helpid="helpid:20474" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignLeft" toolbar:helpid="helpid:20475" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignHorizontalCenter" toolbar:helpid="helpid:20477" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignRight" toolbar:helpid="helpid:20476" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignTop" toolbar:helpid="helpid:20478" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignVerticalCenter" toolbar:helpid="helpid:20480" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignBottom" toolbar:helpid="helpid:20479" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SetBorderStyle" toolbar:helpid="helpid:10187" />
+ <toolbar:toolbaritem xlink:href=".uno:LineStyle" toolbar:helpid="helpid:10200" />
+ <toolbar:toolbaritem xlink:href=".uno:FrameLineColor" toolbar:helpid="helpid:10201" />
+ <toolbar:toolbaritem xlink:href=".uno:BackgroundColor" toolbar:helpid="helpid:10185" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FrameDialog" toolbar:helpid="helpid:20456" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BringToFront" toolbar:helpid="helpid:10286" />
+ <toolbar:toolbaritem xlink:href=".uno:SendToBack" toolbar:helpid="helpid:10287" />
+ <toolbar:toolbaritem xlink:href=".uno:ToggleAnchorType" toolbar:helpid="helpid:20349" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ChainFrames" toolbar:helpid="helpid:21736" />
+ <toolbar:toolbaritem xlink:href=".uno:UnhainFrames" toolbar:helpid="helpid:21737" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/fullscreenbar.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/fullscreenbar.xml
new file mode 100644
index 000000000000..87ff9203a9ff
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/fullscreenbar.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FullScreen" toolbar:helpid="helpid:5627"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/graffilterbar.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/graffilterbar.xml
new file mode 100644
index 000000000000..67b6f17923ab
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/graffilterbar.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterInvert" toolbar:helpid="helpid:34149" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSmooth" toolbar:helpid="helpid:34150" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSharpen" toolbar:helpid="helpid:34151" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterRemoveNoise" toolbar:helpid="helpid:34152" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSolarize" toolbar:helpid="helpid:34159" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSepia" toolbar:helpid="helpid:34158" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterPoster" toolbar:helpid="helpid:34156" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterPopart" toolbar:helpid="helpid:34157" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSobel" toolbar:helpid="helpid:34153" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterRelief" toolbar:helpid="helpid:34155" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterMosaic" toolbar:helpid="helpid:34154" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/graphicobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/graphicobjectbar.xml
new file mode 100644
index 000000000000..040bb8cd8ae6
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/graphicobjectbar.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:InsertGraphic" toolbar:helpid="10241"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterToolbox" toolbar:helpid="10469"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafMode" toolbar:helpid="10871"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ColorSettings" toolbar:helpid="11016"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafTransparence" toolbar:helpid="10869"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FlipVertical" toolbar:helpid="20426"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlipHorizontal" toolbar:helpid="20425"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FrameDialog" toolbar:helpid="20458"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/insertbar.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/insertbar.xml
new file mode 100644
index 000000000000..41bc831962c1
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/insertbar.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:InsertTable" toolbar:helpid="20330"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertSection" toolbar:helpid="21419"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertFrameInteract" toolbar:helpid="20333"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertObjectFloatingFrame" toolbar:visible="false" toolbar:helpid="helpid:5563" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertFootnote" toolbar:helpid="20399"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertEndnote" toolbar:helpid="21418"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertAnnotation" toolbar:helpid="20329"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertBookmark" toolbar:helpid="20302"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertReferenceField" toolbar:visible="false" toolbar:helpid="20313"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertDoc" toolbar:helpid="5532"/>
+ <toolbar:toolbaritem xlink:href=".uno:EditGlossary"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertSymbol" toolbar:helpid="20328"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertFieldCtrl" toolbar:helpid="52824"/>
+ <toolbar:toolbaritem xlink:href=".uno:Config" toolbar:visible="false" toolbar:helpid="10593"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertGraphic" toolbar:helpid="10241"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertAVMedia" toolbar:helpid="6695"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertObjectStarMath" toolbar:helpid="20369"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertObjectChart" toolbar:helpid="10140"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertObject" toolbar:visible="false" toolbar:helpid="helpid:5561" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertPlugin" toolbar:visible="false" toolbar:helpid="helpid:5672" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertMultiIndex" toolbar:helpid="21420"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertIndexesEntry" toolbar:helpid="20335"/>
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/insertobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/insertobjectbar.xml
new file mode 100644
index 000000000000..ac28eb82bd11
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/insertobjectbar.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:InsertObjectFloatingFrame" toolbar:helpid="helpid:5563" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertObject" toolbar:helpid="helpid:5561" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertPlugin" toolbar:helpid="helpid:5672" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/mediaobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/mediaobjectbar.xml
new file mode 100644
index 000000000000..35d0d138de84
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/mediaobjectbar.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:InsertAVMedia" toolbar:helpid="6695"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AVMediaToolBox" toolbar:helpid="helpid:6693"/>
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/moreformcontrols.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/moreformcontrols.xml
new file mode 100644
index 000000000000..be3498c7f92b
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/moreformcontrols.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SpinButton" toolbar:helpid="helpid:10769" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:ScrollBar" toolbar:helpid="helpid:10768" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:Imagebutton" toolbar:helpid="helpid:10604" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:ImageControl" toolbar:helpid="helpid:10710" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FileControl" toolbar:helpid="helpid:10605" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:DateField" toolbar:helpid="helpid:10704" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:TimeField" toolbar:helpid="helpid:10705" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:NumericField" toolbar:helpid="helpid:10706" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:CurrencyField" toolbar:helpid="helpid:10707" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:PatternField" toolbar:helpid="helpid:10708" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GroupBox" toolbar:helpid="helpid:10598" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Grid" toolbar:helpid="helpid:10603" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:NavigationBar" toolbar:helpid="helpid:10607" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/numobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/numobjectbar.xml
new file mode 100644
index 000000000000..50e28ac32f64
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/numobjectbar.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:DefaultBullet" toolbar:helpid="20138"/>
+ <toolbar:toolbaritem xlink:href=".uno:DefaultNumbering" toolbar:helpid="20144"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:RemoveBullets" toolbar:helpid="20137"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:IncrementLevel" toolbar:helpid="20131"/>
+ <toolbar:toolbaritem xlink:href=".uno:DecrementLevel" toolbar:helpid="20130"/>
+ <toolbar:toolbaritem xlink:href=".uno:IncrementSubLevels" toolbar:helpid="20140"/>
+ <toolbar:toolbaritem xlink:href=".uno:DecrementSubLevels" toolbar:helpid="20139"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertNeutralParagraph" toolbar:helpid="20136"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:MoveUp" toolbar:helpid="20134"/>
+ <toolbar:toolbaritem xlink:href=".uno:MoveDown" toolbar:helpid="20135"/>
+ <toolbar:toolbaritem xlink:href=".uno:MoveUpSubItems" toolbar:helpid="20141"/>
+ <toolbar:toolbaritem xlink:href=".uno:MoveDownSubItems" toolbar:helpid="20142"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:NumberingStart" toolbar:helpid="21738"/>
+ <toolbar:toolbaritem xlink:href=".uno:BulletsAndNumberingDialog" toolbar:helpid="20121"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/oleobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/oleobjectbar.xml
new file mode 100644
index 000000000000..c95b1aebb316
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/oleobjectbar.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:StyleApply" toolbar:helpid="5552"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignLeft" toolbar:helpid="20475"/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignHorizontalCenter" toolbar:helpid="20477"/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignRight" toolbar:helpid="20476"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignTop" toolbar:helpid="20478"/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignVerticalCenter" toolbar:helpid="20480"/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignBottom" toolbar:helpid="20479"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapLeft" toolbar:visible="false" toolbar:helpid="20572"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapRight" toolbar:visible="false" toolbar:helpid="20573"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapOff" toolbar:helpid="20472"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapOn" toolbar:helpid="20473"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapThrough" toolbar:helpid="20474"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapIdeal" toolbar:visible="false" toolbar:helpid="20563"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FrameDialog" toolbar:helpid="20456"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BringToFront" toolbar:helpid="10286"/>
+ <toolbar:toolbaritem xlink:href=".uno:SendToBack" toolbar:helpid="10287"/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleAnchorType" toolbar:helpid="20349"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SetBorderStyle" toolbar:helpid="10187"/>
+ <toolbar:toolbaritem xlink:href=".uno:LineStyle" toolbar:helpid="10200"/>
+ <toolbar:toolbaritem xlink:href=".uno:FrameLineColor" toolbar:helpid="10201"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/optimizetablebar.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/optimizetablebar.xml
new file mode 100644
index 000000000000..51ae902739de
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/optimizetablebar.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:DistributeColumns" toolbar:helpid="helpid:20582" />
+ <toolbar:toolbaritem xlink:href=".uno:DistributeRows" toolbar:helpid="helpid:20583" />
+ <toolbar:toolbaritem xlink:href=".uno:SetOptimalRowHeight" toolbar:helpid="helpid:20528" />
+ <toolbar:toolbaritem xlink:href=".uno:SetOptimalColumnWidth" toolbar:helpid="helpid:20521" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/previewobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/previewobjectbar.xml
new file mode 100644
index 000000000000..f0dc732d4ef9
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/previewobjectbar.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:PageUp" toolbar:helpid="20937"/>
+ <toolbar:toolbaritem xlink:href=".uno:PageDown" toolbar:helpid="20938"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GoToStartOfDoc" toolbar:helpid="20907"/>
+ <toolbar:toolbaritem xlink:href=".uno:GoToEndOfDoc" toolbar:helpid="20908"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ShowTwoPages" toolbar:helpid="21251"/>
+ <toolbar:toolbaritem xlink:href=".uno:ShowMultiplePages" toolbar:helpid="21252"/>
+ <toolbar:toolbaritem xlink:href=".uno:ShowBookview" toolbar:helpid="helpid:21255"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ZoomPlus" toolbar:helpid="10097"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:PreviewZoom" toolbar:helpid="53071"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ZoomMinus" toolbar:helpid="10098"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FullScreen" toolbar:helpid="5627"/>
+ <toolbar:toolbaritem xlink:href=".uno:PrintPagePreView" toolbar:helpid="21253"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ClosePreview" toolbar:helpid="5325"/>
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/standardbar.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/standardbar.xml
new file mode 100644
index 000000000000..c1b38e3870f6
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/standardbar.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:OpenUrl" toolbar:visible="false"/>
+ <toolbar:toolbaritem xlink:href=".uno:AddDirect" toolbar:helpid="5537"/>
+ <toolbar:toolbaritem xlink:href=".uno:NewDoc" toolbar:visible="false" toolbar:helpid="5500"/>
+ <toolbar:toolbaritem xlink:href=".uno:Open" toolbar:helpid="5501"/>
+ <toolbar:toolbaritem xlink:href=".uno:Save" toolbar:helpid="5505"/>
+ <toolbar:toolbaritem xlink:href=".uno:SaveAs" toolbar:visible="false" toolbar:helpid="5502"/>
+ <toolbar:toolbaritem xlink:href=".uno:SendMail" toolbar:helpid="5331"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:EditDoc" toolbar:helpid="6312"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExportDirectToPDF" toolbar:helpid="6674"/>
+ <toolbar:toolbaritem xlink:href=".uno:PrintDefault" toolbar:helpid="5509"/>
+ <toolbar:toolbaritem xlink:href=".uno:PrintPreview" toolbar:helpid="5325"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SpellingAndGrammarDialog" toolbar:helpid="20622"/>
+ <toolbar:toolbaritem xlink:href=".uno:SpellOnline" toolbar:helpid="12021"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Cut" toolbar:helpid="5710"/>
+ <toolbar:toolbaritem xlink:href=".uno:Copy" toolbar:helpid="5711"/>
+ <toolbar:toolbaritem xlink:href=".uno:Paste" toolbar:helpid="5712"/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatPaintbrush" toolbar:helpid="5715"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Undo" toolbar:helpid="5701"/>
+ <toolbar:toolbaritem xlink:href=".uno:Redo" toolbar:helpid="5700"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:HyperlinkDialog" toolbar:helpid="5678"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertTable" toolbar:helpid="20330"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertDraw" toolbar:helpid="10244"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SearchDialog" toolbar:helpid="5961" toolbar:visible="false"/>
+ <toolbar:toolbaritem xlink:href=".uno:Navigator" toolbar:helpid="10366"/>
+ <toolbar:toolbaritem xlink:href=".uno:Gallery" toolbar:helpid="5960"/>
+ <toolbar:toolbaritem xlink:href=".uno:ViewDataSourceBrowser" toolbar:helpid="6660"/>
+ <toolbar:toolbaritem xlink:href=".uno:ControlCodes" toolbar:helpid="20224"/>
+ <toolbar:toolbaritem xlink:href=".uno:Zoom" toolbar:helpid="10000" toolbar:visible="false"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:HelpIndex"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtendedHelp" toolbar:visible="false" toolbar:helpid="5402"/>
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/starshapes.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/starshapes.xml
new file mode 100644
index 000000000000..a2ff874d2fe7
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/starshapes.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.bang" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star4" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star5" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star6" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star8" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star12" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star24" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.concave-star6" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.vertical-scroll" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.horizontal-scroll" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.signet" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.doorplate" toolbar:helpid="helpid:11007" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/symbolshapes.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/symbolshapes.xml
new file mode 100644
index 000000000000..0fa6aee313db
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/symbolshapes.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.smiley" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.sun" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.moon" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.lightning" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.heart" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.flower" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.cloud" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.forbidden" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.puzzle" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.bracket-pair" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.left-bracket" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.right-bracket" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.brace-pair" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.left-brace" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.right-brace" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.quad-bevel" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.octagon-bevel" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.diamond-bevel" toolbar:helpid="helpid:11003" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/tableobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/tableobjectbar.xml
new file mode 100644
index 000000000000..231431f56a73
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/tableobjectbar.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:InsertTable" toolbar:helpid="helpid:20330" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LineStyle" toolbar:helpid="helpid:10200" />
+ <toolbar:toolbaritem xlink:href=".uno:FrameLineColor" toolbar:helpid="helpid:10201" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SetBorderStyle" toolbar:helpid="helpid:10187" />
+ <toolbar:toolbaritem xlink:href=".uno:BackgroundColor" toolbar:helpid="helpid:10185" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:MergeCells" toolbar:helpid="helpid:20506" />
+ <toolbar:toolbaritem xlink:href=".uno:SplitCell" toolbar:helpid="helpid:20505" />
+ <toolbar:toolbaritem xlink:href=".uno:OptimizeTable" toolbar:helpid="helpid:20510" toolbar:style="dropdown" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:CellVertTop" toolbar:helpid="helpid:20585" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CellVertCenter" toolbar:helpid="helpid:20586" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CellVertBottom" toolbar:helpid="helpid:20587" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertRows" toolbar:helpid="helpid:20501" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertColumns" toolbar:helpid="helpid:20502" />
+ <toolbar:toolbaritem xlink:href=".uno:DeleteRows" toolbar:helpid="helpid:20503" />
+ <toolbar:toolbaritem xlink:href=".uno:DeleteColumns" toolbar:helpid="helpid:20504" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SelectTable" toolbar:helpid="helpid:20515" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:EntireColumn" toolbar:helpid="helpid:20514" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:EntireRow" toolbar:helpid="helpid:20513" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AutoFormat" toolbar:helpid="helpid:20595" />
+ <toolbar:toolbaritem xlink:href=".uno:TableDialog" toolbar:helpid="helpid:20459" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:TableSort" toolbar:helpid="helpid:20533" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AutoSum" toolbar:helpid="helpid:20595" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/textobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/textobjectbar.xml
new file mode 100644
index 000000000000..a169820627f6
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/textobjectbar.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:DesignerDialog" toolbar:helpid="5539"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:StyleApply" toolbar:helpid="helpid:5552" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:CharFontName" toolbar:helpid="helpid:10007" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontHeight" toolbar:helpid="helpid:10015" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Bold" toolbar:helpid="helpid:10009" />
+ <toolbar:toolbaritem xlink:href=".uno:Italic" toolbar:helpid="helpid:10008" />
+ <toolbar:toolbaritem xlink:href=".uno:Underline" toolbar:helpid="helpid:10014" />
+ <toolbar:toolbaritem xlink:href=".uno:SuperScript" toolbar:helpid="helpid:20411" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SubScript" toolbar:helpid="helpid:20412" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LeftPara" toolbar:helpid="helpid:10028" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CenterPara" toolbar:helpid="helpid:10030" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:RightPara" toolbar:helpid="helpid:10029" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:JustifyPara" toolbar:helpid="helpid:10031" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ParaLeftToRight" toolbar:helpid="helpid:10950" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:ParaRightToLeft" toolbar:helpid="helpid:10951" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara1" toolbar:helpid="helpid:10034" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara15" toolbar:helpid="helpid:10035" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara2" toolbar:helpid="helpid:10036" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:DefaultNumbering" toolbar:helpid="helpid:20144" />
+ <toolbar:toolbaritem xlink:href=".uno:DefaultBullet" toolbar:helpid="helpid:20138" />
+ <toolbar:toolbaritem xlink:href=".uno:DecrementIndent" toolbar:helpid="helpid:10461" />
+ <toolbar:toolbaritem xlink:href=".uno:IncrementIndent" toolbar:helpid="helpid:10462" />
+ <toolbar:toolbaritem xlink:href=".uno:Grow" toolbar:helpid="helpid:20403" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:Shrink" toolbar:helpid="helpid:20404" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontColor" toolbar:helpid="helpid:10017" toolbar:style="dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:BackColor" toolbar:helpid="helpid:10489" toolbar:style="dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:BackgroundColor" toolbar:helpid="helpid:10185" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SelectAll" toolbar:helpid="helpid:5723" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:FontDialog" toolbar:helpid="helpid:10296" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:ParagraphDialog" toolbar:helpid="helpid:10297" toolbar:visible="false" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/toolbar.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/toolbar.xml
new file mode 100644
index 000000000000..f3e242673fd9
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/toolbar.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:InsertCtrl" toolbar:helpid="52822"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ShadowCursor" toolbar:helpid="22204"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Hyphenate" toolbar:helpid="20605"/>
+ <toolbar:toolbaritem xlink:href=".uno:ThesaurusDialog" toolbar:helpid="20603"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Graphic" toolbar:helpid="20213"/>
+ <toolbar:toolbaritem xlink:href=".uno:BrowseView" toolbar:helpid="6313"/>
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/viewerbar.xml b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/viewerbar.xml
new file mode 100644
index 000000000000..d4d6a59d7ed5
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sglobal/toolbar/viewerbar.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SaveAs" toolbar:helpid="helpid:5502" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:EditDoc" toolbar:helpid="helpid:6312" />
+ <toolbar:toolbaritem xlink:href=".uno:SendMail" toolbar:helpid="helpid:5331" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExportDirectToPDF" toolbar:helpid="helpid:6674" />
+ <toolbar:toolbaritem xlink:href=".uno:PrintDefault" toolbar:helpid="helpid:5509" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Copy" toolbar:helpid="helpid:5711" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SearchDialog" toolbar:helpid="helpid:5961" />
+ <toolbar:toolbaritem xlink:href=".uno:Navigator" toolbar:helpid="helpid:10366" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Zoom" toolbar:helpid="helpid:10000" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/menubar/menubar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/menubar/menubar.xml
new file mode 100644
index 000000000000..03ddd6d68ab8
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/menubar/menubar.xml
@@ -0,0 +1,307 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<menu:menubar xmlns:menu="http://openoffice.org/2001/menu" menu:id="menubar">
+ <menu:menu menu:id=".uno:PickList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:AddDirect"/>
+ <menu:menuitem menu:id=".uno:Open"/>
+ <menu:menuitem menu:id=".uno:RecentFileList"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AutoPilotMenu"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CloseDoc"/>
+ <menu:menuitem menu:id=".uno:Save"/>
+ <menu:menuitem menu:id=".uno:SaveAs"/>
+ <menu:menuitem menu:id=".uno:SaveAll"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Reload"/>
+ <menu:menuitem menu:id=".uno:VersionDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ExportTo"/>
+ <menu:menuitem menu:id=".uno:ExportToPDF"/>
+ <menu:menu menu:id=".uno:SendMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SendMail"/>
+ <menu:menuitem menu:id=".uno:SendMailDocAsOOo"/>
+ <menu:menuitem menu:id=".uno:SendMailDocAsMS"/>
+ <menu:menuitem menu:id=".uno:SendMailDocAsPDF"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SetDocumentProperties"/>
+ <menu:menuitem menu:id=".uno:Signature"/>
+ <menu:menu menu:id=".uno:TemplateMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Organizer"/>
+ <menu:menuitem menu:id=".uno:AddressBookSource"/>
+ <menu:menuitem menu:id=".uno:SaveAsTemplate"/>
+ <menu:menuitem menu:id=".uno:OpenTemplate"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:WebHtml"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Print"/>
+ <menu:menuitem menu:id=".uno:PrinterSetup"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Quit"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:EditMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Undo"/>
+ <menu:menuitem menu:id=".uno:Redo"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Cut"/>
+ <menu:menuitem menu:id=".uno:Copy"/>
+ <menu:menuitem menu:id=".uno:Paste"/>
+ <menu:menuitem menu:id=".uno:PasteSpecial"/>
+ <menu:menuitem menu:id=".uno:SelectAll"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id="vnd.sun.star.findbar:FocusToFindbar"/>
+ <menu:menuitem menu:id=".uno:SearchDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CopyObjects"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ToggleObjectBezierMode"/>
+ <menu:menuitem menu:id=".uno:GlueEditMode"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ModifyField"/>
+ <menu:menuitem menu:id=".uno:DeletePage"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ManageLinks"/>
+ <menu:menuitem menu:id=".uno:PlugInsActive"/>
+ <menu:menuitem menu:id=".uno:ImageMapDialog"/>
+ <menu:menuitem menu:id=".uno:ObjectMenue"/>
+ <menu:menuitem menu:id=".uno:EditHyperlink"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ViewMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:NormalMultiPaneGUI" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:OutlineMode" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:DiaMode" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:Presentation" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:NotesMode" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:HandoutMode" menu:style="radio"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:MasterPageMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SlideMasterPage" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:NotesMasterPage" menu:style="radio"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MasterLayouts"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:DisplayQualityMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:OutputQualityColor" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:OutputQualityGrayscale" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:OutputQualityBlackWhite" menu:style="radio"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:TaskPane"/>
+ <menu:menuitem menu:id=".uno:LeftPaneImpress"/>
+ <menu:menuitem menu:id=".uno:AvailableToolbars"/>
+ <menu:menuitem menu:id=".uno:StatusBarVisible"/>
+ <menu:menuitem menu:id=".uno:ShowImeStatusWindow"/>
+ <menu:menuitem menu:id=".uno:ShowRuler"/>
+ <menu:menu menu:id=".uno:GridMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:GridVisible"/>
+ <menu:menuitem menu:id=".uno:GridUse"/>
+ <menu:menuitem menu:id=".uno:GridFront"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:SnapLinesMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HelplinesVisible"/>
+ <menu:menuitem menu:id=".uno:HelplinesUse"/>
+ <menu:menuitem menu:id=".uno:HelplinesFront"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:ShowAnnotations"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Navigator"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:HeaderAndFooter"/>
+ <menu:menuitem menu:id=".uno:Zoom"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:InsertMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertPage"/>
+ <menu:menuitem menu:id=".uno:DuplicatePage"/>
+ <menu:menuitem menu:id=".uno:ExpandPage"/>
+ <menu:menuitem menu:id=".uno:SummaryPage"/>
+ <menu:menuitem menu:id=".uno:InsertPageNumber"/>
+ <menu:menuitem menu:id=".uno:InsertDateAndTime"/>
+ <menu:menu menu:id=".uno:FieldMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertDateFieldFix"/>
+ <menu:menuitem menu:id=".uno:InsertDateFieldVar"/>
+ <menu:menuitem menu:id=".uno:InsertTimeFieldFix"/>
+ <menu:menuitem menu:id=".uno:InsertTimeFieldVar"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertAuthorField"/>
+ <menu:menuitem menu:id=".uno:InsertPageField"/>
+ <menu:menuitem menu:id=".uno:InsertPagesField"/>
+ <menu:menuitem menu:id=".uno:InsertFileField"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:InsertAnnotation"/>
+ <menu:menuitem menu:id=".uno:InsertSymbol"/>
+ <menu:menu menu:id=".uno:FormattingMarkMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertNonBreakingSpace"/>
+ <menu:menuitem menu:id=".uno:InsertHardHyphen"/>
+ <menu:menuitem menu:id=".uno:InsertSoftHyphen"/>
+ <menu:menuitem menu:id=".uno:InsertZWSP"/>
+ <menu:menuitem menu:id=".uno:InsertZWNBSP"/>
+ <menu:menuitem menu:id=".uno:InsertLRM"/>
+ <menu:menuitem menu:id=".uno:InsertRLM"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:HyperlinkDialog"/>
+ <menu:menuitem menu:id=".uno:AnimationObjects"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:GraphicMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertGraphic"/>
+ <menu:menu menu:id=".uno:Scan">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:TwainSelect"/>
+ <menu:menuitem menu:id=".uno:TwainTransfer"/>
+ </menu:menupopup>
+ </menu:menu>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:InsertTable"/>
+ <menu:menuitem menu:id=".uno:InsertAVMedia"/>
+ <menu:menu menu:id=".uno:ObjectMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertObject"/>
+ <menu:menuitem menu:id=".uno:InsertPlugin"/>
+ <menu:menuitem menu:id=".uno:InsertMath"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:InsertObjectChart"/>
+ <menu:menuitem menu:id=".uno:InsertObjectFloatingFrame"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ImportFromFile"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:FormatMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SetDefault"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:FontDialog"/>
+ <menu:menuitem menu:id=".uno:ParagraphDialog"/>
+ <menu:menuitem menu:id=".uno:OutlineBullet"/>
+ <menu:menuitem menu:id=".uno:PageSetup"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:TransliterateMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ChangeCaseToSentenceCase"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToLower"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToUpper"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToTitleCase"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToToggleCase"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToHalfWidth"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToFullWidth"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToHiragana"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToKatakana"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:TransformDialog"/>
+ <menu:menuitem menu:id=".uno:FormatLine"/>
+ <menu:menuitem menu:id=".uno:FormatArea"/>
+ <menu:menuitem menu:id=".uno:TextAttributes"/>
+ <menu:menuitem menu:id=".uno:GrafAttrCrop"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:PresentationLayout"/>
+ <menu:menuitem menu:id=".uno:ModifyPage"/>
+ <menu:menuitem menu:id=".uno:DesignerDialog"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:GroupMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:FormatGroup"/>
+ <menu:menuitem menu:id=".uno:FormatUngroup"/>
+ <menu:menuitem menu:id=".uno:EnterGroup"/>
+ <menu:menuitem menu:id=".uno:LeaveGroup"/>
+ </menu:menupopup>
+ </menu:menu>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ToolsMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SpellDialog"/>
+ <menu:menu menu:id=".uno:LanguageMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HangulHanjaConversion"/>
+ <menu:menuitem menu:id=".uno:ChineseConversion"/>
+ <menu:menuitem menu:id=".uno:ThesaurusDialog"/>
+ <menu:menuitem menu:id=".uno:Hyphenation"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MoreDictionaries"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Gallery"/>
+ <menu:menuitem menu:id=".uno:BmpMask"/>
+ <menu:menuitem menu:id=".uno:AVMediaPlayer"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:MacrosMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:MacroRecorder"/>
+ <menu:menuitem menu:id=".uno:RunMacro"/>
+ <menu:menu menu:id=".uno:ScriptOrganizer"/>
+ <menu:menuitem menu:id=".uno:MacroSignature"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MacroOrganizer?TabId:short=1"/>
+ </menu:menupopup>
+ </menu:menu>
+
+ <menu:menuitem menu:id="service:com.sun.star.deployment.ui.PackageManagerDialog"/>
+ <menu:menuitem menu:id=".uno:OpenXMLFilterSettings"/>
+ <menu:menuitem menu:id=".uno:AutoCorrectDlg"/>
+ <menu:menuitem menu:id=".uno:ConfigureDialog"/>
+ <menu:menuitem menu:id=".uno:OptionsTreeDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:SlideShowMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Presentation"/>
+ <menu:menuitem menu:id=".uno:PresentationDialog"/>
+ <menu:menuitem menu:id=".uno:RehearseTimings"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AnimationEffects"/>
+ <!--menu:menuitem menu:id=".uno:CustomAnimationSchemes" / -->
+ <menu:menuitem menu:id=".uno:CustomAnimation"/>
+ <menu:menuitem menu:id=".uno:SlideChangeWindow"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowSlide"/>
+ <menu:menuitem menu:id=".uno:HideSlide"/>
+ <menu:menuitem menu:id=".uno:CustomShowDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:WindowList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:NewWindow"/>
+ <menu:menuitem menu:id=".uno:CloseWin"/>
+ <menu:menuseparator/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:HelpMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HelpIndex"/>
+ <menu:menuitem menu:id=".uno:ExtendedHelp"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowLicense"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowCredits"/>
+ <menu:menuitem menu:id=".uno:About"/>
+ </menu:menupopup>
+ </menu:menu>
+</menu:menubar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/statusbar/statusbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/statusbar/statusbar.xml
new file mode 100644
index 000000000000..0872bd42f3f4
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/statusbar/statusbar.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE statusbar:statusbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "statusbar.dtd">
+<statusbar:statusbar xmlns:statusbar="http://openoffice.org/2001/statusbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <statusbar:statusbaritem xlink:href=".uno:Context" statusbar:align="left" statusbar:autosize="true" statusbar:width="184" statusbar:helpid="helpid:5310"/>
+ <statusbar:statusbaritem xlink:href=".uno:Size" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="208" statusbar:helpid="helpid:10224"/>
+ <statusbar:statusbaritem xlink:href=".uno:ModifiedStatus" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="14" statusbar:helpid="helpid:5584"/>
+ <statusbar:statusbaritem xlink:href=".uno:Signature" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="16" statusbar:helpid="helpid:5699"/>
+ <statusbar:statusbaritem xlink:href=".uno:PageStatus" statusbar:align="left" statusbar:width="124" statusbar:helpid="helpid:27086"/>
+ <statusbar:statusbaritem xlink:href=".uno:LayoutStatus" statusbar:align="left" statusbar:autosize="true" statusbar:width="54" statusbar:helpid="helpid:27087"/>
+ <statusbar:statusbaritem xlink:href=".uno:ZoomSlider" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="130" statusbar:helpid="helpid:11065"/>
+ <statusbar:statusbaritem xlink:href=".uno:Zoom" statusbar:align="center" statusbar:width="36" statusbar:helpid="helpid:10000"/>
+</statusbar:statusbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/3dobjectsbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/3dobjectsbar.xml
new file mode 100644
index 000000000000..841d960388fb
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/3dobjectsbar.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:Cube" toolbar:helpid="helpid:27296" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Sphere" toolbar:helpid="helpid:27297" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Cylinder" toolbar:helpid="helpid:27298" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Cone" toolbar:helpid="helpid:27299" toolbar:style="radio" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:Cyramid" toolbar:helpid="helpid:27300" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Torus" toolbar:helpid="helpid:27312" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Shell3D" toolbar:helpid="helpid:27311" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:HalfSphere" toolbar:helpid="helpid:27313" toolbar:style="radio" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/alignmentbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/alignmentbar.xml
new file mode 100644
index 000000000000..7b6bb3e61d2e
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/alignmentbar.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlignLeft" toolbar:helpid="helpid:10131" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignCenter" toolbar:helpid="helpid:10132" />
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlignRight" toolbar:helpid="helpid:10133" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignUp" toolbar:helpid="helpid:10134" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignMiddle" toolbar:helpid="helpid:10135" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignDown" toolbar:helpid="helpid:10136" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/arrowsbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/arrowsbar.xml
new file mode 100644
index 000000000000..50a7b0af85ff
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/arrowsbar.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:Line" toolbar:helpid="helpid:10102" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:LineArrowEnd" toolbar:helpid="helpid:27173" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:LineArrowCircle" toolbar:helpid="helpid:27175" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:LineArrowSquare" toolbar:helpid="helpid:27177" toolbar:style="radio" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:Line_Diagonal" toolbar:helpid="helpid:10103" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:LineArrowStart" toolbar:helpid="helpid:27172" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:LineCircleArrow" toolbar:helpid="helpid:27176" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:LineSquareArrow" toolbar:helpid="helpid:27178" toolbar:style="radio" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:MeasureLine" toolbar:helpid="helpid:27051" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:LineArrows" toolbar:helpid="helpid:27174" toolbar:style="radio" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/arrowshapes.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/arrowshapes.xml
new file mode 100644
index 000000000000..34f135283f50
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/arrowshapes.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.down-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-down-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-right-down-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.quad-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.corner-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.split-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.striped-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.notched-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.pentagon-right" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.chevron" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.right-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.down-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-right-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-down-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-right-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.quad-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.circular-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.split-round-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.s-sharped-arrow" toolbar:helpid="helpid:11004" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/basicshapes.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/basicshapes.xml
new file mode 100644
index 000000000000..a9e23fe67ed9
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/basicshapes.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.rectangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.round-rectangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.quadrat" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.round-quadrat" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.circle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.ellipse" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.circle-pie" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.isosceles-triangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.right-triangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.trapezoid" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.diamond" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.parallelogram" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.pentagon" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.hexagon" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.octagon" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.cross" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.ring" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.block-arc" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.can" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.cube" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.paper" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.frame" toolbar:helpid="helpid:11002" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/bezierobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/bezierobjectbar.xml
new file mode 100644
index 000000000000..a711f4643918
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/bezierobjectbar.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:ToggleObjectBezierMode" toolbar:helpid="helpid:10126" toolbar:style="radio auto" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierMove" toolbar:helpid="helpid:10121" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierInsert" toolbar:helpid="helpid:10119" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierDelete" toolbar:helpid="helpid:10120" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierCutLine" toolbar:helpid="helpid:10127" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierConvert" toolbar:helpid="helpid:27065" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierEdge" toolbar:helpid="helpid:27066" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierSmooth" toolbar:helpid="helpid:10123" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierSymmetric" toolbar:helpid="helpid:27067" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierClose" toolbar:helpid="helpid:10122" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierEliminatePoints" toolbar:helpid="helpid:27030" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/calloutshapes.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/calloutshapes.xml
new file mode 100644
index 000000000000..91b957fa697a
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/calloutshapes.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.rectangular-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.round-rectangular-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.round-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.cloud-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.line-callout-1" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.line-callout-2" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.line-callout-3" toolbar:helpid="helpid:11006" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/choosemodebar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/choosemodebar.xml
new file mode 100644
index 000000000000..9e30bc62d094
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/choosemodebar.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:ToggleObjectRotateMode" toolbar:helpid="helpid:10129" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Mirror" toolbar:helpid="helpid:27085" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:ConvertInto3DLathe" toolbar:helpid="helpid:27008" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CrookRotate" toolbar:helpid="helpid:27090" toolbar:style="radio" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:CrookSlant" toolbar:helpid="helpid:27091" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Shear" toolbar:helpid="helpid:27107" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:InteractiveTransparence" toolbar:helpid="helpid:27100" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:InteractiveGradient" toolbar:helpid="helpid:27101" toolbar:style="radio" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/colorbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/colorbar.xml
new file mode 100644
index 000000000000..adcda76b5c3a
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/colorbar.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:GrafRed" toolbar:helpid="helpid:10865" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafGreen" toolbar:helpid="helpid:10866" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafBlue" toolbar:helpid="helpid:10867" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafLuminance" toolbar:helpid="helpid:10863" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafContrast" toolbar:helpid="helpid:10864" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafGamma" toolbar:helpid="helpid:10868" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/commentsbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/commentsbar.xml
new file mode 100644
index 000000000000..07c42d262758
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/commentsbar.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:InsertAnnotation" toolbar:helpid="helpid:26276"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:PreviousAnnotation" toolbar:helpid="helpid:11095"/>
+ <toolbar:toolbaritem xlink:href=".uno:NextAnnotation" toolbar:helpid="helpid:11094"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:DeleteAnnotation" toolbar:helpid="helpid:11093"/>
+ <toolbar:toolbaritem xlink:href=".uno:DeleteAllAnnotation" toolbar:helpid="helpid:11096"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/commontaskbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/commontaskbar.xml
new file mode 100644
index 000000000000..c64a4b935717
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/commontaskbar.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:InsertPage" toolbar:helpid="27014" toolbar:style="dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:AssignLayout" toolbar:helpid="27435" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:PresentationLayout" toolbar:helpid="27064"/>
+ <toolbar:toolbaritem xlink:href=".uno:DuplicatePage" toolbar:visible="false" toolbar:helpid="27342"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExpandPage" toolbar:visible="false" toolbar:helpid="27343"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Presentation" toolbar:helpid="10157"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/connectorsbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/connectorsbar.xml
new file mode 100644
index 000000000000..b33662343f51
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/connectorsbar.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:Connector" toolbar:helpid="27058"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorArrowStart" toolbar:visible="false" toolbar:helpid="27119"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorArrowEnd" toolbar:helpid="27120"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorArrows" toolbar:helpid="27121"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorCircleStart" toolbar:visible="false" toolbar:helpid="27122"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorCircleEnd" toolbar:visible="false" toolbar:helpid="27123"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorCircles" toolbar:visible="false" toolbar:helpid="27124"/>
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorLines" toolbar:helpid="27139"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorLinesArrowStart" toolbar:visible="false" toolbar:helpid="27140"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorLinesArrowEnd" toolbar:helpid="27141"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorLinesArrows" toolbar:helpid="27142"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorLinesCircleStart" toolbar:visible="false" toolbar:helpid="27143"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorLinesCircleEnd" toolbar:visible="false" toolbar:helpid="27144"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorLinesCircles" toolbar:visible="false" toolbar:helpid="27145"/>
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorLine" toolbar:helpid="27125"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorLineArrowStart" toolbar:visible="false" toolbar:helpid="27126"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorLineArrowEnd" toolbar:helpid="27127"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorLineArrows" toolbar:helpid="27128"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorLineCircleStart" toolbar:visible="false" toolbar:helpid="27129"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorLineCircleEnd" toolbar:visible="false" toolbar:helpid="27130"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorLineCircles" toolbar:visible="false" toolbar:helpid="27131"/>
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorCurve" toolbar:helpid="27132"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorCurveArrowStart" toolbar:visible="false" toolbar:helpid="27133"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorCurveArrowEnd" toolbar:helpid="27134"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorCurveArrows" toolbar:helpid="27135"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorCurveCircleStart" toolbar:visible="false" toolbar:helpid="27136"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorCurveCircleEnd" toolbar:visible="false" toolbar:helpid="27137"/>
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorCurveCircles" toolbar:visible="false" toolbar:helpid="27138"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/drawingobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/drawingobjectbar.xml
new file mode 100644
index 000000000000..4c322a9028b6
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/drawingobjectbar.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:DesignerDialog" toolbar:helpid="5539"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatLine" toolbar:helpid="10143"/>
+ <toolbar:toolbaritem xlink:href=".uno:LineEndStyle" toolbar:helpid="10301"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:XLineStyle" toolbar:helpid="10169"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LineWidth" toolbar:helpid="10171"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:XLineColor" toolbar:helpid="10172"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatArea" toolbar:helpid="10142"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FillStyle" toolbar:helpid="10164"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FillShadow" toolbar:helpid="10299"/>
+ <toolbar:toolbaritem xlink:href=".uno:ImageMapDialog" toolbar:visible="false" toolbar:helpid="10371"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/ellipsesbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/ellipsesbar.xml
new file mode 100644
index 000000000000..84ccaf854009
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/ellipsesbar.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:Ellipse" toolbar:helpid="helpid:10110" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Circle" toolbar:helpid="helpid:10385" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Pie" toolbar:helpid="helpid:10112" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CirclePie" toolbar:helpid="helpid:10388" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:EllipseCut" toolbar:helpid="helpid:10392" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CircleCut" toolbar:helpid="helpid:10115" toolbar:style="radio" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:Ellipse_Unfilled" toolbar:helpid="helpid:10384" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Circle_Unfilled" toolbar:helpid="helpid:10386" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Pie_Unfilled" toolbar:helpid="helpid:10387" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CirclePie_Unfilled" toolbar:helpid="helpid:10389" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:EllipseCut_Unfilled" toolbar:helpid="helpid:10393" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CircleCut_Unfilled" toolbar:helpid="helpid:10391" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Arc" toolbar:helpid="helpid:10114" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CircleArc" toolbar:helpid="helpid:10390" toolbar:style="radio" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/extrusionobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/extrusionobjectbar.xml
new file mode 100644
index 000000000000..148849db6ee7
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/extrusionobjectbar.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionToggle" toolbar:helpid="10960"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltDown" toolbar:helpid="10961"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltUp" toolbar:helpid="10962"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltLeft" toolbar:helpid="10963"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltRight" toolbar:helpid="10964"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionDepthFloater" toolbar:helpid="10965" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionDirectionFloater" toolbar:helpid="10966" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionLightingFloater" toolbar:helpid="10967" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionSurfaceFloater" toolbar:helpid="10968" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:Extrusion3DColor" toolbar:helpid="10969" toolbar:style="dropdownonly"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/findbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/findbar.xml
new file mode 100644
index 000000000000..49e483e178a3
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/findbar.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FindText"/>
+ <toolbar:toolbaritem xlink:href=".uno:DownSearch"/>
+ <toolbar:toolbaritem xlink:href=".uno:UpSearch"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SearchDialog"/>
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/flowchartshapes.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/flowchartshapes.xml
new file mode 100644
index 000000000000..5eff42015672
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/flowchartshapes.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-process" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-alternate-process" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-decision" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-data" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-predefined-process" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-internal-storage" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-document" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-multidocument" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-terminator" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-preparation" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-manual-input" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-manual-operation" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-connector" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-off-page-connector" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-card" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-punched-tape" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-summing-junction" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-or" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-collate" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-sort" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-extract" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-merge" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-stored-data" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-delay" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-sequential-access" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-magnetic-disk" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-direct-access-storage" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-display" toolbar:helpid="helpid:11005" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/fontworkobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/fontworkobjectbar.xml
new file mode 100644
index 000000000000..28687d66eb6f
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/fontworkobjectbar.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FontworkGalleryFloater" toolbar:helpid="helpid:10977" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType" toolbar:helpid="helpid:10978" toolbar:style="dropdownonly" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkSameLetterHeights" toolbar:helpid="helpid:10979" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkAlignmentFloater" toolbar:helpid="helpid:10981" toolbar:style="dropdownonly" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkCharacterSpacingFloater" toolbar:helpid="helpid:10982" toolbar:style="dropdownonly" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/fontworkshapetype.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/fontworkshapetype.xml
new file mode 100644
index 000000000000..49b5b8173e0e
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/fontworkshapetype.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-plain-text" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-wave" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-inflate" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-stop" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-curve-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-curve-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-triangle-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-triangle-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-right" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-left" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-slant-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-slant-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-up-and-right" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-up-and-left" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-chevron-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-chevron-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-up-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-down-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-left-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-right-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-circle-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-open-circle-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-up-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-down-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-left-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-right-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-circle-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-open-circle-pour" toolbar:helpid="helpid:10978" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/formcontrols.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/formcontrols.xml
new file mode 100644
index 000000000000..f0b802f28559
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/formcontrols.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SelectObject" toolbar:helpid="helpid:10128" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:SwitchControlDesignMode" toolbar:helpid="helpid:10629" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ControlProperties" toolbar:helpid="helpid:10613" />
+ <toolbar:toolbaritem xlink:href=".uno:FormProperties" toolbar:helpid="helpid:10614" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:CheckBox" toolbar:helpid="helpid:10596" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Edit" toolbar:helpid="helpid:10599" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FormattedField" toolbar:helpid="helpid:10728" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Pushbutton" toolbar:helpid="helpid:10594" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:RadioButton" toolbar:helpid="helpid:10595" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:ListBox" toolbar:helpid="helpid:10600" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ComboBox" toolbar:helpid="helpid:10601" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Label" toolbar:helpid="helpid:10597" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FormDesignTools" toolbar:helpid="helpid:11046" />
+ <toolbar:toolbaritem xlink:href=".uno:MoreControls" toolbar:helpid="helpid:11045" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:UseWizards" toolbar:helpid="helpid:10727" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/formdesign.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/formdesign.xml
new file mode 100644
index 000000000000..01f59fb34b91
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/formdesign.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SelectObject" toolbar:helpid="helpid:10128" toolbar:style="radio auto" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ControlProperties" toolbar:helpid="helpid:10613" />
+ <toolbar:toolbaritem xlink:href=".uno:FormProperties" toolbar:helpid="helpid:10614" />
+ <toolbar:toolbaritem xlink:href=".uno:TransformDialog" toolbar:helpid="helpid:10087" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ShowFmExplorer" toolbar:helpid="helpid:10633" />
+ <toolbar:toolbaritem xlink:href=".uno:TabDialog" toolbar:helpid="helpid:10615" />
+ <toolbar:toolbaritem xlink:href=".uno:AddField" toolbar:helpid="helpid:10623" />
+ <toolbar:toolbaritem xlink:href=".uno:AutoControlFocus" toolbar:helpid="helpid:10763" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BringToFront" toolbar:helpid="helpid:10286" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SendToBack" toolbar:helpid="helpid:10287" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatGroup" toolbar:helpid="helpid:10454" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:FormatUngroup" toolbar:helpid="helpid:10455" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:EnterGroup" toolbar:helpid="helpid:27096" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:LeaveGroup" toolbar:helpid="helpid:27097" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlign" toolbar:helpid="helpid:10130" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:OpenReadOnly" toolbar:helpid="helpid:10709" />
+ <toolbar:toolbaritem xlink:href=".uno:GridVisible" toolbar:helpid="helpid:27322" />
+ <toolbar:toolbaritem xlink:href=".uno:GridUse" toolbar:helpid="helpid:27154" />
+ <toolbar:toolbaritem xlink:href=".uno:HelplinesMove" toolbar:helpid="helpid:27153" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/formsfilterbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/formsfilterbar.xml
new file mode 100644
index 000000000000..1d1ad07a9938
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/formsfilterbar.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FormFilterExecute" toolbar:helpid="helpid:10731" />
+ <toolbar:toolbaritem xlink:href=".uno:FormFilterNavigator" toolbar:helpid="helpid:10732" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormFilterExit" toolbar:helpid="helpid:10730" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/formsnavigationbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/formsnavigationbar.xml
new file mode 100644
index 000000000000..c6e16444a55d
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/formsnavigationbar.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:RecSearch" toolbar:helpid="10725"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:RecText" toolbar:helpid="10624"/>
+ <toolbar:toolbaritem xlink:href=".uno:AbsoluteRecord" toolbar:helpid="10622"/>
+ <toolbar:toolbaritem xlink:href=".uno:RecFromText" toolbar:helpid="10625"/>
+ <toolbar:toolbaritem xlink:href=".uno:RecTotal" toolbar:helpid="10626"/>
+ <toolbar:toolbaritem xlink:href=".uno:FirstRecord" toolbar:helpid="10616"/>
+ <toolbar:toolbaritem xlink:href=".uno:PrevRecord" toolbar:helpid="10618"/>
+ <toolbar:toolbaritem xlink:href=".uno:NextRecord" toolbar:helpid="10617"/>
+ <toolbar:toolbaritem xlink:href=".uno:LastRecord" toolbar:helpid="10619"/>
+ <toolbar:toolbaritem xlink:href=".uno:NewRecord" toolbar:helpid="10620"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:RecSave" toolbar:helpid="10627"/>
+ <toolbar:toolbaritem xlink:href=".uno:RecUndo" toolbar:helpid="10630"/>
+ <toolbar:toolbaritem xlink:href=".uno:DeleteRecord" toolbar:helpid="10621"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Refresh" toolbar:helpid="10724"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:OrderCrit" toolbar:helpid="10714"/>
+ <toolbar:toolbaritem xlink:href=".uno:Sortup" toolbar:helpid="10712"/>
+ <toolbar:toolbaritem xlink:href=".uno:SortDown" toolbar:helpid="10713"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AutoFilter" toolbar:helpid="10716"/>
+ <toolbar:toolbaritem xlink:href=".uno:FormFiltered" toolbar:helpid="10723"/>
+ <toolbar:toolbaritem xlink:href=".uno:FormFilter" toolbar:helpid="10729"/>
+ <toolbar:toolbaritem xlink:href=".uno:RemoveFilterSort" toolbar:helpid="10711"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ViewFormAsGrid" toolbar:helpid="10761"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/formtextobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/formtextobjectbar.xml
new file mode 100644
index 000000000000..dbdeaf675371
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/formtextobjectbar.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:CharFontName" toolbar:helpid="helpid:10007" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontHeight" toolbar:helpid="helpid:10015" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Bold" toolbar:helpid="helpid:10009" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Italic" toolbar:helpid="helpid:10008" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Underline" toolbar:helpid="helpid:10014" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:SuperScript" toolbar:helpid="helpid:20411" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:SubScript" toolbar:helpid="helpid:20412" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LeftPara" toolbar:helpid="helpid:10028" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CenterPara" toolbar:helpid="helpid:10030" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:RightPara" toolbar:helpid="helpid:10029" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:JustifyPara" toolbar:helpid="helpid:10031" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ParaLeftToRight" toolbar:helpid="helpid:10950" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:ParaRightToLeft" toolbar:helpid="helpid:10951" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara1" toolbar:helpid="helpid:10034" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara15" toolbar:helpid="helpid:10035" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara2" toolbar:helpid="helpid:10036" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontDialog" toolbar:helpid="helpid:10296" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:ParagraphDialog" toolbar:helpid="helpid:10297" toolbar:text="" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/fullscreenbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/fullscreenbar.xml
new file mode 100644
index 000000000000..5aecdda4fb04
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/fullscreenbar.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FullScreen" toolbar:helpid="helpid:5627" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/gluepointsobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/gluepointsobjectbar.xml
new file mode 100644
index 000000000000..b6c8501f4044
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/gluepointsobjectbar.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:GlueInsertPoint" toolbar:helpid="helpid:27302" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GlueEscapeDirectionLeft" toolbar:helpid="helpid:27314" />
+ <toolbar:toolbaritem xlink:href=".uno:GlueEscapeDirectionTop" toolbar:helpid="helpid:27316" />
+ <toolbar:toolbaritem xlink:href=".uno:GlueEscapeDirectionRight" toolbar:helpid="helpid:27315" />
+ <toolbar:toolbaritem xlink:href=".uno:GlueEscapeDirectionBottom" toolbar:helpid="helpid:27317" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GluePercent" toolbar:helpid="helpid:27303" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GlueHorzAlignLeft" toolbar:helpid="helpid:27306" />
+ <toolbar:toolbaritem xlink:href=".uno:GlueHorzAlignCenter" toolbar:helpid="helpid:27305" />
+ <toolbar:toolbaritem xlink:href=".uno:GlueHorzAlignRight" toolbar:helpid="helpid:27307" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GlueVertAlignTop" toolbar:helpid="helpid:27309" />
+ <toolbar:toolbaritem xlink:href=".uno:GlueVertAlignCenter" toolbar:helpid="helpid:27308" />
+ <toolbar:toolbaritem xlink:href=".uno:GlueVertAlignBottom" toolbar:helpid="helpid:27310" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/graffilterbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/graffilterbar.xml
new file mode 100644
index 000000000000..287c33fe25e5
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/graffilterbar.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterInvert" toolbar:helpid="helpid:34149" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSmooth" toolbar:helpid="helpid:34150" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSharpen" toolbar:helpid="helpid:34151" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterRemoveNoise" toolbar:helpid="helpid:34152" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSolarize" toolbar:helpid="helpid:34159" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSepia" toolbar:helpid="helpid:34158" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterPoster" toolbar:helpid="helpid:34156" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterPopart" toolbar:helpid="helpid:34157" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSobel" toolbar:helpid="helpid:34153" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterRelief" toolbar:helpid="helpid:34155" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterMosaic" toolbar:helpid="helpid:34154" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/graphicobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/graphicobjectbar.xml
new file mode 100644
index 000000000000..93312f0d9c29
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/graphicobjectbar.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterToolbox" toolbar:helpid="helpid:10469" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafMode" toolbar:helpid="helpid:10871" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ColorSettings" toolbar:helpid="helpid:11016" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafTransparence" toolbar:helpid="helpid:10869" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatLine" toolbar:helpid="helpid:10143" />
+ <toolbar:toolbaritem xlink:href=".uno:FormatArea" toolbar:helpid="helpid:10142" />
+ <toolbar:toolbaritem xlink:href=".uno:FillShadow" toolbar:helpid="helpid:10299" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Crop" toolbar:helpid="helpid:10883" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/insertbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/insertbar.xml
new file mode 100644
index 000000000000..4ba1344cf2fc
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/insertbar.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:InsertPage" toolbar:helpid="helpid:27014" toolbar:style="radio dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertObjectFloatingFrame" toolbar:helpid="helpid:5563" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ImportFromFile" toolbar:helpid="helpid:27015" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertTable" toolbar:helpid="helpid:10141" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertGraphic" toolbar:helpid="helpid:10241" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertAVMedia" toolbar:helpid="helpid:6695" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertSound" toolbar:helpid="helpid:5676" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertVideo" toolbar:helpid="helpid:5677" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertMath" toolbar:helpid="helpid:27106"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertObjectChart" toolbar:helpid="helpid:10140" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertObject" toolbar:helpid="helpid:5561" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertPlugin" toolbar:helpid="helpid:5672" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/linesbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/linesbar.xml
new file mode 100644
index 000000000000..d0f9f8f90e18
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/linesbar.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:BezierFill" toolbar:helpid="helpid:10118" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Polygon" toolbar:helpid="helpid:10117" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Polygon_Diagonal" toolbar:helpid="helpid:10394" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Freeline" toolbar:helpid="helpid:10463" toolbar:style="radio" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:Bezier_Unfilled" toolbar:helpid="helpid:10397" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Polygon_Unfilled" toolbar:helpid="helpid:10395" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Polygon_Diagonal_Unfilled" toolbar:helpid="helpid:10396" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Freeline_Unfilled" toolbar:helpid="helpid:10464" toolbar:style="radio" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/masterviewtoolbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/masterviewtoolbar.xml
new file mode 100644
index 000000000000..994c537a0aad
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/masterviewtoolbar.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:InsertMasterPage" toolbar:helpid="helpid:27430" />
+ <toolbar:toolbaritem xlink:href=".uno:DeleteMasterPage" toolbar:helpid="helpid:27431" />
+ <toolbar:toolbaritem xlink:href=".uno:RenameMasterPage" toolbar:helpid="helpid:27432" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:CloseMasterView" toolbar:helpid="helpid:27433" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/mediaobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/mediaobjectbar.xml
new file mode 100644
index 000000000000..2014343bf89b
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/mediaobjectbar.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:InsertAVMedia" toolbar:helpid="6695"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AVMediaToolBox" toolbar:helpid="helpid:6693" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/moreformcontrols.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/moreformcontrols.xml
new file mode 100644
index 000000000000..275c733e7340
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/moreformcontrols.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SpinButton" toolbar:helpid="helpid:10769" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:ScrollBar" toolbar:helpid="helpid:10768" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:Imagebutton" toolbar:helpid="helpid:10604" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:ImageControl" toolbar:helpid="helpid:10710" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FileControl" toolbar:helpid="helpid:10605" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:DateField" toolbar:helpid="helpid:10704" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:TimeField" toolbar:helpid="helpid:10705" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:NumericField" toolbar:helpid="helpid:10706" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:CurrencyField" toolbar:helpid="helpid:10707" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:PatternField" toolbar:helpid="helpid:10708" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GroupBox" toolbar:helpid="helpid:10598" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Grid" toolbar:helpid="helpid:10603" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:NavigationBar" toolbar:helpid="helpid:10607" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/optimizetablebar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/optimizetablebar.xml
new file mode 100644
index 000000000000..bf97f65ae9cb
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/optimizetablebar.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:DistributeColumns" toolbar:helpid="helpid:20582" />
+ <toolbar:toolbaritem xlink:href=".uno:DistributeRows" toolbar:helpid="helpid:20583" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/optionsbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/optionsbar.xml
new file mode 100644
index 000000000000..6b6325bb9c78
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/optionsbar.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:ClickChangeRotation" toolbar:helpid="27170"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GridVisible" toolbar:helpid="27322"/>
+ <toolbar:toolbaritem xlink:href=".uno:HelplinesVisible" toolbar:helpid="27324"/>
+ <toolbar:toolbaritem xlink:href=".uno:HelplinesMove" toolbar:helpid="27153"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GridUse" toolbar:helpid="27154"/>
+ <toolbar:toolbaritem xlink:href=".uno:HelplinesUse" toolbar:helpid="27152"/>
+ <toolbar:toolbaritem xlink:href=".uno:SnapBorder" toolbar:helpid="27155"/>
+ <toolbar:toolbaritem xlink:href=".uno:SnapFrame" toolbar:helpid="27156"/>
+ <toolbar:toolbaritem xlink:href=".uno:SnapPoints" toolbar:helpid="27157"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:QuickEdit" toolbar:helpid="27158"/>
+ <toolbar:toolbaritem xlink:href=".uno:PickThrough" toolbar:helpid="27159"/>
+ <toolbar:toolbaritem xlink:href=".uno:DoubleClickTextEdit" toolbar:helpid="27169"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:HandlesDraft" toolbar:helpid="27150"/>
+ <toolbar:toolbaritem xlink:href=".uno:BigHandles" toolbar:helpid="27168"/>
+ <toolbar:toolbaritem xlink:href=".uno:SolidCreate" toolbar:helpid="helpid:27151"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LeaveAllGroups" toolbar:helpid="27345"/>
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/outlinetoolbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/outlinetoolbar.xml
new file mode 100644
index 000000000000..d580779b35ee
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/outlinetoolbar.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:OutlineCollapseAll" toolbar:helpid="helpid:10155" />
+ <toolbar:toolbaritem xlink:href=".uno:OutlineExpandAll" toolbar:helpid="helpid:10232" />
+ <toolbar:toolbaritem xlink:href=".uno:OutlineCollapse" toolbar:helpid="helpid:10231" />
+ <toolbar:toolbaritem xlink:href=".uno:OutlineExpand" toolbar:helpid="helpid:10233" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:OutlineFormat" toolbar:helpid="helpid:10154" />
+ <toolbar:toolbaritem xlink:href=".uno:ColorView" toolbar:helpid="helpid:27257" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Presentation" toolbar:helpid="helpid:10157" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/positionbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/positionbar.xml
new file mode 100644
index 000000000000..5f571924d72a
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/positionbar.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:BringToFront" toolbar:helpid="helpid:10286" />
+ <toolbar:toolbaritem xlink:href=".uno:Forward" toolbar:helpid="helpid:27031" />
+ <toolbar:toolbaritem xlink:href=".uno:Backward" toolbar:helpid="helpid:27032" />
+ <toolbar:toolbaritem xlink:href=".uno:SendToBack" toolbar:helpid="helpid:10287" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BeforeObject" toolbar:helpid="helpid:27326" />
+ <toolbar:toolbaritem xlink:href=".uno:BehindObject" toolbar:helpid="helpid:27116" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ReverseOrder" toolbar:helpid="helpid:27117" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/rectanglesbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/rectanglesbar.xml
new file mode 100644
index 000000000000..2716265612f4
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/rectanglesbar.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:Rect" toolbar:helpid="helpid:10104" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Square" toolbar:helpid="helpid:10380" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Rect_Rounded" toolbar:helpid="helpid:10105" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Square_Rounded" toolbar:helpid="helpid:10381" toolbar:style="radio" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:Rect_Unfilled" toolbar:helpid="helpid:10378" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Square_Unfilled" toolbar:helpid="helpid:10382" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Rect_Rounded_Unfilled" toolbar:helpid="helpid:10379" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Square_Rounded_Unfilled" toolbar:helpid="helpid:10383" toolbar:style="radio" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/slideviewobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/slideviewobjectbar.xml
new file mode 100644
index 000000000000..2e28ce665391
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/slideviewobjectbar.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:RehearseTimings" toolbar:helpid="helpid:10159" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ShowSlide" toolbar:helpid="helpid:27440" />
+ <toolbar:toolbaritem xlink:href=".uno:HideSlide" toolbar:helpid="helpid:10161" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:PagesPerRow" toolbar:helpid="helpid:27284" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/slideviewtoolbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/slideviewtoolbar.xml
new file mode 100644
index 000000000000..4ba11c49fd63
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/slideviewtoolbar.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SelectObject" toolbar:helpid="helpid:10128" toolbar:style="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Presentation" toolbar:helpid="helpid:10157" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/standardbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/standardbar.xml
new file mode 100644
index 000000000000..e1d7147249ab
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/standardbar.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:OpenUrl" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:AddDirect" toolbar:helpid="helpid:5537" toolbar:style="dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:NewDoc" toolbar:helpid="helpid:5500" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:Open" toolbar:helpid="helpid:5501" />
+ <toolbar:toolbaritem xlink:href=".uno:Save" toolbar:helpid="helpid:5505" />
+ <toolbar:toolbaritem xlink:href=".uno:SaveAs" toolbar:helpid="helpid:5502" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SendMail" toolbar:helpid="helpid:5331" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:EditDoc" toolbar:helpid="helpid:6312" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExportDirectToPDF" toolbar:helpid="helpid:6674" />
+ <toolbar:toolbaritem xlink:href=".uno:PrintDefault" toolbar:helpid="helpid:5509" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SpellDialog" toolbar:helpid="helpid:20622" />
+ <toolbar:toolbaritem xlink:href=".uno:SpellOnline" toolbar:helpid="12021" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Cut" toolbar:helpid="helpid:5710" />
+ <toolbar:toolbaritem xlink:href=".uno:Copy" toolbar:helpid="helpid:5711" />
+ <toolbar:toolbaritem xlink:href=".uno:Paste" toolbar:helpid="helpid:5712" />
+ <toolbar:toolbaritem xlink:href=".uno:FormatPaintbrush" toolbar:helpid="helpid:5715" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Undo" toolbar:helpid="helpid:5701" />
+ <toolbar:toolbaritem xlink:href=".uno:Redo" toolbar:helpid="helpid:5700" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertObjectChart" toolbar:helpid="10140" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertTable" toolbar:helpid="helpid:10141" />
+ <toolbar:toolbaritem xlink:href=".uno:HyperlinkDialog" toolbar:helpid="5678" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GridVisible" toolbar:helpid="helpid:27322" toolbar:style="auto" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Navigator" toolbar:helpid="helpid:10366" />
+ <toolbar:toolbaritem xlink:href=".uno:ZoomToolBox" toolbar:helpid="helpid:10096" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:HelpIndex" />
+ <toolbar:toolbaritem xlink:href=".uno:ExtendedHelp" toolbar:visible="false" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/starshapes.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/starshapes.xml
new file mode 100644
index 000000000000..073375a2b458
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/starshapes.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.bang" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star4" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star5" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star6" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star8" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star12" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star24" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.concave-star6" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.vertical-scroll" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.horizontal-scroll" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.signet" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.doorplate" toolbar:helpid="helpid:11007" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/symbolshapes.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/symbolshapes.xml
new file mode 100644
index 000000000000..0e96bcf78134
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/symbolshapes.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.smiley" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.sun" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.moon" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.lightning" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.heart" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.flower" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.cloud" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.forbidden" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.puzzle" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.bracket-pair" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.left-bracket" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.right-bracket" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.brace-pair" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.left-brace" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.right-brace" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.quad-bevel" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.octagon-bevel" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.diamond-bevel" toolbar:helpid="helpid:11003" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/tableobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/tableobjectbar.xml
new file mode 100644
index 000000000000..57726de89461
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/tableobjectbar.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:InsertTable" toolbar:helpid="helpid:20330" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LineStyle" toolbar:helpid="helpid:10200" />
+ <toolbar:toolbaritem xlink:href=".uno:FrameLineColor" toolbar:helpid="helpid:10201" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SetBorderStyle" toolbar:helpid="helpid:10187" />
+ <toolbar:toolbaritem xlink:href=".uno:FillStyle" toolbar:helpid="helpid:10164"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:MergeCells" toolbar:helpid="helpid:20506" />
+ <toolbar:toolbaritem xlink:href=".uno:SplitCell" toolbar:helpid="helpid:20505" />
+ <toolbar:toolbaritem xlink:href=".uno:OptimizeTable" toolbar:helpid="helpid:20510" toolbar:style="dropdown" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:CellVertTop" toolbar:helpid="helpid:20585" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CellVertCenter" toolbar:helpid="helpid:20586" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CellVertBottom" toolbar:helpid="helpid:20587" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertRows" toolbar:helpid="helpid:20501" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertColumns" toolbar:helpid="helpid:20502" />
+ <toolbar:toolbaritem xlink:href=".uno:DeleteRows" toolbar:helpid="helpid:20503" />
+ <toolbar:toolbaritem xlink:href=".uno:DeleteColumns" toolbar:helpid="helpid:20504" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SelectTable" toolbar:helpid="helpid:20515" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:EntireColumn" toolbar:helpid="helpid:20514" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:EntireRow" toolbar:helpid="helpid:20513" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:TableDesign" toolbar:helpid="helpid:10429" />
+ <toolbar:toolbaritem xlink:href=".uno:TableDialog" toolbar:helpid="helpid:20459" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/textbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/textbar.xml
new file mode 100644
index 000000000000..4bd5672237d3
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/textbar.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:Text" toolbar:helpid="helpid:10006" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:TextFitToSizeTool" toolbar:helpid="helpid:27285" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:DrawCaption" toolbar:helpid="helpid:10254" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:VerticalText" toolbar:helpid="helpid:10905" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:VerticalTextFitToSizeTool" toolbar:helpid="helpid:27286" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:VerticalCaption" toolbar:helpid="helpid:10906" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/textobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/textobjectbar.xml
new file mode 100644
index 000000000000..f91767c983ed
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/textobjectbar.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:CharFontName" toolbar:helpid="10007"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontHeight" toolbar:helpid="10015"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Bold" toolbar:helpid="10009"/>
+ <toolbar:toolbaritem xlink:href=".uno:Italic" toolbar:helpid="10008"/>
+ <toolbar:toolbaritem xlink:href=".uno:Underline" toolbar:helpid="10014"/>
+ <toolbar:toolbaritem xlink:href=".uno:Shadowed" toolbar:helpid="10010"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LeftPara" toolbar:helpid="10028"/>
+ <toolbar:toolbaritem xlink:href=".uno:CenterPara" toolbar:helpid="10030"/>
+ <toolbar:toolbaritem xlink:href=".uno:RightPara" toolbar:helpid="10029"/>
+ <toolbar:toolbaritem xlink:href=".uno:JustifyPara" toolbar:helpid="10031"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ParaLeftToRight" toolbar:helpid="10950"/>
+ <toolbar:toolbaritem xlink:href=".uno:ParaRightToLeft" toolbar:helpid="10951"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ParaspaceIncrease" toolbar:visible="false" toolbar:helpid="27346"/>
+ <toolbar:toolbaritem xlink:href=".uno:ParaspaceDecrease" toolbar:visible="false" toolbar:helpid="27347"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara1" toolbar:visible="false" toolbar:helpid="10034"/>
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara15" toolbar:visible="false" toolbar:helpid="10035"/>
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara2" toolbar:visible="false" toolbar:helpid="10036"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:DefaultBullet" toolbar:helpid="20138"/>
+ <toolbar:toolbaritem xlink:href=".uno:OutlineLeft" toolbar:helpid="10152"/>
+ <toolbar:toolbaritem xlink:href=".uno:OutlineRight" toolbar:helpid="10153"/>
+ <toolbar:toolbaritem xlink:href=".uno:OutlineUp" toolbar:helpid="10150"/>
+ <toolbar:toolbaritem xlink:href=".uno:OutlineDown" toolbar:helpid="10151"/>
+ <toolbar:toolbaritem xlink:href=".uno:Grow" toolbar:helpid="helpid:20403"/>
+ <toolbar:toolbaritem xlink:href=".uno:Shrink" toolbar:helpid="helpid:20404"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:TextdirectionLeftToRight" toolbar:helpid="10907"/>
+ <toolbar:toolbaritem xlink:href=".uno:TextdirectionTopToBottom" toolbar:helpid="10908"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontDialog" toolbar:helpid="10296"/>
+ <toolbar:toolbaritem xlink:href=".uno:ParagraphDialog" toolbar:helpid="10297"/>
+ <toolbar:toolbaritem xlink:href=".uno:OutlineBullet" toolbar:helpid="10156"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertSymbol" toolbar:visible="false" toolbar:helpid="27019"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Color" toolbar:helpid="10017"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/toolbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/toolbar.xml
new file mode 100644
index 000000000000..25bffb7e72bb
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/toolbar.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SelectObject" toolbar:helpid="helpid:10128" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Line" toolbar:helpid="helpid:10102" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:LineArrowEnd" toolbar:helpid="helpid:27173" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.rectangle" toolbar:helpid="helpid:10104" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.ellipse" toolbar:helpid="helpid:10110" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:Text" toolbar:helpid="helpid:10398" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:VerticalText" toolbar:helpid="helpid:10398" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LineToolbox" toolbar:helpid="helpid:10401" toolbar:style="radio dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:ConnectorToolbox" toolbar:helpid="helpid:27028" toolbar:style="radio dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowsToolbox" toolbar:helpid=".uno:ArrowsToolbox" toolbar:style="radio dropdown" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:Objects3DToolbox" toolbar:helpid="helpid:27295" toolbar:style="radio dropdown" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes" toolbar:helpid="helpid:11002" toolbar:style="radio dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes" toolbar:helpid="helpid:11003" toolbar:style="radio dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes" toolbar:helpid="helpid:11004" toolbar:style="radio dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes" toolbar:helpid="helpid:11005" toolbar:style="radio dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes" toolbar:helpid="helpid:11006" toolbar:style="radio dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes" toolbar:helpid="helpid:11007" toolbar:style="radio dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleObjectBezierMode" toolbar:helpid="10126"/>
+ <toolbar:toolbaritem xlink:href=".uno:GlueEditMode" toolbar:helpid="helpid:27301" toolbar:style="auto" />
+ <toolbar:toolbaritem xlink:href=".uno:ChangeBezier" toolbar:helpid="helpid:27036" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:ChangePolygon" toolbar:helpid="helpid:27037" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:ConvertInto3D" toolbar:helpid="helpid:10648" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:ConvertInto3DLatheFast" toolbar:helpid="helpid:10649" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkGalleryFloater" toolbar:helpid="helpid:10977" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertGraphic" toolbar:helpid="helpid:10241" />
+ <toolbar:toolbaritem xlink:href=".uno:Gallery" toolbar:helpid="helpid:5960" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleObjectRotateMode" toolbar:helpid="helpid:10129" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:TransformDialog" toolbar:helpid="helpid:10087" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:Mirror" toolbar:helpid="helpid:27085" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlign" toolbar:helpid="helpid:10130" toolbar:style="dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:ObjectPosition" toolbar:helpid="helpid:27022" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertToolbox" toolbar:helpid="helpid:27318" toolbar:style="radio dropdown" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:Config" toolbar:helpid="helpid:10593" toolbar:style="dropdown" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionToggle" toolbar:helpid="10960"/>
+ <toolbar:toolbaritem xlink:href=".uno:CustomAnimation" toolbar:helpid="helpid:27328" toolbar:style="auto" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:AnimationEffects" toolbar:helpid="helpid:27063" />
+ <toolbar:toolbaritem xlink:href=".uno:AnimationObjects" toolbar:helpid="helpid:27062" toolbar:style="auto" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:Window3D" toolbar:helpid="helpid:10644" toolbar:style="auto" toolbar:visible="false" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/viewerbar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/viewerbar.xml
new file mode 100644
index 000000000000..861c4f3f890b
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/viewerbar.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SaveAs" toolbar:helpid="helpid:5502" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:EditDoc" toolbar:helpid="helpid:6312" />
+ <toolbar:toolbaritem xlink:href=".uno:SendMail" toolbar:helpid="helpid:5331" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExportDirectToPDF" toolbar:helpid="helpid:6674" />
+ <toolbar:toolbaritem xlink:href=".uno:PrintDefault" toolbar:helpid="helpid:5509" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Copy" toolbar:helpid="helpid:5711" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SearchDialog" toolbar:helpid="helpid:5961" />
+ <toolbar:toolbaritem xlink:href=".uno:Navigator" toolbar:helpid="helpid:10366" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Zoom" toolbar:helpid="helpid:10000" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Presentation" toolbar:helpid="helpid:10157" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/zoombar.xml b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/zoombar.xml
new file mode 100644
index 000000000000..fa59303d6176
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/simpress/toolbar/zoombar.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:ZoomPlus" toolbar:helpid="10097"/>
+ <toolbar:toolbaritem xlink:href=".uno:ZoomMinus" toolbar:helpid="10098"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Zoom100Percent" toolbar:helpid="10099"/>
+ <toolbar:toolbaritem xlink:href=".uno:ZoomPrevious" toolbar:visible="false" toolbar:helpid="10403"/>
+ <toolbar:toolbaritem xlink:href=".uno:ZoomNext" toolbar:visible="false" toolbar:helpid="10402"/>
+ <toolbar:toolbaritem xlink:href=".uno:ZoomPage" toolbar:helpid="10100"/>
+ <toolbar:toolbaritem xlink:href=".uno:ZoomPageWidth" toolbar:helpid="27098"/>
+ <toolbar:toolbaritem xlink:href=".uno:ZoomOptimal" toolbar:helpid="10101"/>
+ <toolbar:toolbaritem xlink:href=".uno:ZoomObjects" toolbar:helpid="27099"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ZoomPanning" toolbar:helpid="27017"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/smath/menubar/menubar.xml b/test/user-template/user/config/soffice.cfg/modules/smath/menubar/menubar.xml
new file mode 100644
index 000000000000..dcb68e740718
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/smath/menubar/menubar.xml
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<menu:menubar xmlns:menu="http://openoffice.org/2001/menu" menu:id="menubar">
+ <menu:menu menu:id=".uno:PickList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:AddDirect"/>
+ <menu:menuitem menu:id=".uno:Open"/>
+ <menu:menuitem menu:id=".uno:RecentFileList"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AutoPilotMenu"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CloseDoc"/>
+ <menu:menuitem menu:id=".uno:Save"/>
+ <menu:menuitem menu:id=".uno:SaveAs"/>
+ <menu:menuitem menu:id=".uno:SaveAll"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Reload"/>
+ <menu:menuitem menu:id=".uno:VersionDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ExportTo"/>
+ <menu:menu menu:id=".uno:SendToMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SendMail"/>
+ <menu:menuitem menu:id=".uno:SendMailDocAsPDF"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SetDocumentProperties"/>
+ <menu:menuitem menu:id=".uno:Signature"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Print"/>
+ <menu:menuitem menu:id=".uno:PrinterSetup"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Quit"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:EditMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Undo"/>
+ <menu:menuitem menu:id=".uno:Redo"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Cut"/>
+ <menu:menuitem menu:id=".uno:Copy"/>
+ <menu:menuitem menu:id=".uno:Paste"/>
+ <menu:menuitem menu:id=".uno:Select"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:NextMark"/>
+ <menu:menuitem menu:id=".uno:PrevMark"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:NextError"/>
+ <menu:menuitem menu:id=".uno:PrevError"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ViewMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Draw"/>
+ <menu:menuitem menu:id=".uno:RedrawAutomatic"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AvailableToolbars"/>
+ <menu:menuitem menu:id=".uno:StatusBarVisible"/>
+ <menu:menuitem menu:id=".uno:ShowImeStatusWindow"/>
+ <menu:menuitem menu:id=".uno:ToolBox"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:TaskPane"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:FullScreen"/>
+ <menu:menuitem menu:id=".uno:ZoomIn"/>
+ <menu:menuitem menu:id=".uno:ZoomOut"/>
+ <menu:menuitem menu:id=".uno:Adjust"/>
+ <menu:menuitem menu:id=".uno:Zoom"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:FormatMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ChangeFont"/>
+ <menu:menuitem menu:id=".uno:ChangeFontSize"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ChangeDistance"/>
+ <menu:menuitem menu:id=".uno:ChangeAlignment"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Textmode"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ToolsMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SymbolCatalogue"/>
+ <menu:menuitem menu:id=".uno:ImportFormula"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:MacrosMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:MacroRecorder"/>
+ <menu:menuitem menu:id=".uno:RunMacro"/>
+ <menu:menu menu:id=".uno:ScriptOrganizer"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MacroOrganizer?TabId:short=1"/>
+ </menu:menupopup>
+ </menu:menu>
+
+ <menu:menuitem menu:id="service:com.sun.star.deployment.ui.PackageManagerDialog"/>
+ <menu:menuitem menu:id=".uno:ConfigureDialog"/>
+ <menu:menuitem menu:id=".uno:OptionsTreeDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:WindowList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:NewWindow"/>
+ <menu:menuitem menu:id=".uno:CloseWin"/>
+ <menu:menuseparator/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:HelpMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HelpIndex"/>
+ <menu:menuitem menu:id=".uno:ExtendedHelp"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowLicense"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowCredits"/>
+ <menu:menuitem menu:id=".uno:About"/>
+ </menu:menupopup>
+ </menu:menu>
+</menu:menubar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/smath/statusbar/statusbar.xml b/test/user-template/user/config/soffice.cfg/modules/smath/statusbar/statusbar.xml
new file mode 100644
index 000000000000..33e4e4888f2a
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/smath/statusbar/statusbar.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE statusbar:statusbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "statusbar.dtd">
+<statusbar:statusbar xmlns:statusbar="http://openoffice.org/2001/statusbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <statusbar:statusbaritem xlink:href=".uno:TextStatus" statusbar:align="left" statusbar:width="300" statusbar:helpid="helpid:30367"/>
+ <statusbar:statusbaritem xlink:href=".uno:Zoom" statusbar:align="center" statusbar:width="54" statusbar:helpid="helpid:10000"/>
+ <statusbar:statusbaritem xlink:href=".uno:ModifiedStatus" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="14" statusbar:helpid="helpid:5584"/>
+ <statusbar:statusbaritem xlink:href=".uno:Signature" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="16" statusbar:helpid="helpid:5699"/>
+</statusbar:statusbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/smath/toolbar/fullscreenbar.xml b/test/user-template/user/config/soffice.cfg/modules/smath/toolbar/fullscreenbar.xml
new file mode 100644
index 000000000000..ce9cf7d93013
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/smath/toolbar/fullscreenbar.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FullScreen" toolbar:helpid="helpid:5627" toolbar:text="" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/smath/toolbar/standardbar.xml b/test/user-template/user/config/soffice.cfg/modules/smath/toolbar/standardbar.xml
new file mode 100644
index 000000000000..1a00b34b0128
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/smath/toolbar/standardbar.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:OpenUrl" toolbar:visible="false"/>
+ <toolbar:toolbaritem xlink:href=".uno:AddDirect" toolbar:helpid="helpid:5537" toolbar:text="" toolbar:style="dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:NewDoc" toolbar:helpid="helpid:5500" toolbar:text="" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:Open" toolbar:helpid="helpid:5501" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Save" toolbar:helpid="helpid:5505" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:SaveAs" toolbar:helpid="helpid:5502" toolbar:text="" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SendMail" toolbar:helpid="5331"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExportDirectToPDF" toolbar:helpid="helpid:6674" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:PrintDefault" toolbar:helpid="helpid:5509" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:SendFax" toolbar:helpid="helpid:20028" toolbar:text="" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Cut" toolbar:helpid="helpid:5710" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Copy" toolbar:helpid="helpid:5711" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Paste" toolbar:helpid="helpid:5712" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Undo" toolbar:helpid="helpid:5701" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Redo" toolbar:helpid="helpid:5700" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:HelpIndex" toolbar:helpid="helpid:5401" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:ExtendedHelp" toolbar:text="" toolbar:visible="false" toolbar:helpid="5402"/>
+
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/smath/toolbar/toolbar.xml b/test/user-template/user/config/soffice.cfg/modules/smath/toolbar/toolbar.xml
new file mode 100644
index 000000000000..1d3eeb2dd0c8
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/smath/toolbar/toolbar.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:ZoomIn" toolbar:helpid="helpid:30266" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:ZoomOut" toolbar:helpid="helpid:30267" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:View100" toolbar:helpid="helpid:30264" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Adjust" toolbar:helpid="helpid:30269" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Draw" toolbar:helpid="helpid:30268" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:FormelCursor" toolbar:helpid="helpid:30271" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolCatalogue" toolbar:helpid="helpid:30261" toolbar:text="" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/menubar/menubar.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/menubar/menubar.xml
new file mode 100644
index 000000000000..552019d6cf86
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/menubar/menubar.xml
@@ -0,0 +1,389 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<menu:menubar xmlns:menu="http://openoffice.org/2001/menu" menu:id="menubar">
+ <menu:menu menu:id=".uno:PickList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:AddDirect"/>
+ <menu:menuitem menu:id=".uno:Open"/>
+ <menu:menuitem menu:id=".uno:RecentFileList"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AutoPilotMenu"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CloseDoc"/>
+ <menu:menuitem menu:id=".uno:Save"/>
+ <menu:menuitem menu:id=".uno:SaveAs"/>
+ <menu:menuitem menu:id=".uno:SaveAll"/>
+ <menu:menuitem menu:id=".uno:Reload"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ExportTo"/>
+ <menu:menu menu:id=".uno:SendToMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SendMail"/>
+ <menu:menuitem menu:id=".uno:SendMailDocAsPDF"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SetDocumentProperties"/>
+ <menu:menu menu:id=".uno:TemplateMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Organizer"/>
+ <menu:menuitem menu:id=".uno:AddressBookSource"/>
+ <menu:menuitem menu:id=".uno:SaveAsTemplate"/>
+ <menu:menuitem menu:id=".uno:OpenTemplate"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:WebHtml"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:PrintPreview"/>
+ <menu:menuitem menu:id=".uno:Print"/>
+ <menu:menuitem menu:id=".uno:PrinterSetup"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Quit"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:EditMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Undo"/>
+ <menu:menuitem menu:id=".uno:Redo"/>
+ <menu:menuitem menu:id=".uno:Repeat"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Cut"/>
+ <menu:menuitem menu:id=".uno:Copy"/>
+ <menu:menuitem menu:id=".uno:Paste"/>
+ <menu:menuitem menu:id=".uno:PasteSpecial"/>
+ <menu:menuitem menu:id=".uno:SelectTextMode"/>
+ <menu:menu menu:id=".uno:SelectionModeMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SelectionModeDefault" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:SelectionModeBlock" menu:style="radio"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:SelectAll"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id="vnd.sun.star.findbar:FocusToFindbar"/>
+ <menu:menuitem menu:id=".uno:SearchDialog"/>
+ <menu:menuitem menu:id=".uno:EditGlossary"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:FieldDialog"/>
+ <menu:menuitem menu:id=".uno:EditFootnote"/>
+ <menu:menuitem menu:id=".uno:EditHyperlink"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:LinkDialog"/>
+ <menu:menuitem menu:id=".uno:PlugInsActive"/>
+ <menu:menuitem menu:id=".uno:ImageMapDialog"/>
+ <menu:menuitem menu:id=".uno:ObjectMenue"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ViewMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:PrintLayout" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:BrowseView" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:SourceView" menu:style="radio"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AvailableToolbars"/>
+ <menu:menuitem menu:id=".uno:StatusBarVisible"/>
+ <menu:menuitem menu:id=".uno:ShowImeStatusWindow"/>
+ <menu:menuitem menu:id=".uno:Ruler"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ViewBounds"/>
+ <menu:menuitem menu:id=".uno:Marks"/>
+ <menu:menuitem menu:id=".uno:Fieldnames"/>
+ <menu:menuitem menu:id=".uno:ControlCodes"/>
+ <menu:menuitem menu:id=".uno:ShowHiddenParagraphs"/>
+ <menu:menuitem menu:id=".uno:ShowAnnotations"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ViewDataSourceBrowser"/>
+ <menu:menuitem menu:id=".uno:Navigator"/>
+ <menu:menuitem menu:id=".uno:TaskPane"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:FullScreen"/>
+ <menu:menuitem menu:id=".uno:Zoom"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:InsertMenu">
+ <menu:menupopup>
+ <menu:menu menu:id=".uno:FieldMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertDateField"/>
+ <menu:menuitem menu:id=".uno:InsertTimeField"/>
+ <menu:menuitem menu:id=".uno:InsertPageNumberField"/>
+ <menu:menuitem menu:id=".uno:InsertPageCountField"/>
+ <menu:menuitem menu:id=".uno:InsertTitleField"/>
+ <menu:menuitem menu:id=".uno:InsertAuthorField"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertField"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:InsertSymbol"/>
+ <menu:menu menu:id=".uno:FormattingMarkMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertNonBreakingSpace"/>
+ <menu:menuitem menu:id=".uno:InsertHardHyphen"/>
+ <menu:menuitem menu:id=".uno:InsertSoftHyphen"/>
+ <menu:menuitem menu:id=".uno:InsertZWSP"/>
+ <menu:menuitem menu:id=".uno:InsertZWNBSP"/>
+ <menu:menuitem menu:id=".uno:InsertLRM"/>
+ <menu:menuitem menu:id=".uno:InsertRLM"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertSection"/>
+ <menu:menuitem menu:id=".uno:HyperlinkDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertFootnoteDialog"/>
+ <menu:menuitem menu:id=".uno:InsertBookmark"/>
+ <menu:menuitem menu:id=".uno:InsertAnnotation"/>
+ <menu:menuitem menu:id=".uno:InsertScript"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertFrame"/>
+ <menu:menuitem menu:id=".uno:InsertTable"/>
+ <menu:menuitem menu:id=".uno:InsertGraphicRuler"/>
+ <menu:menuitem menu:id=".uno:InsertGraphic"/>
+ <menu:menuitem menu:id=".uno:InsertAVMedia"/>
+ <menu:menu menu:id=".uno:ObjectMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertObject"/>
+ <menu:menuitem menu:id=".uno:InsertPlugin"/>
+ <menu:menuitem menu:id=".uno:InsertObjectStarMath"/>
+ <menu:menuitem menu:id=".uno:InsertObjectChart"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:InsertObjectFloatingFrame"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertDoc"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:FormatMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ResetAttributes"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:FontDialog"/>
+ <menu:menuitem menu:id=".uno:ParagraphDialog"/>
+ <menu:menuitem menu:id=".uno:BulletsAndNumberingDialog"/>
+ <menu:menuitem menu:id=".uno:PageDialog"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:TransliterateMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ChangeCaseToSentenceCase"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToLower"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToUpper"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToTitleCase"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToToggleCase"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToHalfWidth"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToFullWidth"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToHiragana"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToKatakana"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:FormatColumns"/>
+ <menu:menuitem menu:id=".uno:EditRegion"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:DesignerDialog"/>
+ <menu:menu menu:id=".uno:AutoFormatMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:OnlineAutoFormat"/>
+ <menu:menuitem menu:id=".uno:AutoFormatApply"/>
+ <menu:menuitem menu:id=".uno:AutoFormatRedlineApply"/>
+ <menu:menuitem menu:id=".uno:AutoCorrectDlg"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:AnchorMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SetAnchorToPage" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:SetAnchorToPara" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:SetAnchorAtChar" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:SetAnchorToChar" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:SetAnchorToFrame" menu:style="radio"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:WrapMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:WrapOff"/>
+ <menu:menuitem menu:id=".uno:WrapOn"/>
+ <menu:menuitem menu:id=".uno:WrapIdeal"/>
+ <menu:menuitem menu:id=".uno:WrapThrough"/>
+ <menu:menuitem menu:id=".uno:WrapThroughTransparent"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:WrapContour"/>
+ <menu:menuitem menu:id=".uno:ContourDialog"/>
+ <menu:menuitem menu:id=".uno:WrapAnchorOnly"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:TextWrap"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ObjectAlign">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:CommonAlignLeft" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:CommonAlignHorizontalCenter" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:CommonAlignRight" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:CommonAlignJustified" menu:style="radio"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CommonAlignTop"/>
+ <menu:menuitem menu:id=".uno:CommonAlignVerticalCenter"/>
+ <menu:menuitem menu:id=".uno:CommonAlignBottom"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ArrangeMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:BringToFront"/>
+ <menu:menuitem menu:id=".uno:ObjectForwardOne"/>
+ <menu:menuitem menu:id=".uno:ObjectBackOne"/>
+ <menu:menuitem menu:id=".uno:SendToBack"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SetObjectToForeground"/>
+ <menu:menuitem menu:id=".uno:SetObjectToBackground"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:FlipMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:FlipHorizontal"/>
+ <menu:menuitem menu:id=".uno:FlipVertical"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:GroupMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:FormatGroup"/>
+ <menu:menuitem menu:id=".uno:FormatUngroup"/>
+ <menu:menuitem menu:id=".uno:EnterGroup"/>
+ <menu:menuitem menu:id=".uno:LeaveGroup"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ObjectMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:TransformDialog"/>
+ <menu:menuitem menu:id=".uno:FormatLine"/>
+ <menu:menuitem menu:id=".uno:FormatArea"/>
+ <menu:menuitem menu:id=".uno:TextAttributes"/>
+ <menu:menuitem menu:id=".uno:FontWork"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:NameGroup"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:FrameDialog"/>
+ <menu:menuitem menu:id=".uno:GraphicDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:TableMenu">
+ <menu:menupopup>
+ <menu:menu menu:id=".uno:TableInsertMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertTable"/>
+ <menu:menuitem menu:id=".uno:InsertRowDialog"/>
+ <menu:menuitem menu:id=".uno:InsertColumnDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:TableDeleteMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:DeleteTable"/>
+ <menu:menuitem menu:id=".uno:DeleteRows"/>
+ <menu:menuitem menu:id=".uno:DeleteColumns"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:TableSelectMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SelectTable"/>
+ <menu:menuitem menu:id=".uno:EntireRow"/>
+ <menu:menuitem menu:id=".uno:EntireColumn"/>
+ <menu:menuitem menu:id=".uno:EntireCell"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:MergeCells"/>
+ <menu:menuitem menu:id=".uno:SplitCell"/>
+ <menu:menuitem menu:id=".uno:Protect"/>
+ <menu:menuitem menu:id=".uno:MergeTable"/>
+ <menu:menuitem menu:id=".uno:SplitTable"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AutoFormat"/>
+ <menu:menu menu:id=".uno:TableAutoFitMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SetColumnWidth"/>
+ <menu:menuitem menu:id=".uno:SetOptimalColumnWidth"/>
+ <menu:menuitem menu:id=".uno:DistributeColumns"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SetRowHeight"/>
+ <menu:menuitem menu:id=".uno:SetOptimalRowHeight"/>
+ <menu:menuitem menu:id=".uno:DistributeRows"/>
+ <menu:menuitem menu:id=".uno:RowSplit"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:HeadingRowsRepeat"/>
+ <menu:menu menu:id=".uno:TableConvertMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ConvertTextToTable"/>
+ <menu:menuitem menu:id=".uno:ConvertTableToText"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:TableSort"/>
+ <menu:menuitem menu:id=".uno:InsertFormula"/>
+ <menu:menuitem menu:id=".uno:TableNumberFormatDialog"/>
+ <menu:menuitem menu:id=".uno:TableBoundaries"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:TableDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ToolsMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SpellingAndGrammarDialog"/>
+ <menu:menu menu:id=".uno:LanguageMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SetLanguageSelectionMenu"/>
+ <menu:menuitem menu:id=".uno:SetLanguageParagraphMenu"/>
+ <menu:menuitem menu:id=".uno:SetLanguageAllTextMenu"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:HangulHanjaConversion"/>
+ <menu:menuitem menu:id=".uno:ChineseConversion"/>
+ <menu:menuitem menu:id=".uno:ThesaurusDialog"/>
+ <menu:menuitem menu:id=".uno:Hyphenate"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MoreDictionaries"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:WordCountDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:FootnoteDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Gallery"/>
+ <menu:menuitem menu:id=".uno:AVMediaPlayer"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:BibliographyComponent"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SortDialog"/>
+ <menu:menuitem menu:id=".uno:CalculateSel"/>
+ <menu:menuitem menu:id=".uno:Repaginate"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:MacrosMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:MacroRecorder"/>
+ <menu:menuitem menu:id=".uno:RunMacro"/>
+ <menu:menu menu:id=".uno:ScriptOrganizer"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MacroOrganizer?TabId:short=1"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id="service:com.sun.star.deployment.ui.PackageManagerDialog"/>
+ <menu:menuitem menu:id=".uno:OpenXMLFilterSettings"/>
+ <menu:menuitem menu:id=".uno:AutoCorrectDlg"/>
+ <menu:menuitem menu:id=".uno:ConfigureDialog"/>
+ <menu:menuitem menu:id=".uno:OptionsTreeDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:WindowList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:NewWindow"/>
+ <menu:menuitem menu:id=".uno:CloseWin"/>
+ <menu:menuseparator/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:HelpMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HelpIndex"/>
+ <menu:menuitem menu:id=".uno:ExtendedHelp"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowLicense"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowCredits"/>
+ <menu:menuitem menu:id=".uno:About"/>
+ </menu:menupopup>
+ </menu:menu>
+</menu:menubar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/statusbar/statusbar.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/statusbar/statusbar.xml
new file mode 100644
index 000000000000..f6880369df08
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/statusbar/statusbar.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE statusbar:statusbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "statusbar.dtd">
+<statusbar:statusbar xmlns:statusbar="http://openoffice.org/2001/statusbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <statusbar:statusbaritem xlink:href=".uno:StatePageNumber" statusbar:align="left" statusbar:autosize="true" statusbar:width="54" statusbar:helpid="helpid:21181"/>
+ <statusbar:statusbaritem xlink:href=".uno:PageStyleName" statusbar:align="left" statusbar:autosize="true" statusbar:width="79" statusbar:helpid="helpid:21182"/>
+ <statusbar:statusbaritem xlink:href=".uno:LanguageStatus" statusbar:align="center" statusbar:autosize="true" statusbar:width="100" />
+ <statusbar:statusbaritem xlink:href=".uno:InsertMode" statusbar:align="center" statusbar:width="37" statusbar:helpid="helpid:10221"/>
+ <statusbar:statusbaritem xlink:href=".uno:SelectionMode" statusbar:align="center" statusbar:width="30" statusbar:helpid="helpid:21185"/>
+ <statusbar:statusbaritem xlink:href=".uno:ModifiedStatus" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="9" statusbar:helpid="helpid:5584"/>
+ <statusbar:statusbaritem xlink:href=".uno:Signature" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="16" statusbar:helpid="helpid:5699"/>
+ <statusbar:statusbaritem xlink:href=".uno:Size" statusbar:align="left" statusbar:autosize="true" statusbar:ownerdraw="true" statusbar:width="129" statusbar:helpid="helpid:10224"/>
+ <statusbar:statusbaritem xlink:href=".uno:ZoomSlider" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="130" statusbar:helpid="helpid:11065"/>
+ <statusbar:statusbaritem xlink:href=".uno:Zoom" statusbar:align="center" statusbar:width="35" statusbar:helpid="helpid:10000"/>
+</statusbar:statusbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/arrowshapes.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/arrowshapes.xml
new file mode 100644
index 000000000000..4a53519494ea
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/arrowshapes.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.down-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-down-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-right-down-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.quad-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.corner-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.split-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.striped-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.notched-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.pentagon-right" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.chevron" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.right-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.down-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-right-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-down-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-right-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.quad-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.circular-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.split-round-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.s-sharped-arrow" toolbar:helpid="helpid:11004" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/basicshapes.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/basicshapes.xml
new file mode 100644
index 000000000000..e65778305788
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/basicshapes.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.rectangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.round-rectangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.quadrat" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.round-quadrat" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.circle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.ellipse" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.circle-pie" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.isosceles-triangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.right-triangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.trapezoid" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.diamond" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.parallelogram" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.pentagon" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.hexagon" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.octagon" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.cross" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.ring" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.block-arc" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.can" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.cube" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.paper" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.frame" toolbar:helpid="helpid:11002" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/bezierobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/bezierobjectbar.xml
new file mode 100644
index 000000000000..7c067e68d13c
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/bezierobjectbar.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:ToggleObjectBezierMode" toolbar:helpid="helpid:10126" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierMove" toolbar:helpid="helpid:10121" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierInsert" toolbar:helpid="helpid:10119" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierDelete" toolbar:helpid="helpid:10120" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierCutLine" toolbar:helpid="helpid:10127" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierConvert" toolbar:helpid="helpid:27065" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierEdge" toolbar:helpid="helpid:27066" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierSmooth" toolbar:helpid="helpid:10123" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierSymmetric" toolbar:helpid="helpid:27067" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierClose" toolbar:helpid="helpid:10122" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierEliminatePoints" toolbar:helpid="helpid:27030" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/calloutshapes.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/calloutshapes.xml
new file mode 100644
index 000000000000..91b957fa697a
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/calloutshapes.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.rectangular-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.round-rectangular-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.round-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.cloud-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.line-callout-1" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.line-callout-2" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.line-callout-3" toolbar:helpid="helpid:11006" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/colorbar.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/colorbar.xml
new file mode 100644
index 000000000000..51054f609d8b
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/colorbar.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:GrafRed" toolbar:helpid="helpid:10865" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafGreen" toolbar:helpid="helpid:10866" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafBlue" toolbar:helpid="helpid:10867" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafLuminance" toolbar:helpid="helpid:10863" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafContrast" toolbar:helpid="helpid:10864" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafGamma" toolbar:helpid="helpid:10868" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafTransparence" toolbar:helpid="helpid:10869" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/drawingobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/drawingobjectbar.xml
new file mode 100644
index 000000000000..124403489aaa
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/drawingobjectbar.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:FormatLine" toolbar:helpid="10143"/>
+ <toolbar:toolbaritem xlink:href=".uno:LineEndStyle" toolbar:helpid="10301"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:XLineStyle" toolbar:helpid="10169"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LineWidth" toolbar:helpid="10171"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:XLineColor" toolbar:helpid="10172"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatArea" toolbar:helpid="10142"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FillStyle" toolbar:helpid="10164"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleObjectRotateMode" toolbar:helpid="10129"/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleAnchorType" toolbar:helpid="20349"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapOff" toolbar:visible="false" toolbar:helpid="20472"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapOn" toolbar:visible="false" toolbar:helpid="20473"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapIdeal" toolbar:visible="false" toolbar:helpid="20563"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapLeft" toolbar:visible="false" toolbar:helpid="20572"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapRight" toolbar:visible="false" toolbar:helpid="20573"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapThrough" toolbar:visible="false" toolbar:helpid="20474"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapContour" toolbar:visible="false" toolbar:helpid="20584"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SetObjectToForeground" toolbar:helpid="10283"/>
+ <toolbar:toolbaritem xlink:href=".uno:SetObjectToBackground" toolbar:helpid="10282"/>
+ <toolbar:toolbaritem xlink:href=".uno:BringToFront" toolbar:helpid="10286"/>
+ <toolbar:toolbaritem xlink:href=".uno:SendToBack" toolbar:helpid="10287"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GridVisible" toolbar:visible="false" toolbar:helpid="27322"/>
+ <toolbar:toolbaritem xlink:href=".uno:GridUse" toolbar:visible="false" toolbar:helpid="27154"/>
+ <toolbar:toolbaritem xlink:href=".uno:HelplinesMove" toolbar:visible="false" toolbar:helpid="27153"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlign" toolbar:helpid="10130"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/drawtextobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/drawtextobjectbar.xml
new file mode 100644
index 000000000000..e71905df663f
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/drawtextobjectbar.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:CharFontName" toolbar:helpid="helpid:10007" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontHeight" toolbar:helpid="helpid:10015" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Bold" toolbar:helpid="helpid:10009" />
+ <toolbar:toolbaritem xlink:href=".uno:Italic" toolbar:helpid="helpid:10008" />
+ <toolbar:toolbaritem xlink:href=".uno:Underline" toolbar:helpid="helpid:10014" />
+ <toolbar:toolbaritem xlink:href=".uno:SuperScript" toolbar:helpid="helpid:20411" />
+ <toolbar:toolbaritem xlink:href=".uno:SubScript" toolbar:helpid="helpid:20412" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LeftPara" toolbar:helpid="helpid:10028" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CenterPara" toolbar:helpid="helpid:10030" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:RightPara" toolbar:helpid="helpid:10029" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:JustifyPara" toolbar:helpid="helpid:10031" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara1" toolbar:helpid="helpid:10034" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara15" toolbar:helpid="helpid:10035" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara2" toolbar:helpid="helpid:10036" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Color" toolbar:helpid="helpid:10017" toolbar:style="dropdown" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ParaLeftToRight" toolbar:helpid="helpid:10950" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:ParaRightToLeft" toolbar:helpid="helpid:10951" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:TextdirectionLeftToRight" toolbar:helpid="helpid:10907" />
+ <toolbar:toolbaritem xlink:href=".uno:TextdirectionTopToBottom" toolbar:helpid="helpid:10908" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SelectAll" toolbar:helpid="helpid:5723" />
+ <toolbar:toolbaritem xlink:href=".uno:FontDialog" toolbar:helpid="helpid:10296" />
+ <toolbar:toolbaritem xlink:href=".uno:ParagraphDialog" toolbar:helpid="helpid:10297" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/extrusionobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/extrusionobjectbar.xml
new file mode 100644
index 000000000000..148849db6ee7
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/extrusionobjectbar.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionToggle" toolbar:helpid="10960"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltDown" toolbar:helpid="10961"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltUp" toolbar:helpid="10962"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltLeft" toolbar:helpid="10963"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltRight" toolbar:helpid="10964"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionDepthFloater" toolbar:helpid="10965" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionDirectionFloater" toolbar:helpid="10966" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionLightingFloater" toolbar:helpid="10967" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionSurfaceFloater" toolbar:helpid="10968" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:Extrusion3DColor" toolbar:helpid="10969" toolbar:style="dropdownonly"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/findbar.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/findbar.xml
new file mode 100644
index 000000000000..49e483e178a3
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/findbar.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FindText"/>
+ <toolbar:toolbaritem xlink:href=".uno:DownSearch"/>
+ <toolbar:toolbaritem xlink:href=".uno:UpSearch"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SearchDialog"/>
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/flowchartshapes.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/flowchartshapes.xml
new file mode 100644
index 000000000000..bb1d1099dbd4
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/flowchartshapes.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-process" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-alternate-process" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-decision" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-data" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-predefined-process" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-internal-storage" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-document" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-multidocument" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-terminator" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-preparation" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-manual-input" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-manual-operation" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-connector" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-off-page-connector" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-card" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-punched-tape" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-summing-junction" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-or" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-collate" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-sort" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-extract" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-merge" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-stored-data" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-delay" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-sequential-access" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-magnetic-disk" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-direct-access-storage" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-display" toolbar:helpid="helpid:11005" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/fontworkobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/fontworkobjectbar.xml
new file mode 100644
index 000000000000..a6d5c8d4f6f9
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/fontworkobjectbar.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FontworkGalleryFloater" toolbar:helpid="helpid:10977" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType" toolbar:helpid="helpid:10978" toolbar:style="dropdownonly" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkSameLetterHeights" toolbar:helpid="helpid:10979" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkAlignmentFloater" toolbar:helpid="helpid:10981" toolbar:style="dropdownonly" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkCharacterSpacingFloater" toolbar:helpid="helpid:10982" toolbar:style="dropdownonly" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/fontworkshapetype.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/fontworkshapetype.xml
new file mode 100644
index 000000000000..49b5b8173e0e
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/fontworkshapetype.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-plain-text" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-wave" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-inflate" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-stop" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-curve-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-curve-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-triangle-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-triangle-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-right" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-left" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-slant-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-slant-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-up-and-right" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-up-and-left" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-chevron-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-chevron-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-up-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-down-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-left-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-right-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-circle-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-open-circle-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-up-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-down-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-left-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-right-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-circle-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-open-circle-pour" toolbar:helpid="helpid:10978" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/formcontrols.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/formcontrols.xml
new file mode 100644
index 000000000000..48fc8fb1653e
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/formcontrols.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SelectObject" toolbar:helpid="helpid:10128" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:SwitchControlDesignMode" toolbar:helpid="helpid:10629" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ControlProperties" toolbar:helpid="helpid:10613" />
+ <toolbar:toolbaritem xlink:href=".uno:FormProperties" toolbar:helpid="helpid:10614" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:CheckBox" toolbar:helpid="helpid:10596" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Edit" toolbar:helpid="helpid:10599" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FormattedField" toolbar:helpid="helpid:10728" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Pushbutton" toolbar:helpid="helpid:10594" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:RadioButton" toolbar:helpid="helpid:10595" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:ListBox" toolbar:helpid="helpid:10600" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ComboBox" toolbar:helpid="helpid:10601" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Label" toolbar:helpid="helpid:10597" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FormDesignTools" toolbar:helpid="helpid:11046" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:UseWizards" toolbar:helpid="helpid:10727" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/formdesign.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/formdesign.xml
new file mode 100644
index 000000000000..b667b509e9b2
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/formdesign.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SelectObject" toolbar:helpid="helpid:10128" toolbar:style="radio auto" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ControlProperties" toolbar:helpid="helpid:10613" />
+ <toolbar:toolbaritem xlink:href=".uno:FormProperties" toolbar:helpid="helpid:10614" />
+ <toolbar:toolbaritem xlink:href=".uno:TransformDialog" toolbar:helpid="helpid:10087" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ShowFmExplorer" toolbar:helpid="helpid:10633" />
+ <toolbar:toolbaritem xlink:href=".uno:TabDialog" toolbar:helpid="helpid:10615" />
+ <toolbar:toolbaritem xlink:href=".uno:AddField" toolbar:helpid="helpid:10623" />
+ <toolbar:toolbaritem xlink:href=".uno:AutoControlFocus" toolbar:helpid="helpid:10763" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleAnchorType" toolbar:helpid="helpid:20349" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BringToFront" toolbar:helpid="helpid:10286" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SendToBack" toolbar:helpid="helpid:10287" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatGroup" toolbar:helpid="helpid:10454" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:FormatUngroup" toolbar:helpid="helpid:10455" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:EnterGroup" toolbar:helpid="helpid:27096" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:LeaveGroup" toolbar:helpid="helpid:27097" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlign" toolbar:helpid="helpid:10130" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:OpenReadOnly" toolbar:helpid="helpid:10709" />
+ <toolbar:toolbaritem xlink:href=".uno:GridVisible" toolbar:helpid="helpid:27322" />
+ <toolbar:toolbaritem xlink:href=".uno:GridUse" toolbar:helpid="helpid:27154" />
+ <toolbar:toolbaritem xlink:href=".uno:HelplinesMove" toolbar:helpid="helpid:27153" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/formsfilterbar.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/formsfilterbar.xml
new file mode 100644
index 000000000000..1d1ad07a9938
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/formsfilterbar.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FormFilterExecute" toolbar:helpid="helpid:10731" />
+ <toolbar:toolbaritem xlink:href=".uno:FormFilterNavigator" toolbar:helpid="helpid:10732" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormFilterExit" toolbar:helpid="helpid:10730" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/formsnavigationbar.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/formsnavigationbar.xml
new file mode 100644
index 000000000000..c6e16444a55d
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/formsnavigationbar.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:RecSearch" toolbar:helpid="10725"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:RecText" toolbar:helpid="10624"/>
+ <toolbar:toolbaritem xlink:href=".uno:AbsoluteRecord" toolbar:helpid="10622"/>
+ <toolbar:toolbaritem xlink:href=".uno:RecFromText" toolbar:helpid="10625"/>
+ <toolbar:toolbaritem xlink:href=".uno:RecTotal" toolbar:helpid="10626"/>
+ <toolbar:toolbaritem xlink:href=".uno:FirstRecord" toolbar:helpid="10616"/>
+ <toolbar:toolbaritem xlink:href=".uno:PrevRecord" toolbar:helpid="10618"/>
+ <toolbar:toolbaritem xlink:href=".uno:NextRecord" toolbar:helpid="10617"/>
+ <toolbar:toolbaritem xlink:href=".uno:LastRecord" toolbar:helpid="10619"/>
+ <toolbar:toolbaritem xlink:href=".uno:NewRecord" toolbar:helpid="10620"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:RecSave" toolbar:helpid="10627"/>
+ <toolbar:toolbaritem xlink:href=".uno:RecUndo" toolbar:helpid="10630"/>
+ <toolbar:toolbaritem xlink:href=".uno:DeleteRecord" toolbar:helpid="10621"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Refresh" toolbar:helpid="10724"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:OrderCrit" toolbar:helpid="10714"/>
+ <toolbar:toolbaritem xlink:href=".uno:Sortup" toolbar:helpid="10712"/>
+ <toolbar:toolbaritem xlink:href=".uno:SortDown" toolbar:helpid="10713"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AutoFilter" toolbar:helpid="10716"/>
+ <toolbar:toolbaritem xlink:href=".uno:FormFiltered" toolbar:helpid="10723"/>
+ <toolbar:toolbaritem xlink:href=".uno:FormFilter" toolbar:helpid="10729"/>
+ <toolbar:toolbaritem xlink:href=".uno:RemoveFilterSort" toolbar:helpid="10711"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ViewFormAsGrid" toolbar:helpid="10761"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/formtextobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/formtextobjectbar.xml
new file mode 100644
index 000000000000..dbdeaf675371
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/formtextobjectbar.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:CharFontName" toolbar:helpid="helpid:10007" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontHeight" toolbar:helpid="helpid:10015" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Bold" toolbar:helpid="helpid:10009" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Italic" toolbar:helpid="helpid:10008" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Underline" toolbar:helpid="helpid:10014" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:SuperScript" toolbar:helpid="helpid:20411" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:SubScript" toolbar:helpid="helpid:20412" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LeftPara" toolbar:helpid="helpid:10028" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CenterPara" toolbar:helpid="helpid:10030" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:RightPara" toolbar:helpid="helpid:10029" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:JustifyPara" toolbar:helpid="helpid:10031" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ParaLeftToRight" toolbar:helpid="helpid:10950" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:ParaRightToLeft" toolbar:helpid="helpid:10951" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara1" toolbar:helpid="helpid:10034" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara15" toolbar:helpid="helpid:10035" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara2" toolbar:helpid="helpid:10036" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontDialog" toolbar:helpid="helpid:10296" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:ParagraphDialog" toolbar:helpid="helpid:10297" toolbar:text="" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/frameobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/frameobjectbar.xml
new file mode 100644
index 000000000000..a591f9094457
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/frameobjectbar.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:StyleApply" toolbar:helpid="helpid:5552" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapOff" toolbar:helpid="helpid:20472" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:WrapOn" toolbar:helpid="helpid:20473" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:WrapIdeal" toolbar:helpid="helpid:20563" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:WrapLeft" toolbar:helpid="helpid:20572" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:WrapRight" toolbar:helpid="helpid:20573" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:WrapThrough" toolbar:helpid="helpid:20474" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignLeft" toolbar:helpid="helpid:20475" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignHorizontalCenter" toolbar:helpid="helpid:20477" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignRight" toolbar:helpid="helpid:20476" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignTop" toolbar:helpid="helpid:20478" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignVerticalCenter" toolbar:helpid="helpid:20480" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignBottom" toolbar:helpid="helpid:20479" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SetBorderStyle" toolbar:helpid="helpid:10187" />
+ <toolbar:toolbaritem xlink:href=".uno:LineStyle" toolbar:helpid="helpid:10200" />
+ <toolbar:toolbaritem xlink:href=".uno:FrameLineColor" toolbar:helpid="helpid:10201" />
+ <toolbar:toolbaritem xlink:href=".uno:BackgroundColor" toolbar:helpid="helpid:10185" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FrameDialog" toolbar:helpid="helpid:20456" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BringToFront" toolbar:helpid="helpid:10286" />
+ <toolbar:toolbaritem xlink:href=".uno:SendToBack" toolbar:helpid="helpid:10287" />
+ <toolbar:toolbaritem xlink:href=".uno:ToggleAnchorType" toolbar:helpid="helpid:20349" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ChainFrames" toolbar:helpid="helpid:21736" />
+ <toolbar:toolbaritem xlink:href=".uno:UnhainFrames" toolbar:helpid="helpid:21737" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/fullscreenbar.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/fullscreenbar.xml
new file mode 100644
index 000000000000..5aecdda4fb04
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/fullscreenbar.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FullScreen" toolbar:helpid="helpid:5627" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/graffilterbar.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/graffilterbar.xml
new file mode 100644
index 000000000000..287c33fe25e5
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/graffilterbar.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterInvert" toolbar:helpid="helpid:34149" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSmooth" toolbar:helpid="helpid:34150" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSharpen" toolbar:helpid="helpid:34151" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterRemoveNoise" toolbar:helpid="helpid:34152" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSolarize" toolbar:helpid="helpid:34159" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSepia" toolbar:helpid="helpid:34158" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterPoster" toolbar:helpid="helpid:34156" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterPopart" toolbar:helpid="helpid:34157" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSobel" toolbar:helpid="helpid:34153" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterRelief" toolbar:helpid="helpid:34155" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterMosaic" toolbar:helpid="helpid:34154" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/graphicobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/graphicobjectbar.xml
new file mode 100644
index 000000000000..9b5f91cfe9ba
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/graphicobjectbar.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:WrapOff" toolbar:helpid="20472"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapLeft" toolbar:helpid="20572"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapRight" toolbar:helpid="20573"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ImageMapDialog" toolbar:helpid="10371"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignLeft" toolbar:helpid="20475"/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignRight" toolbar:helpid="20476"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignTop" toolbar:helpid="20478"/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignVerticalCenter" toolbar:helpid="20480"/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignBottom" toolbar:helpid="20479"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SetBorderStyle" toolbar:helpid="10187"/>
+ <toolbar:toolbaritem xlink:href=".uno:LineStyle" toolbar:helpid="10200"/>
+ <toolbar:toolbaritem xlink:href=".uno:FrameLineColor" toolbar:helpid="10201"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FrameDialog" toolbar:helpid="20458"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BringToFront" toolbar:helpid="10286"/>
+ <toolbar:toolbaritem xlink:href=".uno:SendToBack" toolbar:helpid="10287"/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleAnchorType" toolbar:helpid="20349"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/insertbar.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/insertbar.xml
new file mode 100644
index 000000000000..bc58724fab26
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/insertbar.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:InsertTable" toolbar:helpid="20330"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertSection" toolbar:helpid="21419"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertFootnote" toolbar:helpid="20399"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertEndnote" toolbar:helpid="21418"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertAnnotation" toolbar:helpid="20329"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertBookmark" toolbar:helpid="20302"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertDoc" toolbar:visible="false" toolbar:helpid="5532"/>
+ <toolbar:toolbaritem xlink:href=".uno:EditGlossary"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertSymbol" toolbar:helpid="20328"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertFieldCtrl" toolbar:helpid="52824"/>
+ <toolbar:toolbaritem xlink:href=".uno:Config" toolbar:visible="false" toolbar:helpid="10593"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertGraphic" toolbar:helpid="10241"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertAVMedia" toolbar:helpid="6695"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertObjectStarMath" toolbar:helpid="20369"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertObjectChart" toolbar:visible="false" toolbar:helpid="10140"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertMultiIndex" toolbar:helpid="21420"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertIndexesEntry" toolbar:helpid="20335"/>
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/mediaobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/mediaobjectbar.xml
new file mode 100644
index 000000000000..2014343bf89b
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/mediaobjectbar.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:InsertAVMedia" toolbar:helpid="6695"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AVMediaToolBox" toolbar:helpid="helpid:6693" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/numobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/numobjectbar.xml
new file mode 100644
index 000000000000..50e28ac32f64
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/numobjectbar.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:DefaultBullet" toolbar:helpid="20138"/>
+ <toolbar:toolbaritem xlink:href=".uno:DefaultNumbering" toolbar:helpid="20144"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:RemoveBullets" toolbar:helpid="20137"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:IncrementLevel" toolbar:helpid="20131"/>
+ <toolbar:toolbaritem xlink:href=".uno:DecrementLevel" toolbar:helpid="20130"/>
+ <toolbar:toolbaritem xlink:href=".uno:IncrementSubLevels" toolbar:helpid="20140"/>
+ <toolbar:toolbaritem xlink:href=".uno:DecrementSubLevels" toolbar:helpid="20139"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertNeutralParagraph" toolbar:helpid="20136"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:MoveUp" toolbar:helpid="20134"/>
+ <toolbar:toolbaritem xlink:href=".uno:MoveDown" toolbar:helpid="20135"/>
+ <toolbar:toolbaritem xlink:href=".uno:MoveUpSubItems" toolbar:helpid="20141"/>
+ <toolbar:toolbaritem xlink:href=".uno:MoveDownSubItems" toolbar:helpid="20142"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:NumberingStart" toolbar:helpid="21738"/>
+ <toolbar:toolbaritem xlink:href=".uno:BulletsAndNumberingDialog" toolbar:helpid="20121"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/oleobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/oleobjectbar.xml
new file mode 100644
index 000000000000..c95b1aebb316
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/oleobjectbar.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:StyleApply" toolbar:helpid="5552"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignLeft" toolbar:helpid="20475"/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignHorizontalCenter" toolbar:helpid="20477"/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignRight" toolbar:helpid="20476"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignTop" toolbar:helpid="20478"/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignVerticalCenter" toolbar:helpid="20480"/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignBottom" toolbar:helpid="20479"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapLeft" toolbar:visible="false" toolbar:helpid="20572"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapRight" toolbar:visible="false" toolbar:helpid="20573"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapOff" toolbar:helpid="20472"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapOn" toolbar:helpid="20473"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapThrough" toolbar:helpid="20474"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapIdeal" toolbar:visible="false" toolbar:helpid="20563"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FrameDialog" toolbar:helpid="20456"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BringToFront" toolbar:helpid="10286"/>
+ <toolbar:toolbaritem xlink:href=".uno:SendToBack" toolbar:helpid="10287"/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleAnchorType" toolbar:helpid="20349"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SetBorderStyle" toolbar:helpid="10187"/>
+ <toolbar:toolbaritem xlink:href=".uno:LineStyle" toolbar:helpid="10200"/>
+ <toolbar:toolbaritem xlink:href=".uno:FrameLineColor" toolbar:helpid="10201"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/optimizetablebar.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/optimizetablebar.xml
new file mode 100644
index 000000000000..7669add92e89
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/optimizetablebar.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:DistributeColumns" toolbar:helpid="helpid:20582" />
+ <toolbar:toolbaritem xlink:href=".uno:DistributeRows" toolbar:helpid="helpid:20583" />
+ <toolbar:toolbaritem xlink:href=".uno:SetOptimalRowHeight" toolbar:helpid="helpid:20528" />
+ <toolbar:toolbaritem xlink:href=".uno:SetOptimalColumnWidth" toolbar:helpid="helpid:20521" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/previewobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/previewobjectbar.xml
new file mode 100644
index 000000000000..5c6d30522614
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/previewobjectbar.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:PageUp" toolbar:helpid="20937"/>
+ <toolbar:toolbaritem xlink:href=".uno:PageDown" toolbar:helpid="20938"/>
+<toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GoToStartOfDoc" toolbar:helpid="20907"/>
+ <toolbar:toolbaritem xlink:href=".uno:GoToEndOfDoc" toolbar:helpid="20908"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ShowTwoPages" toolbar:helpid="21251"/>
+ <toolbar:toolbaritem xlink:href=".uno:ShowMultiplePages" toolbar:helpid="21252"/>
+ <toolbar:toolbaritem xlink:href=".uno:ShowBookview" toolbar:helpid="helpid:21255" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ZoomPlus" toolbar:helpid="10097"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:PreviewZoom" toolbar:helpid="53071"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ZoomMinus" toolbar:helpid="10098"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FullScreen" toolbar:helpid="5627"/>
+ <toolbar:toolbaritem xlink:href=".uno:PrintPagePreView" toolbar:helpid="21253"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ClosePreview" toolbar:helpid="5325"/>
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/standardbar.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/standardbar.xml
new file mode 100644
index 000000000000..a5d029920848
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/standardbar.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:OpenUrl" toolbar:visible="false"/>
+ <toolbar:toolbaritem xlink:href=".uno:AddDirect" toolbar:helpid="5537"/>
+ <toolbar:toolbaritem xlink:href=".uno:NewDoc" toolbar:visible="false" toolbar:helpid="5500"/>
+ <toolbar:toolbaritem xlink:href=".uno:Open" toolbar:helpid="5501"/>
+ <toolbar:toolbaritem xlink:href=".uno:Save" toolbar:helpid="5505"/>
+ <toolbar:toolbaritem xlink:href=".uno:SaveAs" toolbar:visible="false" toolbar:helpid="5502"/>
+ <toolbar:toolbaritem xlink:href=".uno:SendMail" toolbar:helpid="5331"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:EditDoc" toolbar:helpid="6312"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExportDirectToPDF" toolbar:helpid="6674"/>
+ <toolbar:toolbaritem xlink:href=".uno:PrintDefault" toolbar:helpid="5509"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:PrintPreview" toolbar:helpid="5325"/>
+ <toolbar:toolbaritem xlink:href=".uno:SourceView" toolbar:helpid="5675"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SpellingAndGrammarDialog" toolbar:helpid="20622"/>
+ <toolbar:toolbaritem xlink:href=".uno:SpellOnline" toolbar:helpid="12021"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Cut" toolbar:helpid="5710"/>
+ <toolbar:toolbaritem xlink:href=".uno:Copy" toolbar:helpid="5711"/>
+ <toolbar:toolbaritem xlink:href=".uno:Paste" toolbar:helpid="5712"/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatPaintbrush" toolbar:helpid="5715"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Undo" toolbar:helpid="5701"/>
+ <toolbar:toolbaritem xlink:href=".uno:Redo" toolbar:helpid="5700"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:HyperlinkDialog" toolbar:helpid="5678"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertTable" toolbar:helpid="20330"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertGraphic" toolbar:helpid="10241"/>
+ <toolbar:toolbaritem xlink:href=".uno:Config" toolbar:helpid="10593"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SearchDialog" toolbar:helpid="5961" toolbar:visible="false"/>
+ <toolbar:toolbaritem xlink:href=".uno:Navigator" toolbar:helpid="10366"/>
+ <toolbar:toolbaritem xlink:href=".uno:Gallery" toolbar:helpid="5960"/>
+ <toolbar:toolbaritem xlink:href=".uno:ViewDataSourceBrowser" toolbar:helpid="6660"/>
+ <toolbar:toolbaritem xlink:href=".uno:ControlCodes" toolbar:helpid="20224"/>
+ <toolbar:toolbaritem xlink:href=".uno:Zoom" toolbar:helpid="10000" toolbar:visible="false"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:HelpIndex"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtendedHelp" toolbar:visible="false" toolbar:helpid="5402"/>
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/starshapes.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/starshapes.xml
new file mode 100644
index 000000000000..a2ff874d2fe7
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/starshapes.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.bang" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star4" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star5" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star6" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star8" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star12" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star24" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.concave-star6" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.vertical-scroll" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.horizontal-scroll" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.signet" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.doorplate" toolbar:helpid="helpid:11007" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/symbolshapes.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/symbolshapes.xml
new file mode 100644
index 000000000000..0fa6aee313db
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/symbolshapes.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.smiley" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.sun" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.moon" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.lightning" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.heart" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.flower" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.cloud" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.forbidden" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.puzzle" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.bracket-pair" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.left-bracket" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.right-bracket" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.brace-pair" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.left-brace" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.right-brace" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.quad-bevel" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.octagon-bevel" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.diamond-bevel" toolbar:helpid="helpid:11003" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/tableobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/tableobjectbar.xml
new file mode 100644
index 000000000000..bce574f0d985
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/tableobjectbar.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:InsertTable" toolbar:helpid="helpid:20330" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LineStyle" toolbar:helpid="helpid:10200" />
+ <toolbar:toolbaritem xlink:href=".uno:FrameLineColor" toolbar:helpid="helpid:10201" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SetBorderStyle" toolbar:helpid="helpid:10187" />
+ <toolbar:toolbaritem xlink:href=".uno:BackgroundColor" toolbar:helpid="helpid:10185" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:MergeCells" toolbar:helpid="helpid:20506" />
+ <toolbar:toolbaritem xlink:href=".uno:SplitCell" toolbar:helpid="helpid:20505" />
+ <toolbar:toolbaritem xlink:href=".uno:OptimizeTable" toolbar:helpid="helpid:20510" toolbar:style="dropdown" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:CellVertTop" toolbar:helpid="helpid:20585" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CellVertCenter" toolbar:helpid="helpid:20586" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CellVertBottom" toolbar:helpid="helpid:20587" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertRows" toolbar:helpid="helpid:20501" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertColumns" toolbar:helpid="helpid:20502" />
+ <toolbar:toolbaritem xlink:href=".uno:DeleteRows" toolbar:helpid="helpid:20503" />
+ <toolbar:toolbaritem xlink:href=".uno:DeleteColumns" toolbar:helpid="helpid:20504" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SelectTable" toolbar:helpid="helpid:20515" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:EntireColumn" toolbar:helpid="helpid:20514" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:EntireRow" toolbar:helpid="helpid:20513" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AutoFormat" toolbar:helpid="helpid:20595" />
+ <toolbar:toolbaritem xlink:href=".uno:TableDialog" toolbar:helpid="helpid:20459" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:TableSort" toolbar:helpid="helpid:20533" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AutoSum" toolbar:helpid="helpid:20595" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/textobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/textobjectbar.xml
new file mode 100644
index 000000000000..b0db34a8d1f3
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/textobjectbar.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:DesignerDialog" toolbar:helpid="5539"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:StyleApply" toolbar:helpid="5552"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:CharFontName" toolbar:helpid="10007"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontHeight" toolbar:helpid="10015"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Bold" toolbar:helpid="10009"/>
+ <toolbar:toolbaritem xlink:href=".uno:Italic" toolbar:helpid="10008"/>
+ <toolbar:toolbaritem xlink:href=".uno:Underline" toolbar:helpid="10014"/>
+ <toolbar:toolbaritem xlink:href=".uno:SuperScript" toolbar:visible="false" toolbar:helpid="20411"/>
+ <toolbar:toolbaritem xlink:href=".uno:SubScript" toolbar:visible="false" toolbar:helpid="20412"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LeftPara" toolbar:helpid="10028"/>
+ <toolbar:toolbaritem xlink:href=".uno:CenterPara" toolbar:helpid="10030"/>
+ <toolbar:toolbaritem xlink:href=".uno:RightPara" toolbar:helpid="10029"/>
+ <toolbar:toolbaritem xlink:href=".uno:JustifyPara" toolbar:helpid="helpid:10031" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ParaLeftToRight" toolbar:helpid="10950"/>
+ <toolbar:toolbaritem xlink:href=".uno:ParaRightToLeft" toolbar:helpid="10951"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara1" toolbar:visible="false" toolbar:helpid="10034"/>
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara15" toolbar:visible="false" toolbar:helpid="10035"/>
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara2" toolbar:visible="false" toolbar:helpid="10036"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:DefaultNumbering" toolbar:helpid="20144"/>
+ <toolbar:toolbaritem xlink:href=".uno:DefaultBullet" toolbar:helpid="20138"/>
+ <toolbar:toolbaritem xlink:href=".uno:DecrementIndent" toolbar:helpid="10461"/>
+ <toolbar:toolbaritem xlink:href=".uno:IncrementIndent" toolbar:helpid="10462"/>
+ <toolbar:toolbaritem xlink:href=".uno:Grow" toolbar:visible="false" toolbar:helpid="20403"/>
+ <toolbar:toolbaritem xlink:href=".uno:Shrink" toolbar:visible="false" toolbar:helpid="20404"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontColor" toolbar:helpid="10017"/>
+ <toolbar:toolbaritem xlink:href=".uno:BackColor" toolbar:helpid="10489"/>
+ <toolbar:toolbaritem xlink:href=".uno:BackgroundColor" toolbar:helpid="10185"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SelectAll" toolbar:visible="false" toolbar:helpid="5723"/>
+ <toolbar:toolbaritem xlink:href=".uno:FontDialog" toolbar:visible="false" toolbar:helpid="10296"/>
+ <toolbar:toolbaritem xlink:href=".uno:ParagraphDialog" toolbar:visible="false" toolbar:helpid="10297"/>
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/toolbar.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/toolbar.xml
new file mode 100644
index 000000000000..ce47aaabe082
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/toolbar.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:InsertCtrl" toolbar:helpid="52822"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Hyphenate" toolbar:helpid="20605"/>
+ <toolbar:toolbaritem xlink:href=".uno:ThesaurusDialog" toolbar:helpid="20603"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Graphic" toolbar:helpid="20213"/>
+ <toolbar:toolbaritem xlink:href=".uno:ImageMapDialog" toolbar:helpid="10371"/>
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/viewerbar.xml b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/viewerbar.xml
new file mode 100644
index 000000000000..d4d6a59d7ed5
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/sweb/toolbar/viewerbar.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SaveAs" toolbar:helpid="helpid:5502" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:EditDoc" toolbar:helpid="helpid:6312" />
+ <toolbar:toolbaritem xlink:href=".uno:SendMail" toolbar:helpid="helpid:5331" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExportDirectToPDF" toolbar:helpid="helpid:6674" />
+ <toolbar:toolbaritem xlink:href=".uno:PrintDefault" toolbar:helpid="helpid:5509" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Copy" toolbar:helpid="helpid:5711" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SearchDialog" toolbar:helpid="helpid:5961" />
+ <toolbar:toolbaritem xlink:href=".uno:Navigator" toolbar:helpid="helpid:10366" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Zoom" toolbar:helpid="helpid:10000" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/menubar/menubar.xml b/test/user-template/user/config/soffice.cfg/modules/swform/menubar/menubar.xml
new file mode 100644
index 000000000000..7e5f14f5d58c
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/menubar/menubar.xml
@@ -0,0 +1,454 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<menu:menubar xmlns:menu="http://openoffice.org/2001/menu" menu:id="menubar">
+ <menu:menu menu:id=".uno:PickList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:AddDirect"/>
+ <menu:menuitem menu:id=".uno:Open"/>
+ <menu:menuitem menu:id=".uno:RecentFileList"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AutoPilotMenu"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CloseDoc"/>
+ <menu:menuitem menu:id=".uno:Save"/>
+ <menu:menuitem menu:id=".uno:SaveAs"/>
+ <menu:menuitem menu:id=".uno:SaveAll"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Reload"/>
+ <menu:menuitem menu:id=".uno:VersionDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ExportTo"/>
+ <menu:menuitem menu:id=".uno:ExportToPDF"/>
+ <menu:menu menu:id=".uno:SendToMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SendMail"/>
+ <menu:menuitem menu:id=".uno:SendMailDocAsOOo"/>
+ <menu:menuitem menu:id=".uno:SendMailDocAsMS"/>
+ <menu:menuitem menu:id=".uno:SendMailDocAsPDF"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:NewGlobalDoc"/>
+ <menu:menuitem menu:id=".uno:NewHtmlDoc"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SendOutlineToStarImpress"/>
+ <menu:menuitem menu:id=".uno:SendOutlineToClipboard"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CreateAbstract"/>
+ <menu:menuitem menu:id=".uno:SendAbstractToStarImpress"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SetDocumentProperties"/>
+ <menu:menu menu:id=".uno:TemplateMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Organizer"/>
+ <menu:menuitem menu:id=".uno:AddressBookSource"/>
+ <menu:menuitem menu:id=".uno:SaveAsTemplate"/>
+ <menu:menuitem menu:id=".uno:OpenTemplate"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:PrintPreview"/>
+ <menu:menuitem menu:id=".uno:Print"/>
+ <menu:menuitem menu:id=".uno:PrinterSetup"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Quit"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:EditMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Undo"/>
+ <menu:menuitem menu:id=".uno:Redo"/>
+ <menu:menuitem menu:id=".uno:Repeat"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Cut"/>
+ <menu:menuitem menu:id=".uno:Copy"/>
+ <menu:menuitem menu:id=".uno:Paste"/>
+ <menu:menuitem menu:id=".uno:PasteSpecial"/>
+ <menu:menuitem menu:id=".uno:SelectTextMode"/>
+ <menu:menu menu:id=".uno:SelectionModeMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SelectionModeDefault" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:SelectionModeBlock" menu:style="radio"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:SelectAll"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:ChangesMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:TrackChanges"/>
+ <menu:menuitem menu:id=".uno:ProtectTraceChangeMode"/>
+ <menu:menuitem menu:id=".uno:ShowTrackedChanges"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AcceptTrackedChanges"/>
+ <menu:menuitem menu:id=".uno:CommentChangeTracking"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MergeDocuments"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:CompareDocuments"/>
+ <menu:menuitem menu:id="vnd.sun.star.findbar:FocusToFindbar"/>
+ <menu:menuitem menu:id=".uno:SearchDialog"/>
+ <menu:menuitem menu:id=".uno:EditGlossary"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ChangeDatabaseField"/>
+ <menu:menuitem menu:id=".uno:FieldDialog"/>
+ <menu:menuitem menu:id=".uno:EditFootnote"/>
+ <menu:menuitem menu:id=".uno:IndexEntryDialog"/>
+ <menu:menuitem menu:id=".uno:AuthoritiesEntryDialog"/>
+ <menu:menuitem menu:id=".uno:EditHyperlink"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:LinkDialog"/>
+ <menu:menuitem menu:id=".uno:PlugInsActive"/>
+ <menu:menuitem menu:id=".uno:ImageMapDialog"/>
+ <menu:menuitem menu:id=".uno:ObjectMenue"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ViewMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:PrintLayout" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:BrowseView" menu:style="radio"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AvailableToolbars"/>
+ <menu:menuitem menu:id=".uno:StatusBarVisible"/>
+ <menu:menuitem menu:id=".uno:ShowImeStatusWindow"/>
+ <menu:menuitem menu:id=".uno:Ruler"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ViewBounds"/>
+ <menu:menuitem menu:id=".uno:Marks"/>
+ <menu:menuitem menu:id=".uno:Fieldnames"/>
+ <menu:menuitem menu:id=".uno:ControlCodes"/>
+ <menu:menuitem menu:id=".uno:ShowHiddenParagraphs"/>
+ <menu:menuitem menu:id=".uno:ShowAnnotations"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ViewDataSourceBrowser"/>
+ <menu:menuitem menu:id=".uno:Navigator"/>
+ <menu:menuitem menu:id=".uno:TaskPane"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:FullScreen"/>
+ <menu:menuitem menu:id=".uno:Zoom"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:InsertMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertBreak"/>
+ <menu:menu menu:id=".uno:FieldMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertDateField"/>
+ <menu:menuitem menu:id=".uno:InsertTimeField"/>
+ <menu:menuitem menu:id=".uno:InsertPageNumberField"/>
+ <menu:menuitem menu:id=".uno:InsertPageCountField"/>
+ <menu:menuitem menu:id=".uno:InsertTopicField"/>
+ <menu:menuitem menu:id=".uno:InsertTitleField"/>
+ <menu:menuitem menu:id=".uno:InsertAuthorField"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertField"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:InsertSymbol"/>
+ <menu:menu menu:id=".uno:FormattingMarkMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertNonBreakingSpace"/>
+ <menu:menuitem menu:id=".uno:InsertHardHyphen"/>
+ <menu:menuitem menu:id=".uno:InsertSoftHyphen"/>
+ <menu:menuitem menu:id=".uno:InsertZWSP"/>
+ <menu:menuitem menu:id=".uno:InsertZWNBSP"/>
+ <menu:menuitem menu:id=".uno:InsertLRM"/>
+ <menu:menuitem menu:id=".uno:InsertRLM"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertSection"/>
+ <menu:menuitem menu:id=".uno:HyperlinkDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertPageHeader"/>
+ <menu:menuitem menu:id=".uno:InsertPageFooter"/>
+ <menu:menuitem menu:id=".uno:InsertFootnoteDialog"/>
+ <menu:menuitem menu:id=".uno:InsertCaptionDialog"/>
+ <menu:menuitem menu:id=".uno:InsertBookmark"/>
+ <menu:menuitem menu:id=".uno:InsertReferenceField"/>
+ <menu:menuitem menu:id=".uno:InsertAnnotation"/>
+ <menu:menuitem menu:id=".uno:InsertScript"/>
+ <menu:menu menu:id=".uno:IndexesMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertIndexesEntry"/>
+ <menu:menuitem menu:id=".uno:InsertMultiIndex"/>
+ <menu:menuitem menu:id=".uno:InsertAuthoritiesEntry"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertEnvelope"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertFrame"/>
+ <menu:menuitem menu:id=".uno:InsertTable"/>
+ <menu:menuitem menu:id=".uno:InsertGraphicRuler"/>
+ <menu:menu menu:id=".uno:GraphicMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertGraphic"/>
+ <menu:menu menu:id=".uno:Scan">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:TwainSelect"/>
+ <menu:menuitem menu:id=".uno:TwainTransfer"/>
+ </menu:menupopup>
+ </menu:menu>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:InsertAVMedia"/>
+ <menu:menu menu:id=".uno:ObjectMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertObject"/>
+ <menu:menuitem menu:id=".uno:InsertPlugin"/>
+ <menu:menuitem menu:id=".uno:InsertObjectStarMath"/>
+ <menu:menuitem menu:id=".uno:InsertObjectChart"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:InsertObjectFloatingFrame"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertDoc"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:FormatMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ResetAttributes"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:FontDialog"/>
+ <menu:menuitem menu:id=".uno:ParagraphDialog"/>
+ <menu:menuitem menu:id=".uno:BulletsAndNumberingDialog"/>
+ <menu:menuitem menu:id=".uno:PageDialog"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:TransliterateMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ChangeCaseToSentenceCase"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToLower"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToUpper"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToTitleCase"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToToggleCase"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToHalfWidth"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToFullWidth"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToHiragana"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToKatakana"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:RubyDialog"/>
+ <menu:menuitem menu:id=".uno:FormatColumns"/>
+ <menu:menuitem menu:id=".uno:EditRegion"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:DesignerDialog"/>
+ <menu:menu menu:id=".uno:AutoFormatMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:OnlineAutoFormat"/>
+ <menu:menuitem menu:id=".uno:AutoFormatApply"/>
+ <menu:menuitem menu:id=".uno:AutoFormatRedlineApply"/>
+ <menu:menuitem menu:id=".uno:AutoCorrectDlg"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:AnchorMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SetAnchorToPage" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:SetAnchorToPara" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:SetAnchorAtChar" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:SetAnchorToChar" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:SetAnchorToFrame" menu:style="radio"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:WrapMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:WrapOff"/>
+ <menu:menuitem menu:id=".uno:WrapOn"/>
+ <menu:menuitem menu:id=".uno:WrapIdeal"/>
+ <menu:menuitem menu:id=".uno:WrapThrough"/>
+ <menu:menuitem menu:id=".uno:WrapThroughTransparent"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:WrapContour"/>
+ <menu:menuitem menu:id=".uno:ContourDialog"/>
+ <menu:menuitem menu:id=".uno:WrapAnchorOnly"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:TextWrap"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ObjectAlign">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:CommonAlignLeft" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:CommonAlignHorizontalCenter" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:CommonAlignRight" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:CommonAlignJustified" menu:style="radio"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CommonAlignTop"/>
+ <menu:menuitem menu:id=".uno:CommonAlignVerticalCenter"/>
+ <menu:menuitem menu:id=".uno:CommonAlignBottom"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ArrangeMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:BringToFront"/>
+ <menu:menuitem menu:id=".uno:ObjectForwardOne"/>
+ <menu:menuitem menu:id=".uno:ObjectBackOne"/>
+ <menu:menuitem menu:id=".uno:SendToBack"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SetObjectToForeground"/>
+ <menu:menuitem menu:id=".uno:SetObjectToBackground"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:FlipMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:FlipHorizontal"/>
+ <menu:menuitem menu:id=".uno:FlipVertical"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:GroupMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:FormatGroup"/>
+ <menu:menuitem menu:id=".uno:FormatUngroup"/>
+ <menu:menuitem menu:id=".uno:EnterGroup"/>
+ <menu:menuitem menu:id=".uno:LeaveGroup"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:ObjectMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:TransformDialog"/>
+ <menu:menuitem menu:id=".uno:FormatLine"/>
+ <menu:menuitem menu:id=".uno:FormatArea"/>
+ <menu:menuitem menu:id=".uno:TextAttributes"/>
+ <menu:menuitem menu:id=".uno:FontWork"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ObjectTitleDescription"/>
+ <menu:menuitem menu:id=".uno:NameGroup"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:FrameDialog"/>
+ <menu:menuitem menu:id=".uno:GraphicDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:TableMenu">
+ <menu:menupopup>
+ <menu:menu menu:id=".uno:TableInsertMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertTable"/>
+ <menu:menuitem menu:id=".uno:InsertRowDialog"/>
+ <menu:menuitem menu:id=".uno:InsertColumnDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:TableDeleteMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:DeleteTable"/>
+ <menu:menuitem menu:id=".uno:DeleteRows"/>
+ <menu:menuitem menu:id=".uno:DeleteColumns"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:TableSelectMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SelectTable"/>
+ <menu:menuitem menu:id=".uno:EntireRow"/>
+ <menu:menuitem menu:id=".uno:EntireColumn"/>
+ <menu:menuitem menu:id=".uno:EntireCell"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:MergeCells"/>
+ <menu:menuitem menu:id=".uno:SplitCell"/>
+ <menu:menuitem menu:id=".uno:Protect"/>
+ <menu:menuitem menu:id=".uno:MergeTable"/>
+ <menu:menuitem menu:id=".uno:SplitTable"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AutoFormat"/>
+ <menu:menu menu:id=".uno:TableAutoFitMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SetColumnWidth"/>
+ <menu:menuitem menu:id=".uno:SetOptimalColumnWidth"/>
+ <menu:menuitem menu:id=".uno:DistributeColumns"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SetRowHeight"/>
+ <menu:menuitem menu:id=".uno:SetOptimalRowHeight"/>
+ <menu:menuitem menu:id=".uno:DistributeRows"/>
+ <menu:menuitem menu:id=".uno:RowSplit"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:HeadingRowsRepeat"/>
+ <menu:menu menu:id=".uno:TableConvertMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ConvertTextToTable"/>
+ <menu:menuitem menu:id=".uno:ConvertTableToText"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:TableSort"/>
+ <menu:menuitem menu:id=".uno:InsertFormula"/>
+ <menu:menuitem menu:id=".uno:TableNumberFormatDialog"/>
+ <menu:menuitem menu:id=".uno:TableBoundaries"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:TableDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ToolsMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SpellingAndGrammarDialog"/>
+ <menu:menu menu:id=".uno:LanguageMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HangulHanjaConversion"/>
+ <menu:menuitem menu:id=".uno:ChineseConversion"/>
+ <menu:menuitem menu:id=".uno:ThesaurusDialog"/>
+ <menu:menuitem menu:id=".uno:Hyphenate"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MoreDictionaries"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:WordCountDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ChapterNumberingDialog"/>
+ <menu:menuitem menu:id=".uno:LineNumberingDialog"/>
+ <menu:menuitem menu:id=".uno:FootnoteDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Gallery"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:BibliographyComponent"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MailMergeWizard"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SortDialog"/>
+ <menu:menuitem menu:id=".uno:CalculateSel"/>
+ <menu:menu menu:id=".uno:UpdateMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:UpdateAll"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:UpdateFields"/>
+ <menu:menuitem menu:id=".uno:UpdateAllLinks"/>
+ <menu:menuitem menu:id=".uno:UpdateCharts"/>
+ <menu:menuitem menu:id=".uno:UpdateCurIndex"/>
+ <menu:menuitem menu:id=".uno:UpdateAllIndexes"/>
+ <menu:menuitem menu:id=".uno:Repaginate"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:MacrosMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:MacroRecorder"/>
+ <menu:menuitem menu:id=".uno:RunMacro"/>
+ <menu:menu menu:id=".uno:ScriptOrganizer"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MacroOrganizer?TabId:short=1"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id="service:com.sun.star.deployment.ui.PackageManagerDialog"/>
+ <menu:menuitem menu:id=".uno:OpenXMLFilterSettings"/>
+ <menu:menuitem menu:id=".uno:AutoCorrectDlg"/>
+ <menu:menuitem menu:id=".uno:ConfigureDialog"/>
+ <menu:menuitem menu:id=".uno:OptionsTreeDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:WindowList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:NewWindow"/>
+ <menu:menuitem menu:id=".uno:CloseWin"/>
+ <menu:menuseparator/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:HelpMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HelpIndex"/>
+ <menu:menuitem menu:id=".uno:ExtendedHelp"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowLicense"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowCredits"/>
+ <menu:menuitem menu:id=".uno:About"/>
+ </menu:menupopup>
+ </menu:menu>
+</menu:menubar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/statusbar/statusbar.xml b/test/user-template/user/config/soffice.cfg/modules/swform/statusbar/statusbar.xml
new file mode 100644
index 000000000000..f6880369df08
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/statusbar/statusbar.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE statusbar:statusbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "statusbar.dtd">
+<statusbar:statusbar xmlns:statusbar="http://openoffice.org/2001/statusbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <statusbar:statusbaritem xlink:href=".uno:StatePageNumber" statusbar:align="left" statusbar:autosize="true" statusbar:width="54" statusbar:helpid="helpid:21181"/>
+ <statusbar:statusbaritem xlink:href=".uno:PageStyleName" statusbar:align="left" statusbar:autosize="true" statusbar:width="79" statusbar:helpid="helpid:21182"/>
+ <statusbar:statusbaritem xlink:href=".uno:LanguageStatus" statusbar:align="center" statusbar:autosize="true" statusbar:width="100" />
+ <statusbar:statusbaritem xlink:href=".uno:InsertMode" statusbar:align="center" statusbar:width="37" statusbar:helpid="helpid:10221"/>
+ <statusbar:statusbaritem xlink:href=".uno:SelectionMode" statusbar:align="center" statusbar:width="30" statusbar:helpid="helpid:21185"/>
+ <statusbar:statusbaritem xlink:href=".uno:ModifiedStatus" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="9" statusbar:helpid="helpid:5584"/>
+ <statusbar:statusbaritem xlink:href=".uno:Signature" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="16" statusbar:helpid="helpid:5699"/>
+ <statusbar:statusbaritem xlink:href=".uno:Size" statusbar:align="left" statusbar:autosize="true" statusbar:ownerdraw="true" statusbar:width="129" statusbar:helpid="helpid:10224"/>
+ <statusbar:statusbaritem xlink:href=".uno:ZoomSlider" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="130" statusbar:helpid="helpid:11065"/>
+ <statusbar:statusbaritem xlink:href=".uno:Zoom" statusbar:align="center" statusbar:width="35" statusbar:helpid="helpid:10000"/>
+</statusbar:statusbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/alignmentbar.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/alignmentbar.xml
new file mode 100644
index 000000000000..dbd7294e566c
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/alignmentbar.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlignLeft" toolbar:helpid="helpid:10131" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignCenter" toolbar:helpid="helpid:10132" />
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlignRight" toolbar:helpid="helpid:10133" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignUp" toolbar:helpid="helpid:10134" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignMiddle" toolbar:helpid="helpid:10135" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignDown" toolbar:helpid="helpid:10136" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/arrowshapes.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/arrowshapes.xml
new file mode 100644
index 000000000000..4a53519494ea
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/arrowshapes.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.down-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-down-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-right-down-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.quad-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.corner-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.split-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.striped-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.notched-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.pentagon-right" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.chevron" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.right-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.down-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-right-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-down-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-right-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.quad-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.circular-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.split-round-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.s-sharped-arrow" toolbar:helpid="helpid:11004" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/basicshapes.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/basicshapes.xml
new file mode 100644
index 000000000000..e65778305788
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/basicshapes.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.rectangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.round-rectangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.quadrat" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.round-quadrat" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.circle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.ellipse" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.circle-pie" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.isosceles-triangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.right-triangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.trapezoid" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.diamond" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.parallelogram" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.pentagon" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.hexagon" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.octagon" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.cross" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.ring" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.block-arc" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.can" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.cube" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.paper" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.frame" toolbar:helpid="helpid:11002" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/bezierobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/bezierobjectbar.xml
new file mode 100644
index 000000000000..7c067e68d13c
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/bezierobjectbar.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:ToggleObjectBezierMode" toolbar:helpid="helpid:10126" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierMove" toolbar:helpid="helpid:10121" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierInsert" toolbar:helpid="helpid:10119" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierDelete" toolbar:helpid="helpid:10120" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierCutLine" toolbar:helpid="helpid:10127" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierConvert" toolbar:helpid="helpid:27065" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierEdge" toolbar:helpid="helpid:27066" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierSmooth" toolbar:helpid="helpid:10123" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierSymmetric" toolbar:helpid="helpid:27067" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierClose" toolbar:helpid="helpid:10122" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierEliminatePoints" toolbar:helpid="helpid:27030" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/calloutshapes.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/calloutshapes.xml
new file mode 100644
index 000000000000..91b957fa697a
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/calloutshapes.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.rectangular-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.round-rectangular-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.round-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.cloud-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.line-callout-1" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.line-callout-2" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.line-callout-3" toolbar:helpid="helpid:11006" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/colorbar.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/colorbar.xml
new file mode 100644
index 000000000000..adcda76b5c3a
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/colorbar.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:GrafRed" toolbar:helpid="helpid:10865" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafGreen" toolbar:helpid="helpid:10866" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafBlue" toolbar:helpid="helpid:10867" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafLuminance" toolbar:helpid="helpid:10863" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafContrast" toolbar:helpid="helpid:10864" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafGamma" toolbar:helpid="helpid:10868" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/drawbar.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/drawbar.xml
new file mode 100644
index 000000000000..2407475a88f6
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/drawbar.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:SelectObject" toolbar:helpid="10128"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Line" toolbar:helpid="10102"/>
+ <toolbar:toolbaritem xlink:href=".uno:Rect" toolbar:helpid="10104"/>
+ <toolbar:toolbaritem xlink:href=".uno:Ellipse" toolbar:helpid="10110"/>
+ <toolbar:toolbaritem xlink:href=".uno:Polygon_Unfilled" toolbar:visible="false" toolbar:helpid="10395"/>
+ <toolbar:toolbaritem xlink:href=".uno:Bezier_Unfilled" toolbar:visible="false" toolbar:helpid="10397"/>
+ <toolbar:toolbaritem xlink:href=".uno:Freeline_Unfilled" toolbar:helpid="10464"/>
+ <toolbar:toolbaritem xlink:href=".uno:Arc" toolbar:visible="false" toolbar:helpid="10114"/>
+ <toolbar:toolbaritem xlink:href=".uno:Pie" toolbar:visible="false" toolbar:helpid="10112"/>
+ <toolbar:toolbaritem xlink:href=".uno:CircleCut" toolbar:visible="false" toolbar:helpid="10115"/>
+ <toolbar:toolbaritem xlink:href=".uno:DrawText" toolbar:helpid="10253"/>
+ <toolbar:toolbaritem xlink:href=".uno:VerticalText" toolbar:helpid="10905"/>
+ <toolbar:toolbaritem xlink:href=".uno:Text_Marquee" toolbar:visible="false" toolbar:helpid="10465"/>
+ <toolbar:toolbaritem xlink:href=".uno:DrawCaption" toolbar:helpid="10254"/>
+ <toolbar:toolbaritem xlink:href=".uno:VerticalCaption" toolbar:helpid="10906"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes" toolbar:helpid="11002"/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes" toolbar:helpid="11003"/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes" toolbar:helpid="11004"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes" toolbar:helpid="11005"/>
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes" toolbar:helpid="11006"/>
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes" toolbar:helpid="11007"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleObjectBezierMode" toolbar:helpid="10126"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkGalleryFloater" toolbar:helpid="10977"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertGraphic" toolbar:helpid="10241"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionToggle" toolbar:helpid="10960"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/drawingobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/drawingobjectbar.xml
new file mode 100644
index 000000000000..4703c3cfdad6
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/drawingobjectbar.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FormatLine" toolbar:helpid="helpid:10143" />
+ <toolbar:toolbaritem xlink:href=".uno:LineEndStyle" toolbar:helpid="helpid:10301" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:XLineStyle" toolbar:helpid="helpid:10169" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LineWidth" toolbar:helpid="helpid:10171" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:XLineColor" toolbar:helpid="helpid:10172" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatArea" toolbar:helpid="helpid:10142" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FillStyle" toolbar:helpid="helpid:10164" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleObjectRotateMode" toolbar:helpid="10129"/>
+ <toolbar:toolbaritem xlink:href=".uno:GridVisible" toolbar:visible="false" toolbar:helpid="27322"/>
+ <toolbar:toolbaritem xlink:href=".uno:GridUse" toolbar:visible="false" toolbar:helpid="27154"/>
+ <toolbar:toolbaritem xlink:href=".uno:HelplinesMove" toolbar:visible="false" toolbar:helpid="27153"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapOff" toolbar:visible="false" toolbar:helpid="20472"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapOn" toolbar:visible="false" toolbar:helpid="20473"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapIdeal" toolbar:visible="false" toolbar:helpid="20563"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapLeft" toolbar:visible="false" toolbar:helpid="20572"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapRight" toolbar:visible="false" toolbar:helpid="20573"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapThrough" toolbar:visible="false" toolbar:helpid="20474"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapContour" toolbar:visible="false" toolbar:helpid="20584"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SetObjectToForeground" toolbar:helpid="10283"/>
+ <toolbar:toolbaritem xlink:href=".uno:SetObjectToBackground" toolbar:helpid="10282"/>
+ <toolbar:toolbaritem xlink:href=".uno:BringToFront" toolbar:helpid="10286"/>
+ <toolbar:toolbaritem xlink:href=".uno:SendToBack" toolbar:helpid="10287"/>
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlign" toolbar:helpid="10130"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleAnchorType" toolbar:helpid="20349"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatUngroup" toolbar:helpid="10455"/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatGroup" toolbar:helpid="10454"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/drawtextobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/drawtextobjectbar.xml
new file mode 100644
index 000000000000..31e5ca4db662
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/drawtextobjectbar.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:CharFontName" toolbar:helpid="helpid:10007" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontHeight" toolbar:helpid="helpid:10015" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Bold" toolbar:helpid="helpid:10009" />
+ <toolbar:toolbaritem xlink:href=".uno:Italic" toolbar:helpid="helpid:10008" />
+ <toolbar:toolbaritem xlink:href=".uno:Underline" toolbar:helpid="helpid:10014" />
+ <toolbar:toolbaritem xlink:href=".uno:SuperScript" toolbar:helpid="helpid:20411" />
+ <toolbar:toolbaritem xlink:href=".uno:SubScript" toolbar:helpid="helpid:20412" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LeftPara" toolbar:helpid="helpid:10028" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CenterPara" toolbar:helpid="helpid:10030" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:RightPara" toolbar:helpid="helpid:10029" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:JustifyPara" toolbar:helpid="helpid:10031" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara1" toolbar:helpid="helpid:10034" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara15" toolbar:helpid="helpid:10035" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara2" toolbar:helpid="helpid:10036" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Color" toolbar:helpid="helpid:10017" toolbar:style="dropdown" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ParaLeftToRight" toolbar:helpid="helpid:10950" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:ParaRightToLeft" toolbar:helpid="helpid:10951" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:TextdirectionLeftToRight" toolbar:helpid="helpid:10907" />
+ <toolbar:toolbaritem xlink:href=".uno:TextdirectionTopToBottom" toolbar:helpid="helpid:10908" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SelectAll" toolbar:helpid="helpid:5723" />
+ <toolbar:toolbaritem xlink:href=".uno:FontDialog" toolbar:helpid="helpid:10296" />
+ <toolbar:toolbaritem xlink:href=".uno:ParagraphDialog" toolbar:helpid="helpid:10297" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/extrusionobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/extrusionobjectbar.xml
new file mode 100644
index 000000000000..148849db6ee7
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/extrusionobjectbar.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionToggle" toolbar:helpid="10960"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltDown" toolbar:helpid="10961"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltUp" toolbar:helpid="10962"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltLeft" toolbar:helpid="10963"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltRight" toolbar:helpid="10964"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionDepthFloater" toolbar:helpid="10965" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionDirectionFloater" toolbar:helpid="10966" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionLightingFloater" toolbar:helpid="10967" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionSurfaceFloater" toolbar:helpid="10968" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:Extrusion3DColor" toolbar:helpid="10969" toolbar:style="dropdownonly"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/flowchartshapes.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/flowchartshapes.xml
new file mode 100644
index 000000000000..bb1d1099dbd4
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/flowchartshapes.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-process" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-alternate-process" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-decision" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-data" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-predefined-process" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-internal-storage" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-document" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-multidocument" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-terminator" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-preparation" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-manual-input" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-manual-operation" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-connector" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-off-page-connector" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-card" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-punched-tape" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-summing-junction" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-or" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-collate" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-sort" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-extract" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-merge" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-stored-data" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-delay" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-sequential-access" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-magnetic-disk" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-direct-access-storage" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-display" toolbar:helpid="helpid:11005" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/fontworkobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/fontworkobjectbar.xml
new file mode 100644
index 000000000000..5219a1e235e9
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/fontworkobjectbar.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FontworkGalleryFloater" toolbar:helpid="helpid:10977" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType" toolbar:helpid="helpid:10978" toolbar:style="dropdownonly" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkSameLetterHeights" toolbar:helpid="helpid:10979" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkAlignmentFloater" toolbar:helpid="helpid:10981" toolbar:style="dropdownonly" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkCharacterSpacingFloater" toolbar:helpid="helpid:10982" toolbar:style="dropdownonly" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/fontworkshapetype.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/fontworkshapetype.xml
new file mode 100644
index 000000000000..49b5b8173e0e
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/fontworkshapetype.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-plain-text" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-wave" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-inflate" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-stop" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-curve-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-curve-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-triangle-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-triangle-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-right" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-left" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-slant-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-slant-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-up-and-right" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-up-and-left" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-chevron-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-chevron-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-up-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-down-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-left-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-right-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-circle-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-open-circle-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-up-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-down-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-left-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-right-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-circle-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-open-circle-pour" toolbar:helpid="helpid:10978" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/formcontrols.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/formcontrols.xml
new file mode 100644
index 000000000000..573ca246f7a9
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/formcontrols.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SelectObject" toolbar:helpid="helpid:10128" toolbar:text="" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:SwitchControlDesignMode" toolbar:helpid="helpid:10629" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ControlProperties" toolbar:helpid="helpid:10613" />
+ <toolbar:toolbaritem xlink:href=".uno:FormProperties" toolbar:helpid="helpid:10614" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:CheckBox" toolbar:helpid="helpid:10596" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Edit" toolbar:helpid="helpid:10599" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FormattedField" toolbar:helpid="helpid:10728" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Pushbutton" toolbar:helpid="helpid:10594" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:RadioButton" toolbar:helpid="helpid:10595" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:ListBox" toolbar:helpid="helpid:10600" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ComboBox" toolbar:helpid="helpid:10601" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Label" toolbar:helpid="helpid:10597" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:MoreControls" toolbar:helpid="helpid:11045" />
+ <toolbar:toolbaritem xlink:href=".uno:FormDesignTools" toolbar:helpid="helpid:11046" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:UseWizards" toolbar:helpid="helpid:10727" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/formdesign.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/formdesign.xml
new file mode 100644
index 000000000000..aaa3f09d9fb1
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/formdesign.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SelectObject" toolbar:helpid="helpid:10128" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:SwitchControlDesignMode" toolbar:helpid="helpid:10629" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ControlProperties" toolbar:helpid="helpid:10613" />
+ <toolbar:toolbaritem xlink:href=".uno:FormProperties" toolbar:helpid="helpid:10614" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ShowFmExplorer" toolbar:helpid="helpid:10633" />
+ <toolbar:toolbaritem xlink:href=".uno:AddField" toolbar:helpid="helpid:10623" />
+ <toolbar:toolbaritem xlink:href=".uno:TabDialog" toolbar:helpid="helpid:10615" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:OpenReadOnly" toolbar:helpid="helpid:10709" />
+ <toolbar:toolbaritem xlink:href=".uno:AutoControlFocus" toolbar:helpid="helpid:10763" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:TransformDialog" toolbar:helpid="helpid:10087" />
+ <toolbar:toolbaritem xlink:href=".uno:ToggleAnchorType" toolbar:helpid="helpid:20349" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BringToFront" toolbar:helpid="helpid:10286" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SendToBack" toolbar:helpid="helpid:10287" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatGroup" toolbar:helpid="helpid:10454" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:FormatUngroup" toolbar:helpid="helpid:10455" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:EnterGroup" toolbar:helpid="helpid:27096" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:LeaveGroup" toolbar:helpid="helpid:27097" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlign" toolbar:helpid="helpid:10130" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GridVisible" toolbar:helpid="helpid:27322" />
+ <toolbar:toolbaritem xlink:href=".uno:GridUse" toolbar:helpid="helpid:27154" />
+ <toolbar:toolbaritem xlink:href=".uno:HelplinesMove" toolbar:helpid="helpid:27153" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/formsfilterbar.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/formsfilterbar.xml
new file mode 100644
index 000000000000..1d1ad07a9938
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/formsfilterbar.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FormFilterExecute" toolbar:helpid="helpid:10731" />
+ <toolbar:toolbaritem xlink:href=".uno:FormFilterNavigator" toolbar:helpid="helpid:10732" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormFilterExit" toolbar:helpid="helpid:10730" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/formsnavigationbar.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/formsnavigationbar.xml
new file mode 100644
index 000000000000..ce47a450e2f5
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/formsnavigationbar.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:RecSearch" toolbar:helpid="10725"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:RecText" toolbar:helpid="10624"/>
+ <toolbar:toolbaritem xlink:href=".uno:AbsoluteRecord" toolbar:helpid="10622"/>
+ <toolbar:toolbaritem xlink:href=".uno:RecFromText" toolbar:helpid="10625"/>
+ <toolbar:toolbaritem xlink:href=".uno:RecTotal" toolbar:helpid="10626"/>
+ <toolbar:toolbaritem xlink:href=".uno:FirstRecord" toolbar:helpid="10616"/>
+ <toolbar:toolbaritem xlink:href=".uno:PrevRecord" toolbar:helpid="10618"/>
+ <toolbar:toolbaritem xlink:href=".uno:NextRecord" toolbar:helpid="10617"/>
+ <toolbar:toolbaritem xlink:href=".uno:LastRecord" toolbar:helpid="10619"/>
+ <toolbar:toolbaritem xlink:href=".uno:NewRecord" toolbar:helpid="10620"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:RecSave" toolbar:helpid="10627"/>
+ <toolbar:toolbaritem xlink:href=".uno:RecUndo" toolbar:helpid="10630"/>
+ <toolbar:toolbaritem xlink:href=".uno:DeleteRecord" toolbar:helpid="10621"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Refresh" toolbar:helpid="10724"/>
+ <toolbar:toolbaritem xlink:href=".uno:RefreshFormControl"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:OrderCrit" toolbar:helpid="10714"/>
+ <toolbar:toolbaritem xlink:href=".uno:Sortup" toolbar:helpid="10712"/>
+ <toolbar:toolbaritem xlink:href=".uno:SortDown" toolbar:helpid="10713"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AutoFilter" toolbar:helpid="10716"/>
+ <toolbar:toolbaritem xlink:href=".uno:FormFiltered" toolbar:helpid="10723"/>
+ <toolbar:toolbaritem xlink:href=".uno:FormFilter" toolbar:helpid="10729"/>
+ <toolbar:toolbaritem xlink:href=".uno:RemoveFilterSort" toolbar:helpid="10711"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ViewFormAsGrid" toolbar:helpid="10761"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/formtextobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/formtextobjectbar.xml
new file mode 100644
index 000000000000..dbdeaf675371
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/formtextobjectbar.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:CharFontName" toolbar:helpid="helpid:10007" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontHeight" toolbar:helpid="helpid:10015" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Bold" toolbar:helpid="helpid:10009" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Italic" toolbar:helpid="helpid:10008" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Underline" toolbar:helpid="helpid:10014" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:SuperScript" toolbar:helpid="helpid:20411" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:SubScript" toolbar:helpid="helpid:20412" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LeftPara" toolbar:helpid="helpid:10028" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CenterPara" toolbar:helpid="helpid:10030" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:RightPara" toolbar:helpid="helpid:10029" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:JustifyPara" toolbar:helpid="helpid:10031" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ParaLeftToRight" toolbar:helpid="helpid:10950" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:ParaRightToLeft" toolbar:helpid="helpid:10951" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara1" toolbar:helpid="helpid:10034" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara15" toolbar:helpid="helpid:10035" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara2" toolbar:helpid="helpid:10036" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontDialog" toolbar:helpid="helpid:10296" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:ParagraphDialog" toolbar:helpid="helpid:10297" toolbar:text="" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/frameobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/frameobjectbar.xml
new file mode 100644
index 000000000000..a591f9094457
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/frameobjectbar.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:StyleApply" toolbar:helpid="helpid:5552" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapOff" toolbar:helpid="helpid:20472" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:WrapOn" toolbar:helpid="helpid:20473" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:WrapIdeal" toolbar:helpid="helpid:20563" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:WrapLeft" toolbar:helpid="helpid:20572" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:WrapRight" toolbar:helpid="helpid:20573" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:WrapThrough" toolbar:helpid="helpid:20474" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignLeft" toolbar:helpid="helpid:20475" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignHorizontalCenter" toolbar:helpid="helpid:20477" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignRight" toolbar:helpid="helpid:20476" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignTop" toolbar:helpid="helpid:20478" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignVerticalCenter" toolbar:helpid="helpid:20480" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignBottom" toolbar:helpid="helpid:20479" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SetBorderStyle" toolbar:helpid="helpid:10187" />
+ <toolbar:toolbaritem xlink:href=".uno:LineStyle" toolbar:helpid="helpid:10200" />
+ <toolbar:toolbaritem xlink:href=".uno:FrameLineColor" toolbar:helpid="helpid:10201" />
+ <toolbar:toolbaritem xlink:href=".uno:BackgroundColor" toolbar:helpid="helpid:10185" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FrameDialog" toolbar:helpid="helpid:20456" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BringToFront" toolbar:helpid="helpid:10286" />
+ <toolbar:toolbaritem xlink:href=".uno:SendToBack" toolbar:helpid="helpid:10287" />
+ <toolbar:toolbaritem xlink:href=".uno:ToggleAnchorType" toolbar:helpid="helpid:20349" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ChainFrames" toolbar:helpid="helpid:21736" />
+ <toolbar:toolbaritem xlink:href=".uno:UnhainFrames" toolbar:helpid="helpid:21737" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/fullscreenbar.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/fullscreenbar.xml
new file mode 100644
index 000000000000..5aecdda4fb04
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/fullscreenbar.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FullScreen" toolbar:helpid="helpid:5627" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/graffilterbar.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/graffilterbar.xml
new file mode 100644
index 000000000000..287c33fe25e5
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/graffilterbar.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterInvert" toolbar:helpid="helpid:34149" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSmooth" toolbar:helpid="helpid:34150" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSharpen" toolbar:helpid="helpid:34151" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterRemoveNoise" toolbar:helpid="helpid:34152" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSolarize" toolbar:helpid="helpid:34159" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSepia" toolbar:helpid="helpid:34158" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterPoster" toolbar:helpid="helpid:34156" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterPopart" toolbar:helpid="helpid:34157" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSobel" toolbar:helpid="helpid:34153" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterRelief" toolbar:helpid="helpid:34155" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterMosaic" toolbar:helpid="helpid:34154" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/graphicobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/graphicobjectbar.xml
new file mode 100644
index 000000000000..040bb8cd8ae6
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/graphicobjectbar.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:InsertGraphic" toolbar:helpid="10241"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterToolbox" toolbar:helpid="10469"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafMode" toolbar:helpid="10871"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ColorSettings" toolbar:helpid="11016"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafTransparence" toolbar:helpid="10869"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FlipVertical" toolbar:helpid="20426"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlipHorizontal" toolbar:helpid="20425"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FrameDialog" toolbar:helpid="20458"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/insertbar.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/insertbar.xml
new file mode 100644
index 000000000000..a9bb7e0eb204
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/insertbar.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:InsertTable" toolbar:helpid="20330"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertFrameInteract" toolbar:helpid="20333"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertDoc" toolbar:helpid="5532"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertGraphic" toolbar:helpid="10241"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertAVMedia" toolbar:helpid="6695"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertFootnote" toolbar:helpid="20399"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertEndnote" toolbar:helpid="21418"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertSymbol" toolbar:helpid="20328"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertObjectStarMath" toolbar:helpid="20369"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertSection" toolbar:helpid="21419"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertIndexesEntry" toolbar:helpid="20335"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertFieldCtrl" toolbar:helpid="52824"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertObjectChart" toolbar:visible="false" toolbar:helpid="10140"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertObjCtrl" toolbar:visible="false" toolbar:helpid="52823"/>
+ <toolbar:toolbaritem xlink:href=".uno:Config" toolbar:visible="false" toolbar:helpid="10593"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertMultiIndex" toolbar:helpid="21420"/>
+ <toolbar:toolbaritem xlink:href=".uno:EditGlossary"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertAnnotation" toolbar:helpid="20329"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertBookmark" toolbar:helpid="20302"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/insertobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/insertobjectbar.xml
new file mode 100644
index 000000000000..951849543373
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/insertobjectbar.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:InsertObjectFloatingFrame" toolbar:helpid="helpid:5563" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertObject" toolbar:helpid="helpid:5561" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertPlugin" toolbar:helpid="helpid:5672" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/mediaobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/mediaobjectbar.xml
new file mode 100644
index 000000000000..2014343bf89b
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/mediaobjectbar.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:InsertAVMedia" toolbar:helpid="6695"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AVMediaToolBox" toolbar:helpid="helpid:6693" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/moreformcontrols.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/moreformcontrols.xml
new file mode 100644
index 000000000000..4c5274460a71
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/moreformcontrols.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SpinButton" toolbar:helpid="helpid:10769" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:ScrollBar" toolbar:helpid="helpid:10768" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:Imagebutton" toolbar:helpid="helpid:10604" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:ImageControl" toolbar:helpid="helpid:10710" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:DateField" toolbar:helpid="helpid:10704" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:TimeField" toolbar:helpid="helpid:10705" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FileControl" toolbar:helpid="helpid:10605" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:NumericField" toolbar:helpid="helpid:10706" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:CurrencyField" toolbar:helpid="helpid:10707" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:PatternField" toolbar:helpid="helpid:10708" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GroupBox" toolbar:helpid="helpid:10598" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Grid" toolbar:helpid="helpid:10603" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:NavigationBar" toolbar:helpid="helpid:10607" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/numobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/numobjectbar.xml
new file mode 100644
index 000000000000..50e28ac32f64
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/numobjectbar.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:DefaultBullet" toolbar:helpid="20138"/>
+ <toolbar:toolbaritem xlink:href=".uno:DefaultNumbering" toolbar:helpid="20144"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:RemoveBullets" toolbar:helpid="20137"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:IncrementLevel" toolbar:helpid="20131"/>
+ <toolbar:toolbaritem xlink:href=".uno:DecrementLevel" toolbar:helpid="20130"/>
+ <toolbar:toolbaritem xlink:href=".uno:IncrementSubLevels" toolbar:helpid="20140"/>
+ <toolbar:toolbaritem xlink:href=".uno:DecrementSubLevels" toolbar:helpid="20139"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertNeutralParagraph" toolbar:helpid="20136"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:MoveUp" toolbar:helpid="20134"/>
+ <toolbar:toolbaritem xlink:href=".uno:MoveDown" toolbar:helpid="20135"/>
+ <toolbar:toolbaritem xlink:href=".uno:MoveUpSubItems" toolbar:helpid="20141"/>
+ <toolbar:toolbaritem xlink:href=".uno:MoveDownSubItems" toolbar:helpid="20142"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:NumberingStart" toolbar:helpid="21738"/>
+ <toolbar:toolbaritem xlink:href=".uno:BulletsAndNumberingDialog" toolbar:helpid="20121"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/oleobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/oleobjectbar.xml
new file mode 100644
index 000000000000..c95b1aebb316
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/oleobjectbar.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:StyleApply" toolbar:helpid="5552"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignLeft" toolbar:helpid="20475"/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignHorizontalCenter" toolbar:helpid="20477"/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignRight" toolbar:helpid="20476"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignTop" toolbar:helpid="20478"/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignVerticalCenter" toolbar:helpid="20480"/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignBottom" toolbar:helpid="20479"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapLeft" toolbar:visible="false" toolbar:helpid="20572"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapRight" toolbar:visible="false" toolbar:helpid="20573"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapOff" toolbar:helpid="20472"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapOn" toolbar:helpid="20473"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapThrough" toolbar:helpid="20474"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapIdeal" toolbar:visible="false" toolbar:helpid="20563"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FrameDialog" toolbar:helpid="20456"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BringToFront" toolbar:helpid="10286"/>
+ <toolbar:toolbaritem xlink:href=".uno:SendToBack" toolbar:helpid="10287"/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleAnchorType" toolbar:helpid="20349"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SetBorderStyle" toolbar:helpid="10187"/>
+ <toolbar:toolbaritem xlink:href=".uno:LineStyle" toolbar:helpid="10200"/>
+ <toolbar:toolbaritem xlink:href=".uno:FrameLineColor" toolbar:helpid="10201"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/optimizetablebar.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/optimizetablebar.xml
new file mode 100644
index 000000000000..7669add92e89
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/optimizetablebar.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:DistributeColumns" toolbar:helpid="helpid:20582" />
+ <toolbar:toolbaritem xlink:href=".uno:DistributeRows" toolbar:helpid="helpid:20583" />
+ <toolbar:toolbaritem xlink:href=".uno:SetOptimalRowHeight" toolbar:helpid="helpid:20528" />
+ <toolbar:toolbaritem xlink:href=".uno:SetOptimalColumnWidth" toolbar:helpid="helpid:20521" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/previewobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/previewobjectbar.xml
new file mode 100644
index 000000000000..435250b63af5
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/previewobjectbar.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:PageUp" toolbar:helpid="20937"/>
+ <toolbar:toolbaritem xlink:href=".uno:PageDown" toolbar:helpid="20938"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GoToStartOfDoc" toolbar:helpid="20907"/>
+ <toolbar:toolbaritem xlink:href=".uno:GoToEndOfDoc" toolbar:helpid="20908"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ShowTwoPages" toolbar:helpid="21251"/>
+ <toolbar:toolbaritem xlink:href=".uno:ShowMultiplePages" toolbar:helpid="21252"/>
+ <toolbar:toolbaritem xlink:href=".uno:ShowBookview" toolbar:helpid="helpid:21255" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ZoomPlus" toolbar:helpid="10097"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:PreviewZoom" toolbar:helpid="53071"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ZoomMinus" toolbar:helpid="10098"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FullScreen" toolbar:helpid="5627"/>
+ <toolbar:toolbaritem xlink:href=".uno:PrintPagePreView" toolbar:helpid="21253"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ClosePreview" toolbar:helpid="5325"/>
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/standardbar.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/standardbar.xml
new file mode 100644
index 000000000000..c1b38e3870f6
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/standardbar.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:OpenUrl" toolbar:visible="false"/>
+ <toolbar:toolbaritem xlink:href=".uno:AddDirect" toolbar:helpid="5537"/>
+ <toolbar:toolbaritem xlink:href=".uno:NewDoc" toolbar:visible="false" toolbar:helpid="5500"/>
+ <toolbar:toolbaritem xlink:href=".uno:Open" toolbar:helpid="5501"/>
+ <toolbar:toolbaritem xlink:href=".uno:Save" toolbar:helpid="5505"/>
+ <toolbar:toolbaritem xlink:href=".uno:SaveAs" toolbar:visible="false" toolbar:helpid="5502"/>
+ <toolbar:toolbaritem xlink:href=".uno:SendMail" toolbar:helpid="5331"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:EditDoc" toolbar:helpid="6312"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExportDirectToPDF" toolbar:helpid="6674"/>
+ <toolbar:toolbaritem xlink:href=".uno:PrintDefault" toolbar:helpid="5509"/>
+ <toolbar:toolbaritem xlink:href=".uno:PrintPreview" toolbar:helpid="5325"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SpellingAndGrammarDialog" toolbar:helpid="20622"/>
+ <toolbar:toolbaritem xlink:href=".uno:SpellOnline" toolbar:helpid="12021"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Cut" toolbar:helpid="5710"/>
+ <toolbar:toolbaritem xlink:href=".uno:Copy" toolbar:helpid="5711"/>
+ <toolbar:toolbaritem xlink:href=".uno:Paste" toolbar:helpid="5712"/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatPaintbrush" toolbar:helpid="5715"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Undo" toolbar:helpid="5701"/>
+ <toolbar:toolbaritem xlink:href=".uno:Redo" toolbar:helpid="5700"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:HyperlinkDialog" toolbar:helpid="5678"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertTable" toolbar:helpid="20330"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertDraw" toolbar:helpid="10244"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SearchDialog" toolbar:helpid="5961" toolbar:visible="false"/>
+ <toolbar:toolbaritem xlink:href=".uno:Navigator" toolbar:helpid="10366"/>
+ <toolbar:toolbaritem xlink:href=".uno:Gallery" toolbar:helpid="5960"/>
+ <toolbar:toolbaritem xlink:href=".uno:ViewDataSourceBrowser" toolbar:helpid="6660"/>
+ <toolbar:toolbaritem xlink:href=".uno:ControlCodes" toolbar:helpid="20224"/>
+ <toolbar:toolbaritem xlink:href=".uno:Zoom" toolbar:helpid="10000" toolbar:visible="false"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:HelpIndex"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtendedHelp" toolbar:visible="false" toolbar:helpid="5402"/>
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/starshapes.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/starshapes.xml
new file mode 100644
index 000000000000..a2ff874d2fe7
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/starshapes.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.bang" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star4" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star5" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star6" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star8" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star12" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star24" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.concave-star6" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.vertical-scroll" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.horizontal-scroll" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.signet" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.doorplate" toolbar:helpid="helpid:11007" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/symbolshapes.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/symbolshapes.xml
new file mode 100644
index 000000000000..0fa6aee313db
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/symbolshapes.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.smiley" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.sun" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.moon" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.lightning" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.heart" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.flower" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.cloud" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.forbidden" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.puzzle" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.bracket-pair" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.left-bracket" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.right-bracket" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.brace-pair" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.left-brace" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.right-brace" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.quad-bevel" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.octagon-bevel" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.diamond-bevel" toolbar:helpid="helpid:11003" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/tableobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/tableobjectbar.xml
new file mode 100644
index 000000000000..d34267a6e1de
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/tableobjectbar.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:InsertTable" toolbar:helpid="helpid:20330" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LineStyle" toolbar:helpid="helpid:10200" />
+ <toolbar:toolbaritem xlink:href=".uno:FrameLineColor" toolbar:helpid="helpid:10201" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SetBorderStyle" toolbar:helpid="helpid:10187" />
+ <toolbar:toolbaritem xlink:href=".uno:BackgroundColor" toolbar:helpid="helpid:10185" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:MergeCells" toolbar:helpid="helpid:20506" />
+ <toolbar:toolbaritem xlink:href=".uno:SplitCell" toolbar:helpid="helpid:20505" />
+ <toolbar:toolbaritem xlink:href=".uno:OptimizeTable" toolbar:helpid="helpid:20510" toolbar:style="dropdown" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:CellVertTop" toolbar:helpid="helpid:20585" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CellVertCenter" toolbar:helpid="helpid:20586" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CellVertBottom" toolbar:helpid="helpid:20587" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertRows" toolbar:helpid="helpid:20501" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertColumns" toolbar:helpid="helpid:20502" />
+ <toolbar:toolbaritem xlink:href=".uno:DeleteRows" toolbar:helpid="helpid:20503" />
+ <toolbar:toolbaritem xlink:href=".uno:DeleteColumns" toolbar:helpid="helpid:20504" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SelectTable" toolbar:helpid="helpid:20515" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:EntireColumn" toolbar:helpid="helpid:20514" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:EntireRow" toolbar:helpid="helpid:20513" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AutoFormat" toolbar:helpid="helpid:20595" />
+ <toolbar:toolbaritem xlink:href=".uno:TableDialog" toolbar:helpid="helpid:20459" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:TableSort" toolbar:helpid="helpid:20533" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AutoSum" toolbar:helpid="helpid:20595" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/textobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/textobjectbar.xml
new file mode 100644
index 000000000000..d48a96df35dc
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/textobjectbar.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:DesignerDialog" toolbar:helpid="5539"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:StyleApply" toolbar:helpid="helpid:5552" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:CharFontName" toolbar:helpid="helpid:10007" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontHeight" toolbar:helpid="helpid:10015" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Bold" toolbar:helpid="helpid:10009" />
+ <toolbar:toolbaritem xlink:href=".uno:Italic" toolbar:helpid="helpid:10008" />
+ <toolbar:toolbaritem xlink:href=".uno:Underline" toolbar:helpid="helpid:10014" />
+ <toolbar:toolbaritem xlink:href=".uno:SuperScript" toolbar:helpid="helpid:20411" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SubScript" toolbar:helpid="helpid:20412" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LeftPara" toolbar:helpid="helpid:10028" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CenterPara" toolbar:helpid="helpid:10030" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:RightPara" toolbar:helpid="helpid:10029" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:JustifyPara" toolbar:helpid="helpid:10031" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ParaLeftToRight" toolbar:helpid="helpid:10950" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:ParaRightToLeft" toolbar:helpid="helpid:10951" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara1" toolbar:helpid="helpid:10034" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara15" toolbar:helpid="helpid:10035" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara2" toolbar:helpid="helpid:10036" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:DefaultNumbering" toolbar:helpid="helpid:20144" />
+ <toolbar:toolbaritem xlink:href=".uno:DefaultBullet" toolbar:helpid="helpid:20138" />
+ <toolbar:toolbaritem xlink:href=".uno:DecrementIndent" toolbar:helpid="helpid:10461" />
+ <toolbar:toolbaritem xlink:href=".uno:IncrementIndent" toolbar:helpid="helpid:10462" />
+ <toolbar:toolbaritem xlink:href=".uno:Grow" toolbar:helpid="helpid:20403" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:Shrink" toolbar:helpid="helpid:20404" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontColor" toolbar:helpid="helpid:10017" toolbar:style="dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:BackColor" toolbar:helpid="helpid:10489" toolbar:style="dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:BackgroundColor" toolbar:helpid="helpid:10185" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SelectAll" toolbar:helpid="helpid:5723" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:FontDialog" toolbar:helpid="helpid:10296" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:ParagraphDialog" toolbar:helpid="helpid:10297" toolbar:visible="false" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/toolbar.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/toolbar.xml
new file mode 100644
index 000000000000..7ff331e17224
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/toolbar.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:InsertCtrl" toolbar:helpid="52822"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ShadowCursor" toolbar:helpid="22204"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Hyphenate" toolbar:helpid="20605"/>
+ <toolbar:toolbaritem xlink:href=".uno:ThesaurusDialog" toolbar:helpid="20603"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Graphic" toolbar:helpid="20213"/>
+ <toolbar:toolbaritem xlink:href=".uno:BrowseView" toolbar:helpid="6313"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/viewerbar.xml b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/viewerbar.xml
new file mode 100644
index 000000000000..d4d6a59d7ed5
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swform/toolbar/viewerbar.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SaveAs" toolbar:helpid="helpid:5502" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:EditDoc" toolbar:helpid="helpid:6312" />
+ <toolbar:toolbaritem xlink:href=".uno:SendMail" toolbar:helpid="helpid:5331" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExportDirectToPDF" toolbar:helpid="helpid:6674" />
+ <toolbar:toolbaritem xlink:href=".uno:PrintDefault" toolbar:helpid="helpid:5509" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Copy" toolbar:helpid="helpid:5711" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SearchDialog" toolbar:helpid="helpid:5961" />
+ <toolbar:toolbaritem xlink:href=".uno:Navigator" toolbar:helpid="helpid:10366" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Zoom" toolbar:helpid="helpid:10000" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/menubar/menubar.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/menubar/menubar.xml
new file mode 100644
index 000000000000..7e5f14f5d58c
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/menubar/menubar.xml
@@ -0,0 +1,454 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<menu:menubar xmlns:menu="http://openoffice.org/2001/menu" menu:id="menubar">
+ <menu:menu menu:id=".uno:PickList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:AddDirect"/>
+ <menu:menuitem menu:id=".uno:Open"/>
+ <menu:menuitem menu:id=".uno:RecentFileList"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AutoPilotMenu"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CloseDoc"/>
+ <menu:menuitem menu:id=".uno:Save"/>
+ <menu:menuitem menu:id=".uno:SaveAs"/>
+ <menu:menuitem menu:id=".uno:SaveAll"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Reload"/>
+ <menu:menuitem menu:id=".uno:VersionDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ExportTo"/>
+ <menu:menuitem menu:id=".uno:ExportToPDF"/>
+ <menu:menu menu:id=".uno:SendToMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SendMail"/>
+ <menu:menuitem menu:id=".uno:SendMailDocAsOOo"/>
+ <menu:menuitem menu:id=".uno:SendMailDocAsMS"/>
+ <menu:menuitem menu:id=".uno:SendMailDocAsPDF"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:NewGlobalDoc"/>
+ <menu:menuitem menu:id=".uno:NewHtmlDoc"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SendOutlineToStarImpress"/>
+ <menu:menuitem menu:id=".uno:SendOutlineToClipboard"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CreateAbstract"/>
+ <menu:menuitem menu:id=".uno:SendAbstractToStarImpress"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SetDocumentProperties"/>
+ <menu:menu menu:id=".uno:TemplateMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Organizer"/>
+ <menu:menuitem menu:id=".uno:AddressBookSource"/>
+ <menu:menuitem menu:id=".uno:SaveAsTemplate"/>
+ <menu:menuitem menu:id=".uno:OpenTemplate"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:PrintPreview"/>
+ <menu:menuitem menu:id=".uno:Print"/>
+ <menu:menuitem menu:id=".uno:PrinterSetup"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Quit"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:EditMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Undo"/>
+ <menu:menuitem menu:id=".uno:Redo"/>
+ <menu:menuitem menu:id=".uno:Repeat"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Cut"/>
+ <menu:menuitem menu:id=".uno:Copy"/>
+ <menu:menuitem menu:id=".uno:Paste"/>
+ <menu:menuitem menu:id=".uno:PasteSpecial"/>
+ <menu:menuitem menu:id=".uno:SelectTextMode"/>
+ <menu:menu menu:id=".uno:SelectionModeMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SelectionModeDefault" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:SelectionModeBlock" menu:style="radio"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:SelectAll"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:ChangesMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:TrackChanges"/>
+ <menu:menuitem menu:id=".uno:ProtectTraceChangeMode"/>
+ <menu:menuitem menu:id=".uno:ShowTrackedChanges"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AcceptTrackedChanges"/>
+ <menu:menuitem menu:id=".uno:CommentChangeTracking"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MergeDocuments"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:CompareDocuments"/>
+ <menu:menuitem menu:id="vnd.sun.star.findbar:FocusToFindbar"/>
+ <menu:menuitem menu:id=".uno:SearchDialog"/>
+ <menu:menuitem menu:id=".uno:EditGlossary"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ChangeDatabaseField"/>
+ <menu:menuitem menu:id=".uno:FieldDialog"/>
+ <menu:menuitem menu:id=".uno:EditFootnote"/>
+ <menu:menuitem menu:id=".uno:IndexEntryDialog"/>
+ <menu:menuitem menu:id=".uno:AuthoritiesEntryDialog"/>
+ <menu:menuitem menu:id=".uno:EditHyperlink"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:LinkDialog"/>
+ <menu:menuitem menu:id=".uno:PlugInsActive"/>
+ <menu:menuitem menu:id=".uno:ImageMapDialog"/>
+ <menu:menuitem menu:id=".uno:ObjectMenue"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ViewMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:PrintLayout" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:BrowseView" menu:style="radio"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AvailableToolbars"/>
+ <menu:menuitem menu:id=".uno:StatusBarVisible"/>
+ <menu:menuitem menu:id=".uno:ShowImeStatusWindow"/>
+ <menu:menuitem menu:id=".uno:Ruler"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ViewBounds"/>
+ <menu:menuitem menu:id=".uno:Marks"/>
+ <menu:menuitem menu:id=".uno:Fieldnames"/>
+ <menu:menuitem menu:id=".uno:ControlCodes"/>
+ <menu:menuitem menu:id=".uno:ShowHiddenParagraphs"/>
+ <menu:menuitem menu:id=".uno:ShowAnnotations"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ViewDataSourceBrowser"/>
+ <menu:menuitem menu:id=".uno:Navigator"/>
+ <menu:menuitem menu:id=".uno:TaskPane"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:FullScreen"/>
+ <menu:menuitem menu:id=".uno:Zoom"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:InsertMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertBreak"/>
+ <menu:menu menu:id=".uno:FieldMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertDateField"/>
+ <menu:menuitem menu:id=".uno:InsertTimeField"/>
+ <menu:menuitem menu:id=".uno:InsertPageNumberField"/>
+ <menu:menuitem menu:id=".uno:InsertPageCountField"/>
+ <menu:menuitem menu:id=".uno:InsertTopicField"/>
+ <menu:menuitem menu:id=".uno:InsertTitleField"/>
+ <menu:menuitem menu:id=".uno:InsertAuthorField"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertField"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:InsertSymbol"/>
+ <menu:menu menu:id=".uno:FormattingMarkMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertNonBreakingSpace"/>
+ <menu:menuitem menu:id=".uno:InsertHardHyphen"/>
+ <menu:menuitem menu:id=".uno:InsertSoftHyphen"/>
+ <menu:menuitem menu:id=".uno:InsertZWSP"/>
+ <menu:menuitem menu:id=".uno:InsertZWNBSP"/>
+ <menu:menuitem menu:id=".uno:InsertLRM"/>
+ <menu:menuitem menu:id=".uno:InsertRLM"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertSection"/>
+ <menu:menuitem menu:id=".uno:HyperlinkDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertPageHeader"/>
+ <menu:menuitem menu:id=".uno:InsertPageFooter"/>
+ <menu:menuitem menu:id=".uno:InsertFootnoteDialog"/>
+ <menu:menuitem menu:id=".uno:InsertCaptionDialog"/>
+ <menu:menuitem menu:id=".uno:InsertBookmark"/>
+ <menu:menuitem menu:id=".uno:InsertReferenceField"/>
+ <menu:menuitem menu:id=".uno:InsertAnnotation"/>
+ <menu:menuitem menu:id=".uno:InsertScript"/>
+ <menu:menu menu:id=".uno:IndexesMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertIndexesEntry"/>
+ <menu:menuitem menu:id=".uno:InsertMultiIndex"/>
+ <menu:menuitem menu:id=".uno:InsertAuthoritiesEntry"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertEnvelope"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertFrame"/>
+ <menu:menuitem menu:id=".uno:InsertTable"/>
+ <menu:menuitem menu:id=".uno:InsertGraphicRuler"/>
+ <menu:menu menu:id=".uno:GraphicMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertGraphic"/>
+ <menu:menu menu:id=".uno:Scan">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:TwainSelect"/>
+ <menu:menuitem menu:id=".uno:TwainTransfer"/>
+ </menu:menupopup>
+ </menu:menu>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:InsertAVMedia"/>
+ <menu:menu menu:id=".uno:ObjectMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertObject"/>
+ <menu:menuitem menu:id=".uno:InsertPlugin"/>
+ <menu:menuitem menu:id=".uno:InsertObjectStarMath"/>
+ <menu:menuitem menu:id=".uno:InsertObjectChart"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:InsertObjectFloatingFrame"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertDoc"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:FormatMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ResetAttributes"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:FontDialog"/>
+ <menu:menuitem menu:id=".uno:ParagraphDialog"/>
+ <menu:menuitem menu:id=".uno:BulletsAndNumberingDialog"/>
+ <menu:menuitem menu:id=".uno:PageDialog"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:TransliterateMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ChangeCaseToSentenceCase"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToLower"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToUpper"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToTitleCase"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToToggleCase"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToHalfWidth"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToFullWidth"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToHiragana"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToKatakana"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:RubyDialog"/>
+ <menu:menuitem menu:id=".uno:FormatColumns"/>
+ <menu:menuitem menu:id=".uno:EditRegion"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:DesignerDialog"/>
+ <menu:menu menu:id=".uno:AutoFormatMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:OnlineAutoFormat"/>
+ <menu:menuitem menu:id=".uno:AutoFormatApply"/>
+ <menu:menuitem menu:id=".uno:AutoFormatRedlineApply"/>
+ <menu:menuitem menu:id=".uno:AutoCorrectDlg"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:AnchorMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SetAnchorToPage" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:SetAnchorToPara" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:SetAnchorAtChar" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:SetAnchorToChar" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:SetAnchorToFrame" menu:style="radio"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:WrapMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:WrapOff"/>
+ <menu:menuitem menu:id=".uno:WrapOn"/>
+ <menu:menuitem menu:id=".uno:WrapIdeal"/>
+ <menu:menuitem menu:id=".uno:WrapThrough"/>
+ <menu:menuitem menu:id=".uno:WrapThroughTransparent"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:WrapContour"/>
+ <menu:menuitem menu:id=".uno:ContourDialog"/>
+ <menu:menuitem menu:id=".uno:WrapAnchorOnly"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:TextWrap"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ObjectAlign">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:CommonAlignLeft" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:CommonAlignHorizontalCenter" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:CommonAlignRight" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:CommonAlignJustified" menu:style="radio"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CommonAlignTop"/>
+ <menu:menuitem menu:id=".uno:CommonAlignVerticalCenter"/>
+ <menu:menuitem menu:id=".uno:CommonAlignBottom"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ArrangeMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:BringToFront"/>
+ <menu:menuitem menu:id=".uno:ObjectForwardOne"/>
+ <menu:menuitem menu:id=".uno:ObjectBackOne"/>
+ <menu:menuitem menu:id=".uno:SendToBack"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SetObjectToForeground"/>
+ <menu:menuitem menu:id=".uno:SetObjectToBackground"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:FlipMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:FlipHorizontal"/>
+ <menu:menuitem menu:id=".uno:FlipVertical"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:GroupMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:FormatGroup"/>
+ <menu:menuitem menu:id=".uno:FormatUngroup"/>
+ <menu:menuitem menu:id=".uno:EnterGroup"/>
+ <menu:menuitem menu:id=".uno:LeaveGroup"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:ObjectMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:TransformDialog"/>
+ <menu:menuitem menu:id=".uno:FormatLine"/>
+ <menu:menuitem menu:id=".uno:FormatArea"/>
+ <menu:menuitem menu:id=".uno:TextAttributes"/>
+ <menu:menuitem menu:id=".uno:FontWork"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ObjectTitleDescription"/>
+ <menu:menuitem menu:id=".uno:NameGroup"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:FrameDialog"/>
+ <menu:menuitem menu:id=".uno:GraphicDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:TableMenu">
+ <menu:menupopup>
+ <menu:menu menu:id=".uno:TableInsertMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertTable"/>
+ <menu:menuitem menu:id=".uno:InsertRowDialog"/>
+ <menu:menuitem menu:id=".uno:InsertColumnDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:TableDeleteMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:DeleteTable"/>
+ <menu:menuitem menu:id=".uno:DeleteRows"/>
+ <menu:menuitem menu:id=".uno:DeleteColumns"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:TableSelectMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SelectTable"/>
+ <menu:menuitem menu:id=".uno:EntireRow"/>
+ <menu:menuitem menu:id=".uno:EntireColumn"/>
+ <menu:menuitem menu:id=".uno:EntireCell"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:MergeCells"/>
+ <menu:menuitem menu:id=".uno:SplitCell"/>
+ <menu:menuitem menu:id=".uno:Protect"/>
+ <menu:menuitem menu:id=".uno:MergeTable"/>
+ <menu:menuitem menu:id=".uno:SplitTable"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AutoFormat"/>
+ <menu:menu menu:id=".uno:TableAutoFitMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SetColumnWidth"/>
+ <menu:menuitem menu:id=".uno:SetOptimalColumnWidth"/>
+ <menu:menuitem menu:id=".uno:DistributeColumns"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SetRowHeight"/>
+ <menu:menuitem menu:id=".uno:SetOptimalRowHeight"/>
+ <menu:menuitem menu:id=".uno:DistributeRows"/>
+ <menu:menuitem menu:id=".uno:RowSplit"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:HeadingRowsRepeat"/>
+ <menu:menu menu:id=".uno:TableConvertMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ConvertTextToTable"/>
+ <menu:menuitem menu:id=".uno:ConvertTableToText"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:TableSort"/>
+ <menu:menuitem menu:id=".uno:InsertFormula"/>
+ <menu:menuitem menu:id=".uno:TableNumberFormatDialog"/>
+ <menu:menuitem menu:id=".uno:TableBoundaries"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:TableDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ToolsMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SpellingAndGrammarDialog"/>
+ <menu:menu menu:id=".uno:LanguageMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HangulHanjaConversion"/>
+ <menu:menuitem menu:id=".uno:ChineseConversion"/>
+ <menu:menuitem menu:id=".uno:ThesaurusDialog"/>
+ <menu:menuitem menu:id=".uno:Hyphenate"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MoreDictionaries"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:WordCountDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ChapterNumberingDialog"/>
+ <menu:menuitem menu:id=".uno:LineNumberingDialog"/>
+ <menu:menuitem menu:id=".uno:FootnoteDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Gallery"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:BibliographyComponent"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MailMergeWizard"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SortDialog"/>
+ <menu:menuitem menu:id=".uno:CalculateSel"/>
+ <menu:menu menu:id=".uno:UpdateMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:UpdateAll"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:UpdateFields"/>
+ <menu:menuitem menu:id=".uno:UpdateAllLinks"/>
+ <menu:menuitem menu:id=".uno:UpdateCharts"/>
+ <menu:menuitem menu:id=".uno:UpdateCurIndex"/>
+ <menu:menuitem menu:id=".uno:UpdateAllIndexes"/>
+ <menu:menuitem menu:id=".uno:Repaginate"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:MacrosMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:MacroRecorder"/>
+ <menu:menuitem menu:id=".uno:RunMacro"/>
+ <menu:menu menu:id=".uno:ScriptOrganizer"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MacroOrganizer?TabId:short=1"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id="service:com.sun.star.deployment.ui.PackageManagerDialog"/>
+ <menu:menuitem menu:id=".uno:OpenXMLFilterSettings"/>
+ <menu:menuitem menu:id=".uno:AutoCorrectDlg"/>
+ <menu:menuitem menu:id=".uno:ConfigureDialog"/>
+ <menu:menuitem menu:id=".uno:OptionsTreeDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:WindowList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:NewWindow"/>
+ <menu:menuitem menu:id=".uno:CloseWin"/>
+ <menu:menuseparator/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:HelpMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HelpIndex"/>
+ <menu:menuitem menu:id=".uno:ExtendedHelp"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowLicense"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowCredits"/>
+ <menu:menuitem menu:id=".uno:About"/>
+ </menu:menupopup>
+ </menu:menu>
+</menu:menubar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/statusbar/statusbar.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/statusbar/statusbar.xml
new file mode 100644
index 000000000000..f6880369df08
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/statusbar/statusbar.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE statusbar:statusbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "statusbar.dtd">
+<statusbar:statusbar xmlns:statusbar="http://openoffice.org/2001/statusbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <statusbar:statusbaritem xlink:href=".uno:StatePageNumber" statusbar:align="left" statusbar:autosize="true" statusbar:width="54" statusbar:helpid="helpid:21181"/>
+ <statusbar:statusbaritem xlink:href=".uno:PageStyleName" statusbar:align="left" statusbar:autosize="true" statusbar:width="79" statusbar:helpid="helpid:21182"/>
+ <statusbar:statusbaritem xlink:href=".uno:LanguageStatus" statusbar:align="center" statusbar:autosize="true" statusbar:width="100" />
+ <statusbar:statusbaritem xlink:href=".uno:InsertMode" statusbar:align="center" statusbar:width="37" statusbar:helpid="helpid:10221"/>
+ <statusbar:statusbaritem xlink:href=".uno:SelectionMode" statusbar:align="center" statusbar:width="30" statusbar:helpid="helpid:21185"/>
+ <statusbar:statusbaritem xlink:href=".uno:ModifiedStatus" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="9" statusbar:helpid="helpid:5584"/>
+ <statusbar:statusbaritem xlink:href=".uno:Signature" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="16" statusbar:helpid="helpid:5699"/>
+ <statusbar:statusbaritem xlink:href=".uno:Size" statusbar:align="left" statusbar:autosize="true" statusbar:ownerdraw="true" statusbar:width="129" statusbar:helpid="helpid:10224"/>
+ <statusbar:statusbaritem xlink:href=".uno:ZoomSlider" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="130" statusbar:helpid="helpid:11065"/>
+ <statusbar:statusbaritem xlink:href=".uno:Zoom" statusbar:align="center" statusbar:width="35" statusbar:helpid="helpid:10000"/>
+</statusbar:statusbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/alignmentbar.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/alignmentbar.xml
new file mode 100644
index 000000000000..dbd7294e566c
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/alignmentbar.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlignLeft" toolbar:helpid="helpid:10131" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignCenter" toolbar:helpid="helpid:10132" />
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlignRight" toolbar:helpid="helpid:10133" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignUp" toolbar:helpid="helpid:10134" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignMiddle" toolbar:helpid="helpid:10135" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignDown" toolbar:helpid="helpid:10136" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/arrowshapes.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/arrowshapes.xml
new file mode 100644
index 000000000000..4a53519494ea
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/arrowshapes.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.down-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-down-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-right-down-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.quad-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.corner-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.split-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.striped-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.notched-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.pentagon-right" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.chevron" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.right-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.down-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-right-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-down-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-right-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.quad-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.circular-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.split-round-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.s-sharped-arrow" toolbar:helpid="helpid:11004" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/basicshapes.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/basicshapes.xml
new file mode 100644
index 000000000000..e65778305788
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/basicshapes.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.rectangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.round-rectangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.quadrat" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.round-quadrat" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.circle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.ellipse" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.circle-pie" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.isosceles-triangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.right-triangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.trapezoid" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.diamond" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.parallelogram" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.pentagon" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.hexagon" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.octagon" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.cross" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.ring" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.block-arc" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.can" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.cube" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.paper" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.frame" toolbar:helpid="helpid:11002" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/bezierobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/bezierobjectbar.xml
new file mode 100644
index 000000000000..7c067e68d13c
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/bezierobjectbar.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:ToggleObjectBezierMode" toolbar:helpid="helpid:10126" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierMove" toolbar:helpid="helpid:10121" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierInsert" toolbar:helpid="helpid:10119" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierDelete" toolbar:helpid="helpid:10120" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierCutLine" toolbar:helpid="helpid:10127" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierConvert" toolbar:helpid="helpid:27065" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierEdge" toolbar:helpid="helpid:27066" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierSmooth" toolbar:helpid="helpid:10123" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierSymmetric" toolbar:helpid="helpid:27067" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierClose" toolbar:helpid="helpid:10122" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierEliminatePoints" toolbar:helpid="helpid:27030" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/calloutshapes.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/calloutshapes.xml
new file mode 100644
index 000000000000..91b957fa697a
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/calloutshapes.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.rectangular-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.round-rectangular-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.round-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.cloud-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.line-callout-1" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.line-callout-2" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.line-callout-3" toolbar:helpid="helpid:11006" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/colorbar.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/colorbar.xml
new file mode 100644
index 000000000000..adcda76b5c3a
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/colorbar.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:GrafRed" toolbar:helpid="helpid:10865" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafGreen" toolbar:helpid="helpid:10866" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafBlue" toolbar:helpid="helpid:10867" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafLuminance" toolbar:helpid="helpid:10863" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafContrast" toolbar:helpid="helpid:10864" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafGamma" toolbar:helpid="helpid:10868" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/drawbar.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/drawbar.xml
new file mode 100644
index 000000000000..2407475a88f6
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/drawbar.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:SelectObject" toolbar:helpid="10128"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Line" toolbar:helpid="10102"/>
+ <toolbar:toolbaritem xlink:href=".uno:Rect" toolbar:helpid="10104"/>
+ <toolbar:toolbaritem xlink:href=".uno:Ellipse" toolbar:helpid="10110"/>
+ <toolbar:toolbaritem xlink:href=".uno:Polygon_Unfilled" toolbar:visible="false" toolbar:helpid="10395"/>
+ <toolbar:toolbaritem xlink:href=".uno:Bezier_Unfilled" toolbar:visible="false" toolbar:helpid="10397"/>
+ <toolbar:toolbaritem xlink:href=".uno:Freeline_Unfilled" toolbar:helpid="10464"/>
+ <toolbar:toolbaritem xlink:href=".uno:Arc" toolbar:visible="false" toolbar:helpid="10114"/>
+ <toolbar:toolbaritem xlink:href=".uno:Pie" toolbar:visible="false" toolbar:helpid="10112"/>
+ <toolbar:toolbaritem xlink:href=".uno:CircleCut" toolbar:visible="false" toolbar:helpid="10115"/>
+ <toolbar:toolbaritem xlink:href=".uno:DrawText" toolbar:helpid="10253"/>
+ <toolbar:toolbaritem xlink:href=".uno:VerticalText" toolbar:helpid="10905"/>
+ <toolbar:toolbaritem xlink:href=".uno:Text_Marquee" toolbar:visible="false" toolbar:helpid="10465"/>
+ <toolbar:toolbaritem xlink:href=".uno:DrawCaption" toolbar:helpid="10254"/>
+ <toolbar:toolbaritem xlink:href=".uno:VerticalCaption" toolbar:helpid="10906"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes" toolbar:helpid="11002"/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes" toolbar:helpid="11003"/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes" toolbar:helpid="11004"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes" toolbar:helpid="11005"/>
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes" toolbar:helpid="11006"/>
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes" toolbar:helpid="11007"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleObjectBezierMode" toolbar:helpid="10126"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkGalleryFloater" toolbar:helpid="10977"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertGraphic" toolbar:helpid="10241"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionToggle" toolbar:helpid="10960"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/drawingobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/drawingobjectbar.xml
new file mode 100644
index 000000000000..4703c3cfdad6
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/drawingobjectbar.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FormatLine" toolbar:helpid="helpid:10143" />
+ <toolbar:toolbaritem xlink:href=".uno:LineEndStyle" toolbar:helpid="helpid:10301" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:XLineStyle" toolbar:helpid="helpid:10169" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LineWidth" toolbar:helpid="helpid:10171" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:XLineColor" toolbar:helpid="helpid:10172" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatArea" toolbar:helpid="helpid:10142" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FillStyle" toolbar:helpid="helpid:10164" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleObjectRotateMode" toolbar:helpid="10129"/>
+ <toolbar:toolbaritem xlink:href=".uno:GridVisible" toolbar:visible="false" toolbar:helpid="27322"/>
+ <toolbar:toolbaritem xlink:href=".uno:GridUse" toolbar:visible="false" toolbar:helpid="27154"/>
+ <toolbar:toolbaritem xlink:href=".uno:HelplinesMove" toolbar:visible="false" toolbar:helpid="27153"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapOff" toolbar:visible="false" toolbar:helpid="20472"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapOn" toolbar:visible="false" toolbar:helpid="20473"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapIdeal" toolbar:visible="false" toolbar:helpid="20563"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapLeft" toolbar:visible="false" toolbar:helpid="20572"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapRight" toolbar:visible="false" toolbar:helpid="20573"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapThrough" toolbar:visible="false" toolbar:helpid="20474"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapContour" toolbar:visible="false" toolbar:helpid="20584"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SetObjectToForeground" toolbar:helpid="10283"/>
+ <toolbar:toolbaritem xlink:href=".uno:SetObjectToBackground" toolbar:helpid="10282"/>
+ <toolbar:toolbaritem xlink:href=".uno:BringToFront" toolbar:helpid="10286"/>
+ <toolbar:toolbaritem xlink:href=".uno:SendToBack" toolbar:helpid="10287"/>
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlign" toolbar:helpid="10130"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleAnchorType" toolbar:helpid="20349"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatUngroup" toolbar:helpid="10455"/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatGroup" toolbar:helpid="10454"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/drawtextobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/drawtextobjectbar.xml
new file mode 100644
index 000000000000..31e5ca4db662
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/drawtextobjectbar.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:CharFontName" toolbar:helpid="helpid:10007" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontHeight" toolbar:helpid="helpid:10015" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Bold" toolbar:helpid="helpid:10009" />
+ <toolbar:toolbaritem xlink:href=".uno:Italic" toolbar:helpid="helpid:10008" />
+ <toolbar:toolbaritem xlink:href=".uno:Underline" toolbar:helpid="helpid:10014" />
+ <toolbar:toolbaritem xlink:href=".uno:SuperScript" toolbar:helpid="helpid:20411" />
+ <toolbar:toolbaritem xlink:href=".uno:SubScript" toolbar:helpid="helpid:20412" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LeftPara" toolbar:helpid="helpid:10028" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CenterPara" toolbar:helpid="helpid:10030" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:RightPara" toolbar:helpid="helpid:10029" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:JustifyPara" toolbar:helpid="helpid:10031" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara1" toolbar:helpid="helpid:10034" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara15" toolbar:helpid="helpid:10035" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara2" toolbar:helpid="helpid:10036" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Color" toolbar:helpid="helpid:10017" toolbar:style="dropdown" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ParaLeftToRight" toolbar:helpid="helpid:10950" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:ParaRightToLeft" toolbar:helpid="helpid:10951" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:TextdirectionLeftToRight" toolbar:helpid="helpid:10907" />
+ <toolbar:toolbaritem xlink:href=".uno:TextdirectionTopToBottom" toolbar:helpid="helpid:10908" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SelectAll" toolbar:helpid="helpid:5723" />
+ <toolbar:toolbaritem xlink:href=".uno:FontDialog" toolbar:helpid="helpid:10296" />
+ <toolbar:toolbaritem xlink:href=".uno:ParagraphDialog" toolbar:helpid="helpid:10297" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/extrusionobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/extrusionobjectbar.xml
new file mode 100644
index 000000000000..148849db6ee7
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/extrusionobjectbar.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionToggle" toolbar:helpid="10960"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltDown" toolbar:helpid="10961"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltUp" toolbar:helpid="10962"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltLeft" toolbar:helpid="10963"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltRight" toolbar:helpid="10964"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionDepthFloater" toolbar:helpid="10965" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionDirectionFloater" toolbar:helpid="10966" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionLightingFloater" toolbar:helpid="10967" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionSurfaceFloater" toolbar:helpid="10968" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:Extrusion3DColor" toolbar:helpid="10969" toolbar:style="dropdownonly"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/flowchartshapes.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/flowchartshapes.xml
new file mode 100644
index 000000000000..bb1d1099dbd4
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/flowchartshapes.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-process" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-alternate-process" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-decision" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-data" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-predefined-process" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-internal-storage" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-document" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-multidocument" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-terminator" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-preparation" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-manual-input" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-manual-operation" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-connector" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-off-page-connector" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-card" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-punched-tape" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-summing-junction" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-or" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-collate" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-sort" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-extract" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-merge" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-stored-data" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-delay" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-sequential-access" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-magnetic-disk" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-direct-access-storage" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-display" toolbar:helpid="helpid:11005" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/fontworkobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/fontworkobjectbar.xml
new file mode 100644
index 000000000000..5219a1e235e9
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/fontworkobjectbar.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FontworkGalleryFloater" toolbar:helpid="helpid:10977" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType" toolbar:helpid="helpid:10978" toolbar:style="dropdownonly" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkSameLetterHeights" toolbar:helpid="helpid:10979" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkAlignmentFloater" toolbar:helpid="helpid:10981" toolbar:style="dropdownonly" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkCharacterSpacingFloater" toolbar:helpid="helpid:10982" toolbar:style="dropdownonly" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/fontworkshapetype.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/fontworkshapetype.xml
new file mode 100644
index 000000000000..49b5b8173e0e
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/fontworkshapetype.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-plain-text" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-wave" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-inflate" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-stop" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-curve-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-curve-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-triangle-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-triangle-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-right" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-left" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-slant-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-slant-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-up-and-right" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-up-and-left" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-chevron-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-chevron-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-up-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-down-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-left-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-right-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-circle-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-open-circle-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-up-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-down-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-left-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-right-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-circle-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-open-circle-pour" toolbar:helpid="helpid:10978" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/formcontrols.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/formcontrols.xml
new file mode 100644
index 000000000000..573ca246f7a9
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/formcontrols.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SelectObject" toolbar:helpid="helpid:10128" toolbar:text="" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:SwitchControlDesignMode" toolbar:helpid="helpid:10629" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ControlProperties" toolbar:helpid="helpid:10613" />
+ <toolbar:toolbaritem xlink:href=".uno:FormProperties" toolbar:helpid="helpid:10614" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:CheckBox" toolbar:helpid="helpid:10596" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Edit" toolbar:helpid="helpid:10599" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FormattedField" toolbar:helpid="helpid:10728" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Pushbutton" toolbar:helpid="helpid:10594" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:RadioButton" toolbar:helpid="helpid:10595" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:ListBox" toolbar:helpid="helpid:10600" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ComboBox" toolbar:helpid="helpid:10601" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Label" toolbar:helpid="helpid:10597" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:MoreControls" toolbar:helpid="helpid:11045" />
+ <toolbar:toolbaritem xlink:href=".uno:FormDesignTools" toolbar:helpid="helpid:11046" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:UseWizards" toolbar:helpid="helpid:10727" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/formdesign.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/formdesign.xml
new file mode 100644
index 000000000000..f1cf268cea2a
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/formdesign.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SelectObject" toolbar:helpid="helpid:10128" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:SwitchControlDesignMode" toolbar:helpid="helpid:10629" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ControlProperties" toolbar:helpid="helpid:10613" />
+ <toolbar:toolbaritem xlink:href=".uno:FormProperties" toolbar:helpid="helpid:10614" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ShowDataNavigator" toolbar:helpid="helpid:10773" />
+ <toolbar:toolbaritem xlink:href=".uno:ShowFmExplorer" toolbar:helpid="helpid:10633" />
+ <toolbar:toolbaritem xlink:href=".uno:AddField" toolbar:helpid="helpid:10623" />
+ <toolbar:toolbaritem xlink:href=".uno:TabDialog" toolbar:helpid="helpid:10615" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:OpenReadOnly" toolbar:helpid="helpid:10709" />
+ <toolbar:toolbaritem xlink:href=".uno:AutoControlFocus" toolbar:helpid="helpid:10763" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:TransformDialog" toolbar:helpid="helpid:10087" />
+ <toolbar:toolbaritem xlink:href=".uno:ToggleAnchorType" toolbar:helpid="helpid:20349" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BringToFront" toolbar:helpid="helpid:10286" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SendToBack" toolbar:helpid="helpid:10287" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatGroup" toolbar:helpid="helpid:10454" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:FormatUngroup" toolbar:helpid="helpid:10455" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:EnterGroup" toolbar:helpid="helpid:27096" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:LeaveGroup" toolbar:helpid="helpid:27097" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlign" toolbar:helpid="helpid:10130" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GridVisible" toolbar:helpid="helpid:27322" />
+ <toolbar:toolbaritem xlink:href=".uno:GridUse" toolbar:helpid="helpid:27154" />
+ <toolbar:toolbaritem xlink:href=".uno:HelplinesMove" toolbar:helpid="helpid:27153" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/formsfilterbar.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/formsfilterbar.xml
new file mode 100644
index 000000000000..1d1ad07a9938
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/formsfilterbar.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FormFilterExecute" toolbar:helpid="helpid:10731" />
+ <toolbar:toolbaritem xlink:href=".uno:FormFilterNavigator" toolbar:helpid="helpid:10732" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormFilterExit" toolbar:helpid="helpid:10730" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/formsnavigationbar.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/formsnavigationbar.xml
new file mode 100644
index 000000000000..c6e16444a55d
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/formsnavigationbar.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:RecSearch" toolbar:helpid="10725"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:RecText" toolbar:helpid="10624"/>
+ <toolbar:toolbaritem xlink:href=".uno:AbsoluteRecord" toolbar:helpid="10622"/>
+ <toolbar:toolbaritem xlink:href=".uno:RecFromText" toolbar:helpid="10625"/>
+ <toolbar:toolbaritem xlink:href=".uno:RecTotal" toolbar:helpid="10626"/>
+ <toolbar:toolbaritem xlink:href=".uno:FirstRecord" toolbar:helpid="10616"/>
+ <toolbar:toolbaritem xlink:href=".uno:PrevRecord" toolbar:helpid="10618"/>
+ <toolbar:toolbaritem xlink:href=".uno:NextRecord" toolbar:helpid="10617"/>
+ <toolbar:toolbaritem xlink:href=".uno:LastRecord" toolbar:helpid="10619"/>
+ <toolbar:toolbaritem xlink:href=".uno:NewRecord" toolbar:helpid="10620"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:RecSave" toolbar:helpid="10627"/>
+ <toolbar:toolbaritem xlink:href=".uno:RecUndo" toolbar:helpid="10630"/>
+ <toolbar:toolbaritem xlink:href=".uno:DeleteRecord" toolbar:helpid="10621"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Refresh" toolbar:helpid="10724"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:OrderCrit" toolbar:helpid="10714"/>
+ <toolbar:toolbaritem xlink:href=".uno:Sortup" toolbar:helpid="10712"/>
+ <toolbar:toolbaritem xlink:href=".uno:SortDown" toolbar:helpid="10713"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AutoFilter" toolbar:helpid="10716"/>
+ <toolbar:toolbaritem xlink:href=".uno:FormFiltered" toolbar:helpid="10723"/>
+ <toolbar:toolbaritem xlink:href=".uno:FormFilter" toolbar:helpid="10729"/>
+ <toolbar:toolbaritem xlink:href=".uno:RemoveFilterSort" toolbar:helpid="10711"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ViewFormAsGrid" toolbar:helpid="10761"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/formtextobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/formtextobjectbar.xml
new file mode 100644
index 000000000000..dbdeaf675371
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/formtextobjectbar.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:CharFontName" toolbar:helpid="helpid:10007" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontHeight" toolbar:helpid="helpid:10015" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Bold" toolbar:helpid="helpid:10009" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Italic" toolbar:helpid="helpid:10008" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Underline" toolbar:helpid="helpid:10014" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:SuperScript" toolbar:helpid="helpid:20411" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:SubScript" toolbar:helpid="helpid:20412" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LeftPara" toolbar:helpid="helpid:10028" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CenterPara" toolbar:helpid="helpid:10030" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:RightPara" toolbar:helpid="helpid:10029" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:JustifyPara" toolbar:helpid="helpid:10031" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ParaLeftToRight" toolbar:helpid="helpid:10950" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:ParaRightToLeft" toolbar:helpid="helpid:10951" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara1" toolbar:helpid="helpid:10034" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara15" toolbar:helpid="helpid:10035" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara2" toolbar:helpid="helpid:10036" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontDialog" toolbar:helpid="helpid:10296" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:ParagraphDialog" toolbar:helpid="helpid:10297" toolbar:text="" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/frameobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/frameobjectbar.xml
new file mode 100644
index 000000000000..a591f9094457
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/frameobjectbar.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:StyleApply" toolbar:helpid="helpid:5552" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapOff" toolbar:helpid="helpid:20472" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:WrapOn" toolbar:helpid="helpid:20473" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:WrapIdeal" toolbar:helpid="helpid:20563" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:WrapLeft" toolbar:helpid="helpid:20572" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:WrapRight" toolbar:helpid="helpid:20573" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:WrapThrough" toolbar:helpid="helpid:20474" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignLeft" toolbar:helpid="helpid:20475" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignHorizontalCenter" toolbar:helpid="helpid:20477" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignRight" toolbar:helpid="helpid:20476" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignTop" toolbar:helpid="helpid:20478" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignVerticalCenter" toolbar:helpid="helpid:20480" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignBottom" toolbar:helpid="helpid:20479" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SetBorderStyle" toolbar:helpid="helpid:10187" />
+ <toolbar:toolbaritem xlink:href=".uno:LineStyle" toolbar:helpid="helpid:10200" />
+ <toolbar:toolbaritem xlink:href=".uno:FrameLineColor" toolbar:helpid="helpid:10201" />
+ <toolbar:toolbaritem xlink:href=".uno:BackgroundColor" toolbar:helpid="helpid:10185" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FrameDialog" toolbar:helpid="helpid:20456" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BringToFront" toolbar:helpid="helpid:10286" />
+ <toolbar:toolbaritem xlink:href=".uno:SendToBack" toolbar:helpid="helpid:10287" />
+ <toolbar:toolbaritem xlink:href=".uno:ToggleAnchorType" toolbar:helpid="helpid:20349" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ChainFrames" toolbar:helpid="helpid:21736" />
+ <toolbar:toolbaritem xlink:href=".uno:UnhainFrames" toolbar:helpid="helpid:21737" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/fullscreenbar.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/fullscreenbar.xml
new file mode 100644
index 000000000000..5aecdda4fb04
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/fullscreenbar.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FullScreen" toolbar:helpid="helpid:5627" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/graffilterbar.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/graffilterbar.xml
new file mode 100644
index 000000000000..287c33fe25e5
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/graffilterbar.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterInvert" toolbar:helpid="helpid:34149" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSmooth" toolbar:helpid="helpid:34150" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSharpen" toolbar:helpid="helpid:34151" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterRemoveNoise" toolbar:helpid="helpid:34152" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSolarize" toolbar:helpid="helpid:34159" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSepia" toolbar:helpid="helpid:34158" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterPoster" toolbar:helpid="helpid:34156" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterPopart" toolbar:helpid="helpid:34157" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSobel" toolbar:helpid="helpid:34153" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterRelief" toolbar:helpid="helpid:34155" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterMosaic" toolbar:helpid="helpid:34154" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/graphicobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/graphicobjectbar.xml
new file mode 100644
index 000000000000..040bb8cd8ae6
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/graphicobjectbar.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:InsertGraphic" toolbar:helpid="10241"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterToolbox" toolbar:helpid="10469"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafMode" toolbar:helpid="10871"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ColorSettings" toolbar:helpid="11016"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafTransparence" toolbar:helpid="10869"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FlipVertical" toolbar:helpid="20426"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlipHorizontal" toolbar:helpid="20425"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FrameDialog" toolbar:helpid="20458"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/insertbar.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/insertbar.xml
new file mode 100644
index 000000000000..a9bb7e0eb204
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/insertbar.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:InsertTable" toolbar:helpid="20330"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertFrameInteract" toolbar:helpid="20333"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertDoc" toolbar:helpid="5532"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertGraphic" toolbar:helpid="10241"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertAVMedia" toolbar:helpid="6695"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertFootnote" toolbar:helpid="20399"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertEndnote" toolbar:helpid="21418"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertSymbol" toolbar:helpid="20328"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertObjectStarMath" toolbar:helpid="20369"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertSection" toolbar:helpid="21419"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertIndexesEntry" toolbar:helpid="20335"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertFieldCtrl" toolbar:helpid="52824"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertObjectChart" toolbar:visible="false" toolbar:helpid="10140"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertObjCtrl" toolbar:visible="false" toolbar:helpid="52823"/>
+ <toolbar:toolbaritem xlink:href=".uno:Config" toolbar:visible="false" toolbar:helpid="10593"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertMultiIndex" toolbar:helpid="21420"/>
+ <toolbar:toolbaritem xlink:href=".uno:EditGlossary"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertAnnotation" toolbar:helpid="20329"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertBookmark" toolbar:helpid="20302"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/insertobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/insertobjectbar.xml
new file mode 100644
index 000000000000..951849543373
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/insertobjectbar.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:InsertObjectFloatingFrame" toolbar:helpid="helpid:5563" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertObject" toolbar:helpid="helpid:5561" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertPlugin" toolbar:helpid="helpid:5672" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/mediaobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/mediaobjectbar.xml
new file mode 100644
index 000000000000..2014343bf89b
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/mediaobjectbar.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:InsertAVMedia" toolbar:helpid="6695"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AVMediaToolBox" toolbar:helpid="helpid:6693" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/moreformcontrols.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/moreformcontrols.xml
new file mode 100644
index 000000000000..4c5274460a71
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/moreformcontrols.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SpinButton" toolbar:helpid="helpid:10769" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:ScrollBar" toolbar:helpid="helpid:10768" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:Imagebutton" toolbar:helpid="helpid:10604" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:ImageControl" toolbar:helpid="helpid:10710" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:DateField" toolbar:helpid="helpid:10704" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:TimeField" toolbar:helpid="helpid:10705" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FileControl" toolbar:helpid="helpid:10605" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:NumericField" toolbar:helpid="helpid:10706" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:CurrencyField" toolbar:helpid="helpid:10707" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:PatternField" toolbar:helpid="helpid:10708" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GroupBox" toolbar:helpid="helpid:10598" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Grid" toolbar:helpid="helpid:10603" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:NavigationBar" toolbar:helpid="helpid:10607" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/numobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/numobjectbar.xml
new file mode 100644
index 000000000000..50e28ac32f64
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/numobjectbar.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:DefaultBullet" toolbar:helpid="20138"/>
+ <toolbar:toolbaritem xlink:href=".uno:DefaultNumbering" toolbar:helpid="20144"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:RemoveBullets" toolbar:helpid="20137"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:IncrementLevel" toolbar:helpid="20131"/>
+ <toolbar:toolbaritem xlink:href=".uno:DecrementLevel" toolbar:helpid="20130"/>
+ <toolbar:toolbaritem xlink:href=".uno:IncrementSubLevels" toolbar:helpid="20140"/>
+ <toolbar:toolbaritem xlink:href=".uno:DecrementSubLevels" toolbar:helpid="20139"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertNeutralParagraph" toolbar:helpid="20136"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:MoveUp" toolbar:helpid="20134"/>
+ <toolbar:toolbaritem xlink:href=".uno:MoveDown" toolbar:helpid="20135"/>
+ <toolbar:toolbaritem xlink:href=".uno:MoveUpSubItems" toolbar:helpid="20141"/>
+ <toolbar:toolbaritem xlink:href=".uno:MoveDownSubItems" toolbar:helpid="20142"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:NumberingStart" toolbar:helpid="21738"/>
+ <toolbar:toolbaritem xlink:href=".uno:BulletsAndNumberingDialog" toolbar:helpid="20121"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/oleobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/oleobjectbar.xml
new file mode 100644
index 000000000000..c95b1aebb316
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/oleobjectbar.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:StyleApply" toolbar:helpid="5552"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignLeft" toolbar:helpid="20475"/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignHorizontalCenter" toolbar:helpid="20477"/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignRight" toolbar:helpid="20476"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignTop" toolbar:helpid="20478"/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignVerticalCenter" toolbar:helpid="20480"/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignBottom" toolbar:helpid="20479"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapLeft" toolbar:visible="false" toolbar:helpid="20572"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapRight" toolbar:visible="false" toolbar:helpid="20573"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapOff" toolbar:helpid="20472"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapOn" toolbar:helpid="20473"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapThrough" toolbar:helpid="20474"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapIdeal" toolbar:visible="false" toolbar:helpid="20563"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FrameDialog" toolbar:helpid="20456"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BringToFront" toolbar:helpid="10286"/>
+ <toolbar:toolbaritem xlink:href=".uno:SendToBack" toolbar:helpid="10287"/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleAnchorType" toolbar:helpid="20349"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SetBorderStyle" toolbar:helpid="10187"/>
+ <toolbar:toolbaritem xlink:href=".uno:LineStyle" toolbar:helpid="10200"/>
+ <toolbar:toolbaritem xlink:href=".uno:FrameLineColor" toolbar:helpid="10201"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/optimizetablebar.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/optimizetablebar.xml
new file mode 100644
index 000000000000..7669add92e89
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/optimizetablebar.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:DistributeColumns" toolbar:helpid="helpid:20582" />
+ <toolbar:toolbaritem xlink:href=".uno:DistributeRows" toolbar:helpid="helpid:20583" />
+ <toolbar:toolbaritem xlink:href=".uno:SetOptimalRowHeight" toolbar:helpid="helpid:20528" />
+ <toolbar:toolbaritem xlink:href=".uno:SetOptimalColumnWidth" toolbar:helpid="helpid:20521" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/previewobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/previewobjectbar.xml
new file mode 100644
index 000000000000..435250b63af5
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/previewobjectbar.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:PageUp" toolbar:helpid="20937"/>
+ <toolbar:toolbaritem xlink:href=".uno:PageDown" toolbar:helpid="20938"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GoToStartOfDoc" toolbar:helpid="20907"/>
+ <toolbar:toolbaritem xlink:href=".uno:GoToEndOfDoc" toolbar:helpid="20908"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ShowTwoPages" toolbar:helpid="21251"/>
+ <toolbar:toolbaritem xlink:href=".uno:ShowMultiplePages" toolbar:helpid="21252"/>
+ <toolbar:toolbaritem xlink:href=".uno:ShowBookview" toolbar:helpid="helpid:21255" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ZoomPlus" toolbar:helpid="10097"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:PreviewZoom" toolbar:helpid="53071"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ZoomMinus" toolbar:helpid="10098"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FullScreen" toolbar:helpid="5627"/>
+ <toolbar:toolbaritem xlink:href=".uno:PrintPagePreView" toolbar:helpid="21253"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ClosePreview" toolbar:helpid="5325"/>
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/standardbar.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/standardbar.xml
new file mode 100644
index 000000000000..c1b38e3870f6
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/standardbar.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:OpenUrl" toolbar:visible="false"/>
+ <toolbar:toolbaritem xlink:href=".uno:AddDirect" toolbar:helpid="5537"/>
+ <toolbar:toolbaritem xlink:href=".uno:NewDoc" toolbar:visible="false" toolbar:helpid="5500"/>
+ <toolbar:toolbaritem xlink:href=".uno:Open" toolbar:helpid="5501"/>
+ <toolbar:toolbaritem xlink:href=".uno:Save" toolbar:helpid="5505"/>
+ <toolbar:toolbaritem xlink:href=".uno:SaveAs" toolbar:visible="false" toolbar:helpid="5502"/>
+ <toolbar:toolbaritem xlink:href=".uno:SendMail" toolbar:helpid="5331"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:EditDoc" toolbar:helpid="6312"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExportDirectToPDF" toolbar:helpid="6674"/>
+ <toolbar:toolbaritem xlink:href=".uno:PrintDefault" toolbar:helpid="5509"/>
+ <toolbar:toolbaritem xlink:href=".uno:PrintPreview" toolbar:helpid="5325"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SpellingAndGrammarDialog" toolbar:helpid="20622"/>
+ <toolbar:toolbaritem xlink:href=".uno:SpellOnline" toolbar:helpid="12021"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Cut" toolbar:helpid="5710"/>
+ <toolbar:toolbaritem xlink:href=".uno:Copy" toolbar:helpid="5711"/>
+ <toolbar:toolbaritem xlink:href=".uno:Paste" toolbar:helpid="5712"/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatPaintbrush" toolbar:helpid="5715"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Undo" toolbar:helpid="5701"/>
+ <toolbar:toolbaritem xlink:href=".uno:Redo" toolbar:helpid="5700"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:HyperlinkDialog" toolbar:helpid="5678"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertTable" toolbar:helpid="20330"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertDraw" toolbar:helpid="10244"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SearchDialog" toolbar:helpid="5961" toolbar:visible="false"/>
+ <toolbar:toolbaritem xlink:href=".uno:Navigator" toolbar:helpid="10366"/>
+ <toolbar:toolbaritem xlink:href=".uno:Gallery" toolbar:helpid="5960"/>
+ <toolbar:toolbaritem xlink:href=".uno:ViewDataSourceBrowser" toolbar:helpid="6660"/>
+ <toolbar:toolbaritem xlink:href=".uno:ControlCodes" toolbar:helpid="20224"/>
+ <toolbar:toolbaritem xlink:href=".uno:Zoom" toolbar:helpid="10000" toolbar:visible="false"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:HelpIndex"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtendedHelp" toolbar:visible="false" toolbar:helpid="5402"/>
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/starshapes.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/starshapes.xml
new file mode 100644
index 000000000000..a2ff874d2fe7
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/starshapes.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.bang" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star4" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star5" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star6" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star8" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star12" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star24" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.concave-star6" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.vertical-scroll" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.horizontal-scroll" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.signet" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.doorplate" toolbar:helpid="helpid:11007" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/symbolshapes.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/symbolshapes.xml
new file mode 100644
index 000000000000..0fa6aee313db
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/symbolshapes.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.smiley" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.sun" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.moon" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.lightning" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.heart" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.flower" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.cloud" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.forbidden" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.puzzle" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.bracket-pair" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.left-bracket" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.right-bracket" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.brace-pair" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.left-brace" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.right-brace" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.quad-bevel" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.octagon-bevel" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.diamond-bevel" toolbar:helpid="helpid:11003" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/tableobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/tableobjectbar.xml
new file mode 100644
index 000000000000..d34267a6e1de
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/tableobjectbar.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:InsertTable" toolbar:helpid="helpid:20330" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LineStyle" toolbar:helpid="helpid:10200" />
+ <toolbar:toolbaritem xlink:href=".uno:FrameLineColor" toolbar:helpid="helpid:10201" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SetBorderStyle" toolbar:helpid="helpid:10187" />
+ <toolbar:toolbaritem xlink:href=".uno:BackgroundColor" toolbar:helpid="helpid:10185" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:MergeCells" toolbar:helpid="helpid:20506" />
+ <toolbar:toolbaritem xlink:href=".uno:SplitCell" toolbar:helpid="helpid:20505" />
+ <toolbar:toolbaritem xlink:href=".uno:OptimizeTable" toolbar:helpid="helpid:20510" toolbar:style="dropdown" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:CellVertTop" toolbar:helpid="helpid:20585" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CellVertCenter" toolbar:helpid="helpid:20586" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CellVertBottom" toolbar:helpid="helpid:20587" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertRows" toolbar:helpid="helpid:20501" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertColumns" toolbar:helpid="helpid:20502" />
+ <toolbar:toolbaritem xlink:href=".uno:DeleteRows" toolbar:helpid="helpid:20503" />
+ <toolbar:toolbaritem xlink:href=".uno:DeleteColumns" toolbar:helpid="helpid:20504" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SelectTable" toolbar:helpid="helpid:20515" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:EntireColumn" toolbar:helpid="helpid:20514" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:EntireRow" toolbar:helpid="helpid:20513" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AutoFormat" toolbar:helpid="helpid:20595" />
+ <toolbar:toolbaritem xlink:href=".uno:TableDialog" toolbar:helpid="helpid:20459" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:TableSort" toolbar:helpid="helpid:20533" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AutoSum" toolbar:helpid="helpid:20595" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/textobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/textobjectbar.xml
new file mode 100644
index 000000000000..d48a96df35dc
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/textobjectbar.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:DesignerDialog" toolbar:helpid="5539"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:StyleApply" toolbar:helpid="helpid:5552" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:CharFontName" toolbar:helpid="helpid:10007" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontHeight" toolbar:helpid="helpid:10015" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Bold" toolbar:helpid="helpid:10009" />
+ <toolbar:toolbaritem xlink:href=".uno:Italic" toolbar:helpid="helpid:10008" />
+ <toolbar:toolbaritem xlink:href=".uno:Underline" toolbar:helpid="helpid:10014" />
+ <toolbar:toolbaritem xlink:href=".uno:SuperScript" toolbar:helpid="helpid:20411" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SubScript" toolbar:helpid="helpid:20412" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LeftPara" toolbar:helpid="helpid:10028" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CenterPara" toolbar:helpid="helpid:10030" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:RightPara" toolbar:helpid="helpid:10029" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:JustifyPara" toolbar:helpid="helpid:10031" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ParaLeftToRight" toolbar:helpid="helpid:10950" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:ParaRightToLeft" toolbar:helpid="helpid:10951" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara1" toolbar:helpid="helpid:10034" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara15" toolbar:helpid="helpid:10035" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara2" toolbar:helpid="helpid:10036" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:DefaultNumbering" toolbar:helpid="helpid:20144" />
+ <toolbar:toolbaritem xlink:href=".uno:DefaultBullet" toolbar:helpid="helpid:20138" />
+ <toolbar:toolbaritem xlink:href=".uno:DecrementIndent" toolbar:helpid="helpid:10461" />
+ <toolbar:toolbaritem xlink:href=".uno:IncrementIndent" toolbar:helpid="helpid:10462" />
+ <toolbar:toolbaritem xlink:href=".uno:Grow" toolbar:helpid="helpid:20403" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:Shrink" toolbar:helpid="helpid:20404" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontColor" toolbar:helpid="helpid:10017" toolbar:style="dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:BackColor" toolbar:helpid="helpid:10489" toolbar:style="dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:BackgroundColor" toolbar:helpid="helpid:10185" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SelectAll" toolbar:helpid="helpid:5723" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:FontDialog" toolbar:helpid="helpid:10296" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:ParagraphDialog" toolbar:helpid="helpid:10297" toolbar:visible="false" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/toolbar.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/toolbar.xml
new file mode 100644
index 000000000000..7ff331e17224
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/toolbar.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:InsertCtrl" toolbar:helpid="52822"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ShadowCursor" toolbar:helpid="22204"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Hyphenate" toolbar:helpid="20605"/>
+ <toolbar:toolbaritem xlink:href=".uno:ThesaurusDialog" toolbar:helpid="20603"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Graphic" toolbar:helpid="20213"/>
+ <toolbar:toolbaritem xlink:href=".uno:BrowseView" toolbar:helpid="6313"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/viewerbar.xml b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/viewerbar.xml
new file mode 100644
index 000000000000..d4d6a59d7ed5
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swreport/toolbar/viewerbar.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SaveAs" toolbar:helpid="helpid:5502" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:EditDoc" toolbar:helpid="helpid:6312" />
+ <toolbar:toolbaritem xlink:href=".uno:SendMail" toolbar:helpid="helpid:5331" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExportDirectToPDF" toolbar:helpid="helpid:6674" />
+ <toolbar:toolbaritem xlink:href=".uno:PrintDefault" toolbar:helpid="helpid:5509" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Copy" toolbar:helpid="helpid:5711" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SearchDialog" toolbar:helpid="helpid:5961" />
+ <toolbar:toolbaritem xlink:href=".uno:Navigator" toolbar:helpid="helpid:10366" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Zoom" toolbar:helpid="helpid:10000" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/menubar/menubar.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/menubar/menubar.xml
new file mode 100644
index 000000000000..02107d0088a2
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/menubar/menubar.xml
@@ -0,0 +1,463 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<menu:menubar xmlns:menu="http://openoffice.org/2001/menu" menu:id="menubar">
+ <menu:menu menu:id=".uno:PickList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:AddDirect"/>
+ <menu:menuitem menu:id=".uno:Open"/>
+ <menu:menuitem menu:id=".uno:RecentFileList"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AutoPilotMenu"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CloseDoc"/>
+ <menu:menuitem menu:id=".uno:Save"/>
+ <menu:menuitem menu:id=".uno:SaveAs"/>
+ <menu:menuitem menu:id=".uno:SaveAll"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Reload"/>
+ <menu:menuitem menu:id=".uno:VersionDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ExportTo"/>
+ <menu:menuitem menu:id=".uno:ExportToPDF"/>
+ <menu:menu menu:id=".uno:SendToMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SendMail"/>
+ <menu:menuitem menu:id=".uno:SendMailDocAsOOo"/>
+ <menu:menuitem menu:id=".uno:SendMailDocAsMS"/>
+ <menu:menuitem menu:id=".uno:SendMailDocAsPDF"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:NewGlobalDoc"/>
+ <menu:menuitem menu:id=".uno:NewHtmlDoc"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SendOutlineToStarImpress"/>
+ <menu:menuitem menu:id=".uno:SendOutlineToClipboard"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CreateAbstract"/>
+ <menu:menuitem menu:id=".uno:SendAbstractToStarImpress"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SetDocumentProperties"/>
+ <menu:menuitem menu:id=".uno:Signature"/>
+ <menu:menu menu:id=".uno:TemplateMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Organizer"/>
+ <menu:menuitem menu:id=".uno:AddressBookSource"/>
+ <menu:menuitem menu:id=".uno:SaveAsTemplate"/>
+ <menu:menuitem menu:id=".uno:OpenTemplate"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:WebHtml"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:PrintPreview"/>
+ <menu:menuitem menu:id=".uno:Print"/>
+ <menu:menuitem menu:id=".uno:PrinterSetup"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Quit"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:EditMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Undo"/>
+ <menu:menuitem menu:id=".uno:Redo"/>
+ <menu:menuitem menu:id=".uno:Repeat"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Cut"/>
+ <menu:menuitem menu:id=".uno:Copy"/>
+ <menu:menuitem menu:id=".uno:Paste"/>
+ <menu:menuitem menu:id=".uno:PasteSpecial"/>
+ <menu:menuitem menu:id=".uno:SelectTextMode"/>
+ <menu:menu menu:id=".uno:SelectionModeMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SelectionModeDefault" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:SelectionModeBlock" menu:style="radio"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:SelectAll"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:ChangesMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:TrackChanges"/>
+ <menu:menuitem menu:id=".uno:ProtectTraceChangeMode"/>
+ <menu:menuitem menu:id=".uno:ShowTrackedChanges"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AcceptTrackedChanges"/>
+ <menu:menuitem menu:id=".uno:CommentChangeTracking"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MergeDocuments"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:CompareDocuments"/>
+ <menu:menuitem menu:id="vnd.sun.star.findbar:FocusToFindbar"/>
+ <menu:menuitem menu:id=".uno:SearchDialog"/>
+ <menu:menuitem menu:id=".uno:EditGlossary"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ChangeDatabaseField"/>
+ <menu:menuitem menu:id=".uno:FieldDialog"/>
+ <menu:menuitem menu:id=".uno:EditFootnote"/>
+ <menu:menuitem menu:id=".uno:IndexEntryDialog"/>
+ <menu:menuitem menu:id=".uno:AuthoritiesEntryDialog"/>
+ <menu:menuitem menu:id=".uno:EditHyperlink"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:LinkDialog"/>
+ <menu:menuitem menu:id=".uno:PlugInsActive"/>
+ <menu:menuitem menu:id=".uno:ImageMapDialog"/>
+ <menu:menuitem menu:id=".uno:ObjectMenue"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ViewMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:PrintLayout" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:BrowseView" menu:style="radio"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AvailableToolbars"/>
+ <menu:menuitem menu:id=".uno:StatusBarVisible"/>
+ <menu:menuitem menu:id=".uno:ShowImeStatusWindow"/>
+ <menu:menuitem menu:id=".uno:Ruler"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ViewBounds"/>
+ <menu:menuitem menu:id=".uno:Marks"/>
+ <menu:menuitem menu:id=".uno:Fieldnames"/>
+ <menu:menuitem menu:id=".uno:ControlCodes"/>
+ <menu:menuitem menu:id=".uno:ShowHiddenParagraphs"/>
+ <menu:menuitem menu:id=".uno:ShowAnnotations"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ViewDataSourceBrowser"/>
+ <menu:menuitem menu:id=".uno:Navigator"/>
+ <menu:menuitem menu:id=".uno:TaskPane"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:FullScreen"/>
+ <menu:menuitem menu:id=".uno:Zoom"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:InsertMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertBreak"/>
+ <menu:menu menu:id=".uno:FieldMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertDateField"/>
+ <menu:menuitem menu:id=".uno:InsertTimeField"/>
+ <menu:menuitem menu:id=".uno:InsertPageNumberField"/>
+ <menu:menuitem menu:id=".uno:InsertPageCountField"/>
+ <menu:menuitem menu:id=".uno:InsertTopicField"/>
+ <menu:menuitem menu:id=".uno:InsertTitleField"/>
+ <menu:menuitem menu:id=".uno:InsertAuthorField"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertField"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:InsertSymbol"/>
+ <menu:menu menu:id=".uno:FormattingMarkMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertNonBreakingSpace"/>
+ <menu:menuitem menu:id=".uno:InsertHardHyphen"/>
+ <menu:menuitem menu:id=".uno:InsertSoftHyphen"/>
+ <menu:menuitem menu:id=".uno:InsertZWSP"/>
+ <menu:menuitem menu:id=".uno:InsertZWNBSP"/>
+ <menu:menuitem menu:id=".uno:InsertLRM"/>
+ <menu:menuitem menu:id=".uno:InsertRLM"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertSection"/>
+ <menu:menuitem menu:id=".uno:HyperlinkDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertPageHeader"/>
+ <menu:menuitem menu:id=".uno:InsertPageFooter"/>
+ <menu:menuitem menu:id=".uno:InsertFootnoteDialog"/>
+ <menu:menuitem menu:id=".uno:InsertCaptionDialog"/>
+ <menu:menuitem menu:id=".uno:InsertBookmark"/>
+ <menu:menuitem menu:id=".uno:InsertReferenceField"/>
+ <menu:menuitem menu:id=".uno:InsertAnnotation"/>
+ <menu:menuitem menu:id=".uno:InsertScript"/>
+ <menu:menu menu:id=".uno:IndexesMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertIndexesEntry"/>
+ <menu:menuitem menu:id=".uno:InsertMultiIndex"/>
+ <menu:menuitem menu:id=".uno:InsertAuthoritiesEntry"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertEnvelope"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertFrame"/>
+ <menu:menuitem menu:id=".uno:InsertTable"/>
+ <menu:menuitem menu:id=".uno:InsertGraphicRuler"/>
+ <menu:menu menu:id=".uno:GraphicMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertGraphic"/>
+ <menu:menu menu:id=".uno:Scan">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:TwainSelect"/>
+ <menu:menuitem menu:id=".uno:TwainTransfer"/>
+ </menu:menupopup>
+ </menu:menu>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:InsertAVMedia"/>
+ <menu:menu menu:id=".uno:ObjectMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertObject"/>
+ <menu:menuitem menu:id=".uno:InsertPlugin"/>
+ <menu:menuitem menu:id=".uno:InsertObjectStarMath"/>
+ <menu:menuitem menu:id=".uno:InsertObjectChart"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:InsertObjectFloatingFrame"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertDoc"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:FormatMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ResetAttributes"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:FontDialog"/>
+ <menu:menuitem menu:id=".uno:ParagraphDialog"/>
+ <menu:menuitem menu:id=".uno:BulletsAndNumberingDialog"/>
+ <menu:menuitem menu:id=".uno:PageDialog"/>
+ <menu:menuitem menu:id=".uno:TitlePageDialog"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:TransliterateMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ChangeCaseToSentenceCase"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToLower"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToUpper"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToTitleCase"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToToggleCase"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToHalfWidth"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToFullWidth"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToHiragana"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToKatakana"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:RubyDialog"/>
+ <menu:menuitem menu:id=".uno:FormatColumns"/>
+ <menu:menuitem menu:id=".uno:EditRegion"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:DesignerDialog"/>
+ <menu:menu menu:id=".uno:AutoFormatMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:OnlineAutoFormat"/>
+ <menu:menuitem menu:id=".uno:AutoFormatApply"/>
+ <menu:menuitem menu:id=".uno:AutoFormatRedlineApply"/>
+ <menu:menuitem menu:id=".uno:AutoCorrectDlg"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:AnchorMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SetAnchorToPage" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:SetAnchorToPara" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:SetAnchorAtChar" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:SetAnchorToChar" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:SetAnchorToFrame" menu:style="radio"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:WrapMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:WrapOff"/>
+ <menu:menuitem menu:id=".uno:WrapOn"/>
+ <menu:menuitem menu:id=".uno:WrapIdeal"/>
+ <menu:menuitem menu:id=".uno:WrapThrough"/>
+ <menu:menuitem menu:id=".uno:WrapThroughTransparent"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:WrapContour"/>
+ <menu:menuitem menu:id=".uno:ContourDialog"/>
+ <menu:menuitem menu:id=".uno:WrapAnchorOnly"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:TextWrap"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ObjectAlign">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:CommonAlignLeft" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:CommonAlignHorizontalCenter" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:CommonAlignRight" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:CommonAlignJustified" menu:style="radio"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CommonAlignTop"/>
+ <menu:menuitem menu:id=".uno:CommonAlignVerticalCenter"/>
+ <menu:menuitem menu:id=".uno:CommonAlignBottom"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ArrangeMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:BringToFront"/>
+ <menu:menuitem menu:id=".uno:ObjectForwardOne"/>
+ <menu:menuitem menu:id=".uno:ObjectBackOne"/>
+ <menu:menuitem menu:id=".uno:SendToBack"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SetObjectToForeground"/>
+ <menu:menuitem menu:id=".uno:SetObjectToBackground"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:FlipMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:FlipHorizontal"/>
+ <menu:menuitem menu:id=".uno:FlipVertical"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:GroupMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:FormatGroup"/>
+ <menu:menuitem menu:id=".uno:FormatUngroup"/>
+ <menu:menuitem menu:id=".uno:EnterGroup"/>
+ <menu:menuitem menu:id=".uno:LeaveGroup"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:ObjectMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:TransformDialog"/>
+ <menu:menuitem menu:id=".uno:FormatLine"/>
+ <menu:menuitem menu:id=".uno:FormatArea"/>
+ <menu:menuitem menu:id=".uno:TextAttributes"/>
+ <menu:menuitem menu:id=".uno:FontWork"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ObjectTitleDescription"/>
+ <menu:menuitem menu:id=".uno:NameGroup"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:FrameDialog"/>
+ <menu:menuitem menu:id=".uno:GraphicDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:TableMenu">
+ <menu:menupopup>
+ <menu:menu menu:id=".uno:TableInsertMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertTable"/>
+ <menu:menuitem menu:id=".uno:InsertRowDialog"/>
+ <menu:menuitem menu:id=".uno:InsertColumnDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:TableDeleteMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:DeleteTable"/>
+ <menu:menuitem menu:id=".uno:DeleteRows"/>
+ <menu:menuitem menu:id=".uno:DeleteColumns"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:TableSelectMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SelectTable"/>
+ <menu:menuitem menu:id=".uno:EntireRow"/>
+ <menu:menuitem menu:id=".uno:EntireColumn"/>
+ <menu:menuitem menu:id=".uno:EntireCell"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:MergeCells"/>
+ <menu:menuitem menu:id=".uno:SplitCell"/>
+ <menu:menuitem menu:id=".uno:Protect"/>
+ <menu:menuitem menu:id=".uno:MergeTable"/>
+ <menu:menuitem menu:id=".uno:SplitTable"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AutoFormat"/>
+ <menu:menu menu:id=".uno:TableAutoFitMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SetColumnWidth"/>
+ <menu:menuitem menu:id=".uno:SetOptimalColumnWidth"/>
+ <menu:menuitem menu:id=".uno:DistributeColumns"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SetRowHeight"/>
+ <menu:menuitem menu:id=".uno:SetOptimalRowHeight"/>
+ <menu:menuitem menu:id=".uno:DistributeRows"/>
+ <menu:menuitem menu:id=".uno:RowSplit"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:HeadingRowsRepeat"/>
+ <menu:menu menu:id=".uno:TableConvertMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ConvertTextToTable"/>
+ <menu:menuitem menu:id=".uno:ConvertTableToText"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:TableSort"/>
+ <menu:menuitem menu:id=".uno:InsertFormula"/>
+ <menu:menuitem menu:id=".uno:TableNumberFormatDialog"/>
+ <menu:menuitem menu:id=".uno:TableBoundaries"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:TableDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ToolsMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SpellingAndGrammarDialog"/>
+ <menu:menu menu:id=".uno:LanguageMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SetLanguageSelectionMenu"/>
+ <menu:menuitem menu:id=".uno:SetLanguageParagraphMenu"/>
+ <menu:menuitem menu:id=".uno:SetLanguageAllTextMenu"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:HangulHanjaConversion"/>
+ <menu:menuitem menu:id=".uno:ChineseConversion"/>
+ <menu:menuitem menu:id=".uno:ThesaurusDialog"/>
+ <menu:menuitem menu:id=".uno:Hyphenate"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MoreDictionaries"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:WordCountDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ChapterNumberingDialog"/>
+ <menu:menuitem menu:id=".uno:LineNumberingDialog"/>
+ <menu:menuitem menu:id=".uno:FootnoteDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Gallery"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:BibliographyComponent"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MailMergeWizard"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SortDialog"/>
+ <menu:menuitem menu:id=".uno:CalculateSel"/>
+ <menu:menu menu:id=".uno:UpdateMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:UpdateAll"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:UpdateFields"/>
+ <menu:menuitem menu:id=".uno:UpdateAllLinks"/>
+ <menu:menuitem menu:id=".uno:UpdateCharts"/>
+ <menu:menuitem menu:id=".uno:UpdateCurIndex"/>
+ <menu:menuitem menu:id=".uno:UpdateAllIndexes"/>
+ <menu:menuitem menu:id=".uno:Repaginate"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:MacrosMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:MacroRecorder"/>
+ <menu:menuitem menu:id=".uno:RunMacro"/>
+ <menu:menu menu:id=".uno:ScriptOrganizer"/>
+ <menu:menuitem menu:id=".uno:MacroSignature"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MacroOrganizer?TabId:short=1"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id="service:com.sun.star.deployment.ui.PackageManagerDialog"/>
+ <menu:menuitem menu:id=".uno:OpenXMLFilterSettings"/>
+ <menu:menuitem menu:id=".uno:AutoCorrectDlg"/>
+ <menu:menuitem menu:id=".uno:ConfigureDialog"/>
+ <menu:menuitem menu:id=".uno:OptionsTreeDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:WindowList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:NewWindow"/>
+ <menu:menuitem menu:id=".uno:CloseWin"/>
+ <menu:menuseparator/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:HelpMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HelpIndex"/>
+ <menu:menuitem menu:id=".uno:ExtendedHelp"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowLicense"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowCredits"/>
+ <menu:menuitem menu:id=".uno:About"/>
+ </menu:menupopup>
+ </menu:menu>
+</menu:menubar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/statusbar/statusbar.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/statusbar/statusbar.xml
new file mode 100644
index 000000000000..3e46300cd0e7
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/statusbar/statusbar.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE statusbar:statusbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "statusbar.dtd">
+<statusbar:statusbar xmlns:statusbar="http://openoffice.org/2001/statusbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <statusbar:statusbaritem xlink:href=".uno:StatePageNumber" statusbar:align="left" statusbar:autosize="true" statusbar:width="54" statusbar:helpid="helpid:21181"/>
+ <statusbar:statusbaritem xlink:href=".uno:PageStyleName" statusbar:align="left" statusbar:autosize="true" statusbar:width="79" statusbar:helpid="helpid:21182"/>
+ <statusbar:statusbaritem xlink:href=".uno:LanguageStatus" statusbar:align="center" statusbar:autosize="true" statusbar:width="100" />
+ <statusbar:statusbaritem xlink:href=".uno:InsertMode" statusbar:align="center" statusbar:width="37" statusbar:helpid="helpid:10221"/>
+ <statusbar:statusbaritem xlink:href=".uno:SelectionMode" statusbar:align="center" statusbar:width="30" statusbar:helpid="helpid:21185"/>
+ <statusbar:statusbaritem xlink:href=".uno:ModifiedStatus" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="9" statusbar:helpid="helpid:5584"/>
+ <statusbar:statusbaritem xlink:href=".uno:Signature" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="16" statusbar:helpid="helpid:5699"/>
+ <statusbar:statusbaritem xlink:href=".uno:Size" statusbar:align="left" statusbar:autosize="true" statusbar:ownerdraw="true" statusbar:width="129" statusbar:helpid="helpid:10224"/>
+ <statusbar:statusbaritem xlink:href=".uno:ViewLayout" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="63" statusbar:helpid="helpid:11064"/>
+ <statusbar:statusbaritem xlink:href=".uno:ZoomSlider" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="130" statusbar:helpid="helpid:11065"/>
+ <statusbar:statusbaritem xlink:href=".uno:Zoom" statusbar:align="center" statusbar:width="35" statusbar:helpid="helpid:10000"/>
+</statusbar:statusbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/alignmentbar.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/alignmentbar.xml
new file mode 100644
index 000000000000..dbd7294e566c
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/alignmentbar.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlignLeft" toolbar:helpid="helpid:10131" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignCenter" toolbar:helpid="helpid:10132" />
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlignRight" toolbar:helpid="helpid:10133" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignUp" toolbar:helpid="helpid:10134" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignMiddle" toolbar:helpid="helpid:10135" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignDown" toolbar:helpid="helpid:10136" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/arrowshapes.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/arrowshapes.xml
new file mode 100644
index 000000000000..4a53519494ea
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/arrowshapes.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.down-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-down-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-right-down-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.quad-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.corner-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.split-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.striped-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.notched-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.pentagon-right" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.chevron" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.right-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.down-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-right-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-down-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-right-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.quad-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.circular-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.split-round-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.s-sharped-arrow" toolbar:helpid="helpid:11004" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/basicshapes.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/basicshapes.xml
new file mode 100644
index 000000000000..e65778305788
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/basicshapes.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.rectangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.round-rectangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.quadrat" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.round-quadrat" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.circle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.ellipse" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.circle-pie" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.isosceles-triangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.right-triangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.trapezoid" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.diamond" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.parallelogram" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.pentagon" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.hexagon" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.octagon" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.cross" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.ring" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.block-arc" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.can" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.cube" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.paper" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.frame" toolbar:helpid="helpid:11002" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/bezierobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/bezierobjectbar.xml
new file mode 100644
index 000000000000..7c067e68d13c
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/bezierobjectbar.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:ToggleObjectBezierMode" toolbar:helpid="helpid:10126" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierMove" toolbar:helpid="helpid:10121" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierInsert" toolbar:helpid="helpid:10119" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierDelete" toolbar:helpid="helpid:10120" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierCutLine" toolbar:helpid="helpid:10127" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierConvert" toolbar:helpid="helpid:27065" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierEdge" toolbar:helpid="helpid:27066" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierSmooth" toolbar:helpid="helpid:10123" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierSymmetric" toolbar:helpid="helpid:27067" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierClose" toolbar:helpid="helpid:10122" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierEliminatePoints" toolbar:helpid="helpid:27030" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/calloutshapes.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/calloutshapes.xml
new file mode 100644
index 000000000000..91b957fa697a
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/calloutshapes.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.rectangular-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.round-rectangular-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.round-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.cloud-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.line-callout-1" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.line-callout-2" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.line-callout-3" toolbar:helpid="helpid:11006" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/colorbar.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/colorbar.xml
new file mode 100644
index 000000000000..adcda76b5c3a
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/colorbar.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:GrafRed" toolbar:helpid="helpid:10865" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafGreen" toolbar:helpid="helpid:10866" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafBlue" toolbar:helpid="helpid:10867" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafLuminance" toolbar:helpid="helpid:10863" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafContrast" toolbar:helpid="helpid:10864" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafGamma" toolbar:helpid="helpid:10868" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/drawbar.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/drawbar.xml
new file mode 100644
index 000000000000..2407475a88f6
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/drawbar.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:SelectObject" toolbar:helpid="10128"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Line" toolbar:helpid="10102"/>
+ <toolbar:toolbaritem xlink:href=".uno:Rect" toolbar:helpid="10104"/>
+ <toolbar:toolbaritem xlink:href=".uno:Ellipse" toolbar:helpid="10110"/>
+ <toolbar:toolbaritem xlink:href=".uno:Polygon_Unfilled" toolbar:visible="false" toolbar:helpid="10395"/>
+ <toolbar:toolbaritem xlink:href=".uno:Bezier_Unfilled" toolbar:visible="false" toolbar:helpid="10397"/>
+ <toolbar:toolbaritem xlink:href=".uno:Freeline_Unfilled" toolbar:helpid="10464"/>
+ <toolbar:toolbaritem xlink:href=".uno:Arc" toolbar:visible="false" toolbar:helpid="10114"/>
+ <toolbar:toolbaritem xlink:href=".uno:Pie" toolbar:visible="false" toolbar:helpid="10112"/>
+ <toolbar:toolbaritem xlink:href=".uno:CircleCut" toolbar:visible="false" toolbar:helpid="10115"/>
+ <toolbar:toolbaritem xlink:href=".uno:DrawText" toolbar:helpid="10253"/>
+ <toolbar:toolbaritem xlink:href=".uno:VerticalText" toolbar:helpid="10905"/>
+ <toolbar:toolbaritem xlink:href=".uno:Text_Marquee" toolbar:visible="false" toolbar:helpid="10465"/>
+ <toolbar:toolbaritem xlink:href=".uno:DrawCaption" toolbar:helpid="10254"/>
+ <toolbar:toolbaritem xlink:href=".uno:VerticalCaption" toolbar:helpid="10906"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes" toolbar:helpid="11002"/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes" toolbar:helpid="11003"/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes" toolbar:helpid="11004"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes" toolbar:helpid="11005"/>
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes" toolbar:helpid="11006"/>
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes" toolbar:helpid="11007"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleObjectBezierMode" toolbar:helpid="10126"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkGalleryFloater" toolbar:helpid="10977"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertGraphic" toolbar:helpid="10241"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionToggle" toolbar:helpid="10960"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/drawingobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/drawingobjectbar.xml
new file mode 100644
index 000000000000..4703c3cfdad6
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/drawingobjectbar.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FormatLine" toolbar:helpid="helpid:10143" />
+ <toolbar:toolbaritem xlink:href=".uno:LineEndStyle" toolbar:helpid="helpid:10301" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:XLineStyle" toolbar:helpid="helpid:10169" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LineWidth" toolbar:helpid="helpid:10171" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:XLineColor" toolbar:helpid="helpid:10172" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatArea" toolbar:helpid="helpid:10142" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FillStyle" toolbar:helpid="helpid:10164" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleObjectRotateMode" toolbar:helpid="10129"/>
+ <toolbar:toolbaritem xlink:href=".uno:GridVisible" toolbar:visible="false" toolbar:helpid="27322"/>
+ <toolbar:toolbaritem xlink:href=".uno:GridUse" toolbar:visible="false" toolbar:helpid="27154"/>
+ <toolbar:toolbaritem xlink:href=".uno:HelplinesMove" toolbar:visible="false" toolbar:helpid="27153"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapOff" toolbar:visible="false" toolbar:helpid="20472"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapOn" toolbar:visible="false" toolbar:helpid="20473"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapIdeal" toolbar:visible="false" toolbar:helpid="20563"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapLeft" toolbar:visible="false" toolbar:helpid="20572"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapRight" toolbar:visible="false" toolbar:helpid="20573"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapThrough" toolbar:visible="false" toolbar:helpid="20474"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapContour" toolbar:visible="false" toolbar:helpid="20584"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SetObjectToForeground" toolbar:helpid="10283"/>
+ <toolbar:toolbaritem xlink:href=".uno:SetObjectToBackground" toolbar:helpid="10282"/>
+ <toolbar:toolbaritem xlink:href=".uno:BringToFront" toolbar:helpid="10286"/>
+ <toolbar:toolbaritem xlink:href=".uno:SendToBack" toolbar:helpid="10287"/>
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlign" toolbar:helpid="10130"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleAnchorType" toolbar:helpid="20349"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatUngroup" toolbar:helpid="10455"/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatGroup" toolbar:helpid="10454"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/drawtextobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/drawtextobjectbar.xml
new file mode 100644
index 000000000000..31e5ca4db662
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/drawtextobjectbar.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:CharFontName" toolbar:helpid="helpid:10007" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontHeight" toolbar:helpid="helpid:10015" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Bold" toolbar:helpid="helpid:10009" />
+ <toolbar:toolbaritem xlink:href=".uno:Italic" toolbar:helpid="helpid:10008" />
+ <toolbar:toolbaritem xlink:href=".uno:Underline" toolbar:helpid="helpid:10014" />
+ <toolbar:toolbaritem xlink:href=".uno:SuperScript" toolbar:helpid="helpid:20411" />
+ <toolbar:toolbaritem xlink:href=".uno:SubScript" toolbar:helpid="helpid:20412" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LeftPara" toolbar:helpid="helpid:10028" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CenterPara" toolbar:helpid="helpid:10030" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:RightPara" toolbar:helpid="helpid:10029" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:JustifyPara" toolbar:helpid="helpid:10031" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara1" toolbar:helpid="helpid:10034" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara15" toolbar:helpid="helpid:10035" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara2" toolbar:helpid="helpid:10036" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Color" toolbar:helpid="helpid:10017" toolbar:style="dropdown" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ParaLeftToRight" toolbar:helpid="helpid:10950" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:ParaRightToLeft" toolbar:helpid="helpid:10951" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:TextdirectionLeftToRight" toolbar:helpid="helpid:10907" />
+ <toolbar:toolbaritem xlink:href=".uno:TextdirectionTopToBottom" toolbar:helpid="helpid:10908" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SelectAll" toolbar:helpid="helpid:5723" />
+ <toolbar:toolbaritem xlink:href=".uno:FontDialog" toolbar:helpid="helpid:10296" />
+ <toolbar:toolbaritem xlink:href=".uno:ParagraphDialog" toolbar:helpid="helpid:10297" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/extrusionobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/extrusionobjectbar.xml
new file mode 100644
index 000000000000..148849db6ee7
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/extrusionobjectbar.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionToggle" toolbar:helpid="10960"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltDown" toolbar:helpid="10961"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltUp" toolbar:helpid="10962"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltLeft" toolbar:helpid="10963"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltRight" toolbar:helpid="10964"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionDepthFloater" toolbar:helpid="10965" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionDirectionFloater" toolbar:helpid="10966" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionLightingFloater" toolbar:helpid="10967" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionSurfaceFloater" toolbar:helpid="10968" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:Extrusion3DColor" toolbar:helpid="10969" toolbar:style="dropdownonly"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/findbar.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/findbar.xml
new file mode 100644
index 000000000000..49e483e178a3
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/findbar.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FindText"/>
+ <toolbar:toolbaritem xlink:href=".uno:DownSearch"/>
+ <toolbar:toolbaritem xlink:href=".uno:UpSearch"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SearchDialog"/>
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/flowchartshapes.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/flowchartshapes.xml
new file mode 100644
index 000000000000..bb1d1099dbd4
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/flowchartshapes.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-process" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-alternate-process" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-decision" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-data" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-predefined-process" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-internal-storage" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-document" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-multidocument" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-terminator" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-preparation" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-manual-input" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-manual-operation" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-connector" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-off-page-connector" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-card" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-punched-tape" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-summing-junction" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-or" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-collate" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-sort" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-extract" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-merge" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-stored-data" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-delay" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-sequential-access" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-magnetic-disk" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-direct-access-storage" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-display" toolbar:helpid="helpid:11005" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/fontworkobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/fontworkobjectbar.xml
new file mode 100644
index 000000000000..5219a1e235e9
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/fontworkobjectbar.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FontworkGalleryFloater" toolbar:helpid="helpid:10977" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType" toolbar:helpid="helpid:10978" toolbar:style="dropdownonly" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkSameLetterHeights" toolbar:helpid="helpid:10979" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkAlignmentFloater" toolbar:helpid="helpid:10981" toolbar:style="dropdownonly" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkCharacterSpacingFloater" toolbar:helpid="helpid:10982" toolbar:style="dropdownonly" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/fontworkshapetype.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/fontworkshapetype.xml
new file mode 100644
index 000000000000..49b5b8173e0e
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/fontworkshapetype.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-plain-text" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-wave" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-inflate" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-stop" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-curve-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-curve-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-triangle-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-triangle-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-right" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-left" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-slant-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-slant-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-up-and-right" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-up-and-left" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-chevron-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-chevron-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-up-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-down-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-left-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-right-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-circle-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-open-circle-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-up-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-down-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-left-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-right-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-circle-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-open-circle-pour" toolbar:helpid="helpid:10978" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/formcontrols.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/formcontrols.xml
new file mode 100644
index 000000000000..573ca246f7a9
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/formcontrols.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SelectObject" toolbar:helpid="helpid:10128" toolbar:text="" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:SwitchControlDesignMode" toolbar:helpid="helpid:10629" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ControlProperties" toolbar:helpid="helpid:10613" />
+ <toolbar:toolbaritem xlink:href=".uno:FormProperties" toolbar:helpid="helpid:10614" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:CheckBox" toolbar:helpid="helpid:10596" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Edit" toolbar:helpid="helpid:10599" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FormattedField" toolbar:helpid="helpid:10728" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Pushbutton" toolbar:helpid="helpid:10594" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:RadioButton" toolbar:helpid="helpid:10595" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:ListBox" toolbar:helpid="helpid:10600" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ComboBox" toolbar:helpid="helpid:10601" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Label" toolbar:helpid="helpid:10597" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:MoreControls" toolbar:helpid="helpid:11045" />
+ <toolbar:toolbaritem xlink:href=".uno:FormDesignTools" toolbar:helpid="helpid:11046" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:UseWizards" toolbar:helpid="helpid:10727" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/formdesign.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/formdesign.xml
new file mode 100644
index 000000000000..aaa3f09d9fb1
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/formdesign.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SelectObject" toolbar:helpid="helpid:10128" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:SwitchControlDesignMode" toolbar:helpid="helpid:10629" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ControlProperties" toolbar:helpid="helpid:10613" />
+ <toolbar:toolbaritem xlink:href=".uno:FormProperties" toolbar:helpid="helpid:10614" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ShowFmExplorer" toolbar:helpid="helpid:10633" />
+ <toolbar:toolbaritem xlink:href=".uno:AddField" toolbar:helpid="helpid:10623" />
+ <toolbar:toolbaritem xlink:href=".uno:TabDialog" toolbar:helpid="helpid:10615" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:OpenReadOnly" toolbar:helpid="helpid:10709" />
+ <toolbar:toolbaritem xlink:href=".uno:AutoControlFocus" toolbar:helpid="helpid:10763" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:TransformDialog" toolbar:helpid="helpid:10087" />
+ <toolbar:toolbaritem xlink:href=".uno:ToggleAnchorType" toolbar:helpid="helpid:20349" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BringToFront" toolbar:helpid="helpid:10286" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SendToBack" toolbar:helpid="helpid:10287" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatGroup" toolbar:helpid="helpid:10454" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:FormatUngroup" toolbar:helpid="helpid:10455" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:EnterGroup" toolbar:helpid="helpid:27096" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:LeaveGroup" toolbar:helpid="helpid:27097" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlign" toolbar:helpid="helpid:10130" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GridVisible" toolbar:helpid="helpid:27322" />
+ <toolbar:toolbaritem xlink:href=".uno:GridUse" toolbar:helpid="helpid:27154" />
+ <toolbar:toolbaritem xlink:href=".uno:HelplinesMove" toolbar:helpid="helpid:27153" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/formsfilterbar.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/formsfilterbar.xml
new file mode 100644
index 000000000000..1d1ad07a9938
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/formsfilterbar.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FormFilterExecute" toolbar:helpid="helpid:10731" />
+ <toolbar:toolbaritem xlink:href=".uno:FormFilterNavigator" toolbar:helpid="helpid:10732" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormFilterExit" toolbar:helpid="helpid:10730" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/formsnavigationbar.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/formsnavigationbar.xml
new file mode 100644
index 000000000000..ce47a450e2f5
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/formsnavigationbar.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:RecSearch" toolbar:helpid="10725"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:RecText" toolbar:helpid="10624"/>
+ <toolbar:toolbaritem xlink:href=".uno:AbsoluteRecord" toolbar:helpid="10622"/>
+ <toolbar:toolbaritem xlink:href=".uno:RecFromText" toolbar:helpid="10625"/>
+ <toolbar:toolbaritem xlink:href=".uno:RecTotal" toolbar:helpid="10626"/>
+ <toolbar:toolbaritem xlink:href=".uno:FirstRecord" toolbar:helpid="10616"/>
+ <toolbar:toolbaritem xlink:href=".uno:PrevRecord" toolbar:helpid="10618"/>
+ <toolbar:toolbaritem xlink:href=".uno:NextRecord" toolbar:helpid="10617"/>
+ <toolbar:toolbaritem xlink:href=".uno:LastRecord" toolbar:helpid="10619"/>
+ <toolbar:toolbaritem xlink:href=".uno:NewRecord" toolbar:helpid="10620"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:RecSave" toolbar:helpid="10627"/>
+ <toolbar:toolbaritem xlink:href=".uno:RecUndo" toolbar:helpid="10630"/>
+ <toolbar:toolbaritem xlink:href=".uno:DeleteRecord" toolbar:helpid="10621"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Refresh" toolbar:helpid="10724"/>
+ <toolbar:toolbaritem xlink:href=".uno:RefreshFormControl"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:OrderCrit" toolbar:helpid="10714"/>
+ <toolbar:toolbaritem xlink:href=".uno:Sortup" toolbar:helpid="10712"/>
+ <toolbar:toolbaritem xlink:href=".uno:SortDown" toolbar:helpid="10713"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AutoFilter" toolbar:helpid="10716"/>
+ <toolbar:toolbaritem xlink:href=".uno:FormFiltered" toolbar:helpid="10723"/>
+ <toolbar:toolbaritem xlink:href=".uno:FormFilter" toolbar:helpid="10729"/>
+ <toolbar:toolbaritem xlink:href=".uno:RemoveFilterSort" toolbar:helpid="10711"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ViewFormAsGrid" toolbar:helpid="10761"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/formtextobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/formtextobjectbar.xml
new file mode 100644
index 000000000000..dbdeaf675371
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/formtextobjectbar.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:CharFontName" toolbar:helpid="helpid:10007" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontHeight" toolbar:helpid="helpid:10015" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Bold" toolbar:helpid="helpid:10009" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Italic" toolbar:helpid="helpid:10008" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Underline" toolbar:helpid="helpid:10014" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:SuperScript" toolbar:helpid="helpid:20411" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:SubScript" toolbar:helpid="helpid:20412" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LeftPara" toolbar:helpid="helpid:10028" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CenterPara" toolbar:helpid="helpid:10030" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:RightPara" toolbar:helpid="helpid:10029" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:JustifyPara" toolbar:helpid="helpid:10031" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ParaLeftToRight" toolbar:helpid="helpid:10950" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:ParaRightToLeft" toolbar:helpid="helpid:10951" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara1" toolbar:helpid="helpid:10034" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara15" toolbar:helpid="helpid:10035" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara2" toolbar:helpid="helpid:10036" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontDialog" toolbar:helpid="helpid:10296" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:ParagraphDialog" toolbar:helpid="helpid:10297" toolbar:text="" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/frameobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/frameobjectbar.xml
new file mode 100644
index 000000000000..a591f9094457
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/frameobjectbar.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:StyleApply" toolbar:helpid="helpid:5552" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapOff" toolbar:helpid="helpid:20472" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:WrapOn" toolbar:helpid="helpid:20473" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:WrapIdeal" toolbar:helpid="helpid:20563" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:WrapLeft" toolbar:helpid="helpid:20572" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:WrapRight" toolbar:helpid="helpid:20573" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:WrapThrough" toolbar:helpid="helpid:20474" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignLeft" toolbar:helpid="helpid:20475" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignHorizontalCenter" toolbar:helpid="helpid:20477" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignRight" toolbar:helpid="helpid:20476" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignTop" toolbar:helpid="helpid:20478" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignVerticalCenter" toolbar:helpid="helpid:20480" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignBottom" toolbar:helpid="helpid:20479" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SetBorderStyle" toolbar:helpid="helpid:10187" />
+ <toolbar:toolbaritem xlink:href=".uno:LineStyle" toolbar:helpid="helpid:10200" />
+ <toolbar:toolbaritem xlink:href=".uno:FrameLineColor" toolbar:helpid="helpid:10201" />
+ <toolbar:toolbaritem xlink:href=".uno:BackgroundColor" toolbar:helpid="helpid:10185" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FrameDialog" toolbar:helpid="helpid:20456" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BringToFront" toolbar:helpid="helpid:10286" />
+ <toolbar:toolbaritem xlink:href=".uno:SendToBack" toolbar:helpid="helpid:10287" />
+ <toolbar:toolbaritem xlink:href=".uno:ToggleAnchorType" toolbar:helpid="helpid:20349" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ChainFrames" toolbar:helpid="helpid:21736" />
+ <toolbar:toolbaritem xlink:href=".uno:UnhainFrames" toolbar:helpid="helpid:21737" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/fullscreenbar.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/fullscreenbar.xml
new file mode 100644
index 000000000000..5aecdda4fb04
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/fullscreenbar.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FullScreen" toolbar:helpid="helpid:5627" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/graffilterbar.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/graffilterbar.xml
new file mode 100644
index 000000000000..287c33fe25e5
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/graffilterbar.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterInvert" toolbar:helpid="helpid:34149" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSmooth" toolbar:helpid="helpid:34150" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSharpen" toolbar:helpid="helpid:34151" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterRemoveNoise" toolbar:helpid="helpid:34152" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSolarize" toolbar:helpid="helpid:34159" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSepia" toolbar:helpid="helpid:34158" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterPoster" toolbar:helpid="helpid:34156" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterPopart" toolbar:helpid="helpid:34157" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSobel" toolbar:helpid="helpid:34153" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterRelief" toolbar:helpid="helpid:34155" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterMosaic" toolbar:helpid="helpid:34154" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/graphicobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/graphicobjectbar.xml
new file mode 100644
index 000000000000..040bb8cd8ae6
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/graphicobjectbar.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:InsertGraphic" toolbar:helpid="10241"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterToolbox" toolbar:helpid="10469"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafMode" toolbar:helpid="10871"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ColorSettings" toolbar:helpid="11016"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafTransparence" toolbar:helpid="10869"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FlipVertical" toolbar:helpid="20426"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlipHorizontal" toolbar:helpid="20425"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FrameDialog" toolbar:helpid="20458"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/insertbar.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/insertbar.xml
new file mode 100644
index 000000000000..0b86a84ad6cd
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/insertbar.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:InsertTable" toolbar:helpid="20330"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertSection" toolbar:helpid="21419"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertFrameInteract" toolbar:helpid="20333"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertObjectFloatingFrame" toolbar:visible="false" toolbar:helpid="helpid:5563" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertFootnote" toolbar:helpid="20399"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertEndnote" toolbar:helpid="21418"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertAnnotation" toolbar:helpid="20329"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertBookmark" toolbar:helpid="20302"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertReferenceField" toolbar:visible="false" toolbar:helpid="20313"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertDoc" toolbar:visible="false" toolbar:helpid="5532"/>
+ <toolbar:toolbaritem xlink:href=".uno:EditGlossary"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertSymbol" toolbar:helpid="20328"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertFieldCtrl" toolbar:helpid="52824"/>
+ <toolbar:toolbaritem xlink:href=".uno:Config" toolbar:visible="false" toolbar:helpid="10593"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertGraphic" toolbar:helpid="10241"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertAVMedia" toolbar:helpid="6695"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertObjectStarMath" toolbar:helpid="20369"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertObjectChart" toolbar:helpid="10140"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertObject" toolbar:visible="false" toolbar:helpid="helpid:5561" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertPlugin" toolbar:visible="false" toolbar:helpid="helpid:5672" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertMultiIndex" toolbar:helpid="21420"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertIndexesEntry" toolbar:helpid="20335"/>
+</toolbar:toolbar>
+
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/mediaobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/mediaobjectbar.xml
new file mode 100644
index 000000000000..2014343bf89b
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/mediaobjectbar.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:InsertAVMedia" toolbar:helpid="6695"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AVMediaToolBox" toolbar:helpid="helpid:6693" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/moreformcontrols.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/moreformcontrols.xml
new file mode 100644
index 000000000000..4c5274460a71
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/moreformcontrols.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SpinButton" toolbar:helpid="helpid:10769" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:ScrollBar" toolbar:helpid="helpid:10768" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:Imagebutton" toolbar:helpid="helpid:10604" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:ImageControl" toolbar:helpid="helpid:10710" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:DateField" toolbar:helpid="helpid:10704" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:TimeField" toolbar:helpid="helpid:10705" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FileControl" toolbar:helpid="helpid:10605" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:NumericField" toolbar:helpid="helpid:10706" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:CurrencyField" toolbar:helpid="helpid:10707" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:PatternField" toolbar:helpid="helpid:10708" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GroupBox" toolbar:helpid="helpid:10598" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Grid" toolbar:helpid="helpid:10603" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:NavigationBar" toolbar:helpid="helpid:10607" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/navigationobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/navigationobjectbar.xml
new file mode 100644
index 000000000000..6cea7c3ca49c
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/navigationobjectbar.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:NavigateBack" toolbar:helpid="helpid:22314"/>
+ <toolbar:toolbaritem xlink:href=".uno:NavigateForward" toolbar:helpid="helpid:22315"/>
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/numobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/numobjectbar.xml
new file mode 100644
index 000000000000..50e28ac32f64
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/numobjectbar.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:DefaultBullet" toolbar:helpid="20138"/>
+ <toolbar:toolbaritem xlink:href=".uno:DefaultNumbering" toolbar:helpid="20144"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:RemoveBullets" toolbar:helpid="20137"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:IncrementLevel" toolbar:helpid="20131"/>
+ <toolbar:toolbaritem xlink:href=".uno:DecrementLevel" toolbar:helpid="20130"/>
+ <toolbar:toolbaritem xlink:href=".uno:IncrementSubLevels" toolbar:helpid="20140"/>
+ <toolbar:toolbaritem xlink:href=".uno:DecrementSubLevels" toolbar:helpid="20139"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertNeutralParagraph" toolbar:helpid="20136"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:MoveUp" toolbar:helpid="20134"/>
+ <toolbar:toolbaritem xlink:href=".uno:MoveDown" toolbar:helpid="20135"/>
+ <toolbar:toolbaritem xlink:href=".uno:MoveUpSubItems" toolbar:helpid="20141"/>
+ <toolbar:toolbaritem xlink:href=".uno:MoveDownSubItems" toolbar:helpid="20142"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:NumberingStart" toolbar:helpid="21738"/>
+ <toolbar:toolbaritem xlink:href=".uno:BulletsAndNumberingDialog" toolbar:helpid="20121"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/oleobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/oleobjectbar.xml
new file mode 100644
index 000000000000..c95b1aebb316
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/oleobjectbar.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:StyleApply" toolbar:helpid="5552"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignLeft" toolbar:helpid="20475"/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignHorizontalCenter" toolbar:helpid="20477"/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignRight" toolbar:helpid="20476"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignTop" toolbar:helpid="20478"/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignVerticalCenter" toolbar:helpid="20480"/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignBottom" toolbar:helpid="20479"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapLeft" toolbar:visible="false" toolbar:helpid="20572"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapRight" toolbar:visible="false" toolbar:helpid="20573"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapOff" toolbar:helpid="20472"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapOn" toolbar:helpid="20473"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapThrough" toolbar:helpid="20474"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapIdeal" toolbar:visible="false" toolbar:helpid="20563"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FrameDialog" toolbar:helpid="20456"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BringToFront" toolbar:helpid="10286"/>
+ <toolbar:toolbaritem xlink:href=".uno:SendToBack" toolbar:helpid="10287"/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleAnchorType" toolbar:helpid="20349"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SetBorderStyle" toolbar:helpid="10187"/>
+ <toolbar:toolbaritem xlink:href=".uno:LineStyle" toolbar:helpid="10200"/>
+ <toolbar:toolbaritem xlink:href=".uno:FrameLineColor" toolbar:helpid="10201"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/optimizetablebar.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/optimizetablebar.xml
new file mode 100644
index 000000000000..7669add92e89
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/optimizetablebar.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:DistributeColumns" toolbar:helpid="helpid:20582" />
+ <toolbar:toolbaritem xlink:href=".uno:DistributeRows" toolbar:helpid="helpid:20583" />
+ <toolbar:toolbaritem xlink:href=".uno:SetOptimalRowHeight" toolbar:helpid="helpid:20528" />
+ <toolbar:toolbaritem xlink:href=".uno:SetOptimalColumnWidth" toolbar:helpid="helpid:20521" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/previewobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/previewobjectbar.xml
new file mode 100644
index 000000000000..435250b63af5
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/previewobjectbar.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:PageUp" toolbar:helpid="20937"/>
+ <toolbar:toolbaritem xlink:href=".uno:PageDown" toolbar:helpid="20938"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GoToStartOfDoc" toolbar:helpid="20907"/>
+ <toolbar:toolbaritem xlink:href=".uno:GoToEndOfDoc" toolbar:helpid="20908"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ShowTwoPages" toolbar:helpid="21251"/>
+ <toolbar:toolbaritem xlink:href=".uno:ShowMultiplePages" toolbar:helpid="21252"/>
+ <toolbar:toolbaritem xlink:href=".uno:ShowBookview" toolbar:helpid="helpid:21255" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ZoomPlus" toolbar:helpid="10097"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:PreviewZoom" toolbar:helpid="53071"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ZoomMinus" toolbar:helpid="10098"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FullScreen" toolbar:helpid="5627"/>
+ <toolbar:toolbaritem xlink:href=".uno:PrintPagePreView" toolbar:helpid="21253"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ClosePreview" toolbar:helpid="5325"/>
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/standardbar.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/standardbar.xml
new file mode 100644
index 000000000000..c1b38e3870f6
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/standardbar.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:OpenUrl" toolbar:visible="false"/>
+ <toolbar:toolbaritem xlink:href=".uno:AddDirect" toolbar:helpid="5537"/>
+ <toolbar:toolbaritem xlink:href=".uno:NewDoc" toolbar:visible="false" toolbar:helpid="5500"/>
+ <toolbar:toolbaritem xlink:href=".uno:Open" toolbar:helpid="5501"/>
+ <toolbar:toolbaritem xlink:href=".uno:Save" toolbar:helpid="5505"/>
+ <toolbar:toolbaritem xlink:href=".uno:SaveAs" toolbar:visible="false" toolbar:helpid="5502"/>
+ <toolbar:toolbaritem xlink:href=".uno:SendMail" toolbar:helpid="5331"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:EditDoc" toolbar:helpid="6312"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExportDirectToPDF" toolbar:helpid="6674"/>
+ <toolbar:toolbaritem xlink:href=".uno:PrintDefault" toolbar:helpid="5509"/>
+ <toolbar:toolbaritem xlink:href=".uno:PrintPreview" toolbar:helpid="5325"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SpellingAndGrammarDialog" toolbar:helpid="20622"/>
+ <toolbar:toolbaritem xlink:href=".uno:SpellOnline" toolbar:helpid="12021"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Cut" toolbar:helpid="5710"/>
+ <toolbar:toolbaritem xlink:href=".uno:Copy" toolbar:helpid="5711"/>
+ <toolbar:toolbaritem xlink:href=".uno:Paste" toolbar:helpid="5712"/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatPaintbrush" toolbar:helpid="5715"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Undo" toolbar:helpid="5701"/>
+ <toolbar:toolbaritem xlink:href=".uno:Redo" toolbar:helpid="5700"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:HyperlinkDialog" toolbar:helpid="5678"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertTable" toolbar:helpid="20330"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertDraw" toolbar:helpid="10244"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SearchDialog" toolbar:helpid="5961" toolbar:visible="false"/>
+ <toolbar:toolbaritem xlink:href=".uno:Navigator" toolbar:helpid="10366"/>
+ <toolbar:toolbaritem xlink:href=".uno:Gallery" toolbar:helpid="5960"/>
+ <toolbar:toolbaritem xlink:href=".uno:ViewDataSourceBrowser" toolbar:helpid="6660"/>
+ <toolbar:toolbaritem xlink:href=".uno:ControlCodes" toolbar:helpid="20224"/>
+ <toolbar:toolbaritem xlink:href=".uno:Zoom" toolbar:helpid="10000" toolbar:visible="false"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:HelpIndex"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtendedHelp" toolbar:visible="false" toolbar:helpid="5402"/>
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/starshapes.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/starshapes.xml
new file mode 100644
index 000000000000..a2ff874d2fe7
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/starshapes.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.bang" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star4" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star5" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star6" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star8" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star12" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star24" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.concave-star6" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.vertical-scroll" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.horizontal-scroll" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.signet" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.doorplate" toolbar:helpid="helpid:11007" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/symbolshapes.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/symbolshapes.xml
new file mode 100644
index 000000000000..0fa6aee313db
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/symbolshapes.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.smiley" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.sun" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.moon" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.lightning" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.heart" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.flower" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.cloud" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.forbidden" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.puzzle" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.bracket-pair" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.left-bracket" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.right-bracket" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.brace-pair" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.left-brace" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.right-brace" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.quad-bevel" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.octagon-bevel" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.diamond-bevel" toolbar:helpid="helpid:11003" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/tableobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/tableobjectbar.xml
new file mode 100644
index 000000000000..d34267a6e1de
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/tableobjectbar.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:InsertTable" toolbar:helpid="helpid:20330" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LineStyle" toolbar:helpid="helpid:10200" />
+ <toolbar:toolbaritem xlink:href=".uno:FrameLineColor" toolbar:helpid="helpid:10201" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SetBorderStyle" toolbar:helpid="helpid:10187" />
+ <toolbar:toolbaritem xlink:href=".uno:BackgroundColor" toolbar:helpid="helpid:10185" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:MergeCells" toolbar:helpid="helpid:20506" />
+ <toolbar:toolbaritem xlink:href=".uno:SplitCell" toolbar:helpid="helpid:20505" />
+ <toolbar:toolbaritem xlink:href=".uno:OptimizeTable" toolbar:helpid="helpid:20510" toolbar:style="dropdown" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:CellVertTop" toolbar:helpid="helpid:20585" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CellVertCenter" toolbar:helpid="helpid:20586" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CellVertBottom" toolbar:helpid="helpid:20587" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertRows" toolbar:helpid="helpid:20501" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertColumns" toolbar:helpid="helpid:20502" />
+ <toolbar:toolbaritem xlink:href=".uno:DeleteRows" toolbar:helpid="helpid:20503" />
+ <toolbar:toolbaritem xlink:href=".uno:DeleteColumns" toolbar:helpid="helpid:20504" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SelectTable" toolbar:helpid="helpid:20515" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:EntireColumn" toolbar:helpid="helpid:20514" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:EntireRow" toolbar:helpid="helpid:20513" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AutoFormat" toolbar:helpid="helpid:20595" />
+ <toolbar:toolbaritem xlink:href=".uno:TableDialog" toolbar:helpid="helpid:20459" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:TableSort" toolbar:helpid="helpid:20533" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AutoSum" toolbar:helpid="helpid:20595" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/textobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/textobjectbar.xml
new file mode 100644
index 000000000000..d48a96df35dc
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/textobjectbar.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:DesignerDialog" toolbar:helpid="5539"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:StyleApply" toolbar:helpid="helpid:5552" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:CharFontName" toolbar:helpid="helpid:10007" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontHeight" toolbar:helpid="helpid:10015" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Bold" toolbar:helpid="helpid:10009" />
+ <toolbar:toolbaritem xlink:href=".uno:Italic" toolbar:helpid="helpid:10008" />
+ <toolbar:toolbaritem xlink:href=".uno:Underline" toolbar:helpid="helpid:10014" />
+ <toolbar:toolbaritem xlink:href=".uno:SuperScript" toolbar:helpid="helpid:20411" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SubScript" toolbar:helpid="helpid:20412" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LeftPara" toolbar:helpid="helpid:10028" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CenterPara" toolbar:helpid="helpid:10030" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:RightPara" toolbar:helpid="helpid:10029" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:JustifyPara" toolbar:helpid="helpid:10031" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ParaLeftToRight" toolbar:helpid="helpid:10950" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:ParaRightToLeft" toolbar:helpid="helpid:10951" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara1" toolbar:helpid="helpid:10034" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara15" toolbar:helpid="helpid:10035" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara2" toolbar:helpid="helpid:10036" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:DefaultNumbering" toolbar:helpid="helpid:20144" />
+ <toolbar:toolbaritem xlink:href=".uno:DefaultBullet" toolbar:helpid="helpid:20138" />
+ <toolbar:toolbaritem xlink:href=".uno:DecrementIndent" toolbar:helpid="helpid:10461" />
+ <toolbar:toolbaritem xlink:href=".uno:IncrementIndent" toolbar:helpid="helpid:10462" />
+ <toolbar:toolbaritem xlink:href=".uno:Grow" toolbar:helpid="helpid:20403" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:Shrink" toolbar:helpid="helpid:20404" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontColor" toolbar:helpid="helpid:10017" toolbar:style="dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:BackColor" toolbar:helpid="helpid:10489" toolbar:style="dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:BackgroundColor" toolbar:helpid="helpid:10185" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SelectAll" toolbar:helpid="helpid:5723" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:FontDialog" toolbar:helpid="helpid:10296" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:ParagraphDialog" toolbar:helpid="helpid:10297" toolbar:visible="false" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/toolbar.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/toolbar.xml
new file mode 100644
index 000000000000..7ff331e17224
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/toolbar.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:InsertCtrl" toolbar:helpid="52822"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ShadowCursor" toolbar:helpid="22204"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Hyphenate" toolbar:helpid="20605"/>
+ <toolbar:toolbaritem xlink:href=".uno:ThesaurusDialog" toolbar:helpid="20603"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Graphic" toolbar:helpid="20213"/>
+ <toolbar:toolbaritem xlink:href=".uno:BrowseView" toolbar:helpid="6313"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/viewerbar.xml b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/viewerbar.xml
new file mode 100644
index 000000000000..d4d6a59d7ed5
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swriter/toolbar/viewerbar.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SaveAs" toolbar:helpid="helpid:5502" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:EditDoc" toolbar:helpid="helpid:6312" />
+ <toolbar:toolbaritem xlink:href=".uno:SendMail" toolbar:helpid="helpid:5331" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExportDirectToPDF" toolbar:helpid="helpid:6674" />
+ <toolbar:toolbaritem xlink:href=".uno:PrintDefault" toolbar:helpid="helpid:5509" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Copy" toolbar:helpid="helpid:5711" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SearchDialog" toolbar:helpid="helpid:5961" />
+ <toolbar:toolbaritem xlink:href=".uno:Navigator" toolbar:helpid="helpid:10366" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Zoom" toolbar:helpid="helpid:10000" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/menubar/menubar.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/menubar/menubar.xml
new file mode 100644
index 000000000000..ff139ef3654d
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/menubar/menubar.xml
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<menu:menubar xmlns:menu="http://openoffice.org/2001/menu" menu:id="menubar">
+ <menu:menu menu:id=".uno:PickList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:AddDirect"/>
+ <menu:menuitem menu:id=".uno:Open"/>
+ <menu:menuitem menu:id=".uno:RecentFileList"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AutoPilotMenu"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CloseDoc"/>
+ <menu:menuitem menu:id=".uno:Save"/>
+ <menu:menuitem menu:id=".uno:SaveAs"/>
+ <menu:menuitem menu:id=".uno:SaveAll"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Reload"/>
+ <menu:menuitem menu:id=".uno:VersionDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ExportTo"/>
+ <menu:menuitem menu:id=".uno:ExportToPDF"/>
+ <menu:menu menu:id=".uno:SendToMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SendMail"/>
+ <menu:menuitem menu:id=".uno:SendMailDocAsOOo"/>
+ <menu:menuitem menu:id=".uno:SendMailDocAsMS"/>
+ <menu:menuitem menu:id=".uno:SendMailDocAsPDF"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:NewGlobalDoc"/>
+ <menu:menuitem menu:id=".uno:NewHtmlDoc"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SendOutlineToStarImpress"/>
+ <menu:menuitem menu:id=".uno:SendOutlineToClipboard"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CreateAbstract"/>
+ <menu:menuitem menu:id=".uno:SendAbstractToStarImpress"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SetDocumentProperties"/>
+ <menu:menuitem menu:id=".uno:Signature"/>
+ <menu:menu menu:id=".uno:TemplateMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Organizer"/>
+ <menu:menuitem menu:id=".uno:AddressBookSource"/>
+ <menu:menuitem menu:id=".uno:SaveAsTemplate"/>
+ <menu:menuitem menu:id=".uno:OpenTemplate"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:PrintPreview"/>
+ <menu:menuitem menu:id=".uno:Print"/>
+ <menu:menuitem menu:id=".uno:PrinterSetup"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Quit"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:EditMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:Undo"/>
+ <menu:menuitem menu:id=".uno:Redo"/>
+ <menu:menuitem menu:id=".uno:Repeat"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Cut"/>
+ <menu:menuitem menu:id=".uno:Copy"/>
+ <menu:menuitem menu:id=".uno:Paste"/>
+ <menu:menuitem menu:id=".uno:PasteSpecial"/>
+ <menu:menuitem menu:id=".uno:SelectTextMode"/>
+ <menu:menu menu:id=".uno:SelectionModeMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SelectionModeDefault" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:SelectionModeBlock" menu:style="radio"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:SelectAll"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:ChangesMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:TrackChanges"/>
+ <menu:menuitem menu:id=".uno:ProtectTraceChangeMode"/>
+ <menu:menuitem menu:id=".uno:ShowTrackedChanges"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AcceptTrackedChanges"/>
+ <menu:menuitem menu:id=".uno:CommentChangeTracking"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MergeDocuments"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:CompareDocuments"/>
+ <menu:menuitem menu:id="vnd.sun.star.findbar:FocusToFindbar"/>
+ <menu:menuitem menu:id=".uno:SearchDialog"/>
+ <menu:menuitem menu:id=".uno:EditGlossary"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ChangeDatabaseField"/>
+ <menu:menuitem menu:id=".uno:FieldDialog"/>
+ <menu:menuitem menu:id=".uno:EditFootnote"/>
+ <menu:menuitem menu:id=".uno:IndexEntryDialog"/>
+ <menu:menuitem menu:id=".uno:AuthoritiesEntryDialog"/>
+ <menu:menuitem menu:id=".uno:EditHyperlink"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:LinkDialog"/>
+ <menu:menuitem menu:id=".uno:PlugInsActive"/>
+ <menu:menuitem menu:id=".uno:ImageMapDialog"/>
+ <menu:menuitem menu:id=".uno:ObjectMenue"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ViewMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:PrintLayout" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:BrowseView" menu:style="radio"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AvailableToolbars"/>
+ <menu:menuitem menu:id=".uno:StatusBarVisible"/>
+ <menu:menuitem menu:id=".uno:ShowImeStatusWindow"/>
+ <menu:menuitem menu:id=".uno:Ruler"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ViewBounds"/>
+ <menu:menuitem menu:id=".uno:Marks"/>
+ <menu:menuitem menu:id=".uno:Fieldnames"/>
+ <menu:menuitem menu:id=".uno:ControlCodes"/>
+ <menu:menuitem menu:id=".uno:ShowHiddenParagraphs"/>
+ <menu:menuitem menu:id=".uno:ShowAnnotations"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ViewDataSourceBrowser"/>
+ <menu:menuitem menu:id=".uno:Navigator"/>
+ <menu:menuitem menu:id=".uno:TaskPane"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:FullScreen"/>
+ <menu:menuitem menu:id=".uno:Zoom"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:InsertMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertBreak"/>
+ <menu:menu menu:id=".uno:FieldMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertDateField"/>
+ <menu:menuitem menu:id=".uno:InsertTimeField"/>
+ <menu:menuitem menu:id=".uno:InsertPageNumberField"/>
+ <menu:menuitem menu:id=".uno:InsertPageCountField"/>
+ <menu:menuitem menu:id=".uno:InsertTopicField"/>
+ <menu:menuitem menu:id=".uno:InsertTitleField"/>
+ <menu:menuitem menu:id=".uno:InsertAuthorField"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertField"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:InsertSymbol"/>
+ <menu:menu menu:id=".uno:FormattingMarkMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertNonBreakingSpace"/>
+ <menu:menuitem menu:id=".uno:InsertHardHyphen"/>
+ <menu:menuitem menu:id=".uno:InsertSoftHyphen"/>
+ <menu:menuitem menu:id=".uno:InsertZWSP"/>
+ <menu:menuitem menu:id=".uno:InsertZWNBSP"/>
+ <menu:menuitem menu:id=".uno:InsertLRM"/>
+ <menu:menuitem menu:id=".uno:InsertRLM"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertSection"/>
+ <menu:menuitem menu:id=".uno:HyperlinkDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertPageHeader"/>
+ <menu:menuitem menu:id=".uno:InsertPageFooter"/>
+ <menu:menuitem menu:id=".uno:InsertFootnoteDialog"/>
+ <menu:menuitem menu:id=".uno:InsertCaptionDialog"/>
+ <menu:menuitem menu:id=".uno:InsertBookmark"/>
+ <menu:menuitem menu:id=".uno:InsertReferenceField"/>
+ <menu:menuitem menu:id=".uno:InsertAnnotation"/>
+ <menu:menuitem menu:id=".uno:InsertScript"/>
+ <menu:menu menu:id=".uno:IndexesMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertIndexesEntry"/>
+ <menu:menuitem menu:id=".uno:InsertMultiIndex"/>
+ <menu:menuitem menu:id=".uno:InsertAuthoritiesEntry"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertEnvelope"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertFrame"/>
+ <menu:menuitem menu:id=".uno:InsertTable"/>
+ <menu:menuitem menu:id=".uno:InsertGraphicRuler"/>
+ <menu:menu menu:id=".uno:GraphicMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertGraphic"/>
+ <menu:menu menu:id=".uno:Scan">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:TwainSelect"/>
+ <menu:menuitem menu:id=".uno:TwainTransfer"/>
+ </menu:menupopup>
+ </menu:menu>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:InsertAVMedia"/>
+ <menu:menu menu:id=".uno:ObjectMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertObject"/>
+ <menu:menuitem menu:id=".uno:InsertPlugin"/>
+ <menu:menuitem menu:id=".uno:InsertObjectStarMath"/>
+ <menu:menuitem menu:id=".uno:InsertObjectChart"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:InsertObjectFloatingFrame"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:InsertDoc"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:FormatMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ResetAttributes"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:FontDialog"/>
+ <menu:menuitem menu:id=".uno:ParagraphDialog"/>
+ <menu:menuitem menu:id=".uno:BulletsAndNumberingDialog"/>
+ <menu:menuitem menu:id=".uno:PageDialog"/>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:TransliterateMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ChangeCaseToSentenceCase"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToLower"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToUpper"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToTitleCase"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToToggleCase"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToHalfWidth"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToFullWidth"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToHiragana"/>
+ <menu:menuitem menu:id=".uno:ChangeCaseToKatakana"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:RubyDialog"/>
+ <menu:menuitem menu:id=".uno:FormatColumns"/>
+ <menu:menuitem menu:id=".uno:EditRegion"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:DesignerDialog"/>
+ <menu:menu menu:id=".uno:AutoFormatMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:OnlineAutoFormat"/>
+ <menu:menuitem menu:id=".uno:AutoFormatApply"/>
+ <menu:menuitem menu:id=".uno:AutoFormatRedlineApply"/>
+ <menu:menuitem menu:id=".uno:AutoCorrectDlg"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:AnchorMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SetAnchorToPage" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:SetAnchorToPara" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:SetAnchorAtChar" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:SetAnchorToChar" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:SetAnchorToFrame" menu:style="radio"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:WrapMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:WrapOff"/>
+ <menu:menuitem menu:id=".uno:WrapOn"/>
+ <menu:menuitem menu:id=".uno:WrapIdeal"/>
+ <menu:menuitem menu:id=".uno:WrapThrough"/>
+ <menu:menuitem menu:id=".uno:WrapThroughTransparent"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:WrapContour"/>
+ <menu:menuitem menu:id=".uno:ContourDialog"/>
+ <menu:menuitem menu:id=".uno:WrapAnchorOnly"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:TextWrap"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ObjectAlign">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:CommonAlignLeft" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:CommonAlignHorizontalCenter" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:CommonAlignRight" menu:style="radio"/>
+ <menu:menuitem menu:id=".uno:CommonAlignJustified" menu:style="radio"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:CommonAlignTop"/>
+ <menu:menuitem menu:id=".uno:CommonAlignVerticalCenter"/>
+ <menu:menuitem menu:id=".uno:CommonAlignBottom"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ArrangeMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:BringToFront"/>
+ <menu:menuitem menu:id=".uno:ObjectForwardOne"/>
+ <menu:menuitem menu:id=".uno:ObjectBackOne"/>
+ <menu:menuitem menu:id=".uno:SendToBack"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SetObjectToForeground"/>
+ <menu:menuitem menu:id=".uno:SetObjectToBackground"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:FlipMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:FlipHorizontal"/>
+ <menu:menuitem menu:id=".uno:FlipVertical"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:GroupMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:FormatGroup"/>
+ <menu:menuitem menu:id=".uno:FormatUngroup"/>
+ <menu:menuitem menu:id=".uno:EnterGroup"/>
+ <menu:menuitem menu:id=".uno:LeaveGroup"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:ObjectMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:TransformDialog"/>
+ <menu:menuitem menu:id=".uno:FormatLine"/>
+ <menu:menuitem menu:id=".uno:FormatArea"/>
+ <menu:menuitem menu:id=".uno:TextAttributes"/>
+ <menu:menuitem menu:id=".uno:FontWork"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ObjectTitleDescription"/>
+ <menu:menuitem menu:id=".uno:NameGroup"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:FrameDialog"/>
+ <menu:menuitem menu:id=".uno:GraphicDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:TableMenu">
+ <menu:menupopup>
+ <menu:menu menu:id=".uno:TableInsertMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:InsertTable"/>
+ <menu:menuitem menu:id=".uno:InsertRowDialog"/>
+ <menu:menuitem menu:id=".uno:InsertColumnDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:TableDeleteMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:DeleteTable"/>
+ <menu:menuitem menu:id=".uno:DeleteRows"/>
+ <menu:menuitem menu:id=".uno:DeleteColumns"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:TableSelectMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SelectTable"/>
+ <menu:menuitem menu:id=".uno:EntireRow"/>
+ <menu:menuitem menu:id=".uno:EntireColumn"/>
+ <menu:menuitem menu:id=".uno:EntireCell"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:MergeCells"/>
+ <menu:menuitem menu:id=".uno:SplitCell"/>
+ <menu:menuitem menu:id=".uno:Protect"/>
+ <menu:menuitem menu:id=".uno:MergeTable"/>
+ <menu:menuitem menu:id=".uno:SplitTable"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:AutoFormat"/>
+ <menu:menu menu:id=".uno:TableAutoFitMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SetColumnWidth"/>
+ <menu:menuitem menu:id=".uno:SetOptimalColumnWidth"/>
+ <menu:menuitem menu:id=".uno:DistributeColumns"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SetRowHeight"/>
+ <menu:menuitem menu:id=".uno:SetOptimalRowHeight"/>
+ <menu:menuitem menu:id=".uno:DistributeRows"/>
+ <menu:menuitem menu:id=".uno:RowSplit"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:HeadingRowsRepeat"/>
+ <menu:menu menu:id=".uno:TableConvertMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:ConvertTextToTable"/>
+ <menu:menuitem menu:id=".uno:ConvertTableToText"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:TableSort"/>
+ <menu:menuitem menu:id=".uno:InsertFormula"/>
+ <menu:menuitem menu:id=".uno:TableNumberFormatDialog"/>
+ <menu:menuitem menu:id=".uno:TableBoundaries"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:TableDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:ToolsMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:SpellingAndGrammarDialog"/>
+ <menu:menu menu:id=".uno:LanguageMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HangulHanjaConversion"/>
+ <menu:menuitem menu:id=".uno:ChineseConversion"/>
+ <menu:menuitem menu:id=".uno:ThesaurusDialog"/>
+ <menu:menuitem menu:id=".uno:Hyphenate"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MoreDictionaries"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id=".uno:WordCountDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ChapterNumberingDialog"/>
+ <menu:menuitem menu:id=".uno:LineNumberingDialog"/>
+ <menu:menuitem menu:id=".uno:FootnoteDialog"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:Gallery"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:BibliographyComponent"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MailMergeWizard"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:SortDialog"/>
+ <menu:menuitem menu:id=".uno:CalculateSel"/>
+ <menu:menu menu:id=".uno:UpdateMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:UpdateAll"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:UpdateFields"/>
+ <menu:menuitem menu:id=".uno:UpdateAllLinks"/>
+ <menu:menuitem menu:id=".uno:UpdateCharts"/>
+ <menu:menuitem menu:id=".uno:UpdateCurIndex"/>
+ <menu:menuitem menu:id=".uno:UpdateAllIndexes"/>
+ <menu:menuitem menu:id=".uno:Repaginate"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuseparator/>
+ <menu:menu menu:id=".uno:MacrosMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:MacroRecorder"/>
+ <menu:menuitem menu:id=".uno:RunMacro"/>
+ <menu:menu menu:id=".uno:ScriptOrganizer"/>
+ <menu:menuitem menu:id=".uno:MacroSignature"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:MacroOrganizer?TabId:short=1"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menuitem menu:id="service:com.sun.star.deployment.ui.PackageManagerDialog"/>
+ <menu:menuitem menu:id=".uno:OpenXMLFilterSettings"/>
+ <menu:menuitem menu:id=".uno:ConfigureDialog"/>
+ <menu:menuitem menu:id=".uno:OptionsTreeDialog"/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:WindowList">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:NewWindow"/>
+ <menu:menuitem menu:id=".uno:CloseWin"/>
+ <menu:menuseparator/>
+ </menu:menupopup>
+ </menu:menu>
+ <menu:menu menu:id=".uno:HelpMenu">
+ <menu:menupopup>
+ <menu:menuitem menu:id=".uno:HelpIndex"/>
+ <menu:menuitem menu:id=".uno:ExtendedHelp"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowLicense"/>
+ <menu:menuseparator/>
+ <menu:menuitem menu:id=".uno:ShowCredits"/>
+ <menu:menuitem menu:id=".uno:About"/>
+ </menu:menupopup>
+ </menu:menu>
+</menu:menubar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/statusbar/statusbar.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/statusbar/statusbar.xml
new file mode 100644
index 000000000000..3e46300cd0e7
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/statusbar/statusbar.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE statusbar:statusbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "statusbar.dtd">
+<statusbar:statusbar xmlns:statusbar="http://openoffice.org/2001/statusbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <statusbar:statusbaritem xlink:href=".uno:StatePageNumber" statusbar:align="left" statusbar:autosize="true" statusbar:width="54" statusbar:helpid="helpid:21181"/>
+ <statusbar:statusbaritem xlink:href=".uno:PageStyleName" statusbar:align="left" statusbar:autosize="true" statusbar:width="79" statusbar:helpid="helpid:21182"/>
+ <statusbar:statusbaritem xlink:href=".uno:LanguageStatus" statusbar:align="center" statusbar:autosize="true" statusbar:width="100" />
+ <statusbar:statusbaritem xlink:href=".uno:InsertMode" statusbar:align="center" statusbar:width="37" statusbar:helpid="helpid:10221"/>
+ <statusbar:statusbaritem xlink:href=".uno:SelectionMode" statusbar:align="center" statusbar:width="30" statusbar:helpid="helpid:21185"/>
+ <statusbar:statusbaritem xlink:href=".uno:ModifiedStatus" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="9" statusbar:helpid="helpid:5584"/>
+ <statusbar:statusbaritem xlink:href=".uno:Signature" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="16" statusbar:helpid="helpid:5699"/>
+ <statusbar:statusbaritem xlink:href=".uno:Size" statusbar:align="left" statusbar:autosize="true" statusbar:ownerdraw="true" statusbar:width="129" statusbar:helpid="helpid:10224"/>
+ <statusbar:statusbaritem xlink:href=".uno:ViewLayout" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="63" statusbar:helpid="helpid:11064"/>
+ <statusbar:statusbaritem xlink:href=".uno:ZoomSlider" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="130" statusbar:helpid="helpid:11065"/>
+ <statusbar:statusbaritem xlink:href=".uno:Zoom" statusbar:align="center" statusbar:width="35" statusbar:helpid="helpid:10000"/>
+</statusbar:statusbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/alignmentbar.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/alignmentbar.xml
new file mode 100644
index 000000000000..dbd7294e566c
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/alignmentbar.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlignLeft" toolbar:helpid="helpid:10131" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignCenter" toolbar:helpid="helpid:10132" />
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlignRight" toolbar:helpid="helpid:10133" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignUp" toolbar:helpid="helpid:10134" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignMiddle" toolbar:helpid="helpid:10135" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignDown" toolbar:helpid="helpid:10136" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/arrowshapes.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/arrowshapes.xml
new file mode 100644
index 000000000000..4a53519494ea
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/arrowshapes.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.down-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-down-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-right-down-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.quad-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.corner-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.split-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.striped-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.notched-right-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.pentagon-right" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.chevron" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.right-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.down-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.left-right-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-down-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.up-right-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.quad-arrow-callout" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.circular-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.split-round-arrow" toolbar:helpid="helpid:11004" />
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes.s-sharped-arrow" toolbar:helpid="helpid:11004" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/basicshapes.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/basicshapes.xml
new file mode 100644
index 000000000000..e65778305788
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/basicshapes.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.rectangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.round-rectangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.quadrat" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.round-quadrat" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.circle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.ellipse" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.circle-pie" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.isosceles-triangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.right-triangle" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.trapezoid" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.diamond" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.parallelogram" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.pentagon" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.hexagon" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.octagon" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.cross" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.ring" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.block-arc" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.can" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.cube" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.paper" toolbar:helpid="helpid:11002" />
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes.frame" toolbar:helpid="helpid:11002" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/bezierobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/bezierobjectbar.xml
new file mode 100644
index 000000000000..7c067e68d13c
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/bezierobjectbar.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:ToggleObjectBezierMode" toolbar:helpid="helpid:10126" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierMove" toolbar:helpid="helpid:10121" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierInsert" toolbar:helpid="helpid:10119" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierDelete" toolbar:helpid="helpid:10120" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierCutLine" toolbar:helpid="helpid:10127" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierConvert" toolbar:helpid="helpid:27065" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierEdge" toolbar:helpid="helpid:27066" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierSmooth" toolbar:helpid="helpid:10123" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:BezierSymmetric" toolbar:helpid="helpid:27067" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierClose" toolbar:helpid="helpid:10122" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BezierEliminatePoints" toolbar:helpid="helpid:27030" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/calloutshapes.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/calloutshapes.xml
new file mode 100644
index 000000000000..91b957fa697a
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/calloutshapes.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.rectangular-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.round-rectangular-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.round-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.cloud-callout" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.line-callout-1" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.line-callout-2" toolbar:helpid="helpid:11006" />
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes.line-callout-3" toolbar:helpid="helpid:11006" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/colorbar.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/colorbar.xml
new file mode 100644
index 000000000000..adcda76b5c3a
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/colorbar.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:GrafRed" toolbar:helpid="helpid:10865" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafGreen" toolbar:helpid="helpid:10866" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafBlue" toolbar:helpid="helpid:10867" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafLuminance" toolbar:helpid="helpid:10863" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafContrast" toolbar:helpid="helpid:10864" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafGamma" toolbar:helpid="helpid:10868" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/drawbar.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/drawbar.xml
new file mode 100644
index 000000000000..2407475a88f6
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/drawbar.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:SelectObject" toolbar:helpid="10128"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Line" toolbar:helpid="10102"/>
+ <toolbar:toolbaritem xlink:href=".uno:Rect" toolbar:helpid="10104"/>
+ <toolbar:toolbaritem xlink:href=".uno:Ellipse" toolbar:helpid="10110"/>
+ <toolbar:toolbaritem xlink:href=".uno:Polygon_Unfilled" toolbar:visible="false" toolbar:helpid="10395"/>
+ <toolbar:toolbaritem xlink:href=".uno:Bezier_Unfilled" toolbar:visible="false" toolbar:helpid="10397"/>
+ <toolbar:toolbaritem xlink:href=".uno:Freeline_Unfilled" toolbar:helpid="10464"/>
+ <toolbar:toolbaritem xlink:href=".uno:Arc" toolbar:visible="false" toolbar:helpid="10114"/>
+ <toolbar:toolbaritem xlink:href=".uno:Pie" toolbar:visible="false" toolbar:helpid="10112"/>
+ <toolbar:toolbaritem xlink:href=".uno:CircleCut" toolbar:visible="false" toolbar:helpid="10115"/>
+ <toolbar:toolbaritem xlink:href=".uno:DrawText" toolbar:helpid="10253"/>
+ <toolbar:toolbaritem xlink:href=".uno:VerticalText" toolbar:helpid="10905"/>
+ <toolbar:toolbaritem xlink:href=".uno:Text_Marquee" toolbar:visible="false" toolbar:helpid="10465"/>
+ <toolbar:toolbaritem xlink:href=".uno:DrawCaption" toolbar:helpid="10254"/>
+ <toolbar:toolbaritem xlink:href=".uno:VerticalCaption" toolbar:helpid="10906"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BasicShapes" toolbar:helpid="11002"/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes" toolbar:helpid="11003"/>
+ <toolbar:toolbaritem xlink:href=".uno:ArrowShapes" toolbar:helpid="11004"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes" toolbar:helpid="11005"/>
+ <toolbar:toolbaritem xlink:href=".uno:CalloutShapes" toolbar:helpid="11006"/>
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes" toolbar:helpid="11007"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleObjectBezierMode" toolbar:helpid="10126"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkGalleryFloater" toolbar:helpid="10977"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertGraphic" toolbar:helpid="10241"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionToggle" toolbar:helpid="10960"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/drawingobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/drawingobjectbar.xml
new file mode 100644
index 000000000000..4703c3cfdad6
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/drawingobjectbar.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FormatLine" toolbar:helpid="helpid:10143" />
+ <toolbar:toolbaritem xlink:href=".uno:LineEndStyle" toolbar:helpid="helpid:10301" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:XLineStyle" toolbar:helpid="helpid:10169" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LineWidth" toolbar:helpid="helpid:10171" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:XLineColor" toolbar:helpid="helpid:10172" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatArea" toolbar:helpid="helpid:10142" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FillStyle" toolbar:helpid="helpid:10164" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleObjectRotateMode" toolbar:helpid="10129"/>
+ <toolbar:toolbaritem xlink:href=".uno:GridVisible" toolbar:visible="false" toolbar:helpid="27322"/>
+ <toolbar:toolbaritem xlink:href=".uno:GridUse" toolbar:visible="false" toolbar:helpid="27154"/>
+ <toolbar:toolbaritem xlink:href=".uno:HelplinesMove" toolbar:visible="false" toolbar:helpid="27153"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapOff" toolbar:visible="false" toolbar:helpid="20472"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapOn" toolbar:visible="false" toolbar:helpid="20473"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapIdeal" toolbar:visible="false" toolbar:helpid="20563"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapLeft" toolbar:visible="false" toolbar:helpid="20572"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapRight" toolbar:visible="false" toolbar:helpid="20573"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapThrough" toolbar:visible="false" toolbar:helpid="20474"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapContour" toolbar:visible="false" toolbar:helpid="20584"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SetObjectToForeground" toolbar:helpid="10283"/>
+ <toolbar:toolbaritem xlink:href=".uno:SetObjectToBackground" toolbar:helpid="10282"/>
+ <toolbar:toolbaritem xlink:href=".uno:BringToFront" toolbar:helpid="10286"/>
+ <toolbar:toolbaritem xlink:href=".uno:SendToBack" toolbar:helpid="10287"/>
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlign" toolbar:helpid="10130"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleAnchorType" toolbar:helpid="20349"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatUngroup" toolbar:helpid="10455"/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatGroup" toolbar:helpid="10454"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/drawtextobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/drawtextobjectbar.xml
new file mode 100644
index 000000000000..31e5ca4db662
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/drawtextobjectbar.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:CharFontName" toolbar:helpid="helpid:10007" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontHeight" toolbar:helpid="helpid:10015" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Bold" toolbar:helpid="helpid:10009" />
+ <toolbar:toolbaritem xlink:href=".uno:Italic" toolbar:helpid="helpid:10008" />
+ <toolbar:toolbaritem xlink:href=".uno:Underline" toolbar:helpid="helpid:10014" />
+ <toolbar:toolbaritem xlink:href=".uno:SuperScript" toolbar:helpid="helpid:20411" />
+ <toolbar:toolbaritem xlink:href=".uno:SubScript" toolbar:helpid="helpid:20412" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LeftPara" toolbar:helpid="helpid:10028" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CenterPara" toolbar:helpid="helpid:10030" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:RightPara" toolbar:helpid="helpid:10029" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:JustifyPara" toolbar:helpid="helpid:10031" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara1" toolbar:helpid="helpid:10034" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara15" toolbar:helpid="helpid:10035" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara2" toolbar:helpid="helpid:10036" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Color" toolbar:helpid="helpid:10017" toolbar:style="dropdown" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ParaLeftToRight" toolbar:helpid="helpid:10950" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:ParaRightToLeft" toolbar:helpid="helpid:10951" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:TextdirectionLeftToRight" toolbar:helpid="helpid:10907" />
+ <toolbar:toolbaritem xlink:href=".uno:TextdirectionTopToBottom" toolbar:helpid="helpid:10908" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SelectAll" toolbar:helpid="helpid:5723" />
+ <toolbar:toolbaritem xlink:href=".uno:FontDialog" toolbar:helpid="helpid:10296" />
+ <toolbar:toolbaritem xlink:href=".uno:ParagraphDialog" toolbar:helpid="helpid:10297" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/extrusionobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/extrusionobjectbar.xml
new file mode 100644
index 000000000000..148849db6ee7
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/extrusionobjectbar.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionToggle" toolbar:helpid="10960"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltDown" toolbar:helpid="10961"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltUp" toolbar:helpid="10962"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltLeft" toolbar:helpid="10963"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionTiltRight" toolbar:helpid="10964"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionDepthFloater" toolbar:helpid="10965" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionDirectionFloater" toolbar:helpid="10966" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionLightingFloater" toolbar:helpid="10967" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtrusionSurfaceFloater" toolbar:helpid="10968" toolbar:style="dropdownonly"/>
+ <toolbar:toolbaritem xlink:href=".uno:Extrusion3DColor" toolbar:helpid="10969" toolbar:style="dropdownonly"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/findbar.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/findbar.xml
new file mode 100644
index 000000000000..49e483e178a3
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/findbar.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FindText"/>
+ <toolbar:toolbaritem xlink:href=".uno:DownSearch"/>
+ <toolbar:toolbaritem xlink:href=".uno:UpSearch"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SearchDialog"/>
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/flowchartshapes.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/flowchartshapes.xml
new file mode 100644
index 000000000000..bb1d1099dbd4
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/flowchartshapes.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-process" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-alternate-process" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-decision" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-data" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-predefined-process" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-internal-storage" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-document" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-multidocument" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-terminator" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-preparation" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-manual-input" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-manual-operation" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-connector" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-off-page-connector" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-card" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-punched-tape" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-summing-junction" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-or" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-collate" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-sort" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-extract" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-merge" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-stored-data" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-delay" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-sequential-access" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-magnetic-disk" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-direct-access-storage" toolbar:helpid="helpid:11005" />
+ <toolbar:toolbaritem xlink:href=".uno:FlowChartShapes.flowchart-display" toolbar:helpid="helpid:11005" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/fontworkobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/fontworkobjectbar.xml
new file mode 100644
index 000000000000..5219a1e235e9
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/fontworkobjectbar.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FontworkGalleryFloater" toolbar:helpid="helpid:10977" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType" toolbar:helpid="helpid:10978" toolbar:style="dropdownonly" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkSameLetterHeights" toolbar:helpid="helpid:10979" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkAlignmentFloater" toolbar:helpid="helpid:10981" toolbar:style="dropdownonly" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkCharacterSpacingFloater" toolbar:helpid="helpid:10982" toolbar:style="dropdownonly" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/fontworkshapetype.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/fontworkshapetype.xml
new file mode 100644
index 000000000000..49b5b8173e0e
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/fontworkshapetype.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-plain-text" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-wave" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-inflate" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-stop" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-curve-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-curve-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-triangle-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-triangle-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-right" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-left" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-slant-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-slant-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-up-and-right" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-fade-up-and-left" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-chevron-up" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-chevron-down" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-up-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-down-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-left-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-right-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-circle-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-open-circle-curve" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-up-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-down-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-left-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-arch-right-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-circle-pour" toolbar:helpid="helpid:10978" />
+ <toolbar:toolbaritem xlink:href=".uno:FontworkShapeType.fontwork-open-circle-pour" toolbar:helpid="helpid:10978" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/formcontrols.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/formcontrols.xml
new file mode 100644
index 000000000000..20be12fee858
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/formcontrols.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SelectObject" toolbar:helpid="helpid:10128" toolbar:text="" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:SwitchXFormsDesignMode" toolbar:helpid="helpid:10629" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ControlProperties" toolbar:helpid="helpid:10613" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:CheckBox" toolbar:helpid="helpid:10596" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Edit" toolbar:helpid="helpid:10599" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:FormattedField" toolbar:helpid="helpid:10728" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Pushbutton" toolbar:helpid="helpid:10594" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:RadioButton" toolbar:helpid="helpid:10595" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:ListBox" toolbar:helpid="helpid:10600" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:ComboBox" toolbar:helpid="helpid:10601" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Label" toolbar:helpid="helpid:10597" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:MoreControls" toolbar:helpid="helpid:11045" />
+ <toolbar:toolbaritem xlink:href=".uno:FormDesignTools" toolbar:helpid="helpid:11046" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/formdesign.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/formdesign.xml
new file mode 100644
index 000000000000..0b81640ff691
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/formdesign.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SelectObject" toolbar:helpid="helpid:10128" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:SwitchXFormsDesignMode" toolbar:helpid="helpid:10629" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ControlProperties" toolbar:helpid="helpid:10614" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ShowDataNavigator" toolbar:helpid="helpid:10773" />
+ <toolbar:toolbaritem xlink:href=".uno:ShowFmExplorer" toolbar:helpid="helpid:10633" />
+ <toolbar:toolbaritem xlink:href=".uno:AddField" toolbar:helpid="helpid:10623" />
+ <toolbar:toolbaritem xlink:href=".uno:TabDialog" toolbar:helpid="helpid:10615" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:OpenReadOnly" toolbar:helpid="helpid:10709" />
+ <toolbar:toolbaritem xlink:href=".uno:AutoControlFocus" toolbar:helpid="helpid:10763" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:TransformDialog" toolbar:helpid="helpid:10087" />
+ <toolbar:toolbaritem xlink:href=".uno:ToggleAnchorType" toolbar:helpid="helpid:20349" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BringToFront" toolbar:helpid="helpid:10286" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SendToBack" toolbar:helpid="helpid:10287" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatGroup" toolbar:helpid="helpid:10454" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:FormatUngroup" toolbar:helpid="helpid:10455" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:EnterGroup" toolbar:helpid="helpid:27096" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:LeaveGroup" toolbar:helpid="helpid:27097" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ObjectAlign" toolbar:helpid="helpid:10130" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GridVisible" toolbar:helpid="helpid:27322" />
+ <toolbar:toolbaritem xlink:href=".uno:GridUse" toolbar:helpid="helpid:27154" />
+ <toolbar:toolbaritem xlink:href=".uno:HelplinesMove" toolbar:helpid="helpid:27153" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/formsfilterbar.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/formsfilterbar.xml
new file mode 100644
index 000000000000..1d1ad07a9938
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/formsfilterbar.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FormFilterExecute" toolbar:helpid="helpid:10731" />
+ <toolbar:toolbaritem xlink:href=".uno:FormFilterNavigator" toolbar:helpid="helpid:10732" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FormFilterExit" toolbar:helpid="helpid:10730" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/formsnavigationbar.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/formsnavigationbar.xml
new file mode 100644
index 000000000000..ce47a450e2f5
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/formsnavigationbar.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:RecSearch" toolbar:helpid="10725"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:RecText" toolbar:helpid="10624"/>
+ <toolbar:toolbaritem xlink:href=".uno:AbsoluteRecord" toolbar:helpid="10622"/>
+ <toolbar:toolbaritem xlink:href=".uno:RecFromText" toolbar:helpid="10625"/>
+ <toolbar:toolbaritem xlink:href=".uno:RecTotal" toolbar:helpid="10626"/>
+ <toolbar:toolbaritem xlink:href=".uno:FirstRecord" toolbar:helpid="10616"/>
+ <toolbar:toolbaritem xlink:href=".uno:PrevRecord" toolbar:helpid="10618"/>
+ <toolbar:toolbaritem xlink:href=".uno:NextRecord" toolbar:helpid="10617"/>
+ <toolbar:toolbaritem xlink:href=".uno:LastRecord" toolbar:helpid="10619"/>
+ <toolbar:toolbaritem xlink:href=".uno:NewRecord" toolbar:helpid="10620"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:RecSave" toolbar:helpid="10627"/>
+ <toolbar:toolbaritem xlink:href=".uno:RecUndo" toolbar:helpid="10630"/>
+ <toolbar:toolbaritem xlink:href=".uno:DeleteRecord" toolbar:helpid="10621"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Refresh" toolbar:helpid="10724"/>
+ <toolbar:toolbaritem xlink:href=".uno:RefreshFormControl"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:OrderCrit" toolbar:helpid="10714"/>
+ <toolbar:toolbaritem xlink:href=".uno:Sortup" toolbar:helpid="10712"/>
+ <toolbar:toolbaritem xlink:href=".uno:SortDown" toolbar:helpid="10713"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AutoFilter" toolbar:helpid="10716"/>
+ <toolbar:toolbaritem xlink:href=".uno:FormFiltered" toolbar:helpid="10723"/>
+ <toolbar:toolbaritem xlink:href=".uno:FormFilter" toolbar:helpid="10729"/>
+ <toolbar:toolbaritem xlink:href=".uno:RemoveFilterSort" toolbar:helpid="10711"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ViewFormAsGrid" toolbar:helpid="10761"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/formtextobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/formtextobjectbar.xml
new file mode 100644
index 000000000000..dbdeaf675371
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/formtextobjectbar.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:CharFontName" toolbar:helpid="helpid:10007" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontHeight" toolbar:helpid="helpid:10015" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Bold" toolbar:helpid="helpid:10009" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Italic" toolbar:helpid="helpid:10008" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:Underline" toolbar:helpid="helpid:10014" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:SuperScript" toolbar:helpid="helpid:20411" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:SubScript" toolbar:helpid="helpid:20412" toolbar:text="" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LeftPara" toolbar:helpid="helpid:10028" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CenterPara" toolbar:helpid="helpid:10030" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:RightPara" toolbar:helpid="helpid:10029" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:JustifyPara" toolbar:helpid="helpid:10031" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ParaLeftToRight" toolbar:helpid="helpid:10950" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:ParaRightToLeft" toolbar:helpid="helpid:10951" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara1" toolbar:helpid="helpid:10034" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara15" toolbar:helpid="helpid:10035" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara2" toolbar:helpid="helpid:10036" toolbar:text="" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontDialog" toolbar:helpid="helpid:10296" toolbar:text="" />
+ <toolbar:toolbaritem xlink:href=".uno:ParagraphDialog" toolbar:helpid="helpid:10297" toolbar:text="" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/frameobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/frameobjectbar.xml
new file mode 100644
index 000000000000..a591f9094457
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/frameobjectbar.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:StyleApply" toolbar:helpid="helpid:5552" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapOff" toolbar:helpid="helpid:20472" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:WrapOn" toolbar:helpid="helpid:20473" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:WrapIdeal" toolbar:helpid="helpid:20563" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:WrapLeft" toolbar:helpid="helpid:20572" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:WrapRight" toolbar:helpid="helpid:20573" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:WrapThrough" toolbar:helpid="helpid:20474" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignLeft" toolbar:helpid="helpid:20475" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignHorizontalCenter" toolbar:helpid="helpid:20477" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignRight" toolbar:helpid="helpid:20476" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignTop" toolbar:helpid="helpid:20478" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignVerticalCenter" toolbar:helpid="helpid:20480" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:AlignBottom" toolbar:helpid="helpid:20479" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SetBorderStyle" toolbar:helpid="helpid:10187" />
+ <toolbar:toolbaritem xlink:href=".uno:LineStyle" toolbar:helpid="helpid:10200" />
+ <toolbar:toolbaritem xlink:href=".uno:FrameLineColor" toolbar:helpid="helpid:10201" />
+ <toolbar:toolbaritem xlink:href=".uno:BackgroundColor" toolbar:helpid="helpid:10185" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FrameDialog" toolbar:helpid="helpid:20456" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BringToFront" toolbar:helpid="helpid:10286" />
+ <toolbar:toolbaritem xlink:href=".uno:SendToBack" toolbar:helpid="helpid:10287" />
+ <toolbar:toolbaritem xlink:href=".uno:ToggleAnchorType" toolbar:helpid="helpid:20349" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ChainFrames" toolbar:helpid="helpid:21736" />
+ <toolbar:toolbaritem xlink:href=".uno:UnhainFrames" toolbar:helpid="helpid:21737" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/fullscreenbar.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/fullscreenbar.xml
new file mode 100644
index 000000000000..5aecdda4fb04
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/fullscreenbar.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:FullScreen" toolbar:helpid="helpid:5627" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/graffilterbar.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/graffilterbar.xml
new file mode 100644
index 000000000000..287c33fe25e5
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/graffilterbar.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterInvert" toolbar:helpid="helpid:34149" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSmooth" toolbar:helpid="helpid:34150" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSharpen" toolbar:helpid="helpid:34151" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterRemoveNoise" toolbar:helpid="helpid:34152" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSolarize" toolbar:helpid="helpid:34159" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSepia" toolbar:helpid="helpid:34158" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterPoster" toolbar:helpid="helpid:34156" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterPopart" toolbar:helpid="helpid:34157" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterSobel" toolbar:helpid="helpid:34153" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterRelief" toolbar:helpid="helpid:34155" />
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterMosaic" toolbar:helpid="helpid:34154" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/graphicobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/graphicobjectbar.xml
new file mode 100644
index 000000000000..040bb8cd8ae6
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/graphicobjectbar.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:InsertGraphic" toolbar:helpid="10241"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GraphicFilterToolbox" toolbar:helpid="10469"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafMode" toolbar:helpid="10871"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ColorSettings" toolbar:helpid="11016"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GrafTransparence" toolbar:helpid="10869"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FlipVertical" toolbar:helpid="20426"/>
+ <toolbar:toolbaritem xlink:href=".uno:FlipHorizontal" toolbar:helpid="20425"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FrameDialog" toolbar:helpid="20458"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/insertbar.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/insertbar.xml
new file mode 100644
index 000000000000..a9bb7e0eb204
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/insertbar.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:InsertTable" toolbar:helpid="20330"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertFrameInteract" toolbar:helpid="20333"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertDoc" toolbar:helpid="5532"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertGraphic" toolbar:helpid="10241"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertAVMedia" toolbar:helpid="6695"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertFootnote" toolbar:helpid="20399"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertEndnote" toolbar:helpid="21418"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertSymbol" toolbar:helpid="20328"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertObjectStarMath" toolbar:helpid="20369"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertSection" toolbar:helpid="21419"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertIndexesEntry" toolbar:helpid="20335"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertFieldCtrl" toolbar:helpid="52824"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertObjectChart" toolbar:visible="false" toolbar:helpid="10140"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertObjCtrl" toolbar:visible="false" toolbar:helpid="52823"/>
+ <toolbar:toolbaritem xlink:href=".uno:Config" toolbar:visible="false" toolbar:helpid="10593"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertMultiIndex" toolbar:helpid="21420"/>
+ <toolbar:toolbaritem xlink:href=".uno:EditGlossary"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertAnnotation" toolbar:helpid="20329"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertBookmark" toolbar:helpid="20302"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/insertobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/insertobjectbar.xml
new file mode 100644
index 000000000000..951849543373
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/insertobjectbar.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:InsertObjectFloatingFrame" toolbar:helpid="helpid:5563" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertObject" toolbar:helpid="helpid:5561" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertPlugin" toolbar:helpid="helpid:5672" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/mediaobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/mediaobjectbar.xml
new file mode 100644
index 000000000000..2014343bf89b
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/mediaobjectbar.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:InsertAVMedia" toolbar:helpid="6695"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AVMediaToolBox" toolbar:helpid="helpid:6693" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/moreformcontrols.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/moreformcontrols.xml
new file mode 100644
index 000000000000..c329d444c5d0
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/moreformcontrols.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SpinButton" toolbar:helpid="helpid:10769" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:Imagebutton" toolbar:helpid="helpid:10604" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:DateField" toolbar:helpid="helpid:10704" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:TimeField" toolbar:helpid="helpid:10705" toolbar:style="radio auto" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:NumericField" toolbar:helpid="helpid:10706" toolbar:style="radio auto" />
+ <toolbar:toolbaritem xlink:href=".uno:GroupBox" toolbar:helpid="helpid:10598" toolbar:style="radio auto" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/numobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/numobjectbar.xml
new file mode 100644
index 000000000000..50e28ac32f64
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/numobjectbar.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:DefaultBullet" toolbar:helpid="20138"/>
+ <toolbar:toolbaritem xlink:href=".uno:DefaultNumbering" toolbar:helpid="20144"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:RemoveBullets" toolbar:helpid="20137"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:IncrementLevel" toolbar:helpid="20131"/>
+ <toolbar:toolbaritem xlink:href=".uno:DecrementLevel" toolbar:helpid="20130"/>
+ <toolbar:toolbaritem xlink:href=".uno:IncrementSubLevels" toolbar:helpid="20140"/>
+ <toolbar:toolbaritem xlink:href=".uno:DecrementSubLevels" toolbar:helpid="20139"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertNeutralParagraph" toolbar:helpid="20136"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:MoveUp" toolbar:helpid="20134"/>
+ <toolbar:toolbaritem xlink:href=".uno:MoveDown" toolbar:helpid="20135"/>
+ <toolbar:toolbaritem xlink:href=".uno:MoveUpSubItems" toolbar:helpid="20141"/>
+ <toolbar:toolbaritem xlink:href=".uno:MoveDownSubItems" toolbar:helpid="20142"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:NumberingStart" toolbar:helpid="21738"/>
+ <toolbar:toolbaritem xlink:href=".uno:BulletsAndNumberingDialog" toolbar:helpid="20121"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/oleobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/oleobjectbar.xml
new file mode 100644
index 000000000000..c95b1aebb316
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/oleobjectbar.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:StyleApply" toolbar:helpid="5552"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignLeft" toolbar:helpid="20475"/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignHorizontalCenter" toolbar:helpid="20477"/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignRight" toolbar:helpid="20476"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignTop" toolbar:helpid="20478"/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignVerticalCenter" toolbar:helpid="20480"/>
+ <toolbar:toolbaritem xlink:href=".uno:AlignBottom" toolbar:helpid="20479"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapLeft" toolbar:visible="false" toolbar:helpid="20572"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapRight" toolbar:visible="false" toolbar:helpid="20573"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapOff" toolbar:helpid="20472"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapOn" toolbar:helpid="20473"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapThrough" toolbar:helpid="20474"/>
+ <toolbar:toolbaritem xlink:href=".uno:WrapIdeal" toolbar:visible="false" toolbar:helpid="20563"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FrameDialog" toolbar:helpid="20456"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:BringToFront" toolbar:helpid="10286"/>
+ <toolbar:toolbaritem xlink:href=".uno:SendToBack" toolbar:helpid="10287"/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleAnchorType" toolbar:helpid="20349"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SetBorderStyle" toolbar:helpid="10187"/>
+ <toolbar:toolbaritem xlink:href=".uno:LineStyle" toolbar:helpid="10200"/>
+ <toolbar:toolbaritem xlink:href=".uno:FrameLineColor" toolbar:helpid="10201"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/optimizetablebar.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/optimizetablebar.xml
new file mode 100644
index 000000000000..7669add92e89
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/optimizetablebar.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:DistributeColumns" toolbar:helpid="helpid:20582" />
+ <toolbar:toolbaritem xlink:href=".uno:DistributeRows" toolbar:helpid="helpid:20583" />
+ <toolbar:toolbaritem xlink:href=".uno:SetOptimalRowHeight" toolbar:helpid="helpid:20528" />
+ <toolbar:toolbaritem xlink:href=".uno:SetOptimalColumnWidth" toolbar:helpid="helpid:20521" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/previewobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/previewobjectbar.xml
new file mode 100644
index 000000000000..435250b63af5
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/previewobjectbar.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:PageUp" toolbar:helpid="20937"/>
+ <toolbar:toolbaritem xlink:href=".uno:PageDown" toolbar:helpid="20938"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:GoToStartOfDoc" toolbar:helpid="20907"/>
+ <toolbar:toolbaritem xlink:href=".uno:GoToEndOfDoc" toolbar:helpid="20908"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ShowTwoPages" toolbar:helpid="21251"/>
+ <toolbar:toolbaritem xlink:href=".uno:ShowMultiplePages" toolbar:helpid="21252"/>
+ <toolbar:toolbaritem xlink:href=".uno:ShowBookview" toolbar:helpid="helpid:21255" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ZoomPlus" toolbar:helpid="10097"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:PreviewZoom" toolbar:helpid="53071"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ZoomMinus" toolbar:helpid="10098"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FullScreen" toolbar:helpid="5627"/>
+ <toolbar:toolbaritem xlink:href=".uno:PrintPagePreView" toolbar:helpid="21253"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ClosePreview" toolbar:helpid="5325"/>
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/standardbar.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/standardbar.xml
new file mode 100644
index 000000000000..1da9beff4735
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/standardbar.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:OpenUrl" toolbar:visible="false"/>
+ <toolbar:toolbaritem xlink:href=".uno:AddDirect" toolbar:helpid="5537"/>
+ <toolbar:toolbaritem xlink:href=".uno:NewDoc" toolbar:visible="false" toolbar:helpid="5500"/>
+ <toolbar:toolbaritem xlink:href=".uno:Open" toolbar:helpid="5501"/>
+ <toolbar:toolbaritem xlink:href=".uno:Save" toolbar:helpid="5505"/>
+ <toolbar:toolbaritem xlink:href=".uno:SaveAs" toolbar:visible="false" toolbar:helpid="5502"/>
+ <toolbar:toolbaritem xlink:href=".uno:SendMail" toolbar:helpid="5331"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:EditDoc" toolbar:helpid="6312"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExportDirectToPDF" toolbar:helpid="6674"/>
+ <toolbar:toolbaritem xlink:href=".uno:PrintDefault" toolbar:helpid="5509"/>
+ <toolbar:toolbaritem xlink:href=".uno:PrintPreview" toolbar:helpid="5325"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SpellDialog" toolbar:helpid="20622"/>
+ <toolbar:toolbaritem xlink:href=".uno:SpellOnline" toolbar:helpid="12021"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Cut" toolbar:helpid="5710"/>
+ <toolbar:toolbaritem xlink:href=".uno:Copy" toolbar:helpid="5711"/>
+ <toolbar:toolbaritem xlink:href=".uno:Paste" toolbar:helpid="5712"/>
+ <toolbar:toolbaritem xlink:href=".uno:FormatPaintbrush" toolbar:helpid="5715"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Undo" toolbar:helpid="5701"/>
+ <toolbar:toolbaritem xlink:href=".uno:Redo" toolbar:helpid="5700"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:HyperlinkDialog" toolbar:helpid="5678"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertTable" toolbar:helpid="20330"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertDraw" toolbar:helpid="10244"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SearchDialog" toolbar:helpid="5961" toolbar:visible="false"/>
+ <toolbar:toolbaritem xlink:href=".uno:Navigator" toolbar:helpid="10366"/>
+ <toolbar:toolbaritem xlink:href=".uno:Gallery" toolbar:helpid="5960"/>
+ <toolbar:toolbaritem xlink:href=".uno:ViewDataSourceBrowser" toolbar:helpid="6660"/>
+ <toolbar:toolbaritem xlink:href=".uno:ControlCodes" toolbar:helpid="20224"/>
+ <toolbar:toolbaritem xlink:href=".uno:Zoom" toolbar:helpid="10000" toolbar:visible="false"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:HelpIndex"/>
+ <toolbar:toolbaritem xlink:href=".uno:ExtendedHelp" toolbar:visible="false" toolbar:helpid="5402"/>
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/starshapes.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/starshapes.xml
new file mode 100644
index 000000000000..a2ff874d2fe7
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/starshapes.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.bang" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star4" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star5" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star6" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star8" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star12" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.star24" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.concave-star6" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.vertical-scroll" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.horizontal-scroll" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.signet" toolbar:helpid="helpid:11007" />
+ <toolbar:toolbaritem xlink:href=".uno:StarShapes.doorplate" toolbar:helpid="helpid:11007" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/symbolshapes.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/symbolshapes.xml
new file mode 100644
index 000000000000..0fa6aee313db
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/symbolshapes.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.smiley" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.sun" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.moon" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.lightning" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.heart" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.flower" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.cloud" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.forbidden" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.puzzle" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.bracket-pair" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.left-bracket" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.right-bracket" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.brace-pair" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.left-brace" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.right-brace" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.quad-bevel" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.octagon-bevel" toolbar:helpid="helpid:11003" />
+ <toolbar:toolbaritem xlink:href=".uno:SymbolShapes.diamond-bevel" toolbar:helpid="helpid:11003" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/tableobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/tableobjectbar.xml
new file mode 100644
index 000000000000..d34267a6e1de
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/tableobjectbar.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:InsertTable" toolbar:helpid="helpid:20330" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LineStyle" toolbar:helpid="helpid:10200" />
+ <toolbar:toolbaritem xlink:href=".uno:FrameLineColor" toolbar:helpid="helpid:10201" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SetBorderStyle" toolbar:helpid="helpid:10187" />
+ <toolbar:toolbaritem xlink:href=".uno:BackgroundColor" toolbar:helpid="helpid:10185" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:MergeCells" toolbar:helpid="helpid:20506" />
+ <toolbar:toolbaritem xlink:href=".uno:SplitCell" toolbar:helpid="helpid:20505" />
+ <toolbar:toolbaritem xlink:href=".uno:OptimizeTable" toolbar:helpid="helpid:20510" toolbar:style="dropdown" />
+ <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:CellVertTop" toolbar:helpid="helpid:20585" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CellVertCenter" toolbar:helpid="helpid:20586" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CellVertBottom" toolbar:helpid="helpid:20587" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertRows" toolbar:helpid="helpid:20501" />
+ <toolbar:toolbaritem xlink:href=".uno:InsertColumns" toolbar:helpid="helpid:20502" />
+ <toolbar:toolbaritem xlink:href=".uno:DeleteRows" toolbar:helpid="helpid:20503" />
+ <toolbar:toolbaritem xlink:href=".uno:DeleteColumns" toolbar:helpid="helpid:20504" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SelectTable" toolbar:helpid="helpid:20515" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:EntireColumn" toolbar:helpid="helpid:20514" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:EntireRow" toolbar:helpid="helpid:20513" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AutoFormat" toolbar:helpid="helpid:20595" />
+ <toolbar:toolbaritem xlink:href=".uno:TableDialog" toolbar:helpid="helpid:20459" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:TableSort" toolbar:helpid="helpid:20533" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:AutoSum" toolbar:helpid="helpid:20595" />
+</toolbar:toolbar>
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/textobjectbar.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/textobjectbar.xml
new file mode 100644
index 000000000000..d48a96df35dc
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/textobjectbar.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:DesignerDialog" toolbar:helpid="5539"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:StyleApply" toolbar:helpid="helpid:5552" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:CharFontName" toolbar:helpid="helpid:10007" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontHeight" toolbar:helpid="helpid:10015" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Bold" toolbar:helpid="helpid:10009" />
+ <toolbar:toolbaritem xlink:href=".uno:Italic" toolbar:helpid="helpid:10008" />
+ <toolbar:toolbaritem xlink:href=".uno:Underline" toolbar:helpid="helpid:10014" />
+ <toolbar:toolbaritem xlink:href=".uno:SuperScript" toolbar:helpid="helpid:20411" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SubScript" toolbar:helpid="helpid:20412" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:LeftPara" toolbar:helpid="helpid:10028" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:CenterPara" toolbar:helpid="helpid:10030" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:RightPara" toolbar:helpid="helpid:10029" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:JustifyPara" toolbar:helpid="helpid:10031" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ParaLeftToRight" toolbar:helpid="helpid:10950" toolbar:style="radio" />
+ <toolbar:toolbaritem xlink:href=".uno:ParaRightToLeft" toolbar:helpid="helpid:10951" toolbar:style="radio" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara1" toolbar:helpid="helpid:10034" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara15" toolbar:helpid="helpid:10035" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:SpacePara2" toolbar:helpid="helpid:10036" toolbar:style="radio" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:DefaultNumbering" toolbar:helpid="helpid:20144" />
+ <toolbar:toolbaritem xlink:href=".uno:DefaultBullet" toolbar:helpid="helpid:20138" />
+ <toolbar:toolbaritem xlink:href=".uno:DecrementIndent" toolbar:helpid="helpid:10461" />
+ <toolbar:toolbaritem xlink:href=".uno:IncrementIndent" toolbar:helpid="helpid:10462" />
+ <toolbar:toolbaritem xlink:href=".uno:Grow" toolbar:helpid="helpid:20403" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:Shrink" toolbar:helpid="helpid:20404" toolbar:visible="false" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:FontColor" toolbar:helpid="helpid:10017" toolbar:style="dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:BackColor" toolbar:helpid="helpid:10489" toolbar:style="dropdown" />
+ <toolbar:toolbaritem xlink:href=".uno:BackgroundColor" toolbar:helpid="helpid:10185" toolbar:style="dropdown" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SelectAll" toolbar:helpid="helpid:5723" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:FontDialog" toolbar:helpid="helpid:10296" toolbar:visible="false" />
+ <toolbar:toolbaritem xlink:href=".uno:ParagraphDialog" toolbar:helpid="helpid:10297" toolbar:visible="false" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/toolbar.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/toolbar.xml
new file mode 100644
index 000000000000..7ff331e17224
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/toolbar.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <toolbar:toolbaritem xlink:href=".uno:InsertCtrl" toolbar:helpid="52822"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ShadowCursor" toolbar:helpid="22204"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Hyphenate" toolbar:helpid="20605"/>
+ <toolbar:toolbaritem xlink:href=".uno:ThesaurusDialog" toolbar:helpid="20603"/>
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Graphic" toolbar:helpid="20213"/>
+ <toolbar:toolbaritem xlink:href=".uno:BrowseView" toolbar:helpid="6313"/>
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/viewerbar.xml b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/viewerbar.xml
new file mode 100644
index 000000000000..d4d6a59d7ed5
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/modules/swxform/toolbar/viewerbar.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd">
+<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
+ <toolbar:toolbaritem xlink:href=".uno:SaveAs" toolbar:helpid="helpid:5502" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:EditDoc" toolbar:helpid="helpid:6312" />
+ <toolbar:toolbaritem xlink:href=".uno:SendMail" toolbar:helpid="helpid:5331" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:ExportDirectToPDF" toolbar:helpid="helpid:6674" />
+ <toolbar:toolbaritem xlink:href=".uno:PrintDefault" toolbar:helpid="helpid:5509" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Copy" toolbar:helpid="helpid:5711" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:SearchDialog" toolbar:helpid="helpid:5961" />
+ <toolbar:toolbaritem xlink:href=".uno:Navigator" toolbar:helpid="helpid:10366" />
+ <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:Zoom" toolbar:helpid="helpid:10000" />
+</toolbar:toolbar> \ No newline at end of file
diff --git a/test/user-template/user/config/soffice.cfg/simpress/effects.xml b/test/user-template/user/config/soffice.cfg/simpress/effects.xml
new file mode 100644
index 000000000000..be341ef5e229
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/simpress/effects.xml
@@ -0,0 +1,2630 @@
+<?xml version="1.0"?>
+<anim:seq xmlns:office="urn:oasis:names:tc:openoffice:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:openoffice:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:openoffice:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:openoffice:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:openoffice:xmlns:drawing:1.0" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:openoffice:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:openoffice:xmlns:datastyle:1.0" xmlns:pres="urn:oasis:names:tc:openoffice:xmlns:presentation:1.0" xmlns:svg="http://www.w3.org/2000/svg" xmlns:chart="urn:oasis:names:tc:openoffice:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:openoffice:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:openoffice:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:openoffice:xmlns:script:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:smil="http://www.w3.org/2001/SMIL20" xmlns:anim="urn:oasis:names:tc:openoffice:xmlns:animation:1.0" pres:node-type="main-sequence">
+
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-appear">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-venetian-blinds" pres:preset-sub-type="vertical">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="blindsWipe" smil:subtype="horizontal"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-venetian-blinds" pres:preset-sub-type="horizontal">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="blindsWipe" smil:subtype="vertical"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-box" pres:preset-sub-type="in">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="irisWipe" smil:subtype="rectangle" smil:direction="reverse"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-box" pres:preset-sub-type="out">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="irisWipe" smil:subtype="rectangle"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-checkerboard" pres:preset-sub-type="across">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="checkerBoardWipe" smil:subtype="across"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-checkerboard" pres:preset-sub-type="downward">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="checkerBoardWipe" smil:subtype="down"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-circle" pres:preset-sub-type="in">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="2" smil:type="ellipseWipe" smil:subtype="horizontal" smil:direction="reverse"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-circle" pres:preset-sub-type="out">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="2" smil:type="ellipseWipe" smil:subtype="horizontal"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-fly-in-slow" pres:preset-sub-type="from-bottom">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="5" smil:fill="hold" smil:attributeName="x" smil:values="x;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="5" smil:fill="hold" smil:attributeName="y" smil:values="1+height/2;y" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-fly-in-slow" pres:preset-sub-type="from-left">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="5" smil:fill="hold" smil:attributeName="x" smil:values="0-width/2;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="5" smil:fill="hold" smil:attributeName="y" smil:values="y;y" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-fly-in-slow" pres:preset-sub-type="from-right">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="5" smil:fill="hold" smil:attributeName="x" smil:values="1+width/2;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="5" smil:fill="hold" smil:attributeName="y" smil:values="y;y" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-fly-in-slow" pres:preset-sub-type="from-top">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="5" smil:fill="hold" smil:attributeName="x" smil:values="x;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="5" smil:fill="hold" smil:attributeName="y" smil:values="0-height/2;y" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-diamond" pres:preset-sub-type="in">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="2" smil:type="irisWipe" smil:subtype="diamond" smil:direction="reverse"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-diamond" pres:preset-sub-type="out">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="2" smil:type="irisWipe" smil:subtype="diamond"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-dissolve-in">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="dissolve"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-flash-once">
+ <anim:set smil:begin="0" smil:dur="1" smil:attributeName="visibility" smil:to="visible"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction;Accelerate;Decelerate" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-fly-in" pres:preset-sub-type="from-bottom">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="x" smil:values="x;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="y" smil:values="1+height/2;y" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction;Accelerate;Decelerate" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-fly-in" pres:preset-sub-type="from-left">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="x" smil:values="0-width/2;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="y" smil:values="y;y" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction;Accelerate;Decelerate" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-fly-in" pres:preset-sub-type="from-right">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="x" smil:values="1+width/2;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="y" smil:values="y;y" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction;Accelerate;Decelerate" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-fly-in" pres:preset-sub-type="from-top">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="x" smil:values="x;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="y" smil:values="0-height/2;y" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction;Accelerate;Decelerate" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-fly-in" pres:preset-sub-type="from-bottom-left">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="x" smil:values="0-width/2;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="y" smil:values="1+height/2;y" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction;Accelerate;Decelerate" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-fly-in" pres:preset-sub-type="from-bottom-right">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="x" smil:values="1+width/2;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="y" smil:values="1+height/2;y" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction;Accelerate;Decelerate" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-fly-in" pres:preset-sub-type="from-top-left">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="x" smil:values="0-width/2;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="y" smil:values="0-height/2;y" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction;Accelerate;Decelerate" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-fly-in" pres:preset-sub-type="from-top-right">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="x" smil:values="1+width/2;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="y" smil:values="0-height/2;y" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-peek-in" pres:preset-sub-type="from-bottom">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="slideWipe" smil:subtype="fromBottom"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-peek-in" pres:preset-sub-type="from-left">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="slideWipe" smil:subtype="fromLeft"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-peek-in" pres:preset-sub-type="from-right">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="slideWipe" smil:subtype="fromRight"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-peek-in" pres:preset-sub-type="from-top">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="slideWipe" smil:subtype="fromTop"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-plus" pres:preset-sub-type="in">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="2" smil:type="fourBoxWipe" smil:subtype="cornersIn"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-plus" pres:preset-sub-type="out">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="2" smil:type="fourBoxWipe" smil:subtype="cornersIn" smil:direction="reverse"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-random-bars" pres:preset-sub-type="vertical">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="randomBarWipe" smil:subtype="horizontal"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-random-bars" pres:preset-sub-type="horizontal">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="randomBarWipe" smil:subtype="vertical"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-random"/>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-split" pres:preset-sub-type="horizontal-in">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="barnDoorWipe" smil:subtype="horizontal" smil:direction="reverse"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-split" pres:preset-sub-type="horizontal-out">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="barnDoorWipe" smil:subtype="horizontal"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-split" pres:preset-sub-type="vertical-in">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="barnDoorWipe" smil:subtype="vertical" smil:direction="reverse"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-split" pres:preset-sub-type="vertical-out">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="barnDoorWipe" smil:subtype="vertical"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-diagonal-squares" pres:preset-sub-type="left-to-bottom">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="waterfallWipe" smil:subtype="horizontalRight"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-diagonal-squares" pres:preset-sub-type="left-to-top">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="waterfallWipe" smil:subtype="horizontalLeft" smil:direction="reverse"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-diagonal-squares" pres:preset-sub-type="right-to-bottom">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="waterfallWipe" smil:subtype="horizontalLeft"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-diagonal-squares" pres:preset-sub-type="right-to-top">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="waterfallWipe" smil:subtype="horizontalRight" smil:direction="reverse"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-wedge">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="2" smil:type="fanWipe" smil:subtype="centerTop"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-clock-wipe" pres:preset-sub-type="clockwise">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="2" smil:type="clockWipe" smil:subtype="clockwiseTwelve"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-clock-wipe" pres:preset-sub-type="counter-clockwise">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="2" smil:type="clockWipe" smil:subtype="clockwiseTwelve" smil:direction="reverse"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Spokes" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-wheel" pres:preset-sub-type="1">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="2" smil:type="pinWheelWipe" smil:subtype="oneBlade"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Spokes" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-wheel" pres:preset-sub-type="2">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="2" smil:type="pinWheelWipe" smil:subtype="twoBladeVertical"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Spokes" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-wheel" pres:preset-sub-type="3">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="2" smil:type="pinWheelWipe" smil:subtype="threeBlade"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Spokes" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-wheel" pres:preset-sub-type="4">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="2" smil:type="pinWheelWipe" smil:subtype="fourBlade"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Spokes" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-wheel" pres:preset-sub-type="8">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="2" smil:type="pinWheelWipe" smil:subtype="eightBlade"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+
+<!-- ooo-entrance-snake-wipe -->
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-snake-wipe" pres:preset-sub-type="from-top-left-horizontal">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="snakeWipe" smil:subtype="topLeftHorizontal"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-snake-wipe" pres:preset-sub-type="from-top-left-vertical">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="snakeWipe" smil:subtype="topLeftVertical"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-snake-wipe" pres:preset-sub-type="from-bottom-right-vertical">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="snakeWipe" smil:subtype="topLeftVertical" smil:direction="reverse"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-snake-wipe" pres:preset-sub-type="from-bottom-right-horizontal">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="snakeWipe" smil:subtype="topLeftHorizontal" smil:direction="reverse"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+
+<!-- ooo-entrance-spiral-wipe -->
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-spiral-wipe" pres:preset-sub-type="from-top-left-clockwise">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="spiralWipe" smil:subtype="topLeftClockwise"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-spiral-wipe" pres:preset-sub-type="from-top-right-counter-clockwise">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="spiralWipe" smil:subtype="topRightCounterClockwise"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-spiral-wipe" pres:preset-sub-type="from-center-clockwise">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="spiralWipe" smil:subtype="topLeftClockwise" smil:direction="reverse"/>/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-spiral-wipe" pres:preset-sub-type="from-center-counter-clockwise">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="spiralWipe" smil:subtype="topRightCounterClockwise" smil:direction="reverse"/>/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+
+<!-- ooo-entrance-wipe -->
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-wipe" pres:preset-sub-type="from-bottom">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="barWipe" smil:subtype="topToBottom" smil:direction="reverse"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-wipe" pres:preset-sub-type="from-left">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="barWipe" smil:subtype="leftToRight"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-wipe" pres:preset-sub-type="from-right">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="barWipe" smil:subtype="leftToRight" smil:direction="reverse"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-wipe" pres:preset-sub-type="from-top">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="barWipe" smil:subtype="topToBottom"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-expand">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="1" smil:fill="hold" smil:attributeName="width" smil:values="width*0.70;width" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="1" smil:fill="hold" smil:attributeName="height" smil:values="height;height" smil:keyTimes="0;1"/>
+ <anim:transitionFilter smil:dur="1" smil:type="fade" smil:subtype="crossfade"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-fade-in">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="2" smil:type="fade" smil:subtype="crossfade"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:iterate pres:text-only="true" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-fade-in-and-swivel" anim:iterate-type="by-letter" anim:iterate-interval="0.2s">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="2" smil:type="fade" smil:subtype="crossfade"/>
+ <anim:animate smil:dur="2" smil:fill="hold" smil:attributeName="width" smil:values="0;1" smil:keyTimes="0;1" anim:formula="width*sin(2.5*pi*$)"/>
+ <anim:animate smil:dur="2" smil:fill="hold" smil:attributeName="height" smil:values="height;height" smil:keyTimes="0;1"/>
+ </anim:iterate>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-fade-in-and-zoom">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="width" smil:values="0;width" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="height" smil:values="0;height" smil:keyTimes="0;1"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="fade" smil:subtype="crossfade"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-ascend">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="1" smil:type="fade" smil:subtype="crossfade"/>
+ <anim:animate smil:dur="1" smil:fill="hold" smil:attributeName="x" smil:values="x;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="1" smil:fill="hold" smil:attributeName="y" smil:values="y+.1;y" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-center-revolve">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.1" smil:type="fade" smil:subtype="crossfade"/>
+ <anim:animate smil:dur="0.4" smil:fill="hold" smil:attributeName="x" smil:values="x;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.4" smil:fill="hold" smil:attributeName="y" smil:values="y+0.31;y+0.31" smil:keyTimes="0;1"/>
+ <anim:animate smil:begin="0.4" smil:dur="0.6" smil:fill="hold" smil:decelerate="0.5" smil:attributeName="x" smil:values="x;x+0.0242;x+0.0479;x+0.0704;x+0.0911;x+0.1096;x+0.1254;x+0.1381;x+0.1474;x+0.1531;x+0.1550;x+0.1531;x+0.1474;x+0.1381;x+0.1254;x+0.1096;x+0.0911;x+0.0704;x+0.0479;x+0.0242;x" smil:keyTimes="0;0.05;0.1;0.15;0.2;0.25;0.3;0.35;0.4;0.45;0.5;0.55;0.6;0.65;0.7;0.75;0.8;0.85;0.9;0.95;1"/>
+ <anim:animate smil:begin="0.4" smil:dur="0.6" smil:fill="hold" smil:decelerate="0.5" smil:attributeName="y" smil:values="y+0.31;y+0.308;y+0.3024;y+0.2931;y+0.2804;y+0.2646;y+0.2461;y+0.2253;y+0.2029;y+0.1792;y+0.155;y+0.1307;y+0.1071;y+0.0846;y+0.0639;y+0.0454;y+0.0296;y+0.0169;y+0.0076;y+0.0019;y" smil:keyTimes="0;0.05;0.1;0.15;0.2;0.25;0.3;0.35;0.4;0.45;0.5;0.55;0.6;0.65;0.7;0.75;0.8;0.85;0.9;0.95;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:iterate pres:preset-property="Color1;Color2" pres:text-only="true" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-colored-lettering" anim:iterate-type="by-letter" anim:iterate-interval="0.04s">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="0.08" smil:attributeName="color" smil:values="#333399;#009999" smil:keyTimes="0;0.5" smil:calcMode="discrete"/>
+ <anim:animate smil:dur="0.08" smil:attributeName="fill-color" smil:values="#333399;#009999" smil:keyTimes="0;0.5" smil:calcMode="discrete"/>
+ <anim:set smil:dur="0.08" smil:attributeName="fill" smil:to="solid"/>
+ </anim:iterate>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:decelerate="1" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-compress">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="1" smil:fill="hold" smil:attributeName="width" smil:values="width+.3;width" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="1" smil:fill="hold" smil:attributeName="height" smil:values="height;height" smil:keyTimes="0;1"/>
+ <anim:transitionFilter smil:dur="1" smil:type="fade" smil:subtype="crossfade"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-descend">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="1" smil:type="fade" smil:subtype="crossfade"/>
+ <anim:animate smil:dur="1" smil:fill="hold" smil:attributeName="x" smil:values="x;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="1" smil:fill="hold" smil:attributeName="y" smil:values="y-.1;y" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-ease-in">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="1" smil:fill="hold" smil:attributeName="x" smil:values="x-.2;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="1" smil:fill="hold" smil:attributeName="y" smil:values="y;y" smil:keyTimes="0;1"/>
+ <anim:transitionFilter smil:dur="1" smil:type="barWipe" smil:subtype="leftToRight" smil:direction="reverse"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:iterate pres:text-only="true" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-turn-and-grow" anim:iterate-type="by-letter" anim:iterate-interval="0.05s">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="1" smil:fill="hold" smil:attributeName="width" smil:values="0;width" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="1" smil:fill="hold" smil:attributeName="height" smil:values="0;height" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="1" smil:fill="hold" smil:attributeName="rotate" smil:values="90;0" smil:keyTimes="0;1"/>
+ <anim:transitionFilter smil:dur="1" smil:type="fade" smil:subtype="crossfade"/>
+ </anim:iterate>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-rise-up">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="1" smil:type="fade" smil:subtype="crossfade"/>
+ <anim:animate smil:dur="1" smil:fill="hold" smil:attributeName="x" smil:values="x;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.9" smil:fill="hold" smil:decelerate="1" smil:attributeName="y" smil:values="y+1;y-.03" smil:keyTimes="0;1"/>
+ <anim:animate smil:begin="0.9" smil:dur="0.1" smil:fill="hold" smil:accelerate="1" smil:attributeName="y" smil:values="y-.03;y" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:decelerate="1" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-spin-in">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="width" smil:values="0;width" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="height" smil:values="0;height" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="rotate" smil:values="360;0" smil:keyTimes="0;1"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="fade" smil:subtype="crossfade"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-stretchy" pres:preset-sub-type="across">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="width" smil:values="0;width" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="height" smil:values="height;height" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-stretchy" pres:preset-sub-type="downward">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="width" smil:values="width;width" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="height" smil:values="0;height" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-stretchy" pres:preset-sub-type="from-bottom">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="x" smil:values="x;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="y" smil:values="y+height/2;y" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="width" smil:values="width;width" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="height" smil:values="0;height" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-stretchy" pres:preset-sub-type="from-left">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="x" smil:values="x-width/2;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="y" smil:values="y;y" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="width" smil:values="0;width" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="height" smil:values="height;height" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-stretchy" pres:preset-sub-type="from-right">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="x" smil:values="x+width/2;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="y" smil:values="y;y" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="width" smil:values="0;width" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="height" smil:values="height;height" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-stretchy" pres:preset-sub-type="from-top">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="x" smil:values="x;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="y" smil:values="y-height/2;y" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="width" smil:values="width;width" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="height" smil:values="0;height" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-stretchy" pres:preset-sub-type="from-top-right">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="x" smil:values="x+width/2;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="y" smil:values="y-height/2;y" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="width" smil:values="0;width" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="height" smil:values="0;height" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-stretchy" pres:preset-sub-type="from-bottom-right">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="x" smil:values="x+width/2;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="y" smil:values="y+height/2;y" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="width" smil:values="0;width" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="height" smil:values="0;height" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-stretchy" pres:preset-sub-type="from-top-left">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="x" smil:values="x-width/2;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="y" smil:values="y-height/2;y" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="width" smil:values="0;width" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="height" smil:values="0;height" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-stretchy" pres:preset-sub-type="from-bottom-left">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="x" smil:values="x-width/2;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="y" smil:values="y+height/2;y" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="width" smil:values="0;width" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="height" smil:values="0;height" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:iterate pres:text-only="true" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-unfold" anim:iterate-type="by-letter" anim:iterate-interval="0.1s">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="1" smil:type="fade" smil:subtype="crossfade"/>
+ <anim:animate smil:dur="1" smil:fill="hold" smil:attributeName="x" smil:values="x-.1;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="1" smil:fill="hold" smil:attributeName="y" smil:values="y;y" smil:keyTimes="0;1"/>
+ </anim:iterate>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Zoom" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-zoom" pres:preset-sub-type="in">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="width" smil:values="0;width" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="height" smil:values="0;height" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Zoom" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-zoom" pres:preset-sub-type="in-from-screen-center">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="width" smil:values="0;width" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="height" smil:values="0;height" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="x" smil:values="0.5;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="y" smil:values="0.5;y" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Zoom" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-zoom" pres:preset-sub-type="in-slightly">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="width" smil:values="2/3*width;width" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="height" smil:values="2/3*height;height" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Zoom" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-zoom" pres:preset-sub-type="out">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="width" smil:values="4*width;width" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="height" smil:values="4*height;height" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Zoom" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-zoom" pres:preset-sub-type="out-from-screen-center">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="width" smil:values="(6*min(max(width*height,.3),1)-7.4)/-.7*width;width" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="height" smil:values="(6*min(max(width*height,.3),1)-7.4)/-.7*height;height" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="x" smil:values="0.5;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="y" smil:values="1+(6*min(max(width*height,.3),1)-7.4)/-.7*height/2;y" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Zoom" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-zoom" pres:preset-sub-type="out-slightly">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="width" smil:values="4/3*width;width" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="height" smil:values="4/3*height;height" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-boomerang">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:begin="0" smil:dur="0.5" smil:fill="hold" smil:decelerate="0.5" smil:attributeName="rotate" smil:values="-90;0" smil:keyTimes="0;1"/>
+ <anim:animate smil:begin="0" smil:dur="0.5" smil:fill="hold" smil:decelerate="0.5" smil:attributeName="width" smil:values="width;width*.05" smil:keyTimes="0;1"/>
+ <anim:animate smil:begin="0.5" smil:dur="0.5" smil:fill="hold" smil:accelerate="0.5" smil:attributeName="width" smil:values="width*.05;width" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="1" smil:fill="hold" smil:attributeName="height" smil:values="height;height" smil:keyTimes="0;1"/>
+ <anim:animate smil:begin="0" smil:dur="0.5" smil:fill="hold" smil:decelerate="0.5" smil:attributeName="x" smil:values="x+.4;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:begin="0" smil:dur="0.5" smil:fill="hold" smil:decelerate="0.5" smil:attributeName="y" smil:values="y-.2;y+.1" smil:keyTimes="0;1"/>
+ <anim:animate smil:begin="0.5" smil:dur="0.5" smil:fill="hold" smil:accelerate="0.5" smil:attributeName="y" smil:values="y+.1;y" smil:keyTimes="0;1"/>
+ <anim:transitionFilter smil:begin="0" smil:dur="1" smil:decelerate="0.5" smil:type="fade" smil:subtype="crossfade"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-bounce">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:begin="0" smil:dur="0.58" smil:type="barWipe" smil:subtype="topToBottom"/>
+ <anim:animate smil:begin="0" smil:dur="1.822" smil:attributeName="x" smil:values="x-0.25;x" smil:keyTimes="0;1" smil:keySplines="0,0;0.14,0.36;0.43,0.73;0.71,0.91;1,1"/>
+ <anim:animate smil:begin="0" smil:dur="0.664" smil:attributeName="y" smil:values="0.5;1" smil:keyTimes="0;1" anim:formula="y-sin(pi*$)/3" smil:keySplines="0,0;0.25,0.07;0.5,0.2;0.75,0.467;1,1"/>
+ <anim:animate smil:begin="0.664" smil:dur="0.664" smil:attributeName="y" smil:values="0;1" smil:keyTimes="0;1" anim:formula="y-sin(pi*$)/9" smil:keySplines="0,0;0.125,0.2665;0.25,0.4;0.375,0.465;0.5,0.5;0.625,0.535;0.75,0.6;0.875,0.7335;1,1"/>
+ <anim:animate smil:begin="1.324" smil:dur="0.332" smil:attributeName="y" smil:values="0;1" smil:keyTimes="0;1" anim:formula="y-sin(pi*$)/27" smil:keySplines="0,0;0.125,0.2665;0.25,0.4;0.375,0.465;0.5,0.5;0.625,0.535;0.75,0.6;0.875,0.7335;1,1"/>
+ <anim:animate smil:begin="1.656" smil:dur="0.164" smil:attributeName="y" smil:values="0;1" smil:keyTimes="0;1" anim:formula="y-sin(pi*$)/81" smil:keySplines="0,0;0.125,0.2665;0.25,0.4;0.375,0.465;0.5,0.5;0.625,0.535;0.75,0.6;0.875,0.7335;1,1"/>
+ <anim:animateTransform smil:begin="0.65" smil:dur="0.026" smil:to="1,0.6" svg:type="scale"/>
+ <anim:animateTransform smil:begin="0.676" smil:dur="0.166" smil:decelerate="0.5" smil:to="1,1" svg:type="scale"/>
+ <anim:animateTransform smil:begin="1.312" smil:dur="0.026" smil:to="1,0.8" svg:type="scale"/>
+ <anim:animateTransform smil:begin="1.338" smil:dur="0.166" smil:decelerate="0.5" smil:to="1,1" svg:type="scale"/>
+ <anim:animateTransform smil:begin="1.642" smil:dur="0.026" smil:to="1,0.9" svg:type="scale"/>
+ <anim:animateTransform smil:begin="1.668" smil:dur="0.166" smil:decelerate="0.5" smil:to="1,1" svg:type="scale"/>
+ <anim:animateTransform smil:begin="1.808" smil:dur="0.026" smil:to="1,0.95" svg:type="scale"/>
+ <anim:animateTransform smil:begin="1.834" smil:dur="0.166" smil:decelerate="0.5" smil:to="1,1" svg:type="scale"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-movie-credits">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="15" smil:fill="hold" smil:attributeName="x" smil:values="x;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="15" smil:fill="hold" smil:attributeName="y" smil:values="y+1;y-1" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-curve-up">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animateTransform smil:begin="0" smil:dur="1" smil:fill="hold" smil:decelerate="0.5" smil:from="2.5,2.5" smil:to="1,1" svg:type="scale"/>
+ <anim:animateMotion smil:begin="0" smil:dur="1" smil:fill="hold" smil:decelerate="0.5" svg:path="M -0.46736 0.92887 C -0.37517 0.88508 -0.02552 0.75279 0.0908 0.66613 C 0.20747 0.57948 0.21649 0.50394 0.23177 0.40825 C 0.24705 0.31256 0.22118 0.15964 0.18264 0.09152 C 0.1441 0.02341 0.03802 0.0 0.0 0.0"/>
+ <anim:transitionFilter smil:dur="1" smil:type="fade" smil:subtype="crossfade"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:iterate pres:text-only="true" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-flip" anim:iterate-type="by-letter" anim:iterate-interval="0.1s">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:begin="0" smil:dur="0.5" smil:fill="hold" smil:autoReverse="true" smil:attributeName="width" smil:by="(-width*2)"/>
+ <anim:animate smil:begin="0" smil:dur="0.5" smil:fill="hold" smil:decelerate="0.5" smil:autoReverse="true" smil:attributeName="x" smil:by="(width*0.50)"/>
+ <anim:animate smil:begin="0" smil:dur="1" smil:fill="hold" smil:attributeName="y" smil:from="(-height/2)" smil:to="(y)"/>
+ <anim:animateTransform smil:begin="0" smil:dur="1" smil:fill="hold" smil:by="360" svg:type="rotate"/>
+ </anim:iterate>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-float">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.8" smil:decelerate="1" smil:type="fade" smil:subtype="crossfade"/>
+ <anim:animate smil:dur="0.8" smil:fill="hold" smil:decelerate="1" smil:attributeName="rotate" smil:values="-90;0" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.8" smil:fill="hold" smil:decelerate="1" smil:attributeName="x" smil:values="x+0.4;x-0.05" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.8" smil:fill="hold" smil:decelerate="1" smil:attributeName="y" smil:values="y-0.4;y+0.1" smil:keyTimes="0;1"/>
+ <anim:animate smil:begin="0.8" smil:dur="0.2" smil:fill="hold" smil:accelerate="1" smil:attributeName="x" smil:values="x-0.05;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:begin="0.8" smil:dur="0.2" smil:fill="hold" smil:accelerate="1" smil:attributeName="y" smil:values="y+0.1;y" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:text-only="true" smil:begin="0" smil:fill="hold" smil:accelerate="1" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-fold">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="width" smil:values="width*2.5;width" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="height" smil:values="height*0.01;height" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="x" smil:values="x;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="y" smil:values="height+1;y" smil:keyTimes="0;1"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="fade" smil:subtype="crossfade"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="1" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-glide">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="width" smil:values="width*0.05;width" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="height" smil:values="height;height" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="x" smil:values="x-.2;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="y" smil:values="y;y" smil:keyTimes="0;1"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="fade" smil:subtype="crossfade"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-breaks">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:begin="0" smil:dur="0.6" smil:fill="hold" smil:attributeName="x" smil:from="(-width/2)" smil:to="(x)"/>
+ <anim:animate smil:begin="0.6" smil:dur="0.2" smil:fill="hold" smil:decelerate="0.5" smil:autoReverse="true" smil:attributeName="skewX" smil:from="0" smil:to="-1"/>
+ <anim:animateTransform smil:begin="0.6" smil:dur="0.2" smil:fill="hold" smil:decelerate="1" smil:autoReverse="true" smil:from="1,1" smil:to="0.8,1" svg:type="scale"/>
+ <anim:animate smil:begin="0.6" smil:dur="0.2" smil:fill="hold" smil:decelerate="1" smil:autoReverse="true" smil:attributeName="x" smil:by="(height/3+width*0.1)" smil:additive="sum"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-magnify">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="0.77" smil:decelerate="1" smil:type="fade" smil:subtype="crossfade"/>
+ <anim:animateTransform smil:dur="0.77" smil:decelerate="1" smil:from="0.1,0.1" smil:to="2,4.5" svg:type="scale"/>
+ <anim:animateTransform smil:begin="0.77" smil:dur="1.23" smil:fill="hold" smil:accelerate="1" smil:from="2,4.5" smil:to="1,1" svg:type="scale"/>
+ <anim:set smil:dur="0.77" smil:fill="hold" smil:attributeName="x" smil:to="(0.5)"/>
+ <anim:animate smil:begin="0.77" smil:dur="1.23" smil:fill="hold" smil:accelerate="1" smil:attributeName="x" smil:from="(0.5)" smil:to="(x)"/>
+ <anim:set smil:dur="0.77" smil:fill="hold" smil:attributeName="y" smil:to="(y+0.4)"/>
+ <anim:animate smil:begin="0.77" smil:dur="1.23" smil:fill="hold" smil:accelerate="1" smil:attributeName="y" smil:from="(y+0.4)" smil:to="(y)"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-pinwheel">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="2" smil:type="fade" smil:subtype="crossfade"/>
+ <anim:animate smil:dur="2" smil:fill="hold" smil:attributeName="rotate" smil:values="720;0" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="2" smil:fill="hold" smil:attributeName="height" smil:values="0;height" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="2" smil:fill="hold" smil:attributeName="width" smil:values="0;width" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-sling">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="1" smil:fill="hold" smil:attributeName="rotate" smil:values="90;90;90;0" smil:keyTimes="0;0.8;0.8;1"/>
+ <anim:animate smil:dur="1" smil:fill="hold" smil:attributeName="x" smil:values="-1;0.949999988079071;x" smil:keyTimes="0;0.5;1"/>
+ <anim:animate smil:dur="1" smil:fill="hold" smil:attributeName="y" smil:values="y;y" smil:keyTimes="0;1"/>
+ <anim:transitionFilter smil:dur="1" smil:type="fade" smil:subtype="crossfade"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-spiral-in">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="1" smil:fill="hold" smil:attributeName="width" smil:values="0;width" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="1" smil:fill="hold" smil:attributeName="height" smil:values="0;height" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="1" smil:fill="hold" smil:attributeName="x" smil:values="0;1" smil:keyTimes="0;1" anim:formula="x+(cos(-2*pi*(1-$))*-x-sin(-2*pi*(1-$))*(1-y))*(1-$)"/>
+ <anim:animate smil:dur="1" smil:fill="hold" smil:attributeName="y" smil:values="0;1" smil:keyTimes="0;1" anim:formula="y+(sin(-2*pi*(1-$))*-x+cos(-2*pi*(1-$))*(1-y))*(1-$)"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:iterate pres:text-only="true" smil:begin="0" smil:fill="hold" smil:accelerate="0.5" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-falling-in" anim:iterate-type="by-letter" anim:iterate-interval="0.5s">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:set smil:begin="0" smil:dur="0.455" smil:fill="hold" smil:attributeName="rotate" smil:to="-45"/>
+ <anim:animate smil:begin="0.455" smil:dur="0.455" smil:fill="hold" smil:attributeName="rotate" smil:values="-45;45;0" smil:keyTimes="0;0.699;1"/>
+ <anim:animate smil:begin="0" smil:dur="0.455" smil:fill="hold" smil:attributeName="y" smil:values="y-1;y-(0.354*width-0.172*height)" smil:keyTimes="0;1"/>
+ <anim:animate smil:begin="0.455" smil:dur="0.156" smil:fill="hold" smil:decelerate="0.5" smil:autoReverse="true" smil:attributeName="y" smil:values="y-(0.354*width-0.172*height);y-(0.354*width-0.172*height)-height/2" smil:keyTimes="0;1"/>
+ <anim:animate smil:begin="0.864" smil:dur="0.136" smil:fill="hold" smil:attributeName="y" smil:values="y-(0.354*width-0.172*height);y" smil:keyTimes="0;1"/>
+ </anim:iterate>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-swivel" pres:preset-sub-type="vertical">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="5" smil:fill="hold" smil:attributeName="width" smil:values="0;1" smil:keyTimes="0;1" anim:formula="width*sin(2.5*pi*$)"/>
+ <anim:animate smil:dur="5" smil:fill="hold" smil:attributeName="height" smil:values="height;height" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-swivel" pres:preset-sub-type="horizontal">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="5" smil:fill="hold" smil:attributeName="width" smil:values="width;width" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="5" smil:fill="hold" smil:attributeName="height" smil:values="0;1" smil:keyTimes="0;1" anim:formula="height*sin(2.5*pi*$)"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="1" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-thread">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="height" smil:values="height/20;height/20;height" smil:keyTimes="0;0.5;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="width" smil:values="width+.3;width+.3;width" smil:keyTimes="0;0.5;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="x" smil:values="x-.3;x;x" smil:keyTimes="0;0.5;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="y" smil:values="y;y" smil:keyTimes="0;1"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:iterate pres:text-only="true" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-whip" anim:iterate-type="by-letter" anim:iterate-interval="0.05s">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="x" smil:values="x;x+.1;x" smil:keyTimes="0;0.5;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="y" smil:values="y;y" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="height" smil:values="height/10;height+.01;height" smil:keyTimes="0;0.5;1"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" smil:attributeName="width" smil:values="width/10;width+.01;width" smil:keyTimes="0;0.5;1"/>
+ <anim:transitionFilter smil:dur="0.5" smil:keySplines="0,0;0.5,1;1,1" smil:type="fade" smil:subtype="crossfade"/>
+ </anim:iterate>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="FillColor;ColorStyle;Accelerate;Decelerate;AutoReverse" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="emphasis" pres:preset-id="ooo-emphasis-fill-color" pres:preset-sub-type="2">
+ <anim:animateColor smil:dur="2" smil:fill="hold" smil:attributeName="fill-color" smil:to="#333399" anim:color-interpolation="rgb" anim:color-interpolation-direction="clockwise"/>
+ <anim:set smil:dur="2" smil:fill="hold" smil:attributeName="fill" smil:to="solid"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="FontStyle" pres:text-only="true" smil:begin="0" pres:node-type="on-click" pres:preset-class="emphasis" pres:preset-id="ooo-emphasis-font">
+ <anim:set smil:dur="indefinite" anim:sub-item="text" smil:attributeName="font-family" smil:to="Times New Roman"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="CharColor;ColorStyle;Accelerate;Decelerate;AutoReverse" pres:text-only="true" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="emphasis" pres:preset-id="ooo-emphasis-font-color" pres:preset-sub-type="2">
+ <anim:animateColor smil:dur="2" smil:fill="hold" anim:sub-item="text" smil:attributeName="color" smil:to="#333399" anim:color-interpolation="rgb" anim:color-interpolation-direction="clockwise"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="CharHeight" pres:text-only="true" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="emphasis" pres:preset-id="ooo-emphasis-font-size" pres:preset-sub-type="2">
+ <anim:animate smil:dur="2" smil:fill="hold" anim:sub-item="text" smil:attributeName="font-size" smil:to="1.5pt"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="CharDecoration" pres:text-only="true" smil:begin="0" pres:node-type="on-click" pres:preset-class="emphasis" pres:preset-id="ooo-emphasis-font-style" pres:preset-sub-type="1">
+ <anim:set smil:dur="indefinite" anim:sub-item="text" smil:attributeName="font-style" smil:to="normal"/>
+ <anim:set smil:dur="indefinite" anim:sub-item="text" smil:attributeName="font-weight" smil:to="bold"/>
+ <anim:set smil:dur="indefinite" anim:sub-item="text" smil:attributeName="text-underline" smil:to="none"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="LineColor;ColorStyle;Accelerate;Decelerate;AutoReverse" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="emphasis" pres:preset-id="ooo-emphasis-line-color" pres:preset-sub-type="2">
+ <anim:animateColor smil:dur="2" smil:fill="hold" smil:attributeName="stroke-color" smil:to="#333399" anim:color-interpolation="rgb" anim:color-interpolation-direction="clockwise"/>
+ <anim:set smil:dur="2" smil:fill="hold" smil:attributeName="stroke" smil:to="solid"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Scale;Accelerate;Decelerate;AutoReverse" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="emphasis" pres:preset-id="ooo-emphasis-grow-and-shrink">
+ <anim:animateTransform smil:dur="2" smil:fill="hold" smil:by="1.5,1.5" svg:type="scale"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Rotate;Accelerate;Decelerate;AutoReverse" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="emphasis" pres:preset-id="ooo-emphasis-spin">
+ <anim:animateTransform smil:dur="2" smil:fill="hold" smil:by="360" svg:type="rotate"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Transparency" smil:begin="0" pres:node-type="on-click" pres:preset-class="emphasis" pres:preset-id="ooo-emphasis-transparency">
+ <anim:set smil:dur="indefinite" smil:attributeName="opacity" smil:to="0.5"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:text-only="true" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="emphasis" pres:preset-id="ooo-emphasis-bold-flash">
+ <anim:animate smil:dur="2" smil:fill="hold" anim:sub-item="text" smil:attributeName="font-weight" smil:values="normal;bold;normal;normal" smil:keyTimes="0;0.5;0.6;1" smil:calcMode="discrete"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:iterate pres:preset-property="Color" pres:text-only="true" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="emphasis" pres:preset-id="ooo-emphasis-color-over-by-word" anim:iterate-type="by-letter" anim:iterate-interval="0.2s">
+ <anim:set smil:dur="0.5" smil:fill="hold" smil:attributeName="color" smil:to="#333399"/>
+ <anim:set smil:dur="0.5" smil:fill="hold" smil:attributeName="fill-color" smil:to="#333399"/>
+ <anim:set smil:dur="0.5" smil:fill="hold" smil:attributeName="fill" smil:to="solid"/>
+ </anim:iterate>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:iterate pres:text-only="true" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="emphasis" pres:preset-id="ooo-emphasis-reveal-underline" anim:iterate-type="by-letter" anim:iterate-interval="0.2s">
+ <anim:set smil:dur="0.5" smil:fill="hold" anim:sub-item="text" smil:attributeName="text-underline" smil:to="solid"/>
+ </anim:iterate>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Color" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="emphasis" pres:preset-id="ooo-emphasis-color-blend">
+ <anim:animateColor smil:dur="0.5" smil:fill="hold" smil:attributeName="color" smil:to="#333399" anim:color-interpolation="rgb" anim:color-interpolation-direction="clockwise"/>
+ <anim:animateColor smil:dur="0.5" smil:fill="hold" smil:attributeName="fill-color" smil:to="#333399" anim:color-interpolation="rgb" anim:color-interpolation-direction="clockwise"/>
+ <anim:set smil:dur="0.5" smil:fill="hold" smil:attributeName="fill" smil:to="solid"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:iterate pres:preset-property="Color" pres:text-only="true" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="emphasis" pres:preset-id="ooo-emphasis-color-over-by-letter" anim:iterate-type="by-letter" anim:iterate-interval="0.05s">
+ <anim:set smil:dur="0.5" smil:fill="hold" smil:autoReverse="true" smil:attributeName="color" smil:to="#333399"/>
+ <anim:set smil:dur="0.5" smil:fill="hold" smil:autoReverse="true" smil:attributeName="fill-color" smil:to="#333399"/>
+ <anim:set smil:dur="0.5" smil:fill="hold" smil:autoReverse="true" smil:attributeName="fill" smil:to="solid"/>
+ </anim:iterate>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="emphasis" pres:preset-id="ooo-emphasis-complementary-color">
+ <anim:animateColor smil:dur="0.5" smil:fill="hold" smil:attributeName="color" smil:by="hsl(120,0%,0%)" anim:color-interpolation="hsl" anim:color-interpolation-direction="clockwise"/>
+ <anim:animateColor smil:dur="0.5" smil:fill="hold" smil:attributeName="fill-color" smil:by="hsl(120,0%,0%)" anim:color-interpolation="hsl" anim:color-interpolation-direction="clockwise"/>
+ <anim:animateColor smil:dur="0.5" smil:fill="hold" smil:attributeName="stroke-color" smil:by="hsl(120,0%,0%)" anim:color-interpolation="hsl" anim:color-interpolation-direction="clockwise"/>
+ <anim:set smil:dur="0.5" smil:fill="hold" smil:attributeName="fill" smil:to="solid"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="emphasis" pres:preset-id="ooo-emphasis-complementary-color-2">
+ <anim:animateColor smil:dur="0.5" smil:fill="hold" smil:attributeName="color" smil:by="hsl(-120,0%,0%)" anim:color-interpolation="hsl" anim:color-interpolation-direction="clockwise"/>
+ <anim:animateColor smil:dur="0.5" smil:fill="hold" smil:attributeName="fill-color" smil:by="hsl(-120,0%,0%)" anim:color-interpolation="hsl" anim:color-interpolation-direction="clockwise"/>
+ <anim:animateColor smil:dur="0.5" smil:fill="hold" smil:attributeName="stroke-color" smil:by="hsl(-120,0%,0%)" anim:color-interpolation="hsl" anim:color-interpolation-direction="clockwise"/>
+ <anim:set smil:dur="0.5" smil:fill="hold" smil:attributeName="fill" smil:to="solid"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="emphasis" pres:preset-id="ooo-emphasis-contrasting-color">
+ <anim:animateColor smil:dur="0.5" smil:fill="hold" smil:attributeName="color" smil:by="hsl(180,0%,0%)" anim:color-interpolation="hsl" anim:color-interpolation-direction="clockwise"/>
+ <anim:animateColor smil:dur="0.5" smil:fill="hold" smil:attributeName="fill-color" smil:by="hsl(180,0%,0%)" anim:color-interpolation="hsl" anim:color-interpolation-direction="clockwise"/>
+ <anim:animateColor smil:dur="0.5" smil:fill="hold" smil:attributeName="stroke-color" smil:by="hsl(180,0%,0%)" anim:color-interpolation="hsl" anim:color-interpolation-direction="clockwise"/>
+ <anim:set smil:dur="0.5" smil:fill="hold" smil:attributeName="fill" smil:to="solid"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="emphasis" pres:preset-id="ooo-emphasis-darken">
+ <anim:animateColor smil:dur="0.5" smil:fill="hold" smil:attributeName="color" smil:by="hsl(0,-12%,-25%)" anim:color-interpolation="hsl" anim:color-interpolation-direction="clockwise"/>
+ <anim:animateColor smil:dur="0.5" smil:fill="hold" smil:attributeName="fill-color" smil:by="hsl(0,-12%,-25%)" anim:color-interpolation="hsl" anim:color-interpolation-direction="clockwise"/>
+ <anim:animateColor smil:dur="0.5" smil:fill="hold" smil:attributeName="stroke-color" smil:by="hsl(0,-12%,-25%)" anim:color-interpolation="hsl" anim:color-interpolation-direction="clockwise"/>
+ <anim:set smil:dur="0.5" smil:fill="hold" smil:attributeName="fill" smil:to="solid"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="emphasis" pres:preset-id="ooo-emphasis-desaturate">
+ <anim:animateColor smil:dur="0.5" smil:fill="hold" smil:attributeName="color" smil:by="hsl(0,-70%,0%)" anim:color-interpolation="hsl" anim:color-interpolation-direction="clockwise"/>
+ <anim:animateColor smil:dur="0.5" smil:fill="hold" smil:attributeName="fill-color" smil:by="hsl(0,-70%,0%)" anim:color-interpolation="hsl" anim:color-interpolation-direction="clockwise"/>
+ <anim:animateColor smil:dur="0.5" smil:fill="hold" smil:attributeName="stroke-color" smil:by="hsl(0,-70%,0%)" anim:color-interpolation="hsl" anim:color-interpolation-direction="clockwise"/>
+ <anim:set smil:dur="0.5" smil:fill="hold" smil:attributeName="fill" smil:to="solid"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="emphasis" pres:preset-id="ooo-emphasis-flash-bulb">
+ <anim:transitionFilter smil:dur="0.5" smil:keySplines="0,0;0.2,0.5;0.8,0.5;1,0" smil:type="fade" smil:subtype="crossfade" smil:mode="out"/>
+ <anim:animateTransform smil:dur="0.25" smil:fill="hold" smil:autoReverse="true" smil:by="1.05,1.05" svg:type="scale"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="emphasis" pres:preset-id="ooo-emphasis-lighten">
+ <anim:animateColor smil:dur="0.5" smil:fill="hold" smil:attributeName="color" smil:by="hsl(0,12%,25%)" anim:color-interpolation="hsl" anim:color-interpolation-direction="clockwise"/>
+ <anim:animateColor smil:dur="0.5" smil:fill="hold" smil:attributeName="fill-color" smil:by="hsl(0,12%,25%)" anim:color-interpolation="hsl" anim:color-interpolation-direction="clockwise"/>
+ <anim:animateColor smil:dur="0.5" smil:fill="hold" smil:attributeName="stroke-color" smil:by="hsl(0,12%,25%)" anim:color-interpolation="hsl" anim:color-interpolation-direction="clockwise"/>
+ <anim:set smil:dur="0.5" smil:fill="hold" smil:attributeName="fill" smil:to="solid"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Color" smil:begin="0" smil:fill="remove" pres:node-type="on-click" pres:preset-class="emphasis" pres:preset-id="ooo-emphasis-vertical-highlight">
+ <anim:animateColor smil:begin="0" smil:dur="1.5" smil:fill="hold" smil:accelerate="0.5" smil:autoReverse="true" smil:attributeName="color" smil:to="#333399" smil:keySplines="0,0;0.33333,1;1,1" anim:color-interpolation="rgb" anim:color-interpolation-direction="clockwise"/>
+ <anim:animateColor smil:begin="0" smil:dur="1.5" smil:fill="hold" smil:accelerate="0.5" smil:autoReverse="true" smil:attributeName="fill-color" smil:to="#333399" smil:keySplines="0,0;0.33333,1;1,1" anim:color-interpolation="rgb" anim:color-interpolation-direction="clockwise"/>
+ <anim:set smil:dur="3" smil:fill="hold" smil:attributeName="fill" smil:to="solid"/>
+ <anim:animateTransform smil:begin="0" smil:dur="1.5" smil:fill="hold" smil:accelerate="0.5" smil:autoReverse="true" smil:from="1,1" smil:to="1,1.4" smil:keySplines="0,0;0.33333,1;1,1" svg:type="scale"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Color" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="emphasis" pres:preset-id="ooo-emphasis-flicker">
+ <anim:animateColor smil:dur="0.25" smil:fill="hold" smil:autoReverse="true" smil:attributeName="color" smil:to="#ffffff" anim:color-interpolation="rgb" anim:color-interpolation-direction="clockwise"/>
+ <anim:animateColor smil:dur="0.25" smil:fill="hold" smil:autoReverse="true" smil:attributeName="fill-color" smil:to="#ffffff" anim:color-interpolation="rgb" anim:color-interpolation-direction="clockwise"/>
+ <anim:set smil:dur="0.25" smil:fill="hold" smil:autoReverse="true" smil:attributeName="fill" smil:to="solid"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:iterate pres:preset-property="Color" pres:text-only="true" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="emphasis" pres:preset-id="ooo-emphasis-grow-with-color" anim:iterate-type="by-letter" anim:iterate-interval="0.05s">
+ <anim:animateColor smil:dur="0.5" smil:fill="hold" anim:sub-item="text" smil:attributeName="color" smil:to="#333399" anim:color-interpolation="rgb" anim:color-interpolation-direction="clockwise"/>
+ <anim:animateColor smil:dur="0.5" smil:fill="hold" anim:sub-item="text" smil:attributeName="fill-color" smil:to="#333399" anim:color-interpolation="rgb" anim:color-interpolation-direction="clockwise"/>
+ <anim:set smil:dur="0.5" smil:fill="hold" anim:sub-item="text" smil:attributeName="fill" smil:to="solid"/>
+ <anim:animate smil:dur="0.5" smil:fill="hold" anim:sub-item="text" smil:attributeName="font-size" smil:to="1.5pt"/>
+ </anim:iterate>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:iterate pres:text-only="true" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="emphasis" pres:preset-id="ooo-emphasis-shimmer" anim:iterate-type="by-letter" anim:iterate-interval="0.025s">
+ <anim:animateTransform smil:begin="0" smil:dur="0.25" smil:fill="hold" smil:autoReverse="true" smil:to="0.8,1" svg:type="scale"/>
+ <anim:animate smil:begin="0" smil:dur="0.25" smil:fill="hold" smil:autoReverse="true" smil:attributeName="x" smil:by="(width*0.10)"/>
+ <anim:animate smil:begin="0" smil:dur="0.25" smil:fill="hold" smil:autoReverse="true" smil:attributeName="y" smil:by="(-width*0.10)"/>
+ <anim:animateTransform smil:begin="0" smil:dur="0.25" smil:fill="hold" smil:autoReverse="true" smil:by="-8" svg:type="rotate"/>
+ </anim:iterate>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Color" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="emphasis" pres:preset-id="ooo-emphasis-teeter">
+ <anim:animateColor smil:dur="0.1" smil:fill="hold" smil:attributeName="color" smil:to="#333399" anim:color-interpolation="rgb" anim:color-interpolation-direction="clockwise"/>
+ <anim:animateColor smil:dur="0.1" smil:fill="hold" smil:attributeName="fill-color" smil:to="#333399" anim:color-interpolation="rgb" anim:color-interpolation-direction="clockwise"/>
+ <anim:set smil:dur="0.1" smil:fill="hold" smil:attributeName="fill" smil:to="solid"/>
+ <anim:animateTransform smil:begin="0" smil:dur="0.1" smil:fill="hold" smil:by="2" svg:type="rotate"/>
+ <anim:animateTransform smil:begin="0.2" smil:dur="0.2" smil:fill="hold" smil:by="-4" svg:type="rotate"/>
+ <anim:animateTransform smil:begin="0.4" smil:dur="0.2" smil:fill="hold" smil:by="4" svg:type="rotate"/>
+ <anim:animateTransform smil:begin="0.6" smil:dur="0.2" smil:fill="hold" smil:by="-4" svg:type="rotate"/>
+ <anim:animateTransform smil:begin="0.8" smil:dur="0.2" smil:fill="hold" smil:by="2" svg:type="rotate"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Color" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="emphasis" pres:preset-id="ooo-emphasis-blast">
+ <anim:animateColor smil:begin="0.1" smil:dur="1.9" smil:fill="hold" smil:attributeName="color" smil:to="#333399" anim:color-interpolation="rgb" anim:color-interpolation-direction="clockwise"/>
+ <anim:animateColor smil:begin="0.1" smil:dur="1.9" smil:fill="hold" smil:attributeName="fill-color" smil:to="#333399" anim:color-interpolation="rgb" anim:color-interpolation-direction="clockwise"/>
+ <anim:set smil:begin="0.1" smil:dur="1.9" smil:fill="hold" smil:attributeName="fill" smil:to="solid"/>
+ <anim:animateTransform smil:begin="0" smil:dur="0.2" smil:fill="hold" smil:from="1,1" smil:to="1,0.05" svg:type="scale"/>
+ <anim:animateTransform smil:begin="0.2" smil:dur="0.2" smil:fill="hold" smil:from="1,0.05" smil:to="1.2,1.5" svg:type="scale"/>
+ <anim:animateTransform smil:begin="1.4" smil:dur="0.6" smil:fill="hold" smil:to="1.2,1.5" svg:type="scale"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="emphasis" pres:preset-id="ooo-emphasis-blink">
+ <anim:animate smil:dur="1" smil:fill="hold" smil:attributeName="visibility" smil:values="hidden;visible" smil:keyTimes="0;0.5" smil:calcMode="discrete"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:iterate pres:text-only="true" smil:begin="0" pres:node-type="on-click" pres:preset-class="emphasis" pres:preset-id="ooo-emphasis-bold-reveal" anim:iterate-type="by-letter" anim:iterate-interval="0.025s">
+ <anim:set smil:dur="indefinite" anim:sub-item="text" smil:attributeName="font-weight" smil:to="bold"/>
+ </anim:iterate>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Color" pres:text-only="true" smil:begin="0" pres:node-type="on-click" pres:preset-class="emphasis" pres:preset-id="ooo-emphasis-style-emphasis">
+ <anim:set smil:dur="0.5" smil:fill="hold" anim:sub-item="text" smil:attributeName="color" smil:to="#333399"/>
+ <anim:set smil:dur="0.5" smil:fill="hold" anim:sub-item="text" smil:attributeName="font-style" smil:to="italic"/>
+ <anim:set smil:dur="0.5" smil:fill="hold" anim:sub-item="text" smil:attributeName="font-weight" smil:to="bold"/>
+ <anim:set smil:dur="0.5" smil:fill="hold" anim:sub-item="text" smil:attributeName="text-underline" smil:to="solid"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:iterate pres:text-only="true" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="emphasis" pres:preset-id="ooo-emphasis-wave" anim:iterate-type="by-letter" anim:iterate-interval="0.05s">
+ <anim:animateMotion smil:begin="0" smil:dur="0.25" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" smil:autoReverse="true" svg:path="M 0.0 0.0 L 0.0 -0.07213"/>
+ <anim:animateTransform smil:begin="0" smil:dur="0.125" smil:fill="hold" smil:by="25" svg:type="rotate"/>
+ <anim:animateTransform smil:begin="0.125" smil:dur="0.125" smil:fill="hold" smil:by="-25" svg:type="rotate"/>
+ <anim:animateTransform smil:begin="0.25" smil:dur="0.125" smil:fill="hold" smil:by="-25" svg:type="rotate"/>
+ <anim:animateTransform smil:begin="0.375" smil:dur="0.125" smil:fill="hold" smil:by="25" svg:type="rotate"/>
+ </anim:iterate>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-venetian-blinds" pres:preset-sub-type="vertical">
+ <anim:transitionFilter smil:dur="0.5" smil:type="blindsWipe" smil:subtype="horizontal" smil:mode="out"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-venetian-blinds" pres:preset-sub-type="horizontal">
+ <anim:transitionFilter smil:dur="0.5" smil:type="blindsWipe" smil:subtype="vertical" smil:mode="out"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-box" pres:preset-sub-type="in">
+ <anim:transitionFilter smil:dur="0.5" smil:type="irisWipe" smil:subtype="rectangle" smil:mode="out" smil:direction="reverse"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-box" pres:preset-sub-type="out">
+ <anim:transitionFilter smil:dur="0.5" smil:type="irisWipe" smil:subtype="rectangle" smil:mode="out"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-checkerboard" pres:preset-sub-type="across">
+ <anim:transitionFilter smil:dur="0.5" smil:type="checkerBoardWipe" smil:subtype="across" smil:mode="out"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-checkerboard" pres:preset-sub-type="downward">
+ <anim:transitionFilter smil:dur="0.5" smil:type="checkerBoardWipe" smil:subtype="down" smil:mode="out"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-circle" pres:preset-sub-type="in">
+ <anim:transitionFilter smil:dur="2" smil:type="ellipseWipe" smil:subtype="horizontal" smil:mode="out" smil:direction="reverse"/>
+ <anim:set smil:begin="1.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-circle" pres:preset-sub-type="out">
+ <anim:transitionFilter smil:dur="2" smil:type="ellipseWipe" smil:subtype="horizontal" smil:mode="out"/>
+ <anim:set smil:begin="1.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-crawl-out" pres:preset-sub-type="from-bottom">
+ <anim:animate smil:dur="5" smil:attributeName="x" smil:values="x;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="5" smil:attributeName="y" smil:values="y;1+height/2" smil:keyTimes="0;1"/>
+ <anim:set smil:begin="4.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-crawl-out" pres:preset-sub-type="from-left">
+ <anim:animate smil:dur="5" smil:attributeName="x" smil:values="x;0-width/2" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="5" smil:attributeName="y" smil:values="y;y" smil:keyTimes="0;1"/>
+ <anim:set smil:begin="4.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-crawl-out" pres:preset-sub-type="from-right">
+ <anim:animate smil:dur="5" smil:attributeName="x" smil:values="x;1+width/2" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="5" smil:attributeName="y" smil:values="y;y" smil:keyTimes="0;1"/>
+ <anim:set smil:begin="4.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-crawl-out" pres:preset-sub-type="from-top">
+ <anim:animate smil:dur="5" smil:attributeName="x" smil:values="x;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="5" smil:attributeName="y" smil:values="y;0-height/2" smil:keyTimes="0;1"/>
+ <anim:set smil:begin="4.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-diamond" pres:preset-sub-type="in">
+ <anim:transitionFilter smil:dur="2" smil:type="irisWipe" smil:subtype="diamond" smil:mode="out" smil:direction="reverse"/>
+ <anim:set smil:begin="1.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-diamond" pres:preset-sub-type="out">
+ <anim:transitionFilter smil:dur="2" smil:type="irisWipe" smil:subtype="diamond" smil:mode="out"/>
+ <anim:set smil:begin="1.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-disappear">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-dissolve">
+ <anim:transitionFilter smil:dur="0.5" smil:type="dissolve" smil:mode="out"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-flash-once">
+ <anim:animate smil:dur="1" smil:attributeName="visibility" smil:values="hidden;visible" smil:keyTimes="0;0.5" smil:calcMode="discrete"/>
+ <anim:set smil:begin="0.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction;Accelerate;Decelerate" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-fly-out" pres:preset-sub-type="from-bottom">
+ <anim:animate smil:dur="0.5" smil:attributeName="x" smil:values="x;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:attributeName="y" smil:values="y;1+height/2" smil:keyTimes="0;1"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction;Accelerate;Decelerate" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-fly-out" pres:preset-sub-type="from-left">
+ <anim:animate smil:dur="0.5" smil:attributeName="x" smil:values="x;0-width/2" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:attributeName="y" smil:values="y;y" smil:keyTimes="0;1"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction;Accelerate;Decelerate" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-fly-out" pres:preset-sub-type="from-right">
+ <anim:animate smil:dur="0.5" smil:attributeName="x" smil:values="x;1+width/2" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:attributeName="y" smil:values="y;y" smil:keyTimes="0;1"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction;Accelerate;Decelerate" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-fly-out" pres:preset-sub-type="from-top">
+ <anim:animate smil:dur="0.5" smil:attributeName="x" smil:values="x;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:attributeName="y" smil:values="y;0-height/2" smil:keyTimes="0;1"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction;Accelerate;Decelerate" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-fly-out" pres:preset-sub-type="from-bottom-left">
+ <anim:animate smil:dur="0.5" smil:attributeName="x" smil:values="x;0-width/2" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:attributeName="y" smil:values="y;1+height/2" smil:keyTimes="0;1"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction;Accelerate;Decelerate" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-fly-out" pres:preset-sub-type="from-bottom-right">
+ <anim:animate smil:dur="0.5" smil:attributeName="x" smil:values="x;1+width/2" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:attributeName="y" smil:values="y;1+height/2" smil:keyTimes="0;1"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction;Accelerate;Decelerate" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-fly-out" pres:preset-sub-type="from-top-left">
+ <anim:animate smil:dur="0.5" smil:attributeName="x" smil:values="x;0-width/2" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:attributeName="y" smil:values="y;0-height/2" smil:keyTimes="0;1"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction;Accelerate;Decelerate" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-fly-out" pres:preset-sub-type="from-top-right">
+ <anim:animate smil:dur="0.5" smil:attributeName="x" smil:values="x;1+width/2" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:attributeName="y" smil:values="y;0-height/2" smil:keyTimes="0;1"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-peek-out" pres:preset-sub-type="from-bottom">
+ <anim:transitionFilter smil:dur="0.5" smil:type="slideWipe" smil:subtype="fromBottom" smil:mode="out"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-peek-out" pres:preset-sub-type="from-left">
+ <anim:transitionFilter smil:dur="0.5" smil:type="slideWipe" smil:subtype="fromLeft" smil:mode="out"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-peek-out" pres:preset-sub-type="from-right">
+ <anim:transitionFilter smil:dur="0.5" smil:type="slideWipe" smil:subtype="fromRight" smil:mode="out"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-peek-out" pres:preset-sub-type="from-top">
+ <anim:transitionFilter smil:dur="0.5" smil:type="slideWipe" smil:subtype="fromTop" smil:mode="out"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-plus" pres:preset-sub-type="in">
+ <anim:transitionFilter smil:dur="2" smil:type="fourBoxWipe" smil:subtype="cornersIn" smil:mode="out"/>
+ <anim:set smil:begin="1.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-plus" pres:preset-sub-type="out">
+ <anim:transitionFilter smil:dur="2" smil:type="fourBoxWipe" smil:subtype="cornersIn" smil:mode="out" smil:direction="reverse"/>
+ <anim:set smil:begin="1.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-random-bars" pres:preset-sub-type="vertical">
+ <anim:transitionFilter smil:dur="0.5" smil:type="randomBarWipe" smil:subtype="horizontal" smil:mode="out"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-random-bars" pres:preset-sub-type="horizontal">
+ <anim:transitionFilter smil:dur="0.5" smil:type="randomBarWipe" smil:subtype="vertical" smil:mode="out"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-random"/>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-split" pres:preset-sub-type="horizontal-in">
+ <anim:transitionFilter smil:dur="0.5" smil:type="barnDoorWipe" smil:subtype="horizontal" smil:mode="out" smil:direction="reverse"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-split" pres:preset-sub-type="horizontal-out">
+ <anim:transitionFilter smil:dur="0.5" smil:type="barnDoorWipe" smil:subtype="horizontal" smil:mode="out"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-split" pres:preset-sub-type="vertical-in">
+ <anim:transitionFilter smil:dur="0.5" smil:type="barnDoorWipe" smil:subtype="vertical" smil:mode="out" smil:direction="reverse"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-split" pres:preset-sub-type="vertical-out">
+ <anim:transitionFilter smil:dur="0.5" smil:type="barnDoorWipe" smil:subtype="vertical" smil:mode="out"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-diagonal-squares" pres:preset-sub-type="left-to-bottom">
+ <anim:transitionFilter smil:dur="0.5" smil:type="waterfallWipe" smil:subtype="horizontalRight" smil:mode="out"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-diagonal-squares" pres:preset-sub-type="left-to-top">
+ <anim:transitionFilter smil:dur="0.5" smil:type="waterfallWipe" smil:subtype="horizontalRight" smil:mode="out" smil:direction="reverse"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-diagonal-squares" pres:preset-sub-type="right-to-bottom">
+ <anim:transitionFilter smil:dur="0.5" smil:type="waterfallWipe" smil:subtype="horizontalLeft" smil:mode="out"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-diagonal-squares" pres:preset-sub-type="right-to-top">
+ <anim:transitionFilter smil:dur="0.5" smil:type="waterfallWipe" smil:subtype="horizontalLeft" smil:mode="out" smil:direction="reverse"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-wedge">
+ <anim:transitionFilter smil:dur="2" smil:type="fanWipe" smil:subtype="centerTop" smil:mode="out"/>
+ <anim:set smil:begin="1.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Spokes" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-wheel" pres:preset-sub-type="1">
+ <anim:transitionFilter smil:dur="2" smil:type="pinWheelWipe" smil:subtype="oneBlade" smil:mode="out"/>
+ <anim:set smil:begin="1.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Spokes" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-wheel" pres:preset-sub-type="2">
+ <anim:transitionFilter smil:dur="2" smil:type="pinWheelWipe" smil:subtype="twoBladeVertical" smil:mode="out"/>
+ <anim:set smil:begin="1.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Spokes" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-wheel" pres:preset-sub-type="3">
+ <anim:transitionFilter smil:dur="2" smil:type="pinWheelWipe" smil:subtype="threeBlade" smil:mode="out"/>
+ <anim:set smil:begin="1.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Spokes" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-wheel" pres:preset-sub-type="4">
+ <anim:transitionFilter smil:dur="2" smil:type="pinWheelWipe" smil:subtype="fourBlade" smil:mode="out"/>
+ <anim:set smil:begin="1.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Spokes" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-wheel" pres:preset-sub-type="8">
+ <anim:transitionFilter smil:dur="2" smil:type="pinWheelWipe" smil:subtype="eightBlade" smil:mode="out"/>
+ <anim:set smil:begin="1.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-wipe" pres:preset-sub-type="from-bottom">
+ <anim:transitionFilter smil:dur="0.5" smil:type="barWipe" smil:subtype="topToBottom" smil:mode="out" smil:direction="reverse"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-wipe" pres:preset-sub-type="from-left">
+ <anim:transitionFilter smil:dur="0.5" smil:type="barWipe" smil:subtype="leftToRight" smil:mode="out"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-wipe" pres:preset-sub-type="from-right">
+ <anim:transitionFilter smil:dur="0.5" smil:type="barWipe" smil:subtype="leftToRight" smil:mode="out" smil:direction="reverse"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-wipe" pres:preset-sub-type="from-top">
+ <anim:transitionFilter smil:dur="0.5" smil:type="barWipe" smil:subtype="topToBottom" smil:mode="out"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-contract">
+ <anim:animate smil:dur="1" smil:attributeName="width" smil:values="width;width*0.70" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="1" smil:attributeName="height" smil:values="height;height" smil:keyTimes="0;1"/>
+ <anim:transitionFilter smil:dur="1" smil:type="fade" smil:subtype="crossfade" smil:mode="out"/>
+ <anim:set smil:begin="0.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-fade-out">
+ <anim:transitionFilter smil:dur="2" smil:type="fade" smil:subtype="crossfade" smil:mode="out"/>
+ <anim:set smil:begin="1.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:iterate pres:text-only="true" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-fade-out-and-swivel" anim:iterate-type="by-letter" anim:iterate-interval="0.2s">
+ <anim:transitionFilter smil:dur="2" smil:type="fade" smil:subtype="crossfade" smil:mode="out"/>
+ <anim:animate smil:dur="2" smil:attributeName="width" smil:values="width;0.92*width;0.71*width;0.38*width;0;-0.38*width;-0.71*width;-0.92*width;-width;-0.92*width;-0.71*width;-0.38*width;0;0.38*width;0.71*width;0.92*width;width;0.92*width;0.71*width;0.38*width;0" smil:keyTimes="0;0.05;0.1;0.15;0.2;0.25;0.3;0.35;0.4;0.45;0.5;0.55;0.6;0.65;0.7;0.75;0.8;0.85;0.9;0.95;1"/>
+ <anim:animate smil:dur="2" smil:attributeName="height" smil:values="height;height" smil:keyTimes="0;1"/>
+ <anim:set smil:begin="1.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:iterate>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-fade-out-and-zoom">
+ <anim:animate smil:dur="0.5" smil:attributeName="width" smil:values="width;0" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:attributeName="height" smil:values="height;0" smil:keyTimes="0;1"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="fade" smil:subtype="crossfade" smil:mode="out"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-ascend">
+ <anim:transitionFilter smil:dur="1" smil:type="fade" smil:subtype="crossfade" smil:mode="out"/>
+ <anim:animate smil:dur="1" smil:attributeName="x" smil:values="x;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="1" smil:attributeName="y" smil:values="y;y-.1" smil:keyTimes="0;1"/>
+ <anim:set smil:begin="0.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-center-revolve">
+ <anim:animate smil:begin="0" smil:dur="0.6" smil:decelerate="0.5" smil:attributeName="x" smil:values="x;x+0.0242;x+0.0479;x+0.0704;x+0.0911;x+0.1096;x+0.1254;x+0.1381;x+0.1474;x+0.1531;x+0.155;x+0.1531;x+0.1474;x+0.1381;x+0.1254;x+0.1096;x+0.0911;x+0.0704;x+0.0479;x+0.0242;x" smil:keyTimes="0;0.05;0.1;0.15;0.2;0.25;0.3;0.35;0.4;0.45;0.5;0.55;0.6;0.65;0.7;0.75;0.8;0.85;0.9;0.95;1"/>
+ <anim:animate smil:begin="0.6" smil:dur="0.4" smil:attributeName="x" smil:values="x;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:begin="0" smil:dur="0.6" smil:decelerate="0.5" smil:attributeName="y" smil:values="y;y+0.0019;y+0.0076;y+0.0169;y+0.0296;y+0.0454;y+0.0639;y+0.0846;y+0.1071;y+0.1307;y+0.155;y+0.1792;y+0.2029;y+0.2253;y+0.2461;y+0.2646;y+0.2804;y+0.2931;y+0.3024;y+0.308;y+0.31" smil:keyTimes="0;0.05;0.1;0.15;0.2;0.25;0.3;0.35;0.4;0.45;0.5;0.55;0.6;0.65;0.7;0.75;0.8;0.85;0.9;0.95;1"/>
+ <anim:animate smil:begin="0.6" smil:dur="0.4" smil:attributeName="y" smil:values="y;y" smil:keyTimes="0;1"/>
+ <anim:transitionFilter smil:begin="0.9" smil:dur="0.1" smil:type="fade" smil:subtype="crossfade" smil:mode="out"/>
+ <anim:set smil:begin="0.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-collapse" pres:preset-sub-type="across">
+ <anim:animate smil:dur="0.5" smil:attributeName="width" smil:values="width;0" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:attributeName="height" smil:values="height;height" smil:keyTimes="0;1"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:iterate pres:preset-property="Color1;Color2" pres:text-only="true" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-colored-lettering" anim:iterate-type="by-letter" anim:iterate-interval="0.04s">
+ <anim:animate smil:dur="0.08" smil:attributeName="color" smil:values="#009999;#333399" smil:keyTimes="0;0.5" smil:calcMode="discrete"/>
+ <anim:animate smil:dur="0.08" smil:attributeName="fill-color" smil:values="#009999;#333399" smil:keyTimes="0;0.5" smil:calcMode="discrete"/>
+ <anim:set smil:dur="0.08" smil:attributeName="fill" smil:to="solid"/>
+ <anim:set smil:begin="0.079" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:iterate>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-descend">
+ <anim:transitionFilter smil:dur="1" smil:type="fade" smil:subtype="crossfade" smil:mode="out"/>
+ <anim:animate smil:dur="1" smil:attributeName="x" smil:values="x;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="1" smil:attributeName="y" smil:values="y;y+.1" smil:keyTimes="0;1"/>
+ <anim:set smil:begin="0.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-ease-out">
+ <anim:animate smil:dur="1" smil:attributeName="x" smil:values="x;x-.2" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="1" smil:attributeName="y" smil:values="y;y" smil:keyTimes="0;1"/>
+ <anim:transitionFilter smil:dur="1" smil:type="fade" smil:subtype="crossfade" smil:mode="out"/>
+ <anim:set smil:begin="0.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:iterate pres:text-only="true" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-turn-and-grow" anim:iterate-type="by-letter" anim:iterate-interval="0.05s">
+ <anim:animate smil:dur="1" smil:attributeName="width" smil:values="width;0" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="1" smil:attributeName="height" smil:values="height;0" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="1" smil:attributeName="rotate" smil:values="0;90" smil:keyTimes="0;1"/>
+ <anim:transitionFilter smil:dur="1" smil:type="fade" smil:subtype="crossfade" smil:mode="out"/>
+ <anim:set smil:begin="0.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:iterate>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-sink-down">
+ <anim:transitionFilter smil:dur="1" smil:type="fade" smil:subtype="crossfade" smil:mode="out"/>
+ <anim:animate smil:dur="1" smil:attributeName="x" smil:values="x;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.1" smil:decelerate="1" smil:attributeName="y" smil:values="y;y-.03" smil:keyTimes="0;1"/>
+ <anim:animate smil:begin="0.1" smil:dur="0.9" smil:accelerate="1" smil:attributeName="y" smil:values="y;y+1" smil:keyTimes="0;1"/>
+ <anim:set smil:begin="0.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="1" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-spin-out">
+ <anim:animate smil:dur="0.5" smil:attributeName="width" smil:values="width;0" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:attributeName="height" smil:values="height;0" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:attributeName="rotate" smil:values="0;360" smil:keyTimes="0;1"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="fade" smil:subtype="crossfade" smil:mode="out"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="1" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-stretchy">
+ <anim:animate smil:dur="1" smil:attributeName="width" smil:values="width;width+.3" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="1" smil:attributeName="height" smil:values="height;height" smil:keyTimes="0;1"/>
+ <anim:transitionFilter smil:dur="1" smil:type="fade" smil:subtype="crossfade" smil:mode="out"/>
+ <anim:set smil:begin="0.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:iterate pres:text-only="true" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-unfold" anim:iterate-type="by-letter" anim:iterate-interval="0.1s">
+ <anim:transitionFilter smil:dur="1" smil:type="fade" smil:subtype="crossfade" smil:mode="out"/>
+ <anim:animate smil:dur="1" smil:attributeName="x" smil:values="x;x-.1" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="1" smil:attributeName="y" smil:values="y;y" smil:keyTimes="0;1"/>
+ <anim:set smil:begin="0.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:iterate>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Zoom" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-zoom" pres:preset-sub-type="out">
+ <anim:animate smil:dur="0.5" smil:attributeName="width" smil:values="width;0" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:attributeName="height" smil:values="height;0" smil:keyTimes="0;1"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Zoom" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-zoom" pres:preset-sub-type="544">
+ <anim:animate smil:dur="0.5" smil:attributeName="width" smil:values="width;0" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:attributeName="height" smil:values="height;0" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:attributeName="x" smil:values="x;0.5" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:attributeName="y" smil:values="y;0.5" smil:keyTimes="0;1"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Zoom" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-zoom" pres:preset-sub-type="out-slightly">
+ <anim:animate smil:dur="0.5" smil:attributeName="width" smil:values="width;2/3*width" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:attributeName="height" smil:values="height;2/3*height" smil:keyTimes="0;1"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Zoom" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-zoom" pres:preset-sub-type="in">
+ <anim:animate smil:dur="0.5" smil:attributeName="width" smil:values="width;4*width" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:attributeName="height" smil:values="height;4*height" smil:keyTimes="0;1"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Zoom" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-zoom" pres:preset-sub-type="20">
+ <anim:animate smil:dur="0.5" smil:attributeName="width" smil:values="width;(6*min(max(width*height,.3),1)-7.4)/-.7*width" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:attributeName="height" smil:values="height;(6*min(max(width*height,.3),1)-7.4)/-.7*height" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:attributeName="y" smil:values="y;1+(6*min(max(width*height,.3),1)-7.4)/-.7*height/2" smil:keyTimes="0;1"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Zoom" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-zoom" pres:preset-sub-type="in-slightly">
+ <anim:animate smil:dur="0.5" smil:attributeName="width" smil:values="width;4/3*width" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:attributeName="height" smil:values="height;4/3*height" smil:keyTimes="0;1"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-boomerang">
+ <anim:transitionFilter smil:begin="0" smil:dur="1" smil:accelerate="0.5" smil:type="fade" smil:subtype="crossfade" smil:mode="out"/>
+ <anim:animate smil:begin="0" smil:dur="0.5" smil:accelerate="0.5" smil:attributeName="y" smil:values="y;y+.1" smil:keyTimes="0;1"/>
+ <anim:animate smil:begin="0.5" smil:dur="0.5" smil:decelerate="0.5" smil:attributeName="y" smil:values="y;y-.1" smil:keyTimes="0;1"/>
+ <anim:animate smil:begin="0.5" smil:dur="0.5" smil:accelerate="0.5" smil:attributeName="x" smil:values="x;x+.4" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="1" smil:attributeName="height" smil:values="height;height" smil:keyTimes="0;1"/>
+ <anim:animate smil:begin="0" smil:dur="0.5" smil:accelerate="0.5" smil:attributeName="width" smil:values="width;width*.05" smil:keyTimes="0;1"/>
+ <anim:animate smil:begin="0.5" smil:dur="0.5" smil:decelerate="0.5" smil:attributeName="width" smil:values="width;width/.05" smil:keyTimes="0;1"/>
+ <anim:animate smil:begin="0.5" smil:dur="0.5" smil:accelerate="0.5" smil:attributeName="rotate" smil:values="0;-90" smil:keyTimes="0;1"/>
+ <anim:set smil:begin="0.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-boomerang">
+ <anim:transitionFilter smil:begin="0" smil:dur="1" smil:accelerate="0.5" smil:type="fade" smil:subtype="crossfade" smil:mode="out"/>
+ <anim:animate smil:begin="0" smil:dur="0.5" smil:accelerate="0.5" smil:attributeName="y" smil:values="y;y+.1" smil:keyTimes="0;1"/>
+ <anim:animate smil:begin="0.5" smil:dur="0.5" smil:decelerate="0.5" smil:attributeName="y" smil:values="y;y-.1" smil:keyTimes="0;1"/>
+ <anim:animate smil:begin="0.5" smil:dur="0.5" smil:accelerate="0.5" smil:attributeName="x" smil:values="x;x+.4" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="1" smil:attributeName="height" smil:values="height;height" smil:keyTimes="0;1"/>
+ <anim:animate smil:begin="0" smil:dur="0.5" smil:accelerate="0.5" smil:attributeName="width" smil:values="width;width*.05" smil:keyTimes="0;1"/>
+ <anim:animate smil:begin="0.5" smil:dur="0.5" smil:decelerate="0.5" smil:attributeName="width" smil:values="width;width/.05" smil:keyTimes="0;1"/>
+ <anim:animate smil:begin="0.5" smil:dur="0.5" smil:accelerate="0.5" smil:attributeName="rotate" smil:values="0;-90" smil:keyTimes="0;1"/>
+ <anim:set smil:begin="0.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-bounce">
+ <anim:transitionFilter smil:begin="1.82" smil:dur="0.18" smil:accelerate="0.5" smil:type="barWipe" smil:subtype="topToBottom" smil:mode="out"/>
+ <anim:animate smil:begin="0" smil:dur="1.822" smil:attributeName="x" smil:values="x;x+0.25" smil:keyTimes="0;1" smil:keySplines="0,0;0.14,0.31;0.43,0.73;0.71,0.91;1,1"/>
+ <anim:animate smil:begin="1.822" smil:dur="0.178" smil:attributeName="x" smil:values="x;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:begin="0" smil:dur="0.664" smil:attributeName="y" smil:values="y;y+0.026;y+0.052;y+0.078;y+0.103;y+0.151;y+0.196;y+0.236;y+0.270;y+0.297;y+0.317;y+0.329;y+0.333" smil:keyTimes="0;0.05;0.1;0.15;0.2;0.3;0.4;0.5;0.6;0.7;0.8;0.9;1" smil:keySplines="0,0;0.25,0.07;0.5,0.2;0.75,0.467;1,1"/>
+ <anim:animate smil:begin="0.664" smil:dur="0.664" smil:attributeName="y" smil:values="y;y-0.034;y-0.065;y-0.090;y-0.106;y-0.111;y-0.106;y-0.090;y-0.065;y-0.034;y" smil:keyTimes="0;0.1;0.2;0.3;0.4;0.5;0.6;0.7;0.8;0.9;1" smil:keySplines="0,0;0.125,0.2665;0.25,0.4;0.375,0.465;0.5,0.5;0.625,0.535;0.75,0.6;0.875,0.7335;1,1"/>
+ <anim:animate smil:begin="1.324" smil:dur="0.332" smil:attributeName="y" smil:values="y;y-0.011;y-0.022;y-0.030;y-0.035;y-0.037;y-0.035;y-0.030;y-0.022;y-0.011;y" smil:keyTimes="0;0.1;0.2;0.3;0.4;0.5;0.6;0.7;0.8;0.9;1" smil:keySplines="0,0;0.125,0.2665;0.25,0.4;0.375,0.465;0.5,0.5;0.625,0.535;0.75,0.6;0.875,0.7335;1,1"/>
+ <anim:animate smil:begin="1.656" smil:dur="0.164" smil:attributeName="y" smil:values="y;y-0.004;y-0.007;y-0.010;y-0.012;y-0.0123;y-0.012;y-0.010;y-0.007;y-0.004;y" smil:keyTimes="0;0.1;0.2;0.3;0.4;0.5;0.6;0.7;0.8;0.9;1" smil:keySplines="0,0;0.125,0.2665;0.25,0.4;0.375,0.465;0.5,0.5;0.625,0.535;0.75,0.6;0.875,0.7335;1,1"/>
+ <anim:animate smil:begin="1.82" smil:dur="0.18" smil:accelerate="0.5" smil:attributeName="y" smil:values="y;y+height" smil:keyTimes="0;1"/>
+ <anim:animateTransform smil:begin="0.62" smil:dur="0.026" smil:to="1,0.6" svg:type="scale"/>
+ <anim:animateTransform smil:begin="0.646" smil:dur="0.166" smil:decelerate="0.5" smil:to="1,1" svg:type="scale"/>
+ <anim:animateTransform smil:begin="1.312" smil:dur="0.026" smil:to="1,0.8" svg:type="scale"/>
+ <anim:animateTransform smil:begin="1.338" smil:dur="0.166" smil:decelerate="0.5" smil:to="1,1" svg:type="scale"/>
+ <anim:animateTransform smil:begin="1.642" smil:dur="0.026" smil:to="1,0.9" svg:type="scale"/>
+ <anim:animateTransform smil:begin="1.668" smil:dur="0.166" smil:decelerate="0.5" smil:to="1,1" svg:type="scale"/>
+ <anim:animateTransform smil:begin="1.808" smil:dur="0.026" smil:to="1,0.95" svg:type="scale"/>
+ <anim:animateTransform smil:begin="1.834" smil:dur="0.166" smil:decelerate="0.5" smil:to="1,1" svg:type="scale"/>
+ <anim:set smil:begin="1.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-movie-credits">
+ <anim:animate smil:dur="15" smil:attributeName="x" smil:values="x;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="15" smil:attributeName="y" smil:values="y-1;y+1" smil:keyTimes="0;1"/>
+ <anim:set smil:begin="14.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-curve-down">
+ <anim:animateTransform smil:begin="0" smil:dur="1" smil:accelerate="0.5" smil:from="1,1" smil:to="2.5,2.5" svg:type="scale"/>
+ <anim:animateMotion smil:begin="0" smil:dur="1" smil:accelerate="0.5" svg:path="M 0.0000 0.0000 C 0.03802 0.0 0.1441 0.02341 0.1826 0.0915 C 0.22118 0.15964 0.24705 0.31256 0.2318 0.4083 C 0.21649 0.50394 0.20747 0.57948 0.0908 0.6661 C -0.02552 0.75279 -0.37517 0.88508 -0.4674 0.9289"/>
+ <anim:transitionFilter smil:dur="1" smil:type="fade" smil:subtype="crossfade" smil:mode="out"/>
+ <anim:set smil:begin="0.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:iterate pres:text-only="true" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-flip" anim:iterate-type="by-letter" anim:iterate-interval="0.1s">
+ <anim:animate smil:begin="0" smil:dur="0.5" smil:autoReverse="true" smil:attributeName="width" smil:from="(width)" smil:to="(-width*2)"/>
+ <anim:animate smil:begin="0" smil:dur="0.5" smil:decelerate="0.5" smil:autoReverse="true" smil:attributeName="x" smil:by="(width*0.50)"/>
+ <anim:animate smil:begin="0" smil:dur="1" smil:attributeName="y" smil:from="(y)" smil:to="(1+height/2)"/>
+ <anim:animateTransform smil:begin="0" smil:dur="1" smil:by="360" svg:type="rotate"/>
+ <anim:set smil:begin="0.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:iterate>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-float">
+ <anim:transitionFilter smil:begin="0.2" smil:dur="0.8" smil:accelerate="1" smil:type="fade" smil:subtype="crossfade" smil:mode="out"/>
+ <anim:animate smil:begin="0.2" smil:dur="0.8" smil:accelerate="1" smil:attributeName="rotate" smil:values="0;-90" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.2" smil:decelerate="1" smil:attributeName="x" smil:values="x;x-0.05" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.2" smil:decelerate="1" smil:attributeName="y" smil:values="y;y+0.1" smil:keyTimes="0;1"/>
+ <anim:animate smil:begin="0.2" smil:dur="0.8" smil:accelerate="1" smil:attributeName="x" smil:values="x;x+0.4+0.05" smil:keyTimes="0;1"/>
+ <anim:animate smil:begin="0.2" smil:dur="0.8" smil:accelerate="1" smil:attributeName="y" smil:values="y;y-0.4-0.1" smil:keyTimes="0;1"/>
+ <anim:set smil:begin="0.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:text-only="true" smil:begin="0" smil:fill="hold" smil:decelerate="1" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-fold">
+ <anim:animate smil:dur="0.5" smil:attributeName="width" smil:values="width;width*2.5" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:attributeName="height" smil:values="height;height*0.01" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:attributeName="x" smil:values="x;x" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:attributeName="y" smil:values="y;height+1" smil:keyTimes="0;1"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="fade" smil:subtype="crossfade" smil:mode="out"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:decelerate="1" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-glide">
+ <anim:animate smil:dur="0.5" smil:attributeName="width" smil:values="width;width*0.05" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:attributeName="height" smil:values="height;height" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:attributeName="x" smil:values="x;x-.2" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:attributeName="y" smil:values="y;y" smil:keyTimes="0;1"/>
+ <anim:transitionFilter smil:dur="0.5" smil:type="fade" smil:subtype="crossfade" smil:mode="out"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-breaks">
+ <anim:animate smil:begin="0" smil:dur="1" smil:attributeName="x" smil:from="(x)" smil:to="(x+1)"/>
+ <anim:animate smil:begin="0" smil:dur="0.2" smil:accelerate="0.5" smil:attributeName="skewX" smil:from="0" smil:to="-1"/>
+ <anim:set smil:begin="0.2" smil:dur="0.8" smil:attributeName="skewX" smil:to="-1"/>
+ <anim:set smil:begin="0.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-magnify">
+ <anim:transitionFilter smil:begin="1.23" smil:dur="0.77" smil:accelerate="1" smil:type="fade" smil:subtype="crossfade" smil:mode="out"/>
+ <anim:animateTransform smil:begin="1.23" smil:dur="0.77" smil:accelerate="1" smil:from="2,4.5" smil:to="0.1,0.1" svg:type="scale"/>
+ <anim:animateTransform smil:dur="1.23" smil:decelerate="1" smil:from="1,1" smil:to="2,4.5" svg:type="scale"/>
+ <anim:animate smil:dur="1.23" smil:decelerate="1" smil:attributeName="x" smil:from="(x)" smil:to="(0.5)"/>
+ <anim:animate smil:begin="1.23" smil:dur="0.77" smil:attributeName="x" smil:from="(0.5)" smil:to="(0.5)"/>
+ <anim:animate smil:dur="1.23" smil:decelerate="1" smil:attributeName="y" smil:from="(y)" smil:to="(y+0.4)"/>
+ <anim:animate smil:begin="1.23" smil:dur="0.77" smil:attributeName="y" smil:from="(y)" smil:to="(y)"/>
+ <anim:set smil:begin="1.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-pinwheel">
+ <anim:transitionFilter smil:dur="2" smil:type="fade" smil:subtype="crossfade" smil:mode="out"/>
+ <anim:animate smil:dur="2" smil:attributeName="rotate" smil:values="0;720" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="2" smil:attributeName="height" smil:values="height;0" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="2" smil:attributeName="width" smil:values="width;0" smil:keyTimes="0;1"/>
+ <anim:set smil:begin="1.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-sling">
+ <anim:animate smil:dur="1" smil:attributeName="rotate" smil:values="0;90;90;90" smil:keyTimes="0;0.2;0.2;1"/>
+ <anim:animate smil:dur="1" smil:attributeName="x" smil:values="x;0.949999988079071;-1" smil:keyTimes="0;0.5;1"/>
+ <anim:animate smil:dur="1" smil:attributeName="y" smil:values="y;y" smil:keyTimes="0;1"/>
+ <anim:transitionFilter smil:dur="1" smil:type="fade" smil:subtype="crossfade" smil:mode="out"/>
+ <anim:set smil:begin="0.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-spiral-out">
+ <anim:animate smil:dur="1" smil:attributeName="width" smil:values="width;0" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="1" smil:attributeName="height" smil:values="height;0" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="1" smil:attributeName="x" smil:values="x;x+-0.0500*(x*0.9511+(1-y)*0.3090);x+-0.1000*(x*0.8090+(1-y)*0.5878);x+-0.1500*(x*0.5878+(1-y)*0.8090);x+-0.2000*(x*0.3090+(1-y)*0.9511);x+-0.2500*(x*-0.0000+(1-y)*1.0000);x+-0.3000*(x*-0.3090+(1-y)*0.9511);x+-0.3500*(x*-0.5878+(1-y)*0.8090);x+-0.4000*(x*-0.8090+(1-y)*0.5878);x+-0.4500*(x*-0.9511+(1-y)*0.3090);x+-0.5000*(x*-1.0000+(1-y)*-0.0000);x+-0.5500*(x*-0.9511+(1-y)*-0.3090);x+-0.6000*(x*-0.8090+(1-y)*-0.5878);x+-0.6500*(x*-0.5878+(1-y)*-0.8090);x+-0.7000*(x*-0.3090+(1-y)*-0.9511);x+-0.7500*(x*0.0000+(1-y)*-1.0000);x+-0.8000*(x*0.3090+(1-y)*-0.9511);x+-0.8500*(x*0.5878+(1-y)*-0.8090);x+-0.9000*(x*0.8090+(1-y)*-0.5878);x+-0.9500*(x*0.9511+(1-y)*-0.3090);x+-1.0000*(x*1.0000+(1-y)*0.0000)" smil:keyTimes="0;0.05;0.1;0.15;0.2;0.25;0.3;0.35;0.4;0.45;0.5;0.55;0.6;0.65;0.7;0.75;0.8;0.85;0.9;0.95;1"/>
+ <anim:animate smil:dur="1" smil:attributeName="y" smil:values="y;y+-0.0500*(x*0.3090-(1-y)*0.9511);y+-0.1000*(x*0.5878-(1-y)*0.8090);y+-0.1500*(x*0.8090-(1-y)*0.5878);y+-0.2000*(x*0.9511-(1-y)*0.3090);y+-0.2500*(x*1.0000-(1-y)*-0.0000);y+-0.3000*(x*0.9511-(1-y)*-0.3090);y+-0.3500*(x*0.8090-(1-y)*-0.5878);y+-0.4000*(x*0.5878-(1-y)*-0.8090);y+-0.4500*(x*0.3090-(1-y)*-0.9511);y+-0.5000*(x*-0.0000-(1-y)*-1.0000);y+-0.5500*(x*-0.3090-(1-y)*-0.9511);y+-0.6000*(x*-0.5878-(1-y)*-0.8090);y+-0.6500*(x*-0.8090-(1-y)*-0.5878);y+-0.7000*(x*-0.9511-(1-y)*-0.3090);y+-0.7500*(x*-1.0000-(1-y)*0.0000);y+-0.8000*(x*-0.9511-(1-y)*0.3090);y+-0.8500*(x*-0.8090-(1-y)*0.5878);y+-0.9000*(x*-0.5878-(1-y)*0.8090);y+-0.9500*(x*-0.3090-(1-y)*0.9511);y+-1.0000*(x*0.0000-(1-y)*1.0000)" smil:keyTimes="0;0.05;0.1;0.15;0.2;0.25;0.3;0.35;0.4;0.45;0.5;0.55;0.6;0.65;0.7;0.75;0.8;0.85;0.9;0.95;1"/>
+ <anim:set smil:begin="0.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:iterate pres:text-only="true" smil:begin="0" smil:fill="hold" smil:accelerate="0.5" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-swish" anim:iterate-type="by-letter" anim:iterate-interval="0.5s">
+ <anim:animate smil:begin="0" smil:dur="1" smil:attributeName="rotate" smil:values="0;45" smil:keyTimes="0;1"/>
+ <anim:animate smil:begin="0" smil:dur="1" smil:attributeName="y" smil:values="y;y+1" smil:keyTimes="0;1"/>
+ <anim:set smil:begin="0.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:iterate>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-swivel" pres:preset-sub-type="vertical">
+ <anim:animate smil:dur="5" smil:attributeName="height" smil:values="height;height" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="5" smil:attributeName="width" smil:values="width;0.92*width;0.71*width;0.38*width;0;-0.38*width;-0.71*width;-0.92*width;-width;-0.92*width;-0.71*width;-0.38*width;0;0.38*width;0.71*width;0.92*width;width;0.92*width;0.71*width;0.38*width;0" smil:keyTimes="0;0.05;0.1;0.15;0.2;0.25;0.3;0.35;0.4;0.45;0.5;0.55;0.6;0.65;0.7;0.75;0.8;0.85;0.9;0.95;1"/>
+ <anim:set smil:begin="4.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:decelerate="1" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-thread">
+ <anim:animate smil:dur="0.5" smil:attributeName="height" smil:values="height;height/20;height/20" smil:keyTimes="0;0.5;1"/>
+ <anim:animate smil:dur="0.5" smil:attributeName="width" smil:values="width;width+.3;width+.3" smil:keyTimes="0;0.5;1"/>
+ <anim:animate smil:dur="0.5" smil:attributeName="x" smil:values="x;x;x-.3" smil:keyTimes="0;0.5;1"/>
+ <anim:animate smil:dur="0.5" smil:attributeName="y" smil:values="y;y" smil:keyTimes="0;1"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:iterate pres:text-only="true" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-whip" anim:iterate-type="by-letter" anim:iterate-interval="0.05s">
+ <anim:animate smil:dur="0.5" smil:attributeName="x" smil:values="x;x+.1;x" smil:keyTimes="0;0.5;1"/>
+ <anim:animate smil:dur="0.5" smil:attributeName="y" smil:values="y;y" smil:keyTimes="0;1"/>
+ <anim:animate smil:dur="0.5" smil:attributeName="height" smil:values="height;height+.01;height/10" smil:keyTimes="0;0.5;1"/>
+ <anim:animate smil:dur="0.5" smil:attributeName="width" smil:values="width;width+.01;width/10" smil:keyTimes="0;0.5;1"/>
+ <anim:transitionFilter smil:dur="0.5" smil:keySplines="0,0;0.5,0;1,1" smil:type="fade" smil:subtype="crossfade" smil:mode="out"/>
+ <anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
+ </anim:iterate>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-4-point-star">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 L 0.091 -0.0453 L 0.125 -0.16655 L 0.158 -0.0453 L 0.249 0 L 0.158 0.0453 L 0.125 0.16655 L 0.091 0.0453 L 0 0 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-5-point-star">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 L 0.029 0.12125 L 0.125 0.12125 L 0.048 0.19586 L 0.077 0.31711 L 0 0.2425 L -0.077 0.31711 L -0.048 0.19586 L -0.125 0.12125 L -0.029 0.12125 L 0 0 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-6-point-star">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 L 0.036 0.08261 L 0.108 0.08261 L 0.072 0.16655 L 0.108 0.24916 L 0.036 0.24916 L 0 0.3331 L -0.036 0.24916 L -0.108 0.24916 L -0.072 0.16655 L -0.108 0.08261 L -0.036 0.08261 L 0 0 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-8-point-star">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 L 0.052 0 L 0.089 -0.0493 L 0.125 0 L 0.177 0 L 0.177 0.06929 L 0.213 0.11858 L 0.177 0.16655 L 0.177 0.23584 L 0.125 0.23584 L 0.089 0.2838 L 0.052 0.23584 L 0 0.23584 L 0 0.16655 L -0.037 0.11858 L 0 0.06929 L 0 0 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-circle">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 C 0.069 0 0.125 0.07461 0.125 0.16655 C 0.125 0.25849 0.069 0.3331 0 0.3331 C -0.069 0.3331 -0.125 0.25849 -0.125 0.16655 C -0.125 0.07461 -0.069 0 0 0 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-crescent-moon">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 C -0.014 -0.00666 -0.029 -0.01199 -0.044 -0.01199 C -0.114 -0.01199 -0.169 0.06396 -0.169 0.15589 C -0.169 0.2465 -0.114 0.32111 -0.044 0.32111 C -0.029 0.32111 -0.014 0.31711 0 0.31045 C -0.047 0.28647 -0.08 0.22651 -0.08 0.15589 C -0.08 0.08394 -0.047 0.02398 0 0 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-diamond">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 L 0.125 -0.11192 L 0.25 0 L 0.125 0.11192 L 0 0 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-equal-triangle">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 L 0.125 0.2878 L -0.125 0.2878 L 0 0 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-oval">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 C 0.03 -0.05063 0.075 -0.08261 0.125 -0.08261 C 0.175 -0.08261 0.22 -0.05063 0.25 0 C 0.22 0.05063 0.175 0.08261 0.125 0.08261 C 0.075 0.08261 0.03 0.05063 0 0 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-heart">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 C 0.012 -0.02398 0.033 -0.05863 0.058 -0.05863 C 0.095 -0.05863 0.125 -0.02265 0.125 0.02265 C 0.125 0.03731 0.122 0.05063 0.116 0.06262 C 0.117 0.06262 0 0.2425 0 0.24383 C 0 0.2425 -0.117 0.06262 -0.116 0.06262 C -0.122 0.05063 -0.125 0.03731 -0.125 0.02265 C -0.125 -0.02265 -0.095 -0.05863 -0.057 -0.05863 C -0.033 -0.05863 -0.012 -0.02398 0 0 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-hexagon">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 L 0.125 0 L 0.188 0.14523 L 0.125 0.28913 L 0 0.28913 L -0.063 0.14523 L 0 0 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-octagon">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 L 0.073 -0.09727 L 0.177 -0.09727 L 0.25 0 L 0.25 0.13857 L 0.177 0.23584 L 0.073 0.23584 L 0 0.13857 L 0 0 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-parallelogram">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 L 0.178 0 L 0.25 0.16122 L 0.072 0.16122 L 0 0 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-pentagon">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 L 0.125 0.12125 L 0.077 0.31711 L -0.077 0.31711 L -0.125 0.12125 L 0 0 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-right-triangle">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 L 0 -0.19586 L 0.25 0 L 0 0 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-square">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 L 0.25 0 L 0.25 0.3331 L 0 0.3331 L 0 0 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-teardrop">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 C 0.001 0.0453 0.011 0.08661 0.028 0.11325 C 0.028 0.11459 0.055 0.15056 0.055 0.14923 C 0.07 0.16922 0.079 0.1972 0.079 0.22651 C 0.079 0.28514 0.044 0.33177 0 0.3331 C -0.044 0.33177 -0.079 0.28514 -0.079 0.22651 C -0.079 0.1972 -0.07 0.16922 -0.055 0.14923 C -0.055 0.15056 -0.028 0.11459 -0.028 0.11325 C -0.011 0.08661 -0.001 0.0453 0 0 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-trapezoid">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 L 0.167 0 L 0.21 0.22251 L -0.04 0.22251 L 0 0 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-arc-down">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 L 0.067 0.0533 C 0.081 0.06529 0.102 0.07195 0.124 0.07195 C 0.149 0.07195 0.169 0.06529 0.183 0.0533 L 0.25 0"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-arc-left">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 L -0.04 0.08927 C -0.049 0.10793 -0.054 0.13591 -0.054 0.16522 C -0.054 0.19853 -0.049 0.22518 -0.04 0.24383 L 0 0.3331"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-arc-right">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 L 0.04 0.08927 C 0.049 0.10793 0.054 0.13591 0.054 0.16522 C 0.054 0.19853 0.049 0.22518 0.04 0.24383 L 0 0.3331"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-arc-up">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 L 0.067 -0.0533 C 0.081 -0.06529 0.102 -0.07195 0.124 -0.07195 C 0.149 -0.07195 0.169 -0.06529 0.183 -0.0533 L 0.25 0"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-bounce-left">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 c -0.004 -0.01066 -0.018 -0.02132 -0.023 -0.02132 c -0.031 0 -0.063 0.16655 -0.063 0.3331 c 0 -0.08394 -0.016 -0.16655 -0.031 -0.16655 c -0.016 0 -0.031 0.08394 -0.031 0.16655 c 0 -0.0413 -0.008 -0.08394 -0.016 -0.08394 c -0.008 0 -0.016 0.0413 -0.016 0.08394 c 0 -0.02132 -0.004 -0.0413 -0.008 -0.0413 c -0.004 0 -0.008 0.02132 -0.008 0.0413 c 0 -0.01066 -0.002 -0.02132 -0.004 -0.02132 c -0.001 0 -0.004 0.01066 -0.004 0.02132 c 0 -0.00533 -0.001 -0.01066 -0.002 -0.01066 c 0 -0.00133 -0.002 0.00533 -0.002 0.01066 c 0 -0.00266 0 -0.00533 -0.001 -0.00533 c 0 0.00133 -0.001 0.00266 -0.001 0.00533 c 0 -0.00133 0 -0.00266 0 -0.004 c -0.001 0 -0.001 0.00133 -0.001 0.00266 c -0.001 0 -0.001 -0.00133 -0.001 -0.00266 c -0.001 0 -0.001 0.00133 -0.001 0.00266"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-bounce-right">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 c 0.004 -0.01066 0.018 -0.02132 0.023 -0.02132 c 0.031 0 0.063 0.16655 0.063 0.3331 c 0 -0.08394 0.016 -0.16655 0.031 -0.16655 c 0.016 0 0.031 0.08394 0.031 0.16655 c 0 -0.0413 0.008 -0.08394 0.016 -0.08394 c 0.008 0 0.016 0.0413 0.016 0.08394 c 0 -0.02132 0.004 -0.0413 0.008 -0.0413 c 0.004 0 0.008 0.02132 0.008 0.0413 c 0 -0.01066 0.002 -0.02132 0.004 -0.02132 c 0.001 0 0.004 0.01066 0.004 0.02132 c 0 -0.00533 0.001 -0.01066 0.002 -0.01066 c 0 0.00133 0.002 0.00533 0.002 0.01066 c 0 -0.00266 0 -0.00533 0.001 -0.00533 c 0 0.00133 0.001 0.00266 0.001 0.00533 c 0 -0.00133 0 -0.00266 0 -0.004 c 0.001 0 0.001 0.00133 0.001 0.00266 c 0.001 0 0.001 -0.00133 0.001 -0.00266 c 0.001 0 0.001 0.00133 0.001 0.00266"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-curvy-left">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 C 0.008 0.01066 0.017 0.02132 0.021 0.03464 C 0.025 0.0493 0.027 0.06662 0.029 0.08394 C 0.031 0.10126 0.029 0.11592 0.027 0.13191 C 0.025 0.14656 0.022 0.16255 0.015 0.17588 C 0.009 0.1892 -0.001 0.19986 -0.012 0.20786 C -0.022 0.21585 -0.034 0.22118 -0.046 0.22384 C -0.058 0.22651 -0.07 0.22651 -0.081 0.22384 C -0.093 0.22118 -0.104 0.21452 -0.113 0.20386 C -0.122 0.19453 -0.13 0.18254 -0.134 0.16788 C -0.139 0.15456 -0.141 0.13591 -0.141 0.12125 C -0.142 0.10659 -0.141 0.08927 -0.136 0.07461 C -0.131 0.06129 -0.122 0.05063 -0.11 0.0453 C -0.098 0.0413 -0.086 0.04663 -0.078 0.05596 C -0.071 0.06529 -0.066 0.07994 -0.065 0.09727 C -0.065 0.11459 -0.066 0.13058 -0.071 0.1439 C -0.076 0.15722 -0.075 0.15989 -0.095 0.17721 C -0.113 0.19586 -0.131 0.19053 -0.142 0.19187 C -0.153 0.19187 -0.162 0.18654 -0.173 0.18121 C -0.185 0.17455 -0.195 0.16255 -0.202 0.15189 C -0.209 0.14124 -0.212 0.12791 -0.216 0.10659 C -0.219 0.08527 -0.219 0.07461 -0.219 0.05863 C -0.219 0.04264 -0.219 0.02665 -0.219 0.01066"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-curvy-right">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 C -0.008 0.01066 -0.017 0.02132 -0.021 0.03464 C -0.025 0.0493 -0.027 0.06662 -0.029 0.08394 C -0.031 0.10126 -0.029 0.11592 -0.027 0.13191 C -0.025 0.14656 -0.022 0.16255 -0.015 0.17588 C -0.009 0.1892 0.001 0.19986 0.012 0.20786 C 0.022 0.21585 0.034 0.22118 0.046 0.22384 C 0.058 0.22651 0.07 0.22651 0.081 0.22384 C 0.093 0.22118 0.104 0.21452 0.113 0.20386 C 0.122 0.19453 0.13 0.18254 0.134 0.16788 C 0.139 0.15456 0.141 0.13591 0.141 0.12125 C 0.142 0.10659 0.141 0.08927 0.136 0.07461 C 0.131 0.06129 0.122 0.05063 0.11 0.0453 C 0.098 0.0413 0.086 0.04663 0.078 0.05596 C 0.071 0.06529 0.066 0.07994 0.065 0.09727 C 0.065 0.11459 0.066 0.13058 0.071 0.1439 C 0.076 0.15722 0.075 0.15989 0.095 0.17721 C 0.113 0.19586 0.131 0.19053 0.142 0.19187 C 0.153 0.19187 0.162 0.18654 0.173 0.18121 C 0.185 0.17455 0.195 0.16255 0.202 0.15189 C 0.209 0.14124 0.212 0.12791 0.216 0.10659 C 0.219 0.08527 0.219 0.07461 0.219 0.05863 C 0.219 0.04264 0.219 0.02665 0.219 0.01066"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-decaying-wave">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 C 0.002 0.07062 0.007 0.16922 0.025 0.16788 C 0.051 0.16788 0.053 -0.16255 0.084 -0.16389 C 0.112 -0.16389 0.097 0.12525 0.124 0.12391 C 0.152 0.12391 0.137 -0.08527 0.167 -0.08527 C 0.194 -0.08527 0.179 0.05596 0.203 0.05596 C 0.226 0.05596 0.214 -0.05196 0.235 -0.05196 C 0.247 -0.05196 0.248 -0.02265 0.249 0"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-diagonal-down-right">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 L 0.25 0.3331"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-diagonal-up-right">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 L 0.25 -0.3331"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-down">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 L 0 0.3331"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-funnel">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 C -0.001 0.03331 0.06 0.06262 0.137 0.06396 C 0.198 0.06662 0.248 0.05063 0.249 0.03065 C 0.249 0.01066 0.2 -0.00799 0.138 -0.00933 C 0.107 -0.00933 0.079 -0.00666 0.059 0 C 0.03 0.00933 0.013 0.02398 0.013 0.0413 C 0.013 0.05063 0.018 0.05996 0.027 0.06795 C 0.048 0.08527 0.089 0.09727 0.136 0.0986 C 0.191 0.10126 0.236 0.08661 0.236 0.06929 C 0.237 0.05063 0.192 0.03464 0.137 0.03198 C 0.109 0.03198 0.084 0.03464 0.065 0.03997 C 0.04 0.0493 0.024 0.06396 0.024 0.07861 C 0.024 0.08661 0.029 0.0946 0.037 0.1026 C 0.056 0.11725 0.092 0.12924 0.135 0.13058 C 0.185 0.13191 0.225 0.11858 0.225 0.1026 C 0.226 0.08661 0.186 0.07195 0.136 0.07062 C 0.111 0.06929 0.088 0.07195 0.071 0.07728 C 0.048 0.08527 0.035 0.09727 0.035 0.11192 C 0.035 0.11858 0.039 0.12658 0.046 0.13324 C 0.063 0.14656 0.096 0.15722 0.134 0.15856 C 0.179 0.15856 0.215 0.1479 0.215 0.13324 C 0.215 0.11858 0.18 0.10526 0.135 0.10393 C 0.113 0.10393 0.092 0.10659 0.077 0.11059 C 0.056 0.11725 0.044 0.12924 0.043 0.14124 C 0.043 0.1479 0.048 0.15456 0.054 0.15989 C 0.069 0.17321 0.099 0.18254 0.133 0.18254 C 0.173 0.18387 0.206 0.17455 0.206 0.16122 C 0.207 0.1479 0.174 0.13591 0.134 0.13457 C 0.114 0.13457 0.095 0.13591 0.082 0.14124 C 0.063 0.14656 0.052 0.15722 0.052 0.16788 C 0.052 0.17455 0.055 0.17988 0.061 0.1852 C 0.075 0.1972 0.101 0.20519 0.132 0.20652 C 0.169 0.20652 0.198 0.19853 0.198 0.18654 C 0.199 0.17455 0.17 0.16389 0.133 0.16255 C 0.115 0.16255 0.099 0.16389 0.087 0.16788 C 0.07 0.17321 0.06 0.18254 0.06 0.1932 C 0.06 0.19853 0.063 0.20253 0.068 0.20786 C 0.08 0.21851 0.104 0.22518 0.132 0.22651 C 0.165 0.22784 0.191 0.21985 0.191 0.20786 C 0.191 0.19853 0.166 0.18787 0.133 0.18787 C 0.116 0.18654 0.101 0.1892 0.09 0.19187 C 0.075 0.1972 0.066 0.20519 0.066 0.21452 C 0.066 0.21985 0.069 0.22384 0.074 0.22784 C 0.085 0.23717 0.107 0.24383 0.131 0.24516 C 0.161 0.2465 0.185 0.2385 0.185 0.22917 C 0.185 0.21851 0.161 0.21052 0.132 0.20919 C 0.118 0.20919 0.104 0.21052 0.094 0.21452 C 0.08 0.21851 0.072 0.22518 0.072 0.2345 C 0.072 0.2385 0.075 0.2425 0.079 0.2465 C 0.089 0.25449 0.108 0.26115 0.131 0.26115 C 0.157 0.26248 0.179 0.25582 0.179 0.2465 C 0.179 0.2385 0.158 0.23051 0.131 0.23051 C 0.119 0.22917 0.106 0.23051 0.097 0.23317 C 0.085 0.2385 0.078 0.24516 0.078 0.25183 C 0.078 0.25582 0.08 0.25982 0.084 0.26248 C 0.093 0.27048 0.11 0.27581 0.131 0.27714 C 0.155 0.27714 0.174 0.27048 0.174 0.26382 C 0.174 0.25582 0.155 0.24783 0.131 0.24783 C 0.119 0.24783 0.108 0.24916 0.101 0.25183 C 0.089 0.25449 0.083 0.26115 0.083 0.26781 C 0.083 0.27048 0.085 0.27448 0.088 0.27714 C 0.096 0.28514 0.112 0.28913 0.13 0.29046 C 0.152 0.29046 0.169 0.28514 0.169 0.27847 C 0.169 0.27048 0.152 0.26515 0.131 0.26382 C 0.12 0.26382 0.11 0.26515 0.103 0.26781 C 0.093 0.27048 0.087 0.27581 0.087 0.28247 C 0.087 0.28514 0.089 0.2878 0.092 0.29046"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-heartbeat">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 L 0.017 0 C 0.025 0 0.034 -0.01865 0.042 -0.02132 C 0.048 -0.02132 0.059 -0.004 0.064 -0.004 C 0.071 -0.004 0.078 -0.00933 0.091 -0.00933 L 0.1 -0.21585 L 0.11 0.03331 L 0.122 0 L 0.132 -0.00933 L 0.156 -0.00133 C 0.167 -0.00533 0.176 -0.02265 0.187 -0.02931 C 0.191 -0.03065 0.2 -0.03198 0.206 -0.02931 C 0.212 -0.02665 0.217 -0.00799 0.219 -0.00666 C 0.222 -0.00133 0.229 -0.00666 0.233 -0.004 L 0.239 0 L 0.25 0"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-left">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 L -0.25 0"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-right">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 L 0.25 0"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-s-curve-1">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 C 0 -0.04663 0.028 -0.08261 0.062 -0.08261 C 0.097 -0.08261 0.125 -0.04663 0.125 0 C 0.125 0.04663 0.153 0.08261 0.188 0.08261 C 0.222 0.08261 0.25 0.04663 0.25 0"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-s-curve-2">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 C 0 0.04663 0.028 0.08261 0.062 0.08261 C 0.097 0.08261 0.125 0.04663 0.125 0 C 0.125 -0.04663 0.153 -0.08261 0.188 -0.08261 C 0.222 -0.08261 0.25 -0.04663 0.25 0"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-sine-wave">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 C 0.003 -0.02532 0.007 -0.0493 0.015 -0.0493 C 0.024 -0.0493 0.027 -0.02532 0.03 0 C 0.034 0.02798 0.037 0.05596 0.047 0.05596 C 0.056 0.05596 0.059 0.02798 0.063 0 C 0.065 -0.02532 0.069 -0.0493 0.078 -0.0493 C 0.086 -0.0493 0.09 -0.02532 0.093 0 C 0.096 0.02798 0.1 0.05596 0.109 0.05596 C 0.118 0.05596 0.125 0 0.125 0 C 0.128 -0.02532 0.131 -0.0493 0.14 -0.0493 C 0.149 -0.0493 0.152 -0.02532 0.155 0 C 0.159 0.02798 0.162 0.05596 0.172 0.05596 C 0.181 0.05596 0.184 0.02798 0.187 0 C 0.191 -0.02532 0.194 -0.0493 0.203 -0.0493 C 0.211 -0.0493 0.215 -0.02532 0.218 0 C 0.221 0.02798 0.225 0.05596 0.234 0.05596 C 0.243 0.05596 0.246 0.02798 0.25 0"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-spiral-left">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 C 0.004 -0.08927 -0.046 -0.16655 -0.113 -0.17188 C -0.177 -0.17854 -0.237 -0.11858 -0.241 -0.03198 C -0.246 0.04797 -0.204 0.12258 -0.144 0.12791 C -0.089 0.13191 -0.037 0.08261 -0.033 0.00799 C -0.029 -0.05996 -0.064 -0.12391 -0.115 -0.12924 C -0.162 -0.13324 -0.206 -0.09194 -0.209 -0.02931 C -0.212 0.02665 -0.184 0.08128 -0.142 0.08394 C -0.104 0.08794 -0.068 0.05596 -0.065 0.00533 C -0.063 -0.03997 -0.084 -0.08394 -0.117 -0.08661 C -0.146 -0.08927 -0.175 -0.06529 -0.177 -0.02665 C -0.179 0.00666 -0.164 0.03864 -0.14 0.0413 C -0.12 0.04397 -0.099 0.02931 -0.098 0.00266 C -0.096 -0.01865 -0.104 -0.0413 -0.119 -0.04397 C -0.131 -0.04397 -0.143 -0.03864 -0.145 -0.02398 C -0.146 -0.01466 -0.144 -0.00533 -0.138 -0.00133 C -0.135 0 -0.133 0 -0.13 -0.00133"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-spiral-right">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 C -0.004 -0.08927 0.046 -0.16655 0.113 -0.17188 C 0.177 -0.17854 0.237 -0.11858 0.241 -0.03198 C 0.246 0.04797 0.204 0.12258 0.144 0.12791 C 0.089 0.13191 0.037 0.08261 0.033 0.00799 C 0.029 -0.05996 0.064 -0.12391 0.115 -0.12924 C 0.162 -0.13324 0.206 -0.09194 0.209 -0.02931 C 0.212 0.02665 0.184 0.08128 0.142 0.08394 C 0.104 0.08794 0.068 0.05596 0.065 0.00533 C 0.063 -0.03997 0.084 -0.08394 0.117 -0.08661 C 0.146 -0.08927 0.175 -0.06529 0.177 -0.02665 C 0.179 0.00666 0.164 0.03864 0.14 0.0413 C 0.12 0.04397 0.099 0.02931 0.098 0.00266 C 0.096 -0.01865 0.104 -0.0413 0.119 -0.04397 C 0.131 -0.04397 0.143 -0.03864 0.145 -0.02398 C 0.146 -0.01466 0.144 -0.00533 0.138 -0.00133 C 0.135 0 0.133 0 0.13 -0.00133"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-spring">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 C -0.066 0.00799 -0.115 0.02798 -0.115 0.04397 C -0.115 0.05863 -0.067 0.06929 -0.003 0.06929 C 0.061 0.06929 0.115 0.05863 0.115 0.04397 C 0.115 0.02798 0.059 0.02398 -0.005 0.03464 C -0.068 0.04663 -0.115 0.06662 -0.115 0.08128 C -0.115 0.09593 -0.066 0.10793 -0.003 0.10793 C 0.061 0.10793 0.115 0.09593 0.115 0.08128 C 0.115 0.06662 0.059 0.06262 -0.004 0.07328 C -0.068 0.08394 -0.115 0.10393 -0.115 0.11858 C -0.115 0.13457 -0.066 0.14656 -0.002 0.14656 C 0.061 0.14656 0.115 0.13457 0.115 0.11858 C 0.115 0.10526 0.059 0.10126 -0.004 0.11059 C -0.067 0.12125 -0.115 0.14257 -0.115 0.15722 C -0.115 0.17188 -0.065 0.18387 -0.002 0.18387 C 0.063 0.18387 0.115 0.17188 0.115 0.15722 C 0.115 0.14257 0.06 0.13857 -0.003 0.14923 C -0.066 0.15989 -0.115 0.17988 -0.115 0.19453 C -0.115 0.21052 -0.065 0.22118 -0.001 0.22118 C 0.063 0.22118 0.115 0.20919 0.115 0.19453 C 0.115 0.17988 0.06 0.17588 -0.003 0.18654 C -0.066 0.1972 -0.115 0.21851 -0.115 0.23184 C -0.115 0.2465 -0.064 0.25849 -0.001 0.25849 C 0.063 0.25849 0.115 0.2465 0.115 0.23184 C 0.115 0.21851 0.061 0.21452 -0.003 0.22384 C -0.066 0.2345 -0.115 0.25582 -0.115 0.27048 C -0.115 0.2838 -0.064 0.29713 0 0.29713 C 0.064 0.29713 0.115 0.28514 0.115 0.27048 C 0.115 0.25582 0.061 0.25183 -0.002 0.26248 C -0.065 0.27314 -0.116 0.29313 -0.115 0.30779 C -0.114 0.32244 -0.064 0.3331 0 0.3331 C 0.064 0.3331 0.115 0.32111 0.115 0.30645 C 0.115 0.29313 0.063 0.28913 0 0.30112"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-stairs-down">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 l 0.036 0 l 0 0.04797 l 0.036 0 l 0 0.04797 l 0.036 0 l 0 0.04797 l 0.036 0 l 0 0.04797 l 0.036 0 l 0 0.04797 l 0.036 0 l 0 0.04797 l 0.036 0 l 0 0.04797"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-turn-down">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 L 0.125 0 C 0.181 0 0.25 0.09194 0.25 0.16655 L 0.25 0.3331"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-turn-down-right">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 L 0 0.16655 C 0 0.24117 0.069 0.3331 0.125 0.3331 L 0.25 0.3331"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-turn-up">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 L 0.125 0 C 0.181 0 0.25 -0.09194 0.25 -0.16655 L 0.25 -0.3331"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-turn-up-right">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 L 0 -0.16655 C 0 -0.24117 0.069 -0.3331 0.125 -0.3331 L 0.25 -0.3331"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-up">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 L 0 -0.3331"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-wave">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 C 0.002 0.08394 0.009 0.1439 0.016 0.1439 C 0.023 0.1439 0.029 0.08394 0.031 0 C 0.034 0.08394 0.04 0.1439 0.047 0.1439 C 0.054 0.1439 0.06 0.08394 0.062 0 C 0.065 0.08394 0.071 0.1439 0.078 0.1439 C 0.085 0.1439 0.092 0.08394 0.094 0 C 0.096 0.08394 0.102 0.1439 0.11 0.1439 C 0.116 0.1439 0.123 0.08394 0.125 0 C 0.127 0.08394 0.134 0.1439 0.141 0.1439 C 0.148 0.1439 0.154 0.08394 0.156 0 C 0.159 0.08394 0.165 0.1439 0.172 0.1439 C 0.179 0.1439 0.185 0.08394 0.188 0 C 0.19 0.08394 0.196 0.1439 0.203 0.1439 C 0.21 0.1439 0.217 0.08394 0.219 0 C 0.221 0.08394 0.227 0.1439 0.235 0.1439 C 0.242 0.1439 0.248 0.08394 0.25 0"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-zigzag">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 L 0.016 0.13191 L 0.031 0 L 0.047 0.13191 L 0.063 0 L 0.078 0.13191 L 0.094 0 L 0.109 0.13191 L 0.125 0 L 0.141 0.13191 L 0.156 0 L 0.172 0.13191 L 0.187 0 L 0.203 0.13191 L 0.219 0 L 0.234 0.13191 L 0.25 0"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-bean">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 C 0.002 -0.004 0.012 -0.0453 0.037 -0.04264 C 0.075 -0.03864 0.09 -0.00933 0.125 -0.03864 C 0.147 -0.05596 0.173 -0.09993 0.192 -0.0986 C 0.235 -0.09727 0.244 -0.05196 0.244 -0.01066 C 0.245 0.04797 0.189 0.09727 0.121 0.1026 C 0.052 0.10659 -0.005 0.04397 0 0 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-buzz-saw">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 C -0.022 -0.02265 -0.033 -0.06129 -0.027 -0.09993 C -0.024 -0.11325 -0.02 -0.12658 -0.014 -0.13724 C -0.01 -0.10659 0.004 -0.07861 0.025 -0.06129 C 0.025 -0.0986 0.041 -0.13457 0.068 -0.15056 C 0.077 -0.15722 0.087 -0.15989 0.097 -0.16122 C 0.082 -0.13857 0.074 -0.10659 0.077 -0.07328 C 0.099 -0.09727 0.13 -0.1026 0.157 -0.08527 C 0.166 -0.07994 0.175 -0.07062 0.181 -0.06129 C 0.158 -0.06396 0.134 -0.05196 0.117 -0.02798 C 0.144 -0.01999 0.167 0.00799 0.174 0.04663 C 0.176 0.05996 0.176 0.07328 0.174 0.08661 C 0.161 0.06129 0.139 0.04397 0.115 0.0413 C 0.127 0.07461 0.124 0.11592 0.106 0.14656 C 0.099 0.15722 0.091 0.16655 0.082 0.17188 C 0.089 0.14257 0.085 0.10926 0.072 0.08261 C 0.06 0.11592 0.034 0.13857 0.004 0.13857 C -0.007 0.13857 -0.017 0.13591 -0.026 0.13058 C -0.004 0.11992 0.013 0.0946 0.021 0.06396 C -0.007 0.07195 -0.036 0.05996 -0.055 0.02931 C -0.062 0.01732 -0.066 0.00533 -0.069 -0.00799 C -0.049 0.00933 -0.023 0.01199 0 0 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-curved-square">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 C 0 -0.04264 0.026 -0.07728 0.058 -0.07728 L 0.192 -0.07728 C 0.224 -0.07728 0.25 -0.04264 0.25 0 L 0.25 0.17588 C 0.25 0.21851 0.224 0.25449 0.192 0.25449 L 0.058 0.25449 C 0.026 0.25449 0 0.21851 0 0.17588 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-curved-x">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 C 0.006 0.00799 0.011 0.01466 0.015 0.02265 C 0.02 0.01466 0.024 0.00799 0.03 0 C 0.065 -0.04663 0.107 -0.06662 0.124 -0.0453 C 0.14 -0.02265 0.125 0.03331 0.09 0.07994 C 0.084 0.08661 0.079 0.09327 0.073 0.09993 C 0.079 0.10526 0.084 0.11192 0.09 0.11992 C 0.125 0.16655 0.14 0.22251 0.124 0.24383 C 0.107 0.26648 0.065 0.2465 0.03 0.19986 C 0.024 0.19187 0.02 0.1852 0.015 0.17721 C 0.011 0.1852 0.006 0.19187 0 0.19986 C -0.035 0.2465 -0.077 0.26648 -0.094 0.24383 C -0.11 0.22251 -0.095 0.16655 -0.06 0.11992 C -0.054 0.11192 -0.049 0.10526 -0.043 0.09993 C -0.049 0.09327 -0.054 0.08661 -0.06 0.07994 C -0.095 0.03331 -0.11 -0.02265 -0.094 -0.0453 C -0.077 -0.06662 -0.035 -0.04663 0 0 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-curvy-star">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 C 0.072 0.07728 0.1 0.20253 0.077 0.31711 C -0.015 0.31045 -0.093 0.23051 -0.125 0.12125 C -0.047 0.0533 0.051 0.05729 0.125 0.12125 C 0.092 0.23717 0.011 0.31045 -0.077 0.31711 C -0.101 0.1972 -0.068 0.07461 0 0 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-figure-8-four">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 C 0.017 0 0.031 0.01865 0.031 0.0413 C 0.031 0.06529 0.017 0.08394 0 0.08394 C -0.017 0.08394 -0.031 0.1026 -0.031 0.12525 C -0.031 0.1479 -0.017 0.16655 0 0.16655 C 0.017 0.16655 0.031 0.1852 0.031 0.20786 C 0.031 0.23051 0.017 0.24916 0 0.24916 C -0.017 0.24916 -0.031 0.26781 -0.031 0.2918 C -0.031 0.31445 -0.017 0.3331 0 0.3331 C 0.017 0.3331 0.031 0.31445 0.031 0.2918 C 0.031 0.26781 0.017 0.24916 0 0.24916 C -0.017 0.24916 -0.031 0.23051 -0.031 0.20786 C -0.031 0.1852 -0.017 0.16655 0 0.16655 C 0.017 0.16655 0.031 0.1479 0.031 0.12525 C 0.031 0.1026 0.017 0.08394 0 0.08394 C -0.017 0.08394 -0.031 0.06529 -0.031 0.0413 C -0.031 0.01865 -0.017 0 0 0 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-horizontal-figure-8">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 C 0 0.04397 0.027 0.07994 0.06 0.07994 C 0.099 0.07994 0.113 0.03997 0.119 0.01599 L 0.125 -0.01599 C 0.131 -0.03997 0.146 -0.07994 0.19 -0.07994 C 0.218 -0.07994 0.25 -0.04397 0.25 0 C 0.25 0.04397 0.218 0.07994 0.19 0.07994 C 0.146 0.07994 0.131 0.03997 0.125 0.01599 L 0.119 -0.01599 C 0.113 -0.03997 0.099 -0.07994 0.06 -0.07994 C 0.027 -0.07994 0 -0.04397 0 0 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-inverted-square">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 C 0.004 -0.00533 0.01 -0.00799 0.015 -0.00799 C 0.022 -0.00799 0.029 -0.004 0.033 0.00266 C 0.05 0.02931 0.063 0.08794 0.063 0.15722 C 0.063 0.15722 0.063 0.15856 0.063 0.15856 C 0.063 0.15856 0.063 0.15989 0.063 0.15989 C 0.063 0.22917 0.05 0.28913 0.033 0.31578 C 0.029 0.32111 0.022 0.32511 0.015 0.32511 C 0.01 0.32511 0.004 0.32244 0 0.31711 C -0.004 0.31178 -0.006 0.30512 -0.006 0.29713 C -0.006 0.2878 -0.003 0.27981 0.002 0.27448 C 0.022 0.25049 0.066 0.23317 0.118 0.23317 C 0.118 0.23317 0.119 0.23317 0.119 0.23317 C 0.119 0.23317 0.12 0.23317 0.12 0.23317 C 0.172 0.23317 0.217 0.25049 0.237 0.27448 C 0.241 0.27981 0.244 0.2878 0.244 0.29713 C 0.244 0.30512 0.242 0.31178 0.238 0.31711 C 0.234 0.32244 0.229 0.32511 0.223 0.32511 C 0.216 0.32511 0.21 0.32111 0.206 0.31578 C 0.188 0.28913 0.175 0.22917 0.175 0.15989 C 0.175 0.15989 0.175 0.15856 0.175 0.15856 C 0.175 0.15856 0.175 0.15722 0.175 0.15722 C 0.175 0.08794 0.188 0.02931 0.206 0.00133 C 0.21 -0.004 0.216 -0.00799 0.223 -0.00799 C 0.229 -0.00799 0.234 -0.00533 0.238 0 C 0.242 0.00533 0.244 0.01332 0.244 0.01999 C 0.244 0.02931 0.241 0.03731 0.237 0.04397 C 0.217 0.06662 0.172 0.08394 0.12 0.08394 C 0.12 0.08394 0.12 0.08394 0.119 0.08394 C 0.119 0.08394 0.118 0.08394 0.118 0.08394 C 0.066 0.08394 0.022 0.06662 0.002 0.04397 C -0.003 0.03731 -0.006 0.02931 -0.006 0.01999 C -0.006 0.01332 -0.004 0.00533 0 0 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-inverted-triangle">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 C 0.015 0.03198 0.037 0.06529 0.055 0.07861 C 0.082 0.09993 0.108 0.10793 0.113 0.09727 C 0.117 0.08661 0.099 0.05996 0.072 0.03864 C 0.054 0.02532 0.021 0.01599 -0.008 0.01466 C -0.036 0.01599 -0.07 0.02532 -0.088 0.03864 C -0.115 0.05996 -0.133 0.08661 -0.128 0.09727 C -0.123 0.10793 -0.097 0.09993 -0.071 0.07861 C -0.053 0.06529 -0.03 0.03198 -0.016 0 C -0.001 -0.03331 0.009 -0.07728 0.009 -0.10526 C 0.009 -0.1479 0.002 -0.18121 -0.008 -0.18121 C -0.017 -0.18121 -0.025 -0.1479 -0.025 -0.10526 C -0.025 -0.07728 -0.014 -0.03331 0 0 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-loop-de-loop">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 C 0.023 0.00133 0.042 0.01199 0.052 0.02798 L 0.075 0.06529 C 0.08 0.07328 0.088 0.07728 0.098 0.07728 C 0.112 0.07728 0.124 0.06662 0.125 0.05063 C 0.124 0.03731 0.112 0.02532 0.098 0.02532 C 0.088 0.02532 0.08 0.03065 0.075 0.03731 L 0.052 0.07461 C 0.042 0.0906 0.023 0.10126 0 0.1026 C -0.023 0.10126 -0.042 0.0906 -0.052 0.07461 L -0.075 0.03731 C -0.08 0.03065 -0.088 0.02532 -0.098 0.02532 C -0.112 0.02532 -0.124 0.03731 -0.125 0.05063 C -0.124 0.06662 -0.112 0.07728 -0.098 0.07728 C -0.088 0.07728 -0.08 0.07328 -0.075 0.06529 L -0.052 0.02798 C -0.042 0.01199 -0.023 0.00133 0 0 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-neutron">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 C 0.007 -0.01332 0.014 -0.02798 0.021 -0.04663 C 0.04 -0.09993 0.045 -0.15189 0.031 -0.15989 C 0.017 -0.16922 -0.01 -0.13191 -0.029 -0.07861 C -0.039 -0.05063 -0.045 -0.02398 -0.047 -0.004 C -0.05 0.01199 -0.051 0.02798 -0.051 0.04663 C -0.051 0.10659 -0.038 0.15589 -0.023 0.15589 C -0.008 0.15589 0.005 0.10659 0.005 0.04663 C 0.005 0.01865 0.002 -0.00799 -0.003 -0.02665 C -0.005 -0.04264 -0.01 -0.05996 -0.016 -0.07728 C -0.036 -0.13191 -0.063 -0.16922 -0.077 -0.15989 C -0.091 -0.15056 -0.086 -0.09993 -0.066 -0.0453 C -0.058 -0.01999 -0.047 0.00133 -0.036 0.01599 C -0.028 0.02931 -0.019 0.0413 -0.007 0.0533 C 0.029 0.09194 0.065 0.10926 0.075 0.09327 C 0.084 0.07728 0.064 0.03331 0.028 -0.004 C 0.013 -0.01999 -0.003 -0.03198 -0.016 -0.03997 C -0.028 -0.04797 -0.043 -0.05463 -0.059 -0.05863 C -0.103 -0.07195 -0.141 -0.06795 -0.144 -0.04663 C -0.148 -0.02665 -0.115 0 -0.071 0.01332 C -0.051 0.01865 -0.032 0.02132 -0.017 0.01999 C -0.004 0.01999 0.01 0.01732 0.025 0.01332 C 0.069 0 0.102 -0.02798 0.098 -0.04797 C 0.095 -0.06795 0.057 -0.07328 0.013 -0.05996 C -0.008 -0.0533 -0.027 -0.04397 -0.04 -0.03331 C -0.051 -0.02532 -0.062 -0.01599 -0.074 -0.004 C -0.109 0.03464 -0.13 0.07728 -0.12 0.09327 C -0.111 0.10926 -0.074 0.09194 -0.039 0.05463 C -0.022 0.03598 -0.008 0.01732 0 0 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-peanut">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 C 0.038 0 0.069 0.0413 0.069 0.09194 C 0.069 0.12525 0.056 0.15456 0.037 0.17188 C 0.037 0.17188 0.036 0.17188 0.036 0.17188 C 0.029 0.17854 0.025 0.1892 0.025 0.20119 C 0.025 0.21185 0.029 0.22118 0.034 0.22784 C 0.042 0.2385 0.047 0.25449 0.047 0.27048 C 0.047 0.30512 0.026 0.3331 0 0.3331 C -0.026 0.3331 -0.047 0.30512 -0.047 0.27048 C -0.047 0.25449 -0.042 0.2385 -0.034 0.22784 C -0.029 0.22118 -0.026 0.21185 -0.026 0.20119 C -0.026 0.1892 -0.03 0.17854 -0.036 0.17188 C -0.036 0.17188 -0.037 0.17188 -0.037 0.17188 C -0.057 0.15456 -0.07 0.12525 -0.07 0.09194 C -0.07 0.0413 -0.039 0 0 0 C 0 0 0 0 0 0 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-clover">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 C -0.118 -0.15722 0.132 -0.15722 0.011 0 C 0.132 -0.15722 0.132 0.17588 0.011 0.01466 C 0.132 0.17588 -0.118 0.17588 0 0.01466 C -0.118 0.17588 -0.118 -0.15722 0 0 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-pointy-star">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 C 0.069 0 0.124 -0.07461 0.124 -0.16655 C 0.124 -0.07461 0.179 -0.00133 0.248 -0.00133 C 0.179 -0.00133 0.125 0.07461 0.125 0.16655 C 0.125 0.07461 0.069 0 0 0 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-swoosh">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 C 0 0 0.017 -0.08661 0.017 -0.08661 C 0.034 -0.15722 0.061 -0.1852 0.1 -0.1852 C 0.12 -0.1852 0.138 -0.17455 0.152 -0.15722 C 0.162 -0.14523 0.174 -0.13857 0.187 -0.13857 C 0.212 -0.13857 0.233 -0.16255 0.241 -0.1972 C 0.241 -0.1972 0.25 -0.2385 0.25 -0.2385 C 0.25 -0.2385 0.232 -0.15056 0.232 -0.15056 C 0.215 -0.08128 0.188 -0.0533 0.15 -0.0533 C 0.13 -0.0533 0.111 -0.06396 0.096 -0.08261 C 0.087 -0.09327 0.075 -0.09993 0.063 -0.09993 C 0.038 -0.09993 0.017 -0.07595 0.009 -0.0413 C 0.009 -0.0413 0 0 0 0 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" smil:accelerate="0.5" smil:decelerate="0.5" pres:node-type="on-click" pres:preset-class="motion-path" pres:preset-id="ooo-motionpath-vertical-figure-8">
+ <anim:animateMotion smil:dur="2" smil:fill="hold" svg:path="M 0 0 C 0.033 0 0.06 0.03598 0.06 0.07994 C 0.06 0.13191 0.03 0.15056 0.012 0.15856 L -0.012 0.16655 C -0.03 0.17455 -0.06 0.19453 -0.06 0.25316 C -0.06 0.29046 -0.033 0.3331 0 0.3331 C 0.033 0.3331 0.06 0.29046 0.06 0.25316 C 0.06 0.19453 0.03 0.17455 0.012 0.16655 L -0.012 0.15856 C -0.03 0.15056 -0.06 0.13191 -0.06 0.07994 C -0.06 0.03598 -0.033 0 0 0 Z"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-media-start">
+ <anim:command smil:begin="0" smil:dur="0.001" smil:fill="hold" anim:command="play"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-media-stop">
+ <anim:command smil:begin="0" smil:dur="0.001" smil:fill="hold" anim:command="stop"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-media-toggle-pause">
+ <anim:command smil:begin="0" smil:dur="0.001" smil:fill="hold" anim:command="toggle-pause"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+</anim:seq>
diff --git a/test/user-template/user/config/soffice.cfg/simpress/transitions-ogl.xml b/test/user-template/user/config/soffice.cfg/simpress/transitions-ogl.xml
new file mode 100644
index 000000000000..ca1e3661c182
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/simpress/transitions-ogl.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<anim:seq xmlns:office="urn:oasis:names:tc:openoffice:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:openoffice:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:openoffice:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:openoffice:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:openoffice:xmlns:drawing:1.0" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:openoffice:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:openoffice:xmlns:datastyle:1.0" xmlns:pres="urn:oasis:names:tc:openoffice:xmlns:presentation:1.0" xmlns:svg="http://www.w3.org/2000/svg" xmlns:chart="urn:oasis:names:tc:openoffice:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:openoffice:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:openoffice:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:openoffice:xmlns:script:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:smil="http://www.w3.org/2001/SMIL20" xmlns:anim="urn:oasis:names:tc:openoffice:xmlns:animation:1.0" pres:node-type="main-sequence">
+ <anim:par pres:preset-id="tile-flip">
+ <anim:transitionFilter smil:type="miscShapeWipe" smil:subtype="across"/>
+ </anim:par>
+ <anim:par pres:preset-id="outside-cube">
+ <anim:transitionFilter smil:type="miscShapeWipe" smil:subtype="cornersOut"/>
+ </anim:par>
+ <anim:par pres:preset-id="revolving-circles">
+ <anim:transitionFilter smil:type="miscShapeWipe" smil:subtype="circle"/>
+ </anim:par>
+ <anim:par pres:preset-id="turning-helix">
+ <anim:transitionFilter smil:type="miscShapeWipe" smil:subtype="fanOutHorizontal"/>
+ </anim:par>
+ <anim:par pres:preset-id="inside-cube">
+ <anim:transitionFilter smil:type="miscShapeWipe" smil:subtype="cornersIn"/>
+ </anim:par>
+ <anim:par pres:preset-id="fall">
+ <anim:transitionFilter smil:type="miscShapeWipe" smil:subtype="leftToRight"/>
+ </anim:par>
+ <anim:par pres:preset-id="turn-around">
+ <anim:transitionFilter smil:type="miscShapeWipe" smil:subtype="topToBottom"/>
+ </anim:par>
+ <anim:par pres:preset-id="iris">
+ <anim:transitionFilter smil:type="miscShapeWipe" smil:subtype="topLeft"/>
+ </anim:par>
+ <anim:par pres:preset-id="turn-down">
+ <anim:transitionFilter smil:type="miscShapeWipe" smil:subtype="topRight"/>
+ </anim:par>
+ <anim:par pres:preset-id="rochade">
+ <anim:transitionFilter smil:type="miscShapeWipe" smil:subtype="bottomRight"/>
+ </anim:par>
+ <anim:par pres:preset-id="venetian3dv">
+ <anim:transitionFilter smil:type="miscShapeWipe" smil:subtype="bottomLeft"/>
+ </anim:par>
+ <anim:par pres:preset-id="venetian3dh">
+ <anim:transitionFilter smil:type="miscShapeWipe" smil:subtype="topCenter"/>
+ </anim:par>
+ <anim:par pres:preset-id="static">
+ <anim:transitionFilter smil:type="miscShapeWipe" smil:subtype="rightCenter"/>
+ </anim:par>
+ <anim:par pres:preset-id="finedissolve">
+ <anim:transitionFilter smil:type="miscShapeWipe" smil:subtype="bottomCenter"/>
+ </anim:par>
+ <anim:par pres:preset-id="zoom-rotate-in">
+ <anim:transitionFilter smil:type="zoom" smil:subtype="rotateIn"/>
+ </anim:par>
+ </anim:seq>
diff --git a/test/user-template/user/config/soffice.cfg/simpress/transitions.xml b/test/user-template/user/config/soffice.cfg/simpress/transitions.xml
new file mode 100644
index 000000000000..556eb6f504e8
--- /dev/null
+++ b/test/user-template/user/config/soffice.cfg/simpress/transitions.xml
@@ -0,0 +1,225 @@
+<?xml version="1.0"?>
+<anim:seq xmlns:office="urn:oasis:names:tc:openoffice:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:openoffice:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:openoffice:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:openoffice:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:openoffice:xmlns:drawing:1.0" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:openoffice:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:openoffice:xmlns:datastyle:1.0" xmlns:pres="urn:oasis:names:tc:openoffice:xmlns:presentation:1.0" xmlns:svg="http://www.w3.org/2000/svg" xmlns:chart="urn:oasis:names:tc:openoffice:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:openoffice:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:openoffice:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:openoffice:xmlns:script:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:smil="http://www.w3.org/2001/SMIL20" xmlns:anim="urn:oasis:names:tc:openoffice:xmlns:animation:1.0" pres:node-type="main-sequence">
+ <anim:par pres:preset-id="wipe-up">
+ <anim:transitionFilter smil:type="barWipe" smil:subtype="topToBottom" smil:direction="reverse"/>
+ </anim:par>
+ <anim:par pres:preset-id="wipe-right">
+ <anim:transitionFilter smil:type="barWipe" smil:subtype="leftToRight"/>
+ </anim:par>
+ <anim:par pres:preset-id="wipe-left">
+ <anim:transitionFilter smil:type="barWipe" smil:subtype="leftToRight" smil:direction="reverse"/>
+ </anim:par>
+ <anim:par pres:preset-id="wipe-down">
+ <anim:transitionFilter smil:type="barWipe" smil:subtype="topToBottom"/>
+ </anim:par>
+ <anim:par pres:preset-id="wheel-clockwise-1-spoke">
+ <anim:transitionFilter smil:type="pinWheelWipe" smil:subtype="oneBlade"/>
+ </anim:par>
+ <anim:par pres:preset-id="wheel-clockwise-2-spokes">
+ <anim:transitionFilter smil:type="pinWheelWipe" smil:subtype="twoBladeVertical"/>
+ </anim:par>
+ <anim:par pres:preset-id="wheel-clockwise-3-spokes">
+ <anim:transitionFilter smil:type="pinWheelWipe" smil:subtype="threeBlade"/>
+ </anim:par>
+ <anim:par pres:preset-id="wheel-clockwise-4-spokes">
+ <anim:transitionFilter smil:type="pinWheelWipe" smil:subtype="fourBlade"/>
+ </anim:par>
+ <anim:par pres:preset-id="wheel-clockwise-8-spokes">
+ <anim:transitionFilter smil:type="pinWheelWipe" smil:subtype="eightBlade"/>
+ </anim:par>
+ <anim:par pres:preset-id="uncover-down">
+ <anim:transitionFilter smil:type="slideWipe" smil:subtype="fromTop" smil:direction="reverse"/>
+ </anim:par>
+ <anim:par pres:preset-id="uncover-left">
+ <anim:transitionFilter smil:type="slideWipe" smil:subtype="fromRight" smil:direction="reverse"/>
+ </anim:par>
+ <anim:par pres:preset-id="uncover-right">
+ <anim:transitionFilter smil:type="slideWipe" smil:subtype="fromLeft" smil:direction="reverse"/>
+ </anim:par>
+ <anim:par pres:preset-id="uncover-up">
+ <anim:transitionFilter smil:type="slideWipe" smil:subtype="fromBottom" smil:direction="reverse"/>
+ </anim:par>
+ <anim:par pres:preset-id="uncover-left-down">
+ <anim:transitionFilter smil:type="slideWipe" smil:subtype="fromTopRight" smil:direction="reverse"/>
+ </anim:par>
+ <anim:par pres:preset-id="uncover-left-up">
+ <anim:transitionFilter smil:type="slideWipe" smil:subtype="fromBottomRight" smil:direction="reverse"/>
+ </anim:par>
+ <anim:par pres:preset-id="uncover-right-down">
+ <anim:transitionFilter smil:type="slideWipe" smil:subtype="fromTopLeft" smil:direction="reverse"/>
+ </anim:par>
+ <anim:par pres:preset-id="uncover-right-up">
+ <anim:transitionFilter smil:type="slideWipe" smil:subtype="fromBottomLeft" smil:direction="reverse"/>
+ </anim:par>
+<!-- <anim:par pres:preset-id="barn-inVertical"> -->
+<!-- <anim:transitionFilter smil:type="barnDoorWipe" smil:subtype="vertical"/> -->
+<!-- </anim:par> -->
+<!-- <anim:par pres:preset-id="barn-outVertical"> -->
+<!-- <anim:transitionFilter smil:type="barnDoorWipe" smil:subtype="vertical" smil:direction="reverse"/> -->
+<!-- </anim:par> -->
+<!-- <anim:par pres:preset-id="barn-inHorizontal"> -->
+<!-- <anim:transitionFilter smil:type="barnDoorWipe" smil:subtype="horizontal"/> -->
+<!-- </anim:par> -->
+<!-- <anim:par pres:preset-id="barn-outHorizontal"> -->
+<!-- <anim:transitionFilter smil:type="barnDoorWipe" smil:subtype="horizontal" smil:direction="reverse"/> -->
+<!-- </anim:par> -->
+ <anim:par pres:preset-id="random-bars-vertical">
+ <anim:transitionFilter smil:type="randomBarWipe" smil:subtype="vertical"/>},
+ </anim:par>
+ <anim:par pres:preset-id="random-bars-horizontal">
+ <anim:transitionFilter smil:type="randomBarWipe" smil:subtype="horizontal"/>
+ </anim:par>
+ <anim:par pres:preset-id="checkerboard-down">
+ <anim:transitionFilter smil:type="checkerBoardWipe" smil:subtype="down"/>},
+ </anim:par>
+ <anim:par pres:preset-id="checkerboard-across">
+ <anim:transitionFilter smil:type="checkerBoardWipe" smil:subtype="across"/>
+ </anim:par>
+ <anim:par pres:preset-id="shape-plus">
+ <anim:transitionFilter smil:type="fourBoxWipe" smil:subtype="cornersOut"/>
+ </anim:par>
+<!-- <anim:par pres:preset-id="plus-in"> -->
+<!-- <anim:transitionFilter smil:type="fourBoxWipe" smil:subtype="cornersIn"/> -->
+<!-- </anim:par> -->
+ <anim:par pres:preset-id="shape-diamond">
+ <anim:transitionFilter smil:type="irisWipe" smil:subtype="diamond"/>
+ </anim:par>
+<!-- <anim:par pres:preset-id="diamond-in"> -->
+<!-- <anim:transitionFilter smil:type="irisWipe" smil:subtype="diamond" smil:direction="reverse"/> -->
+<!-- </anim:par> -->
+ <anim:par pres:preset-id="shape-circle">
+ <anim:transitionFilter smil:type="ellipseWipe" smil:subtype="circle"/>
+ </anim:par>
+<!-- <anim:par pres:preset-id="circle-in"> -->
+<!-- <anim:transitionFilter smil:type="ellipseWipe" smil:subtype="circle" smil:direction="reverse"/> -->
+<!-- </anim:par> -->
+ <anim:par pres:preset-id="box-out">
+ <anim:transitionFilter smil:type="irisWipe" smil:subtype="rectangle"/>
+ </anim:par>
+ <anim:par pres:preset-id="box-in">
+ <anim:transitionFilter smil:type="irisWipe" smil:subtype="rectangle" smil:direction="reverse"/>
+ </anim:par>
+ <anim:par pres:preset-id="wedge">
+ <anim:transitionFilter smil:type="fanWipe" smil:subtype="centerTop"/>
+ </anim:par>
+ <anim:par pres:preset-id="venetian-blinds-vertical">
+ <anim:transitionFilter smil:type="blindsWipe" smil:subtype="vertical"/>
+ </anim:par>
+ <anim:par pres:preset-id="venetian-blinds-horizontal">
+ <anim:transitionFilter smil:type="blindsWipe" smil:subtype="horizontal"/>
+ </anim:par>
+ <anim:par pres:preset-id="fade-through-black">
+ <anim:transitionFilter smil:type="fade" smil:subtype="fadeOverColor" smil:fadeColor="#000000"/>
+ </anim:par>
+ <anim:par pres:preset-id="cut-through-black">
+ <anim:transitionFilter smil:type="barWipe" smil:subtype="fadeOverColor" smil:fadeColor="#000000"/>
+ </anim:par>
+ <anim:par pres:preset-id="cover-down">
+ <anim:transitionFilter smil:type="slideWipe" smil:subtype="fromTop"/>
+ </anim:par>
+ <anim:par pres:preset-id="cover-left">
+ <anim:transitionFilter smil:type="slideWipe" smil:subtype="fromRight"/>
+ </anim:par>
+ <anim:par pres:preset-id="cover-right">
+ <anim:transitionFilter smil:type="slideWipe" smil:subtype="fromLeft"/>
+ </anim:par>
+ <anim:par pres:preset-id="cover-up">
+ <anim:transitionFilter smil:type="slideWipe" smil:subtype="fromBottom"/>
+ </anim:par>
+ <anim:par pres:preset-id="cover-left-down">
+ <anim:transitionFilter smil:type="slideWipe" smil:subtype="fromTopRight"/>
+ </anim:par>
+ <anim:par pres:preset-id="cover-left-up">
+ <anim:transitionFilter smil:type="slideWipe" smil:subtype="fromBottomRight"/>
+ </anim:par>
+ <anim:par pres:preset-id="cover-right-down">
+ <anim:transitionFilter smil:type="slideWipe" smil:subtype="fromTopLeft"/>
+ </anim:par>
+ <anim:par pres:preset-id="cover-right-up">
+ <anim:transitionFilter smil:type="slideWipe" smil:subtype="fromBottomLeft"/>
+ </anim:par>
+ <anim:par pres:preset-id="dissolve">
+ <anim:transitionFilter smil:type="dissolve" smil:subtype="default"/>
+ </anim:par>
+ <anim:par pres:preset-id="random-transition">
+ <anim:transitionFilter smil:type="random"/>
+ </anim:par>
+ <!--anim:par pres:preset-id="zoom-rotate-in">
+ <anim:transitionFilter smil:type="zoom" smil:subtype="rotateIn"/>
+ </anim:par-->
+ <anim:par pres:preset-id="clock-wipe-twelve">
+ <anim:transitionFilter smil:type="clockWipe" smil:subtype="clockwiseTwelve"/>
+ </anim:par>
+ <anim:par pres:preset-id="reverse-clock-wipe-twelve">
+ <anim:transitionFilter smil:type="clockWipe" smil:subtype="clockwiseTwelve" smil:direction="reverse"/>
+ </anim:par>
+ <anim:par pres:preset-id="spiral-wipe-top-left-clockwise">
+ <anim:transitionFilter smil:type="spiralWipe" smil:subtype="topLeftClockwise"/>
+ </anim:par>
+ <anim:par pres:preset-id="spiral-wipe-top-right-counter-clockwise">
+ <anim:transitionFilter smil:type="spiralWipe" smil:subtype="topRightCounterClockwise"/>
+ </anim:par>
+ <anim:par pres:preset-id="spiral-wipe-out-to-bottom-right-clockwise">
+ <anim:transitionFilter smil:type="spiralWipe" smil:subtype="bottomRightCounterClockwise" smil:direction="reverse"/>
+ </anim:par>
+ <anim:par pres:preset-id="spiral-wipe-out-to-bottom-left-counter-clockwise">
+ <anim:transitionFilter smil:type="spiralWipe" smil:subtype="bottomLeftClockwise" smil:direction="reverse"/>
+ </anim:par>
+ <anim:par pres:preset-id="snake-wipe-top-left-vertical">
+ <anim:transitionFilter smil:type="snakeWipe" smil:subtype="topLeftVertical"/>
+ </anim:par>
+ <anim:par pres:preset-id="snake-wipe-top-left-horizontal">
+ <anim:transitionFilter smil:type="snakeWipe" smil:subtype="topLeftHorizontal"/>
+ </anim:par>
+ <anim:par pres:preset-id="snake-wipe-bottom-right-vertical">
+ <anim:transitionFilter smil:type="snakeWipe" smil:subtype="topLeftVertical" smil:direction="reverse"/>
+ </anim:par>
+ <anim:par pres:preset-id="snake-wipe-bottom-right-horizontal">
+ <anim:transitionFilter smil:type="snakeWipe" smil:subtype="topLeftHorizontal" smil:direction="reverse"/>
+ </anim:par>
+ <anim:par pres:preset-id="comb-horizontal">
+ <anim:transitionFilter smil:type="pushWipe" smil:subtype="combHorizontal"/>
+ </anim:par>
+ <anim:par pres:preset-id="comb-vertical">
+ <anim:transitionFilter smil:type="pushWipe" smil:subtype="combVertical"/>
+ </anim:par>
+ <anim:par pres:preset-id="fade-smoothly">
+ <anim:transitionFilter smil:type="fade" smil:subtype="crossfade"/>
+ </anim:par>
+ <anim:par pres:preset-id="push-down">
+ <anim:transitionFilter smil:type="pushWipe" smil:subtype="fromTop"/>
+ </anim:par>
+ <anim:par pres:preset-id="push-left">
+ <anim:transitionFilter smil:type="pushWipe" smil:subtype="fromRight"/>
+ </anim:par>
+ <anim:par pres:preset-id="push-right">
+ <anim:transitionFilter smil:type="pushWipe" smil:subtype="fromLeft"/>
+ </anim:par>
+ <anim:par pres:preset-id="push-up">
+ <anim:transitionFilter smil:type="pushWipe" smil:subtype="fromBottom"/>
+ </anim:par>
+ <anim:par pres:preset-id="split-horizontal-in">
+ <anim:transitionFilter smil:type="barnDoorWipe" smil:subtype="horizontal" smil:direction="reverse"/>
+ </anim:par>
+ <anim:par pres:preset-id="split-horizontal-out">
+ <anim:transitionFilter smil:type="barnDoorWipe" smil:subtype="horizontal"/>
+ </anim:par>
+ <anim:par pres:preset-id="split-vertical-in">
+ <anim:transitionFilter smil:type="barnDoorWipe" smil:subtype="vertical" smil:direction="reverse"/>
+ </anim:par>
+ <anim:par pres:preset-id="split-vertical-out">
+ <anim:transitionFilter smil:type="barnDoorWipe" smil:subtype="vertical"/>
+ </anim:par>
+ <anim:par pres:preset-id="diagonal-squares-left-down">
+ <anim:transitionFilter smil:type="waterfallWipe" smil:subtype="horizontalRight"/>
+ </anim:par>
+ <anim:par pres:preset-id="diagonal-squares-left-up">
+ <anim:transitionFilter smil:type="waterfallWipe" smil:subtype="horizontalLeft" smil:direction="reverse"/>
+ </anim:par>
+ <anim:par pres:preset-id="diagonal-squares-right-down">
+ <anim:transitionFilter smil:type="waterfallWipe" smil:subtype="horizontalLeft"/>
+ </anim:par>
+ <anim:par pres:preset-id="diagonal-squares-right-up">
+ <anim:transitionFilter smil:type="waterfallWipe" smil:subtype="horizontalRight" smil:direction="reverse"/>
+ </anim:par>
+ </anim:seq>
diff --git a/test/user-template/user/config/symbol/l_2people.bmp b/test/user-template/user/config/symbol/l_2people.bmp
new file mode 100644
index 000000000000..5b7a8fc17f2e
--- /dev/null
+++ b/test/user-template/user/config/symbol/l_2people.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/l_attention1.bmp b/test/user-template/user/config/symbol/l_attention1.bmp
new file mode 100644
index 000000000000..bf6890f39341
--- /dev/null
+++ b/test/user-template/user/config/symbol/l_attention1.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/l_attention2.bmp b/test/user-template/user/config/symbol/l_attention2.bmp
new file mode 100644
index 000000000000..120c9e9f223a
--- /dev/null
+++ b/test/user-template/user/config/symbol/l_attention2.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/l_attention3.bmp b/test/user-template/user/config/symbol/l_attention3.bmp
new file mode 100644
index 000000000000..7b48a9cf0b06
--- /dev/null
+++ b/test/user-template/user/config/symbol/l_attention3.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/l_candy.bmp b/test/user-template/user/config/symbol/l_candy.bmp
new file mode 100644
index 000000000000..935fdf8c378a
--- /dev/null
+++ b/test/user-template/user/config/symbol/l_candy.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/l_face.bmp b/test/user-template/user/config/symbol/l_face.bmp
new file mode 100644
index 000000000000..c44d95616a38
--- /dev/null
+++ b/test/user-template/user/config/symbol/l_face.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/l_flower.bmp b/test/user-template/user/config/symbol/l_flower.bmp
new file mode 100644
index 000000000000..ced7409f1285
--- /dev/null
+++ b/test/user-template/user/config/symbol/l_flower.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/l_ghost.bmp b/test/user-template/user/config/symbol/l_ghost.bmp
new file mode 100644
index 000000000000..877ba2713893
--- /dev/null
+++ b/test/user-template/user/config/symbol/l_ghost.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/l_halloween.bmp b/test/user-template/user/config/symbol/l_halloween.bmp
new file mode 100644
index 000000000000..8326cd23a269
--- /dev/null
+++ b/test/user-template/user/config/symbol/l_halloween.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/l_home.bmp b/test/user-template/user/config/symbol/l_home.bmp
new file mode 100644
index 000000000000..c34900a2bc67
--- /dev/null
+++ b/test/user-template/user/config/symbol/l_home.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/l_lamp.bmp b/test/user-template/user/config/symbol/l_lamp.bmp
new file mode 100644
index 000000000000..6a824ef26e82
--- /dev/null
+++ b/test/user-template/user/config/symbol/l_lamp.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/l_lock.bmp b/test/user-template/user/config/symbol/l_lock.bmp
new file mode 100644
index 000000000000..986f4d055576
--- /dev/null
+++ b/test/user-template/user/config/symbol/l_lock.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/l_page_b.bmp b/test/user-template/user/config/symbol/l_page_b.bmp
new file mode 100644
index 000000000000..94c3c67dd56c
--- /dev/null
+++ b/test/user-template/user/config/symbol/l_page_b.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/l_page_g.bmp b/test/user-template/user/config/symbol/l_page_g.bmp
new file mode 100644
index 000000000000..f0b8d7dc6576
--- /dev/null
+++ b/test/user-template/user/config/symbol/l_page_g.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/l_page_y.bmp b/test/user-template/user/config/symbol/l_page_y.bmp
new file mode 100644
index 000000000000..39e7c98c2c98
--- /dev/null
+++ b/test/user-template/user/config/symbol/l_page_y.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/l_people.bmp b/test/user-template/user/config/symbol/l_people.bmp
new file mode 100644
index 000000000000..112339015a7d
--- /dev/null
+++ b/test/user-template/user/config/symbol/l_people.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/l_rose.bmp b/test/user-template/user/config/symbol/l_rose.bmp
new file mode 100644
index 000000000000..5feafeed39ad
--- /dev/null
+++ b/test/user-template/user/config/symbol/l_rose.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/l_save.bmp b/test/user-template/user/config/symbol/l_save.bmp
new file mode 100644
index 000000000000..77a33b032db4
--- /dev/null
+++ b/test/user-template/user/config/symbol/l_save.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/l_smiley_1.bmp b/test/user-template/user/config/symbol/l_smiley_1.bmp
new file mode 100644
index 000000000000..1d4c064b4c88
--- /dev/null
+++ b/test/user-template/user/config/symbol/l_smiley_1.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/l_smiley_oh.bmp b/test/user-template/user/config/symbol/l_smiley_oh.bmp
new file mode 100644
index 000000000000..54d6067f2138
--- /dev/null
+++ b/test/user-template/user/config/symbol/l_smiley_oh.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/l_smiley_sad.bmp b/test/user-template/user/config/symbol/l_smiley_sad.bmp
new file mode 100644
index 000000000000..bfa17eaf012e
--- /dev/null
+++ b/test/user-template/user/config/symbol/l_smiley_sad.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/l_snow.bmp b/test/user-template/user/config/symbol/l_snow.bmp
new file mode 100644
index 000000000000..fce169d0a611
--- /dev/null
+++ b/test/user-template/user/config/symbol/l_snow.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/l_star.bmp b/test/user-template/user/config/symbol/l_star.bmp
new file mode 100644
index 000000000000..5a12554911f1
--- /dev/null
+++ b/test/user-template/user/config/symbol/l_star.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_arrow-1.bmp b/test/user-template/user/config/symbol/s_arrow-1.bmp
new file mode 100644
index 000000000000..4b77c9b44afd
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_arrow-1.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_arrow-2.bmp b/test/user-template/user/config/symbol/s_arrow-2.bmp
new file mode 100644
index 000000000000..e7c94e725911
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_arrow-2.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_arrow-3.bmp b/test/user-template/user/config/symbol/s_arrow-3.bmp
new file mode 100644
index 000000000000..14d544dc8c50
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_arrow-3.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_arrow-4.bmp b/test/user-template/user/config/symbol/s_arrow-4.bmp
new file mode 100644
index 000000000000..d0a192b6ce6d
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_arrow-4.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_attention1.bmp b/test/user-template/user/config/symbol/s_attention1.bmp
new file mode 100644
index 000000000000..d3fe270df958
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_attention1.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_attention2.bmp b/test/user-template/user/config/symbol/s_attention2.bmp
new file mode 100644
index 000000000000..dc9df13aa9f9
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_attention2.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_attention3.bmp b/test/user-template/user/config/symbol/s_attention3.bmp
new file mode 100644
index 000000000000..b52cd4d4e9ad
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_attention3.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_ball-b.bmp b/test/user-template/user/config/symbol/s_ball-b.bmp
new file mode 100644
index 000000000000..aba133720c5d
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_ball-b.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_ball-g.bmp b/test/user-template/user/config/symbol/s_ball-g.bmp
new file mode 100644
index 000000000000..be71aa3045e7
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_ball-g.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_ball-r.bmp b/test/user-template/user/config/symbol/s_ball-r.bmp
new file mode 100644
index 000000000000..40f49878b75f
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_ball-r.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_ball.bmp b/test/user-template/user/config/symbol/s_ball.bmp
new file mode 100644
index 000000000000..423f065ebdf7
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_ball.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_bug.bmp b/test/user-template/user/config/symbol/s_bug.bmp
new file mode 100644
index 000000000000..ca450ae47c59
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_bug.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_clover.bmp b/test/user-template/user/config/symbol/s_clover.bmp
new file mode 100644
index 000000000000..cff9bd253a61
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_clover.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_egg.bmp b/test/user-template/user/config/symbol/s_egg.bmp
new file mode 100644
index 000000000000..7a3a5521e90b
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_egg.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_face.bmp b/test/user-template/user/config/symbol/s_face.bmp
new file mode 100644
index 000000000000..60b5db9bd3a0
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_face.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_flower.bmp b/test/user-template/user/config/symbol/s_flower.bmp
new file mode 100644
index 000000000000..b560e3240422
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_flower.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_ghost.bmp b/test/user-template/user/config/symbol/s_ghost.bmp
new file mode 100644
index 000000000000..a657110ab50b
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_ghost.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_group.bmp b/test/user-template/user/config/symbol/s_group.bmp
new file mode 100644
index 000000000000..fe80f860834d
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_group.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_halloween.bmp b/test/user-template/user/config/symbol/s_halloween.bmp
new file mode 100644
index 000000000000..d1885178325b
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_halloween.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_heart.bmp b/test/user-template/user/config/symbol/s_heart.bmp
new file mode 100644
index 000000000000..6cea8eca909e
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_heart.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_home.bmp b/test/user-template/user/config/symbol/s_home.bmp
new file mode 100644
index 000000000000..931d25dc69b0
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_home.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_lock.bmp b/test/user-template/user/config/symbol/s_lock.bmp
new file mode 100644
index 000000000000..09914cbd14ac
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_lock.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_ok-g.bmp b/test/user-template/user/config/symbol/s_ok-g.bmp
new file mode 100644
index 000000000000..8c3480ce0bdb
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_ok-g.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_ok-r.bmp b/test/user-template/user/config/symbol/s_ok-r.bmp
new file mode 100644
index 000000000000..442391512ea2
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_ok-r.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_ok.bmp b/test/user-template/user/config/symbol/s_ok.bmp
new file mode 100644
index 000000000000..ca7372011580
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_ok.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_page_b.bmp b/test/user-template/user/config/symbol/s_page_b.bmp
new file mode 100644
index 000000000000..c97bc83c2203
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_page_b.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_page_g.bmp b/test/user-template/user/config/symbol/s_page_g.bmp
new file mode 100644
index 000000000000..ddeb8b5776b4
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_page_g.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_page_y.bmp b/test/user-template/user/config/symbol/s_page_y.bmp
new file mode 100644
index 000000000000..1af36585931f
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_page_y.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_pen-b.bmp b/test/user-template/user/config/symbol/s_pen-b.bmp
new file mode 100644
index 000000000000..bc340dbe86a5
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_pen-b.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_pen-g.bmp b/test/user-template/user/config/symbol/s_pen-g.bmp
new file mode 100644
index 000000000000..fe5ae67e90f0
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_pen-g.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_pen-r.bmp b/test/user-template/user/config/symbol/s_pen-r.bmp
new file mode 100644
index 000000000000..437df472c218
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_pen-r.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_people.bmp b/test/user-template/user/config/symbol/s_people.bmp
new file mode 100644
index 000000000000..d0add8e7b1d0
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_people.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_smily_1.bmp b/test/user-template/user/config/symbol/s_smily_1.bmp
new file mode 100644
index 000000000000..0fcdfdf0dcd2
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_smily_1.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_smily_oh.bmp b/test/user-template/user/config/symbol/s_smily_oh.bmp
new file mode 100644
index 000000000000..a9e15d73cde0
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_smily_oh.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_smily_sad.bmp b/test/user-template/user/config/symbol/s_smily_sad.bmp
new file mode 100644
index 000000000000..62f140edc972
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_smily_sad.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_snow.bmp b/test/user-template/user/config/symbol/s_snow.bmp
new file mode 100644
index 000000000000..a19e235e3c5d
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_snow.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_star.bmp b/test/user-template/user/config/symbol/s_star.bmp
new file mode 100644
index 000000000000..275325f4b303
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_star.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_team.bmp b/test/user-template/user/config/symbol/s_team.bmp
new file mode 100644
index 000000000000..08fcc178eeb8
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_team.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_x-g.bmp b/test/user-template/user/config/symbol/s_x-g.bmp
new file mode 100644
index 000000000000..e014a6cb79dc
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_x-g.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_x-r.bmp b/test/user-template/user/config/symbol/s_x-r.bmp
new file mode 100644
index 000000000000..01c236860da7
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_x-r.bmp
Binary files differ
diff --git a/test/user-template/user/config/symbol/s_x.bmp b/test/user-template/user/config/symbol/s_x.bmp
new file mode 100644
index 000000000000..01cbbc1b9e48
--- /dev/null
+++ b/test/user-template/user/config/symbol/s_x.bmp
Binary files differ
diff --git a/test/user-template/user/config/webcast/common.inc b/test/user-template/user/config/webcast/common.inc
new file mode 100644
index 000000000000..f0dd463821d2
--- /dev/null
+++ b/test/user-template/user/config/webcast/common.inc
@@ -0,0 +1,110 @@
+<%
+
+public const cnRefreshTime = 5 ' refresh time in seconds
+
+' filename for file with all pictures and file containing the name of the current picture
+public const csFilePicture= "picture.txt"
+public const csFileCurrent= "currpic.txt"
+
+' constants for file-access
+const ForReading = 1
+const ForWriting = 2
+
+' new-line delimiter
+Dim FILE_LINE_DELIMITER
+FILE_LINE_DELIMITER = vbCRLF
+
+'/**
+' * Get data from file using a given separator.
+' */
+function File_getDataVirtual( sFilename, sServerPath, sSeperator )
+ call Err.Clear()
+
+ Dim aFSObject, sServerFileName
+
+ Set aFSObject = CreateObject("Scripting.FileSystemObject")
+ sServerFileName = aFSObject.BuildPath( Server.MapPath( sServerPath ), sFileName )
+
+ File_getDataVirtual = ""
+ if Err.Number = 0 then
+ File_getDataVirtual = File_read( sServerFileName )
+ If Not IsNull(File_getDataVirtual) Then
+ File_getDataVirtual = Replace( File_getDataVirtual, FILE_LINE_DELIMITER, sSeperator)
+ File_getDataVirtual = Split( File_getDataVirtual, sSeperator)
+ End If
+ end if
+end function
+
+'/**
+' * Get data from a file
+' */
+function File_read( sFilename )
+ call Err.Clear()
+
+ Dim aFSObject, aStream
+
+ Set aFSObject = CreateObject( "Scripting.FileSystemObject" )
+ Set aStream = aFSObject.OpenTextFile( sFilename, ForReading )
+
+ while not aStream.AtEndOfStream
+ File_read = File_read + aStream.ReadLine + FILE_LINE_DELIMITER
+ wend
+
+ aStream.Close
+end function
+
+'/**
+' * Get data from a file given by filename and virtual pathname
+' */
+Function File_readVirtual(sFileName, sServerPath)
+ call Err.Clear()
+
+ Dim aFSObject, sServerFileName
+
+ Set aFSObject = CreateObject("Scripting.FileSystemObject")
+ sServerFileName = aFSObject.BuildPath( Server.MapPath( sServerPath ), sFileName )
+
+ File_readVirtual = ""
+ if Err.Number = 0 then
+ File_readVirtual = File_read( sServerFileName )
+ end if
+End Function
+
+'/**
+' * Write data to a file
+' */
+function File_write( sFileName, sText )
+ call Err.Clear()
+
+ Dim aFSObject, aFile
+
+ Set aFSObject = CreateObject( "Scripting.FileSystemObject" )
+ if Err.Number = 0 then
+ Set aFile = aFSObject.CreateTextFile( sFileName, TRUE )
+ if Err.Number = 0 then
+ aFile.Write( sText )
+ aFile.Close
+ end if
+ end if
+
+ File_write = ( Err.Number = 0 )
+end function
+
+'/**
+' * Write data to a file given by filename and virtual pathname
+' */
+function File_writeVirtual( sFileName, sServerPath, sText )
+ call Err.Clear()
+
+ Dim aFSObject, aServerFile
+
+ Set aFSObject = CreateObject( "Scripting.FileSystemObject" )
+ aServerFile = aFSObject.BuildPath( Server.MapPath( sServerPath ), sFileName )
+
+ If Err.Number = 0 Then
+ File_writeVirtual = File_write( aServerFile, sText )
+ else
+ File_writeVirtual = false
+ End If
+end function
+%> \ No newline at end of file
diff --git a/test/user-template/user/config/webcast/common.pl b/test/user-template/user/config/webcast/common.pl
new file mode 100644
index 000000000000..fc4a4866a6d7
--- /dev/null
+++ b/test/user-template/user/config/webcast/common.pl
@@ -0,0 +1,48 @@
+package common;
+
+$REFRESH_TIME = 5;
+
+sub File_read
+{
+ $sFilename = @_[ 0 ];
+
+ @aFileContentList = "";
+ open( F_CURRPIC, "<" . $sFilename ) || "Could not open file " . $sFilename . " !<BR>\n";
+ while( <F_CURRPIC> )
+ {
+ push( @aFileContentList, $_ );
+ }
+ close( F_CURRPIC );
+
+ return @aFileContentList;
+} ##File_read
+
+
+sub HTTP_getRequest
+{
+ # post- or get- method ?
+ if( $ENV{ 'REQUEST_METHOD' } eq 'GET' )
+ {
+ # get parameters from querystring (get)
+ $sRequest = $ENV{ 'QUERY_STRING' }
+ }
+ else
+ {
+ # get parameters from stdin (post)
+ read( STDIN, $sRequest, $ENV{ 'CONTENT_LENGTH' } );
+ }
+ # process parameters
+ @aRequestList = split( /&/, $sRequest );
+ foreach $Feld ( @aRequestList )
+ {
+ ( $name, $sValue ) = split( /=/, $Feld );
+ $sValue =~ tr/+/ /;
+ $sValue =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
+ $sValue =~ s/<!--(.|\n)*-->//g;
+ $aRequestMap{ $name } = $sValue;
+ }
+
+ return %aRequestMap;
+} ##HTTP_getRequest
+
+1; \ No newline at end of file
diff --git a/test/user-template/user/config/webcast/edit.asp b/test/user-template/user/config/webcast/edit.asp
new file mode 100644
index 000000000000..654a441fe357
--- /dev/null
+++ b/test/user-template/user/config/webcast/edit.asp
@@ -0,0 +1,9 @@
+<HTML>
+<HEAD>
+ <TITLE>$$1</TITLE>
+</HEAD>
+<FRAMESET ROWS="90%,10%" FRAMEBORDER=yes>
+ <FRAME name="view" src="webcast.asp">
+ <FRAME name="edit" src="editpic.asp">
+</FRAMESET>
+</HTML> \ No newline at end of file
diff --git a/test/user-template/user/config/webcast/edit.pl b/test/user-template/user/config/webcast/edit.pl
new file mode 100644
index 000000000000..e1888f7fef3e
--- /dev/null
+++ b/test/user-template/user/config/webcast/edit.pl
@@ -0,0 +1,18 @@
+<HTML>
+
+<HEAD>
+ <TITLE>$$1</TITLE>
+</HEAD>
+
+<FRAMESET ROWS="*,42,2" BORDER=0 FRAMEBORDER=0 FRAMESPACING=0>
+ <FRAME SRC="$$3show.pl" NAME="frame1" SCROLLING=yes RESIZE MARGINWIDTH=0 MARGINHEIGHT=0 FRAMEBORDER=0>
+ <FRAME SRC="$$3editpic.pl" NAME="frame3" SCROLLING=yes RESIZE MARGINWIDTH=0 MARGINHEIGHT=0 FRAMEBORDER=0>
+ <FRAME SRC="$$3poll.pl" NAME="frame2" SCROLLING=no NORESIZE MARGINWIDTH=0 MARGINHEIGHT=0 FRAMEBORDER=0>
+</FRAMESET>
+
+<NOFRAMES>
+
+<BODY BGCOLOR="white">
+ <META HTTP-EQUIV="-REFRESH" CONTENT="1;URL=$$3show.pl">
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/test/user-template/user/config/webcast/editpic.asp b/test/user-template/user/config/webcast/editpic.asp
new file mode 100644
index 000000000000..34a4a51e4473
--- /dev/null
+++ b/test/user-template/user/config/webcast/editpic.asp
@@ -0,0 +1,58 @@
+<%
+ Option Explicit
+ Response.Expires = 0
+ Response.Buffer = True
+%>
+
+<!-- #include file = "common.inc" -->
+
+
+<%
+ Dim aPictureArray, nPic, nUpper
+
+ aPictureArray = File_getDataVirtual( csFilePicture, ".", ";" )
+ nPic = File_readVirtual( "currpic.txt", "." )
+ nUpper = CInt( (UBound(aPictureArray) - 1 ) / 2)
+%>
+
+<HTML>
+<HEAD>
+</HEAD>
+<BODY>
+ <FORM action="savepic.asp" method=get>
+ <%
+ if isNumeric(nPic) then
+ if (CInt( nPic ) >= CInt( (UBound(aPictureArray ) - 1 ) / 2 )) then
+ nPic = nUpper
+ end if
+ else
+ nPic = nUpper
+ end if
+
+
+ if CInt( nPic ) > 1 then
+ %>
+ <INPUT type=submit name="Auswahl" value="-"></INPUT>
+ <%
+ else
+ %>
+ <INPUT type=button value=" "></INPUT>
+ <%
+ end if
+ %>
+ <INPUT type=text name="CurrPic" value="<% = nPic %>" SIZE=3></INPUT>
+ <%
+ if CInt( nPic ) < CInt( nUpper ) then
+ %>
+ <INPUT type=submit name="Auswahl" value="+"></INPUT>
+ <%
+ else
+ %>
+ <INPUT type=button value=" "></INPUT>
+ <%
+ end if
+ %>
+ <INPUT type=submit name="Auswahl" value="$$2"></INPUT>
+ </FORM>
+</BODY>
+</HTML>
diff --git a/test/user-template/user/config/webcast/editpic.pl b/test/user-template/user/config/webcast/editpic.pl
new file mode 100644
index 000000000000..834421601b77
--- /dev/null
+++ b/test/user-template/user/config/webcast/editpic.pl
@@ -0,0 +1,40 @@
+#!/usr/bin/perl
+
+require "common.pl";
+
+print "Content-type: text/html\n\n";
+print "<HTML>\n";
+
+print "<HEAD>\n";
+print "<title>editpic.pl</title>";
+print "</HEAD>\n";
+
+print "<BODY>\n";
+ $sCurrPic = join( "", common::File_read( "currpic.txt" ) );
+ @aPictureArray = common::File_read( "picture.txt" );
+ $nPictureArrayLen = @aPictureArray;
+ print "<FORM action=\"savepic.pl\" method=get>\n";
+ if( abs( $sCurrPic ) > 1 )
+ {
+ print "<INPUT type=submit name=\"Auswahl\" value=\"-\"></INPUT>\n";
+ }
+ else
+ {
+ print "<INPUT type=button value=\" \"></INPUT>\n";
+ }
+ print "<INPUT type=text name=\"CurrPic\" value=\"";
+ print $sCurrPic;
+ print "\" SIZE=3></INPUT>\n";
+ if( abs( $sCurrPic ) < ( $nPictureArrayLen - 1 ) )
+ {
+ print "<INPUT type=submit name=\"Auswahl\" value=\"+\"></INPUT>\n";
+ }
+ else
+ {
+ print "<INPUT type=button value=\" \"></INPUT>\n";
+ }
+ print "<INPUT type=submit name=\"Auswahl\" value=\"$$2\"></INPUT>\n";
+ print "</FORM>\n";
+print "</BODY>\n";
+
+print "</HTML>\n";
diff --git a/test/user-template/user/config/webcast/index.pl b/test/user-template/user/config/webcast/index.pl
new file mode 100644
index 000000000000..1fb265f54092
--- /dev/null
+++ b/test/user-template/user/config/webcast/index.pl
@@ -0,0 +1,17 @@
+<HTML>
+
+<HEAD>
+ <TITLE>$$1</TITLE>
+</HEAD>
+
+<FRAMESET ROWS="*" BORDER=0 FRAMEBORDER=0 FRAMESPACING=0>
+ <FRAME SRC="$$3webcast.pl" NAME="frame1" SCROLLING=yes RESIZE MARGINWIDTH=0 MARGINHEIGHT=0 FRAMEBORDER=0>
+</FRAMESET>
+
+<NOFRAMES>
+
+<BODY BGCOLOR="white">
+ <META HTTP-EQUIV="-REFRESH" CONTENT="1;URL=$$3webcast.pl">
+</BODY>;
+
+</HTML> \ No newline at end of file
diff --git a/test/user-template/user/config/webcast/poll.asp b/test/user-template/user/config/webcast/poll.asp
new file mode 100644
index 000000000000..dd1a9bfe0022
--- /dev/null
+++ b/test/user-template/user/config/webcast/poll.asp
@@ -0,0 +1,36 @@
+<%
+ Option Explicit
+ Response.Expires = 0
+%>
+
+<!-- #include file = "common.inc" -->
+
+<HTML>
+
+<HEAD>
+ <META http-equiv="refresh" CONTENT="<% = cnRefreshTime %>">
+</HEAD>
+
+<%
+ ' get current picture id
+ Dim nGIFID
+
+ nGifID = File_getDataVirtual( csFileCurrent, ".", ";" )( 0 )
+
+ ' a new picture was chosen ?
+ if nGIFID <> Session( "GIFID" ) then
+ ' then store the id of the new picture and show it
+ Session( "GIFID" ) = nGIFID
+ %>
+ <BODY bgcolor="red" onLoad="parent.frame1.location.href='./show.asp?<%= nGIFID %>'">
+ <%
+ else
+ %>
+ <BODY bgcolor="green">
+ <%
+ end if
+%>
+
+</BODY>
+
+</HTML> \ No newline at end of file
diff --git a/test/user-template/user/config/webcast/poll.pl b/test/user-template/user/config/webcast/poll.pl
new file mode 100644
index 000000000000..08a31c3e22b4
--- /dev/null
+++ b/test/user-template/user/config/webcast/poll.pl
@@ -0,0 +1,32 @@
+#!/usr/bin/perl
+
+require "common.pl";
+
+print "Content-type: text/html\n\n";
+print "<HTML>";
+
+# get current and last shown picture id
+$sCurrPic = join( "", common::File_read( "currpic.txt" ) );
+
+%aRequestMap = common::HTTP_getRequest();
+$sLastPic = $aRequestMap{ "LastPic" };
+
+print "<HEAD>";
+ print "<META http-equiv=\"refresh\" CONTENT=\"" . $common::REFRESH_TIME . "; URL=poll.pl?LastPic=" . $sCurrPic . "\">";
+print "</HEAD>";
+
+#' a new picture was chosen ?
+if( $sLastPic ne $sCurrPic )
+{
+ # then show the new picture
+ print "<BODY bgcolor=\"red\" onLoad=\"parent.frame1.location.href='./show.pl?" . $sCurrPic . "'\">";
+}
+else
+{
+ # otherwise do nothing
+ print "<BODY bgcolor=\"green\">";
+}
+
+print "</BODY>";
+
+print "</HTML>"; \ No newline at end of file
diff --git a/test/user-template/user/config/webcast/savepic.asp b/test/user-template/user/config/webcast/savepic.asp
new file mode 100644
index 000000000000..71adefc4f391
--- /dev/null
+++ b/test/user-template/user/config/webcast/savepic.asp
@@ -0,0 +1,39 @@
+<%
+ Option Explicit
+ Response.Expires = 0
+ Response.Buffer = True
+%>
+
+<!-- #include file = "common.inc" -->
+
+<%
+ ' get new picture
+ Dim sCurrPic,aPictureArray, nUpper, nCurrPic
+
+ aPictureArray = File_getDataVirtual( csFilePicture, ".", ";" )
+ nUpper = CInt( (UBound(aPictureArray) - 1 ) / 2)
+
+ sCurrPic = Request( "CurrPic" )
+
+ ' check if + or - was pressed
+ select case Request( "Auswahl" )
+ case "+"
+ if isNumeric( sCurrPic ) then
+ sCurrPic = CStr( CLng( sCurrPic ) + 1 )
+ end if
+ case "-"
+ if isNumeric( sCurrPic ) then
+ sCurrPic = CStr( CLng( sCurrPic ) - 1 )
+ end if
+ end select
+
+ ' save picture name
+ if isNumeric( sCurrPic ) then
+ if (CInt( sCurrPic ) > 0) and ( CInt( sCurrPic ) <= nUpper ) then
+ call File_writeVirtual( "currpic.txt", ".", sCurrPic )
+ end if
+ end if
+
+ ' return to edit page
+ Response.Redirect( "./editpic.asp" )
+%>
diff --git a/test/user-template/user/config/webcast/savepic.pl b/test/user-template/user/config/webcast/savepic.pl
new file mode 100644
index 000000000000..8d545aa108b0
--- /dev/null
+++ b/test/user-template/user/config/webcast/savepic.pl
@@ -0,0 +1,41 @@
+#!/usr/bin/perl
+
+require "common.pl";
+
+%aRequestMap = common::HTTP_getRequest();
+
+# get new picture
+$sCurrPic = $aRequestMap{ "CurrPic" };
+
+@aPictureArray = common::File_read( "picture.txt" );
+$nPictureArrayLen = @aPictureArray;
+
+# check if + or - was pressed
+if( $aRequestMap{ "Auswahl" } eq "+" )
+{
+ $sCurrPic = abs( $sCurrPic ) + 1;
+}
+
+if( $aRequestMap{ "Auswahl" } eq "-" )
+{
+ $sCurrPic = abs( $sCurrPic ) - 1;
+}
+
+# save picture name
+if( (abs( $sCurrPic ) > 0) && ( abs( $sCurrPic ) < ( $nPictureArrayLen ) ) )
+{
+ open( F_CURRPIC, ">currpic.txt");
+ print F_CURRPIC abs( $sCurrPic );
+ close( F_CURRPIC );
+}
+
+# return to edit page
+print "Content-type: text/html\n\n";
+print "<HTML>\n<HEAD>\n";
+print "<META http-equiv=\"refresh\" CONTENT=\"0 ;URL=editpic.pl\">";
+print "<title>savepic.pl</title>";
+print "</HEAD>\n";
+print "<BODY>\n";
+print "</BODY>\n";
+print "</HTML>\n";
+%>
diff --git a/test/user-template/user/config/webcast/show.asp b/test/user-template/user/config/webcast/show.asp
new file mode 100644
index 000000000000..b66103cc6edf
--- /dev/null
+++ b/test/user-template/user/config/webcast/show.asp
@@ -0,0 +1,42 @@
+<%
+ Option Explicit
+ Response.Expires = 0
+%>
+
+<!-- #include file = "common.inc" -->
+
+<%
+ Dim sGifName1, sGifName2, nGifID, aPictureArray
+
+ nGifID = Session( "GIFID" )
+
+ ' get current and next picture
+ aPictureArray = File_getDataVirtual( csFilePicture, ".", ";" )
+
+ ' not last picture or wrong input ?
+ If CInt( nGifID ) < UBound( aPictureArray ) / 2 Then
+ sGifName1 = aPictureArray( ( nGifID - 1 ) * 2 + 1 )
+ sGifName2 = aPictureArray( ( nGifID ) * 2 + 1 )
+ Else
+ nGifID = CInt( UBound( aPictureArray ) / 2 )
+ sGifName1 = aPictureArray( ( nGifID - 1 ) * 2 + 1 )
+ sGifName2 = sGifName1
+ End If
+%>
+
+<HTML>
+
+<HEAD>
+ <TITLE>$$1</TITLE>
+</HEAD>
+
+<BODY bgcolor="white">
+ <table width=100% height=99%>
+ <tr valign=center><td align=center>
+ <IMG src="<% = sGifName1 %>" width=$$4 height=$$5 border=0>
+ <br><IMG src="<% = sGifName2 %>" width=1 height=1 border=0>
+ </td></tr>
+ </table>
+</BODY>
+
+</HTML> \ No newline at end of file
diff --git a/test/user-template/user/config/webcast/show.pl b/test/user-template/user/config/webcast/show.pl
new file mode 100644
index 000000000000..9687bd995538
--- /dev/null
+++ b/test/user-template/user/config/webcast/show.pl
@@ -0,0 +1,39 @@
+#!/usr/bin/perl
+
+require "common.pl";
+
+print "Content-type: text/html\n\n";
+
+# get current and next picture
+$sCurrPic = join( "", common::File_read( "currpic.txt" ) );
+@aPictureArray = common::File_read( "picture.txt" );
+
+# not last picture or wrong input ?
+if( abs( $sCurrPic ) > 0 )
+{
+ $nCurrPic = abs( $sCurrPic );
+ $nPictureArrayLen = @aPictureArray;
+ if( $nCurrPic < $nPictureArrayLen )
+ {
+ $sPictureName1 = ( split( ";", @aPictureArray[ $nCurrPic ] ) )[ 1 ];
+ $sPictureName2 = ( split( ";", @aPictureArray[ $nCurrPic + 1 ] ) )[ 1 ];
+ }
+ else
+ {
+ $sPictureName1 = ( split( ";", @aPictureArray[ $nCurrPic ] ) )[ 1 ];
+ $sPictureName2 = $sPictureName1;
+ }
+}
+
+print "<HTML>";
+
+print "<HEAD>";
+ print "<TITLE>$$1</TITLE>";
+print "</HEAD>";
+
+print "<BODY bgcolor=\"white\">";
+ print "<P ALIGN=CENTER><IMG src=\"" . $sPictureName1 . "\" width=$$4 height=$$5 border=0>";
+ print "<P><IMG src=\"" . $sPictureName2 . "\" width=1 height=1 border=0>";
+print "</BODY>";
+
+print "</HTML>"; \ No newline at end of file
diff --git a/test/user-template/user/config/webcast/webcast.asp b/test/user-template/user/config/webcast/webcast.asp
new file mode 100644
index 000000000000..f3c3af760eda
--- /dev/null
+++ b/test/user-template/user/config/webcast/webcast.asp
@@ -0,0 +1,28 @@
+<%
+ Option Explicit
+ Response.Expires = 0
+%>
+
+<!-- #include file = "common.inc" -->
+
+<%
+ Session( "GIFID" ) = File_getDataVirtual( csFileCurrent, ".", ";" )( 0 )
+%>
+
+<HTML>
+
+<HEAD>
+</HEAD>
+
+<FRAMESET ROWS="*,2" BORDER=0 FRAMEBORDER=0 FRAMESPACING=0>
+ <FRAME SRC="./show.asp" NAME="frame1" SCROLLING=yes RESIZE MARGINWIDTH=0 MARGINHEIGHT=0 FRAMEBORDER=0>
+ <FRAME SRC="./poll.asp" NAME="frame2" SCROLLING=no NORESIZE MARGINWIDTH=0 MARGINHEIGHT=0 FRAMEBORDER=0>
+</FRAMESET>
+
+<NOFRAMES>
+
+<BODY BGCOLOR="white">
+ <META HTTP-EQUIV="-REFRESH" CONTENT="1;URL=./show.asp">
+</BODY>
+
+</HTML> \ No newline at end of file
diff --git a/test/user-template/user/config/webcast/webcast.pl b/test/user-template/user/config/webcast/webcast.pl
new file mode 100644
index 000000000000..299c9480e330
--- /dev/null
+++ b/test/user-template/user/config/webcast/webcast.pl
@@ -0,0 +1,21 @@
+#!/usr/bin/perl
+
+print "Content-type: text/html\n\n";
+
+print "<HTML>";
+
+print "<HEAD>";
+print "</HEAD>";
+
+print "<FRAMESET ROWS=\"*,2\" BORDER=0 FRAMEBORDER=0 FRAMESPACING=0>";
+ print "<FRAME SRC=\"./show.pl\" NAME=\"frame1\" SCROLLING=yes RESIZE MARGINWIDTH=0 MARGINHEIGHT=0 FRAMEBORDER=0>";
+ print "<FRAME SRC=\"./poll.pl\" NAME=\"frame2\" SCROLLING=no NORESIZE MARGINWIDTH=0 MARGINHEIGHT=0 FRAMEBORDER=0>";
+print "</FRAMESET>";
+
+print "<NOFRAMES>";
+
+print "<BODY BGCOLOR=\"white\">";
+ print "<META HTTP-EQUIV=\"-REFRESH\" CONTENT=\"1;URL=./show.pl\">";
+print "</BODY>";
+
+print "</HTML>"; \ No newline at end of file
diff --git a/test/user-template/user/config/wizard/form/styles/beige.css b/test/user-template/user/config/wizard/form/styles/beige.css
new file mode 100644
index 000000000000..a1a2c4d29eba
--- /dev/null
+++ b/test/user-template/user/config/wizard/form/styles/beige.css
@@ -0,0 +1,79 @@
+.doctitle {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 14px;
+ color: #000000;
+ font-weight: bold;
+}
+.docdescription {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docauthor {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.doccreationdate {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #000066;
+}
+.doclastchangeddate {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #990000;
+}
+.docfilename {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #000066;
+}
+.docfileformatinfo {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docnumberofpages {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #000000;
+}
+.docsizeinkb {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #000000;
+}
+body {
+ background-color: #FFCC99;
+ background-image: url(images/background.gif);
+}
+.toctitle {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: bold;
+ color: #000000;
+ background-color: #FFCC99;
+}
+.tcolor {
+ background-color: #FF9933;
+}
+.ccolor {
+ background-color: #FFCC99;
+}
+a:link {
+ font-family: "Times New Roman", Times, serif;
+ color: #003399;
+}
+a:visited {
+ font-family: "Times New Roman", Times, serif;
+ color: #0099FF;
+}
+a:active {
+ font-family: "Times New Roman", Times, serif;
+ color: #FF0000;
+}
diff --git a/test/user-template/user/config/wizard/form/styles/bgr.css b/test/user-template/user/config/wizard/form/styles/bgr.css
new file mode 100644
index 000000000000..72a241b0a1cd
--- /dev/null
+++ b/test/user-template/user/config/wizard/form/styles/bgr.css
@@ -0,0 +1,79 @@
+.doctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 14px;
+ color: #000000;
+ font-weight: bold;
+}
+.docdescription {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docauthor {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.doccreationdate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000066;
+}
+.doclastchangeddate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #990000;
+}
+.docfilename {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000066;
+}
+.docfileformatinfo {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docnumberofpages {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000000;
+}
+.docsizeinkb {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000000;
+}
+body {
+ background-color: #660033;
+ background-image: url(images/background.gif);
+}
+.toctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: bold;
+ color: #FFFFFF;
+ background-color: #006699;
+}
+.tcolor {
+ background-color: #FFFF99;
+}
+.ccolor {
+ background-color: #0066CC;
+}
+a:link {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #0033CC;
+}
+a:visited {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #0066FF;
+}
+a:active {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #FF0000;
+}
diff --git a/test/user-template/user/config/wizard/form/styles/dark.css b/test/user-template/user/config/wizard/form/styles/dark.css
new file mode 100644
index 000000000000..dcff59016438
--- /dev/null
+++ b/test/user-template/user/config/wizard/form/styles/dark.css
@@ -0,0 +1,79 @@
+.doctitle {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 14px;
+ color: #FFFFFF;
+ font-weight: bold;
+}
+.docdescription {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.docauthor {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.doccreationdate {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.doclastchangeddate {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #FF0000;
+}
+.docfilename {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.docfileformatinfo {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.docnumberofpages {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.docsizeinkb {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+body {
+ background-color: #999999;
+ background-image: url(images/background.gif);
+}
+.toctitle {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: bold;
+ color: #FFFFFF;
+ background-color: #330000;
+}
+.tcolor {
+ background-color: #006633;
+}
+.ccolor {
+ background-color: #003300;
+}
+a:link {
+ font-family: "Times New Roman", Times, serif;
+ color: #EEEEEE;
+}
+a:visited {
+ font-family: "Times New Roman", Times, serif;
+ color: #CCCCCC;
+}
+a:active {
+ font-family: "Times New Roman", Times, serif;
+ color: #FF0000;
+}
diff --git a/test/user-template/user/config/wizard/form/styles/grey.css b/test/user-template/user/config/wizard/form/styles/grey.css
new file mode 100644
index 000000000000..bb69c13683e5
--- /dev/null
+++ b/test/user-template/user/config/wizard/form/styles/grey.css
@@ -0,0 +1,79 @@
+.doctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 14px;
+ color: #000000;
+ font-weight: bold;
+}
+.docdescription {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docauthor {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.doccreationdate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000066;
+}
+.doclastchangeddate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #990000;
+}
+.docfilename {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000066;
+}
+.docfileformatinfo {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docnumberofpages {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000000;
+}
+.docsizeinkb {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000000;
+}
+body {
+ background-color: #CCCCCC;
+ background-image: url(images/background.gif);
+}
+.toctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: bold;
+ color: #000000;
+ background-color: #EEEEEE;
+}
+.tcolor {
+ background-color: #EEEEEE;
+}
+.ccolor {
+ background-color: #BBBBBB;
+}
+a:link {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #0033CC;
+}
+a:visited {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #0099FF;
+}
+a:active {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #FF0000;
+}
diff --git a/test/user-template/user/config/wizard/form/styles/ibg.css b/test/user-template/user/config/wizard/form/styles/ibg.css
new file mode 100644
index 000000000000..22837ee476f7
--- /dev/null
+++ b/test/user-template/user/config/wizard/form/styles/ibg.css
@@ -0,0 +1,79 @@
+.doctitle {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 14px;
+ color: #000000;
+ font-weight: bold;
+}
+.docdescription {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docauthor {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.doccreationdate {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #000066;
+}
+.doclastchangeddate {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #990000;
+}
+.docfilename {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #000066;
+}
+.docfileformatinfo {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docnumberofpages {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #000000;
+}
+.docsizeinkb {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #000000;
+}
+body {
+ background-color: #999999;
+ background-image: url(images/background.gif);
+}
+.toctitle {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: bold;
+ color: #000000;
+ background-color: #99CCCC;
+}
+.tcolor {
+ background-color: #DDDDDD;
+}
+.ccolor {
+ background-color: #99CCFF;
+}
+a:link {
+ font-family: "Times New Roman", Times, serif;
+ color: #003399;
+}
+a:visited {
+ font-family: "Times New Roman", Times, serif;
+ color: #0066CC;
+}
+a:active {
+ font-family: "Times New Roman", Times, serif;
+ color: #FF9900;
+}
diff --git a/test/user-template/user/config/wizard/form/styles/ice.css b/test/user-template/user/config/wizard/form/styles/ice.css
new file mode 100644
index 000000000000..3598cb509f20
--- /dev/null
+++ b/test/user-template/user/config/wizard/form/styles/ice.css
@@ -0,0 +1,79 @@
+.doctitle {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 14px;
+ color: #000000;
+ font-weight: bold;
+}
+.docdescription {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docauthor {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.doccreationdate {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #000066;
+}
+.doclastchangeddate {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #990000;
+}
+.docfilename {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #000066;
+}
+.docfileformatinfo {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docnumberofpages {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #000000;
+}
+.docsizeinkb {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #000000;
+}
+body {
+ background-color: #999999;
+ background-image: url(images/background.gif);
+}
+.toctitle {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: bold;
+ color: #000000;
+ background-color: #CCCCCC;
+}
+.tcolor {
+ background-color: #00CCFF;
+}
+.ccolor {
+ background-color: #CCCCCC;
+}
+a:link {
+ font-family: "Times New Roman", Times, serif;
+ color: #0033CC;
+}
+a:visited {
+ font-family: "Times New Roman", Times, serif;
+ color: #0066FF;
+}
+a:active {
+ font-family: "Times New Roman", Times, serif;
+ color: #FF0000;
+}
diff --git a/test/user-template/user/config/wizard/form/styles/orange.css b/test/user-template/user/config/wizard/form/styles/orange.css
new file mode 100644
index 000000000000..83c9d9e3e0e1
--- /dev/null
+++ b/test/user-template/user/config/wizard/form/styles/orange.css
@@ -0,0 +1,79 @@
+.doctitle {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 14px;
+ color: #000000;
+ font-weight: bold;
+}
+.docdescription {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docauthor {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.doccreationdate {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #000066;
+}
+.doclastchangeddate {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #660000;
+}
+.docfilename {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #000066;
+}
+.docfileformatinfo {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docnumberofpages {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #000000;
+}
+.docsizeinkb {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #000000;
+}
+body {
+ background-color: #999999;
+ background-image: url(images/background.gif);
+}
+.toctitle {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: bold;
+ color: #000000;
+ background-color: #FF9966;
+}
+.tcolor {
+ background-color: #FF6600;
+}
+.ccolor {
+ background-color: #660033;
+}
+a:link {
+ font-family: "Times New Roman", Times, serif;
+ color: #000099;
+}
+a:visited {
+ font-family: "Times New Roman", Times, serif;
+ color: #0066CC;
+}
+a:active {
+ font-family: "Times New Roman", Times, serif;
+ color: #CC0000;
+}
diff --git a/test/user-template/user/config/wizard/form/styles/red.css b/test/user-template/user/config/wizard/form/styles/red.css
new file mode 100644
index 000000000000..bf36a6cfe0fc
--- /dev/null
+++ b/test/user-template/user/config/wizard/form/styles/red.css
@@ -0,0 +1,79 @@
+.doctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 14px;
+ color: #FFFFFF;
+ font-weight: bold;
+}
+.docdescription {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.docauthor {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.doccreationdate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FFFF00;
+}
+.doclastchangeddate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FF0000;
+}
+.docfilename {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.docfileformatinfo {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.docnumberofpages {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.docsizeinkb {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+body {
+ background-color: #999999;
+ background-image: url(images/background.gif);
+}
+.toctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: bold;
+ color: #FFFFFF;
+ background-color: #660033;
+}
+.tcolor {
+ background-color: #330000;
+}
+.ccolor {
+ background-color: #660033;
+}
+a:link {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #FFFF00;
+}
+a:visited {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #00CCFF;
+}
+a:active {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #FF0000;
+}
diff --git a/test/user-template/user/config/wizard/form/styles/violet.css b/test/user-template/user/config/wizard/form/styles/violet.css
new file mode 100644
index 000000000000..6a15f204cce0
--- /dev/null
+++ b/test/user-template/user/config/wizard/form/styles/violet.css
@@ -0,0 +1,79 @@
+.doctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 14px;
+ color: #FFFFFF;
+ font-weight: bold;
+}
+.docdescription {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.docauthor {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.doccreationdate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FFFF00;
+}
+.doclastchangeddate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FF0000;
+}
+.docfilename {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.docfileformatinfo {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.docnumberofpages {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.docsizeinkb {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+body {
+ background-color: #CCCCCC;
+ background-image: url(images/background.gif);
+}
+.toctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: bold;
+ color: #FFFFFF;
+ background-color: #660066;
+}
+.tcolor {
+ background-color: #330066;
+}
+.ccolor {
+ background-color: #330033;
+}
+a:link {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #FFFF00;
+}
+a:visited {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #0099FF;
+}
+a:active {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #FF0000;
+}
diff --git a/test/user-template/user/config/wizard/form/styles/water.css b/test/user-template/user/config/wizard/form/styles/water.css
new file mode 100644
index 000000000000..313dabd6e67a
--- /dev/null
+++ b/test/user-template/user/config/wizard/form/styles/water.css
@@ -0,0 +1,79 @@
+.doctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 14px;
+ color: #000000;
+ font-weight: bold;
+}
+.docdescription {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docauthor {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.doccreationdate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000066;
+}
+.doclastchangeddate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #990000;
+}
+.docfilename {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000066;
+}
+.docfileformatinfo {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docnumberofpages {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000000;
+}
+.docsizeinkb {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000000;
+}
+body {
+ background-color: #CCCCCC;
+ background-image: url(images/background.gif);
+}
+.toctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: bold;
+ color: #FFFFFF;
+ background-color: #003399;
+}
+.tcolor {
+ background-color: #EEEEEE;
+}
+.ccolor {
+ background-color: #0066CC;
+}
+a:link {
+ font-family: "Times New Roman", Times, serif;
+ color: #0033CC;
+}
+a:visited {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #0066CC;
+}
+a:active {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #CC0000;
+}
diff --git a/test/user-template/user/config/wizard/web/buttons/glas-blue.zip b/test/user-template/user/config/wizard/web/buttons/glas-blue.zip
new file mode 100644
index 000000000000..93a380b6c522
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/buttons/glas-blue.zip
Binary files differ
diff --git a/test/user-template/user/config/wizard/web/buttons/glas-green.zip b/test/user-template/user/config/wizard/web/buttons/glas-green.zip
new file mode 100644
index 000000000000..af1543545442
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/buttons/glas-green.zip
Binary files differ
diff --git a/test/user-template/user/config/wizard/web/buttons/glas-red.zip b/test/user-template/user/config/wizard/web/buttons/glas-red.zip
new file mode 100644
index 000000000000..914514c7f166
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/buttons/glas-red.zip
Binary files differ
diff --git a/test/user-template/user/config/wizard/web/buttons/round-gorilla.zip b/test/user-template/user/config/wizard/web/buttons/round-gorilla.zip
new file mode 100644
index 000000000000..727df6b92e52
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/buttons/round-gorilla.zip
Binary files differ
diff --git a/test/user-template/user/config/wizard/web/buttons/round-white.zip b/test/user-template/user/config/wizard/web/buttons/round-white.zip
new file mode 100644
index 000000000000..9c5f1b2aaa3e
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/buttons/round-white.zip
Binary files differ
diff --git a/test/user-template/user/config/wizard/web/buttons/simple.zip b/test/user-template/user/config/wizard/web/buttons/simple.zip
new file mode 100644
index 000000000000..60c0b095702a
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/buttons/simple.zip
Binary files differ
diff --git a/test/user-template/user/config/wizard/web/buttons/square-blue.zip b/test/user-template/user/config/wizard/web/buttons/square-blue.zip
new file mode 100644
index 000000000000..86c33465fb6d
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/buttons/square-blue.zip
Binary files differ
diff --git a/test/user-template/user/config/wizard/web/buttons/square-gray.zip b/test/user-template/user/config/wizard/web/buttons/square-gray.zip
new file mode 100644
index 000000000000..31713b7975c3
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/buttons/square-gray.zip
Binary files differ
diff --git a/test/user-template/user/config/wizard/web/buttons/square-green.zip b/test/user-template/user/config/wizard/web/buttons/square-green.zip
new file mode 100644
index 000000000000..6962225306d0
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/buttons/square-green.zip
Binary files differ
diff --git a/test/user-template/user/config/wizard/web/buttons/square-red.zip b/test/user-template/user/config/wizard/web/buttons/square-red.zip
new file mode 100644
index 000000000000..8199cbe736b6
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/buttons/square-red.zip
Binary files differ
diff --git a/test/user-template/user/config/wizard/web/buttons/square-yellow.zip b/test/user-template/user/config/wizard/web/buttons/square-yellow.zip
new file mode 100644
index 000000000000..27af86075ee5
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/buttons/square-yellow.zip
Binary files differ
diff --git a/test/user-template/user/config/wizard/web/images/calc.gif b/test/user-template/user/config/wizard/web/images/calc.gif
new file mode 100644
index 000000000000..36f89628f6d3
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/images/calc.gif
Binary files differ
diff --git a/test/user-template/user/config/wizard/web/images/draw.gif b/test/user-template/user/config/wizard/web/images/draw.gif
new file mode 100644
index 000000000000..63096eafe656
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/images/draw.gif
Binary files differ
diff --git a/test/user-template/user/config/wizard/web/images/fls.gif b/test/user-template/user/config/wizard/web/images/fls.gif
new file mode 100644
index 000000000000..e0f45ed49fd4
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/images/fls.gif
Binary files differ
diff --git a/test/user-template/user/config/wizard/web/images/graphics.gif b/test/user-template/user/config/wizard/web/images/graphics.gif
new file mode 100644
index 000000000000..8cdb2458a82f
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/images/graphics.gif
Binary files differ
diff --git a/test/user-template/user/config/wizard/web/images/html.gif b/test/user-template/user/config/wizard/web/images/html.gif
new file mode 100644
index 000000000000..231fe6dccb74
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/images/html.gif
Binary files differ
diff --git a/test/user-template/user/config/wizard/web/images/impress.gif b/test/user-template/user/config/wizard/web/images/impress.gif
new file mode 100644
index 000000000000..8e0df7c2fe38
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/images/impress.gif
Binary files differ
diff --git a/test/user-template/user/config/wizard/web/images/media.gif b/test/user-template/user/config/wizard/web/images/media.gif
new file mode 100644
index 000000000000..9b61737f1243
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/images/media.gif
Binary files differ
diff --git a/test/user-template/user/config/wizard/web/images/other.gif b/test/user-template/user/config/wizard/web/images/other.gif
new file mode 100644
index 000000000000..29e7fcac574f
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/images/other.gif
Binary files differ
diff --git a/test/user-template/user/config/wizard/web/images/pdf.gif b/test/user-template/user/config/wizard/web/images/pdf.gif
new file mode 100644
index 000000000000..c814d44911c9
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/images/pdf.gif
Binary files differ
diff --git a/test/user-template/user/config/wizard/web/images/writer.gif b/test/user-template/user/config/wizard/web/images/writer.gif
new file mode 100644
index 000000000000..c79ef4fc7aa1
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/images/writer.gif
Binary files differ
diff --git a/test/user-template/user/config/wizard/web/layouts/diagonal/index.html.xsl b/test/user-template/user/config/wizard/web/layouts/diagonal/index.html.xsl
new file mode 100644
index 000000000000..516e35cb7dd1
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/layouts/diagonal/index.html.xsl
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml">
+
+ <xsl:output method = "html"
+ media-type = "text/html"
+ indent = "yes"
+ doctype-public = "-//W3C//DTD HTML 4.0 Transitional//EN"
+ omit-xml-declaration = "yes"
+ standalone = "yes" />
+
+ <xsl:include href="../layout.xsl"/>
+
+
+ <!-- =============================
+ HTML BODY
+ ================================== -->
+
+ <xsl:template name="body">
+ <xsl:call-template name="title"/>
+ <xsl:call-template name="toc"/>
+ </xsl:template>
+
+
+ <xsl:template name="toc">
+ <!--
+ @ pre toc html here
+ -->
+
+ <xsl:apply-templates select="/session/content/document"/>
+
+ <!--
+ @ post toc html here
+ -->
+
+ </xsl:template>
+
+ <!-- also when using groups, in the end it comes
+ to this template, which is called for each document -->
+ <xsl:template match="document">
+ <xsl:variable name="i" select="position() - 1"/>
+ <xsl:variable name="x" select="( $i mod 3 ) * 250 + 50"/>
+ <xsl:variable name="y" select="( $i mod 3 ) * 50 + (floor( $i div 3 )) * 300 + 80"/>
+ <div style="position:absolute; padding:15px; left:{$x}px; top:{$y}px; width:170px; height:220px; z-index:1" class="tcolor">
+ <div align="center">
+
+ <xsl:apply-templates select="@icon"/>
+ <p>
+ <xsl:apply-templates select="@title"/>
+ <xsl:apply-templates select="@description"/>
+ <xsl:apply-templates select="@author"/>
+ <xsl:apply-templates select="@create-date"/>
+ <xsl:apply-templates select="@update-date"/>
+ <xsl:apply-templates select="@filename"/>
+ <xsl:apply-templates select="@format"/>
+ <xsl:apply-templates select="@pages"/>
+ <xsl:apply-templates select="@size"/>
+ </p>
+ </div>
+ </div>
+ </xsl:template>
+
+
+
+ <xsl:template name="document-group">
+ <xsl:param name="group"/>
+
+ <!-- @ pre group code here -->
+
+ <!-- - - -->
+
+ <xsl:variable name="count" select="(position() - 1) * $group + 1"/>
+
+ <xsl:for-each select="/session/content/document[$count &lt;= position() and position() &lt; ($count + $group)]">
+
+ <xsl:apply-templates select="."/>
+
+ </xsl:for-each>
+
+ <!-- @ post group code here -->
+
+ <!-- - - -->
+
+ </xsl:template>
+
+
+ <xsl:template name="title">
+ <!--
+ @ Pre title html code here
+ -->
+ <div style="position:absolute; left:280px; top:8px; width:220px; z-index:2; padding:10px" class="ccolor">
+ <div align="center" class="toctitle">
+ <xsl:value-of select="/session/general-info/@title"/>
+ <!--
+ @ Post title html code here
+ -->
+ </div>
+ </div>
+ </xsl:template>
+
+
+</xsl:stylesheet>
diff --git a/test/user-template/user/config/wizard/web/layouts/frame_bottom/index.html.xsl b/test/user-template/user/config/wizard/web/layouts/frame_bottom/index.html.xsl
new file mode 100644
index 000000000000..9e6a892ffcdb
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/layouts/frame_bottom/index.html.xsl
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml">
+
+ <xsl:output method = "html"
+ media-type = "text/html"
+ indent = "yes"
+ doctype-public = "-//W3C//DTD HTML 4.0 Transitional//EN"
+ omit-xml-declaration = "yes"
+ standalone = "yes" />
+
+
+ <!-- =============================
+ ROOT
+ ================================== -->
+
+
+ <xsl:template match="/">
+ <html>
+ <xsl:call-template name="head"/>
+ <xsl:call-template name="frameset"/>
+ </html>
+ </xsl:template>
+
+
+ <!-- =============================
+ HTML FRAMES
+ ================================== -->
+
+
+ <xsl:template name="frameset">
+ <frameset rows="*,281" cols="*" framespacing="0" frameborder="NO" border="0">
+ <frame src="mainframe.html" name="mainframe"/>
+ <frame src="tocframe.html" name="tocframe" scrolling="Auto" noresize=""/>
+ </frameset>
+ <noframes/>
+ <body>
+ </body>
+ </xsl:template>
+
+
+ <!-- =============================
+ HTML HEAD
+
+ this section should not be changed
+ ================================== -->
+
+ <xsl:template name="head">
+ <head>
+ <title>
+ <xsl:value-of select="/session/general-info/@title"/>
+ </title>
+ <!-- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -->
+ <meta name="description" content="{/session/general-info/@description}"/>
+ <meta name="keywords" content="{/session/general-info/@keywords}"/>
+ <meta name="author" content="{/session/general-info/@author}"/>
+ <meta name="email" content="{/session/general-info/@email}"/>
+ <meta name="copyright" content="{/session/general-info/@copyright}"/>
+ <!-- create date?
+ update date?
+ fav icon?
+ -->
+ <link REL="shortcut icon" href="images/favicon.ico" type="image/ico"/>
+ <link href="style.css" rel="stylesheet" type="text/css"/>
+
+ </head>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/test/user-template/user/config/wizard/web/layouts/frame_bottom/mainframe.html b/test/user-template/user/config/wizard/web/layouts/frame_bottom/mainframe.html
new file mode 100644
index 000000000000..ab1613b6d1dc
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/layouts/frame_bottom/mainframe.html
@@ -0,0 +1,7 @@
+<html>
+ <head>
+ <title></title>
+ <link href="style.css" rel="stylesheet" type="text/css"/>
+ </head>
+ <body></body>
+</html>
diff --git a/test/user-template/user/config/wizard/web/layouts/frame_bottom/tocframe.html.xsl b/test/user-template/user/config/wizard/web/layouts/frame_bottom/tocframe.html.xsl
new file mode 100644
index 000000000000..b45cc81cf7e6
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/layouts/frame_bottom/tocframe.html.xsl
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- =================================================
+
+This template is a skeleton for single level TOC pages
+Do not overwrite this ! copy it and complete the missing
+code.
+
+I use the @ character whereever there is a missing code, so
+you can use a simple find to navigate and find the
+places...
+
+====================================================== -->
+
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml">
+
+ <xsl:output method = "html"
+ media-type = "text/html"
+ indent = "yes"
+ doctype-public = "-//W3C//DTD HTML 4.0 Transitional//EN"
+ omit-xml-declaration = "yes"
+ standalone = "yes" />
+
+ <xsl:include href="../layout.xsl"/>
+
+
+
+ <!-- =============================
+ HTML BODY
+ ================================== -->
+
+ <xsl:template name="body">
+ <xsl:call-template name="toc"/>
+ </xsl:template>
+
+
+ <xsl:template name="toc">
+ <xsl:variable name="doc-count" select="count(/session/content/document)"/>
+
+ <table width="{$doc-count * 250}" height="250" border="0" cellpadding="0" cellspacing="0" class="tcolor">
+
+ <tr>
+ <td height="50" colspan="{$doc-count * 2 + 2}" class="toctitle">
+ <xsl:value-of select="/session/general-info/@title"/>
+ </td>
+ </tr>
+
+ <!-- use this alternative if you do not need to use groups
+ (uncomment to use - and do not forget to comment the group
+ option above...)-->
+
+ <tr>
+ <xsl:apply-templates select="/session/content/document"/>
+ <td colspan="2"></td>
+ </tr>
+
+ </table>
+
+ <!--
+ @ post toc html here
+ -->
+
+ <p class="colback"> </p>
+
+ </xsl:template>
+
+ <!-- also when using groups, in the end it comes
+ to this template, which is called for each document -->
+ <xsl:template match="document">
+
+ <!-- image cell -->
+
+ <td width="50" height="200" align="center">
+ <p>
+ <xsl:apply-templates select="@icon"/>
+ </p>
+ </td>
+
+ <td width="200"><p>
+
+ <xsl:apply-templates select="@title">
+ <xsl:with-param name="target" select="'mainframe'"/>
+ </xsl:apply-templates>
+
+ <xsl:apply-templates select="@description"/>
+ <xsl:apply-templates select="@author"/>
+ <xsl:apply-templates select="@create-date"/>
+ <xsl:apply-templates select="@update-date"/>
+ <xsl:apply-templates select="@filename"/>
+ <xsl:apply-templates select="@format"/>
+ <xsl:apply-templates select="@pages"/>
+ <xsl:apply-templates select="@size"/>
+
+
+ </p> </td>
+
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/test/user-template/user/config/wizard/web/layouts/frame_left/index.html.xsl b/test/user-template/user/config/wizard/web/layouts/frame_left/index.html.xsl
new file mode 100644
index 000000000000..a3d0fe9c15d2
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/layouts/frame_left/index.html.xsl
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml">
+
+ <xsl:output method = "html"
+ media-type = "text/html"
+ indent = "yes"
+ doctype-public = "-//W3C//DTD HTML 4.0 Transitional//EN"
+ omit-xml-declaration = "yes"
+ standalone = "yes" />
+
+
+ <!-- =============================
+ ROOT
+ ================================== -->
+
+
+ <xsl:template match="/">
+ <html>
+ <xsl:call-template name="head"/>
+ <xsl:call-template name="frameset"/>
+ </html>
+ </xsl:template>
+
+
+ <!-- =============================
+ HTML FRAMES
+ ================================== -->
+
+
+ <xsl:template name="frameset">
+ <frameset rows="*" cols="284,*" framespacing="0" frameborder="NO" border="0">
+ <frame src="tocframe.html" name="tocframe" scrolling="Auto" noresize=""/>
+ <frame src="mainframe.html" name="mainframe"/>
+ </frameset>
+ <noframes/>
+ <body>
+ </body>
+ </xsl:template>
+
+
+ <!-- =============================
+ HTML HEAD
+
+ this section should not be changed
+ ================================== -->
+
+ <xsl:template name="head">
+ <head>
+ <title>
+ <xsl:value-of select="/session/general-info/@title"/>
+ </title>
+ <!-- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -->
+ <meta name="description" content="{/session/general-info/@description}"/>
+ <meta name="keywords" content="{/session/general-info/@keywords}"/>
+ <meta name="author" content="{/session/general-info/@author}"/>
+ <meta name="email" content="{/session/general-info/@email}"/>
+ <meta name="copyright" content="{/session/general-info/@copyright}"/>
+ <!-- create date?
+ update date?
+ fav icon?
+ -->
+ <link REL="shortcut icon" href="images/favicon.ico" type="image/ico"/>
+ <link href="style.css" rel="stylesheet" type="text/css"/>
+
+ </head>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/test/user-template/user/config/wizard/web/layouts/frame_left/mainframe.html b/test/user-template/user/config/wizard/web/layouts/frame_left/mainframe.html
new file mode 100644
index 000000000000..ab1613b6d1dc
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/layouts/frame_left/mainframe.html
@@ -0,0 +1,7 @@
+<html>
+ <head>
+ <title></title>
+ <link href="style.css" rel="stylesheet" type="text/css"/>
+ </head>
+ <body></body>
+</html>
diff --git a/test/user-template/user/config/wizard/web/layouts/frame_left/tocframe.html.xsl b/test/user-template/user/config/wizard/web/layouts/frame_left/tocframe.html.xsl
new file mode 100644
index 000000000000..08048b517beb
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/layouts/frame_left/tocframe.html.xsl
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- =================================================
+
+This template is a skeleton for single level TOC pages
+Do not overwrite this ! copy it and complete the missing
+code.
+
+I use the @ character whereever there is a missing code, so
+you can use a simple find to navigate and find the
+places...
+
+====================================================== -->
+
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml">
+
+ <xsl:output method = "html"
+ media-type = "text/html"
+ indent = "yes"
+ doctype-public = "-//W3C//DTD HTML 4.0 Transitional//EN"
+ omit-xml-declaration = "yes"
+ standalone = "yes" />
+
+ <xsl:include href="../layout.xsl"/>
+
+ <!-- =============================
+ HTML BODY
+ ================================== -->
+
+ <xsl:template name="body">
+ <xsl:call-template name="toc"/>
+ </xsl:template>
+
+
+ <xsl:template name="toc">
+ <table width="100%" height="654" border="0" cellpadding="0" cellspacing="0" class="tcolor">
+
+ <tr>
+ <td height="80" colspan="2" class="toctitle">
+ <xsl:value-of select="/session/general-info/@title"/>
+ </td>
+ </tr>
+
+ <!-- use this alternative if you do not need to use groups
+ (uncomment to use - and do not forget to comment the group
+ option above...)-->
+
+
+ <xsl:apply-templates select="/session/content/document"/>
+
+
+ </table>
+
+ <!--
+ @ post toc html here
+ -->
+
+ <p class="colback"> </p>
+
+ </xsl:template>
+
+ <!-- also when using groups, in the end it comes
+ to this template, which is called for each document -->
+ <xsl:template match="document">
+
+ <tr>
+
+ <!-- image cell -->
+
+ <td width="40" height="200" align="center" class="ccolor">
+ <p>
+ <xsl:apply-templates select="@icon"/>
+ </p>
+ </td>
+
+ <td><p>
+
+ <xsl:apply-templates select="@title">
+ <xsl:with-param name="target" select="'mainframe'"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="@description"/>
+ <xsl:apply-templates select="@author"/>
+ <xsl:apply-templates select="@create-date"/>
+ <xsl:apply-templates select="@update-date"/>
+ <xsl:apply-templates select="@filename"/>
+ <xsl:apply-templates select="@format"/>
+ <xsl:apply-templates select="@pages"/>
+ <xsl:apply-templates select="@size"/>
+
+ </p> </td>
+ </tr>
+
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/test/user-template/user/config/wizard/web/layouts/frame_right/index.html.xsl b/test/user-template/user/config/wizard/web/layouts/frame_right/index.html.xsl
new file mode 100644
index 000000000000..c4288f11705e
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/layouts/frame_right/index.html.xsl
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml">
+
+ <xsl:output method = "html"
+ media-type = "text/html"
+ indent = "yes"
+ doctype-public = "-//W3C//DTD HTML 4.0 Transitional//EN"
+ omit-xml-declaration = "yes"
+ standalone = "yes" />
+
+
+ <!-- =============================
+ ROOT
+ ================================== -->
+
+
+ <xsl:template match="/">
+ <html>
+ <xsl:call-template name="head"/>
+ <xsl:call-template name="frameset"/>
+ </html>
+ </xsl:template>
+
+
+ <!-- =============================
+ HTML FRAMES
+ ================================== -->
+
+
+ <xsl:template name="frameset">
+ <frameset rows="*" cols="*,273" framespacing="0" frameborder="NO" border="0">
+ <frame src="mainframe.html" name="mainframe"/>
+ <frame src="tocframe.html" name="tocframe" scrolling="Auto" noresize=""/>
+ </frameset>
+ <noframes/>
+ <body>
+ </body>
+ </xsl:template>
+
+
+ <!-- =============================
+ HTML HEAD
+
+ this section should not be changed
+ ================================== -->
+
+ <xsl:template name="head">
+ <head>
+ <title>
+ <xsl:value-of select="/session/general-info/@title"/>
+ </title>
+ <!-- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -->
+ <meta name="description" content="{/session/general-info/@description}"/>
+ <meta name="keywords" content="{/session/general-info/@keywords}"/>
+ <meta name="author" content="{/session/general-info/@author}"/>
+ <meta name="email" content="{/session/general-info/@email}"/>
+ <meta name="copyright" content="{/session/general-info/@copyright}"/>
+ <!-- create date?
+ update date?
+ fav icon?
+ -->
+ <link REL="shortcut icon" href="images/favicon.ico" type="image/ico"/>
+ <link href="style.css" rel="stylesheet" type="text/css"/>
+
+ </head>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/test/user-template/user/config/wizard/web/layouts/frame_right/mainframe.html b/test/user-template/user/config/wizard/web/layouts/frame_right/mainframe.html
new file mode 100644
index 000000000000..ab1613b6d1dc
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/layouts/frame_right/mainframe.html
@@ -0,0 +1,7 @@
+<html>
+ <head>
+ <title></title>
+ <link href="style.css" rel="stylesheet" type="text/css"/>
+ </head>
+ <body></body>
+</html>
diff --git a/test/user-template/user/config/wizard/web/layouts/frame_right/tocframe.html.xsl b/test/user-template/user/config/wizard/web/layouts/frame_right/tocframe.html.xsl
new file mode 100644
index 000000000000..69aaa5f38d24
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/layouts/frame_right/tocframe.html.xsl
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- =================================================
+
+This template is a skeleton for single level TOC pages
+Do not overwrite this ! copy it and complete the missing
+code.
+
+I use the @ character whereever there is a missing code, so
+you can use a simple find to navigate and find the
+places...
+
+====================================================== -->
+
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml">
+
+ <xsl:output method = "html"
+ media-type = "text/html"
+ indent = "yes"
+ doctype-public = "-//W3C//DTD HTML 4.0 Transitional//EN"
+ omit-xml-declaration = "yes"
+ standalone = "yes" />
+
+ <xsl:include href="../layout.xsl"/>
+
+ <!-- =============================
+ HTML BODY
+ ================================== -->
+
+ <xsl:template name="body">
+ <xsl:call-template name="toc"/>
+ </xsl:template>
+
+
+ <xsl:template name="toc">
+ <table width="100%" height="654" border="0" cellpadding="0" cellspacing="0" class="tcolor">
+
+ <tr>
+ <td height="80" colspan="2" class="toctitle">
+ <xsl:value-of select="/session/general-info/@title"/>
+ </td>
+ </tr>
+
+ <!-- use this alternative if you do not need to use groups
+ (uncomment to use - and do not forget to comment the group
+ option above...)-->
+
+
+ <xsl:apply-templates select="/session/content/document"/>
+
+
+ </table>
+
+ <!--
+ @ post toc html here
+ -->
+
+ <p class="colback"> </p>
+
+ </xsl:template>
+
+ <!-- also when using groups, in the end it comes
+ to this template, which is called for each document -->
+ <xsl:template match="document">
+
+ <tr>
+
+ <!-- image cell -->
+
+ <td height="200" align="center" class="ccolor">
+ <p>
+ <xsl:apply-templates select="@icon"/>
+ </p>
+ </td>
+
+ <td width="200"><p>
+
+ <xsl:apply-templates select="@title">
+ <xsl:with-param name="target" select="'mainframe'"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="@description"/>
+ <xsl:apply-templates select="@author"/>
+ <xsl:apply-templates select="@create-date"/>
+ <xsl:apply-templates select="@update-date"/>
+ <xsl:apply-templates select="@filename"/>
+ <xsl:apply-templates select="@format"/>
+ <xsl:apply-templates select="@pages"/>
+ <xsl:apply-templates select="@size"/>
+
+ </p> </td>
+ </tr>
+
+ </xsl:template>
+
+
+
+
+</xsl:stylesheet>
diff --git a/test/user-template/user/config/wizard/web/layouts/frame_top/index.html.xsl b/test/user-template/user/config/wizard/web/layouts/frame_top/index.html.xsl
new file mode 100644
index 000000000000..bc056d2b3f65
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/layouts/frame_top/index.html.xsl
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml">
+
+ <xsl:output method = "html"
+ media-type = "text/html"
+ indent = "yes"
+ doctype-public = "-//W3C//DTD HTML 4.0 Transitional//EN"
+ omit-xml-declaration = "yes"
+ standalone = "yes" />
+
+
+ <!-- =============================
+ ROOT
+ ================================== -->
+
+
+ <xsl:template match="/">
+ <html>
+ <xsl:call-template name="head"/>
+ <xsl:call-template name="frameset"/>
+ </html>
+ </xsl:template>
+
+
+ <!-- =============================
+ HTML FRAMES
+ ================================== -->
+
+
+ <xsl:template name="frameset">
+ <frameset rows="281,*" cols="*" framespacing="0" frameborder="NO" border="0">
+ <frame src="tocframe.html" name="tocframe" scrolling="Auto" noresize=""/>
+ <frame src="mainframe.html" name="mainframe"/>
+ </frameset>
+ <noframes/>
+ <body>
+ </body>
+ </xsl:template>
+
+
+ <!-- =============================
+ HTML HEAD
+
+ this section should not be changed
+ ================================== -->
+
+ <xsl:template name="head">
+ <head>
+ <title>
+ <xsl:value-of select="/session/general-info/@title"/>
+ </title>
+ <!-- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -->
+ <meta name="description" content="{/session/general-info/@description}"/>
+ <meta name="keywords" content="{/session/general-info/@keywords}"/>
+ <meta name="author" content="{/session/general-info/@author}"/>
+ <meta name="email" content="{/session/general-info/@email}"/>
+ <meta name="copyright" content="{/session/general-info/@copyright}"/>
+ <!-- create date?
+ update date?
+ fav icon?
+ -->
+ <link REL="shortcut icon" href="images/favicon.ico" type="image/ico"/>
+ <link href="style.css" rel="stylesheet" type="text/css"/>
+
+ </head>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/test/user-template/user/config/wizard/web/layouts/frame_top/mainframe.html b/test/user-template/user/config/wizard/web/layouts/frame_top/mainframe.html
new file mode 100644
index 000000000000..ab1613b6d1dc
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/layouts/frame_top/mainframe.html
@@ -0,0 +1,7 @@
+<html>
+ <head>
+ <title></title>
+ <link href="style.css" rel="stylesheet" type="text/css"/>
+ </head>
+ <body></body>
+</html>
diff --git a/test/user-template/user/config/wizard/web/layouts/frame_top/tocframe.html.xsl b/test/user-template/user/config/wizard/web/layouts/frame_top/tocframe.html.xsl
new file mode 100644
index 000000000000..1fe3e93fbef4
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/layouts/frame_top/tocframe.html.xsl
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- =================================================
+
+This template is a skeleton for single level TOC pages
+Do not overwrite this ! copy it and complete the missing
+code.
+
+I use the @ character whereever there is a missing code, so
+you can use a simple find to navigate and find the
+places...
+
+====================================================== -->
+
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml">
+
+ <xsl:output method = "html"
+ media-type = "text/html"
+ indent = "yes"
+ doctype-public = "-//W3C//DTD HTML 4.0 Transitional//EN"
+ omit-xml-declaration = "yes"
+ standalone = "yes" />
+
+ <xsl:include href="../layout.xsl"/>
+
+
+ <!-- =============================
+ HTML BODY
+ ================================== -->
+
+ <xsl:template name="body">
+ <xsl:call-template name="toc"/>
+ </xsl:template>
+
+
+ <xsl:template name="toc">
+ <xsl:variable name="doc-count" select="count(/session/content/document)"/>
+
+ <table width="{$doc-count * 250}" height="250" border="0" cellpadding="0" cellspacing="0" class="tcolor">
+
+ <tr>
+ <td height="50" colspan="{$doc-count * 2 + 2}" class="toctitle">
+ <xsl:value-of select="/session/general-info/@title"/>
+ </td>
+ </tr>
+
+ <!-- use this alternative if you do not need to use groups
+ (uncomment to use - and do not forget to comment the group
+ option above...)-->
+
+ <tr>
+ <xsl:apply-templates select="/session/content/document"/>
+ <td colspan="2"></td>
+ </tr>
+
+ </table>
+
+ <!--
+ @ post toc html here
+ -->
+
+ <p class="colback"> </p>
+
+ </xsl:template>
+
+ <!-- also when using groups, in the end it comes
+ to this template, which is called for each document -->
+ <xsl:template match="document">
+
+ <!-- image cell -->
+
+ <td width="50" height="200" align="center">
+ <p>
+ <xsl:apply-templates select="@icon"/>
+ </p>
+ </td>
+
+ <td width="200"><p>
+
+ <xsl:apply-templates select="@title">
+ <xsl:with-param name="target" select="'mainframe'"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="@description"/>
+ <xsl:apply-templates select="@author"/>
+ <xsl:apply-templates select="@create-date"/>
+ <xsl:apply-templates select="@update-date"/>
+ <xsl:apply-templates select="@filename"/>
+ <xsl:apply-templates select="@format"/>
+ <xsl:apply-templates select="@pages"/>
+ <xsl:apply-templates select="@size"/>
+
+ </p> </td>
+
+ </xsl:template>
+
+
+
+</xsl:stylesheet>
diff --git a/test/user-template/user/config/wizard/web/layouts/layout.xsl b/test/user-template/user/config/wizard/web/layouts/layout.xsl
new file mode 100644
index 000000000000..4502c2ad1c0d
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/layouts/layout.xsl
@@ -0,0 +1,204 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--*************************************************************************
+ *
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ Copyright 2000, 2010 Oracle and/or its affiliates.
+
+ OpenOffice.org - a multi-platform office productivity suite
+
+ This file is part of OpenOffice.org.
+
+ OpenOffice.org is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License version 3
+ only, as published by the Free Software Foundation.
+
+ OpenOffice.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License version 3 for more details
+ (a copy is included in the LICENSE file that accompanied this code).
+
+ You should have received a copy of the GNU Lesser General Public License
+ version 3 along with OpenOffice.org. If not, see
+ <http://www.openoffice.org/license.html>
+ for a copy of the LGPLv3 License.
+
+ ************************************************************************-->
+<!-- =================================================
+
+This template is a skeleton for single level TOC pages
+Do not overwrite this ! copy it and complete the missing
+code.
+
+I use the @ character whereever there is a missing code, so
+you can use a simple find to navigate and find the
+places...
+
+====================================================== -->
+
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml">
+
+ <xsl:output method = "html"
+ media-type = "text/html"
+ indent = "yes"
+ doctype-public = "-//W3C//DTD HTML 4.0 Transitional//EN"
+ omit-xml-declaration = "yes"
+ standalone = "yes" />
+
+ <!-- =============================
+ ROOT
+ ================================== -->
+
+
+ <xsl:template match="/">
+ <html>
+ <xsl:call-template name="head"/>
+ <xsl:call-template name="body"/>
+ </html>
+ </xsl:template>
+
+
+ <!-- =============================
+ Document properties
+
+ This section contains templates which
+ give the document properties...
+
+ ================================== -->
+
+ <!-- this tempaltes gives the
+ relative href of the document. To use
+ with the <a href="..."> attribute-->
+
+
+ <xsl:template match="document" mode="href">
+ <xsl:value-of select="concat(../@directory,'/')"/>
+ <xsl:if test="@dir">
+ <xsl:value-of select="concat(@dir,'/')"/>
+ </xsl:if>
+ <xsl:value-of select="@fn"/>
+ </xsl:template>
+
+
+ <xsl:template match="document/@title">
+ <xsl:param name="target" select="''"/>
+
+ <span class="doctitle">
+ <a>
+ <xsl:attribute name="href">
+ <xsl:apply-templates select=".." mode="href"/>
+ </xsl:attribute>
+
+ <xsl:if test=" $target != ''">
+ <xsl:attribute name="target">
+ <xsl:value-of select="$target"/>
+ </xsl:attribute>
+ </xsl:if>
+
+ <xsl:value-of select="."/>
+ </a>
+ </span>
+ <br/>
+ </xsl:template>
+
+
+ <xsl:template match="document/@description">
+ <span class="docdescription">
+ <xsl:value-of select="."/>
+ </span>
+ <br/>
+ </xsl:template>
+
+
+ <xsl:template match="document/@author">
+ <span class="docauthor">
+ <xsl:value-of select="."/>
+ </span>
+ <br/>
+ </xsl:template>
+
+
+ <xsl:template match="document/@create-date">
+ <span class="doccreationdate">
+ <xsl:value-of select="."/>
+ </span>
+ <br/>
+ </xsl:template>
+
+
+ <xsl:template match="document/@update-date">
+ <span class="doclastchangedate">
+ <xsl:value-of select="."/>
+ </span>
+ <br/>
+ </xsl:template>
+
+
+ <xsl:template match="document/@filename">
+ <span class="docfilename">
+ <xsl:value-of select="."/>
+ </span>
+ <br/>
+ </xsl:template>
+
+
+ <xsl:template match="document/@format">
+ <span class="docfileformatinfo">
+ <xsl:value-of select="."/>
+ </span>
+ <br/>
+ </xsl:template>
+
+
+ <xsl:template match="document/@pages">
+ <span class="docnumberofpages">
+ <xsl:value-of select="."/>
+ </span>
+ <br/>
+ </xsl:template>
+
+
+ <xsl:template match="document/@size">
+ <span class="docsizeinkb">
+ <xsl:value-of select="."/>
+ </span>
+ <br/>
+ </xsl:template>
+
+ <xsl:template match="document/@icon">
+ <img src="images/{.}"/>
+ <br/>
+ </xsl:template>
+
+
+ <!-- =============================
+ HTML HEAD
+
+ this section should not be changed
+ ================================== -->
+
+ <xsl:template name="head">
+ <head>
+ <title>
+ <xsl:value-of select="/session/general-info/@title"/>
+ </title>
+ <!-- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -->
+ <meta HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=UTF-8"/>
+ <meta name="description" content="{/session/general-info/@description}"/>
+ <meta name="keywords" content="{/session/general-info/@keywords}"/>
+ <meta name="author" content="{/session/general-info/@author}"/>
+ <meta name="email" content="{/session/general-info/@email}"/>
+ <meta name="copyright" content="{/session/general-info/@copyright}"/>
+ <!-- create date?
+ update date?
+ fav icon?
+ -->
+ <link href="style.css" rel="stylesheet" type="text/css"/>
+
+ </head>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/test/user-template/user/config/wizard/web/layouts/layoutF.xsl b/test/user-template/user/config/wizard/web/layouts/layoutF.xsl
new file mode 100644
index 000000000000..8f12609b79e8
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/layouts/layoutF.xsl
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--*************************************************************************
+ *
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ Copyright 2000, 2010 Oracle and/or its affiliates.
+
+ OpenOffice.org - a multi-platform office productivity suite
+
+ This file is part of OpenOffice.org.
+
+ OpenOffice.org is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License version 3
+ only, as published by the Free Software Foundation.
+
+ OpenOffice.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License version 3 for more details
+ (a copy is included in the LICENSE file that accompanied this code).
+
+ You should have received a copy of the GNU Lesser General Public License
+ version 3 along with OpenOffice.org. If not, see
+ <http://www.openoffice.org/license.html>
+ for a copy of the LGPLv3 License.
+
+ ************************************************************************-->
+<!-- =================================================
+
+This template is a skeleton for single level TOC pages
+with Frames : it generates the main index.html which contains
+the frameset.
+
+Do not overwrite this ! copy it and complete the missing
+code.
+
+I use the @ character whereever there is a missing code, so
+you can use a simple find to navigate and find the
+places...
+
+====================================================== -->
+
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml">
+
+ <xsl:output method = "html"
+ media-type = "text/html"
+ indent = "yes"
+ doctype-public = "-//W3C//DTD HTML 4.0 Transitional//EN"
+ omit-xml-declaration = "yes"
+ standalone = "yes" />
+
+ <xsl:include href="../layout.xsl"/>
+
+
+ <!-- =============================
+ ROOT
+ ================================== -->
+
+
+ <xsl:template match="/">
+ <html>
+ <xsl:call-template name="head"/>
+ <xsl:call-template name="frameset"/>
+ </html>
+ </xsl:template>
+
+
+ <!-- =============================
+ HTML FRAMES
+ ================================== -->
+
+
+ <xsl:template name="frameset">
+
+ <!--
+ @ Add frameset here...
+
+ the following noframes tag is
+ naturally optional.
+ -->
+
+ <noframes/>
+
+ <!-- the body tag has no influance here,
+ we add it for good style.
+ -->
+
+ <body>
+ </body>
+ </xsl:template>
+
+
+ <!-- =============================
+ HTML HEAD
+
+ this section should not be changed
+ ================================== -->
+
+ <xsl:template name="head">
+ <head>
+ <title>
+ <xsl:value-of select="/session/general-info/@title"/>
+ </title>
+ <!-- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -->
+ <meta HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=UTF-8"/>
+ <meta name="description" content="{/session/general-info/@description}"/>
+ <meta name="keywords" content="{/session/general-info/@keywords}"/>
+ <meta name="author" content="{/session/general-info/@author}"/>
+ <meta name="email" content="{/session/general-info/@email}"/>
+ <meta name="copyright" content="{/session/general-info/@copyright}"/>
+ <!-- create date?
+ update date?
+ fav icon?
+ -->
+ <link href="style.css" rel="stylesheet" type="text/css"/>
+
+ </head>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/test/user-template/user/config/wizard/web/layouts/layoutX.xsl b/test/user-template/user/config/wizard/web/layouts/layoutX.xsl
new file mode 100644
index 000000000000..2c4ce08ff4c4
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/layouts/layoutX.xsl
@@ -0,0 +1,291 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--*************************************************************************
+ *
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ Copyright 2000, 2010 Oracle and/or its affiliates.
+
+ OpenOffice.org - a multi-platform office productivity suite
+
+ This file is part of OpenOffice.org.
+
+ OpenOffice.org is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License version 3
+ only, as published by the Free Software Foundation.
+
+ OpenOffice.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License version 3 for more details
+ (a copy is included in the LICENSE file that accompanied this code).
+
+ You should have received a copy of the GNU Lesser General Public License
+ version 3 along with OpenOffice.org. If not, see
+ <http://www.openoffice.org/license.html>
+ for a copy of the LGPLv3 License.
+
+ ************************************************************************-->
+
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml">
+
+ <xsl:output method = "html"
+ media-type = "text/html"
+ indent = "yes"
+ doctype-public = "-//W3C//DTD HTML 4.0 Transitional//EN"
+ omit-xml-declaration = "yes"
+ standalone = "yes" />
+
+ <xsl:include href="../layout.xsl"/>
+
+
+ <!-- =============================
+ ROOT
+ ================================== -->
+
+
+ <xsl:template match="/">
+ <html>
+ <xsl:call-template name="head"/>
+ <xsl:call-template name="body"/>
+ </html>
+ </xsl:template>
+
+
+ <!-- =============================
+ HTML BODY
+ ================================== -->
+
+ <xsl:template name="body">
+ <body>
+ <xsl:call-template name="title"/>
+ <xsl:call-template name="toc"/>
+ </body>
+ </xsl:template>
+
+
+ <xsl:template name="toc">
+ <!--
+ @ pre toc html here
+ -->
+
+ <!-- use this to group documents, it
+ is for example usefull when generating tables -->
+
+ <xsl:variable name="group" select="3"/>
+
+ <xsl:for-each select="/session/content/document[ ( ( position() - 1 ) mod $group ) = 0 ]">
+
+ <!--
+ @ pre group html here
+ -->
+
+ <xsl:call-template name="document-group">
+ <xsl:with-param name="group" select="$group"/>
+ </xsl:call-template>
+
+ <!--
+ @ post group html here
+ -->
+
+ </xsl:for-each>
+
+
+ <!-- use this alternative if you do not need to use groups
+ (uncomment to use - and do not forget to comment the group
+ option above...)-->
+
+ <!--
+ <xsl:apply-templates select="/session/content/document"/>
+ -->
+
+ <!--
+ @ post toc html here
+ -->
+
+ </xsl:template>
+
+ <!-- also when using groups, in the end it comes
+ to this template, which is called for each document -->
+ <xsl:template match="document">
+ <xsl:apply-templates select="@title"/>
+ <xsl:apply-templates select="@description"/>
+ <xsl:apply-templates select="@author"/>
+ <xsl:apply-templates select="@create-date"/>
+ <xsl:apply-templates select="@update-date"/>
+ <xsl:apply-templates select="@filename"/>
+ <xsl:apply-templates select="@format"/>
+ <xsl:apply-templates select="@format-icon"/>
+ <xsl:apply-templates select="@format-icon"/>
+ </xsl:template>
+
+
+
+ <xsl:template name="document-group">
+ <xsl:param name="group"/>
+
+ <!-- @ pre group code here -->
+
+ <!-- - - -->
+
+ <xsl:variable name="count" select="(position() - 1) * $group + 1"/>
+
+ <xsl:for-each select="/session/content/document[$count &lt;= position() and position() &lt; ($count + $group)]">
+
+ <xsl:apply-templates select="."/>
+
+ </xsl:for-each>
+
+ <!-- @ post group code here -->
+
+ <!-- - - -->
+
+ </xsl:template>
+
+
+ <xsl:template name="title">
+ <!--
+ @ Pre title html code here
+ -->
+
+ <xsl:value-of select="/session/general-info/@title"/>
+
+ <!--
+ @ Post title html code here
+ -->
+ </xsl:template>
+
+ <!-- =============================
+ Document properties
+
+ This section contains templates which
+ give the document properties...
+
+ ================================== -->
+
+ <!-- this tempaltes gives the
+ relative href of the document. To use
+ with the <a href="..."> attribute-->
+
+
+ <xsl:template match="document" mode="href">
+ <xsl:value-of select="concat(../@directory,'/')"/>
+ <xsl:if test="@dir">
+ <xsl:value-of select="concat(@dir,'/')"/>
+ </xsl:if>
+ <xsl:value-of select="@fn"/>
+ </xsl:template>
+
+
+ <xsl:template match="document/@title">
+ <span class="doctitle">
+ <a>
+ <xsl:attribute name="href">
+ <xsl:apply-templates select=".." mode="href"/>
+ </xsl:attribute>
+
+ <xsl:value-of select="."/>
+ </a>
+ </span>
+ <br/>
+ </xsl:template>
+
+
+ <xsl:template match="document/@description">
+ <span class="docdescription">
+ <xsl:value-of select="."/>
+ </span>
+ <br/>
+ </xsl:template>
+
+
+ <xsl:template match="document/@author">
+ <span class="docauthor">
+ <xsl:value-of select="."/>
+ </span>
+ <br/>
+ </xsl:template>
+
+
+ <xsl:template match="document/@create-date">
+ <span class="doccreationdate">
+ <xsl:value-of select="."/>
+ </span>
+ <br/>
+ </xsl:template>
+
+
+ <xsl:template match="document/@update-date">
+ <span class="doclastchangedate">
+ <xsl:value-of select="."/>
+ </span>
+ <br/>
+ </xsl:template>
+
+
+ <xsl:template match="document/@filename">
+ <span class="docfilename">
+ <xsl:value-of select="."/>
+ </span>
+ <br/>
+ </xsl:template>
+
+
+ <xsl:template match="document/@format">
+ <span class="docfileformatinfo">
+ <xsl:value-of select="."/>
+ </span>
+ <br/>
+ </xsl:template>
+
+
+ <xsl:template match="document/@pages">
+ <span class="docnumberofpages">
+ <xsl:value-of select="."/>
+ </span>
+ <br/>
+ </xsl:template>
+
+
+ <xsl:template match="document/@size">
+ <span class="docsizeinkb">
+ <xsl:value-of select="."/>
+ </span>
+ <br/>
+ </xsl:template>
+
+ <xsl:template match="document/@icon">
+ <img src="images/{.}"/>
+ <br/>
+ </xsl:template>
+
+
+ <!-- =============================
+ HTML HEAD
+
+ this section should not be changed
+ ================================== -->
+
+ <xsl:template name="head">
+ <head>
+ <title>
+ <xsl:value-of select="/session/general-info/@title"/>
+ </title>
+ <!-- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -->
+ <meta HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=UTF-8"/>
+ <meta name="description" content="{/session/general-info/@description}"/>
+ <meta name="keywords" content="{/session/general-info/@keywords}"/>
+ <meta name="author" content="{/session/general-info/@author}"/>
+ <meta name="email" content="{/session/general-info/@email}"/>
+ <meta name="copyright" content="{/session/general-info/@copyright}"/>
+ <!-- create date?
+ update date?
+ fav icon?
+ -->
+ <link href="style.css" rel="stylesheet" type="text/css"/>
+
+ </head>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/test/user-template/user/config/wizard/web/layouts/simple/index.html.xsl b/test/user-template/user/config/wizard/web/layouts/simple/index.html.xsl
new file mode 100644
index 000000000000..43d6f78931e5
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/layouts/simple/index.html.xsl
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- =================================================
+
+This template is a skeleton for single level TOC pages
+Do not overwrite this ! copy it and complete the missing
+code.
+
+I use the @ character whereever there is a missing code, so
+you can use a simple find to navigate and find the
+places...
+
+====================================================== -->
+
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml">
+
+ <xsl:output method = "html"
+ media-type = "text/html"
+ indent = "yes"
+ doctype-public = "-//W3C//DTD HTML 4.0 Transitional//EN"
+ omit-xml-declaration = "yes"
+ standalone = "yes" />
+
+
+ <xsl:include href="../layout.xsl"/>
+
+
+ <!-- =============================
+ HTML BODY
+ ================================== -->
+
+ <xsl:template name="body">
+ <body>
+
+ <table width="100%" border="0" cellpadding="0" cellspacing="0" class="tcolor">
+
+ <xsl:call-template name="title"/>
+ <xsl:call-template name="toc"/>
+
+ </table>
+
+ </body>
+ </xsl:template>
+
+
+ <xsl:template name="toc">
+ <!--
+ @ pre toc html here
+ -->
+ <tr>
+ <td width="30" class="ccolor">&#160;
+ </td>
+ <td>
+
+ <!-- use this alternative if you do not need to use groups
+ (uncomment to use - and do not forget to comment the group
+ option above...)-->
+
+ <xsl:apply-templates select="/session/content/document"/>
+
+ <!--
+ @ post toc html here
+ -->
+ </td>
+ </tr>
+
+ </xsl:template>
+
+ <!-- also when using groups, in the end it comes
+ to this template, which is called for each document -->
+ <xsl:template match="document">
+ <p>
+ <xsl:apply-templates select="@icon"/>
+
+ <xsl:apply-templates select="@title"/>
+ <xsl:apply-templates select="@description"/>
+ <xsl:apply-templates select="@author"/>
+ <xsl:apply-templates select="@create-date"/>
+ <xsl:apply-templates select="@update-date"/>
+ <xsl:apply-templates select="@filename"/>
+ <xsl:apply-templates select="@format"/>
+ <xsl:apply-templates select="@format-icon"/>
+ <xsl:apply-templates select="@format-icon"/>
+ </p>
+
+ <xsl:if test="position() &lt; last()">
+ <hr/>
+ </xsl:if>
+
+ </xsl:template>
+
+ <xsl:template name="document-group">
+ <xsl:param name="group"/>
+
+ <!-- @ pre group code here -->
+
+ <!-- - - -->
+
+ <xsl:variable name="count" select="(position() - 1) * $group + 1"/>
+
+ <xsl:for-each select="/session/content/document[$count &lt;= position() and position() &lt; ($count + $group)]">
+
+ <xsl:apply-templates select="."/>
+
+ </xsl:for-each>
+
+ <!-- @ post group code here -->
+
+ <!-- - - -->
+
+ </xsl:template>
+
+
+ <xsl:template name="title">
+ <!--
+ @ Pre title html code here
+ -->
+ <tr>
+ <td height="80" colspan="2" class="toctitle">
+
+ <xsl:value-of select="/session/general-info/@title"/>
+
+ <!--
+ @ Post title html code here
+ -->
+ </td>
+ </tr>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/test/user-template/user/config/wizard/web/layouts/source.xml.xsl b/test/user-template/user/config/wizard/web/layouts/source.xml.xsl
new file mode 100644
index 000000000000..4a9c471e7530
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/layouts/source.xml.xsl
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--*************************************************************************
+ *
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ Copyright 2000, 2010 Oracle and/or its affiliates.
+
+ OpenOffice.org - a multi-platform office productivity suite
+
+ This file is part of OpenOffice.org.
+
+ OpenOffice.org is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License version 3
+ only, as published by the Free Software Foundation.
+
+ OpenOffice.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License version 3 for more details
+ (a copy is included in the LICENSE file that accompanied this code).
+
+ You should have received a copy of the GNU Lesser General Public License
+ version 3 along with OpenOffice.org. If not, see
+ <http://www.openoffice.org/license.html>
+ for a copy of the LGPLv3 License.
+
+ ************************************************************************-->
+<!-- =================================
+
+ This templates creates a source.xml file
+ which is identicall to the source xml tree
+ used for the transformation.
+ This is may be usefull for deveopement/debuging
+ of layouts.
+
+ ==================================== -->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:redirect="http://xml.apache.org/xalan/redirect"
+ extension-element-prefixes="redirect">
+
+ <xsl:output method="xml"/>
+
+
+ <xsl:template match="/">
+ <xsl:apply-templates mode="copy"/>
+ </xsl:template>
+
+ <xsl:template match="@*|node()" mode="copy">
+ <xsl:copy>
+ <xsl:apply-templates select="@*|node()" mode="copy"/>
+ </xsl:copy>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/test/user-template/user/config/wizard/web/layouts/table_2/index.html.xsl b/test/user-template/user/config/wizard/web/layouts/table_2/index.html.xsl
new file mode 100644
index 000000000000..2ce0788a0c93
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/layouts/table_2/index.html.xsl
@@ -0,0 +1,185 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- =================================================
+
+This template is a skeleton for single level TOC pages
+Do not overwrite this ! copy it and complete the missing
+code.
+I use the @ character whereever there is a missing code, so
+you can use a simple find to navigate and find the
+places...
+====================================================== -->
+
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml">
+
+ <xsl:output method = "html"
+ media-type = "text/html"
+ indent = "yes"
+ doctype-public = "-//W3C//DTD HTML 4.0 Transitional//EN"
+ omit-xml-declaration = "yes"
+ standalone = "yes" />
+
+ <xsl:include href="../layout.xsl"/>
+
+
+ <!-- =============================
+ HTML BODY
+ ================================== -->
+
+ <xsl:template name="body">
+
+ <body>
+
+ <!--
+ @ pre code here
+ -->
+
+ <table width="100%" border="0" cellpadding="0" cellspacing="0" class="tcolor">
+
+ <xsl:call-template name="title"/>
+
+ <!--
+ @ inter code here
+ -->
+
+ <xsl:call-template name="toc"/>
+
+ <!--
+ @ post code here
+ -->
+
+ </table>
+
+ </body>
+
+ </xsl:template>
+
+
+
+
+ <xsl:template name="title">
+ <!--
+ @ Pre title html code here
+ -->
+ <tr>
+ <td height="200%" colspan="7" class="toctitle">
+
+ <xsl:value-of select="/session/general-info/@title"/>
+
+ <!--
+ @ Post title html code here
+ -->
+
+ </td>
+ </tr>
+
+ </xsl:template>
+
+
+ <xsl:template name="toc">
+
+ <!-- @ pre toc html here -->
+
+ <!-- - - -->
+
+ <!-- use this to group documents, it
+ is for example usefull when generating tables -->
+
+
+
+ <xsl:call-template name="toc-with-group">
+ <xsl:with-param name="group" select="2"/>
+ </xsl:call-template>
+
+
+ <!-- use this alternative if you do not need to use groups
+ (uncomment to use - and do not forget to comment the group
+ option above...)-->
+
+ <!-- <xsl:apply-templates select="/session/content/document"/> -->
+
+ <!-- @ post toc html here -->
+
+ <!-- - - -->
+
+ </xsl:template>
+
+
+ <xsl:template name="toc-with-group">
+ <xsl:param name="group"/>
+
+ <xsl:for-each select="/session/content/document[ ( ( position() - 1 ) mod $group ) = 0 ]">
+
+ <xsl:call-template name="document-group">
+ <xsl:with-param name="group" select="$group"/>
+ </xsl:call-template>
+
+ </xsl:for-each>
+
+ </xsl:template>
+
+ <xsl:template name="document-group">
+ <xsl:param name="group"/>
+
+ <!-- @ pre group code here -->
+
+ <tr>
+ <td width="30" height="200" class="ccolor"></td>
+
+ <!-- - - -->
+
+ <xsl:variable name="count" select="(position() - 1) * $group + 1"/>
+
+ <xsl:for-each select="/session/content/document[$count &lt;= position() and position() &lt; ($count + $group)]">
+
+ <xsl:apply-templates select="."/>
+
+ <xsl:if test="last()=1 and position()=last()">
+ <xsl:call-template name="empty-doc"/>
+ </xsl:if>
+
+ </xsl:for-each>
+
+ <!-- @ post group code here -->
+
+ <td colspan="2" class="ccolor"></td>
+ </tr>
+
+ <!-- - - -->
+
+ </xsl:template>
+
+ <xsl:template name="empty-doc">
+ <td width="50"> <p> </p></td>
+ <td width="200"> <p> </p></td>
+ </xsl:template>
+
+
+ <!-- also when using groups, in the end it comes
+ to this template, which is called for each document -->
+
+ <xsl:template match="document">
+ <!-- file format icon -->
+
+ <td width="50"> <p>
+ <xsl:apply-templates select="@icon"/>
+ </p></td>
+
+ <td width="200"> <p>
+
+ <xsl:apply-templates select="@title"/>
+ <xsl:apply-templates select="@description"/>
+ <xsl:apply-templates select="@author"/>
+ <xsl:apply-templates select="@create-date"/>
+ <xsl:apply-templates select="@update-date"/>
+ <xsl:apply-templates select="@filename"/>
+ <xsl:apply-templates select="@format"/>
+ <xsl:apply-templates select="@pages"/>
+ <xsl:apply-templates select="@size"/>
+
+ </p> </td>
+
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/test/user-template/user/config/wizard/web/layouts/table_3/index.html.xsl b/test/user-template/user/config/wizard/web/layouts/table_3/index.html.xsl
new file mode 100644
index 000000000000..e5456121f688
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/layouts/table_3/index.html.xsl
@@ -0,0 +1,191 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- =================================================
+
+This template is a skeleton for single level TOC pages
+Do not overwrite this ! copy it and complete the missing
+code.
+I use the @ character whereever there is a missing code, so
+you can use a simple find to navigate and find the
+places...
+====================================================== -->
+
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml">
+
+ <xsl:output method = "html"
+ media-type = "text/html"
+ indent = "yes"
+ doctype-public = "-//W3C//DTD HTML 4.0 Transitional//EN"
+ omit-xml-declaration = "yes"
+ standalone = "yes" />
+
+ <xsl:include href="../layout.xsl"/>
+
+
+ <!-- =============================
+ HTML BODY
+ ================================== -->
+
+ <xsl:template name="body">
+
+ <body>
+
+ <!--
+ @ pre code here
+ -->
+
+ <table width="100%" border="0" cellpadding="0" cellspacing="0" class="tcolor">
+
+ <xsl:call-template name="title"/>
+
+ <!--
+ @ inter code here
+ -->
+
+ <xsl:call-template name="toc"/>
+
+ <!--
+ @ post code here
+ -->
+
+ </table>
+
+ </body>
+
+ </xsl:template>
+
+
+
+
+ <xsl:template name="title">
+ <!--
+ @ Pre title html code here
+ -->
+ <tr>
+ <td height="200%" colspan="9" class="toctitle">
+
+ <xsl:value-of select="/session/general-info/@title"/>
+
+ <!--
+ @ Post title html code here
+ -->
+
+ </td>
+ </tr>
+
+ </xsl:template>
+
+
+ <xsl:template name="toc">
+
+ <!-- @ pre toc html here -->
+
+ <!-- - - -->
+
+ <!-- use this to group documents, it
+ is for example usefull when generating tables -->
+
+
+
+ <xsl:call-template name="toc-with-group">
+ <xsl:with-param name="group" select="3"/>
+ </xsl:call-template>
+
+
+ <!-- use this alternative if you do not need to use groups
+ (uncomment to use - and do not forget to comment the group
+ option above...)-->
+
+ <!-- <xsl:apply-templates select="/session/content/document"/> -->
+
+ <!-- @ post toc html here -->
+
+ <!-- - - -->
+
+ </xsl:template>
+
+
+ <xsl:template name="toc-with-group">
+ <xsl:param name="group"/>
+
+ <xsl:for-each select="/session/content/document[ ( ( position() - 1 ) mod $group ) = 0 ]">
+
+ <xsl:call-template name="document-group">
+ <xsl:with-param name="group" select="$group"/>
+ </xsl:call-template>
+
+ </xsl:for-each>
+
+ </xsl:template>
+
+ <xsl:template name="document-group">
+ <xsl:param name="group"/>
+
+ <!-- @ pre group code here -->
+
+ <tr>
+ <td width="30" height="200" class="ccolor"></td>
+
+ <!-- - - -->
+
+ <xsl:variable name="count" select="(position() - 1) * $group + 1"/>
+
+ <xsl:for-each select="/session/content/document[$count &lt;= position() and position() &lt; ($count + $group)]">
+
+ <xsl:apply-templates select="."/>
+
+ <xsl:choose>
+ <xsl:when test="last()=1 and position()=last()">
+ <xsl:call-template name="empty-doc"/>
+ <xsl:call-template name="empty-doc"/>
+ </xsl:when>
+ <xsl:when test="last()=2 and position()=last()">
+ <xsl:call-template name="empty-doc"/>
+ </xsl:when>
+ </xsl:choose>
+
+ </xsl:for-each>
+
+ <!-- @ post group code here -->
+
+ <td colspan="2" class="ccolor"></td>
+ </tr>
+
+ <!-- - - -->
+
+ </xsl:template>
+
+ <xsl:template name="empty-doc">
+ <td width="50"> <p> </p></td>
+ <td width="200"> <p> </p></td>
+ </xsl:template>
+
+
+ <!-- also when using groups, in the end it comes
+ to this template, which is called for each document -->
+
+ <xsl:template match="document">
+ <!-- file format icon -->
+
+ <td width="50"> <p>
+ <xsl:apply-templates select="@icon"/>
+ </p></td>
+
+ <td width="200"> <p>
+
+ <xsl:apply-templates select="@title"/>
+ <xsl:apply-templates select="@description"/>
+ <xsl:apply-templates select="@author"/>
+ <xsl:apply-templates select="@create-date"/>
+ <xsl:apply-templates select="@update-date"/>
+ <xsl:apply-templates select="@filename"/>
+ <xsl:apply-templates select="@format"/>
+ <xsl:apply-templates select="@pages"/>
+ <xsl:apply-templates select="@size"/>
+
+ </p> </td>
+
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/test/user-template/user/config/wizard/web/layouts/zigzag/index.html.xsl b/test/user-template/user/config/wizard/web/layouts/zigzag/index.html.xsl
new file mode 100644
index 000000000000..4c19d31d29a4
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/layouts/zigzag/index.html.xsl
@@ -0,0 +1,190 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- =================================================
+
+This template is a skeleton for single level TOC pages
+Do not overwrite this ! copy it and complete the missing
+code.
+
+I use the @ character whereever there is a missing code, so
+you can use a simple find to navigate and find the
+places...
+
+====================================================== -->
+<!DOCTYPE xsl:stylesheet [
+
+<!ENTITY x1 "0">
+<!ENTITY x2 "250">
+<!ENTITY x3 "500">
+
+<!ENTITY y1 "0">
+<!ENTITY y2 "150">
+<!ENTITY y3 "0">
+
+
+]>
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml">
+
+ <xsl:output method = "html"
+ media-type = "text/html"
+ indent = "yes"
+ doctype-public = "-//W3C//DTD HTML 4.0 Transitional//EN"
+ omit-xml-declaration = "yes"
+ standalone = "yes" />
+
+ <xsl:include href="../layout.xsl"/>
+
+ <!-- =============================
+ HTML BODY
+ ================================== -->
+
+ <xsl:template name="body">
+ <body>
+ <xsl:call-template name="title"/>
+ <xsl:call-template name="toc"/>
+ </body>
+ </xsl:template>
+
+
+ <xsl:template name="toc">
+ <!--
+ @ pre toc html here
+ -->
+
+ <xsl:apply-templates select="/session/content/document"/>
+
+ <!--
+ @ post toc html here
+ -->
+
+ </xsl:template>
+
+
+
+ <!-- also when using groups, in the end it comes
+ to this template, which is called for each document -->
+ <xsl:template match="document">
+
+ <xsl:variable name="i" select="position() - 1"/>
+
+ <xsl:variable name="x1">
+ <xsl:call-template name="x"/>
+ </xsl:variable>
+
+ <xsl:variable name="x" select="number($x1) + 50 "/>
+
+ <xsl:variable name="y1">
+ <xsl:call-template name="y"/>
+ </xsl:variable>
+
+ <xsl:variable name="y" select="(floor($i div 3)) * 300 + number($y1) + 80 "/>
+
+ <div style="position:absolute; padding:15px; left:{$x}px; top:{$y}px; width:170px; height:220px; z-index:1" class="tcolor">
+ <div align="center">
+
+ <xsl:apply-templates select="@icon"/>
+ <p>
+ <xsl:apply-templates select="@title"/>
+ <xsl:apply-templates select="@description"/>
+ <xsl:apply-templates select="@author"/>
+ <xsl:apply-templates select="@create-date"/>
+ <xsl:apply-templates select="@update-date"/>
+ <xsl:apply-templates select="@filename"/>
+ <xsl:apply-templates select="@format"/>
+ <xsl:apply-templates select="@pages"/>
+ <xsl:apply-templates select="@size"/>
+ </p>
+ </div>
+ </div>
+ </xsl:template>
+
+ <xsl:template name="x">
+ <xsl:variable name="i" select="position()"/>
+ <xsl:choose>
+ <xsl:when test="$i = 2">
+ &x2;
+ </xsl:when>
+ <xsl:when test="$i = 3">
+ &x3;
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="($i mod 3) = 1">
+ &x1;
+ </xsl:when>
+ <xsl:when test="($i mod 3) = 2">
+ &x3;
+ </xsl:when>
+ <xsl:when test="($i mod 3) = 0">
+ &x2;
+ </xsl:when>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template name="y">
+ <xsl:variable name="i" select="position()"/>
+ <xsl:choose>
+ <xsl:when test="$i = 2">
+ &y2;
+ </xsl:when>
+ <xsl:when test="$i = 3">
+ &y3;
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="($i mod 3) = 1">
+ &y1;
+ </xsl:when>
+ <xsl:when test="($i mod 3) = 2">
+ &y3;
+ </xsl:when>
+ <xsl:when test="($i mod 3) = 0">
+ &y2;
+ </xsl:when>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+
+ <xsl:template name="document-group">
+ <xsl:param name="group"/>
+
+ <!-- @ pre group code here -->
+
+ <!-- - - -->
+
+ <xsl:variable name="count" select="(position() - 1) * $group + 1"/>
+
+ <xsl:for-each select="/session/content/document[$count &lt;= position() and position() &lt; ($count + $group)]">
+
+ <xsl:apply-templates select="."/>
+
+ </xsl:for-each>
+
+ <!-- @ post group code here -->
+
+ <!-- - - -->
+
+ </xsl:template>
+
+
+ <xsl:template name="title">
+ <!--
+ @ Pre title html code here
+ -->
+ <div style="position:absolute; left:280px; top:8px; width:220px; z-index:2; padding:10px" class="ccolor">
+ <div align="center" class="toctitle">
+ <xsl:value-of select="/session/general-info/@title"/>
+ &#160;
+ <!--
+ @ Post title html code here
+ -->
+ </div>
+ </div>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/test/user-template/user/config/wizard/web/preview.html b/test/user-template/user/config/wizard/web/preview.html
new file mode 100644
index 000000000000..6bbe75d623ab
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/preview.html
@@ -0,0 +1,41 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+ <title>Unbenanntes Dokument</title>
+ <meta http-equiv="Content-Type"
+ content="text/html; charset=iso-8859-1">
+ <link href="style.css" rel="stylesheet" type="text/css">
+</head>
+<body background="images/background.gif">
+<table width="177" height="100" border="0" align="center">
+ <tbody>
+ <tr>
+ <td width="12" height="20" class="ccolor">&nbsp;</td>
+ <td width="12" class="ccolor">&nbsp;</td>
+ <td width="149" class="toctitle">Site title</td>
+ <td width="12" class="ccolor">&nbsp;</td>
+ <td width="12" class="ccolor">&nbsp;</td>
+ </tr>
+ <tr>
+ <td height="80" class="ccolor">&nbsp;</td>
+ <td class="tcolor">&nbsp;</td>
+ <td class="tcolor">
+ <span class="doctitle">Document</span><br>
+ <span class="doccreationdate">Creation Date</span><br>
+ <span class="doclastchangeddate">Last Change Date</span><br>
+ <span class="docfilename">Filename</span></td>
+ <td class="tcolor">&nbsp;</td>
+ <td class="ccolor">&nbsp;</td>
+ </tr>
+ <tr>
+ <td width="12" height="20" class="ccolor">&nbsp;</td>
+ <td width="12" class="ccolor">&nbsp;</td>
+ <td width="149" class="ccolor">&nbsp;</td>
+ <td width="12" class="ccolor">&nbsp;</td>
+ <td width="12" class="ccolor">&nbsp;</td>
+ </tr>
+
+ </tbody>
+</table>
+</body>
+</html>
diff --git a/test/user-template/user/config/wizard/web/styles/beige.css b/test/user-template/user/config/wizard/web/styles/beige.css
new file mode 100644
index 000000000000..a1a2c4d29eba
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/styles/beige.css
@@ -0,0 +1,79 @@
+.doctitle {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 14px;
+ color: #000000;
+ font-weight: bold;
+}
+.docdescription {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docauthor {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.doccreationdate {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #000066;
+}
+.doclastchangeddate {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #990000;
+}
+.docfilename {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #000066;
+}
+.docfileformatinfo {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docnumberofpages {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #000000;
+}
+.docsizeinkb {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #000000;
+}
+body {
+ background-color: #FFCC99;
+ background-image: url(images/background.gif);
+}
+.toctitle {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: bold;
+ color: #000000;
+ background-color: #FFCC99;
+}
+.tcolor {
+ background-color: #FF9933;
+}
+.ccolor {
+ background-color: #FFCC99;
+}
+a:link {
+ font-family: "Times New Roman", Times, serif;
+ color: #003399;
+}
+a:visited {
+ font-family: "Times New Roman", Times, serif;
+ color: #0099FF;
+}
+a:active {
+ font-family: "Times New Roman", Times, serif;
+ color: #FF0000;
+}
diff --git a/test/user-template/user/config/wizard/web/styles/bg.css b/test/user-template/user/config/wizard/web/styles/bg.css
new file mode 100644
index 000000000000..d571a7f0e7a4
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/styles/bg.css
@@ -0,0 +1,79 @@
+.doctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 14px;
+ color: #000000;
+ font-weight: bold;
+}
+.docdescription {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docauthor {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.doccreationdate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000066;
+}
+.doclastchangeddate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #990000;
+}
+.docfilename {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000066;
+}
+.docfileformatinfo {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docnumberofpages {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000000;
+}
+.docsizeinkb {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000000;
+}
+body {
+ background-color: #660033;
+ background-image: url(images/background.gif);
+}
+.toctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: bold;
+ color: #FFFFFF;
+ background-color: #006699;
+}
+.tcolor {
+ background-color: #FFFF99;
+}
+.ccolor {
+ background-color: #006699;
+}
+a:link {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #0033CC;
+}
+a:visited {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #0099CC;
+}
+a:active {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #FF0000;
+}
diff --git a/test/user-template/user/config/wizard/web/styles/bgr.css b/test/user-template/user/config/wizard/web/styles/bgr.css
new file mode 100644
index 000000000000..72a241b0a1cd
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/styles/bgr.css
@@ -0,0 +1,79 @@
+.doctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 14px;
+ color: #000000;
+ font-weight: bold;
+}
+.docdescription {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docauthor {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.doccreationdate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000066;
+}
+.doclastchangeddate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #990000;
+}
+.docfilename {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000066;
+}
+.docfileformatinfo {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docnumberofpages {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000000;
+}
+.docsizeinkb {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000000;
+}
+body {
+ background-color: #660033;
+ background-image: url(images/background.gif);
+}
+.toctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: bold;
+ color: #FFFFFF;
+ background-color: #006699;
+}
+.tcolor {
+ background-color: #FFFF99;
+}
+.ccolor {
+ background-color: #0066CC;
+}
+a:link {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #0033CC;
+}
+a:visited {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #0066FF;
+}
+a:active {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #FF0000;
+}
diff --git a/test/user-template/user/config/wizard/web/styles/bgrey.css b/test/user-template/user/config/wizard/web/styles/bgrey.css
new file mode 100644
index 000000000000..6f92425f1e92
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/styles/bgrey.css
@@ -0,0 +1,79 @@
+.doctitle {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 14px;
+ color: #FFFFFF;
+ font-weight: bold;
+}
+.docdescription {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.docauthor {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.doccreationdate {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.doclastchangeddate {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #FFCC00;
+}
+.docfilename {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.docfileformatinfo {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.docnumberofpages {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.docsizeinkb {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+body {
+ background-color: #000000;
+ background-image: url(images/background.gif);
+}
+.toctitle {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: bold;
+ color: #FFFFFF;
+ background-color: #555555;
+}
+.tcolor {
+ background-color: #333333;
+}
+.ccolor {
+ background-color: #555555;
+}
+a:link {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #CCCC00;
+}
+a:visited {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #CCCC99;
+}
+a:active {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #FF0000;
+}
diff --git a/test/user-template/user/config/wizard/web/styles/bwb.css b/test/user-template/user/config/wizard/web/styles/bwb.css
new file mode 100644
index 000000000000..2bf3f8b6c8f0
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/styles/bwb.css
@@ -0,0 +1,79 @@
+.doctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 14px;
+ color: #FFFFFF;
+ font-weight: bold;
+}
+.docdescription {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.docauthor {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.doccreationdate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FFFF00;
+}
+.doclastchangeddate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FF0000;
+}
+.docfilename {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.docfileformatinfo {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.docnumberofpages {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.docsizeinkb {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+body {
+ background-color: #999999;
+ background-image: url(images/background.gif);
+}
+.toctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: bold;
+ color: #FFFFFF;
+ background-color: #003399;
+}
+.tcolor {
+ background-color: #000066;
+}
+.ccolor {
+ background-color: #003399;
+}
+a:link {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #FFFF00;
+}
+a:visited {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #CCCCCC;
+}
+a:active {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #FF0000;
+}
diff --git a/test/user-template/user/config/wizard/web/styles/bwo.css b/test/user-template/user/config/wizard/web/styles/bwo.css
new file mode 100644
index 000000000000..50e746d53da9
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/styles/bwo.css
@@ -0,0 +1,79 @@
+.doctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 14px;
+ color: #FFFFFF;
+ font-weight: bold;
+}
+.docdescription {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.docauthor {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.doccreationdate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FFFF00;
+}
+.doclastchangeddate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FF0000;
+}
+.docfilename {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.docfileformatinfo {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.docnumberofpages {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.docsizeinkb {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+body {
+ background-color: #666666;
+ background-image: url(images/background.gif);
+}
+.toctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: bold;
+ color: #000000;
+ background-color: #CC6600;
+}
+.tcolor {
+ background-color: #003366;
+}
+.ccolor {
+ background-color: #CC6600;
+}
+a:link {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #FFFF00;
+}
+a:visited {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #0099FF;
+}
+a:active {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #FF0000;
+}
diff --git a/test/user-template/user/config/wizard/web/styles/dark.css b/test/user-template/user/config/wizard/web/styles/dark.css
new file mode 100644
index 000000000000..fb10ea73a5e7
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/styles/dark.css
@@ -0,0 +1,79 @@
+.doctitle {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 14px;
+ color: #FFFFFF;
+ font-weight: bold;
+}
+.docdescription {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.docauthor {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.doccreationdate {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.doclastchangeddate {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #FFCC00;
+}
+.docfilename {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.docfileformatinfo {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.docnumberofpages {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.docsizeinkb {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+body {
+ background-color: #000000;
+ background-image: url(images/background.gif);
+}
+.toctitle {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: bold;
+ color: #FFFFFF;
+ background-color: #333366;
+}
+.tcolor {
+ background-color: #333300;
+}
+.ccolor {
+ background-color: #333366;
+}
+a:link {
+ font-family: "Times New Roman", Times, serif;
+ color: #EEEEEE;
+}
+a:visited {
+ font-family: "Times New Roman", Times, serif;
+ color: #CCCCCC;
+}
+a:active {
+ font-family: "Times New Roman", Times, serif;
+ color: #FFCC00;
+}
diff --git a/test/user-template/user/config/wizard/web/styles/dp.css b/test/user-template/user/config/wizard/web/styles/dp.css
new file mode 100644
index 000000000000..e8a600c1ce6a
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/styles/dp.css
@@ -0,0 +1,79 @@
+.doctitle {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 14px;
+ color: #FFFFFF;
+ font-weight: bold;
+}
+.docdescription {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.docauthor {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.doccreationdate {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.doclastchangeddate {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #FFCC00;
+}
+.docfilename {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.docfileformatinfo {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.docnumberofpages {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.docsizeinkb {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+body {
+ background-color: #000000;
+ background-image: url(images/background.gif);
+}
+.toctitle {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: bold;
+ color: #FFFFFF;
+ background-color: #333366;
+}
+.tcolor {
+ background-color: #660033;
+}
+.ccolor {
+ background-color: #333333;
+}
+a:link {
+ font-family: "Times New Roman", Times, serif;
+ color: #EEEEEE;
+}
+a:visited {
+ font-family: "Times New Roman", Times, serif;
+ color: #CCCCCC;
+}
+a:active {
+ font-family: "Times New Roman", Times, serif;
+ color: #FFCC00;
+}
diff --git a/test/user-template/user/config/wizard/web/styles/forest.css b/test/user-template/user/config/wizard/web/styles/forest.css
new file mode 100644
index 000000000000..720cf39fc5bb
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/styles/forest.css
@@ -0,0 +1,79 @@
+.doctitle {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 14px;
+ color: #FFFFFF;
+ font-weight: bold;
+}
+.docdescription {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.docauthor {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.doccreationdate {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.doclastchangeddate {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #FF0000;
+}
+.docfilename {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.docfileformatinfo {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.docnumberofpages {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.docsizeinkb {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+body {
+ background-color: #999999;
+ background-image: url(images/background.gif);
+}
+.toctitle {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: bold;
+ color: #FFFFFF;
+ background-color: #663300;
+}
+.tcolor {
+ background-color: #006633;
+}
+.ccolor {
+ background-color: #003300;
+}
+a:link {
+ font-family: "Times New Roman", Times, serif;
+ color: #EEEEEE;
+}
+a:visited {
+ font-family: "Times New Roman", Times, serif;
+ color: #CCCCCC;
+}
+a:active {
+ font-family: "Times New Roman", Times, serif;
+ color: #FF0000;
+}
diff --git a/test/user-template/user/config/wizard/web/styles/green.css b/test/user-template/user/config/wizard/web/styles/green.css
new file mode 100644
index 000000000000..da200b7edfab
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/styles/green.css
@@ -0,0 +1,79 @@
+.doctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 14px;
+ color: #FFFFFF;
+ font-weight: bold;
+}
+.docdescription {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.docauthor {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.doccreationdate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FFFF00;
+}
+.doclastchangeddate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FF0000;
+}
+.docfilename {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.docfileformatinfo {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.docnumberofpages {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.docsizeinkb {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+body {
+ background-color: #003333;
+ background-image: url(images/background.gif);
+}
+.toctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: bold;
+ color: #CCCCCC;
+ background-color: #003333;
+}
+.tcolor {
+ background-color: #006666;
+}
+.ccolor {
+ background-color: #003333;
+}
+a:link {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #FFFF00;
+}
+a:visited {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #0099FF;
+}
+a:active {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #CCFF00;
+}
diff --git a/test/user-template/user/config/wizard/web/styles/greenred.css b/test/user-template/user/config/wizard/web/styles/greenred.css
new file mode 100644
index 000000000000..2894e31c7632
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/styles/greenred.css
@@ -0,0 +1,79 @@
+.doctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 14px;
+ color: #FFFFFF;
+ font-weight: bold;
+}
+.docdescription {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.docauthor {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.doccreationdate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FFFF00;
+}
+.doclastchangeddate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000066;
+}
+.docfilename {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.docfileformatinfo {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.docnumberofpages {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.docsizeinkb {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+body {
+ background-color: #CCCCCC;
+ background-image: url(images/background.gif);
+}
+.toctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: bold;
+ color: #FFFFFF;
+ background-color: #003333;
+}
+.tcolor {
+ background-color: #990000;
+}
+.ccolor {
+ background-color: #003333;
+}
+a:link {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #FFFF00;
+}
+a:visited {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #0099FF;
+}
+a:active {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #99FF00;
+}
diff --git a/test/user-template/user/config/wizard/web/styles/grey.css b/test/user-template/user/config/wizard/web/styles/grey.css
new file mode 100644
index 000000000000..54757009afc1
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/styles/grey.css
@@ -0,0 +1,79 @@
+.doctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 14px;
+ color: #000000;
+ font-weight: bold;
+}
+.docdescription {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docauthor {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.doccreationdate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000066;
+}
+.doclastchangeddate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #990000;
+}
+.docfilename {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000066;
+}
+.docfileformatinfo {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docnumberofpages {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000000;
+}
+.docsizeinkb {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000000;
+}
+body {
+ background-color: #CCCCCC;
+ background-image: url(images/background.gif);
+}
+.toctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: bold;
+ color: #000000;
+ background-color: #CCCCCC;
+}
+.tcolor {
+ background-color: #EEEEEE;
+}
+.ccolor {
+ background-color: #BBBBBB;
+}
+a:link {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #0033CC;
+}
+a:visited {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #0099FF;
+}
+a:active {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #FF0000;
+}
diff --git a/test/user-template/user/config/wizard/web/styles/ibg.css b/test/user-template/user/config/wizard/web/styles/ibg.css
new file mode 100644
index 000000000000..22837ee476f7
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/styles/ibg.css
@@ -0,0 +1,79 @@
+.doctitle {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 14px;
+ color: #000000;
+ font-weight: bold;
+}
+.docdescription {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docauthor {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.doccreationdate {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #000066;
+}
+.doclastchangeddate {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #990000;
+}
+.docfilename {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #000066;
+}
+.docfileformatinfo {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docnumberofpages {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #000000;
+}
+.docsizeinkb {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #000000;
+}
+body {
+ background-color: #999999;
+ background-image: url(images/background.gif);
+}
+.toctitle {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: bold;
+ color: #000000;
+ background-color: #99CCCC;
+}
+.tcolor {
+ background-color: #DDDDDD;
+}
+.ccolor {
+ background-color: #99CCFF;
+}
+a:link {
+ font-family: "Times New Roman", Times, serif;
+ color: #003399;
+}
+a:visited {
+ font-family: "Times New Roman", Times, serif;
+ color: #0066CC;
+}
+a:active {
+ font-family: "Times New Roman", Times, serif;
+ color: #FF9900;
+}
diff --git a/test/user-template/user/config/wizard/web/styles/ice.css b/test/user-template/user/config/wizard/web/styles/ice.css
new file mode 100644
index 000000000000..719aa3cbae67
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/styles/ice.css
@@ -0,0 +1,79 @@
+.doctitle {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 14px;
+ color: #000000;
+ font-weight: bold;
+}
+.docdescription {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docauthor {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.doccreationdate {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #000066;
+}
+.doclastchangeddate {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #990000;
+}
+.docfilename {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #000066;
+}
+.docfileformatinfo {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docnumberofpages {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #000000;
+}
+.docsizeinkb {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #000000;
+}
+body {
+ background-color: #999999;
+ background-image: url(images/background.gif);
+}
+.toctitle {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: bold;
+ color: #000000;
+ background-color: #EEEEEE;
+}
+.tcolor {
+ background-color: #00CCFF;
+}
+.ccolor {
+ background-color: #CCCCCC;
+}
+a:link {
+ font-family: "Times New Roman", Times, serif;
+ color: #0033CC;
+}
+a:visited {
+ font-family: "Times New Roman", Times, serif;
+ color: #0066FF;
+}
+a:active {
+ font-family: "Times New Roman", Times, serif;
+ color: #FF0000;
+}
diff --git a/test/user-template/user/config/wizard/web/styles/marine.css b/test/user-template/user/config/wizard/web/styles/marine.css
new file mode 100644
index 000000000000..769a2c01c8f2
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/styles/marine.css
@@ -0,0 +1,79 @@
+.doctitle {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 14px;
+ color: #FFFFFF;
+ font-weight: bold;
+}
+.docdescription {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.docauthor {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.doccreationdate {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.doclastchangeddate {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #CC0000;
+}
+.docfilename {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.docfileformatinfo {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.docnumberofpages {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.docsizeinkb {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+body {
+ background-color: #999999;
+ background-image: url(images/background.gif);
+}
+.toctitle {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: bold;
+ color: #FFFFFF;
+ background-color: #000033;
+}
+.tcolor {
+ background-color: #000066;
+}
+.ccolor {
+ background-color: #000033;
+}
+a:link {
+ font-family: "Times New Roman", Times, serif;
+ color: #EEEEEE;
+}
+a:visited {
+ font-family: "Times New Roman", Times, serif;
+ color: #CCCCCC;
+}
+a:active {
+ font-family: "Times New Roman", Times, serif;
+ color: #FF0000;
+}
diff --git a/test/user-template/user/config/wizard/web/styles/orange.css b/test/user-template/user/config/wizard/web/styles/orange.css
new file mode 100644
index 000000000000..dccfd6c296b7
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/styles/orange.css
@@ -0,0 +1,79 @@
+.doctitle {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 14px;
+ color: #000000;
+ font-weight: bold;
+}
+.docdescription {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docauthor {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.doccreationdate {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #000066;
+}
+.doclastchangeddate {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #660000;
+}
+.docfilename {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #000066;
+}
+.docfileformatinfo {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docnumberofpages {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #000000;
+}
+.docsizeinkb {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 12px;
+ color: #000000;
+}
+body {
+ background-color: #999999;
+ background-image: url(images/background.gif);
+}
+.toctitle {
+ font-family: "Times New Roman", Times, serif;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: bold;
+ color: #000000;
+ background-color: #FF9900;
+}
+.tcolor {
+ background-color: #FF6600;
+}
+.ccolor {
+ background-color: #660033;
+}
+a:link {
+ font-family: "Times New Roman", Times, serif;
+ color: #000099;
+}
+a:visited {
+ font-family: "Times New Roman", Times, serif;
+ color: #0066CC;
+}
+a:active {
+ font-family: "Times New Roman", Times, serif;
+ color: #CC0000;
+}
diff --git a/test/user-template/user/config/wizard/web/styles/pc_old.css b/test/user-template/user/config/wizard/web/styles/pc_old.css
new file mode 100644
index 000000000000..a56e7a621633
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/styles/pc_old.css
@@ -0,0 +1,91 @@
+.doctitle {
+ font-family: "Courier New", Courier, mono;
+ font-size: 14px;
+ color: #00CC00;
+ font-weight: bold;
+}
+.docdescription {
+ font-family: "Courier New", Courier, mono;
+ font-size: 12px;
+ font-style: italic;
+ color: #00CC00;
+}
+.docauthor {
+ font-family: "Courier New", Courier, mono;
+ font-size: 12px;
+ font-style: italic;
+ color: #00CC00;
+}
+.doccreationdate {
+ font-family: "Courier New", Courier, mono;
+ font-size: 12px;
+ color: #99CC00;
+}
+.doclastchangeddate {
+ font-family: "Courier New", Courier, mono;
+ font-size: 12px;
+ color: #FF0000;
+}
+.docfilename {
+ font-family: "Courier New", Courier, mono;
+ font-size: 12px;
+ color: #00CC00;
+}
+.docfileformatinfo {
+ font-family: "Courier New", Courier, mono;
+ font-size: 12px;
+ font-style: italic;
+ color: #00CC00;
+}
+.docnumberofpages {
+ font-family: "Courier New", Courier, mono;
+ font-size: 12px;
+ color: #00CC00;
+}
+.docsizeinkb {
+ font-family: "Courier New", Courier, mono;
+ font-size: 12px;
+ color: #00CC00;
+}
+body {
+ background-color: #000000;
+ background-image: url(images/background.gif);
+}
+.toctitle {
+ font-family: "Courier New", Courier, mono;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: bold;
+ color: #00CC00;
+ background-color: #222222;
+}
+.tcolor {
+ background-color: #000000;
+ border-top-width: mittel;
+ border-right-width: mittel;
+ border-bottom-width: mittel;
+ border-left-width: mittel;
+ border-top-style: doppelt;
+ border-right-style: doppelt;
+ border-bottom-style: doppelt;
+ border-left-style: doppelt;
+ border-top-color: #333333;
+ border-right-color: #000000;
+ border-bottom-color: #000000;
+ border-left-color: #999999;
+}
+.ccolor {
+ background-color: #222222;
+}
+a:link {
+ font-family: "Courier New", Courier, mono;
+ color: #00FF33;
+}
+a:visited {
+ font-family: "Courier New", Courier, mono;
+ color: #00CC33;
+}
+a:active {
+ font-family: "Courier New", Courier, mono;
+ color: #CC0000;
+}
diff --git a/test/user-template/user/config/wizard/web/styles/red.css b/test/user-template/user/config/wizard/web/styles/red.css
new file mode 100644
index 000000000000..bf36a6cfe0fc
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/styles/red.css
@@ -0,0 +1,79 @@
+.doctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 14px;
+ color: #FFFFFF;
+ font-weight: bold;
+}
+.docdescription {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.docauthor {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.doccreationdate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FFFF00;
+}
+.doclastchangeddate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FF0000;
+}
+.docfilename {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.docfileformatinfo {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.docnumberofpages {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.docsizeinkb {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+body {
+ background-color: #999999;
+ background-image: url(images/background.gif);
+}
+.toctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: bold;
+ color: #FFFFFF;
+ background-color: #660033;
+}
+.tcolor {
+ background-color: #330000;
+}
+.ccolor {
+ background-color: #660033;
+}
+a:link {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #FFFF00;
+}
+a:visited {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #00CCFF;
+}
+a:active {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #FF0000;
+}
diff --git a/test/user-template/user/config/wizard/web/styles/rgb.css b/test/user-template/user/config/wizard/web/styles/rgb.css
new file mode 100644
index 000000000000..741a3ebe3329
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/styles/rgb.css
@@ -0,0 +1,91 @@
+.doctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 14px;
+ color: #000000;
+ font-weight: bold;
+}
+.docdescription {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docauthor {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.doccreationdate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000066;
+}
+.doclastchangeddate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #990000;
+}
+.docfilename {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000066;
+}
+.docfileformatinfo {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docnumberofpages {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000000;
+}
+.docsizeinkb {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000000;
+}
+body {
+ background-color: #660000;
+ background-image: url(images/background.gif);
+}
+.toctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: bold;
+ color: #000000;
+ background-color: #CCCCCC;
+}
+.tcolor {
+ background-color: #FFCC00;
+ border-top-width: mittel;
+ border-right-width: mittel;
+ border-bottom-width: mittel;
+ border-left-width: mittel;
+ border-top-style: doppelt;
+ border-right-style: doppelt;
+ border-bottom-style: doppelt;
+ border-left-style: doppelt;
+ border-top-color: #003399;
+ border-right-color: #CC3300;
+ border-bottom-color: #003399;
+ border-left-color: #666666;
+}
+.ccolor {
+ background-color: #000066;
+}
+a:link {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #003399;
+}
+a:visited {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #0099CC;
+}
+a:active {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #CC0000;
+}
diff --git a/test/user-template/user/config/wizard/web/styles/strange.css b/test/user-template/user/config/wizard/web/styles/strange.css
new file mode 100644
index 000000000000..ac37b3835de3
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/styles/strange.css
@@ -0,0 +1,79 @@
+.doctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 14px;
+ color: #000000;
+ font-weight: bold;
+}
+.docdescription {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docauthor {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.doccreationdate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000066;
+}
+.doclastchangeddate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #990000;
+}
+.docfilename {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000066;
+}
+.docfileformatinfo {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docnumberofpages {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000000;
+}
+.docsizeinkb {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000000;
+}
+body {
+ background-color: #660000;
+ background-image: url(images/background.gif);
+}
+.toctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: bold;
+ color: #000000;
+ background-color: #CCCCCC;
+}
+.tcolor {
+ background-color: #33CC66;
+}
+.ccolor {
+ background-color: #330099;
+}
+a:link {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #0033CC;
+}
+a:visited {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #0099FF;
+}
+a:active {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #FF0000;
+}
diff --git a/test/user-template/user/config/wizard/web/styles/violet.css b/test/user-template/user/config/wizard/web/styles/violet.css
new file mode 100644
index 000000000000..4b42d1811fb3
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/styles/violet.css
@@ -0,0 +1,79 @@
+.doctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 14px;
+ color: #FFFFFF;
+ font-weight: bold;
+}
+.docdescription {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.docauthor {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.doccreationdate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FFFF00;
+}
+.doclastchangeddate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FF0000;
+}
+.docfilename {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.docfileformatinfo {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #FFFFFF;
+}
+.docnumberofpages {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+.docsizeinkb {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #FFFFFF;
+}
+body {
+ background-color: #CCCCCC;
+ background-image: url(images/background.gif);
+}
+.toctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: bold;
+ color: #FFFFFF;
+ background-color: #330033;
+}
+.tcolor {
+ background-color: #330066;
+}
+.ccolor {
+ background-color: #330033;
+}
+a:link {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #FFFF00;
+}
+a:visited {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #0099FF;
+}
+a:active {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #FF0000;
+}
diff --git a/test/user-template/user/config/wizard/web/styles/water.css b/test/user-template/user/config/wizard/web/styles/water.css
new file mode 100644
index 000000000000..f654fbff3455
--- /dev/null
+++ b/test/user-template/user/config/wizard/web/styles/water.css
@@ -0,0 +1,79 @@
+.doctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 14px;
+ color: #000000;
+ font-weight: bold;
+}
+.docdescription {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docauthor {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.doccreationdate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000066;
+}
+.doclastchangeddate {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #990000;
+}
+.docfilename {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000066;
+}
+.docfileformatinfo {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ font-style: italic;
+ color: #000000;
+}
+.docnumberofpages {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000000;
+}
+.docsizeinkb {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12px;
+ color: #000000;
+}
+body {
+ background-color: #CCCCCC;
+ background-image: url(images/background.gif);
+}
+.toctitle {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 20px;
+ font-style: normal;
+ font-weight: bold;
+ color: #FFFFFF;
+ background-color: #006699;
+}
+.tcolor {
+ background-color: #EEEEEE;
+}
+.ccolor {
+ background-color: #0066CC;
+}
+a:link {
+ font-family: "Times New Roman", Times, serif;
+ color: #0033CC;
+}
+a:visited {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #0066CC;
+}
+a:active {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #CC0000;
+}
diff --git a/test/user-template/user/dtd/math/1_01/w3c_ipr_software_notice.html b/test/user-template/user/dtd/math/1_01/w3c_ipr_software_notice.html
new file mode 100644
index 000000000000..3a4ed535c1a7
--- /dev/null
+++ b/test/user-template/user/dtd/math/1_01/w3c_ipr_software_notice.html
@@ -0,0 +1,105 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
+<!-- W3C IPR SOFTWARE NOTICE -->
+<!-- downloaded from: -->
+<!-- http://www.w3.org/Consortium/Legal/copyright-software-19980720 -->
+<!-- -->
+<!-- Changed: 24. July 2001 -->
+<!-- 1) removed link to stylesheet -->
+<!-- 2) removed "webmaster" link -->
+<!-- 3) changed site-relative URLs to absolute URLs -->
+<!-- 4) added this comment block -->
+<!-- Changes are intended to allow proper -->
+<!-- off-line viewing of the license. -->
+
+<html>
+<head>
+<meta name="generator" content="HTML Tidy, see www.w3.org">
+<meta http-equiv="Content-Type" content=
+"text/html; charset=iso-8859-1">
+<title>W3C IPR SOFTWARE NOTICE</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF">
+<h1>W3C<sup>&reg;</sup> SOFTWARE NOTICE AND LICENSE</h1>
+
+<h3>Copyright &copy; 1994-2001 <a href="http://www.w3.org/">World
+Wide Web Consortium</a>, (<a href=
+"http://www.lcs.mit.edu/">Massachusetts Institute of
+Technology</a>, <a href="http://www.inria.fr/">Institut National de
+Recherche en Informatique et en Automatique</a>, <a href=
+"http://www.keio.ac.jp/">Keio University</a>). All Rights Reserved.
+http://www.w3.org/Consortium/Legal/</h3>
+
+<p>This W3C work (including software, documents, or other related
+items) is being provided by the copyright holders under the
+following license. By obtaining, using and/or copying this work,
+you (the licensee) agree that you have read, understood, and will
+comply with the following terms and conditions:</p>
+
+<p>Permission to use, copy, modify, and distribute this software
+and its documentation, with or without modification,&nbsp; for any
+purpose and without fee or royalty is hereby granted, provided that
+you include the following on ALL copies of the software and
+documentation or portions thereof, including modifications, that
+you make:</p>
+
+<ol>
+<li>The full text of this NOTICE in a location viewable to users of
+the redistributed or derivative work.</li>
+
+<li>Any pre-existing intellectual property disclaimers, notices, or
+terms and conditions. If none exist, a short notice of the
+following form (hypertext is preferred, text is permitted) should
+be used within the body of any redistributed or derivative code:
+"Copyright &copy; [$date-of-software] <a href="http://www.w3.org/">
+World Wide Web Consortium</a>, (<a href=
+"http://www.lcs.mit.edu/">Massachusetts Institute of
+Technology</a>, <a href="http://www.inria.fr/">Institut National de
+Recherche en Informatique et en Automatique</a>, <a href=
+"http://www.keio.ac.jp/">Keio University</a>). All Rights Reserved.
+http://www.w3.org/Consortium/Legal/"</li>
+
+<li>Notice of any changes or modifications to the W3C files,
+including the date changes were made. (We recommend you provide
+URIs to the location from which the code is derived.)</li>
+</ol>
+
+<p>THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND
+COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF
+MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE
+USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD
+PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.</p>
+
+<p>COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT,
+SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE
+SOFTWARE OR DOCUMENTATION.</p>
+
+<p>The name and trademarks of copyright holders may NOT be used in
+advertising or publicity pertaining to the software without
+specific, written prior permission. Title to copyright in this
+software and any associated documentation will at all times remain
+with copyright holders.</p>
+
+<p>____________________________________</p>
+
+<p>This formulation of W3C's notice and license became active on
+August 14 1998 so as to improve compatibility with GPL. This
+version ensures that W3C software licensing terms are no more
+restrictive than GPL and consequently W3C software may be
+distributed in GPL packages. See the <a href=
+"http://www.w3.org/Consortium/Legal/copyright-software-19980519.html">older formulation</a> for the
+policy prior to this date. Please see our <a href="http://www.w3.org/Consortium/Legal/IPR-FAQ.html">
+Copyright FAQ</a> for common questions about using materials from
+our site, including specific terms and conditions for packages like
+libwww, Amaya, and Jigsaw. Other questions about this notice can be
+directed to <a href="mailto:site-policy@w3.org">
+site-policy@w3.org</a>.<br>
+&nbsp;</p>
+
+<p>&nbsp;</p>
+
+</body>
+</html>
+
diff --git a/test/user-template/user/dtd/officedocument/1_0/Manifest.dtd b/test/user-template/user/dtd/officedocument/1_0/Manifest.dtd
new file mode 100644
index 000000000000..d5f9184bf07e
--- /dev/null
+++ b/test/user-template/user/dtd/officedocument/1_0/Manifest.dtd
@@ -0,0 +1,58 @@
+<!--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ Copyright 2000, 2010 Oracle and/or its affiliates.
+
+ OpenOffice.org - a multi-platform office productivity suite
+
+ This file is part of OpenOffice.org.
+
+ OpenOffice.org is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License version 3
+ only, as published by the Free Software Foundation.
+
+ OpenOffice.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License version 3 for more details
+ (a copy is included in the LICENSE file that accompanied this code).
+
+ You should have received a copy of the GNU Lesser General Public License
+ version 3 along with OpenOffice.org. If not, see
+ <http://www.openoffice.org/license.html>
+ for a copy of the LGPLv3 License.
+
+-->
+<!ELEMENT manifest:manifest (manifest:file-entry+)>
+<!ATTLIST manifest:manifest xmlns:manifest CDATA #FIXED "http://openoffice.org/2001/manifest">
+
+<!ELEMENT manifest:file-entry (manifest:encryption-data?)>
+<!-- manifest:size is usually only specified for encrypted entries -->
+<!ATTLIST manifest:file-entry
+ manifest:full-path CDATA #REQUIRED
+ manifest:size CDATA #IMPLIED
+ manifest:media-type CDATA #REQUIRED
+>
+
+<!ELEMENT manifest:encryption-data (manifest:algorithm,manifest:key-derivation)>
+<!ATTLIST manifest:encryption-data
+ manifest:checksum-type CDATA #REQUIRED
+ manifest:checksum CDATA #REQUIRED >
+<!-- algorithm-name specifies the name of the algorithm used to encrypt
+ the stream, for example Blowfish
+ manifest:initialisation-vector is stored encoded in Base64 -->
+<!ELEMENT manifest:algorithm EMPTY>
+<!ATTLIST manifest:algorithm
+ manifest:algorithm-name CDATA #REQUIRED
+ manifest:initialisation-vector CDATA #REQUIRED>
+
+<!ELEMENT manifest:key-derivation EMPTY>
+<!-- manifest:key-derivation-name specifies the name of the algorithm used to derive
+ the key, for example PBKDF2 (see rfc 2898 )
+ manifest:salt is stored encoded in Base64 -->
+<!ATTLIST manifest:key-derivation
+ manifest:key-derivation-name CDATA #REQUIRED
+ manifest:salt CDATA #REQUIRED
+ manifest:iteration-count CDATA #REQUIRED>
+
diff --git a/test/user-template/user/dtd/officedocument/1_0/accelerator.dtd b/test/user-template/user/dtd/officedocument/1_0/accelerator.dtd
new file mode 100644
index 000000000000..5217b635cd14
--- /dev/null
+++ b/test/user-template/user/dtd/officedocument/1_0/accelerator.dtd
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ Copyright 2000, 2010 Oracle and/or its affiliates.
+
+ OpenOffice.org - a multi-platform office productivity suite
+
+ This file is part of OpenOffice.org.
+
+ OpenOffice.org is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License version 3
+ only, as published by the Free Software Foundation.
+
+ OpenOffice.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License version 3 for more details
+ (a copy is included in the LICENSE file that accompanied this code).
+
+ You should have received a copy of the GNU Lesser General Public License
+ version 3 along with OpenOffice.org. If not, see
+ <http://www.openoffice.org/license.html>
+ for a copy of the LGPLv3 License.
+
+-->
+
+<!ENTITY % boolean "(true|false)">
+
+<!ELEMENT accel:acceleratorlist (accel:item*)>
+<!ATTLIST accel:acceleratorlist
+ xmlns:accel CDATA #FIXED "http://openoffice.org/2001/accel"
+ xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
+>
+
+<!ELEMENT accel:item EMPTY>
+<!ATTLIST accel:item
+ accel:code CDATA #REQUIRED
+ accel:shift %boolean; "false"
+ accel:mod1 %boolean; "false"
+ accel:mod2 %boolean; "false"
+ xlink:href CDATA #REQUIRED
+>
diff --git a/test/user-template/user/dtd/officedocument/1_0/chart.mod b/test/user-template/user/dtd/officedocument/1_0/chart.mod
new file mode 100644
index 000000000000..e72bab68c3f9
--- /dev/null
+++ b/test/user-template/user/dtd/officedocument/1_0/chart.mod
@@ -0,0 +1,262 @@
+<!--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ Copyright 2000, 2010 Oracle and/or its affiliates.
+
+ OpenOffice.org - a multi-platform office productivity suite
+
+ This file is part of OpenOffice.org.
+
+ OpenOffice.org is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License version 3
+ only, as published by the Free Software Foundation.
+
+ OpenOffice.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License version 3 for more details
+ (a copy is included in the LICENSE file that accompanied this code).
+
+ You should have received a copy of the GNU Lesser General Public License
+ version 3 along with OpenOffice.org. If not, see
+ <http://www.openoffice.org/license.html>
+ for a copy of the LGPLv3 License.
+
+-->
+
+
+<!ENTITY % chart-class "(line|area|circle|ring|scatter|radar|bar|stock|add-in)">
+<!ENTITY % chart-solid-type "(cuboid|cylinder|cone|pyramid)">
+
+<!-- Chart element -->
+<!ELEMENT chart:chart ( chart:title?, chart:subtitle?, chart:legend?,
+ chart:plot-area,
+ table:table? )>
+<!ATTLIST chart:chart
+ chart:class %chart-class; #REQUIRED
+ chart:add-in-name %string; #IMPLIED
+ chart:table-number-list %string; #IMPLIED
+ draw:name %string; #IMPLIED
+ %draw-position;
+ %draw-size;
+ %draw-style-name;
+ chart:column-mapping %string; #IMPLIED
+ chart:row-mapping %string; #IMPLIED
+ chart:style-name %styleName; #IMPLIED>
+
+<!ATTLIST chart:chart %presentation-class; >
+<!ATTLIST chart:chart %zindex;>
+<!ATTLIST chart:chart %draw-end-position; >
+<!ATTLIST chart:chart draw:id %draw-shape-id; >
+<!ATTLIST chart:chart draw:layer %layerName; #IMPLIED>
+
+<!ATTLIST style:properties
+ chart:scale-text %boolean; "true"
+ chart:stock-updown-bars %boolean; "false"
+ chart:stock-with-volume %boolean; "false"
+ chart:three-dimensional %boolean; "false"
+ chart:deep %boolean; "false"
+ chart:lines %boolean; "false"
+ chart:percentage %boolean; "false"
+ chart:solid-type %chart-solid-type; "cuboid"
+ chart:splines %nonNegativeInteger; "0"
+ chart:stacked %boolean; "false"
+ chart:symbol %integer; "-1"
+ chart:vertical %boolean; "false"
+ chart:lines-used %nonNegativeInteger; "0"
+ chart:connect-bars %boolean; "false"
+ chart:spline-order %nonNegativeInteger; "2"
+ chart:spline-resolution %nonNegativeInteger; "20"
+ chart:pie-offset %nonNegativeInteger; "0">
+
+<!-- Main/Sub Title -->
+<!-- the cell-address attribute is currently not supported for titles -->
+<!ELEMENT chart:title (text:p)?>
+<!ATTLIST chart:title
+ table:cell-range %cell-address; #IMPLIED
+ svg:x %coordinate; #IMPLIED
+ svg:y %coordinate; #IMPLIED
+ chart:style-name %styleName; #IMPLIED >
+
+<!ELEMENT chart:subtitle (text:p)?>
+<!ATTLIST chart:subtitle
+ table:cell-range %cell-address; #IMPLIED
+ svg:x %coordinate; #IMPLIED
+ svg:y %coordinate; #IMPLIED
+ chart:style-name %styleName; #IMPLIED >
+
+<!-- you must specify either a legend-position or both, x and y coordinates -->
+<!ELEMENT chart:legend EMPTY>
+<!ATTLIST chart:legend
+ chart:legend-position (top|left|bottom|right) "right"
+ svg:x %coordinate; #IMPLIED
+ svg:y %coordinate; #IMPLIED
+ chart:style-name %styleName; #IMPLIED >
+
+<!-- Plot-Area specification -->
+
+<!ELEMENT chart:plot-area (dr3d:light*,
+ chart:axis*,
+ chart:categories?,
+ chart:series*,
+ chart:stock-gain-marker?,
+ chart:stock-loss-marker?,
+ chart:stock-range-line?,
+ chart:wall?,
+ chart:floor?) >
+
+<!ATTLIST chart:plot-area
+ svg:x %coordinate; #IMPLIED
+ svg:y %coordinate; #IMPLIED
+ svg:width %length; #IMPLIED
+ svg:height %length; #IMPLIED
+ chart:style-name %styleName; #IMPLIED
+ table:cell-range-address %cell-range-address; #IMPLIED
+ chart:table-number-list %string; #IMPLIED
+ chart:data-source-has-labels (none|row|column|both) "none" >
+
+<!-- 3d scene attributes on plot-area -->
+<!ATTLIST chart:plot-area
+ dr3d:vrp %vector3D; #IMPLIED
+ dr3d:vpn %vector3D; #IMPLIED
+ dr3d:vup %vector3D; #IMPLIED
+ dr3d:projection (parallel|perspective) #IMPLIED
+ dr3d:transform CDATA #IMPLIED
+ dr3d:distance %length; #IMPLIED
+ dr3d:focal-length %length; #IMPLIED
+ dr3d:shadow-slant %nonNegativeInteger; #IMPLIED
+ dr3d:shade-mode (flat|phong|gouraud|draft) #IMPLIED
+ dr3d:ambient-color %color; #IMPLIED
+ dr3d:lighting-mode %boolean; #IMPLIED >
+
+<!ATTLIST style:properties
+ chart:series-source (columns|rows) "columns" >
+
+<!ELEMENT chart:wall EMPTY>
+<!ATTLIST chart:wall
+ svg:width %length; #IMPLIED
+ chart:style-name %styleName; #IMPLIED >
+
+<!ELEMENT chart:floor EMPTY>
+<!ATTLIST chart:floor
+ svg:width %length; #IMPLIED
+ chart:style-name %styleName; #IMPLIED >
+
+<!-- Stock chart elements -->
+
+<!ELEMENT chart:stock-gain-marker EMPTY>
+<!ATTLIST chart:stock-gain-marker
+ chart:style-name %styleName; #IMPLIED >
+
+<!ELEMENT chart:stock-loss-marker EMPTY>
+<!ATTLIST chart:stock-loss-marker
+ chart:style-name %styleName; #IMPLIED >
+
+<!ELEMENT chart:stock-range-line EMPTY>
+<!ATTLIST chart:stock-range-line
+ chart:style-name %styleName; #IMPLIED >
+
+<!-- Axis -->
+
+<!ELEMENT chart:axis (chart:title?, chart:grid*)>
+<!ATTLIST chart:axis
+ chart:class (category|value|series|domain) #REQUIRED
+ chart:name %string; #IMPLIED
+ chart:style-name %styleName; #IMPLIED >
+
+<!ATTLIST style:properties
+ chart:tick-marks-major-inner %boolean; "false"
+ chart:tick-marks-major-outer %boolean; "true"
+ chart:tick-marks-minor-inner %boolean; "false"
+ chart:tick-marks-minor-outer %boolean; "false"
+ chart:logarithmic %boolean; "false"
+ chart:maximum %float; #IMPLIED
+ chart:minimum %float; #IMPLIED
+ chart:origin %float; #IMPLIED
+ chart:interval-major %float; #IMPLIED
+ chart:interval-minor %float; #IMPLIED
+ chart:gap-width %integer; #IMPLIED
+ chart:overlap %integer; #IMPLIED
+ text:line-break %boolean; "true"
+ chart:display-label %boolean; "true"
+ chart:label-arrangement (side-by-side|stagger-even|stagger-odd) "side-by-side"
+ chart:text-overlap %boolean; "false"
+ chart:visible %boolean; "true"
+ chart:link-data-style-to-source %boolean; "true" >
+
+<!ELEMENT chart:grid EMPTY>
+<!ATTLIST chart:grid
+ chart:class (major|minor) "major"
+ chart:style-name %styleName; #IMPLIED >
+
+
+<!ELEMENT chart:categories EMPTY>
+<!ATTLIST chart:categories
+ table:cell-range-address %cell-range-address; #IMPLIED >
+
+<!--
+ each series element must have an cell-range-address element that points
+ to the underlying table data.
+ Impl. Note: Internally all href elements are merged to one table range
+ that represents the data for the whole chart
+-->
+<!ELEMENT chart:series ( chart:domain*,
+ chart:mean-value?,
+ chart:regression-curve?,
+ chart:error-indicator?,
+ chart:data-point* )>
+<!ATTLIST chart:series
+ chart:values-cell-range-address %cell-range-address; #IMPLIED
+ chart:label-cell-address %cell-address; #IMPLIED
+ chart:class %chart-class; #IMPLIED
+ chart:attached-axis %string; #IMPLIED
+ chart:style-name %styleName; #IMPLIED >
+
+<!ELEMENT chart:domain EMPTY>
+<!ATTLIST chart:domain
+ table:cell-range-address %cell-range-address; #IMPLIED >
+
+<!ELEMENT chart:data-point EMPTY>
+<!ATTLIST chart:data-point
+ chart:repeated %nonNegativeInteger; #IMPLIED
+ chart:style-name %styleName; #IMPLIED >
+
+<!-- statistical properties -->
+
+<!ELEMENT chart:mean-value EMPTY>
+<!ELEMENT chart:regression-curve EMPTY >
+<!ELEMENT chart:error-indicator EMPTY >
+<!ATTLIST chart:mean-value chart:style-name %styleName; #IMPLIED >
+<!ATTLIST chart:regression-curve chart:style-name %styleName; #IMPLIED >
+<!ATTLIST chart:error-indicator chart:style-name %styleName; #IMPLIED >
+
+<!ATTLIST style:properties
+ chart:mean-value %boolean; #IMPLIED
+ chart:error-category (none|variance|standard-deviation|percentage|error-margin|constant) "none"
+ chart:error-percentage %float; #IMPLIED
+ chart:error-margin %float; #IMPLIED
+ chart:error-lower-limit %float; #IMPLIED
+ chart:error-upper-limit %float; #IMPLIED
+ chart:error-upper-indicator %boolean; #IMPLIED
+ chart:error-lower-indicator %boolean; #IMPLIED
+ chart:regression-type (none|linear|logarithmic|exponential|power) "none" >
+
+<!-- data label properties -->
+
+<!ATTLIST style:properties
+ chart:data-label-number (none|value|percentage) "none"
+ chart:data-label-text %boolean; "false"
+ chart:data-label-symbol %boolean; "false" >
+
+<!-- general text properties -->
+
+<!ATTLIST style:properties
+ text:rotation-angle %integer; "0" >
+
+<!-- symbol properties -->
+
+<!ATTLIST style:properties
+ chart:symbol-width %nonNegativeLength; #IMPLIED
+ chart:symbol-height %nonNegativeLength; #IMPLIED
+ chart:symbol-image-name %string; #IMPLIED >
diff --git a/test/user-template/user/dtd/officedocument/1_0/datastyl.mod b/test/user-template/user/dtd/officedocument/1_0/datastyl.mod
new file mode 100644
index 000000000000..daacfad66f5b
--- /dev/null
+++ b/test/user-template/user/dtd/officedocument/1_0/datastyl.mod
@@ -0,0 +1,208 @@
+<!--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ Copyright 2000, 2010 Oracle and/or its affiliates.
+
+ OpenOffice.org - a multi-platform office productivity suite
+
+ This file is part of OpenOffice.org.
+
+ OpenOffice.org is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License version 3
+ only, as published by the Free Software Foundation.
+
+ OpenOffice.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License version 3 for more details
+ (a copy is included in the LICENSE file that accompanied this code).
+
+ You should have received a copy of the GNU Lesser General Public License
+ version 3 along with OpenOffice.org. If not, see
+ <http://www.openoffice.org/license.html>
+ for a copy of the LGPLv3 License.
+
+-->
+
+<!-- data styles -->
+<!ENTITY % any-number "( number:number | number:scientific-number | number:fraction )">
+<!ENTITY % number-style-content "( (number:text,(%any-number;,number:text?)?) | (%any-number;,number:text?) )">
+<!ELEMENT number:number-style ( style:properties?, %number-style-content;, style:map* )>
+<!ELEMENT number:number ( number:embedded-text* )>
+<!ELEMENT number:scientific-number EMPTY>
+<!ELEMENT number:fraction EMPTY>
+
+<!ELEMENT number:embedded-text (#PCDATA)>
+<!ATTLIST number:embedded-text number:position %integer; #REQUIRED>
+
+<!ENTITY % currency-symbol-and-text "number:currency-symbol,number:text?">
+<!ENTITY % number-and-text "number:number,number:text?">
+<!ENTITY % currency-symbol-and-number "((%number-and-text;),(%currency-symbol-and-text;)?) | ((%currency-symbol-and-text;),(%number-and-text;)?)">
+<!ENTITY % currency-style-content "number:text?, (%currency-symbol-and-number;)?">
+
+<!ELEMENT number:currency-style ( style:properties?, (%currency-style-content;), style:map* )>
+<!ELEMENT number:currency-symbol (#PCDATA)>
+<!ATTLIST number:currency-symbol number:language CDATA #IMPLIED>
+<!ATTLIST number:currency-symbol number:country CDATA #IMPLIED>
+
+<!ENTITY % percentage-style-content "( (number:text,(%number-and-text;)?) | (%number-and-text;) )">
+<!ELEMENT number:percentage-style ( style:properties?, %percentage-style-content;, style:map* )>
+
+<!ENTITY % any-date "( number:day | number:month | number:year | number:era | number:day-of-week | number:week-of-year | number:quarter| number:hours | number:am-pm | number:minutes | number:seconds )">
+<!ENTITY % date-style-content "( (number:text,(%any-date;,number:text?)+) | (%any-date;,number:text?)+ )">
+<!ELEMENT number:date-style ( style:properties?, %date-style-content;, style:map* )>
+<!ELEMENT number:day EMPTY>
+<!ATTLIST number:day number:style (short|long) "short">
+<!ATTLIST number:day number:calendar CDATA #IMPLIED>
+<!ELEMENT number:month EMPTY>
+<!ATTLIST number:month number:textual %boolean; "false">
+<!ATTLIST number:month number:style (short|long) "short">
+<!ATTLIST number:month number:calendar CDATA #IMPLIED>
+<!ELEMENT number:year EMPTY>
+<!ATTLIST number:year number:style (short|long) "short">
+<!ATTLIST number:year number:calendar CDATA #IMPLIED>
+<!ELEMENT number:era EMPTY>
+<!ATTLIST number:era number:style (short|long) "short">
+<!ATTLIST number:era number:calendar CDATA #IMPLIED>
+<!ELEMENT number:day-of-week EMPTY>
+<!ATTLIST number:day-of-week number:style (short|long) "short">
+<!ATTLIST number:day-of-week number:calendar CDATA #IMPLIED>
+<!ELEMENT number:week-of-year EMPTY>
+<!ATTLIST number:week-of-year number:calendar CDATA #IMPLIED>
+<!ELEMENT number:quarter EMPTY>
+<!ATTLIST number:quarter number:style (short|long) "short">
+<!ATTLIST number:quarter number:calendar CDATA #IMPLIED>
+
+<!ENTITY % any-time "( number:hours | number:am-pm | number:minutes | number:seconds )">
+<!ENTITY % time-style-content "( (number:text,(%any-time;,number:text?)+) | (%any-time;,number:text?)+)">
+<!ELEMENT number:time-style ( style:properties?, %time-style-content;, style:map* )>
+<!ELEMENT number:hours EMPTY>
+<!ATTLIST number:hours number:style (short|long) "short">
+<!ELEMENT number:minutes EMPTY>
+<!ATTLIST number:minutes number:style (short|long) "short">
+<!ELEMENT number:seconds EMPTY>
+<!ATTLIST number:seconds number:style (short|long) "short">
+<!ATTLIST number:seconds number:decimal-places %integer; "0">
+<!ELEMENT number:am-pm EMPTY>
+
+<!ENTITY % boolean-style-content "( (number:text,(number:boolean,number:text?)?) | (number:boolean,number:text?) )">
+<!ELEMENT number:boolean-style ( style:properties?,%boolean-style-content;, style:map* )>
+<!ELEMENT number:boolean EMPTY>
+
+<!ENTITY % text-style-content "( (number:text,(number:text-content,number:text?)?) | (number:text-content,number:text?) )">
+<!ELEMENT number:text-style ( style:properties?,%text-style-content;, style:map* )>
+<!ELEMENT number:text (#PCDATA)>
+<!ELEMENT number:text-content EMPTY>
+
+<!ATTLIST number:number-style style:name %styleName; #REQUIRED>
+<!ATTLIST number:currency-style style:name %styleName; #REQUIRED>
+<!ATTLIST number:percentage-style style:name %styleName; #REQUIRED>
+<!ATTLIST number:date-style style:name %styleName; #REQUIRED>
+<!ATTLIST number:time-style style:name %styleName; #REQUIRED>
+<!ATTLIST number:boolean-style style:name %styleName; #REQUIRED>
+<!ATTLIST number:text-style style:name %styleName; #REQUIRED>
+
+<!-- The style:family is redundant and therefor should not exist at all -->
+<!-- Since OOo 1.0/1.1 is exporting this attribute is is an #IMPLIED -->
+<!-- one to avoid validation errors. -->
+<!ATTLIST number:number-style style:family CDATA #IMPLIED>
+<!ATTLIST number:currency-style style:family CDATA #IMPLIED>
+<!ATTLIST number:percentage-style style:family CDATA #IMPLIED>
+<!ATTLIST number:date-style style:family CDATA #IMPLIED>
+<!ATTLIST number:time-style style:family CDATA #IMPLIED>
+<!ATTLIST number:boolean-style style:family CDATA #IMPLIED>
+<!ATTLIST number:text-style style:family CDATA #IMPLIED>
+
+<!ATTLIST number:number-style number:language CDATA #IMPLIED>
+<!ATTLIST number:currency-style number:language CDATA #IMPLIED>
+<!ATTLIST number:percentage-style number:language CDATA #IMPLIED>
+<!ATTLIST number:date-style number:language CDATA #IMPLIED>
+<!ATTLIST number:time-style number:language CDATA #IMPLIED>
+<!ATTLIST number:boolean-style number:language CDATA #IMPLIED>
+<!ATTLIST number:text-style number:language CDATA #IMPLIED>
+
+<!ATTLIST number:number-style number:country CDATA #IMPLIED>
+<!ATTLIST number:currency-style number:country CDATA #IMPLIED>
+<!ATTLIST number:percentage-style number:country CDATA #IMPLIED>
+<!ATTLIST number:date-style number:country CDATA #IMPLIED>
+<!ATTLIST number:time-style number:country CDATA #IMPLIED>
+<!ATTLIST number:boolean-style number:country CDATA #IMPLIED>
+<!ATTLIST number:text-style number:country CDATA #IMPLIED>
+
+<!ATTLIST number:number-style number:title CDATA #IMPLIED>
+<!ATTLIST number:currency-style number:title CDATA #IMPLIED>
+<!ATTLIST number:percentage-style number:title CDATA #IMPLIED>
+<!ATTLIST number:date-style number:title CDATA #IMPLIED>
+<!ATTLIST number:time-style number:title CDATA #IMPLIED>
+<!ATTLIST number:boolean-style number:title CDATA #IMPLIED>
+<!ATTLIST number:text-style number:title CDATA #IMPLIED>
+
+<!ATTLIST number:number-style style:volatile %boolean; #IMPLIED>
+<!ATTLIST number:currency-style style:volatile %boolean; #IMPLIED>
+<!ATTLIST number:percentage-style style:volatile %boolean; #IMPLIED>
+<!ATTLIST number:date-style style:volatile %boolean; #IMPLIED>
+<!ATTLIST number:time-style style:volatile %boolean; #IMPLIED>
+<!ATTLIST number:boolean-style style:volatile %boolean; #IMPLIED>
+<!ATTLIST number:text-style style:volatile %boolean; #IMPLIED>
+
+<!ATTLIST number:number-style number:transliteration-format CDATA "1">
+<!ATTLIST number:currency-style number:transliteration-format CDATA "1">
+<!ATTLIST number:percentage-style number:transliteration-format CDATA "1">
+<!ATTLIST number:date-style number:transliteration-format CDATA "1">
+<!ATTLIST number:time-style number:transliteration-format CDATA "1">
+<!ATTLIST number:boolean-style number:transliteration-format CDATA "1">
+<!ATTLIST number:text-style number:transliteration-format CDATA "1">
+
+<!ATTLIST number:number-style number:transliteration-language CDATA #IMPLIED>
+<!ATTLIST number:currency-style number:transliteration-language CDATA #IMPLIED>
+<!ATTLIST number:percentage-style number:transliteration-language CDATA #IMPLIED>
+<!ATTLIST number:date-style number:transliteration-language CDATA #IMPLIED>
+<!ATTLIST number:time-style number:transliteration-language CDATA #IMPLIED>
+<!ATTLIST number:boolean-style number:transliteration-language CDATA #IMPLIED>
+<!ATTLIST number:text-style number:transliteration-language CDATA #IMPLIED>
+
+<!ATTLIST number:number-style number:transliteration-country CDATA #IMPLIED>
+<!ATTLIST number:currency-style number:transliteration-country CDATA #IMPLIED>
+<!ATTLIST number:percentage-style number:transliteration-country CDATA #IMPLIED>
+<!ATTLIST number:date-style number:transliteration-country CDATA #IMPLIED>
+<!ATTLIST number:time-style number:transliteration-country CDATA #IMPLIED>
+<!ATTLIST number:boolean-style number:transliteration-country CDATA #IMPLIED>
+<!ATTLIST number:text-style number:transliteration-country CDATA #IMPLIED>
+
+<!ATTLIST number:number-style number:transliteration-style (short|medium|long) "short">
+<!ATTLIST number:currency-style number:transliteration-style (short|medium|long) "short">
+<!ATTLIST number:percentage-style number:transliteration-style (short|medium|long) "short">
+<!ATTLIST number:date-style number:transliteration-style (short|medium|long) "short">
+<!ATTLIST number:time-style number:transliteration-style (short|medium|long) "short">
+<!ATTLIST number:boolean-style number:transliteration-style (short|medium|long) "short">
+<!ATTLIST number:text-style number:transliteration-style (short|medium|long) "short">
+
+<!ATTLIST number:currency-style number:automatic-order %boolean; "false">
+<!ATTLIST number:date-style number:automatic-order %boolean; "false">
+
+<!ATTLIST number:date-style number:format-source (fixed|language) "fixed">
+<!ATTLIST number:time-style number:format-source (fixed|language) "fixed">
+
+<!ATTLIST number:time-style number:truncate-on-overflow %boolean; "true">
+
+<!ATTLIST number:number number:decimal-places %integer; #IMPLIED>
+<!ATTLIST number:scientific-number number:decimal-places %integer; #IMPLIED>
+
+<!ATTLIST number:number number:min-integer-digits %integer; #IMPLIED>
+<!ATTLIST number:scientific-number number:min-integer-digits %integer; #IMPLIED>
+<!ATTLIST number:fraction number:min-integer-digits %integer; #IMPLIED>
+
+<!ATTLIST number:number number:grouping %boolean; "false">
+<!ATTLIST number:scientific-number number:grouping %boolean; "false">
+<!ATTLIST number:fraction number:grouping %boolean; "false">
+
+<!ATTLIST number:number number:decimal-replacement CDATA #IMPLIED>
+
+<!ATTLIST number:number number:display-factor %float; "1">
+
+<!ATTLIST number:scientific-number number:min-exponent-digits %integer; #IMPLIED>
+
+<!ATTLIST number:fraction number:min-numerator-digits %integer; #IMPLIED>
+
+<!ATTLIST number:fraction number:min-denominator-digits %integer; #IMPLIED>
diff --git a/test/user-template/user/dtd/officedocument/1_0/defs.mod b/test/user-template/user/dtd/officedocument/1_0/defs.mod
new file mode 100644
index 000000000000..98c964fe99e3
--- /dev/null
+++ b/test/user-template/user/dtd/officedocument/1_0/defs.mod
@@ -0,0 +1,56 @@
+<!--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ Copyright 2000, 2010 Oracle and/or its affiliates.
+
+ OpenOffice.org - a multi-platform office productivity suite
+
+ This file is part of OpenOffice.org.
+
+ OpenOffice.org is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License version 3
+ only, as published by the Free Software Foundation.
+
+ OpenOffice.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License version 3 for more details
+ (a copy is included in the LICENSE file that accompanied this code).
+
+ You should have received a copy of the GNU Lesser General Public License
+ version 3 along with OpenOffice.org. If not, see
+ <http://www.openoffice.org/license.html>
+ for a copy of the LGPLv3 License.
+
+-->
+
+<!-- This module should contain entities intended for content definitions
+ in several other modules. Putting all of them here should remove
+ (some) order dependencies of the other module files
+-->
+
+
+<!-- text marks for tracking changes; usually used inside of paragraphs -->
+<!ENTITY % change-marks "text:change | text:change-start | text:change-end">
+
+<!-- (optional) text declarations; used before the first paragraph -->
+<!ENTITY % text-decls "text:variable-decls?, text:sequence-decls?,
+ text:user-field-decls?, text:dde-connection-decls?,
+ text:alphabetical-index-auto-mark-file?" >
+
+<!-- define the types of text which may occur inside of sections -->
+<!ENTITY % sectionText "(text:h|text:p|text:ordered-list|
+ text:unordered-list|table:table|text:section|
+ text:table-of-content|text:illustration-index|
+ text:table-index|text:object-index|text:user-index|
+ text:alphabetical-index|text:bibliography|
+ text:index-title|%change-marks;)*">
+
+<!ENTITY % headerText "(%text-decls;, (text:h|text:p|text:ordered-list|
+ text:unordered-list|table:table|text:section|
+ text:table-of-content|text:illustration-index|
+ text:table-index|text:object-index|text:user-index|
+ text:alphabetical-index|text:bibliography|
+ text:index-title|%change-marks;)* )">
+
diff --git a/test/user-template/user/dtd/officedocument/1_0/dialog.dtd b/test/user-template/user/dtd/officedocument/1_0/dialog.dtd
new file mode 100644
index 000000000000..020ceedd5a5e
--- /dev/null
+++ b/test/user-template/user/dtd/officedocument/1_0/dialog.dtd
@@ -0,0 +1,405 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ Copyright 2000, 2010 Oracle and/or its affiliates.
+
+ OpenOffice.org - a multi-platform office productivity suite
+
+ This file is part of OpenOffice.org.
+
+ OpenOffice.org is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License version 3
+ only, as published by the Free Software Foundation.
+
+ OpenOffice.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License version 3 for more details
+ (a copy is included in the LICENSE file that accompanied this code).
+
+ You should have received a copy of the GNU Lesser General Public License
+ version 3 along with OpenOffice.org. If not, see
+ <http://www.openoffice.org/license.html>
+ for a copy of the LGPLv3 License.
+
+-->
+
+<!ENTITY % boolean "(true|false)">
+<!ENTITY % numeric "CDATA">
+
+<!ENTITY % default-attributes "dlg:id CDATA #REQUIRED
+ dlg:left %numeric; #REQUIRED
+ dlg:top %numeric; #REQUIRED
+ dlg:width %numeric; #REQUIRED
+ dlg:height %numeric; #REQUIRED
+ dlg:style-id CDATA #IMPLIED
+ dlg:tab-index %numeric; #IMPLIED
+ dlg:disabled %boolean; #IMPLIED
+ dlg:printable %boolean; #IMPLIED
+ dlg:page %numeric; #IMPLIED
+ dlg:tag CDATA #IMPLIED
+ dlg:help-text CDATA #IMPLIED
+ dlg:help-url CDATA #IMPLIED
+ ">
+
+<!ENTITY % event "(script:event|
+ script:listener-event|
+ dlg:event
+ )">
+
+<!ENTITY % control "(dlg:bulletinboard|
+ dlg:button|
+ dlg:checkbox|
+ dlg:combobox|
+ dlg:menulist|
+ dlg:radiogroup|
+ dlg:titledbox|
+ dlg:textfield|
+ dlg:text|
+ dlg:filecontrol|
+ dlg:img|
+ dlg:timefield|
+ dlg:datefield|
+ dlg:numericfield|
+ dlg:currencyfield|
+ dlg:patternfield|
+ dlg:formattedfield|
+ dlg:fixedline|
+ dlg:progressmeter|
+ dlg:scrollbar
+ )">
+
+<!ELEMENT dlg:window (dlg:styles*, (%event;)*, dlg:bulletinboard*)>
+<!ATTLIST dlg:window %default-attributes;
+ dlg:closeable %boolean; #IMPLIED
+ dlg:moveable %boolean; #IMPLIED
+ dlg:resizeable %boolean; #IMPLIED
+ dlg:title CDATA #IMPLIED
+ dlg:withtitlebar CDATA #IMPLIED
+ dlg:image-src CDATA #IMPLIED
+ xmlns:dlg CDATA #FIXED "http://openoffice.org/2000/dialog"
+ xmlns:script CDATA #FIXED "http://openoffice.org/2000/script"
+ >
+
+<!ELEMENT dlg:styles (dlg:style+)>
+
+<!ELEMENT dlg:style EMPTY>
+<!ATTLIST dlg:style dlg:style-id CDATA #REQUIRED
+ dlg:background-color %numeric; #IMPLIED
+ dlg:text-color %numeric; #IMPLIED
+ dlg:textline-color %numeric; #IMPLIED
+ dlg:fill-color %numeric; #IMPLIED
+ dlg:border CDATA #IMPLIED
+ dlg:font-name CDATA #IMPLIED
+ dlg:font-height %numeric; #IMPLIED
+ dlg:font-width %numeric; #IMPLIED
+ dlg:font-stylename CDATA #IMPLIED
+ dlg:font-family (decorative|modern|roman|script|swiss|system) #IMPLIED
+ dlg:font-charset (ansi|mac|ibmpc_437|ibmpc_850|ibmpc_860|ibmpc_861|ibmpc_863|ibmpc_865|system|symbol) #IMPLIED
+ dlg:font-pitch (fixed|variable) #IMPLIED
+ dlg:font-charwidth %numeric; #IMPLIED
+ dlg:font-weight %numeric; #IMPLIED
+ dlg:font-slant (oblique|italic|reverse_oblique|reverse_italic) #IMPLIED
+ dlg:font-underline (single|double|dotted|dash|longdash|dashdot|dashdotdot|smallwave|wave|doublewave|bold|bolddotted|bolddash|boldlongdash|bolddashdot|bolddashdotdot|boldwave) #IMPLIED
+ dlg:font-strikeout (single|double|bold|slash|x) #IMPLIED
+ dlg:font-orientation CDATA #IMPLIED
+ dlg:font-kerning %boolean; #IMPLIED
+ dlg:font-wordlinemode %boolean; #IMPLIED
+ dlg:font-type (raster|device|scalable) #IMPLIED
+ dlg:font-relief (none|embossed|engraved) #IMPLIED
+ dlg:font-emphasismark (none|dot|circle|disc|accent|above|below) #IMPLIED
+ dlg:look (none|3d|simple) #IMPLIED
+ >
+
+<!ELEMENT script:event EMPTY>
+<!ATTLIST script:event script:location CDATA #IMPLIED
+ script:language CDATA #REQUIRED
+ script:macro-name CDATA #REQUIRED
+ script:event-name CDATA #REQUIRED
+ >
+<!ELEMENT script:listener-event EMPTY>
+<!ATTLIST script:listener-event script:location CDATA #IMPLIED
+ script:language CDATA #REQUIRED
+ script:macro-name CDATA #REQUIRED
+ script:listener-type CDATA #REQUIRED
+ script:listener-method CDATA #REQUIRED
+ script:listener-param CDATA #IMPLIED
+ >
+<!-- deprecated -->
+<!ELEMENT dlg:event EMPTY>
+<!ATTLIST dlg:event dlg:listener-type CDATA #REQUIRED
+ dlg:event-method CDATA #REQUIRED
+ dlg:script-type CDATA #IMPLIED
+ dlg:script-code CDATA #IMPLIED
+ dlg:param CDATA #IMPLIED
+ >
+<!-- /deprecated -->
+
+<!ELEMENT dlg:bulletinboard ((%control;)*)>
+<!ATTLIST dlg:bulletinboard dlg:left %numeric; #IMPLIED
+ dlg:top %numeric; #IMPLIED
+ >
+
+<!ELEMENT dlg:button ((%event;)*)>
+<!ATTLIST dlg:button %default-attributes;
+ dlg:value CDATA #IMPLIED
+ dlg:align (left|center|right) #IMPLIED
+ dlg:valign (top|center|bottom) #IMPLIED
+ dlg:checked %boolean; #IMPLIED
+ dlg:image-src CDATA #IMPLIED
+ dlg:image-position (left-top|left-center|left-bottom|right-top|right-center|right-bottom|top-left|top-center|top-right|bottom-left|bottom-center|bottom-right|center) #IMPLIED
+ dlg:image-align (top|left|right|bottom) #IMPLIED
+ dlg:default %boolean; #IMPLIED
+ dlg:tabstop %boolean; #IMPLIED
+ dlg:button-type (standard|ok|cancel|help) #IMPLIED
+ dlg:repeat %numeric; #IMPLIED
+ dlg:toggled (0|1) #IMPLIED
+ dlg:grab-focus (true|false) #IMPLIED
+ dlg:multiline %boolean; #IMPLIED
+ >
+
+<!ELEMENT dlg:checkbox ((%event;)*)>
+<!ATTLIST dlg:checkbox %default-attributes;
+ dlg:value CDATA #IMPLIED
+ dlg:align (left|center|right) #IMPLIED
+ dlg:valign (top|center|bottom) #IMPLIED
+ dlg:checked %boolean; #IMPLIED
+ dlg:tristate %boolean; #IMPLIED
+ dlg:tabstop %boolean; #IMPLIED
+ dlg:image-src CDATA #IMPLIED
+ dlg:image-position (left-top|left-center|left-bottom|right-top|right-center|right-bottom|top-left|top-center|top-right|bottom-left|bottom-center|bottom-right|center) #IMPLIED
+ dlg:multiline %boolean; #IMPLIED
+ >
+
+<!ELEMENT dlg:combobox (dlg:menupopup?, (%event;)*)>
+<!ATTLIST dlg:combobox %default-attributes;
+ dlg:tabstop %boolean; #IMPLIED
+ dlg:readonly %boolean; #IMPLIED
+ dlg:autocomplete %boolean; #IMPLIED
+ dlg:spin %boolean; #IMPLIED
+ dlg:maxlength %numeric; #IMPLIED
+ dlg:linecount %numeric; #IMPLIED
+ dlg:value CDATA #IMPLIED
+ dlg:hide-inactive-selection %boolean; #IMPLIED
+ dlg:align (left|center|right) #IMPLIED
+ >
+
+<!ELEMENT dlg:menulist (dlg:menupopup?, (%event;)*)>
+<!ATTLIST dlg:menulist %default-attributes;
+ dlg:tabstop %boolean; #IMPLIED
+ dlg:spin %boolean; #IMPLIED
+ dlg:multiselection %boolean; #IMPLIED
+ dlg:readonly %boolean; #IMPLIED
+ dlg:linecount %numeric; #IMPLIED
+ dlg:align (left|center|right) #IMPLIED
+ >
+
+<!ELEMENT dlg:menupopup (dlg:menuitem+)>
+<!ELEMENT dlg:menuitem EMPTY>
+<!ATTLIST dlg:menuitem dlg:value CDATA #REQUIRED
+ dlg:selected %boolean; #IMPLIED
+ >
+
+<!ELEMENT dlg:radiogroup (dlg:radio+)>
+<!ELEMENT dlg:radio ((%event;)*)>
+<!ATTLIST dlg:radio %default-attributes;
+ dlg:value CDATA #IMPLIED
+ dlg:align (left|center|right) #IMPLIED
+ dlg:valign (top|center|bottom) #IMPLIED
+ dlg:checked %boolean; #IMPLIED
+ dlg:tabstop %boolean; #IMPLIED
+ dlg:image-src CDATA #IMPLIED
+ dlg:image-position (left-top|left-center|left-bottom|right-top|right-center|right-bottom|top-left|top-center|top-right|bottom-left|bottom-center|bottom-right|center) #IMPLIED
+ dlg:multiline %boolean; #IMPLIED
+ >
+
+<!ELEMENT dlg:titledbox (dlg:title?, dlg:radio*, (%control;)*, (%event;)*)>
+<!ATTLIST dlg:titledbox %default-attributes;
+ >
+<!ELEMENT dlg:title EMPTY>
+<!ATTLIST dlg:title dlg:value CDATA #IMPLIED
+ >
+
+<!ELEMENT dlg:text ((%event;)*)>
+<!ATTLIST dlg:text %default-attributes;
+ dlg:value CDATA #IMPLIED
+ dlg:align (left|center|right) #IMPLIED
+ dlg:valign (top|center|bottom) #IMPLIED
+ dlg:multiline %boolean; #IMPLIED
+ dlg:tabstop %boolean; #IMPLIED
+ >
+
+<!ELEMENT dlg:textfield ((%event;)*)>
+<!ATTLIST dlg:textfield %default-attributes;
+ dlg:tabstop %boolean; #IMPLIED
+ dlg:align (left|center|right) #IMPLIED
+ dlg:readonly %boolean; #IMPLIED
+ dlg:echochar CDATA #IMPLIED
+ dlg:hard-linebreaks %boolean; #IMPLIED
+ dlg:hscroll %boolean; #IMPLIED
+ dlg:vscroll %boolean; #IMPLIED
+ dlg:maxlength %numeric; #IMPLIED
+ dlg:multiline %boolean; #IMPLIED
+ dlg:value CDATA #IMPLIED
+ dlg:hide-inactive-selection %boolean; #IMPLIED
+ dlg:lineend-format (carriage-return|line-feed|carriage-return-line-feed) #IMPLIED
+ >
+
+<!ELEMENT dlg:img ((%event;)*)>
+<!ATTLIST dlg:img %default-attributes;
+ dlg:src CDATA #IMPLIED
+ dlg:scale-image %boolean; #IMPLIED
+ dlg:tabstop %boolean; #IMPLIED
+ >
+
+<!ELEMENT dlg:filecontrol ((%event;)*)>
+<!ATTLIST dlg:filecontrol %default-attributes;
+ dlg:tabstop %boolean; #IMPLIED
+ dlg:value CDATA #IMPLIED
+ dlg:hide-inactive-selection %boolean; #IMPLIED
+ dlg:readonly %boolean; #IMPLIED
+ >
+
+<!ELEMENT dlg:treecontrol ((%event;)*)>
+<!ATTLIST dlg:treecontrol %default-attributes;
+ dlg:selectiontype CDATA #IMPLIED
+ dlg:rootdisplayed %boolean; #IMPLIED
+ dlg:showshandles %boolean; #IMPLIED
+ dlg:showsroothandles %boolean; #IMPLIED
+ dlg:rowheight %boolean; #IMPLIED
+ dlg:editable %numeric; #IMPLIED
+ dlg:invokesstopnodeediting %boolean; #IMPLIED
+ >
+
+<!ELEMENT dlg:currencyfield ((%event;)*)>
+<!ATTLIST dlg:currencyfield %default-attributes;
+ dlg:tabstop %boolean; #IMPLIED
+ dlg:readonly %boolean; #IMPLIED
+ dlg:currency-symbol CDATA #IMPLIED
+ dlg:strict-format %boolean; #IMPLIED
+ dlg:decimal-accuracy %numeric; #IMPLIED
+ dlg:thousands-separator %boolean; #IMPLIED
+ dlg:value %numeric; #IMPLIED
+ dlg:value-min %numeric; #IMPLIED
+ dlg:value-max %numeric; #IMPLIED
+ dlg:value-step %numeric; #IMPLIED
+ dlg:spin %boolean; #IMPLIED
+ dlg:repeat %numeric; #IMPLIED
+ dlg:hide-inactive-selection %boolean; #IMPLIED
+ dlg:prepend-symbol %boolean; #IMPLIED
+ dlg:enforce-format %boolean; #IMPLIED
+ >
+
+<!ELEMENT dlg:datefield ((%event;)*)>
+<!ATTLIST dlg:datefield %default-attributes;
+ dlg:tabstop %boolean; #IMPLIED
+ dlg:readonly %boolean; #IMPLIED
+ dlg:strict-format %boolean; #IMPLIED
+ dlg:date-format (system_short|system_short_YY|system_short_YYYY|system_long|short_DDMMYY|short_MMDDYY|short_YYMMDD|short_DDMMYYYY|short_MMDDYYYY|short_YYYYMMDD|short_YYMMDD_DIN5008|short_YYYYMMDD_DIN5008) #IMPLIED
+ dlg:show-century %boolean; #IMPLIED
+ dlg:value CDATA #IMPLIED
+ dlg:value-min CDATA #IMPLIED
+ dlg:value-max CDATA #IMPLIED
+ dlg:spin %boolean; #IMPLIED
+ dlg:repeat %numeric; #IMPLIED
+ dlg:hide-inactive-selection %boolean; #IMPLIED
+ dlg:dropdown %boolean; #IMPLIED
+ dlg:text CDATA #IMPLIED
+ dlg:enforce-format %boolean; #IMPLIED
+ >
+
+<!ELEMENT dlg:numericfield ((%event;)*)>
+<!ATTLIST dlg:numericfield %default-attributes;
+ dlg:tabstop %boolean; #IMPLIED
+ dlg:readonly %boolean; #IMPLIED
+ dlg:strict-format %boolean; #IMPLIED
+ dlg:decimal-accuracy %numeric; #IMPLIED
+ dlg:thousands-separator %boolean; #IMPLIED
+ dlg:value %numeric; #IMPLIED
+ dlg:value-min %numeric; #IMPLIED
+ dlg:value-max %numeric; #IMPLIED
+ dlg:value-step %numeric; #IMPLIED
+ dlg:spin %boolean; #IMPLIED
+ dlg:repeat %numeric; #IMPLIED
+ dlg:hide-inactive-selection %boolean; #IMPLIED
+ dlg:enforce-format %boolean; #IMPLIED
+ >
+
+<!ELEMENT dlg:timefield ((%event;)*)>
+<!ATTLIST dlg:timefield %default-attributes;
+ dlg:tabstop %boolean; #IMPLIED
+ dlg:readonly %boolean; #IMPLIED
+ dlg:strict-format %boolean; #IMPLIED
+ dlg:time-format (24h_short|24h_long|12h_short|12h_long|Duration_short|Duration_long) #IMPLIED
+ dlg:value CDATA #IMPLIED
+ dlg:value-min CDATA #IMPLIED
+ dlg:value-max CDATA #IMPLIED
+ dlg:spin %boolean; #IMPLIED
+ dlg:repeat %numeric; #IMPLIED
+ dlg:hide-inactive-selection %boolean; #IMPLIED
+ dlg:text CDATA #IMPLIED
+ dlg:enforce-format %boolean; #IMPLIED
+ >
+
+<!ELEMENT dlg:patternfield ((%event;)*)>
+<!ATTLIST dlg:patternfield %default-attributes;
+ dlg:tabstop %boolean; #IMPLIED
+ dlg:readonly %boolean; #IMPLIED
+ dlg:strict-format %boolean; #IMPLIED
+ dlg:edit-mask CDATA #IMPLIED
+ dlg:literal-mask CDATA #IMPLIED
+ dlg:value CDATA #IMPLIED
+ dlg:maxlength %numeric; #IMPLIED
+ dlg:hide-inactive-selection %boolean; #IMPLIED
+ >
+
+<!ELEMENT dlg:formattedfield ((%event;)*)>
+<!ATTLIST dlg:formattedfield %default-attributes;
+ dlg:tabstop %boolean; #IMPLIED
+ dlg:readonly %boolean; #IMPLIED
+ dlg:strict-format %boolean; #IMPLIED
+ dlg:maxlength %numeric; #IMPLIED
+ dlg:spin %boolean; #IMPLIED
+ dlg:align (left|center|right) #IMPLIED
+ dlg:text CDATA #IMPLIED
+ dlg:value-default CDATA #IMPLIED
+ dlg:value-max %numeric; #IMPLIED
+ dlg:value-min %numeric; #IMPLIED
+ dlg:value %numeric; #IMPLIED
+ dlg:format-code CDATA #IMPLIED
+ dlg:format-locale CDATA #IMPLIED
+ dlg:repeat %numeric; #IMPLIED
+ dlg:hide-inactive-selection %boolean; #IMPLIED
+ dlg:treat-as-number %boolean; #IMPLIED
+ dlg:enforce-format %boolean; #IMPLIED
+ >
+
+<!ELEMENT dlg:fixedline ((%event;)*)>
+<!ATTLIST dlg:fixedline %default-attributes;
+ dlg:align (horizontal|vertical) #IMPLIED
+ dlg:value CDATA #IMPLIED
+ >
+
+<!ELEMENT dlg:scrollbar ((%event;)*)>
+<!ATTLIST dlg:scrollbar %default-attributes;
+ dlg:align (horizontal|vertical) #IMPLIED
+ dlg:curpos %numeric; #IMPLIED
+ dlg:maxpos %numeric; #IMPLIED
+ dlg:minpos %numeric; #IMPLIED
+ dlg:increment %numeric; #IMPLIED
+ dlg:pageincrement %numeric; #IMPLIED
+ dlg:visible-size %numeric; #IMPLIED
+ dlg:repeat %numeric; #IMPLIED
+ dlg:tabstop %boolean; #IMPLIED
+ dlg:live-scroll %boolean; #IMPLIED
+ dlg:symbol-color %numeric; #IMPLIED
+ >
+
+<!ELEMENT dlg:progressmeter ((%event;)*)>
+<!ATTLIST dlg:progressmeter %default-attributes;
+ dlg:value %numeric; #IMPLIED
+ dlg:value-min %numeric; #IMPLIED
+ dlg:value-max %numeric; #IMPLIED
+ >
diff --git a/test/user-template/user/dtd/officedocument/1_0/drawing.mod b/test/user-template/user/dtd/officedocument/1_0/drawing.mod
new file mode 100644
index 000000000000..93d7544b4fb9
--- /dev/null
+++ b/test/user-template/user/dtd/officedocument/1_0/drawing.mod
@@ -0,0 +1,861 @@
+<!--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ Copyright 2000, 2010 Oracle and/or its affiliates.
+
+ OpenOffice.org - a multi-platform office productivity suite
+
+ This file is part of OpenOffice.org.
+
+ OpenOffice.org is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License version 3
+ only, as published by the Free Software Foundation.
+
+ OpenOffice.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License version 3 for more details
+ (a copy is included in the LICENSE file that accompanied this code).
+
+ You should have received a copy of the GNU Lesser General Public License
+ version 3 along with OpenOffice.org. If not, see
+ <http://www.openoffice.org/license.html>
+ for a copy of the LGPLv3 License.
+
+-->
+
+<!ENTITY % points "CDATA" >
+<!ENTITY % pathData "CDATA" >
+<!ENTITY % gradient-style "(linear|axial|radial|ellipsoid|square|rectangular)" >
+<!ENTITY % draw-position "svg:x %coordinate; #IMPLIED svg:y %coordinate; #IMPLIED">
+<!ENTITY % draw-end-position "table:end-cell-address %cell-address; #IMPLIED table:end-x %coordinate; #IMPLIED table:end-y %coordinate; #IMPLIED">
+<!ENTITY % draw-size "svg:width %coordinate; #IMPLIED svg:height %coordinate; #IMPLIED">
+<!ENTITY % draw-transform "draw:transform CDATA #IMPLIED">
+<!ENTITY % draw-viewbox "svg:viewBox CDATA #REQUIRED">
+<!ENTITY % draw-style-name "draw:style-name %styleName; #IMPLIED presentation:style-name %styleName; #IMPLIED draw:text-style-name %styleName; #IMPLIED">
+<!ENTITY % draw-shape-id "CDATA #IMPLIED" >
+<!ENTITY % draw-text "(text:p|text:unordered-list|text:ordered-list)*">
+<!ENTITY % zindex "draw:z-index %nonNegativeInteger; #IMPLIED">
+<!ENTITY % distance "CDATA">
+<!ENTITY % rectanglePoint "(top-left|top|top-right|left|center|right|bottom-left|bottom|bottom-right)">
+<!ENTITY % vector3D "CDATA">
+<!ENTITY % text-anchor "text:anchor-type %anchorType; #IMPLIED text:anchor-page-number %positiveInteger; #IMPLIED">
+<!ENTITY % layerName "CDATA">
+<!ENTITY % table-background "table:table-background (true | false) #IMPLIED">
+
+<!-- commont presentation shape attributes -->
+<!ENTITY % presentation-style-name "presentation:style-name %styleName; #IMPLIED">
+<!ENTITY % presentation-classes "(title|outline|subtitle|text|graphic|object|chart|table|orgchart|page|notes)" >
+<!-- ENTITY % presentation-class "presentation:class %presentation-classes; #IMPLIED" -->
+<!ENTITY % presentation-class "presentation:class %presentation-classes; #IMPLIED presentation:placeholder (true|false) #IMPLIED presentation:user-transformed (true|false) #IMPLIED">
+<!ENTITY % presentationEffects "(none|fade|move|stripes|open|close|dissolve|wavyline|random|lines|laser|appear|hide|move-short|checkerboard|rotate|stretch)" >
+<!ENTITY % presentationEffectDirections "(none|from-left|from-top|from-right|from-bottom|from-center|from-upper-left|from-upper-right|from-lower-left|from-lower-right|to-left|to-top|to-right|to-bottom|to-upper-left|to-upper-right|to-lower-right|to-lower-left|path|spiral-inward-left|spiral-inward-right|spiral-outward-left|spiral-outward-right|vertical|horizontal|to-center|clockwise|counter-clockwise)" >
+<!ENTITY % presentationSpeeds "(slow|medium|fast)" >
+
+<!-- Drawing shapes -->
+<!ELEMENT draw:rect ( office:events?, %draw-text; )>
+<!ATTLIST draw:rect %draw-position; >
+<!ATTLIST draw:rect %draw-end-position; >
+<!ATTLIST draw:rect %table-background; >
+<!ATTLIST draw:rect %draw-size; >
+<!ATTLIST draw:rect %draw-style-name; >
+<!ATTLIST draw:rect %draw-transform; >
+<!ATTLIST draw:rect draw:corner-radius %nonNegativeLength; #IMPLIED>
+<!ATTLIST draw:rect %zindex;>
+<!ATTLIST draw:rect draw:id %draw-shape-id;>
+<!ATTLIST draw:rect %text-anchor;>
+<!ATTLIST draw:rect draw:layer %layerName; #IMPLIED>
+
+<!ELEMENT draw:line ( office:events?, %draw-text; )>
+<!ATTLIST draw:line svg:x1 %length; #IMPLIED>
+<!ATTLIST draw:line svg:y1 %length; #IMPLIED>
+<!ATTLIST draw:line svg:x2 %length; #REQUIRED>
+<!ATTLIST draw:line svg:y2 %length; #REQUIRED>
+<!ATTLIST draw:line svg:y %coordinate; #IMPLIED>
+<!ATTLIST draw:line %draw-style-name; >
+<!ATTLIST draw:line %draw-transform; >
+<!ATTLIST draw:line %zindex;>
+<!ATTLIST draw:line %draw-end-position; >
+<!ATTLIST draw:line %table-background; >
+<!ATTLIST draw:line draw:id %draw-shape-id;>
+<!ATTLIST draw:line %text-anchor;>
+<!ATTLIST draw:line draw:layer %layerName; #IMPLIED>
+
+<!ELEMENT draw:polyline ( office:events?, %draw-text; )>
+<!ATTLIST draw:polyline %draw-position; >
+<!ATTLIST draw:polyline %draw-size; >
+<!ATTLIST draw:polyline %draw-viewbox; >
+<!ATTLIST draw:polyline draw:points %points; #REQUIRED>
+<!ATTLIST draw:polyline %draw-style-name; >
+<!ATTLIST draw:polyline %draw-transform; >
+<!ATTLIST draw:polyline %zindex;>
+<!ATTLIST draw:polyline %draw-end-position; >
+<!ATTLIST draw:polyline %table-background; >
+<!ATTLIST draw:polyline draw:id %draw-shape-id;>
+<!ATTLIST draw:polyline %text-anchor;>
+<!ATTLIST draw:polyline draw:layer %layerName; #IMPLIED>
+
+<!ELEMENT draw:polygon ( office:events?, %draw-text; )>
+<!ATTLIST draw:polygon %draw-position; >
+<!ATTLIST draw:polygon %draw-end-position; >
+<!ATTLIST draw:polygon %table-background; >
+<!ATTLIST draw:polygon %draw-size; >
+<!ATTLIST draw:polygon %draw-viewbox; >
+<!ATTLIST draw:polygon draw:points %points; #REQUIRED >
+<!ATTLIST draw:polygon %draw-style-name; >
+<!ATTLIST draw:polygon %draw-transform; >
+<!ATTLIST draw:polygon %zindex;>
+<!ATTLIST draw:polygon draw:id %draw-shape-id;>
+<!ATTLIST draw:polygon %text-anchor;>
+<!ATTLIST draw:polygon draw:layer %layerName; #IMPLIED>
+
+<!ELEMENT draw:path ( office:events?, %draw-text; )>
+<!ATTLIST draw:path %draw-position;>
+<!ATTLIST draw:path %draw-end-position; >
+<!ATTLIST draw:path %table-background; >
+<!ATTLIST draw:path %draw-size; >
+<!ATTLIST draw:path %draw-viewbox; >
+<!ATTLIST draw:path svg:d %pathData; #REQUIRED >
+<!ATTLIST draw:path %draw-style-name; >
+<!ATTLIST draw:path %draw-transform; >
+<!ATTLIST draw:path %zindex;>
+<!ATTLIST draw:path draw:id %draw-shape-id;>
+<!ATTLIST draw:path %text-anchor;>
+<!ATTLIST draw:path draw:layer %layerName; #IMPLIED>
+
+<!ELEMENT draw:circle ( office:events?, %draw-text; )>
+<!ATTLIST draw:circle %draw-position; >
+<!ATTLIST draw:circle %draw-size; >
+<!ATTLIST draw:circle %draw-style-name; >
+<!ATTLIST draw:circle %draw-transform; >
+<!ATTLIST draw:circle %zindex;>
+<!ATTLIST draw:circle %draw-end-position; >
+<!ATTLIST draw:circle %table-background; >
+<!ATTLIST draw:circle draw:id %draw-shape-id;>
+<!ATTLIST draw:circle draw:kind (full|section|cut|arc) "full">
+<!ATTLIST draw:circle draw:start-angle %nonNegativeInteger; #IMPLIED>
+<!ATTLIST draw:circle draw:end-angle %nonNegativeInteger; #IMPLIED>
+<!ATTLIST draw:circle %text-anchor;>
+<!ATTLIST draw:circle draw:layer %layerName; #IMPLIED>
+
+<!ELEMENT draw:ellipse ( office:events?, %draw-text; )>
+<!ATTLIST draw:ellipse %draw-position; >
+<!ATTLIST draw:ellipse %draw-size; >
+<!ATTLIST draw:ellipse %draw-style-name; >
+<!ATTLIST draw:ellipse %draw-transform; >
+<!ATTLIST draw:ellipse %zindex;>
+<!ATTLIST draw:ellipse %draw-end-position; >
+<!ATTLIST draw:ellipse %table-background; >
+<!ATTLIST draw:ellipse draw:id %draw-shape-id;>
+<!ATTLIST draw:ellipse draw:kind (full|section|cut|arc) "full">
+<!ATTLIST draw:ellipse draw:start-angle %nonNegativeInteger; #IMPLIED>
+<!ATTLIST draw:ellipse draw:end-angle %nonNegativeInteger; #IMPLIED>
+<!ATTLIST draw:ellipse %text-anchor;>
+<!ATTLIST draw:ellipse draw:layer %layerName; #IMPLIED>
+
+<!ELEMENT draw:connector ( office:events?, %draw-text;)>
+<!ATTLIST draw:connector draw:type (standard|lines|line|curve) "standard">
+<!ATTLIST draw:connector draw:line-skew CDATA #IMPLIED>
+<!ATTLIST draw:connector %draw-style-name;>
+<!ATTLIST draw:connector svg:x1 %coordinate; #REQUIRED>
+<!ATTLIST draw:connector svg:y1 %coordinate; #REQUIRED>
+<!ATTLIST draw:connector svg:x2 %coordinate; #REQUIRED>
+<!ATTLIST draw:connector svg:y2 %coordinate; #REQUIRED>
+<!ATTLIST draw:connector draw:start-shape %draw-shape-id;>
+<!ATTLIST draw:connector draw:start-glue-point %integer; #IMPLIED>
+<!ATTLIST draw:connector draw:end-shape %draw-shape-id;>
+<!ATTLIST draw:connector draw:end-glue-point %integer; #IMPLIED>
+<!ATTLIST draw:connector %zindex;>
+<!ATTLIST draw:connector %draw-end-position; >
+<!ATTLIST draw:connector %table-background; >
+<!ATTLIST draw:connector draw:id %draw-shape-id;>
+<!ATTLIST draw:connector %text-anchor;>
+<!ATTLIST draw:connector draw:layer %layerName; #IMPLIED>
+
+<!ELEMENT draw:control EMPTY>
+<!ATTLIST draw:control %draw-style-name;>
+<!ATTLIST draw:control %draw-position; >
+<!ATTLIST draw:control %draw-size; >
+<!ATTLIST draw:control %control-id; >
+<!ATTLIST draw:control %zindex;>
+<!ATTLIST draw:control %draw-end-position; >
+<!ATTLIST draw:control %table-background; >
+<!ATTLIST draw:control draw:id %draw-shape-id;>
+<!ATTLIST draw:control %text-anchor;>
+<!ATTLIST draw:control draw:layer %layerName; #IMPLIED>
+
+<!ELEMENT draw:g ( office:events?, (%shapes;)* ) >
+<!ATTLIST draw:g svg:y %coordinate; #IMPLIED>
+<!ATTLIST draw:g %draw-transform; >
+<!ATTLIST draw:g draw:name %string; #IMPLIED>
+<!ATTLIST draw:g %draw-style-name; >
+<!ATTLIST draw:g %zindex;>
+<!ATTLIST draw:g %draw-end-position; >
+<!ATTLIST draw:g %table-background; >
+<!ATTLIST draw:g draw:id %draw-shape-id;>
+<!ATTLIST draw:g %text-anchor;>
+<!ATTLIST draw:g draw:layer %layerName; #IMPLIED>
+
+<!ELEMENT draw:page-thumbnail EMPTY>
+<!ATTLIST draw:page-thumbnail draw:page-number %positiveInteger; #IMPLIED>
+<!ATTLIST draw:page-thumbnail %draw-position; >
+<!ATTLIST draw:page-thumbnail %draw-size; >
+<!ATTLIST draw:page-thumbnail %draw-style-name; >
+<!ATTLIST draw:page-thumbnail %presentation-class; >
+<!ATTLIST draw:page-thumbnail %zindex;>
+<!ATTLIST draw:page-thumbnail %draw-end-position; >
+<!ATTLIST draw:page-thumbnail %table-background; >
+<!ATTLIST draw:page-thumbnail draw:id %draw-shape-id;>
+<!ATTLIST draw:page-thumbnail %text-anchor;>
+<!ATTLIST draw:page-thumbnail draw:layer %layerName; #IMPLIED>
+
+<!ELEMENT draw:caption ( office:events?, %draw-text;)>
+<!ATTLIST draw:caption %draw-position; >
+<!ATTLIST draw:caption %draw-end-position; >
+<!ATTLIST draw:caption %table-background; >
+<!ATTLIST draw:caption %draw-size; >
+<!ATTLIST draw:caption %draw-style-name; >
+<!ATTLIST draw:caption %draw-transform; >
+<!ATTLIST draw:caption draw:caption-point-x %coordinate; #IMPLIED>
+<!ATTLIST draw:caption draw:caption-point-y %coordinate; #IMPLIED>
+<!ATTLIST draw:caption %zindex;>
+<!ATTLIST draw:caption draw:id %draw-shape-id;>
+<!ATTLIST draw:caption %text-anchor;>
+<!ATTLIST draw:caption draw:layer %layerName; #IMPLIED>
+<!ATTLIST draw:caption draw:corner-radius %nonNegativeLength; #IMPLIED>
+
+<!ELEMENT draw:measure ( office:events?, %draw-text;)>
+<!ATTLIST draw:measure svg:x1 %coordinate; #REQUIRED>
+<!ATTLIST draw:measure svg:y1 %coordinate; #REQUIRED>
+<!ATTLIST draw:measure svg:x2 %coordinate; #REQUIRED>
+<!ATTLIST draw:measure svg:y2 %coordinate; #REQUIRED>
+<!ATTLIST draw:measure %draw-end-position; >
+<!ATTLIST draw:measure %table-background; >
+<!ATTLIST draw:measure %draw-style-name; >
+<!ATTLIST draw:measure %draw-transform; >
+<!ATTLIST draw:measure %zindex;>
+<!ATTLIST draw:measure draw:id %draw-shape-id;>
+<!ATTLIST draw:measure %text-anchor;>
+<!ATTLIST draw:measure draw:layer %layerName; #IMPLIED>
+
+<!-- graphic style elements -->
+<!ELEMENT draw:gradient EMPTY >
+<!ATTLIST draw:gradient draw:name %styleName; #REQUIRED>
+<!ATTLIST draw:gradient draw:style %gradient-style; #REQUIRED>
+<!ATTLIST draw:gradient draw:cx %coordinate; #IMPLIED>
+<!ATTLIST draw:gradient draw:cy %coordinate; #IMPLIED>
+<!ATTLIST draw:gradient draw:start-color %color; #IMPLIED>
+<!ATTLIST draw:gradient draw:end-color %color; #IMPLIED>
+<!ATTLIST draw:gradient draw:start-intensity %percentage; #IMPLIED>
+<!ATTLIST draw:gradient draw:end-intensity %percentage; #IMPLIED>
+<!ATTLIST draw:gradient draw:angle %integer; #IMPLIED>
+<!ATTLIST draw:gradient draw:border %percentage; #IMPLIED>
+
+<!ELEMENT draw:hatch EMPTY >
+<!ATTLIST draw:hatch draw:name %styleName; #REQUIRED>
+<!ATTLIST draw:hatch draw:style (single|double|triple) #REQUIRED >
+<!ATTLIST draw:hatch draw:color %color; #IMPLIED>
+<!ATTLIST draw:hatch draw:distance %length; #IMPLIED>
+<!ATTLIST draw:hatch draw:rotation %integer; #IMPLIED>
+
+
+<!ELEMENT draw:fill-image EMPTY >
+<!ATTLIST draw:fill-image draw:name %styleName; #REQUIRED>
+<!ATTLIST draw:fill-image xlink:href %uriReference; #REQUIRED>
+<!ATTLIST draw:fill-image xlink:type (simple) #IMPLIED>
+<!ATTLIST draw:fill-image xlink:show (embed) #IMPLIED>
+<!ATTLIST draw:fill-image xlink:actuate (onLoad) #IMPLIED>
+<!ATTLIST draw:fill-image svg:width %length; #IMPLIED>
+<!ATTLIST draw:fill-image svg:height %length; #IMPLIED>
+
+<!ELEMENT draw:transparency EMPTY>
+<!ATTLIST draw:transparency draw:name %styleName; #REQUIRED>
+<!ATTLIST draw:transparency draw:style %gradient-style; #REQUIRED>
+<!ATTLIST draw:transparency draw:cx %coordinate; #IMPLIED>
+<!ATTLIST draw:transparency draw:cy %coordinate; #IMPLIED>
+<!ATTLIST draw:transparency draw:start %percentage; #IMPLIED>
+<!ATTLIST draw:transparency draw:end %percentage; #IMPLIED>
+<!ATTLIST draw:transparency draw:angle %integer; #IMPLIED>
+<!ATTLIST draw:transparency draw:border %percentage; #IMPLIED>
+
+<!ELEMENT draw:marker EMPTY>
+<!ATTLIST draw:marker draw:name %styleName; #REQUIRED>
+<!ATTLIST draw:marker %draw-viewbox; >
+<!ATTLIST draw:marker svg:d %pathData; #REQUIRED>
+
+<!ELEMENT draw:stroke-dash EMPTY>
+<!ATTLIST draw:stroke-dash draw:name %styleName; #REQUIRED>
+<!ATTLIST draw:stroke-dash draw:style (rect|round) #IMPLIED>
+<!ATTLIST draw:stroke-dash draw:dots1 %integer; #IMPLIED>
+<!ATTLIST draw:stroke-dash draw:dots1-length %length; #IMPLIED>
+<!ATTLIST draw:stroke-dash draw:dots2 %integer; #IMPLIED>
+<!ATTLIST draw:stroke-dash draw:dots2-length %length; #IMPLIED>
+<!ATTLIST draw:stroke-dash draw:distance %length; #IMPLIED>
+
+<!-- stroke attributes -->
+<!ATTLIST style:properties draw:stroke (none|dash|solid) #IMPLIED>
+<!ATTLIST style:properties draw:stroke-dash CDATA #IMPLIED>
+<!ATTLIST style:properties svg:stroke-width %length; #IMPLIED>
+<!ATTLIST style:properties svg:stroke-color %color; #IMPLIED>
+<!ATTLIST style:properties draw:marker-start %styleName; #IMPLIED>
+<!ATTLIST style:properties draw:marker-end %styleName; #IMPLIED>
+<!ATTLIST style:properties draw:marker-start-width %length; #IMPLIED>
+<!ATTLIST style:properties draw:marker-end-width %length; #IMPLIED>
+<!ATTLIST style:properties draw:marker-start-center %boolean; #IMPLIED>
+<!ATTLIST style:properties draw:marker-end-center %boolean; #IMPLIED>
+<!ATTLIST style:properties svg:stroke-opacity %floatOrPercentage; #IMPLIED>
+<!ATTLIST style:properties svg:stroke-linejoin (miter|round|bevel|middle|none|inherit) #IMPLIED>
+
+<!-- text attributes -->
+<!ATTLIST style:properties draw:auto-grow-width %boolean; #IMPLIED>
+<!ATTLIST style:properties draw:auto-grow-height %boolean; #IMPLIED>
+<!ATTLIST style:properties draw:fit-to-size %boolean; #IMPLIED>
+<!ATTLIST style:properties draw:fit-to-contour %boolean; #IMPLIED>
+<!ATTLIST style:properties draw:textarea-horizontal-align ( left | center | right | justify ) #IMPLIED>
+<!ATTLIST style:properties draw:textarea-vertical-align ( top | middle | bottom | justify ) #IMPLIED>
+<!ATTLIST style:properties draw:writing-mode (lr-tb|tb-rl) "lr-tb">
+<!ATTLIST style:properties style:font-independent-line-spacing %boolean; #IMPLIED>
+
+
+<!-- fill attributes -->
+<!ATTLIST style:properties draw:fill (none|solid|bitmap|gradient|hatch) #IMPLIED>
+<!ATTLIST style:properties draw:fill-color %color; #IMPLIED>
+<!ATTLIST style:properties draw:fill-gradient-name %styleName; #IMPLIED>
+<!ATTLIST style:properties draw:gradient-step-count CDATA #IMPLIED>
+<!ATTLIST style:properties draw:fill-hatch-name %styleName; #IMPLIED>
+<!ATTLIST style:properties draw:fill-hatch-solid %boolean; #IMPLIED>
+<!ATTLIST style:properties draw:fill-image-name %styleName; #IMPLIED>
+<!ATTLIST style:properties style:repeat (no-repeat|repeat|stretch) #IMPLIED>
+<!ATTLIST style:properties draw:fill-image-width %lengthOrPercentage; #IMPLIED>
+<!ATTLIST style:properties draw:fill-image-height %lengthOrPercentage; #IMPLIED>
+<!ATTLIST style:properties draw:fill-image-ref-point-x %percentage; #IMPLIED>
+<!ATTLIST style:properties draw:fill-image-ref-point-y %percentage; #IMPLIED>
+<!ATTLIST style:properties draw:fill-image-ref-point %rectanglePoint; #IMPLIED>
+<!ATTLIST style:properties draw:tile-repeat-offset CDATA #IMPLIED>
+<!ATTLIST style:properties draw:transparency %percentage; #IMPLIED>
+<!ATTLIST style:properties draw:transparency-name %styleName; #IMPLIED>
+
+<!-- graphic attributes -->
+<!ATTLIST style:properties draw:color-mode (greyscale|mono|watermark|standard) #IMPLIED>
+<!ATTLIST style:properties draw:luminance %percentage; #IMPLIED>
+<!ATTLIST style:properties draw:contrast %percentage; #IMPLIED>
+<!ATTLIST style:properties draw:gamma %percentage; #IMPLIED>
+<!ATTLIST style:properties draw:red %percentage; #IMPLIED>
+<!ATTLIST style:properties draw:green %percentage; #IMPLIED>
+<!ATTLIST style:properties draw:blue %percentage; #IMPLIED>
+<!ATTLIST style:properties draw:color-inversion %boolean; #IMPLIED>
+<!ATTLIST style:properties draw:mirror %boolean; #IMPLIED>
+
+<!-- shadow attributes -->
+<!ATTLIST style:properties draw:shadow (visible|hidden) #IMPLIED>
+<!ATTLIST style:properties draw:shadow-offset-x %length; #IMPLIED>
+<!ATTLIST style:properties draw:shadow-offset-y %length; #IMPLIED>
+<!ATTLIST style:properties draw:shadow-color %color; #IMPLIED>
+<!ATTLIST style:properties draw:shadow-transparency CDATA #IMPLIED>
+
+<!-- connector attributes -->
+<!ATTLIST style:properties draw:start-line-spacing-horizontal %distance; #IMPLIED>
+<!ATTLIST style:properties draw:start-line-spacing-vertical %distance; #IMPLIED>
+<!ATTLIST style:properties draw:end-line-spacing-horizontal %distance; #IMPLIED>
+<!ATTLIST style:properties draw:end-line-spacing-vertical %distance; #IMPLIED>
+
+<!-- measure attributes -->
+<!ATTLIST style:properties draw:line-distance %distance; #IMPLIED>
+<!ATTLIST style:properties draw:guide-overhang %distance; #IMPLIED>
+<!ATTLIST style:properties draw:guide-distance %distance; #IMPLIED>
+<!ATTLIST style:properties draw:start-guide %distance; #IMPLIED>
+<!ATTLIST style:properties draw:end-guide %distance; #IMPLIED>
+<!ATTLIST style:properties draw:measure-align (automatic|left-outside|inside|right-outside) #IMPLIED>
+<!ATTLIST style:properties draw:measure-vertical-align (automatic|above|below|center) #IMPLIED>
+<!ATTLIST style:properties draw:unit (automatic|mm|cm|m|km|pt|pc|inch|ft|mi) #IMPLIED>
+<!ATTLIST style:properties draw:show-unit %boolean; #IMPLIED>
+<!ATTLIST style:properties draw:placing (below|above) #IMPLIED>
+<!ATTLIST style:properties draw:parallel %boolean; #IMPLIED>
+<!ATTLIST style:properties draw:decimal-places %nonNegativeLength; #IMPLIED>
+
+<!-- frame attributes -->
+<!ATTLIST style:properties draw:frame-display-scrollbar %boolean; #IMPLIED>
+<!ATTLIST style:properties draw:frame-display-border %boolean; #IMPLIED>
+<!ATTLIST style:properties draw:frame-margin-horizontal %nonNegativePixelLength; #IMPLIED>
+<!ATTLIST style:properties draw:frame-margin-vertical %nonNegativePixelLength; #IMPLIED>
+<!ATTLIST style:properties draw:size-protect %boolean; #IMPLIED>
+<!ATTLIST style:properties draw:move-protect %boolean; #IMPLIED>
+
+<!-- ole object attributes -->
+<!ATTLIST style:properties draw:visible-area-left %nonNegativeLength; #IMPLIED>
+<!ATTLIST style:properties draw:visible-area-top %nonNegativeLength; #IMPLIED>
+<!ATTLIST style:properties draw:visible-area-width %positiveLength; #IMPLIED>
+<!ATTLIST style:properties draw:visible-area-height %positiveLength; #IMPLIED>
+
+<!-- fontwork attributes -->
+<!ATTLIST style:properties draw:fontwork-style (rotate|upright|slant-x|slant-y|none) #IMPLIED>
+<!ATTLIST style:properties draw:fontwork-adjust (left|right|autosize|center) #IMPLIED>
+<!ATTLIST style:properties draw:fontwork-distance %distance; #IMPLIED>
+<!ATTLIST style:properties draw:fontwork-start %distance; #IMPLIED>
+<!ATTLIST style:properties draw:fontwork-mirror %boolean; #IMPLIED>
+<!ATTLIST style:properties draw:fontwork-outline %boolean; #IMPLIED>
+<!ATTLIST style:properties draw:fontwork-shadow (normal|slant|none) #IMPLIED>
+<!ATTLIST style:properties draw:fontwork-shadow-color %color; #IMPLIED>
+<!ATTLIST style:properties draw:fontwork-shadow-offset-x %distance; #IMPLIED>
+<!ATTLIST style:properties draw:fontwork-shadow-offset-y %distance; #IMPLIED>
+<!ATTLIST style:properties draw:fontwork-form (none|top-circle|bottom-circle|left-circle|right-circle|top-arc|bottom-arc|left-arc|right-arc|button1|button2|button3|button4) #IMPLIED>
+<!ATTLIST style:properties draw:fontwork-hide-form %boolean; #IMPLIED>
+<!ATTLIST style:properties draw:fontwork-shadow-transparence %percentage; #IMPLIED>
+
+<!-- caption attributes -->
+<!ATTLIST style:properties draw:caption-type (straight-line|angled-line|angled-connector-line) #IMPLIED>
+<!ATTLIST style:properties draw:caption-angle-type (fixed|free) #IMPLIED>
+<!ATTLIST style:properties draw:caption-angle %nonNegativeInteger; #IMPLIED>
+<!ATTLIST style:properties draw:caption-gap %distance; #IMPLIED>
+<!ATTLIST style:properties draw:caption-escape-direction (horizontal|vertical|auto) #IMPLIED>
+<!ATTLIST style:properties draw:caption-escape %lengthOrPercentage; #IMPLIED>
+<!ATTLIST style:properties draw:caption-line-length %distance; #IMPLIED>
+<!ATTLIST style:properties draw:caption-fit-line-length %boolean; #IMPLIED>
+
+<!-- Animations -->
+<!ELEMENT presentation:sound EMPTY>
+<!ATTLIST presentation:sound xlink:href %uriReference; #REQUIRED>
+<!ATTLIST presentation:sound xlink:type (simple) #FIXED "simple">
+<!ATTLIST presentation:sound xlink:show (new|replace) #IMPLIED>
+<!ATTLIST presentation:sound xlink:actuate (onRequest) "onRequest">
+<!ATTLIST presentation:sound presentation:play-full %boolean; #IMPLIED>
+
+<!ELEMENT presentation:show-shape (presentation:sound)?>
+<!ATTLIST presentation:show-shape draw:shape-id CDATA #REQUIRED>
+<!ATTLIST presentation:show-shape presentation:effect %presentationEffects; "none">
+<!ATTLIST presentation:show-shape presentation:direction %presentationEffectDirections; "none">
+<!ATTLIST presentation:show-shape presentation:speed %presentationSpeeds; "medium">
+<!ATTLIST presentation:show-shape presentation:start-scale %percentage; "100&#37;">
+<!ATTLIST presentation:show-shape presentation:path-id CDATA #IMPLIED >
+
+<!ELEMENT presentation:show-text (presentation:sound)?>
+<!ATTLIST presentation:show-text draw:shape-id CDATA #REQUIRED>
+<!ATTLIST presentation:show-text presentation:effect %presentationEffects; "none">
+<!ATTLIST presentation:show-text presentation:direction %presentationEffectDirections; "none">
+<!ATTLIST presentation:show-text presentation:speed %presentationSpeeds; "medium">
+<!ATTLIST presentation:show-text presentation:start-scale %percentage; "100&#37;">
+<!ATTLIST presentation:show-text presentation:path-id CDATA #IMPLIED >
+
+<!ELEMENT presentation:hide-shape (presentation:sound)?>
+<!ATTLIST presentation:hide-shape draw:shape-id CDATA #REQUIRED>
+<!ATTLIST presentation:hide-shape presentation:effect %presentationEffects; "none">
+<!ATTLIST presentation:hide-shape presentation:direction %presentationEffectDirections; "none">
+<!ATTLIST presentation:hide-shape presentation:speed %presentationSpeeds; "medium">
+<!ATTLIST presentation:hide-shape presentation:start-scale %percentage; "100&#37;">
+<!ATTLIST presentation:hide-shape presentation:path-id CDATA #IMPLIED >
+
+<!ELEMENT presentation:hide-text (presentation:sound)?>
+<!ATTLIST presentation:hide-text draw:shape-id CDATA #REQUIRED>
+<!ATTLIST presentation:hide-text presentation:effect %presentationEffects; "none">
+<!ATTLIST presentation:hide-text presentation:direction %presentationEffectDirections; "none">
+<!ATTLIST presentation:hide-text presentation:speed %presentationSpeeds; "medium">
+<!ATTLIST presentation:hide-text presentation:start-scale %percentage; "100&#37;">
+<!ATTLIST presentation:hide-text presentation:path-id CDATA #IMPLIED >
+
+<!ELEMENT presentation:dim (presentation:sound)?>
+<!ATTLIST presentation:dim draw:shape-id CDATA #REQUIRED>
+<!ATTLIST presentation:dim draw:color %color; #REQUIRED>
+
+<!ELEMENT presentation:play EMPTY>
+<!ATTLIST presentation:play draw:shape-id CDATA #REQUIRED>
+<!ATTLIST presentation:play presentation:speed %presentationSpeeds; "medium">
+
+<!ELEMENT presentation:animations (presentation:show-shape|presentation:show-text|presentation:hide-shape|presentation:hide-text|presentation:dim|presentation:play)*>
+
+<!ELEMENT presentation:show EMPTY>
+<!ATTLIST presentation:show presentation:name %styleName; #REQUIRED>
+<!ATTLIST presentation:show presentation:pages CDATA #REQUIRED>
+
+<!ELEMENT presentation:settings (presentation:show)*>
+<!ATTLIST presentation:settings presentation:start-page %styleName; #IMPLIED>
+<!ATTLIST presentation:settings presentation:show %styleName; #IMPLIED>
+<!ATTLIST presentation:settings presentation:full-screen %boolean; "true">
+<!ATTLIST presentation:settings presentation:endless %boolean; "false">
+<!ATTLIST presentation:settings presentation:pause %timeDuration; #IMPLIED>
+<!ATTLIST presentation:settings presentation:show-logo %boolean; "false">
+<!ATTLIST presentation:settings presentation:force-manual %boolean; "false">
+<!ATTLIST presentation:settings presentation:mouse-visible %boolean; "true">
+<!ATTLIST presentation:settings presentation:mouse-as-pen %boolean; "false">
+<!ATTLIST presentation:settings presentation:start-with-navigator %boolean; "false">
+<!ATTLIST presentation:settings presentation:animations (enabled|disabled) "enabled">
+<!ATTLIST presentation:settings presentation:stay-on-top %boolean; "false">
+<!ATTLIST presentation:settings presentation:transition-on-click (enabled|disabled) "enabled">
+
+<!-- Drawing page -->
+<!ELEMENT draw:page (office:forms?,(%shapes;)*,presentation:animations?,presentation:notes?)>
+<!ATTLIST draw:page draw:name %string; #IMPLIED>
+<!ATTLIST draw:page draw:style-name %styleName; #IMPLIED>
+<!ATTLIST draw:page draw:master-page-name %styleName; #REQUIRED>
+<!ATTLIST draw:page presentation:presentation-page-layout-name %styleName; #IMPLIED>
+<!ATTLIST draw:page draw:id %nonNegativeInteger; #IMPLIED>
+<!ATTLIST draw:page xlink:href %uriReference; #IMPLIED>
+<!ATTLIST draw:page xlink:type (simple) #IMPLIED>
+<!ATTLIST draw:page xlink:show (replace) #IMPLIED>
+<!ATTLIST draw:page xlink:actuate (onRequest) #IMPLIED>
+
+<!-- Presentation notes -->
+<!ELEMENT presentation:notes (%shapes;)*>
+<!ATTLIST presentation:notes style:page-master-name %styleName; #IMPLIED>
+<!ATTLIST presentation:notes draw:style-name %styleName; #IMPLIED>
+
+<!-- presentation page layouts -->
+<!ELEMENT style:presentation-page-layout (presentation:placeholder)* >
+<!ATTLIST style:presentation-page-layout style:name %styleName; #REQUIRED>
+<!ELEMENT presentation:placeholder EMPTY >
+<!ATTLIST presentation:placeholder presentation:object (title|outline|subtitle|text|graphic|object|chart|orgchart|page|notes|handout) #REQUIRED>
+<!ATTLIST presentation:placeholder svg:x %coordinateOrPercentage; #REQUIRED>
+<!ATTLIST presentation:placeholder svg:y %coordinateOrPercentage; #REQUIRED>
+<!ATTLIST presentation:placeholder svg:width %lengthOrPercentage; #REQUIRED>
+<!ATTLIST presentation:placeholder svg:height %lengthOrPercentage; #REQUIRED>
+
+<!-- presentation page attributes -->
+<!ATTLIST style:properties presentation:transition-type (manual|automatic|semi-automatic) #IMPLIED >
+<!ATTLIST style:properties presentation:transition-style (none|fade-from-left|fade-from-top|fade-from-right|fade-from-bottom|fade-to-center|fade-from-center|move-from-left|move-from-top|move-from-right|move-from-bottom|roll-from-top|roll-from-left|roll-from-right|roll-from-bottom|vertical-stripes|horizontal-stripes|clockwise|counterclockwise|fade-from-upperleft|fade-from-upperright|fade-from-lowerleft|fade-from-lowerright|close-vertical|close-horizontal|open-vertical|open-horizontal|spiralin-left|spiralin-right|spiralout-left|spiralout-right|dissolve|wavyline-from-left|wavyline-from-top|wavyline-from-right|wavyline-from-bottom|random|stretch-from-left|stretch-from-top|stretch-from-right|stretch-from-bottom|vertical-lines|horizontal-lines) #IMPLIED >
+<!ATTLIST style:properties presentation:transition-speed %presentationSpeeds; #IMPLIED >
+<!ATTLIST style:properties presentation:duration %timeDuration; #IMPLIED>
+<!ATTLIST style:properties presentation:visibility (visible|hidden) #IMPLIED>
+<!ATTLIST style:properties draw:background-size (full|border) #IMPLIED>
+<!ATTLIST style:properties presentation:background-objects-visible %boolean; #IMPLIED>
+<!ATTLIST style:properties presentation:background-visible %boolean; #IMPLIED>
+
+
+<!-- text boxes -->
+<!ELEMENT draw:text-box (office:events?,draw:image-map?,
+ %sectionText;)>
+<!ATTLIST draw:text-box %draw-style-name;>
+<!ATTLIST draw:text-box %draw-transform; >
+<!ATTLIST draw:text-box draw:name %string; #IMPLIED>
+<!ATTLIST draw:text-box draw:chain-next-name %string; #IMPLIED>
+
+<!ATTLIST draw:text-box %text-anchor;>
+<!ATTLIST draw:text-box %draw-position;>
+<!ATTLIST draw:text-box %draw-end-position; >
+<!ATTLIST draw:text-box %table-background; >
+<!ATTLIST draw:text-box svg:width %lengthOrPercentage; #IMPLIED>
+<!ATTLIST draw:text-box svg:height %lengthOrPercentage; #IMPLIED>
+<!ATTLIST draw:text-box style:rel-width %percentage; #IMPLIED>
+<!ATTLIST draw:text-box style:rel-height %percentage; #IMPLIED>
+<!ATTLIST draw:text-box fo:min-height %lengthOrPercentage; #IMPLIED>
+<!ATTLIST draw:text-box %zindex;>
+<!ATTLIST draw:text-box %presentation-class; >
+<!ATTLIST draw:text-box draw:id %draw-shape-id;>
+<!ATTLIST draw:text-box draw:layer %layerName; #IMPLIED>
+<!ATTLIST draw:text-box draw:corner-radius %nonNegativeLength; #IMPLIED>
+
+<!-- image -->
+<!ELEMENT draw:image (office:binary-data?,office:events?,draw:image-map?,svg:desc?,(draw:contour-polygon|draw:contour-path)?)>
+<!ATTLIST draw:image %draw-transform; >
+<!ATTLIST draw:image %draw-style-name;>
+<!ATTLIST draw:image draw:name %string; #IMPLIED>
+<!ATTLIST draw:image xlink:href %uriReference; #IMPLIED>
+<!ATTLIST draw:image xlink:type (simple) #IMPLIED>
+<!ATTLIST draw:image xlink:show (embed) #IMPLIED>
+<!ATTLIST draw:image xlink:actuate (onLoad) #IMPLIED>
+<!ATTLIST draw:image draw:filter-name %string; #IMPLIED>
+<!ATTLIST draw:image %text-anchor;>
+<!ATTLIST draw:image %draw-position;>
+<!ATTLIST draw:image %draw-end-position; >
+<!ATTLIST draw:image %table-background; >
+<!ATTLIST draw:image svg:width %lengthOrPercentage; #IMPLIED>
+<!ATTLIST draw:image svg:height %lengthOrPercentage; #IMPLIED>
+<!ATTLIST draw:image %presentation-class; >
+<!ATTLIST draw:image %zindex;>
+<!ATTLIST draw:image draw:id %draw-shape-id;>
+<!ATTLIST draw:image draw:layer %layerName; #IMPLIED>
+<!ATTLIST draw:image style:rel-width %percentage; #IMPLIED>
+<!ATTLIST draw:image style:rel-height %percentage; #IMPLIED>
+
+<!-- objects -->
+<!ELEMENT draw:thumbnail EMPTY>
+<!ATTLIST draw:thumbnail xlink:href %uriReference; #REQUIRED>
+<!ATTLIST draw:thumbnail xlink:type (simple) #IMPLIED>
+<!ATTLIST draw:thumbnail xlink:show (embed) #IMPLIED>
+<!ATTLIST draw:thumbnail xlink:actuate (onLoad) #IMPLIED>
+
+<!ELEMENT math:math ANY> <!-- dummy (we have no MathML DTD currently)-->
+<!ELEMENT draw:object (draw:thumbnail?,(office:document|math:math)?,office:events?, draw:image-map?, svg:desc?,(draw:contour-polygon|draw:contour-path)?)>
+<!ATTLIST draw:object %draw-style-name;>
+<!ATTLIST draw:object draw:name %string; #IMPLIED>
+<!ATTLIST draw:object xlink:href %uriReference; #IMPLIED>
+<!ATTLIST draw:object xlink:type (simple) #IMPLIED>
+<!ATTLIST draw:object xlink:show (embed) #IMPLIED>
+<!ATTLIST draw:object xlink:actuate (onLoad) #IMPLIED>
+<!ATTLIST draw:object %text-anchor;>
+<!ATTLIST draw:object %draw-position;>
+<!ATTLIST draw:object %draw-end-position; >
+<!ATTLIST draw:object %table-background; >
+<!ATTLIST draw:object svg:width %lengthOrPercentage; #IMPLIED>
+<!ATTLIST draw:object svg:height %lengthOrPercentage; #IMPLIED>
+<!ATTLIST draw:object %presentation-class; >
+<!ATTLIST draw:object %zindex;>
+<!ATTLIST draw:object draw:id %draw-shape-id;>
+<!ATTLIST draw:object draw:layer %layerName; #IMPLIED>
+<!ATTLIST draw:object draw:notify-on-update-of-ranges %string; #IMPLIED>
+<!ATTLIST draw:object style:rel-width %percentage; #IMPLIED>
+<!ATTLIST draw:object style:rel-height %percentage; #IMPLIED>
+
+<!ELEMENT draw:object-ole (office:binary-data?|office:events?|draw:image-map?|svg:desc?|draw:contour-polygon?|draw:contour-path?|draw:thumbnail?)>
+<!ATTLIST draw:object-ole draw:class-id CDATA #IMPLIED>
+<!ATTLIST draw:object-ole %draw-style-name;>
+<!ATTLIST draw:object-ole draw:name %string; #IMPLIED>
+<!ATTLIST draw:object-ole xlink:href %uriReference; #IMPLIED>
+<!ATTLIST draw:object-ole xlink:type (simple) #IMPLIED>
+<!ATTLIST draw:object-ole xlink:show (embed) #IMPLIED>
+<!ATTLIST draw:object-ole xlink:actuate (onLoad) #IMPLIED>
+<!ATTLIST draw:object-ole %text-anchor;>
+<!ATTLIST draw:object-ole %draw-position;>
+<!ATTLIST draw:object-ole %draw-end-position; >
+<!ATTLIST draw:object-ole %table-background; >
+<!ATTLIST draw:object-ole svg:width %lengthOrPercentage; #IMPLIED>
+<!ATTLIST draw:object-ole svg:height %lengthOrPercentage; #IMPLIED>
+<!ATTLIST draw:object-ole %presentation-class; >
+<!ATTLIST draw:object-ole %zindex;>
+<!ATTLIST draw:object-ole draw:id %draw-shape-id;>
+<!ATTLIST draw:object-ole draw:layer %layerName; #IMPLIED>
+<!ATTLIST draw:object-ole style:rel-width %percentage; #IMPLIED>
+<!ATTLIST draw:object-ole style:rel-height %percentage; #IMPLIED>
+
+<!ELEMENT svg:desc (#PCDATA)>
+
+<!ELEMENT draw:contour-polygon EMPTY>
+<!ATTLIST draw:contour-polygon svg:width %coordinate; #REQUIRED>
+<!ATTLIST draw:contour-polygon svg:height %coordinate; #REQUIRED>
+<!ATTLIST draw:contour-polygon %draw-viewbox;>
+<!ATTLIST draw:contour-polygon draw:points %points; #REQUIRED>
+<!ATTLIST draw:contour-polygon draw:recreate-on-edit %boolean; #IMPLIED>
+
+<!ELEMENT draw:contour-path EMPTY>
+<!ATTLIST draw:contour-path svg:width %coordinate; #REQUIRED>
+<!ATTLIST draw:contour-path svg:height %coordinate; #REQUIRED>
+<!ATTLIST draw:contour-path %draw-viewbox;>
+<!ATTLIST draw:contour-path svg:d %pathData; #REQUIRED>
+<!ATTLIST draw:contour-path draw:recreate-on-edit %boolean; #IMPLIED>
+
+<!-- hyperlink -->
+<!ELEMENT draw:a (draw:image|draw:text-box)>
+<!ATTLIST draw:a xlink:href %uriReference; #REQUIRED>
+<!ATTLIST draw:a xlink:type (simple) #FIXED "simple">
+<!ATTLIST draw:a xlink:show (new|replace) #IMPLIED>
+<!ATTLIST draw:a xlink:actuate (onRequest) "onRequest">
+<!ATTLIST draw:a office:name %string; #IMPLIED>
+<!ATTLIST draw:a office:target-frame-name %string; #IMPLIED>
+<!ATTLIST draw:a office:server-map %boolean; "false">
+
+<!-- 3d properties -->
+<!ATTLIST style:properties dr3d:horizontal-segments %nonNegativeInteger; #IMPLIED>
+<!ATTLIST style:properties dr3d:vertical-segments %nonNegativeInteger; #IMPLIED>
+<!ATTLIST style:properties dr3d:edge-rounding %percentage; #IMPLIED>
+<!ATTLIST style:properties dr3d:edge-rounding-mode (correct|attractive) #IMPLIED>
+<!ATTLIST style:properties dr3d:back-scale %percentage; #IMPLIED>
+<!ATTLIST style:properties dr3d:end-angle %nonNegativeInteger; #IMPLIED>
+<!ATTLIST style:properties dr3d:depth %length; #IMPLIED>
+<!ATTLIST style:properties dr3d:backface-culling (enabled|disabled) #IMPLIED>
+<!ATTLIST style:properties dr3d:lighting-mode (standard|double-sided) #IMPLIED>
+<!ATTLIST style:properties dr3d:normals-kind (object|flat|sphere) #IMPLIED>
+<!ATTLIST style:properties dr3d:normals-direction (normal|inverse) #IMPLIED>
+<!ATTLIST style:properties dr3d:texture-generation-mode-x (object|parallel|sphere) #IMPLIED>
+<!ATTLIST style:properties dr3d:texture-generation-mode-y (object|parallel|sphere) #IMPLIED>
+<!ATTLIST style:properties dr3d:texture-kind (luminance|intesity|color) #IMPLIED>
+<!ATTLIST style:properties dr3d:texture-filter (enabled|disabled) #IMPLIED>
+<!ATTLIST style:properties dr3d:texture-mode (replace|modulate|blend) #IMPLIED>
+<!ATTLIST style:properties dr3d:ambient-color %color; #IMPLIED>
+<!ATTLIST style:properties dr3d:emissive-color %color; #IMPLIED>
+<!ATTLIST style:properties dr3d:specular-color %color; #IMPLIED>
+<!ATTLIST style:properties dr3d:diffuse-color %color; #IMPLIED>
+<!ATTLIST style:properties dr3d:shininess %percentage; #IMPLIED>
+<!ATTLIST style:properties dr3d:shadow (visible|hidden) #IMPLIED>
+<!ATTLIST style:properties dr3d:close-front %boolean; #IMPLIED>
+<!ATTLIST style:properties dr3d:close-back %boolean; #IMPLIED>
+
+<!ELEMENT dr3d:light EMPTY>
+<!ATTLIST dr3d:light dr3d:diffuse-color %color; #IMPLIED>
+<!ATTLIST dr3d:light dr3d:direction %vector3D; #REQUIRED>
+<!ATTLIST dr3d:light dr3d:enabled %boolean; #IMPLIED>
+<!ATTLIST dr3d:light dr3d:specular %boolean; #IMPLIED>
+
+<!ENTITY % shapes3d "(dr3d:scene|dr3d:extrude|dr3d:sphere|dr3d:rotate|dr3d:cube)">
+
+<!ELEMENT dr3d:cube EMPTY>
+<!ATTLIST dr3d:cube dr3d:transform CDATA #IMPLIED>
+<!ATTLIST dr3d:cube dr3d:min-edge %vector3D; #IMPLIED>
+<!ATTLIST dr3d:cube dr3d:max-edge %vector3D; #IMPLIED>
+<!ATTLIST dr3d:cube %zindex;>
+<!ATTLIST dr3d:cube draw:id %draw-shape-id;>
+<!ATTLIST dr3d:cube %draw-end-position; >
+<!ATTLIST dr3d:cube %table-background; >
+<!ATTLIST dr3d:cube %draw-style-name; >
+<!ATTLIST dr3d:cube draw:layer %layerName; #IMPLIED>
+
+<!ELEMENT dr3d:sphere EMPTY>
+<!ATTLIST dr3d:sphere dr3d:transform CDATA #IMPLIED>
+<!ATTLIST dr3d:sphere dr3d:center %vector3D; #IMPLIED>
+<!ATTLIST dr3d:sphere dr3d:size %vector3D; #IMPLIED>
+<!ATTLIST dr3d:sphere %zindex;>
+<!ATTLIST dr3d:sphere draw:id %draw-shape-id;>
+<!ATTLIST dr3d:sphere %draw-end-position; >
+<!ATTLIST dr3d:sphere %table-background; >
+<!ATTLIST dr3d:sphere %draw-style-name; >
+<!ATTLIST dr3d:sphere draw:layer %layerName; #IMPLIED>
+
+<!ELEMENT dr3d:extrude EMPTY>
+<!ATTLIST dr3d:extrude dr3d:transform CDATA #IMPLIED>
+<!ATTLIST dr3d:extrude %draw-viewbox;>
+<!ATTLIST dr3d:extrude svg:d %pathData; #REQUIRED >
+<!ATTLIST dr3d:extrude %zindex;>
+<!ATTLIST dr3d:extrude draw:id %draw-shape-id;>
+<!ATTLIST dr3d:extrude %draw-end-position; >
+<!ATTLIST dr3d:extrude %table-background; >
+<!ATTLIST dr3d:extrude %draw-style-name; >
+<!ATTLIST dr3d:extrude draw:layer %layerName; #IMPLIED>
+
+<!ELEMENT dr3d:rotate EMPTY>
+<!ATTLIST dr3d:rotate dr3d:transform CDATA #IMPLIED>
+<!ATTLIST dr3d:rotate %draw-viewbox;>
+<!ATTLIST dr3d:rotate svg:d %pathData; #REQUIRED >
+<!ATTLIST dr3d:rotate %zindex;>
+<!ATTLIST dr3d:rotate draw:id %draw-shape-id;>
+<!ATTLIST dr3d:rotate %draw-end-position; >
+<!ATTLIST dr3d:rotate %table-background; >
+<!ATTLIST dr3d:rotate %draw-style-name; >
+<!ATTLIST dr3d:rotate draw:layer %layerName; #IMPLIED>
+
+<!ELEMENT dr3d:scene (dr3d:light*,(%shapes3d;)*)>
+<!ATTLIST dr3d:scene %draw-style-name; >
+<!ATTLIST dr3d:scene svg:x %coordinate; #IMPLIED>
+<!ATTLIST dr3d:scene svg:y %coordinate; #IMPLIED>
+<!ATTLIST dr3d:scene svg:width %length; #IMPLIED>
+<!ATTLIST dr3d:scene svg:height %length; #IMPLIED>
+<!ATTLIST dr3d:scene dr3d:vrp %vector3D; #IMPLIED>
+<!ATTLIST dr3d:scene dr3d:vpn %vector3D; #IMPLIED>
+<!ATTLIST dr3d:scene dr3d:vup %vector3D; #IMPLIED>
+<!ATTLIST dr3d:scene dr3d:projection (parallel|perspective) #IMPLIED>
+<!ATTLIST dr3d:scene dr3d:transform CDATA #IMPLIED>
+<!ATTLIST dr3d:scene dr3d:distance %length; #IMPLIED>
+<!ATTLIST dr3d:scene dr3d:focal-length %length; #IMPLIED>
+<!ATTLIST dr3d:scene dr3d:shadow-slant %nonNegativeInteger; #IMPLIED>
+<!ATTLIST dr3d:scene dr3d:shade-mode (flat|phong|gouraud|draft) #IMPLIED>
+<!ATTLIST dr3d:scene dr3d:ambient-color %color; #IMPLIED>
+<!ATTLIST dr3d:scene dr3d:lighting-mode %boolean; #IMPLIED>
+<!ATTLIST dr3d:scene %zindex;>
+<!ATTLIST dr3d:scene draw:id %draw-shape-id;>
+<!ATTLIST dr3d:scene %draw-end-position; >
+<!ATTLIST dr3d:scene %table-background; >
+
+<!-- layer -->
+
+<!ELEMENT draw:layer-set (draw:layer*)>
+
+<!ELEMENT draw:layer EMPTY>
+<!ATTLIST draw:layer draw:name %layerName; #REQUIRED>
+
+<!-- events -->
+<!ELEMENT presentation:event (presentation:sound)?>
+<!ATTLIST presentation:event %event-name;>
+<!ATTLIST presentation:event presentation:action (none|previous-page|next-page|first-page|last-page|hide|stop|execute|show|verb|fade-out|sound) #REQUIRED>
+<!ATTLIST presentation:event presentation:effect %presentationEffects; "none">
+<!ATTLIST presentation:event presentation:direction %presentationEffectDirections; "none">
+<!ATTLIST presentation:event presentation:speed %presentationSpeeds; "medium">
+<!ATTLIST presentation:event presentation:start-scale %percentage; "100&#37;">
+<!ATTLIST presentation:event xlink:href %uriReference; #IMPLIED>
+<!ATTLIST presentation:event xlink:type (simple) #IMPLIED>
+<!ATTLIST presentation:event xlink:show (embed) #IMPLIED>
+<!ATTLIST presentation:event xlink:actuate (onRequest) #IMPLIED>
+<!ATTLIST presentation:event presentation:verb %nonNegativeInteger; #IMPLIED>
+
+<!-- applets -->
+<!ELEMENT draw:applet (draw:thumbnail?, draw:param*, svg:desc?)>
+<!ATTLIST draw:applet xlink:href %uriReference; #IMPLIED>
+<!ATTLIST draw:applet xlink:type (simple) #IMPLIED>
+<!ATTLIST draw:applet xlink:show (embed) #IMPLIED>
+<!ATTLIST draw:applet xlink:actuate (onLoad) #IMPLIED>
+<!ATTLIST draw:applet draw:code CDATA #REQUIRED>
+<!ATTLIST draw:applet draw:object CDATA #IMPLIED>
+<!ATTLIST draw:applet draw:archive CDATA #IMPLIED>
+<!ATTLIST draw:applet draw:may-script %boolean; "false">
+<!ATTLIST draw:applet draw:name CDATA #IMPLIED>
+<!ATTLIST draw:applet %draw-style-name;>
+<!ATTLIST draw:applet svg:width %lengthOrPercentage; #IMPLIED>
+<!ATTLIST draw:applet svg:height %lengthOrPercentage; #IMPLIED>
+<!ATTLIST draw:applet %zindex;>
+<!ATTLIST draw:applet draw:layer %layerName; #IMPLIED>
+<!ATTLIST draw:applet %draw-position;>
+<!ATTLIST draw:applet %draw-end-position; >
+
+<!-- plugins -->
+<!ELEMENT draw:plugin (draw:thumbnail?, draw:param*, svg:desc?)>
+<!ATTLIST draw:plugin xlink:href %uriReference; #IMPLIED>
+<!ATTLIST draw:plugin xlink:type (simple) #IMPLIED>
+<!ATTLIST draw:plugin xlink:show (embed) #IMPLIED>
+<!ATTLIST draw:plugin xlink:actuate (onLoad) #IMPLIED>
+<!ATTLIST draw:plugin draw:mime-type CDATA #IMPLIED>
+<!ATTLIST draw:plugin draw:name CDATA #IMPLIED>
+<!ATTLIST draw:plugin %draw-style-name;>
+<!ATTLIST draw:plugin svg:width %lengthOrPercentage; #IMPLIED>
+<!ATTLIST draw:plugin svg:height %lengthOrPercentage; #IMPLIED>
+<!ATTLIST draw:plugin %zindex;>
+<!ATTLIST draw:plugin draw:layer %layerName; #IMPLIED>
+<!ATTLIST draw:plugin %draw-position;>
+<!ATTLIST draw:plugin %draw-end-position; >
+
+<!-- Paramaters -->
+<!ELEMENT draw:param EMPTY>
+<!ATTLIST draw:param draw:name CDATA #IMPLIED>
+<!ATTLIST draw:param draw:value CDATA #IMPLIED>
+
+<!-- Floating Frames -->
+<!ELEMENT draw:floating-frame (draw:thumbnail?, svg:desc?)>
+<!ATTLIST draw:floating-frame xlink:href %uriReference; #IMPLIED>
+<!ATTLIST draw:floating-frame xlink:type (simple) #IMPLIED>
+<!ATTLIST draw:floating-frame xlink:show (embed) #IMPLIED>
+<!ATTLIST draw:floating-frame xlink:actuate (onLoad) #IMPLIED>
+<!ATTLIST draw:floating-frame draw:name CDATA #IMPLIED>
+<!ATTLIST draw:floating-frame draw:frame-name CDATA #IMPLIED>
+<!ATTLIST draw:floating-frame %draw-style-name;>
+<!ATTLIST draw:floating-frame svg:width %lengthOrPercentage; #IMPLIED>
+<!ATTLIST draw:floating-frame svg:height %lengthOrPercentage; #IMPLIED>
+<!ATTLIST draw:floating-frame %zindex;>
+<!ATTLIST draw:floating-frame draw:layer %layerName; #IMPLIED>
+<!ATTLIST draw:floating-frame %draw-position;>
+<!ATTLIST draw:floating-frame %draw-end-position; >
+
+<!-- Image Maps -->
+<!ELEMENT draw:image-map
+ (draw:area-rectangle|draw:area-circle|draw:area-polygon)*>
+
+<!ELEMENT draw:area-rectangle (svg:desc?,office:events?)>
+<!ATTLIST draw:area-rectangle xlink:href %uriReference; #IMPLIED>
+<!ATTLIST draw:area-rectangle xlink:type (simple) #IMPLIED>
+<!ATTLIST draw:area-rectangle office:target-frame-name CDATA #IMPLIED>
+<!ATTLIST draw:area-rectangle xlink:show (new|replace) #IMPLIED>
+<!ATTLIST draw:area-rectangle office:name CDATA #IMPLIED>
+<!ATTLIST draw:area-rectangle draw:nohref (nohref) #IMPLIED>
+<!ATTLIST draw:area-rectangle svg:x %coordinate; #REQUIRED>
+<!ATTLIST draw:area-rectangle svg:y %coordinate; #REQUIRED>
+<!ATTLIST draw:area-rectangle svg:width %coordinate; #REQUIRED>
+<!ATTLIST draw:area-rectangle svg:height %coordinate; #REQUIRED>
+
+<!ELEMENT draw:area-circle (svg:desc?,office:events?)>
+<!ATTLIST draw:area-circle xlink:href %uriReference; #IMPLIED>
+<!ATTLIST draw:area-circle xlink:type (simple) #IMPLIED>
+<!ATTLIST draw:area-circle office:target-frame-name CDATA #IMPLIED>
+<!ATTLIST draw:area-circle xlink:show (new|replace) #IMPLIED>
+<!ATTLIST draw:area-circle office:name CDATA #IMPLIED>
+<!ATTLIST draw:area-circle draw:nohref (nohref) #IMPLIED>
+<!ATTLIST draw:area-circle svg:cx %coordinate; #REQUIRED>
+<!ATTLIST draw:area-circle svg:cy %coordinate; #REQUIRED>
+<!ATTLIST draw:area-circle svg:r %coordinate; #REQUIRED>
+
+<!ELEMENT draw:area-polygon (svg:desc?,office:events?)>
+<!ATTLIST draw:area-polygon xlink:href %uriReference; #IMPLIED>
+<!ATTLIST draw:area-polygon xlink:type (simple) #IMPLIED>
+<!ATTLIST draw:area-polygon office:target-frame-name CDATA #IMPLIED>
+<!ATTLIST draw:area-polygon xlink:show (new|replace) #IMPLIED>
+<!ATTLIST draw:area-polygon office:name CDATA #IMPLIED>
+<!ATTLIST draw:area-polygon draw:nohref (nohref) #IMPLIED>
+<!ATTLIST draw:area-polygon svg:x %coordinate; #REQUIRED>
+<!ATTLIST draw:area-polygon svg:y %coordinate; #REQUIRED>
+<!ATTLIST draw:area-polygon svg:width %coordinate; #REQUIRED>
+<!ATTLIST draw:area-polygon svg:height %coordinate; #REQUIRED>
+<!ATTLIST draw:area-polygon svg:points %points; #REQUIRED>
+<!ATTLIST draw:area-polygon svg:viewBox CDATA #REQUIRED>
diff --git a/test/user-template/user/dtd/officedocument/1_0/dtypes.mod b/test/user-template/user/dtd/officedocument/1_0/dtypes.mod
new file mode 100644
index 000000000000..4de538ced12b
--- /dev/null
+++ b/test/user-template/user/dtd/officedocument/1_0/dtypes.mod
@@ -0,0 +1,143 @@
+<!--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ Copyright 2000, 2010 Oracle and/or its affiliates.
+
+ OpenOffice.org - a multi-platform office productivity suite
+
+ This file is part of OpenOffice.org.
+
+ OpenOffice.org is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License version 3
+ only, as published by the Free Software Foundation.
+
+ OpenOffice.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License version 3 for more details
+ (a copy is included in the LICENSE file that accompanied this code).
+
+ You should have received a copy of the GNU Lesser General Public License
+ version 3 along with OpenOffice.org. If not, see
+ <http://www.openoffice.org/license.html>
+ for a copy of the LGPLv3 License.
+
+-->
+
+<!-- datatypes corresponding to XML Schema Part 2 W3C Working draft of -->
+<!-- 07 April 2000 -->
+
+<!-- string -->
+<!ENTITY % string "CDATA">
+<!ENTITY % cString "#PCDATA">
+
+<!-- boolean (values are "true" and "false" -->
+<!ENTITY % boolean "CDATA">
+
+<!-- integer ( ..., -2, -1, 0, 1, 2, ...) -->
+<!ENTITY % integer "CDATA">
+
+<!-- non negative integer ( 0, 1, 2, ...) -->
+<!ENTITY % nonNegativeInteger "CDATA">
+
+<!-- positive integer ( 1, 2, ...) -->
+<!ENTITY % positiveInteger "CDATA">
+<!ENTITY % cPositiveInteger "#PCDATA">
+
+<!ENTITY % positiveNumberOrDefault "CDATA">
+
+<!-- time duration as specified by ISO8601, section 5.5.3.2 -->
+<!ENTITY % timeDuration "CDATA">
+<!ENTITY % cTimeDuration "#PCDATA">
+
+<!-- time instance as specified by ISO8601, section 5.4 -->
+<!ENTITY % timeInstance "CDATA">
+<!ENTITY % cTimeInstance "#PCDATA">
+
+<!-- date instance as specified by ISO8601, section 5.2.1.1, extended format-->
+<!ENTITY % date "CDATA">
+<!ENTITY % cDate "#PCDATA">
+
+<!-- date duration, like timDuration but truncated to full dates -->
+<!ENTITY % dateDuration "CDATA">
+<!ENTITY % cDateDuration "#PCDATA">
+
+<!-- URI reference -->
+<!ENTITY % uriReference "CDATA">
+
+<!-- language code as specified by RFC1766 -->
+<!ENTITY % language "CDATA">
+<!ENTITY % cLanguage "#PCDATA">
+
+<!-- float -->
+<!ENTITY % float "CDATA">
+
+<!-- Some other common used data types -->
+
+<!-- a single UNICODE character -->
+<!ENTITY % character "CDATA">
+
+<!-- a style name -->
+<!ENTITY % styleName "CDATA">
+
+<!-- a target frame mame -->
+<!ENTITY % targetFrameName "CDATA">
+
+<!-- a language without a country as specified by ISO639 -->
+<!ENTITY % languageOnly "CDATA">
+
+<!-- a country as specified by ISO3166 -->
+<!ENTITY % country "CDATA">
+
+<!-- a color value having the format #rrggbb -->
+<!ENTITY % color "CDATA">
+<!-- a color value having the format #rrggbb or "transparent" -->
+<!ENTITY % transparentOrColor "CDATA">
+
+<!-- a percentage -->
+<!ENTITY % percentage "CDATA">
+
+<!-- a length (i.e. 1cm or .6inch) -->
+<!ENTITY % length "CDATA">
+<!ENTITY % positiveLength "CDATA">
+<!ENTITY % nonNegativeLength "CDATA">
+<!ENTITY % lengthOrNoLimit "CDATA">
+
+<!-- a length or a percentage -->
+<!ENTITY % lengthOrPercentage "CDATA">
+<!ENTITY % positiveLengthOrPercentage "CDATA">
+
+<!-- a pixel length (i.e. 2px) -->
+<!ENTITY % nonNegativePixelLength "CDATA">
+
+<!-- a float or a percentage -->
+<!ENTITY % floatOrPercentage "CDATA">
+
+<!-- a text encoding -->
+<!ENTITY % textEncoding "CDATA">
+
+<!-- cell address and cell range address -->
+<!ENTITY % cell-address "CDATA">
+<!ENTITY % cell-range-address "CDATA">
+<!ENTITY % cell-range-address-list "CDATA">
+
+<!-- value types -->
+<!ENTITY % valueType "(float|time|date|percentage|currency|boolean|string)">
+
+<!-- an svg coordinate in different distance formats -->
+<!ENTITY % coordinate "CDATA">
+
+<!ENTITY % coordinateOrPercentage "CDATA">
+
+<!ENTITY % shape "draw:rect|draw:line|draw:polyline|draw:polygon|draw:path|
+ draw:circle|draw:ellipse|draw:g|draw:page-thumbnail|
+ draw:text-box|draw:image|draw:object|draw:object-ole|
+ draw:applet|draw:floating-frame|draw:plugin|
+ draw:measure|draw:caption|draw:connector|chart:chart|
+ dr3d:scene|draw:control|draw:custom-shape" >
+<!ENTITY % shapes "(%shape;)" >
+
+<!ENTITY % anchorType "(page|frame|paragraph|char|as-char)">
+
+<!ENTITY % control-id "form:id CDATA #REQUIRED">
diff --git a/test/user-template/user/dtd/officedocument/1_0/event.dtd b/test/user-template/user/dtd/officedocument/1_0/event.dtd
new file mode 100644
index 000000000000..bf83b6458383
--- /dev/null
+++ b/test/user-template/user/dtd/officedocument/1_0/event.dtd
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ Copyright 2000, 2010 Oracle and/or its affiliates.
+
+ OpenOffice.org - a multi-platform office productivity suite
+
+ This file is part of OpenOffice.org.
+
+ OpenOffice.org is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License version 3
+ only, as published by the Free Software Foundation.
+
+ OpenOffice.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License version 3 for more details
+ (a copy is included in the LICENSE file that accompanied this code).
+
+ You should have received a copy of the GNU Lesser General Public License
+ version 3 along with OpenOffice.org. If not, see
+ <http://www.openoffice.org/license.html>
+ for a copy of the LGPLv3 License.
+
+-->
+
+<!-- xlink:type -->
+<!ENTITY % xlinkType "CDATA">
+
+<!ELEMENT event:event EMPTY>
+<!ATTLIST event:event
+ event:name CDATA #REQUIRED
+ event:language CDATA #REQUIRED
+ event:library CDATA #IMPLIED
+ event:macro-name CDATA #IMPLIED
+ xlink:type %xlinkType; "simple"
+ xlink:href CDATA #IMPLIED
+>
+<!ELEMENT event:events (event:event*)>
+<!ATTLIST event:events
+ xmlns:event CDATA #FIXED "http://openoffice.org/2001/event"
+ xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
+>
diff --git a/test/user-template/user/dtd/officedocument/1_0/form.mod b/test/user-template/user/dtd/officedocument/1_0/form.mod
new file mode 100644
index 000000000000..511fb180f488
--- /dev/null
+++ b/test/user-template/user/dtd/officedocument/1_0/form.mod
@@ -0,0 +1,366 @@
+<!--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ Copyright 2000, 2010 Oracle and/or its affiliates.
+
+ OpenOffice.org - a multi-platform office productivity suite
+
+ This file is part of OpenOffice.org.
+
+ OpenOffice.org is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License version 3
+ only, as published by the Free Software Foundation.
+
+ OpenOffice.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License version 3 for more details
+ (a copy is included in the LICENSE file that accompanied this code).
+
+ You should have received a copy of the GNU Lesser General Public License
+ version 3 along with OpenOffice.org. If not, see
+ <http://www.openoffice.org/license.html>
+ for a copy of the LGPLv3 License.
+
+-->
+
+<!ENTITY % controls "form:text|form:textarea|form:fixed-text|form:file|
+ form:password|form:formatted-text|form:button|form:image|
+ form:checkbox|form:radio|form:listbox|form:combobox|form:frame|
+ form:hidden|form:image-frame|form:grid|form:value-range|form:generic-control">
+
+<!ENTITY % name "form:name CDATA #IMPLIED">
+<!ENTITY % service-name "form:service-name CDATA #IMPLIED">
+
+<!ENTITY % navigation "(none|current|parent)">
+<!ENTITY % cycles "(records|current|page)">
+<!ENTITY % url "CDATA">
+
+
+<!ENTITY % types "(submit|reset|push|url)">
+<!ENTITY % button-type "form:button-type %types; 'push'">
+<!ENTITY % current-selected "form:current-selected %boolean; 'false'">
+<!ENTITY % current-value "form:current-value CDATA #IMPLIED">
+<!ENTITY % value "form:value CDATA #IMPLIED">
+<!ENTITY % disabled "form:disabled %boolean; 'false'">
+<!ENTITY % dropdown "form:dropdown %boolean; 'false'">
+<!ENTITY % for "form:for CDATA #IMPLIED">
+<!ENTITY % image-data "form:image-data %url; #IMPLIED">
+<!ENTITY % label "form:label CDATA #IMPLIED">
+<!ENTITY % max-length "form:max-length CDATA #IMPLIED">
+<!ENTITY % printable "form:printable %boolean; 'true'">
+<!ENTITY % readonly "form:readonly %boolean; 'false'">
+<!ENTITY % size "form:size CDATA #IMPLIED">
+<!ENTITY % selected "form:selected %boolean; 'false'">
+<!ENTITY % size "form:size CDATA #IMPLIED">
+<!ENTITY % tab-index "form:tab-index CDATA #IMPLIED">
+<!ENTITY % target-frame "office:target-frame CDATA '_blank'">
+<!ENTITY % target-location "xlink:href %url; #IMPLIED">
+<!ENTITY % tab-stop "form:tab-stop %boolean; 'true'">
+<!ENTITY % title "form:title CDATA #IMPLIED">
+<!ENTITY % default-value "form:default-value CDATA #IMPLIED">
+<!ENTITY % bound-column "form:bound-column CDATA #IMPLIED">
+<!ENTITY % convert-empty "form:convert-empty-to-null %boolean; 'false'">
+<!ENTITY % data-field "form:data-field CDATA #IMPLIED">
+<!ENTITY % linked-cell "form:linked-cell CDATA #IMPLIED">
+<!ENTITY % visual-effect "form:visual-effect (flat|3d) #IMPLIED">
+<!ENTITY % image-position "form:image-position (start|end|top|bottom|center) 'center'">
+<!ENTITY % image-align "form:image-align (start|center|end) 'center'">
+<!ENTITY % list-linkage-type "form:list-linkage-type (selection|selection-indexes) #IMPLIED">
+<!ENTITY % source-cell-range "form:source-cell-range CDATA #IMPLIED">
+<!ENTITY % list-source "form:list-source CDATA #IMPLIED">
+<!ENTITY % list-source-types "(table|query|sql|sql-pass-through|value-list|table-fields)">
+<!ENTITY % list-source-type "form:list-source-type %list-source-types; #IMPLIED">
+<!ENTITY % column-style-name "form:column-style-name %styleName; #IMPLIED">
+<!ENTITY % min-value "form:min-value %float; #IMPLIED">
+<!ENTITY % max-value "form:max-value %float; #IMPLIED">
+<!ENTITY % step-size "form:step-size %positiveInteger; '1'">
+<!ENTITY % page-step-size "form:page-step-size %positiveInteger; #IMPLIED">
+<!ENTITY % delay-for-repeat "form:delay-for-repeat %positiveInteger; #IMPLIED">
+<!ENTITY % orientation "form:orientation (horizontal|vertical) #IMPLIED">
+
+
+
+
+<!ELEMENT form:control (%controls;)+>
+<!ATTLIST form:control %name;
+ %service-name;
+ %control-id;>
+
+<!ELEMENT form:form (form:properties?, office:events?, (form:control|form:form)*)>
+<!ATTLIST form:form %name; %service-name;>
+<!ATTLIST form:form xlink:href %url; #IMPLIED>
+<!ATTLIST form:form form:enctype CDATA "application/x-www-form-urlencoded">
+<!ATTLIST form:form form:method CDATA "get">
+<!ATTLIST form:form office:target-frame CDATA "_blank">
+<!ATTLIST form:form form:allow-deletes %boolean; "true">
+<!ATTLIST form:form form:allow-inserts %boolean; "true">
+<!ATTLIST form:form form:allow-updates %boolean; "true">
+<!ATTLIST form:form form:apply-filter %boolean; "false">
+<!ATTLIST form:form form:command CDATA #IMPLIED>
+<!ATTLIST form:form form:command-type (table|query|command) "command">
+<!ATTLIST form:form form:datasource CDATA #IMPLIED>
+<!ATTLIST form:form form:detail-fields CDATA #IMPLIED>
+<!ATTLIST form:form form:escape-processing %boolean; "true">
+<!ATTLIST form:form form:filter CDATA #IMPLIED>
+<!ATTLIST form:form form:ignore-result %boolean; "false">
+<!ATTLIST form:form form:master-fields CDATA #IMPLIED>
+<!ATTLIST form:form form:navigation-mode %navigation; #IMPLIED>
+<!ATTLIST form:form form:order CDATA #IMPLIED>
+<!ATTLIST form:form form:tab-cycle %cycles; #IMPLIED>
+
+<!ELEMENT office:forms (form:form*)>
+<!ATTLIST office:forms form:automatic-focus %boolean; "false">
+<!ATTLIST office:forms form:apply-design-mode %boolean; "true">
+
+<!ELEMENT form:text (form:properties?, office:events?)>
+<!ATTLIST form:text %current-value;
+ %disabled;
+ %max-length;
+ %printable;
+ %readonly;
+ %tab-index;
+ %tab-stop;
+ %title;
+ %value;
+ %convert-empty;
+ %data-field;
+ %linked-cell;>
+
+<!ELEMENT form:textarea (form:properties?, office:events?, text:p*)>
+<!ATTLIST form:textarea %current-value;
+ %disabled;
+ %max-length;
+ %printable;
+ %readonly;
+ %tab-index;
+ %tab-stop;
+ %title;
+ %value;
+ %convert-empty;
+ %data-field;
+ %linked-cell;>
+
+<!ELEMENT form:password (form:properties?, office:events?)>
+<!ATTLIST form:password %disabled;
+ %max-length;
+ %printable;
+ %tab-index;
+ %tab-stop;
+ %title;
+ %value;
+ %convert-empty;
+ %linked-cell;>
+
+<!ATTLIST form:password form:echo-char CDATA "*">
+
+<!ELEMENT form:file (form:properties?, office:events?)>
+<!ATTLIST form:file %current-value;
+ %disabled;
+ %max-length;
+ %printable;
+ %readonly;
+ %tab-index;
+ %tab-stop;
+ %title;
+ %value;>
+
+<!ELEMENT form:formatted-text (form:properties?, office:events?)>
+<!ATTLIST form:formatted-text %current-value;
+ %disabled;
+ %max-length;
+ %printable;
+ %readonly;
+ %tab-index;
+ %tab-stop;
+ %title;
+ %min-value;
+ %max-value;
+ %value;
+ %convert-empty;
+ %data-field;
+ %linked-cell;>
+<!ATTLIST form:formatted-text form:validation %boolean; "false">
+
+<!ELEMENT form:fixed-text (form:properties?, office:events?)>
+<!ATTLIST form:fixed-text %for;
+ %disabled;
+ %label;
+ %printable;
+ %title;>
+<!ATTLIST form:fixed-text form:multi-line %boolean; "false">
+
+<!ELEMENT form:combobox (form:properties?, office:events?, form:item*)>
+<!ATTLIST form:combobox %current-value;
+ %disabled;
+ %dropdown;
+ %max-length;
+ %printable;
+ %readonly;
+ %size;
+ %tab-index;
+ %tab-stop;
+ %title;
+ %value;
+ %convert-empty;
+ %data-field;
+ %list-source;
+ %list-source-type;
+ %linked-cell;
+ %source-cell-range;>
+
+<!ATTLIST form:combobox form:auto-complete %boolean; #IMPLIED>
+
+<!ELEMENT form:item (#PCDATA)>
+<!ATTLIST form:item %label;>
+
+<!ELEMENT form:listbox (form:properties?, office:events?, form:option*)>
+<!ATTLIST form:listbox %disabled;
+ %dropdown;
+ %printable;
+ %size;
+ %tab-index;
+ %tab-stop;
+ %title;
+ %bound-column;
+ %data-field;
+ %list-source;
+ %list-source-type;
+ %linked-cell;
+ %list-linkage-type;
+ %source-cell-range;>
+
+<!ATTLIST form:listbox form:multiple %boolean; "false">
+
+<!ELEMENT form:option (#PCDATA)>
+<!ATTLIST form:option %current-selected;
+ %selected;
+ %label;
+ %value;>
+
+<!ELEMENT form:button (form:properties?, office:events?)>
+<!ATTLIST form:button %button-type;
+ %disabled;
+ %label;
+ %image-data;
+ %printable;
+ %tab-index;
+ %tab-stop;
+ %target-frame;
+ %target-location;
+ %title;
+ %value;
+ %image-position;
+ %image-align;>
+
+<!ATTLIST form:button form:default-button %boolean; "false"
+ form:toggle %boolean; "false"
+ form:focus-on-click %boolean; "true">
+
+<!ELEMENT form:image (form:properties?, office:events?)>
+<!ATTLIST form:image %button-type;
+ %disabled;
+ %image-data;
+ %printable;
+ %tab-index;
+ %tab-stop;
+ %target-frame;
+ %target-location;
+ %title;
+ %value;>
+
+<!ELEMENT form:checkbox (form:properties?, office:events?)>
+<!ATTLIST form:checkbox %disabled;
+ %label;
+ %printable;
+ %tab-index;
+ %tab-stop;
+ %title;
+ %value;
+ %data-field;
+ %linked-cell;
+ %visual-effect;
+ %image-position;
+ %image-align;>
+
+<!ENTITY % states "(unchecked|checked|unknown)">
+<!ATTLIST form:checkbox form:current-state %states; #IMPLIED>
+<!ATTLIST form:checkbox form:is-tristate %boolean; "false">
+<!ATTLIST form:checkbox form:state %states; "unchecked">
+
+<!ELEMENT form:radio (form:properties?, office:events?)>
+<!ATTLIST form:radio %current-selected;
+ %disabled;
+ %label;
+ %printable;
+ %selected;
+ %tab-index;
+ %tab-stop;
+ %title;
+ %value;
+ %data-field;
+ %linked-cell;
+ %visual-effect;
+ %image-position;
+ %image-align;>
+
+<!ELEMENT form:frame (form:properties?, office:events?)>
+<!ATTLIST form:frame %disabled;
+ %for;
+ %label;
+ %printable;
+ %title;>
+
+<!ELEMENT form:image-frame (form:properties?, office:events?)>
+<!ATTLIST form:image-frame %disabled;
+ %image-data;
+ %printable;
+ %readonly;
+ %title;
+ %data-field;>
+
+<!ELEMENT form:hidden (form:properties?, office:events?)>
+<!ATTLIST form:hidden %name;
+ %service-name;
+ %value;>
+
+<!ELEMENT form:grid (form:properties?, office:events?, form:column*)>
+<!ATTLIST form:grid %disabled;
+ %printable;
+ %tab-index;
+ %tab-stop;
+ %title;>
+
+<!ENTITY % column-type "form:text| form:textarea| form:formatted-text|form:checkbox| form:listbox| form:combobox">
+<!ELEMENT form:column (%column-type;)+>
+<!ATTLIST form:column %name;
+ %service-name;
+ %label;
+ %column-style-name;>
+
+<!ELEMENT form:generic-control (form:properties?, office:events?)>
+
+<!ELEMENT form:value-range (form:properties?, office:events?)>
+<!ATTLIST form:value-range %disabled;
+ %printable;
+ %tab-index;
+ %tab-stop;
+ %title;
+ %min-value;
+ %max-value;
+ %current-value;
+ %value;
+ %linked-cell;
+ %step-size;
+ %page-step-size;
+ %delay-for-repeat;
+ %orientation;>
+
+<!ELEMENT form:properties (form:property+)>
+<!ELEMENT form:property (form:property-value*)>
+<!ATTLIST form:property form:property-is-list %boolean; #IMPLIED>
+<!ATTLIST form:property form:property-name CDATA #REQUIRED>
+<!ATTLIST form:property form:property-type (boolean|short|int|long|double|string) #REQUIRED>
+<!ELEMENT form:property-value (#PCDATA)>
+<!ATTLIST form:property-value form:property-is-void %boolean; #IMPLIED>
diff --git a/test/user-template/user/dtd/officedocument/1_0/groupuinames.dtd b/test/user-template/user/dtd/officedocument/1_0/groupuinames.dtd
new file mode 100644
index 000000000000..7feb3c5e0618
--- /dev/null
+++ b/test/user-template/user/dtd/officedocument/1_0/groupuinames.dtd
@@ -0,0 +1,35 @@
+<!--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ Copyright 2000, 2010 Oracle and/or its affiliates.
+
+ OpenOffice.org - a multi-platform office productivity suite
+
+ This file is part of OpenOffice.org.
+
+ OpenOffice.org is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License version 3
+ only, as published by the Free Software Foundation.
+
+ OpenOffice.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License version 3 for more details
+ (a copy is included in the LICENSE file that accompanied this code).
+
+ You should have received a copy of the GNU Lesser General Public License
+ version 3 along with OpenOffice.org. If not, see
+ <http://www.openoffice.org/license.html>
+ for a copy of the LGPLv3 License.
+
+-->
+<!ELEMENT groupuinames:template-group-list (groupuinames:template-group*)>
+<!ATTLIST groupuinames:template-group-list xmlns:groupuinames CDATA #FIXED "http://openoffice.org/2006/groupuinames">
+
+<!ELEMENT groupuinames:template-group>
+<!ATTLIST groupuinames:template-group
+ groupuinames:name CDATA #REQUIRED
+ groupuinames:default-ui-name CDATA #REQUIRED
+>
+
diff --git a/test/user-template/user/dtd/officedocument/1_0/image.dtd b/test/user-template/user/dtd/officedocument/1_0/image.dtd
new file mode 100644
index 000000000000..e79fdbbb42db
--- /dev/null
+++ b/test/user-template/user/dtd/officedocument/1_0/image.dtd
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ Copyright 2000, 2010 Oracle and/or its affiliates.
+
+ OpenOffice.org - a multi-platform office productivity suite
+
+ This file is part of OpenOffice.org.
+
+ OpenOffice.org is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License version 3
+ only, as published by the Free Software Foundation.
+
+ OpenOffice.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License version 3 for more details
+ (a copy is included in the LICENSE file that accompanied this code).
+
+ You should have received a copy of the GNU Lesser General Public License
+ version 3 along with OpenOffice.org. If not, see
+ <http://www.openoffice.org/license.html>
+ for a copy of the LGPLv3 License.
+
+-->
+
+<!ENTITY % url "CDATA">
+
+<!-- URI reference -->
+<!ENTITY % uriReference "CDATA">
+
+<!-- a color value having the format #rrggbb -->
+<!ENTITY % color "CDATA">
+
+<!-- determine the mask mode of the image bitmap -->
+<!ENTITY % maskMode "(maskcolor|maskbitmap)">
+
+<!ELEMENT image:entry EMPTY>
+<!ATTLIST image:entry
+ image:command %url; #REQUIRED
+ image:bitmap-index CDATA #REQUIRED
+>
+
+<!ELEMENT image:externalentry EMPTY>
+<!ATTLIST image:externalentry
+ image:command %url; #REQUIRED
+ xlink:href %uriReference; #REQUIRED
+ xlink:type CDATA #FIXED "simple"
+>
+
+<!ELEMENT image:externalimages (image:externalentry*)>
+<!ELEMENT image:images (image:entry*)>
+<!ATTLIST image:images
+ xlink:href %uriReference; #REQUIRED
+ xlink:type CDATA #FIXED "simple"
+ image:maskmode %maskMode; "maskcolor"
+ image:maskcolor %color; "#000000"
+ image:maskurl %url; #IMPLIED
+>
+
+<!ELEMENT image:imagescontainer (image:images*, image:externalimages?)>
+<!ATTLIST image:imagescontainer
+ xmlns:image CDATA #FIXED "http://openoffice.org/2001/image"
+ xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
+>
diff --git a/test/user-template/user/dtd/officedocument/1_0/libraries.dtd b/test/user-template/user/dtd/officedocument/1_0/libraries.dtd
new file mode 100644
index 000000000000..383f37e21315
--- /dev/null
+++ b/test/user-template/user/dtd/officedocument/1_0/libraries.dtd
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ Copyright 2000, 2010 Oracle and/or its affiliates.
+
+ OpenOffice.org - a multi-platform office productivity suite
+
+ This file is part of OpenOffice.org.
+
+ OpenOffice.org is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License version 3
+ only, as published by the Free Software Foundation.
+
+ OpenOffice.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License version 3 for more details
+ (a copy is included in the LICENSE file that accompanied this code).
+
+ You should have received a copy of the GNU Lesser General Public License
+ version 3 along with OpenOffice.org. If not, see
+ <http://www.openoffice.org/license.html>
+ for a copy of the LGPLv3 License.
+
+-->
+
+<!ENTITY % boolean "(true|false)">
+
+<!ELEMENT library:libraries (library:library)*>
+<!ATTLIST library:libraries
+ xmlns:library CDATA #FIXED "http://openoffice.org/2000/library"
+ xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
+>
+
+<!ELEMENT library:library EMPTY>
+<!ATTLIST library:library
+ library:name CDATA #REQUIRED
+ xlink:href CDATA #IMPLIED
+ xlink:type CDATA #IMPLIED
+ library:link %boolean; #REQUIRED
+ library:readonly %boolean; #IMPLIED
+>
+
diff --git a/test/user-template/user/dtd/officedocument/1_0/library.dtd b/test/user-template/user/dtd/officedocument/1_0/library.dtd
new file mode 100644
index 000000000000..80f687b9bfc2
--- /dev/null
+++ b/test/user-template/user/dtd/officedocument/1_0/library.dtd
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ Copyright 2000, 2010 Oracle and/or its affiliates.
+
+ OpenOffice.org - a multi-platform office productivity suite
+
+ This file is part of OpenOffice.org.
+
+ OpenOffice.org is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License version 3
+ only, as published by the Free Software Foundation.
+
+ OpenOffice.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License version 3 for more details
+ (a copy is included in the LICENSE file that accompanied this code).
+
+ You should have received a copy of the GNU Lesser General Public License
+ version 3 along with OpenOffice.org. If not, see
+ <http://www.openoffice.org/license.html>
+ for a copy of the LGPLv3 License.
+
+-->
+
+<!ENTITY % boolean "(true|false)">
+
+<!ELEMENT library:library (library:element)*>
+<!ATTLIST library:library
+ xmlns:library CDATA #FIXED "http://openoffice.org/2000/library"
+ library:name CDATA #REQUIRED
+ library:readonly %boolean; #REQUIRED
+ library:passwordprotected %boolean; #REQUIRED
+ library:preload %boolean; #IMPLIED
+>
+
+<!ELEMENT library:element EMPTY>
+<!ATTLIST library:element
+ library:name CDATA #REQUIRED
+>
+
diff --git a/test/user-template/user/dtd/officedocument/1_0/menubar.dtd b/test/user-template/user/dtd/officedocument/1_0/menubar.dtd
new file mode 100644
index 000000000000..df118322742c
--- /dev/null
+++ b/test/user-template/user/dtd/officedocument/1_0/menubar.dtd
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ Copyright 2000, 2010 Oracle and/or its affiliates.
+
+ OpenOffice.org - a multi-platform office productivity suite
+
+ This file is part of OpenOffice.org.
+
+ OpenOffice.org is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License version 3
+ only, as published by the Free Software Foundation.
+
+ OpenOffice.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License version 3 for more details
+ (a copy is included in the LICENSE file that accompanied this code).
+
+ You should have received a copy of the GNU Lesser General Public License
+ version 3 along with OpenOffice.org. If not, see
+ <http://www.openoffice.org/license.html>
+ for a copy of the LGPLv3 License.
+
+-->
+
+<!ELEMENT menu:menubar (menu:menu+)>
+<!ELEMENT menu:menu (menu:menupopup)>
+<!ELEMENT menu:menupopup (menu:menuitem | menu:menuseparator | menu:menu)+>
+<!ELEMENT menu:menuseparator EMPTY>
+<!ELEMENT menu:menuitem EMPTY>
+<!ATTLIST menu:menubar
+ menu:id CDATA #REQUIRED
+ xmlns:menu CDATA #FIXED "http://openoffice.org/2001/menu"
+>
+<!ATTLIST menu:menu
+ menu:id CDATA #REQUIRED
+ menu:label CDATA #IMPLIED
+>
+<!ATTLIST menu:menuitem
+ menu:id CDATA #REQUIRED
+ menu:helpid CDATA #IMPLIED
+ menu:label CDATA #IMPLIED
+>
diff --git a/test/user-template/user/dtd/officedocument/1_0/meta.mod b/test/user-template/user/dtd/officedocument/1_0/meta.mod
new file mode 100644
index 000000000000..1ea845bcb02d
--- /dev/null
+++ b/test/user-template/user/dtd/officedocument/1_0/meta.mod
@@ -0,0 +1,90 @@
+<!--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ Copyright 2000, 2010 Oracle and/or its affiliates.
+
+ OpenOffice.org - a multi-platform office productivity suite
+
+ This file is part of OpenOffice.org.
+
+ OpenOffice.org is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License version 3
+ only, as published by the Free Software Foundation.
+
+ OpenOffice.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License version 3 for more details
+ (a copy is included in the LICENSE file that accompanied this code).
+
+ You should have received a copy of the GNU Lesser General Public License
+ version 3 along with OpenOffice.org. If not, see
+ <http://www.openoffice.org/license.html>
+ for a copy of the LGPLv3 License.
+
+-->
+
+
+<!ELEMENT meta:generator (%cString;)>
+
+<!ELEMENT dc:title (%cString;)>
+
+<!ELEMENT dc:description (%cString;)>
+
+<!ELEMENT dc:subject (%cString;)>
+
+<!ELEMENT meta:keywords (meta:keyword)*>
+<!ELEMENT meta:keyword (%cString;)>
+
+<!ELEMENT meta:initial-creator (%cString;)>
+
+<!ELEMENT dc:creator (%cString;)>
+
+<!ELEMENT meta:printed-by (%cString;)>
+
+<!ELEMENT meta:creation-date (%cTimeInstance;)>
+
+<!ELEMENT dc:date (%cTimeInstance;)>
+
+<!ELEMENT meta:print-date (%cTimeInstance;)>
+
+<!ELEMENT meta:template EMPTY>
+<!ATTLIST meta:template xlink:type (simple) #FIXED "simple">
+<!ATTLIST meta:template xlink:actuate (onRequest) "onRequest">
+<!ATTLIST meta:template xlink:href %uriReference; #REQUIRED>
+<!ATTLIST meta:template xlink:title %string; #IMPLIED>
+<!ATTLIST meta:template meta:date %timeInstance; #IMPLIED>
+
+<!ELEMENT meta:auto-reload EMPTY>
+<!ATTLIST meta:auto-reload xlink:type (simple) #IMPLIED>
+<!ATTLIST meta:auto-reload xlink:show (replace) #IMPLIED>
+<!ATTLIST meta:auto-reload xlink:actuate (onLoad) #IMPLIED>
+<!ATTLIST meta:auto-reload xlink:href %uriReference; #IMPLIED>
+<!ATTLIST meta:auto-reload meta:delay %timeDuration; "P0S">
+
+<!ELEMENT meta:hyperlink-behaviour EMPTY>
+<!ATTLIST meta:hyperlink-behaviour office:target-frame-name %targetFrameName; #IMPLIED>
+<!ATTLIST meta:hyperlink-behaviour xlink:show (new|replace) #IMPLIED>
+
+<!ELEMENT dc:language (%cLanguage;)>
+
+<!ELEMENT meta:editing-cycles (%cPositiveInteger;)>
+
+<!ELEMENT meta:editing-duration (%cTimeDuration;)>
+
+<!ELEMENT meta:user-defined (%cString;)>
+<!ATTLIST meta:user-defined meta:name %string; #REQUIRED>
+
+<!ELEMENT meta:document-statistic EMPTY>
+<!ATTLIST meta:document-statistic meta:page-count %positiveInteger; #IMPLIED
+ meta:table-count %nonNegativeInteger; #IMPLIED
+ meta:draw-count %nonNegativeInteger; #IMPLIED
+ meta:image-count %nonNegativeInteger; #IMPLIED
+ meta:ole-object-count %nonNegativeInteger; #IMPLIED
+ meta:paragraph-count %nonNegativeInteger; #IMPLIED
+ meta:word-count %nonNegativeInteger; #IMPLIED
+ meta:character-count %nonNegativeInteger; #IMPLIED
+ meta:row-count %nonNegativeInteger; #IMPLIED
+ meta:cell-count %nonNegativeInteger; #IMPLIED
+ meta:object-count %positiveInteger; #IMPLIED>
diff --git a/test/user-template/user/dtd/officedocument/1_0/module.dtd b/test/user-template/user/dtd/officedocument/1_0/module.dtd
new file mode 100644
index 000000000000..e0e7c843d46d
--- /dev/null
+++ b/test/user-template/user/dtd/officedocument/1_0/module.dtd
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ Copyright 2000, 2010 Oracle and/or its affiliates.
+
+ OpenOffice.org - a multi-platform office productivity suite
+
+ This file is part of OpenOffice.org.
+
+ OpenOffice.org is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License version 3
+ only, as published by the Free Software Foundation.
+
+ OpenOffice.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License version 3 for more details
+ (a copy is included in the LICENSE file that accompanied this code).
+
+ You should have received a copy of the GNU Lesser General Public License
+ version 3 along with OpenOffice.org. If not, see
+ <http://www.openoffice.org/license.html>
+ for a copy of the LGPLv3 License.
+
+-->
+
+<!ELEMENT script:module (#PCDATA)>
+<!ATTLIST script:module
+ xmlns:script CDATA #FIXED "http://openoffice.org/2000/script"
+ script:name CDATA #REQUIRED
+ script:language CDATA #REQUIRED
+>
+
diff --git a/test/user-template/user/dtd/officedocument/1_0/nmspace.mod b/test/user-template/user/dtd/officedocument/1_0/nmspace.mod
new file mode 100644
index 000000000000..addcdc59224f
--- /dev/null
+++ b/test/user-template/user/dtd/officedocument/1_0/nmspace.mod
@@ -0,0 +1,53 @@
+<!--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ Copyright 2000, 2010 Oracle and/or its affiliates.
+
+ OpenOffice.org - a multi-platform office productivity suite
+
+ This file is part of OpenOffice.org.
+
+ OpenOffice.org is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License version 3
+ only, as published by the Free Software Foundation.
+
+ OpenOffice.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License version 3 for more details
+ (a copy is included in the LICENSE file that accompanied this code).
+
+ You should have received a copy of the GNU Lesser General Public License
+ version 3 along with OpenOffice.org. If not, see
+ <http://www.openoffice.org/license.html>
+ for a copy of the LGPLv3 License.
+
+-->
+
+<!ENTITY nFO "http://www.w3.org/1999/XSL/Format">
+<!ENTITY nXLink "http://www.w3.org/1999/xlink">
+<!ENTITY nSVG "http://www.w3.org/2000/svg">
+<!ENTITY nMath "http://www.w3.org/1998/Math/MathML">
+
+<!-- StarOffice namespace names and prefixes -->
+
+<!ENTITY nOpenOffice "http://openoffice.org/2000">
+<!ENTITY nOpenOffice2001 "http://openoffice.org/2001">
+
+<!ENTITY nOffice "&nOpenOffice;/office">
+<!ENTITY nStyle "&nOpenOffice;/style">
+<!ENTITY nText "&nOpenOffice;/text">
+<!ENTITY nTable "&nOpenOffice;/table">
+<!ENTITY nMeta "&nOpenOffice;/meta">
+<!ENTITY nScript "&nOpenOffice;/script">
+<!ENTITY nDraw "&nOpenOffice;/drawing">
+<!ENTITY nChart "&nOpenOffice;/chart">
+<!ENTITY nNumber "&nOpenOffice;/datastyle">
+<!ENTITY nDr3D "&nOpenOffice;/dr3d">
+<!ENTITY nForm "&nOpenOffice;/form">
+<!ENTITY nConfig "&nOpenOffice2001;/config">
+<!ENTITY nPresentation "&nOpenOffice2001;/presentation">
+
+<!-- dublin core namespace name and prefic -->
+<!ENTITY nDC "http://purl.org/dc/elements/1.1/">
diff --git a/test/user-template/user/dtd/officedocument/1_0/office.dtd b/test/user-template/user/dtd/officedocument/1_0/office.dtd
new file mode 100644
index 000000000000..c66bc8d2ad4b
--- /dev/null
+++ b/test/user-template/user/dtd/officedocument/1_0/office.dtd
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ Copyright 2000, 2010 Oracle and/or its affiliates.
+
+ OpenOffice.org - a multi-platform office productivity suite
+
+ This file is part of OpenOffice.org.
+
+ OpenOffice.org is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License version 3
+ only, as published by the Free Software Foundation.
+
+ OpenOffice.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License version 3 for more details
+ (a copy is included in the LICENSE file that accompanied this code).
+
+ You should have received a copy of the GNU Lesser General Public License
+ version 3 along with OpenOffice.org. If not, see
+ <http://www.openoffice.org/license.html>
+ for a copy of the LGPLv3 License.
+
+-->
+
+<!ENTITY % dtypes-mod SYSTEM "dtypes.mod">
+%dtypes-mod;
+<!ENTITY % nmspace-mod SYSTEM "nmspace.mod">
+%nmspace-mod;
+<!ENTITY % defs-mod SYSTEM "defs.mod">
+%defs-mod;
+<!ENTITY % office-mod SYSTEM "office.mod">
+%office-mod;
+<!ENTITY % style-mod SYSTEM "style.mod">
+%style-mod;
+<!ENTITY % meta-mod SYSTEM "meta.mod">
+%meta-mod;
+<!ENTITY % script-mod SYSTEM "script.mod">
+%script-mod;
+<!ENTITY % drawing-mod SYSTEM "drawing.mod">
+%drawing-mod;
+<!ENTITY % text-mod SYSTEM "text.mod">
+%text-mod;
+<!ENTITY % table-mod SYSTEM "table.mod">
+%table-mod;
+<!ENTITY % chart-mod SYSTEM "chart.mod">
+%chart-mod;
+<!ENTITY % datastyl-mod SYSTEM "datastyl.mod">
+%datastyl-mod;
+<!ENTITY % form-mod SYSTEM "form.mod">
+%form-mod;
+<!ENTITY % settings-mod SYSTEM "settings.mod">
+%settings-mod;
diff --git a/test/user-template/user/dtd/officedocument/1_0/office.mod b/test/user-template/user/dtd/officedocument/1_0/office.mod
new file mode 100644
index 000000000000..a7d50df0cf06
--- /dev/null
+++ b/test/user-template/user/dtd/officedocument/1_0/office.mod
@@ -0,0 +1,245 @@
+<!--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ Copyright 2000, 2010 Oracle and/or its affiliates.
+
+ OpenOffice.org - a multi-platform office productivity suite
+
+ This file is part of OpenOffice.org.
+
+ OpenOffice.org is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License version 3
+ only, as published by the Free Software Foundation.
+
+ OpenOffice.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License version 3 for more details
+ (a copy is included in the LICENSE file that accompanied this code).
+
+ You should have received a copy of the GNU Lesser General Public License
+ version 3 along with OpenOffice.org. If not, see
+ <http://www.openoffice.org/license.html>
+ for a copy of the LGPLv3 License.
+
+-->
+
+<!ELEMENT office:document ( office:meta?,
+ office:settings?,
+ office:script?,
+ office:font-decls?,
+ office:styles?,
+ office:automatic-styles?,
+ office:master-styles?,
+ office:body ) >
+
+<!ATTLIST office:document xmlns:office CDATA #FIXED "&nOffice;">
+<!ATTLIST office:document xmlns:meta CDATA #FIXED "&nMeta;">
+<!ATTLIST office:document xmlns:script CDATA #FIXED "&nScript;">
+<!ATTLIST office:document xmlns:style CDATA #FIXED "&nStyle;">
+<!ATTLIST office:document xmlns:text CDATA #FIXED "&nText;">
+<!ATTLIST office:document xmlns:table CDATA #FIXED "&nTable;">
+<!ATTLIST office:document xmlns:draw CDATA #FIXED "&nDraw;">
+<!ATTLIST office:document xmlns:chart CDATA #FIXED "&nChart;">
+<!ATTLIST office:document xmlns:number CDATA #FIXED "&nNumber;">
+<!ATTLIST office:document xmlns:fo CDATA #FIXED "&nFO;">
+<!ATTLIST office:document xmlns:xlink CDATA #FIXED "&nXLink;">
+<!ATTLIST office:document xmlns:svg CDATA #FIXED "&nSVG;">
+<!ATTLIST office:document xmlns:dc CDATA #FIXED "&nDC;">
+<!ATTLIST office:document xmlns:dr3d CDATA #FIXED "&nDr3D;">
+<!ATTLIST office:document xmlns:math CDATA #FIXED "&nMath;">
+<!ATTLIST office:document xmlns:form CDATA #FIXED "&nForm;">
+<!ATTLIST office:document xmlns:config CDATA #FIXED "&nConfig;">
+<!ATTLIST office:document xmlns:presentation CDATA #FIXED "&nPresentation;">
+
+<!ATTLIST office:document office:class
+ (text|text-global|
+ drawing|presentation|
+ spreadsheet|chart) #REQUIRED>
+
+<!ATTLIST office:document office:version %string; #IMPLIED>
+
+<!-- document-styles -->
+<!ELEMENT office:document-styles (
+ office:font-decls?,
+ office:styles?,
+ office:automatic-styles?,
+ office:master-styles? ) >
+
+<!ATTLIST office:document-styles xmlns:office CDATA #FIXED "&nOffice;">
+<!ATTLIST office:document-styles xmlns:meta CDATA #FIXED "&nMeta;">
+<!ATTLIST office:document-styles xmlns:script CDATA #FIXED "&nScript;">
+<!ATTLIST office:document-styles xmlns:style CDATA #FIXED "&nStyle;">
+<!ATTLIST office:document-styles xmlns:text CDATA #FIXED "&nText;">
+<!ATTLIST office:document-styles xmlns:table CDATA #FIXED "&nTable;">
+<!ATTLIST office:document-styles xmlns:draw CDATA #FIXED "&nDraw;">
+<!ATTLIST office:document-styles xmlns:chart CDATA #FIXED "&nChart;">
+<!ATTLIST office:document-styles xmlns:number CDATA #FIXED "&nNumber;">
+<!ATTLIST office:document-styles xmlns:fo CDATA #FIXED "&nFO;">
+<!ATTLIST office:document-styles xmlns:xlink CDATA #FIXED "&nXLink;">
+<!ATTLIST office:document-styles xmlns:svg CDATA #FIXED "&nSVG;">
+<!ATTLIST office:document-styles xmlns:dc CDATA #FIXED "&nDC;">
+<!ATTLIST office:document-styles xmlns:dr3d CDATA #FIXED "&nDr3D;">
+<!ATTLIST office:document-styles xmlns:math CDATA #FIXED "&nMath;">
+<!ATTLIST office:document-styles xmlns:form CDATA #FIXED "&nForm;">
+
+<!ATTLIST office:document-styles office:version %string; #IMPLIED>
+
+<!-- document-content -->
+
+<!ELEMENT office:document-content (
+ office:script?,
+ office:font-decls?,
+ office:automatic-styles?,
+ office:body ) >
+
+<!ATTLIST office:document-content xmlns:office CDATA #FIXED "&nOffice;">
+<!ATTLIST office:document-content xmlns:meta CDATA #FIXED "&nMeta;">
+<!ATTLIST office:document-content xmlns:script CDATA #FIXED "&nScript;">
+<!ATTLIST office:document-content xmlns:style CDATA #FIXED "&nStyle;">
+<!ATTLIST office:document-content xmlns:text CDATA #FIXED "&nText;">
+<!ATTLIST office:document-content xmlns:table CDATA #FIXED "&nTable;">
+<!ATTLIST office:document-content xmlns:draw CDATA #FIXED "&nDraw;">
+<!ATTLIST office:document-content xmlns:chart CDATA #FIXED "&nChart;">
+<!ATTLIST office:document-content xmlns:number CDATA #FIXED "&nNumber;">
+<!ATTLIST office:document-content xmlns:fo CDATA #FIXED "&nFO;">
+<!ATTLIST office:document-content xmlns:xlink CDATA #FIXED "&nXLink;">
+<!ATTLIST office:document-content xmlns:svg CDATA #FIXED "&nSVG;">
+<!ATTLIST office:document-content xmlns:dc CDATA #FIXED "&nDC;">
+<!ATTLIST office:document-content xmlns:dr3d CDATA #FIXED "&nDr3D;">
+<!ATTLIST office:document-content xmlns:math CDATA #FIXED "&nMath;">
+<!ATTLIST office:document-content xmlns:form CDATA #FIXED "&nForm;">
+
+<!ATTLIST office:document-content office:class
+ (text|text-global|
+ drawing|presentation|
+ spreadsheet|chart) #REQUIRED>
+
+<!ATTLIST office:document-content office:version %string; #IMPLIED>
+
+<!-- document-content -->
+
+<!ELEMENT office:document-meta ( office:meta? ) >
+
+<!ATTLIST office:document-meta xmlns:office CDATA #FIXED "&nOffice;">
+<!ATTLIST office:document-meta xmlns:meta CDATA #FIXED "&nMeta;">
+<!ATTLIST office:document-meta xmlns:script CDATA #FIXED "&nScript;">
+<!ATTLIST office:document-meta xmlns:style CDATA #FIXED "&nStyle;">
+<!ATTLIST office:document-meta xmlns:text CDATA #FIXED "&nText;">
+<!ATTLIST office:document-meta xmlns:table CDATA #FIXED "&nTable;">
+<!ATTLIST office:document-meta xmlns:draw CDATA #FIXED "&nDraw;">
+<!ATTLIST office:document-meta xmlns:chart CDATA #FIXED "&nChart;">
+<!ATTLIST office:document-meta xmlns:number CDATA #FIXED "&nNumber;">
+<!ATTLIST office:document-meta xmlns:fo CDATA #FIXED "&nFO;">
+<!ATTLIST office:document-meta xmlns:xlink CDATA #FIXED "&nXLink;">
+<!ATTLIST office:document-meta xmlns:svg CDATA #FIXED "&nSVG;">
+<!ATTLIST office:document-meta xmlns:dc CDATA #FIXED "&nDC;">
+<!ATTLIST office:document-meta xmlns:dr3d CDATA #FIXED "&nDr3D;">
+<!ATTLIST office:document-meta xmlns:math CDATA #FIXED "&nMath;">
+<!ATTLIST office:document-meta xmlns:form CDATA #FIXED "&nForm;">
+
+<!ATTLIST office:document-meta office:version %string; #IMPLIED>
+
+<!ELEMENT office:document-settings (office:settings) >
+<!ATTLIST office:document-settings xmlns:office CDATA #FIXED "&nOffice;">
+<!ATTLIST office:document-settings xmlns:xlink CDATA #FIXED "&nXLink;">
+<!ATTLIST office:document-settings xmlns:config CDATA #FIXED "&nConfig;">
+
+<!ATTLIST office:document-settings office:version %string; #IMPLIED>
+
+<!ENTITY % meta "(meta:generator?,
+ dc:title?,
+ dc:description?,
+ dc:subject?,
+ meta:initial-creator?,
+ meta:creation-date?,
+ dc:creator?,
+ dc:date?,
+ meta:printed-by?,
+ meta:print-date?,
+ meta:keywords?,
+ dc:language?,
+ meta:editing-cycles?,
+ meta:editing-duration?,
+ meta:hyperlink-behaviour?,
+ meta:auto-reload?,
+ meta:template?,
+ meta:user-defined*,
+ meta:document-statistic?)">
+<!ELEMENT office:meta %meta;>
+
+<!ENTITY % script "office:script-data*,office:events?">
+<!ELEMENT office:script (%script;)>
+
+<!ELEMENT office:script-data (script:libraries*)>
+<!ATTLIST office:script-data script:language %string; #REQUIRED>
+
+<!ELEMENT office:font-decls (style:font-decl)*>
+
+<!ENTITY % styles "(style:default-style|style:style|text:list-style|
+ number:number-style|number:currency-style|number:percentage-style|
+ number:date-style|number:time-style|number:boolean-style|
+ number:text-style|
+ draw:gradient|draw:hatch|draw:fill-image|draw:marker|draw:stroke-dash|
+ style:presentation-page-layout|draw:transparency)">
+
+<!-- Validity constraint: The elements
+ text:outline-style,
+ text:footnotes-configuration,
+ text:endnotes-configuration,
+ text:bibliography-configuration and
+ text:linenumbering-configuration
+ may appear only once!
+ Unfortunatetly, this constraint cannot be easily specified in the DTD.
+-->
+<!ELEMENT office:styles (%styles;|text:outline-style|
+ text:footnotes-configuration|text:endnotes-configuration|
+ text:bibliography-configuration|text:linenumbering-configuration)*>
+
+<!ELEMENT office:automatic-styles (%styles;|style:page-master)*>
+
+<!ELEMENT office:master-styles (draw:layer-set?,style:handout-master?,style:master-page*) >
+
+
+<!ENTITY % body "(office:forms?,(text:tracked-changes|table:tracked-changes)?,%text-decls;,table:calculation-settings?,table:content-validations?,table:label-ranges?,
+ (text:h|text:p|text:ordered-list|
+ text:unordered-list|table:table|draw:page|
+ draw:a|%shape;|text:section|text:table-of-content|
+ text:illustration-index|text:table-index|text:object-index|
+ text:user-index|text:alphabetical-index|text:bibliography|
+ %change-marks;)*,
+ table:named-expressions?,
+ table:database-ranges?,table:data-pilot-tables?,
+ table:consolidation?,
+ table:dde-links?,
+ presentation:settings?)">
+<!ELEMENT office:body %body;>
+<!ATTLIST office:body table:structure-protected %boolean; "false"
+ table:protection-key CDATA #IMPLIED>
+
+<!ELEMENT office:events (script:event|presentation:event)*>
+
+<!-- DDE source: for text sections and tables -->
+<!ELEMENT office:dde-source EMPTY>
+<!ATTLIST office:dde-source office:dde-application CDATA #IMPLIED>
+<!ATTLIST office:dde-source office:dde-topic CDATA #IMPLIED>
+<!ATTLIST office:dde-source office:dde-item CDATA #IMPLIED>
+<!ATTLIST office:dde-source office:automatic-update %boolean; "false">
+<!ATTLIST office:dde-source office:name CDATA #IMPLIED>
+<!ATTLIST office:dde-source table:conversion-mode (into-default-style-data-style|into-english-number|let-text) "into-default-style-data-style" >
+
+<!-- annotations -->
+<!-- limitation: in the current implementation, only plain text inside of
+ paragraphs is supported -->
+<!ELEMENT office:annotation (text:p)*>
+<!ATTLIST office:annotation office:author %string; #IMPLIED>
+<!ATTLIST office:annotation office:create-date %date; #IMPLIED>
+<!ATTLIST office:annotation office:create-date-string %string; #IMPLIED>
+<!ATTLIST office:annotation office:display %boolean; "false">
+
+<!ELEMENT office:change-info (text:p)*>
+<!ATTLIST office:change-info office:chg-author %string; #REQUIRED>
+<!ATTLIST office:change-info office:chg-date-time %timeInstance; #REQUIRED>
+
+<!ELEMENT office:binary-data (#PCDATA)>
diff --git a/test/user-template/user/dtd/officedocument/1_0/script.mod b/test/user-template/user/dtd/officedocument/1_0/script.mod
new file mode 100644
index 000000000000..5e255ac6df4d
--- /dev/null
+++ b/test/user-template/user/dtd/officedocument/1_0/script.mod
@@ -0,0 +1,59 @@
+<!--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ Copyright 2000, 2010 Oracle and/or its affiliates.
+
+ OpenOffice.org - a multi-platform office productivity suite
+
+ This file is part of OpenOffice.org.
+
+ OpenOffice.org is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License version 3
+ only, as published by the Free Software Foundation.
+
+ OpenOffice.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License version 3 for more details
+ (a copy is included in the LICENSE file that accompanied this code).
+
+ You should have received a copy of the GNU Lesser General Public License
+ version 3 along with OpenOffice.org. If not, see
+ <http://www.openoffice.org/license.html>
+ for a copy of the LGPLv3 License.
+
+-->
+
+<!ELEMENT script:libraries (script:library-embedded | script:library-linked)*>
+<!ATTLIST script:libraries xmlns:script CDATA #FIXED "http://openoffice.org/2000/script">
+<!ATTLIST script:libraries xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink">
+
+<!ENTITY % boolean "(true|false)">
+
+<!ELEMENT script:library-embedded (script:module*)>
+<!ATTLIST script:library-embedded script:name %string; #REQUIRED>
+<!ATTLIST script:library-embedded script:readonly %boolean; #IMPLIED>
+
+<!ELEMENT script:library-linked EMPTY>
+<!ATTLIST script:library-linked script:name %string; #REQUIRED>
+<!ATTLIST script:library-linked xlink:href %string; #REQUIRED>
+<!ATTLIST script:library-linked xlink:type (simple) #FIXED "simple">
+<!ATTLIST script:library-linked script:readonly %boolean; #IMPLIED>
+
+<!ELEMENT script:module (script:source-code)>
+<!ATTLIST script:module script:name %string; #REQUIRED>
+
+<!ELEMENT script:source-code (#PCDATA)>
+
+
+<!ENTITY % script-language "script:language %string; #REQUIRED">
+<!ENTITY % event-name "script:event-name %string; #REQUIRED">
+<!ENTITY % location "script:location (document|application) #REQUIRED">
+<!ENTITY % macro-name "script:macro-name %string; #REQUIRED">
+
+<!ELEMENT script:event (#PCDATA)>
+<!ATTLIST script:event %script-language;
+ %event-name;
+ %location;
+ %macro-name;>
diff --git a/test/user-template/user/dtd/officedocument/1_0/settings.mod b/test/user-template/user/dtd/officedocument/1_0/settings.mod
new file mode 100644
index 000000000000..bb9224237fa8
--- /dev/null
+++ b/test/user-template/user/dtd/officedocument/1_0/settings.mod
@@ -0,0 +1,49 @@
+<!--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ Copyright 2000, 2010 Oracle and/or its affiliates.
+
+ OpenOffice.org - a multi-platform office productivity suite
+
+ This file is part of OpenOffice.org.
+
+ OpenOffice.org is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License version 3
+ only, as published by the Free Software Foundation.
+
+ OpenOffice.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License version 3 for more details
+ (a copy is included in the LICENSE file that accompanied this code).
+
+ You should have received a copy of the GNU Lesser General Public License
+ version 3 along with OpenOffice.org. If not, see
+ <http://www.openoffice.org/license.html>
+ for a copy of the LGPLv3 License.
+
+-->
+
+<!ELEMENT office:settings (config:config-item-set+)>
+
+<!ENTITY % items "(config:config-item |
+ config:config-item-set |
+ config:config-item-map-named |
+ config:config-item-map-indexed)+">
+
+<!ELEMENT config:config-item-set %items;>
+<!ATTLIST config:config-item-set config:name CDATA #REQUIRED>
+
+<!ELEMENT config:config-item (#PCDATA)>
+<!ATTLIST config:config-item config:name CDATA #REQUIRED
+ config:type (boolean | short | int | long | double | string | datetime | base64Binary) #REQUIRED>
+
+<!ELEMENT config:config-item-map-named (config:config-item-map-entry)+>
+<!ATTLIST config:config-item-map-named config:name CDATA #REQUIRED>
+
+<!ELEMENT config:config-item-map-indexed (config:config-item-map-entry)+>
+<!ATTLIST config:config-item-map-indexed config:name CDATA #REQUIRED>
+
+<!ELEMENT config:config-item-map-entry %items;>
+<!ATTLIST config:config-item-map-entry config:name CDATA #IMPLIED>
diff --git a/test/user-template/user/dtd/officedocument/1_0/statusbar.dtd b/test/user-template/user/dtd/officedocument/1_0/statusbar.dtd
new file mode 100644
index 000000000000..3b380317b65e
--- /dev/null
+++ b/test/user-template/user/dtd/officedocument/1_0/statusbar.dtd
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ Copyright 2000, 2010 Oracle and/or its affiliates.
+
+ OpenOffice.org - a multi-platform office productivity suite
+
+ This file is part of OpenOffice.org.
+
+ OpenOffice.org is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License version 3
+ only, as published by the Free Software Foundation.
+
+ OpenOffice.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License version 3 for more details
+ (a copy is included in the LICENSE file that accompanied this code).
+
+ You should have received a copy of the GNU Lesser General Public License
+ version 3 along with OpenOffice.org. If not, see
+ <http://www.openoffice.org/license.html>
+ for a copy of the LGPLv3 License.
+
+-->
+
+<!ENTITY % boolean "(true|false)">
+<!ENTITY % numeric "CDATA">
+<!ENTITY % alignment "(left|center|right)">
+<!ENTITY % style "(in|out|flat)">
+
+<!ELEMENT statusbar:statusbar (statusbar:statusbaritem*)>
+<!ATTLIST statusbar:statusbar
+ xmlns:statusbar CDATA #FIXED "http://openoffice.org/2001/statusbar"
+ xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
+>
+<!ELEMENT statusbar:statusbaritem EMPTY>
+<!ATTLIST statusbar:statusbaritem
+ xlink:href CDATA #REQUIRED
+ statusbar:align %alignment; "center"
+ statusbar:style %style; "in"
+ statusbar:autosize %boolean; "false"
+ statusbar:ownerdraw %boolean; "false"
+ statusbar:width %numeric; "0"
+ statusbar:offset %numeric; "5"
+>
diff --git a/test/user-template/user/dtd/officedocument/1_0/style.mod b/test/user-template/user/dtd/officedocument/1_0/style.mod
new file mode 100644
index 000000000000..fef8f73630ef
--- /dev/null
+++ b/test/user-template/user/dtd/officedocument/1_0/style.mod
@@ -0,0 +1,427 @@
+<!--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ Copyright 2000, 2010 Oracle and/or its affiliates.
+
+ OpenOffice.org - a multi-platform office productivity suite
+
+ This file is part of OpenOffice.org.
+
+ OpenOffice.org is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License version 3
+ only, as published by the Free Software Foundation.
+
+ OpenOffice.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License version 3 for more details
+ (a copy is included in the LICENSE file that accompanied this code).
+
+ You should have received a copy of the GNU Lesser General Public License
+ version 3 along with OpenOffice.org. If not, see
+ <http://www.openoffice.org/license.html>
+ for a copy of the LGPLv3 License.
+
+-->
+
+<!ELEMENT style:font-decl EMPTY>
+<!ATTLIST style:font-decl style:name %string; #REQUIRED>
+<!ATTLIST style:font-decl fo:font-family %string; #REQUIRED>
+<!ATTLIST style:font-decl style:font-style-name %string; #IMPLIED>
+<!ENTITY % fontFamilyGeneric "(roman|swiss|modern|decorative|script|system)">
+<!ATTLIST style:font-decl style:font-family-generic %fontFamilyGeneric;
+ #IMPLIED>
+<!ENTITY % fontPitch "(fixed|variable)">
+<!ATTLIST style:font-decl style:font-pitch %fontPitch; #IMPLIED>
+<!ATTLIST style:font-decl style:font-charset %textEncoding; #IMPLIED>
+
+<!ELEMENT style:style ( style:properties?,office:events?,style:map*)>
+
+<!ATTLIST style:style style:name %styleName; #REQUIRED>
+
+<!ENTITY % styleFamily "(paragraph|text|section|
+ table|table-column|table-row|table-cell|table-page|chart|graphics|default|drawing-page|presentation|control|ruby)">
+<!ATTLIST style:style style:family %styleFamily; #REQUIRED>
+
+<!ATTLIST style:style style:parent-style-name %styleName; #IMPLIED>
+<!ATTLIST style:style style:master-page-name %styleName; #IMPLIED>
+<!ATTLIST style:style style:next-style-name %styleName; #IMPLIED>
+<!ATTLIST style:style style:list-style-name %styleName; #IMPLIED>
+<!ATTLIST style:style style:data-style-name %styleName; #IMPLIED>
+
+<!ATTLIST style:style style:auto-update %boolean; "false">
+
+<!ATTLIST style:style style:class %string; #IMPLIED>
+
+<!ELEMENT style:default-style (style:properties?)>
+<!ATTLIST style:default-style style:family %styleFamily; #REQUIRED>
+
+<!ELEMENT style:map EMPTY>
+
+<!ATTLIST style:map style:condition %string; #REQUIRED>
+<!ATTLIST style:map style:apply-style-name %styleName; #REQUIRED>
+<!ATTLIST style:map style:base-cell-address %cell-address; #IMPLIED>
+
+<!ELEMENT style:properties ANY>
+
+<!-- number format properties -->
+<!ATTLIST style:properties style:num-prefix %string; #IMPLIED>
+<!ATTLIST style:properties style:num-suffix %string; #IMPLIED>
+<!ATTLIST style:properties style:num-format %string; #IMPLIED>
+<!ATTLIST style:properties style:num-letter-sync %boolean; #IMPLIED>
+
+<!-- frame properties -->
+<!ATTLIST style:properties fo:width %positiveLength; #IMPLIED>
+<!ATTLIST style:properties fo:height %positiveLength; #IMPLIED>
+<!ATTLIST style:properties style:vertical-pos (top|middle|bottom|from-top|below) #IMPLIED>
+<!ATTLIST style:properties style:vertical-rel (page|page-content|
+ frame|frame-content|
+ paragraph|paragraph-content|char|
+ line|baseline|text) #IMPLIED>
+<!ATTLIST style:properties style:horizontal-pos (left|center|right|from-left|inside|outside|from-inside) #IMPLIED>
+<!ATTLIST style:properties style:horizontal-rel (page|page-content|
+ page-start-margin|page-end-margin|
+ frame|frame-content|
+ frame-start-margin|frame-end-margin|
+ paragraph|paragraph-content|
+ paragraph-start-margin|paragraph-end-margin|
+ char) #IMPLIED>
+<!ATTLIST style:properties svg:width %lengthOrPercentage; #IMPLIED>
+<!ATTLIST style:properties svg:height %lengthOrPercentage; #IMPLIED>
+<!ATTLIST style:properties fo:min-height %lengthOrPercentage; #IMPLIED>
+<!ATTLIST style:properties fo:min-width %lengthOrPercentage; #IMPLIED>
+<!ATTLIST style:properties fo:max-height %lengthOrPercentage; #IMPLIED>
+<!ATTLIST style:properties fo:max-width %lengthOrPercentage; #IMPLIED>
+<!ATTLIST style:properties text:anchor-type %anchorType; #IMPLIED>
+<!ATTLIST style:properties text:anchor-page-number %positiveInteger; #IMPLIED>
+<!ATTLIST style:properties svg:x %coordinate; #IMPLIED>
+<!ATTLIST style:properties svg:y %coordinate; #IMPLIED>
+<!ATTLIST style:properties style:print-content %boolean; #IMPLIED>
+<!ATTLIST style:properties style:protect %boolean; #IMPLIED>
+<!ATTLIST style:properties style:wrap (none|left|right|parallel|dynamic|run-through) #IMPLIED>
+<!ENTITY % noLimitOrPositiveInteger "CDATA">
+<!ATTLIST style:properties style:number-wrapped-paragraphs %noLimitOrPositiveInteger; #IMPLIED>
+<!ATTLIST style:properties style:wrap-contour %boolean; #IMPLIED>
+<!ATTLIST style:properties style:wrap-contour-mode (full|outside) #IMPLIED>
+<!ATTLIST style:properties style:run-through (foreground|background) #IMPLIED>
+<!ATTLIST style:properties style:editable %boolean; #IMPLIED>
+<!ATTLIST style:properties style:mirror CDATA #IMPLIED>
+<!ATTLIST style:properties fo:clip CDATA #IMPLIED>
+<!ATTLIST style:properties text:animation (none|scroll|alternate|slide) #IMPLIED>
+<!ATTLIST style:properties text:animation-direction (left|right|up|down) #IMPLIED>
+<!ATTLIST style:properties text:animation-start-inside %boolean; #IMPLIED>
+<!ATTLIST style:properties text:animation-stop-inside %boolean; #IMPLIED>
+<!ATTLIST style:properties text:animation-repeat %integer; #IMPLIED>
+<!ATTLIST style:properties text:animation-delay %timeDuration; #IMPLIED>
+<!ATTLIST style:properties text:animation-steps %length; #IMPLIED>
+
+<!-- text properties -->
+<!ATTLIST style:properties fo:font-variant (normal|small-caps) #IMPLIED>
+<!ATTLIST style:properties fo:text-transform (none|lowercase|
+ uppercase|capitalize) #IMPLIED>
+<!ATTLIST style:properties fo:color %color; #IMPLIED>
+<!ATTLIST style:properties style:use-window-font-color %boolean; #IMPLIED>
+<!ATTLIST style:properties style:text-outline %boolean; #IMPLIED>
+<!ATTLIST style:properties style:text-crossing-out
+ (none|single-line|double-line|thick-line|slash|X)
+ #IMPLIED>
+<!ATTLIST style:properties style:text-position CDATA #IMPLIED>
+<!ATTLIST style:properties style:text-align (left|right|start|center|end|justify|justified) #IMPLIED>
+
+<!ATTLIST style:properties style:font-name %string; #IMPLIED>
+<!ATTLIST style:properties fo:font-family %string; #IMPLIED>
+<!ATTLIST style:properties style:font-family-generic %fontFamilyGeneric;
+ #IMPLIED>
+<!ATTLIST style:properties style:font-style-name %string; #IMPLIED>
+<!ATTLIST style:properties style:font-pitch %fontPitch; #IMPLIED>
+<!ATTLIST style:properties style:font-charset %textEncoding; #IMPLIED>
+<!ATTLIST style:properties style:font-name-asian %string; #IMPLIED>
+<!ATTLIST style:properties style:font-family-asian %string; #IMPLIED>
+<!ATTLIST style:properties style:font-family-generic-asian %fontFamilyGeneric;
+ #IMPLIED>
+<!ATTLIST style:properties style:font-style-name-asian %string; #IMPLIED>
+<!ATTLIST style:properties style:font-pitch-asian %fontPitch; #IMPLIED>
+<!ATTLIST style:properties style:font-charset-asian %textEncoding; #IMPLIED>
+<!ATTLIST style:properties style:font-name-complex %string; #IMPLIED>
+<!ATTLIST style:properties style:font-family-complex %string; #IMPLIED>
+<!ATTLIST style:properties style:font-family-generic-complex %fontFamilyGeneric;
+ #IMPLIED>
+<!ATTLIST style:properties style:font-style-name-complex %string; #IMPLIED>
+<!ATTLIST style:properties style:font-pitch-complex %fontPitch; #IMPLIED>
+<!ATTLIST style:properties style:font-charset-complex %textEncoding; #IMPLIED>
+
+<!ATTLIST style:properties fo:font-size %positiveLengthOrPercentage; #IMPLIED>
+<!ATTLIST style:properties style:font-size-rel %length; #IMPLIED>
+<!ATTLIST style:properties style:font-size-asian %positiveLengthOrPercentage; #IMPLIED>
+<!ATTLIST style:properties style:font-size-rel-asian %length; #IMPLIED>
+<!ATTLIST style:properties style:font-size-complex %positiveLengthOrPercentage; #IMPLIED>
+<!ATTLIST style:properties style:font-size-rel-complex %length; #IMPLIED>
+<!ENTITY % normalOrLength "CDATA">
+<!ATTLIST style:properties fo:letter-spacing %normalOrLength; #IMPLIED>
+<!ATTLIST style:properties fo:language %languageOnly; #IMPLIED>
+<!ATTLIST style:properties style:language-asian %languageOnly; #IMPLIED>
+<!ATTLIST style:properties style:language-complex %languageOnly; #IMPLIED>
+<!ATTLIST style:properties fo:country %country; #IMPLIED>
+<!ATTLIST style:properties style:country-asian %country; #IMPLIED>
+<!ATTLIST style:properties style:country-complex %country; #IMPLIED>
+<!ENTITY % fontStyle "(normal|italic|oblique)">
+<!ATTLIST style:properties fo:font-style %fontStyle; #IMPLIED>
+<!ATTLIST style:properties style:font-style-asian %fontStyle; #IMPLIED>
+<!ATTLIST style:properties style:font-style-complex %fontStyle; #IMPLIED>
+<!ENTITY % fontRelief "(none|embossed|engraved)">
+<!ATTLIST style:properties style:font-relief %fontRelief; #IMPLIED>
+<!ATTLIST style:properties fo:text-shadow CDATA #IMPLIED>
+<!ATTLIST style:properties style:text-underline
+ (none|single|double|dotted|dash|long-dash|dot-dash|
+ dot-dot-dash|wave|bold|bold-dotted|bold-dash|
+ bold-long-dash|bold-dot-dash|bold-dot-dot-dash|
+ bold-wave|double-wave|small-wave) #IMPLIED>
+<!ATTLIST style:properties style:text-autospace (none | ideograph-alpha) #IMPLIED>
+<!ATTLIST style:properties style:punctuation-wrap (simple | hanging) #IMPLIED>
+<!ATTLIST style:properties style:line-break (normal | strict) #IMPLIED>
+<!ENTITY % fontColorOrColor "CDATA">
+<!ATTLIST style:properties style:text-underline-color %fontColorOrColor;
+ #IMPLIED>
+<!ATTLIST style:properties fo:font-weight CDATA #IMPLIED>
+<!ATTLIST style:properties style:font-weight-asian CDATA #IMPLIED>
+<!ATTLIST style:properties style:font-weight-complex CDATA #IMPLIED>
+<!ATTLIST style:properties fo:score-spaces %boolean; #IMPLIED>
+<!ATTLIST style:properties style:letter-kerning %boolean; #IMPLIED>
+<!ATTLIST style:properties style:text-blinking %boolean; #IMPLIED>
+<!ATTLIST style:properties style:text-background-color %transparentOrColor;
+ #IMPLIED>
+
+<!ATTLIST style:properties style:text-combine (none|letters|lines) #IMPLIED>
+<!ATTLIST style:properties style:text-combine-start-char %character; #IMPLIED>
+<!ATTLIST style:properties style:text-combine-end-char %character; #IMPLIED>
+<!ATTLIST style:properties style:text-emphasize CDATA #IMPLIED>
+<!ATTLIST style:properties style:text-scale %percentage; #IMPLIED>
+<!ATTLIST style:properties style:text-rotation-angle %integer; #IMPLIED>
+<!ATTLIST style:properties style:text-rotation-scale (fixed|line-height) #IMPLIED>
+<!ATTLIST style:properties text:display (none|true) #IMPLIED>
+
+<!-- paragraph properties -->
+<!ENTITY % nonNegativeLengthOrPercentageOrNormal "CDATA">
+<!ATTLIST style:properties fo:line-height
+ %nonNegativeLengthOrPercentageOrNormal; #IMPLIED>
+<!ATTLIST style:properties style:line-height-at-least %nonNegativeLength;
+ #IMPLIED>
+<!ATTLIST style:properties style:line-spacing %length; #IMPLIED>
+<!ATTLIST style:properties fo:text-align (start|end|center|justify) #IMPLIED>
+<!ATTLIST style:properties fo:text-align-last (start|center|justify) #IMPLIED>
+<!ATTLIST style:properties style:text-align-source (fix|value-type) #IMPLIED>
+<!ATTLIST style:properties style:justify-single-word %boolean; #IMPLIED>
+<!-- fo:keep-together is new in OOo 2.0 -->
+<!ATTLIST style:properties fo:keep-together (auto|always) #IMPLIED>
+<!ATTLIST style:properties style:break-inside (auto|avoid) #IMPLIED>
+<!ATTLIST style:properties fo:widows %nonNegativeInteger; #IMPLIED>
+<!ATTLIST style:properties fo:orphans %nonNegativeInteger; #IMPLIED>
+
+<!ATTLIST style:properties fo:hyphenate %boolean; #IMPLIED>
+<!ATTLIST style:properties fo:hyphenate-keep (none|page) #IMPLIED>
+<!ATTLIST style:properties fo:hyphenation-remain-char-count %positiveInteger;
+ #IMPLIED>
+<!ATTLIST style:properties fo:hyphenation-push-char-count %positiveInteger;
+ #IMPLIED>
+<!ATTLIST style:properties fo:hyphenation-ladder-count
+ %noLimitOrPositiveInteger; #IMPLIED>
+<!ATTLIST style:properties style:page-number %positiveInteger; #IMPLIED>
+
+<!ELEMENT style:tab-stops (style:tab-stop)*>
+<!ELEMENT style:tab-stop EMPTY>
+<!ATTLIST style:tab-stop style:position %nonNegativeLength; #REQUIRED>
+<!ATTLIST style:tab-stop style:type (left|center|right|char|default) "left">
+<!ATTLIST style:tab-stop style:char %character; #IMPLIED>
+<!ATTLIST style:tab-stop style:leader-char %character; " ">
+
+<!ELEMENT style:drop-cap EMPTY>
+<!ENTITY % wordOrPositiveInteger "CDATA">
+<!ATTLIST style:drop-cap style:length %wordOrPositiveInteger; "1">
+<!ATTLIST style:drop-cap style:lines %positiveInteger; "1">
+<!ATTLIST style:drop-cap style:distance %length; "0cm">
+<!ATTLIST style:drop-cap style:style-name %styleName; #IMPLIED>
+
+<!ATTLIST style:properties style:register-true %boolean; #IMPLIED>
+<!ATTLIST style:properties style:register-truth-ref-style-name %styleName; #IMPLIED>
+<!ATTLIST style:properties fo:margin-left %positiveLengthOrPercentage; #IMPLIED>
+<!ATTLIST style:properties fo:margin-right %positiveLengthOrPercentage;
+ #IMPLIED>
+<!ATTLIST style:properties fo:text-indent %lengthOrPercentage; #IMPLIED>
+<!ATTLIST style:properties style:auto-text-indent %boolean; #IMPLIED>
+<!ATTLIST style:properties fo:margin-top %positiveLengthOrPercentage; #IMPLIED>
+<!ATTLIST style:properties fo:margin-bottom %positiveLengthOrPercentage; #IMPLIED>
+<!ATTLIST style:properties fo:break-before (auto|column|page) #IMPLIED>
+<!ATTLIST style:properties fo:break-after (auto|column|page) #IMPLIED>
+<!ATTLIST style:properties fo:background-color %transparentOrColor; #IMPLIED>
+<!ATTLIST style:properties style:background-transparency %percentage; #IMPLIED>
+<!ATTLIST style:properties style:dynamic-spacing %boolean; #IMPLIED>
+
+<!ELEMENT style:background-image (office:binary-data?)>
+<!ATTLIST style:background-image xlink:type (simple) #IMPLIED>
+<!ATTLIST style:background-image xlink:href %uriReference; #IMPLIED>
+<!ATTLIST style:background-image xlink:show (embed) #IMPLIED>
+<!ATTLIST style:background-image xlink:actuate (onLoad) #IMPLIED>
+<!ATTLIST style:background-image style:repeat (no-repeat|repeat|stretch)
+ "repeat">
+<!ATTLIST style:background-image style:position CDATA "center">
+<!ATTLIST style:background-image style:filter-name %string; #IMPLIED>
+<!ATTLIST style:background-image draw:transparency %percentage; #IMPLIED>
+
+<!ELEMENT style:symbol-image (office:binary-data?)>
+<!ATTLIST style:symbol-image xlink:type (simple) #IMPLIED>
+<!ATTLIST style:symbol-image xlink:href %uriReference; #IMPLIED>
+<!ATTLIST style:symbol-image xlink:show (embed) #IMPLIED>
+<!ATTLIST style:symbol-image xlink:actuate (onLoad) #IMPLIED>
+
+<!ATTLIST style:properties fo:border CDATA #IMPLIED>
+<!ATTLIST style:properties fo:border-top CDATA #IMPLIED>
+<!ATTLIST style:properties fo:border-bottom CDATA #IMPLIED>
+<!ATTLIST style:properties fo:border-left CDATA #IMPLIED>
+<!ATTLIST style:properties fo:border-right CDATA #IMPLIED>
+<!ATTLIST style:properties style:border-line-width CDATA #IMPLIED>
+<!ATTLIST style:properties style:border-line-width-top CDATA #IMPLIED>
+<!ATTLIST style:properties style:border-line-width-bottom CDATA #IMPLIED>
+<!ATTLIST style:properties style:border-line-width-left CDATA #IMPLIED>
+<!ATTLIST style:properties style:border-line-width-right CDATA #IMPLIED>
+<!ATTLIST style:properties fo:padding %nonNegativeLength; #IMPLIED>
+<!ATTLIST style:properties fo:padding-top %nonNegativeLength; #IMPLIED>
+<!ATTLIST style:properties fo:padding-bottom %nonNegativeLength; #IMPLIED>
+<!ATTLIST style:properties fo:padding-left %nonNegativeLength; #IMPLIED>
+<!ATTLIST style:properties fo:padding-right %nonNegativeLength; #IMPLIED>
+<!ATTLIST style:properties style:shadow CDATA #IMPLIED>
+<!ATTLIST style:properties fo:keep-with-next %boolean; #IMPLIED>
+<!ATTLIST style:properties style:join-border %boolean; #IMPLIED>
+
+<!ATTLIST style:properties text:number-lines %boolean; "false">
+<!ATTLIST style:properties text:line-number %nonNegativeInteger; #IMPLIED>
+
+<!ATTLIST style:properties style:decimal-places %nonNegativeInteger; #IMPLIED>
+<!ATTLIST style:properties style:tab-stop-distance %nonNegativeLength; #IMPLIED>
+
+<!-- section properties -->
+<!ATTLIST style:properties text:dont-balance-text-columns %boolean; #IMPLIED>
+
+<!-- ruby properties -->
+<!ATTLIST style:properties style:ruby-align (left|center|right|distribute-letter|distribute-space) #IMPLIED>
+<!ATTLIST style:properties style:ruby-position (above|below) #IMPLIED>
+
+
+<!-- table properties -->
+<!ATTLIST style:properties style:width %positiveLength; #IMPLIED>
+<!ATTLIST style:properties style:rel-width %percentage; #IMPLIED>
+<!ATTLIST style:properties style:may-break-between-rows %boolean; #IMPLIED>
+<!ATTLIST style:properties table:page-style-name %styleName; #IMPLIED>
+<!ATTLIST style:properties table:display %boolean; #IMPLIED>
+
+<!-- table column properties -->
+<!ATTLIST style:properties style:column-width %positiveLength; #IMPLIED>
+<!ENTITY % relWidth "CDATA">
+<!ATTLIST style:properties style:rel-column-width %relWidth; #IMPLIED>
+<!ATTLIST style:properties style:use-optimal-column-width %boolean; #IMPLIED>
+
+<!-- table row properties -->
+<!ATTLIST style:properties style:row-height %positiveLength; #IMPLIED>
+<!ATTLIST style:properties style:min-row-height %nonNegativeLength; #IMPLIED>
+<!ATTLIST style:properties style:use-optimal-row-height %boolean; #IMPLIED>
+
+<!-- table cell properties -->
+<!ATTLIST style:properties
+ table:align (left | center | right | margins) #IMPLIED
+ table:border-model (collapsing | separating) #IMPLIED
+ fo:vertical-align (top | middle | bottom | automatic) #IMPLIED
+ fo:direction (ltr | ttb) #IMPLIED
+ style:glyph-orientation-vertical (auto | 0) #IMPLIED
+ style:rotation-angle %nonNegativeInteger; #IMPLIED
+ style:rotation-align (none | bottom | top | center) #IMPLIED
+ style:cell-protect CDATA #IMPLIED
+ fo:wrap-option (no-wrap | wrap) #IMPLIED
+>
+<!ELEMENT style:columns (style:column-sep?,style:column*)>
+<!ATTLIST style:columns fo:column-count %nonNegativeInteger; #IMPLIED>
+<!ATTLIST style:columns fo:column-gap %positiveLength; #IMPLIED>
+
+<!ELEMENT style:column EMPTY>
+<!ATTLIST style:column style:rel-width CDATA #IMPLIED>
+<!ATTLIST style:column fo:margin-left %positiveLength; #IMPLIED>
+<!ATTLIST style:column fo:margin-right %positiveLength; #IMPLIED>
+
+<!ELEMENT style:column-sep EMPTY>
+<!ATTLIST style:column-sep style:style (none|solid|dotted|dashed|dot-dashed)
+ "solid">
+<!ATTLIST style:column-sep style:width %length; #REQUIRED>
+<!ATTLIST style:column-sep style:height %percentage; "100&#37;">
+<!ATTLIST style:column-sep style:vertical-align (top|middle|bottom) "top">
+<!ATTLIST style:column-sep style:color %color; "#000000">
+
+<!-- page master properties -->
+<!ELEMENT style:page-master (style:properties?, style:header-style?, style:footer-style?)>
+<!ATTLIST style:page-master style:name %styleName; #REQUIRED>
+<!ATTLIST style:page-master style:page-usage (all|left|right|mirrored) "all">
+
+<!ELEMENT style:header-style (style:properties?)>
+<!ELEMENT style:footer-style (style:properties?)>
+
+<!ATTLIST style:properties fo:page-width %length; #IMPLIED>
+<!ATTLIST style:properties fo:page-height %length; #IMPLIED>
+<!ATTLIST style:properties style:paper-tray-name %string; #IMPLIED>
+<!ATTLIST style:properties style:print-orientation (portrait|landscape) #IMPLIED>
+<!ATTLIST style:properties style:print CDATA #IMPLIED>
+<!ATTLIST style:properties style:print-page-order (ttb|ltr) #IMPLIED>
+<!ATTLIST style:properties style:first-page-number %positiveInteger; #IMPLIED>
+<!ATTLIST style:properties style:scale-to %percentage; #IMPLIED>
+<!ATTLIST style:properties style:scale-to-pages %positiveInteger; #IMPLIED>
+<!ATTLIST style:properties style:table-centering (horizontal | vertical | both | none) #IMPLIED>
+
+<!ATTLIST style:properties style:footnote-max-height %lengthOrNoLimit; #IMPLIED>
+<!ATTLIST style:properties style:vertical-align (top|bottom|middle|basline|auto) #IMPLIED>
+<!ATTLIST style:properties style:writing-mode (lr-tb|rl-tb|tb-rl|tb-lr|lr|rl|tb|page) "lr-tb">
+<!ATTLIST style:properties style:layout-grid-mode (none|line|both) #IMPLIED>
+<!ATTLIST style:properties style:layout-grid-base-height %length; #IMPLIED>
+<!ATTLIST style:properties style:layout-grid-ruby-height %length; #IMPLIED>
+<!ATTLIST style:properties style:layout-grid-lines %positiveInteger; #IMPLIED>
+<!ATTLIST style:properties style:layout-grid-color %color; #IMPLIED>
+<!ATTLIST style:properties style:layout-grid-ruby-below %boolean; #IMPLIED>
+<!ATTLIST style:properties style:layout-grid-print %boolean; #IMPLIED>
+<!ATTLIST style:properties style:layout-grid-display %boolean; #IMPLIED>
+<!ATTLIST style:properties style:snap-to-layout-grid %boolean; #IMPLIED>
+
+<!ELEMENT style:footnote-sep EMPTY>
+<!ATTLIST style:footnote-sep style:width %length; #IMPLIED>
+<!ATTLIST style:footnote-sep style:rel-width %percentage; #IMPLIED>
+<!ATTLIST style:footnote-sep style:color %color; #IMPLIED>
+<!ATTLIST style:footnote-sep style:adjustment (left|center|right) "left">
+<!ATTLIST style:footnote-sep style:distance-before-sep %length; #IMPLIED>
+<!ATTLIST style:footnote-sep style:distance-after-sep %length; #IMPLIED>
+
+<!-- master page -->
+<!ELEMENT style:master-page ( (style:header, style:header-left?)?, (style:footer, style:footer-left?)?,
+ office:forms?,style:style*, (%shapes;)*, presentation:notes? )>
+<!ATTLIST style:master-page style:name %styleName; #REQUIRED>
+<!ATTLIST style:master-page style:page-master-name %styleName; #REQUIRED>
+<!ATTLIST style:master-page style:next-style-name %styleName; #IMPLIED>
+<!ATTLIST style:master-page draw:style-name %styleName; #IMPLIED>
+
+<!-- handout master -->
+<!ELEMENT style:handout-master (%shapes;)*>
+<!ATTLIST style:handout-master presentation:presentation-page-layout-name %styleName; #IMPLIED>
+<!ATTLIST style:handout-master style:page-master-name %styleName; #IMPLIED>
+<!ATTLIST style:handout-master draw:style-name %styleName; #IMPLIED>
+
+<!ENTITY % hd-ft-content "( %headerText; | (style:region-left?, style:region-center?, style:region-right?) )">
+<!ELEMENT style:header %hd-ft-content;>
+<!ATTLIST style:header style:display %boolean; "true">
+<!ELEMENT style:footer %hd-ft-content;>
+<!ATTLIST style:footer style:display %boolean; "true">
+<!ELEMENT style:header-left %hd-ft-content;>
+<!ATTLIST style:header-left style:display %boolean; "true">
+<!ELEMENT style:footer-left %hd-ft-content;>
+<!ATTLIST style:footer-left style:display %boolean; "true">
+
+<!ENTITY % region-content "(text:p*)">
+<!ELEMENT style:region-left %region-content;>
+<!ELEMENT style:region-center %region-content;>
+<!ELEMENT style:region-right %region-content;>
+
+<!-- control shape properties -->
+<!ATTLIST style:properties draw:symbol-color %color; #IMPLIED>
diff --git a/test/user-template/user/dtd/officedocument/1_0/table.mod b/test/user-template/user/dtd/officedocument/1_0/table.mod
new file mode 100644
index 000000000000..be30da54293c
--- /dev/null
+++ b/test/user-template/user/dtd/officedocument/1_0/table.mod
@@ -0,0 +1,496 @@
+<!--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ Copyright 2000, 2010 Oracle and/or its affiliates.
+
+ OpenOffice.org - a multi-platform office productivity suite
+
+ This file is part of OpenOffice.org.
+
+ OpenOffice.org is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License version 3
+ only, as published by the Free Software Foundation.
+
+ OpenOffice.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License version 3 for more details
+ (a copy is included in the LICENSE file that accompanied this code).
+
+ You should have received a copy of the GNU Lesser General Public License
+ version 3 along with OpenOffice.org. If not, see
+ <http://www.openoffice.org/license.html>
+ for a copy of the LGPLv3 License.
+
+-->
+
+<!ELEMENT table:calculation-settings (table:null-date?, table:iteration?)>
+<!ATTLIST table:calculation-settings
+ table:case-sensitive %boolean; "true"
+ table:precision-as-shown %boolean; "false"
+ table:search-criteria-must-apply-to-whole-cell %boolean; "true"
+ table:automatic-find-labels %boolean; "true"
+ table:use-regular-expressions %boolean; "true"
+ table:null-year %positiveInteger; "1930"
+>
+<!ELEMENT table:null-date EMPTY>
+<!ATTLIST table:null-date
+ table:value-type %valueType; #FIXED "date"
+ table:date-value %date; "1899-12-30"
+>
+<!ELEMENT table:iteration EMPTY>
+<!ATTLIST table:iteration
+ table:status (enable | disable) "disable"
+ table:steps %positiveInteger; "100"
+ table:maximum-difference %float; "0.001"
+>
+
+<!ELEMENT table:tracked-changes (table:cell-content-change | table:insertion | table:deletion | table:movement | table:rejection)*>
+<!ATTLIST table:tracked-changes table:track-changes %boolean; "true"
+ table:protected %boolean; "false"
+ table:protection-key CDATA #IMPLIED
+>
+
+<!ELEMENT table:dependences (table:dependence)+>
+<!ELEMENT table:dependence EMPTY>
+<!ATTLIST table:dependence
+ table:id CDATA #REQUIRED
+>
+<!ELEMENT table:deletions (table:cell-content-deletion | table:change-deletion)+>
+<!ELEMENT table:cell-content-deletion (table:cell-address?, table:change-track-table-cell?)>
+<!ATTLIST table:cell-content-deletion
+ table:id CDATA #IMPLIED
+>
+<!ELEMENT table:change-deletion EMPTY>
+<!ATTLIST table:change-deletion
+ table:id CDATA #IMPLIED
+>
+<!ELEMENT table:insertion (office:change-info, table:dependences?, table:deletions?)>
+<!ATTLIST table:insertion
+ table:id CDATA #REQUIRED
+ table:acceptance-state (accepted | rejected | pending) "pending"
+ table:rejecting-change-id %positiveInteger; #IMPLIED
+ table:type (row | column | table) #REQUIRED
+ table:position %integer; #REQUIRED
+ table:count %positiveInteger; "1"
+ table:table %integer; #IMPLIED
+>
+<!ELEMENT table:deletion (office:change-info, table:dependences?, table:deletions?, table:cut-offs?)>
+<!ATTLIST table:deletion
+ table:id CDATA #REQUIRED
+ table:acceptance-state (accepted | rejected | pending) "pending"
+ table:rejecting-change-id %positiveInteger; #IMPLIED
+ table:type (row | column | table) #REQUIRED
+ table:position %integer; #REQUIRED
+ table:count %positiveInteger; "1"
+ table:table %integer; #IMPLIED
+ table:multi-deletion-spanned %integer; #IMPLIED
+>
+<!ELEMENT table:cut-offs (table:movement-cut-off+ | (table:insertion-cut-off, table:movement-cut-off*))>
+<!ELEMENT table:insertion-cut-off EMPTY>
+<!ATTLIST table:insertion-cut-off
+ table:id CDATA #REQUIRED
+ table:position %integer; #REQUIRED
+>
+<!ELEMENT table:movement-cut-off EMPTY>
+<!ATTLIST table:movement-cut-off
+ table:id CDATA #REQUIRED
+ table:start-position %integer; #IMPLIED
+ table:end-position %integer; #IMPLIED
+ table:position %integer; #IMPLIED
+>
+<!ELEMENT table:movement (table:source-range-address, table:target-range-address, office:change-info, table:dependences?, table:deletions?)>
+<!ATTLIST table:movement
+ table:id CDATA #REQUIRED
+ table:acceptance-state (accepted | rejected | pending) "pending"
+ table:rejecting-change-id %positiveInteger; #IMPLIED
+>
+<!ELEMENT table:target-range-address EMPTY>
+<!ATTLIST table:target-range-address
+ table:column %integer; #IMPLIED
+ table:row %integer; #IMPLIED
+ table:table %integer; #IMPLIED
+ table:start-column %integer; #IMPLIED
+ table:start-row %integer; #IMPLIED
+ table:start-table %integer; #IMPLIED
+ table:end-column %integer; #IMPLIED
+ table:end-row %integer; #IMPLIED
+ table:end-table %integer; #IMPLIED
+>
+<!ELEMENT table:source-range-address EMPTY>
+<!ATTLIST table:source-range-address
+ table:column %integer; #IMPLIED
+ table:row %integer; #IMPLIED
+ table:table %integer; #IMPLIED
+ table:start-column %integer; #IMPLIED
+ table:start-row %integer; #IMPLIED
+ table:start-table %integer; #IMPLIED
+ table:end-column %integer; #IMPLIED
+ table:end-row %integer; #IMPLIED
+ table:end-table %integer; #IMPLIED
+>
+<!ELEMENT table:change-track-table-cell (text:p*)>
+<!ATTLIST table:change-track-table-cell
+ table:cell-address %cell-address; #IMPLIED
+ table:matrix-covered (true | false) "false"
+ table:formula %string; #IMPLIED
+ table:number-matrix-rows-spanned %positiveInteger; #IMPLIED
+ table:number-matrix-columns-spanned %positiveInteger; #IMPLIED
+ table:value-type %valueType; "string"
+ table:value %float; #IMPLIED
+ table:date-value %date; #IMPLIED
+ table:time-value %timeInstance; #IMPLIED
+ table:string-value %string; #IMPLIED
+>
+<!ELEMENT table:cell-content-change (table:cell-address, office:change-info, table:dependences?, table:deletions?, table:previous)>
+<!ATTLIST table:cell-content-change
+ table:id CDATA #REQUIRED
+ table:acceptance-state (accepted | rejected | pending) "pending"
+ table:rejecting-change-id %positiveInteger; #IMPLIED
+>
+<!ELEMENT table:cell-address EMPTY>
+<!ATTLIST table:cell-address
+ table:column %integer; #IMPLIED
+ table:row %integer; #IMPLIED
+ table:table %integer; #IMPLIED
+>
+<!ELEMENT table:previous (table:change-track-table-cell)>
+<!ATTLIST table:previous
+ table:id CDATA #IMPLIED
+>
+<!ELEMENT table:rejection (office:change-info, table:dependences?, table:deletions?)>
+<!ATTLIST table:rejection
+ table:id CDATA #REQUIRED
+ table:acceptance-state (accepted | rejected | pending) "pending"
+ table:rejecting-change-id %positiveInteger; #IMPLIED
+>
+
+<!ENTITY % table-columns "table:table-columns | ( table:table-column | table:table-column-group )+">
+<!ENTITY % table-header-columns "table:table-header-columns">
+<!ENTITY % table-rows "table:table-rows | ( table:table-row | table:table-row-group )+">
+<!ENTITY % table-header-rows "table:table-header-rows">
+<!ENTITY % table-column-groups "((%table-columns;),(%table-header-columns;,(%table-columns;)?)?) | (%table-header-columns;,(%table-columns;)?)">
+<!ENTITY % table-row-groups "((%table-rows;),(%table-header-rows;,(%table-rows;)?)?) | (%table-header-rows;,(%table-rows;)?)">
+<!ELEMENT table:table (table:table-source?, table:scenario?, office:forms?, table:shapes?, (%table-column-groups;), (%table-row-groups;))>
+<!ATTLIST table:table
+ table:name %string; #IMPLIED
+ table:style-name %styleName; #IMPLIED
+ table:protected %boolean; "false"
+ table:protection-key CDATA #IMPLIED
+ table:print-ranges %cell-range-address-list; #IMPLIED
+ table:automatic-print-range %boolean; #IMPLIED
+>
+<!ELEMENT table:table-source EMPTY>
+<!ATTLIST table:table-source
+ table:mode (copy-all | copy-results-only) "copy-all"
+ xlink:type (simple) #FIXED "simple"
+ xlink:actuate (onRequest) "onRequest"
+ xlink:href %uriReference; #REQUIRED
+ table:filter-name CDATA #IMPLIED
+ table:table-name CDATA #IMPLIED
+ table:filter-options CDATA #IMPLIED
+ table:refresh-delay %timeDuration; #IMPLIED
+>
+<!ELEMENT table:scenario EMPTY>
+<!ATTLIST table:scenario
+ table:display-border %boolean; "true"
+ table:border-color %color; #IMPLIED
+ table:copy-back %boolean; "true"
+ table:copy-styles %boolean; "true"
+ table:copy-formulas %boolean; "true"
+ table:is-active %boolean; #REQUIRED
+ table:scenario-ranges %cell-range-address-list; #REQUIRED
+ table:comment CDATA #IMPLIED
+>
+<!ELEMENT table:shapes %shapes;>
+<!ELEMENT table:table-column-group (table:table-header-columns | table:table-column | table:table-column-group)+>
+<!ATTLIST table:table-column-group
+ table:display %boolean; "true"
+>
+<!ELEMENT table:table-header-columns (table:table-column | table:table-column-group)+>
+<!ELEMENT table:table-columns (table:table-column | table:table-column-group)+>
+<!ELEMENT table:table-column EMPTY>
+<!ATTLIST table:table-column
+ table:number-columns-repeated %positiveInteger; "1"
+ table:style-name %styleName; #IMPLIED
+ table:visibility (visible | collapse | filter) "visible"
+ table:default-cell-style-name %styleName; #IMPLIED
+>
+<!ELEMENT table:table-row-group (table:table-header-rows | table:table-row | table:table-row-group)+>
+<!ATTLIST table:table-row-group
+ table:display %boolean; "true"
+>
+<!ELEMENT table:table-header-rows (table:table-row | table:table-row-group)+>
+<!ELEMENT table:table-rows (table:table-row | table:table-row-group)+>
+<!ENTITY % table-cells "(table:table-cell|table:covered-table-cell)+">
+<!ELEMENT table:table-row %table-cells;>
+<!ATTLIST table:table-row
+ table:number-rows-repeated %positiveInteger; "1"
+ table:style-name %styleName; #IMPLIED
+ table:visibility (visible | collapse | filter) "visible"
+ table:default-cell-style-name %styleName; #IMPLIED
+>
+
+<!ENTITY % text-wo-table "(text:h|text:p|text:ordered-list|text:unordered-list|%shapes;)*">
+<!ENTITY % cell-content "(table:cell-range-source?,office:annotation?,table:detective?,(table:sub-table|%text-wo-table;))">
+<!ELEMENT table:table-cell %cell-content;>
+<!ELEMENT table:covered-table-cell %cell-content;>
+<!ATTLIST table:table-cell
+ table:number-columns-repeated %positiveInteger; "1"
+ table:number-rows-spanned %positiveInteger; "1"
+ table:number-columns-spanned %positiveInteger; "1"
+ table:style-name %styleName; #IMPLIED
+ table:validation-name CDATA #IMPLIED
+ table:formula %string; #IMPLIED
+ table:number-matrix-rows-spanned %positiveInteger; #IMPLIED
+ table:number-matrix-columns-spanned %positiveInteger; #IMPLIED
+ table:value-type %valueType; "string"
+ table:value %float; #IMPLIED
+ table:date-value %date; #IMPLIED
+ table:time-value %timeInstance; #IMPLIED
+ table:boolean-value %boolean; #IMPLIED
+ table:string-value %string; #IMPLIED
+ table:currency %string; #IMPLIED
+>
+<!ATTLIST table:covered-table-cell
+ table:number-columns-repeated %positiveInteger; "1"
+ table:style-name %styleName; #IMPLIED
+ table:validation-name CDATA #IMPLIED
+ table:formula %string; #IMPLIED
+ table:number-matrix-rows-spanned %positiveInteger; #IMPLIED
+ table:number-matrix-columns-spanned %positiveInteger; #IMPLIED
+ table:value-type %valueType; "string"
+ table:value %float; #IMPLIED
+ table:date-value %date; #IMPLIED
+ table:time-value %timeInstance; #IMPLIED
+ table:boolean-value %boolean; #IMPLIED
+ table:string-value %string; #IMPLIED
+ table:currency %string; #IMPLIED
+>
+<!-- cell protection in writer: cell attribute; calc uses format -->
+<!ATTLIST table:table-cell table:protected %boolean; "false">
+
+<!ELEMENT table:cell-range-source EMPTY>
+<!ATTLIST table:cell-range-source
+ table:name %string; #REQUIRED
+ xlink:type (simple) #FIXED "simple"
+ xlink:actuate (onRequest) #FIXED "onRequest"
+ xlink:href %uriReference; #REQUIRED
+ table:filter-name %string; #REQUIRED
+ table:filter-options %string; #IMPLIED
+ table:last-column-spanned %positiveInteger; #REQUIRED
+ table:last-row-spanned %positiveInteger; #REQUIRED
+ table:refresh-delay %timeDuration; #IMPLIED
+>
+
+<!ELEMENT table:detective (table:highlighted-range*, table:operation*)>
+<!ELEMENT table:highlighted-range EMPTY>
+<!ATTLIST table:highlighted-range
+ table:cell-range-address %cell-range-address; #IMPLIED
+ table:direction (from-another-table | to-another-table | from-same-table | to-same-table) #IMPLIED
+ table:contains-error %boolean; #IMPLIED
+ table:marked-invalid %boolean; #IMPLIED
+>
+<!ELEMENT table:operation EMPTY>
+<!ATTLIST table:operation
+ table:name (trace-dependents | remove-dependents | trace-precedents | remove-precedents | trace-errors) #REQUIRED
+ table:index %nonNegativeInteger; #REQUIRED
+>
+
+<!ELEMENT table:content-validations (table:content-validation)+>
+<!ELEMENT table:content-validation (table:help-message?, (table:error-message | (table:error-macro, office:events?))?)>
+<!ATTLIST table:content-validation
+ table:name CDATA #REQUIRED
+ table:condition CDATA #IMPLIED
+ table:base-cell-address %cell-address; #IMPLIED
+ table:allow-empty-cell %boolean; #IMPLIED
+ table:show-list (no | unsorted | sorted-ascending) #IMPLIED
+>
+<!ELEMENT table:help-message (text:p*)>
+<!ATTLIST table:help-message
+ table:title CDATA #IMPLIED
+ table:display %boolean; #IMPLIED
+>
+<!ELEMENT table:error-message (text:p*)>
+<!ATTLIST table:error-message
+ table:title CDATA #IMPLIED
+ table:message-type (stop | warning | information) #IMPLIED
+ table:display %boolean; #IMPLIED
+>
+<!ELEMENT table:error-macro EMPTY>
+<!ATTLIST table:error-macro
+ table:name CDATA #IMPLIED
+ table:execute %boolean; #IMPLIED
+>
+
+<!ELEMENT table:sub-table ((%table-column-groups;) , (%table-row-groups;))>
+
+<!ELEMENT table:label-ranges (table:label-range)*>
+<!ELEMENT table:label-range EMPTY>
+<!ATTLIST table:label-range
+ table:label-cell-range-address %cell-range-address; #REQUIRED
+ table:data-cell-range-address %cell-range-address; #REQUIRED
+ table:orientation (column | row) #REQUIRED
+>
+
+<!ELEMENT table:named-expressions (table:named-range | table:named-expression)*>
+<!ELEMENT table:named-range EMPTY>
+<!ATTLIST table:named-range
+ table:name CDATA #REQUIRED
+ table:cell-range-address %cell-range-address; #REQUIRED
+ table:base-cell-address %cell-address; #IMPLIED
+ table:range-usable-as CDATA "none"
+>
+<!ELEMENT table:named-expression EMPTY>
+<!ATTLIST table:named-expression
+ table:name CDATA #REQUIRED
+ table:expression CDATA #REQUIRED
+ table:base-cell-address %cell-address; #IMPLIED
+>
+
+<!ELEMENT table:filter (table:filter-condition | table:filter-and | table:filter-or)>
+<!ATTLIST table:filter
+ table:target-range-address %cell-range-address; #IMPLIED
+ table:condition-source-range-address %cell-range-address; #IMPLIED
+ table:condition-source (self | cell-range) "self"
+ table:display-duplicates %boolean; "true"
+>
+<!ELEMENT table:filter-and (table:filter-or | table:filter-condition)+>
+<!ELEMENT table:filter-or (table:filter-and | table:filter-condition)+>
+<!ELEMENT table:filter-condition EMPTY>
+<!ATTLIST table:filter-condition
+ table:field-number %nonNegativeInteger; #REQUIRED
+ table:case-sensitive %boolean; "false"
+ table:data-type (text | number) "text"
+ table:value CDATA #REQUIRED
+ table:operator CDATA #REQUIRED
+>
+
+<!ELEMENT table:database-ranges (table:database-range)*>
+<!ELEMENT table:database-range ((table:database-source-sql | table:database-source-table | table:database-source-query)?, table:filter?, table:sort?, table:subtotal-rules?)>
+<!ATTLIST table:database-range
+ table:name CDATA #IMPLIED
+ table:is-selection %boolean; "false"
+ table:on-update-keep-styles %boolean; "false"
+ table:on-update-keep-size %boolean; "true"
+ table:has-persistant-data %boolean; "true"
+ table:orientation (row | column) "row"
+ table:contains-header %boolean; "true"
+ table:display-filter-buttons %boolean; "false"
+ table:target-range-address %cell-range-address; #REQUIRED
+ table:refresh-delay %timeDuration; #IMPLIED
+>
+<!ELEMENT table:database-source-sql EMPTY>
+<!ATTLIST table:database-source-sql
+ table:database-name CDATA #REQUIRED
+ table:sql-statement CDATA #REQUIRED
+ table:parse-sql-statements %boolean; "false"
+>
+<!ELEMENT table:database-source-table EMPTY>
+<!ATTLIST table:database-source-table
+ table:database-name CDATA #REQUIRED
+ table:table-name CDATA #REQUIRED
+>
+<!ELEMENT table:database-source-query EMPTY>
+<!ATTLIST table:database-source-query
+ table:database-name CDATA #REQUIRED
+ table:query-name CDATA #REQUIRED
+>
+
+<!ELEMENT table:sort (table:sort-by)+>
+<!ATTLIST table:sort
+ table:bind-styles-to-content %boolean; "true"
+ table:target-range-address %cell-range-address; #IMPLIED
+ table:case-sensitive %boolean; "false"
+ table:language CDATA #IMPLIED
+ table:country CDATA #IMPLIED
+ table:algorithm CDATA #IMPLIED
+>
+<!ELEMENT table:sort-by EMPTY>
+<!ATTLIST table:sort-by
+ table:field-number %nonNegativeInteger; #REQUIRED
+ table:data-type CDATA "automatic"
+ table:order (ascending | descending) "ascending"
+>
+
+<!ELEMENT table:subtotal-rules (table:sort-groups? | table:subtotal-rule*)?>
+<!ATTLIST table:subtotal-rules
+ table:bind-styles-to-content %boolean; "true"
+ table:case-sensitive %boolean; "false"
+ table:page-breaks-on-group-change %boolean; "false"
+>
+<!ELEMENT table:sort-groups EMPTY>
+<!ATTLIST table:sort-groups
+ table:data-type CDATA "automatic"
+ table:order (ascending | descending) "ascending"
+>
+<!ELEMENT table:subtotal-rule (table:subtotal-field)*>
+<!ATTLIST table:subtotal-rule
+ table:group-by-field-number %nonNegativeInteger; #REQUIRED
+>
+<!ELEMENT table:subtotal-field EMPTY>
+<!ATTLIST table:subtotal-field
+ table:field-number %nonNegativeInteger; #REQUIRED
+ table:function CDATA #REQUIRED
+>
+
+<!ELEMENT table:data-pilot-tables (table:data-pilot-table)*>
+<!ELEMENT table:data-pilot-table ((table:database-source-sql | table:database-source-table | table:database-source-query | table:source-service | table:source-cell-range)?, table:data-pilot-field+)>
+<!ATTLIST table:data-pilot-table
+ table:name CDATA #REQUIRED
+ table:application-data CDATA #IMPLIED
+ table:grand-total (none | row | column | both) "both"
+ table:ignore-empty-rows %boolean; "false"
+ table:identify-categories %boolean; "false"
+ table:target-range-address %cell-range-address; #REQUIRED
+ table:buttons %cell-range-address-list; #REQUIRED
+>
+<!ELEMENT table:source-service EMPTY>
+<!ATTLIST table:source-service
+ table:name CDATA #REQUIRED
+ table:source-name CDATA #REQUIRED
+ table:object-name CDATA #REQUIRED
+ table:username CDATA #IMPLIED
+ table:password CDATA #IMPLIED
+>
+<!ELEMENT table:source-cell-range (table:filter)?>
+<!ATTLIST table:source-cell-range
+ table:cell-range-address %cell-range-address; #REQUIRED
+>
+<!ELEMENT table:data-pilot-field (table:data-pilot-level)?>
+<!ATTLIST table:data-pilot-field
+ table:source-field-name CDATA #REQUIRED
+ table:is-data-layout-field %boolean; "false"
+ table:function CDATA #REQUIRED
+ table:orientation (row | column | data | page | hidden) #REQUIRED
+ table:used-hierarchy %positiveInteger; "1"
+>
+<!ELEMENT table:data-pilot-level (table:data-pilot-subtotals?, table:data-pilot-members?)>
+<!ATTLIST table:data-pilot-level
+ table:display-empty %boolean; #IMPLIED
+>
+<!ELEMENT table:data-pilot-subtotals (table:data-pilot-subtotal)*>
+<!ELEMENT table:data-pilot-subtotal EMPTY>
+<!ATTLIST table:data-pilot-subtotal
+ table:function CDATA #REQUIRED
+>
+<!ELEMENT table:data-pilot-members (table:data-pilot-member)*>
+<!ELEMENT table:data-pilot-member EMPTY>
+<!ATTLIST table:data-pilot-member
+ table:name CDATA #REQUIRED
+ table:display %boolean; #IMPLIED
+ table:display-details %boolean; #IMPLIED
+>
+
+<!ELEMENT table:consolidation EMPTY>
+<!ATTLIST table:consolidation
+ table:function CDATA #REQUIRED
+ table:source-cell-range-addresses %cell-range-address-list; #REQUIRED
+ table:target-cell-address %cell-address; #REQUIRED
+ table:use-label (none | column | row | both) "none"
+ table:link-to-source-data %boolean; "false"
+>
+
+<!ELEMENT table:dde-links (table:dde-link)+>
+<!ELEMENT table:dde-link (office:dde-source, table:table)>
diff --git a/test/user-template/user/dtd/officedocument/1_0/text.mod b/test/user-template/user/dtd/officedocument/1_0/text.mod
new file mode 100644
index 000000000000..909321312df8
--- /dev/null
+++ b/test/user-template/user/dtd/officedocument/1_0/text.mod
@@ -0,0 +1,1099 @@
+<!--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ Copyright 2000, 2010 Oracle and/or its affiliates.
+
+ OpenOffice.org - a multi-platform office productivity suite
+
+ This file is part of OpenOffice.org.
+
+ OpenOffice.org is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License version 3
+ only, as published by the Free Software Foundation.
+
+ OpenOffice.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License version 3 for more details
+ (a copy is included in the LICENSE file that accompanied this code).
+
+ You should have received a copy of the GNU Lesser General Public License
+ version 3 along with OpenOffice.org. If not, see
+ <http://www.openoffice.org/license.html>
+ for a copy of the LGPLv3 License.
+
+-->
+
+<!ENTITY % fields "text:date |
+ text:time |
+ text:page-number |
+ text:page-continuation |
+ text:sender-firstname |
+ text:sender-lastname |
+ text:sender-initials |
+ text:sender-title |
+ text:sender-position |
+ text:sender-email |
+ text:sender-phone-private |
+ text:sender-fax |
+ text:sender-company |
+ text:sender-phone-work |
+ text:sender-street |
+ text:sender-city |
+ text:sender-postal-code |
+ text:sender-country |
+ text:sender-state-or-province |
+ text:author-name |
+ text:author-initials |
+ text:placeholder |
+ text:variable-set |
+ text:variable-get |
+ text:variable-input |
+ text:user-field-get |
+ text:user-field-input |
+ text:sequence |
+ text:expression |
+ text:text-input |
+ text:database-display |
+ text:database-next |
+ text:database-select |
+ text:database-row-number |
+ text:database-name |
+ text:initial-creator |
+ text:creation-date |
+ text:creation-time |
+ text:description |
+ text:user-defined |
+ text:print-time |
+ text:print-date |
+ text:printed-by |
+ text:title |
+ text:subject |
+ text:keywords |
+ text:editing-cycles |
+ text:editing-duration |
+ text:modification-time |
+ text:modification-date |
+ text:creator |
+ text:conditional-text |
+ text:hidden-text |
+ text:hidden-paragraph |
+ text:chapter |
+ text:file-name |
+ text:template-name |
+ text:page-variable-set |
+ text:page-variable-get |
+ text:execute-macro |
+ text:dde-connection |
+ text:reference-ref |
+ text:sequence-ref |
+ text:bookmark-ref |
+ text:footnote-ref |
+ text:endnote-ref |
+ text:sheet-name |
+ text:bibliography-mark |
+ text:page-count |
+ text:paragraph-count |
+ text:word-count |
+ text:character-count |
+ text:table-count |
+ text:image-count |
+ text:object-count |
+ office:annotation |
+ text:script |
+ text:measure" >
+
+<!ENTITY % inline-text-elements "
+ text:span|text:tab-stop|text:s|text:line-break|
+ text:footnote|text:endnote|text:a|
+ text:bookmark|text:bookmark-start|text:bookmark-end|
+ text:reference-mark|text:reference-mark-start|
+ text:reference-mark-end|%fields;|%shape;|
+ text:toc-mark-start | text:toc-mark-end |
+ text:toc-mark | text:user-index-mark-start |
+ text:user-index-mark-end | text:user-index-mark |
+ text:alphabetical-index-mark-start |
+ text:alphabetical-index-mark-end |
+ text:alphabetical-index-mark |
+ %change-marks; | draw:a | text:ruby">
+
+<!ENTITY % inline-text "( #PCDATA | %inline-text-elements; )*">
+
+<!ELEMENT text:p %inline-text;>
+<!ELEMENT text:h %inline-text;>
+
+<!ATTLIST text:p text:style-name %styleName; #IMPLIED>
+<!ATTLIST text:p text:cond-style-name %styleName; #IMPLIED>
+
+<!ATTLIST text:h text:style-name %styleName; #IMPLIED>
+<!ATTLIST text:h text:cond-style-name %styleName; #IMPLIED>
+<!ATTLIST text:h text:level %positiveInteger; "1">
+
+<!ELEMENT text:span %inline-text;>
+<!ATTLIST text:span text:style-name %styleName; #REQUIRED>
+
+<!ELEMENT text:a (#PCDATA | office:events | %inline-text-elements;)*>
+<!ATTLIST text:a xlink:href %uriReference; #REQUIRED>
+<!ATTLIST text:a xlink:type (simple) #FIXED "simple">
+<!ATTLIST text:a xlink:actuate (onRequest) "onRequest">
+<!ATTLIST text:a xlink:show (new|replace) "replace">
+<!ATTLIST text:a office:name %string; #IMPLIED>
+<!ATTLIST text:a office:target-frame-name %string; #IMPLIED>
+<!ATTLIST text:a text:style-name %styleName; #IMPLIED>
+<!ATTLIST text:a text:visited-style-name %styleName; #IMPLIED>
+
+
+<!ELEMENT text:s EMPTY>
+<!ATTLIST text:s text:c %positiveInteger; "1">
+
+<!ELEMENT text:tab-stop EMPTY>
+
+<!ELEMENT text:line-break EMPTY>
+
+
+<!ENTITY % list-items "((text:list-header,text:list-item*)|text:list-item+)">
+<!ELEMENT text:ordered-list %list-items;>
+<!ELEMENT text:unordered-list %list-items;>
+
+
+<!ATTLIST text:ordered-list text:style-name %styleName; #IMPLIED>
+<!ATTLIST text:unordered-list text:style-name %styleName; #IMPLIED>
+
+<!ATTLIST text:ordered-list text:continue-numbering %boolean; "false">
+
+<!ELEMENT text:list-header (text:p|text:h)+>
+<!ELEMENT text:list-item (text:p|text:h|text:ordered-list|text:unordered-list)+>
+
+<!ATTLIST text:list-item text:restart-numbering %boolean; "false">
+<!ATTLIST text:list-item text:start-value %positiveInteger; #IMPLIED>
+
+<!ELEMENT text:list-style (text:list-level-style-number|
+ text:list-level-style-bullet|
+ text:list-level-style-image)+>
+
+<!ATTLIST text:list-style style:name %styleName; #IMPLIED>
+
+<!ATTLIST text:list-style text:consecutive-numbering %boolean; "false">
+
+
+<!ELEMENT text:list-level-style-number (style:properties?)>
+
+<!ATTLIST text:list-level-style-number text:level %positiveInteger;
+ #REQUIRED>
+<!ATTLIST text:list-level-style-number text:style-name %styleName; #IMPLIED>
+
+<!ATTLIST text:list-level-style-number style:num-format %string; #REQUIRED>
+<!ATTLIST text:list-level-style-number style:num-prefix %string; #IMPLIED>
+<!ATTLIST text:list-level-style-number style:num-suffix %string; #IMPLIED>
+<!ATTLIST text:list-level-style-number style:num-letter-sync %boolean;
+ "false">
+<!ATTLIST text:list-level-style-number text:display-levels %positiveInteger;
+ "1">
+<!ATTLIST text:list-level-style-number text:start-value %positiveInteger;
+ "1">
+<!ELEMENT text:list-level-style-bullet (style:properties?)>
+
+<!ATTLIST text:list-level-style-bullet text:level %positiveInteger; #REQUIRED>
+<!ATTLIST text:list-level-style-bullet text:style-name %styleName; #IMPLIED>
+<!ATTLIST text:list-level-style-bullet text:bullet-char %character; #REQUIRED>
+<!ATTLIST text:list-level-style-bullet style:num-prefix %string; #IMPLIED>
+<!ATTLIST text:list-level-style-bullet style:num-suffix %string; #IMPLIED>
+
+<!ELEMENT text:list-level-style-image (style:properties?,office:binary-data?)>
+
+<!ATTLIST text:list-level-style-image text:level %positiveInteger; #REQUIRED>
+<!ATTLIST text:list-level-style-image xlink:type (simple) #IMPLIED>
+<!ATTLIST text:list-level-style-image xlink:href %uriReference; #IMPLIED>
+<!ATTLIST text:list-level-style-image xlink:actuate (onLoad) #IMPLIED>
+<!ATTLIST text:list-level-style-image xlink:show (embed) #IMPLIED>
+
+
+<!-- list properties -->
+<!ATTLIST style:properties text:space-before %nonNegativeLength; #IMPLIED>
+<!ATTLIST style:properties text:min-label-width %nonNegativeLength; #IMPLIED>
+<!ATTLIST style:properties text:min-label-distance %nonNegativeLength; #IMPLIED>
+<!ATTLIST style:properties text:enable-numbering %boolean; #IMPLIED>
+<!ATTLIST style:properties style:list-style-name %styleName; #IMPLIED>
+
+<!ELEMENT text:outline-style (text:outline-level-style)+>
+
+<!ELEMENT text:outline-level-style (style:properties?)>
+
+<!ATTLIST text:outline-level-style text:level %positiveInteger;
+ #REQUIRED>
+<!ATTLIST text:outline-level-style text:style-name %styleName; #IMPLIED>
+
+<!ATTLIST text:outline-level-style style:num-format %string; #REQUIRED>
+<!ATTLIST text:outline-level-style style:num-prefix %string; #IMPLIED>
+<!ATTLIST text:outline-level-style style:num-suffix %string; #IMPLIED>
+<!ATTLIST text:outline-level-style style:num-letter-sync %boolean;
+ "false">
+<!ATTLIST text:outline-level-style text:display-levels %positiveInteger;
+ "1">
+<!ATTLIST text:outline-level-style text:start-value %positiveInteger;
+ "1">
+
+<!ENTITY % field-declarations "text:variable-decls?,
+ text:user-field-decls?,
+ text:sequence-decls?">
+
+<!ENTITY % variableName "CDATA">
+
+<!ENTITY % formula "CDATA">
+
+<!ENTITY % valueAttr "text:value-type %valueType; #IMPLIED
+ text:currency CDATA #IMPLIED" >
+
+<!ENTITY % valueAndTypeAttr "%valueAttr;
+ text:value %float; #IMPLIED
+ text:date-value %date; #IMPLIED
+ text:time-value %timeInstance; #IMPLIED
+ text:boolean-value %boolean; #IMPLIED
+ text:string-value %string; #IMPLIED" >
+
+<!ENTITY % numFormat 'style:num-format CDATA #IMPLIED
+ style:num-letter-sync %boolean; "false"'>
+
+
+<!ELEMENT text:date (#PCDATA)>
+<!ATTLIST text:date text:date-value %timeInstance; #IMPLIED>
+<!ATTLIST text:date text:date-adjust %dateDuration; #IMPLIED>
+<!ATTLIST text:date text:fixed %boolean; "false">
+<!ATTLIST text:date style:data-style-name %styleName; #IMPLIED>
+
+<!ELEMENT text:time (#PCDATA)>
+<!ATTLIST text:time text:time-value %timeInstance; #IMPLIED>
+<!ATTLIST text:time text:time-adjust %timeDuration; #IMPLIED>
+<!ATTLIST text:time text:fixed %boolean; "false">
+<!ATTLIST text:time style:data-style-name %styleName; #IMPLIED>
+
+<!ELEMENT text:page-number (#PCDATA)>
+<!ATTLIST text:page-number text:page-adjust %positiveInteger; #IMPLIED>
+<!ATTLIST text:page-number text:select-page (previous|current|next) "current">
+<!ATTLIST text:page-number %numFormat;>
+
+<!ELEMENT text:page-continuation (#PCDATA)>
+<!ATTLIST text:page-continuation text:select-page (previous|next) #REQUIRED>
+<!ATTLIST text:page-continuation text:string-value %string; #IMPLIED>
+
+<!ELEMENT text:sender-firstname (#PCDATA)>
+<!ATTLIST text:sender-firstname text:fixed %boolean; "true">
+
+<!ELEMENT text:sender-lastname (#PCDATA)>
+<!ATTLIST text:sender-lastname text:fixed %boolean; "true">
+
+<!ELEMENT text:sender-initials (#PCDATA)>
+<!ATTLIST text:sender-initials text:fixed %boolean; "true">
+
+<!ELEMENT text:sender-title (#PCDATA)>
+<!ATTLIST text:sender-title text:fixed %boolean; "true">
+
+<!ELEMENT text:sender-position (#PCDATA)>
+<!ATTLIST text:sender-position text:fixed %boolean; "true">
+
+<!ELEMENT text:sender-email (#PCDATA)>
+<!ATTLIST text:sender-email text:fixed %boolean; "true">
+
+<!ELEMENT text:sender-phone-private (#PCDATA)>
+<!ATTLIST text:sender-phone-private text:fixed %boolean; "true">
+
+<!ELEMENT text:sender-fax (#PCDATA)>
+<!ATTLIST text:sender-fax text:fixed %boolean; "true">
+
+<!ELEMENT text:sender-company (#PCDATA)>
+<!ATTLIST text:sender-company text:fixed %boolean; "true">
+
+<!ELEMENT text:sender-phone-work (#PCDATA)>
+<!ATTLIST text:sender-phone-work text:fixed %boolean; "true">
+
+<!ELEMENT text:sender-street (#PCDATA)>
+<!ATTLIST text:sender-street text:fixed %boolean; "true">
+
+<!ELEMENT text:sender-city (#PCDATA)>
+<!ATTLIST text:sender-city text:fixed %boolean; "true">
+
+<!ELEMENT text:sender-postal-code (#PCDATA)>
+<!ATTLIST text:sender-postal-code text:fixed %boolean; "true">
+
+<!ELEMENT text:sender-country (#PCDATA)>
+<!ATTLIST text:sender-country text:fixed %boolean; "true">
+
+<!ELEMENT text:sender-state-or-province (#PCDATA)>
+<!ATTLIST text:sender-state-or-province text:fixed %boolean; "true">
+
+<!ELEMENT text:author-name (#PCDATA)>
+<!ATTLIST text:author-name text:fixed %boolean; "true">
+
+<!ELEMENT text:author-initials (#PCDATA)>
+<!ATTLIST text:author-initials text:fixed %boolean; "true">
+
+<!ELEMENT text:placeholder (#PCDATA)>
+<!ATTLIST text:placeholder text:placeholder-type (text|table|text-box|image|object) #REQUIRED>
+<!ATTLIST text:placeholder text:description %string; #IMPLIED>
+
+<!ELEMENT text:variable-decls (text:variable-decl)*>
+
+<!ELEMENT text:variable-decl EMPTY>
+<!ATTLIST text:variable-decl text:name %variableName; #REQUIRED>
+<!ATTLIST text:variable-decl %valueAndTypeAttr;>
+
+<!ELEMENT text:variable-set (#PCDATA)>
+<!ATTLIST text:variable-set text:name %variableName; #REQUIRED>
+<!ATTLIST text:variable-set text:formula %formula; #IMPLIED>
+<!ATTLIST text:variable-set %valueAndTypeAttr;>
+<!ATTLIST text:variable-set text:display (value|none) "value">
+<!ATTLIST text:variable-set style:data-style-name %styleName; #IMPLIED>
+
+<!ELEMENT text:variable-get (#PCDATA)>
+<!ATTLIST text:variable-get text:name %variableName; #REQUIRED>
+<!ATTLIST text:variable-get text:display (value|formula) "value">
+<!ATTLIST text:variable-get style:data-style-name %styleName; #IMPLIED>
+<!ATTLIST text:variable-get %valueAttr;>
+
+<!ELEMENT text:variable-input (#PCDATA)>
+<!ATTLIST text:variable-input text:name %variableName; #REQUIRED>
+<!ATTLIST text:variable-input text:description %string; #IMPLIED>
+<!ATTLIST text:variable-input %valueAndTypeAttr;>
+<!ATTLIST text:variable-input text:display (value|none) "value">
+<!ATTLIST text:variable-input style:data-style-name %styleName; #IMPLIED>
+
+<!ELEMENT text:user-field-decls (text:user-field-decl)*>
+
+<!ELEMENT text:user-field-decl EMPTY>
+<!ATTLIST text:user-field-decl text:name %variableName; #REQUIRED>
+<!ATTLIST text:user-field-decl text:formula %formula; #IMPLIED>
+<!ATTLIST text:user-field-decl %valueAndTypeAttr;>
+
+<!ELEMENT text:user-field-get (#PCDATA)>
+<!ATTLIST text:user-field-get text:name %variableName; #REQUIRED>
+<!ATTLIST text:user-field-get text:display (value|formula|none) "value">
+<!ATTLIST text:user-field-get style:data-style-name %styleName; #IMPLIED>
+
+<!ELEMENT text:user-field-input (#PCDATA)>
+<!ATTLIST text:user-field-input text:name %variableName; #REQUIRED>
+<!ATTLIST text:user-field-input text:description %string; #IMPLIED>
+<!ATTLIST text:user-field-input style:data-style-name %styleName; #IMPLIED>
+
+<!ELEMENT text:sequence-decls (text:sequence-decl)*>
+
+<!ELEMENT text:sequence-decl EMPTY>
+<!ATTLIST text:sequence-decl text:name %variableName; #REQUIRED>
+<!ATTLIST text:sequence-decl text:display-outline-level %positiveInteger; "0">
+<!ATTLIST text:sequence-decl text:separation-character %character; ".">
+
+<!ELEMENT text:sequence (#PCDATA)>
+<!ATTLIST text:sequence text:name %variableName; #REQUIRED>
+<!ATTLIST text:sequence text:formula %formula; #IMPLIED>
+<!ATTLIST text:sequence %numFormat;>
+<!ATTLIST text:sequence text:ref-name ID #IMPLIED>
+
+<!ELEMENT text:expression (#PCDATA)>
+<!ATTLIST text:expression text:formula %formula; #IMPLIED>
+<!ATTLIST text:expression text:display (value|formula ) "value">
+<!ATTLIST text:expression %valueAndTypeAttr;>
+<!ATTLIST text:expression style:data-style-name %styleName; #IMPLIED>
+
+<!ELEMENT text:text-input (#PCDATA)>
+<!ATTLIST text:text-input text:description %string; #IMPLIED>
+
+<!ENTITY % database-table "text:database-name CDATA #REQUIRED
+ text:table-name CDATA #REQUIRED
+ text:table-type (table|query|command) #IMPLIED">
+
+<!ELEMENT text:database-display (#PCDATA)>
+<!ATTLIST text:database-display %database-table;>
+<!ATTLIST text:database-display text:column-name %string; #REQUIRED>
+<!ATTLIST text:database-display style:data-style-name %styleName; #IMPLIED>
+<!ATTLIST text:database-display text:display (none|value) #IMPLIED>
+
+<!ELEMENT text:database-next (#PCDATA)>
+<!ATTLIST text:database-next %database-table;>
+<!ATTLIST text:database-next text:condition %formula; #IMPLIED>
+
+<!ELEMENT text:database-select (#PCDATA)>
+<!ATTLIST text:database-select %database-table;>
+<!ATTLIST text:database-select text:condition %formula; #IMPLIED>
+<!ATTLIST text:database-select text:row-number %integer; #REQUIRED>
+
+<!ELEMENT text:database-row-number (#PCDATA)>
+<!ATTLIST text:database-row-number %database-table;>
+<!ATTLIST text:database-row-number %numFormat;>
+<!ATTLIST text:database-row-number text:value %integer; #IMPLIED>
+<!ATTLIST text:database-row-number text:display (none|value) #IMPLIED>
+
+<!ELEMENT text:database-name (#PCDATA)>
+<!ATTLIST text:database-name %database-table;>
+<!ATTLIST text:database-name text:display (none|value) #IMPLIED>
+
+<!ELEMENT text:initial-creator (#PCDATA)>
+<!ATTLIST text:initial-creator text:fixed %boolean; "false">
+
+<!ELEMENT text:creation-date (#PCDATA)>
+<!ATTLIST text:creation-date text:fixed %boolean; "false">
+<!ATTLIST text:creation-date text:date-value %date; #IMPLIED>
+<!ATTLIST text:creation-date style:data-style-name %styleName; #IMPLIED>
+
+<!ELEMENT text:creation-time (#PCDATA)>
+<!ATTLIST text:creation-time text:fixed %boolean; "false">
+<!ATTLIST text:creation-time text:time-value %timeInstance; #IMPLIED>
+<!ATTLIST text:creation-time style:data-style-name %styleName; #IMPLIED>
+
+<!ELEMENT text:description (#PCDATA)>
+<!ATTLIST text:description text:fixed %boolean; "false">
+
+<!ELEMENT text:user-defined (#PCDATA)>
+<!ATTLIST text:user-defined text:fixed %boolean; "false">
+<!ATTLIST text:user-defined text:name %string; #REQUIRED>
+
+<!ELEMENT text:print-time (#PCDATA)>
+<!ATTLIST text:print-time text:fixed %boolean; "false">
+<!ATTLIST text:print-time text:time-value %timeInstance; #IMPLIED>
+<!ATTLIST text:print-time style:data-style-name %styleName; #IMPLIED>
+
+<!ELEMENT text:print-date (#PCDATA)>
+<!ATTLIST text:print-date text:fixed %boolean; "false">
+<!ATTLIST text:print-date text:date-value %date; #IMPLIED>
+<!ATTLIST text:print-date style:data-style-name %styleName; #IMPLIED>
+
+<!ELEMENT text:printed-by (#PCDATA)>
+<!ATTLIST text:printed-by text:fixed %boolean; "false">
+
+<!ELEMENT text:title (#PCDATA)>
+<!ATTLIST text:title text:fixed %boolean; "false">
+
+<!ELEMENT text:subject (#PCDATA)>
+<!ATTLIST text:subject text:fixed %boolean; "false">
+
+<!ELEMENT text:keywords (#PCDATA)>
+<!ATTLIST text:keywords text:fixed %boolean; "false">
+
+<!ELEMENT text:editing-cycles (#PCDATA)>
+<!ATTLIST text:editing-cycles text:fixed %boolean; "false">
+
+<!ELEMENT text:editing-duration (#PCDATA)>
+<!ATTLIST text:editing-duration text:fixed %boolean; "false">
+<!ATTLIST text:editing-duration text:duration %timeDuration; #IMPLIED>
+<!ATTLIST text:editing-duration style:data-style-name %styleName; #IMPLIED>
+
+<!ELEMENT text:modification-time (#PCDATA)>
+<!ATTLIST text:modification-time text:fixed %boolean; "false">
+<!ATTLIST text:modification-time text:time-value %timeInstance; #IMPLIED>
+<!ATTLIST text:modification-time style:data-style-name %styleName; #IMPLIED>
+
+<!ELEMENT text:modification-date (#PCDATA)>
+<!ATTLIST text:modification-date text:fixed %boolean; "false">
+<!ATTLIST text:modification-date text:date-value %date; #IMPLIED>
+<!ATTLIST text:modification-date style:data-style-name %styleName; #IMPLIED>
+
+<!ELEMENT text:creator (#PCDATA)>
+<!ATTLIST text:creator text:fixed %boolean; "false">
+
+<!ELEMENT text:conditional-text (#PCDATA)>
+<!ATTLIST text:conditional-text text:condition %formula; #REQUIRED>
+<!ATTLIST text:conditional-text text:string-value-if-false %string; #REQUIRED>
+<!ATTLIST text:conditional-text text:string-value-if-true %string; #REQUIRED>
+<!ATTLIST text:conditional-text text:current-value %boolean; "false">
+
+<!ELEMENT text:hidden-text (#PCDATA)>
+<!ATTLIST text:hidden-text text:condition %formula; #REQUIRED>
+<!ATTLIST text:hidden-text text:string-value %string; #REQUIRED>
+<!ATTLIST text:hidden-text text:is-hidden %boolean; "false">
+
+<!ELEMENT text:hidden-paragraph EMPTY>
+<!ATTLIST text:hidden-paragraph text:condition %formula; #REQUIRED>
+<!ATTLIST text:hidden-paragraph text:is-hidden %boolean; "false">
+
+<!ELEMENT text:chapter (#PCDATA)>
+<!ATTLIST text:chapter text:display (name|number|number-and-name|
+ plain-number-and-name|plain-number)
+ "number-and-name">
+<!ATTLIST text:chapter text:outline-level %integer; "1">
+
+<!ELEMENT text:file-name (#PCDATA)>
+<!ATTLIST text:file-name text:display (full|path|name|name-and-extension)
+ "full">
+<!ATTLIST text:file-name text:fixed %boolean; "false">
+
+<!ELEMENT text:template-name (#PCDATA)>
+<!ATTLIST text:template-name text:display (full|path|name|name-and-extension|
+ area|title) "full">
+
+<!ELEMENT text:page-variable-set EMPTY>
+<!ATTLIST text:page-variable-set text:active %boolean; "true">
+<!ATTLIST text:page-variable-set text:page-adjust %integer; "0">
+
+<!ELEMENT text:page-variable-get (#PCDATA)>
+<!ATTLIST text:page-variable-get %numFormat;>
+
+<!ELEMENT text:execute-macro (#PCDATA|office:events)* >
+<!ATTLIST text:execute-macro text:description %string; #IMPLIED>
+
+
+<!ELEMENT text:dde-connection-decls (text:dde-connection-decl)*>
+
+<!ELEMENT text:dde-connection-decl EMPTY>
+<!ATTLIST text:dde-connection-decl text:name %string; #REQUIRED>
+<!ATTLIST text:dde-connection-decl office:dde-application %string; #REQUIRED>
+<!ATTLIST text:dde-connection-decl office:dde-topic %string; #REQUIRED>
+<!ATTLIST text:dde-connection-decl office:dde-item %string; #REQUIRED>
+<!ATTLIST text:dde-connection-decl office:automatic-update %boolean; "false">
+
+<!ELEMENT text:dde-connection (#PCDATA)>
+<!ATTLIST text:dde-connection text:connection-name %string; #REQUIRED>
+
+<!ELEMENT text:reference-ref (#PCDATA)>
+<!ATTLIST text:reference-ref text:ref-name %string; #REQUIRED>
+<!ATTLIST text:reference-ref text:reference-format (page|chapter|text|direction) #IMPLIED>
+
+<!ELEMENT text:sequence-ref (#PCDATA)>
+<!ATTLIST text:sequence-ref text:ref-name %string; #REQUIRED>
+<!ATTLIST text:sequence-ref text:reference-format (page|chapter|text|direction|category-and-value|caption|value) #IMPLIED>
+
+<!ELEMENT text:bookmark-ref (#PCDATA)>
+<!ATTLIST text:bookmark-ref text:ref-name %string; #REQUIRED>
+<!ATTLIST text:bookmark-ref text:reference-format (page|chapter|text|direction) #IMPLIED>
+
+<!ELEMENT text:footnote-ref (#PCDATA)>
+<!ATTLIST text:footnote-ref text:ref-name %string; #REQUIRED>
+<!ATTLIST text:footnote-ref text:reference-format (page|chapter|text|direction) #IMPLIED>
+
+<!ELEMENT text:endnote-ref (#PCDATA)>
+<!ATTLIST text:endnote-ref text:ref-name %string; #REQUIRED>
+<!ATTLIST text:endnote-ref text:reference-format (page|chapter|text|direction) #IMPLIED>
+
+<!ELEMENT text:sheet-name (#PCDATA)>
+
+<!ELEMENT text:page-count (#PCDATA)>
+<!ATTLIST text:page-count style:num-format %string; #IMPLIED>
+<!ATTLIST text:page-count style:num-letter-sync %boolean; "false">
+
+<!ELEMENT text:paragraph-count (#PCDATA)>
+<!ATTLIST text:paragraph-count style:num-format %string; #IMPLIED>
+<!ATTLIST text:paragraph-count style:num-letter-sync %boolean; "false">
+
+<!ELEMENT text:word-count (#PCDATA)>
+<!ATTLIST text:word-count style:num-format %string; #IMPLIED>
+<!ATTLIST text:word-count style:num-letter-sync %boolean; "false">
+
+<!ELEMENT text:character-count (#PCDATA)>
+<!ATTLIST text:character-count style:num-format %string; #IMPLIED>
+<!ATTLIST text:character-count style:num-letter-sync %boolean; "false">
+
+<!ELEMENT text:table-count (#PCDATA)>
+<!ATTLIST text:table-count style:num-format %string; #IMPLIED>
+<!ATTLIST text:table-count style:num-letter-sync %boolean; "false">
+
+<!ELEMENT text:image-count (#PCDATA)>
+<!ATTLIST text:image-count style:num-format %string; #IMPLIED>
+<!ATTLIST text:image-count style:num-letter-sync %boolean; "false">
+
+<!ELEMENT text:object-count (#PCDATA)>
+<!ATTLIST text:object-count style:num-format %string; #IMPLIED>
+<!ATTLIST text:object-count style:num-letter-sync %boolean; "false">
+
+<!ELEMENT text:bibliography-mark (#PCDATA)>
+<!ATTLIST text:bibliography-mark text:bibliography-type
+ ( article | book | booklet | conference | custom1 | custom2 | custom3 |
+ custom4 | custom5 | email | inbook | incollection | inproceedings |
+ journal | manual | mastersthesis | misc | phdthesis | proceedings |
+ techreport | unpublished | www ) #REQUIRED >
+<!ATTLIST text:bibliography-mark text:identifier CDATA #IMPLIED>
+<!ATTLIST text:bibliography-mark text:address CDATA #IMPLIED>
+<!ATTLIST text:bibliography-mark text:annote CDATA #IMPLIED>
+<!ATTLIST text:bibliography-mark text:author CDATA #IMPLIED>
+<!ATTLIST text:bibliography-mark text:booktitle CDATA #IMPLIED>
+<!ATTLIST text:bibliography-mark text:chapter CDATA #IMPLIED>
+<!ATTLIST text:bibliography-mark text:edition CDATA #IMPLIED>
+<!ATTLIST text:bibliography-mark text:editor CDATA #IMPLIED>
+<!ATTLIST text:bibliography-mark text:howpublished CDATA #IMPLIED>
+<!ATTLIST text:bibliography-mark text:institution CDATA #IMPLIED>
+<!ATTLIST text:bibliography-mark text:journal CDATA #IMPLIED>
+<!ATTLIST text:bibliography-mark text:month CDATA #IMPLIED>
+<!ATTLIST text:bibliography-mark text:note CDATA #IMPLIED>
+<!ATTLIST text:bibliography-mark text:number CDATA #IMPLIED>
+<!ATTLIST text:bibliography-mark text:organizations CDATA #IMPLIED>
+<!ATTLIST text:bibliography-mark text:pages CDATA #IMPLIED>
+<!ATTLIST text:bibliography-mark text:publisher CDATA #IMPLIED>
+<!ATTLIST text:bibliography-mark text:school CDATA #IMPLIED>
+<!ATTLIST text:bibliography-mark text:series CDATA #IMPLIED>
+<!ATTLIST text:bibliography-mark text:title CDATA #IMPLIED>
+<!ATTLIST text:bibliography-mark text:report-type CDATA #IMPLIED>
+<!ATTLIST text:bibliography-mark text:volume CDATA #IMPLIED>
+<!ATTLIST text:bibliography-mark text:year CDATA #IMPLIED>
+<!ATTLIST text:bibliography-mark text:url CDATA #IMPLIED>
+<!ATTLIST text:bibliography-mark text:custom1 CDATA #IMPLIED>
+<!ATTLIST text:bibliography-mark text:custom2 CDATA #IMPLIED>
+<!ATTLIST text:bibliography-mark text:custom3 CDATA #IMPLIED>
+<!ATTLIST text:bibliography-mark text:custom4 CDATA #IMPLIED>
+<!ATTLIST text:bibliography-mark text:custom5 CDATA #IMPLIED>
+<!ATTLIST text:bibliography-mark text:isbn CDATA #IMPLIED>
+
+
+<!ELEMENT text:bookmark EMPTY>
+<!ATTLIST text:bookmark text:name CDATA #REQUIRED>
+
+<!ELEMENT text:bookmark-start EMPTY>
+<!ATTLIST text:bookmark-start text:name CDATA #REQUIRED>
+
+<!ELEMENT text:bookmark-end EMPTY>
+<!ATTLIST text:bookmark-end text:name CDATA #REQUIRED>
+
+<!ELEMENT text:reference-mark EMPTY>
+<!ATTLIST text:reference-mark text:name CDATA #REQUIRED>
+
+<!ELEMENT text:reference-mark-start EMPTY>
+<!ATTLIST text:reference-mark-start text:name CDATA #REQUIRED>
+
+<!ELEMENT text:reference-mark-end EMPTY>
+<!ATTLIST text:reference-mark-end text:name CDATA #REQUIRED>
+
+<!ELEMENT text:footnotes-configuration (text:footnote-continuation-notice-forward?,text:footnote-continuation-notice-backward?)>
+<!ATTLIST text:footnotes-configuration style:num-prefix %string; #IMPLIED>
+<!ATTLIST text:footnotes-configuration style:num-suffix %string; #IMPLIED>
+<!ATTLIST text:footnotes-configuration style:num-format %string; #IMPLIED>
+<!ATTLIST text:footnotes-configuration style:num-letter-sync %string; #IMPLIED>
+<!ATTLIST text:footnotes-configuration text:citation-body-style-name %styleName; #IMPLIED>
+<!ATTLIST text:footnotes-configuration text:citation-style-name %styleName; #IMPLIED>
+<!ATTLIST text:footnotes-configuration text:default-style-name %styleName; #IMPLIED>
+<!ATTLIST text:footnotes-configuration text:master-page-name %styleName; #IMPLIED>
+<!ATTLIST text:footnotes-configuration text:start-value %integer; #IMPLIED>
+<!ATTLIST text:footnotes-configuration text:footnotes-position (document|page) "page">
+<!ATTLIST text:footnotes-configuration text:start-numbering-at (document|chapter|page) "document">
+
+<!ELEMENT text:footnote-continuation-notice-forward (#PCDATA)>
+<!ELEMENT text:footnote-continuation-notice-backward (#PCDATA)>
+
+<!ELEMENT text:endnotes-configuration EMPTY>
+<!ATTLIST text:endnotes-configuration style:num-prefix %string; #IMPLIED>
+<!ATTLIST text:endnotes-configuration style:num-suffix %string; #IMPLIED>
+<!ATTLIST text:endnotes-configuration style:num-format %string; #IMPLIED>
+<!ATTLIST text:endnotes-configuration style:num-letter-sync %string; #IMPLIED>
+<!ATTLIST text:endnotes-configuration text:start-value %integer; #IMPLIED>
+<!ATTLIST text:endnotes-configuration text:citation-style-name %styleName; #IMPLIED>
+<!ATTLIST text:endnotes-configuration text:citation-body-style-name %styleName; #IMPLIED>
+<!ATTLIST text:endnotes-configuration text:default-style-name %styleName; #IMPLIED>
+<!ATTLIST text:endnotes-configuration text:master-page-name %styleName; #IMPLIED>
+
+<!-- Validity constraint: text:footnote and text:endnote elements may not
+ contain other text:footnote or text:endnote elements, even though the DTD
+ allows this (via the %text; in the foot-/endnote-body).
+ Unfortunatetly, this constraint cannot be easily specified in the DTD.
+-->
+<!ELEMENT text:footnote (text:footnote-citation, text:footnote-body)>
+<!ATTLIST text:footnote text:id ID #IMPLIED>
+
+<!ELEMENT text:footnote-citation (#PCDATA)>
+<!ATTLIST text:footnote-citation text:label %string; #IMPLIED>
+
+<!ELEMENT text:footnote-body (text:h|text:p|
+ text:ordered-list|text:unordered-list)*>
+
+<!ELEMENT text:endnote (text:endnote-citation, text:endnote-body)>
+<!ATTLIST text:endnote text:id ID #IMPLIED>
+
+<!ELEMENT text:endnote-citation (#PCDATA)>
+<!ATTLIST text:endnote-citation text:label %string; #IMPLIED>
+
+<!ELEMENT text:endnote-body (text:h|text:p|
+ text:ordered-list|text:unordered-list)*>
+
+<!ENTITY % sectionAttr "text:name CDATA #REQUIRED
+ text:style-name %styleName; #IMPLIED
+ text:protected %boolean; 'false' ">
+
+
+<!ELEMENT text:section ((text:section-source|office:dde-source)?,
+ %sectionText;) >
+
+<!ATTLIST text:section %sectionAttr;>
+<!ATTLIST text:section text:display (true|none|condition) "true">
+<!ATTLIST text:section text:condition %formula; #IMPLIED>
+<!ATTLIST text:section text:protection-key CDATA #IMPLIED>
+<!ATTLIST text:section text:is-hidden %boolean; #IMPLIED>
+
+<!ELEMENT text:section-source EMPTY>
+<!ATTLIST text:section-source xlink:href %string; #IMPLIED>
+<!ATTLIST text:section-source xlink:type (simple) #FIXED "simple">
+<!ATTLIST text:section-source xlink:show (embed) #FIXED "embed">
+<!ATTLIST text:section-source text:section-name %string; #IMPLIED>
+<!ATTLIST text:section-source text:filter-name %string; #IMPLIED>
+
+<!ELEMENT text:table-of-content (text:table-of-content-source,
+ text:index-body) >
+<!ATTLIST text:table-of-content %sectionAttr;>
+
+<!ELEMENT text:table-of-content-source (text:index-title-template? ,
+ text:table-of-content-entry-template*,
+ text:index-source-styles* ) >
+<!ATTLIST text:table-of-content-source text:outline-level %integer; #IMPLIED>
+<!ATTLIST text:table-of-content-source text:use-outline-level %boolean; "true">
+<!ATTLIST text:table-of-content-source text:use-index-marks %boolean; "true">
+<!ATTLIST text:table-of-content-source text:use-index-source-styles
+ %boolean; "false">
+<!ATTLIST text:table-of-content-source text:index-scope (document|chapter)
+ "document">
+<!ATTLIST text:table-of-content-source text:relative-tab-stop-position
+ %boolean; "true">
+<!ATTLIST text:table-of-content-source fo:language %string; #IMPLIED>
+<!ATTLIST text:table-of-content-source fo:country %string; #IMPLIED>
+<!ATTLIST text:table-of-content-source text:sort-algorithm %string; #IMPLIED>
+
+<!ELEMENT text:table-of-content-entry-template (text:index-entry-chapter-number |
+ text:index-entry-page-number |
+ text:index-entry-text |
+ text:index-entry-span |
+ text:index-entry-tab-stop |
+ text:index-entry-link-start |
+ text:index-entry-link-end)* >
+<!ATTLIST text:table-of-content-entry-template text:outline-level
+ %integer; #REQUIRED>
+<!ATTLIST text:table-of-content-entry-template text:style-name
+ %styleName; #REQUIRED>
+
+<!ELEMENT text:illustration-index
+ (text:illustration-index-source, text:index-body)>
+<!ATTLIST text:illustration-index %sectionAttr;>
+
+<!ELEMENT text:illustration-index-source (text:index-title-template?,
+ text:illustration-index-entry-template?) >
+<!ATTLIST text:illustration-index-source text:index-scope
+ (document|chapter) "document">
+<!ATTLIST text:illustration-index-source text:relative-tab-stop-position
+ %boolean; "true">
+<!ATTLIST text:illustration-index-source text:use-caption %boolean; "true">
+<!ATTLIST text:illustration-index-source text:caption-sequence-name
+ %string; #IMPLIED>
+<!ATTLIST text:illustration-index-source text:caption-sequence-format
+ (text|category-and-value|caption) "text">
+<!ATTLIST text:illustration-index-source fo:language %string; #IMPLIED>
+<!ATTLIST text:illustration-index-source fo:country %string; #IMPLIED>
+<!ATTLIST text:illustration-index-source text:sort-algorithm %string; #IMPLIED>
+
+<!ELEMENT text:illustration-index-entry-template
+ ( text:index-entry-page-number |
+ text:index-entry-text |
+ text:index-entry-span |
+ text:index-entry-tab-stop )* >
+<!ATTLIST text:illustration-index-entry-template text:style-name
+ %styleName; #REQUIRED>
+
+<!ELEMENT text:table-index (text:table-index-source, text:index-body)>
+<!ATTLIST text:table-index %sectionAttr;>
+
+<!ELEMENT text:table-index-source (text:index-title-template?,
+ text:table-index-entry-template?) >
+<!ATTLIST text:table-index-source text:index-scope
+ (document|chapter) "document">
+<!ATTLIST text:table-index-source text:relative-tab-stop-position
+ %boolean; "true">
+<!ATTLIST text:table-index-source text:use-caption %boolean; "true">
+<!ATTLIST text:table-index-source text:caption-sequence-name
+ %string; #IMPLIED>
+<!ATTLIST text:table-index-source text:caption-sequence-format
+ (text|category-and-value|caption) "text">
+<!ATTLIST text:table-index-source fo:language %string; #IMPLIED>
+<!ATTLIST text:table-index-source fo:country %string; #IMPLIED>
+<!ATTLIST text:table-index-source text:sort-algorithm %string; #IMPLIED>
+
+<!ELEMENT text:table-index-entry-template ( text:index-entry-page-number |
+ text:index-entry-text |
+ text:index-entry-span |
+ text:index-entry-tab-stop )* >
+<!ATTLIST text:table-index-entry-template text:style-name
+ %styleName; #REQUIRED>
+
+<!ELEMENT text:object-index ( text:object-index-source, text:index-body ) >
+<!ATTLIST text:object-index %sectionAttr;>
+
+<!ELEMENT text:object-index-source ( text:index-title-template?,
+ text:object-index-entry-template? ) >
+<!ATTLIST text:object-index-source text:index-scope
+ (document|chapter) "document">
+<!ATTLIST text:object-index-source text:relative-tab-stop-position
+ %boolean; "true">
+<!ATTLIST text:object-index-source text:use-spreadsheet-objects
+ %boolean; "false">
+<!ATTLIST text:object-index-source text:use-draw-objects %boolean; "false">
+<!ATTLIST text:object-index-source text:use-chart-objects %boolean; "false">
+<!ATTLIST text:object-index-source text:use-other-objects %boolean; "false">
+<!ATTLIST text:object-index-source text:use-math-objects %boolean; "false">
+<!ATTLIST text:object-index-source fo:language %string; #IMPLIED>
+<!ATTLIST text:object-index-source fo:country %string; #IMPLIED>
+<!ATTLIST text:object-index-source text:sort-algorithm %string; #IMPLIED>
+
+<!ELEMENT text:object-index-entry-template ( text:index-entry-page-number |
+ text:index-entry-text |
+ text:index-entry-span |
+ text:index-entry-tab-stop )* >
+<!ATTLIST text:object-index-entry-template text:style-name
+ %styleName; #REQUIRED >
+
+<!ELEMENT text:user-index (text:user-index-source, text:index-body) >
+<!ATTLIST text:user-index %sectionAttr;>
+
+<!ELEMENT text:user-index-source ( text:index-title-template?,
+ text:user-index-entry-template*,
+ text:index-source-styles* ) >
+<!ATTLIST text:user-index-source text:index-scope
+ (document|chapter) "document">
+<!ATTLIST text:user-index-source text:relative-tab-stop-position
+ %boolean; "true">
+<!ATTLIST text:user-index-source text:use-index-marks %boolean; "false">
+<!ATTLIST text:user-index-source text:use-graphics %boolean; "false">
+<!ATTLIST text:user-index-source text:use-tables %boolean; "false">
+<!ATTLIST text:user-index-source text:use-floating-frames %boolean; "false">
+<!ATTLIST text:user-index-source text:use-objects %boolean; "false">
+<!ATTLIST text:user-index-source text:use-index-source-styles
+ %boolean; "false">
+<!ATTLIST text:user-index-source text:copy-outline-levels %boolean; "false">
+<!ATTLIST text:user-index-source fo:language %string; #IMPLIED>
+<!ATTLIST text:user-index-source fo:country %string; #IMPLIED>
+<!ATTLIST text:user-index-source text:sort-algorithm %string; #IMPLIED>
+<!ATTLIST text:user-index-source text:index-name %string; #IMPLIED>
+
+<!ELEMENT text:user-index-entry-template ( text:index-entry-chapter |
+ text:index-entry-page-number |
+ text:index-entry-text |
+ text:index-entry-span |
+ text:index-entry-tab-stop )* >
+<!ATTLIST text:user-index-entry-template text:outline-level %integer; #REQUIRED>
+<!ATTLIST text:user-index-entry-template text:style-name %styleName; #REQUIRED>
+
+<!ELEMENT text:alphabetical-index (text:alphabetical-index-source,
+ text:index-body)>
+<!ATTLIST text:alphabetical-index %sectionAttr;>
+
+<!ELEMENT text:alphabetical-index-source ( text:index-title-template?,
+ text:alphabetical-index-entry-template* ) >
+<!ATTLIST text:alphabetical-index-source text:index-scope
+ (document|chapter) "document">
+<!ATTLIST text:alphabetical-index-source text:relative-tab-stop-position
+ %boolean; "true">
+<!ATTLIST text:alphabetical-index-source text:ignore-case %boolean; "false">
+<!ATTLIST text:alphabetical-index-source text:main-entry-style-name
+ %styleName; #IMPLIED>
+<!ATTLIST text:alphabetical-index-source text:alphabetical-separators
+ %boolean; "false">
+<!ATTLIST text:alphabetical-index-source text:combine-entries
+ %boolean; "true">
+<!ATTLIST text:alphabetical-index-source text:combine-entries-with-dash
+ %boolean; "false">
+<!ATTLIST text:alphabetical-index-source text:combine-entries-with-pp
+ %boolean; "true">
+<!ATTLIST text:alphabetical-index-source text:use-keys-as-entries
+ %boolean; "false">
+<!ATTLIST text:alphabetical-index-source text:capitalize-entries
+ %boolean; "false">
+<!ATTLIST text:alphabetical-index-source text:comma-separated
+ %boolean; "false">
+<!ATTLIST text:alphabetical-index-source fo:language %string; #IMPLIED>
+<!ATTLIST text:alphabetical-index-source fo:country %string; #IMPLIED>
+<!ATTLIST text:alphabetical-index-source text:sort-algorithm %string; #IMPLIED>
+
+<!ELEMENT text:alphabetical-index-entry-template ( text:index-entry-chapter |
+ text:index-entry-page-number |
+ text:index-entry-text |
+ text:index-entry-span |
+ text:index-entry-tab-stop )* >
+<!ATTLIST text:alphabetical-index-entry-template text:outline-level
+ (1|2|3|separator) #REQUIRED>
+<!ATTLIST text:alphabetical-index-entry-template text:style-name
+ %styleName; #REQUIRED>
+
+<!ELEMENT text:alphabetical-index-auto-mark-file EMPTY>
+<!ATTLIST text:alphabetical-index-auto-mark-file xlink:href CDATA #IMPLIED>
+<!ATTLIST text:alphabetical-index-auto-mark-file xlink:type (simple) #FIXED "simple">
+
+<!ELEMENT text:bibliography (text:bibliography-source, text:index-body) >
+<!ATTLIST text:bibliography %sectionAttr;>
+
+<!ELEMENT text:bibliography-source ( text:index-title-template?,
+ text:bibliography-entry-template* ) >
+
+<!ELEMENT text:bibliography-entry-template ( text:index-entry-span |
+ text:index-entry-tab-stop |
+ text:index-entry-bibliography )* >
+<!ATTLIST text:bibliography-entry-template text:bibliography-type
+ ( article | book | booklet | conference | custom1 | custom2 |
+ custom3 | custom4 | custom5 | email | inbook | incollection |
+ inproceedings | journal | manual | mastersthesis | misc |
+ phdthesis | proceedings | techreport | unpublished | www )
+ #REQUIRED >
+<!ATTLIST text:bibliography-entry-template text:style-name
+ %styleName; #REQUIRED>
+
+<!ELEMENT text:index-body %sectionText; >
+
+<!--
+Validity constraint: text:index-title elements may appear only in
+indices, and there may be only one text:index-title element.
+-->
+<!ELEMENT text:index-title %sectionText; >
+<!ATTLIST text:index-title text:style-name %styleName; #IMPLIED>
+<!ATTLIST text:index-title text:name %string; #IMPLIED>
+
+<!ELEMENT text:index-title-template (#PCDATA)>
+<!ATTLIST text:index-title-template text:style-name %styleName; #IMPLIED>
+
+<!ELEMENT text:index-entry-chapter-number EMPTY>
+<!ATTLIST text:index-entry-chapter-number text:style-name %styleName; #IMPLIED>
+
+<!ELEMENT text:index-entry-chapter EMPTY>
+<!ATTLIST text:index-entry-chapter text:style-name %styleName; #IMPLIED>
+<!ATTLIST text:index-entry-chapter text:display (name|number|number-and-name)
+ "number-and-name" >
+
+<!ELEMENT text:index-entry-text EMPTY>
+<!ATTLIST text:index-entry-text text:style-name %styleName; #IMPLIED>
+
+<!ELEMENT text:index-entry-page-number EMPTY>
+<!ATTLIST text:index-entry-page-number text:style-name %styleName; #IMPLIED>
+
+<!ELEMENT text:index-entry-span (#PCDATA)>
+<!ATTLIST text:index-entry-span text:style-name %styleName; #IMPLIED>
+
+<!ELEMENT text:index-entry-bibliography EMPTY>
+<!ATTLIST text:index-entry-bibliography text:style-name %styleName; #IMPLIED>
+<!ATTLIST text:index-entry-bibliography text:bibliography-data-field
+ ( address | annote | author | bibliography-type |
+ booktitle | chapter | custom1 | custom2 |
+ custom3 | custom4 | custom5 | edition | editor |
+ howpublished | identifier | institution | isbn |
+ journal | month | note | number | organizations |
+ pages | publisher | report-type | school |
+ series | title | url | volume | year ) #REQUIRED>
+
+
+<!ELEMENT text:index-entry-tab-stop EMPTY>
+<!ATTLIST text:index-entry-tab-stop text:style-name %styleName; #IMPLIED>
+<!ATTLIST text:index-entry-tab-stop style:leader-char %character; " ">
+<!ATTLIST text:index-entry-tab-stop style:type (left|right) "left">
+<!ATTLIST text:index-entry-tab-stop style:position %length; #IMPLIED>
+<!ATTLIST text:index-entry-tab-stop style:with-tab %boolean; "true">
+
+<!ELEMENT text:index-entry-link-start EMPTY>
+<!ATTLIST text:index-entry-link-start text:style-name %styleName; #IMPLIED>
+
+<!ELEMENT text:index-entry-link-end EMPTY>
+<!ATTLIST text:index-entry-link-end text:style-name %styleName; #IMPLIED>
+
+<!ELEMENT text:index-source-styles (text:index-source-style)*>
+<!ATTLIST text:index-source-styles text:outline-level %integer; #REQUIRED>
+
+<!ELEMENT text:index-source-style EMPTY>
+<!ATTLIST text:index-source-style text:style-name %styleName; #REQUIRED>
+
+<!ELEMENT text:toc-mark-start EMPTY>
+<!ATTLIST text:toc-mark-start text:id %string; #REQUIRED>
+<!ATTLIST text:toc-mark-start text:outline-level %integer; #IMPLIED>
+
+<!ELEMENT text:toc-mark-end EMPTY>
+<!ATTLIST text:toc-mark-end text:id %string; #REQUIRED>
+
+<!ELEMENT text:toc-mark EMPTY>
+<!ATTLIST text:toc-mark text:string-value %string; #REQUIRED>
+<!ATTLIST text:toc-mark text:outline-level %integer; #IMPLIED>
+
+<!ELEMENT text:user-index-mark-start EMPTY>
+<!ATTLIST text:user-index-mark-start text:id %string; #REQUIRED>
+<!ATTLIST text:user-index-mark-start text:outline-level %integer; #IMPLIED>
+<!ATTLIST text:user-index-mark-start text:index-name %string; #IMPLIED>
+
+<!ELEMENT text:user-index-mark-end EMPTY>
+<!ATTLIST text:user-index-mark-end text:id %string; #REQUIRED>
+
+<!ELEMENT text:user-index-mark EMPTY>
+<!ATTLIST text:user-index-mark text:string-value %string; #REQUIRED>
+<!ATTLIST text:user-index-mark text:outline-level %integer; #IMPLIED>
+<!ATTLIST text:user-index-mark text:index-name %string; #IMPLIED>
+
+<!ELEMENT text:alphabetical-index-mark-start EMPTY>
+<!ATTLIST text:alphabetical-index-mark-start text:id %string; #REQUIRED>
+<!ATTLIST text:alphabetical-index-mark-start text:key1 %string; #IMPLIED>
+<!ATTLIST text:alphabetical-index-mark-start text:key2 %string; #IMPLIED>
+<!ATTLIST text:alphabetical-index-mark-start text:main-etry %boolean; "false">
+
+<!ELEMENT text:alphabetical-index-mark-end EMPTY>
+<!ATTLIST text:alphabetical-index-mark-end text:id %string; #REQUIRED>
+
+<!ELEMENT text:alphabetical-index-mark EMPTY>
+<!ATTLIST text:alphabetical-index-mark text:string-value %string; #REQUIRED>
+<!ATTLIST text:alphabetical-index-mark text:key1 %string; #IMPLIED>
+<!ATTLIST text:alphabetical-index-mark text:key2 %string; #IMPLIED>
+<!ATTLIST text:alphabetical-index-mark text:main-etry %boolean; "false">
+
+<!ELEMENT text:bibliography-configuration (text:sort-key)*>
+<!ATTLIST text:bibliography-configuration text:prefix %string; #IMPLIED>
+<!ATTLIST text:bibliography-configuration text:suffix %string; #IMPLIED>
+<!ATTLIST text:bibliography-configuration text:sort-by-position %boolean; "true">
+<!ATTLIST text:bibliography-configuration text:numbered-entries %boolean; "false">
+<!ATTLIST text:bibliography-configuration fo:language %string; #IMPLIED>
+<!ATTLIST text:bibliography-configuration fo:country %string; #IMPLIED>
+<!ATTLIST text:bibliography-configuration text:sort-algorithm %string; #IMPLIED>
+
+<!ELEMENT text:sort-key EMPTY>
+<!ATTLIST text:sort-key text:key ( address | annote | author |
+ bibliography-type | booktitle | chapter | custom1 | custom2 |
+ custom3 | custom4 | custom5 | edition | editor | howpublished |
+ identifier | institution | isbn | journal | month | note | number |
+ organizations | pages | publisher | report-type | school | series |
+ title | url | volume | year ) #REQUIRED>
+<!ATTLIST text:sort-key text:sort-ascending %boolean; "true">
+
+<!ELEMENT text:linenumbering-configuration (text:linenumbering-separator?)>
+<!ATTLIST text:linenumbering-configuration text:style-name %styleName; #IMPLIED>
+<!ATTLIST text:linenumbering-configuration text:number-lines %boolean; "true">
+<!ATTLIST text:linenumbering-configuration text:count-empty-lines %boolean; "true">
+<!ATTLIST text:linenumbering-configuration text:count-in-floating-frames %boolean; "false">
+<!ATTLIST text:linenumbering-configuration text:restart-numbering %boolean; "false">
+<!ATTLIST text:linenumbering-configuration text:offset %nonNegativeLength; #IMPLIED>
+<!ATTLIST text:linenumbering-configuration style:num-format (1|a|A|i|I) "1">
+<!ATTLIST text:linenumbering-configuration style:num-letter-sync %boolean; "false">
+<!ATTLIST text:linenumbering-configuration text:number-position (left|rigth|inner|outer) "left">
+<!ATTLIST text:linenumbering-configuration text:increment %nonNegativeInteger; #IMPLIED>
+
+<!ELEMENT text:linenumbering-separator (#PCDATA)>
+<!ATTLIST text:linenumbering-separator text:increment %nonNegativeInteger; #IMPLIED>
+
+<!ELEMENT text:script (#PCDATA)>
+<!ATTLIST text:script script:language CDATA #REQUIRED>
+<!ATTLIST text:script xlink:href CDATA #IMPLIED>
+<!ATTLIST text:script xlink:type (simple) #FIXED "simple">
+
+<!ELEMENT text:measure (#PCDATA)>
+<!ATTLIST text:measure text:kind (value|unit|gap) #REQUIRED>
+
+<!ELEMENT text:ruby (text:ruby-base, text:ruby-text)>
+<!ATTLIST text:ruby text:style-name %styleName; #IMPLIED>
+
+<!ELEMENT text:ruby-base %inline-text;>
+
+<!ELEMENT text:ruby-text (#PCDATA)>
+<!ATTLIST text:ruby-text text:style-name %styleName; #IMPLIED>
+
+<!-- elements for change tracking -->
+
+<!ELEMENT text:change EMPTY>
+<!ATTLIST text:change text:change-id CDATA #REQUIRED>
+
+<!ELEMENT text:change-start EMPTY>
+<!ATTLIST text:change-start text:change-id CDATA #REQUIRED>
+
+<!ELEMENT text:change-end EMPTY>
+<!ATTLIST text:change-end text:change-id CDATA #REQUIRED>
+
+<!ELEMENT text:tracked-changes (text:changed-region)*>
+<!ATTLIST text:tracked-changes text:track-changes %boolean; "true">
+<!ATTLIST text:tracked-changes text:protection-key CDATA #IMPLIED>
+
+<!ELEMENT text:changed-region (text:insertion |
+ (text:deletion, text:insertion?) |
+ text:format-change) >
+<!ATTLIST text:changed-region text:id ID #REQUIRED>
+<!ATTLIST text:changed-region text:merge-last-paragraph %boolean; "true">
+
+<!ELEMENT text:insertion (office:change-info, %sectionText;)>
+<!ELEMENT text:deletion (office:change-info, %sectionText;)>
+<!ELEMENT text:format-change (office:change-info)>
+
diff --git a/test/user-template/user/dtd/officedocument/1_0/toolbar.dtd b/test/user-template/user/dtd/officedocument/1_0/toolbar.dtd
new file mode 100644
index 000000000000..258f9ddb3066
--- /dev/null
+++ b/test/user-template/user/dtd/officedocument/1_0/toolbar.dtd
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ Copyright 2000, 2010 Oracle and/or its affiliates.
+
+ OpenOffice.org - a multi-platform office productivity suite
+
+ This file is part of OpenOffice.org.
+
+ OpenOffice.org is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License version 3
+ only, as published by the Free Software Foundation.
+
+ OpenOffice.org is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License version 3 for more details
+ (a copy is included in the LICENSE file that accompanied this code).
+
+ You should have received a copy of the GNU Lesser General Public License
+ version 3 along with OpenOffice.org. If not, see
+ <http://www.openoffice.org/license.html>
+ for a copy of the LGPLv3 License.
+
+-->
+<!ENTITY % boolean "(true|false)">
+<!ENTITY % numeric "CDATA">
+<!ENTITY % alignment "(top|bottom|left|right)">
+<!ENTITY % style "(symbol|text|symboltext)">
+<!ELEMENT toolbar:toolbar (toolbar:toolbaritem | toolbar:toolbarspace | toolbar:toolbarbreak | toolbar:toolbarseparator)*>
+<!ATTLIST toolbar:toolbar
+ xmlns:toolbar CDATA #FIXED "http://openoffice.org/2001/toolbar"
+ xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
+>
+<!ELEMENT toolbar:toolbaritem EMPTY>
+<!ATTLIST toolbar:toolbaritem
+ xlink:href CDATA #REQUIRED
+ toolbar:visible %boolean; "true"
+ toolbar:userdefined %boolean; "false"
+ toolbar:text CDATA #IMPLIED
+ toolbar:width %numeric; "0"
+ toolbar:style CDATA #IMPLIED
+ toolbar:bitmap CDATA #IMPLIED
+ toolbar:helpid CDATA #IMPLIED
+>
+<!ELEMENT toolbar:toolbarspace EMPTY>
+<!ELEMENT toolbar:toolbarbreak EMPTY>
+<!ELEMENT toolbar:toolbarseparator EMPTY>
+<!ELEMENT toolbar:toolbarlayouts (toolbar:toolbarlayout*)>
+<!ATTLIST toolbar:toolbarlayouts
+ xmlns:toolbar CDATA #FIXED "http://openoffice.org/2001/toolbar"
+>
+<!ELEMENT toolbar:toolbarlayout EMPTY>
+<!ATTLIST toolbar:toolbarlayout
+ toolbar:id CDATA #REQUIRED
+ toolbar:floatingposleft %numeric; #IMPLIED
+ toolbar:floatingpostop %numeric; #IMPLIED
+ toolbar:floatinglines %numeric; "0"
+ toolbar:dockinglines %numeric; "1"
+ toolbar:align %alignment; "left"
+ toolbar:visible %boolean; "false"
+ toolbar:floating %boolean; "false"
+ toolbar:style %style; "symbol"
+ toolbar:userdefname CDATA #IMPLIED
+>
diff --git a/test/user-template/user/fingerprint/afrikaans.lm b/test/user-template/user/fingerprint/afrikaans.lm
new file mode 100644
index 000000000000..c110f154b664
--- /dev/null
+++ b/test/user-template/user/fingerprint/afrikaans.lm
@@ -0,0 +1,400 @@
+_ 23602
+e 8036
+a 4087
+n 3782
+i 3726
+o 3314
+r 2951
+s 2885
+t 2749
+d 2479
+e_ 2118
+l 1854
+k 1741
+ie 1670
+g 1601
+n_ 1447
+m 1440
+_d 1219
+t_ 1143
+er 1124
+h 1124
+u 1110
+ie_ 1079
+y 1048
+w 986
+s_ 982
+_s 969
+_h 956
+di 924
+an 922
+r_ 912
+aa 882
+v 876
+en 807
+_di 807
+. 790
+y_ 747
+_v 709
+et 706
+._ 694
+die 691
+die_ 667
+_n 666
+_die 651
+p 639
+_m 634
+_die_ 633
+_w 632
+ee 607
+ge 606
+_o 598
+b 586
+te 568
+, 560
+in 555
+k_ 550
+_e 550
+,_ 548
+oo 516
+et_ 511
+de 509
+el 489
+_g 486
+f 461
+ar 451
+ni 450
+nd 442
+an_ 440
+en_ 437
+_i 426
+he 423
+g_ 418
+_t 412
+oe 410
+at 406
+er_ 400
+om 381
+wa 378
+_a 378
+_b 377
+_k 371
+nie 371
+_he 370
+aar 355
+_ge 351
+es 351
+_ni 348
+da 346
+m_ 342
+ou 338
+it 335
+_nie 335
+d_ 332
+l_ 330
+_wa 329
+or 327
+le 326
+we 326
+ek 324
+het 321
+me 319
+_het 319
+is 318
+j 315
+at_ 311
+on 309
+se 308
+_en 298
+ma 294
+st 291
+as 280
+va 277
+_en_ 270
+re 270
+" 269
+' 265
+het_ 261
+_het_ 260
+om_ 254
+al 252
+ar_ 250
+li 248
+te_ 247
+aar_ 247
+_da 245
+u_ 242
+nde 241
+ou_ 237
+_l 231
+be 229
+_' 226
+rd 224
+_va 224
+ig 223
+ng 222
+ns 221
+ve 220
+it_ 218
+_j 216
+_me 216
+sy 215
+ke 213
+_sy 212
+aan 212
+van 212
+_in 210
+is_ 210
+in_ 208
+sy_ 206
+_sy_ 206
+'n 205
+ro 205
+ko 204
+_'n 203
+ra 203
+'n_ 203
+_'n_ 202
+so 202
+D 202
+ho 201
+rs 200
+eer 200
+ik 199
+la 198
+_te 196
+_van 196
+_ma 195
+as_ 194
+ui 194
+ver 192
+e. 192
+der 191
+to 188
+op 187
+van_ 184
+ag 184
+_ve 182
+and 180
+_van_ 178
+ha 178
+f_ 176
+ka 176
+ne 175
+_is 175
+sk 174
+e._ 174
+oor 174
+_ver 170
+ek_ 170
+_hy 170
+hy 170
+p_ 168
+_be 168
+ri 168
+ur 167
+nie_ 165
+_so 165
+_D 164
+si 164
+ll 164
+no 164
+_in_ 163
+_hy_ 162
+hy_ 162
+ed 161
+ers 160
+_r 156
+ak 156
+_ho 155
+_nie_ 153
+eg 153
+nt 152
+de_ 152
+_p 151
+_we 148
+_is_ 148
+ei 147
+es_ 142
+maa 142
+wee 142
+na 141
+nder 139
+a_ 138
+ing 138
+ew 138
+S 135
+lle 135
+_om 135
+_te_ 134
+eu 134
+ie. 134
+wo 132
+em 132
+wat 131
+_no 130
+_" 130
+vo 130
+E 129
+H 128
+_wat 127
+ti 126
+mo 126
+A 126
+e, 126
+_ha 125
+vi 125
+el_ 125
+ter 125
+e,_ 124
+dat 124
+eer_ 124
+wat_ 124
+le_ 124
+ta 124
+Di 123
+dat_ 123
+_wat_ 122
+ie._ 122
+was 121
+ste 121
+_H 121
+_se 121
+se_ 120
+ul 120
+al_ 120
+_was 120
+_om_ 119
+_st 119
+lik 118
+"_ 118
+_ko 118
+_maa 118
+lo 117
+_to 117
+ns_ 115
+aan_ 115
+nie. 114
+_vi 114
+met 114
+_nie. 111
+nk 110
+_Di 110
+- 110
+_op 109
+_oo 109
+_on 108
+ir 108
+ord 108
+uit 106
+ens 105
+_was_ 105
+was_ 105
+een 105
+_met 105
+os 105
+_S 104
+nie._ 104
+ig_ 103
+_sk 102
+op_ 101
+_ek 101
+_wee 101
+ir_ 101
+met_ 100
+_met_ 100
+rt 100
+ik_ 99
+end 99
+nd_ 99
+gt 99
+ond 98
+ot 98
+_aa 97
+og 97
+vir_ 95
+vir 95
+_ka 94
+hu 94
+_mo 94
+_vir_ 94
+_vir 94
+_dit 93
+kr 93
+am 93
+ol 93
+dit 93
+_ek_ 93
+ki 93
+sa 93
+_aan 92
+man 92
+jy 92
+ng_ 92
+aak 92
+lle_ 91
+_hu 91
+_na 91
+_vo 90
+ewe 90
+of 90
+jy_ 90
+_dit_ 90
+dit_ 90
+_jy 89
+der_ 89
+jo 89
+_f 88
+_u 88
+sie 87
+_dat 87
+_jy_ 87
+daa 87
+do 87
+vr 87
+wi 86
+ry 86
+_dat_ 86
+eur 86
+rs_ 85
+_jo 85
+_wo 84
+_ne 84
+jie 84
+ji 84
+pe 83
+moe 83
+my 82
+ull 82
+Die 81
+maar 81
+_hom 81
+ulle 81
+_maar 81
+hom 81
+_uit 80
+_ui 80
+ges 80
+raa 80
+or_ 80
+ies 80
+jou 79
+_la 79
+maar_ 79
+ulle_ 79
+_daa 79
+Die_ 79
+daar 78
+_daar 78
+ien 78
+_my 78
+_jou 78
+ok 78
+il 78
+lik_ 77
+sta 77
+_Die 77
+ur_ 77
+ga 77
+ag_ 77
+kan 77
diff --git a/test/user-template/user/fingerprint/albanian.lm b/test/user-template/user/fingerprint/albanian.lm
new file mode 100644
index 000000000000..0665a962d018
--- /dev/null
+++ b/test/user-template/user/fingerprint/albanian.lm
@@ -0,0 +1,400 @@
+_ 19480
+ë 4099
+e 4082
+t 3635
+i 3134
+a 2893
+r 2820
+n 2610
+s 2380
+h 2060
+ë_ 2055
+e_ 1825
+j 1677
+u 1489
+d 1381
+o 1370
+m 1318
+k 1264
+të 1091
+p 1072
+_t 1068
+sh 998
+l 936
+_n 876
+a_ 822
+, 816
+,_ 808
+të_ 795
+i_ 770
+_p 739
+_m 702
+_s 700
+te 653
+ër 620
+_d 613
+_e 607
+g 602
+_k 601
+_të 593
+. 575
+_të_ 574
+v 567
+_e_ 554
+r_ 525
+._ 523
+ht 503
+n_ 480
+he 473
+në 462
+sht 461
+te_ 457
+q 454
+nd 436
+ri 432
+is 414
+et 403
+b 402
+je 401
+me 395
+in 391
+it 381
+rë 374
+_a 374
+t_ 359
+ur 353
+_i 346
+ar 342
+ës 339
+er 338
+në_ 338
+ën 338
+dh 337
+en 336
+pë 334
+f 328
+_v 323
+jë 318
+nj 313
+ish 312
+për 294
+y 285
+z 282
+es 281
+at 274
+_me 273
+_q 273
+gj 269
+ra 261
+as 258
+_në 256
+ku 256
+j_ 250
+ta 249
+re 246
+një 245
+o_ 243
+ni 243
+_pë 240
+hte 240
+_nj 239
+on 239
+isht 236
+pa 234
+th 233
+shte 233
+_për 232
+se 228
+_g 223
+ve 221
+in_ 220
+s_ 219
+_në_ 219
+do 218
+hte_ 218
+më 216
+ti 215
+aj 212
+shte_ 212
+ej 212
+u_ 211
+që 211
+_sh 210
+nt 207
+jë_ 206
+_b 205
+_një 203
+di 202
+_pa 201
+_i_ 201
+ll 199
+_f 199
+kë 198
+me_ 197
+dhe 195
+ishte 195
+si 194
+hi 191
+he_ 188
+- 187
+ja 187
+_që 187
+ua 186
+il 184
+_dh 184
+ur_ 183
+ër_ 182
+or 180
+se_ 179
+që_ 178
+S 176
+ç 175
+_h 173
+an 172
+një_ 172
+ng 170
+nte 170
+_që_ 169
+_S 169
+rë_ 166
+dhe_ 165
+_me_ 164
+ka 162
+im 159
+hë 158
+mi 157
+to 156
+tu 156
+ën_ 155
+_një_ 154
+ha 153
+nte_ 150
+tr 148
+sa 148
+ët 148
+_gj 148
+un 147
+rr 147
+ë, 147
+_dhe 147
+ej_ 147
+ki 146
+ë,_ 146
+_ku 145
+_- 144
+_ng 142
+ik 141
+_nd 140
+end 138
+uk 137
+etë 135
+ko 135
+_dhe_ 135
+_ve 132
+va 131
+_l 131
+për_ 131
+shi 131
+erë 129
+ke 127
+kis 127
+së 126
+jo 125
+li 124
+ga 124
+kish 123
+_ki 122
+po 122
+_se 122
+' 121
+du 120
+mb 120
+_më 119
+Si 115
+më_ 115
+esh 115
+_si 114
+qe 114
+lë 114
+_kis 113
+oh 113
+_kish 113
+_Si 113
+pr 112
+_u 112
+uar 111
+de 111
+hu 111
+_th 111
+al 111
+ta_ 109
+ilv 108
+Sil 108
+Silv 108
+lv 108
+k_ 108
+e, 108
+ji 107
+e,_ 106
+_Sil 106
+_Silv 106
+_r 105
+os 104
+_se_ 104
+kisht 102
+_di 102
+st 101
+_për_ 101
+bë 101
+tj 100
+_nga 99
+nga 99
+_du 98
+ra_ 98
+vë 98
+gji 98
+_ish 96
+rt 96
+_is 96
+ro 95
+ir 94
+ga_ 94
+ësh 94
+ont 93
+c 93
+t, 93
+t,_ 93
+hin 92
+a, 92
+_at 92
+und 92
+jt 91
+_mb 91
+a,_ 91
+tje 90
+_nga_ 90
+_do 90
+_pr 90
+rit 90
+men 90
+nga_ 90
+ri_ 89
+N 89
+ma 89
+it_ 88
+_kë 88
+-_ 88
+m_ 87
+jo_ 87
+onte 87
+atë 87
+la 87
+ëri 87
+ilva 86
+shin 86
+ë. 86
+Silva 86
+lva 86
+së_ 85
+jer 85
+et_ 85
+_po 85
+ës_ 84
+kur 84
+ru 84
+nin 83
+ot 83
+hin_ 83
+_N 83
+her 83
+htë 82
+ap 82
+shin_ 82
+mo 81
+ash 81
+tha 81
+_ç 81
+ë._ 81
+ëm 81
+jit 80
+_ta 80
+ul 80
+le 80
+ho 80
+_z 79
+dr 78
+jet 78
+nin_ 78
+_më_ 78
+gjit 78
+A 78
+hk 78
+onte_ 78
+oni 77
+lo 77
+ba 77
+herë 77
+ndo 76
+shk 76
+mend 75
+_vë 75
+ha_ 75
+dë 75
+tur 74
+_A 74
+el 74
+bi 74
+_ko 74
+uk_ 73
+erë_ 73
+si_ 73
+_sa 73
+ar_ 72
+P 72
+rs 72
+pas 72
+ith 72
+uar_ 71
+_isht 71
+ai 70
+e. 70
+_vet 70
+vet 70
+_bë 70
+zi 70
+d_ 70
+jith 70
+da 70
+gjith 69
+duk 69
+na 69
+hej 69
+tër 68
+_men 68
+_ka 68
+am 68
+nd_ 68
+_c 67
+_pas 67
+_duk 67
+jes 67
+ak 67
+s, 67
+e._ 67
+s,_ 67
+K 67
+ësht 67
+mu 66
+kur_ 66
+yr 66
+em 65
+_së 65
+tha_ 65
+imi 65
+ie 65
+hej_ 64
+_së_ 64
+_u_ 64
+? 64
+fu 64
+_P 64
diff --git a/test/user-template/user/fingerprint/amharic_utf.lm b/test/user-template/user/fingerprint/amharic_utf.lm
new file mode 100644
index 000000000000..0c5bc813e663
--- /dev/null
+++ b/test/user-template/user/fingerprint/amharic_utf.lm
@@ -0,0 +1,400 @@
+ 21403
+_ 10092
+ 7734
+ 6558
+_ 5003
+ 4717
+ 4401
+ 4274
+ 4176
+ 4054
+ 3868
+ 2728
+ 1656
+ 1591
+ 1579
+ 1425
+ 1402
+_ 1261
+_ 1231
+ 1217
+ 1187
+ 1183
+_ 1160
+ 1145
+ 1123
+ 1097
+ን 1043
+ 1043
+ 1041
+ 1004
+_ 991
+ 936
+ 880
+ 855
+ው 855
+ 849
+ 805
+ 783
+ት 783
+_ 763
+ 709
+ 704
+ 682
+በ 682
+ 679
+ 670
+ 667
+በ 666
+ 666
+ 658
+ 643
+የ 637
+ 637
+ 627
+የ 627
+ለ 614
+ 614
+ 611
+ር 611
+_ 588
+_ 583
+ት_ 583
+_የ 577
+_የ 574
+ለ 573
+ 573
+ን 570
+ 570
+መ 563
+ 563
+ 557
+መ 557
+ 554
+አ 554
+አ 553
+ተ 553
+ 553
+ 553
+ተ 547
+ 547
+ም 534
+ 534
+ 532
+- 531
+ስ 525
+ 525
+-- 521
+ል 515
+ 515
+--- 512
+---- 503
+_በ 499
+----- 494
+_በ 487
+ 479
+ 477
+_ 473
+ 469
+ው 469
+ን_ 468
+_ 468
+ 465
+ 464
+ያ 457
+ 457
+ 444
+_አ 424
+_አ 424
+ስ 423
+ 423
+_ 415
+ 402
+ 401
+ 390
+ 389
+ 382
+_ 378
+ው_ 378
+ 365
+ 364
+ያ 364
+ 363
+ል 357
+ 357
+ 356
+_ 351
+ 347
+ች 347
+ 341
+ነ 341
+ይ 337
+ 337
+። 337
+ 337
+_ 337
+።_ 337
+ 336
+ 334
+ 320
+እ 320
+ 320
+ 320
+ 318
+እ 318
+_ 314
+ር_ 314
+ 312
+ 311
+ 301
+ና 300
+ገ 300
+ 300
+ 300
+ 299
+ 297
+ር 294
+ 294
+ግ 294
+ 294
+ 293
+ 291
+ከ 291
+ 291
+ 291
+ 291
+ም 291
+ገ 291
+ነ 291
+ደ 288
+ 288
+_እ 285
+_እ 283
+ 279
+ 279
+ከ 279
+ 279
+በ 279
+ን 276
+ 276
+ 276
+_ 272
+ 270
+ብ 270
+_ 269
+ግ 264
+ 264
+ 262
+ 262
+መ 262
+ 262
+ይ 261
+ 261
+ 260
+ማ 260
+ደ 259
+ 259
+ራ 254
+ 254
+ባ 254
+ 254
+ 253
+ 249
+ 247
+ 245
+ 244
+ላ 242
+ 242
+የ 242
+ 242
+ማ 238
+ 238
+ 237
+ረ 237
+ 237
+ 236
+ተ 236
+ም_ 235
+_ 235
+ 234
+ 233
+ 233
+ 230
+ 230
+ባ 230
+ሚ 230
+ድ 228
+ 228
+_መ 227
+ 227
+_መ 226
+ 225
+ረ 225
+ 225
+። 222
+።_ 222
+ 216
+እ 214
+ሚ 214
+ 214
+ 214
+ 213
+ 212
+ 210
+ 209
+ላ 209
+ 208
+ 207
+ 206
+_ 206
+ 205
+ብ 205
+ 202
+ 200
+ታ 200
+ 200
+ሰ 200
+ 199
+ራ 199
+ሰ 198
+ 198
+ት 195
+ወ 195
+ 195
+ 195
+ 194
+ወ 194
+ 191
+ 191
+_ 189
+ች_ 189
+ 188
+ 186
+ 186
+_ለ 184
+_ለ 183
+ለ 183
+ 183
+ን 180
+ 179
+የ 179
+ 178
+ 177
+ን 177
+_ከ 175
+ 174
+ጥ 174
+ 172
+አ 172
+_ከ 170
+ 170
+_ 169
+ን 169
+ 166
+ 166
+ል 165
+_ 165
+ 165
+ና_ 163
+_ 163
+ 160
+ቸ 160
+ቸ 160
+ 160
+ 160
+ 159
+ 159
+ 158
+ቀ 158
+ 158
+ 156
+ቀ 155
+ 155
+ች 154
+ 154
+ል_ 154
+ 154
+ው 154
+ቸ 154
+_ 154
+ 152
+ 151
+ው 151
+ 150
+_ነ 150
+ 150
+_ነ 150
+ 150
+_ይ 150
+_ይ 150
+ 149
+ታ 149
+። 148
+ 147
+ደ 147
+ 147
+በ 147
+ 146
+_ተ 146
+_ተ 146
+ለ 145
+ 145
+ድ 144
+ 144
+ 144
+ 144
+ቅ 143
+ 143
+_ 143
+ግ 142
+ 142
+ 141
+ዳ 141
+ 139
+ህ 138
+ 138
+ 137
+ና 137
+ 137
+ን 136
+ 136
+አ 135
+ 135
+ 135
+ስ 134
+ 134
+ጠ 133
+ዳ 133
+ 133
+ሆ 133
+ 133
+ሆ 133
+ 133
+ 133
+ሆ 132
+ 132
+ተ 131
+ያ 131
+ተ 131
+ 131
+ 129
+ 128
+ 128
+ክ 128
+ፍ 128
+ 128
+ 127
+ 127
+ጠ 127
+ 126
+ካ 126
+ 124
+በ 123
+ 123
+ያ 123
+ 123
+ 123
+ 122
+ከ 122
+ 121
+ገ 121
diff --git a/test/user-template/user/fingerprint/arabic.lm b/test/user-template/user/fingerprint/arabic.lm
new file mode 100644
index 000000000000..85f701965e2e
--- /dev/null
+++ b/test/user-template/user/fingerprint/arabic.lm
@@ -0,0 +1,400 @@
+_
+ال
+_ا
+_ال
+.
+_و
+ن_
+ا_
+..
+_م
+._
+ة_
+ه_
+لا
+_أ
+ان
+_ف
+_ب
+لم
+د_
+ول
+ي_
+ى_
+...
+وج
+_ل
+_ع
+ل_
+وا
+جو
+ْ.
+الم
+_الم
+..._
+.._
+ود
+من
+وجو
+َ_
+في
+لا_
+جود
+ر_
+لى_
+لى
+ان_
+وجود
+لو
+م_
+_ت
+_من
+ْ...
+_وا
+لع
+الو
+عل
+ْ..._
+ْ..
+ين
+الع
+_في
+ات
+_ي
+_الع
+ُ_
+_ك
+_الو
+من_
+_ان
+مر
+في_
+يا
+ب_
+را
+،_
+ِ_
+_في_
+تب
+_من_
+لوج
+كا
+لي
+ت_
+لوجو
+ون
+الوج
+اء
+جود_
+أح
+_أح
+الوجو
+له
+ود_
+ها
+حا
+ذا
+_ر
+على_
+وجود_
+على
+رب
+لوجود
+عر
+_ان_
+او
+اول
+رت
+لت
+بْ
+أحا
+_الوج
+أحاو
+با
+وال
+_ول
+اد
+_وال
+حاول
+_أحاو
+_أحا
+أحاول
+_،_
+حاو
+_،
+ني
+بي
+_عل
+لن
+ته
+ما
+-_
+-
+مرتب
+نا
+_.
+ها_
+مرت
+_._
+_-
+_-_
+بة
+ول_
+_ح
+رتب
+دا
+له_
+ء_
+ك_
+قي
+تبة
+اول_
+مرتبة
+ية
+بل
+ور
+ده
+الت
+رتبة
+الا
+رتبة_
+ين_
+عرب
+ير
+بة_
+تبة_
+قد
+ربْ
+لعربْ
+لعر
+العر
+أن
+لك
+حد
+ون_
+لعرب
+_على_
+_العر
+تُ
+عن
+بْ.
+_لا
+حاول_
+ذات
+العرب
+_على
+ية_
+عربْ
+اب
+سا
+نو
+كو
+المر
+لل
+يت
+_ش
+لم_
+_المر
+اع
+مو
+لمر
+_الا
+ته_
+اج
+_ق
+س_
+ائ
+جب
+ام
+اجب_
+كون
+واجب_
+لَ
+_لا_
+اني
+سي
+واج
+سم
+لَ_
+يس
+ال_
+_ولا
+عي
+وص
+عا
+جب_
+اس
+ير_
+_مر
+واجب
+اجب
+_بل
+الن
+ولا
+_بال
+وأ
+أع
+اك
+وق
+بلاد
+نت
+نف
+ضا
+نه
+كون_
+بْ..
+ثل
+كل
+ولا_
+_ذا
+ذاته
+المرت
+دة
+ذاته_
+ور_
+بال
+بْ...
+_ولا_
+_الت
+يه
+_الل
+_س
+اء_
+ات_
+بلا
+_وأ
+_ذ
+صو
+ربْ.
+_بلاد
+لاد
+_بلا
+لمرتب
+_ه
+بن
+لمرت
+عربْ.
+_ن
+_ذات
+اته_
+لله
+ْ._
+_با
+اته
+_إ
+وم
+الل
+الوا
+موج
+_الله
+نْ
+لُ
+اف
+_يكو
+لر
+قا
+عين
+ست
+يكون
+موجو
+ليس
+ده_
+لُ_
+_وج
+_وص
+دي
+حم
+الواج
+بين
+_الر
+_يك
+مس
+مُ
+لله_
+ٍ_
+عد
+يل
+_الن
+عق
+اش
+يكو
+يق
+الر
+تُ_
+_كا
+شي
+_يكون
+لوا
+ار
+موجود
+يك
+هْ
+_ذاته
+ع_
+جا
+الله
+فو
+وب
+_عي
+رس
+دة_
+لواجب
+يكون_
+لواج
+رك
+ف_
+كان
+لص
+لش
+لث
+زا
+ياء
+ساء
+لعق
+انت
+علم
+العق
+ما_
+قد_
+لف
+الله_
diff --git a/test/user-template/user/fingerprint/armenian.lm b/test/user-template/user/fingerprint/armenian.lm
new file mode 100644
index 000000000000..e69de29bb2d1
--- /dev/null
+++ b/test/user-template/user/fingerprint/armenian.lm
diff --git a/test/user-template/user/fingerprint/basque.lm b/test/user-template/user/fingerprint/basque.lm
new file mode 100644
index 000000000000..32522a7eca20
--- /dev/null
+++ b/test/user-template/user/fingerprint/basque.lm
@@ -0,0 +1,400 @@
+_ 12114
+a 5537
+e 4040
+i 3103
+t 2567
+n 2474
+r 2406
+o 1937
+k 1761
+z 1627
+u 1561
+d 1367
+l 1075
+s 1048
+b 995
+n_ 958
+a_ 957
+en 802
+g 772
+_e 736
+er 680
+ra 669
+. 625
+at 610
+_b 594
+ar 589
+an 585
+_d 580
+, 569
+,_ 569
+h 563
+ta 563
+te 555
+._ 520
+ko 513
+m 503
+o_ 486
+al 481
+en_ 471
+tz 458
+re 435
+_a 423
+ik 416
+in 409
+it 392
+za 391
+ak 388
+ba 358
+et 357
+da 352
+di 351
+ka 350
+ze 349
+ai 347
+p 340
+ri 335
+la 329
+an_ 327
+de 322
+ez 318
+na 314
+ti 307
+be 305
+i_ 302
+iz 294
+k_ 293
+tu 289
+eta 287
+( 280
+) 280
+_i 279
+or 276
+_( 270
+ko_ 269
+ek 265
+rr 264
+_h 263
+e_ 260
+es 260
+_ba 258
+nt 258
+ha 255
+_g 247
+era 246
+ia 240
+_be 234
+oa 229
+un 229
+ta_ 218
+ma 212
+on 211
+z_ 209
+du 207
+(_ 205
+_(_ 205
+: 204
+tze 204
+:_ 204
+us 191
+u_ 191
+_da 188
+ren 183
+az 183
+_) 183
+ur 182
+st 182
+ea 181
+_et 181
+eta_ 179
+zi 178
+si 177
+zen 177
+as 176
+_n 175
+go 175
+_eta 172
+il 169
+tik 169
+_z 167
+_eta_ 167
+ne 167
+bi 166
+zk 166
+sk 165
+ag 163
+t_ 162
+le 160
+rt 160
+ke 158
+- 150
+gu 148
+au 148
+tza 147
+_de 147
+ati 146
+ut 146
+A 145
+li 145
+hi 145
+E 144
+bat 144
+_o 143
+a, 142
+a,_ 142
+_m 141
+ntz 141
+ad 140
+ren_ 139
+_er 138
+io 138
+)_ 138
+_ez 138
+ir 137
+eh 137
+ab 135
+ate 135
+ak_ 134
+sa 134
+ra_ 134
+_bat 133
+nd 133
+_l 133
+ki 132
+ere 131
+ika 125
+ku 125
+f 124
+ga 123
+ld 122
+_di 121
+arr 120
+el 120
+eg 119
+uz 119
+are 116
+ng 116
+os 116
+_E 115
+gi 113
+_p 113
+_du 113
+mo 113
+zen_ 112
+ib 111
+_k 110
+ber 109
+ako 108
+_iz 107
+iza 107
+ala 107
+itz 107
+har 106
+eko 106
+adi 105
+l_ 105
+ie 105
+ste 105
+atu 104
+am 104
+ska 104
+ah 104
+_. 104
+r_ 104
+zt 103
+rri 103
+ait 103
+ua 103
+tzen 103
+ald 103
+usk 102
+aren 102
+_._ 102
+ro 102
+id 100
+la_ 99
+_s 98
+ue 98
+tek 97
+uska 97
+atz 96
+aren_ 96
+_ha 95
+rre 95
+" 94
+atik 94
+tzen_ 94
+ara 94
+in_ 93
+ni 93
+j 92
+ge 91
+ez_ 91
+ain 91
+od 91
+no 91
+na_ 91
+ri_ 90
+tan 90
+mat 90
+do 89
+_mo 88
+ho 88
+iko 88
+beh 88
+_ad 88
+al_ 87
+_iza 87
+I 87
+zan 87
+_ze 87
+_adi 87
+_A 86
+uk 86
+eha 85
+dit 85
+ru 85
+pe 85
+eko_ 84
+ela 84
+ed 84
+kar 84
+n,_ 83
+ari 83
+bil 83
+_beh 83
+bai 83
+tu_ 83
+n, 83
+ehar 83
+_izan 82
+itu 82
+_ho 82
+is 82
+ean 82
+ama 82
+izan 82
+_)_ 81
+ik_ 81
+B 80
+koa 80
+ot 80
+_na 79
+zu 79
+beha 78
+behar 78
+_t 78
+H 78
+_ko 78
+dir 77
+mati 76
+_j 75
+at_ 75
+em 74
+tika 74
+K 74
+_B 74
+zte 74
+ten 74
+_beha 74
+ter 74
+matik 73
+egi 73
+_dir 73
+a. 72
+ago 72
+kal 72
+ram 72
+ena 72
+unt 71
+lt 71
+_H 71
+su 71
+mod 71
+bo 71
+G 70
+_ber 70
+lde 70
+c 69
+te_ 69
+ar_ 69
+me 69
+ina 69
+dal 69
+ako_ 68
+L 68
+rik 68
+a._ 68
+ori 68
+ite 68
+raz 67
+alde 67
+)._ 67
+). 67
+zio 66
+_ez_ 66
+tan_ 66
+amat 66
+atika 66
+est 66
+ntza 65
+dut 65
+izk 65
+_ga 65
+ia_ 65
+s_ 65
+ita 65
+tea 64
+ei 64
+hal 64
+_mod 64
+pa 64
+bu 64
+re_ 63
+eu 63
+ert 63
+oa_ 63
+_era 63
+ten_ 63
+_G 63
+_eg 63
+rama 63
+odal 63
+ramat 63
+oda 63
+amati 62
+atze 62
+gr 62
+untz 62
+eza 62
+gra 62
+_ge 61
+gram 61
+kat 61
+abi 61
+_gr 60
+_gram 60
+_gra 60
+int 60
+rd 60
+_in 60
+k, 59
+_hi 59
+zko 59
+k,_ 59
+pr 59
+rab 59
+da_ 59
+ide 58
+_)._ 57
+tat 57
+ing 57
+ira 57
+tak 57
+x 57
+_). 57
+_ed 57
+_es 57
+_bi 57
+rak 56
+_- 56
diff --git a/test/user-template/user/fingerprint/belarus.lm b/test/user-template/user/fingerprint/belarus.lm
new file mode 100644
index 000000000000..7d58602e51c3
--- /dev/null
+++ b/test/user-template/user/fingerprint/belarus.lm
@@ -0,0 +1,400 @@
+_
+i
+а_
+.
+на
+п
+ка
+._
+ра
+i_
+ал
+у_
+ар
+ан
+я_
+та
+,
+,_
+ва
+ы_
+_с
+ла
+_д
+ле
+га
+_а
+ад
+_п
+ры
+да
+_у
+ен
+ты
+й_
+е_
+_г
+ны
+_н
+на_
+зе
+_в
+-
+_б
+ас
+ам
+_i
+ав
+ро
+аг
+_у_
+_з
+па
+нн
+ск
+_м
+не
+дз
+_i_
+_к
+ыя
+пр
+ст
+ак
+ын
+iк
+ль
+ня
+нi
+лi
+за
+аз
+ру
+ет
+ян
+ку
+ля
+ай
+_М
+_А
+_я
+нс
+ага
+ат
+ай_
+але
+га_
+ага_
+ме
+_на
+ала
+"
+_па
+тр
+ер
+кал
+кi
+м_
+кт
+ава
+вi
+дзе
+нск
+ана
+го
+ац
+сц
+а.
+)
+о_
+iн
+_ад
+цы
+ца
+а._
+тар
+ма
+цi
+ау
+ь_
+ска
+ча
+_ка
+са
+р_
+_._
+як
+_га
+_р
+_т
+_пр
+_за
+ве
+ся
+ны_
+да_
+др
+мi
+бы
+_.
+рэ
+ара
+он
+оу
+_да
+ек
+лек
+_У
+ым
+ыл
+ая
+ло
+нк
+нт
+пра
+)_
+пi
+ары
+_на_
+та_
+рн
+х_
+сi
+шы
+кр
+ая_
+ел
+ван
+ец
+ста
+чы
+_бы
+ае
+I
+_э
+_П
+iка
+яу
+эд
+(
+iм
+газе
+_газ
+_газе
+_I
+азе
+_)
+вя
+_(
+iч
+тро
+ня_
+аш
+ор
+газ
+_)_
+ов
+аван
+ран
+ун
+ля_
+ар_
+дак
+вар
+_да_
+ыян
+св
+черн
+_Я
+ык
+ктрон
+трон
+эл
+'
+ект
+ектро
+но
+нага_
+нна
+--
+iл
+ку_
+няу
+-_
+Ал
+Ве
+был
+рыя
+онн
+_-
+ронн
+iя
+эдак
+ктр
+кта
+сан
+лi_
+_"
+д_
+элект
+ап
+ктро
+_эл
+чер
+элек
+зе_
+лектр
+мп
+ерн
+_эле
+_кал
+нска
+ктар
+сцi
+Вечер
+ечер
+ач
+ечерн
+ам_
+ектр
+Вече
+кс
+_--_
+дзе_
+тронн
+наг
+эда
+Веч
+ты_
+зет
+ече
+лект
+_Ал
+еч
+ук
+ада
+рон
+_ва
+ла_
+_элек
+_был
+ус
+--_
+нага
+че
+вары
+эле
+_--
+рав
+уку
+каг
+_ш
+кай
+ний_
+На
+ий_
+ка.
+_ч
+ннаг
+ыц
+_Р
+рус
+_В
+_Н
+яр
+эн
+эм
+_Б
+кра
+черни
+у,_
+нд
+ни
+дакт
+лару
+нц
+кага_
+_Мин
+ныя
+Минс
+нь
+акта
+лар
+_для
+..
+_вар
+нiк
+i,
+_пра
+i.
+янт
+яна
+о,
+су
+(_
+бо
+ння
+ць
+рни
+цц
+це
+янта_
+дл
+_Минс
+ларус
+янта
+_го
+тэ
+к_
+_рэ
+ерни
+вы
+цца
+ана_
+ронна
+не_
+ндр
+зеты_
+_як
+Мин
+для_
+_для_
+елар
+Бел
+рыян
diff --git a/test/user-template/user/fingerprint/bosnian.lm b/test/user-template/user/fingerprint/bosnian.lm
new file mode 100644
index 000000000000..cf6b8a41ce67
--- /dev/null
+++ b/test/user-template/user/fingerprint/bosnian.lm
@@ -0,0 +1,400 @@
+_ 9464
+a 2787
+i 2108
+e 2077
+o 2018
+j 1396
+n 1328
+s 1170
+u 1010
+r 988
+d 957
+a_ 889
+e_ 833
+t 774
+je 771
+k 756
+l 743
+m 702
+v 685
+p 604
+c 538
+i_ 538
+_s 522
+u_ 476
+z 463
+_p 450
+o_ 433
+,_ 381
+, 381
+_i 369
+_n 358
+b 349
+_d 349
+. 346
+na 341
+je_ 337
+._ 321
+_j 307
+g 299
+ra 292
+st 283
+ko 278
+_je 274
+ij 254
+_o 245
+ni 240
+_k 236
+an 228
+oj 227
+da 226
+_u 222
+pr 221
+no 219
+ma 219
+la 211
+ri 206
+_je_ 203
+po 203
+ci 196
+_pr 191
+os 190
+od 187
+ka 186
+im 185
+ti 184
+li 182
+vo 178
+_po 174
+ja 171
+_i_ 169
+ov 169
+al 168
+re 167
+ne 167
+m_ 164
+ta 160
+na_ 158
+ed 157
+_m 157
+_na 157
+se 156
+_u_ 154
+en 153
+ic 151
+sa 151
+_b 149
+ak 141
+va 140
+ad 137
+h 136
+ju 135
+su 134
+dj 133
+ije 133
+ar 127
+ca 127
+_z 126
+nj 125
+ji 124
+da_ 124
+_ko 123
+_da 122
+il 121
+" 120
+av 120
+_t 118
+aj 116
+ob 115
+ro 114
+am 114
+vi 114
+_su 113
+om 112
+dje 112
+za 112
+at 111
+le 111
+di 110
+su_ 107
+iz 107
+ve 107
+lj 106
+_se 105
+ev 105
+is 105
+es 103
+se_ 103
+do 101
+ih 100
+a, 99
+_su_ 99
+a,_ 99
+on 98
+bi 98
+in 97
+voj 97
+az 96
+ac 95
+_da_ 95
+la_ 95
+_r 93
+_g 93
+jev 92
+ma_ 92
+er 92
+or 91
+h_ 90
+_sa 90
+e, 90
+e,_ 90
+ba 90
+ima 89
+a. 88
+ol 88
+_do 87
+dn 87
+it 87
+ko_ 86
+ne_ 86
+ost 85
+ek 85
+to 85
+d_ 84
+as 84
+ju_ 84
+ao 84
+ih_ 84
+a._ 84
+te 83
+evo 83
+koj 83
+pri 82
+jevo 82
+ce 81
+_se_ 81
+og 80
+go 80
+jevoj 79
+de 79
+uc 79
+evoj 79
+_od 78
+_za 78
+tr 78
+S 77
+_koj 76
+ke 75
+_v 75
+ao_ 75
+_dje 74
+_bi 74
+sta 74
+_dj 74
+cij 74
+ik 74
+djev 73
+sl 73
+_djev 72
+ga 72
+djevo 72
+_ka 71
+rij 71
+_iz 71
+P 71
+_pri 70
+_a 69
+us 68
+_S 68
+mo 67
+el 67
+sk 66
+me 66
+zi 66
+ija 65
+n_ 65
+ku 64
+im_ 63
+_st 63
+ica 63
+_na_ 62
+_ne 62
+em 61
+edn 61
+jk 61
+io 61
+li_ 60
+ojk 60
+evojk 60
+_" 60
+zn 60
+vojk 60
+pro 59
+lo 59
+ije_ 59
+jed 58
+ke_ 58
+om_ 58
+jen 58
+sti 57
+_im 57
+le_ 57
+_ra 56
+e. 56
+ze 55
+_pro 55
+nu 55
+nje 55
+ti_ 55
+ec 55
+pre 55
+oc 54
+aci 54
+no_ 54
+et 54
+oji 53
+si 53
+ara 53
+ama 53
+z_ 53
+pos 52
+rad 52
+ran 52
+ima_ 52
+ru 52
+_P 52
+tu 52
+mu 51
+e._ 51
+ja_ 50
+_pre 50
+sa_ 49
+io_ 49
+od_ 48
+ni_ 48
+_nj 48
+j_ 48
+_pos 47
+_c 47
+ila 47
+K 46
+_sa_ 46
+uz 46
+N 46
+_ni 45
+zna 45
+U 45
+za_ 45
+_no 45
+ako 45
+u, 44
+lu 44
+ali 44
+u,_ 44
+sto 44
+ste 44
+ve_ 44
+ani 44
+oli 44
+aka 44
+_jed 43
+i,_ 43
+ji_ 43
+uci 43
+i, 43
+ci_ 43
+osti 43
+_N 42
+dr 42
+so 42
+ust 41
+ila_ 41
+B 41
+- 41
+red 41
+jke 41
+sv 41
+_go 41
+bar 41
+g_ 41
+est 40
+D 40
+iv 40
+vojke 40
+aju 40
+ta_ 40
+A 40
+lje 40
+jedn 40
+bil 40
+ojke 40
+ova 40
+ati 39
+_mu 39
+pa 39
+M 39
+_ba 39
+ca_ 39
+O 39
+ka_ 39
+_a_ 38
+_B 38
+_ima 38
+sn 38
+nu_ 38
+T 38
+to_ 38
+eg 38
+ava 38
+ros 37
+ir 37
+ala 37
+og_ 37
+osl 37
+ovi 37
+koji 37
+_sv 37
+dv 36
+ric 36
+_za_ 36
+br 36
+_on 36
+odi 36
+_koji 36
+_jedn 35
+nik 35
+dno 35
+_D 35
+jo 35
+tra 35
+_M 35
+sp 35
+iz_ 35
+oz 35
+vr 35
+u. 35
+eri 35
+I 35
+eko 35
+ale 35
+_ma 34
+lik 34
+_bil 34
+c_ 34
+ut 34
+je,_ 34
+u._ 34
+str 34
+je, 34
+adi 34
+tit 34
+_iz_ 34
+iti 34
+i. 33
+_rad 33
+ici 33
+rost 33
+aju_ 33
+va_ 33
+_ob 33
+nog 33
diff --git a/test/user-template/user/fingerprint/breton.lm b/test/user-template/user/fingerprint/breton.lm
new file mode 100644
index 000000000000..6d021d739672
--- /dev/null
+++ b/test/user-template/user/fingerprint/breton.lm
@@ -0,0 +1,400 @@
+_ 21447
+e 6375
+a 5414
+n 3228
+r 3039
+o 2968
+t 2392
+i 1812
+h 1751
+u 1650
+l 1630
+d 1506
+a_ 1352
+z 1319
+t_ 1310
+_e 1168
+_a 1168
+e_ 1133
+m 1105
+s 1100
+g 1090
+r_ 998
+k 997
+n_ 958
+et 941
+v 888
+_d 868
+an 859
+. 846
+' 841
+en 836
+b 757
+, 749
+,_ 743
+._ 716
+ar 703
+ou 700
+et_ 689
+c 686
+ez 572
+'h 572
+_g 565
+er 555
+p 553
+_k 535
+c'h 530
+c' 530
+nt 513
+_h 505
+re 505
+ra 478
+ha 466
+ñ 458
+ne 456
+oa 454
+_o 442
+_b 434
+- 432
+zh 422
+ar_ 415
+_m 414
+_e_ 414
+nn 384
+el 376
+_a_ 356
+ur 350
+o_ 346
+h_ 345
+ve 340
+nt_ 340
+w 339
+ke 338
+de 333
+añ 332
+_p 332
+s_ 327
+he 325
+on 318
+le 318
+ga 316
+ma 315
+_ar 312
+eu 312
+_n 310
+an_ 298
+ant 296
+enn 285
+z_ 282
+_ar_ 281
+be 280
+_v 276
+_r 272
+al 270
+en_ 268
+_ke 267
+l_ 264
+em 264
+_c 263
+ñ_ 262
+da 262
+_s 261
+ho 260
+di 259
+_ha 252
+ll 250
+tr 248
+oa_ 247
+me 246
+us 242
+_ga 234
+la 231
+ket 227
+ant_ 219
+_da 219
+_l 216
+ur_ 216
+_oa 215
+in 214
+ket_ 211
+gan 211
+_c' 207
+_u 207
+_c'h 207
+ad 207
+añ_ 207
+ao 204
+_ma 204
+_t 204
+_ket 201
+_an 199
+_di 197
+ezh 196
+ù 196
+où 196
+_de 195
+ev 193
+? 192
+st 192
+ro 192
+P 192
+_ket_ 188
+er_ 188
+f 186
+na 186
+ue 185
+da_ 184
+?_ 184
+_gan 184
+_da_ 184
+_ne 183
+ed 182
+_P 180
+g_ 180
+pe 179
+m_ 178
+A 177
+ri 176
+us_ 175
+ta 174
+ze 174
+gant 174
+ka 174
+i_ 172
+d_ 171
+G 167
+te 167
+ae 166
+zh_ 164
+ha_ 163
+_ha_ 163
+_he 161
+_gant 159
+do 159
+oue 159
+_G 158
+eus 158
+eo 158
+'h_ 157
+_en 157
+go 157
+am 157
+c'h_ 157
+_be 156
+we 156
+iz 154
+_an_ 151
+_A 150
+eus_ 147
+sk 147
+li 146
+as 146
+_pe 146
+j 146
+_oa_ 146
+av 144
+gant_ 143
+ut 142
+no 141
+vez 140
+va 140
+_ra 140
+ge 138
+ez_ 138
+bo 137
+  137
+_ur 136
+lo 134
+he_ 134
+où_ 133
+ù_ 133
+_ur_ 132
+es 130
+'ho 129
+ni 129
+uz 129
+tra 127
+se 126
+it 125
+ra_ 125
+out 125
+is 125
+at 125
+hi 125
+eg 125
+ig 124
+ko 124
+io 123
+k_ 123
+ch 123
+_w 121
+or 121
+Pe 121
+_ma_ 119
+ma_ 119
+gw 118
+_em 118
+_Pe 118
+un 118
+eme 117
+ne_ 117
+nn_ 117
+c'ho 117
+ol 116
+ag 116
+M 115
+'ha 115
+_en_ 115
+iv 115
+vi 113
+_ka 113
+K 113
+ud 112
+_he_ 111
+ont 110
+oc 110
+vo 110
+ec 109
+wa 109
+.. 107
+_M 107
+_z 107
+br 107
+om 106
+to 105
+_f 105
+N 105
+_c'ho 104
+ti 104
+ut_ 104
+D 104
+_o_ 103
+_la 103
+_go 101
+az 101
+out_ 101
+ba 101
+enn_ 101
+c'ha 101
+our 100
+oc'h 100
+ell 100
+oc' 100
+etr 99
+el_ 99
+_K 99
+_D 99
+: 99
+:_ 99
+eve 98
+_d' 97
+all 97
+d' 97
+E 97
+_ne_ 97
+_me 95
+eo_ 95
+ak 95
+bet 95
+_eu 95
+rc 94
+_do 94
+_gw 94
+zi 93
+oz 93
+aou 93
+etra 92
+pa 91
+ab 90
+on_ 90
+ei 90
+tra_ 90
+n, 89
+zo 89
+ag_ 89
+_ev 88
+ul 88
+'e 88
+n' 88
+n,_ 88
+ouz 87
+v_ 86
+_n' 86
+_eus 84
+H 83
+za 83
+S 83
+etra_ 83
+_eo 82
+t,_ 82
+t, 82
+il 81
+ent 81
+fe 81
+rc'h 81
+rc' 81
+_eus_ 80
+ie 80
+_bo 79
+ele 79
+_ve 79
+mp 79
+_bet 78
+B 78
+it_ 77
+_vo 77
+'a 77
+n. 76
+_S 76
+hag 76
+hoa 75
+_hag 75
+len 75
+_N 75
+'hoa 74
+_E 74
+ir 74
+hag_ 74
+_hag_ 74
+mañ 74
+as_ 73
+eze 73
+ont_ 73
+_. 73
+iñ 73
+r, 72
+pr 72
+ed_ 72
+n._ 72
+re_ 72
+in_ 72
+r,_ 72
+_H 71
+'he 70
+t. 70
+gou 70
+em_ 70
+_br 70
+rae 70
+rez 69
+t._ 69
+bet_ 69
+net 69
+dr 68
+_eo_ 68
+ll_ 68
+mo 67
+po 67
+oul 67
+rou 67
+c'hoa 67
+a- 67
+vel 67
+oc'h_ 67
+nna 66
+_B 66
+met 65
+ec' 65
+ec'h 65
+R 64
+den 64
diff --git a/test/user-template/user/fingerprint/catalan.lm b/test/user-template/user/fingerprint/catalan.lm
new file mode 100644
index 000000000000..086a45b50c50
--- /dev/null
+++ b/test/user-template/user/fingerprint/catalan.lm
@@ -0,0 +1,400 @@
+_ 16604
+e 5091
+a 4937
+s 3120
+r 3037
+i 2987
+l 2747
+n 2641
+t 2466
+o 2274
+d 1775
+c 1740
+u 1515
+a_ 1460
+s_ 1416
+_d 1116
+e_ 1067
+p 1014
+m 995
+es 985
+de 972
+_de 842
+en 700
+_l 691
+re 652
+_e 637
+de_ 611
+el 602
+_de_ 601
+_a 600
+, 599
+,_ 599
+er 598
+la 584
+ar 583
+_p 550
+l_ 547
+ci 522
+n_ 518
+es_ 515
+an 515
+ra 499
+nt 495
+ta 495
+b 476
+_c 452
+al 450
+v 440
+g 428
+. 420
+on 420
+or 404
+t_ 402
+at 396
+._ 377
+r_ 372
+i_ 371
+la_ 368
+_i 364
+_la 351
+_la_ 325
+f 325
+le 322
+te 312
+' 311
+_s 308
+st 308
+se 305
+ó 302
+ue 302
+na 301
+os 301
+qu 300
+q 300
+el_ 299
+it 292
+co 290
+ri 277
+ca 277
+ti 273
+ac 272
+in 268
+ll 264
+ic 264
+me 259
+un 257
+que 248
+C 248
+tr 244
+ns 242
+ió 238
+_i_ 236
+ad 233
+ent 232
+_el 227
+ne 226
+_t 223
+_co 221
+_m 221
+_C 217
+en_ 217
+li 217
+ia 212
+à 212
+pe 207
+_a_ 207
+pr 206
+ció 203
+ó_ 203
+pa 203
+ro 202
+o_ 198
+E 198
+di 197
+io 197
+ls 196
+h 192
+_q 192
+_qu 192
+_en 187
+aci 186
+am 186
+ec 183
+to 183
+as 180
+om 180
+ni 180
+da 179
+ió_ 179
+si 178
+ls_ 176
+L 175
+ma 172
+res 172
+ur 171
+_el_ 162
+rt 162
+ue_ 160
+A 160
+os_ 159
+_que 159
+que_ 158
+_r 158
+po 157
+_es 155
+er_ 155
+_que_ 155
+M 155
+_se 153
+va 153
+del 153
+ció_ 151
+_pr 151
+is 150
+_en_ 149
+P 147
+_pe 146
+_del 145
+ts 145
+lo 145
+_M 144
+ct 144
+_u 144
+ol 143
+ve 141
+_L 140
+x 140
+y 140
+a,_ 139
+a, 139
+nc 138
+men 137
+al_ 137
+_f 137
+_re 137
+_P 136
+ació 136
+les 136
+rs 134
+est 133
+tu 131
+_E 130
+et 130
+s,_ 129
+_un 129
+na_ 129
+_v 129
+s, 129
+ion 127
+per 126
+so 125
+em 125
+at_ 124
+no 124
+j 124
+br 123
+nt_ 122
+ar_ 122
+sa 121
+_n 119
+les_ 118
+é 118
+ce 117
+il 117
+ell 116
+_per 114
+í 114
+ob 113
+re_ 113
+ir 113
+_A 112
+ons 112
+do 112
+ua 112
+con 112
+ment 111
+gu 111
+ts_ 110
+ss 110
+ns_ 109
+ant 109
+ra_ 109
+Co 109
+par 108
+l' 107
+d' 107
+_l' 107
+els 107
+tat 107
+sc 106
+_d' 106
+an_ 105
+_Co 105
+vi 104
+els_ 104
+ica 104
+ran 103
+ul 102
+iv 102
+S 102
+_del_ 102
+del_ 102
+mb 101
+mi 101
+ita 101
+nta 100
+_pa 99
+_o 99
+_con 98
+ació_ 97
+rn 96
+_in 96
+ia_ 96
+z 96
+im 95
+rr 95
+art 94
+ta_ 93
+com 93
+tre 92
+_h 92
+s. 91
+mp 90
+ie 90
+J 90
+s._ 89
+cio 89
+_le 89
+bre 88
+_ca 88
+_al 88
+sta 88
+_com 88
+cu 88
+à_ 87
+pre 87
+fe 86
+ba 86
+tra 86
+ge 85
+pro 85
+_les 84
+des 84
+ter 84
+_po 84
+_les_ 84
+T 84
+_J 84
+nd 84
+cion 84
+_S 84
+ura 83
+nci 82
+va_ 81
+ha 81
+ona 81
+ent_ 80
+ues 80
+oc 80
+ea 80
+nte 80
+és 80
+_di 79
+ui 79
+as_ 78
+ut 78
+ici 78
+res_ 78
+us 77
+ot 77
+ara 77
+ip 75
+rm 75
+ab 75
+eg 75
+_per_ 75
+ng 75
+'a 75
+I 75
+per_ 75
+rec 74
+du 74
+_tr 74
+è 73
+cia 73
+_no 73
+b_ 73
+_par 72
+ep 72
+id 72
+lle 71
+rc 71
+_pro 70
+D 69
+G 69
+ga 69
+fo 69
+una 68
+El 68
+lit 68
+un_ 68
+ques 68
+amb 67
+ix 67
+és_ 67
+_G 67
+era 67
+cr 67
+) 66
+da_ 66
+- 66
+sp 66
+y_ 66
+ada 66
+tor 66
+( 66
+_( 66
+_T 65
+ment_ 65
+B 65
+_es_ 65
+Ma 65
+V 65
+uc 65
+ect 65
+ame 64
+iu 64
+_Ma 64
+orn 64
+_B 64
+_D 64
+Ca 64
+sti 64
+_g 63
+esc 63
+rd 63
+una_ 63
+là 62
+" 62
+ed 62
+amen 61
+mo 61
+ions 61
+_El 61
+_Ca 61
+Jo 61
+eu 61
+ari 61
+lt 61
+F 61
+u_ 61
+ament 60
+_V 60
+m_ 60
+fi 60
+au 60
+ev 60
+La 60
+itat 59
+_ha 59
diff --git a/test/user-template/user/fingerprint/chinese_simplified.lm b/test/user-template/user/fingerprint/chinese_simplified.lm
new file mode 100644
index 000000000000..622b89c3ba80
--- /dev/null
+++ b/test/user-template/user/fingerprint/chinese_simplified.lm
@@ -0,0 +1,400 @@
+_
+,_
+_,_
+_,
+,
+的
+的_
+_的
+_的_
+_。
+。_
+。
+_。_
+国
+了_
+了
+_了_
+在
+_了
+_¥_
+_在
+_1_
+_1
+_¥
+国_
+1
+在_
+¥_
+¥
+年
+1_
+_在_
+_0
+_0_
+部
+0
+0_
+5_
+民
+_5
+_5_
+5
+政
+工
+、_
+_年
+_日
+日
+_、
+年_
+行
+_、_
+建
+、
+4
+多_
+多
+6
+百
+作
+会
+日_
+_百
+_建
+理
+和
+_4
+军
+_多
+_多_
+_百_
+_部
+_日_
+关
+_6_
+和_
+成
+百_
+_6
+_和_
+_和
+4_
+进
+6_
+_军
+_4_
+_万_
+9
+我
+_万
+展
+得
+地
+们
+产
+举
+过
+主
+上
+目
+行_
+于
+一
+万
+_国
+全
+发
+到_
+_进
+_工
+_过
+人
+_9_
+_我
+到
+个_
+个
+_上
+_9
+万_
+_举
+不
+部_
+_关
+9_
+们_
+长
+_政
+开
+战
+经
+_性
+_上_
+并
+性
+治_
+大
+_工作
+_个
+民_
+_内_
+他
+这
+_内
+治
+计
+品
+术
+工作_
+共
+县
+内
+―_
+区_
+员_
+_―
+术_
+_工作_
+上_
+部门
+_部门
+作_
+_并
+_这
+一_
+于_
+分
+区
+品_
+_引
+_开
+系
+员
+县_
+_―_
+_不
+工作
+_一_
+―
+_发
+_到_
+_他
+_到
+_民
+主义
+_年_
+_全
+生
+_共
+_个_
+性_
+门
+_性_
+地_
+往
+机
+案
+引
+合
+内_
+_一
+展_
+义
+府
+问题_
+里_
+常
+取得了
+市
+期
+这_
+数
+门_
+就
+要_
+等_
+小
+他_
+字
+家
+社会
+技
+得_
+将
+_分_
+取得了_
+营
+8
+女
+级
+约
+_将_
+绝
+统
+厂_
+我们
+安
+字_
+_厂_
+大_
+#_
+_作
+工_
+文
+将_
+新
+组
+外
+_已_
+已
+产_
+_中
+_产
+_技术_
+_生产
+过_
+但
+价
+绝_
+均
+坏
+已_
+_之
+_技
+家_
+事
+2
+_举行_
+联合国_
+中
+严
+训
+_元_
+_等_
+往_
+之
+_但
+_发展
+问题
+_机
+后
+_取得了_
+_市_
+政治_
+厂
+_战
+取
+务
+_但_
+十
+长_
+政_
+几
+刚
+_成
+_十_
+事_
+_会
+_8_
+会主义
+部门_
+_女
+_2_
+机_
+_已
+_”
+理_
+公
+各
+技术
+元_
+_职工
+经济_
+举行
+_#_
+_军民
+_问题
+义_
+之_
+举行_
+_新
+解
+_两
+_这_
+得了
+_得_
+_几_
+_问
+两_
+我们_
+进行
+取得
+_文
+_他_
+_长
+_联合
+_过_
+_计
+_进行_
+法国_
+建设_
+_说
+题_
+重
+_政治
+_市
+里
+_解
+_政府
+口
+要
+_均
+发展_
+联合国
+_组
+几_
+_我们_
+后_
+_经
+_美
+来_
+合国_
+济_
+口_
+”_
+元
+#
+府_
+军民
+并_
+职工
+_8
+成_
+约_
+_等
+级_
+次_
+_社会主
+_2
+_政治_
+_”_
+_英
+得了_
+_#
+_发展_
+_社
+生产
+_条
+军民_
+”
+_职
+_取得了
+_联
+就_
+_我们
+发展
+两
+议
+_小
+_联合国
diff --git a/test/user-template/user/fingerprint/chinese_traditional.lm b/test/user-template/user/fingerprint/chinese_traditional.lm
new file mode 100644
index 000000000000..6708981ba6e7
--- /dev/null
+++ b/test/user-template/user/fingerprint/chinese_traditional.lm
@@ -0,0 +1,400 @@
+_
+﹐_
+_﹐_
+﹐
+_﹐
+的
+_的
+的_
+_的_
+。
+_。
+。_
+_。_
+年
+_會
+會_
+_會_
+年_
+_年_
+十
+電
+會
+_年
+_在
+電_
+_是_
+_電_
+一
+於
+學_
+_於_
+_於
+在
+_電
+學
+是_
+港
+_學_
+在_
+_是
+於_
+_在_
+_學
+是
+不_
+_十
+_不
+_港_
+_港
+_不_
+十_
+_一
+員
+員_
+_一_
+不
+_十_
+一_
+港_
+_署
+_員_
+_員
+_業
+業
+_署_
+業_
+_業_
+署_
+署
+_事
+_同
+機
+_國_
+,
+、
+_,_
+_內
+、_
+_外_
+_同_
+_政_
+_公_
+為
+外
+公
+_公
+有
+_內_
+同
+_政
+國_
+國
+公_
+香
+_事_
+外_
+事
+內_
+_,
+_、
+政
+_外
+_、_
+香_
+政_
+內
+同_
+事_
+,_
+_國
+為_
+_長_
+_較_
+_方_
+_用_
+等_
+獲
+錦
+_文_
+_中
+_錦
+用
+_通
+_較
+_等
+有_
+_長
+_路
+通
+_警_
+_及
+_及_
+_警
+_香
+錦_
+_訴
+中_
+_話
+_有_
+通_
+時_
+獲_
+_予
+路_
+較_
+方_
+田
+警
+機_
+_訴_
+_田_
+等
+_有
+話_
+_機_
+_予_
+路
+時
+方
+日
+警_
+_通_
+訴_
+_用
+_方
+及_
+田_
+_話_
+_中_
+_香_
+訴
+_田
+_文
+_錦_
+三
+較
+用_
+_時_
+中
+_等_
+及
+話
+_機
+_獲
+九
+文
+_時
+_路_
+_獲_
+長
+_為_
+_為
+予
+長_
+予_
+文_
+_日_
+九_
+途_
+_高
+裝_
+故_
+_室
+_發_
+_控_
+前_
+回:
+_查_
+_三
+_安
+_以
+_控
+途
+_安_
+_裝
+_士_
+_雇
+_大_
+_上_
+_起
+出_
+_三_
+_人_
+_起_
+室_
+_人
+_分_
+_至_
+上_
+_出_
+第
+_*
+至
+_查
+程
+_煙_
+_生_
+_以_
+_只
+者
+_可
+三_
+_*_
+分_
+_途
+_前
+_分
+_線_
+_出
+發
+_與_
+生
+由
+可_
+煙_
+_由_
+_線
+者_
+至_
+日_
+只_
+煙
+發_
+_使
+_使_
+查
+_第
+_雇_
+以_
+_只_
+控_
+安_
+*
+與_
+線
+_與
+_至
+改
+人_
+大_
+_上
+_高_
+故
+起_
+高
+線_
+大
+控
+士
+_故_
+_作_
+使
+_由
+由_
+_途_
+安
+作
+*_
+以
+_生
+來
+_大
+回
+_日
+_前_
+四
+_九_
+_九
+人
+_裝_
+上
+_發
+_作
+士_
+_故
+作_
+高_
+雇
+只
+可
+:
+裝
+使_
+起
+出
+前
+_煙
+_可_
+雇_
+_室_
+生_
+八
+_士
+查_
+分
+室
+與
+也_
+肇_
+和_
+_物_
+_如_
+_霧_
+主_
+_商_
+約
+_府_
+到_
+達
+道
+都_
+黨_
+過
+_重_
+_者_
+未_
+_修_
+_約_
+別_
+郵_
+_能_
+來_
+_霧
+_車
+-
+_司_
+_排
+_該_
+_柙_
+被_
+總_
+_越
+呎_
+_資
+_排_
+期_
+_夜_
+_修
+巴_
+_育_
+_歌_
+_號_
+_圍_
+_調
+_亦_
+_校
+_)
+_後_
+入_
+_便
+_訊
+_期_
+脹_
+_而_
+_重
+o
+_該
+_o
+_(
+程_
diff --git a/test/user-template/user/fingerprint/croatian.lm b/test/user-template/user/fingerprint/croatian.lm
new file mode 100644
index 000000000000..b054ac34ab89
--- /dev/null
+++ b/test/user-template/user/fingerprint/croatian.lm
@@ -0,0 +1,400 @@
+_ 36598
+a 9456
+o 9050
+i 8526
+e 7955
+n 5513
+j 5379
+s 4971
+t 4125
+r 3889
+u 3423
+je 3281
+l 3231
+e_ 3177
+d 3128
+k 2992
+v 2891
+a_ 2835
+o_ 2679
+m 2645
+p 2316
+_s 2212
+i_ 2205
+y 2174
+c 1894
+z 1867
+je_ 1613
+_n 1593
+g 1581
+_p 1490
+b 1386
+u_ 1382
+, 1208
+,_ 1208
+st 1203
+_j 1202
+na 1159
+_je 1118
+_d 1105
+_i 1104
+. 1069
+._ 1058
+ra 1017
+ko 981
+ni 980
+_je_ 918
+ij 914
+ti 911
+no 891
+da 884
+to 879
+_k 863
+_o 856
+cy 839
+li 838
+ne 790
+sy 786
+- 785
+pr 760
+_u 748
+po 734
+ta 711
+_b 705
+_t 704
+la 699
+ja 699
+an 691
+m_ 680
+ov 674
+ije 673
+_z 669
+ka 662
+ri 652
+lo 651
+vo 643
+re 641
+is 626
+in 623
+se 623
+va 622
+_m 617
+oj 614
+_po 594
+_pr 592
+bi 588
+en 582
+il 578
+os 576
+vi 572
+nj 569
+ak 564
+_na 558
+im 558
+da_ 553
+od 550
+ao 550
+al 549
+om 545
+na_ 533
+_se 524
+_i_ 523
+h 517
+_g 511
+ma 508
+at 502
+cj 501
+og 497
+-- 493
+ro 493
+on 485
+av 480
+_da 474
+_ne 474
+ed 472
+zy 471
+se_ 466
+_se_ 458
+_bi 457
+ao_ 452
+ad 452
+lj 445
+es 444
+ji 441
+_v 433
+_c 430
+za 421
+go 418
+_r 413
+_u_ 411
+yi 410
+ek 406
+di 403
+sa 396
+et 393
+ic 391
+io 390
+_da_ 389
+to_ 389
+as 386
+_ko 383
+ye 378
+ar 378
+mo 373
+le 367
+or 364
+ju 363
+el 354
+tr 354
+io_ 352
+ve 345
+lo_ 344
+su 344
+ol 344
+am 344
+iz 343
+li_ 338
+ti_ 336
+sto 323
+n_ 321
+it 319
+_za 319
+sta 317
+_ni 316
+te 312
+nu 312
+a, 309
+a,_ 309
+ya 309
+do 304
+om_ 303
+la_ 300
+no_ 299
+_na_ 299
+d_ 297
+ko_ 296
+aj 294
+ik 292
+ru 291
+ga 291
+em 288
+nje 283
+dj 281
+ne_ 281
+k_ 277
+_st 276
+koj 276
+ec 274
+_ka 272
+_su 270
+ob 265
+-_ 263
+az 261
+sv 260
+_koj 260
+im_ 260
+ije_ 259
+pa 258
+ot 257
+yt 256
+ok 255
+su_ 255
+ih 254
+me 253
+dn 253
+_cy 253
+iv 251
+syt 248
+g_ 247
+--_ 246
+_- 246
+kr 246
+--- 246
+a. 245
+e,_ 245
+---_ 245
+e, 245
+er 245
+a._ 244
+_iz 244
+mi 243
+_---_ 242
+cyi 242
+_-- 242
+_--- 242
+jed 240
+h_ 239
+_a 239
+_sa 237
+j_ 236
+_l 231
+_sv 229
+_to 229
+sk 228
+ih_ 224
+ja_ 223
+pro 223
+yn 222
+t_ 222
+ost 221
+_do 221
+oc 219
+gl 218
+_su_ 216
+og_ 216
+uc 214
+s_ 214
+bil 213
+oz 213
+ki 212
+ni_ 212
+nij 209
+ako 208
+eg 208
+ut 205
+pre 205
+ci 204
+ji_ 203
+_od 203
+ilo 202
+ati 202
+ac 201
+ns 200
+_mo 197
+rij 196
+bo 195
+ovo 195
+ku 195
+dje 194
+ma_ 192
+_bil 191
+cje 186
+sti 186
+_go 186
+de 185
+sl 183
+_pro 182
+ju_ 182
+nije 181
+tv 180
+lje 179
+isy 179
+pri 178
+_pre 177
+dr 177
+e._ 177
+e. 177
+op 176
+ima 176
+anj 175
+jen 175
+us 172
+ilo_ 172
+_ra 170
+S 167
+ecj 166
+iti 166
+sp 163
+_S 161
+vr 161
+i. 161
+i._ 161
+zn 161
+ali 161
+i,_ 160
+i, 160
+ap 157
+nije_ 157
+nst 156
+pi 156
+ga_ 156
+_sy 155
+_nj 155
+jes 155
+ran 155
+vo_ 155
+yto 154
+ev 153
+_to_ 152
+_pri 151
+est 150
+N 150
+ins 150
+ist 149
+ir 149
+o, 148
+vj 148
+vje 148
+o,_ 148
+B 148
+zi 147
+jec 147
+gov 147
+yto_ 147
+syto 146
+ton 146
+od_ 145
+O 144
+rije 144
+lik 143
+on_ 142
+ocy 142
+W 142
+ba 142
+_W 141
+kao 141
+Wi 141
+_N 141
+inst 141
+_nij 141
+_nije 140
+_Wi 140
+syto_ 140
+lic 139
+P 139
+ovi 138
+_tr 138
+rs 137
+ez 137
+edn 136
+_P 136
+si 136
+ili 136
+du 136
+Winst 135
+cye 135
+nston 135
+ston 135
+ud 135
+kao_ 135
+Wins 135
+insto 135
+oji 135
+nsto 135
+Win 135
+raz 135
+zye 135
+_Win 134
+ova 134
+_Wins 134
+_on 133
+ako_ 133
+odi 133
+cya 133
+ila 133
+icy 133
+oj_ 133
+ke 133
+va_ 132
+ija 132
+_is 132
+jel 132
+oje 130
+pu 130
+cje_ 130
+bi_ 129
+rat 128
+ce 128
+tu 128
+mu 128
+ve_ 127
diff --git a/test/user-template/user/fingerprint/czech.lm b/test/user-template/user/fingerprint/czech.lm
new file mode 100644
index 000000000000..097bbc5b2241
--- /dev/null
+++ b/test/user-template/user/fingerprint/czech.lm
@@ -0,0 +1,400 @@
+_ 26378
+o 5870
+e 5354
+a 4740
+n 4462
+t 3745
+s 3438
+i 3187
+v 3118
+l 2891
+r 2754
+k 2566
+d 2508
+m 2198
+u 2197
+p 2032
+í 1924
+c 1678
+h 1572
+z 1544
+á 1522
+_p 1299
+e_ 1266
+y 1231
+a_ 1219
+j 1219
+_s 1156
+b 1079
+o_ 1065
+ě 1043
+_v 1038
+, 952
+,_ 946
+st 945
+_n 911
+é 878
+. 870
+í_ 848
+ř 822
+._ 803
+ní 782
+ov 757
+_z 723
+i_ 716
+u_ 684
+ro 674
+en 656
+ý 647
+ž 639
+po 630
+ch 629
+č 625
+na 599
+_a 598
+sk 592
+š 563
+ho 552
+_d 551
+ra 545
+m_ 539
+y_ 530
+_t 512
+ko 504
+_k 503
+le 502
+_j 501
+_o 486
+to 479
+pr 471
+ne 468
+ní_ 462
+je 458
+é_ 456
+ti 455
+od 433
+li 432
+va 432
+_po 429
+_m 428
+al 424
+te 424
+ou 423
+ed 418
+se 415
+la 410
+no 397
+os 382
+lo 377
+an 376
+_pr 375
+ů 375
+v_ 372
+ře 370
+_a_ 364
+em 363
+at 360
+ta 359
+do 357
+t_ 357
+_b 355
+or 349
+h_ 345
+_v_ 338
+ch_ 327
+S 325
+ce 323
+av 323
+př 322
+ni 319
+ké 316
+er 315
+ně 315
+_na 313
+na_ 312
+_ne 311
+de 308
+ic 307
+in 306
+_se 306
+l_ 304
+dn 302
+za 298
+_př 293
+ě_ 291
+ol 290
+_je 281
+ob 280
+is 277
+ve 274
+ho_ 272
+es 270
+ot 268
+ak 265
+vo 263
+ná 260
+il 257
+se_ 257
+it 256
+et 253
+ad 250
+by 249
+P 242
+_r 242
+k_ 242
+ost 241
+_se_ 241
+tr 238
+me 237
+pro 234
+že 234
+ka 230
+_za 227
+om 224
+el 223
+_P 223
+on 218
+_pro 216
+ou_ 216
+tu 215
+O 212
+mi 212
+ku 211
+_u 210
+_do 208
+_l 207
+_na_ 206
+N 205
+ské 205
+ím 205
+íc 205
+ý_ 203
+mě 203
+_S 200
+oz 200
+V 200
+ze 198
+da 194
+sl 192
+á_ 191
+ova 190
+mo 190
+re 189
+so 187
+vy 186
+ej 185
+rá 184
+ar 184
+s_ 183
+vě 183
+A 181
+ru 180
+_st 178
+f 178
+éh 177
+ého 176
+kt 176
+tn 175
+g 174
+bo 174
+ez 173
+ci 172
+ký 172
+né 170
+M 170
+án 169
+as 168
+vi 167
+ři 167
+ac 166
+že_ 165
+ýc 165
+ž_ 165
+ck 164
+K 164
+B 164
+ých 164
+vá 162
+_c 162
+ého_ 162
+ení 161
+lá 160
+_ž 160
+ří 160
+pře 159
+ec 158
+ů_ 157
+J 156
+vn 156
+_h 155
+ké_ 155
+ok 154
+sta 154
+to_ 152
+vý 152
+nt 151
+ých_ 149
+lo_ 149
+_by 149
+dy 149
+_pře 148
+ce_ 147
+R 146
+n_ 146
+ád 146
+pa 145
+vé 145
+am 145
+mu 145
+ný 145
+ud 144
+_č 144
+_B 142
+ter 141
+ně_ 141
+če 140
+še 140
+_V 140
+_ko 140
+li_ 139
+dě 137
+hl 137
+je_ 137
+ji 137
+ist 135
+jí 135
+- 134
+ik 133
+si 133
+ál 132
+em_ 132
+_to 132
+_vy 131
+sp 130
+ut 130
+_J 130
+_že 130
+_M 129
+di 129
+kon 128
+la_ 128
+tí 128
+_ro 127
+ns 127
+ek 126
+ick 126
+T 126
+yl 125
+čn 125
+rn 125
+_že_ 124
+op 124
+sti 124
+kte 124
+řed 124
+edn 123
+us 121
+ím_ 120
+" 119
+z_ 119
+str 118
+ti_ 118
+ém 118
+vat 118
+d_ 118
+_ve 118
+áv 118
+ení_ 117
+iv 117
+oj 117
+_kt 117
+ěl 117
+val 116
+eb 116
+_K 115
+tř 115
+_kte 115
+át 115
+_i 114
+_N 114
+D 114
+kl 114
+ny 114
+byl 113
+ev 113
+ri 113
+ú 113
+ky 111
+sm 111
+oh 111
+E 110
+ma 110
+ět 110
+ský 110
+kter 109
+nu 109
+le_ 108
+ja 107
+zá 107
+tě 106
+tá 106
+zn 106
+let 105
+aj 105
+sto 105
+ší 105
+me_ 105
+-_ 105
+u, 105
+sv 104
+_le 104
+pol 104
+L 104
+_- 104
+ln 104
+pod 104
+H 103
+zi 103
+kéh 103
+kého 103
+_ná 103
+ent 102
+u,_ 102
+_od 102
+né_ 101
+_-_ 101
+al_ 101
+_kter 101
+do_ 100
+nos 100
+cí 100
+rav 99
+ran 99
+_sv 99
+ká 98
+eč 98
+ním 98
+bu 97
+_z_ 97
+ích 97
+_byl 97
+ání 96
+rov 96
+kr 96
+dá 95
+ové 95
+dl 95
+uj 95
+nost 95
+ém_ 95
+ech 94
+ly 94
+oc 94
+vé_ 93
+_o_ 93
+dy_ 93
+ak_ 93
+nsk 93
+_so 93
+_ob 92
+nc 92
diff --git a/test/user-template/user/fingerprint/danish.lm b/test/user-template/user/fingerprint/danish.lm
new file mode 100644
index 000000000000..5e5a61a98638
--- /dev/null
+++ b/test/user-template/user/fingerprint/danish.lm
@@ -0,0 +1,400 @@
+_ 21274
+e 9291
+r 5307
+n 4733
+i 3976
+t 3948
+s 3751
+a 3296
+l 3063
+d 3025
+o 2868
+g 2471
+er 2164
+k 2002
+m 1680
+e_ 1655
+en 1613
+f 1507
+de 1484
+r_ 1379
+v 1245
+u 1176
+t_ 1081
+n_ 1032
+er_ 992
+b 942
+. 870
+ge 868
+._ 831
+re 816
+h 816
+et 813
+te 813
+p 806
+in 788
+or 775
+_s 753
+_a 749
+en_ 712
+_e 691
+ti 689
+an 687
+, 681
+,_ 677
+_f 655
+_d 645
+el 642
+ng 635
+nd 634
+g_ 634
+se 615
+le 615
+st 607
+s_ 601
+_o 572
+ne 560
+li 537
+et_ 524
+es 521
+_i 512
+ri 511
+sk 510
+_de 498
+å 497
+ar 475
+ed 473
+ig 463
+at 452
+_m 446
+is 443
+fo 441
+æ 441
+ve 438
+_k 434
+ø 432
+der 429
+ke 428
+ing 427
+og 426
+_b 412
+me 408
+il 407
+for 405
+ns 394
+y 389
+_h 380
+_t 374
+on 371
+d_ 370
+al 362
+be 359
+_fo 351
+af 336
+de_ 335
+_og 333
+_p 332
+og_ 325
+om 325
+_for 324
+_og_ 313
+l_ 308
+nge 302
+i_ 295
+_v 294
+c 289
+ter 283
+ll 280
+ni 278
+nde 278
+rs 277
+_af 277
+un 275
+ra 271
+ko 271
+den 270
+_i_ 268
+id 265
+til 265
+j 265
+vi 264
+D 260
+ere 256
+ma 255
+si 253
+f_ 252
+af_ 238
+_af_ 235
+ik 235
+m_ 234
+å_ 232
+_ti 227
+_D 226
+_u 226
+_er 225
+nt 224
+_en 224
+ls 221
+es_ 216
+lig 216
+ger 216
+re_ 210
+ag 210
+_me 207
+at_ 204
+lle 200
+ge_ 200
+_til 200
+ige 199
+_er_ 199
+der_ 199
+em 199
+ds 197
+r. 195
+io 195
+r._ 195
+ud 193
+_at 192
+_at_ 191
+ta 190
+els 190
+_l 190
+ha 190
+il_ 189
+or_ 189
+ke_ 186
+rt 185
+gen 184
+ka 183
+- 180
+rk 180
+ning 178
+ol 178
+nin 178
+la 177
+ld 175
+De 175
+it 173
+ede 172
+ed_ 171
+_ko 171
+lse 171
+ek 168
+else 167
+inge 167
+på 167
+ng_ 167
+_på 167
+iv 166
+ør 166
+so 165
+he 165
+ens 165
+ske 165
+ind 164
+til_ 163
+rn 163
+ide 162
+ev 162
+den_ 162
+to 162
+sen 160
+_be 160
+sa 160
+bl 158
+_g 158
+an_ 157
+det 156
+om_ 156
+ru 156
+va 155
+_til_ 155
+ste 154
+rd 153
+_på_ 152
+k_ 152
+på_ 152
+di 152
+kr 152
+K 151
+_De 149
+for_ 148
+te_ 148
+kon 148
+ver 147
+mm 146
+am 146
+_en_ 145
+_r 145
+ne_ 144
+ing_ 144
+tr 143
+le_ 142
+del 142
+_in 142
+gt 140
+_st 138
+S 138
+eg 138
+gs 138
+tt 138
+r, 137
+ser 137
+r,_ 137
+er. 137
+ro 137
+er._ 137
+_for_ 136
+ent 136
+kt 136
+eri 135
+ur 134
+lin 134
+B 133
+A 133
+sti 133
+ner 133
+da 133
+ris 132
+ion 132
+_K 131
+ern 131
+ers 130
+ist 130
+ær 130
+ige_ 130
+_si 130
+tte 129
+E 128
+_n 128
+nn 127
+_B 126
+_ha 126
+_. 126
+rne 125
+H 125
+_ud 125
+rin 124
+na 124
+und 124
+ft 124
+_der 124
+ku 123
+_A 122
+ler 120
+and 120
+end 120
+ns_ 120
+rg 119
+op 119
+er,_ 119
+er, 119
+ar_ 118
+P 118
+_S 117
+_H 117
+_._ 116
+ov 116
+erne 115
+tio 115
+med 115
+tion 115
+_E 115
+_P 115
+det_ 114
+pr 114
+e. 113
+ter_ 113
+: 113
+kk 113
+e._ 113
+e,_ 113
+e, 113
+od 113
+kke 113
+ten 113
+ling 113
+:_ 112
+mi 112
+eli 112
+lo 111
+som 111
+_den 111
+rb 110
+se_ 110
+ell 110
+sid 110
+nne 109
+fi 108
+lt 107
+v_ 107
+_de_ 107
+ark 106
+lige 106
+ngen 106
+ie 105
+_med 105
+_der_ 105
+ring 105
+a_ 105
+_vi 104
+-_ 104
+ys 103
+gel 103
+_so 103
+ia 103
+ive 102
+ej 101
+ati 101
+ren 101
+_det 101
+side 101
+ske_ 101
+br 100
+gi 100
+F 100
+M 100
+ul 99
+isk 99
+men 99
+n,_ 99
+age 99
+fr 99
+n, 99
+tu 98
+ts 98
+_ma 98
+nder 98
+ot 97
+dt 97
+R 97
+med_ 96
+ho 96
+ans 95
+_kon 95
+pe 95
+ce 94
+gr 93
+mme 92
+ret 92
+lige_ 92
+mu 91
+_med_ 91
+hv 91
+væ 91
+Det 91
+ens_ 91
+kl 91
+_M 90
+T 90
+ingen 90
+rm 90
+ill 89
+elle 89
+ef 89
+ene 89
+nds 89
+ove 89
+som_ 89
+C 88
+_den_ 88
diff --git a/test/user-template/user/fingerprint/drents.lm b/test/user-template/user/fingerprint/drents.lm
new file mode 100644
index 000000000000..e69de29bb2d1
--- /dev/null
+++ b/test/user-template/user/fingerprint/drents.lm
diff --git a/test/user-template/user/fingerprint/dutch.lm b/test/user-template/user/fingerprint/dutch.lm
new file mode 100644
index 000000000000..17a0626982a5
--- /dev/null
+++ b/test/user-template/user/fingerprint/dutch.lm
@@ -0,0 +1,400 @@
+_ 20104
+e 9848
+n 5323
+a 3733
+t 3683
+i 3490
+r 3195
+d 2876
+o 2845
+n_ 2443
+en 2439
+s 2195
+e_ 1842
+l 1837
+g 1522
+en_ 1500
+de 1489
+er 1388
+t_ 1377
+v 1253
+u 1217
+k 1204
+_d 1136
+h 1102
+m 1084
+an 939
+te 875
+j 857
+in 810
+_v 793
+r_ 751
+de_ 742
+ee 737
+p 732
+et 718
+ge 716
+aa 708
+b 703
+_e 686
+st 669
+z 668
+ie 662
+_de 655
+w 631
+c 611
+. 604
+s_ 582
+_de_ 576
+_h 572
+el 570
+ij 564
+._ 554
+et_ 531
+an_ 522
+he 505
+_o 497
+nd 478
+_i 475
+ar 459
+_m 451
+re 442
+ve 441
+' 428
+or 424
+ng 421
+at 418
+_s 415
+oo 403
+_z 401
+le 395
+_b 394
+_a 391
+_he 386
+va 385
+er_ 381
+me 372
+_w 368
+f 361
+on 351
+_t 351
+_va 345
+_g 342
+di 342
+nt 340
+, 335
+g_ 335
+,_ 334
+van 327
+ch 326
+is 326
+ing 325
+be 325
+ni 320
+it 317
+een 316
+_van 315
+al 310
+den 309
+ti 309
+van_ 307
+oe 302
+ke 302
+_van_ 299
+aar 299
+d_ 295
+we 293
+da 292
+tu 290
+_ee 290
+ud 287
+een_ 286
+li 284
+es 282
+_st 281
+ver 281
+ten 281
+ri 275
+nde 275
+der 274
+_in 270
+k_ 268
+vo 267
+het 266
+oor 264
+_het 262
+het_ 262
+_het_ 259
+_een 258
+l_ 258
+ze 257
+_n 254
+ro 248
+gen 243
+_een_ 241
+at_ 240
+op 238
+n. 238
+_en 237
+rs 237
+_da 235
+stu 232
+in_ 230
+_be 229
+_ge 228
+_k 226
+rd 226
+tud 220
+_en_ 220
+n._ 217
+te_ 209
+ei 208
+ent 206
+_me 203
+la 202
+ek 202
+ed 201
+ra 200
+stud 200
+en. 200
+ie_ 197
+ste 196
+_vo 195
+_in_ 193
+_stu 191
+zi 191
+om 189
+ui 189
+en._ 186
+ten_ 185
+_stud 185
+ude 184
+die 183
+ns 183
+_j 181
+D 179
+aan 179
+se 179
+ma 178
+_ve 176
+ne 174
+_p 174
+eg 173
+p_ 172
+ar_ 172
+aar_ 171
+_te 170
+ng_ 169
+_we 169
+'' 167
+_D 165
+ers 164
+_op 163
+dat 161
+dat_ 160
+ig 160
+ere 159
+eer 158
+_zi 158
+voor 156
+voo 156
+nge 155
+nder 151
+nte 151
+or_ 150
+ta 150
+je 149
+ing_ 148
+ll 148
+_ver 147
+jk 146
+oor_ 146
+_dat 145
+ijk 145
+ren 145
+is_ 145
+_dat_ 144
+_l 144
+and 144
+lij 143
+ter 143
+na 142
+uden 139
+tude 138
+_voor 136
+_voo 136
+ond 136
+ken 135
+cht 135
+_al 135
+ht 135
+wa 134
+ho 133
+em 133
+den_ 133
+pe 132
+sc 132
+un 131
+ur 131
+_di 130
+gen_ 130
+zo 129
+rt 129
+ev 128
+mo 128
+lijk 127
+_is 126
+stude 124
+ha 123
+to 122
+el_ 121
+og 121
+op_ 121
+sch 120
+ol 120
+ente 119
+_u 118
+pr 118
+end 118
+mi 117
+iet 116
+_aa 116
+eli 115
+dent 115
+ijn 115
+jn 115
+ou 115
+men 114
+_' 114
+tie 113
+_is_ 113
+nie 113
+tr 112
+ak 112
+id 112
+udent 111
+tuden 111
+uit 110
+_te_ 109
+aan_ 109
+ld 109
+S 108
+_aan 108
+ede 108
+ja 107
+nten 107
+it_ 107
+je_ 107
+ts 107
+erd 106
+est 106
+E 105
+_op_ 105
+ad 104
+al_ 104
+_ze 104
+_on 104
+rk 104
+lle 103
+ens 103
+gel 103
+m_ 103
+len 103
+_r 102
+ec 102
+inge 102
+met 102
+_met 101
+si 100
+die_ 100
+us 100
+onde 99
+_ni 99
+De 99
+eu 99
+dente 99
+enten 99
+ic 99
+_met_ 98
+f_ 98
+met_ 98
+no 97
+ko 96
+voor_ 96
+rde 96
+H 96
+ngen 95
+lo 95
+ot 95
+as 94
+zij 93
+_nie 92
+vi 92
+eb 92
+_De 92
+_zij 91
+ep 91
+wi 91
+_zo 91
+kt 91
+ege 91
+G 91
+bi 90
+j_ 90
+ij_ 90
+ze_ 90
+do 90
+lan 89
+ov 89
+udi 89
+ord 89
+onder 89
+V 88
+elij 88
+_wa 88
+elijk 88
+ef 88
+_die 87
+ag 86
+erk 86
+eren 86
+R 85
+ik 85
+_ma 85
+gr 85
+am 85
+_mo 84
+ul 84
+nn 83
+eve 83
+De_ 83
+maa 83
+ingen 83
+wo 83
+_'' 83
+O 83
+tudi 82
+I 82
+nt_ 82
+tudie 81
+ven 81
+udie 81
+nten_ 81
+_die_ 81
+jaa 80
+ka 80
+eke 80
+ite 80
+a_ 80
+_je 80
+ac 80
+jaar 80
+_je_ 79
+_H 79
+_zijn 79
+zijn 79
+n, 78
+nen 78
+N 78
+n,_ 78
+ijn_ 77
diff --git a/test/user-template/user/fingerprint/english.lm b/test/user-template/user/fingerprint/english.lm
new file mode 100644
index 000000000000..ab71632c6214
--- /dev/null
+++ b/test/user-template/user/fingerprint/english.lm
@@ -0,0 +1,400 @@
+_ 20326
+e 6617
+t 4843
+o 3834
+n 3653
+i 3602
+a 3433
+s 2945
+r 2921
+h 2507
+e_ 2000
+d 1816
+_t 1785
+c 1639
+l 1635
+th 1535
+he 1351
+_th 1333
+u 1309
+f 1253
+m 1175
+p 1151
+_a 1145
+the 1142
+_the 1060
+s_ 978
+er 968
+_o 967
+he_ 928
+d_ 888
+t_ 885
+the_ 844
+_the_ 843
+on 842
+in 817
+y 783
+n_ 773
+b 761
+re 754
+, 734
+,_ 732
+an 732
+g 728
+w 718
+_i 707
+en 676
+f_ 599
+y_ 595
+of 594
+_of 592
+es 589
+ti 587
+v 580
+_of_ 575
+of_ 575
+nd 568
+at 549
+r_ 540
+_w 534
+it 522
+ed 496
+_p 494
+nt 485
+_c 462
+o_ 457
+io 450
+_an 439
+te 432
+or 425
+_b 418
+nd_ 407
+to 406
+st 402
+is 401
+_s 396
+_in 389
+ion 385
+and 385
+de 384
+ve 382
+ha 375
+ar 366
+_m 361
+and_ 360
+_and 360
+_and_ 358
+se 353
+_to 347
+me 346
+to_ 344
+ed_ 339
+. 330
+be 329
+_f 329
+._ 329
+_to_ 320
+co 317
+ic 316
+ns 308
+al 307
+le 304
+ou 304
+ce 293
+ent 279
+l_ 278
+_co 277
+tio 275
+on_ 274
+_d 274
+tion 268
+ri 266
+_e 264
+ng 253
+hi 251
+er_ 249
+ea 246
+as 245
+_be 242
+pe 242
+h_ 234
+_r 232
+ec 227
+ch 223
+ro 222
+ct 220
+_h 219
+pr 217
+in_ 217
+ne 214
+ll 214
+rt 213
+s,_ 210
+s, 210
+li 209
+ra 208
+T 207
+wh 204
+a_ 203
+ac 201
+_wh 199
+_n 196
+ts 196
+di 196
+es_ 195
+si 194
+re_ 193
+at_ 192
+nc 192
+ie 190
+_a_ 188
+_in_ 185
+ing 184
+us 182
+_re 182
+g_ 179
+ng_ 178
+op 178
+con 177
+tha 175
+_l 174
+_tha 174
+ver 173
+ma 173
+ion_ 171
+_con 171
+ci 170
+ons 170
+_it 170
+po 169
+ere 168
+is_ 167
+ta 167
+la 166
+_pr 165
+fo 164
+ho 164
+ir 162
+ss 161
+men 160
+be_ 160
+un 159
+ty 159
+_be_ 158
+ing_ 157
+om 156
+ot 156
+hat 155
+ly 155
+_g 155
+em 153
+_T 151
+rs 150
+mo 148
+ch_ 148
+wi 147
+we 147
+ad 147
+ts_ 145
+res 143
+_wi 143
+I 143
+hat_ 142
+ei 141
+ly_ 141
+ni 140
+os 140
+ca 139
+ur 139
+A 138
+ut 138
+that 138
+_that 137
+ati 137
+_fo 137
+st_ 137
+il 136
+or_ 136
+for 136
+pa 136
+ul 135
+ate 135
+ter 134
+it_ 134
+nt_ 133
+that_ 132
+_ha 129
+al_ 128
+el 128
+as_ 127
+ll_ 127
+_ma 125
+no 124
+ment 124
+an_ 124
+tion_ 122
+su 122
+bl 122
+_de 122
+nce 120
+pl 120
+fe 119
+tr 118
+so 118
+int 115
+ov 114
+e, 114
+e,_ 114
+_u 113
+ent_ 113
+Th 113
+her 113
+j 112
+atio 112
+ation 112
+_Th 111
+le_ 110
+ai 110
+_it_ 110
+_on 110
+_for 109
+ect 109
+k 109
+hic 108
+est 108
+der 107
+tu 107
+na 106
+_by_ 106
+by_ 106
+E 106
+by 106
+_by 106
+ve_ 106
+_di 106
+en_ 104
+vi 104
+m_ 103
+_whi 102
+iv 102
+whi 102
+ns_ 102
+_A 101
+ich 100
+ge 100
+pro 99
+ess 99
+_whic 99
+ers 99
+hich 99
+ce_ 99
+which 99
+whic 99
+all 98
+ove 98
+_is 98
+ich_ 97
+ee 97
+hich_ 97
+n,_ 96
+n, 96
+im 95
+ir_ 94
+hei 94
+ions 94
+sti 94
+se_ 94
+per 93
+The 93
+_pa 93
+heir 93
+id 93
+eir 93
+eir_ 93
+ig 93
+heir_ 93
+_no 93
+ev 93
+era 92
+_int 92
+ted 91
+_The 91
+ies 91
+art 91
+thei 90
+_ar 90
+_thei 90
+their 90
+_pro 90
+et 89
+_pe 88
+_mo 88
+ther 88
+x 87
+gh 87
+S 87
+_is_ 87
+ol 87
+ty_ 87
+_I 86
+nde 86
+am 86
+rn 86
+nte 86
+mp 85
+_su 84
+_we 84
+par 84
+_v 84
+pu 82
+his 82
+ow 82
+mi 82
+go 81
+N 81
+ue 81
+ple 81
+ep 80
+ab 80
+;_ 80
+; 80
+ex 80
+ain 80
+over 80
+_un 79
+q 79
+qu 79
+pp 79
+ith 79
+ry 79
+_as 79
+ber 79
+ub 78
+av 78
+uc 78
+s._ 77
+s. 77
+enc 77
+are 77
+iti 77
+gr 76
+his_ 76
+ua 76
+part 76
+ff 75
+eve 75
+O 75
+rea 74
+ous 74
+ia 74
+The_ 73
+ag 73
+mb 73
+_go 73
+fa 72
+on,_ 72
+ern 72
+t,_ 72
+on, 72
+t, 72
+_me 71
diff --git a/test/user-template/user/fingerprint/esperanto.lm b/test/user-template/user/fingerprint/esperanto.lm
new file mode 100644
index 000000000000..0eef3ec8894a
--- /dev/null
+++ b/test/user-template/user/fingerprint/esperanto.lm
@@ -0,0 +1,400 @@
+_ 57050
+a 16035
+i 12706
+e 12227
+o 12102
+n 10393
+s 8344
+l 7707
+r 7492
+t 7134
+k 5376
+u 4558
+j 3946
+a_ 3875
+m 3783
+d 3710
+p 3693
+la 2840
+s_ 2769
+e_ 2751
+. 2706
+_l 2635
+_k 2619
+v 2531
+n_ 2504
+o_ 2444
+i_ 2333
+._ 2278
+on 2238
+, 2193
+,_ 2182
+_la 2100
+en 2080
+j_ 2050
+as 2028
+la_ 2012
+ta 1956
+_la_ 1907
+an 1882
+_p 1850
+g 1831
+_e 1791
+_d 1778
+is 1737
+aj 1658
+st 1635
+_s 1575
+c 1526
+de 1517
+oj 1498
+er 1476
+ti 1456
+f 1443
+_a 1442
+b 1427
+ro 1379
+_m 1351
+ra 1341
+nt 1293
+ka 1270
+ri 1258
+al 1249
+as_ 1248
+aj_ 1213
+to 1209
+_de 1203
+_t 1200
+te 1179
+_n 1176
+is_ 1171
+in 1151
+ko 1145
+or 1114
+es 1083
+re 1034
+ia 1029
+li 1022
+de_ 1016
+_de_ 979
+ar 974
+_v 966
+vi 942
+lo 932
+x 928
+io 917
+ne 855
+no 848
+ni 843
+mi 835
+ma 819
+_ka 816
+el 815
+pr 771
+z 744
+un 734
+l_ 732
+po 730
+_f 725
+ø 724
+est 691
+na 687
+ki 679
+kaj 676
+si 665
+u_ 663
+kaj_ 660
+" 654
+tas 651
+le 650
+oj_ 648
+_i 643
+tr 642
+_pr 630
+_es 628
+jn 626
+pe 618
+_kaj 616
+ig 616
+_kaj_ 611
+do 608
+sta 606
+on_ 602
+ek 602
+ci 597
+r_ 595
+ý 594
+_r 593
+il 592
+_est 587
+di 586
+am 586
+_mi 582
+aý 578
+_vi 577
+mo 575
+ant 565
+_ne 562
+en_ 561
+o. 559
+æ 543
+iu 538
+o, 529
+ur 527
+o._ 527
+om 525
+o,_ 524
+at 521
+va 521
+- 519
+_en 518
+: 513
+:_ 512
+_ti 500
+M 496
+h 488
+nd 484
+me 484
+_al 481
+_ko 479
+ve 478
+ie 478
+_ki 473
+it 473
+L 466
+_b 465
+se 462
+em 452
+ol 450
+nta 449
+tu 448
+ik 444
+ov 443
+da 443
+_M 440
+_po 439
+tas_ 438
+ne_ 437
+et 437
+_ma 436
+_en_ 435
+su 429
+pl 426
+_L 425
+pa 420
+_o 417
+vo 408
+an_ 407
+ro_ 406
+sti 406
+nu 399
+kon 396
+stas 391
+m_ 391
+ir 388
+n. 386
+fa 386
+jn_ 382
+ku 382
+os 376
+ke 375
+n, 375
+esta 374
+n,_ 372
+_su 362
+ta_ 362
+stas_ 359
+xi 359
+Mi 358
+_ne_ 356
+al_ 355
+nk 353
+so 353
+n._ 352
+id 349
+_g 348
+estas 347
+ga 346
+_h 345
+per 345
+_Mi 340
+ok 339
+K 339
+mp 337
+_esta 337
+s,_ 335
+s, 335
+_se 333
+anta 332
+ul 326
+ran 325
+_" 323
+ý_ 322
+te_ 320
+ak 320
+aý_ 320
+ed 320
+rt 319
+ojn 318
+gi 318
+_æ 317
+tis 316
+gx 316
+mal 316
+ia_ 315
+ks 310
+_al_ 310
+mi_ 309
+S 309
+lu 309
+ns 308
+kt 305
+io_ 302
+ent 300
+? 300
+_K 300
+ec 300
+el_ 299
+_- 299
+li_ 299
+E 298
+þ 298
+_li 297
+fo 296
+ter 296
+_re 296
+A 295
+nto 294
+vi_ 292
+La 292
+_mal 290
+nte 288
+sp 287
+sa 287
+_mi_ 279
+ut 278
+op 278
+_ke 277
+bo 277
+ajn 276
+un_ 276
+T 274
+to_ 272
+-_ 272
+bl 272
+_an 271
+_La 271
+øi 269
+_S 268
+_pl 267
+_fa 266
+ni_ 266
+La_ 265
+_E 264
+N 263
+tis_ 263
+_tr 263
+' 262
+! 262
+_-_ 262
+pro 261
+iu_ 261
+iø 261
+nc 260
+_si 259
+du 257
+_kon 256
+ru 255
+_vi_ 254
+_j 253
+ce 251
+ke_ 249
+ap 248
+us 247
+be 247
+im 247
+B 246
+_ku 246
+_La_ 246
+tra 245
+ad 245
+uj 245
+ac 245
+ita 243
+pre 242
+_pro 242
+co 241
+rm 241
+_ni 238
+_pe 236
+?_ 234
+on. 234
+toj 234
+"_ 234
+j. 234
+_ke_ 233
+s. 232
+_A 231
+av 230
+ri_ 230
+_el 229
+por 229
+` 224
+ev 224
+las 223
+P 223
+j._ 221
+eni 220
+_T 220
+_B 219
+j,_ 218
+j, 218
+era 217
+_in 216
+on._ 216
+cx 216
+_N 215
+ion 215
+ab 215
+.. 214
+) 213
+fi 213
+or_ 212
+pri 212
+s._ 212
+_por 210
+ez 210
+in_ 210
+am_ 209
+on,_ 209
+ll 209
+æi 209
+on, 209
+_ve 208
+ris 208
+esti 208
+!_ 207
+men 206
+vas 205
+iel 204
+taj 203
+_c 201
+aro 201
+ank 200
+_pri 200
+jo 200
+ja 200
+ont 200
+lt 199
+_P 199
+igi 199
+_pa 197
+oj. 197
+( 196
+au 195
+oro 195
+ng 195
+_( 194
+sto 194
+ast 194
+ag 193
diff --git a/test/user-template/user/fingerprint/estonian.lm b/test/user-template/user/fingerprint/estonian.lm
new file mode 100644
index 000000000000..74a7aa014324
--- /dev/null
+++ b/test/user-template/user/fingerprint/estonian.lm
@@ -0,0 +1,400 @@
+_ 20738
+a 7004
+e 5699
+i 5321
+s 4731
+t 3769
+l 3448
+u 3446
+n 2902
+k 2584
+d 2202
+m 2043
+a_ 1758
+o 1684
+r 1429
+g 1174
+v 1151
+e_ 1139
+i_ 1136
+_k 1136
+s_ 1077
+h 1009
+, 995
+,_ 995
+_t 953
+p 953
+j 940
+ä 900
+is 896
+st 851
+se 841
+_s 822
+. 821
+as 801
+d_ 801
+le 800
+ta 794
+in 793
+_m 790
+ô 754
+._ 753
+t_ 746
+ma 710
+_p 680
+si 677
+_v 660
+es 636
+al 626
+us 619
+el 602
+_o 596
+_e 586
+ja 580
+_j 563
+te 562
+ü 549
+li 532
+va 515
+id 501
+ol 498
+tu 497
+da 490
+_n 480
+ku 478
+ud 459
+nu 455
+na 438
+ei 432
+ks 418
+mi 411
+ee 411
+u_ 407
+ka 400
+n_ 394
+b 394
+ga 386
+_l 384
+_a 380
+an 366
+ja_ 365
+et 358
+me 358
+l_ 350
+at 348
+la 341
+ad 340
+st_ 339
+ne 336
+ll 333
+_ta 332
+ra 330
+_ja 328
+ik 323
+en 318
+ni 308
+ul 305
+sa 302
+_ol 302
+nd 299
+_ja_ 299
+nud 296
+ii 291
+ko 286
+_se 285
+le_ 283
+aa 281
+is_ 281
+gi 270
+_te 269
+ag 269
+_va 268
+_ku 267
+ed 262
+em 255
+_mi 255
+ma_ 247
+ti 246
+ri 245
+_h 242
+gu 239
+id_ 238
+ast 237
+it 236
+ga_ 236
+un 232
+de 230
+ud_ 230
+ha 230
+ak 228
+ah 228
+uu 228
+il 227
+ôi 226
+as_ 223
+ke 222
+ar 220
+a, 220
+am 220
+_ko 220
+a,_ 220
+_ka 220
+ai 220
+eg 216
+sin 214
+est 214
+ui 214
+he 214
+ks_ 213
+ö 213
+oo 213
+ju 207
+är 205
+ut 203
+in_ 203
+oli 201
+ki 199
+su 199
+es_ 199
+lt 198
+ist 188
+li_ 186
+ea 186
+vi 184
+im 181
+mu 181
+se_ 180
+ts 180
+on 178
+ise 178
+ta_ 177
+ek 176
+_oli 176
+sel 173
+nud_ 173
+_ü 172
+a. 171
+nn 170
+ema 169
+ng 168
+lu 168
+ge 167
+_si 166
+_ei 165
+_i 165
+_ei_ 164
+ei_ 164
+_r 163
+ole 161
+pa 160
+lle 160
+a._ 160
+ust 159
+du 156
+er 156
+vô 153
+da_ 153
+min 152
+et_ 151
+d,_ 149
+_M 149
+ht 149
+d, 149
+M 149
+kui 148
+_et 147
+K 147
+_K 146
+pe 145
+gi_ 145
+_vô 145
+or 144
+_tu 142
+lt_ 141
+_ma 141
+asi 140
+ve 139
+us_ 138
+ig 136
+sin_ 136
+ur 135
+_ta_ 134
+di 134
+_et_ 134
+s,_ 132
+tas 132
+s, 132
+_kui 131
+sk 131
+re 130
+po 129
+oli_ 129
+om 129
+äi 128
+inu 128
+_na 128
+_oli_ 128
+_sa 128
+aj 128
+mis 127
+ui_ 127
+_me 127
+_pa 126
+tus 125
+pi 125
+te_ 124
+ül 123
+- 123
+est_ 122
+_on 121
+kk 121
+tt 120
+aga 119
+na_ 119
+_T 119
+T 119
+b_ 118
+al_ 118
+sta 118
+_mu 116
+_ju 116
+ida 116
+aks 116
+gu_ 116
+_ni 116
+s. 116
+ad_ 116
+_pe 114
+eks 114
+ev 114
+end 113
+s._ 113
+use 111
+ära 111
+_po 111
+_min 110
+S 110
+aja 110
+_la 110
+ele 109
+el_ 108
+on_ 108
+ab 108
+_S 108
+av 107
+ing 107
+kui_ 106
+_on_ 106
+au 104
+ne_ 104
+ti_ 104
+ell 103
+ae 101
+kô 101
+ed_ 100
+_ke 99
+ata 99
+iis 99
+! 98
+!_ 98
+sid 98
+nda 98
+eh 98
+lle_ 97
+pu 97
+ää 97
+vôi 97
+ine 96
+t, 96
+e,_ 96
+ale 96
+_vôi 96
+t,_ 96
+e, 96
+eda 96
+uk 95
+ast_ 95
+ld 95
+? 94
+_kui_ 94
+_sel 93
+_kô 93
+tul 93
+ega 93
+lg 92
+sii 92
+val 92
+e. 92
+_su 92
+ug 92
+oh 92
+kü 92
+d. 91
+ee_ 91
+see 91
+e._ 91
+öö 91
+oma 91
+_ole 90
+ses 90
+stu 90
+ôt 90
+üü 90
+_om 89
+me_ 89
+ot 89
+d._ 89
+_sii 88
+to 88
+_en 87
+atu 87
+?_ 87
+A 86
+J 86
+pea 86
+jä 85
+_A 85
+_see 85
+ime 84
+_pi 84
+_ha 84
+mô 84
+nä 84
+_J 84
+les 84
+ste 84
+kas 84
+_ä 84
+vä 83
+E 83
+pä 83
+_ve 83
+_E 83
+eis 82
+_jä 81
+_pea 81
+_mô 80
+um 80
+_kü 80
+iku 80
+üd 80
+all 79
+eid 79
+ba 79
+_vä 79
+ina 78
+lj 78
+sid_ 78
+hu 78
+tun 78
+lä 78
+_oma 77
+i,_ 77
+i, 77
+agu 77
+uh 77
+lm 76
+ras 76
+ss 76
+kä 76
+ees 76
diff --git a/test/user-template/user/fingerprint/finnish.lm b/test/user-template/user/fingerprint/finnish.lm
new file mode 100644
index 000000000000..328f88604279
--- /dev/null
+++ b/test/user-template/user/fingerprint/finnish.lm
@@ -0,0 +1,400 @@
+_ 19984
+a 9133
+i 8384
+t 7797
+e 6481
+n 6431
+s 5897
+l 4504
+o 4163
+u 4106
+k 4013
+ä 3354
+n_ 2868
+m 2569
+a_ 1987
+v 1905
+r 1827
+ta 1580
+en 1553
+is 1515
+h 1508
+y 1462
+st 1390
+in 1375
+p 1342
+j 1333
+an 1139
+si 1073
+tt 1030
+te 1008
+en_ 982
+_k 980
+it 974
+ll 947
+aa 942
+ä_ 902
+va 878
+el 855
+_t 851
+ka 846
+i_ 835
+. 832
+se 818
+li 806
+tä 804
+oi 767
+ai 744
+._ 739
+tu 734
+_o 719
+mi 715
+al 703
+on 684
+d 681
+_v 662
+et 654
+_j 641
+t_ 635
+ti 632
+_m 628
+_s 620
+ja 616
+ma 596
+sa 595
+la 582
+ist 575
+_e 565
+to 565
+ks 557
+in_ 554
+es 551
+il 538
+an_ 536
+ki 527
+, 525
+ku 525
+,_ 524
+us 520
+as 514
+nt 512
+ri 495
+ke 494
+at 491
+_p 485
+le 484
+ik 483
+ss 477
+ut 469
+ö 469
+sta 460
+ee 459
+uu 458
+ol 457
+ta_ 451
+ne 445
+ää 445
+ei 443
+uo 436
+ko 433
+un 430
+lu 421
+ii 420
+e_ 418
+nn 413
+_h 412
+ar 408
+er 402
+än 396
+ja_ 386
+im 381
+on_ 365
+_va 363
+aan 354
+_a 352
+me 350
+ak 345
+ssa 331
+na 330
+ie 329
+pa 327
+_ja 326
+ia 325
+tä_ 322
+_l 319
+vi 317
+ise 316
+tta 315
+de 314
+os 312
+lli 309
+_ja_ 304
+jo 295
+vä 290
+su 289
+au 287
+lis 286
+_on 285
+sä 284
+uk 280
+am 280
+ot 280
+ty 275
+ett 271
+ttä 270
+ni 269
+lä 267
+ksi 264
+nk 264
+ht 263
+ul 261
+ell 261
+sa_ 259
+ha 257
+sen 257
+a. 254
+isi 253
+ste 253
+aan_ 252
+_on_ 252
+_ka 252
+sk 251
+kk 246
+itt 245
+ok 242
+a._ 239
+all 239
+yt 239
+mä 237
+mu 237
+av 237
+_y 236
+lla 233
+taa 231
+ais 231
+een 230
+K 230
+lt 228
+s_ 227
+ast 227
+iv 226
+ssa_ 225
+ra 225
+- 223
+kse 223
+oit 220
+om 220
+T 219
+_ku 218
+än_ 216
+aa_ 214
+at_ 214
+tel 211
+ui 210
+si_ 208
+rk 207
+sta_ 207
+_jo 203
+kä 202
+_K 201
+est 200
+em 200
+he 199
+_n 199
+vo 198
+_ta 196
+eh 196
+_ol 196
+S 196
+nta 196
+_ko 194
+je 194
+stä 194
+är 193
+ust 191
+mis 191
+ns 190
+pu 189
+nen 188
+ät 188
+toi 188
+iin 187
+ten 187
+min 186
+ista 185
+hd 184
+a, 184
+a,_ 184
+sen_ 183
+E 182
+lle 181
+vat 179
+ill 177
+no 176
+pä 176
+lm 176
+llis 175
+n. 175
+io 172
+ine 171
+n._ 170
+pi 169
+uks 168
+ava 168
+ään 166
+nen_ 165
+ah 165
+_mu 164
+tus 163
+mm 162
+_to 162
+ek 160
+int 159
+_r 159
+lin 158
+oim 158
+_T 158
+A 158
+imi 157
+tö 157
+la_ 157
+jä 157
+aj 156
+yh 155
+o_ 154
+lo 154
+oli 153
+een_ 153
+le_ 153
+_si 153
+g 152
+aik 151
+vat_ 150
+L 149
+ur 149
+ti_ 149
+sia 148
+ite 147
+inen 147
+ain 146
+sti 146
+lla_ 146
+ys 145
+_mi 145
+val 144
+stu 144
+äm 144
+alli 143
+pe 143
+utt 142
+et_ 141
+_tu 141
+eri 140
+_E 140
+: 140
+nki 139
+ir 139
+llä 138
+up 138
+äi 137
+ama 137
+_ha 135
+id 135
+_se 135
+po 134
+inen_ 134
+tte 133
+nna 133
+ten_ 132
+or 132
+ts 131
+nä 131
+yk 131
+äs 131
+_S 130
+ses 130
+ve 130
+ess 129
+äl 129
+ita 129
+lai 129
+H 129
+van 127
+äk 127
+kin 127
+N 127
+_te 126
+den 126
+tee 126
+P 126
+kaa 126
+iin_ 125
+kun 125
+ois 125
+sit 125
+oh 124
+V 124
+yö 124
+äv 124
+tav 124
+voi 124
+ia_ 123
+I 123
+oll 123
+maa 122
+ih 122
+oj 122
+rj 121
+ro 121
+ikk 120
+so 120
+oo 120
+oimi 120
+do 120
+pp 119
+M 119
+_ei 118
+toim 118
+op 118
+uut 118
+tet 118
+_i 118
+_ma 117
+vai 117
+lä_ 116
+u_ 116
+sy 116
+kau 116
+utta 116
+un_ 115
+eu 115
+ssä 115
+tti 115
+_sa 115
+mp 114
+eis 114
+ka_ 112
+että 112
+taa_ 111
+_et 111
+hu 111
+itu 111
+suu 111
+den_ 111
+ksen 110
+ap 110
+_ke 110
+uv 110
+tam 110
+yv 109
+aup 109
+stä_ 109
+asta 109
+äy 109
+kan 108
+nu 108
+ukse 108
+_toi 107
+ien 107
+hi 107
+iss 107
diff --git a/test/user-template/user/fingerprint/fpdb.conf b/test/user-template/user/fingerprint/fpdb.conf
new file mode 100644
index 000000000000..329184d514d1
--- /dev/null
+++ b/test/user-template/user/fingerprint/fpdb.conf
@@ -0,0 +1,86 @@
+#
+# A sample config file for the language models
+# provided with Gertjan van Noords language guesser
+# (http://odur.let.rug.nl/~vannoord/TextCat/)
+#
+# Notes:
+# - You may consider eliminating a couple of small languages from this
+# list because they cause false positives with big languages and are
+# bad for performance. (Do you really want to recognize Drents?)
+# - Putting the most probable languages at the top of the list
+# improves performance, because this will raise the threshold for
+# likely candidates more quickly.
+#
+
+# this file have been modified (to OOo by Jocelyn MERAND joc.mer@gmail.com) to include country and encoding
+# guess strings are made as following : language-country-encoding
+
+afrikaans.lm af--utf8
+albanian.lm sq--utf8
+amharic_utf.lm am--utf8
+arabic.lm ar--utf8
+basque.lm eu--utf8
+belarus.lm be--utf8
+bosnian.lm bs--utf8
+breton.lm br--utf8
+catalan.lm ca--utf8
+chinese_simplified.lm zh-CN-utf8
+chinese_traditional.lm zh-TW-utf8
+croatian.lm hr--utf8
+czech.lm cs--utf8
+danish.lm da--utf8
+dutch.lm nl--utf8
+english.lm en--utf8
+esperanto.lm eo--utf8
+estonian.lm et--utf8
+finnish.lm fi--utf8
+french.lm fr--utf8
+frisian.lm fy--utf8
+georgian.lm ka--utf8
+german.lm de--utf8
+greek.lm el--utf8
+hebrew.lm he--utf8
+hindi.lm hi--utf8
+hungarian.lm hu--utf8
+icelandic.lm is--utf8
+indonesian.lm id--utf8
+irish_gaelic.lm ga--utf8
+italian.lm it--utf8
+japanese.lm ja--utf8
+korean.lm ko--utf8
+latin.lm la--utf8
+latvian.lm lv--utf8
+lithuanian.lm lt--utf8
+luxembourgish.lm lb--utf8
+malay.lm ms--utf8
+manx_gaelic.lm gv--utf8
+marathi.lm mr--utf8
+mongolian_cyrillic.lm mn--utf8
+nepali.lm ne--utf8
+norwegian.lm nb--utf8 # Norwegian (Bokmal)
+persian.lm fa--utf8 # Farsi
+polish.lm pl--utf8
+portuguese.lm pt-PT-utf8
+quechua.lm qu--utf8
+romanian.lm ro--utf8
+romansh.lm rm--utf8
+russian.lm ru--utf8
+sanskrit.lm sa--utf8
+scots.lm sco--utf8
+scots_gaelic.lm gd--utf8
+serbian.lm sr--utf-8
+serbian-latin.lm sh--utf-8
+slovak_ascii.lm sk-SK-utf8
+slovenian.lm sl--utf8
+spanish.lm es--utf8
+swahili.lm sw--utf8
+swedish.lm sv--utf8
+tagalog.lm tl--utf8
+tamil.lm ta--utf8
+thai.lm th--utf8
+turkish.lm tr--utf8
+ukrainian.lm uk--utf8
+vietnamese.lm vi--utf8
+welsh.lm cy--utf8
+yiddish_utf.lm yi--utf8
+zulu.lm zu--utf8
diff --git a/test/user-template/user/fingerprint/french.lm b/test/user-template/user/fingerprint/french.lm
new file mode 100644
index 000000000000..5080d9cba9d5
--- /dev/null
+++ b/test/user-template/user/fingerprint/french.lm
@@ -0,0 +1,400 @@
+_ 20800
+e 7258
+i 4051
+s 4003
+a 3972
+n 3903
+r 3650
+t 3590
+u 2968
+o 2823
+l 2723
+e_ 2632
+d 2241
+s_ 1721
+_d 1693
+c 1663
+p 1528
+é 1320
+m 1297
+es 1164
+t_ 1106
+_l 1079
+de 1048
+on 959
+_de 940
+en 939
+_p 852
+nt 825
+le 808
+es_ 791
+re 777
+, 721
+,_ 720
+n_ 703
+de_ 685
+' 670
+an 667
+_de_ 645
+v 641
+_s 610
+r_ 596
+_c 594
+er 585
+ai 575
+_a 558
+_e 554
+ou 554
+q 549
+qu 538
+is 530
+te 528
+ti 525
+ur 519
+it 514
+g 498
+a_ 490
+f 480
+la 476
+in 475
+_le 441
+me 436
+nt_ 432
+. 427
+b 427
+ra 423
+io 416
+ent 415
+._ 404
+ne 395
+ns 392
+ion 383
+h 381
+ue 376
+se 371
+le_ 370
+ar 370
+ie 362
+co 361
+at 359
+tr 359
+et 349
+pr 342
+ce 336
+au 328
+u_ 321
+il 314
+_r 313
+_la 304
+un 303
+eu 303
+st 300
+re_ 296
+ro 290
+la_ 288
+on_ 287
+_m 286
+_la_ 283
+que 281
+_qu 280
+_q 280
+po 275
+tio 273
+tion 273
+pa 273
+li 271
+_t 269
+nc 268
+si 266
+_pr 265
+ri 264
+al 263
+ui 262
+_co 259
+i_ 255
+ta 255
+é_ 251
+x 247
+em 244
+l_ 243
+et_ 238
+_l' 236
+l' 236
+les 233
+ns_ 233
+ir 232
+_le_ 228
+ent_ 227
+or 226
+ré 224
+_f 224
+ne_ 222
+à 221
+ve 220
+ch 220
+it_ 219
+di 219
+oi 217
+- 216
+ni 215
+à_ 215
+les_ 215
+d' 214
+el 212
+ss 212
+_n 212
+ut 211
+our 210
+des 210
+" 208
+ur_ 207
+nd 207
+er_ 206
+ait 206
+ion_ 204
+rs 202
+_en 201
+_et 200
+j 200
+_d' 200
+ll 199
+_des 198
+des_ 197
+_pa 197
+té 196
+_et_ 195
+_à 195
+_à_ 195
+om 193
+ma 192
+ati 190
+_des_ 189
+L 188
+so 187
+_u 185
+è 184
+_" 183
+sa 182
+_po 181
+tre 181
+dé 181
+ue_ 180
+pe 179
+en_ 179
+ont 178
+_un 178
+_L 178
+us 176
+_les 176
+_les_ 176
+rt 176
+is_ 173
+_i 173
+du 172
+e,_ 171
+e, 171
+na 171
+s, 170
+s,_ 170
+as 169
+men 169
+M 167
+ait_ 167
+'a 166
+vi 162
+ci 159
+ant 158
+_au 158
+da 157
+_M 157
+ation 155
+atio 155
+con 154
+que_ 153
+ons 153
+eur 151
+est 149
+me_ 149
+mi 149
+par 148
+tion_ 148
+_so 147
+te_ 147
+res 144
+lo 144
+ment 144
+és 144
+ans 143
+_du 142
+du_ 141
+ux 141
+un_ 140
+y 138
+pro 138
+_du_ 136
+_dé 136
+ce_ 135
+_se 134
+_re 134
+pl 133
+A 132
+ge 131
+ic 131
+su 130
+x_ 129
+ien 129
+nce 129
+"_ 129
+ac 128
+il_ 128
+qui 128
+_pro 127
+no 127
+av 126
+_v 125
+_o 125
+rs_ 125
+ans_ 124
+eme 124
+bl 123
+emen 122
+_en_ 122
+iqu 122
+ct 122
+iq 122
+lle 122
+nn 121
+ts 121
+ement 121
+ét 120
+_"_ 120
+ér 119
+té_ 119
+_ce 119
+mp 119
+ire 119
+ui_ 119
+to 118
+he 117
+_é 117
+ca 117
+_j 116
+ec 116
+va 116
+_par 116
+ée 115
+_con 115
+se_ 114
+tre_ 113
+ique 112
+dan 111
+éc 111
+ha 110
+une 110
+P 110
+lu 110
+ux_ 109
+_b 108
+s. 108
+pou 108
+_pou 108
+ier 107
+C 107
+ais 106
+s._ 105
+ain 104
+_un_ 104
+nte 103
+'e 103
+mo 103
+mm 103
+ment_ 102
+une_ 102
+com 101
+_P 101
+'i 101
+_ma 100
+do 99
+ant_ 98
+anc 98
+che 97
+ap 97
+ont_ 97
+_que 97
+os 97
+urs 96
+_di 96
+fi 96
+im 96
+pour 96
+_pour 96
+ê 95
+ts_ 95
+_g 95
+our_ 94
+_sa 94
+ntr 94
+_da 94
+_ré 93
+rai 93
+rm 93
+_qui 93
+e. 92
+am 92
+_com 91
+uv 91
+_C 91
+D 91
+qui_ 90
+e._ 90
+pu 89
+_qui_ 88
+ia 87
+_dan 87
+_dans 87
+dans 87
+ter 87
+fo 87
+son 87
+dans_ 87
+id 86
+ag 86
+ine 86
+tu 85
+ran 85
+au_ 85
+ol 85
+oc 84
+est_ 84
+st_ 84
+enc 84
+F 82
+_tr 81
+'u 81
+tai 81
+ell 80
+R 79
+_su 79
+S 79
+ions 79
+pré 79
+sé 78
+ab 78
+né 77
+_que_ 77
+_in 77
+_av 76
+pour_ 76
+fa 76
+rr 76
+air 75
+_ch 75
+_a_ 75
+ba 74
+_pl 74
+gr 74
+tt 74
+ssi 74
+rd 73
+pas 73
+bi 73
diff --git a/test/user-template/user/fingerprint/frisian.lm b/test/user-template/user/fingerprint/frisian.lm
new file mode 100644
index 000000000000..9efa35f370c8
--- /dev/null
+++ b/test/user-template/user/fingerprint/frisian.lm
@@ -0,0 +1,400 @@
+_ 46446
+e 15767
+n 9616
+i 7837
+a 7830
+t 7562
+r 7297
+s 6307
+o 4784
+n_ 4595
+d 4564
+e_ 4213
+l 4032
+k 3951
+t_ 3079
+en 2863
+m 2605
+er 2492
+y 2462
+f 2371
+_d 2253
+de 2124
+h 1943
+in 1899
+w 1898
+en_ 1857
+_i 1815
+u 1769
+g 1738
+an 1690
+j 1678
+p 1651
+r_ 1619
+_f 1602
+. 1601
+ar 1561
+te 1545
+b 1488
+s_ 1476
+._ 1435
+_s 1370
+de_ 1235
+_de 1224
+_w 1181
+it 1172
+ie 1140
+, 1078
+_o 1056
+,_ 1056
+oa 1045
+_e 1040
+st 1038
+an_ 1010
+_b 972
+_de_ 965
+ke 949
+_m 947
+_t 933
+ne 920
+er_ 895
+at 863
+sk 856
+c 850
+it_ 848
+_h 838
+ei 832
+k_ 817
+yn 790
+ch 784
+le 772
+is 769
+je 765
+el 761
+me 758
+ea 754
+_k 740
+fa 736
+in_ 735
+' 733
+_it 733
+_it_ 727
+ge 727
+re 725
+al 724
+_fa 684
+yn_ 640
+aa 628
+fan 626
+_y 618
+ar_ 617
+et 616
+ri 615
+_fan 613
+_n 612
+li 611
+_yn 610
+_en 598
+fan_ 594
+oe 589
+_fan_ 584
+_en_ 583
+at_ 581
+_in 570
+oar 565
+_in_ 560
+y_ 555
+F 549
+es 540
+_a 536
+ng 523
+be 514
+sj 512
+nt 510
+l_ 510
+_F 506
+ns 506
+D 499
+te_ 499
+der 497
+_yn_ 497
+ti 493
+ek 490
+ro 476
+rs 474
+rd 473
+se 470
+fo 470
+ys 462
+op 461
+û 461
+we 456
+ry 451
+da 445
+d_ 443
+is_ 442
+_D 440
+ur 433
+i_ 432
+ha 426
+_me 425
+ear 422
+_l 417
+ed 410
+as 409
+om 407
+ei_ 406
+Fr 405
+nd 404
+_fo 394
+_p 393
+oc 390
+rys 389
+ol 386
+_Fr 386
+och 383
+fe 381
+ik 379
+ma 379
+ra 377
+nn 374
+_g 368
+_da 367
+di 363
+ts 362
+ta 361
+a_ 360
+ko 359
+et_ 358
+ysk 356
+Fry 354
+Frys 354
+z 354
+ll 350
+_be 349
+ke_ 348
+I 347
+ing 346
+_' 345
+m_ 343
+h_ 340
+ske 339
+_ha 338
+sje 336
+_Fry 336
+_Frys 336
+wi 335
+_op 334
+p_ 334
+_is 333
+ch_ 333
+tr 330
+ten 328
+ers 327
+wa 325
+ter 322
+ji 322
+rysk 319
+_ne 319
+je_ 312
+foa 311
+ê 309
+jo 307
+_is_ 307
+ste 307
+_te 306
+â 301
+n. 301
+nne 300
+rt 300
+foar 299
+S 299
+mei 299
+_r 298
+_oa 297
+wu 293
+ak 291
+si 290
+wur 290
+ni 290
+pe 288
+Frysk 287
+oan 286
+n._ 285
+_mei 284
+der_ 281
+_foar 281
+_foa 281
+ht 278
+cht 277
+- 275
+ú 275
+_j 274
+ne_ 273
+ken 273
+fer 271
+ûn 270
+am 270
+on 268
+nde 264
+_S 264
+B 262
+ki 261
+id 261
+le_ 261
+dat 260
+v 259
+_I 256
+oar_ 255
+op_ 254
+lle 252
+la 244
+tt 243
+dat_ 242
+_fe 242
+mm 240
+inn 239
+_wi 239
+_dat 237
+g_ 236
+mei_ 236
+al_ 235
+_B 234
+e. 234
+ld 231
+_al 230
+_wur 230
+urd 230
+_wu 230
+_op_ 230
+De 229
+inne 228
+ng_ 227
+_mei_ 227
+'t 226
+ks 226
+'t_ 224
+_dat_ 224
+_ko 223
+_st 220
+ân 219
+rk 219
+sa 219
+e._ 219
+tte 218
+en. 218
+n, 217
+ier 216
+ten_ 216
+_fer 215
+mi 215
+hi 215
+ien 214
+_wa 213
+n,_ 213
+no 213
+_te_ 212
+ig 212
+_De 212
+ske_ 212
+_der 212
+W 211
+H 211
+_oan 210
+ee 209
+dy 208
+ek_ 207
+en._ 207
+ic 207
+mme 206
+yk 204
+pr 204
+net 203
+foar_ 203
+he 203
+wurd 201
+_der_ 199
+jen 199
+_dy 199
+kr 198
+ka 197
+im 196
+_H 196
+il 196
+ze 196
+_ma 195
+by 194
+oer 194
+kt 193
+us 193
+M 193
+sk_ 192
+wo 192
+_hi 191
+or 190
+ing_ 190
+_W 190
+ich 189
+De_ 187
+rr 186
+int 185
+_ú 184
+: 184
+ij 184
+_ek 183
+eg 182
+:_ 180
+gen 180
+as_ 180
+_se 179
+e, 178
+_net 177
+e,_ 177
+ins 177
+N 177
+ls 176
+st_ 176
+_wurd 176
+ie_ 175
+E 175
+nne_ 175
+_De_ 175
+sy 175
+wer 174
+gr 174
+f_ 173
+nk 172
+och_ 172
+net_ 169
+ad 169
+_we 169
+rde 168
+sl 168
+bi 168
+of 168
+so 168
+_no 167
+_ta 167
+re_ 167
+to 167
+den 167
+J 167
+t. 166
+It 165
+út 165
+inne_ 165
+ysk_ 165
+lik 164
+sp 163
+_ek_ 162
+ou 162
+tsj 162
+It_ 161
+_sa 160
+A 160
+wol 160
+lâ 159
+_wo 159
+ge_ 159
+lân 159
+ige 158
diff --git a/test/user-template/user/fingerprint/georgian.lm b/test/user-template/user/fingerprint/georgian.lm
new file mode 100644
index 000000000000..0e88ab08a895
--- /dev/null
+++ b/test/user-template/user/fingerprint/georgian.lm
@@ -0,0 +1,400 @@
+_ 14926
+À 7221
+È 5780
+Ä 4137
+Ð 2966
+Ñ 2908
+Ë 2607
+Ê 2372
+Í 2260
+Å 2080
+Ã 2078
+Ì 2005
+Ç 1598
+Á 1383
+Ó 1363
+È_ 1248
+À_ 1149
+Â 1145
+ÊÈ 1009
+Þ 974
+_Ë 965
+Ñ_ 964
+ÃÀ 912
+ÈÑ 901
+ÀÐ 897
+Ø 820
+. 813
+ÄÁ 767
+" 762
+._ 735
+, 720
+,_ 718
+ÑÀ 684
+_À 669
+Ú 653
+ËÀ 631
+ÀÌ 622
+ÄÊ 575
+ÐÈ 570
+ÅÄ 567
+Õ 551
+_Ã 550
+Ò 542
+_Ñ 526
+É 518
+ÀË 517
+ÅÀ 485
+ÅÈ 479
+ÂÀ 478
+_Â 474
+ÓÊ 468
+_È 436
+ÐÀ 435
+ÀÅ 420
+ËÈ 419
+ÌÈ 418
+ÄÐ 416
+ÄÌ 412
+ÈÑ_ 407
+_ÃÀ 404
+ÃÀ_ 393
+ÀÊ 384
+ËÍ 382
+Ü 376
+_" 374
+ÊÈ_ 371
+× 369
+ÐÍ 364
+ÀÑ 360
+ÈÇ 358
+ÀÃ 353
+ÌÀ 349
+Ô 349
+ÁÀ 342
+Æ 341
+ËÄ 335
+ÈÀ 334
+ÈÊ 332
+ÐÇ 326
+_Ð 322
+ÁÈ 321
+ØÈ 319
+_Ä 319
+_Ø 319
+ÃÄ 317
+_ÂÀ 316
+ÇÀ 316
+ÄÑ 306
+Ä_ 299
+_Ç 288
+ÐÄ 279
+ÓÊÈ 273
+ÊÍ 271
+Ö 270
+Ì_ 267
+ÌÄ 267
+_ÑÀ 266
+ÍÁ 263
+ÓÐ 260
+Ç_ 256
+ÄÊÈ 255
+ÃÈ 238
+ÊÄ 238
+ÑÈ 234
+ÊÀ 233
+ÍÐ 230
+ÈÌ 229
+_Þ 227
+"_ 225
+ÄÁÈ 224
+: 224
+:_ 223
+È. 221
+_ÃÀ_ 217
+Û 215
+ÞÄ 213
+È, 213
+È,_ 212
+_Ó 211
+Í_ 209
+_ËÀ 208
+ÈÑÀ 208
+ÍË 206
+_ÀÐ 204
+ÇÅ 203
+ÀÐÇ 203
+ØÄ 203
+È._ 201
+À. 200
+- 193
+ÀÞ 192
+ÅÄÊ 192
+Ú_ 189
+ÈÃ 188
+Ù 188
+ÕÀ 187
+Ã_ 185
+ÈÊÈ 183
+ÄÃ 179
+À._ 177
+Ð_ 177
+ÍÃ 174
+ÞÀ 174
+ÈÐ 173
+ÌÃ 172
+_ÐÍ 172
+ÍÑ 172
+ÄÁÀ 171
+_ËÍ 170
+ÐÈ_ 170
+_ËÈ 170
+_Ü 169
+ÇÈ 166
+ÁÄ 166
+_Õ 165
+ØÈ_ 165
+ÄÑ_ 163
+ÀÈ 162
+_ØÄ 160
+ÄÅ 158
+_É 155
+ÀÚ 154
+ÊÈÑ 153
+Î 151
+Ë_ 149
+ÕÀÐ 148
+À,_ 147
+À, 147
+ÀÇ 147
+ÀÂ 145
+ÕÀÐÇ 145
+ÈÂ 143
+ËÀÐ 143
+ÍÊ 143
+ÀÊÈ 142
+ÂÈ 142
+ÌÄÁ 141
+ÄË 140
+ÀØ 139
+ÓÊÈ_ 139
+ÄÇ 139
+ÇÓ 138
+_Ì 136
+ÈÇ_ 135
+ÀÐÈ 133
+ÀÌ_ 132
+ÊÄÁ 131
+×Í 130
+ÑÄ 130
+ÈË 130
+ÐÄÁ 128
+ÀÕ 125
+ÆÄ 125
+ÔÄ 125
+Ê_ 124
+ÀÅÈ 124
+ÀÃ_ 124
+ÅÈÑ 123
+_ËÄ 123
+ÀËÈ 122
+_ÕÀ 121
+ÉÈ 121
+_Å 120
+×Å 120
+ÍÅ 116
+_Á 114
+ÀÌÈ 113
+ÀËÍ 113
+ÂÀÌ 113
+ÍÌ 112
+ÉÀ 112
+ÈÚ 112
+ØÀ 112
+ÀÐÀ 111
+ÁÓ 111
+ÞÅ 109
+ÀÖ 109
+ÂÍ 107
+ÁÀ_ 107
+ÌÈ_ 107
+ÅÀÐ 107
+ÄÊÈ_ 106
+ÐÃ 106
+ÀÐ_ 106
+_ÀË 105
+ß 104
+ÄÐÇ 104
+_ÄÐ 104
+ÅÄÌ 103
+_ÄÑ 103
+ÐÍË 103
+ÄÌÈ 103
+_Ú 103
+ÁÍ 102
+_Ù 102
+ËÈÑ 102
+ÐÈÑ 102
+ÞÍ 102
+_ÐÍË 101
+_ÕÀÐ 101
+ÈÅ 100
+_ÕÀÐÇ 100
+ÓÐÈ 99
+ÒÈ 99
+ÂÄ 99
+ÈÒ 99
+ÀÀ 97
+ÀÒ 97
+ÁÓÊ 96
+ÕÅ 94
+ÈÄ 94
+_ÇÀ 94
+Ñ,_ 93
+ÐÑ 93
+ÅÊ 93
+_ØÀ 93
+Ñ, 93
+_ÑÈ 93
+ÀÉ 93
+ÀÆ 92
+ÍÁÀ 92
+ÀÑ_ 92
+ÌÍ 91
+ÄÁÓ 91
+ÇÕ 91
+ËÓ 90
+ÄÌ_ 90
+ÇÀÅ 89
+ÄÁÓÊ 89
+ÊÑ 89
+ÀØÈ 89
+ÃÄÁ 89
+ÀÁ 89
+È" 89
+Ñ. 88
+ÚÞ 88
+ÂÀË 88
+ÍÑ_ 87
+_ÄÐÇ 87
+È× 87
+ÁÈÑ 87
+ÌÃÀ 87
+ØÅ 87
+ÞÄÊ 87
+ÁÈÇ 85
+ÑÀ_ 85
+ÇÅÄ 85
+ÓÌ 85
+ÒÀ 85
+_Î 84
+ÊÈ. 84
+_ÐÀ 83
+Ñ._ 83
+_Ô 83
+_ÂÀË 83
+ÊÈÀ 83
+ÊÈ._ 82
+ÄÐÈ 82
+ÈÀ_ 82
+ÈÀÌ 82
+ÜÈ 81
+ÀÚ_ 81
+"Ë 81
+ÈÓ 80
+_"Ë 80
+ÐÇÅ 80
+_ÄÑ_ 79
+_ÈÂ 79
+ÀÓ 79
+ÈÕ 79
+ÀÐÇÅ 79
+ÇÈ_ 79
+ÑÀÞ 79
+ÐÇÓ 78
+ÊÈ, 78
+ÚÈ 78
+ÞÈ 78
+ÐÇÓÊ 78
+ÇÓÊ 78
+ÊÈ,_ 78
+ÀÃÀ 78
+ÁÑ 78
+_ÀÐ_ 77
+ÞÊ 77
+ÐÓ 77
+ÀÐÇÓÊ 77
+_ÌÀ 77
+ÅÈÇ 77
+ÈÂÈ 77
+ÀÐÇÓ 77
+ÜÀ 76
+ÅÀ_ 75
+_ÞÀ 75
+ÉÅ 75
+ÒÄ 75
+ÐÀ_ 75
+ÅÀÊ 75
+ÇÅÄÊ 74
+ÐÇÅÄ 74
+ÀÐÇÅÄ 74
+ÄÁÀ_ 74
+ÐË 73
+ÑÞ 73
+ÑÒ 73
+ÅÑ 73
+ÑÓ 73
+ÐÇÅÄÊ 73
+ËÞ 73
+ÍÊÍ 72
+ÐÚ 72
+_× 72
+ÂÐ 71
+ÅÄ_ 71
+ÒÍ 71
+ÇÄ 71
+ÍÂ 71
+ÅÄÁ 71
+ÕÀÐÇÓ 71
+ÐÀÃ 70
+ÀË_ 70
+ÅÃ 69
+ËÀ_ 69
+ÍÄ 69
+_ÀÐÀ 67
+à 67
+ÄÃÀ 67
+ÇÀÌ 67
+È×Í 67
+ÕÀÐÇÅ 67
+Ò× 67
+ÂÀËÍ 66
+_ÂÀËÍ 66
+ÄÒ 66
+ÍÃÀ 66
+ÅÄÊÈ 66
+ÀÌÀ 66
+ÄÁÈÇ 66
+_ÈÂÈ 66
+ÄÊÍ 65
+ÄÂ 65
+ËÈÊ 65
+ÊË 65
+ÈÊÈ_ 65
+ÍÁÈ 65
+ÅÐ 65
+_ÈÑ 64
+Ó_ 63
+ËÃ 63
+", 63
+ÃÍ 63
+ÊÍÁ 63
+ÂÅ 63
+ÃÂ 63
+ÄÍ 62
+À" 62
+ÀÅÀ 62
+? 62
+",_ 62
+! 62
+_È× 62
diff --git a/test/user-template/user/fingerprint/german.lm b/test/user-template/user/fingerprint/german.lm
new file mode 100644
index 000000000000..eb4eda0f8239
--- /dev/null
+++ b/test/user-template/user/fingerprint/german.lm
@@ -0,0 +1,400 @@
+_ 31586
+e 15008
+n 9058
+i 7299
+r 6830
+t 5662
+s 5348
+a 4618
+h 4176
+d 4011
+er 3415
+en 3412
+u 3341
+l 3266
+n_ 2848
+c 2636
+ch 2460
+g 2407
+o 2376
+e_ 2208
+r_ 2128
+m 2077
+_d 1948
+de 1831
+en_ 1786
+ei 1718
+er_ 1570
+in 1568
+te 1505
+ie 1505
+b 1458
+t_ 1425
+f 1306
+k 1176
+ge 1144
+s_ 1137
+un 1113
+, 1104
+,_ 1099
+w 1099
+z 1060
+nd 1039
+he 1004
+st 989
+_s 952
+_de 949
+. 909
+_e 906
+ne 906
+der 880
+._ 847
+be 841
+es 829
+ic 796
+_a 791
+ie_ 779
+is 769
+ich 763
+an 755
+re 749
+di 732
+ein 730
+se 730
+" 720
+ng 709
+_i 706
+sc 683
+sch 681
+it 673
+der_ 652
+h_ 651
+ch_ 642
+S 630
+le 609
+p 609
+ä 607
+ü 603
+au 603
+v 602
+che 599
+_w 596
+d_ 585
+die 576
+_di 572
+m_ 562
+_die 559
+el 548
+_S 540
+_der 529
+li 527
+_der_ 523
+si 515
+al 514
+ns 507
+on 501
+or 495
+ti 490
+ten 487
+ht 486
+die_ 485
+_die_ 483
+D 479
+rt 478
+nd_ 476
+_u 470
+nt 468
+A 466
+in_ 464
+den 461
+cht 447
+und 443
+me 440
+_z 429
+ung 426
+ll 423
+_un 421
+_ei 419
+_n 415
+hr 412
+ine 412
+_A 408
+_ein 405
+ar 404
+ra 403
+_v 400
+_g 400
+as 395
+zu 392
+et 389
+em 385
+_D 380
+eine 376
+gen 376
+g_ 376
+da 368
+we 366
+K 365
+lt 360
+B 354
+_" 353
+nde 349
+ni 347
+und_ 345
+E 345
+ur 345
+_m 342
+ri 341
+ha 340
+eh 339
+ten_ 338
+es_ 336
+_K 336
+_und 335
+ig 335
+_b 335
+hen 334
+_und_ 332
+_au 329
+_B 327
+_da 325
+_zu 324
+_in 322
+at 321
+us 318
+wi 307
+n, 305
+n,_ 304
+nn 304
+te_ 301
+eit 301
+_h 300
+ter 299
+M 298
+n. 295
+ß 294
+ng_ 289
+sche 289
+- 283
+rs 282
+den_ 282
+_si 280
+G 280
+im 278
+_ge 277
+chen 276
+rd 273
+_E 273
+n._ 270
+icht 270
+rn 268
+uf 267
+isch 264
+isc 264
+nen 263
+_in_ 262
+_M 260
+_er 257
+ich_ 255
+ac 253
+lic 252
+_G 252
+ber 252
+la 251
+vo 251
+eb 250
+ke 249
+F 248
+as_ 248
+hen_ 248
+ach 245
+en, 244
+ung_ 243
+lich 243
+ste 243
+en,_ 243
+_k 241
+ben 241
+_f 241
+en. 241
+_be 239
+it_ 239
+L 238
+_se 237
+mi 236
+ve 236
+na 236
+on_ 236
+P 235
+ss 234
+ist 234
+ö 234
+ht_ 233
+ru 233
+st_ 229
+_F 229
+ts 227
+ab 226
+W 226
+ol 225
+_eine 225
+hi 225
+so 224
+em_ 223
+"_ 223
+ren 222
+en._ 221
+chen_ 221
+R 221
+ta 221
+ere 220
+ische 219
+ers 218
+ert 217
+_P 217
+tr 217
+ed 215
+ze 215
+eg 215
+ens 215
+ür 213
+ah 212
+_vo 212
+ne_ 211
+cht_ 210
+uc 209
+_wi 209
+nge 208
+lle 208
+fe 207
+_L 207
+ver 206
+hl 205
+V 204
+ma 203
+wa 203
+auf 201
+H 198
+_W 195
+T 195
+nte 193
+uch 193
+l_ 192
+sei 192
+nen_ 190
+u_ 189
+_den 189
+_al 189
+_V 188
+t. 188
+lte 187
+ut 186
+ent 184
+sich 183
+sic 183
+il 183
+ier 182
+am 181
+gen_ 180
+sen 179
+fü 178
+um 178
+t._ 177
+f_ 174
+he_ 174
+ner 174
+nst 174
+ls 174
+_sei 173
+ro 173
+ir 173
+ebe 173
+mm 173
+ag 172
+ern 169
+t,_ 169
+t, 169
+eu 169
+ft 168
+icht_ 167
+hre 167
+Be 166
+nz 165
+nder 165
+_T 164
+_den_ 164
+iche 163
+tt 163
+zu_ 162
+and 162
+J 161
+rde 160
+rei 160
+_we 159
+_H 159
+ige 159
+_Be 158
+rte 157
+hei 156
+das 155
+aus 155
+che_ 154
+_das 154
+_zu_ 154
+tz 154
+_ni 153
+das_ 153
+_R 153
+N 153
+des 153
+_ve 153
+_J 152
+I 152
+_das_ 152
+men 151
+_so 151
+_ver 151
+_auf 150
+ine_ 150
+_ha 150
+rg 149
+ind 148
+eben 148
+kt 147
+mit 147
+_an 147
+her 146
+Ge 146
+Sc 145
+_sich 145
+U 145
+Sch 145
+_sic 145
+end 145
+Di 144
+abe 143
+ck 143
+sse 142
+ür_ 142
+ell 142
+ik 141
+o_ 141
+nic 141
+nich 141
+sa 141
+_fü 140
+hn 140
+zi 140
+no 140
+nicht 140
+im_ 139
+von_ 139
+von 139
+_nic 139
+_nich 139
+eine_ 139
+oc 138
+wei 138
+io 138
+schen 138
+gt 138
diff --git a/test/user-template/user/fingerprint/greek.lm b/test/user-template/user/fingerprint/greek.lm
new file mode 100644
index 000000000000..6dff6cd4f767
--- /dev/null
+++ b/test/user-template/user/fingerprint/greek.lm
@@ -0,0 +1,400 @@
+_ 89284
+α 19666
+τ 16086
+ο 15826
+ε 14848
+ι 12766
+ν 12189
+π 8776
+σ 8653
+ρ 8399
+κ 7761
+μ 7529
+υ 6850
+ά 6284
+_τ 5918
+λ 5802
+ς 5371
+α_ 5272
+η 5236
+έ 4739
+ί 4609
+ό 4489
+το 4461
+ς_ 4111
+ου 4075
+ι_ 4033
+ε_ 4019
+. 3916
+_κ 3897
+ο_ 3836
+._ 3810
+ν_ 3661
+_π 3414
+_σ 3333
+" 3247
+_μ 3242
+_το 3118
+, 3106
+,_ 3068
+γ 3058
+_α 2912
+ω 2689
+να 2593
+δ 2455
+τα 2420
+χ 2411
+κα 2406
+στ 2406
+_ε 2353
+- 2335
+-_ 2192
+ύ 2171
+αν 2162
+τη 2151
+ή 2141
+υ_ 2133
+αι 2100
+θ 2053
+φ 1989
+ου_ 1974
+ει 1889
+_κα 1882
+εί 1864
+το_ 1802
+πο 1771
+αι_ 1727
+σε 1709
+_ν 1647
+_" 1619
+η_ 1609
+ια 1602
+να_ 1518
+τι 1501
+ον 1501
+του 1495
+με 1460
+_του 1407
+_έ 1405
+_στ 1396
+ώ 1364
+πε 1359
+τε 1300
+μα 1298
+β 1274
+ρι 1252
+ό_ 1241
+_δ 1231
+ξ 1223
+ντ 1220
+_το_ 1196
+απ 1187
+ρο 1184
+_γ 1183
+_τη 1177
+ζ 1158
+_εί 1150
+ά_ 1150
+_να 1124
+έν 1115
+και 1110
+_και 1093
+αν_ 1082
+ρα 1078
+και_ 1061
+_να_ 1060
+_και_ 1053
+μπ 1049
+νο 1048
+ατ 1036
+ιο 1024
+ια_ 1018
+ερ 1003
+ού 993
+_απ 984
+σε_ 974
+ικ 973
+_ο 967
+εν 947
+ος 936
+ει_ 935
+πό 901
+λο 892
+_με 890
+νε 884
+του_ 871
+ον_ 869
+ας 865
+_του_ 854
+ασ 841
+με_ 840
+σα 834
+κο 833
+αρ 832
+πρ 824
+ίν 820
+κά 808
+_πο 804
+πι 796
+Κ 796
+μέ 783
+μο 777
+έρ 772
+αλ 766
+ην 762
+Μ 759
+ισ 745
+κε 742
+τα_ 740
+στο 738
+ω_ 730
+ην_ 728
+Ο 717
+Τ 714
+_φ 711
+ετ 705
+δε 704
+πα 697
+ας_ 688
+τά 684
+ος_ 683
+_ό 680
+_Κ 675
+οι 671
+_χ 670
+την 663
+την_ 658
+_στο 647
+ή_ 645
+πό_ 638
+_θ 633
+_ο_ 631
+", 630
+_πρ 626
+_Μ 624
+ίπ 624
+άν 623
+",_ 623
+από 620
+που 619
+ότ 618
+λα 617
+τον 617
+_από 616
+μι 612
+Ο_ 611
+ρε 607
+υτ 604
+λε 595
+_λ 594
+ρό 590
+_με_ 586
+ιά 580
+τον_ 577
+γι 577
+_Ο 575
+από_ 572
+άρ 570
+πά 570
+_από_ 569
+ρά 562
+ταν 554
+ένα 553
+υν 552
+που_ 551
+δι 547
+τρ 547
+τό 544
+_β 540
+χε 536
+εν_ 534
+ησ 528
+_Ο_ 525
+ης 520
+". 519
+_που 516
+_Τ 515
+"._ 513
+τη_ 512
+ς. 510
+είπ 508
+ταν_ 504
+_είπ 503
+ς._ 501
+_τα 500
+ξε 497
+στο_ 496
+λλ 493
+ακ 492
+Α 491
+_που_ 490
+άλ 489
+ίπε 489
+είπε 485
+_είπε 483
+_την 483
+τι_ 482
+_την_ 481
+άτ 480
+λι 480
+_δε 479
+άμ 477
+_στο_ 475
+σο 473
+_ά 468
+"_ 463
+μέν 463
+ιν 461
+ις 452
+_αν 452
+κό 451
+αυ 451
+_τον 450
+_γι 449
+θα 447
+ες 446
+ση 446
+_μι 445
+_τον_ 443
+ε. 441
+ε._ 441
+ους 439
+λά 439
+υς 439
+ολ 438
+πιο 437
+ορ 432
+_πα 428
+_κά 427
+τε_ 427
+αμ 423
+; 423
+_μο 422
+σκ 421
+της 421
+_ξ 418
+στη 415
+Κά 411
+νη 408
+για 405
+α. 403
+κρ 402
+κι 402
+ς, 402
+ς,_ 401
+α._ 398
+ηκ 397
+_Κά 397
+ελ 396
+_έν 395
+_ή 393
+_μα 392
+ία 391
+ως 391
+λη 390
+ίνα 389
+πί 389
+μου 388
+μά 388
+_αυ 387
+ης_ 386
+συ 384
+ναι 384
+Π 383
+αυτ 382
+ί_ 376
+μπι 375
+ίσ 372
+_της 370
+_τα_ 367
+_για 365
+_ένα 362
+_μπ 361
+θε 361
+ιον 359
+ις_ 358
+τή 358
+_θα 354
+_αυτ 354
+άμπ 352
+κ. 352
+κ._ 351
+είν 351
+ομ 350
+ίναι 348
+ντα 348
+ναι_ 348
+ως_ 347
+χα 346
+Ε 346
+υ. 346
+για_ 346
+υ._ 345
+δεν 345
+ένα_ 345
+α, 344
+α,_ 344
+δεν_ 344
+ύρ 343
+όν 343
+α- 342
+ύσ 341
+_κ. 340
+στε 339
+Κάμ 339
+_κ._ 339
+τέ 339
+α-_ 338
+ευ 338
+ιλ 338
+ρί 338
+Κάμπ 338
+_μου 338
+_Κάμ 338
+_Κάμπ 337
+υμ 336
+σει 336
+πιον 336
+μπιον 336
+μπιο 336
+_κο 334
+Κάμπι 334
+_η 334
+άμπι 334
+θα_ 333
+νι 332
+της_ 331
+ψ 331
+όμ 330
+ησε 330
+_σα 329
+μα_ 328
+ός 328
+Σ 326
+_δεν 325
+_δεν_ 325
+σμ 324
+ες_ 324
+περ 324
+ίχ 323
+ίναι_ 323
+τικ 322
+_ρ 321
+άμπιο 321
+υς_ 321
+ους_ 321
+_πε 321
+σω 320
+_για_ 320
+προ 320
+γε 318
+;" 316
+;"_ 316
+Δ 315
+τυ 314
+ρα_ 313
+_συ 312
+ρω 312
+_θα_ 310
+όσ 309
+ου. 309
diff --git a/test/user-template/user/fingerprint/hebrew.lm b/test/user-template/user/fingerprint/hebrew.lm
new file mode 100644
index 000000000000..31b4ee0af280
--- /dev/null
+++ b/test/user-template/user/fingerprint/hebrew.lm
@@ -0,0 +1,400 @@
+_ 81560
+י 23072
+ו 19215
+ה 15606
+ל 12612
+ר 11293
+ת 11070
+מ 10090
+ב 9648
+א 9601
+ש 9081
+ה_ 7811
+נ 6685
+ע 6326
+_ת 5878
+ם 5542
+ד 5019
+ח 4669
+_ם 4570
+ב_ 4267
+כ 3984
+_ה 3812
+ק 3769
+פ 3699
+ל_ 3693
+םי 3535
+מ_ 3489
+ס 3374
+א_ 3362
+תו 3130
+, 3067
+_ל 3037
+_, 3035
+_י 2936
+ש_ 2886
+_םי 2840
+ג 2768
+ט 2626
+ן 2424
+_ר 2395
+_תו 2291
+. 2256
+צ 2215
+_. 2205
+ינ 2144
+ע_ 2003
+_ן 1959
+_ו 1913
+" 1815
+יב 1797
+לש 1742
+יל 1687
+יר 1665
+י_ 1647
+וי 1620
+ו_ 1578
+ור 1525
+תא 1475
+כ_ 1469
+רו 1411
+ז 1383
+ונ 1353
+מה 1351
+תי 1343
+יי 1343
+לו 1315
+יד 1285
+רי 1236
+מה_ 1211
+הל 1206
+ומ 1192
+ני 1163
+רש 1155
+יא 1146
+אר 1138
+_תא 1137
+שי 1134
+יש 1087
+נ_ 1080
+לא 1074
+וח 1067
+_א 1062
+שמ 1059
+ימ 1052
+הי 1047
+- 1024
+לש_ 1008
+וה 973
+רב 967
+וא 954
+תא_ 951
+ול 948
+_ד 941
+יה 896
+נו 888
+וע 883
+יכ 873
+וש 871
+לע 867
+אל 850
+עו 843
+_- 830
+ח_ 830
+דו 824
+ןו 820
+ר_ 806
+וב 805
+_לש 799
+יט 784
+אה 773
+_לש_ 748
+יע 746
+די 743
+_ש 726
+_תא_ 723
+ך 720
+_תי 719
+-_ 716
+_-_ 713
+בי 709
+בו 706
+ות 699
+אה_ 690
+רמ 686
+שה 683
+וד 678
+יח 675
+פ_ 672
+הנ 669
+_ב 668
+_ע 659
+_ך 655
+יס 652
+ןי 649
+_לע 640
+יו 635
+אמ 635
+יב_ 632
+ת_ 631
+מא 628
+שו 627
+_ןו 624
+לי 624
+לע_ 621
+תה 619
+ית 600
+הל_ 599
+וכ 599
+יפ 596
+פה 595
+וק 586
+הש 578
+עי 575
+_ןי 569
+מו 564
+_לע_ 561
+קי 560
+יג 557
+יה_ 557
+רשי 554
+םו 548
+אל_ 548
+תוי 548
+לאר 546
+רא 542
+הר 540
+"_ 540
+מב 539
+שה_ 538
+ופ 538
+ארש 535
+רע 534
+חה 533
+וג 532
+ארשי 530
+לארשי 530
+לארש 530
+או 527
+מי 525
+_יכ 518
+המ 518
+פה_ 511
+יכ_ 510
+_ינ 509
+לכ 506
+תמ 502
+מב_ 500
+סו 498
+חא 497
+יק 497
+וו 494
+_ק 485
+ג_ 481
+םיל 477
+_הי 477
+דמ 472
+בה 470
+,ה 470
+_,ה 470
+ק_ 469
+עב 468
+_םו 467
+הב 467
+חה_ 466
+_יכ_ 463
+אב 462
+רח 462
+_אל 461
+ץ 455
+מל 454
+יני 454
+שא 453
+רה 453
+יצ 452
+םיר 451
+_הנ 447
+טי 443
+ד_ 441
+מע 440
+םיי 439
+וה_ 439
+' 435
+אמ_ 430
+.ם 429
+תנ 429
+_.ם 428
+רק 427
+תר 423
+וס 417
+נש 417
+_הל 414
+סל 413
+נת 408
+ס_ 405
+סה 400
+לפ 400
+בש 399
+,ם 399
+_,ם 399
+ממ 397
+שי_ 396
+נב 396
+עה 394
+תה_ 393
+תונ 393
+םינ 389
+_רו 385
+רמא 384
+יא_ 384
+לב 384
+תב 381
+בר 378
+בה_ 377
+טס 374
+_ץ 374
+עמ 374
+חי 373
+רפ 373
+הו 371
+חו 370
+בל 370
+_לא 370
+קו 367
+_הר 366
+_םיר 364
+חמ 363
+ז_ 362
+_ח 360
+נכ 360
+_לו 360
+כו 359
+,ת 358
+_,ת 357
+מת 356
+ינו 353
+ורי 353
+וא_ 349
+רד 348
+תור 348
+אי 345
+ף 345
+לשמ 344
+כי 340
+_םיל 340
+וצ 338
+תל 338
+_םיי 336
+רחא 335
+_תוי 335
+מא_ 332
+לח 331
+_תר 329
+_תונ 325
+גי 325
+עה_ 325
+: 324
+פל 324
+אב_ 324
+שר 322
+רט 321
+תש 320
+צ_ 320
+מע_ 319
+וי_ 319
+_: 319
+צמ 316
+שממ 315
+_ס 315
+תינ 315
+סמ 315
+הד 313
+רה_ 312
+וט 312
+_ף 310
+שאר 309
+רשי_ 305
+ארשי_ 305
+.םי 305
+_.םי 304
+הת 303
+יטס 303
+_' 303
+גה 302
+שמ_ 302
+_םינ 301
+לה 298
+רג 294
+חט 293
+דע 293
+םיד 292
+אש 292
+לשממ 292
+םע 292
+ידי 290
+של 289
+פו 289
+דב 289
+צו 287
+_םע 286
+,םי 285
+_,םי 285
+נמ 284
+סי 282
+שב 282
+_רש 281
+דר 281
+_תור 281
+קה 280
+תוש 278
+הש_ 276
+מל_ 276
+_אל_ 275
+והי 274
+_לאר 274
+פי 274
+עב_ 271
+לא_ 271
+בא 270
+חא_ 269
+חל 268
+עפ 267
+בע 267
+.ה 266
+_רי 266
+_לארש 266
+וני 266
+_.ה 265
+יטסל 265
+טסל 265
+ילא 265
+תע 264
+נה 263
+קל 262
+ניט 260
+_.ת 260
+.ת 260
+פל_ 260
+הו_ 259
+סלפ 258
+טסלפ 258
+יטסלפ 258
+ניטסל 257
+ניטס 257
+ומ_ 256
+סה_ 256
+מש 255
+ירו 255
+נש_ 254
+ומת 254
+הה 252
+בק 251
+יש_ 251
+_ונ 251
+ירב 251
+_רב 249
+_יד 249
+_םיד 249
+כה 248
+גנ 247
+_דו 247
diff --git a/test/user-template/user/fingerprint/hindi.lm b/test/user-template/user/fingerprint/hindi.lm
new file mode 100644
index 000000000000..3b4e1584a943
--- /dev/null
+++ b/test/user-template/user/fingerprint/hindi.lm
@@ -0,0 +1,400 @@
+_ 75620
+æ 19109
+U 16333
+ð 11131
+¤ 11107
+· 10241
+·¤ 7855
+Ú 6993
+ÚU 6598
+ç 6322
+è 6151
+Ù 5887
+_· 5800
+ã 5370
+â 5168
+U_ 5118
+æ_ 4935
+Ì 4508
+× 4467
+Ø 4292
+ð_ 3962
+_·¤ 3937
+è_ 3904
+Â 3718
+¤_ 3609
+Ü 3563
+ãU 3514
+_ç 3394
+´ 3363
+ß 2962
+¥ 2907
+ÚU_ 2851
+_¥ 2668
+_ã 2632
+_â 2575
+ô 2527
+Î 2513
+´_ 2512
+Á 2451
+Uæ 2336
+Õ 2314
+_Â 2280
+_× 2260
+ñ 2187
+¢ 2082
+» 2078
+¤æ 1988
+ð´ 1913
+·¤æ 1886
+·ð 1881
+ð¤ 1877
+·ð¤ 1860
+Ð 1842
+Ð_ 1830
+·¤_ 1746
+é 1714
+æð 1703
+ð¤_ 1695
+·ð¤_ 1694
+æÚ 1631
+ü 1610
+_·ð 1579
+_·ð¤ 1567
+ð´_ 1556
+æÚU 1536
+Øæ 1528
+Ùð 1525
+Uè 1515
+_·ð¤_ 1488
+Ù_ 1411
+Ùð_ 1407
+à 1390
+_ãñ 1357
+ãñ 1357
+Å 1337
+Ì_ 1319
+_Õ 1315
+×ð 1300
+ç· 1279
+Ö 1270
+_Á 1258
+_·¤æ 1209
+ç·¤ 1203
+¤è 1195
+_Ù 1187
+° 1181
+§ 1166
+×ð´ 1163
+àæ 1162
+ý 1157
+¿ 1155
+_×ð 1150
+×ð´_ 1140
+·¤è 1127
+¤è_ 1092
+_×ð´ 1086
+_×ð´_ 1077
+ñU 1075
+_ãU 1071
+·¤è_ 1065
+ãñU 1062
+_ãñU 1062
+æÙ 1053
+¥æ 1052
+Ìæ 1038
+¤Ú 1035
+_ç· 1009
+¤ÚU 972
+âð 970
+_ç·¤ 967
+_·¤è 959
+ÚUæ 936
+ãUæ 930
+_·¤è_ 929
+·¤Ú 928
+Í 926
+_¥æ 904
+ÅU 904
+Ç 904
+© 890
+ê 887
+©U 885
+·¤ÚU 866
+_© 865
+_©U 862
+_Ö 854
+âð_ 850
+_Ú 847
+_Ì 837
+S 834
+UÐ 831
+_Î 830
+UÐ_ 823
+_ß 798
+Ùæ 788
+â_ 783
+_ÚU 773
+Uè_ 770
+ô´ 753
+æØ 752
+Ï 749
+Øæ_ 732
+×æ 732
+ô_ 704
+_§ 704
+Áæ 704
+_âð 697
+Âý 695
+ãUè 693
+¤æ_ 690
+ü_ 688
+æÚU_ 685
+, 684
+_» 682
+·¤æ_ 679
+,_ 674
+_·¤Ú 670
+¹ 665
+ðU 664
+ßæ 648
+_Âý 647
+UÌ 644
+Ü_ 643
+_Ü 641
+ç·¤_ 639
+Ø_ 639
+Üæ 633
+_âð_ 633
+æç 623
+Uô 621
+ô´_ 615
+_·¤ÚU 611
+Uæ_ 599
+ãU_ 595
+Üð 594
+UÙ 589
+ñUÐ 580
+_ãñUÐ 580
+ãñUÐ 580
+_° 576
+_Áæ 573
+ñUÐ_ 572
+ãñUÐ_ 572
+æÜ 569
+_Ø 569
+_Ùð 569
+ÂÚ 561
+_ç·¤_ 557
+‡ 556
+¤ô 552
+ææ 550
+ÂÚU 549
+çß 544
+Õæ 538
+_·¤æ_ 535
+×_ 532
+çÜ 525
+âæ 523
+·¤ô 519
+æð_ 502
+æ¢ 501
+¸ 498
+_Ùð_ 495
+‹ 494
+_ÂÚ 493
+Âæ 493
+Ìæ_ 490
+_ÂÚU 485
+çÙ 484
+õ 481
+È 478
+ྠ469
+. 459
+ÂÚU_ 458
+Öæ 449
+Øð 449
+_çß 445
+§â 444
+¤ÚU_ 443
+Öè 442
+_§â 440
+_ÂÚU_ 439
+æð´ 437
+Ùæ_ 435
+€ 434
+_¿ 433
+ÚUè 431
+⢠431
+_·¤ô 430
+Îð 427
+æÌ 425
+Î_ 420
+Öè_ 419
+¸U 415
+˜ 412
+˜æ 412
+§ü 410
+´U 405
+ÇU 399
+Ⱦ 399
+·¤ÚU_ 394
+Uã 394
+æÙ_ 393
+çÌ 393
+¤ô_ 392
+·¤ô_ 392
+çÎ 389
+ÚUÌ 385
+æÁ 385
+Ǹ 383
+æð´_ 382
+Ìè 381
+Íæ 379
+çÚ 375
+°_ 374
+ãUô 374
+ÚUã 374
+æÐ 373
+æÐ_ 372
+_·¤ô_ 371
+_Õæ 369
+æè 364
+çÚU 364
+ðU_ 362
+¤æð 358
+Ȥ 357
+Uæð 354
+è´ 353
+â· 352
+ß_ 350
+U· 349
+¤æÚ 346
+Ìð 346
+·¤æð 346
+æü 345
+õÚ 344
+õÚU 342
+·¤æÚ 342
+_×æ 341
+_Öè 341
+_çÜ 340
+ñU_ 337
+_ãñU_ 337
+ÿ 337
+ãñU_ 337
+Ùè 336
+ãUè_ 334
+¿æ 334
+ñ´ 334
+_Öè_ 332
+æ× 327
+¤æÚU 327
+ÿæ 326
+_Í 325
+U·¤ 323
+·¤æÚU 323
+Uè´ 322
+ãUè´ 321
+_âæ 320
+ǸU 319
+_¥õ 319
+¥õ 319
+õÚU_ 319
+_ÚUã 318
+Úð 317
+è´_ 316
+_⢠316
+æ· 313
+Øô 310
+_ãUæ 309
+Øã 309
+À 308
+ØãU 308
+_Øã 308
+_ØãU 307
+_·¤æð 304
+_¥õÚ 304
+¥õÚ 304
+_¥õÚU 304
+_Öæ 304
+¥õÚU 304
+¥õÚU_ 303
+_çÙ 303
+ãUè´_ 300
+Uè´_ 300
+_S 300
+Îæ 300
+UÜ 298
+ÚUè_ 296
+æÎ 296
+æß 294
+ÅU_ 294
+Øð_ 293
+Ùã 292
+âè 291
+_Ùã 290
+æè_ 290
+ðà 290
+Üð_ 289
+UãU 288
+ÙãU 288
+Uâ 288
+_ÙãU 286
+_à 286
+_ÙãUè 285
+_Âæ 285
+ÙãUè 285
+æ·¤ 284
+_àæ 284
+ÙãUè´ 283
+UÌ_ 282
+ãñ´ 280
+_ãñ´ 280
+ñ´U 280
+â× 279
+_çÎ 278
+_ãñ´U 278
+ãñ´U 278
+»_ 277
+_Îð 275
+ðàæ 274
+àæ_ 273
+æñ 272
+·¤ã 272
+¤ã 272
+Ìð_ 272
+_ãUô 272
+‡æ_ 272
+- 271
+¤ãU 271
+·¤ãU 271
+¢_ 271
+_·¤ã 270
+ãUæ_ 270
+_·¤ãU 269
+ÚUãU 268
+ãé 267
+æâ 265
+°· 263
+¤Ø 263
+¤æð_ 262
+·¤æð_ 262
+°·¤ 262
+ÚðU 258
+_°· 258
+Ùè_ 258
+_°·¤ 257
+ÀU 256
+v 253
+ÂÙ 252
+_ÚUæ 252
+Üè 249
+ç× 247
+çâ 246
+_Å 246
+ÚUÙ 246
+×é 245
+._ 245
+UÚ 244
+éU 243
diff --git a/test/user-template/user/fingerprint/hungarian.lm b/test/user-template/user/fingerprint/hungarian.lm
new file mode 100644
index 000000000000..307348b47789
--- /dev/null
+++ b/test/user-template/user/fingerprint/hungarian.lm
@@ -0,0 +1,400 @@
+_ 19186
+e 5753
+a 4627
+t 4522
+s 3480
+l 3437
+n 3137
+k 3036
+i 2527
+r 2437
+z 2399
+o 2303
+á 2039
+é 1995
+g 1978
+m 1695
+y 1338
+_a 1256
+b 1186
+d 1148
+a_ 1108
+v 1057
+t_ 901
+sz 889
+el 832
+, 819
+,_ 818
+h 792
+k_ 769
+. 767
+et 743
+gy 711
+s_ 705
+_m 702
+_a_ 695
+en 671
+ö 662
+n_ 646
+_k 645
+j 623
+._ 613
+i_ 606
+eg 601
+p 586
+_e 580
+u 579
+le 576
+ó 542
+er 495
+f 485
+ek 477
+te 477
+és 473
+_s 471
+al 464
+ta 458
+í 453
+_h 444
+_t 442
+an 426
+ze 425
+me 406
+at 405
+l_ 401
+es 395
+õ 387
+y_ 381
+z_ 375
+tt 374
+ke 372
+_v 369
+ás 368
+ak 367
+_é 365
+ny 363
+tá 359
+c 358
+re 350
+to 347
+A 343
+e_ 340
+ü 332
+ne 330
+os 326
+ál 320
+_f 320
+az 317
+zt 317
+ár 317
+_n 315
+ko 312
+_A 303
+_sz 302
+is 301
+ve 299
+gy_ 297
+ít 293
+_b 293
+ra 291
+or 289
+ol 284
+_i 281
+em 279
+_l 274
+la 264
+ez 262
+be 260
+lt 260
+ok 260
+ye 256
+_me 252
+on 251
+en_ 247
+ar 245
+_az 245
+in 243
+án 242
+se 242
+ég 238
+egy 237
+ha 237
+r_ 237
+té 237
+ér 235
+sze 233
+én 226
+ly 224
+g_ 221
+" 221
+ll 219
+iz 214
+de 214
+ek_ 213
+mi 212
+rt 211
+ba 209
+ho 209
+A_ 209
+és_ 209
+az_ 205
+va 204
+ag 203
+ka 202
+na 202
+og 201
+ik 201
+nt 200
+_A_ 199
+ô 199
+- 198
+tt_ 198
+_az_ 197
+ni 195
+cs 194
+ki 190
+kö 187
+át 187
+_eg 187
+nd 186
+fe 185
+_és 185
+lá 182
+bi 181
+nk 180
+_le 179
+an_ 179
+_és_ 177
+tás 175
+ké 174
+meg 173
+_egy 172
+ma 171
+as 170
+sa 170
+sí 169
+ge 167
+ot 167
+za 167
+E 166
+m_ 165
+_meg 165
+_el 165
+bb 164
+ro 164
+zá 163
+he 162
+má 161
+sé 160
+_r 160
+sít 160
+tos 159
+ti 159
+st 158
+_j 158
+él 157
+it 156
+_ho 156
+ül 156
+_ha 155
+vé 154
+am 152
+oz 152
+ele 151
+ya 151
+zto 150
+ú 149
+biz 147
+so 147
+et_ 145
+izto 144
+izt 144
+ap 141
+"_ 141
+ed 141
+ss 140
+bizt 140
+ék 140
+bizto 140
+iztos 139
+ét 139
+ztos 139
+osít 138
+zet 138
+osí 138
+mé 137
+_is 137
+t, 136
+tosít 136
+tosí 136
+t,_ 136
+ó_ 135
+agy 135
+ztosí 135
+li 134
+om 134
+_fe 134
+ere 133
+ág 133
+t. 132
+nek 131
+vi 129
+_d 129
+zo 128
+k,_ 128
+k, 128
+_kö 127
+_p 127
+M 126
+let 126
+ak_ 125
+já 125
+ett 125
+û 124
+si 124
+ész 123
+_E 123
+ép 123
+vá 123
+rá 123
+t._ 123
+is_ 123
+S 123
+ítás 122
+ítá 122
+kor 121
+ai 121
+fel 120
+da 120
+_mi 120
+pe 119
+ogy 118
+ban 118
+ad 117
+ga 116
+_va 116
+ott 114
+_ne 114
+_ki 113
+ör 113
+zé 112
+ben 112
+_te 111
+zi 111
+sá 110
+ség 109
+do 109
+tó 108
+em_ 108
+_" 108
+_ta 108
+_M 107
+ogy_ 107
+_á 107
+k. 106
+ól 105
+_ke 105
+_g 104
+: 103
+gye 102
+ák 102
+hog 102
+ri 102
+mo 101
+ok_ 101
+:_ 101
+hogy 101
+il 101
+el_ 100
+zer 100
+ete 99
+nn 99
+nak 98
+je 98
+sítá 98
+szá 98
+yo 98
+osítá 98
+sítás 98
+_ké 98
+_hog 98
+lé 97
+_S 97
+_hogy 97
+ig 97
+_- 96
+hogy_ 96
+ban_ 96
+ese 95
+_bi 94
+fo 94
+ja 94
+ul 94
+õ_ 94
+k._ 94
+_c 93
+ká 91
+es_ 91
+ná 91
+ény 91
+gé 91
+ás_ 91
+egy_ 90
+áb 90
+rd 89
+I 89
+ány 89
+_biz 89
+_fel 88
+öv 88
+ala 88
+szer 88
+po 88
+_ma 88
+leg 88
+tö 88
+ket 87
+un 87
+di 87
+ai_ 87
+nek_ 87
+rm 86
+tal 86
+év 85
+_is_ 85
+nem 85
+ti_ 84
+öz 84
+szt 84
+ut 83
+ter 83
+dé 83
+kk 83
+or_ 83
+b_ 82
+né 82
+os_ 82
+re_ 82
+rs 82
+_bizt 82
+min 82
+ben_ 81
+ra_ 81
+ik_ 81
+go 80
+len 80
+lm 80
+öt 80
+ely 80
+aj 80
+öl 80
+_sze 80
+_be 79
+ev 79
+ré 79
+ssz 79
+nt_ 79
+gya 79
+K 79
+si_ 79
+sza 78
diff --git a/test/user-template/user/fingerprint/icelandic.lm b/test/user-template/user/fingerprint/icelandic.lm
new file mode 100644
index 000000000000..b1fe0f2c27dd
--- /dev/null
+++ b/test/user-template/user/fingerprint/icelandic.lm
@@ -0,0 +1,400 @@
+_ 26104
+a 6496
+r 6044
+n 5160
+i 5123
+s 3987
+e 3891
+u 3582
+t 3300
+ 3126
+l 3071
+g 2726
+m 2459
+k 2256
+f 2230
+r_ 1967
+v 1641
+ar 1472
+_ 1420
+_s 1332
+ 1248
+o 1221
+ 1197
+a_ 1155
+in 1150
+i_ 1114
+h 1023
+j 975
+d 974
+st 929
+a 925
+. 922
+n_ 875
+._ 875
+_v 874
+m_ 854
+nn 842
+_f 840
+ur 824
+_a 806
+ 785
+_h 782
+ 779
+i 771
+er 765
+um 727
+g_ 716
+y 711
+_e 709
+ 672
+b 672
+ir 671
+ri 670
+an 667
+ 650
+_ 648
+a_ 645
+u_ 633
+na 631
+_ 625
+ar_ 622
+_ 608
+_ 606
+_ 595
+ta 567
+ei 566
+la 558
+_m 549
+__ 549
+um_ 547
+t_ 535
+ti 529
+_o 524
+ur_ 523
+_a 519
+i_ 512
+i 496
+ve 494
+og 494
+ 482
+og_ 479
+_og 478
+_og_ 478
+nd 469
+p 464
+ra 455
+un 454
+ir_ 452
+_a_ 451
+ni 439
+en 439
+u 439
+__ 436
+ng 434
+il 404
+ga 395
+_t 395
+nu 393
+ki 392
+ja 383
+inn 379
+_b 375
+sk 352
+s_ 350
+vi 349
+r 347
+a 345
+ef 339
+ag 336
+_u 330
+se 324
+lu 324
+af 321
+_ve 320
+tu 318
+em 307
+eg 304
+nn_ 303
+_l 303
+va 301
+_k 296
+, 295
+ns 292
+re 292
+tt 291
+,_ 291
+l_ 286
+am 286
+es 285
+yr 285
+al 281
+da 277
+S 275
+gu 273
+_se 271
+ver 268
+_g 266
+ing 266
+_n 262
+is 258
+_er 257
+sa 256
+ur 255
+le 255
+_st 255
+_S 254
+sem 254
+ll 254
+me 253
+ha 251
+li 249
+kk 249
+rs 247
+_vi 247
+rn 246
+sl 244
+gi 243
+ss 242
+rf 241
+fy 240
+i_ 240
+mi 238
+ka 237
+ma 231
+ld 230
+ 229
+rir 227
+sta 227
+fyr 227
+v 227
+di 226
+ru 224
+var 224
+_fy 222
+ku 221
+em_ 221
+nar 220
+_sem_ 220
+_sem 220
+sem_ 220
+he 219
+yri 217
+_fyr 216
+si 216
+yrir 215
+au 212
+er_ 212
+ek 211
+_ha 210
+e 209
+fyri 207
+fyrir 207
+_e 205
+fi 204
+fr 203
+ge 201
+or 200
+ne 200
+ann 198
+j 198
+_va 196
+_fyri 196
+_ver 194
+fl 192
+_er_ 191
+_um 189
+k 188
+til 187
+_he 186
+fa 186
+il_ 182
+_ti 178
+_til 177
+gar 176
+_var 176
+na_ 176
+ 175
+e 171
+fu 170
+nni 169
+_me 168
+ki_ 167
+vi 166
+ey 165
+fn 165
+arf 164
+til_ 163
+st_ 162
+_til_ 162
+a 161
+num 161
+_a 161
+as 160
+_vi 160
+rt 159
+el 158
+u 156
+inn_ 155
+_um_ 154
+ra_ 153
+b 153
+tar 151
+ta_ 151
+er 151
+r 148
+and 148
+_sa 146
+ig 146
+_en 146
+nga 145
+rir_ 145
+us 144
+jar 143
+et 143
+r 142
+_sk 140
+ndi 140
+ 139
+var_ 139
+_r 138
+av 138
+k 137
+nna 137
+ur_ 136
+l 136
+ko 135
+nin 135
+vi_ 135
+l 135
+ins 134
+ik 133
+E 133
+K 133
+yrir_ 133
+ns_ 133
+on 133
+ein 132
+_vi_ 132
+g 132
+j 132
+ 132
+l 132
+s 132
+_mi 131
+f_ 131
+s 131
+sj 131
+stu 131
+nda 130
+_var_ 130
+gr 129
+s 128
+t 127
+ri_ 126
+haf 126
+_s 125
+vk 124
+rin 124
+te 124
+r. 124
+r._ 123
+H 123
+nes 123
+t 123
+ru_ 123
+kr 122
+F 122
+r 121
+num_ 121
+k_ 121
+a. 121
+_H 121
+_fr 120
+_ge 120
+r 120
+_E 120
+_ 120
+ug 120
+ngu 119
+an_ 119
+inga 118
+_K 118
+_haf 118
+enn 117
+ars 117
+ri 117
+en_ 117
+sin 116
+kur 116
+it 116
+a_ 116
+ti_ 115
+ri 114
+tj 114
+ni_ 114
+at 114
+tarf 114
+br 113
+slu 113
+kki 113
+rg 113
+m 113
+kv 113
+_en_ 113
+a._ 112
+gar_ 112
+du 112
+ju 110
+ei 110
+und 110
+lag 110
+tur 110
+ega 109
+h 109
+ 109
+gn 109
+hef 109
+kj 109
+_hef 109
+_sta 108
+B 108
+V 108
+sam 107
+_ei 106
+_B 106
+ft 106
+ga_ 106
+G 106
+_G 105
+l 105
+kki_ 105
+star 104
+in_ 104
+R 104
+me 104
+_r 103
+_me 103
+ekk 103
+inu 103
+t 103
+_V 103
+m. 103
+ai 103
+j 102
+j 102
+_b 102
+ess 102
+hs 101
+ut 101
+gs 101
+av 101
+mu 101
+_R 101
+_ 101
+rst 100
+jar 100
+leg 100
+ja 100
+ja_ 99
+avk 99
diff --git a/test/user-template/user/fingerprint/indonesian.lm b/test/user-template/user/fingerprint/indonesian.lm
new file mode 100644
index 000000000000..3fa5a09b4691
--- /dev/null
+++ b/test/user-template/user/fingerprint/indonesian.lm
@@ -0,0 +1,400 @@
+_ 19406
+a 10666
+n 5455
+e 4535
+i 4387
+r 2936
+t 2902
+an 2853
+u 2841
+k 2761
+s 2311
+m 2178
+d 2134
+g 2105
+l 1780
+a_ 1506
+n_ 1476
+ng 1449
+p 1397
+b 1275
+an_ 1270
+o 1246
+h 1130
+i_ 1108
+er 1038
+ka 1032
+_d 1006
+y 997
+, 951
+en 941
+ar 914
+,_ 900
+_m 880
+ya 842
+ta 838
+ang 797
+di 787
+da 773
+. 754
+la 742
+._ 738
+me 732
+ak 728
+_s 718
+at 690
+ra 688
+ga 683
+_k 671
+_me 650
+in 628
+ah 601
+_t 583
+_p 570
+g_ 551
+_b 551
+_di 548
+ng_ 544
+ma 536
+se 526
+tu 511
+na 506
+al 500
+ri 490
+as 483
+k_ 482
+j 480
+si 470
+ny 467
+h_ 457
+sa 452
+ang_ 439
+it 424
+kan 423
+ti 418
+_se 417
+pe 412
+S 409
+ba 407
+ke 407
+em 405
+men 405
+be 403
+un 401
+te 401
+am 396
+pa 395
+nya 390
+_men 374
+el 374
+t_ 371
+_a 360
+_i 356
+u_ 355
+kan_ 345
+_ke 339
+is 335
+ah_ 324
+_S 324
+eng 321
+nga 320
+ia 318
+_pe 316
+ha 313
+ap 311
+r_ 308
+w 305
+li 301
+_da 300
+s_ 299
+P 296
+nd 290
+_be 287
+ik 283
+ja 281
+yan 281
+ad 275
+ek 273
+uk 272
+di_ 270
+bu 269
+ya_ 268
+yang 268
+ak_ 266
+ber 265
+_y 265
+_ya 264
+_P 263
+ru 260
+K 259
+yang_ 256
+_yang 256
+_yan 256
+nt 255
+de 253
+_te 250
+wa 249
+et 247
+at_ 246
+ara 245
+gan 243
+A 237
+ari 235
+ala 230
+itu 229
+c 225
+ol 225
+ni 225
+us 225
+dan 224
+_K 224
+M 224
+B 223
+ata 222
+ai 221
+ur 219
+nya_ 217
+ua 215
+_ka 214
+_ber 210
+eb 209
+ran 206
+D 206
+ela 206
+_di_ 205
+_l 204
+ngan 204
+ter 203
+re 201
+- 199
+aka 198
+l_ 194
+_A 191
+era 191
+a, 191
+e_ 190
+ir 187
+I 186
+tan 185
+_B 184
+ut 184
+ku 183
+a,_ 183
+il 182
+J 181
+um 180
+_it 180
+_itu 180
+_ta 179
+su 179
+dan_ 177
+es 177
+on 177
+or 177
+_dan 176
+lu 174
+_M 172
+tu_ 172
+_dan_ 172
+enga 171
+mb 169
+R 169
+si_ 168
+per 168
+gan_ 168
+ngan_ 165
+" 162
+_ter 162
+a. 161
+man 161
+gk 160
+a._ 160
+asi 160
+ngk 160
+ep 160
+ag 159
+ul 158
+da_ 157
+m_ 155
+du 155
+ada 153
+ki 153
+rt 150
+mp 150
+T 150
+ama 148
+ing 148
+na_ 147
+_J 147
+_D 145
+ung 145
+ana 145
+n, 144
+ju 144
+ud 144
+rin 143
+gi 143
+aw 141
+lah 138
+lan 138
+_sa 136
+ri_ 136
+meng 136
+_meng 135
+_ma 134
+n,_ 134
+awa 134
+st 134
+eka 133
+mi 133
+mu 132
+_T 132
+po 131
+ge 131
+ar_ 130
+id 129
+ko 129
+le 128
+_h 128
+ena 127
+_j 126
+emb 126
+ina 125
+_r 124
+itu_ 124
+ay 123
+ngg 123
+gg 123
+rang 123
+pi 120
+nan 120
+_ba 119
+_la 119
+apa 119
+_I 118
+p_ 118
+bi 117
+ai_ 117
+ta_ 116
+san 116
+Ke 116
+ro 115
+eri 114
+kar 113
+lah_ 113
+_itu_ 112
+aya 111
+i, 110
+an, 110
+ra_ 110
+_per 110
+im 110
+ika 109
+isi 109
+mem 109
+tah 108
+_Ke 108
+ian 108
+_mem 108
+akan 108
+Se 108
+to 107
+ab 107
+ngka 106
+rs 106
+gka 106
+uk_ 105
+seb 104
+_de 104
+pu 104
+i,_ 104
+ita 104
+nda 103
+_ti 103
+ni_ 103
+ca 103
+_Se 103
+ers 103
+pen 103
+ini 102
+an,_ 102
+angk 101
+uh 101
+han 101
+nta 100
+_in 99
+f 99
+nj 99
+ok 99
+aga 99
+_R 98
+as_ 98
+tr 98
+mer 97
+lam 97
+and 97
+end 96
+anga 96
+ne 96
+Sa 96
+ka_ 96
+arin 95
+gu 95
+_ha 94
+Z 94
+al_ 94
+ga_ 94
+_Z 93
+_pen 93
+dar 93
+Ad 93
+i._ 93
+ada_ 93
+atan 93
+tak 93
+i. 93
+ia_ 92
+asa 92
+ap_ 92
+ari_ 92
+kat 92
+_seb 92
+_Za 91
+Za 91
+den 91
+n. 90
+_u 90
+_Ad 90
+engan 89
+ib 89
+any 89
+n._ 89
+o_ 89
+Zar 88
+Zari 88
+rina 88
+_Zar 88
+_Zari 88
+Zarin 88
+arina 88
+ks 88
+angka 87
+oli 87
+eg 87
+kt 86
+_Sa 86
+hu 85
+ih 85
+us_ 85
+adi 85
+om 85
+eba 85
+anya 85
+_bu 84
+denga 83
+L 83
+ed 83
+dak 83
+deng 83
+ma_ 82
+asi_ 82
diff --git a/test/user-template/user/fingerprint/irish_gaelic.lm b/test/user-template/user/fingerprint/irish_gaelic.lm
new file mode 100644
index 000000000000..b6874862da01
--- /dev/null
+++ b/test/user-template/user/fingerprint/irish_gaelic.lm
@@ -0,0 +1,400 @@
+_ 8010
+a 2622
+i 1573
+h 1334
+n 1247
+r 968
+_a 847
+e 830
+s 817
+t 747
+l 639
+c 636
+g 598
+o 590
+d 554
+n_ 501
+a_ 487
+m 432
+an 415
+u 413
+b 379
+h_ 352
+ai 350
+ch 350
+ea 346
+r_ 346
+í 334
+é 321
+_s 309
+á 306
+in 281
+ar 277
+. 269
+_d 266
+s_ 254
+ir 253
+_b 250
+f 250
+an_ 246
+, 241
+,_ 226
+ag 225
+_an 221
+bh 218
+_c 216
+._ 212
+ac 210
+ha 208
+_a_ 201
+" 199
+_m 199
+th 198
+_t 190
+ach 182
+_ag 180
+_an_ 179
+í_ 176
+_l 168
+na 168
+nn 160
+e_ 159
+ar_ 158
+_g 157
+ú 156
+_i 152
+il 150
+le 150
+is 143
+ó 142
+_bh 138
+ei 138
+g_ 135
+_f 135
+dh 135
+l_ 126
+t_ 125
+ig 123
+é_ 122
+_n 120
+gu 120
+á_ 120
+mh 118
+id 117
+ch_ 117
+ad 116
+he 114
+ir_ 114
+ra 109
+o_ 109
+ach_ 107
+ia 105
+_ar 105
+us 104
+ui 104
+_" 101
+us_ 100
+T 99
+am 99
+ta 98
+gus 98
+gus_ 98
+_le 97
+gh 97
+_ch 97
+agus 94
+agus_ 94
+agu 94
+éa 93
+_agus 93
+_agu 93
+ean 93
+na_ 92
+d_ 92
+ái 91
+p 89
+it 89
+A 89
+_ar_ 88
+rt 86
+al 85
+oi 84
+sa 84
+"_ 82
+hai 81
+_r 79
+nn_ 79
+hu 79
+as 79
+éi 78
+_T 78
+ma 77
+air 77
+at 77
+ann 76
+B 76
+sé 76
+hí 75
+igh 74
+st 74
+ga 73
+go 71
+ua 71
+ne 71
+la 71
+- 71
+de 71
+te 71
+re 70
+inn 70
+ith 69
+eac 69
+_sé 69
+in_ 68
+_go 68
+hi 68
+each 68
+dh_ 68
+si 67
+ag_ 67
+_go_ 66
+hea 66
+go_ 66
+tha 64
+om 64
+_sé_ 63
+sé_ 63
+hí_ 63
+on 62
+se 61
+úi 60
+nt 60
+C 60
+D 59
+i_ 58
+_ag_ 58
+is_ 58
+ío 58
+_de 57
+_B 56
+il_ 56
+or 56
+_th 54
+ca 53
+fa 53
+amh 53
+_A 53
+le_ 52
+? 52
+S 51
+io 51
+_in 51
+sí 51
+li 51
+rai 50
+hf 50
+ht 50
+eo 50
+sc 50
+ri 49
+: 49
+igh_ 49
+gh_ 49
+_sí 49
+:_ 49
+há 49
+_D 49
+be 49
+aig 49
+hé 48
+oc 48
+idh 48
+rt_ 48
+ho 47
+os 47
+ann_ 47
+_C 46
+! 46
+Bh 46
+bhf 45
+_si 45
+lt 45
+_bhf 45
+irt 45
+ear 44
+_na 44
+ta_ 44
+air_ 44
+_p 44
+im 44
+aga 44
+_ma 44
+_S 44
+aigh 43
+án 43
+_dh 43
+uai 43
+ao 43
+cht 43
+ain 42
+bhe 42
+ait 42
+fh 42
+sa_ 41
+m_ 41
+adh 41
+ile 41
+_é 41
+ail 41
+eir 41
+ói 41
+_Bh 40
+as_ 40
+cha 40
+idh_ 40
+hái 39
+_i_ 39
+bh_ 39
+th_ 39
+ad_ 39
+och 39
+mh_ 39
+tr 39
+rea 38
+_se 38
+ro 38
+rí 38
+hair 38
+_is 38
+uil 37
+iú 37
+áin 37
+I 37
+ll 37
+mé 37
+_be 36
+ba 36
+eann 36
+tá 36
+_o 36
+M 36
+aid 36
+aith 36
+ib 36
+' 36
+tea 36
+_mé 35
+chu 35
+ibh 35
+each_ 35
+ean_ 34
+irt_ 34
+_na_ 34
+N 34
+ist 34
+fu 34
+mha 34
+bea 34
+h. 34
+_bhe 34
+lá 34
+ic 34
+_sí_ 33
+eis 33
+bhí 33
+ni 33
+héa 33
+_sa 33
+ith_ 33
+sí_ 33
+har 33
+_bhí 33
+ig_ 32
+ur 32
+aí 32
+hr 32
+_am 32
+_bhí_ 31
+da 31
+úir 31
+hfu 31
+_chu 31
+ol 31
+ne_ 31
+_fa 31
+An 31
+Bhí_ 31
+Bhí 31
+n, 31
+_ac 31
+bhí_ 31
+_bhfu 30
+_ó 30
+ana 30
+_M 30
+mé_ 30
+_fh 30
+aigh_ 30
+bhfu 30
+_mé_ 30
+tú 29
+_le_ 29
+tá_ 29
+hean 29
+háin 29
+sin 29
+eir_ 29
+nne 29
+cé 29
+_aga 29
+h._ 29
+Tá 29
+ibh_ 29
+iste 28
+An_ 28
+do 28
+hui 28
+fui 28
+ní 28
+ste 28
+acht 28
+n,_ 28
+co 28
+dea 28
+ng 28
+nach 28
+id_ 28
+hfui 28
+.. 28
+lei 28
+nac 28
+ce 27
+a. 27
+c_ 27
+lea 27
+hfuil 27
+_Bhí_ 27
+_bea 27
+adh_ 27
+di 27
+fuil 27
+." 27
+Tá_ 27
+ha_ 27
+ú_ 27
+uil_ 27
+."_ 27
+bhfui 27
+_Bhí 27
+éan 27
+_do 27
+lta 27
+aoi 27
+_lei 27
+_mh 26
+dú 26
+fuil_ 26
+eat 26
+-_ 26
+teac 26
+ath 26
diff --git a/test/user-template/user/fingerprint/italian.lm b/test/user-template/user/fingerprint/italian.lm
new file mode 100644
index 000000000000..543cadcfa88e
--- /dev/null
+++ b/test/user-template/user/fingerprint/italian.lm
@@ -0,0 +1,400 @@
+_ 25028
+a 7570
+e 6477
+i 5481
+o 5104
+l 3905
+n 3866
+r 3502
+t 2934
+c 2862
+s 2862
+a_ 2504
+e_ 2404
+d 2004
+i_ 1749
+o_ 1679
+u 1650
+v 1611
+p 1561
+m 1414
+_c 1325
+, 1192
+,_ 1192
+_s 1190
+_d 1094
+g 1067
+an 925
+er 915
+_a 914
+_p 895
+la 858
+_l 830
+re 799
+ar 769
+h 762
+no 753
+co 726
+va 698
+_e 657
+n_ 656
+on 656
+ra 653
+to 651
+f 638
+di 638
+_i 634
+ch 634
+ll 633
+l_ 624
+la_ 598
+ta 593
+el 576
+in 567
+_m 558
+en 529
+b 528
+ri 525
+_co 523
+_n 523
+_di 522
+li 513
+av 507
+al 501
+le 494
+ia 492
+se 484
+ol 479
+_f 477
+or 477
+te 469
+_e_ 467
+ve 454
+at 449
+de 447
+. 443
+ne 429
+va_ 428
+ca 426
+._ 422
+tt 422
+re_ 415
+nt 415
+io 411
+_v 407
+pe 405
+z 392
+to_ 391
+_ch 389
+na 384
+si 384
+' 383
+he 382
+no_ 379
+ci 374
+_la 373
+ro 371
+_g 370
+st 368
+cc 366
+he_ 362
+di_ 362
+ma 358
+ev 354
+che 354
+es 352
+me 352
+pa 351
+_t 349
+ti 348
+_di_ 347
+ss 345
+che_ 344
+a,_ 337
+a, 337
+nd 335
+o, 333
+o,_ 333
+ell 330
+gl 323
+sa 322
+il 322
+gli 321
+da 318
+as 318
+do 314
+_che 308
+_che_ 306
+eva 306
+_la_ 300
+lla 298
+le_ 293
+un 291
+_pe 290
+_de 288
+q 283
+qu 283
+ava 280
+po 277
+on_ 275
+r_ 273
+li_ 273
+_b 269
+_il 268
+_il_ 268
+il_ 268
+lo 267
+om 263
+e, 263
+e,_ 263
+ni 258
+tr 258
+so 255
+ra_ 253
+os 251
+_in 249
+_u 248
+per 244
+are 243
+et 243
+_se 240
+ano 239
+si_ 238
+_ca 238
+_qu 238
+lla_ 238
+_q 238
+_a_ 236
+ac 236
+_r 234
+ic 233
+_no 232
+ie 227
+fa 227
+hi 226
+del 225
+ua 222
+_per 218
+ce 218
+_ma 216
+sc 216
+_del 215
+mi 212
+_un 208
+chi 206
+era 205
+i, 205
+i,_ 205
+su 203
+and 202
+vo 202
+_fa 201
+eva_ 200
+ano_ 199
+gli_ 197
+non 196
+pi 196
+vi 195
+er_ 195
+_al 194
+se_ 193
+_ne 192
+_non 191
+am 190
+is 187
+ava_ 187
+_non_ 186
+non_ 186
+in_ 185
+ent 185
+_si 184
+_pa 184
+com 183
+! 182
+_le 182
+_su 181
+uo 181
+el_ 180
+!_ 180
+l' 178
+ue 177
+te_ 177
+_com 177
+are_ 176
+pr 176
+_in_ 176
+van 172
+mo 172
+ta_ 171
+gn 167
+ere 166
+na_ 166
+tto 163
+it 161
+_per_ 161
+per_ 161
+é 161
+all 160
+ess 159
+ut 159
+col 158
+acc 157
+gi 155
+lo_ 154
+oc 154
+vano 153
+io_ 153
+_av 151
+ndo 151
+é_ 151
+ato 149
+ave 148
+_st 147
+me_ 147
+'a 146
+ia_ 144
+con 143
+mp 143
+fi 142
+ett 142
+_si_ 141
+_pi 140
+era_ 140
+ti_ 140
+ó 140
+vano_ 140
+_gl 139
+qua 139
+ella 139
+sta 138
+ome 137
+S 137
+_gli 137
+_S 137
+ad 136
+_ve 134
+ant 134
+ne_ 134
+ó_ 133
+sp 133
+do_ 133
+_po 132
+ro_ 132
+ov 132
+_le_ 131
+ella_ 130
+sse 129
+_con 128
+ir 128
+_vi 128
+ig 127
+_gli_ 127
+_ave 127
+vev 127
+un_ 126
+ot 126
+veva 125
+dell 125
+que 125
+a. 125
+_o 125
+a._ 124
+tu 124
+cia 123
+za 123
+_que 123
+_da 121
+par 121
+_pr 120
+cch 120
+_dell 120
+eg 119
+_sa 119
+o._ 119
+o. 119
+_col 118
+lt 118
+_un_ 118
+rt 118
+ur 117
+_vo 117
+_me 117
+ome_ 117
+L 116
+ap 116
+_L 116
+zi 116
+nto 116
+og 115
+_an 115
+_so 115
+em 114
+ag 114
+be 111
+ni_ 111
+im 110
+cchi 110
+ver 110
+lle 109
+nz 109
+cci 109
+_ri 109
+nc 108
+_er 108
+come_ 107
+come 107
+aveva 107
+ui 107
+avev 107
+tto_ 107
+_come 106
+ed 106
+P 105
+man 105
+_P 105
+rs 105
+occ 104
+ndo_ 103
+ato_ 103
+_qua 103
+_era 103
+ari 102
+ba 100
+_mo 100
+nel 100
+id 99
+men 98
+_fi 98
+_all 98
+rr 97
+_do 97
+_avev 97
+att 97
+l'a 96
+ei 96
+zz 96
+; 96
+vol 95
+pp 95
+tra 95
+;_ 95
+ere_ 94
+lle_ 94
+nda 94
+utt 94
+est 93
+_nel 93
+ul 92
+ola 92
+iv 92
+ando 90
+ale 90
+lu 90
+rn 90
+e. 89
+e._ 89
+ll' 89
+tta 88
+nte 87
+_l' 87
+uel 87
diff --git a/test/user-template/user/fingerprint/japanese.lm b/test/user-template/user/fingerprint/japanese.lm
new file mode 100644
index 000000000000..654341bfeae2
--- /dev/null
+++ b/test/user-template/user/fingerprint/japanese.lm
@@ -0,0 +1,400 @@
+_
+の
+、
+に
+を
+と
+し
+た
+な
+て
+。
+で
+る
+か
+す
+は
+り
+い
+ま
+ら
+く
+が
+ 
+。_
+っ
+も
+_ 
+して
+す。
+1
+地
+から
+う
+き
+だ
+ます
+年
+ー
+中
+れ
+め
+ます。
+」
+た。
+大
+分
+「
+ス
+した
+け
+こ
+人
+国
+政
+ん
+学
+って
+方
+りま
+った
+する
+改革
+革
+改
+的
+は、
+ち
+さ
+2
+あ
+て、
+部
+ど
+生
+てい
+タ
+会
+ン
+9
+よ
+果
+せ
+わ
+ると
+地方
+に、
+行
+や
+す。_
+3
+力
+自
+とし
+レ
+立
+)
+として
+_)
+なり
+でき
+進
+月
+新
+ります
+水
+同
+女
+下
+ります。
+作
+(_
+こと
+実
+役
+権
+いた
+(
+してい
+ル
+ク
+(
+み
+ニ
+ね
+つ
+きる
+そ
+経
+6
+時
+強
+家
+性
+5
+内
+調
+集
+る。
+上
+財
+改革(
+安
+的な
+事
+務
+」と
+一
+った。
+子
+全
+できる
+川
+た。_
+次
+業
+ない
+ド
+)
+現
+革(_
+0
+る。_
+改革(_
+革(
+です
+で、
+マ
+ミ
+ジ
+社
+でも
+目
+年から
+発
+省
+、中
+ア
+べ
+ッ
+ば
+済
+女性
+%
+法
+なん
+え
+画
+地方分権
+なく
+民
+構
+根
+し、
+が、
+高
+推
+施
+とい
+何
+電
+調査
+際
+も、
+和
+分権
+効
+限
+地方分
+国の
+長
+経済
+設
+計
+方分権
+野
+重
+小
+にな
+構造
+本
+校
+査
+しま
+造
+ます。_
+なりま
+れた
+方分
+あり
+財政
+理
+な_
+した。
+年か
+約
+_て
+1年
+よう
+私
+・
+メ
+育
+セ
+ビ
+シ
+して、
+ナ
+カ
+ト
+生の
+着
+ほ
+流
+構造改
+んて
+バ
+ろ
+菌
+治
+時に
+%、
+気
+お
+ドレ
+なっ
+など
+たり
+何か
+るこ
+、そして
+てく
+たち
+では
+ては
+進め
+造改
+構造改革(
+の子
+率
+期
+度
+日
+部省
+計画
+く_
+族
+文
+構造改革
+という
+します
+なった
+局
+踊り
+なんて
+正
+夫
+増
+多
+食
+使
+だった
+戻
+くな
+いま
+体
+スを
+題
+たが、
+いる
+いう
+身
+もな
+い。
+中部
+かけ
+踊
+_す
+面
+_に
+だった。
+的に
+門
+ドレス
+レス
+2年
+ました
+制
+合
+します。
+まで
+まし
+ありま
+く、
+冬
+とを
+文部省
+を進め
+推進
+元
+そし
+頃
+農
+入
+域
+解
+ている
+ら、
+、そし
+と、
+造改革
+家族
+見
+規
+した。_
+要
+8
+5年
+あります。
+葉
+0%
+造改革(
+あります
+公
+はな
+にあ
+しな
+結果
+表
+めた
+そして
+だけ
+だっ
+_す。
+4
+第
+ことを
+います
+文部
+の目
+、そ
+を進
+効果
+ること
+のま
+ある
+30
+、地
+自分
+組
+結
+ 「
+にも
+たが
+造改革(_
+る限り
+く女性た
+ナ増強
+戻る。
+った。_
+現す
diff --git a/test/user-template/user/fingerprint/korean.lm b/test/user-template/user/fingerprint/korean.lm
new file mode 100644
index 000000000000..159493270c3f
--- /dev/null
+++ b/test/user-template/user/fingerprint/korean.lm
@@ -0,0 +1,400 @@
+_ 11636
+À 2659
+° 1629
+Ç 1578
+¸ 1458
+¿ 1397
+´ 1299
+µ 1118
+Á 1005
+± 928
+» 849
+¼ 840
+_À 809
+¹ 808
+º 780
+¡ 773
+Ã 764
+³ 674
+¾ 640
+Ì 591
+Î 580
+ÀÌ 538
+½ 526
+Ï 519
+Â 518
+_° 518
+Ù 506
+· 483
+È 464
+ö 463
+­ 454
+´Ù 451
+ø 404
+Æ 395
+ë 384
+_¿ 382
+í 377
+. 374
+Å 373
+ç 358
+._ 347
+_Ç 344
+´Â 338
+¡_ 333
+Â_ 329
+¿¡ 327
+_Á 319
+´Â_ 317
+´Ù. 313
+Ù. 313
+â 308
+¶ 308
+´Ù._ 301
+Ù._ 301
+»_ 299
+_¹ 291
+î 288
+® 282
+À» 279
+Ö 278
+¦ 274
+À»_ 271
+Î_ 269
+, 266
+Ñ 266
+°í 261
+Áö 258
+,_ 258
+°¡ 250
+ß 248
+_¼ 246
+Ä 245
+ÀÇ 244
+Ì_ 243
+_¸ 243
+_µ 242
+ü 238
+é 235
+¼­ 234
+ÀÌ_ 234
+ÇÏ 234
+_± 233
+´ë 228
+·Î 227
+ÇÑ 222
+½Ã 222
+_³ 215
+±â 212
+_Ã 210
+í_ 208
+_´ 206
+¦_ 206
+Ç_ 205
+_¾ 205
+º_ 204
+÷ 198
+˼ 198
+°í_ 194
+·Î_ 193
+ó 193
+¿¡_ 193
+¸¦_ 192
+¸¦ 192
+_ÀÌ 190
+­_ 189
+˼_ 189
+_½ 189
+µµ 188
+ÀÏ 188
+ÀÇ_ 188
+_º 186
+Í 177
+Ú 175
+ú 171
+ȍ 161
+Ô 154
+_ÀÏ 153
+Ø 152
+¿ø 151
+±¸ 150
+µ¿ 147
+Ò 147
+¸¸ 145
+¼ö 143
+¤ 142
+ºÎ 142
+_» 141
+ÀÖ 140
+æ 139
+Ð 138
+ù 138
+ª 137
+µé 136
+è 134
+À¸ 134
+_ÀÖ 133
+² 132
+Ñ_ 127
+ÀÎ 125
+°¡_ 123
+ÀÚ 122
+ÇÑ_ 121
+Àü 121
+¾Æ 118
+ý 117
+å 116
+Ï_ 115
+¾î 115
+µ_ 115
+¢ 114
+Ö´ 113
+°ú 112
+¸· 111
+¯ 109
+ÇØ 109
+§ 108
+à 108
+_È 108
+±¹ 107
+¼­_ 107
+× 107
+£ 106
+ÀÖ´ 105
+ȸ 103
+¸® 101
+ö_ 101
+û 100
+_ÀÖ´ 100
+õ 100
+¸·Î 100
+" 98
+À¸·Î 97
+ÁÖ 97
+À¸· 97
+Àå 95
+_´ë 94
+¡¼ 94
+³ª 94
+_½Ã 94
+¥ 94
+µî 94
+Á¤ 92
+°ø 92
+_Å 91
+á 91
+Ï° 90
+ÇÐ 90
+¸·Î_ 90
+Ê 89
+© 89
+Í_ 89
+¸_ 89
+À¸·Î_ 89
+éÀ 89
+Þ 88
+¡¼­ 88
+¿¡¼ 88
+¿¡¼­ 88
+ê 87
+µµ_ 87
+±³ 85
+_Æ 85
+î_ 84
+°æ 84
+µéÀ 84
+¸í 84
+ëÇ 83
+¿ù 83
+_Áö 82
+ÇÏ° 82
+¿À 81
+¶ó 80
+¿¡¼­_ 79
+¡¼­_ 79
+ÀÏ_ 78
+Ý 78
+Á¦ 78
+ç_ 78
+øÀ 78
+' 77
+Çß 77
+ì 77
+Ü 77
+Áß 77
+ú_ 76
+Áö_ 76
+Ó 76
+â_ 75
+( 74
+) 74
+»ó 74
+°ü 74
+»ý 73
+_¿ù 72
+_°¡ 72
+_¼ö 72
+- 72
+¿© 72
+Ö´Ù 72
+º¸ 71
+ÀÖ´Ù 71
+Ȑ 70
+°³ 70
+½º 70
+¼± 69
+¿ë 69
+°ú_ 69
+_ÀÖ´Ù 69
+_µî 69
+ø_ 69
+ß´ 69
+°Í 68
+³» 68
+_¡ 68
+_ÇÑ 68
+ù_ 67
+ü 67
+¸¿ 66
+_ÀÏ_ 66
+Çß´ 66
+°Ô 65
+ñ 65
+_¶ 65
+_°Í 65
+Çß´Ù 64
+ß´Ù 64
+_ÇÏ 63
+¹Î 62
+« 62
+Ï´ 62
+¼Ò 62
+¿ù_ 62
+Á¶ 61
+³â 61
+Ï°í 61
+Ì´ 60
+¾È 60
+ÇÏ°í 60
+õ 59
+_¿ù_ 59
+_¼­ 59
+Åë 59
+ÆÄ 58
+®_ 58
+_¸¸ 58
+Ø_ 58
+´ç 57
+ß´Ù. 57
+¬ 57
+Õ 57
+Çß´Ù. 57
+¹° 57
+¾÷ 57
+Ö´Ù. 56
+ß_ 56
+ÀÖ´Ù. 56
+¿Í 56
+ß´Ù._ 56
+Áø 56
+Àç 55
+¸° 55
+ÍÀ 55
+Æ® 55
+¹é 55
+ÀÌ´ 55
+Ö´Ù._ 54
+_¹é 54
+¿Í_ 53
+Àû 53
+ð 53
+¹® 53
+_ÁÖ 53
+´Ü 53
+¼º 53
+ÇØ_ 53
+°Ç 53
+íÀ 52
+_Àü 52
+Ô_ 52
+¿¬ 52
+_°æ 51
+°ÍÀ 51
+°£ 51
+¿ì 51
+È­ 51
+ä 50
+_¾Æ 50
+´ëÇ 50
+Ä¡ 50
+Ï°í_ 49
+ÇÏ°í_ 49
+_ÀÎ 49
+Û 49
+É 49
+_" 48
+öµ 48
+ˤ 48
+ÀÌ´Ù 48
+ÀÔ 48
+_°ÍÀ 48
+Ì´Ù 48
+¡­ 47
+Ì´Ù. 47
+_°ø 47
+ÀÌ´Ù. 47
+°Ô_ 47
+_ȍ 47
+¸ç 47
+½Å 47
+Ã_ 46
+ÅÍ 46
+é_ 46
+Ò_ 46
+ï 46
+ÇÏ´ 46
+_°³ 45
+_´Ù 45
+_ÀÚ 45
+¸¶ 45
+°è 45
+Çà 45
+Ì´Ù._ 45
+÷À 44
+îÁ 44
+ÈÄ 44
+±â_ 43
+(_ 43
+¸é 43
+­¿ 43
+ü_ 43
+ºñ 42
+­´ 42
+ë_ 42
+ÀÎ_ 42
+_ÀÌ_ 42
+µî_ 42
+°­ 42
+ÎÃ 41
+µÇ 41
+¿øÀ 41
+¿µ 41
+À½ 40
+Îõ 40
+±× 40
+Ë 40
+¿¹ 40
+_¿À 40
+øÇ 40
+¸» 40
+_ÇÐ 40
+¡­_ 39
+_³â 39
+³² 39
+ÇÒ 39
+¿_ 39
+_³ª 39
+³­ 38
+¸íÀ 38
+âÀ 38
+ª_ 38
diff --git a/test/user-template/user/fingerprint/latin.lm b/test/user-template/user/fingerprint/latin.lm
new file mode 100644
index 000000000000..177cd35aa174
--- /dev/null
+++ b/test/user-template/user/fingerprint/latin.lm
@@ -0,0 +1,400 @@
+_ 20136
+e 6892
+i 5604
+a 5443
+u 4581
+t 4552
+s 4354
+r 3923
+n 3375
+m 3063
+o 2921
+c 2224
+l 1805
+e_ 1625
+s_ 1503
+p 1424
+d 1397
+, 1285
+,_ 1276
+er 1077
+qu 1028
+q 1028
+a_ 1019
+t_ 1018
+is 942
+_a 921
+re 902
+m_ 891
+v 858
+b 821
+um 808
+_s 773
+us 772
+en 766
+nt 733
+in 729
+ue 727
+te 720
+g 718
+_i 710
+_p 679
+it 676
+_c 669
+et 653
+que 652
+_e 643
+at 643
+ue_ 616
+ra 614
+que_ 611
+f 601
+or 598
+ri 576
+ti 572
+ta 559
+tu 552
+an 551
+ae 527
+_m 513
+am 501
+_t 493
+us_ 488
+is_ 487
+es 479
+em 479
+_f 451
+um_ 443
+_v 442
+ia 442
+li 438
+_d 436
+. 432
+i_ 430
+et_ 429
+ni 412
+ne 409
+h 406
+de 404
+ur 396
+._ 392
+ar 388
+os 388
+mi 382
+pe 382
+la 376
+st 371
+s, 368
+di 367
+_et 366
+s,_ 365
+_in 363
+on 360
+o_ 359
+_n 351
+_et_ 351
+as 346
+im 336
+na 327
+se 320
+ma 315
+cu 307
+vi 306
+si 303
+ro 303
+r_ 302
+su 299
+un 295
+_l 291
+to 291
+ec 290
+ci 288
+co 287
+_r 287
+ere 286
+ce 284
+tr 280
+re_ 278
+ent 275
+x 275
+ct 274
+ve 271
+ru 259
+ul 256
+me 255
+ui 255
+c_ 252
+_o 250
+ic 249
+ns 247
+_qu 242
+_q 242
+no 241
+ant 235
+am_ 235
+_co 233
+sa 231
+ca 230
+t, 226
+mu 225
+t,_ 225
+_re 223
+el 222
+ib 222
+id 218
+om 212
+_te 211
+al 209
+le 209
+it_ 208
+mo 208
+ol 206
+_u 203
+; 199
+_h 199
+ac 198
+;_ 198
+bu 197
+nu 196
+ua 195
+n_ 195
+ll 194
+tis 191
+A 189
+rt 188
+ge 188
+nd 187
+au 187
+lu 186
+iu 185
+squ 185
+per 185
+sq 185
+ter 185
+pa 183
+_A 183
+em_ 183
+ia_ 180
+ed 179
+_pe 178
+m, 176
+sque 175
+_su 175
+ae_ 175
+m,_ 175
+pr 175
+bi 175
+bus 174
+_vi 174
+os_ 173
+ta_ 172
+mqu 171
+mq 171
+ss 170
+sque_ 169
+ibu 167
+ad 166
+ibus 165
+I 164
+nte 163
+ra_ 163
+mque 162
+_de 162
+po 161
+_se 160
+ere_ 160
+nc 160
+qua 159
+T 159
+lo 157
+oc 156
+mque_ 156
+_T 155
+_pa 155
+_pr 155
+tem 154
+bus_ 152
+nti 149
+rum 149
+er_ 149
+ab 148
+ir 148
+da 147
+_ve 146
+ibus_ 146
+ex 146
+ut 145
+pi 145
+tur 145
+_ca 143
+_me 142
+es_ 142
+gi 142
+te_ 141
+_I 141
+vo 141
+do 141
+_si 140
+tus 139
+il 137
+_ar 136
+du 133
+nt_ 133
+uc 133
+fa 132
+as_ 132
+rr 131
+ba 130
+_ad 128
+ne_ 127
+_ma 127
+ens 127
+gn 126
+s. 126
+y 126
+min 125
+ris 124
+in_ 123
+tum 123
+P 123
+_g 123
+mp 123
+e, 122
+io 122
+_P 122
+ea 122
+hi 122
+e,_ 121
+era 120
+sc 120
+_la 120
+qui 120
+unt 120
+fe 119
+_in_ 118
+_no 118
+ore 118
+iam 118
+va 117
+tis_ 117
+s._ 117
+at_ 117
+eri 116
+d_ 116
+con 115
+fu 115
+pu 114
+cum 114
+ub 114
+ng 114
+ine 113
+_au 113
+: 113
+_di 112
+ag 111
+_con 111
+ect 111
+i, 111
+equ 111
+i,_ 111
+be 111
+eq 111
+_po 110
+so 110
+:_ 110
+nis 109
+ha 109
+uo 109
+_fa 108
+na_ 107
+ip 107
+is, 107
+_cu 106
+cr 106
+ate 105
+is,_ 105
+ig 105
+tor 105
+rat 104
+_qua 103
+eg 103
+a, 103
+a,_ 102
+tra 102
+_mo 101
+sp 101
+mis 100
+itu 100
+D 99
+ali 99
+eb 99
+eni 99
+_sa 98
+ie 98
+imu 98
+_ex 97
+_D 96
+res 95
+est 94
+tri 94
+ene 94
+_mi 94
+str 94
+enti 93
+t. 92
+av 92
+_per 91
+ur_ 91
+ora 91
+lt 91
+umqu 90
+_vo 90
+umq 90
+up 89
+t._ 88
+quo 88
+_ne 88
+gen 88
+rum_ 87
+tqu 87
+tq 87
+_fu 86
+ep 86
+ma_ 86
+umque 86
+it,_ 85
+ine_ 85
+it, 85
+men 85
+mus 84
+ort 83
+ven 83
+ina 83
+us,_ 83
+us, 83
+tque 82
+_ge 82
+per_ 82
+mor 82
+inc 82
+are 81
+tus_ 81
+_an 81
+rim 81
+tque_ 81
+ot 81
+ani 80
+H 80
+_tu 80
+ho 80
+tem_ 80
+u_ 80
+ser 79
+um,_ 79
+um, 79
+S 79
+ten 79
+ver 79
+sti 79
+ntu 78
+fer 78
diff --git a/test/user-template/user/fingerprint/latvian.lm b/test/user-template/user/fingerprint/latvian.lm
new file mode 100644
index 000000000000..bffdd309b9bb
--- /dev/null
+++ b/test/user-template/user/fingerprint/latvian.lm
@@ -0,0 +1,400 @@
+_ 24504
+a 8735
+i 7353
+s 6064
+t 5176
+e 4390
+r 4339
+u 4200
+n 3422
+â 3055
+m 2817
+p 2755
+k 2703
+o 2643
+s_ 2595
+d 2131
+l 2035
+j 1972
+î 1958
+ie 1887
+v 1822
+as 1530
+u_ 1396
+_p 1380
+b 1357
+z 1311
+ç 1267
+a_ 1261
+as_ 1217
+. 1065
+, 1048
+,_ 1033
+g 1010
+ar 970
+ð 965
+ti 962
+c 922
+_a 876
+ja 838
+st 828
+_i 822
+_v 805
+pa 792
+_t 775
+._ 774
+um 760
+_k 749
+â_ 734
+_n 728
+es 712
+i_ 706
+at 703
+is 695
+_s 680
+ai 649
+ta 635
+an 631
+ka 621
+r_ 615
+îb 586
+ij 585
+_u 568
+_pa 548
+un 541
+no 539
+va 537
+ma 525
+ra 522
+ri 515
+iz 512
+in 509
+vi 508
+pr 506
+sa 487
+ju 486
+tâ 483
+ik 473
+n_ 472
+am 454
+en 452
+tie 440
+na 432
+ða 430
+tu 420
+ija 420
+ir 419
+o_ 415
+m_ 414
+li 411
+ci 409
+ku 404
+mi 401
+_no 398
+ek 398
+_un 397
+t_ 395
+_l 394
+un_ 393
+_d 393
+ot 392
+_un_ 392
+ies 391
+ar_ 388
+nâ 387
+da 387
+ei 385
+em 382
+_ti 382
+pi 380
+al 368
+ba 356
+ts 355
+_iz 353
+ap 350
+jas 349
+ko 346
+au 345
+ðan 339
+re 339
+ni 337
+kâ 328
+ro 327
+et 326
+rî 325
+ga 323
+mu 322
+jas_ 321
+tr 317
+_va 312
+te 310
+_pr 307
+sp 298
+sk 297
+ne 295
+îba 293
+âs 289
+ijas 287
+_ar 283
+la 283
+to 282
+ad 280
+dz 278
+îg 277
+tî 277
+çj 277
+_sa 277
+jâ 274
+_m 273
+ties 273
+lî 272
+ijas_ 269
+_at 269
+ed 267
+_pi 267
+ò 267
+s, 265
+s,_ 265
+çr 261
+gu 258
+f 258
+si 257
+mâ 256
+nt 254
+tu_ 254
+_r 253
+ru 252
+âj 251
+jum 251
+âs_ 250
+ât 249
+iem 248
+_b 248
+_vi 245
+par 244
+pie 244
+rt 243
+vç 242
+_ne 240
+âr 240
+ai_ 239
+_. 239
+_j 237
+us 237
+_ka 236
+er 232
+bas 232
+_tie 232
+_par 230
+di 229
+û 228
+ms 228
+âd 226
+îbas 224
+om 220
+bu 219
+umu 217
+iek 216
+kt 216
+it 216
+râ 215
+_ko 214
+ana 211
+âk 211
+or 210
+de 210
+inâ 207
+dî 204
+ur 203
+pri 203
+_c 202
+ta_ 202
+bas_ 201
+es_ 201
+_pie 200
+il 200
+os 199
+ðana 199
+id 198
+L 198
+_ie 197
+bi 194
+ak 194
+ja_ 194
+îbas_ 193
+çt 192
+îbu 192
+_g 191
+ï 189
+ma_ 189
+ien 188
+kum 187
+— 187
+_ir 186
+on 186
+_ties 185
+zî 185
+ce 185
+ied 184
+ist 183
+ts_ 183
+_— 183
+—_ 182
+âm 181
+vie 180
+_—_ 180
+cij 180
+ka_ 179
+_ap 175
+sî 174
+ir_ 174
+zi 174
+uma 173
+âl 172
+_ir_ 172
+oð 171
+_da 169
+î_ 168
+arî 168
+) 167
+do 166
+ve 166
+( 165
+ls 165
+bu_ 164
+val 164
+mu_ 164
+isk 163
+uz 161
+av 160
+par_ 160
+_vç 159
+_par_ 158
+vçr 158
+_ar_ 157
+rie 157
+_uz 157
+aj 156
+îbu_ 156
+oj 155
+kâ_ 155
+ld 154
+iet 154
+iku 154
+ks 153
+du 153
+ep 153
+ms_ 152
+ec 152
+V 151
+ais 150
+str 150
+nie 149
+am_ 149
+ums 148
+_( 147
+ju_ 146
+z_ 142
+ru_ 142
+îj 142
+gum 142
+u,_ 141
+u, 141
+iò 141
+uma_ 141
+çrt 141
+îgu 141
+me 140
+dâ 140
+ît 140
+ent 139
+ikum 138
+pâ 138
+em_ 138
+_L 138
+lie 136
+sta 136
+rî_ 136
+lst 136
+eik 135
+se 135
+s. 134
+pro 134
+rs 134
+s._ 134
+tik 134
+lç 134
+ska 133
+pap 133
+kas 133
+rm 133
+âju 133
+pî 132
+nu 132
+T 132
+pç 131
+tei 131
+nas 131
+_V 131
+jo 131
+lîg 131
+ut 131
+iem_ 130
+ras 129
+pu 129
+_li 129
+_ga 128
+dar 128
+_kâ 128
+umu_ 127
+îv 126
+îgum 126
+kas_ 126
+tîb 125
+vai 125
+lîgu 125
+P 125
+arî_ 125
+ev 124
+lai 124
+îr 124
+lîgum 124
+tv 123
+að 123
+_arî_ 122
+_arî 122
+_vie 121
+S 121
+_T 120
+îju 120
+teik 120
+cija 119
+rb 119
+_ð 119
+jâ_ 119
+nas_ 118
+tâj 118
+vçrt 118
+iec 118
+_la 117
+îd 116
+_vai 116
+îjum 116
+vien 116
+als 116
+_lî 116
+apîr 115
+rts 115
+isi 115
+pîr 115
+papî 115
+papîr 115
+apî 115
+tsp 115
+mç 114
+im 114
+be 114
+is_ 114
+alst 114
+_ja 114
+rtspa 113
diff --git a/test/user-template/user/fingerprint/lithuanian.lm b/test/user-template/user/fingerprint/lithuanian.lm
new file mode 100644
index 000000000000..eca25a45b2ba
--- /dev/null
+++ b/test/user-template/user/fingerprint/lithuanian.lm
@@ -0,0 +1,400 @@
+_ 23070
+i 8196
+a 7763
+s 5179
+e 3458
+o 3425
+u 3371
+t 3344
+r 3240
+n 3070
+k 3019
+l 2060
+p 1889
+s_ 1756
+m 1680
+d 1640
+v 1590
+, 1501
+,_ 1497
+ó 1400
+g 1302
+j 1200
+o_ 1138
+. 1128
+ai 1113
+÷ 1075
+_p 1047
+_k 1035
+i_ 990
+._ 984
+as 975
+b 937
+au 903
+is 863
+_n 815
+ka 811
+si 804
+_s 799
+ia 796
+ý 759
+ta 735
+ie 731
+ti 728
+y 721
+_t 711
+in 697
+_i 686
+us 675
+pa 658
+ir 640
+ar 633
+ù 620
+_a 617
+r_ 609
+ne 583
+a_ 578
+ri 569
+_v 558
+_pa 541
+al 540
+ra 531
+li 522
+Ý 509
+u_ 493
+vi 490
+_ka 489
+da 487
+_ne 482
+_j 481
+en 478
+ù_ 445
+os 444
+ki 442
+õ 441
+an 440
+ik 434
+ma 433
+as_ 430
+st 420
+_d 420
+ai_ 417
+s,_ 396
+am 396
+is_ 396
+s, 396
+_ir 390
+jo 387
+ir_ 385
+at 384
+_ir_ 383
+i÷ 381
+ni 377
+ga 376
+_b 367
+na 366
+e_ 365
+to 352
+pr 337
+_g 332
+_m 332
+û 328
+ß 326
+io 323
+ei 323
+Ý_ 321
+su 320
+ßi 320
+uo 319
+la 317
+er 303
+va 299
+vo 298
+ýi 293
+es 291
+- 290
+ó_ 286
+-_ 285
+_vi 284
+_- 283
+ko 283
+_-_ 283
+iau 281
+sa 278
+s. 278
+iu 276
+et 274
+nu 265
+ja 262
+õ_ 262
+_ta 262
+s._ 259
+el 258
+ój 258
+os_ 256
+im 255
+it 254
+_pr 253
+no 252
+av 251
+ur 251
+_÷ 248
+mi 246
+ve 245
+ak 245
+ku 243
+ek 241
+tu 241
+_ý 241
+ad 241
+ñ 238
+_l 238
+_i÷ 236
+us_ 236
+_su 232
+oj 231
+au_ 231
+ba 224
+nt 218
+me 214
+te 210
+jo_ 208
+ro 205
+ós 204
+iù 203
+tai 203
+_õ 201
+ló 201
+pas 200
+ip 198
+iai 197
+di 195
+usi 194
+vo_ 193
+kai 190
+i, 189
+i,_ 189
+sk 187
+_r 186
+aus 184
+ap 183
+gi 182
+mo 182
+uk 181
+t_ 180
+_da 177
+be 176
+ien 176
+o, 174
+il 174
+o,_ 173
+ti_ 173
+re 172
+_nu 171
+ßia 171
+_pas 169
+pri 169
+÷_ 169
+ok 168
+dó 166
+ól 162
+bu 161
+÷i 160
+on 160
+asi 159
+id 158
+ul 157
+ji 157
+aip 156
+ia_ 155
+_sa 154
+ot 154
+gal 153
+nk 153
+om 152
+p_ 151
+_pri 151
+od 151
+vis 150
+_at 150
+vie 150
+uv 150
+ab 150
+iù_ 149
+ama 149
+nó 149
+A 149
+sta 148
+kr 148
+_A 145
+ais 144
+rt 143
+J 142
+_J 142
+ójo 142
+_õ_ 141
+K 140
+_K 139
+pi 139
+avo 139
+ng 139
+mas 138
+du 138
+ug 137
+_ga 137
+ol 136
+tik 135
+ali 135
+.. 135
+_vis 135
+iek 134
+ini 133
+kad 133
+a, 133
+le 133
+kó 133
+T 133
+tó 132
+i. 132
+_T 131
+dý 131
+a,_ 131
+go 131
+ip_ 131
+aip_ 131
+ró 129
+a÷ 129
+dýi 129
+ke 128
+k_ 128
+d_ 127
+ad_ 127
+_ti 127
+_ma 126
+_va 125
+i._ 124
+z 123
+÷k 123
+iau_ 121
+m_ 120
+kar 119
+um 119
+tù 119
+_kad 118
+uý 117
+tr 117
+_kai 117
+as, 116
+og 116
+kad_ 116
+as,_ 116
+_ji 116
+rie 115
+yt 114
+_ja 114
+_ko 114
+vó 114
+ys 114
+jau 113
+ar_ 113
+pra 112
+aý 112
+ant 112
+kl 111
+tas 111
+gu 111
+_ku 110
+si_ 110
+pe 109
+eb 109
+N 109
+ójo_ 108
+_kad_ 108
+se 108
+_ki 108
+or 107
+ly 107
+lo 107
+iai_ 107
+_la 106
+ts 106
+ñs 106
+ig 105
+_N 105
+ut 105
+_u 105
+ós_ 105
+avo_ 104
+ie_ 104
+a. 104
+kt 104
+em 103
+do 103
+je 102
+ks 102
+ats 101
+_be 101
+ris 101
+l_ 101
+_vie 101
+tin 101
+ag 100
+dam 100
+_st 100
+a._ 99
+_bu 99
+? 99
+V 98
+io_ 98
+kas 98
+_jo 98
+vien 97
+_gal 97
+ót 97
+kia 97
+lia 96
+c 96
+uri 96
+_V 96
+?_ 96
+uvo 95
+ru 95
+ty 95
+ep 94
+nd 94
+lai 94
+_tai 94
+ju 93
+man 92
+o. 92
+buv 92
+tÝ 92
+_÷i 91
+i÷_ 91
+_i÷_ 91
+i÷k 90
+o._ 90
+_to 90
+bi 90
+up 89
+po 89
+rs 89
+_prie 88
+ù,_ 88
+aik 88
+ui 88
+_tik 88
+ij 88
+ù, 88
+pat 88
+prie 88
+I 87
+ies 87
+tai_ 87
+n_ 87
+pasi 87
+ius 87
+÷t 87
+eik 86
+_me 86
+ina 86
diff --git a/test/user-template/user/fingerprint/luxembourgish.lm b/test/user-template/user/fingerprint/luxembourgish.lm
new file mode 100644
index 000000000000..149c3d9d4359
--- /dev/null
+++ b/test/user-template/user/fingerprint/luxembourgish.lm
@@ -0,0 +1,400 @@
+_
+e
+n
+r
+t
+i
+a
+s
+u
+er
+h
+d
+o
+l
+n_
+g
+en
+c
+ch
+_d
+m
+t_
+r_
+_a
+de
+e_
+en_
+er_
+an
+z
+,
+un
+,_
+.
+ge
+b
+k
+w
+f
+._
+éi
+_de
+v
+p
+sc
+sch
+es
+nn
+ng
+te
+_v
+ne
+_g
+ue
+h_
+ie
+ch_
+m_
+ou
+i_
+s_
+_e
+ee
+el
+ze
+at
+re
+ss
+'
+vu
+_vu
+D
+le
+se
+st
+_an
+_s
+un_
+g_
+et
+_D
+_h
+he
+an_
+ec
+in
+rt
+_an_
+ro
+der
+ll
+is
+ht
+ech
+cht
+d'
+_d'
+S
+nt
+uer
+der_
+éi_
+em
+_o
+it
+L
+l_
+on
+esc
+A
+esch
+ti
+al
+us
+ier
+_z
+ra
+E
+we
+che
+_S
+ir
+ei
+ët
+äi
+vun
+_w
+me
+_m
+_A
+be
+ert
+vun_
+_vun
+_vun_
+nne
+tz
+ng_
+eb
+_der
+_E
+_der_
+ar
+_n
+rg
+n,_
+u_
+_L
+n,
+den
+eng
+um
+_b
+io
+ns
+erg
+au
+_en
+K
+M
+_ge
+dé
+as
+eg
+tze
+ung
+a_
+n.
+hu
+ner
+op
+n._
+ur
+et_
+B
+oun
+ën
+hi
+si
+bu
+nn_
+ëtz
+_dé
+déi
+_f
+inn
+de_
+_déi
+li
+tt
+ebu
+W
+ass
+uerg
+nd
+ebue
+bue
+rt_
+ëtze
+buer
+déi_
+ma
+ebuer
+_déi_
+_K
+_hu
+nge
+_M
+buerg
+ëtzeb
+zebue
+zeb
+zebu
+tzebu
+tzeb
+um_
+ioun
+ss_
+iou
+ges
+ere
+ha
+den_
+Lë
+éie
+F
+ke
+_a_
+t.
+ta
+Lëtz
+G
+Lëtze
+Lët
+t._
+en,_
+t,_
+en,
+t,
+at_
+ech_
+o_
+_de_
+ren
+ri
+ic
+ter
+_W
+_eng
+éier
+la
+ol
+rs
+scht
+ir_
+ru
+_B
+ert_
+_k
+oc
+P
+ten
+ht_
+_Lë
+nz
+em_
+p_
+ent
+wa
+cht_
+_den
+_Lët
+_Lëtz
+ich
+_G
+_den_
+tio
+il
+nner
+ger
+_as
+sse
+_op
+och
+ll_
+_ass
+R
+am
+-
+_se
+_F
+sche
+d_
+sch_
+ati
+_be
+ts
+ik
+nen
+De
+ers
+_.
+_P
+_._
+fe
+ass_
+mm
+gi
+aa
+zu
+_De
+ve
+pe
+fi
+tr
+lt
+en.
+_ass_
+eng_
+op_
+ck
+en._
+sen
+na
+rge
+ës
+kt
+ed
+_al
+äit
+so
+uro
+_op_
+gesc
+_R
+gesch
+Eur
+tiou
+Euro
+aus
+Eu
+erge
+hen
+tioun
+lec
+no
+fir_
+chen
+fir
+V
+hue
+_si
+or
+ut
+ac
+uf
+Z
+gen
+tu
+ver
+lech
+da
+mat
+_V
+_Eur
+_Eu
+wer
+lle
+_Euro
+uerge
+_ze
+éis
+J
+est
+ger_
+tt_
+_hue
+go
+_fi
+dee
+_fir_
+uet
+vum
+_zu
+ni
+_vum
+_fir
+een
+_vum_
+vum_
+huet
+ann
+_huet
+T
+I
+el_
+_wa
diff --git a/test/user-template/user/fingerprint/malay.lm b/test/user-template/user/fingerprint/malay.lm
new file mode 100644
index 000000000000..911d0cfef150
--- /dev/null
+++ b/test/user-template/user/fingerprint/malay.lm
@@ -0,0 +1,400 @@
+_ 87128
+a 50232
+n 25424
+e 18746
+i 18605
+an 14419
+u 12470
+k 11955
+t 11875
+r 11007
+d 9856
+g 9545
+m 9390
+s 8926
+l 8631
+n_ 8004
+an_ 7095
+p 6890
+a_ 6739
+b 6645
+ng 6630
+h 5964
+da 5153
+_d 5107
+er 4625
+ka 4448
+la 4339
+y 4323
+i_ 4295
+en 4159
+ya 3800
+ang 3778
+_m 3750
+o 3593
+. 3539
+._ 3310
+at 3288
+ah 3216
+_b 3199
+_s 3177
+ta 3076
+ra 3036
+_k 2949
+g_ 2939
+ng_ 2933
+ar 2915
+_p 2906
+me 2884
+ga 2781
+di 2778
+ak 2727
+al 2705
+_me 2671
+ang_ 2524
+h_ 2509
+ba 2508
+pa 2454
+kan 2449
+in 2437
+tu 2411
+_t 2376
+sa 2338
+_da 2276
+j 2276
+pe 2225
+, 2150
+k_ 2147
+ma 2143
+se 2138
+am 2131
+kan_ 2117
+_di 2082
+,_ 2079
+ke 2048
+un 2004
+be 1947
+_a 1925
+na 1871
+ti 1868
+ri 1861
+u_ 1857
+as 1854
+ny 1827
+ha 1789
+te 1788
+_pe 1768
+em 1750
+it 1737
+_i 1732
+_ke 1711
+yan 1706
+ad 1698
+ia 1673
+yang 1673
+_y 1668
+_ya 1655
+yang_ 1653
+_se 1648
+ah_ 1646
+_yan 1639
+_yang 1639
+ala 1612
+nya 1587
+el 1576
+ik 1571
+t_ 1568
+ai 1549
+men 1531
+eng 1522
+_men 1464
+nga 1441
+dan 1366
+_be 1365
+si 1343
+uk 1328
+ada 1299
+nt 1291
+__ 1287
+ap 1276
+ua 1265
+___ 1238
+- 1213
+ja 1211
+ber 1204
+gan 1203
+_ba 1193
+____ 1189
+ni 1181
+_te 1169
+c 1143
+ran 1141
+_____ 1140
+m_ 1127
+ara 1118
+per 1099
+le 1084
+_dan 1083
+dan_ 1079
+ngan 1060
+_dan_ 1050
+ya_ 1046
+at_ 1044
+da_ 1021
+li 1016
+aka 1013
+A 999
+r_ 999
+w 997
+eb 995
+lah 980
+ata 980
+ak_ 978
+nd 974
+_ber 955
+gi 936
+is 933
+il 931
+tu_ 923
+s_ 920
+gan_ 915
+mb 913
+wa 904
+ag 903
+ngan_ 898
+ter 887
+nya_ 877
+S 873
+ek 853
+ru 852
+_l 838
+ela 828
+itu 824
+ol 822
+aha 822
+ada_ 820
+pu 812
+di_ 807
+bu 807
+am_ 804
+ur 801
+tan 790
+mp 790
+_per 786
+_sa 784
+M 782
+ut 781
+us 779
+era 779
+lam 778
+lah_ 775
+asa 767
+ki 761
+ir 759
+de 756
+enga 750
+su 748
+du 741
+id 739
+" 733
+akan 732
+apa 728
+_S 724
+ul 721
+lu 717
+ari 717
+dal 704
+et 698
+es 698
+pad 688
+_ma 688
+_M 685
+ana 684
+bi 679
+pada 673
+dala 673
+l_ 671
+ep 664
+f 662
+_di_ 658
+B 655
+ing 655
+_j 654
+ika 653
+ku 650
+_. 644
+akan_ 642
+ama 637
+pen 636
+alam 634
+eh 634
+pada_ 633
+ai_ 632
+_ter 632
+K 631
+mu 628
+ju 628
+P 626
+mem 625
+au 622
+_mem 614
+lan 612
+_._ 611
+ntu 608
+lam_ 605
+um 601
+on 600
+gk 597
+_in 597
+ngk 597
+a. 584
+meng 582
+_meng 578
+alam_ 577
+_A 576
+aa 575
+uk_ 572
+_pen 569
+ban 569
+or 569
+st 566
+ay 566
+dar 565
+_pa 564
+a._ 564
+_h 562
+bah 562
+_P 560
+D 559
+ri_ 558
+ini 552
+_de 551
+rt 550
+aan 545
+_it 542
+_itu 542
+nda 540
+eri 540
+dalam 537
+_B 533
+_dal 532
+ip 532
+_dala 532
+ta_ 528
+_u 527
+ung 525
+ih 524
+aw 520
+_n 519
+atu 517
+ila 513
+mi 513
+leh 513
+ian 512
+tuk 509
+awa 508
+gu 506
+ert 506
+engan 505
+ole 504
+_K 501
+seb 497
+ca 496
+gg 493
+_ta 489
+ra_ 488
+ngg 488
+itu_ 487
+emb 482
+ni_ 482
+ida 482
+nj 482
+_ti 479
+man 478
+den 477
+_D 474
+_ka 473
+aj 470
+oleh 468
+n. 468
+n._ 464
+ngka 464
+gka 464
+dak 464
+anga 461
+ena 459
+san 458
+pat 458
+rk 458
+( 455
+ent 454
+agi 453
+) 451
+ia_ 450
+ge 450
+ab 449
+im 447
+_ini 446
+ntuk 445
+I 445
+ar_ 440
+N 439
+aan_ 436
+_la 433
+pi 432
+baha 431
+deng 430
+han 430
+bag 429
+eh_ 429
+hu 429
+denga 428
+_o 427
+na_ 427
+T 425
+leh_ 422
+_den 422
+ka_ 419
+any 415
+ud 415
+rang 414
+anya 413
+gi_ 412
+angan 412
+a, 411
+_deng 410
+ita 409
+kat 408
+re 408
+_( 406
+tuk_ 403
+aga 401
+ne 400
+and 399
+aya 398
+_dar 397
+a,_ 396
+ro 396
+ntuk_ 393
+eba 392
+aran 390
+_" 387
+ed 385
+end 384
+ko 383
+sa_ 381
+p_ 381
+ara_ 380
+_seb 379
+alah 379
+oleh_ 379
+an. 378
+dak_ 378
+eg 378
+hi 376
+dari 375
+an._ 375
+au_ 373
+bo 373
+ti_ 371
+ula 371
diff --git a/test/user-template/user/fingerprint/manx_gaelic.lm b/test/user-template/user/fingerprint/manx_gaelic.lm
new file mode 100644
index 000000000000..e6eceebeb080
--- /dev/null
+++ b/test/user-template/user/fingerprint/manx_gaelic.lm
@@ -0,0 +1,400 @@
+_ 36004
+e 9455
+a 8302
+y 6395
+n 6395
+h 5736
+r 4939
+s 4799
+o 4429
+i 4129
+l 3462
+y_ 2896
+g 2731
+n_ 2549
+d 2232
+t 2160
+_a 1836
+m 1823
+sh 1774
+e_ 1746
+h_ 1645
+yn 1550
+c 1531
+ee 1515
+gh 1461
+s_ 1460
+_s 1388
+ey 1345
+_e 1316
+ag 1312
+a_ 1201
+r_ 1173
+agh 1165
+in 1148
+as 1136
+_d 1136
+u 1124
+he 1060
+yn_ 1025
+oo 1012
+ey_ 1005
+_m 1002
+er 965
+v 949
+_y 941
+_v 895
+_c 891
+_as 880
+' 869
+, 866
+_n 832
+ll 828
+,_ 827
+_sh 818
+. 802
+hi 797
+as_ 770
+ee_ 768
+ne 767
+_as_ 764
+b 762
+re 735
+ay 730
+._ 730
+an 726
+ar 725
+gh_ 722
+ny 709
+en 703
+_r 697
+ch 688
+agh_ 687
+dy 686
+t_ 677
+le 667
+k 658
+er_ 616
+oi 612
+ea 607
+_t 601
+yr 596
+_er 585
+ra 574
+_dy 572
+in_ 570
+l_ 564
+f 557
+_l 556
+ha 551
+_g 548
+_ny 534
+nn 530
+" 528
+_ch 527
+_y_ 524
+ie 514
+dy_ 514
+_dy_ 513
+aa 510
+_f 509
+j 504
+sh_ 487
+oa 480
+is 478
+_h 470
+rr 468
+ny_ 467
+_ny_ 463
+_er_ 454
+ish 445
+ho 442
+ai 441
+d_ 435
+ro 423
+ht 418
+ei 417
+shi 416
+il 409
+me 408
+_ay 403
+_b 403
+la 400
+_j 400
+my 394
+va 391
+ns 386
+on 385
+_o 381
+ys 380
+_shi 379
+ia 377
+ayn 373
+_va 371
+hen 362
+she 356
+ri 345
+lle 342
+ooi 342
+mee 340
+ley 335
+_me 331
+el 330
+rt 328
+ie_ 327
+eh 324
+w 316
+_ayn 313
+al 311
+g_ 309
+ish_ 308
+lley 307
+mee_ 305
+_mee 304
+ill 301
+es 299
+na 299
+je 298
+yns 296
+C 294
+_my 291
+_she 290
+ley_ 282
+V 280
+_yn 278
+_" 278
+_mee_ 277
+ta 272
+_V 271
+ys_ 268
+- 268
+lley_ 265
+hin 264
+_ro 259
+shin 256
+_yn_ 255
+_je 255
+do 253
+va_ 253
+ne_ 253
+_va_ 252
+ns_ 252
+_shin 251
+yns_ 250
+ayns 248
+en_ 247
+che 246
+_ayns 246
+eh_ 246
+_do 242
+ad 241
+ney 240
+o_ 240
+ym 240
+ed 239
+yr_ 239
+ayns_ 237
+ur 237
+st 234
+_C 234
+rt_ 234
+'n 232
+m_ 232
+p 231
+li 231
+or 230
+ow 228
+hin_ 225
+da 225
+shen 223
+"_ 223
+'n_ 223
+Va 221
+ght 220
+shin_ 219
+tr 217
+_Va 217
+ry 216
+ve 216
+_shen 215
+ty 214
+mo 206
+_' 205
+_ve 205
+ma 203
+be 203
+te 203
+hie 203
+hey 203
+nag 202
+ll_ 201
+yl 200
+w_ 200
+ss 200
+aa_ 198
+nagh 198
+an_ 197
+io 195
+ow_ 194
+it 194
+sy 193
+ayr 193
+ney_ 192
+E 192
+sht 192
+ni 191
+_k 190
+ha_ 190
+ain 189
+u_ 189
+hy 189
+aght 188
+oo_ 188
+ree 188
+lh 187
+_tr 186
+esh 186
+_che 183
+yrt 182
+_da 182
+oar 182
+doo 181
+k_ 181
+se 180
+au 180
+ille 179
+ar_ 179
+_lh 179
+ki 177
+arr 176
+ec 176
+ol 175
+_doo 175
+T 175
+row 175
+_row 174
+ge 173
+so 172
+oy 171
+oil 170
+_re 170
+_ag 170
+'e 169
+rey 169
+illey 169
+ck 168
+ad_ 168
+ann 168
+n, 166
+eea 166
+_ta 166
+ht_ 165
+ae 162
+_row_ 162
+! 162
+row_ 162
+ane 161
+fe 161
+dd 160
+go 159
+tyn 159
+oin 158
+ooa 158
+n. 158
+eg 156
+_ec 156
+_ma 156
+_agh 155
+n,_ 154
+_fe 154
+Ch 154
+nyn 153
+fo 152
+eay 152
+nagh_ 152
+n._ 152
+_go 151
+S 150
+ke 150
+hey_ 150
+enn 150
+cha 149
+rre 149
+_fo 149
+ghe 149
+raa 149
+G 148
+lan 148
+mm 147
+ym_ 147
+A 146
+c_ 146
+oill 145
+hee 144
+ooar 144
+_E 144
+nne 143
+tey 142
+ir 141
+de 141
+hyn 140
+_he 140
+nyn_ 140
+'s 139
+_gh 139
+_cha 138
+L 138
+yrt_ 138
+_Ch 137
+e, 137
+lla 136
+Va_ 136
+ooin 136
+ell 135
+a' 135
+os 135
+_oo 134
+am 134
+rish 133
+th 133
+_mo 133
+ris 133
+iag 133
+gg 133
+_Va_ 132
+iagh 132
+_G 132
+e,_ 132
+ass 132
+!_ 132
+my_ 132
+hoo 131
+_T 131
+nee 130
+a'n_ 129
+rag 129
+a'n 129
+_'s 129
+_so 128
+co 128
+rey_ 128
+_eh 126
+_my_ 126
+nni 126
+ou 126
+_'sy 125
+'sy 125
+_p 125
+vo 125
+_S 125
+H 125
+_agh_ 125
+tra 124
+moo 124
+hu 123
+ooy 123
+ragh 123
+al_ 123
+it_ 123
+hia 122
+id 122
diff --git a/test/user-template/user/fingerprint/marathi.lm b/test/user-template/user/fingerprint/marathi.lm
new file mode 100644
index 000000000000..479f4fd9b760
--- /dev/null
+++ b/test/user-template/user/fingerprint/marathi.lm
@@ -0,0 +1,400 @@
+ 17815
+_ 14534
+ 4035
+_ 3087
+ 2180
+ 1762
+ 1669
+ 1654
+ 1534
+ 1480
+ 1433
+ 1342
+ 1289
+ 1237
+ 1163
+ 1158
+ 1153
+_ 1133
+ 1099
+ 1084
+ 1062
+ 1059
+_ 1054
+ 1054
+ 1050
+ 1039
+ 989
+ 983
+ 968
+ 965
+ 949
+_ 936
+. 936
+ 915
+ 859
+ 842
+ 838
+ 836
+ 769
+ 764
+ 710
+ 710
+ 684
+ 681
+._ 670
+_ 637
+ 609
+ 578
+_ 578
+_ 569
+_ 543
+ 530
+_ 530
+ 524
+_ 523
+ 511
+ 504
+_ 495
+_ 477
+ 476
+ 474
+_ 474
+_ 457
+_ 447
+_ 447
+_ 446
+ 444
+ 438
+ 423
+ 422
+ 409
+ 388
+ 387
+ 381
+_ 366
+ 359
+ 339
+ 334
+_ 332
+ 331
+ 324
+ 320
+_ 320
+ 318
+ 315
+_ 315
+_ 314
+ 313
+ 306
+_ 303
+ 301
+ 297
+ 297
+ 295
+ 284
+ 280
+ 274
+_ 272
+ 270
+ 268
+_ 268
+ 264
+ 264
+ 263
+, 258
+ 256
+ 256
+_ 256
+,_ 255
+ 255
+ 249
+ 247
+ 243
+ 241
+_ 234
+_ 233
+ 232
+ 232
+ 231
+_ 231
+ 230
+ 228
+ 227
+ 226
+ 225
+_ 223
+ 221
+ 220
+_ 220
+ 219
+_ 218
+ 217
+. 216
+ 215
+_ 213
+.. 209
+_ 209
+ 205
+ 205
+ 204
+ 204
+ 203
+_ 202
+_ 202
+ 201
+ 198
+_ 198
+ 193
+_ 191
+ 190
+._ 189
+ 188
+ 188
+ 187
+ 186
+ 186
+ 185
+_ 180
+_ 180
+_ 180
+ 179
+ 178
+_ 176
+_ 175
+_ 175
+ 175
+_ 175
+ 174
+ 171
+ 170
+_ 170
+... 168
+ 167
+ 166
+_ 164
+ 164
+ 163
+ 163
+ 162
+ 162
+_ 162
+_ 161
+ 160
+_ 159
+ 159
+ 157
+ 154
+ 154
+_ 154
+_ 154
+ 153
+ 153
+ 151
+ 151
+_ 151
+ 150
+ 150
+ 150
+. 149
+_ 149
+ 148
+ 148
+ 147
+ 147
+ţ 146
+_ 146
+_ 145
+._ 145
+ 144
+ 143
+ 142
+ 140
+ 140
+ 139
+ 139
+ 137
+ 136
+_ 136
+ 136
+_ 135
+. 135
+ 135
+' 135
+ţ 134
+_ 132
+ 131
+_ 131
+ 129
+'_ 129
+_ 129
+._ 128
+ 127
+.... 127
+ 127
+ 126
+ 125
+_ 124
+_ 123
+ 123
+ 122
+; 122
+_ 121
+_ 119
+ 118
+ 115
+ 114
+_ 114
+ 113
+ 113
+ 113
+b 113
+ 112
+_' 112
+s 111
+& 111
+ 111
+ 111
+ 111
+p 111
+ 111
+_ 110
+ 110
+bs 109
+ 109
+n 109
+ 109
+_ 108
+&n 107
+bsp; 107
+nbsp; 107
+sp; 107
+nb 107
+bsp 107
+nbs 107
+sp 107
+nbsp 107
+&nb 107
+&nbsp 107
+p; 107
+&nbs 107
+ 106
+_'_ 106
+ 106
+ 106
+ 106
+_ 105
+ 104
+ 104
+ 104
+ 104
+_ 103
+ 103
+ 103
+ 102
+ 101
+ 100
+ 99
+, 99
+_ 98
+,_ 98
+_ţ 98
+ 98
+_ 98
+_ 97
+;& 97
+_ 97
+ 97
+_ 96
+ 96
+ 96
+ 96
+ 96
+;&nb 95
+p;&nb 95
+;&n 95
+p;& 95
+;&nbs 95
+bsp;& 95
+..... 95
+_ 95
+sp;&n 95
+sp;& 95
+p;&n 95
+ 94
+_ 94
+ 94
+_ 94
+ 93
+ 93
+_ 93
+_ 93
+ 93
+_ 92
+ 92
+_ 92
+_ 92
+ 92
+_ 91
+ 91
+_ 90
+_ 90
+_ 90
+ 90
+ 90
+ 90
+ 89
+ 89
+ 89
+_ 89
+ 89
+ 89
+ 89
+ 89
+ 89
+_ 88
+ 88
+ 88
+_ 88
+_ 88
+ 87
+ 87
+ 87
+ 87
+_ 87
+ 87
+ 87
+ 86
+_ 86
+_ 85
+ 85
+ 85
+_ 85
+ 85
+_ 84
+ 84
+ 83
+ 83
+ 83
+ 83
+ 83
+_ 83
+_ 82
+_ 82
+_ 82
+_ 82
+ 82
+ 82
+_ 82
+_ 82
+_ 82
+_ 81
+ 81
+._ 80
+ 80
+_ 80
+. 80
+ 79
+_ 79
+_ 79
+ 79
diff --git a/test/user-template/user/fingerprint/middle_frisian.lm b/test/user-template/user/fingerprint/middle_frisian.lm
new file mode 100644
index 000000000000..17e4f149d122
--- /dev/null
+++ b/test/user-template/user/fingerprint/middle_frisian.lm
@@ -0,0 +1,400 @@
+_ 60524
+e 20138
+n 10664
+t 8674
+i 7833
+a 7549
+o 7278
+r 6963
+n_ 5391
+s 5087
+d 4731
+t_ 4327
+l 4306
+e_ 4271
+en 4068
+k 3483
+m 3346
+g 2990
+er 2965
+en_ 2835
+y 2597
+w 2481
+h 2475
+j 2441
+_d 2375
+r_ 2250
+u 2059
+s_ 1921
+ie 1780
+_h 1725
+z 1710
+de 1666
+_m 1652
+_w 1629
+_i 1611
+et 1550
+te 1540
+b 1538
+. 1517
+er_ 1481
+in 1420
+an 1408
+p 1392
+f 1311
+, 1280
+,_ 1273
+k_ 1266
+._ 1258
+y_ 1238
+_z 1230
+oe 1162
+v 1144
+et_ 1138
+ne 1131
+ee 1125
+st 1120
+_o 1107
+_s 1107
+_e 1076
+_n 1068
+_b 989
+_t 988
+l_ 983
+oo 981
+ge 975
+je 963
+_g 952
+at 949
+me 946
+ij 943
+is 913
+he 899
+' 892
+aa 882
+el 870
+_v 864
+re 843
+ar 837
+_de 805
+on 800
+ke 796
+de_ 788
+ei 782
+_a 776
+_' 770
+le 744
+at_ 742
+it 741
+_k 738
+or 734
+an_ 729
+in_ 723
+da 715
+te_ 703
+_he 680
+_l 664
+H 661
+al 652
+_H 652
+a_ 650
+_da 648
+D 648
+d_ 646
+_D 643
+es 617
+g_ 608
+is_ 606
+æ 596
+_f 594
+'t 591
+_'t 584
+'t_ 583
+_me 580
+c 576
+_'t_ 576
+ri 571
+_en 564
+yn 563
+_en_ 559
+ze 538
+m_ 535
+om 535
+ik 522
+_de_ 522
+ed 521
+be 517
+wi 509
+ch 509
+ol 498
+ar_ 498
+ha 496
+_ne 495
+we 494
+ou 486
+nd 474
+ma 474
+ik_ 470
+J 459
+_ik 456
+_ik_ 451
+_J 451
+ll 450
+M 446
+li 443
+wa 442
+_M 442
+ien 435
+ro 432
+di 421
+nn 418
+ste 415
+wo 415
+yn_ 415
+_r 413
+_ha 411
+it_ 409
+tt 408
+ve 407
+S 404
+_j 399
+_S 398
+_in 395
+as 395
+der 395
+hi 389
+_al 388
+uw 384
+tte 384
+ng 381
+_wi 381
+nne 381
+het 380
+_het 378
+lle 376
+nt 374
+ns 373
+op 373
+je_ 367
+E 366
+ek 363
+B 363
+dat 362
+_B 362
+_ma 362
+_in_ 361
+_dat 359
+_wo 359
+ier 358
+og 357
+_E 354
+_ge 352
+dat_ 349
+ne_ 349
+eer 349
+het_ 348
+_het_ 348
+_is 348
+_dat_ 348
+ey 347
+W 346
+_W 343
+_te 339
+eg 337
+ra 335
+rs 335
+! 332
+zi 332
+gt 329
+_He 327
+He 327
+_be 324
+j_ 320
+ij_ 320
+u_ 319
+f_ 317
+_di 316
+; 315
+_we 315
+_is_ 314
+rt 313
+!_ 313
+;_ 312
+n. 311
+p_ 310
+la 310
+_wa 310
+ea 308
+_u 308
+pe 304
+ta 304
+il 301
+my 300
+ig 300
+n, 300
+n,_ 298
+iet 297
+sc 297
+ter 296
+sch 296
+oor 295
+no 294
+_my 293
+n._ 291
+ti 290
+_zi 289
+st_ 288
+el_ 283
+gen 282
+se 280
+K 279
+_oo 278
+ui 278
+e, 275
+ten 274
+net 274
+oon 274
+ho 274
+jn 273
+e,_ 273
+ijn 272
+ien_ 272
+ko 272
+N 271
+ni 271
+_N 269
+den 269
+za 268
+_net 267
+i_ 266
+wol 266
+een 264
+va 264
+am 264
+do 263
+ol_ 262
+le_ 261
+_te_ 260
+rd 260
+ke_ 259
+ey_ 259
+ers 258
+_K 255
+_ie 255
+ver 254
+to 254
+_hi 253
+nde 253
+: 253
+der_ 252
+jo 251
+net_ 251
+al_ 250
+_wol 250
+_p 250
+_no 250
+aar 248
+_za 245
+_net_ 245
+nk 242
+est 241
+om_ 241
+_va 241
+ak 241
+tj 239
+ae 238
+_op 237
+mo 236
+tr 236
+_st 233
+ier_ 233
+_ve 233
+mm 232
+T 231
+eu 229
+_ze 228
+:_ 228
+mi 228
+ag 227
+zo 227
+_ko 226
+vo 225
+_T 225
+nne_ 225
+F 224
+.. 224
+fo 224
+_F 223
+en, 223
+oe_ 222
+wie 222
+en,_ 221
+kk 221
+_ien 220
+on_ 218
+wol_ 218
+_fo 218
+I 217
+_do 216
+eit 214
+ei_ 214
+mme 214
+G 213
+_I 213
+as_ 213
+or_ 211
+A 211
+_G 210
+_A 210
+lle_ 209
+Da 208
+_Da 207
+_wol_ 207
+ren 206
+_ee 206
+e. 205
+van 205
+jen 205
+een_ 205
+_van 204
+kke 204
+en. 204
+O 204
+_vo 204
+V 203
+_O 203
+_V 203
+ken 203
+_mo 203
+ot 202
+ie_ 201
+ou_ 201
+ur 201
+tte_ 200
+em 200
+_van_ 199
+L 199
+van_ 199
+_zo 199
+op_ 199
+_L 197
+iet_ 196
+of 194
+ten_ 194
+oer 193
+_ien_ 193
+e._ 193
+oed 192
+hie 192
+zy 191
+en._ 191
+De 191
+_ver 191
+_ho 189
+_De 189
+oa 189
+den_ 188
+_zy 188
+lo 187
+dan 187
+nt_ 186
diff --git a/test/user-template/user/fingerprint/mingo.lm b/test/user-template/user/fingerprint/mingo.lm
new file mode 100644
index 000000000000..4d1947a33345
--- /dev/null
+++ b/test/user-template/user/fingerprint/mingo.lm
@@ -0,0 +1,400 @@
+_ 3156
+' 991
+a 829
+t 788
+k 788
+n 752
+e 640
+h 602
+ë 551
+s 495
+w 466
+ö 422
+y 403
+u 397
+'_ 368
+_n 330
+i 269
+. 269
+._ 240
+e' 238
+ô 219
+a' 209
+ne 209
+e_ 194
+_ne 184
+wa 172
+_k 164
+kw 162
+á 154
+e'_ 146
+_t 145
+'t 141
+" 141
+ë' 134
+ê 132
+_h 131
+é 129
+ak 129
+ne_ 126
+ta 123
+_ne_ 123
+at 121
+u' 121
+hu 118
+_u 108
+ka 107
+í 106
+nö 105
+N 103
+ö' 100
+hs 95
+ha 95
+te 94
+ya 93
+_ë 92
+kh 90
+'k 86
+ú 85
+æ 84
+ni 84
+'. 84
+wë 83
+ny 83
+sh 80
+_N 80
+'._ 76
+ö_ 76
+kë 72
+_" 71
+ën 70
+th 69
+yu 66
+_w 66
+ëh 66
+t_ 66
+ô_ 66
+Ne 65
+Ne' 65
+'s 64
+ne' 64
+"_ 64
+_. 63
+_._ 61
+Ne'_ 61
+, 60
+ne'_ 58
+në 58
+kwa 57
+_ne' 57
+öt 57
+a't 57
+ek 56
+s_ 56
+ët 55
+i' 55
+_hu 54
+T 54
+ë_ 54
+_s 54
+_Ne 53
+të 53
+tö 53
+_Ne' 53
+_ne'_ 53
+ht 53
+- 53
+ts 52
+ya' 52
+ë'_ 51
+_wa 51
+_Ne'_ 51
+'ö 50
+íy 50
+_ka 50
+as 50
+ní 49
+un 49
+ê_ 49
+ty 48
+hu_ 48
+ke 48
+u_ 48
+,_ 47
+yô 46
+he 46
+ye 46
+kê 45
+si 45
+nô 44
+khu 44
+a'k 44
+_a 43
+ák 43
+wat 42
+'ë 42
+nö' 42
+wá 42
+aw 41
+an 41
+we 41
+ôt 41
+i_ 41
+_kh 41
+tak 41
+_te 41
+ik 41
+_khu 40
+ës 40
+yö 40
+k_ 39
+khu_ 39
+yu' 38
+hö 38
+wën 38
+n- 38
+ëhs 38
+_ha 38
+wa' 38
+_n- 37
+sa 37
+? 37
+_T 37
+æ' 37
+_un 36
+hô 36
+wé 36
+ah 36
+_khu_ 35
+iy 35
+ëk 35
+ut 35
+ök 35
+öh 35
+te' 35
+u'_ 35
+_kë 34
+yô_ 34
+ha' 34
+st 34
+ti 34
+ta' 34
+u't 33
+ya't 33
+'t_ 33
+'ö_ 33
+akw 33
+ôk 33
+níy 32
+'ta 32
+ku 32
+ui 32
+_sh 32
+aa 31
+én 31
+ay 31
+ënö 31
+â 30
+se 30
+tw 30
+yë 30
+(_ 29
+_(_ 29
+_)_ 29
+us 29
+_ëhs 29
+( 29
+kö 29
+_ëh 29
+ae 29
+hë 29
+_) 29
+)_ 29
+_( 29
+sy 29
+) 29
+ëë 28
+ôn 28
+sk 28
+tá 28
+té 28
+tk 28
+ên 28
+kê_ 28
+a_ 28
+án 27
+_huik 27
+ön 27
+_hui 27
+kwé 27
+huik 27
+ék 27
+hui 27
+uik 27
+_na 27
+na 27
+a'_ 26
+uikê 26
+_ni 26
+." 26
+ææ 26
+wi 26
+huikê 26
+ikê 26
+nya 25
+."_ 25
+?" 25
+të' 25
+íyu 25
+awë 25
+sn 25
+në_ 24
+ö'_ 24
+ikê_ 24
+ekh 24
+'ke 24
+uikê_ 24
+?"_ 24
+tek 24
+êt 24
+', 24
+"N 23
+_ta 23
+'a 23
+hk 23
+tê 23
+tsi 23
+wö 23
+yu'_ 23
+_"N 23
+íyu' 23
+níyu 23
+a'ta 23
+é' 23
+níyu' 23
+shô 22
+wëní 22
+kwa' 22
+ëní 22
+kwë 22
+_u' 22
+ey 22
+ëníyu 22
+K 22
+ai 22
+_shô 22
+úw 22
+aö 22
+ëht 22
+ëníy 22
+kwe 22
+wëníy 22
+_he 22
+_te' 21
+ún 21
+s. 21
+nöh 21
+ëö 21
+_ëk 21
+'sh 21
+kë' 21
+htö 21
+H 21
+ata 21
+U 20
+'h 20
+_ha' 20
+ææ' 20
+ae_ 20
+a'ke 20
+ény 20
+unö 20
+we' 20
+wë' 20
+i'_ 20
+kës 20
+ya'ta 19
+es 19
+awëní 19
+hô_ 19
+uk 19
+awën 19
+hw 19
+ë'. 19
+ô' 19
+tö' 19
+sé 19
+ë'ë 19
+ë'._ 19
+'ëë 19
+hkw 19
+-a 19
+twa 19
+'kw 18
+he_ 18
+_K 18
+nöt 18
+hsa 18
+hsi 18
+ôni 18
+aya 18
+is 18
+ëë' 18
+kæ 18
+skw 18
+uw 18
+',_ 18
+e't 18
+kææ 18
+ka' 18
+nae 17
+shô_ 17
+sat 17
+niy 17
+ëts 17
+ath 17
+ye' 17
+í_ 17
+'ëë' 17
+'u 17
+_ët 17
+ës_ 17
+_kës 17
+_y 17
+kak 17
+ö'ö 17
+kat 17
+_th 17
+'ë_ 17
+út 17
+u'k 17
+_H 17
+tekh 17
+s._ 17
+wê 17
+_nae 17
+kwá 17
+_shô_ 17
+yê 17
+öte 16
+sha 16
+ke_ 16
+k. 16
+si' 16
+hö' 16
+yá 16
+hta 16
+kn 16
+_nae_ 16
+hse 16
+ké 16
+ë'ë_ 16
+unë 16
+nya' 16
+nae_ 16
+nê 16
+á' 16
+ás 16
+tô 16
+a's 16
+a'u 16
diff --git a/test/user-template/user/fingerprint/mongolian_cyrillic.lm b/test/user-template/user/fingerprint/mongolian_cyrillic.lm
new file mode 100644
index 000000000000..7ac690c8ac2e
--- /dev/null
+++ b/test/user-template/user/fingerprint/mongolian_cyrillic.lm
@@ -0,0 +1,363 @@
+_ 77671
+о 60289
+г 57097
+ө 51540
+л 41421
+а 40332
+р 35484
+х 31764
+н 31695
+д 30802
+э 29381
+и 28336
+ү 26898
+й 25901
+у 21671
+т 21639
+с 21118
+ч 19759
+оо 12185
+м 12159
+өө 11964
+ц 11468
+гү 10443
+үй 10090
+чи 9604
+н_ 9584
+гүй 9529
+в 9133
+_х 8958
+й_ 8712
+ор 8462
+з 8134
+г_ 8106
+ий 8078
+өр 7638
+б 7524
+ол 7372
+ээ 6997
+_т 6942
+уу 6908
+их 6787
+йг 6584
+ог 6380
+го 6337
+чих 6301
+өл 6221
+_о 6219
+д_ 6092
+_ө 6085
+үү 5978
+р_ 5841
+гө 5674
+ш 5656
+өг 5647
+_б 5547
+аа 5471
+он 5259
+_з 5115
+гэ 5047
+нг 5025
+хө 4840
+хо 4806
+ж 4794
+ар 4704
+л_ 4687
+до 4578
+ал 4489
+йн 4345
+е 4326
+өн 4232
+э_ 4191
+дө 4122
+лг 4089
+то 4085
+ан 4062
+чх 4039
+а_ 3970
+о_ 3935
+үйг 3903
+ул 3888
+гүйг 3887
+га 3756
+_с 3746
+_ц 3600
+ээ_ 3567
+гээ 3545
+аг 3529
+гч 3515
+со 3502
+ы 3455
+цг 3441
+ө_ 3396
+лд 3389
+ха 3367
+ла 3290
+оо_ 3290
+ло 3281
+ги 3278
+с_ 3252
+х_ 3249
+ийн 3227
+эр 3212
+ро 3204
+_д 3176
+_м 3157
+өө_ 3138
+рч 3048
+йгэ 3033
+йн_ 3031
+йгээ 3027
+сө 3006
+үл 2995
+үйгэ 2931
+үйгээ 2931
+гүйгэ 2929
+та 2922
+үй_ 2876
+йг_ 2861
+_г 2851
+гүй_ 2831
+тэ 2816
+ай 2795
+гоо 2759
+да 2724
+уул 2723
+рд 2687
+ос 2650
+аа_ 2642
+гөө 2602
+рг 2598
+эг 2567
+эй 2566
+гий 2547
+эл 2546
+_ш 2543
+дг 2513
+рө 2478
+ли 2469
+лө 2462
+_а 2461
+ох 2455
+эй_ 2448
+к 2440
+ийг 2425
+тө 2423
+ур 2418
+үүл 2406
+оро 2401
+_хо 2378
+өх 2370
+лч 2367
+_хө 2359
+од 2253
+өс 2252
+ра 2246
+_то 2227
+_н 2215
+лэ 2177
+т_ 2162
+лц 2141
+өрө 2123
+онг 2044
+өөр 2037
+ийн_ 2022
+_ор 2015
+са 2014
+зо 1998
+хг 1989
+_өр 1989
+ин 1981
+нх 1972
+ов 1970
+я 1960
+гд 1959
+дог 1959
+хгү 1951
+хгүй 1948
+цо 1931
+ма 1925
+үр 1920
+лт 1919
+өнг 1896
+нд 1895
+дөг 1882
+ил 1878
+оол 1876
+оор 1871
+уд 1867
+ийг_ 1864
+ба 1859
+на 1852
+_у 1850
+мо 1818
+зө 1816
+өөл 1813
+хи 1810
+өд 1804
+мө 1794
+хд 1790
+өв 1772
+_ү 1767
+эн 1758
+в_ 1757
+дэ 1757
+сон 1745
+_зо 1734
+_тө 1728
+цө 1726
+тэй 1722
+но 1719
+ам 1716
+эр_ 1707
+оос 1697
+ц_ 1696
+ав 1681
+дч 1680
+дчи 1668
+_зө 1665
+өөс 1645
+нгү 1634
+сөн 1631
+дчих 1631
+тэй_ 1623
+хөө 1610
+йл 1600
+ээр 1583
+рл 1572
+гу 1569
+хэ 1565
+рчи 1555
+эс 1543
+ши 1514
+жи 1503
+ь 1492
+гээ_ 1481
+_ха 1478
+гийн 1477
+ихд 1476
+цго 1474
+_цо 1470
+оог 1470
+цгоо 1466
+өөг 1465
+чихд 1464
+хоо 1463
+ри 1457
+ан_ 1447
+ай_ 1440
+ой 1438
+ни 1428
+ээр_ 1427
+лий 1417
+нгүй 1410
+үд 1402
+цгө 1402
+цгөө 1400
+_цө 1396
+ын 1383
+_ба 1378
+гг 1372
+оч 1372
+ггү 1368
+ггүй 1368
+өгч 1353
+ом 1350
+иг 1335
+огч 1320
+нө 1313
+ууд 1312
+хс 1300
+сэ 1298
+йд 1296
+ар_ 1289
+рэ 1288
+ас 1287
+ад 1282
+ч_ 1280
+ж_ 1278
+аг_ 1271
+өч 1269
+_э 1268
+сн 1268
+ху 1267
+роо 1266
+ыг 1260
+ыг_ 1253
+лгү 1251
+гт 1249
+эс_ 1246
+_ол 1238
+чд 1230
+рөө 1223
+бу 1220
+йнх 1203
+ээс 1203
+ын_ 1201
+бо 1196
+ид 1194
+ийнх 1188
+гчи 1184
+ороо 1181
+рс 1179
+ат 1174
+осо 1170
+ихс 1168
+дги 1166
+дгий 1166
+чихс 1158
+ах 1155
+ээс_ 1154
+ту 1153
+уг 1152
+лгүй 1150
+_бу 1139
+тү 1129
+_өл 1129
+өрч 1124
+цоо 1121
+лз 1119
+нго 1119
+гц 1110
+өрөө 1100
+йгээ_ 1098
+нэ 1096
+ор_ 1094
+онго 1090
+за 1089
+оло 1087
+от 1085
+лчи 1079
+ал_ 1066
+өлг 1066
+гээр 1063
+олг 1062
+хү 1060
+цөө 1059
+тл 1054
+_ху 1054
+_мө 1052
+чхө 1050
+он_ 1047
+үүд 1046
+гээр_ 1046
+лу 1040
+аар 1036
+п 1026
+рх 1025
+рчих 1024
+лс 1021
+йгээр 1020
+гчд 1019
+эв 1016
+вл 1014
+лчх 1014
+орд 1013
+орч 1013
+ихг 1012
+ихгү 1012
+ихгүй 1012
+йт 1010
+нгө 1008
+йд_ 1005
+өнгө 1004
diff --git a/test/user-template/user/fingerprint/nepali.lm b/test/user-template/user/fingerprint/nepali.lm
new file mode 100644
index 000000000000..5d3507646f93
--- /dev/null
+++ b/test/user-template/user/fingerprint/nepali.lm
@@ -0,0 +1,400 @@
+_ 7044
+f 2698
+] 1196
+g 933
+s 815
+l 781
+/ 698
+; 662
+k 645
+d 635
+]_ 630
+f_ 611
+sf 549
+f] 541
+n 526
+t 460
+o 412
+j 399
+f]_ 374
+L 365
+_; 364
+x 356
+_k 353
+{ 337
+b 323
+u 321
+' 303
+df 299
+sf] 290
+_l 283
+sf]_ 265
+g] 245
+G 232
+e 231
+| 227
+a 222
+/_ 222
+L_ 211
+_g 210
+c 207
+df_ 207
+{_ 207
+_c 201
+g_ 201
+kf 184
+f/ 177
+_u 171
+/f 168
+P 163
+_/ 162
+k| 161
+_s 161
+} 159
++ 158
+h 151
+fn 150
+n] 145
+of 141
+tf 140
+: 136
+p 136
+t_ 134
+. 133
+_k| 133
+._ 133
+_e 131
+_d 131
+_f 129
+_._ 127
+_. 127
+n]_ 123
+;f 119
+lj 118
+O 118
+? 118
+q 118
+nf 118
+y 116
+_a 113
+m 111
+Ps 110
+r 110
+fg 106
+w 105
+sf_ 103
+lg 102
+g]_ 100
+gf 94
+_g] 91
+Psf 90
+x? 89
+fd 88
+fO 88
+_lj 85
+]s 85
+z 85
+s_ 84
+_p 82
+_sf 80
+D 79
+kl 78
+_;f 78
+f/_ 77
+cf 77
+}_ 76
+Psf] 76
+jf 76
+, 75
+fl 75
+\ 75
+_x 74
+kfn 74
+f{ 74
+_/f 74
+]k 73
+of] 73
+,_ 72
+v 72
+lt 72
+_cf 72
+_b 71
+O{ 70
+i 69
+xf 68
+]kf 68
+_/_ 68
+Psf]_ 68
+_h 67
+g]kfn 67
+g]k 67
+d_ 67
+g]kf 67
+O{_ 67
+]kfn 67
+_g]k 66
+g' 66
+_g]kf 66
+o_ 64
+" 64
+;b 63
+Gq 63
+f+ 63
+n_ 63
+fk 62
+sf/ 62
+/L 62
+_kl 62
+I 61
+T 61
+/s 61
+If 61
+dG 60
+_j 60
+]sf 60
+;_ 59
+u_ 59
+yf 59
+dGq 58
+fO{ 58
+af 57
+eP 57
+fs 57
+fO{_ 57
+fj 56
+f; 56
+qL 56
+l/ 55
+\_ 55
+;D 54
+dGqL 54
+GqL 54
+;+ 53
+g\ 53
+/sf 52
+nfO 51
+_kf 51
+ug 51
+pg 51
+:t 51
+fp 50
+_ug 50
+u/ 50
+lg_ 49
+ePs 49
+fdf 48
+cl 48
+nfO{_ 48
+nfO{ 48
+;/ 48
+_cl 47
+F 47
+'/ 47
+g\_ 47
+_r 47
+fo 47
+_eP 47
+]{ 46
+Z 46
+/L_ 46
+_f_ 45
+ePsf 45
+gd 45
+_;D 45
+if 45
+Gb 44
+lb 44
+Q 44
+_n 44
+fsf 44
+]sf] 43
++; 43
+nL 43
+lx 43
+_t 43
+_: 42
++;b 42
+_o 42
+fdf_ 42
+bf 42
+hf 42
+_lg 42
+ePsf] 41
+j_ 41
+ln 41
+ef 41
+/] 41
+_df 41
+To 40
+klg_ 40
+_klg_ 40
+]sf]_ 40
+klg 40
+_klg 40
+_u/ 40
+f{_ 40
+_ePs 40
+'g 40
+Gg 39
+:y 39
+_g\ 39
+f} 39
+kf_ 39
+:tf 38
+]{_ 38
+fpg 38
+b' 38
+hg 38
+g]{ 38
+jZ 38
+_;+ 37
+gs 37
+wf 37
+o{ 37
+GqL_ 37
+l_ 37
+qL_ 37
+dGqL_ 37
+gf_ 37
+]; 37
+_ePsf 36
+x' 36
+?_ 36
+! 36
+fx 35
+u| 34
+;d 34
+_lb 34
+fn_ 34
+_P 34
+fg_ 34
+= 34
+bn 34
+Zj 34
+o; 34
+g]{_ 34
+_g\_ 34
+kIf 33
+dl 33
+kI 33
+ljZj 33
+jZj 33
+rf 33
++u 33
+]d 33
+ljZ 33
+nL_ 32
+f+; 32
+fnL 32
+gL 32
+;/sf 32
+tf_ 32
+wfg 32
+_;/ 32
+Qm 32
+fb 32
+f;_ 32
+ld 32
+;/sf/ 32
+/sf/ 32
+_x' 32
+;/s 32
+;f+ 32
+_;f+ 32
+fu 32
+x?_ 32
+;f+; 31
+_k|:t 31
+s' 31
+_kI 31
+_k|: 31
+of]_ 31
+_kIf 31
+_;f+; 31
+]l 31
+k|: 31
+bg 31
+_;/s 31
+|: 31
+f+;b 31
+_;/sf 31
+|:t 31
+|] 31
+k|:t 31
+m_ 31
+;f+;b 31
+Jo 30
+k|wf 30
+|w 30
+|wf 30
+k|w 30
+km 30
+J 30
+k|wfg 30
+|wfg 30
+]t 30
+@ 30
+;f] 30
+b_ 29
+> 29
+kfn_ 29
+fn] 29
+gsf 29
+sf+ 29
+Zjf 29
+]kfn_ 29
+jif 29
+ji 29
+jf; 29
+_k|w 29
+fgd 29
+_k|wf 29
+Zjf; 29
+ljZjf 28
+jZjf; 28
+]n 28
+_z 28
+_s' 28
+_dG 28
+|]; 28
+_;d 28
+jZjf 28
+u|] 27
+gdGq 27
+gdG 27
+?n 27
+x'g 27
+|wfgd 27
+wfgd 27
+gdGqL 27
++u|] 27
+f+u 27
+fgdG 27
+u|]; 27
++u|]; 27
+wfgdG 27
+dfg 27
+a} 27
+_dGq 27
+f+u| 27
+fgdGq 27
+sf+u| 27
+_sf+u 27
+f+u|] 27
++u| 27
+sf+u 27
+_sf+ 27
+x?n 27
+S 26
+_To 26
+]kfnL 26
+_! 26
+_T 26
+ul 26
+/f] 26
+fsf] 26
+af_ 26
+;s 26
+kfnL 26
+|:tf 26
+k|:tf 26
diff --git a/test/user-template/user/fingerprint/norwegian.lm b/test/user-template/user/fingerprint/norwegian.lm
new file mode 100644
index 000000000000..f2c3cec3aae3
--- /dev/null
+++ b/test/user-template/user/fingerprint/norwegian.lm
@@ -0,0 +1,400 @@
+_ 22970
+e 6833
+n 4206
+r 3516
+t 3112
+a 2587
+s 2440
+i 2112
+l 1901
+o 1900
+n_ 1875
+r_ 1761
+k 1713
+g 1630
+en 1615
+m 1508
+e_ 1450
+d 1444
+er 1436
+h 1306
+t_ 1300
+_h 1180
+_s 1148
+er_ 1105
+v 982
+en_ 976
+an 919
+. 901
+._ 791
+_. 781
+et 770
+g_ 762
+_._ 726
+å 725
+u 719
+f 709
+p 702
+ha 682
+_ha 672
+de 657
+te 651
+_e 621
+et_ 614
+re 581
+ne 565
+_o 554
+an_ 544
+ke 534
+_, 522
+,_ 522
+, 522
+_,_ 522
+_f 519
+_m 515
+or 503
+_d 483
+_i 480
+å_ 479
+se 476
+m_ 469
+nn 454
+b 449
+me 441
+ø 434
+_a 413
+st 404
+_t 398
+og 380
+_v 377
+_og 366
+ar 364
+el 364
+le 361
+i_ 356
+om 353
+og_ 351
+_og_ 351
+li 350
+_k 346
+_de 339
+ge 339
+han 337
+y 333
+_han 332
+ve 330
+kk 323
+in 311
+_b 307
+fo 301
+j 301
+il 298
+_H 291
+H 291
+han_ 288
+_han_ 288
+for 287
+ik 281
+l_ 278
+kke 277
+tt 276
+ti 270
+ne_ 270
+d_ 269
+ed 269
+om_ 268
+nne 266
+_me 264
+ng 257
+_er 257
+_fo 256
+eg 256
+_se 256
+_g 256
+un 255
+ig 255
+sk 253
+_er_ 252
+_p 252
+_for 250
+ke_ 249
+_n 238
+_l 233
+al 232
+ør 222
+s_ 221
+ar_ 215
+at 214
+_en 211
+he 211
+pe 209
+_i_ 208
+am 200
+es 200
+si 200
+enn 197
+det 195
+or_ 193
+vi 190
+ns 189
+ikk 188
+det_ 185
+so 185
+un_ 183
+il_ 181
+nd 181
+te_ 181
+"_ 180
+" 180
+_"_ 180
+_" 180
+em 179
+_ti 176
+kke_ 176
+lig 174
+ten 174
+Ha 173
+_Ha 173
+re_ 172
+ikke 168
+je 165
+Han 165
+ter 165
+_Han 165
+eg_ 164
+på 164
+_på 163
+_si 163
+_å 163
+_Han_ 162
+Han_ 162
+på_ 162
+_på_ 161
+til 160
+som 160
+_so 159
+den 159
+_det 157
+ed_ 155
+ll 155
+_ik 155
+rt 155
+som_ 153
+ra 152
+a_ 152
+har 152
+nt 152
+de_ 152
+tr 151
+v_ 151
+_har 151
+ka 151
+ig_ 150
+_som 150
+for_ 150
+_som_ 150
+_en_ 149
+hu 149
+_ikk 148
+_ham 148
+ham 148
+ste 148
+_det_ 148
+_ikke 148
+enne 148
+ikke_ 148
+har_ 147
+nge 147
+D 147
+_har_ 147
+_D 147
+am_ 147
+ere 147
+ham_ 146
+_ham_ 146
+it 145
+_he 144
+_til 144
+av 143
+va 140
+men 140
+år 140
+_ve 140
+_hu 139
+ta 139
+pen 137
+sp 137
+_st 135
+tte 135
+la 135
+_E 133
+E 133
+den_ 130
+is 130
+til_ 128
+_r 128
+tt_ 128
+år_ 127
+k_ 124
+_å_ 124
+ri 124
+_til_ 124
+at_ 123
+ene 123
+seg 123
+_av 123
+med 122
+_vi 122
+_seg 122
+seg_ 121
+_seg_ 121
+_for_ 120
+nne_ 120
+ut 120
+_u 119
+mm 119
+mme 119
+De 118
+_De 118
+_at 118
+_hun 117
+hun 117
+ko 117
+be 116
+_at_ 115
+ter_ 115
+pen_ 114
+ker 113
+hun_ 113
+_hun_ 113
+on 111
+lig_ 111
+.. 110
+hen 107
+_med 107
+rs 106
+ser 106
+med_ 105
+_men 104
+_hen 104
+_sk 104
+_med_ 104
+ak 103
+ans 103
+ker_ 102
+av_ 101
+_ka 101
+no 100
+ver 100
+ler 99
+J 99
+spe 99
+ten_ 99
+_J 99
+ene_ 98
+ld 98
+hv 98
+_av_ 98
+ger 97
+ni 96
+gen 96
+ie 95
+ser_ 94
+_et 94
+spen 94
+_hv 94
+men_ 93
+Espe 92
+Es 92
+_Esp 92
+_Es 92
+_Espe 92
+Esp 92
+_al 92
+Espen 92
+lle 89
+rem 89
+id 89
+fø 89
+ei 88
+inn 88
+rd 88
+enne_ 88
+_henn 87
+henne 87
+henn 87
+kt 86
+spen_ 86
+_om 86
+ler_ 86
+da 86
+ett 86
+itt 86
+bl 85
+to 85
+_Je 84
+ger_ 84
+Je 84
+æ 84
+ma 83
+ing 83
+ær 83
+ns_ 83
+eli 82
+ang 82
+_be 82
+så 82
+_den 82
+pp 81
+rk 81
+dr 81
+oe 81
+ss 81
+_fø 80
+ek 80
+le_ 79
+_no 79
+kj 78
+elig 78
+nes 78
+nn_ 77
+nk 77
+fr 77
+sl 77
+my 77
+kan 77
+så_ 76
+as 76
+_om_ 76
+_kan 75
+_ko 75
+_bl 73
+Hu 73
+nen 73
+_Hu 73
+eng 73
+gj 73
+rt_ 72
+ge_ 72
+ba 72
+lv 71
+rer 71
+nde 71
+ls 70
+lo 70
+ga 70
+_noe 70
+ro 70
+_den_ 70
+_ut 70
+noe 70
+Hun 69
+Hun_ 69
+_in 69
+_Hun 69
+_Hun_ 69
+ren 68
+øre 68
+ør_ 68
+sen 68
+sa 67
diff --git a/test/user-template/user/fingerprint/persian.lm b/test/user-template/user/fingerprint/persian.lm
new file mode 100644
index 000000000000..858f468ae54a
--- /dev/null
+++ b/test/user-template/user/fingerprint/persian.lm
@@ -0,0 +1,400 @@
+_ 12318
+? 5938
+¤ 2613
+?_ 1815
+¢ 1745
+þ 1569
+ø 1546
+õ 1422
+- 1333
+÷ 1155
+ù 991
+¨ 841
+_ù 778
+ö 761
+î 693
+ü 664
+_ö 663
+ª 660
+¤? 631
+õ_ 624
+_? 601
+?¤ 598
+¥ 589
+_¤ 565
+?? 564
+ý 513
+¢_ 486
+_ü 473
+_ý 469
+þ? 459
+û 428
+ø_ 427
+_¢ 398
+î_ 392
+ó 390
+ê 384
+ö? 379
+÷? 361
+_ø 337
+_- 334
+> 327
+ú 324
+_ö? 319
+ù? 313
+_ø_ 308
+ð 305
+¤¢ 303
+¤_ 297
+?õ 290
+¨? 285
+¢÷ 272
+-_ 271
+S 266
+_ù? 265
+ô 259
+-¨ 255
+¡ 255
+??_ 255
+ý? 254
+¥? 250
+Y 246
+¤¢_ 245
+ì 243
+_ý? 238
+?¢ 234
+_¥ 229
+ò 229
+_S 228
+¤ø 216
+ø¤ 215
+?þ 215
+?¨ 214
+_¤¢ 214
+ñ 208
+þ?_ 207
+¢¤ 203
+?- 202
+_ô 199
+ù?_ 199
+öþ 195
+¨_ 190
+¨?_ 190
+_?? 189
+õ? 188
+. 188
+_¤¢_ 185
+_ñ 183
+?ø 181
+_öþ 180
+¢? 177
+* 176
+÷_ 176
+_ù?_ 174
+?û 173
+¤þ 172
+ª_ 170
+þõ 164
+ä 161
+¯ 158
+-¨? 156
+û_ 155
+¤?_ 155
+_¥? 152
+üõ 151
+ý¤ 150
+_¤? 146
+¥?_ 144
+þ¤ 143
+¢ø 141
+?¤_ 140
+*_ 138
+ü÷ 137
+?÷ 136
+¬ 133
+ùî 132
+_ý¤ 131
+-ª 131
+ø? 130
+?ú 129
+_. 129
+þó 129
+¡_ 128
+ù¢ 124
+¤õ 121
+¤- 120
+ùî_ 120
+_ùî 120
+_??_ 119
+ª? 119
+-¨?_ 119
+ã 118
+-? 118
+>_ 116
+öþ? 114
+ê_ 111
+¢þ 109
+_¥?_ 109
+_ü÷ 109
+_ùî_ 108
+_öþ? 107
+ö?¤ 107
+© 106
+_¢÷ 106
+.¢ 104
+?¥ 103
+_?¤ 103
+¤ê 103
+ó? 103
+þ¢ 103
+ñ? 102
+ªî 100
+?î 100
+?¤? 98
+ð_ 98
+ý?û 96
+¤ú 95
+öþ?_ 95
+_© 94
+§ 94
+Y_ 94
+_ö?¤ 93
+_ý?û 93
+¥ø 92
+øª 91
+_ñ? 91
+_öþ?_ 91
+?¨_ 90
+÷?_ 90
+óþ 90
+õ?_ 90
+ü- 90
+øõ 89
+: 89
+ªî_ 88
+ü÷? 88
+öø 88
+_ù¢ 87
+-ê 86
+þ÷ 85
+_öø 83
+, 82
+þõ_ 82
+þ¨ 82
+?¢_ 80
+® 80
+?¤þ 79
+_ü÷? 79
+¢ª 77
+??? 77
+øþ 76
+_-? 75
+֔ 75
+?ª 75
+?ì 75
+¤î 74
+_¤ø 73
+ä_ 73
+þóþ 73
+û? 73
+óþõ 72
+þóþõ 71
+ù¤ 71
+?> 71
+ê? 70
+_?¤_ 70
+_.¢ 70
+ø¡ 69
+à 69
+_§ 68
+¥ø¤ 68
+þóþõ_ 67
+_ü- 67
+¤øª 67
+óþõ_ 67
+õû 67
+¤ê_ 67
+¨õ 67
+¤õ_ 66
+?-_ 65
+ù÷ 65
+ý?¤ 65
+öøþ 64
+¤þ? 64
+¬_ 64
+?ð 63
+?-¨ 63
+ø- 63
+_ý?¤ 62
+ø?_ 62
+ø¤_ 62
+_-¨ 61
+õþ 61
+øþóþõ 60
+øþóþ 60
+øþó 60
+?ù 60
+øªî 60
+_¢ø 60
+¤øªî 60
+_öøþ 60
+-ª? 60
+ì_ 60
+¨¤ 60
+ý¤? 60
+÷þ 59
+öøþóþ 59
+¯? 59
+_¢? 59
+öøþó 59
+¢ª_ 59
+¤?? 58
+¤?¥ 58
+_üõ 58
+.- 58
+?¡ 58
+ø÷ 57
+í 57
+¢¤î 57
+?¤?_ 57
+þ?¤ 57
+ù- 57
+üõ_ 56
+ñ?¨ 56
+øõ_ 56
+?¤þ? 56
+ú? 56
+î¤ 56
+¤?¢ 56
+õû_ 55
+ô? 55
+ª?¢ 55
+_öøþó 55
+-ª?¢ 55
+þ_ 55
+ö?¤þ 55
+¤î_ 55
+S¤ 55
+üþ 54
+_S¤ 53
+øªî_ 53
+_ù¤ 53
+ò¢ 53
+¤ò 53
+¤øªî_ 53
+ø¡_ 52
+¢÷? 52
+û¤ 52
+üþ? 52
+õ> 52
+-õ 52
+¢¤? 52
+üð 52
+ì? 52
+_í 52
+î? 52
+üó 52
+??¤ 52
+ð÷ 51
+¤ò¢ 51
+-þ 51
+_ý¤? 51
+¡? 50
+_¢¤ 50
+¢¤î_ 50
+.-¨ 50
+ö?õ 50
+ë 50
+_ô? 50
+ø¢ 50
+_ñ?¨ 49
+.¢÷ 49
+÷¤ 49
+ý?¤? 49
+ú- 48
+_üð 48
+_ö?¤þ 48
+¤þ?_ 48
+ò¢_ 48
+ûù 48
+ú?_ 48
+¤ò¢_ 47
+ê¤ 47
+â 47
+.-¨? 47
+_¢þ 47
+>÷ 47
+úª 47
+÷?õ 47
+£ 47
+?¤þ?_ 47
+?ûù 47
+¤¯ 46
+_.- 46
+_ý?¤? 46
+õ¤ 46
+õó 46
+-¤ 46
+_üþ 46
+¥þ 46
+¤ð 45
+ôþ 45
+_üó 45
+ö?- 45
+§þ 45
+_ë 45
+f 45
+õ- 44
+_ù- 44
+úõ 44
+_üþ? 44
+ü-ª 44
+-î 44
+ð¢ 44
+ö?¤þ? 44
+õª 44
+.-¨?_ 44
+¨õ_ 44
+¤ª 44
+_-¨? 44
+¤?î 43
+ä? 43
+é 43
+?õ_ 43
+_¤øªî 43
+þª 43
+?ê 43
+?î_ 43
+_¤øª 43
+¯_ 43
+¤¨ 43
+þ?? 42
+Y? 42
+¥_ 42
+÷÷ 42
+÷õ 42
+_¥ø 42
+þ¨? 42
+¢õ 42
+/ 42
+_â 42
+???_ 42
+_¥ø¤ 42
+_ù÷ 42
+s 42
+¢÷÷ 42
+ö?-¨ 41
+÷ø 41
+ù÷? 41
+?* 41
+S¤ò¢ 41
+_ö?õ 41
+ñþ 41
+_.-¨ 41
+îþ 41
+÷¢ 41
+ùõ 41
+S¤ò 41
+ªø 41
+ý?¤?_ 40
+¤úª 40
diff --git a/test/user-template/user/fingerprint/polish.lm b/test/user-template/user/fingerprint/polish.lm
new file mode 100644
index 000000000000..eac3b27eca6a
--- /dev/null
+++ b/test/user-template/user/fingerprint/polish.lm
@@ -0,0 +1,400 @@
+_ 31480
+a 7945
+i 7766
+e 7462
+o 6838
+z 5104
+n 5077
+r 4178
+w 4139
+s 3596
+c 3580
+y 3569
+t 3381
+d 3027
+k 2819
+p 2639
+m 2494
+ie 2484
+u 2016
+l 1947
+j 1932
+ni 1930
+e_ 1746
+_p 1712
+³ 1649
+a_ 1496
+o_ 1431
+, 1368
+,_ 1366
+b 1296
+_w 1257
+g 1249
+i_ 1140
+. 1118
+_s 1045
+ze 1041
+._ 1035
+_n 997
+nie 958
+cz 956
+rz 952
+h 950
+_z 933
+ê 918
+ow 911
+ie_ 902
+y_ 899
+na 885
+ch 871
+po 864
+pr 863
+wi 851
+st 847
+¿ 835
+± 832
+an 814
+ó 800
+ra 778
+zy 766
+ia 726
+za 718
+_t 699
+wa 692
+ro 692
+_d 683
+_pr 675
+¶ 661
+w_ 658
+sz 652
+_po 649
+_o 628
+m_ 613
+li 613
+dz 611
+ki 611
+en 609
+mi 593
+ta 571
+ci 564
+ej 562
+nie_ 558
+_m 553
+_k 549
+ar 543
+go 541
+_i 540
+em 532
+od 525
+yc 520
+a³ 511
+rze 508
+do 504
+eg 503
+ko 502
+ac 482
+to 478
+_na 467
+_ni 467
+h_ 466
+ch_ 466
+æ 465
+iê 461
+_b 458
+on 458
+u_ 458
+zi 454
+ka 450
+er 448
+sk 447
+si 447
+wy 444
+te 437
+ak 434
+ê_ 431
+_j 429
+je 429
+z_ 427
+ny 422
+aw 422
+ne 420
+ów 418
+_w_ 415
+_c 414
+ego 412
+prz 412
+_r 410
+al 407
+³a 405
+" 405
+re 405
+es 401
+_nie 396
+dzi 394
+ty 389
+j_ 380
+ic 380
+_prz 379
+ad 367
+ej_ 364
+le 359
+æ_ 358
+ed 354
+ych 346
+_za 346
+_do 344
+zn 344
+go_ 344
+ani 343
+_i_ 342
+no 339
+or 337
+³o 336
+tr 334
+P 330
+os 329
+am 329
+da 328
+ec 327
+ol 325
+±_ 325
+by 322
+ego_ 321
+at 321
+¿e 319
+ym 317
+wie 314
+³_ 312
+- 310
+na_ 309
+_si 303
+W 301
+as 301
+wo 300
+pa 299
+siê 295
+nia 293
+owa 292
+o¶ 286
+_P 283
+el 282
+_siê 279
+ja 278
+rzy 276
+prze 276
+_wy 275
+iê_ 269
+in 267
+_- 267
+de 267
+kie 267
+dn 264
+ob 262
+_u 261
+ych_ 260
+-_ 258
+ez 257
+_-_ 256
+¶c 255
+ws 255
+¶ci 254
+em_ 253
+_siê_ 253
+siê_ 253
+_nie_ 253
+kt 252
+ski 252
+we 251
+_g 251
+_W 250
+t_ 249
+_prze 249
+_je 248
+aj 247
+_a 247
+¿e_ 246
+_¿ 244
+ia_ 243
+eni 241
+om 240
+la 240
+k_ 235
+mo 235
+f 234
+pi 232
+is 231
+cze 231
+_z_ 230
+ñ 228
+nt 227
+ce 224
+sta 221
+ry 220
+ma 219
+cj 219
+zie 218
+ek 216
+oc 213
+dy 212
+owi 208
+sp 208
+K 208
+tó 205
+_" 204
+ud 203
+S 202
+ier 202
+pra 202
+czn 201
+ys 200
+nia_ 199
+j± 198
+_¿e 196
+oz 194
+N 192
+zo 191
+dzie 190
+ku 190
+ów_ 189
+czy 189
+_mi 188
+_¿e_ 187
+mie 186
+do_ 186
+iej 185
+ym_ 185
+_do_ 184
+cy 184
+_pa 183
+y³ 182
+_na_ 181
+zy_ 181
+ew 180
+_l 180
+_cz 178
+_by 178
+ru 177
+to_ 175
+±c 175
+_wi 175
+ln 174
+_K 171
+ok 170
+ot 170
+raw 169
+nych 168
+nyc 168
+az 168
+ik 167
+bi 167
+i,_ 166
+i, 166
+_te 165
+tu 163
+wan 163
+et 162
+J 162
+ór 161
+cie 160
+_od 160
+ba 160
+oj 159
+o¶c 158
+i³ 158
+_ro 158
+og 158
+mu 158
+A 158
+o¶ci 158
+d_ 157
+tw 156
+io 155
+gr 155
+_J 155
+_N 155
+_to 155
+us 155
+¿_ 154
+aæ 154
+ach 154
+yd 153
+_kt 153
+_ko 152
+_st 152
+pow 151
+yt 150
+kr 149
+_S 149
+a³_ 149
+ak_ 149
+li_ 148
+T 148
+ur 148
+sa 148
+op 147
+yw 147
+ent 147
+bo 146
+_sp 145
+O 145
+a,_ 144
+a, 144
+iem 144
+któ 143
+praw 143
+wn 142
+tór 142
+i± 141
+³y 141
+zu 141
+dni 140
+im 139
+icz 139
+ró 139
+³e 138
+któr 137
+my 137
+est 136
+awi 135
+przy 134
+nych_ 134
+e,_ 132
+e, 132
+ki_ 132
+pro 131
+_któ 131
+_któr 131
+_przy 130
+_ja 129
+szy 127
+ia³ 127
+Po 127
+ania 127
+M 126
+ze_ 125
+ne_ 125
+ñs 124
+_ty 124
+sze 124
+a¿ 124
+nn 124
+pod 124
+aæ_ 122
+B 122
+za_ 122
+cza 122
+³o_ 122
+Z 122
+_to_ 121
+iu 120
+zc 119
+esz 119
+skie 118
+i. 118
+_ka 117
+so 117
+trz 117
+o¿ 116
+ieg 116
+nik 116
+ga 116
diff --git a/test/user-template/user/fingerprint/portuguese.lm b/test/user-template/user/fingerprint/portuguese.lm
new file mode 100644
index 000000000000..4e1a5d7698e4
--- /dev/null
+++ b/test/user-template/user/fingerprint/portuguese.lm
@@ -0,0 +1,400 @@
+_ 35328
+a 10423
+e 10132
+o 8919
+s 6795
+r 6033
+i 5443
+n 4588
+d 4531
+t 4217
+m 3476
+u 3404
+o_ 3240
+a_ 3029
+e_ 2879
+c 2756
+s_ 2461
+_d 2379
+l 2307
+p 2242
+_a 1753
+de 1751
+, 1660
+,_ 1658
+_e 1454
+es 1447
+os 1412
+ra 1343
+_p 1328
+nt 1302
+_de 1248
+do 1215
+en 1176
+re 1150
+as 1123
+v 1115
+m_ 1113
+de_ 1096
+er 1082
+g 1053
+_c 1047
+da 1008
+co 986
+os_ 975
+te 974
+ar 950
+or 943
+q 938
+qu 938
+_s 908
+ta 902
+_de_ 901
+_o 858
+se 841
+ue 831
+to 799
+ad 777
+. 761
+que 752
+em 751
+an 748
+f 746
+r_ 745
+b 732
+st 718
+is 716
+al 712
+_qu 706
+_q 706
+in 701
+as_ 696
+ã 695
+do_ 685
+ent 678
+ão 677
+_n 671
+_co 660
+_a_ 654
+_m 646
+on 645
+ç 624
+ri 623
+_que 619
+ma 602
+po 581
+ia 580
+ão_ 575
+._ 573
+na 572
+me 564
+ro 554
+_t 544
+pa 533
+da_ 528
+h 523
+ue_ 515
+ca 511
+que_ 509
+nte 503
+no 499
+tr 498
+am 496
+em_ 491
+_que_ 487
+_se 485
+om 471
+io 460
+_do 459
+ti 448
+ci 445
+_da 444
+nd 442
+ei 435
+ra_ 435
+pr 427
+_r 423
+_e_ 420
+_f 420
+ss 412
+es_ 412
+el 407
+id 406
+_o_ 399
+_pa 390
+um 379
+pe 378
+_po 376
+la 374
+ir 371
+á 371
+ic 362
+di 362
+li 359
+é 359
+_re 353
+ve 353
+mo 350
+s, 349
+s,_ 349
+ou 347
+com 340
+sa 338
+si 338
+men 337
+rt 331
+_i 330
+con 330
+o, 327
+_da_ 326
+o,_ 326
+se_ 325
+_com 325
+ado 323
+to_ 322
+ai 322
+it 320
+A 319
+ec 316
+dos 316
+_em 312
+ção 310
+aç 310
+çã 310
+ara 305
+so 299
+tu 299
+res 297
+im 296
+_pr 295
+mi 293
+ua 292
+nto 291
+ment 290
+í 290
+par 288
+_do_ 287
+ce 286
+est 286
+u_ 284
+ente 284
+S 278
+l_ 278
+_u 278
+" 276
+ni 276
+z 274
+sta 273
+nc 272
+_em_ 270
+P 269
+ção_ 267
+_v 267
+at 267
+dos_ 266
+_es 262
+« 259
+_« 259
+te_ 258
+» 257
+va 255
+le 252
+ur 252
+_um 252
+vi 251
+_par 250
+a, 247
+a,_ 247
+_con 247
+ant 242
+lo 240
+ia_ 240
+gu 237
+ar_ 235
+ac 235
+e,_ 234
+e, 234
+no_ 232
+eg 232
+il 232
+ns 232
+er_ 231
+_ma 230
+por 230
+_in 228
+_l 226
+ó 225
+ont 224
+_no 223
+_P 222
+tra 220
+E 219
+ida 218
+is_ 217
+ol 216
+açã 215
+ter 215
+ação 215
+_A 211
+un 211
+- 210
+_te 210
+or_ 209
+ma_ 208
+_pe 208
+ara_ 208
+C 206
+ist 202
+para 202
+nta 201
+ais 201
+ut 198
+nte_ 198
+j 197
+dad 196
+_na 195
+am_ 195
+ade 193
+ica 191
+x 190
+al_ 189
+O 188
+des 187
+_para 187
+ada 187
+nh 186
+_se_ 186
+mp 185
+ndo 184
+R 183
+_por 181
+ação_ 181
+para_ 179
+eir 177
+ui 177
+vo 177
+ou_ 177
+ta_ 177
+M 176
+ria 175
+tos 175
+rr 174
+D 174
+io_ 174
+br 174
+_di 173
+õ 173
+õe 173
+fo 173
+I 172
+ões 172
+_C 171
+mo_ 171
+ov 170
+pro 169
+_os_ 169
+_os 169
+das 167
+iv 166
+uma 165
+gr 165
+su 164
+fi 164
+um_ 162
+na_ 162
+ga 162
+ais_ 161
+_S 161
+lh 159
+ort 159
+cia 158
+.. 157
+_est 156
+cont 156
+ig 155
+á_ 154
+ran 154
+ça 154
+om_ 153
+_en 152
+dade 152
+_as 152
+ho 152
+ntr 151
+nto_ 151
+fe 150
+N 149
+das_ 149
+uma_ 149
+ess 149
+é_ 148
+ndo_ 147
+ob 147
+»_ 147
+ul 146
+ente_ 146
+go 146
+ento 144
+ver 144
+_des 144
+gi 144
+ha 142
+cu 142
+idad 142
+av 141
+ões_ 141
+_pro 141
+ura 141
+ap 139
+_com_ 139
+_ca 139
+com_ 139
+ao 139
+ne 138
+od 138
+_" 137
+_M 137
+pre 137
+ras 136
+_me 136
+_ao 136
+_no_ 134
+oc 134
+str 133
+tes 133
+_b 133
+and 133
+_g 133
+ro_ 133
+omo 133
+_dos 132
+_fo 132
+_dos_ 132
+rn 132
+mento 131
+ito 131
+ev 131
+rio 130
+ass 130
+eu 130
+be 128
+os, 128
+os,_ 128
+sp 127
+_uma 127
+ep 126
+tad 125
+s. 125
+_uma_ 125
+_E 125
+idade 124
+_um_ 124
+nã 124
+não 124
+ct 123
+ram 123
+ado_ 123
+ela 123
+omo_ 121
+iz 121
+_an 121
diff --git a/test/user-template/user/fingerprint/quechua.lm b/test/user-template/user/fingerprint/quechua.lm
new file mode 100644
index 000000000000..e59992d781b3
--- /dev/null
+++ b/test/user-template/user/fingerprint/quechua.lm
@@ -0,0 +1,400 @@
+_ 5766
+a 4900
+n 1941
+i 1666
+u 1384
+s 1032
+t 995
+y 939
+h 929
+k 915
+q 909
+p 882
+a_ 847
+an 821
+r 783
+m 740
+c 705
+l 695
+ta 637
+ch 613
+ay 587
+qa 557
+pa 490
+ha 486
+e 474
+ma 457
+o 441
+na 434
+ku 411
+j 409
+un 367
+w 358
+in 353
+, 345
+,_ 344
+cha 318
+ar 317
+n_ 315
+as 291
+wa 289
+ta_ 269
+ll 259
+man 255
+_k 248
+._ 243
+. 243
+nt 227
+am 224
+pi 222
+la 222
+ka 217
+ac 214
+ni 214
+at 213
+aq 213
+i_ 208
+ri 207
+qa_ 204
+una 204
+y_ 192
+aj 192
+_p 192
+is 188
+_m 181
+lla 175
+ach 174
+rq 173
+us 172
+an_ 171
+_ka 171
+ata 169
+rqa 165
+sq 163
+hu 162
+sp 161
+_w 157
+nk 157
+hay 157
+_s 156
+sqa 155
+ki 153
+kun 152
+_c 152
+al 150
+nta 149
+ap 147
+ant 146
+yk 146
+ay_ 144
+spa 141
+hi 137
+_ch 136
+_n 136
+ya 135
+' 134
+j_ 133
+uy 132
+ra 132
+a,_ 132
+a, 132
+ti 130
+_a 125
+nc 125
+kuna 122
+s_ 121
+su 121
+ak 121
+_ma 118
+ana 118
+ari 115
+_t 114
+ama 114
+chi 114
+ñ 113
+a._ 111
+a. 111
+nch 111
+iy 111
+all 110
+aw 110
+_r 110
+anta 109
+ayk 109
+na_ 109
+chay 108
+sa 104
+_wa 104
+si 103
+chu 102
+pa_ 101
+acha 101
+_cha 101
+pi_ 101
+qan 100
+_pa 99
+_q 97
+aj_ 97
+awa 97
+ank 95
+nku 95
+im 94
+q_ 92
+uk 92
+C 92
+mu 90
+tu 89
+J 89
+_ni 88
+taj 87
+_J 87
+nin 86
+_chay 86
+u_ 86
+_C 84
+wan 83
+nta_ 81
+_j 81
+mant 80
+ut 79
+in_ 79
+ik 79
+manta 79
+asq 79
+yt 78
+n, 78
+asqa 78
+n,_ 78
+pay 78
+li 77
+yn 77
+nq 76
+yta 76
+ic 76
+up 76
+_Ch 75
+yku 75
+Ch 75
+he 75
+hay_ 74
+nan 74
+ina 74
+ur 73
+er 72
+S 72
+arq 72
+or 72
+_l 71
+_u 71
+aq_ 70
+os 70
+yp 70
+anc 69
+man_ 69
+mi 69
+ich 68
+_i 68
+st 67
+_S 67
+arqa 66
+it 66
+anch 66
+ru 66
+aku 65
+pu 65
+ña 65
+alla 64
+mp 64
+sqa_ 64
+'a 64
+ayku 63
+es 63
+A 63
+ia 63
+_man 63
+_Cha 61
+Cha 61
+taj_ 60
+api 60
+_ll 60
+wi 60
+ayp 60
+aman 59
+g 58
+anku 58
+yki 57
+ima 57
+yni 57
+oj 57
+mana 57
+anta_ 57
+_su 57
+uc 56
+isp 56
+ispa 56
+uch 56
+M 56
+ir 56
+_h 55
+nqa 55
+kuy 55
+ayt 54
+_M 54
+b 54
+_y 53
+_mana 53
+: 53
+uku 53
+:_ 53
+nm 53
+au 52
+ayta 52
+io 52
+qo 51
+an,_ 51
+apa 51
+spa_ 51
+erq 51
+_wi 51
+erqa 51
+_sa 51
+an, 51
+el 50
+um 50
+ana_ 50
+han 50
+il 50
+on 49
+chay_ 49
+sta 49
+_D 49
+D 49
+iku 49
+aqa 49
+che 48
+en 48
+yta_ 48
+Ma 47
+P 47
+_lla 47
+_Je 47
+yq 47
+Je 47
+ita 47
+rqan 47
+ypi 46
+har 46
+Jes 46
+_Jes 46
+ios 46
+ayq 46
+Dio 46
+un_ 46
+kus 46
+_Dio 46
+taq 46
+_Dios 46
+_Ma 46
+_Di 46
+Dios 46
+Di 46
+d 46
+kan 45
+Chay 45
+oq 45
+_Chay 45
+_pay 45
+upa 45
+mun 45
+ata_ 44
+_tu 44
+nis 44
+re 44
+paq 44
+yo 44
+ej 44
+qay 43
+ncha 43
+ha_ 43
+_A 43
+I 43
+_kan 43
+_nis 43
+_P 43
+nman 43
+nma 43
+ataj 42
+ara 42
+ku_ 42
+nata 42
+nat 42
+i, 41
+tin 41
+qh 41
+t' 41
+orq 41
+nki 41
+_ru 41
+_ku 41
+i,_ 41
+ip 40
+ham 40
+usq 40
+_ya 40
+qank 39
+orqa 39
+ayn 39
+mana_ 39
+ray 39
+ym 39
+uma 39
+_pu 39
+par 39
+kay 39
+n. 38
+qa,_ 38
+n._ 38
+sus 38
+aypi 38
+usqa 38
+qanku 38
+ill 38
+qa, 38
+was 38
+pa, 38
+pa,_ 38
+asp 38
+qa._ 37
+_mu 37
+paj 37
+amp 37
+hin 37
+uti 37
+rin 37
+_im 37
+_ima 37
+ja 37
+_ri 37
+rqa_ 37
+taq_ 37
+qa. 37
+sh 36
+spa,_ 36
+cha_ 36
+spa, 36
+achi 36
+una_ 36
+rqank 36
+jt 36
+K 36
+amu 36
+aspa 35
+_Jesu 35
+Jesus 35
+nispa 35
+ki_ 35
+waw 35
+ko 35
+ne 35
+esus 35
+int 35
diff --git a/test/user-template/user/fingerprint/romanian.lm b/test/user-template/user/fingerprint/romanian.lm
new file mode 100644
index 000000000000..65b8e7554d8e
--- /dev/null
+++ b/test/user-template/user/fingerprint/romanian.lm
@@ -0,0 +1,400 @@
+_ 20674
+a 6376
+e 5815
+i 5746
+t 3396
+r 3280
+n 3103
+u 2835
+s 2611
+c 2582
+e_ 2235
+l 2224
+o 2149
+a_ 1974
+d 1629
+m 1528
+p 1410
+i_ 1358
+in 1308
+_c 1167
+_s 1118
+_d 999
+re 905
+ar 898
+, 791
+,_ 786
+_p 785
+de 771
+_a 754
+te 687
+_i 667
+at 654
+ti 645
+ca 639
+n_ 630
+ta 617
+si 614
+_de 609
+f 606
+st 583
+ri 581
+u_ 567
+nt 553
+. 542
+ra 540
+_m 534
+g 528
+v 516
+ul 516
+de_ 513
+_in 503
+b 492
+_de_ 474
+._ 472
+le 459
+l_ 444
+un 443
+_si 440
+es 437
+tr 426
+ea 420
+t_ 412
+ce 412
+ma 407
+cu 402
+er 398
+_ca 397
+si_ 388
+_f 387
+_l 383
+z 382
+la 381
+ne 370
+sa 364
+as 360
+_e 357
+in_ 356
+an 352
+it 351
+te_ 346
+or 345
+el 345
+ci 339
+_si_ 333
+_n 330
+are 324
+pe 319
+re_ 317
+al 310
+_t 309
+se 304
+ic 295
+ie 290
+_u 290
+ul_ 290
+ni 289
+int 285
+_o 280
+en 279
+ta_ 279
+ur 261
+pa 256
+co 255
+_pe 254
+ia 252
+mi 251
+pr 249
+_ma 249
+oa 249
+me 246
+lu 246
+li 241
+im 238
+_in_ 237
+da 237
+na 237
+_sa 235
+ac 234
+- 234
+ii 232
+est 231
+r_ 231
+h 230
+_cu 230
+le_ 229
+ai 229
+ca_ 227
+il 226
+ru 223
+sc 223
+_v 221
+nu 220
+tu 220
+_un 220
+nd 220
+di 219
+are_ 216
+to 215
+am 214
+on 213
+o_ 208
+is 208
+sa_ 203
+la_ 200
+_b 200
+ste 195
+et 194
+ec 191
+_r 186
+car 185
+ui 180
+un_ 179
+lo 178
+cu_ 177
+ei 176
+e, 175
+e,_ 175
+pe_ 171
+m_ 167
+_la 166
+a, 165
+a,_ 164
+_ce 164
+rt 163
+_co 163
+ent 162
+ro 162
+ele 162
+_pe_ 160
+po 160
+ea_ 159
+" 158
+ntr 158
+_cu_ 158
+_pr 157
+ut 157
+nc 156
+ata 155
+care 154
+um 153
+au 151
+va 151
+_o_ 150
+_car 150
+ii_ 145
+ind 145
+_un_ 144
+os 144
+ad 141
+_la_ 140
+I 140
+este 138
+ste_ 138
+care_ 138
+ir 137
+ga 136
+ap 136
+ol 136
+ra_ 136
+_di 134
+D 134
+_care 133
+se_ 133
+om 133
+ara 133
+ati 133
+fi 133
+_sa_ 131
+zi 130
+vi 130
+_ca_ 129
+_se 128
+_nu 128
+ai_ 127
+ch 127
+pi 124
+ve 123
+fa 122
+ot 121
+_a_ 120
+este_ 120
+du 119
+ine 119
+s_ 118
+fo 118
+_ci 118
+ui_ 118
+ba 118
+i, 117
+i,_ 116
+ne_ 115
+us 115
+_g 115
+a. 115
+fe 114
+A 114
+pu 114
+ce_ 113
+ar_ 113
+_pa 113
+oc 112
+sta 112
+lui 112
+ns 112
+em 112
+' 112
+oar 112
+din 111
+iu 111
+_int 111
+ate 111
+mu 111
+hi 110
+ele_ 110
+mp 109
+_D 109
+S 109
+sti 108
+bi 108
+ata_ 107
+ti_ 107
+tra 107
+C 107
+c_ 106
+tre 106
+_al 105
+rea 105
+mai 105
+j 104
+a._ 104
+gi 104
+e. 103
+d_ 103
+_fa 103
+E 102
+mo 102
+at_ 101
+_e_ 101
+nte 101
+lt 101
+sp 101
+za 100
+mai_ 100
+su 99
+na_ 98
+tat 97
+sin 97
+ez 96
+tru 96
+e._ 96
+ie_ 96
+ia_ 96
+_re 96
+tul 96
+_fo 96
+ina 95
+art 95
+_C 95
+no 95
+nu_ 94
+_es 94
+_po 94
+cr 94
+inc 93
+_da 92
+_mai 92
+lui_ 92
+_din 92
+_est 92
+pre 91
+_mai_ 91
+io 91
+chi 91
+ge 90
+pri 90
+eu 90
+uri 90
+az 90
+_nu_ 89
+_me 89
+ct 89
+au_ 88
+esc 88
+ev 88
+ei_ 88
+min 87
+ace 87
+op 86
+ng 86
+ici 86
+_lu 85
+ari 85
+_mi 84
+ita 84
+_S 84
+_tr 84
+ere 83
+or_ 83
+ast 83
+ist 83
+nt_ 83
+_se_ 82
+ou 82
+tin 82
+intr 82
+con 82
+do 81
+_fi 81
+str 81
+am_ 80
+rat 80
+ru_ 80
+ri_ 80
+par 80
+oi 80
+uc 79
+ze 79
+pl 79
+res 78
+_ac 77
+ulu 77
+din_ 76
+va_ 76
+ada 76
+ului 75
+_con 75
+id 75
+inte 74
+ile 73
+cit 73
+_din_ 73
+lor 73
+_" 72
+ig 72
+rin 72
+da_ 72
+_st 72
+-_ 71
+_- 71
+it_ 71
+ani 71
+nd_ 71
+ci_ 70
+ag 70
+eri 70
+i. 70
+tru_ 70
+_ne 70
+rm 70
+P 69
+_este 69
+nta 69
+bu 69
+une 69
+ma_ 69
+nti 69
+imp 68
+_-_ 68
+iv 68
+ind_ 68
diff --git a/test/user-template/user/fingerprint/romansh.lm b/test/user-template/user/fingerprint/romansh.lm
new file mode 100644
index 000000000000..e65969ca34fa
--- /dev/null
+++ b/test/user-template/user/fingerprint/romansh.lm
@@ -0,0 +1,400 @@
+_ 10888
+a 3490
+e 2268
+i 2196
+s 2169
+n 1961
+t 1555
+r 1510
+l 1281
+u 1249
+a_ 1155
+c 1060
+d 954
+o 815
+s_ 744
+g 726
+m 686
+h 620
+p 617
+n_ 559
+v 493
+_s 480
+er 476
+ch 469
+_d 457
+in 455
+da 418
+_c 404
+r_ 388
+_e 377
+. 358
+_p 340
+as 333
+l_ 328
+, 327
+._ 320
+_i 320
+,_ 315
+la 313
+en 312
+sc 310
+an 301
+ta 300
+_da 285
+f 282
+_t 268
+_a 262
+nt 259
+_m 252
+un 248
+ra 247
+i_ 247
+na 245
+ma 245
+ia 241
+ar 234
+sch 228
+b 228
+da_ 217
+es 214
+ai 213
+st 212
+' 209
+e_ 208
+as_ 208
+er_ 200
+t_ 199
+re 199
+_l 195
+al 193
+_n 193
+el 192
+tg 192
+te 188
+z 187
+ha 180
+_f 180
+sa 174
+_da_ 172
+ve 169
+ei 168
+_v 165
+at 165
+ss 161
+is 161
+_ch 161
+on 160
+la_ 158
+cu 158
+ad 158
+he 156
+in_ 147
+va 147
+_in 146
+gl 145
+ns 141
+ur 140
+ü 140
+u_ 138
+ts 138
+pe 136
+li 134
+gi 133
+et 133
+de 132
+ig 132
+or 130
+ti 129
+il 127
+d_ 126
+che 123
+ut 122
+us 122
+cha 121
+di 120
+ia_ 120
+_b 118
+_la 117
+na_ 116
+ain 115
+per 115
+to 115
+_cu 113
+_sc 112
+se 111
+ls 109
+- 108
+iu 108
+ca 107
+si 104
+ir 102
+rt 102
+ie 102
+_g 102
+un_ 102
+nd 101
+av 101
+ni 100
+q 99
+au 97
+ls_ 97
+ll 96
+qu 96
+_pe 96
+le 96
+rs 95
+pa 95
+ri 95
+_ma 94
+_per 93
+am 93
+eg 92
+_r 92
+gn 92
+me 92
+pi 91
+an_ 91
+en_ 91
+ga 91
+ent 90
+hi 90
+_e_ 90
+it 89
+ta_ 88
+ter 87
+ns_ 86
+iv 86
+igl 86
+a. 85
+em 85
+I 85
+chi 84
+_en 84
+int 84
+ue 83
+su 82
+tt 82
+a, 82
+a,_ 82
+o_ 82
+_ve 82
+a._ 82
+_q 81
+_qu 80
+ge 80
+" 80
+_la_ 80
+ar_ 80
+vi 79
+gl_ 79
+tu 78
+ng 78
+ro 76
+mi 76
+sta 75
+ed 75
+lla 74
+ei_ 73
+_o 73
+ic 73
+el_ 73
+_il 73
+_in_ 72
+g_ 72
+pr 71
+nu 70
+ina 70
+_h 69
+scha 68
+mai 68
+pl 68
+il_ 68
+os 68
+ha_ 68
+be 67
+uo 67
+cun 67
+ra_ 67
+_pa 65
+ts_ 64
+s. 64
+co 64
+_u 64
+fi 64
+_I 63
+sa_ 63
+s._ 63
+_re 62
+ün 62
+_nu 62
+? 62
+S 62
+_se 61
+no 61
+nt_ 61
+E 61
+tr 61
+mp 60
+igl_ 60
+_su 60
+_st 60
+ess 60
+im 60
+zi 59
+?_ 59
+nc 59
+_E 58
+_- 58
+_cun 58
+_te 58
+_sa 58
+ant 58
+main 58
+eu 57
+ssa 57
+-_ 57
+iun 57
+_-_ 57
+aint 56
+op 56
+al_ 56
+dal 56
+j 56
+ama 55
+_tg 55
+ua 55
+M 55
+per_ 55
+tsc 54
+nta 54
+tsch 54
+um 54
+fa 54
+za 54
+_di 54
+pia 54
+_per_ 54
+T 54
+_M 53
+ne 53
+era 53
+A 53
+que 53
+_dal 53
+cr 53
+_de 53
+lla_ 53
+_che 52
+h' 52
+_me 51
+ot 51
+_pr 51
+_pl 51
+_sch 51
+ch' 50
+_S 50
+opi 50
+ou 50
+tta 50
+mo 50
+ada 50
+ba 50
+_an 49
+top 49
+id 49
+è 49
+he_ 49
+C 49
+va_ 49
+uto 49
+ins 48
+topi 48
+L 48
+ir_ 48
+ist 48
+c_ 48
+_il_ 48
+P 48
+ss_ 48
+ag 47
+_no 47
+res 47
+las 47
+_vi 46
+s, 46
+schi 46
+_en_ 46
+tg_ 46
+s,_ 46
+_si 46
+_que 45
+_T 45
+az 45
+'i 45
+cun_ 44
+_fa 44
+_mi 44
+utop 44
+utopi 44
+sche 44
+_C 44
+ur_ 44
+tge 44
+po 44
+es_ 44
+x 44
+nz 44
+_L 44
+_cun_ 44
+man 44
+_ch' 43
+_fi 43
+pu 43
+ell 43
+opia 43
+_igl 43
+_ig 43
+sp 43
+topia 43
+ava 42
+egn 42
+che_ 42
+on_ 42
+ci 42
+_P 42
+ev 42
+ond 41
+_" 41
+à 41
+us_ 41
+_ha 41
+D 40
+_co 40
+etg 40
+'e 40
+las_ 40
+est 40
+ura 40
+uel 39
+ed_ 39
+vo 39
+gia 39
+bu 39
+mu 39
+nn 39
+gli 39
+_A 39
+lu 39
+cha_ 39
+ul 38
+mal 38
+_ün 38
+ina_ 38
+_bu 38
+_ca 38
+_ü 38
+uc 38
+nts 38
+tra 38
+_tu 37
diff --git a/test/user-template/user/fingerprint/russian.lm b/test/user-template/user/fingerprint/russian.lm
new file mode 100644
index 000000000000..bddb68514275
--- /dev/null
+++ b/test/user-template/user/fingerprint/russian.lm
@@ -0,0 +1,400 @@
+_ 76249
+о 19732
+е 16714
+а 14389
+и 13942
+т 13160
+н 12444
+с 9867
+р 8461
+в 7895
+л 7330
+к 6498
+м 5935
+. 5725
+у 5287
+д 5019
+п 4877
+я 4083
+, 3899
+,_ 3878
+ы 3656
+ь 3376
+и_ 3167
+_п 3144
+е_ 3135
+о_ 3098
+- 3019
+з 2983
+_в 2952
+._ 2930
+_с 2919
+ч 2887
+г 2876
+б 2797
+ст 2672
+_н 2631
+то 2585
+.. 2407
+_и 2316
+но 2300
+-_ 2294
+й 2281
+а_ 2249
+на 2057
+я_ 2029
+ов 1981
+ни 1950
+_т 1944
+х 1874
+ен 1856
+_о 1774
+... 1744
+ра 1709
+не 1685
+по 1636
+_- 1625
+ко 1616
+те 1595
+ро 1584
+_к 1558
+_-_ 1531
+й_ 1521
+ет 1518
+ж 1509
+_и_ 1454
+та 1433
+ан 1419
+ер 1396
+от 1389
+ь_ 1381
+го 1375
+ал 1370
+_по 1364
+ре 1345
+ка 1338
+пр 1337
+ва 1329
+ти 1306
+ли 1300
+_д 1297
+_м 1290
+ес 1284
+во 1271
+че 1256
+ор 1245
+.... 1232
+ть 1219
+ос 1212
+ш 1192
+ю 1187
+в_ 1168
+..... 1167
+он 1147
+ак 1144
+ц 1109
+ог 1101
+ло 1099
+т_ 1093
+ри 1076
+м_ 1074
+_пр 1063
+ол 1062
+ль 1045
+_не 1034
+ел 1029
+_б 1026
+ин 1000
+од 998
+ом 996
+ме 993
+ы_ 975
+ве 968
+ск 968
+_на 966
+де 946
+ны 943
+_р 931
+_ч 923
+ат 913
+ем 910
+у_ 907
+за 898
+х_ 898
+ле 889
+то_ 881
+ит 878
+ой 875
+се 862
+_в_ 833
+_з 816
+ки 816
+тр 807
+" 786
+ть_ 769
+ед 767
+не_ 762
+ся 754
+ла 748
+об 747
+мо 741
+да 730
+го_ 715
+к_ 713
+ис 711
+_у 702
+ой_ 697
+ил 694
+ма 692
+нн 687
+до 662
+ас 660
+ам 656
+ия 649
+же 646
+аз 638
+со 629
+на_ 619
+_г 615
+ми 612
+_а 610
+э 609
+вс 608
+.._ 605
+вы 604
+ого 604
+им 604
+_ко 600
+ав 597
+сл 594
+ие 593
+_не_ 589
+_е 587
+_те 583
+ту 583
+ич 583
+ру 575
+ост 571
+щ 571
+л_ 570
+_э 569
+_я 559
+А 556
+ени 544
+из 540
+ек 536
+ова 533
+ф 525
+: 519
+В 513
+ани 511
+_вс 510
+ий 510
+Н 508
+_ка 508
+! 503
+? 501
+ди 498
+ли_ 489
+П 488
+про 486
+_ра 485
+си 484
+ир 484
+_ст 484
+ьн 484
+льн 484
+:_ 484
+ся_ 480
+_за 477
+бо 470
+_л 469
+..._ 465
+бы 464
+их 464
+И 462
+ег 461
+тв 459
+ния 458
+ят 454
+чт 454
+эт 445
+чес 442
+_то 442
+ия_ 441
+ик 440
+ви 437
+ак_ 436
+ста 436
+ого_ 435
+_В 434
+иче 433
+ци 431
+что 431
+ых 429
+_эт 429
+С 425
+_чт 424
+_А 424
+ю_ 423
+пе 422
+ня 422
+_что 422
+ля 419
+все 418
+ду 418
+еск 415
+нт 413
+как 411
+сто 411
+_вы 409
+ну 408
+тс 406
+н_ 406
+_П 401
+М 401
+но_ 399
+_про 398
+_. 397
+ров 396
+це 396
+кт 394
+ест 394
+_" 393
+ше 393
+с_ 392
+_от 392
+О 391
+_на_ 391
+ред 391
+ческ 390
+о- 390
+ван 388
+а, 385
+ад 384
+ая 384
+_я_ 383
+а,_ 383
+ты 383
+?_ 383
+_об 380
+_все 380
+_та 378
+_как 376
+хо 375
+так 375
+аль 374
+ож 373
+ых_ 372
+ово 372
+ив 371
+_во 369
+му 369
+_Н 369
+ей 368
+пре 368
+зн 366
+ичес 365
+пи 365
+его 362
+_со 360
+ое 360
+!_ 360
+ать 360
+сти 358
+их_ 358
+тн 358
+мен 358
+тся 356
+ие_ 356
+ическ 354
+бе 352
+_бы 352
+стр 349
+ку 349
+_мо 348
+ет_ 348
+Т 346
+_ме 344
+ев 344
+при 343
+чи 342
+мн 341
+ния_ 339
+ар 338
+нно 337
+ован 334
+кс 334
+ур 328
+_че 328
+оль 328
+ут 327
+что_ 324
+ом_ 323
+оп 323
+рм 322
+А_ 322
+_что_ 322
+это 322
+оч 321
+о,_ 320
+о, 320
+ско 319
+кон 319
+лов 318
+ый 318
+ус 317
+от_ 316
+иро 315
+ств 314
+и, 314
+ий_ 313
+сс 313
+и,_ 313
+том 312
+ае 312
+енн 311
+ез 311
+ной 311
+_это 310
+К 309
+са 309
+раз 309
+еп 309
+_до 308
+оло 308
+сть 308
+уд 307
+дел 307
+_И 305
+аб 305
+сь 303
+альн 302
+ок 300
+ски 300
+ных 300
+_при 298
+ча 297
+_ж 297
+е, 297
+е,_ 297
+_А_ 296
+_ни 296
+_._ 295
+тся_ 295
+ии 294
+зна 293
+я, 292
+я,_ 292
+_пре 291
+_С 290
+ной_ 290
+ая_ 288
+_О 288
+али 286
+же_ 285
+сп 285
+ист 285
+ных_ 285
+з_ 283
+_М 283
diff --git a/test/user-template/user/fingerprint/sanskrit.lm b/test/user-template/user/fingerprint/sanskrit.lm
new file mode 100644
index 000000000000..e21b8712111d
--- /dev/null
+++ b/test/user-template/user/fingerprint/sanskrit.lm
@@ -0,0 +1,400 @@
+a 15017
+_ 14975
+h 5028
+i 3820
+t 2976
+s 2788
+r 2599
+| 2437
+n 2432
+aa 2276
+ha 2007
+m 1982
+a_ 1802
+v 1799
+d 1768
+u 1629
+y 1599
+_| 1470
+|_ 1470
+e 1403
+k 1371
+sh 1330
+ra 1243
+p 1213
+va 1152
+A 1134
+ya 1120
+ma 1097
+na 1091
+ar 1080
+ta 1054
+M 1050
+. 1047
+am 1037
+an 1006
+|| 967
+||_ 965
+_|| 965
+_||_ 963
+at 962
+M_ 946
+as 910
+_s 882
+o 848
+b 844
+i_ 827
+aM 764
+aM_ 685
+c 630
+ch 629
+sa 623
+N 616
+ad 612
+H 601
+pa 595
+H_ 584
+g 580
+_n 579
+l 554
+bh 552
+hi 547
+ka 542
+it 536
+ii 535
+ama 519
+_|_ 505
+e_ 477
+_p 475
+dh 475
+av 469
+ak 445
+aH 444
+da 440
+aH_ 439
+ay 437
+j 437
+_na 432
+ana 430
+hh 428
+ti 426
+ara 425
+aa_ 410
+_k 394
+shh 389
+_v 388
+_sa 381
+.h 379
+ah 369
+_b 368
+h_ 363
+.h_ 363
+cha 362
+haa 361
+_t 358
+ri 352
+sha 345
+ap 333
+vi 330
+is 329
+^ 321
+o_ 321
+_m 320
+ai 311
+_d 311
+la 302
+na_ 301
+.n 298
+ava 295
+al 294
+_sh 291
+ja 288
+a. 280
+aan 277
+ish 274
+aN 273
+aya 273
+ash 266
+ha_ 265
+ga 264
+st 255
+ni 255
+ii_ 254
+hu 253
+Na 253
+R 248
+R^ 248
+^i 247
+R^i 247
+a.n 243
+th 241
+_c 240
+_ch 239
+maa 238
+bha 237
+vaa 233
+ab 228
+ir 226
+\ 226
+ita 223
+uu 222
+dha 220
+har 218
+_a 216
+_bh 216
+nam 212
+u_ 212
+he 212
+m.h_ 211
+m. 211
+m.h 211
+ur 210
+es 209
+ata 208
+te 206
+yaa 205
+_ma 204
+esh 202
+aka 200
+id 199
+pr 199
+aha 198
+hy 198
+T 197
+aat 197
+_OM_ 196
+OM 196
+_O 196
+_OM 196
+OM_ 196
+O 196
+ti_ 195
+ari 194
+raa 193
+ag 192
+_y 192
+aas 190
+_ta 190
+_j 189
+I 189
+_na_ 187
+am.h_ 185
+am.h 185
+am. 185
+_pa 183
+iv 182
+de 182
+ada 178
+nd 178
+_cha 177
+_h 176
+ati 175
+taa 173
+ev 172
+nt 171
+rii 171
+ishh 170
+ya_ 168
+_vi 166
+ast 165
+tr 164
+abh 164
+kh 162
+ala 160
+tha 160
+apa 160
+asa 158
+naa 158
+_nam 156
+ru 156
+A_ 155
+_ka 154
+aar 153
+_pr 152
+_g 151
+pra 150
+ham 150
+hha 149
+aana 149
+di 149
+ra_ 147
+ik 146
+.a 144
+yat 143
+ks 143
+hA 143
+hya 143
+ksh 143
+ut 142
+sy 141
+nama 140
+_va 140
+.\ 140
+paa 140
+han 139
+eva 138
+U 138
+mi 138
+_r 136
+_ja 136
+asy 135
+hr 135
+sya 134
+cha_ 132
+rv 132
+tv 130
+asya 130
+kar 130
+ho 129
+yo 129
+in 128
+adh 127
+yA 127
+va_ 126
+su 125
+_ya 125
+shha 124
+pu 124
+R^it 123
+sta 123
+mu 123
+^it 123
+ty 123
+_nama 121
+ac 120
+rii_ 120
+ach 120
+aNa 119
+tas 119
+shi 119
+iva 119
+hav 119
+tra 118
+var 118
+par 118
+haM 117
+aad 117
+kaa 117
+hch 117
+mas 117
+ai_ 117
+hc 117
+sar 116
+aam 116
+_bha 115
+_pra 114
+et 114
+haM_ 113
+aay 113
+aj 113
+ye 113
+o. 113
+An 111
+arii 111
+t.h 110
+t. 110
+ath 110
+t.h_ 109
+man 109
+te_ 108
+o.a 108
+hara 108
+rA 108
+rva 108
+tva 108
+asta 108
+up 108
+shr 107
+daa 104
+me 104
+dr 104
+ram 104
+arii_ 102
+_ni 102
+arv 102
+iH 102
+hit 101
+ras 101
+aga 101
+Am 101
+mA 101
+ba 101
+amas 100
+tu 100
+yaM 100
+ant 99
+ud 99
+uk 98
+iH_ 98
+yaM_ 98
+kha 98
+au 98
+ira 97
+shhT 97
+rah 97
+hT 97
+hhT 97
+D 96
+_sar 96
+re 96
+eshh 95
+sarv 94
+amaa 94
+and 94
+arva 94
+_ra 93
+_dh 93
+tt 92
+tad 92
+hm 92
+raM_ 91
+dev 91
+raM 91
+C 91
+ani 91
+_sarv 90
+atha 89
+Ad 89
+chi 89
+tA 88
+sarva 88
+avi 88
+taM 87
+hava 87
+anaa 86
+vA 86
+dd 86
+nA 85
+Ar 85
+hv 85
+taM_ 85
+dhi 84
+ksha 84
+ip 84
+ma_ 84
+_sha 84
+ati_ 83
+yai 83
+vat 83
+At 83
+kR 82
+kR^ 82
+bhi 82
+_shr 82
+to 82
+ta_ 82
+br 82
+ek 82
+kR^i 82
+tat 81
+nta 81
+hma 81
+aaya 80
+tam 80
+en 80
+us 79
+bra 79
+ke 79
+kt 79
+ddh 79
+mo 79
diff --git a/test/user-template/user/fingerprint/scots.lm b/test/user-template/user/fingerprint/scots.lm
new file mode 100644
index 000000000000..7aac457075f6
--- /dev/null
+++ b/test/user-template/user/fingerprint/scots.lm
@@ -0,0 +1,400 @@
+_ 11688
+e 3223
+a 2469
+t 2269
+i 1928
+n 1903
+r 1414
+o 1406
+h 1369
+s 1249
+l 929
+n_ 890
+_t 862
+_a 843
+d 818
+e_ 798
+th 704
+w 661
+he 625
+an 612
+t_ 606
+u 592
+_th 575
+c 508
+s_ 471
+the 470
+, 469
+- 458
+in 455
+m 445
+,_ 440
+b 434
+g 429
+er 409
+ee 408
+_the 407
+k 402
+an_ 402
+f 385
+_w 378
+he_ 376
+the_ 364
+_an 362
+_o 360
+y 358
+_the_ 354
+_s 353
+_an_ 342
+a_ 335
+r_ 327
+_b 316
+d_ 303
+i_ 278
+en 277
+p 270
+ei 245
+A 236
+wa 232
+_A 231
+re 229
+in_ 229
+ui 218
+oo 217
+le 217
+ai 216
+et 212
+ti 209
+it 209
+_f 206
+te 204
+_a_ 203
+_m 202
+ha 200
+as 193
+on 188
+at 184
+_i 183
+_wa 183
+_c 182
+o_ 180
+or 178
+_h 176
+_g 169
+ch 165
+A_ 159
+_l 158
+_A_ 157
+st 156
+_d 155
+_ti 148
+. 148
+._ 146
+ke 144
+ti_ 143
+-- 143
+_o_ 142
+ow 142
+--- 140
+ed 138
+---- 138
+_r 137
+as_ 137
+y_ 136
+er_ 136
+----- 136
+ir 135
+aa 135
+la 131
+een 130
+ae 129
+_ti_ 128
+ra 126
+es 125
+nd 124
+de 120
+h_ 120
+ie 120
+ar 119
+ll 119
+nt 118
+ot 118
+en_ 115
+ma 115
+eet 113
+her 112
+el 112
+is 112
+' 112
+at_ 111
+ic 109
+se 108
+or_ 106
+wu 104
+me 104
+ne 103
+fo 102
+on_ 101
+was 99
+_was 98
+et_ 98
+ri 98
+_e 97
+_ma 97
+v 97
+_n 97
+! 97
+li 97
+ht 93
+hi 92
+_wu 92
+ng 91
+ro 91
+it_ 90
+ck 90
+_fo 90
+tha 90
+k_ 89
+il 89
+cht 86
+eet_ 86
+_p 86
+we 86
+_was_ 85
+was_ 85
+rt 84
+ed_ 83
+ter 83
+id 83
+ga 82
+; 82
+;_ 81
+ther 79
+tt 76
+air 76
+e, 75
+un 75
+ho 75
+for 74
+ge 74
+_st 73
+_y 72
+_he 72
+wh 71
+_on 71
+sh 70
+z 70
+e,_ 69
+bi 68
+_tha 68
+wui 67
+!_ 67
+ad 67
+een_ 66
+l_ 66
+ts 66
+_for 66
+n, 66
+_wh 65
+re_ 65
+be 65
+eh 64
+hat 64
+ns 64
+br 64
+g_ 64
+ui_ 64
+rr 64
+wui_ 63
+ni 63
+_wui 62
+ay 62
+s, 62
+pe 61
+n,_ 61
+bo 61
+al 61
+ye 61
+_bi 60
+oot 60
+na 60
+ang 60
+s,_ 59
+es_ 59
+ill 58
+that 58
+_wui_ 58
+nn 58
+eh_ 58
+oa 57
+han 57
+_that 56
+_br 56
+ca 56
+_ga 56
+ng_ 56
+um 55
+hat_ 55
+oon 55
+od 55
+for_ 55
+no 55
+ree 55
+_for_ 54
+_le 54
+ht_ 54
+ot_ 54
+_k 53
+rd 53
+ki 53
+aw 53
+nd_ 53
+_on_ 53
+_it 53
+ik 53
+t, 53
+_be 52
+that_ 52
+ve 52
+rn 52
+'s 51
+au 51
+co 51
+ich 51
+to 51
+lo 51
+t,_ 51
+ea 51
+tee 51
+lan 50
+fi 50
+_at 50
+am 50
+_in 50
+ere 50
+ur 50
+le_ 50
+nt_ 49
+'s_ 49
+hin 49
+yi 49
+hr 49
+ts_ 49
+_ca 48
+" 48
+ta 48
+cht_ 48
+-_ 48
+_as 47
+T 47
+ang_ 47
+lei 46
+_ma_ 46
+tr 46
+_ro 46
+fe 46
+ma_ 46
+icht 46
+_as_ 46
+der 46
+cl 46
+e- 45
+n- 45
+thr 45
+ba 45
+m_ 45
+st_ 45
+rt_ 45
+_u 45
+do 45
+_T 45
+im 44
+_se 44
+sk 44
+_la 44
+eik 44
+bit 43
+ike 43
+B 43
+kee 43
+tte 43
+di 43
+eed 43
+_B 42
+_aa 42
+her_ 42
+da 42
+ff 42
+tu 42
+ie_ 42
+_cl 42
+_ba 42
+oot_ 42
+bu 41
+eike 41
+oc 41
+hu 41
+_thr 41
+ther_ 41
+_co 41
+aa_ 41
+so 41
+_me 41
+H 41
+_H 40
+ke_ 40
+ert 40
+lu 40
+ist 40
+si 40
+iz 40
+ar_ 39
+uc 39
+thi 39
+ad_ 39
+ru 39
+owe 39
+gi 38
+_bit 38
+_do 38
+int 38
+bl 38
+ld 38
+_at_ 38
+lt 38
+ac 38
+_ha 38
+ae_ 38
+rs 37
+here 37
+ei_ 37
+han_ 37
+p_ 37
+is_ 37
+eth 37
+fa 37
+_sk 37
+ll_ 37
+ss 36
+bra 36
+wha 36
+gl 36
+ck_ 36
+pl 36
+lin 36
+ir_ 36
+ab 36
+_ther 36
+_da 35
+ce 35
+rin 35
+_oo 35
+rl 35
+wee 35
+and 35
+sa 35
+_yi 35
+_bra 35
+'d 35
+ds 35
+_bo 35
diff --git a/test/user-template/user/fingerprint/scots_gaelic.lm b/test/user-template/user/fingerprint/scots_gaelic.lm
new file mode 100644
index 000000000000..491862a8c9d2
--- /dev/null
+++ b/test/user-template/user/fingerprint/scots_gaelic.lm
@@ -0,0 +1,400 @@
+_ 12634
+a 5353
+h 3268
+i 2898
+n 2792
+e 1651
+r 1563
+d 1455
+_a 1425
+c 1245
+n_ 1236
+s 1165
+l 1152
+an 1121
+t 980
+ai 979
+g 962
+u 905
+ch 902
+ha 836
+h_ 833
+a_ 829
+ea 821
+o 794
+dh 726
+an_ 711
+b 639
+m 585
+na 514
+nn 506
+ac 498
+r_ 495
+s_ 482
+ir 480
+ach 466
+id 458
+_an 450
+_c 427
+th 403
+à 388
+he 383
+in 379
+bh 367
+idh 358
+ad 342
+_n 341
+il 332
+nn_ 323
+_t 322
+_d 319
+ar 317
+e_ 311
+dh_ 307
+_an_ 303
+_b 302
+_na 294
+air 289
+ig 279
+. 275
+ir_ 272
+ag 272
+_ai 272
+, 270
+gu 269
+,_ 269
+._ 265
+ean 264
+ch_ 261
+f 259
+? 258
+_s 255
+ann 250
+ra 241
+ei 241
+_a_ 241
+ha_ 241
+d_ 238
+- 235
+_m 231
+gh 230
+hea 228
+le 226
+_f 224
+ui 223
+is 223
+as 218
+adh 218
+l_ 216
+g_ 208
+ài 207
+ò 207
+hai 205
+cha 205
+air_ 204
+na_ 201
+inn 198
+tha 190
+C 189
+G 188
+ann_ 187
+_ag 186
+_air 186
+eac 185
+_g 185
+_na_ 184
+ach_ 184
+_C 183
+us 183
+_ch 183
+la 182
+_G 182
+each 181
+us_ 178
+al 178
+gus 176
+gus_ 176
+_th 169
+_air_ 168
+_agus 167
+agus_ 167
+_agu 167
+agus 167
+agu 167
+ta 164
+aid 163
+hi 163
+hd 163
+chd 160
+T 157
+A 156
+ic 152
+_T 152
+adh_ 150
+idh_ 148
+mh 147
+?_ 146
+ar_ 145
+oi 144
+da 143
+aidh 143
+_bh 139
+ean_ 138
+sa 138
+ig_ 138
+_r 136
+_A 134
+ì 134
+te 134
+achd 131
+hu 131
+_e 130
+aig 130
+_l 130
+_ann 129
+ain 127
+ne 127
+dhe 125
+_dh 125
+àid 123
+o_ 121
+hl 119
+acha 119
+ga 118
+àidh 118
+on 118
+it 117
+aidh_ 116
+de 115
+nan 115
+ua 115
+_ann_ 115
+ich 115
+il_ 114
+m_ 114
+eil 114
+ri 112
+at 112
+ma 111
+li 109
+ao 109
+re 109
+inn_ 108
+_tha 107
+fh 106
+as_ 106
+bh_ 106
+nan_ 103
+lea 103
+lt 103
+S 103
+a? 103
+a?_ 102
+io 102
+E 101
+am 101
+' 100
+_a? 100
+igh 100
+_a?_ 99
+_gu 99
+idhe 99
+t_ 99
+se 99
+si 98
+ba 97
+ù 97
+tha_ 96
+bha 95
+B 94
+is_ 94
+u_ 94
+_B 94
+_i 93
+ile 92
+aic 91
+hei 91
+ia 90
+ho 89
+Th 88
+ath 88
+_Th 88
+rt 87
+ib 87
+Gàid 86
+_Gài 86
+_Gà 86
+Gài 86
+òr 86
+Gà 86
+Gàidh 86
+_Gàid 86
+had 85
+ibh 85
+_fh 85
+p 84
+ad_ 83
+_? 83
+_E 83
+hd_ 82
+dhea 82
+chd_ 82
+ear 81
+ith 81
+_tha_ 80
+h- 79
+eal 78
+hean 78
+sg 77
+rea 77
+_S 76
+ais 75
+ll 75
+han 74
+hà 74
+achd_ 74
+ead 74
+idhea 73
+am_ 72
+dha 72
+_nan 71
+_nan_ 71
+hadh 71
+gh_ 71
+ail 70
+hui 70
+Ch 69
+eachd 69
+h. 69
+aich 69
+hli 69
+chai 69
+om 68
+fa 68
+chad 68
+I 67
+h._ 67
+_Ch 67
+tea 67
+nea 66
+chadh 66
+achad 66
+rai 66
+lig 66
+haid 66
+dea 66
+rt_ 65
+àr 65
+dhl 65
+ana 64
+eann 64
+Ei 64
+le_ 64
+hn 64
+ilt 64
+uid 64
+_fa 63
+_Tha 63
+Tha 63
+ob 63
+_si 62
+ro 62
+cu 62
+ainn 62
+un 62
+dhli 61
+idhli 61
+lean 61
+idhl 61
+àidhl 61
+hlig 61
+dhlig 61
+in_ 60
+_à 60
+st 60
+rr 60
+_cu 60
+hr 60
+_aig 60
+bhe 59
+i_ 59
+aigh 59
+Tha_ 59
+è 59
+_ri 59
+_Tha_ 59
+lb 58
+che 58
+ran 58
+nac 58
+haidh 58
+hadh_ 58
+aig_ 58
+Gh 58
+ilea 58
+_Gh 58
+lte 58
+_le 58
+ru 58
+àidhe 57
+_I 57
+ilte 57
+eadh 57
+M 56
+hlig_ 56
+L 56
+chu 56
+nach 56
+_ma 56
+lig_ 56
+h,_ 55
+th_ 55
+ibh_ 55
+_aig_ 55
+D 55
+atha 55
+_Ei 55
+h, 55
+gu_ 54
+_gu_ 54
+im 54
+eil_ 54
+eu 53
+_M 53
+Al 53
+irt 53
+_L 53
+iad 53
+sea 52
+lba 52
+Alba 52
+F 52
+Alb 52
+uai 52
+ich_ 52
+_F 51
+ilean 51
+has 51
+tai 51
+each_ 50
+eacha 50
+har 50
+ni 50
+_de 50
+irt_ 50
+n,_ 50
+mha 50
+n, 50
+_e_ 50
+ide 49
+neach 49
+neac 49
+ur 49
+rd 49
+_h 49
+hean_ 49
+oc 49
+eò 49
+te_ 49
+han_ 49
+on_ 49
diff --git a/test/user-template/user/fingerprint/serbian-latin.lm b/test/user-template/user/fingerprint/serbian-latin.lm
new file mode 100644
index 000000000000..0a028311a030
--- /dev/null
+++ b/test/user-template/user/fingerprint/serbian-latin.lm
@@ -0,0 +1,400 @@
+_ 56298
+a 17374
+i 15500
+e 13745
+o 13087
+n 9704
+r 8535
+s 7383
+t 6692
+j 6664
+u 6390
+k 6060
+a_ 5221
+v 5177
+l 5082
+d 4923
+e_ 4729
+m 4663
+p 4121
+i_ 3992
+_s 2964
+je 2847
+g 2703
+z 2575
+u_ 2521
+_p 2491
+ra 2430
+_i 2355
+na 2337
+. 2169
+, 2142
+,_ 2134
+._ 2112
+st 2091
+o_ 2004
+ni 1971
+b 1933
+ko 1894
+je_ 1700
+an 1671
+ij 1628
+no 1559
+č 1550
+_n 1522
+_u 1516
+re 1465
+ti 1409
+_o 1368
+en 1365
+_k 1353
+_j 1346
+_d 1341
+ja 1325
+li 1314
+ta 1309
+pr 1303
+c 1287
+ka 1269
+_je 1233
+po 1224
+ne 1221
+_i_ 1220
+ri 1198
+va 1197
+ov 1151
+od 1146
+la 1139
+sk 1132
+m_ 1124
+_pr 1120
+os 1086
+in 1060
+š 1053
+ve 1048
+oj 1035
+ma 1029
+om 1027
+og 1024
+im 1006
+av 1002
+al 982
+me 976
+vi 971
+_po 966
+_na 963
+na_ 944
+da 928
+ro 905
+nj 900
+ik 891
+_je_ 889
+to 884
+ad 881
+ar 873
+h 862
+or 858
+se 840
+_m 836
+te 819
+is 816
+_u_ 810
+aj 809
+ed 800
+_t 791
+et 772
+at 740
+vo 735
+ju 731
+gr 723
+di 722
+lo 722
+za 709
+il 709
+ak 707
+_r 704
+ja_ 703
+ji 700
+ne_ 694
+_ko 691
+ki 689
+er 681
+ci 680
+ć 673
+_se 670
+_v 664
+ž 663
+el 662
+on 658
+_z 656
+S 638
+iz 635
+bi 622
+ek 616
+_S 612
+su 607
+gra 606
+sa 603
+a, 601
+a,_ 598
+_b 598
+ih 597
+om_ 591
+_g 588
+ost 587
+ije 586
+d_ 579
+tr 574
+se_ 567
+ija 561
+de 559
+em 552
+_se_ 552
+le 549
+a. 548
+lj 548
+a._ 542
+do 540
+_su 533
+zi 529
+ič 525
+sta 520
+h_ 520
+ke 517
+ih_ 511
+f 507
+go 505
+ol 504
+dn 498
+sti 496
+ka_ 493
+_. 489
+_._ 473
+rad 472
+_a 468
+g_ 463
+ic 461
+as 461
+_za 461
+it 456
+koj 454
+ob 448
+iv 442
+da_ 442
+az 441
+su_ 436
+ku 433
+ma_ 430
+mo 429
+ju_ 429
+_sa 427
+ke_ 421
+ni_ 421
+ist 421
+og_ 418
+_od 417
+am 416
+anj 412
+đ 407
+_su_ 407
+ru 400
+nje 398
+sl 397
+ok 392
+op 391
+_koj 391
+_na_ 389
+tn 388
+ji_ 384
+e, 383
+_do 381
+e,_ 380
+ima 379
+ač 378
+nos 378
+vn 377
+B 377
+_ka 373
+ti_ 372
+li_ 370
+eo 370
+pre 367
+_iz 364
+P 361
+sko 361
+io 360
+n_ 360
+" 356
+vr 354
+_st 354
+mi 352
+čk 351
+ao 350
+im_ 347
+es 346
+_B 346
+ev 344
+ski 343
+ez 343
+j_ 341
+ije_ 341
+ig 339
+_ra 338
+ko_ 336
+tv 336
+grad 335
+no_ 335
+la_ 334
+_P 333
+_da 333
+št 332
+od_ 330
+- 326
+dr 323
+va_ 322
+tu 320
+_l 316
+pro 315
+ori 315
+N 314
+ika 311
+ija_ 311
+sto 309
+e. 307
+ir 303
+e._ 302
+_pro 301
+_pre 300
+ki_ 300
+ot 299
+_N 297
+sv 294
+pe 291
+ns 291
+sn 291
+met 290
+t_ 289
+pri 289
+ba 288
+ili 288
+pa 288
+ut 287
+ao_ 286
+oji 285
+_ne 285
+če 284
+ova 283
+kom 282
+um 281
+ičk 279
+nost 279
+k_ 279
+si 279
+ada 278
+van 278
+cij 276
+Sr 276
+lik 275
+_Sr 275
+nt 275
+ogr 274
+ug 274
+_ve 274
+ran 273
+br 273
+ani 272
+ine 272
+ac 271
+edn 271
+red 268
+_bi 266
+_pri 266
+ud 266
+ogra 265
+nja 265
+odi 264
+_f 263
+_re 262
+ga 258
+ati 258
+zn 257
+ovi 255
+rij 254
+_sv 254
+ako 252
+nu 252
+nij 251
+ana 251
+ča 251
+rav 250
+din 248
+kr 247
+iš 247
+či 245
+up 245
+ce 245
+ta_ 244
+rv 244
+men 244
+un 243
+rb 243
+aju 241
+ava 241
+ra_ 241
+etn 239
+oj_ 239
+ln 238
+T 238
+pos 237
+eni 237
+M 234
+_go 233
+_od_ 232
+du 231
+ali 231
+ini 229
+ima_ 229
+_da_ 228
+nov 227
+_te 227
+ps 225
+_e 225
+Srb 223
+ca 223
+_M 223
+_Srb 222
+ara 222
+_mo 221
+Be 221
+_de 221
+i. 220
+bij 220
+K 220
+jed 219
+sa_ 219
+oji_ 218
+čn 218
+_ob 218
+pi 218
+ur 218
+eogr 217
+ove 217
+avi 217
+tno 217
+eog 217
+eogra 217
+stv 216
+zv 216
+_Be 216
+i._ 216
+nik 215
+bo 214
+_koji 214
+nic 214
+koji 214
+_pos 214
+_K 213
+ume 213
+za_ 211
+i, 211
+i,_ 211
diff --git a/test/user-template/user/fingerprint/serbian.lm b/test/user-template/user/fingerprint/serbian.lm
new file mode 100644
index 000000000000..55b590608018
--- /dev/null
+++ b/test/user-template/user/fingerprint/serbian.lm
@@ -0,0 +1,400 @@
+_ 56294
+а 17374
+и 15500
+е 13745
+о 13087
+н 8809
+р 8535
+с 7383
+т 6692
+у 6390
+к 6060
+а_ 5221
+ј 5197
+в 5177
+д 4882
+е_ 4729
+м 4663
+л 4534
+п 4121
+и_ 3992
+_с 2964
+г 2703
+з 2575
+у_ 2521
+_п 2491
+ра 2430
+_и 2355
+на 2337
+је 2281
+. 2169
+, 2142
+,_ 2134
+._ 2112
+ст 2091
+о_ 2004
+ни 1971
+б 1933
+ко 1894
+иј 1628
+но 1559
+ч 1550
+_у 1516
+је_ 1465
+ре 1465
+_н 1437
+ти 1409
+_о 1368
+_к 1353
+_ј 1346
+_д 1315
+ли 1314
+та 1309
+пр 1303
+ц 1287
+ка 1269
+ан 1260
+_је 1233
+по 1224
+не 1221
+_и_ 1220
+ен 1198
+ри 1198
+ва 1197
+ов 1151
+од 1146
+ла 1139
+ск 1132
+м_ 1124
+_пр 1120
+ос 1086
+ш 1053
+ве 1048
+ој 1035
+ма 1029
+ом 1027
+ин 1025
+ог 1024
+им 1006
+ав 1002
+ме 976
+ви 971
+_по 966
+_на 963
+на_ 944
+да 928
+ја 906
+ро 905
+њ 895
+ал 893
+ик 891
+_је_ 889
+то 884
+ад 876
+ар 873
+х 862
+ор 858
+се 840
+_м 836
+те 819
+ис 816
+_у_ 810
+ај 809
+ед 800
+_т 791
+ет 772
+ат 740
+во 735
+гр 723
+ди 722
+ло 722
+за 709
+ак 707
+_р 704
+не_ 694
+_ко 691
+ки 689
+ер 681
+ил 681
+ци 680
+ћ 673
+_се 670
+_в 664
+_з 656
+он 651
+С 638
+из 635
+би 622
+ж 617
+ек 616
+_С 612
+ел 611
+су 607
+гра 606
+са 603
+а, 601
+а,_ 598
+_б 598
+их 597
+ом_ 591
+_г 588
+ост 587
+ије 586
+д_ 579
+тр 574
+се_ 567
+ија 561
+де 559
+_се_ 552
+ем 552
+ле 549
+а. 548
+љ 548
+а._ 542
+до 540
+_су 533
+ју 529
+зи 529
+ји 525
+ич 525
+ста 520
+х_ 520
+ке 517
+их_ 511
+ф 507
+го 505
+сти 496
+ка_ 493
+_. 489
+_._ 473
+_а 468
+рад 467
+ја_ 467
+г_ 463
+иц 461
+ас 461
+_за 461
+ит 456
+кој 454
+об 448
+да_ 442
+ив 442
+аз 441
+су_ 436
+ку 433
+ма_ 430
+мо 429
+_са 427
+ке_ 421
+ол 421
+ни_ 421
+ист 421
+дн 421
+ог_ 418
+_од 417
+ам 416
+ањ 411
+ђ 407
+_су_ 407
+ру 400
+ње 398
+сл 397
+ок 392
+оп 391
+_кој 391
+_на_ 389
+е, 383
+тн 381
+_до 381
+е,_ 380
+има 379
+нос 378
+ач 378
+вн 377
+Б 377
+_ка 373
+ти_ 372
+ео 370
+ли_ 370
+пре 367
+_из 364
+ско 361
+ио 360
+н_ 360
+П 359
+ју_ 359
+" 356
+вр 354
+_ст 354
+ји_ 354
+ми 352
+чк 351
+ао 350
+им_ 347
+_Б 346
+ес 346
+ев 344
+ски 343
+ез 343
+ије_ 341
+иг 339
+_ра 338
+тв 336
+ко_ 336
+град 335
+но_ 335
+ла_ 334
+_да 333
+_П 333
+шт 332
+од_ 330
+- 326
+ј_ 326
+др 323
+ва_ 322
+ту 320
+ори 315
+про 315
+ија_ 311
+ика 311
+сто 309
+е. 307
+ир 303
+е._ 302
+_про 301
+_пре 300
+ки_ 300
+от 299
+Н 296
+св 294
+пе 291
+сн 291
+нс 291
+мет 290
+т_ 289
+при 289
+ба 288
+па 288
+или 288
+ут 287
+ао_ 286
+оји 285
+_не 285
+че 284
+ова 283
+ком 282
+ум 281
+_Н 280
+си 279
+ичк 279
+ност 279
+к_ 279
+ада 278
+Ср 276
+циј 276
+лик 275
+_Ср 275
+нт 275
+огр 274
+_ве 274
+уг 274
+бр 273
+ани 272
+ине 272
+ац 271
+ред 268
+_би 266
+_при 266
+уд 265
+ња 265
+огра 265
+оди 264
+_ф 263
+_ре 262
+_л 259
+ати 258
+га 258
+зн 257
+ови 255
+риј 254
+_св 254
+ну 252
+ако 252
+ча 251
+ниј 251
+ана 251
+рав 250
+иш 247
+кр 247
+чи 245
+уп 245
+це 245
+дин 244
+та_ 244
+рв 244
+рб 243
+ра_ 241
+ају 241
+ава 241
+ун 240
+ој_ 239
+Т 238
+лн 238
+пос 237
+ени 237
+етн 234
+М 234
+_го 233
+_од_ 232
+али 231
+ду 231
+ини 229
+има_ 229
+_да_ 228
+_те 227
+нов 227
+пс 225
+_е 225
+_М 223
+Срб 223
+ца 223
+_Срб 222
+ара 222
+ран 221
+_мо 221
+Бе 221
+_де 221
+биј 220
+и. 220
+јед 219
+К 219
+едн 219
+са_ 219
+пи 218
+оји_ 218
+ур 218
+_об 218
+ове 217
+чн 217
+тно 217
+ави 217
+еогр 217
+еогра 217
+еог 217
+и._ 216
+ств 216
+зв 216
+_Бе 216
+ник 215
+_који 214
+ниц 214
+бо 214
+који 214
+_пос 214
+уме 213
+_К 212
+за_ 211
+и,_ 211
+и, 211
+тра 209
+сп 209
diff --git a/test/user-template/user/fingerprint/slovak_ascii.lm b/test/user-template/user/fingerprint/slovak_ascii.lm
new file mode 100644
index 000000000000..29c8736b3ba3
--- /dev/null
+++ b/test/user-template/user/fingerprint/slovak_ascii.lm
@@ -0,0 +1,400 @@
+_ 20064
+a 4991
+o 4983
+e 3838
+n 3342
+i 3317
+r 2583
+s 2501
+v 2383
+t 2325
+c 1918
+k 1912
+l 1888
+d 1736
+u 1725
+p 1543
+a_ 1527
+y 1371
+m 1339
+z 1227
+h 1194
+e_ 956
+_p 881
+_s 828
+o_ 814
+na 809
+b 808
+_v 798
+j 797
+. 796
+ov 795
+._ 785
+st 687
+i_ 665
+, 657
+,_ 657
+_n 625
+ch 623
+u_ 618
+ro 617
+po 598
+_o 546
+ne 529
+en 520
+v_ 519
+_a 516
+ra 506
+pr 488
+y_ 481
+od 476
+_z 467
+ie 462
+ni 448
+an 447
+vy 434
+to 433
+h_ 431
+_na 429
+re 416
+ch_ 404
+ho 401
+al 399
+ci 394
+va 387
+na_ 386
+_pr 385
+_d 384
+_k 378
+la 377
+ko 375
+do 374
+_po 373
+si 353
+_t 346
+_r 337
+os 336
+no 334
+in 328
+tr 324
+om 321
+_v_ 320
+ny 319
+m_ 319
+ri 317
+S 306
+ac 302
+sa 300
+ti 300
+_m 298
+za 298
+er 291
+ia 290
+ce 290
+li 289
+yc 286
+ych 285
+ed 284
+at 281
+ob 281
+ak 280
+_na_ 280
+il 279
+_, 279
+_,_ 279
+ok 277
+sk 268
+ych_ 265
+_c 262
+mi 261
+ol 260
+me 260
+l_ 259
+t_ 259
+ku 258
+ta 256
+le 256
+_b 254
+or 252
+_a_ 250
+lo 247
+oc 246
+vo 246
+es 244
+ve 242
+_vy 240
+on 238
+_sa 231
+as 231
+da 230
+aj 228
+av 218
+el 216
+ova 216
+ic 215
+ne_ 209
+_do 208
+sa_ 207
+ka 205
+_sa_ 204
+te 203
+j_ 201
+_ro 199
+P 198
+_za 196
+ky 196
+_S 195
+je 194
+ar 193
+_. 193
+it 192
+s_ 192
+em 191
+ej 191
+ur 190
+ad 189
+_o_ 187
+_._ 187
+ov_ 185
+de 180
+_% 179
+om_ 179
+% 179
+_u 174
+pre 173
+dn 173
+D 172
+rok 170
+ie_ 170
+sp 169
+pri 167
+_pre 167
+am 165
+- 164
+ke 164
+eh 162
+oz 161
+k_ 160
+ost 160
+_j 156
+f 155
+zn 153
+g 152
+kt 152
+ho_ 151
+eho 151
+hod 150
+ku_ 148
+is 148
+zi 147
+cn 147
+eho_ 146
+ej_ 145
+az 145
+tu 145
+_pri 144
+cen 144
+_st 143
+ma 142
+ast 141
+_ce 140
+rov 140
+la_ 138
+ot 138
+nych 135
+nyc 135
+_ob 133
+z_ 133
+nych_ 131
+N 130
+li_ 129
+ani 129
+co 128
+nt 128
+ny_ 127
+E 125
+_ne 124
+) 123
+_( 123
+sti 123
+A 123
+( 123
+cho 122
+vi 122
+_sp 122
+di 120
+pa 120
+n_ 119
+ju 118
+ys 117
+bo 117
+_P 116
+_tr 115
+V 114
+je_ 114
+ln 114
+_i 113
+ze 113
+spo 112
+_N 112
+nd 111
+nu 111
+so 111
+red 110
+vn 110
+kl 110
+kov 110
+_cen 110
+_rok 109
+tn 109
+du 109
+nc 109
+ap 109
+d_ 108
+van 108
+ca 108
+M 108
+chod 107
+ti_ 107
+U 106
+_ak 106
+ru 105
+sta 105
+ym 105
+_- 104
+et 103
+_h 102
+est 102
+_je 102
+nos 101
+aci 101
+us 100
+dov 100
+pod 100
+_to 100
+tor 99
+uc 99
+ras 98
+ky_ 98
+_s_ 98
+_mi 97
+* 97
+uj 97
+nost 97
+vys 97
+ovy 97
+ez 97
+oku 96
+_V 96
+op 96
+bc 96
+rast 96
+se 95
+B 95
+roku 95
+kto 94
+ove 94
+by 94
+-_ 94
+_ko 93
+obc 92
+nie 91
+ia_ 91
+ka_ 91
+*_ 90
+ali 90
+lo_ 89
+ovan 89
+to_ 88
+iz 88
+_bo 88
+_l 88
+odo 87
+bch 87
+bchod 87
+bcho 87
+sl 86
+st_ 86
+pred 86
+C 86
+pol 85
+_pred 85
+R 85
+ik 84
+uro 84
+pi 84
+ek 84
+zo 83
+eni 83
+obch 83
+cie 83
+oku_ 83
+obcho 83
+ns 83
+roku_ 82
+ii 82
+tv 82
+ba 82
+ent 82
+_spo 81
+tov 81
+pe 81
+kon 80
+kc 80
+ec 80
+kci 80
+ck 80
+x 79
+osti 79
+_Sk 79
+mi_ 79
+_in 79
+Sk 79
+sia 79
+br 78
+rh 78
+val 78
+olo 77
+_pod 77
+%_ 77
+_%_ 77
+bu 77
+_f 77
+iv 77
+_obc 77
+_obch 77
+eb 76
+str 76
+nej 76
+_D 76
+ni_ 75
+ou 75
+im 75
+ena 74
+tre 74
+_A 74
+mo 74
+su 74
+rz 73
+_trh 73
+trh 73
+_U 73
+al_ 73
+_ra 73
+_e 72
+_C 72
+sti_ 72
+zv 72
+te_ 72
+cno 72
+oj 72
+ktor 71
+_roku 71
+ocn 71
+ina 71
+sil 71
+nov 71
+alo 71
+odn 70
+nan 70
+oh 70
diff --git a/test/user-template/user/fingerprint/slovenian.lm b/test/user-template/user/fingerprint/slovenian.lm
new file mode 100644
index 000000000000..0fb3f18f1659
--- /dev/null
+++ b/test/user-template/user/fingerprint/slovenian.lm
@@ -0,0 +1,400 @@
+_ 10406
+a 2828
+e 2676
+i 2458
+o 2418
+n 1814
+r 1484
+v 1253
+l 1248
+s 1228
+t 1172
+j 1107
+d 1085
+k 911
+p 880
+a_ 823
+m 763
+i_ 681
+e_ 678
+_p 603
+o_ 566
+u 521
+z 516
+b 456
+_s 435
+je 434
+, 416
+,_ 411
+ni 399
+č 383
+_v 372
+_d 356
+pr 355
+g 345
+ra 336
+_n 332
+st 323
+an 313
+po 303
+re 301
+na 295
+h 287
+ov 276
+_pr 276
+li 275
+al 274
+_z 270
+je_ 259
+la 255
+š 253
+ne 248
+en 246
+ko 244
+in 237
+c 234
+ti 234
+v_ 234
+_po 232
+no 230
+ve 230
+_k 227
+_i 224
+da 224
+. 221
+_j 221
+ri 220
+ja 216
+_t 214
+se 213
+ed 212
+._ 211
+em 206
+te 205
+za 201
+od 201
+av 200
+lo 196
+nj 194
+_o 194
+_je 193
+il 190
+or 183
+ka 181
+sk 179
+_b 178
+_je_ 178
+ih 178
+n_ 177
+_za 173
+h_ 171
+er 171
+os 171
+_na 168
+va 168
+ta 164
+le 163
+m_ 161
+ev 157
+ij 157
+ar 157
+do 155
+to 155
+ž 154
+A 153
+el 150
+_m 148
+ro 147
+ol 146
+_v_ 145
+aj 145
+di 143
+N 142
+S 142
+at 140
+ih_ 139
+ki 138
+de 137
+_in 135
+vo 135
+ga 134
+me 131
+in_ 129
+vi 129
+om 127
+_in_ 125
+et 124
+pre 124
+O 123
+bi 120
+I 119
+da_ 117
+ik 117
+ma 115
+E 114
+so 113
+bo 112
+it 112
+anj 112
+eg 110
+ni_ 109
+mi 108
+ke 108
+na_ 108
+u_ 108
+lj 106
+iz 105
+ob 105
+_da 103
+li_ 103
+is 103
+im 102
+red 102
+_pre 102
+dr 100
+mo 99
+P 99
+_se 99
+ji 98
+r_ 97
+ad 97
+pri 97
+K 97
+_l 97
+tr 95
+pa 94
+no_ 94
+j_ 92
+ki_ 91
+ti_ 91
+_pri 91
+dn 89
+_P 88
+ej 88
+_da_ 87
+ne_ 86
+ega 86
+_r 86
+_bi 86
+l_ 86
+em_ 86
+go 86
+" 85
+sl 85
+ek 84
+ali 84
+ove 84
+ač 84
+ak 84
+ci 83
+ga_ 83
+ko_ 83
+se_ 82
+_S 82
+jo 81
+ot 81
+ja_ 81
+_so 80
+lov 80
+L 80
+D 79
+V 79
+as 78
+_do 78
+am 78
+nje 77
+es 77
+za_ 77
+_pa 76
+T 75
+tu 75
+_za_ 74
+sti 74
+_dr 74
+la_ 74
+_N 74
+_de 74
+ega_ 73
+_ko 73
+og 73
+ns 72
+če 72
+ds 72
+_bo 71
+ora 71
+vn 71
+ost 71
+_ne 71
+ič 70
+ven 69
+z_ 69
+či 69
+_te 68
+ce 68
+_se_ 67
+ča 67
+oč 67
+M 66
+_u 66
+un 65
+ln 65
+pos 64
+ju 64
+sta 64
+op 64
+di_ 63
+ud 63
+vs 63
+t_ 62
+nsk 62
+tv 62
+on 62
+ski 62
+R 62
+pa_ 62
+_ka 62
+i, 61
+so_ 61
+_iz 60
+_pa_ 60
+s_ 60
+i,_ 60
+pro 59
+del 59
+rav 59
+eni 59
+oli 58
+rj 58
+e, 57
+še 57
+ili 57
+vr 57
+d_ 57
+_le 57
+pred 57
+jo_ 56
+e,_ 56
+nik 56
+love 56
+_pred 56
+ske 56
+er_ 55
+str 55
+čn 54
+pra 54
+J 54
+_š 54
+oven 53
+_ra 53
+tn 53
+_na_ 53
+_so_ 53
+nih 53
+loven 53
+si 52
+ke_ 52
+_g 52
+ic 52
+udi 51
+bi_ 51
+eds 51
+oj 51
+ru 51
+a, 51
+_pro 50
+_pos 50
+nc 50
+nih_ 50
+ču 50
+a,_ 50
+_a 50
+az 50
+ok 50
+B 50
+let 49
+udi_ 49
+_od 49
+_K 49
+aj_ 48
+_bi_ 48
+_ve 48
+rač 48
+o, 47
+_tu 47
+ija 47
+ter 47
+ist 47
+Z 47
+reds 46
+nd 46
+ali_ 46
+A_ 46
+iti 46
+bil 46
+_ob 46
+o,_ 46
+ati 46
+tud 45
+tudi 45
+_ki 45
+k_ 45
+be 45
+aš 45
+ir 45
+ža 45
+do_ 45
+sp 45
+_ki_ 45
+_st 45
+ep 44
+_del 44
+tudi_ 44
+rž 44
+aču 44
+_ni 44
+ah 43
+raču 43
+račun 43
+iš 43
+_mo 43
+avn 43
+_tud 43
+čun 43
+ačun 43
+_tudi 43
+_to 42
+raz 42
+kr 42
+ova 42
+_e 42
+ogo 42
+ani 42
+_" 42
+ev_ 42
+br 42
+eb 42
+sa 42
+mi_ 42
+tem 42
+ta_ 41
+prav 41
+i. 41
+slov 41
+ens 41
+bo_ 41
+že 41
+_T 41
+_let 41
+odo 41
+slo 41
+ensk 40
+ka_ 40
+neg 40
+ez 40
+nos 40
+eč 40
+_sl 40
+_V 40
+rža 40
+nega 40
+ili_ 39
diff --git a/test/user-template/user/fingerprint/spanish.lm b/test/user-template/user/fingerprint/spanish.lm
new file mode 100644
index 000000000000..e40317f956a9
--- /dev/null
+++ b/test/user-template/user/fingerprint/spanish.lm
@@ -0,0 +1,400 @@
+_ 25044
+e 7830
+a 7437
+o 5102
+s 4394
+n 4358
+i 4065
+r 3998
+l 3634
+d 3118
+c 2931
+t 2834
+u 2316
+a_ 2269
+e_ 2211
+s_ 1862
+de 1679
+p 1673
+_d 1644
+m 1447
+_de 1443
+n_ 1332
+o_ 1301
+en 1295
+_e 1216
+es 1177
+_l 1132
+de_ 1080
+la 1060
+os 1028
+_de_ 1027
+_p 963
+l_ 910
+ci 890
+_c 866
+_a 866
+os_ 801
+ar 777
+er 775
+as 768
+ra 746
+nt 736
+_la 727
+re 726
+,_ 724
+, 724
+el 722
+ta 708
+ue 701
+g 678
+on 674
+al 670
+_s 666
+co 653
+b 637
+an 622
+v 616
+la_ 616
+or 612
+te 599
+st 596
+el_ 580
+_la_ 573
+y 545
+to 543
+r_ 517
+ad 512
+ó 511
+do 504
+ro 504
+se 488
+as_ 488
+q 487
+qu 487
+. 479
+._ 478
+en_ 475
+ca 460
+in 459
+un 456
+_co 450
+es_ 449
+ic 449
+_en 440
+ac 440
+que 439
+na 439
+lo 430
+_m 430
+f 429
+ent 428
+da 412
+ue_ 411
+po 405
+le 399
+_q 399
+_qu 399
+que_ 393
+_que 388
+ie 386
+h 385
+pa 382
+y_ 371
+ti 367
+_que_ 365
+_en_ 365
+_y 361
+tr 358
+_el 353
+ri 349
+ia 342
+_el_ 333
+_se 330
+ió 330
+_y_ 330
+io 329
+pr 320
+ón 317
+ec 317
+no 314
+id 301
+í 300
+mi 299
+_t 299
+ión 292
+nte 292
+me 286
+aci 283
+do_ 279
+li 276
+con 276
+nd 273
+est 272
+ni 272
+á 271
+di 270
+_es 268
+_lo 267
+ció 265
+ma 265
+ón_ 264
+_pr 263
+_r 261
+ción 255
+z 254
+ra_ 251
+si 247
+ión_ 246
+oc 245
+nc 244
+_u 244
+_po 243
+los 243
+or_ 242
+_con 241
+is 239
+del 238
+_del 237
+ado 236
+se_ 233
+_i 233
+los_ 231
+_re 231
+por 229
+_del_ 228
+sta 228
+del_ 228
+al_ 228
+ne 226
+_h 226
+cu 225
+_n 225
+_a_ 224
+_v 224
+_un 223
+ce 222
+so 220
+ción_ 218
+res 218
+vi 217
+om 216
+te_ 212
+_pa 211
+ien 210
+j 209
+E 208
+_los 207
+_los_ 207
+to_ 206
+ol 204
+it 203
+am 202
+ació 201
+rt 201
+ación 201
+pe 197
+ha 190
+_se_ 189
+nto 188
+_o 184
+_E 184
+on_ 184
+sa 183
+na_ 182
+ta_ 181
+su 180
+cia 180
+mo 180
+ct 178
+par 178
+_f 177
+_por 176
+eg 172
+_in 172
+ur 170
+L 168
+ve 166
+im 164
+ga 163
+_est 161
+ar_ 161
+ab 160
+_L 159
+tu 158
+at 158
+no_ 157
+s, 157
+s,_ 157
+_por_ 156
+por_ 156
+las 156
+ba 154
+o,_ 154
+o, 154
+ento 151
+et 150
+C 150
+_ha 149
+A 149
+tra 148
+ient 148
+_al 147
+a,_ 146
+ica 146
+a, 146
+pro 146
+ado_ 145
+ici 144
+_ca 144
+an_ 144
+las_ 143
+ara 143
+nci 143
+ente 142
+ú 142
+rr 142
+ir 142
+da_ 141
+em 141
+ll 140
+il 139
+ía 138
+iv 138
+_su 138
+_par 136
+ul 136
+ant 136
+_A 135
+mp 135
+_las_ 134
+_las 134
+_C 134
+_pro 133
+men 132
+P 132
+des 131
+com 130
+ion 130
+era 130
+ed 129
+ida 129
+sp 128
+gu 127
+nte_ 127
+ns 127
+za 126
+dos 125
+M 125
+cio 125
+les 125
+_P 124
+bl 124
+_com 122
+s._ 122
+s. 122
+_M 121
+ua 120
+nta 120
+mu 119
+_no 118
+dad 118
+ñ 117
+é 116
+un_ 116
+va 116
+ist 116
+nes 116
+iento 115
+one 114
+ara_ 113
+S 113
+ada 113
+_un_ 113
+fi 111
+pre 110
+tos 110
+ter 109
+ot 109
+esta 108
+_me 107
+ido 107
+ob 107
+_g 105
+br 105
+go 105
+ea 104
+nto_ 104
+ona 103
+pu 103
+dos_ 103
+tro 103
+ier 103
+para 102
+ment 101
+ag 101
+ero 101
+gr 101
+rec 101
+bi 101
+ia_ 100
+una 100
+nic 99
+ncia 99
+ía_ 98
+a._ 98
+tos_ 98
+a. 98
+ran 98
+lo_ 97
+ones 97
+rm 96
+lu 96
+ron 95
+con_ 95
+ó_ 95
+nes_ 95
+_ci 95
+ante 94
+ch 94
+_con_ 94
+_para 94
+ntr 93
+una_ 93
+para_ 93
+mie 92
+ico 92
+fe 92
+les_ 92
+uc 92
+ip 91
+sto 91
+_ma 91
+ui 91
+sta_ 91
+_ve 90
+cion 90
+" 90
+op 90
+cal 89
+_mu 89
+_S 89
+ro_ 89
+_pe 88
+ste 88
+ras 88
+pl 88
+_una 88
+_di 87
+ento_ 86
+ita 86
+ione 85
+ect 85
+_una_ 85
+mien 85
+tan 85
+du 84
+den 84
+ndo 84
+per 84
+eri 84
diff --git a/test/user-template/user/fingerprint/swahili.lm b/test/user-template/user/fingerprint/swahili.lm
new file mode 100644
index 000000000000..56090b40153e
--- /dev/null
+++ b/test/user-template/user/fingerprint/swahili.lm
@@ -0,0 +1,400 @@
+_ 16483
+a 9342
+i 5293
+a_ 4071
+u 2730
+k 2609
+n 2351
+w 2076
+m 1928
+e 1866
+h 1800
+o 1775
+wa 1743
+l 1486
+s 1419
+i_ 1401
+t 1399
+_k 1306
+y 1100
+_w 969
+li 945
+wa_ 911
+z 891
+_wa 890
+ka 834
+ku 799
+r 770
+b 733
+an 727
+ma 723
+o_ 711
+_m 707
+na 698
+ya 675
+ha 672
+g 602
+al 580
+d 570
+at 560
+am 554
+_n 549
+_ku 549
+ik 543
+_h 515
+ya_ 514
+A 494
+is 487
+_y 485
+hi 474
+na_ 471
+_ya 471
+ta 468
+sh 456
+ali 449
+j 426
+u_ 423
+ki 418
+e_ 402
+p 401
+ti 401
+_wa_ 399
+f 392
+_ya_ 390
+ba 390
+ri 385
+ng 385
+il 380
+c 358
+hu 356
+_na 356
+ni 355
+za 354
+zi 351
+ia 344
+_na_ 343
+_a 336
+in 327
+_ma 326
+ch 322
+mb 317
+ika 314
+. 311
+._ 309
+_ka 307
+as 306
+ak 306
+ati 301
+, 300
+ka_ 296
+,_ 294
+_u 292
+kw 286
+ili 278
+K 274
+en 271
+si 266
+_kw 262
+la 261
+ni_ 261
+ma_ 261
+_s 258
+kwa 258
+ar 256
+ut 245
+za_ 245
+nd 242
+mba 241
+_kwa 239
+_z 234
+li_ 233
+un 233
+ny 230
+it 229
+se 229
+yo 227
+ia_ 222
+M 221
+sa 221
+kat 217
+_K 214
+_i 213
+ika_ 213
+ana 212
+ish 212
+kati 206
+_ha 204
+on 201
+ai 200
+I 198
+aa 196
+um 195
+im 190
+v 188
+mu 187
+amb 187
+sha 185
+em 183
+fa 181
+zi_ 180
+di 179
+mi 178
+_M 178
+us 176
+_ki 176
+ha_ 175
+iw 172
+ama 172
+_kat 168
+_kati 168
+_hi 166
+_l 166
+ra 166
+kwa_ 165
+la_ 164
+W 164
+ja 163
+U 163
+N 163
+amba 161
+ao 161
+_za 160
+ji 160
+B 157
+iwa 155
+tik 155
+wal 155
+le 155
+tika 154
+ge 153
+lis 153
+tu 152
+atika 152
+to 152
+atik 152
+uw 152
+_kwa_ 151
+A_ 151
+ke 150
+S 147
+tika_ 145
+aj 145
+we 144
+cha 144
+bi 141
+az 140
+er 139
+ek 138
+katik 138
+ez 138
+uwa 137
+kut 135
+_al 134
+_B 134
+ad 134
+mu_ 133
+_ali 133
+rik 132
+_W 131
+ba_ 131
+kuw 131
+me 130
+ali_ 128
+kuwa 128
+ema 127
+wan 127
+bu 126
+sem 126
+_A 125
+ir 125
+ata 125
+iz 124
+_hu 124
+ay 124
+ul 124
+af 123
+iki 122
+ema_ 121
+da 120
+ti_ 120
+sema 119
+aka 118
+sema_ 118
+te 118
+uz 117
+yo_ 117
+_v 117
+io 116
+iy 115
+uta 115
+ani 115
+_wal 115
+he 115
+if 114
+_la 114
+ab 114
+go 112
+_za_ 111
+ama_ 111
+sa_ 111
+pa 110
+_t 110
+zo 110
+nge 110
+wam 109
+wali 108
+ua 107
+ur 106
+_c 106
+ise 105
+_ch 105
+isem 105
+ho 105
+ye 104
+iyo 104
+E 104
+el 104
+mo 103
+ung 103
+eri 103
+_wali 103
+_b 102
+mba_ 102
+ari 101
+ita 101
+isema 100
+ot 99
+_la_ 99
+uk 99
+ao_ 99
+di_ 99
+sha_ 99
+ini 99
+kuwa_ 98
+uwa_ 98
+ana_ 98
+lise 98
+lisem 98
+uli 97
+shi 97
+ga 96
+iwa_ 96
+fu 96
+T 96
+R 95
+_il 95
+wak 94
+aw 94
+isha 94
+ri_ 93
+_am 93
+ara 92
+_cha 92
+aji 92
+_ili 91
+ifa 91
+O 90
+_p 90
+uh 90
+iri 90
+chi 90
+asi 89
+po 89
+a. 89
+ong 89
+azi 88
+_j 88
+_kut 88
+eny 88
+nc 88
+a._ 88
+ko 87
+uu 87
+id 87
+w_ 87
+no 87
+P 86
+ah 86
+ina 86
+rika 86
+_Bw 85
+H 85
+gu 85
+uo 85
+Bw_ 85
+_Bw_ 85
+_se 85
+Bw 85
+ib 84
+_S 84
+kam 84
+hi_ 84
+nya 84
+si_ 83
+a, 82
+no_ 81
+pi 81
+ok 81
+i. 81
+ip 81
+kwam 81
+i._ 81
+amba_ 80
+dh 80
+end 80
+ani_ 80
+a,_ 79
+wamb 79
+kwamb 79
+_sh 79
+eza 79
+nz 79
+wi 79
+_kwam 79
+wamba 79
+alis 78
+_kuw 78
+ngo 78
+ap 77
+_N 77
+any 77
+ili_ 77
+C 77
+WA 76
+vy 76
+wana 76
+_hiy 75
+Wa 75
+hiyo 75
+nch 75
+_hiyo 75
+de 75
+_kuwa 75
+ing 75
+hiy 75
+vi 75
+isha_ 74
+es 74
+atu 74
+_Wa 74
+nchi 74
+aki 74
+lim 73
+da_ 73
+ini_ 73
+ash 73
+ala 73
+i, 73
+ano 73
+i,_ 72
+_kam 71
+_wan 71
+ano_ 71
+mw 71
+nde 71
+ji_ 71
+ion 70
+_amb 70
+ndi 70
+_Ka 70
+eza_ 70
diff --git a/test/user-template/user/fingerprint/swedish.lm b/test/user-template/user/fingerprint/swedish.lm
new file mode 100644
index 000000000000..1c021242b9fe
--- /dev/null
+++ b/test/user-template/user/fingerprint/swedish.lm
@@ -0,0 +1,400 @@
+_ 33494
+e 8992
+n 7900
+t 7859
+a 7781
+r 7251
+s 6435
+i 5649
+l 4541
+d 4079
+o 3724
+m 3203
+k 3058
+g 2478
+en 2403
+n_ 2389
+t_ 2073
+de 1939
+r_ 1910
+v 1890
+h 1789
+u 1782
+_s 1768
+ä 1724
+er 1709
+f 1597
+en_ 1537
+a_ 1526
+an 1357
+p 1320
+et 1317
+ö 1278
+å 1261
+st 1236
+ar 1226
+c 1191
+_d 1158
+e_ 1116
+in 1045
+_f 1027
+te 1000
+b 997
+_a 978
+s_ 974
+ra 958
+. 956
+tt 935
+_i 898
+_m 890
+._ 886
+ll 870
+ta 844
+_o 842
+_e 839
+nd 820
+ti 804
+sk 798
+re 779
+at 769
+_de 754
+om 743
+m_ 739
+ör 720
+, 697
+,_ 695
+ng 686
+li 673
+ka 666
+oc 662
+_h 654
+on 652
+et_ 647
+ch 645
+ns 643
+is 642
+er_ 630
+är 625
+_v 614
+_t 614
+ni 611
+i_ 609
+_oc 592
+tt_ 587
+na 586
+y 586
+la 579
+_b 579
+h_ 577
+kt 575
+ch_ 568
+ig 564
+fö 563
+och 555
+or 555
+_och 554
+och_ 554
+_och_ 553
+me 548
+den 548
+om_ 535
+_i_ 531
+d_ 530
+j 529
+ik 520
+de_ 520
+för 518
+ge 498
+ad 497
+_k 491
+_fö 487
+ri 484
+el 482
+il 481
+so 480
+al 474
+g_ 469
+le 464
+an_ 461
+_för 447
+si 437
+ar_ 437
+att 435
+_p 434
+es 420
+ing 413
+se 407
+to 404
+_u 403
+_en 403
+and 398
+den_ 395
+nde 393
+nn 393
+_l 391
+å_ 391
+D 385
+än 383
+nt 382
+l_ 381
+tr 378
+_D 372
+va 370
+am 369
+sa 367
+_so 365
+ga 364
+_en_ 361
+är_ 358
+ck 357
+av 354
+v_ 351
+ed 347
+ma 346
+da 346
+som 346
+rs 344
+som_ 344
+ve 342
+ter 341
+att_ 341
+ha 338
+ne 337
+ut 335
+as 332
+ska 329
+_at 327
+_att 326
+_som 324
+_att_ 324
+_som_ 323
+vi 322
+ikt 317
+_av 316
+det 316
+_den 315
+he 315
+ss 314
+un 307
+ke 304
+_g 303
+us 302
+di 302
+_st 300
+rn 297
+_me 296
+_ä 295
+ade 294
+" 290
+_ha 290
+av_ 289
+ill 288
+_n 286
+_in 279
+io 275
+_r 275
+der 275
+it 274
+_av_ 274
+sta 274
+gen 272
+isk 270
+_ti 269
+id 265
+na_ 265
+ns_ 264
+ko 262
+_den_ 261
+ag 258
+det_ 257
+lig 257
+era 256
+ll_ 255
+_det 252
+_är 251
+be 249
+_är_ 248
+ra_ 247
+ion 244
+- 241
+pr 240
+oni 233
+til 231
+ten 228
+_si 225
+k_ 222
+på 222
+fr 221
+ro 219
+till 219
+iv 216
+ls 216
+ande 215
+ör_ 214
+_det_ 213
+äl 212
+_på 211
+ts 210
+ens 209
+med 209
+mm 208
+rt 208
+_till 208
+_til 208
+_va 207
+_fr 205
+_sk 205
+var 205
+nin 204
+ning 203
+ol 201
+ka_ 200
+lle 198
+ett 198
+rd 197
+em 196
+på_ 195
+x 195
+rk 194
+_ut 194
+ste 194
+ds 193
+_vi 192
+år 192
+S 192
+nde_ 191
+are 191
+ver 190
+_på_ 190
+nis 189
+kr 189
+_med 188
+all 188
+ån 187
+nge 185
+mo 184
+os 183
+ld 182
+ade_ 181
+_S 181
+ed_ 180
+rä 176
+De 175
+_- 175
+kan 174
+ta_ 173
+ng_ 172
+vä 171
+för_ 170
+ill_ 170
+han 170
+_De 170
+pp 169
+lt 169
+sam 168
+nte 167
+ans 167
+ton 166
+ur 165
+mi 165
+ess 165
+kl 164
+ig_ 164
+ks 164
+as_ 163
+und 163
+men 162
+med_ 161
+_med_ 161
+ak 161
+Di 160
+ot 159
+rna 159
+ul 159
+_var 159
+te_ 158
+gen_ 158
+het 157
+kto 157
+str 156
+_Di 155
+tad 155
+lan 154
+ga_ 154
+iska 154
+fa 154
+fi 154
+så 154
+Dikt 153
+Dik 153
+pe 153
+ska_ 152
+ja 152
+H 151
+res 151
+ku 151
+iu 150
+ande_ 150
+till_ 150
+t. 150
+ern 150
+rm 149
+_Dikt 149
+_Dik 149
+ie 149
+bl 148
+-_ 147
+od 147
+_H 147
+n. 147
+ist 147
+_di 146
+ius 146
+_" 145
+la_ 145
+sl 145
+man 145
+ren 145
+_för_ 145
+toni 144
+kton 144
+n._ 144
+ktoni 144
+ikton 144
+I 144
+ikto 144
+nius 143
+ten_ 143
+onius 143
+oniu 143
+toniu 143
+ing_ 143
+Dikto 143
+niu 143
+_ko 143
+ic 142
+_sa 142
+_han 142
+ett_ 142
+sm 141
+ba 141
+M 141
+gr 140
+lä 140
+ex 138
+t._ 138
+sp 137
+lla 137
+_et 137
+_M 137
+dr 137
+rö 136
+rad 136
+ek 136
+_be 135
+tar 135
+_-_ 135
+_om 134
+rl 134
+E 134
+mä 133
diff --git a/test/user-template/user/fingerprint/tagalog.lm b/test/user-template/user/fingerprint/tagalog.lm
new file mode 100644
index 000000000000..bc87d38d0c92
--- /dev/null
+++ b/test/user-template/user/fingerprint/tagalog.lm
@@ -0,0 +1,400 @@
+_ 10664
+a 6092
+n 3421
+i 2332
+g 2149
+ng 1488
+an 1332
+g_ 1308
+ng_ 1243
+t 1155
+a_ 1138
+o 1137
+l 1105
+s 1067
+k 1035
+_n 957
+m 909
+y 801
+ang 787
+u 767
+ang_ 683
+p 682
+na 670
+_a 634
+la 596
+. 572
+in 561
+r 559
+sa 545
+_s 502
+._ 487
+ma 476
+ka 473
+_na 464
+b 462
+_m 458
+al 448
+d 445
+pa 414
+n_ 412
+at 394
+ak 393
+h 378
+ya 358
+_k 356
+ag 350
+ni 344
+_p 339
+_sa 335
+o_ 328
+ta 308
+_an 307
+iy 300
+sa_ 296
+_ang 294
+_ang_ 293
+t_ 290
+ay 286
+ga 283
+on 280
+it 275
+_sa_ 265
+ala 258
+_ng 256
+am 252
+_i 248
+_pa 248
+i_ 243
+na_ 243
+an_ 240
+e 239
+_ma 237
+_ka 235
+iya 231
+y_ 229
+il 228
+li 228
+w 226
+_ni 225
+_na_ 224
+_ng_ 220
+as 214
+ba 207
+si 206
+" 195
+ti 195
+ha 186
+, 179
+ar 178
+ing 173
+ra 173
+A 172
+ki 168
+ong 167
+_b 167
+ap 166
+,_ 162
+ong_ 161
+ko 159
+ay_ 159
+un 157
+ul 155
+yo 154
+to 152
+_l 150
+ah 148
+is 147
+hi 147
+_t 146
+lan 145
+ama 142
+niy 139
+at_ 138
+_niy 138
+aka 136
+wa 136
+niya 135
+_niya 135
+ab 134
+- 134
+di 133
+_si 132
+"_ 131
+aw 129
+_d 126
+_A 126
+yan 123
+ya_ 122
+ata 120
+a. 120
+gi 120
+P 120
+ing_ 118
+um 115
+o. 113
+aki 113
+ri 113
+ik 112
+nd 112
+ila 111
+mo 110
+da 110
+a._ 110
+in_ 109
+la_ 107
+ali 106
+S 106
+man 105
+ig 105
+iya_ 105
+s_ 104
+_ak 104
+_at 103
+_h 102
+yon 102
+asa 101
+ina 101
+_P 101
+n. 99
+N 98
+aa 98
+ga_ 97
+_mo 97
+_ba 97
+_" 95
+ito 94
+bi 94
+yang 94
+n._ 93
+pag 92
+lang 92
+yang_ 92
+_la 92
+o._ 90
+K 90
+_at_ 90
+tu 88
+_S 88
+ara 87
+nga 87
+ro 85
+apa 83
+rr 82
+lam 82
+lo 81
+nan 81
+_N 80
+aman 79
+aha 78
+mg 78
+mga 78
+mga_ 78
+_mga_ 78
+_mg 78
+_mga 78
+_K 78
+siy 77
+kan 76
+it_ 76
+san 76
+d_ 75
+ad 75
+di_ 74
+tin 74
+' 74
+ati 73
+siya 73
+kin 72
+M 72
+lang_ 71
+mo_ 70
+_mo_ 70
+ako 70
+uma 70
+_pag 69
+pi 69
+l_ 68
+_siy 68
+rrr 68
+_siya 67
+ula 67
+_M 66
+Pa 66
+iyo 66
+mi 66
+bu 66
+mu 65
+no 65
+pu 65
+nag 65
+ung 65
+Na 65
+ot 64
+_Na 64
+niya_ 64
+iyan 64
+ku 64
+k_ 63
+go 62
+awa 62
+ip 61
+_Pa 61
+lu 61
+_di 60
+pan 60
+_ta 60
+ini 60
+isa 60
+nt 60
+iyang 60
+_iyo 59
+_iy 59
+on_ 59
+tan 59
+mang 59
+aba 59
+gan 59
+ut 58
+I 58
+hin 58
+nak 58
+an. 57
+akin 57
+_r 57
+han 57
+Ka 57
+_ay 57
+_ako 56
+may 56
+iyon 56
+rrrr 55
+Sa 55
+aga 55
+to_ 55
+nit 55
+_ko 54
+er 54
+ib 54
+ari 54
+ana 54
+ili 54
+an._ 54
+ahi 54
+au 54
+ala_ 54
+gk 53
+pa_ 53
+_is 53
+rin 53
+ilan 52
+_kan 52
+_Ka 52
+_it 52
+_Sa 51
+king 51
+ko_ 51
+_nak 51
+gin 51
+_ay_ 50
+bo 50
+_iyon 50
+amang 50
+'y 49
+os 49
+mang_ 49
+_pa_ 49
+kat 49
+a, 49
+An 48
+Ma 48
+ny 48
+mag 48
+_ku 48
+_ito 48
+_ha 47
+yong 47
+? 47
+aking 47
+T 47
+ni_ 47
+yong_ 47
+_An 47
+king_ 47
+_akin 46
+sang 46
+_nag 46
+kas 46
+_aki 46
+_ni_ 46
+ayo 45
+kit 45
+'y_ 45
+mat 45
+_Ma 45
+lal 45
+ot_ 45
+nya 44
+ban 44
+ndi 44
+oo 44
+_u 44
+ngi 44
+_hi 44
+sang_ 44
+B 43
+su 43
+may_ 43
+rrrrr 43
+p_ 43
+ita 43
+wal 43
+ika 43
+abi 43
+aan 43
+_may 43
+lama 42
+naka 42
+mal 42
+_I 42
+_ri 42
+alan 42
+any 42
+im 42
+_pu 42
+ai 42
+wala 41
+anya 41
+a,_ 41
+_B 41
+ndi_ 41
+as_ 41
+pat 41
+po 41
+nang 41
+_mag 41
+laman 40
+lala 40
+kal 40
+g- 40
+.. 40
+ir 40
+! 40
+uk 40
+gu 39
+ito_ 39
+ro_ 39
+_g 39
+_da 39
+_isa 39
+_lam 39
+ilang 39
+kanya 39
+w_ 39
+kany 39
+agk 38
+pal 38
+ka_ 38
+_naka 38
+siya_ 38
+isan 38
diff --git a/test/user-template/user/fingerprint/tamil.lm b/test/user-template/user/fingerprint/tamil.lm
new file mode 100644
index 000000000000..8563707d5e9d
--- /dev/null
+++ b/test/user-template/user/fingerprint/tamil.lm
@@ -0,0 +1,400 @@
+_ 11468
+Õ 2697
+Ô 2533
+´ 1960
+» 1786
+½ 1249
+Â 1103
+Ù 990
+£ 976
+Ø 849
+¡ 847
+¨ 831
+¿ 821
+À 794
+¾ 758
+§ 750
+Á 721
+¹ 715
+¶ 713
+. 702
+£_ 671
+× 655
+â 648
+Æ 625
+._ 611
+ç 601
+Å 571
+¯ 557
+»Õ 556
+É 524
+_É 520
+¢ 518
+_½ 492
+Ç 489
+_× 488
+Þ 484
+_Ç 482
+¤ 461
+Ä 442
+¼ 418
+ÿ 416
+¥ 403
+§_ 398
+½Ô 373
+_Ø 368
+ª 360
+Í 359
+_Í 349
+»Ô 348
+´Õ 342
+à 337
+_Â 331
+õ 331
+¨_ 323
+_¼ 321
+¡´ 320
+_´ 310
+Õ¿ 308
+Ü 299
+¢» 294
+Ó 292
+´Ô 292
+ÿ» 290
+Õ§ 288
+¡Þ 284
+â_ 279
+ý 271
+õ´ 266
+ÂÕ 265
+_» 265
+¾Ô 241
+_¾ 234
+´ª 232
+= 231
+± 229
+¤½ 227
+== 221
+¶Õ 218
+»_ 218
+Õ§_ 213
+=== 211
+Õ_ 210
+==== 201
+ª_ 199
+´_ 198
+ÀÕ 197
+===== 191
+, 188
+ؽ 188
+¿Õ 187
+º 186
+_¶ 184
+,_ 184
+Ã 183
+Ô¯ 181
+¿_ 179
+Ô¨ 178
+å 172
+´ª_ 171
+ì 169
+ÙÁ 168
+¢»Õ 165
+¿Ô 165
+Ô_ 165
+ç¡ 164
+È 161
+Þ_ 160
+ͨ 160
+_ͨ 157
+« 156
+_È 156
+§Á 152
+Ô´ 152
+Ù» 151
+Ð 150
+_Ð 149
+ä 149
+ö 146
+ÕÅ 146
+Ø½Ô 145
+¯´ 143
+Ö 142
+׶ 142
+ÁÔ 142
+½Õ 140
+Á_ 139
+Ô§ 138
+_Éç 138
+Éç 138
+¶Ô 137
+Õ¨ 137
+Æ_ 136
+¢â 133
+_׶ 132
+ÔÆ 128
+¡´Õ 128
+ÀÔ 127
+¥¹ 127
+_Ë 127
+Ë 127
+_ؽ 127
+ÕÀ 125
+öÓ 125
+ÄÕ 124
+ÆÔ 122
+ÅÕ 121
+Þ£ 120
+Õç 119
+¼Ô 119
+×½ 119
+´Ù 119
+_å 118
+¯_ 118
+£. 117
+´ÕÅ 116
+»Õ¿ 115
+ÂÔ 115
+_ÂÕ 113
+â. 113
+×» 113
+£._ 112
+¡Þ_ 112
+ÕÙ 111
+Õ¡ 111
+ÙÄ 109
+×´ 109
+é 109
+â._ 108
+_½Ô 107
+Õ´ 106
+¤_ 105
+ÆÕ 104
+' 104
+½¹ 103
+ç_ 102
+¹Ô 102
+Ø´ 101
+¼Õ 100
+Éÿ 100
+_Éÿ 99
+_×» 99
+ÔÀ 98
+Éÿ» 98
+æ 98
+_×½ 97
+Å_ 97
+Ô» 97
+_Éÿ» 97
+Ô¨_ 97
+¹_ 97
+ß 96
+±Å 96
+×´Ô 96
+»Ô¨ 95
+¡Þ£ 94
+Õ¿_ 94
+Ø» 94
+ø 94
+ØÂ 93
+í 93
+_Ø½Ô 93
+¾Õ 93
+Õ¨_ 92
+ÿ»_ 91
+ÁÕ 91
+_Éç¡ 90
+Éç¡ 90
+Ðç 90
+ÕÆ 90
+_Ðç 90
+ÿ»Õ 90
+Ù¹ 89
+_´Ô 89
+_Ðç_ 88
+_¼Ô 88
+Ðç_ 88
+ì_ 86
+ç¡´ 86
+ÅÔ 86
+ÿâ 85
+¥à 85
+¯´ª 84
+¨Æ 84
+¨ì 83
+Ô¥ 83
+÷ 83
+_Þ 83
+´Ä 82
+à_ 81
+Ô´_ 81
+¨. 80
+_¾Ô 80
+¿Õ§ 80
+² 80
+ÕÁ 80
+Ä_ 79
+´ÙÄ 79
+_½¹ 79
+¨Å 79
+Ô£ 79
+Ǧ 78
+¡_ 78
+¨._ 77
+_¶Õ 77
+§ÁÔ 77
+_¼Õ 77
+ë 77
+Åâ 76
+Þ£_ 75
+ÔÆ_ 75
+Ù¾ 75
+¯ 75
+ÙÂ 74
+çÿ 73
+ýà 72
+è 72
+¨ì_ 71
+Ô§_ 71
+´ë 71
+¥Ü 71
+§Ù 70
+»Õ§ 70
+§ÙÁ 70
+£½ 69
+Ù»_ 69
+ªÄ 69
+ç¡Þ 69
+Ó_ 68
+Ôõ 68
+ؾ 67
+_Ø´ 67
+Õ¢ 66
+ÄÔ 66
+»Ô¨_ 66
+࣠66
+_Ç» 66
+Ç» 66
+Ô¹ 66
+Î 66
+¿Õ§_ 65
+Ôâ 65
+_»Õ 64
+¯. 64
+¹¢ 63
+Õ¥ 63
+Ô¡ 63
+_×´ 63
+_Î 63
+Ù´ 62
+´ÄÕ 62
+Õ¿Ô 62
+¯._ 61
+Éÿ»Õ 61
+_½Õ 61
+_×»Ô 61
+×»Ô 61
+Ôõ´ 61
+½¥ 60
+ÿ»Õ¿ 60
+_ä 60
+_Éÿ»Õ 60
+Ô¾ 60
+Ôç 59
+×¶Ô 59
+¡Þ£_ 59
+¤ä 59
+_ÇÙ 58
+ÿâ_ 58
+ÙÅ 58
+ÇÂ 58
+ÇÙ 58
+Éÿ»Õ¿ 58
+ºÕ 58
+»À 57
+½Ô¯ 57
+¹£ 57
+ýº 57
+_ÇÂ 57
+æ£ 56
+ÔÁ 56
+_×¶Ô 55
+? 55
+ý¹ 54
+ÃÕ 54
+ÙÆ 54
+»Õç 54
+_×´Ô 54
+´ÕÅâ 53
+»Õ¿_ 53
+_À 53
+ÕÅâ 53
+¡´ÕÅ 53
+ç¡´Õ 52
+ÇÀ 52
+ÙÄ_ 52
+× 51
+Ü_ 51
+'_ 51
+_ÇÀ 51
+ÔÂ 51
+ꬓ 51
+Âç 51
+î 51
+â¡ 51
+_ꬓ 51
+À_ 51
+Õ¿Õ 51
+ÙÀ 51
+_ɧ 50
+ɧ 50
+½ý 50
+»Õ§_ 50
+×½Ô 50
+±ÅÕ 50
+»¾ 49
+à£_ 49
+Ôà 49
+õ´ª 49
+´¥ 49
+»Õ_ 49
+»ÕÀ 48
+¶Ô§ 48
+ç£ 48
+Õ¡´ 48
+Õ¤ 48
+ÕØ 48
+À£ 48
+ÀÕ¿ 48
+_Éç¡´ 47
+æ£_ 47
+ê 47
+ꬓ_ 47
+׶ԧ 47
+Éç¡´ 47
+Â_ 47
+_ꬓ_ 47
+?_ 46
+Ø¿ 46
+Ô¿ 46
+_Ø» 46
+¹õ 46
+_Ù 46
+õ´ª_ 46
+è£ 45
+´ÙÄ_ 45
+¢Ù» 45
+¢Ù 45
+»Ù 45
+_×½Ô 44
+½Ü 44
+Ô£_ 44
+ÕÆÕ 44
+´Ø 44
+á 44
+´£ 44
+½Ôâ 44
+ÁÔ£ 44
+Á. 44
+_׶ԧ 43
+´ë¡ 43
diff --git a/test/user-template/user/fingerprint/thai.lm b/test/user-template/user/fingerprint/thai.lm
new file mode 100644
index 000000000000..e4b65ecdad56
--- /dev/null
+++ b/test/user-template/user/fingerprint/thai.lm
@@ -0,0 +1,400 @@
+_ 6290
+Ò 5252
+Ã 4377
+¹ 3920
+¡ 3050
+è 2984
+Í 2657
+§ 2522
+Ñ 2454
+Á 2369
+é 2304
+à 2158
+Â 1981
+Ç 1908
+Õ 1693
+Å 1543
+Ô 1443
+´ 1422
+· 1398
+µ 1398
+» 1301
+Ë 1245
+Ð 1239
+¤ 1210
+º 1181
+Ê 1081
+¨ 1045
+ä 978
+ÒÃ 951
+¾ 907
+ª 892
+èÒ 829
+á 795
+¡Ò 735
+ã 722
+¡ÒÃ 710
+¢ 691
+ÒÂ 688
+× 668
+ͧ 595
+. 588
+ç 553
+Ø 543
+ÃÑ 532
+Õè 528
+ÃÐ 522
+»Ã 522
+·Õ 477
+Ù 452
+·Õè 451
+èÍ 443
+¹Ò 441
+Ó 422
+Ò§ 419
+éÒ 414
+ì 388
+¹_ 378
+ÃÃ 367
+ÒÁ 360
+° 354
+Ѻ 349
+Ò_ 347
+éÍ 345
+»ÃÐ 340
+Çè 337
+ÃÒ 337
+Áè 336
+ÇèÒ 336
+à» 334
+Ò¹ 333
+Ñé 332
+¡Ã 328
+´é 325
+Ö 322
+_à 320
+ç¹ 314
+À 313
+ÁÒ 299
+ѧ 297
+Ò¡ 297
+×Í 296
+äÁ 295
+Ñ° 293
+ÃÑ° 293
+×è 290
+â 289
+äÁè 288
+¸ 285
+ã¹ 280
+¼ 273
+è§ 268
+¹ÒÂ 268
+é¹ 266
+¾Ã 263
+ѹ 263
+³ 263
+áÅ 256
+¹¡ 254
+ËÒ 253
+§¡ 252
+×èÍ 251
+ÁÕ 251
+ä´ 248
+­ 248
+ä´é 248
+¨Ð 248
+»ç¹ 247
+à»ç¹ 247
+ȍ 247
+à»ç 247
+Í¡ 245
+ÇÒ 245
+ãË 244
+¶ 244
+ªÒ 243
+µÔ 241
+_á 240
+¡Ñ 238
+È 237
+_¡ 236
+µè 234
+« 227
+éÇ 225
+é§ 221
+É 216
+¡ 214
+ä 213
+ÕÂ 211
+Ñé§ 211
+ÃÁ 211
+¢Í 210
+Ô¹ 209
+èÇ 206
+Õé 202
+ÅÐ 202
+˹ 201
+¹Ñ 201
+_¹ 200
+µÃ 197
+Ëé 196
+§_ 193
+Á¹ 191
+Ðà 191
+ÀÒ 188
+ÍÂ 188
+ÒÇ 186
+¢Í§ 184
+¹Õ 184
+ãËé 183
+¤Ç 183
+ÃÕ 181
+§à 180
+¡Å 179
+áÅÐ 178
+èÒ§ 177
+èÒ_ 176
+Ãä 176
+_¾ 176
+¤ÇÒÁ 174
+¹µ 174
+ÇÒÁ 174
+¤ÇÒ 174
+Ñ´ 172
+Ô´ 172
+ÇèÒ_ 171
+¾Ãà 167
+¨Ò 167
+͹ 167
+Òµ 167
+¹Õé 167
+¾Ãä 166
+¡ç 166
+¤Ã 165
+¹à 165
+è¹ 163
+ºÒ 162
+¢é 161
+§ã 161
+Õ_ 161
+ì_ 154
+ËÅ 154
+Á× 154
+éͧ 151
+¹¡Òà 151
+¹¡Ò 151
+ä» 150
+Ñ¡ 150
+é_ 148
+ÃÒÂ 147
+µÑ 146
+¹· 146
+ÅÑ 146
+Â_ 146
+ྠ145
+Åé 140
+à¡ 139
+¨Ò¡ 139
+àÁ 138
+ÃÔ 138
+¾Å 137
+Ã× 136
+·Ñ 135
+¡Ñº 134
+Ò¡ 133
+_Ã 132
+ºÃ 132
+§ä 132
+Ãà 131
+à· 130
+Åè 129
+ÒµÔ 129
+_· 128
+¡Ô 128
+µÃÕ 128
+ÃѺ 128
+Õ¡ 128
+àË 127
+¹Í 127
+µé 126
+_¹Ò 126
+ªÒµÔ 126
+ÅÒ 126
+ªÒµ 126
+¹Ç 126
+Òà 126
+_áÅ 125
+§¹ 124
+§¤ 124
+¡ÒÃà 124
+ÒÃà 124
+ÍÁ 123
+Ò¤ 122
+  122
+áµ 122
+àÊ 121
+ÇÑ 121
+Ñé¹ 120
+ÃÃÁ 120
+Ò· 119
+¹µÃ 119
+èÒÇ 118
+áµè 118
+§· 117
+ǹ 117
+ÂÑ 117
+Á¹µÃ 117
+¹µÃÕ 117
+Á¹µ 117
+Á¹µÃÕ 117
+ÃÍ 116
+Ùé 116
+_¹ÒÂ 116
+àÁ× 116
+°Á¹ 115
+àà 115
+ÃÑ°Á¹ 115
+ËÁ 115
+ࢠ115
+Ñ°Á 115
+Í. 115
+Ñ°Á¹µ 115
+ÃÑ°Á 115
+°Á¹µ 115
+Ñ°Á¹ 115
+°Á¹µÃ 115
+°Á 115
+_áÅÐ 113
+éà 113
+Ãè 113
+èÁ 112
+㨠112
+_Ê 112
+¹Ñé 111
+Ô» 111
+¹Ñé¹ 111
+èà 111
+èä 110
+_Í 110
+Âà 110
+_¨ 110
+Ò¨ 109
+»ÃÒ 108
+¹Ò¡ 108
+_Ë 107
+Ñ­ 107
+éÒ¹ 107
+¨Ñ 106
+§¡Ò 106
+_¤ 106
+§¡Òà 105
+ÇÂ 105
+Ôµ 105
+¹é 105
+ÒÅ 103
+´Â 102
+è_ 102
+ÃÐà 102
+àÍ 102
+¹¹ 102
+ÍÒ 101
+â´ 100
+µéÍ 100
+ªè 100
+_ä 99
+ÇÅ 99
+µéͧ 99
+â´Â 99
+Ã_ 98
+Ъ 98
+¾Ñ 98
+»ÃÐà 98
+¡à 97
+Öè§ 97
+¡_ 97
+Öè 97
+Òª 97
+é¹_ 96
+ÅÔ 96
+Ñ°º 94
+Ò¾ 94
+ÃÑ°º 94
+¼Ù 94
+°º 94
+Âè 93
+¹ä 93
+·Ò 93
+°ºÒ 92
+ÅèÒ 92
+Å. 92
+Ñ°ºÒ 92
+¡Ñ¹ 92
+Ñ°ºÒÅ 92
+§Ã 92
+ÃÑ°ºÒ 92
+ºÒÅ 92
+°ºÒÅ 92
+Ö§ 92
+.Í 91
+¢éÒ 91
+á 91
+_¾Å 90
+ÍÂè 90
+¾Å. 90
+Íà 90
+ÍÂèÒ 90
+ÂèÒ 90
+¡ÃÐ 89
+.Í. 89
+ÂèÒ§ 89
+Õé_ 89
+ÍÂèÒ§ 89
+儤 89
+ÊØ 89
+µèÍ 88
+ͺ 88
+_â 88
+Å.Í 87
+èͧ 87
+ÃЪ 87
+Áà 87
+ÂÇ 87
+Åѧ 87
+¾Å.Í. 87
+Å.Í. 87
+¹Õé_ 87
+à´ 87
+Á¡ 87
+¼Ùé 87
+ÇÔ 87
+¾Å.Í 87
+»ÃЪ 87
+Ȅ 87
+' 86
+ÊÔ 86
+Êè 86
+Áèä 86
+_¾Å. 86
+·Ò§ 86
+ÇÁ 85
+¡à 85
+§ 85
+._ 85
+¡ÃÑ 85
+ÍÀ 85
+ªÇ 84
+ÒÐ 84
+¹éÒ 84
+¡ÃÑ° 84
+ÀÔ 84
+·Ó 84
+ËÒÃ 84
+_¾Å.Í 84
+ÍÍ 83
+§Ê 83
+ÍÀÔ 83
+äÁèä 83
+ѵ 82
+»ÃÒ 82
+¤¹ 82
+Í_ 82
diff --git a/test/user-template/user/fingerprint/turkish.lm b/test/user-template/user/fingerprint/turkish.lm
new file mode 100644
index 000000000000..553be45fd735
--- /dev/null
+++ b/test/user-template/user/fingerprint/turkish.lm
@@ -0,0 +1,400 @@
+_ 23226
+i 8957
+a 7675
+e 6219
+n 5169
+& 4950
+; 4950
+l 4674
+r 4464
+&i 3206
+&i; 3206
+i; 3206
+s 3206
+k 3009
+d 2977
+t 2442
+m 2010
+y 2001
+u 1885
+n_ 1725
+g 1584
+o 1567
+b 1470
+e_ 1426
+ü 1353
+ar 1273
+la 1236
+a_ 1209
+i_ 1169
+in 1124
+_b 1101
+an 1097
+er 1073
+le 1058
+s; 1036
+&s; 1036
+&s 1036
+;_ 1018
+de 936
+;n 918
+&i;n 917
+i;n 917
+,_ 872
+_, 872
+_,_ 872
+, 872
+i;_ 863
+&i;_ 863
+_k 816
+en 769
+r_ 762
+_y 759
+da 759
+il 759
+k_ 750
+z 739
+nd 725
+&g; 708
+g; 708
+&g 708
+ra 697
+_a 692
+_d 692
+_s 676
+' 673
+_i 644
+._ 641
+. 641
+_. 637
+_._ 637
+c 637
+ka 635
+v 632
+;& 624
+h 615
+_g 597
+ri 596
+ç 596
+lar 583
+li 580
+ma 559
+ya 555
+ler 553
+p 547
+re 529
+al 529
+ö 527
+_t 520
+ir 508
+ak 502
+bi 500
+;l 480
+in_ 478
+di 477
+r& 468
+el 453
+et 449
+ek 445
+n& 439
+_o 439
+ol 437
+da_ 434
+n&i 433
+n&i; 433
+ni 429
+ti 428
+de_ 425
+an_ 422
+eri 421
+r&i 417
+r&i; 417
+s& 413
+s&i 413
+s&i; 413
+ar& 412
+me 407
+te 405
+a& 404
+i& 390
+ay 387
+ne 380
+_bi 373
+_ka 368
+ar&i; 367
+ar&i 367
+u_ 363
+as 363
+_e 362
+ta 359
+&i;l 352
+i;l 352
+nda 350
+ki 347
+na 346
+si 343
+_v 337
+;&i; 334
+;&i 334
+ve 334
+ara 333
+en_ 332
+;i 331
+on 328
+un 326
+l&i; 322
+l& 322
+l&i 322
+leri 322
+ba 318
+_m 318
+ik 315
+mi 315
+f 306
+lar& 302
+lar&i 302
+sa 298
+_h 297
+ld 296
+&i;& 290
+i;& 290
+_ve 288
+l_ 287
+ge 286
+is 285
+ed 285
+i&s; 284
+i&s 284
+;r 282
+_ya 279
+_ol 279
+d&i; 278
+d& 278
+d&i 278
+nl 277
+kl 275
+;k 274
+&i;n_ 271
+;n_ 271
+i;n_ 271
+ile 270
+or 269
+iy 267
+a&s 264
+a&s; 264
+y&i; 262
+ad 262
+y& 262
+y&i 262
+ye 259
+ha 258
+es 258
+t& 257
+t&i 257
+t&i; 257
+ini 253
+;nd 253
+i;nd 253
+ür 253
+&i;nd 253
+se 248
+_ge 248
+i;nda 248
+;nda 248
+;n&i; 247
+i;n& 247
+;n& 247
+&i;n& 247
+i;n&i 247
+;n&i 247
+bu 245
+_' 245
+_ba 244
+as&i 242
+as&i; 242
+_de 242
+as& 242
+at 240
+am 240
+nda_ 239
+ar_ 231
+ve_ 230
+rin 230
+_ve_ 228
+_bu 227
+im 227
+&i;r 226
+i;r 226
+ur 221
+g;&i 220
+g;& 220
+&g;& 220
+yo 220
+&g;&i 220
+g;&i; 220
+ul 215
+ak_ 215
+ke 213
+nu 213
+erin 211
+g;i 208
+&g;i 208
+lan 207
+bir 205
+r&i;n 205
+nde 202
+rl 202
+n&i;_ 201
+ko 201
+ca 200
+m_ 197
+rd 196
+t_ 194
+er_ 194
+st 193
+em 193
+_sa 190
+lm 189
+rt 188
+_ü 187
+i;k 187
+ün 187
+ola 187
+&i;k 187
+lerin 185
+ce 185
+'_ 185
+;m 183
+az 183
+rk 182
+yü 182
+;la 181
+_bir 181
+ir_ 180
+n&i;n 180
+ru 180
+lu 180
+;nda_ 178
+e& 177
+_ç 176
+_ha 175
+_ko 173
+esi 171
+_ö 170
+ap 170
+ni_ 168
+tü 167
+den 164
+ind 161
+di_ 161
+be 161
+s&i;n 160
+nin 159
+üz 158
+ri_ 155
+y&i;l 155
+_p 154
+nin_ 153
+&s;_ 152
+_y& 152
+edi 152
+s;_ 152
+_y&i; 152
+_y&i 152
+yl 151
+le_ 151
+inde 150
+eti 150
+ala 150
+&i;&s 149
+ele 149
+i;&s; 149
+;&s; 149
+;&s 149
+i;&s 149
+ek_ 148
+ere 148
+çi 147
+du 145
+ön 145
+z_ 144
+na_ 144
+eri_ 143
+ec 142
+gö 142
+i;&g; 141
+s&i;_ 141
+bir_ 141
+&i;&g 141
+i;&g 141
+ah 141
+;&g; 141
+;&g 141
+_gö 140
+lar_ 140
+eli 140
+a&g; 140
+a&g 140
+dan 140
+ac 140
+iç 140
+an& 140
+u& 139
+;&g;& 138
+_yü 138
+an&i 138
+an&i; 138
+pa 138
+it 137
+_ola 137
+_bir_ 136
+;t 135
+ör 135
+ne_ 135
+ini_ 134
+lma 134
+kan 133
+ab 132
+to 131
+ba& 131
+kar 130
+r&i;_ 130
+_ar 129
+ili 129
+li_ 129
+ki_ 128
+bu_ 127
+anl 127
+dü 127
+ler_ 126
+_ba& 126
+kon 126
+ll 125
+tl 125
+ine 125
+e&g; 124
+e&g 124
+_il 124
+_bu_ 124
+re_ 124
+bil 123
+&s;i 123
+;&i;n 123
+s;i 123
+ede 123
+zd 123
+'' 122
+_da 122
+_'' 122
+_tü 122
+ret 122
+_-_ 121
+_''_ 121
+mas 121
+''_ 121
+- 121
+dan_ 121
+leri_ 121
+;u 121
+_- 121
+ev 121
diff --git a/test/user-template/user/fingerprint/ukrainian.lm b/test/user-template/user/fingerprint/ukrainian.lm
new file mode 100644
index 000000000000..438bbdabae46
--- /dev/null
+++ b/test/user-template/user/fingerprint/ukrainian.lm
@@ -0,0 +1,400 @@
+_
+╕
+п
+_п
+и_
+_в
+╕_
+а_
+о_
+е_
+_т
+ов
+_з
+_д
+у_
+в╕
+.
+_с
+ли
+ро
+в_
+на
+по
+ти
+ор
+_к
+ит
+ин
+╕д
+"
+_б
+я_
+до
+ви
+ом
+ко
+_н
+пр
+╓
+ра
+ни
+._
+то
+од
+ка
+ло
+_по
+ри
+м_
+ю_
+ки
+_пр
+ал
+н╕
+ть
+_м
+ен
+ол
+ер
+,
+го
+ь_
+ою
+"_
+_до
+ар
+за
+й_
+на_
+_в_
+во
+ил
+бу
+та
+╖
+_щ
+ав
+ки_
+_╕
+що
+об
+да
+уд
+д╕
+мо
+_бу
+_╕_
+ть_
+ог
+_за
+,_
+╕в
+_ц
+╕н
+ою_
+╕л
+ст
+п╕
+де
+ат
+ос
+те
+ну
+не
+_що
+_в╕
+в╕д
+_о
+дн
+ти_
+ла
+а╓
+ли_
+ого
+т╕
+он
+о╖
+хо
+ик
+_ч
+ле
+_р
+╖_
+л╕
+ц╕
+_П
+ом_
+що_
+но
+р╕
+ду
+ить
+_п╕
+ьк
+н╕_
+_"
+же
+з_
+_не
+ся
+аж
+_г
+╓_
+х_
+_ви
+ис
+_то
+оро
+ва
+нн
+_л
+ов╕
+_що_
+ди
+про
+_мо
+ль
+му
+ем
+н_
+ий_
+_т╕
+ати
+Я_
+ще
+_про
+оди
+оло
+рт
+ак
+ить_
+ад
+о╖_
+ив
+ля
+ий
+_я
+_Н
+го_
+до_
+_З
+_ка
+п╕д
+ня
+_ко
+_на
+че
+чи
+_со
+_ст
+а╓_
+_з_
+же_
+при
+ся_
+ови
+б╕
+ка_
+╕й
+ого_
+пе
+би
+╕ль
+╕т
+к_
+_буд
+ма
+со
+си
+буд
+св
+пов
+оз
+ок
+_при
+оч
+тор
+ур
+га
+уде
+аз
+ел
+ан
+их_
+╕льк
+ити
+ен╕
+к╕
+ому
+их
+ен╕_
+льк
+_до_
+_х
+ве
+ОС
+му_
+_п╕д
+не_
+ння
+зн
+буде
+ча
+ому_
+али
+╕я
+ц╕_
+ин_
+_буде
+╕р
+╕с
+ння_
+д_
+!
+чен
+ов╕д
+_пра
+дов
+льки
+ув
+ру
+ре
+гр
+_пер
+_не_
+╕да
+тер
+рон
+Й_
+енн
+рн
+пер
+им
+ши
+╕льки
+ла_
+льки_
+шо
+ба
+_й
+."
+в╕р
+_т╕ль
+ход
+ьки
+_соб
+иш
+дем
+сто
+_С
+_К
+ви_
+арти
+_сто
+_В
+СТ
+вя
+нк
+вч
+вс
+дно
+_л╕
+т╕л
+!_
+_ки
+_у
+╕й_
+ван
+ьки_
+ня_
+т╕ль
+чо
+рти
+бит
+ення
+ину
+_св
+вин
+д╕_
+пра
+ну_
+каж
+_па
+_пе
+_за_
+удем
+будем
+т╕льк
+арт
+кою
+ьо
+па
+I
+зна
+але
+щен
+."_
+аже
+пов╕
+за_
+_ро
+_гр
+ми
+_т╕л
+соб
+РО
+_в╕д
+карт
+каже
+*
+ЗА
+_стор
+╕нк
+ож
diff --git a/test/user-template/user/fingerprint/vietnamese.lm b/test/user-template/user/fingerprint/vietnamese.lm
new file mode 100644
index 000000000000..14221268dc1e
--- /dev/null
+++ b/test/user-template/user/fingerprint/vietnamese.lm
@@ -0,0 +1,400 @@
+_ 88044
+n 17000
+h 12823
+t 9071
+i 8490
+c 8394
+g 8035
+ng 6718
+_t 6352
+_c 5234
+a 5083
+g_ 4883
+ng_ 4882
+_n 4379
+n_ 4365
+i_ 4365
+u 4149
+m 3648
+à 3635
+nh 3480
+o 3451
+Ç 3193
+_Ç 3168
+r 3011
+l 2692
+Ü 2659
+, 2328
+,_ 2295
+c_ 2279
+_l 2263
+ch 2226
+v 2161
+th 2158
+a_ 2132
+_th 2113
+y 2111
+. 2107
+t_ 2106
+h_ 2074
+_v 2057
+_h 1888
+_m 1834
+_ch 1813
+s 1749
+nh_ 1715
+u_ 1679
+á 1668
+à_ 1649
+tr 1611
+b 1589
+_tr 1581
+_nh 1541
+_b 1530
+m_ 1505
+p 1483
+._ 1455
+k 1429
+_s 1415
+o_ 1380
+y_ 1371
+_k 1367
+_ng 1348
+© 1343
+e 1296
+ó 1208
+‰ 1199
+ô 1181
+¶ 1139
+å 1132
+T 1126
+hi 1121
+â 1081
+ì 1058
+ê 1055
+d 1040
+_g 1039
+kh 1034
+_kh 1027
+_T 994
+©i 967
+là 943
+_là 941
+" 926
+ä 916
+Ü© 901
+an 893
+_d 888
+Ó 877
+©i_ 859
+on 853
+Ã 848
+N 846
+Š 820
+ó_ 813
+Π801
+ôn 795
+ph 776
+_p 772
+_ph 752
+û 752
+§ 734
+hÜ 728
+ho 715
+và 709
+_và 703
+gÜ 702
+® 700
+_r 696
+H 693
+_là_ 691
+là_ 691
+Ü©i 684
+àn 679
+ên 677
+ông 676
+ha 672
+gi 663
+C 656
+_gi 655
+Ö 654
+gܩi 646
+gܩ 646
+Ü©i_ 624
+ông_ 610
+ngÜ 610
+_ngÜ 608
+ác 606
+ú 601
+ngܩ 600
+ngܩi 600
+_ngܩ 598
+gܩi_ 594
+ûa 587
+cû 586
+_cû 585
+¶t 585
+cûa 585
+ên_ 585
+_cûa 584
+có 583
+ûa_ 582
+_có 581
+cûa_ 581
+ã 581
+_cûa_ 580
+¶t_ 578
+_N 574
+có_ 574
+» 573
+_có_ 572
+iΠ568
+À 562
+‹ 562
+m¶ 557
+_C 553
+_m¶ 551
+p_ 540
+Æ 540
+m¶t 538
+m¶t_ 534
+_m¶t 532
+ìn 528
+_m¶t_ 528
+ti 526
+i‰ 525
+Ù 517
+Î 512
+ình 500
+.. 500
+† 497
+và_ 497
+_và_ 496
+æ 491
+q 490
+qu 490
+_H 487
+_q 484
+_qu 484
+ong 481
+ong_ 471
+há 471
+x 470
+hô 468
+¿ 466
+_" 460
+Ü® 456
+ro 453
+ình_ 445
+ì_ 434
+_x 434
+ã_ 427
+í 423
+_ti 423
+in 422
+ân 421
+"_ 418
+iŠ 415
+Ön 413
+ron 412
+V 411
+rong 410
+§i 410
+rong_ 409
+ác_ 405
+ª 400
+‰n 399
+hôn 398
+åi 395
+ay 390
+_V 387
+h» 382
+hà 380
+ày 377
+Ãt 376
+uy 374
+ÇÜ 374
+_ÇÜ 373
+§i_ 372
+cá 371
+_cá 367
+nà 366
+‹_ 366
+hú 366
+_nà 365
+ra 363
+hông 362
+ho_ 359
+ân_ 356
+án 356
+° 355
+åi_ 354
+ai 352
+hu 352
+cho 352
+ܮc 351
+®c 351
+Ón 351
+_cho 349
+tro 347
+‰t 347
+ào 347
+_tro 346
+_tron 346
+ñ 346
+tron 346
+trong 346
+M 345
+khô 340
+âu 338
+_khô 338
+cho_ 337
+_cho_ 336
+hông_ 336
+ay_ 333
+ch_ 332
+Çã 331
+Ãt_ 331
+( 331
+_( 330
+Ò 329
+_Çã 329
+ÇÜ® 328
+_ÇÜ®c 328
+) 328
+ÇÜ®c 328
+_ÇÜ® 328
+khôn 324
+_ñ 324
+_khôn 322
+Çã_ 322
+_Çã_ 320
+ò 318
+ån 318
+không 316
+ào_ 316
+ܮc_ 316
+®c_ 316
+nhÜ 315
+Ü_ 315
+»ng 313
+»ng_ 313
+»n 313
+_nhÜ 313
+Th 312
+hì 311
+Û 310
+h»n 310
+h»ng_ 310
+h»ng 310
+iê 309
+gh 309
+Šu 307
+ta 307
+anh 307
+¡ 307
+ai_ 306
+àng 306
+ày_ 304
+ÇÜ®c_ 298
+ÜÖ 295
+S 295
+: 294
+‰t_ 294
+e_ 294
+:_ 290
+Î_ 289
+ua 288
+æn 288
+ài 286
+Šu_ 285
+_nh» 285
+nh» 285
+nh»ng 285
+nh»n 285
+_nh»n 285
+_Th 285
+‰n_ 284
+Œn 283
+Ø 281
+_M 281
+A 281
+úc 278
+L 277
+ø 277
+ÜÖn 276
+_ha 276
+n, 275
+Öng 275
+ÜÖng 275
+an_ 272
+ài_ 271
+iŠu 269
+sÓ 269
+n,_ 268
+¿_ 268
+on_ 267
+_sÓ 267
+các 265
+àng_ 265
+_các 264
+anh_ 264
+ngh 264
+_ta 263
+hi_ 262
+hàn 261
+Š_ 261
+âu_ 261
+Àn 260
+ù 260
+_ngh 257
+ia 255
+¢ 252
+... 252
+êu 251
+Ùc 251
+i, 249
+iŠu_ 248
+nhi 247
+B 246
+i,_ 245
+Óng 244
+ª_ 244
+co 244
+_nhi 244
+¥ 244
+ܧ 244
+iên 243
+D 243
+Tr 241
+_S 240
+hÜ_ 239
+òn 237
+hà 236
+hÆ 233
+K 233
+Öng_ 232
+ôi 232
+ÜÖng_ 232
+Àn_ 231
+_co 231
+Œn_ 229
+hå 229
+äi 229
+yê 229
+Ûn 229
+¢n 228
+Ûng 228
+_L 227
+Ûng_ 226
+inh 226
+Çi 225
+mà 225
+_Çi 225
+ng, 224
+ang 224
+P 224
+Šn 224
+g, 224
+g,_ 223
+_v§ 223
diff --git a/test/user-template/user/fingerprint/welsh.lm b/test/user-template/user/fingerprint/welsh.lm
new file mode 100644
index 000000000000..c25d4a410bef
--- /dev/null
+++ b/test/user-template/user/fingerprint/welsh.lm
@@ -0,0 +1,400 @@
+_ 78614
+a 18113
+d 17890
+y 16837
+e 14108
+n 13902
+r 13869
+i 12928
+o 9972
+l 9188
+h 7454
+g 7165
+w 7010
+t 6296
+f 6080
+u 5400
+n_ 5159
+_y 5051
+dd 4946
+s 4884
+r_ 4547
+m 4364
+d_ 4223
+yn 4082
+_a 4020
+c 3707
+th 3301
+u_ 2900
+yd 2900
+ae 2649
+l_ 2588
+_g 2547
+. 2460
+' 2458
+._ 2408
+wy 2334
+yn_ 2331
+_d 2307
+b 2267
+ym 2262
+ra 2261
+an 2235
+ar 2228
+ol 2218
+ia 2212
+i_ 2199
+ed 2191
+_yn 2038
+_i 2020
+y_ 1983
+_c 1934
+_yn_ 1861
+ei 1815
+it 1796
+g_ 1787
+ith 1779
+dd_ 1745
+h_ 1741
+ydd 1731
+ai 1709
+au 1708
+'r_ 1655
+'r 1655
+_y_ 1621
+di 1615
+, 1613
+,_ 1608
+da 1585
+od 1546
+_o 1535
+ad 1532
+th_ 1510
+ll 1494
+au_ 1492
+_s 1415
+er 1359
+o_ 1350
+io 1311
+a_ 1299
+ol_ 1294
+_e 1273
+_h 1249
+cy 1246
+yr 1243
+en 1228
+p 1217
+_f 1212
+_cy 1203
+mr 1200
+gy 1193
+ymr 1185
+ha 1172
+hy 1164
+eg 1159
+do 1151
+edd 1147
+G 1134
+we 1107
+C 1089
+_ar 1078
+_m 1075
+yf 1057
+de 1048
+fe 1047
+_G 1045
+ch 1043
+rae 1023
+el 1016
+no 1010
+ni 1010
+_b 1009
+ne 1001
+ef 992
+ri 983
+et 978
+_C 957
+_gy 952
+_a_ 943
+eth 943
+_. 940
+_._ 939
+eit 930
+eith 927
+ys 921
+wyd 912
+ga 901
+_i_ 893
+s_ 887
+mrae 878
+mraeg 878
+raeg 878
+ymrae 878
+aeg 878
+ymra 878
+mra 878
+_p 856
+aet 850
+aeth 850
+_n 844
+un 838
+on 836
+ait 833
+aith 833
+nn 830
+at 827
+oe 823
+li 805
+_r 801
+ddi 795
+gw 789
+ma 783
+le 777
+nt 772
+ho 769
+ff 766
+yr_ 764
+na 753
+la 748
+rh 747
+eg_ 734
+si 733
+ng 732
+dol 732
+ro 718
+al 712
+_dd 706
+wn 705
+oed 705
+Gy 704
+dy 701
+Cy 696
+o' 692
+ar_ 691
+ny 690
+Gym 678
+wr 677
+id 676
+_Gy 672
+_o_ 668
+Gymr 667
+if 662
+ith_ 662
+_ar_ 660
+iad 657
+_w 657
+fo 656
+eu 655
+aeg_ 650
+raeg_ 650
+aith_ 648
+or 648
+_Gym 646
+fa 642
+re 638
+_Cy 638
+_Gymr 635
+_gw 633
+fy 633
+oedd 633
+edd_ 629
+rd 627
+od_ 622
+ac 619
+ddo 612
+an_ 607
+Gymra 606
+er_ 605
+A 604
+eth_ 601
+hw 596
+ydd_ 591
+o'r 586
+o'r_ 586
+es 583
+ir 579
+dw 573
+go 559
+yl 548
+rw 545
+aeth_ 545
+wydd 543
+aw 539
+_rh 539
+dr 537
+ly 537
+fn 534
+dau 533
+_hy 531
+t_ 531
+sg 529
+'n 529
+* 528
+'n_ 523
+_* 522
+nyd 521
+nydd 521
+M 519
+st 518
+Y 516
+sy 515
+yd_ 513
+lw 512
+_ga 508
+iai 503
+il 502
+_l 499
+rt 494
+ad_ 493
+_yr 493
+_yr_ 492
+as 492
+dol_ 492
+f_ 491
+dda 491
+ig 490
+og 484
+wa 479
+he 478
+iaith 477
+iait 477
+oedd_ 475
+_ma 473
+c_ 472
+Cym 470
+te 469
+_ym 467
+am 467
+_M 465
+_ia 462
+efn 462
+i' 460
+ie 458
+_Cym 458
+_ac 457
+dau_ 456
+yw 455
+ew 453
+fr 441
+fod 441
+_A 441
+du 437
+_sy 434
+e_ 432
+wi 426
+Cymr 426
+se 425
+B 424
+D 424
+_Cymr 423
+bl 423
+lu 420
+in 417
+_t 417
+tr 414
+ac_ 413
+wed 410
+os 410
+_iai 407
+_iait 407
+el_ 405
+_ac_ 405
+rha 404
+m_ 404
+is 403
+on_ 401
+eu_ 393
+hi 393
+rdd 393
+id_ 389
+_Y 388
+ry 387
+odd 387
+rwy 387
+rf 386
+io_ 380
+ynn 380
+cyf 380
+hr 380
+_cyf 379
+yddi 379
+cyn 372
+_de 372
+rth 371
+ru 368
+S 363
+wei 363
+ysg 362
+_B 362
+u' 361
+yddo 360
+wn_ 360
+so 359
+dio 359
+_ei 358
+N 356
+dwy 355
+_da 353
+me 353
+gan 353
+gyf 353
+w_ 352
+_o' 351
+fer 349
+nol 347
+hyn 346
+ddy 346
+af 346
+ta 343
+ddol 343
+_fe 340
+nd 340
+mae 338
+_cyn 338
+efnyd 337
+fnydd 337
+fny 337
+efny 337
+fnyd 337
+iad_ 335
+_mae 333
+ion 333
+_ll 330
+def 330
+_gyf 327
+nt_ 326
+i'r_ 326
+- 326
+i'r 326
+weith 325
+weit 325
+defn 325
+defny 325
+bo 324
+hyd 323
+by 322
+_si 321
+ir_ 321
+hau 318
+nod 318
+edi 315
+I 314
+fyd 313
+wyr 313
+ada 311
+ddio 310
+rif 309
+sia 307
+sa 306
+fel 305
+tha 305
+_S 302
+_ne 302
+_u 301
+fod_ 300
+_o'r 300
+yg 300
+_o'r_ 300
+_i' 299
+ge 299
+dia 299
diff --git a/test/user-template/user/fingerprint/yiddish_utf.lm b/test/user-template/user/fingerprint/yiddish_utf.lm
new file mode 100644
index 000000000000..e3386a3c1d86
--- /dev/null
+++ b/test/user-template/user/fingerprint/yiddish_utf.lm
@@ -0,0 +1,400 @@
+ 29767
+_ 13552
+_ 6516
+ 4273
+ 3670
+א 3670
+ע 3261
+ 3261
+ 2826
+ע 2826
+א 2785
+ 2785
+י 2565
+ 2565
+ 2082
+ר 2082
+ 2062
+י 2062
+ 1857
+ט 1857
+ 1828
+ַ 1828
+ 1793
+ן 1793
+_א 1537
+_ 1532
+ן_ 1532
+ 1527
+ַ 1527
+אַ 1517
+ַ 1517
+ר 1355
+ 1355
+ 1270
+ל 1270
+ 1268
+אָ 1268
+ָ 1268
+ָ 1268
+ַ 1240
+אַ 1240
+נ 1232
+ 1232
+אָ 1229
+ָ 1229
+ 1229
+ָ 1229
+נ 1181
+ 1181
+ו 1116
+ 1116
+ 1031
+ד 1031
+ט 1012
+ 1012
+ל 1007
+ 1007
+ו 975
+ 975
+ד 965
+ 965
+פ 929
+ 929
+פ 929
+ 929
+ר 873
+ער 873
+א 870
+ 870
+ז 868
+ 868
+ 832
+ס 832
+ 797
+ק 797
+_א 784
+מ 766
+ 766
+_א 752
+ 747
+מ 747
+ 742
+ג 742
+ 725
+ש 725
+ט_ 699
+_ 699
+װ 691
+ 691
+װ 674
+ 674
+ 667
+ײ 667
+ 664
+ג 664
+ 661
+ֿ 661
+ק 654
+ 654
+ 652
+ֿ 652
+ש 651
+ 651
+ 643
+ז 643
+פֿ 641
+ֿ 641
+פֿ 638
+ֿ 638
+_אַ 638
+ר_ 592
+_ 592
+_ד 560
+_ד 554
+, 551
+,_ 534
+ב 517
+ 517
+_פ 502
+_פ 502
+ב 472
+ 472
+ס 436
+ 436
+צ 436
+ 436
+צ 433
+ 433
+_װ 430
+_װ 429
+ 410
+ה 410
+ר_ 404
+_פֿ 404
+ער_ 404
+_מ 400
+_מ 396
+גע 390
+ע 390
+_ז 390
+_ז 386
+ע 384
+ען 384
+גע 384
+ן 384
+ער 382
+ר 382
+. 374
+אי 372
+י 372
+ּ 366
+ 366
+ 363
+ה 363
+י 362
+אי 362
+_ג 359
+ױ 357
+ 357
+_ג 356
+ון 349
+ן 349
+י_ 346
+_ 346
+ע_ 343
+_ 343
+ן_ 337
+ון_ 337
+ע 334
+דע 334
+_אי 331
+ך 330
+ 330
+ע 323
+ 323
+דע 323
+ּ 323
+ 322
+ײ 322
+ען_ 321
+ן_ 321
+ 320
+ױ 320
+י 317
+די 317
+ַ 311
+ַר 311
+ײ 311
+ר 311
+ַר 311
+ײַ 311
+ 311
+לע 310
+ע 310
+._ 307
+- 305
+_ 297
+ַ_ 297
+ 294
+כ 294
+ע 290
+נע 290
+ס_ 289
+_ 289
+פּ 288
+ּ 288
+ײַ 287
+ַ 287
+ך_ 283
+_ 283
+ַ_ 274
+אַ_ 274
+ַר 272
+ר 272
+לע 261
+ע 261
+_ה 260
+_ה 260
+_צ 259
+ש 257
+יש 257
+_צ 256
+זי 254
+י 254
+פּ 252
+ּ 252
+מע 248
+ע 248
+_ק 247
+נע 247
+ע 247
+טע 245
+ע 245
+_ק 245
+או 244
+ו 244
+ו 244
+או 244
+ל 238
+על 238
+א 235
+הא 235
+הא 235
+שט 235
+ט 235
+א 235
+כ 234
+ 234
+_ב 231
+ער 231
+_ב 231
+ַנ 229
+נ 229
+נ 228
+ַנ 228
+_או 227
+_גע 226
+ 219
+ם 219
+" 218
+ע 217
+מע 217
+ע 217
+װע 217
+ל 216
+ַל 216
+_זי 215
+_נ 215
+על 212
+ל 212
+א 211
+רא 211
+_נ 211
+טע 211
+ע 211
+װא 210
+א 210
+_דע 210
+א 209
+װע 209
+װא 209
+ע 209
+ש 208
+יש 208
+ק 207
+יק 207
+רא 206
+א 206
+_ 205
+ז_ 205
+י 196
+מי 196
+_ש 195
+מי 195
+י 195
+ַל 193
+_ש 191
+ֿא 189
+א 189
+ֿא 189
+ֿא 188
+ו 188
+ֿו 188
+ֿו 188
+ו 188
+א 188
+ון 187
+אָ 186
+_הא 185
+ֿו 184
+_ע 179
+_די 178
+א 176
+טא 176
+טא 175
+א 175
+ָס 174
+ָס 174
+יט 174
+ט 174
+ס 174
+ל_ 173
+_ 173
+י_ 173
+די_ 173
+ם_ 171
+ל 171
+_ 171
+ַל 171
+_ע 171
+ָט 169
+ט 169
+ָט 169
+יך 168
+ך 168
+ָר 166
+י 166
+ָר 166
+ר 166
+זי 166
+ני 164
+ענ 164
+י 164
+נ 164
+י 163
+רי 163
+יך_ 163
+ך_ 163
+אָ 162
+ענ 162
+נ 162
+אַ 160
+ט 160
+עט 160
+_י 158
+י 157
+ר 157
+רי 157
+יר 157
+- 156
+ָס_ 155
+ס_ 155
+י 154
+_מי 154
+לי 154
+קע 153
+ונ 153
+ע 153
+נ 153
+_װא 152
+י 152
+ני 152
+ן 151
+ין 151
+אױ 151
+ױ 151
+י 150
+ט 150
+ 150
+ 150
+יִ 150
+ִ 150
+ִ 150
+ַט 150
+ִ 149
+ִ 149
+ 149
+יִ 149
+י 148
+_י 148
+לי 148
+ױ 146
+אױ 146
+ַנ 146
+_אױ 145
+ון 145
+יז 143
+ז 143
+י 142
+די 142
diff --git a/test/user-template/user/fingerprint/zulu.lm b/test/user-template/user/fingerprint/zulu.lm
new file mode 100644
index 000000000000..f30c09ced93f
--- /dev/null
+++ b/test/user-template/user/fingerprint/zulu.lm
@@ -0,0 +1,400 @@
+_
+a
+e
+i
+n
+u
+o
+l
+k
+h
+s
+a_
+b
+t
+m
+g
+w
+z
+e_
+i_
+ng
+ku
+d
+y
+la
+an
+_n
+th
+le
+_u
+o_
+el
+ba
+_k
+en
+in
+wa
+p
+_e
+zi
+.
+hi
+si
+al
+ha
+uk
+ab
+_i
+r
+is
+ka
+_a
+kh
+we
+li
+ni
+ma
+_ng
+he
+ul
+._
+ga
+thi
+la_
+be
+ak
+c
+on
+nd
+na
+ok
+am
+lo
+ho
+,
+se
+ph
+hi_
+ut
+es
+nga
+_ku
+,_
+ez
+thi_
+un
+uth
+le_
+uku
+hu
+f
+u_
+um
+ek
+ne
+go
+q
+_uk
+at
+aba
+_l
+sh
+lu
+M
+_uku
+ol
+_b
+hl
+ni_
+ngo
+kw
+-
+N
+ik
+oku
+em
+nt
+as
+ge
+az
+ya
+iz
+sa
+_o
+S
+uthi
+A
+za
+_w
+wa_
+_s
+mb
+kut
+kuth
+ela
+ye
+_y
+uthi_
+il
+ay
+ele
+ba_
+I
+dl
+nge
+ath
+ub
+ke
+U
+zo
+na_
+yi
+us
+kuthi
+esi
+ob
+v
+om
+ama
+it
+lo_
+bu
+L
+ezi
+j
+ny
+im
+ing
+li_
+_ab
+eni
+no
+de
+ela_
+ze
+ang
+ko
+ala
+lw
+yo
+zin
+_U
+lel
+eng
+mi
+_ngo
+eb
+uz
+me
+gi
+ti
+ukut
+so
+ukuth
+bo
+da
+_ba
+nz
+_aba
+the
+eli
+akh
+eni_
+E
+ban
+s_
+aka
+_kw
+ma_
+ap
+_ukut
+he_
+ini
+di
+K
+ka_
+ib
+kwa
+ulu
+ele_
+kho
+nj
+bi
+_z
+khu
+we_
+lal
+enz
+ho_
+et
+C
+gu
+zi_
+and
+hla
+ngi
+pha
+_um
+_ka
+isi
+_nge
+isa
+aph
+ung
+izi
+dla
+ala_
+zw
+nde
+to
+n_
+ne_
+nk
+ke_
+_I
+athi
+_no
+lan
+_wa
+kul
+B
+ind
+fu
+wen
+ikh
+azi
+ule
+kub
+e.
+_S
+x
+o.
+ona
+kha
+_iz
+je
+bh
+_M
+er
+kwe
+oba
+ane
+O
+_N
+sa_
+a.
+lwa
+_ez
+kus
+ki
+mu
+od
+"
+ebe
+P
+_nga
+hul
+_m
+ase
+ben
+_be
+T
+ic
+nda
+_si
+_na
+/
+ant
+ngu
+ad
+anga
+nje
+ith
+a._
+ye_
+athi_
+R
+os
+alo
+tha
+za_
+eth
+_es
+uma
+ana
+ile
+te
+ale
+aban
+:
+_A
+oba_
+hat
+kun
+ha_
+phe
+be_
+ali
+_am
+si_
+wo
+uy
+sik
+ise
+kan
+hath
+dlal
+_ne
+zwe
+aw
+han
+tu
+nye
+qe
+_ko
+ah
+hel
+thu
+isa_
+gob
+_K
+_lo
+ta
+_ama
+ot
+ula
+_em
+ze_
+i.
+ngob
+_izi
+hol
+ar
+ani
+ole
+uba
+_in
+up
+eka
+ini_
+goba
+tho
+hon
+_ezi
+ona_
+ezin
+ngoba
+lu_
+goba_
+ip
+a,
+eli_
+t_
+nya
+ndl
+sha
+_is
+the_
+i._
+amb
diff --git a/test/user-template/user/fonts/truetype/DejaVuSans-Bold.ttf b/test/user-template/user/fonts/truetype/DejaVuSans-Bold.ttf
new file mode 100644
index 000000000000..ac313d269cae
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/DejaVuSans-Bold.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/DejaVuSans-BoldOblique.ttf b/test/user-template/user/fonts/truetype/DejaVuSans-BoldOblique.ttf
new file mode 100644
index 000000000000..c818ae6e7c24
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/DejaVuSans-BoldOblique.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/DejaVuSans-ExtraLight.ttf b/test/user-template/user/fonts/truetype/DejaVuSans-ExtraLight.ttf
new file mode 100644
index 000000000000..45b1df611491
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/DejaVuSans-ExtraLight.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/DejaVuSans-Oblique.ttf b/test/user-template/user/fonts/truetype/DejaVuSans-Oblique.ttf
new file mode 100644
index 000000000000..d5ac60d6aa1d
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/DejaVuSans-Oblique.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/DejaVuSans.ttf b/test/user-template/user/fonts/truetype/DejaVuSans.ttf
new file mode 100644
index 000000000000..a99969e1b2db
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/DejaVuSans.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/DejaVuSansCondensed-Bold.ttf b/test/user-template/user/fonts/truetype/DejaVuSansCondensed-Bold.ttf
new file mode 100644
index 000000000000..91ccf5cda6b6
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/DejaVuSansCondensed-Bold.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/DejaVuSansCondensed-BoldOblique.ttf b/test/user-template/user/fonts/truetype/DejaVuSansCondensed-BoldOblique.ttf
new file mode 100644
index 000000000000..9f82d61cd089
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/DejaVuSansCondensed-BoldOblique.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/DejaVuSansCondensed-Oblique.ttf b/test/user-template/user/fonts/truetype/DejaVuSansCondensed-Oblique.ttf
new file mode 100644
index 000000000000..bb4872cc08cf
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/DejaVuSansCondensed-Oblique.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/DejaVuSansCondensed.ttf b/test/user-template/user/fonts/truetype/DejaVuSansCondensed.ttf
new file mode 100644
index 000000000000..2b79e6415e37
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/DejaVuSansCondensed.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/DejaVuSansMono-Bold.ttf b/test/user-template/user/fonts/truetype/DejaVuSansMono-Bold.ttf
new file mode 100644
index 000000000000..a6ff5aa1c5a8
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/DejaVuSansMono-Bold.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/DejaVuSansMono-BoldOblique.ttf b/test/user-template/user/fonts/truetype/DejaVuSansMono-BoldOblique.ttf
new file mode 100644
index 000000000000..9070783f4e79
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/DejaVuSansMono-BoldOblique.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/DejaVuSansMono-Oblique.ttf b/test/user-template/user/fonts/truetype/DejaVuSansMono-Oblique.ttf
new file mode 100644
index 000000000000..734e0be4f43c
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/DejaVuSansMono-Oblique.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/DejaVuSansMono.ttf b/test/user-template/user/fonts/truetype/DejaVuSansMono.ttf
new file mode 100644
index 000000000000..f7d27851b4f2
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/DejaVuSansMono.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/DejaVuSerif-Bold.ttf b/test/user-template/user/fonts/truetype/DejaVuSerif-Bold.ttf
new file mode 100644
index 000000000000..763d20902c96
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/DejaVuSerif-Bold.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/DejaVuSerif-BoldItalic.ttf b/test/user-template/user/fonts/truetype/DejaVuSerif-BoldItalic.ttf
new file mode 100644
index 000000000000..568153842bc7
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/DejaVuSerif-BoldItalic.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/DejaVuSerif-Italic.ttf b/test/user-template/user/fonts/truetype/DejaVuSerif-Italic.ttf
new file mode 100644
index 000000000000..3b01cf3f2f50
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/DejaVuSerif-Italic.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/DejaVuSerif.ttf b/test/user-template/user/fonts/truetype/DejaVuSerif.ttf
new file mode 100644
index 000000000000..64bd24c1a0ec
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/DejaVuSerif.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/DejaVuSerifCondensed-Bold.ttf b/test/user-template/user/fonts/truetype/DejaVuSerifCondensed-Bold.ttf
new file mode 100644
index 000000000000..2e292c300d46
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/DejaVuSerifCondensed-Bold.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/DejaVuSerifCondensed-BoldItalic.ttf b/test/user-template/user/fonts/truetype/DejaVuSerifCondensed-BoldItalic.ttf
new file mode 100644
index 000000000000..4eb02591773e
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/DejaVuSerifCondensed-BoldItalic.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/DejaVuSerifCondensed-Italic.ttf b/test/user-template/user/fonts/truetype/DejaVuSerifCondensed-Italic.ttf
new file mode 100644
index 000000000000..d27836d1ca1c
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/DejaVuSerifCondensed-Italic.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/DejaVuSerifCondensed.ttf b/test/user-template/user/fonts/truetype/DejaVuSerifCondensed.ttf
new file mode 100644
index 000000000000..2c217d17a328
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/DejaVuSerifCondensed.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/GenBasB.ttf b/test/user-template/user/fonts/truetype/GenBasB.ttf
new file mode 100644
index 000000000000..0538a008c24e
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/GenBasB.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/GenBasBI.ttf b/test/user-template/user/fonts/truetype/GenBasBI.ttf
new file mode 100644
index 000000000000..786c6276ffb3
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/GenBasBI.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/GenBasI.ttf b/test/user-template/user/fonts/truetype/GenBasI.ttf
new file mode 100644
index 000000000000..e326cd727222
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/GenBasI.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/GenBasR.ttf b/test/user-template/user/fonts/truetype/GenBasR.ttf
new file mode 100644
index 000000000000..6f37980e0600
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/GenBasR.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/GenBkBasB.ttf b/test/user-template/user/fonts/truetype/GenBkBasB.ttf
new file mode 100644
index 000000000000..0677a1113698
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/GenBkBasB.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/GenBkBasBI.ttf b/test/user-template/user/fonts/truetype/GenBkBasBI.ttf
new file mode 100644
index 000000000000..cf898574bd9b
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/GenBkBasBI.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/GenBkBasI.ttf b/test/user-template/user/fonts/truetype/GenBkBasI.ttf
new file mode 100644
index 000000000000..c62506b17ceb
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/GenBkBasI.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/GenBkBasR.ttf b/test/user-template/user/fonts/truetype/GenBkBasR.ttf
new file mode 100644
index 000000000000..9c76a38180a1
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/GenBkBasR.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/LiberationMono-Bold.ttf b/test/user-template/user/fonts/truetype/LiberationMono-Bold.ttf
new file mode 100644
index 000000000000..42941e57b165
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/LiberationMono-Bold.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/LiberationMono-BoldItalic.ttf b/test/user-template/user/fonts/truetype/LiberationMono-BoldItalic.ttf
new file mode 100644
index 000000000000..4682e4de1fcf
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/LiberationMono-BoldItalic.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/LiberationMono-Italic.ttf b/test/user-template/user/fonts/truetype/LiberationMono-Italic.ttf
new file mode 100644
index 000000000000..e19f08cfb7c6
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/LiberationMono-Italic.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/LiberationMono-Regular.ttf b/test/user-template/user/fonts/truetype/LiberationMono-Regular.ttf
new file mode 100644
index 000000000000..dea96958a1b3
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/LiberationMono-Regular.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/LiberationSans-Bold.ttf b/test/user-template/user/fonts/truetype/LiberationSans-Bold.ttf
new file mode 100644
index 000000000000..b29a5640e414
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/LiberationSans-Bold.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/LiberationSans-BoldItalic.ttf b/test/user-template/user/fonts/truetype/LiberationSans-BoldItalic.ttf
new file mode 100644
index 000000000000..0b0bf94a5774
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/LiberationSans-BoldItalic.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/LiberationSans-Italic.ttf b/test/user-template/user/fonts/truetype/LiberationSans-Italic.ttf
new file mode 100644
index 000000000000..4a430cdddd17
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/LiberationSans-Italic.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/LiberationSans-Regular.ttf b/test/user-template/user/fonts/truetype/LiberationSans-Regular.ttf
new file mode 100644
index 000000000000..2de10634e06d
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/LiberationSans-Regular.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/LiberationSansNarrow-Bold.ttf b/test/user-template/user/fonts/truetype/LiberationSansNarrow-Bold.ttf
new file mode 100644
index 000000000000..a7f73aa809b2
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/LiberationSansNarrow-Bold.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/LiberationSansNarrow-BoldItalic.ttf b/test/user-template/user/fonts/truetype/LiberationSansNarrow-BoldItalic.ttf
new file mode 100644
index 000000000000..10cbf03969f0
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/LiberationSansNarrow-BoldItalic.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/LiberationSansNarrow-Italic.ttf b/test/user-template/user/fonts/truetype/LiberationSansNarrow-Italic.ttf
new file mode 100644
index 000000000000..86bf39aafc7e
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/LiberationSansNarrow-Italic.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/LiberationSansNarrow-Regular.ttf b/test/user-template/user/fonts/truetype/LiberationSansNarrow-Regular.ttf
new file mode 100644
index 000000000000..738b1c3d9cd5
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/LiberationSansNarrow-Regular.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/LiberationSerif-Bold.ttf b/test/user-template/user/fonts/truetype/LiberationSerif-Bold.ttf
new file mode 100644
index 000000000000..892746e128d1
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/LiberationSerif-Bold.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/LiberationSerif-BoldItalic.ttf b/test/user-template/user/fonts/truetype/LiberationSerif-BoldItalic.ttf
new file mode 100644
index 000000000000..ad754700fdef
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/LiberationSerif-BoldItalic.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/LiberationSerif-Italic.ttf b/test/user-template/user/fonts/truetype/LiberationSerif-Italic.ttf
new file mode 100644
index 000000000000..e81544aab294
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/LiberationSerif-Italic.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/LiberationSerif-Regular.ttf b/test/user-template/user/fonts/truetype/LiberationSerif-Regular.ttf
new file mode 100644
index 000000000000..155675f711ce
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/LiberationSerif-Regular.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/LinBiolinumG_Bd.ttf b/test/user-template/user/fonts/truetype/LinBiolinumG_Bd.ttf
new file mode 100644
index 000000000000..230f377fc95f
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/LinBiolinumG_Bd.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/LinBiolinumG_It.ttf b/test/user-template/user/fonts/truetype/LinBiolinumG_It.ttf
new file mode 100644
index 000000000000..101aa0a3adeb
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/LinBiolinumG_It.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/LinBiolinumG_Re.ttf b/test/user-template/user/fonts/truetype/LinBiolinumG_Re.ttf
new file mode 100644
index 000000000000..6c36ebe0209b
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/LinBiolinumG_Re.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/LinLibertineG_BI.ttf b/test/user-template/user/fonts/truetype/LinLibertineG_BI.ttf
new file mode 100644
index 000000000000..533fb56184a0
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/LinLibertineG_BI.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/LinLibertineG_Bd.ttf b/test/user-template/user/fonts/truetype/LinLibertineG_Bd.ttf
new file mode 100644
index 000000000000..878e4dfad490
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/LinLibertineG_Bd.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/LinLibertineG_It.ttf b/test/user-template/user/fonts/truetype/LinLibertineG_It.ttf
new file mode 100644
index 000000000000..2f8e212c40f4
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/LinLibertineG_It.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/LinLibertineG_Re.ttf b/test/user-template/user/fonts/truetype/LinLibertineG_Re.ttf
new file mode 100644
index 000000000000..2288b70e9f82
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/LinLibertineG_Re.ttf
Binary files differ
diff --git a/test/user-template/user/fonts/truetype/fc_local.conf b/test/user-template/user/fonts/truetype/fc_local.conf
new file mode 100644
index 000000000000..973c7b57f2b9
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/fc_local.conf
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "/etc/fonts/conf.d/fonts.dtd">
+<fontconfig>
+
+ <!-- Alias similar/metric-compatible families from various sources: -->
+
+ <alias binding="same">
+ <family>Liberation Sans Narrow</family>
+ <family>Arial Narrow</family>
+ <default>
+ <family>Arial Narrow</family>
+ </default>
+ </alias>
+
+<!-- -->
+ <alias binding="same">
+ <family>Arial Narrow</family>
+ <accept>
+ <family>Liberation Sans Narrow</family>
+ </accept>
+ </alias>
+<!-- -->
+
+</fontconfig>
diff --git a/test/user-template/user/fonts/truetype/opens___.ttf b/test/user-template/user/fonts/truetype/opens___.ttf
new file mode 100644
index 000000000000..96707f2638a8
--- /dev/null
+++ b/test/user-template/user/fonts/truetype/opens___.ttf
Binary files differ
diff --git a/test/user-template/user/gallery/apples.gif b/test/user-template/user/gallery/apples.gif
new file mode 100644
index 000000000000..3a177cf4ccd5
--- /dev/null
+++ b/test/user-template/user/gallery/apples.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bigapple.gif b/test/user-template/user/gallery/bigapple.gif
new file mode 100644
index 000000000000..d35f457122f8
--- /dev/null
+++ b/test/user-template/user/gallery/bigapple.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/blkpearl.gif b/test/user-template/user/gallery/bullets/blkpearl.gif
new file mode 100644
index 000000000000..6f67d5c0e2e6
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/blkpearl.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/bluarrow.gif b/test/user-template/user/gallery/bullets/bluarrow.gif
new file mode 100644
index 000000000000..821f5031ba48
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/bluarrow.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/bluball.gif b/test/user-template/user/gallery/bullets/bluball.gif
new file mode 100644
index 000000000000..dc7c020045d3
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/bluball.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/bludiamd.gif b/test/user-template/user/gallery/bullets/bludiamd.gif
new file mode 100644
index 000000000000..341cf0726d3b
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/bludiamd.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/bluered.gif b/test/user-template/user/gallery/bullets/bluered.gif
new file mode 100644
index 000000000000..fbaf32d32da8
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/bluered.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/blusqare.gif b/test/user-template/user/gallery/bullets/blusqare.gif
new file mode 100644
index 000000000000..9b59932f22f0
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/blusqare.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/blustar.gif b/test/user-template/user/gallery/bullets/blustar.gif
new file mode 100644
index 000000000000..3092e0e02572
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/blustar.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/coffee_1.gif b/test/user-template/user/gallery/bullets/coffee_1.gif
new file mode 100644
index 000000000000..de68d352857b
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/coffee_1.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/coffee_2.gif b/test/user-template/user/gallery/bullets/coffee_2.gif
new file mode 100644
index 000000000000..d099f711f678
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/coffee_2.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/coffee_3.gif b/test/user-template/user/gallery/bullets/coffee_3.gif
new file mode 100644
index 000000000000..4e19b01e7dc6
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/coffee_3.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/coffee_4.gif b/test/user-template/user/gallery/bullets/coffee_4.gif
new file mode 100644
index 000000000000..72f23c6aaff8
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/coffee_4.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/coffee_5.gif b/test/user-template/user/gallery/bullets/coffee_5.gif
new file mode 100644
index 000000000000..2238af94131d
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/coffee_5.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/con-blue.gif b/test/user-template/user/gallery/bullets/con-blue.gif
new file mode 100644
index 000000000000..2e47d8fab981
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/con-blue.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/con-cyan.gif b/test/user-template/user/gallery/bullets/con-cyan.gif
new file mode 100644
index 000000000000..5cc2f4ed4e3f
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/con-cyan.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/con-green.gif b/test/user-template/user/gallery/bullets/con-green.gif
new file mode 100644
index 000000000000..72eb5f8767d9
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/con-green.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/con-lilac.gif b/test/user-template/user/gallery/bullets/con-lilac.gif
new file mode 100644
index 000000000000..3d37287dbbd3
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/con-lilac.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/con-oran.gif b/test/user-template/user/gallery/bullets/con-oran.gif
new file mode 100644
index 000000000000..a7e442b4bc42
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/con-oran.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/con-pink.gif b/test/user-template/user/gallery/bullets/con-pink.gif
new file mode 100644
index 000000000000..29e3ff88233d
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/con-pink.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/con-red.gif b/test/user-template/user/gallery/bullets/con-red.gif
new file mode 100644
index 000000000000..90bd63ca0127
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/con-red.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/con-yellow.gif b/test/user-template/user/gallery/bullets/con-yellow.gif
new file mode 100644
index 000000000000..7aacef535d22
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/con-yellow.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/corner_1.gif b/test/user-template/user/gallery/bullets/corner_1.gif
new file mode 100644
index 000000000000..7328c3b4b833
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/corner_1.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/corner_2.gif b/test/user-template/user/gallery/bullets/corner_2.gif
new file mode 100644
index 000000000000..71559769371e
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/corner_2.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/corner_3.gif b/test/user-template/user/gallery/bullets/corner_3.gif
new file mode 100644
index 000000000000..17a8876de16e
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/corner_3.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/corner_4.gif b/test/user-template/user/gallery/bullets/corner_4.gif
new file mode 100644
index 000000000000..164af6358e7e
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/corner_4.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/darkball.gif b/test/user-template/user/gallery/bullets/darkball.gif
new file mode 100644
index 000000000000..6224fba04b40
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/darkball.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/darkblue.gif b/test/user-template/user/gallery/bullets/darkblue.gif
new file mode 100644
index 000000000000..2170e0f3b8f8
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/darkblue.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/gldpearl.gif b/test/user-template/user/gallery/bullets/gldpearl.gif
new file mode 100644
index 000000000000..5072aea1edde
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/gldpearl.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/golfball.gif b/test/user-template/user/gallery/bullets/golfball.gif
new file mode 100644
index 000000000000..38a718421c68
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/golfball.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/grnarrow.gif b/test/user-template/user/gallery/bullets/grnarrow.gif
new file mode 100644
index 000000000000..26affb19fcd1
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/grnarrow.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/grnball.gif b/test/user-template/user/gallery/bullets/grnball.gif
new file mode 100644
index 000000000000..a518839e7296
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/grnball.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/grndiamd.gif b/test/user-template/user/gallery/bullets/grndiamd.gif
new file mode 100644
index 000000000000..9774a0ae652f
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/grndiamd.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/grnpearl.gif b/test/user-template/user/gallery/bullets/grnpearl.gif
new file mode 100644
index 000000000000..2152229d8357
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/grnpearl.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/grnsqare.gif b/test/user-template/user/gallery/bullets/grnsqare.gif
new file mode 100644
index 000000000000..f0490809301e
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/grnsqare.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/grnstar.gif b/test/user-template/user/gallery/bullets/grnstar.gif
new file mode 100644
index 000000000000..403a850ac93c
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/grnstar.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/gryarrow.gif b/test/user-template/user/gallery/bullets/gryarrow.gif
new file mode 100644
index 000000000000..b27c35f02d70
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/gryarrow.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/gryball.gif b/test/user-template/user/gallery/bullets/gryball.gif
new file mode 100644
index 000000000000..4ef8ea8505de
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/gryball.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/grydiamd.gif b/test/user-template/user/gallery/bullets/grydiamd.gif
new file mode 100644
index 000000000000..d00025c2f28c
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/grydiamd.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/grysqare.gif b/test/user-template/user/gallery/bullets/grysqare.gif
new file mode 100644
index 000000000000..75f093291753
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/grysqare.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/grystar.gif b/test/user-template/user/gallery/bullets/grystar.gif
new file mode 100644
index 000000000000..1108636d6de0
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/grystar.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/orgarrow.gif b/test/user-template/user/gallery/bullets/orgarrow.gif
new file mode 100644
index 000000000000..567324338c3c
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/orgarrow.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/orgball.gif b/test/user-template/user/gallery/bullets/orgball.gif
new file mode 100644
index 000000000000..6a96b1152a4d
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/orgball.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/orgdiamd.gif b/test/user-template/user/gallery/bullets/orgdiamd.gif
new file mode 100644
index 000000000000..3bc8bd6b073e
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/orgdiamd.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/orgsqare.gif b/test/user-template/user/gallery/bullets/orgsqare.gif
new file mode 100644
index 000000000000..14393addcd71
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/orgsqare.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/orgstar.gif b/test/user-template/user/gallery/bullets/orgstar.gif
new file mode 100644
index 000000000000..5c6897512e2d
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/orgstar.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/pebble_1.gif b/test/user-template/user/gallery/bullets/pebble_1.gif
new file mode 100644
index 000000000000..26aabff4fffa
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/pebble_1.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/pebble_2.gif b/test/user-template/user/gallery/bullets/pebble_2.gif
new file mode 100644
index 000000000000..58ec6ff76a8a
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/pebble_2.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/pebble_3.gif b/test/user-template/user/gallery/bullets/pebble_3.gif
new file mode 100644
index 000000000000..06a41dfcbbe1
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/pebble_3.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/poliball.gif b/test/user-template/user/gallery/bullets/poliball.gif
new file mode 100644
index 000000000000..dda461bd347e
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/poliball.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/popcorn_1.gif b/test/user-template/user/gallery/bullets/popcorn_1.gif
new file mode 100644
index 000000000000..273f685d9b5e
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/popcorn_1.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/popcorn_2.gif b/test/user-template/user/gallery/bullets/popcorn_2.gif
new file mode 100644
index 000000000000..20ef72b26f4d
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/popcorn_2.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/rainbow.gif b/test/user-template/user/gallery/bullets/rainbow.gif
new file mode 100644
index 000000000000..f17a58e6cdac
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/rainbow.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/redarrow.gif b/test/user-template/user/gallery/bullets/redarrow.gif
new file mode 100644
index 000000000000..bf937dcf566c
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/redarrow.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/redball.gif b/test/user-template/user/gallery/bullets/redball.gif
new file mode 100644
index 000000000000..c8c639358b55
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/redball.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/reddiamd.gif b/test/user-template/user/gallery/bullets/reddiamd.gif
new file mode 100644
index 000000000000..6842c82ac3cd
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/reddiamd.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/redsqare.gif b/test/user-template/user/gallery/bullets/redsqare.gif
new file mode 100644
index 000000000000..ca2b35bddfad
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/redsqare.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/redstar.gif b/test/user-template/user/gallery/bullets/redstar.gif
new file mode 100644
index 000000000000..fa53bfc49093
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/redstar.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/whtpearl.gif b/test/user-template/user/gallery/bullets/whtpearl.gif
new file mode 100644
index 000000000000..b55995280cd7
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/whtpearl.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/ylwarrow.gif b/test/user-template/user/gallery/bullets/ylwarrow.gif
new file mode 100644
index 000000000000..146269bb9579
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/ylwarrow.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/ylwball.gif b/test/user-template/user/gallery/bullets/ylwball.gif
new file mode 100644
index 000000000000..372bda8b165a
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/ylwball.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/ylwdiamd.gif b/test/user-template/user/gallery/bullets/ylwdiamd.gif
new file mode 100644
index 000000000000..70eb03359e7c
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/ylwdiamd.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/ylwsqare.gif b/test/user-template/user/gallery/bullets/ylwsqare.gif
new file mode 100644
index 000000000000..955e1c1c210a
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/ylwsqare.gif
Binary files differ
diff --git a/test/user-template/user/gallery/bullets/ylwstar.gif b/test/user-template/user/gallery/bullets/ylwstar.gif
new file mode 100644
index 000000000000..09384021f307
--- /dev/null
+++ b/test/user-template/user/gallery/bullets/ylwstar.gif
Binary files differ
diff --git a/test/user-template/user/gallery/flower.gif b/test/user-template/user/gallery/flower.gif
new file mode 100644
index 000000000000..2d5923306ead
--- /dev/null
+++ b/test/user-template/user/gallery/flower.gif
Binary files differ
diff --git a/test/user-template/user/gallery/flowers.gif b/test/user-template/user/gallery/flowers.gif
new file mode 100644
index 000000000000..31d1fa88f55b
--- /dev/null
+++ b/test/user-template/user/gallery/flowers.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/bludown.gif b/test/user-template/user/gallery/htmlexpo/bludown.gif
new file mode 100644
index 000000000000..8db5e143b4f7
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/bludown.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/blufirs.gif b/test/user-template/user/gallery/htmlexpo/blufirs.gif
new file mode 100644
index 000000000000..34c390f9bf97
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/blufirs.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/blufirs_.gif b/test/user-template/user/gallery/htmlexpo/blufirs_.gif
new file mode 100644
index 000000000000..617be4f8349e
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/blufirs_.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/blulast.gif b/test/user-template/user/gallery/htmlexpo/blulast.gif
new file mode 100644
index 000000000000..9356074310c4
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/blulast.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/blulast_.gif b/test/user-template/user/gallery/htmlexpo/blulast_.gif
new file mode 100644
index 000000000000..5d22bd51d821
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/blulast_.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/blunav.gif b/test/user-template/user/gallery/htmlexpo/blunav.gif
new file mode 100644
index 000000000000..2a863c68fcf2
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/blunav.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/blunext.gif b/test/user-template/user/gallery/htmlexpo/blunext.gif
new file mode 100644
index 000000000000..c4e28a48b6ec
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/blunext.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/blunext_.gif b/test/user-template/user/gallery/htmlexpo/blunext_.gif
new file mode 100644
index 000000000000..bc2b1d64e511
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/blunext_.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/bluprev.gif b/test/user-template/user/gallery/htmlexpo/bluprev.gif
new file mode 100644
index 000000000000..ffd6416c0b23
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/bluprev.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/bluprev_.gif b/test/user-template/user/gallery/htmlexpo/bluprev_.gif
new file mode 100644
index 000000000000..7c8d757c295e
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/bluprev_.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/blutext.gif b/test/user-template/user/gallery/htmlexpo/blutext.gif
new file mode 100644
index 000000000000..389589bce693
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/blutext.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/bluup.gif b/test/user-template/user/gallery/htmlexpo/bluup.gif
new file mode 100644
index 000000000000..b3a48e48b81f
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/bluup.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/cubdown.gif b/test/user-template/user/gallery/htmlexpo/cubdown.gif
new file mode 100644
index 000000000000..2501a9946363
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/cubdown.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/cubfirs.gif b/test/user-template/user/gallery/htmlexpo/cubfirs.gif
new file mode 100644
index 000000000000..5ac9a5825b57
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/cubfirs.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/cubfirs_.gif b/test/user-template/user/gallery/htmlexpo/cubfirs_.gif
new file mode 100644
index 000000000000..ad50c2120580
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/cubfirs_.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/cublast.gif b/test/user-template/user/gallery/htmlexpo/cublast.gif
new file mode 100644
index 000000000000..b670f3cac886
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/cublast.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/cublast_.gif b/test/user-template/user/gallery/htmlexpo/cublast_.gif
new file mode 100644
index 000000000000..91b5a97853e3
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/cublast_.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/cubnav.gif b/test/user-template/user/gallery/htmlexpo/cubnav.gif
new file mode 100644
index 000000000000..2c8d8e092626
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/cubnav.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/cubnext.gif b/test/user-template/user/gallery/htmlexpo/cubnext.gif
new file mode 100644
index 000000000000..16cb6a0bc906
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/cubnext.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/cubnext_.gif b/test/user-template/user/gallery/htmlexpo/cubnext_.gif
new file mode 100644
index 000000000000..ffb23fde8fbf
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/cubnext_.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/cubprev.gif b/test/user-template/user/gallery/htmlexpo/cubprev.gif
new file mode 100644
index 000000000000..d6f3d0f3087c
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/cubprev.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/cubprev_.gif b/test/user-template/user/gallery/htmlexpo/cubprev_.gif
new file mode 100644
index 000000000000..ea316de5cb89
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/cubprev_.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/cubtext.gif b/test/user-template/user/gallery/htmlexpo/cubtext.gif
new file mode 100644
index 000000000000..99b8ee0cc548
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/cubtext.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/cubup.gif b/test/user-template/user/gallery/htmlexpo/cubup.gif
new file mode 100644
index 000000000000..004db12ac3d9
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/cubup.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/gredown.gif b/test/user-template/user/gallery/htmlexpo/gredown.gif
new file mode 100644
index 000000000000..3913764c35fd
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/gredown.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/grefirs.gif b/test/user-template/user/gallery/htmlexpo/grefirs.gif
new file mode 100644
index 000000000000..f6c0e33c1ddb
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/grefirs.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/grefirs_.gif b/test/user-template/user/gallery/htmlexpo/grefirs_.gif
new file mode 100644
index 000000000000..522859aef2c6
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/grefirs_.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/grelast.gif b/test/user-template/user/gallery/htmlexpo/grelast.gif
new file mode 100644
index 000000000000..b73ee772cdf8
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/grelast.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/grelast_.gif b/test/user-template/user/gallery/htmlexpo/grelast_.gif
new file mode 100644
index 000000000000..a45aead597b0
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/grelast_.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/grenav.gif b/test/user-template/user/gallery/htmlexpo/grenav.gif
new file mode 100644
index 000000000000..2be669986085
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/grenav.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/grenext.gif b/test/user-template/user/gallery/htmlexpo/grenext.gif
new file mode 100644
index 000000000000..563b5d2d8cb6
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/grenext.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/grenext_.gif b/test/user-template/user/gallery/htmlexpo/grenext_.gif
new file mode 100644
index 000000000000..38dfe6704cce
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/grenext_.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/greprev.gif b/test/user-template/user/gallery/htmlexpo/greprev.gif
new file mode 100644
index 000000000000..8618373a5a55
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/greprev.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/greprev_.gif b/test/user-template/user/gallery/htmlexpo/greprev_.gif
new file mode 100644
index 000000000000..cc110f4b614b
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/greprev_.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/gretext.gif b/test/user-template/user/gallery/htmlexpo/gretext.gif
new file mode 100644
index 000000000000..93ae1f8e103f
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/gretext.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/greup.gif b/test/user-template/user/gallery/htmlexpo/greup.gif
new file mode 100644
index 000000000000..8d07a2043624
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/greup.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/simdown.gif b/test/user-template/user/gallery/htmlexpo/simdown.gif
new file mode 100644
index 000000000000..6728eb6c0384
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/simdown.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/simfirs.gif b/test/user-template/user/gallery/htmlexpo/simfirs.gif
new file mode 100644
index 000000000000..ecec47cbd159
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/simfirs.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/simfirs_.gif b/test/user-template/user/gallery/htmlexpo/simfirs_.gif
new file mode 100644
index 000000000000..8d637b004ff4
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/simfirs_.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/simlast.gif b/test/user-template/user/gallery/htmlexpo/simlast.gif
new file mode 100644
index 000000000000..dfbcfa640b00
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/simlast.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/simlast_.gif b/test/user-template/user/gallery/htmlexpo/simlast_.gif
new file mode 100644
index 000000000000..438baa8ad282
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/simlast_.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/simnav.gif b/test/user-template/user/gallery/htmlexpo/simnav.gif
new file mode 100644
index 000000000000..0b17af7475a9
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/simnav.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/simnext.gif b/test/user-template/user/gallery/htmlexpo/simnext.gif
new file mode 100644
index 000000000000..a2331bab12c7
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/simnext.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/simnext_.gif b/test/user-template/user/gallery/htmlexpo/simnext_.gif
new file mode 100644
index 000000000000..c5c42deee345
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/simnext_.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/simprev.gif b/test/user-template/user/gallery/htmlexpo/simprev.gif
new file mode 100644
index 000000000000..d92c5451caa1
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/simprev.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/simprev_.gif b/test/user-template/user/gallery/htmlexpo/simprev_.gif
new file mode 100644
index 000000000000..4096d953924e
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/simprev_.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/simtext.gif b/test/user-template/user/gallery/htmlexpo/simtext.gif
new file mode 100644
index 000000000000..1ccdbeb20d95
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/simtext.gif
Binary files differ
diff --git a/test/user-template/user/gallery/htmlexpo/simup.gif b/test/user-template/user/gallery/htmlexpo/simup.gif
new file mode 100644
index 000000000000..bae1e2f6e5d2
--- /dev/null
+++ b/test/user-template/user/gallery/htmlexpo/simup.gif
Binary files differ
diff --git a/test/user-template/user/gallery/rulers/blkballs.gif b/test/user-template/user/gallery/rulers/blkballs.gif
new file mode 100644
index 000000000000..5854549160a1
--- /dev/null
+++ b/test/user-template/user/gallery/rulers/blkballs.gif
Binary files differ
diff --git a/test/user-template/user/gallery/rulers/blurulr1.gif b/test/user-template/user/gallery/rulers/blurulr1.gif
new file mode 100644
index 000000000000..3fac0a9220d0
--- /dev/null
+++ b/test/user-template/user/gallery/rulers/blurulr1.gif
Binary files differ
diff --git a/test/user-template/user/gallery/rulers/blurulr2.gif b/test/user-template/user/gallery/rulers/blurulr2.gif
new file mode 100644
index 000000000000..91ada2dc5d49
--- /dev/null
+++ b/test/user-template/user/gallery/rulers/blurulr2.gif
Binary files differ
diff --git a/test/user-template/user/gallery/rulers/blurulr3.gif b/test/user-template/user/gallery/rulers/blurulr3.gif
new file mode 100644
index 000000000000..075743a73440
--- /dev/null
+++ b/test/user-template/user/gallery/rulers/blurulr3.gif
Binary files differ
diff --git a/test/user-template/user/gallery/rulers/blurulr4.gif b/test/user-template/user/gallery/rulers/blurulr4.gif
new file mode 100644
index 000000000000..5fdfb6ebb076
--- /dev/null
+++ b/test/user-template/user/gallery/rulers/blurulr4.gif
Binary files differ
diff --git a/test/user-template/user/gallery/rulers/blurulr5.gif b/test/user-template/user/gallery/rulers/blurulr5.gif
new file mode 100644
index 000000000000..33520470052c
--- /dev/null
+++ b/test/user-template/user/gallery/rulers/blurulr5.gif
Binary files differ
diff --git a/test/user-template/user/gallery/rulers/blurulr6.gif b/test/user-template/user/gallery/rulers/blurulr6.gif
new file mode 100644
index 000000000000..d4ebdce7bea5
--- /dev/null
+++ b/test/user-template/user/gallery/rulers/blurulr6.gif
Binary files differ
diff --git a/test/user-template/user/gallery/rulers/gldballs.gif b/test/user-template/user/gallery/rulers/gldballs.gif
new file mode 100644
index 000000000000..9b0e5b0859fb
--- /dev/null
+++ b/test/user-template/user/gallery/rulers/gldballs.gif
Binary files differ
diff --git a/test/user-template/user/gallery/rulers/grnballs.gif b/test/user-template/user/gallery/rulers/grnballs.gif
new file mode 100644
index 000000000000..6a1aa5cb6c17
--- /dev/null
+++ b/test/user-template/user/gallery/rulers/grnballs.gif
Binary files differ
diff --git a/test/user-template/user/gallery/rulers/grnrulr1.gif b/test/user-template/user/gallery/rulers/grnrulr1.gif
new file mode 100644
index 000000000000..482395ca1952
--- /dev/null
+++ b/test/user-template/user/gallery/rulers/grnrulr1.gif
Binary files differ
diff --git a/test/user-template/user/gallery/rulers/grnrulr2.gif b/test/user-template/user/gallery/rulers/grnrulr2.gif
new file mode 100644
index 000000000000..a06aa22ed0f7
--- /dev/null
+++ b/test/user-template/user/gallery/rulers/grnrulr2.gif
Binary files differ
diff --git a/test/user-template/user/gallery/rulers/grnrulr3.gif b/test/user-template/user/gallery/rulers/grnrulr3.gif
new file mode 100644
index 000000000000..9fed8326bb50
--- /dev/null
+++ b/test/user-template/user/gallery/rulers/grnrulr3.gif
Binary files differ
diff --git a/test/user-template/user/gallery/rulers/grnrulr4.gif b/test/user-template/user/gallery/rulers/grnrulr4.gif
new file mode 100644
index 000000000000..92a25cbab752
--- /dev/null
+++ b/test/user-template/user/gallery/rulers/grnrulr4.gif
Binary files differ
diff --git a/test/user-template/user/gallery/rulers/gryrulr1.gif b/test/user-template/user/gallery/rulers/gryrulr1.gif
new file mode 100644
index 000000000000..b424d090ef10
--- /dev/null
+++ b/test/user-template/user/gallery/rulers/gryrulr1.gif
Binary files differ
diff --git a/test/user-template/user/gallery/rulers/gryrulr2.gif b/test/user-template/user/gallery/rulers/gryrulr2.gif
new file mode 100644
index 000000000000..c14edbe88ee4
--- /dev/null
+++ b/test/user-template/user/gallery/rulers/gryrulr2.gif
Binary files differ
diff --git a/test/user-template/user/gallery/rulers/gryrulr3.gif b/test/user-template/user/gallery/rulers/gryrulr3.gif
new file mode 100644
index 000000000000..82d498ed2c03
--- /dev/null
+++ b/test/user-template/user/gallery/rulers/gryrulr3.gif
Binary files differ
diff --git a/test/user-template/user/gallery/rulers/orgrulr1.gif b/test/user-template/user/gallery/rulers/orgrulr1.gif
new file mode 100644
index 000000000000..bf56d93b98f6
--- /dev/null
+++ b/test/user-template/user/gallery/rulers/orgrulr1.gif
Binary files differ
diff --git a/test/user-template/user/gallery/rulers/redrulr1.gif b/test/user-template/user/gallery/rulers/redrulr1.gif
new file mode 100644
index 000000000000..54931bc4a4da
--- /dev/null
+++ b/test/user-template/user/gallery/rulers/redrulr1.gif
Binary files differ
diff --git a/test/user-template/user/gallery/rulers/redrulr2.gif b/test/user-template/user/gallery/rulers/redrulr2.gif
new file mode 100644
index 000000000000..5b26382ab9a2
--- /dev/null
+++ b/test/user-template/user/gallery/rulers/redrulr2.gif
Binary files differ
diff --git a/test/user-template/user/gallery/rulers/redrulr3.gif b/test/user-template/user/gallery/rulers/redrulr3.gif
new file mode 100644
index 000000000000..572114c27008
--- /dev/null
+++ b/test/user-template/user/gallery/rulers/redrulr3.gif
Binary files differ
diff --git a/test/user-template/user/gallery/rulers/redrulr4.gif b/test/user-template/user/gallery/rulers/redrulr4.gif
new file mode 100644
index 000000000000..a27624b39e76
--- /dev/null
+++ b/test/user-template/user/gallery/rulers/redrulr4.gif
Binary files differ
diff --git a/test/user-template/user/gallery/rulers/redrulr5.gif b/test/user-template/user/gallery/rulers/redrulr5.gif
new file mode 100644
index 000000000000..d5b10814d92e
--- /dev/null
+++ b/test/user-template/user/gallery/rulers/redrulr5.gif
Binary files differ
diff --git a/test/user-template/user/gallery/rulers/striped.gif b/test/user-template/user/gallery/rulers/striped.gif
new file mode 100644
index 000000000000..2c1313e55d92
--- /dev/null
+++ b/test/user-template/user/gallery/rulers/striped.gif
Binary files differ
diff --git a/test/user-template/user/gallery/rulers/whtballs.gif b/test/user-template/user/gallery/rulers/whtballs.gif
new file mode 100644
index 000000000000..279be208c662
--- /dev/null
+++ b/test/user-template/user/gallery/rulers/whtballs.gif
Binary files differ
diff --git a/test/user-template/user/gallery/rulers/ylwrulr1.gif b/test/user-template/user/gallery/rulers/ylwrulr1.gif
new file mode 100644
index 000000000000..07bf5a927d12
--- /dev/null
+++ b/test/user-template/user/gallery/rulers/ylwrulr1.gif
Binary files differ
diff --git a/test/user-template/user/gallery/sg1.sdg b/test/user-template/user/gallery/sg1.sdg
new file mode 100644
index 000000000000..788590cc6545
--- /dev/null
+++ b/test/user-template/user/gallery/sg1.sdg
Binary files differ
diff --git a/test/user-template/user/gallery/sg1.sdv b/test/user-template/user/gallery/sg1.sdv
new file mode 100644
index 000000000000..fc17dd9d0528
--- /dev/null
+++ b/test/user-template/user/gallery/sg1.sdv
Binary files differ
diff --git a/test/user-template/user/gallery/sg1.thm b/test/user-template/user/gallery/sg1.thm
new file mode 100644
index 000000000000..9b60977e8df1
--- /dev/null
+++ b/test/user-template/user/gallery/sg1.thm
Binary files differ
diff --git a/test/user-template/user/gallery/sg2.sdg b/test/user-template/user/gallery/sg2.sdg
new file mode 100644
index 000000000000..dd045f29ea36
--- /dev/null
+++ b/test/user-template/user/gallery/sg2.sdg
Binary files differ
diff --git a/test/user-template/user/gallery/sg2.sdv b/test/user-template/user/gallery/sg2.sdv
new file mode 100644
index 000000000000..fc17dd9d0528
--- /dev/null
+++ b/test/user-template/user/gallery/sg2.sdv
Binary files differ
diff --git a/test/user-template/user/gallery/sg2.thm b/test/user-template/user/gallery/sg2.thm
new file mode 100644
index 000000000000..79d1cdd460cc
--- /dev/null
+++ b/test/user-template/user/gallery/sg2.thm
Binary files differ
diff --git a/test/user-template/user/gallery/sg24.sdg b/test/user-template/user/gallery/sg24.sdg
new file mode 100644
index 000000000000..8027ee32eff9
--- /dev/null
+++ b/test/user-template/user/gallery/sg24.sdg
Binary files differ
diff --git a/test/user-template/user/gallery/sg24.sdv b/test/user-template/user/gallery/sg24.sdv
new file mode 100644
index 000000000000..555717b94ce4
--- /dev/null
+++ b/test/user-template/user/gallery/sg24.sdv
Binary files differ
diff --git a/test/user-template/user/gallery/sg24.thm b/test/user-template/user/gallery/sg24.thm
new file mode 100644
index 000000000000..054018db134e
--- /dev/null
+++ b/test/user-template/user/gallery/sg24.thm
Binary files differ
diff --git a/test/user-template/user/gallery/sg25.sdg b/test/user-template/user/gallery/sg25.sdg
new file mode 100644
index 000000000000..af78e56603e0
--- /dev/null
+++ b/test/user-template/user/gallery/sg25.sdg
Binary files differ
diff --git a/test/user-template/user/gallery/sg25.sdv b/test/user-template/user/gallery/sg25.sdv
new file mode 100644
index 000000000000..444959152744
--- /dev/null
+++ b/test/user-template/user/gallery/sg25.sdv
Binary files differ
diff --git a/test/user-template/user/gallery/sg25.thm b/test/user-template/user/gallery/sg25.thm
new file mode 100644
index 000000000000..e7b0a497cfd0
--- /dev/null
+++ b/test/user-template/user/gallery/sg25.thm
Binary files differ
diff --git a/test/user-template/user/gallery/sg3.sdg b/test/user-template/user/gallery/sg3.sdg
new file mode 100644
index 000000000000..41007194985c
--- /dev/null
+++ b/test/user-template/user/gallery/sg3.sdg
Binary files differ
diff --git a/test/user-template/user/gallery/sg3.sdv b/test/user-template/user/gallery/sg3.sdv
new file mode 100644
index 000000000000..fc17dd9d0528
--- /dev/null
+++ b/test/user-template/user/gallery/sg3.sdv
Binary files differ
diff --git a/test/user-template/user/gallery/sg3.thm b/test/user-template/user/gallery/sg3.thm
new file mode 100644
index 000000000000..eb9385f93ae9
--- /dev/null
+++ b/test/user-template/user/gallery/sg3.thm
Binary files differ
diff --git a/test/user-template/user/gallery/sg36.sdg b/test/user-template/user/gallery/sg36.sdg
new file mode 100644
index 000000000000..556084bf21df
--- /dev/null
+++ b/test/user-template/user/gallery/sg36.sdg
Binary files differ
diff --git a/test/user-template/user/gallery/sg36.sdv b/test/user-template/user/gallery/sg36.sdv
new file mode 100644
index 000000000000..d3b220d8b65a
--- /dev/null
+++ b/test/user-template/user/gallery/sg36.sdv
Binary files differ
diff --git a/test/user-template/user/gallery/sg36.thm b/test/user-template/user/gallery/sg36.thm
new file mode 100644
index 000000000000..31e8f7d1ee0a
--- /dev/null
+++ b/test/user-template/user/gallery/sg36.thm
Binary files differ
diff --git a/test/user-template/user/gallery/sg4.sdg b/test/user-template/user/gallery/sg4.sdg
new file mode 100644
index 000000000000..f0edebfeaca5
--- /dev/null
+++ b/test/user-template/user/gallery/sg4.sdg
Binary files differ
diff --git a/test/user-template/user/gallery/sg4.sdv b/test/user-template/user/gallery/sg4.sdv
new file mode 100644
index 000000000000..fc17dd9d0528
--- /dev/null
+++ b/test/user-template/user/gallery/sg4.sdv
Binary files differ
diff --git a/test/user-template/user/gallery/sg4.thm b/test/user-template/user/gallery/sg4.thm
new file mode 100644
index 000000000000..b7f888659f7d
--- /dev/null
+++ b/test/user-template/user/gallery/sg4.thm
Binary files differ
diff --git a/test/user-template/user/gallery/sg9.sdg b/test/user-template/user/gallery/sg9.sdg
new file mode 100644
index 000000000000..d17717056263
--- /dev/null
+++ b/test/user-template/user/gallery/sg9.sdg
Binary files differ
diff --git a/test/user-template/user/gallery/sg9.sdv b/test/user-template/user/gallery/sg9.sdv
new file mode 100644
index 000000000000..fc17dd9d0528
--- /dev/null
+++ b/test/user-template/user/gallery/sg9.sdv
Binary files differ
diff --git a/test/user-template/user/gallery/sg9.thm b/test/user-template/user/gallery/sg9.thm
new file mode 100644
index 000000000000..4b6ef2091b96
--- /dev/null
+++ b/test/user-template/user/gallery/sg9.thm
Binary files differ
diff --git a/test/user-template/user/gallery/sky.gif b/test/user-template/user/gallery/sky.gif
new file mode 100644
index 000000000000..8491a7312ac2
--- /dev/null
+++ b/test/user-template/user/gallery/sky.gif
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/apert.wav b/test/user-template/user/gallery/sounds/apert.wav
new file mode 100644
index 000000000000..eb4b96628c48
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/apert.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/apert2.wav b/test/user-template/user/gallery/sounds/apert2.wav
new file mode 100644
index 000000000000..43e7ae6308e0
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/apert2.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/applause.wav b/test/user-template/user/gallery/sounds/applause.wav
new file mode 100644
index 000000000000..3a371ff1423e
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/applause.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/beam.wav b/test/user-template/user/gallery/sounds/beam.wav
new file mode 100644
index 000000000000..8f9de067af80
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/beam.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/beam2.wav b/test/user-template/user/gallery/sounds/beam2.wav
new file mode 100644
index 000000000000..49e23b9c1c1a
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/beam2.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/cow.wav b/test/user-template/user/gallery/sounds/cow.wav
new file mode 100644
index 000000000000..494e6c4ac12a
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/cow.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/curve.wav b/test/user-template/user/gallery/sounds/curve.wav
new file mode 100644
index 000000000000..3db9221161d4
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/curve.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/drama.wav b/test/user-template/user/gallery/sounds/drama.wav
new file mode 100644
index 000000000000..7490cc1594d8
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/drama.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/explos.wav b/test/user-template/user/gallery/sounds/explos.wav
new file mode 100644
index 000000000000..8e7cec5c3d5b
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/explos.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/falling.wav b/test/user-template/user/gallery/sounds/falling.wav
new file mode 100644
index 000000000000..442d2fe662b8
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/falling.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/glasses.wav b/test/user-template/user/gallery/sounds/glasses.wav
new file mode 100644
index 000000000000..2aa05154e8de
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/glasses.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/gong.wav b/test/user-template/user/gallery/sounds/gong.wav
new file mode 100644
index 000000000000..13030157eeab
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/gong.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/horse.wav b/test/user-template/user/gallery/sounds/horse.wav
new file mode 100644
index 000000000000..3d4827ac66ed
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/horse.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/kling.wav b/test/user-template/user/gallery/sounds/kling.wav
new file mode 100644
index 000000000000..88bace778b8b
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/kling.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/kongas.wav b/test/user-template/user/gallery/sounds/kongas.wav
new file mode 100644
index 000000000000..8a691f17c7a4
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/kongas.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/laser.wav b/test/user-template/user/gallery/sounds/laser.wav
new file mode 100644
index 000000000000..2ecf82292f5b
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/laser.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/left.wav b/test/user-template/user/gallery/sounds/left.wav
new file mode 100644
index 000000000000..513cce404dd4
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/left.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/nature1.wav b/test/user-template/user/gallery/sounds/nature1.wav
new file mode 100644
index 000000000000..349fd1fae146
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/nature1.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/nature2.wav b/test/user-template/user/gallery/sounds/nature2.wav
new file mode 100644
index 000000000000..035af3d8f43c
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/nature2.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/ok.wav b/test/user-template/user/gallery/sounds/ok.wav
new file mode 100644
index 000000000000..c333c6e052d7
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/ok.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/pluck.wav b/test/user-template/user/gallery/sounds/pluck.wav
new file mode 100644
index 000000000000..29b6b93bd2ec
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/pluck.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/roll.wav b/test/user-template/user/gallery/sounds/roll.wav
new file mode 100644
index 000000000000..acc9d2a48d57
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/roll.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/romans.wav b/test/user-template/user/gallery/sounds/romans.wav
new file mode 100644
index 000000000000..6e1fb7395692
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/romans.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/soft.wav b/test/user-template/user/gallery/sounds/soft.wav
new file mode 100644
index 000000000000..eb8e32bbff57
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/soft.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/space.wav b/test/user-template/user/gallery/sounds/space.wav
new file mode 100644
index 000000000000..1455b34b41f6
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/space.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/space2.wav b/test/user-template/user/gallery/sounds/space2.wav
new file mode 100644
index 000000000000..848f286b2a72
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/space2.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/space3.wav b/test/user-template/user/gallery/sounds/space3.wav
new file mode 100644
index 000000000000..d47a7a87186a
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/space3.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/sparcle.wav b/test/user-template/user/gallery/sounds/sparcle.wav
new file mode 100644
index 000000000000..4c15caab24a1
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/sparcle.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/strom.wav b/test/user-template/user/gallery/sounds/strom.wav
new file mode 100644
index 000000000000..b67838d2ac67
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/strom.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/theetone.wav b/test/user-template/user/gallery/sounds/theetone.wav
new file mode 100644
index 000000000000..daf050be8d6b
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/theetone.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/top.wav b/test/user-template/user/gallery/sounds/top.wav
new file mode 100644
index 000000000000..4b825ba0fee4
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/top.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/train.wav b/test/user-template/user/gallery/sounds/train.wav
new file mode 100644
index 000000000000..9396150dade3
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/train.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/untie.wav b/test/user-template/user/gallery/sounds/untie.wav
new file mode 100644
index 000000000000..1efe546b7518
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/untie.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/ups.wav b/test/user-template/user/gallery/sounds/ups.wav
new file mode 100644
index 000000000000..fb67c720a585
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/ups.wav
Binary files differ
diff --git a/test/user-template/user/gallery/sounds/wallewal.wav b/test/user-template/user/gallery/sounds/wallewal.wav
new file mode 100644
index 000000000000..d1d7b0807364
--- /dev/null
+++ b/test/user-template/user/gallery/sounds/wallewal.wav
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/aqua.jpg b/test/user-template/user/gallery/www-back/aqua.jpg
new file mode 100644
index 000000000000..a7b29ee29bbd
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/aqua.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/bathroom.jpg b/test/user-template/user/gallery/www-back/bathroom.jpg
new file mode 100644
index 000000000000..058f01ae9237
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/bathroom.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/blocks.jpg b/test/user-template/user/gallery/www-back/blocks.jpg
new file mode 100644
index 000000000000..1cd0c6ebceb5
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/blocks.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/blow_green.jpg b/test/user-template/user/gallery/www-back/blow_green.jpg
new file mode 100644
index 000000000000..aedb52e224f7
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/blow_green.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/blueblop.jpg b/test/user-template/user/gallery/www-back/blueblop.jpg
new file mode 100644
index 000000000000..330cacb7a1e4
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/blueblop.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/bulging.jpg b/test/user-template/user/gallery/www-back/bulging.jpg
new file mode 100644
index 000000000000..02c083061c52
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/bulging.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/canvas_blue.jpg b/test/user-template/user/gallery/www-back/canvas_blue.jpg
new file mode 100644
index 000000000000..a0ab3b3f2ff8
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/canvas_blue.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/cheese.jpg b/test/user-template/user/gallery/www-back/cheese.jpg
new file mode 100644
index 000000000000..dea5795fd0b7
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/cheese.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/chocolate.jpg b/test/user-template/user/gallery/www-back/chocolate.jpg
new file mode 100644
index 000000000000..7e04116603e5
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/chocolate.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/citrus.jpg b/test/user-template/user/gallery/www-back/citrus.jpg
new file mode 100644
index 000000000000..ceb9ef08c344
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/citrus.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/confetti.jpg b/test/user-template/user/gallery/www-back/confetti.jpg
new file mode 100644
index 000000000000..f04bfab2f4a4
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/confetti.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/daisy.jpg b/test/user-template/user/gallery/www-back/daisy.jpg
new file mode 100644
index 000000000000..69287fa1d6f9
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/daisy.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/fluffy-grey.jpg b/test/user-template/user/gallery/www-back/fluffy-grey.jpg
new file mode 100644
index 000000000000..351ac420dc59
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/fluffy-grey.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/fluffy.jpg b/test/user-template/user/gallery/www-back/fluffy.jpg
new file mode 100644
index 000000000000..c8398cca3c1f
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/fluffy.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/fuzzy-blue.jpg b/test/user-template/user/gallery/www-back/fuzzy-blue.jpg
new file mode 100644
index 000000000000..b65a17e03e98
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/fuzzy-blue.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/fuzzy-darkgrey.jpg b/test/user-template/user/gallery/www-back/fuzzy-darkgrey.jpg
new file mode 100644
index 000000000000..ed8c40e25df7
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/fuzzy-darkgrey.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/fuzzy-grey.jpg b/test/user-template/user/gallery/www-back/fuzzy-grey.jpg
new file mode 100644
index 000000000000..2263906eb142
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/fuzzy-grey.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/fuzzy-lightgrey.jpg b/test/user-template/user/gallery/www-back/fuzzy-lightgrey.jpg
new file mode 100644
index 000000000000..fe3b8954d5cc
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/fuzzy-lightgrey.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/fuzzy_light.jpg b/test/user-template/user/gallery/www-back/fuzzy_light.jpg
new file mode 100644
index 000000000000..8715e992a4ca
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/fuzzy_light.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/gregre.gif b/test/user-template/user/gallery/www-back/gregre.gif
new file mode 100644
index 000000000000..9d86063a1087
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/gregre.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/grey.gif b/test/user-template/user/gallery/www-back/grey.gif
new file mode 100644
index 000000000000..cde670fb5115
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/grey.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/grypaws.gif b/test/user-template/user/gallery/www-back/grypaws.gif
new file mode 100644
index 000000000000..9ea9652b768d
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/grypaws.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/ice-blue.jpg b/test/user-template/user/gallery/www-back/ice-blue.jpg
new file mode 100644
index 000000000000..db5d36163879
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/ice-blue.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/ice-light.jpg b/test/user-template/user/gallery/www-back/ice-light.jpg
new file mode 100644
index 000000000000..e82653d9812f
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/ice-light.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/imitation_leather.jpg b/test/user-template/user/gallery/www-back/imitation_leather.jpg
new file mode 100644
index 000000000000..12ddb212d779
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/imitation_leather.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/interstices.jpg b/test/user-template/user/gallery/www-back/interstices.jpg
new file mode 100644
index 000000000000..5f5cf7709553
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/interstices.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/jeans.jpg b/test/user-template/user/gallery/www-back/jeans.jpg
new file mode 100644
index 000000000000..63d13c34a8cf
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/jeans.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/jeansblk.jpg b/test/user-template/user/gallery/www-back/jeansblk.jpg
new file mode 100644
index 000000000000..25a2f71cf685
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/jeansblk.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/lawn-artificial.jpg b/test/user-template/user/gallery/www-back/lawn-artificial.jpg
new file mode 100644
index 000000000000..ff2ecca7b619
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/lawn-artificial.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/lawn.jpg b/test/user-template/user/gallery/www-back/lawn.jpg
new file mode 100644
index 000000000000..60382b3b1709
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/lawn.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/lightblue-wet.jpg b/test/user-template/user/gallery/www-back/lightblue-wet.jpg
new file mode 100644
index 000000000000..227afaf6ba91
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/lightblue-wet.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/linen-fine.jpg b/test/user-template/user/gallery/www-back/linen-fine.jpg
new file mode 100644
index 000000000000..af874d217ffd
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/linen-fine.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/lino-green.jpg b/test/user-template/user/gallery/www-back/lino-green.jpg
new file mode 100644
index 000000000000..e178db00a1a4
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/lino-green.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/liquid-blue.jpg b/test/user-template/user/gallery/www-back/liquid-blue.jpg
new file mode 100644
index 000000000000..97b56e0b0044
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/liquid-blue.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/marble.jpg b/test/user-template/user/gallery/www-back/marble.jpg
new file mode 100644
index 000000000000..96f220950dca
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/marble.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/marble_dark.jpg b/test/user-template/user/gallery/www-back/marble_dark.jpg
new file mode 100644
index 000000000000..e610fc731e79
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/marble_dark.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/mazes.jpg b/test/user-template/user/gallery/www-back/mazes.jpg
new file mode 100644
index 000000000000..2aa84ade7ea7
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/mazes.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/mint.gif b/test/user-template/user/gallery/www-back/mint.gif
new file mode 100644
index 000000000000..a32311256d6d
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/mint.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/notes.gif b/test/user-template/user/gallery/www-back/notes.gif
new file mode 100644
index 000000000000..6637d61aead2
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/notes.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/pattern.jpg b/test/user-template/user/gallery/www-back/pattern.jpg
new file mode 100644
index 000000000000..6a6a3d8d4e44
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/pattern.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/pebble-light.jpg b/test/user-template/user/gallery/www-back/pebble-light.jpg
new file mode 100644
index 000000000000..9a314557daec
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/pebble-light.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/pink.gif b/test/user-template/user/gallery/www-back/pink.gif
new file mode 100644
index 000000000000..b4f98594b349
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/pink.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/pool.jpg b/test/user-template/user/gallery/www-back/pool.jpg
new file mode 100644
index 000000000000..1f5943f7589c
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/pool.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/popcorn.jpg b/test/user-template/user/gallery/www-back/popcorn.jpg
new file mode 100644
index 000000000000..4b464604c402
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/popcorn.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/purple.jpg b/test/user-template/user/gallery/www-back/purple.jpg
new file mode 100644
index 000000000000..71a027a38da9
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/purple.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/reddark.jpg b/test/user-template/user/gallery/www-back/reddark.jpg
new file mode 100644
index 000000000000..a7e5eaff8052
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/reddark.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/rings-green.jpg b/test/user-template/user/gallery/www-back/rings-green.jpg
new file mode 100644
index 000000000000..17062c2d0629
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/rings-green.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/rings-orange.jpg b/test/user-template/user/gallery/www-back/rings-orange.jpg
new file mode 100644
index 000000000000..4c49bb9c19fd
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/rings-orange.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/roses.jpg b/test/user-template/user/gallery/www-back/roses.jpg
new file mode 100644
index 000000000000..3bcc34ea464e
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/roses.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/sand-light.jpg b/test/user-template/user/gallery/www-back/sand-light.jpg
new file mode 100644
index 000000000000..87715ad29d15
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/sand-light.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/sand.jpg b/test/user-template/user/gallery/www-back/sand.jpg
new file mode 100644
index 000000000000..2ec83cdfc20e
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/sand.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/sky.jpg b/test/user-template/user/gallery/www-back/sky.jpg
new file mode 100644
index 000000000000..2ccdb489d5f5
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/sky.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/soft-structure_grey.jpg b/test/user-template/user/gallery/www-back/soft-structure_grey.jpg
new file mode 100644
index 000000000000..48d0943adef9
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/soft-structure_grey.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/space.jpg b/test/user-template/user/gallery/www-back/space.jpg
new file mode 100644
index 000000000000..808165d35633
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/space.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/stone-dark.jpg b/test/user-template/user/gallery/www-back/stone-dark.jpg
new file mode 100644
index 000000000000..eb50eeec98af
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/stone-dark.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/stone.jpg b/test/user-template/user/gallery/www-back/stone.jpg
new file mode 100644
index 000000000000..26c36d063bcb
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/stone.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/structure.jpg b/test/user-template/user/gallery/www-back/structure.jpg
new file mode 100644
index 000000000000..b49da3066e97
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/structure.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/structure_darkgreen.gif b/test/user-template/user/gallery/www-back/structure_darkgreen.gif
new file mode 100644
index 000000000000..ed9e6d27c3a1
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/structure_darkgreen.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/structure_green.jpg b/test/user-template/user/gallery/www-back/structure_green.jpg
new file mode 100644
index 000000000000..240f2adae06b
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/structure_green.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/wall-grey.jpg b/test/user-template/user/gallery/www-back/wall-grey.jpg
new file mode 100644
index 000000000000..42270e0c1a58
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/wall-grey.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/wet-turquoise.jpg b/test/user-template/user/gallery/www-back/wet-turquoise.jpg
new file mode 100644
index 000000000000..4f6dfc31816b
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/wet-turquoise.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-back/wood.jpg b/test/user-template/user/gallery/www-back/wood.jpg
new file mode 100644
index 000000000000..889a838477f6
--- /dev/null
+++ b/test/user-template/user/gallery/www-back/wood.jpg
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/bluat.gif b/test/user-template/user/gallery/www-graf/bluat.gif
new file mode 100644
index 000000000000..7c9f67994d4f
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/bluat.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/bluback.gif b/test/user-template/user/gallery/www-graf/bluback.gif
new file mode 100644
index 000000000000..44a0801be348
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/bluback.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/bludisk.gif b/test/user-template/user/gallery/www-graf/bludisk.gif
new file mode 100644
index 000000000000..9d2d8f715e54
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/bludisk.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/bludown.gif b/test/user-template/user/gallery/www-graf/bludown.gif
new file mode 100644
index 000000000000..4f091b73de99
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/bludown.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/bluhome.gif b/test/user-template/user/gallery/www-graf/bluhome.gif
new file mode 100644
index 000000000000..ea52ee4bce8f
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/bluhome.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/bluinfo.gif b/test/user-template/user/gallery/www-graf/bluinfo.gif
new file mode 100644
index 000000000000..a18d9a902663
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/bluinfo.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/bluleft.gif b/test/user-template/user/gallery/www-graf/bluleft.gif
new file mode 100644
index 000000000000..9f0e78a9930c
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/bluleft.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/blumail.gif b/test/user-template/user/gallery/www-graf/blumail.gif
new file mode 100644
index 000000000000..da02f1ad8065
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/blumail.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/bluminus.gif b/test/user-template/user/gallery/www-graf/bluminus.gif
new file mode 100644
index 000000000000..a089203d970e
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/bluminus.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/bluplus.gif b/test/user-template/user/gallery/www-graf/bluplus.gif
new file mode 100644
index 000000000000..29921f57eff5
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/bluplus.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/bluquest.gif b/test/user-template/user/gallery/www-graf/bluquest.gif
new file mode 100644
index 000000000000..761848e53b80
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/bluquest.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/bluright.gif b/test/user-template/user/gallery/www-graf/bluright.gif
new file mode 100644
index 000000000000..cf046bacf30a
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/bluright.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/bluup.gif b/test/user-template/user/gallery/www-graf/bluup.gif
new file mode 100644
index 000000000000..5efe05349ccb
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/bluup.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/gredisk.gif b/test/user-template/user/gallery/www-graf/gredisk.gif
new file mode 100644
index 000000000000..8feb3dae8d1d
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/gredisk.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/gredown.gif b/test/user-template/user/gallery/www-graf/gredown.gif
new file mode 100644
index 000000000000..dca89f8322f8
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/gredown.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/grehome.gif b/test/user-template/user/gallery/www-graf/grehome.gif
new file mode 100644
index 000000000000..b0afe42a09a8
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/grehome.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/greinfo.gif b/test/user-template/user/gallery/www-graf/greinfo.gif
new file mode 100644
index 000000000000..d5d3f32de054
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/greinfo.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/greleft.gif b/test/user-template/user/gallery/www-graf/greleft.gif
new file mode 100644
index 000000000000..cec6a7e75e4d
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/greleft.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/gremail.gif b/test/user-template/user/gallery/www-graf/gremail.gif
new file mode 100644
index 000000000000..7c7a1cd8c0e9
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/gremail.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/greminus.gif b/test/user-template/user/gallery/www-graf/greminus.gif
new file mode 100644
index 000000000000..a83c80f22f90
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/greminus.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/greplus.gif b/test/user-template/user/gallery/www-graf/greplus.gif
new file mode 100644
index 000000000000..a8172f7111d1
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/greplus.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/grequest.gif b/test/user-template/user/gallery/www-graf/grequest.gif
new file mode 100644
index 000000000000..ec6be9a33e79
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/grequest.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/greright.gif b/test/user-template/user/gallery/www-graf/greright.gif
new file mode 100644
index 000000000000..1df483b6c02b
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/greright.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/greup.gif b/test/user-template/user/gallery/www-graf/greup.gif
new file mode 100644
index 000000000000..6aac4dccb4df
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/greup.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/grnat.gif b/test/user-template/user/gallery/www-graf/grnat.gif
new file mode 100644
index 000000000000..351a4f85f24d
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/grnat.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/grnback.gif b/test/user-template/user/gallery/www-graf/grnback.gif
new file mode 100644
index 000000000000..2b830de3573f
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/grnback.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/grndisk.gif b/test/user-template/user/gallery/www-graf/grndisk.gif
new file mode 100644
index 000000000000..cd859359581a
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/grndisk.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/grndown.gif b/test/user-template/user/gallery/www-graf/grndown.gif
new file mode 100644
index 000000000000..9da0d02dce2e
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/grndown.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/grnexcla.gif b/test/user-template/user/gallery/www-graf/grnexcla.gif
new file mode 100644
index 000000000000..834ad607e47c
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/grnexcla.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/grnhome.gif b/test/user-template/user/gallery/www-graf/grnhome.gif
new file mode 100644
index 000000000000..d6bd2386c400
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/grnhome.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/grninfo.gif b/test/user-template/user/gallery/www-graf/grninfo.gif
new file mode 100644
index 000000000000..9aedd3422032
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/grninfo.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/grnleft.gif b/test/user-template/user/gallery/www-graf/grnleft.gif
new file mode 100644
index 000000000000..512ec1fd72bf
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/grnleft.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/grnmail.gif b/test/user-template/user/gallery/www-graf/grnmail.gif
new file mode 100644
index 000000000000..0b586a5a137e
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/grnmail.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/grnminus.gif b/test/user-template/user/gallery/www-graf/grnminus.gif
new file mode 100644
index 000000000000..5ca73de31d98
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/grnminus.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/grnplus.gif b/test/user-template/user/gallery/www-graf/grnplus.gif
new file mode 100644
index 000000000000..f259ebc70087
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/grnplus.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/grnquest.gif b/test/user-template/user/gallery/www-graf/grnquest.gif
new file mode 100644
index 000000000000..c620a70a7c7f
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/grnquest.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/grnright.gif b/test/user-template/user/gallery/www-graf/grnright.gif
new file mode 100644
index 000000000000..7d229301a0d5
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/grnright.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/grnup.gif b/test/user-template/user/gallery/www-graf/grnup.gif
new file mode 100644
index 000000000000..5933b8e639ce
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/grnup.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/gryat.gif b/test/user-template/user/gallery/www-graf/gryat.gif
new file mode 100644
index 000000000000..11214d1d0ad4
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/gryat.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/gryback.gif b/test/user-template/user/gallery/www-graf/gryback.gif
new file mode 100644
index 000000000000..d333cbbcdb40
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/gryback.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/grydisk.gif b/test/user-template/user/gallery/www-graf/grydisk.gif
new file mode 100644
index 000000000000..28f026f4a056
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/grydisk.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/grydown.gif b/test/user-template/user/gallery/www-graf/grydown.gif
new file mode 100644
index 000000000000..9d10addd367a
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/grydown.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/gryhome.gif b/test/user-template/user/gallery/www-graf/gryhome.gif
new file mode 100644
index 000000000000..afb880af59ab
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/gryhome.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/gryinfo.gif b/test/user-template/user/gallery/www-graf/gryinfo.gif
new file mode 100644
index 000000000000..16b583332cb1
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/gryinfo.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/gryleft.gif b/test/user-template/user/gallery/www-graf/gryleft.gif
new file mode 100644
index 000000000000..cd385acf4237
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/gryleft.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/grymail.gif b/test/user-template/user/gallery/www-graf/grymail.gif
new file mode 100644
index 000000000000..e2f79d0493a9
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/grymail.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/gryminus.gif b/test/user-template/user/gallery/www-graf/gryminus.gif
new file mode 100644
index 000000000000..66d8bd1a4583
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/gryminus.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/gryplus.gif b/test/user-template/user/gallery/www-graf/gryplus.gif
new file mode 100644
index 000000000000..38ef102f0161
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/gryplus.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/gryquest.gif b/test/user-template/user/gallery/www-graf/gryquest.gif
new file mode 100644
index 000000000000..c029339804de
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/gryquest.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/gryright.gif b/test/user-template/user/gallery/www-graf/gryright.gif
new file mode 100644
index 000000000000..af9c59a7d03f
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/gryright.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/gryup.gif b/test/user-template/user/gallery/www-graf/gryup.gif
new file mode 100644
index 000000000000..77f7a7ec7009
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/gryup.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/men@work.gif b/test/user-template/user/gallery/www-graf/men@work.gif
new file mode 100644
index 000000000000..94cdffe5dbb2
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/men@work.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/orgat.gif b/test/user-template/user/gallery/www-graf/orgat.gif
new file mode 100644
index 000000000000..62017e9307bb
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/orgat.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/orgback.gif b/test/user-template/user/gallery/www-graf/orgback.gif
new file mode 100644
index 000000000000..2424599899df
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/orgback.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/orgdisk.gif b/test/user-template/user/gallery/www-graf/orgdisk.gif
new file mode 100644
index 000000000000..6e258772360d
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/orgdisk.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/orgdown.gif b/test/user-template/user/gallery/www-graf/orgdown.gif
new file mode 100644
index 000000000000..44e7f1540c22
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/orgdown.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/orghome.gif b/test/user-template/user/gallery/www-graf/orghome.gif
new file mode 100644
index 000000000000..a65ad12b7a16
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/orghome.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/orginfo.gif b/test/user-template/user/gallery/www-graf/orginfo.gif
new file mode 100644
index 000000000000..4c7f0893f8f5
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/orginfo.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/orgleft.gif b/test/user-template/user/gallery/www-graf/orgleft.gif
new file mode 100644
index 000000000000..1c390994356f
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/orgleft.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/orgmail.gif b/test/user-template/user/gallery/www-graf/orgmail.gif
new file mode 100644
index 000000000000..1887cd5d4e3b
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/orgmail.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/orgminus.gif b/test/user-template/user/gallery/www-graf/orgminus.gif
new file mode 100644
index 000000000000..6295b5949a22
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/orgminus.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/orgplus.gif b/test/user-template/user/gallery/www-graf/orgplus.gif
new file mode 100644
index 000000000000..2fecfd4dbf3b
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/orgplus.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/orgquest.gif b/test/user-template/user/gallery/www-graf/orgquest.gif
new file mode 100644
index 000000000000..cadb4f6ea5dc
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/orgquest.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/orgright.gif b/test/user-template/user/gallery/www-graf/orgright.gif
new file mode 100644
index 000000000000..0b15305d2deb
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/orgright.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/orgup.gif b/test/user-template/user/gallery/www-graf/orgup.gif
new file mode 100644
index 000000000000..169e4f3a8201
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/orgup.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/redat.gif b/test/user-template/user/gallery/www-graf/redat.gif
new file mode 100644
index 000000000000..b775b490da66
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/redat.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/redback.gif b/test/user-template/user/gallery/www-graf/redback.gif
new file mode 100644
index 000000000000..da21ca4657cc
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/redback.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/reddisk.gif b/test/user-template/user/gallery/www-graf/reddisk.gif
new file mode 100644
index 000000000000..bf8e9acecaf7
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/reddisk.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/reddown.gif b/test/user-template/user/gallery/www-graf/reddown.gif
new file mode 100644
index 000000000000..d757c11a6c23
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/reddown.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/redhome.gif b/test/user-template/user/gallery/www-graf/redhome.gif
new file mode 100644
index 000000000000..d888674e8796
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/redhome.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/redinfo.gif b/test/user-template/user/gallery/www-graf/redinfo.gif
new file mode 100644
index 000000000000..b98a4043c238
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/redinfo.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/redleft.gif b/test/user-template/user/gallery/www-graf/redleft.gif
new file mode 100644
index 000000000000..cefd436dbcb2
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/redleft.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/redmail.gif b/test/user-template/user/gallery/www-graf/redmail.gif
new file mode 100644
index 000000000000..e046d7451952
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/redmail.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/redminus.gif b/test/user-template/user/gallery/www-graf/redminus.gif
new file mode 100644
index 000000000000..fe2728148de1
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/redminus.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/redplus.gif b/test/user-template/user/gallery/www-graf/redplus.gif
new file mode 100644
index 000000000000..ce263117223b
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/redplus.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/redquest.gif b/test/user-template/user/gallery/www-graf/redquest.gif
new file mode 100644
index 000000000000..9d1c39ef63cc
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/redquest.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/redright.gif b/test/user-template/user/gallery/www-graf/redright.gif
new file mode 100644
index 000000000000..63e88f3235d6
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/redright.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/redup.gif b/test/user-template/user/gallery/www-graf/redup.gif
new file mode 100644
index 000000000000..0440c5ce0dd0
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/redup.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/turdown.gif b/test/user-template/user/gallery/www-graf/turdown.gif
new file mode 100644
index 000000000000..5fe7eb961b65
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/turdown.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/turhome.gif b/test/user-template/user/gallery/www-graf/turhome.gif
new file mode 100644
index 000000000000..73e75405ac62
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/turhome.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/turleft.gif b/test/user-template/user/gallery/www-graf/turleft.gif
new file mode 100644
index 000000000000..3e4c54cee0ff
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/turleft.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/turright.gif b/test/user-template/user/gallery/www-graf/turright.gif
new file mode 100644
index 000000000000..3cd281b35eab
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/turright.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/turup.gif b/test/user-template/user/gallery/www-graf/turup.gif
new file mode 100644
index 000000000000..d91cf36332e6
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/turup.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/viohome.gif b/test/user-template/user/gallery/www-graf/viohome.gif
new file mode 100644
index 000000000000..a5ed74a143ed
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/viohome.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/violeft.gif b/test/user-template/user/gallery/www-graf/violeft.gif
new file mode 100644
index 000000000000..012eaabaea36
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/violeft.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/vioright.gif b/test/user-template/user/gallery/www-graf/vioright.gif
new file mode 100644
index 000000000000..91a463096075
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/vioright.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/vioup.gif b/test/user-template/user/gallery/www-graf/vioup.gif
new file mode 100644
index 000000000000..3cf93c8bd3e9
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/vioup.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/ylwdown.gif b/test/user-template/user/gallery/www-graf/ylwdown.gif
new file mode 100644
index 000000000000..15a10b024c40
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/ylwdown.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/ylwhome.gif b/test/user-template/user/gallery/www-graf/ylwhome.gif
new file mode 100644
index 000000000000..4144432d48ba
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/ylwhome.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/ylwleft.gif b/test/user-template/user/gallery/www-graf/ylwleft.gif
new file mode 100644
index 000000000000..9c2c29a6f125
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/ylwleft.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/ylwmail.gif b/test/user-template/user/gallery/www-graf/ylwmail.gif
new file mode 100644
index 000000000000..7a7dcd007c56
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/ylwmail.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/ylwright.gif b/test/user-template/user/gallery/www-graf/ylwright.gif
new file mode 100644
index 000000000000..eced2a8221be
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/ylwright.gif
Binary files differ
diff --git a/test/user-template/user/gallery/www-graf/ylwup.gif b/test/user-template/user/gallery/www-graf/ylwup.gif
new file mode 100644
index 000000000000..3820551aec9d
--- /dev/null
+++ b/test/user-template/user/gallery/www-graf/ylwup.gif
Binary files differ
diff --git a/test/user-template/user/psprint/driver/SGENPRT.PS b/test/user-template/user/psprint/driver/SGENPRT.PS
new file mode 100644
index 000000000000..79eead5f329a
--- /dev/null
+++ b/test/user-template/user/psprint/driver/SGENPRT.PS
@@ -0,0 +1,589 @@
+*PPD-Adobe: "4.0"
+*%
+*% DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*%
+*% Copyright 2000, 2010 Oracle and/or its affiliates.
+*%
+*% OpenOffice.org - a multi-platform office productivity suite
+*%
+*% This file is part of OpenOffice.org.
+*%
+*% OpenOffice.org is free software: you can redistribute it and/or modify
+*% it under the terms of the GNU Lesser General Public License version 3
+*% only, as published by the Free Software Foundation.
+*%
+*% OpenOffice.org is distributed in the hope that it will be useful,
+*% but WITHOUT ANY WARRANTY; without even the implied warranty of
+*% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*% GNU Lesser General Public License version 3 for more details
+*% (a copy is included in the LICENSE file that accompanied this code).
+*%
+*% You should have received a copy of the GNU Lesser General Public License
+*% version 3 along with OpenOffice.org. If not, see
+*% <http://www.openoffice.org/license.html>
+*% for a copy of the LGPLv3 License.
+*%
+*%
+*%
+*% The user must print with a PostScript(R) emulator to non PostScript(R)
+*% printers if the system has no specific printer support. This file
+*% allows the user to print to most printers without any modification.
+*% Standard paper sizes and resolutions are defined. There are some
+*% additional definitions for screen or online documents in this file.
+*% To print to a PostScript(R) printer, use the specific PPD file.
+
+*% ===== General =====
+
+*FormatVersion: "4.0"
+*FileVersion: "1.0"
+*LanguageEncoding: ISOLatin1
+*LanguageVersion: English
+*PSVersion: "(1) 1"
+*Product: "(Generic Printer)"
+*ModelName: "Generic Printer"
+*NickName: "Generic Printer"
+*PCFileName: "SGENPRT.PPD"
+
+
+*% ===== Basic Capabilities and Defaults =====
+
+*ColorDevice: True
+*DefaultColorSpace: RGB
+*LanguageLevel: "2"
+
+*% --- For None Color or old PostScript(R) printers use following lines ---
+*% *ColorDevice: False
+*% *DefaultColorSpace: Gray
+*% *LanguageLevel: "1"
+
+*FreeVM: "8388608"
+*VariablePaperSize: True
+*FileSystem: False
+*Throughput: "8"
+*Password: "0"
+*ExitServer: "
+ count 0 eq % is the password on the stack?
+ { true }
+ { dup % potential password
+ statusdict /checkpassword get exec not
+ } ifelse
+ { % if no password or not valid
+ (WARNING : Cannot perform the exitserver command.) =
+ (Password supplied is not valid.) =
+ (Please contact the author of this software.) = flush
+ quit
+ } if
+ serverdict /exitserver get exec
+"
+*End
+*Reset: "
+ count 0 eq % is the password on the stack?
+ { true }
+ { dup % potential password
+ statusdict /checkpassword get exec not
+ } ifelse
+ { % if no password or not valid
+ (WARNING : Cannot reset printer.) =
+ (Password supplied is not valid.) =
+ (Please contact the author of this software.) = flush
+ quit
+ } if
+ serverdict /exitserver get exec
+ systemdict /quit get exec
+ (WARNING : Printer Reset Failed.) = flush
+"
+*End
+
+
+*DefaultResolution: 300dpi
+
+*ResScreenFreq 72dpi: "60.0"
+*ResScreenFreq 144dpi: "60.0"
+*ResScreenFreq 300dpi: "60.0"
+*ResScreenFreq 360dpi: "60.0"
+*ResScreenFreq 600dpi: "60.0"
+*ResScreenFreq 720dpi: "60.0"
+*ResScreenFreq 1200dpi: "60.0"
+*ResScreenFreq 1440dpi: "60.0"
+*ResScreenFreq 2400dpi: "60.0"
+*ResScreenAngle 72dpi: "45.0"
+*ResScreenAngle 144dpi: "45.0"
+*ResScreenAngle 300dpi: "45.0"
+*ResScreenAngle 360dpi: "45.0"
+*ResScreenAngle 600dpi: "45.0"
+*ResScreenAngle 720dpi: "45.0"
+*ResScreenAngle 1200dpi: "45.0"
+*ResScreenAngle 1440dpi: "45.0"
+*ResScreenAngle 2400dpi: "45.0"
+
+
+*% ===== Halftone =====
+
+*ContoneOnly: False
+*DefaultHalftoneType: 1
+*ScreenFreq: "60.0"
+*ScreenAngle: "45.0"
+*DefaultScreenProc: Dot
+*ScreenProc Dot: "
+ { abs exch abs 2 copy add 1 gt {1 sub dup mul exch 1 sub
+ dup mul add 1 sub } { dup mul exch dup mul add 1 exch sub }
+ ifelse } bind
+"
+*End
+*ScreenProc Line: "{ exch pop abs neg } bind"
+*ScreenProc Ellipse: "
+ { abs exch abs 2 copy mul exch 4 mul add 3 sub dup 0
+ lt { pop dup mul exch .75 div dup mul add 4 div 1 exch sub }
+ { dup 1 gt { pop 1 exch sub dup mul exch 1 exch sub .75 div
+ dup mul add 4 div 1 sub }
+ { .5 exch sub exch pop exch pop } ifelse } ifelse } bind
+"
+*End
+*ScreenProc Cross: "{ abs exch abs 2 copy gt { exch } if pop neg } bind"
+
+*DefaultTransfer: Null
+*Transfer Null: "{ } bind"
+*Transfer Null.Inverse: "{ 1 exch sub } bind"
+
+
+*% ===== Paper =====
+
+*OpenUI *PageSize: PickOne
+*OrderDependency: 30 AnySetup *PageSize
+*DefaultPageSize: Letter
+*PageSize A0: "<</PageSize [2384 3370] /ImagingBBox null>> setpagedevice"
+*PageSize A1: "<</PageSize [1684 2384] /ImagingBBox null>> setpagedevice"
+*PageSize A2: "<</PageSize [1191 1684] /ImagingBBox null>> setpagedevice"
+*PageSize A3: "<</PageSize [842 1191] /ImagingBBox null>> setpagedevice"
+*PageSize A4: "<</PageSize [595 842] /ImagingBBox null>> setpagedevice"
+*PageSize A5: "<</PageSize [420 595] /ImagingBBox null>> setpagedevice"
+*PageSize A6: "<</PageSize [297 420] /ImagingBBox null>> setpagedevice"
+*PageSize B4: "<</PageSize [728 1032] /ImagingBBox null>> setpagedevice"
+*PageSize B5: "<</PageSize [516 729] /ImagingBBox null>> setpagedevice"
+*PageSize B6: "<</PageSize [363 516] /ImagingBBox null>> setpagedevice"
+*PageSize Legal/US Legal: "<</PageSize [612 1008] /ImagingBBox null>> setpagedevice"
+*PageSize Letter/US Letter: "<</PageSize [612 792] /ImagingBBox null>> setpagedevice"
+*PageSize Executive: "<</PageSize [522 756] /ImagingBBox null>> setpagedevice"
+*PageSize Statement: "<</PageSize [396 612] /ImagingBBox null>> setpagedevice"
+*PageSize Tabloid/US Tabloid: "<</PageSize [792 1224] /ImagingBBox null>> setpagedevice"
+*PageSize Ledger/Ledger Landscape: "<</PageSize [1224 792] /ImagingBBox null>> setpagedevice"
+*PageSize AnsiC/US C: "<</PageSize [1224 1584] /ImagingBBox null>> setpagedevice"
+*PageSize AnsiD/US D: "<</PageSize [1584 2448] /ImagingBBox null>> setpagedevice"
+*PageSize AnsiE/US E: "<</PageSize [2448 3168] /ImagingBBox null>> setpagedevice"
+*PageSize ARCHA/ARCH A: "<</PageSize [648 864] /ImagingBBox null>> setpagedevice"
+*PageSize ARCHB/ARCH B: "<</PageSize [864 1296] /ImagingBBox null>> setpagedevice"
+*PageSize ARCHC/ARCH C: "<</PageSize [1296 1728] /ImagingBBox null>> setpagedevice"
+*PageSize ARCHD/ARCH D: "<</PageSize [1728 2592] /ImagingBBox null>> setpagedevice"
+*PageSize ARCHE/ARCH E: "<</PageSize [2592 3456] /ImagingBBox null>> setpagedevice"
+*PageSize EnvMonarch/Monarch Envelope: "<</PageSize [279 540] /ImagingBBox null>> setpagedevice"
+*PageSize EnvDL/DL Envelope: "<</PageSize [312 624] /ImagingBBox null>> setpagedevice"
+*PageSize EnvC4/C4 Envelope: "<</PageSize [649 918] /ImagingBBox null>> setpagedevice"
+*PageSize EnvC5/C5 Envelope: "<</PageSize [459 649] /ImagingBBox null>> setpagedevice"
+*PageSize EnvC6/C6 Envelope: "<</PageSize [323 459] /ImagingBBox null>> setpagedevice"
+*PageSize Env10/C10 Envelope: "<</PageSize [297 684] /ImagingBBox null>> setpagedevice"
+*PageSize EnvC65/C65 Envelope: "<</PageSize [324 648] /ImagingBBox null>> setpagedevice"
+*PageSize Folio: "<</PageSize [595 935] /ImagingBBox null>> setpagedevice"
+*?PageSize: "
+ save
+ currentpagedevice /PageSize get aload pop
+ 2 copy gt {exch} if
+ (Unknown)
+ 32 dict
+ dup [2384 3370] (A0) put
+ dup [1684 2384] (A1) put
+ dup [1191 1684] (A2) put
+ dup [842 1191] (A3) put
+ dup [595 842] (A4) put
+ dup [420 595] (A5) put
+ dup [297 420] (A6) put
+ dup [728 1032] (B4) put
+ dup [516 729] (B5) put
+ dup [363 516] (B6) put
+ dup [612 1008] (Legal) put
+ dup [612 792] (Letter) put
+ dup [522 756] (Executive) put
+ dup [396 612] (Statement) put
+ dup [792 1224] (Tabloid) put
+ dup [1224 792] (Ledger) put
+ dup [1224 1584] (AnsiC) put
+ dup [1584 2448] (AnsiD) put
+ dup [2448 3168] (AnsiE) put
+ dup [648 864] (ARCHA) put
+ dup [864 1296] (ARCHB) put
+ dup [1296 1728] (ARCHC) put
+ dup [1728 2592] (ARCHD) put
+ dup [2592 3456] (ARCHE) put
+ dup [279 540] (EnvMonarch) put
+ dup [312 624] (EnvDL) put
+ dup [649 918] (EnvC4) put
+ dup [459 649] (EnvC5) put
+ dup [323 459] (EnvC6) put
+ dup [297 684] (Env10) put
+ dup [324 648] (EnvC65) put
+ dup [595 935] (Folio) put
+ { exch aload pop 4 index sub abs 5 le exch
+ 5 index sub abs 5 le and
+ { exch pop exit } { pop } ifelse
+ } bind forall
+ = flush pop pop
+ restore
+"
+*End
+*CloseUI: *PageSize
+
+*OpenUI *PageRegion: PickOne
+*OrderDependency: 40 AnySetup *PageRegion
+*DefaultPageRegion: Letter
+*PageRegion A0: "<</PageSize [2384 3370] /ImagingBBox null>> setpagedevice"
+*PageRegion A1: "<</PageSize [1684 2384] /ImagingBBox null>> setpagedevice"
+*PageRegion A2: "<</PageSize [1191 1684] /ImagingBBox null>> setpagedevice"
+*PageRegion A3: "<</PageSize [842 1191] /ImagingBBox null>> setpagedevice"
+*PageRegion A4: "<</PageSize [595 842] /ImagingBBox null>> setpagedevice"
+*PageRegion A5: "<</PageSize [420 595] /ImagingBBox null>> setpagedevice"
+*PageRegion A6: "<</PageSize [297 420] /ImagingBBox null>> setpagedevice"
+*PageRegion B4: "<</PageSize [728 1032] /ImagingBBox null>> setpagedevice"
+*PageRegion B5: "<</PageSize [516 729] /ImagingBBox null>> setpagedevice"
+*PageRegion B6: "<</PageSize [363 516] /ImagingBBox null>> setpagedevice"
+*PageRegion Legal/US Legal: "<</PageSize [612 1008] /ImagingBBox null>> setpagedevice"
+*PageRegion Letter/US Letter: "<</PageSize [612 792] /ImagingBBox null>> setpagedevice"
+*PageRegion Executive: "<</PageSize [522 756] /ImagingBBox null>> setpagedevice"
+*PageRegion Statement: "<</PageSize [396 612] /ImagingBBox null>> setpagedevice"
+*PageRegion Tabloid/US Tabloid: "<</PageSize [792 1224] /ImagingBBox null>> setpagedevice"
+*PageRegion Ledger/Ledger Landscape: "<</PageSize [1224 792] /ImagingBBox null>> setpagedevice"
+*PageRegion AnsiC/US C: "<</PageSize [1224 1584] /ImagingBBox null>> setpagedevice"
+*PageRegion AnsiD/US D: "<</PageSize [1584 2448] /ImagingBBox null>> setpagedevice"
+*PageRegion AnsiE/US E: "<</PageSize [2448 3168] /ImagingBBox null>> setpagedevice"
+*PageRegion ARCHA/ARCH A: "<</PageSize [648 864] /ImagingBBox null>> setpagedevice"
+*PageRegion ARCHB/ARCH B: "<</PageSize [864 1296] /ImagingBBox null>> setpagedevice"
+*PageRegion ARCHC/ARCH C: "<</PageSize [1296 1728] /ImagingBBox null>> setpagedevice"
+*PageRegion ARCHD/ARCH D: "<</PageSize [1728 2592] /ImagingBBox null>> setpagedevice"
+*PageRegion ARCHE/ARCH E: "<</PageSize [2592 3456] /ImagingBBox null>> setpagedevice"
+*PageRegion EnvMonarch/Monarch Envelope: "<</PageSize [279 540] /ImagingBBox null>> setpagedevice"
+*PageRegion EnvDL/DL Envelope: "<</PageSize [312 624] /ImagingBBox null>> setpagedevice"
+*PageRegion EnvC4/C4 Envelope: "<</PageSize [649 918] /ImagingBBox null>> setpagedevice"
+*PageRegion EnvC5/C5 Envelope: "<</PageSize [459 649] /ImagingBBox null>> setpagedevice"
+*PageRegion EnvC6/C6 Envelope: "<</PageSize [323 459] /ImagingBBox null>> setpagedevice"
+*PageRegion Env10/C10 Envelope: "<</PageSize [297 684] /ImagingBBox null>> setpagedevice"
+*PageRegion EnvC65/C65 Envelope: "<</PageSize [324 648] /ImagingBBox null>> setpagedevice"
+*PageRegion Folio: "<</PageSize [595 935] /ImagingBBox null>> setpagedevice"
+*CloseUI: *PageRegion
+
+*DefaultImageableArea: Letter
+*ImageableArea A0: "0 0 2384 3370"
+*ImageableArea A1: "0 0 1684 2384"
+*ImageableArea A2: "0 0 1191 1684"
+*ImageableArea A3: "18 18 824 1173"
+*ImageableArea A4: "18 18 577 824"
+*ImageableArea A5: "18 18 402 577"
+*ImageableArea A6: "18 18 279 402"
+*ImageableArea B4: "18 18 710 1014"
+*ImageableArea B5: "18 18 498 711"
+*ImageableArea B6: "18 18 345 498"
+*ImageableArea Legal: "18 18 594 990"
+*ImageableArea Letter: "18 18 594 774"
+*ImageableArea Executive: "18 18 504 738"
+*ImageableArea Statement: "18 18 378 594"
+*ImageableArea Tabloid: "18 18 774 1206"
+*ImageableArea Ledger: "18 18 1206 774"
+*ImageableArea AnsiC: "0 0 1224 1584"
+*ImageableArea AnsiD: "0 0 1584 2448"
+*ImageableArea AnsiE: "0 0 2448 3168"
+*ImageableArea ARCHA: "0 0 648 864"
+*ImageableArea ARCHB: "0 0 864 1296"
+*ImageableArea ARCHC: "0 0 1296 1728"
+*ImageableArea ARCHD: "0 0 1728 2592"
+*ImageableArea ARCHE: "0 0 2592 3456"
+*ImageableArea EnvMonarch: "0 0 279 540"
+*ImageableArea EnvDL: "0 0 312 624"
+*ImageableArea EnvC4: "0 0 649 918"
+*ImageableArea EnvC5: "0 0 459 649"
+*ImageableArea EnvC6: "0 0 323 459"
+*ImageableArea Env10: "0 0 297 684"
+*ImageableArea EnvC65: "0 0 324 648"
+*ImageableArea Folio: "0 0 595 935"
+
+*DefaultPaperDimension: Letter
+*PaperDimension A0: "2384 3370"
+*PaperDimension A1: "1684 2384"
+*PaperDimension A2: "1191 1684"
+*PaperDimension A3: "842 1191"
+*PaperDimension A4: "595 842"
+*PaperDimension A5: "420 595"
+*PaperDimension A6: "297 420"
+*PaperDimension B4: "728 1032"
+*PaperDimension B5: "516 729"
+*PaperDimension B6: "363 516"
+*PaperDimension Legal: "612 1008"
+*PaperDimension Letter: "612 792"
+*PaperDimension Executive: "522 756"
+*PaperDimension Statement: "396 612"
+*PaperDimension Tabloid: "792 1224"
+*PaperDimension Ledger: "1224 792"
+*PaperDimension AnsiC: "1224 1584"
+*PaperDimension AnsiD: "1584 2448"
+*PaperDimension AnsiE: "2448 3168"
+*PaperDimension ARCHA: "648 864"
+*PaperDimension ARCHB: "864 1296"
+*PaperDimension ARCHC: "1296 1728"
+*PaperDimension ARCHD: "1728 2592"
+*PaperDimension ARCHE: "2592 3456"
+*PaperDimension EnvMonarch: "279 540"
+*PaperDimension EnvDL: "312 624"
+*PaperDimension EnvC4: "649 918"
+*PaperDimension EnvC5: "459 649"
+*PaperDimension EnvC6: "323 459"
+*PaperDimension Env10: "297 684"
+*PaperDimension EnvC65: "324 648"
+*PaperDimension Folio: "595 935"
+
+*% ===== Duplex =====
+*OpenUI *Duplex/Duplex: PickOne
+*OrderDependency: 30 AnySetup *Duplex
+*DefaultDuplex: Simplex
+*Duplex Simplex: ""
+*Duplex None/Off: "
+<</Duplex false /Tumble false
+ /Policies << /Duplex 1 /Tumble 1 >>
+>> setpagedevice"
+*Duplex DuplexNoTumble/Long edge:"
+<</Duplex true /Tumble false
+ /Policies << /Duplex 1 /Tumble 1 >>
+>> setpagedevice"
+*Duplex DuplexTumble/Short edge:"
+<</Duplex true /Tumble true
+ /Policies << /Duplex 1 /Tumble 1 >>
+>> setpagedevice"
+*End
+*CloseUI: *Duplex
+
+*% ===== ManualFeed ===
+*OpenUI *ManualFeed/Manual Feed: Boolean
+*OrderDependency: 15 AnySetup *ManualFeed
+*DefaultManualFeed: False
+*ManualFeed False: "
+<< /ManualFeed false /Policies << /ManualFeed 1 >> >> setpagedevice"
+*ManualFeed True: "
+<< /ManualFeed true /Policies << /ManualFeed 1 >> >> setpagedevice"
+*End
+*CloseUI: *ManualFeed
+
+*% ===== Fonts =====
+
+*DefaultFont: Courier
+*Font AvantGarde-Book: Standard "(001.002)" Standard ROM
+*Font AvantGarde-BookOblique: Standard "(001.000)" Standard ROM
+*Font AvantGarde-Demi: Standard "(001.000)" Standard ROM
+*Font AvantGarde-DemiOblique: Standard "(001.000)" Standard ROM
+*Font Bookman-Demi: Standard "(001.000)" Standard ROM
+*Font Bookman-DemiItalic: Standard "(001.000)" Standard ROM
+*Font Bookman-Light: Standard "(001.000)" Standard ROM
+*Font Bookman-LightItalic: Standard "(001.000)" Standard ROM
+*Font Courier: Standard "(001.000)" Standard ROM
+*Font Courier-Bold: Standard "(001.000)" Standard ROM
+*Font Courier-BoldOblique: Standard "(001.000)" Standard ROM
+*Font Courier-Oblique: Standard "(001.000)" Standard ROM
+*Font Helvetica: Standard "(001.000)" Standard ROM
+*Font Helvetica-Bold: Standard "(001.000)" Standard ROM
+*Font Helvetica-BoldOblique: Standard "(001.000)" Standard ROM
+*Font Helvetica-Narrow: Standard "(001.000)" Standard ROM
+*Font Helvetica-Narrow-Bold: Standard "(001.000)" Standard ROM
+*Font Helvetica-Narrow-BoldOblique: Standard "(001.000)" Standard ROM
+*Font Helvetica-Narrow-Oblique: Standard "(001.000)" Standard ROM
+*Font Helvetica-Oblique: Standard "(001.000)" Standard ROM
+*Font NewCenturySchlbk-Bold: Standard "(001.000)" Standard ROM
+*Font NewCenturySchlbk-BoldItalic: Standard "(001.000)" Standard ROM
+*Font NewCenturySchlbk-Italic: Standard "(001.000)" Standard ROM
+*Font NewCenturySchlbk-Roman: Standard "(001.000)" Standard ROM
+*Font Palatino-Bold: Standard "(001.000)" Standard ROM
+*Font Palatino-BoldItalic: Standard "(001.000)" Standard ROM
+*Font Palatino-Italic: Standard "(001.000)" Standard ROM
+*Font Palatino-Roman: Standard "(001.000)" Standard ROM
+*Font Symbol: Special "(001.001)" Special ROM
+*Font Times-Bold: Standard "(001.000)" Standard ROM
+*Font Times-BoldItalic: Standard "(001.000)" Standard ROM
+*Font Times-Italic: Standard "(001.000)" Standard ROM
+*Font Times-Roman: Standard "(001.000)" Standard ROM
+*Font ZapfChancery-MediumItalic: Standard "(001.000)" Standard ROM
+*Font ZapfDingbats: Special "(001.000)" Special ROM
+*?FontQuery: "
+ save
+ {
+ count 1 gt
+ {
+ exch dup 127 string cvs (/) print print (:) print
+ /Font resourcestatus {pop pop (Yes)} {(No)} ifelse =
+ }
+ { exit } ifelse
+ } bind loop
+ (*) = flush
+ restore
+"
+*End
+
+*?FontList: "
+ save
+ (*) {cvn ==} 128 string /Font resourceforall
+ (*) = flush
+ restore
+"
+*End
+
+
+*% === Printer Messages ===
+
+*Message: "%%[ exitserver: permanent state may be changed ]%%"
+*Message: "%%[ Flushing: rest of job (to end-of-file) will be ignored ]%%"
+*Message: "\FontName\ not found, using Courier"
+
+*% Status (format: %%[ status: <one of these> %%] )
+*Status: "idle"
+*Status: "busy"
+*Status: "waiting"
+*Status: "printing"
+*Status: "PrinterError: timeout, clearing printer"
+*Status: "PrinterError: paper entry misfeed"
+*Status: "PrinterError: warming up"
+*Status: "PrinterError: service call"
+*Status: "PrinterError: no toner cartridge"
+*Status: "PrinterError: no paper tray"
+*Status: "PrinterError: cover open"
+*Status: "PrinterError: resetting printer"
+*Status: "PrinterError: out of paper"
+*Status: "PrinterError: timeout"
+*Status: "PrinterError: manual feed timeout"
+
+*% Input Sources (format: %%[ status: <stat>; source: <one of these>]%% )
+
+*% Printer Error (format: %%[ PrinterError: <one of these>]%%)
+*PrinterError: "timeout, clearing printer"
+*PrinterError: "paper entry misfeed"
+*PrinterError: "warming up"
+*PrinterError: "service call"
+*PrinterError: "no toner cartridge"
+*PrinterError: "no paper tray"
+*PrinterError: "cover open"
+*PrinterError: "resetting printer"
+*PrinterError: "out of paper"
+*PrinterError: "timeout"
+*PrinterError: "manual feed timeout"
+
+
+*% ===== Color Separation =====
+
+*DefaultColorSep: ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi
+*InkName: ProcessBlack/Process Black
+*InkName: CustomColor/Custom Color
+*InkName: ProcessCyan/Process Cyan
+*InkName: ProcessMagenta/Process Magenta
+*InkName: ProcessYellow/Process Yellow
+
+*% --- For 60 lpi / 72 dpi ---
+*ColorSepScreenAngle ProcessBlack.60lpi.72dpi/60 lpi / 72 dpi: "45"
+*ColorSepScreenAngle CustomColor.60lpi.72dpi/60 lpi / 72 dpi: "45"
+*ColorSepScreenAngle ProcessCyan.60lpi.72dpi/60 lpi / 72 dpi: "15"
+*ColorSepScreenAngle ProcessMagenta.60lpi.72dpi/60 lpi / 72 dpi: "75"
+*ColorSepScreenAngle ProcessYellow.60lpi.72dpi/60 lpi / 72 dpi: "0"
+*ColorSepScreenFreq ProcessBlack.60lpi.72dpi/60 lpi / 72 dpi: "60"
+*ColorSepScreenFreq CustomColor.60lpi.72dpi/60 lpi / 72 dpi: "60"
+*ColorSepScreenFreq ProcessCyan.60lpi.72dpi/60 lpi / 72 dpi: "60"
+*ColorSepScreenFreq ProcessMagenta.60lpi.72dpi/60 lpi / 72 dpi: "60"
+*ColorSepScreenFreq ProcessYellow.60lpi.72dpi/60 lpi / 72 dpi: "60"
+
+*% --- For 60 lpi / 144 dpi ---
+*ColorSepScreenAngle ProcessBlack.60lpi.144dpi/60 lpi / 144 dpi: "45"
+*ColorSepScreenAngle CustomColor.60lpi.144dpi/60 lpi / 144 dpi: "45"
+*ColorSepScreenAngle ProcessCyan.60lpi.144dpi/60 lpi / 144 dpi: "15"
+*ColorSepScreenAngle ProcessMagenta.60lpi.144dpi/60 lpi / 144 dpi: "75"
+*ColorSepScreenAngle ProcessYellow.60lpi.144dpi/60 lpi / 144 dpi: "0"
+*ColorSepScreenFreq ProcessBlack.60lpi.144dpi/60 lpi / 144 dpi: "60"
+*ColorSepScreenFreq CustomColor.60lpi.144dpi/60 lpi / 144 dpi: "60"
+*ColorSepScreenFreq ProcessCyan.60lpi.144dpi/60 lpi / 144 dpi: "60"
+*ColorSepScreenFreq ProcessMagenta.60lpi.144dpi/60 lpi / 144 dpi: "60"
+*ColorSepScreenFreq ProcessYellow.60lpi.144dpi/60 lpi / 144 dpi: "60"
+
+*% --- For 60 lpi / 300 dpi ---
+*ColorSepScreenAngle ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi: "45"
+*ColorSepScreenAngle CustomColor.60lpi.300dpi/60 lpi / 300 dpi: "45"
+*ColorSepScreenAngle ProcessCyan.60lpi.300dpi/60 lpi / 300 dpi: "15"
+*ColorSepScreenAngle ProcessMagenta.60lpi.300dpi/60 lpi / 300 dpi: "75"
+*ColorSepScreenAngle ProcessYellow.60lpi.300dpi/60 lpi / 300 dpi: "0"
+*ColorSepScreenFreq ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi: "60"
+*ColorSepScreenFreq CustomColor.60lpi.300dpi/60 lpi / 300 dpi: "60"
+*ColorSepScreenFreq ProcessCyan.60lpi.300dpi/60 lpi / 300 dpi: "60"
+*ColorSepScreenFreq ProcessMagenta.60lpi.300dpi/60 lpi / 300 dpi: "60"
+*ColorSepScreenFreq ProcessYellow.60lpi.300dpi/60 lpi / 300 dpi: "60"
+
+*% --- For 60 lpi / 360 dpi ---
+*ColorSepScreenAngle ProcessBlack.60lpi.360dpi/60 lpi / 360 dpi: "45"
+*ColorSepScreenAngle CustomColor.60lpi.360dpi/60 lpi / 360 dpi: "45"
+*ColorSepScreenAngle ProcessCyan.60lpi.360dpi/60 lpi / 360 dpi: "15"
+*ColorSepScreenAngle ProcessMagenta.60lpi.360dpi/60 lpi / 360 dpi: "75"
+*ColorSepScreenAngle ProcessYellow.60lpi.360dpi/60 lpi / 360 dpi: "0"
+*ColorSepScreenFreq ProcessBlack.60lpi.360dpi/60 lpi / 360 dpi: "60"
+*ColorSepScreenFreq CustomColor.60lpi.360dpi/60 lpi / 360 dpi: "60"
+*ColorSepScreenFreq ProcessCyan.60lpi.360dpi/60 lpi / 360 dpi: "60"
+*ColorSepScreenFreq ProcessMagenta.60lpi.360dpi/60 lpi / 360 dpi: "60"
+*ColorSepScreenFreq ProcessYellow.60lpi.360dpi/60 lpi / 360 dpi: "60"
+
+*% --- For 71 lpi / 600 dpi ---
+*ColorSepScreenAngle ProcessBlack.71lpi.600dpi/71 lpi / 600 dpi: "45.0"
+*ColorSepScreenAngle CustomColor.71lpi.600dpi/71 lpi / 600 dpi: "45.0"
+*ColorSepScreenAngle ProcessCyan.71lpi.600dpi/71 lpi / 600 dpi: "71.5651"
+*ColorSepScreenAngle ProcessMagenta.71lpi.600dpi/71 lpi / 600 dpi: "18.4349"
+*ColorSepScreenAngle ProcessYellow.71lpi.600dpi/71 lpi / 600 dpi: "0.0"
+*ColorSepScreenFreq ProcessBlack.71lpi.600dpi/71 lpi / 600 dpi: "70.7107"
+*ColorSepScreenFreq CustomColor.71lpi.600dpi/71 lpi / 600 dpi: "70.7107"
+*ColorSepScreenFreq ProcessCyan.71lpi.600dpi/71 lpi / 600 dpi: "63.2456"
+*ColorSepScreenFreq ProcessMagenta.71lpi.600dpi/71 lpi / 600 dpi: "63.2456"
+*ColorSepScreenFreq ProcessYellow.71lpi.600dpi/71 lpi / 600 dpi: "66.6667"
+
+*% --- For 71 lpi / 720 dpi ---
+*ColorSepScreenAngle ProcessBlack.71lpi.720dpi/71 lpi / 720 dpi: "45.0"
+*ColorSepScreenAngle CustomColor.71lpi.720dpi/71 lpi / 720 dpi: "45.0"
+*ColorSepScreenAngle ProcessCyan.71lpi.720dpi/71 lpi / 720 dpi: "71.5651"
+*ColorSepScreenAngle ProcessMagenta.71lpi.720dpi/71 lpi / 720 dpi: "18.4349"
+*ColorSepScreenAngle ProcessYellow.71lpi.720dpi/71 lpi / 720 dpi: "0.0"
+*ColorSepScreenFreq ProcessBlack.71lpi.720dpi/71 lpi / 720 dpi: "70.7107"
+*ColorSepScreenFreq CustomColor.71lpi.720dpi/71 lpi / 720 dpi: "70.7107"
+*ColorSepScreenFreq ProcessCyan.71lpi.720dpi/71 lpi / 720 dpi: "63.2456"
+*ColorSepScreenFreq ProcessMagenta.71lpi.720dpi/71 lpi / 720 dpi: "63.2456"
+*ColorSepScreenFreq ProcessYellow.71lpi.720dpi/71 lpi / 720 dpi: "66.6667"
+
+*% --- For 100 lpi / 1200 dpi ---
+*ColorSepScreenAngle ProcessBlack.100lpi.1200dpi/100 lpi / 1200 dpi: "45.0"
+*ColorSepScreenAngle CustomColor.100lpi.1200dpi/100 lpi / 1200 dpi: "45.0"
+*ColorSepScreenAngle ProcessCyan.100lpi.1200dpi/100 lpi / 1200 dpi: "15.0"
+*ColorSepScreenAngle ProcessMagenta.100lpi.1200dpi/100 lpi / 1200 dpi: "75.0"
+*ColorSepScreenAngle ProcessYellow.100lpi.1200dpi/100 lpi / 1200 dpi: "0.0"
+*ColorSepScreenFreq ProcessBlack.100lpi.1200dpi/100 lpi / 1200 dpi: "100.0"
+*ColorSepScreenFreq CustomColor.100lpi.1200dpi/100 lpi / 1200 dpi: "100.0"
+*ColorSepScreenFreq ProcessCyan.100lpi.1200dpi/100 lpi / 1200 dpi: "100.0"
+*ColorSepScreenFreq ProcessMagenta.100lpi.1200dpi/100 lpi / 1200 dpi: "100.0"
+*ColorSepScreenFreq ProcessYellow.100lpi.1200dpi/100 lpi / 1200 dpi: "100.0"
+
+*% --- For 100 lpi / 1440 dpi ---
+*ColorSepScreenAngle ProcessBlack.100lpi.1440dpi/100 lpi / 1440 dpi: "45.0"
+*ColorSepScreenAngle CustomColor.100lpi.1440dpi/100 lpi / 1440 dpi: "45.0"
+*ColorSepScreenAngle ProcessCyan.100lpi.1440dpi/100 lpi / 1440 dpi: "15.0"
+*ColorSepScreenAngle ProcessMagenta.100lpi.1440dpi/100 lpi / 1440 dpi: "75.0"
+*ColorSepScreenAngle ProcessYellow.100lpi.1440dpi/100 lpi / 1440 dpi: "0.0"
+*ColorSepScreenFreq ProcessBlack.100lpi.1440dpi/100 lpi / 1440 dpi: "100.0"
+*ColorSepScreenFreq CustomColor.100lpi.1440dpi/100 lpi / 1440 dpi: "100.0"
+*ColorSepScreenFreq ProcessCyan.100lpi.1440dpi/100 lpi / 1440 dpi: "100.0"
+*ColorSepScreenFreq ProcessMagenta.100lpi.1440dpi/100 lpi / 1440 dpi: "100.0"
+*ColorSepScreenFreq ProcessYellow.100lpi.1440dpi/100 lpi / 1440 dpi: "100.0"
+
+*% --- For 175 lpi / 2400 dpi ---
+*ColorSepScreenAngle ProcessBlack.175lpi.2400dpi/175 lpi / 2400 dpi: "45.0"
+*ColorSepScreenAngle CustomColor.175lpi.2400dpi/175 lpi / 2400 dpi: "45.0"
+*ColorSepScreenAngle ProcessCyan.175lpi.2400dpi/175 lpi / 2400 dpi: "15.0"
+*ColorSepScreenAngle ProcessMagenta.175lpi.2400dpi/175 lpi / 2400 dpi: "75.0"
+*ColorSepScreenAngle ProcessYellow.175lpi.2400dpi/175 lpi / 2400 dpi: "0.0"
+*ColorSepScreenFreq ProcessBlack.175lpi.2400dpi/175 lpi / 2400 dpi: "175.0"
+*ColorSepScreenFreq CustomColor.175lpi.2400dpi/175 lpi / 2400 dpi: "175.0"
+*ColorSepScreenFreq ProcessCyan.175lpi.2400dpi/175 lpi / 2400 dpi: "175.0"
+*ColorSepScreenFreq ProcessMagenta.175lpi.2400dpi/175 lpi / 2400 dpi: "175.0"
+*ColorSepScreenFreq ProcessYellow.175lpi.2400dpi/175 lpi / 2400 dpi: "175.0"
+
+*% Last Edit Date: March 24 2000
+*% end of PPD file
diff --git a/test/user-template/user/psprint/driver/SGENT42.PS b/test/user-template/user/psprint/driver/SGENT42.PS
new file mode 100644
index 000000000000..3f61379a2269
--- /dev/null
+++ b/test/user-template/user/psprint/driver/SGENT42.PS
@@ -0,0 +1,29 @@
+*PPD-Adobe: "4.0"
+*% DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*%
+*% Copyright 2000, 2010 Oracle and/or its affiliates.
+*%
+*% OpenOffice.org - a multi-platform office productivity suite
+*%
+*% This file is part of OpenOffice.org.
+*%
+*% OpenOffice.org is free software: you can redistribute it and/or modify
+*% it under the terms of the GNU Lesser General Public License version 3
+*% only, as published by the Free Software Foundation.
+*%
+*% OpenOffice.org is distributed in the hope that it will be useful,
+*% but WITHOUT ANY WARRANTY; without even the implied warranty of
+*% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*% GNU Lesser General Public License version 3 for more details
+*% (a copy is included in the LICENSE file that accompanied this code).
+*%
+*% You should have received a copy of the GNU Lesser General Public License
+*% version 3 along with OpenOffice.org. If not, see
+*% <http://www.openoffice.org/license.html>
+*% for a copy of the LGPLv3 License.
+
+*Product: "(Generic Printer T42)"
+*ModelName: "Generic Printer (T42 enabled)"
+*NickName: "Generic Printer (T42 enabled)"
+*TTRasterizer: Type42
+*Include: "./SGENPRT.PS"
diff --git a/test/user-template/user/psprint/fontmetric/Courier-Bold.afm b/test/user-template/user/psprint/fontmetric/Courier-Bold.afm
new file mode 100644
index 000000000000..20246cc6900d
--- /dev/null
+++ b/test/user-template/user/psprint/fontmetric/Courier-Bold.afm
@@ -0,0 +1,340 @@
+StartFontMetrics 4.1
+Comment Copyright (c) 1989, 1990, 1991, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
+Comment Creation Date: Mon Jun 23 16:28:00 1997
+Comment UniqueID 43048
+Comment VMusage 41139 52164
+FontName Courier-Bold
+FullName Courier Bold
+FamilyName Courier
+Weight Bold
+ItalicAngle 0
+IsFixedPitch true
+FontBBox -113 -250 749 801
+UnderlinePosition -100
+UnderlineThickness 50
+Version 003.000
+Notice Copyright (c) 1989, 1990, 1991, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
+EncodingScheme AdobeStandardEncoding
+CapHeight 562
+XHeight 439
+Ascender 629
+Descender -157
+StdHW 84
+StdVW 106
+StartCharMetrics 314
+C 32 ; WX 600 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 600 ; N exclam ; B 202 -15 398 572 ;
+C 34 ; WX 600 ; N quotedbl ; B 135 277 465 562 ;
+C 35 ; WX 600 ; N numbersign ; B 56 -45 544 651 ;
+C 36 ; WX 600 ; N dollar ; B 82 -126 519 666 ;
+C 37 ; WX 600 ; N percent ; B 5 -15 595 616 ;
+C 38 ; WX 600 ; N ampersand ; B 36 -15 546 543 ;
+C 39 ; WX 600 ; N quoteright ; B 171 277 423 562 ;
+C 40 ; WX 600 ; N parenleft ; B 219 -102 461 616 ;
+C 41 ; WX 600 ; N parenright ; B 139 -102 381 616 ;
+C 42 ; WX 600 ; N asterisk ; B 91 219 509 601 ;
+C 43 ; WX 600 ; N plus ; B 71 39 529 478 ;
+C 44 ; WX 600 ; N comma ; B 123 -111 393 174 ;
+C 45 ; WX 600 ; N hyphen ; B 100 203 500 313 ;
+C 46 ; WX 600 ; N period ; B 192 -15 408 171 ;
+C 47 ; WX 600 ; N slash ; B 98 -77 502 626 ;
+C 48 ; WX 600 ; N zero ; B 87 -15 513 616 ;
+C 49 ; WX 600 ; N one ; B 81 0 539 616 ;
+C 50 ; WX 600 ; N two ; B 61 0 499 616 ;
+C 51 ; WX 600 ; N three ; B 63 -15 501 616 ;
+C 52 ; WX 600 ; N four ; B 53 0 507 616 ;
+C 53 ; WX 600 ; N five ; B 70 -15 521 601 ;
+C 54 ; WX 600 ; N six ; B 90 -15 521 616 ;
+C 55 ; WX 600 ; N seven ; B 55 0 494 601 ;
+C 56 ; WX 600 ; N eight ; B 83 -15 517 616 ;
+C 57 ; WX 600 ; N nine ; B 79 -15 510 616 ;
+C 58 ; WX 600 ; N colon ; B 191 -15 407 425 ;
+C 59 ; WX 600 ; N semicolon ; B 123 -111 408 425 ;
+C 60 ; WX 600 ; N less ; B 66 15 523 501 ;
+C 61 ; WX 600 ; N equal ; B 71 118 529 398 ;
+C 62 ; WX 600 ; N greater ; B 77 15 534 501 ;
+C 63 ; WX 600 ; N question ; B 98 -14 501 580 ;
+C 64 ; WX 600 ; N at ; B 16 -15 584 616 ;
+C 65 ; WX 600 ; N A ; B -9 0 609 562 ;
+C 66 ; WX 600 ; N B ; B 30 0 573 562 ;
+C 67 ; WX 600 ; N C ; B 22 -18 560 580 ;
+C 68 ; WX 600 ; N D ; B 30 0 594 562 ;
+C 69 ; WX 600 ; N E ; B 25 0 560 562 ;
+C 70 ; WX 600 ; N F ; B 39 0 570 562 ;
+C 71 ; WX 600 ; N G ; B 22 -18 594 580 ;
+C 72 ; WX 600 ; N H ; B 20 0 580 562 ;
+C 73 ; WX 600 ; N I ; B 77 0 523 562 ;
+C 74 ; WX 600 ; N J ; B 37 -18 601 562 ;
+C 75 ; WX 600 ; N K ; B 21 0 599 562 ;
+C 76 ; WX 600 ; N L ; B 39 0 578 562 ;
+C 77 ; WX 600 ; N M ; B -2 0 602 562 ;
+C 78 ; WX 600 ; N N ; B 8 -12 610 562 ;
+C 79 ; WX 600 ; N O ; B 22 -18 578 580 ;
+C 80 ; WX 600 ; N P ; B 48 0 559 562 ;
+C 81 ; WX 600 ; N Q ; B 32 -138 578 580 ;
+C 82 ; WX 600 ; N R ; B 24 0 599 562 ;
+C 83 ; WX 600 ; N S ; B 47 -22 553 582 ;
+C 84 ; WX 600 ; N T ; B 21 0 579 562 ;
+C 85 ; WX 600 ; N U ; B 4 -18 596 562 ;
+C 86 ; WX 600 ; N V ; B -13 0 613 562 ;
+C 87 ; WX 600 ; N W ; B -18 0 618 562 ;
+C 88 ; WX 600 ; N X ; B 12 0 588 562 ;
+C 89 ; WX 600 ; N Y ; B 12 0 589 562 ;
+C 90 ; WX 600 ; N Z ; B 62 0 539 562 ;
+C 91 ; WX 600 ; N bracketleft ; B 245 -102 475 616 ;
+C 92 ; WX 600 ; N backslash ; B 99 -77 503 626 ;
+C 93 ; WX 600 ; N bracketright ; B 125 -102 355 616 ;
+C 94 ; WX 600 ; N asciicircum ; B 108 250 492 616 ;
+C 95 ; WX 600 ; N underscore ; B 0 -125 600 -75 ;
+C 96 ; WX 600 ; N quoteleft ; B 178 277 428 562 ;
+C 97 ; WX 600 ; N a ; B 35 -15 570 454 ;
+C 98 ; WX 600 ; N b ; B 0 -15 584 626 ;
+C 99 ; WX 600 ; N c ; B 40 -15 545 459 ;
+C 100 ; WX 600 ; N d ; B 20 -15 591 626 ;
+C 101 ; WX 600 ; N e ; B 40 -15 563 454 ;
+C 102 ; WX 600 ; N f ; B 83 0 547 626 ; L i fi ; L l fl ;
+C 103 ; WX 600 ; N g ; B 30 -146 580 454 ;
+C 104 ; WX 600 ; N h ; B 5 0 592 626 ;
+C 105 ; WX 600 ; N i ; B 77 0 523 658 ;
+C 106 ; WX 600 ; N j ; B 63 -146 440 658 ;
+C 107 ; WX 600 ; N k ; B 20 0 585 626 ;
+C 108 ; WX 600 ; N l ; B 77 0 523 626 ;
+C 109 ; WX 600 ; N m ; B -22 0 626 454 ;
+C 110 ; WX 600 ; N n ; B 18 0 592 454 ;
+C 111 ; WX 600 ; N o ; B 30 -15 570 454 ;
+C 112 ; WX 600 ; N p ; B -1 -142 570 454 ;
+C 113 ; WX 600 ; N q ; B 20 -142 591 454 ;
+C 114 ; WX 600 ; N r ; B 47 0 580 454 ;
+C 115 ; WX 600 ; N s ; B 68 -17 535 459 ;
+C 116 ; WX 600 ; N t ; B 47 -15 532 562 ;
+C 117 ; WX 600 ; N u ; B -1 -15 569 439 ;
+C 118 ; WX 600 ; N v ; B -1 0 601 439 ;
+C 119 ; WX 600 ; N w ; B -18 0 618 439 ;
+C 120 ; WX 600 ; N x ; B 6 0 594 439 ;
+C 121 ; WX 600 ; N y ; B -4 -142 601 439 ;
+C 122 ; WX 600 ; N z ; B 81 0 520 439 ;
+C 123 ; WX 600 ; N braceleft ; B 160 -102 464 616 ;
+C 124 ; WX 600 ; N bar ; B 255 -250 345 750 ;
+C 125 ; WX 600 ; N braceright ; B 136 -102 440 616 ;
+C 126 ; WX 600 ; N asciitilde ; B 71 153 530 356 ;
+C 161 ; WX 600 ; N exclamdown ; B 202 -146 398 449 ;
+C 162 ; WX 600 ; N cent ; B 66 -49 518 614 ;
+C 163 ; WX 600 ; N sterling ; B 72 -28 558 611 ;
+C 164 ; WX 600 ; N fraction ; B 25 -60 576 661 ;
+C 165 ; WX 600 ; N yen ; B 10 0 590 562 ;
+C 166 ; WX 600 ; N florin ; B -30 -131 572 616 ;
+C 167 ; WX 600 ; N section ; B 83 -70 517 580 ;
+C 168 ; WX 600 ; N currency ; B 54 49 546 517 ;
+C 169 ; WX 600 ; N quotesingle ; B 227 277 373 562 ;
+C 170 ; WX 600 ; N quotedblleft ; B 71 277 535 562 ;
+C 171 ; WX 600 ; N guillemotleft ; B 8 70 553 446 ;
+C 172 ; WX 600 ; N guilsinglleft ; B 141 70 459 446 ;
+C 173 ; WX 600 ; N guilsinglright ; B 141 70 459 446 ;
+C 174 ; WX 600 ; N fi ; B 12 0 593 626 ;
+C 175 ; WX 600 ; N fl ; B 12 0 593 626 ;
+C 177 ; WX 600 ; N endash ; B 65 203 535 313 ;
+C 178 ; WX 600 ; N dagger ; B 106 -70 494 580 ;
+C 179 ; WX 600 ; N daggerdbl ; B 106 -70 494 580 ;
+C 180 ; WX 600 ; N periodcentered ; B 196 165 404 351 ;
+C 182 ; WX 600 ; N paragraph ; B 6 -70 576 580 ;
+C 183 ; WX 600 ; N bullet ; B 140 132 460 430 ;
+C 184 ; WX 600 ; N quotesinglbase ; B 175 -142 427 143 ;
+C 185 ; WX 600 ; N quotedblbase ; B 65 -142 529 143 ;
+C 186 ; WX 600 ; N quotedblright ; B 61 277 525 562 ;
+C 187 ; WX 600 ; N guillemotright ; B 47 70 592 446 ;
+C 188 ; WX 600 ; N ellipsis ; B 26 -15 574 116 ;
+C 189 ; WX 600 ; N perthousand ; B -113 -15 713 616 ;
+C 191 ; WX 600 ; N questiondown ; B 99 -146 502 449 ;
+C 193 ; WX 600 ; N grave ; B 132 508 395 661 ;
+C 194 ; WX 600 ; N acute ; B 205 508 468 661 ;
+C 195 ; WX 600 ; N circumflex ; B 103 483 497 657 ;
+C 196 ; WX 600 ; N tilde ; B 89 493 512 636 ;
+C 197 ; WX 600 ; N macron ; B 88 505 512 585 ;
+C 198 ; WX 600 ; N breve ; B 83 468 517 631 ;
+C 199 ; WX 600 ; N dotaccent ; B 230 498 370 638 ;
+C 200 ; WX 600 ; N dieresis ; B 128 498 472 638 ;
+C 202 ; WX 600 ; N ring ; B 198 481 402 678 ;
+C 203 ; WX 600 ; N cedilla ; B 205 -206 387 0 ;
+C 205 ; WX 600 ; N hungarumlaut ; B 68 488 588 661 ;
+C 206 ; WX 600 ; N ogonek ; B 169 -199 400 0 ;
+C 207 ; WX 600 ; N caron ; B 103 493 497 667 ;
+C 208 ; WX 600 ; N emdash ; B -10 203 610 313 ;
+C 225 ; WX 600 ; N AE ; B -29 0 602 562 ;
+C 227 ; WX 600 ; N ordfeminine ; B 147 196 453 580 ;
+C 232 ; WX 600 ; N Lslash ; B 39 0 578 562 ;
+C 233 ; WX 600 ; N Oslash ; B 22 -22 578 584 ;
+C 234 ; WX 600 ; N OE ; B -25 0 595 562 ;
+C 235 ; WX 600 ; N ordmasculine ; B 147 196 453 580 ;
+C 241 ; WX 600 ; N ae ; B -4 -15 601 454 ;
+C 245 ; WX 600 ; N dotlessi ; B 77 0 523 439 ;
+C 248 ; WX 600 ; N lslash ; B 77 0 523 626 ;
+C 249 ; WX 600 ; N oslash ; B 30 -24 570 463 ;
+C 250 ; WX 600 ; N oe ; B -18 -15 611 454 ;
+C 251 ; WX 600 ; N germandbls ; B 22 -15 596 626 ;
+C -1 ; WX 600 ; N Idieresis ; B 77 0 523 761 ;
+C -1 ; WX 600 ; N eacute ; B 40 -15 563 661 ;
+C -1 ; WX 600 ; N abreve ; B 35 -15 570 661 ;
+C -1 ; WX 600 ; N uhungarumlaut ; B -1 -15 628 661 ;
+C -1 ; WX 600 ; N ecaron ; B 40 -15 563 667 ;
+C -1 ; WX 600 ; N Ydieresis ; B 12 0 589 761 ;
+C -1 ; WX 600 ; N divide ; B 71 16 529 500 ;
+C -1 ; WX 600 ; N Yacute ; B 12 0 589 784 ;
+C -1 ; WX 600 ; N Acircumflex ; B -9 0 609 780 ;
+C -1 ; WX 600 ; N aacute ; B 35 -15 570 661 ;
+C -1 ; WX 600 ; N Ucircumflex ; B 4 -18 596 780 ;
+C -1 ; WX 600 ; N yacute ; B -4 -142 601 661 ;
+C -1 ; WX 600 ; N scommaaccent ; B 68 -250 535 459 ;
+C -1 ; WX 600 ; N ecircumflex ; B 40 -15 563 657 ;
+C -1 ; WX 600 ; N Uring ; B 4 -18 596 801 ;
+C -1 ; WX 600 ; N Udieresis ; B 4 -18 596 761 ;
+C -1 ; WX 600 ; N aogonek ; B 35 -199 586 454 ;
+C -1 ; WX 600 ; N Uacute ; B 4 -18 596 784 ;
+C -1 ; WX 600 ; N uogonek ; B -1 -199 585 439 ;
+C -1 ; WX 600 ; N Edieresis ; B 25 0 560 761 ;
+C -1 ; WX 600 ; N Dcroat ; B 30 0 594 562 ;
+C -1 ; WX 600 ; N commaaccent ; B 205 -250 397 -57 ;
+C -1 ; WX 600 ; N copyright ; B 0 -18 600 580 ;
+C -1 ; WX 600 ; N Emacron ; B 25 0 560 708 ;
+C -1 ; WX 600 ; N ccaron ; B 40 -15 545 667 ;
+C -1 ; WX 600 ; N aring ; B 35 -15 570 678 ;
+C -1 ; WX 600 ; N Ncommaaccent ; B 8 -250 610 562 ;
+C -1 ; WX 600 ; N lacute ; B 77 0 523 801 ;
+C -1 ; WX 600 ; N agrave ; B 35 -15 570 661 ;
+C -1 ; WX 600 ; N Tcommaaccent ; B 21 -250 579 562 ;
+C -1 ; WX 600 ; N Cacute ; B 22 -18 560 784 ;
+C -1 ; WX 600 ; N atilde ; B 35 -15 570 636 ;
+C -1 ; WX 600 ; N Edotaccent ; B 25 0 560 761 ;
+C -1 ; WX 600 ; N scaron ; B 68 -17 535 667 ;
+C -1 ; WX 600 ; N scedilla ; B 68 -206 535 459 ;
+C -1 ; WX 600 ; N iacute ; B 77 0 523 661 ;
+C -1 ; WX 600 ; N lozenge ; B 66 0 534 740 ;
+C -1 ; WX 600 ; N Rcaron ; B 24 0 599 790 ;
+C -1 ; WX 600 ; N Gcommaaccent ; B 22 -250 594 580 ;
+C -1 ; WX 600 ; N ucircumflex ; B -1 -15 569 657 ;
+C -1 ; WX 600 ; N acircumflex ; B 35 -15 570 657 ;
+C -1 ; WX 600 ; N Amacron ; B -9 0 609 708 ;
+C -1 ; WX 600 ; N rcaron ; B 47 0 580 667 ;
+C -1 ; WX 600 ; N ccedilla ; B 40 -206 545 459 ;
+C -1 ; WX 600 ; N Zdotaccent ; B 62 0 539 761 ;
+C -1 ; WX 600 ; N Thorn ; B 48 0 557 562 ;
+C -1 ; WX 600 ; N Omacron ; B 22 -18 578 708 ;
+C -1 ; WX 600 ; N Racute ; B 24 0 599 784 ;
+C -1 ; WX 600 ; N Sacute ; B 47 -22 553 784 ;
+C -1 ; WX 600 ; N dcaron ; B 20 -15 727 626 ;
+C -1 ; WX 600 ; N Umacron ; B 4 -18 596 708 ;
+C -1 ; WX 600 ; N uring ; B -1 -15 569 678 ;
+C -1 ; WX 600 ; N threesuperior ; B 138 222 433 616 ;
+C -1 ; WX 600 ; N Ograve ; B 22 -18 578 784 ;
+C -1 ; WX 600 ; N Agrave ; B -9 0 609 784 ;
+C -1 ; WX 600 ; N Abreve ; B -9 0 609 784 ;
+C -1 ; WX 600 ; N multiply ; B 81 39 520 478 ;
+C -1 ; WX 600 ; N uacute ; B -1 -15 569 661 ;
+C -1 ; WX 600 ; N Tcaron ; B 21 0 579 790 ;
+C -1 ; WX 600 ; N partialdiff ; B 63 -38 537 728 ;
+C -1 ; WX 600 ; N ydieresis ; B -4 -142 601 638 ;
+C -1 ; WX 600 ; N Nacute ; B 8 -12 610 784 ;
+C -1 ; WX 600 ; N icircumflex ; B 73 0 523 657 ;
+C -1 ; WX 600 ; N Ecircumflex ; B 25 0 560 780 ;
+C -1 ; WX 600 ; N adieresis ; B 35 -15 570 638 ;
+C -1 ; WX 600 ; N edieresis ; B 40 -15 563 638 ;
+C -1 ; WX 600 ; N cacute ; B 40 -15 545 661 ;
+C -1 ; WX 600 ; N nacute ; B 18 0 592 661 ;
+C -1 ; WX 600 ; N umacron ; B -1 -15 569 585 ;
+C -1 ; WX 600 ; N Ncaron ; B 8 -12 610 790 ;
+C -1 ; WX 600 ; N Iacute ; B 77 0 523 784 ;
+C -1 ; WX 600 ; N plusminus ; B 71 24 529 515 ;
+C -1 ; WX 600 ; N brokenbar ; B 255 -175 345 675 ;
+C -1 ; WX 600 ; N registered ; B 0 -18 600 580 ;
+C -1 ; WX 600 ; N Gbreve ; B 22 -18 594 784 ;
+C -1 ; WX 600 ; N Idotaccent ; B 77 0 523 761 ;
+C -1 ; WX 600 ; N summation ; B 15 -10 586 706 ;
+C -1 ; WX 600 ; N Egrave ; B 25 0 560 784 ;
+C -1 ; WX 600 ; N racute ; B 47 0 580 661 ;
+C -1 ; WX 600 ; N omacron ; B 30 -15 570 585 ;
+C -1 ; WX 600 ; N Zacute ; B 62 0 539 784 ;
+C -1 ; WX 600 ; N Zcaron ; B 62 0 539 790 ;
+C -1 ; WX 600 ; N greaterequal ; B 26 0 523 696 ;
+C -1 ; WX 600 ; N Eth ; B 30 0 594 562 ;
+C -1 ; WX 600 ; N Ccedilla ; B 22 -206 560 580 ;
+C -1 ; WX 600 ; N lcommaaccent ; B 77 -250 523 626 ;
+C -1 ; WX 600 ; N tcaron ; B 47 -15 532 703 ;
+C -1 ; WX 600 ; N eogonek ; B 40 -199 563 454 ;
+C -1 ; WX 600 ; N Uogonek ; B 4 -199 596 562 ;
+C -1 ; WX 600 ; N Aacute ; B -9 0 609 784 ;
+C -1 ; WX 600 ; N Adieresis ; B -9 0 609 761 ;
+C -1 ; WX 600 ; N egrave ; B 40 -15 563 661 ;
+C -1 ; WX 600 ; N zacute ; B 81 0 520 661 ;
+C -1 ; WX 600 ; N iogonek ; B 77 -199 523 658 ;
+C -1 ; WX 600 ; N Oacute ; B 22 -18 578 784 ;
+C -1 ; WX 600 ; N oacute ; B 30 -15 570 661 ;
+C -1 ; WX 600 ; N amacron ; B 35 -15 570 585 ;
+C -1 ; WX 600 ; N sacute ; B 68 -17 535 661 ;
+C -1 ; WX 600 ; N idieresis ; B 77 0 523 618 ;
+C -1 ; WX 600 ; N Ocircumflex ; B 22 -18 578 780 ;
+C -1 ; WX 600 ; N Ugrave ; B 4 -18 596 784 ;
+C -1 ; WX 600 ; N Delta ; B 6 0 594 688 ;
+C -1 ; WX 600 ; N thorn ; B -14 -142 570 626 ;
+C -1 ; WX 600 ; N twosuperior ; B 143 230 436 616 ;
+C -1 ; WX 600 ; N Odieresis ; B 22 -18 578 761 ;
+C -1 ; WX 600 ; N mu ; B -1 -142 569 439 ;
+C -1 ; WX 600 ; N igrave ; B 77 0 523 661 ;
+C -1 ; WX 600 ; N ohungarumlaut ; B 30 -15 668 661 ;
+C -1 ; WX 600 ; N Eogonek ; B 25 -199 576 562 ;
+C -1 ; WX 600 ; N dcroat ; B 20 -15 591 626 ;
+C -1 ; WX 600 ; N threequarters ; B -47 -60 648 661 ;
+C -1 ; WX 600 ; N Scedilla ; B 47 -206 553 582 ;
+C -1 ; WX 600 ; N lcaron ; B 77 0 597 626 ;
+C -1 ; WX 600 ; N Kcommaaccent ; B 21 -250 599 562 ;
+C -1 ; WX 600 ; N Lacute ; B 39 0 578 784 ;
+C -1 ; WX 600 ; N trademark ; B -9 230 749 562 ;
+C -1 ; WX 600 ; N edotaccent ; B 40 -15 563 638 ;
+C -1 ; WX 600 ; N Igrave ; B 77 0 523 784 ;
+C -1 ; WX 600 ; N Imacron ; B 77 0 523 708 ;
+C -1 ; WX 600 ; N Lcaron ; B 39 0 637 562 ;
+C -1 ; WX 600 ; N onehalf ; B -47 -60 648 661 ;
+C -1 ; WX 600 ; N lessequal ; B 26 0 523 696 ;
+C -1 ; WX 600 ; N ocircumflex ; B 30 -15 570 657 ;
+C -1 ; WX 600 ; N ntilde ; B 18 0 592 636 ;
+C -1 ; WX 600 ; N Uhungarumlaut ; B 4 -18 638 784 ;
+C -1 ; WX 600 ; N Eacute ; B 25 0 560 784 ;
+C -1 ; WX 600 ; N emacron ; B 40 -15 563 585 ;
+C -1 ; WX 600 ; N gbreve ; B 30 -146 580 661 ;
+C -1 ; WX 600 ; N onequarter ; B -56 -60 656 661 ;
+C -1 ; WX 600 ; N Scaron ; B 47 -22 553 790 ;
+C -1 ; WX 600 ; N Scommaaccent ; B 47 -250 553 582 ;
+C -1 ; WX 600 ; N Ohungarumlaut ; B 22 -18 628 784 ;
+C -1 ; WX 600 ; N degree ; B 86 243 474 616 ;
+C -1 ; WX 600 ; N ograve ; B 30 -15 570 661 ;
+C -1 ; WX 600 ; N Ccaron ; B 22 -18 560 790 ;
+C -1 ; WX 600 ; N ugrave ; B -1 -15 569 661 ;
+C -1 ; WX 600 ; N radical ; B -19 -104 473 778 ;
+C -1 ; WX 600 ; N Dcaron ; B 30 0 594 790 ;
+C -1 ; WX 600 ; N rcommaaccent ; B 47 -250 580 454 ;
+C -1 ; WX 600 ; N Ntilde ; B 8 -12 610 759 ;
+C -1 ; WX 600 ; N otilde ; B 30 -15 570 636 ;
+C -1 ; WX 600 ; N Rcommaaccent ; B 24 -250 599 562 ;
+C -1 ; WX 600 ; N Lcommaaccent ; B 39 -250 578 562 ;
+C -1 ; WX 600 ; N Atilde ; B -9 0 609 759 ;
+C -1 ; WX 600 ; N Aogonek ; B -9 -199 625 562 ;
+C -1 ; WX 600 ; N Aring ; B -9 0 609 801 ;
+C -1 ; WX 600 ; N Otilde ; B 22 -18 578 759 ;
+C -1 ; WX 600 ; N zdotaccent ; B 81 0 520 638 ;
+C -1 ; WX 600 ; N Ecaron ; B 25 0 560 790 ;
+C -1 ; WX 600 ; N Iogonek ; B 77 -199 523 562 ;
+C -1 ; WX 600 ; N kcommaaccent ; B 20 -250 585 626 ;
+C -1 ; WX 600 ; N minus ; B 71 203 529 313 ;
+C -1 ; WX 600 ; N Icircumflex ; B 77 0 523 780 ;
+C -1 ; WX 600 ; N ncaron ; B 18 0 592 667 ;
+C -1 ; WX 600 ; N tcommaaccent ; B 47 -250 532 562 ;
+C -1 ; WX 600 ; N logicalnot ; B 71 103 529 413 ;
+C -1 ; WX 600 ; N odieresis ; B 30 -15 570 638 ;
+C -1 ; WX 600 ; N udieresis ; B -1 -15 569 638 ;
+C -1 ; WX 600 ; N notequal ; B 12 -47 537 563 ;
+C -1 ; WX 600 ; N gcommaaccent ; B 30 -146 580 714 ;
+C -1 ; WX 600 ; N eth ; B 58 -27 543 626 ;
+C -1 ; WX 600 ; N zcaron ; B 81 0 520 667 ;
+C -1 ; WX 600 ; N ncommaaccent ; B 18 -250 592 454 ;
+C -1 ; WX 600 ; N onesuperior ; B 153 230 447 616 ;
+C -1 ; WX 600 ; N imacron ; B 77 0 523 585 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/test/user-template/user/psprint/fontmetric/Courier-BoldOblique.afm b/test/user-template/user/psprint/fontmetric/Courier-BoldOblique.afm
new file mode 100644
index 000000000000..053da6cfec99
--- /dev/null
+++ b/test/user-template/user/psprint/fontmetric/Courier-BoldOblique.afm
@@ -0,0 +1,340 @@
+StartFontMetrics 4.1
+Comment Copyright (c) 1989, 1990, 1991, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
+Comment Creation Date: Mon Jun 23 16:28:46 1997
+Comment UniqueID 43049
+Comment VMusage 17529 79244
+FontName Courier-BoldOblique
+FullName Courier Bold Oblique
+FamilyName Courier
+Weight Bold
+ItalicAngle -12
+IsFixedPitch true
+FontBBox -57 -250 869 801
+UnderlinePosition -100
+UnderlineThickness 50
+Version 003.000
+Notice Copyright (c) 1989, 1990, 1991, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
+EncodingScheme AdobeStandardEncoding
+CapHeight 562
+XHeight 439
+Ascender 629
+Descender -157
+StdHW 84
+StdVW 106
+StartCharMetrics 314
+C 32 ; WX 600 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 600 ; N exclam ; B 215 -15 495 572 ;
+C 34 ; WX 600 ; N quotedbl ; B 211 277 585 562 ;
+C 35 ; WX 600 ; N numbersign ; B 88 -45 641 651 ;
+C 36 ; WX 600 ; N dollar ; B 87 -126 630 666 ;
+C 37 ; WX 600 ; N percent ; B 101 -15 625 616 ;
+C 38 ; WX 600 ; N ampersand ; B 61 -15 595 543 ;
+C 39 ; WX 600 ; N quoteright ; B 229 277 543 562 ;
+C 40 ; WX 600 ; N parenleft ; B 265 -102 592 616 ;
+C 41 ; WX 600 ; N parenright ; B 117 -102 444 616 ;
+C 42 ; WX 600 ; N asterisk ; B 179 219 598 601 ;
+C 43 ; WX 600 ; N plus ; B 114 39 596 478 ;
+C 44 ; WX 600 ; N comma ; B 99 -111 430 174 ;
+C 45 ; WX 600 ; N hyphen ; B 143 203 567 313 ;
+C 46 ; WX 600 ; N period ; B 206 -15 427 171 ;
+C 47 ; WX 600 ; N slash ; B 90 -77 626 626 ;
+C 48 ; WX 600 ; N zero ; B 135 -15 593 616 ;
+C 49 ; WX 600 ; N one ; B 93 0 562 616 ;
+C 50 ; WX 600 ; N two ; B 61 0 594 616 ;
+C 51 ; WX 600 ; N three ; B 71 -15 571 616 ;
+C 52 ; WX 600 ; N four ; B 81 0 559 616 ;
+C 53 ; WX 600 ; N five ; B 77 -15 621 601 ;
+C 54 ; WX 600 ; N six ; B 135 -15 652 616 ;
+C 55 ; WX 600 ; N seven ; B 147 0 622 601 ;
+C 56 ; WX 600 ; N eight ; B 115 -15 604 616 ;
+C 57 ; WX 600 ; N nine ; B 75 -15 592 616 ;
+C 58 ; WX 600 ; N colon ; B 205 -15 480 425 ;
+C 59 ; WX 600 ; N semicolon ; B 99 -111 481 425 ;
+C 60 ; WX 600 ; N less ; B 120 15 613 501 ;
+C 61 ; WX 600 ; N equal ; B 96 118 614 398 ;
+C 62 ; WX 600 ; N greater ; B 97 15 589 501 ;
+C 63 ; WX 600 ; N question ; B 183 -14 592 580 ;
+C 64 ; WX 600 ; N at ; B 65 -15 642 616 ;
+C 65 ; WX 600 ; N A ; B -9 0 632 562 ;
+C 66 ; WX 600 ; N B ; B 30 0 630 562 ;
+C 67 ; WX 600 ; N C ; B 74 -18 675 580 ;
+C 68 ; WX 600 ; N D ; B 30 0 664 562 ;
+C 69 ; WX 600 ; N E ; B 25 0 670 562 ;
+C 70 ; WX 600 ; N F ; B 39 0 684 562 ;
+C 71 ; WX 600 ; N G ; B 74 -18 675 580 ;
+C 72 ; WX 600 ; N H ; B 20 0 700 562 ;
+C 73 ; WX 600 ; N I ; B 77 0 643 562 ;
+C 74 ; WX 600 ; N J ; B 58 -18 721 562 ;
+C 75 ; WX 600 ; N K ; B 21 0 692 562 ;
+C 76 ; WX 600 ; N L ; B 39 0 636 562 ;
+C 77 ; WX 600 ; N M ; B -2 0 722 562 ;
+C 78 ; WX 600 ; N N ; B 8 -12 730 562 ;
+C 79 ; WX 600 ; N O ; B 74 -18 645 580 ;
+C 80 ; WX 600 ; N P ; B 48 0 643 562 ;
+C 81 ; WX 600 ; N Q ; B 83 -138 636 580 ;
+C 82 ; WX 600 ; N R ; B 24 0 617 562 ;
+C 83 ; WX 600 ; N S ; B 54 -22 673 582 ;
+C 84 ; WX 600 ; N T ; B 86 0 679 562 ;
+C 85 ; WX 600 ; N U ; B 101 -18 716 562 ;
+C 86 ; WX 600 ; N V ; B 84 0 733 562 ;
+C 87 ; WX 600 ; N W ; B 79 0 738 562 ;
+C 88 ; WX 600 ; N X ; B 12 0 690 562 ;
+C 89 ; WX 600 ; N Y ; B 109 0 709 562 ;
+C 90 ; WX 600 ; N Z ; B 62 0 637 562 ;
+C 91 ; WX 600 ; N bracketleft ; B 223 -102 606 616 ;
+C 92 ; WX 600 ; N backslash ; B 222 -77 496 626 ;
+C 93 ; WX 600 ; N bracketright ; B 103 -102 486 616 ;
+C 94 ; WX 600 ; N asciicircum ; B 171 250 556 616 ;
+C 95 ; WX 600 ; N underscore ; B -27 -125 585 -75 ;
+C 96 ; WX 600 ; N quoteleft ; B 297 277 487 562 ;
+C 97 ; WX 600 ; N a ; B 61 -15 593 454 ;
+C 98 ; WX 600 ; N b ; B 13 -15 636 626 ;
+C 99 ; WX 600 ; N c ; B 81 -15 631 459 ;
+C 100 ; WX 600 ; N d ; B 60 -15 645 626 ;
+C 101 ; WX 600 ; N e ; B 81 -15 605 454 ;
+C 102 ; WX 600 ; N f ; B 83 0 677 626 ; L i fi ; L l fl ;
+C 103 ; WX 600 ; N g ; B 40 -146 674 454 ;
+C 104 ; WX 600 ; N h ; B 18 0 615 626 ;
+C 105 ; WX 600 ; N i ; B 77 0 546 658 ;
+C 106 ; WX 600 ; N j ; B 36 -146 580 658 ;
+C 107 ; WX 600 ; N k ; B 33 0 643 626 ;
+C 108 ; WX 600 ; N l ; B 77 0 546 626 ;
+C 109 ; WX 600 ; N m ; B -22 0 649 454 ;
+C 110 ; WX 600 ; N n ; B 18 0 615 454 ;
+C 111 ; WX 600 ; N o ; B 71 -15 622 454 ;
+C 112 ; WX 600 ; N p ; B -32 -142 622 454 ;
+C 113 ; WX 600 ; N q ; B 60 -142 685 454 ;
+C 114 ; WX 600 ; N r ; B 47 0 655 454 ;
+C 115 ; WX 600 ; N s ; B 66 -17 608 459 ;
+C 116 ; WX 600 ; N t ; B 118 -15 567 562 ;
+C 117 ; WX 600 ; N u ; B 70 -15 592 439 ;
+C 118 ; WX 600 ; N v ; B 70 0 695 439 ;
+C 119 ; WX 600 ; N w ; B 53 0 712 439 ;
+C 120 ; WX 600 ; N x ; B 6 0 671 439 ;
+C 121 ; WX 600 ; N y ; B -21 -142 695 439 ;
+C 122 ; WX 600 ; N z ; B 81 0 614 439 ;
+C 123 ; WX 600 ; N braceleft ; B 203 -102 595 616 ;
+C 124 ; WX 600 ; N bar ; B 201 -250 505 750 ;
+C 125 ; WX 600 ; N braceright ; B 114 -102 506 616 ;
+C 126 ; WX 600 ; N asciitilde ; B 120 153 590 356 ;
+C 161 ; WX 600 ; N exclamdown ; B 196 -146 477 449 ;
+C 162 ; WX 600 ; N cent ; B 121 -49 605 614 ;
+C 163 ; WX 600 ; N sterling ; B 106 -28 650 611 ;
+C 164 ; WX 600 ; N fraction ; B 22 -60 708 661 ;
+C 165 ; WX 600 ; N yen ; B 98 0 710 562 ;
+C 166 ; WX 600 ; N florin ; B -57 -131 702 616 ;
+C 167 ; WX 600 ; N section ; B 74 -70 620 580 ;
+C 168 ; WX 600 ; N currency ; B 77 49 644 517 ;
+C 169 ; WX 600 ; N quotesingle ; B 303 277 493 562 ;
+C 170 ; WX 600 ; N quotedblleft ; B 190 277 594 562 ;
+C 171 ; WX 600 ; N guillemotleft ; B 62 70 639 446 ;
+C 172 ; WX 600 ; N guilsinglleft ; B 195 70 545 446 ;
+C 173 ; WX 600 ; N guilsinglright ; B 165 70 514 446 ;
+C 174 ; WX 600 ; N fi ; B 12 0 644 626 ;
+C 175 ; WX 600 ; N fl ; B 12 0 644 626 ;
+C 177 ; WX 600 ; N endash ; B 108 203 602 313 ;
+C 178 ; WX 600 ; N dagger ; B 175 -70 586 580 ;
+C 179 ; WX 600 ; N daggerdbl ; B 121 -70 587 580 ;
+C 180 ; WX 600 ; N periodcentered ; B 248 165 461 351 ;
+C 182 ; WX 600 ; N paragraph ; B 61 -70 700 580 ;
+C 183 ; WX 600 ; N bullet ; B 196 132 523 430 ;
+C 184 ; WX 600 ; N quotesinglbase ; B 144 -142 458 143 ;
+C 185 ; WX 600 ; N quotedblbase ; B 34 -142 560 143 ;
+C 186 ; WX 600 ; N quotedblright ; B 119 277 645 562 ;
+C 187 ; WX 600 ; N guillemotright ; B 71 70 647 446 ;
+C 188 ; WX 600 ; N ellipsis ; B 35 -15 587 116 ;
+C 189 ; WX 600 ; N perthousand ; B -45 -15 743 616 ;
+C 191 ; WX 600 ; N questiondown ; B 100 -146 509 449 ;
+C 193 ; WX 600 ; N grave ; B 272 508 503 661 ;
+C 194 ; WX 600 ; N acute ; B 312 508 609 661 ;
+C 195 ; WX 600 ; N circumflex ; B 212 483 607 657 ;
+C 196 ; WX 600 ; N tilde ; B 199 493 643 636 ;
+C 197 ; WX 600 ; N macron ; B 195 505 637 585 ;
+C 198 ; WX 600 ; N breve ; B 217 468 652 631 ;
+C 199 ; WX 600 ; N dotaccent ; B 348 498 493 638 ;
+C 200 ; WX 600 ; N dieresis ; B 246 498 595 638 ;
+C 202 ; WX 600 ; N ring ; B 319 481 528 678 ;
+C 203 ; WX 600 ; N cedilla ; B 168 -206 368 0 ;
+C 205 ; WX 600 ; N hungarumlaut ; B 171 488 729 661 ;
+C 206 ; WX 600 ; N ogonek ; B 143 -199 367 0 ;
+C 207 ; WX 600 ; N caron ; B 238 493 633 667 ;
+C 208 ; WX 600 ; N emdash ; B 33 203 677 313 ;
+C 225 ; WX 600 ; N AE ; B -29 0 708 562 ;
+C 227 ; WX 600 ; N ordfeminine ; B 188 196 526 580 ;
+C 232 ; WX 600 ; N Lslash ; B 39 0 636 562 ;
+C 233 ; WX 600 ; N Oslash ; B 48 -22 673 584 ;
+C 234 ; WX 600 ; N OE ; B 26 0 701 562 ;
+C 235 ; WX 600 ; N ordmasculine ; B 188 196 543 580 ;
+C 241 ; WX 600 ; N ae ; B 21 -15 652 454 ;
+C 245 ; WX 600 ; N dotlessi ; B 77 0 546 439 ;
+C 248 ; WX 600 ; N lslash ; B 77 0 587 626 ;
+C 249 ; WX 600 ; N oslash ; B 54 -24 638 463 ;
+C 250 ; WX 600 ; N oe ; B 18 -15 662 454 ;
+C 251 ; WX 600 ; N germandbls ; B 22 -15 629 626 ;
+C -1 ; WX 600 ; N Idieresis ; B 77 0 643 761 ;
+C -1 ; WX 600 ; N eacute ; B 81 -15 609 661 ;
+C -1 ; WX 600 ; N abreve ; B 61 -15 658 661 ;
+C -1 ; WX 600 ; N uhungarumlaut ; B 70 -15 769 661 ;
+C -1 ; WX 600 ; N ecaron ; B 81 -15 633 667 ;
+C -1 ; WX 600 ; N Ydieresis ; B 109 0 709 761 ;
+C -1 ; WX 600 ; N divide ; B 114 16 596 500 ;
+C -1 ; WX 600 ; N Yacute ; B 109 0 709 784 ;
+C -1 ; WX 600 ; N Acircumflex ; B -9 0 632 780 ;
+C -1 ; WX 600 ; N aacute ; B 61 -15 609 661 ;
+C -1 ; WX 600 ; N Ucircumflex ; B 101 -18 716 780 ;
+C -1 ; WX 600 ; N yacute ; B -21 -142 695 661 ;
+C -1 ; WX 600 ; N scommaaccent ; B 66 -250 608 459 ;
+C -1 ; WX 600 ; N ecircumflex ; B 81 -15 607 657 ;
+C -1 ; WX 600 ; N Uring ; B 101 -18 716 801 ;
+C -1 ; WX 600 ; N Udieresis ; B 101 -18 716 761 ;
+C -1 ; WX 600 ; N aogonek ; B 61 -199 593 454 ;
+C -1 ; WX 600 ; N Uacute ; B 101 -18 716 784 ;
+C -1 ; WX 600 ; N uogonek ; B 70 -199 592 439 ;
+C -1 ; WX 600 ; N Edieresis ; B 25 0 670 761 ;
+C -1 ; WX 600 ; N Dcroat ; B 30 0 664 562 ;
+C -1 ; WX 600 ; N commaaccent ; B 151 -250 385 -57 ;
+C -1 ; WX 600 ; N copyright ; B 53 -18 667 580 ;
+C -1 ; WX 600 ; N Emacron ; B 25 0 670 708 ;
+C -1 ; WX 600 ; N ccaron ; B 81 -15 633 667 ;
+C -1 ; WX 600 ; N aring ; B 61 -15 593 678 ;
+C -1 ; WX 600 ; N Ncommaaccent ; B 8 -250 730 562 ;
+C -1 ; WX 600 ; N lacute ; B 77 0 639 801 ;
+C -1 ; WX 600 ; N agrave ; B 61 -15 593 661 ;
+C -1 ; WX 600 ; N Tcommaaccent ; B 86 -250 679 562 ;
+C -1 ; WX 600 ; N Cacute ; B 74 -18 675 784 ;
+C -1 ; WX 600 ; N atilde ; B 61 -15 643 636 ;
+C -1 ; WX 600 ; N Edotaccent ; B 25 0 670 761 ;
+C -1 ; WX 600 ; N scaron ; B 66 -17 633 667 ;
+C -1 ; WX 600 ; N scedilla ; B 66 -206 608 459 ;
+C -1 ; WX 600 ; N iacute ; B 77 0 609 661 ;
+C -1 ; WX 600 ; N lozenge ; B 145 0 614 740 ;
+C -1 ; WX 600 ; N Rcaron ; B 24 0 659 790 ;
+C -1 ; WX 600 ; N Gcommaaccent ; B 74 -250 675 580 ;
+C -1 ; WX 600 ; N ucircumflex ; B 70 -15 597 657 ;
+C -1 ; WX 600 ; N acircumflex ; B 61 -15 607 657 ;
+C -1 ; WX 600 ; N Amacron ; B -9 0 633 708 ;
+C -1 ; WX 600 ; N rcaron ; B 47 0 655 667 ;
+C -1 ; WX 600 ; N ccedilla ; B 81 -206 631 459 ;
+C -1 ; WX 600 ; N Zdotaccent ; B 62 0 637 761 ;
+C -1 ; WX 600 ; N Thorn ; B 48 0 620 562 ;
+C -1 ; WX 600 ; N Omacron ; B 74 -18 663 708 ;
+C -1 ; WX 600 ; N Racute ; B 24 0 665 784 ;
+C -1 ; WX 600 ; N Sacute ; B 54 -22 673 784 ;
+C -1 ; WX 600 ; N dcaron ; B 60 -15 861 626 ;
+C -1 ; WX 600 ; N Umacron ; B 101 -18 716 708 ;
+C -1 ; WX 600 ; N uring ; B 70 -15 592 678 ;
+C -1 ; WX 600 ; N threesuperior ; B 193 222 526 616 ;
+C -1 ; WX 600 ; N Ograve ; B 74 -18 645 784 ;
+C -1 ; WX 600 ; N Agrave ; B -9 0 632 784 ;
+C -1 ; WX 600 ; N Abreve ; B -9 0 684 784 ;
+C -1 ; WX 600 ; N multiply ; B 104 39 606 478 ;
+C -1 ; WX 600 ; N uacute ; B 70 -15 599 661 ;
+C -1 ; WX 600 ; N Tcaron ; B 86 0 679 790 ;
+C -1 ; WX 600 ; N partialdiff ; B 91 -38 627 728 ;
+C -1 ; WX 600 ; N ydieresis ; B -21 -142 695 638 ;
+C -1 ; WX 600 ; N Nacute ; B 8 -12 730 784 ;
+C -1 ; WX 600 ; N icircumflex ; B 77 0 577 657 ;
+C -1 ; WX 600 ; N Ecircumflex ; B 25 0 670 780 ;
+C -1 ; WX 600 ; N adieresis ; B 61 -15 595 638 ;
+C -1 ; WX 600 ; N edieresis ; B 81 -15 605 638 ;
+C -1 ; WX 600 ; N cacute ; B 81 -15 649 661 ;
+C -1 ; WX 600 ; N nacute ; B 18 0 639 661 ;
+C -1 ; WX 600 ; N umacron ; B 70 -15 637 585 ;
+C -1 ; WX 600 ; N Ncaron ; B 8 -12 730 790 ;
+C -1 ; WX 600 ; N Iacute ; B 77 0 643 784 ;
+C -1 ; WX 600 ; N plusminus ; B 76 24 614 515 ;
+C -1 ; WX 600 ; N brokenbar ; B 217 -175 489 675 ;
+C -1 ; WX 600 ; N registered ; B 53 -18 667 580 ;
+C -1 ; WX 600 ; N Gbreve ; B 74 -18 684 784 ;
+C -1 ; WX 600 ; N Idotaccent ; B 77 0 643 761 ;
+C -1 ; WX 600 ; N summation ; B 15 -10 672 706 ;
+C -1 ; WX 600 ; N Egrave ; B 25 0 670 784 ;
+C -1 ; WX 600 ; N racute ; B 47 0 655 661 ;
+C -1 ; WX 600 ; N omacron ; B 71 -15 637 585 ;
+C -1 ; WX 600 ; N Zacute ; B 62 0 665 784 ;
+C -1 ; WX 600 ; N Zcaron ; B 62 0 659 790 ;
+C -1 ; WX 600 ; N greaterequal ; B 26 0 627 696 ;
+C -1 ; WX 600 ; N Eth ; B 30 0 664 562 ;
+C -1 ; WX 600 ; N Ccedilla ; B 74 -206 675 580 ;
+C -1 ; WX 600 ; N lcommaaccent ; B 77 -250 546 626 ;
+C -1 ; WX 600 ; N tcaron ; B 118 -15 627 703 ;
+C -1 ; WX 600 ; N eogonek ; B 81 -199 605 454 ;
+C -1 ; WX 600 ; N Uogonek ; B 101 -199 716 562 ;
+C -1 ; WX 600 ; N Aacute ; B -9 0 655 784 ;
+C -1 ; WX 600 ; N Adieresis ; B -9 0 632 761 ;
+C -1 ; WX 600 ; N egrave ; B 81 -15 605 661 ;
+C -1 ; WX 600 ; N zacute ; B 81 0 614 661 ;
+C -1 ; WX 600 ; N iogonek ; B 77 -199 546 658 ;
+C -1 ; WX 600 ; N Oacute ; B 74 -18 645 784 ;
+C -1 ; WX 600 ; N oacute ; B 71 -15 649 661 ;
+C -1 ; WX 600 ; N amacron ; B 61 -15 637 585 ;
+C -1 ; WX 600 ; N sacute ; B 66 -17 609 661 ;
+C -1 ; WX 600 ; N idieresis ; B 77 0 561 618 ;
+C -1 ; WX 600 ; N Ocircumflex ; B 74 -18 645 780 ;
+C -1 ; WX 600 ; N Ugrave ; B 101 -18 716 784 ;
+C -1 ; WX 600 ; N Delta ; B 6 0 594 688 ;
+C -1 ; WX 600 ; N thorn ; B -32 -142 622 626 ;
+C -1 ; WX 600 ; N twosuperior ; B 191 230 542 616 ;
+C -1 ; WX 600 ; N Odieresis ; B 74 -18 645 761 ;
+C -1 ; WX 600 ; N mu ; B 49 -142 592 439 ;
+C -1 ; WX 600 ; N igrave ; B 77 0 546 661 ;
+C -1 ; WX 600 ; N ohungarumlaut ; B 71 -15 809 661 ;
+C -1 ; WX 600 ; N Eogonek ; B 25 -199 670 562 ;
+C -1 ; WX 600 ; N dcroat ; B 60 -15 712 626 ;
+C -1 ; WX 600 ; N threequarters ; B 8 -60 699 661 ;
+C -1 ; WX 600 ; N Scedilla ; B 54 -206 673 582 ;
+C -1 ; WX 600 ; N lcaron ; B 77 0 731 626 ;
+C -1 ; WX 600 ; N Kcommaaccent ; B 21 -250 692 562 ;
+C -1 ; WX 600 ; N Lacute ; B 39 0 636 784 ;
+C -1 ; WX 600 ; N trademark ; B 86 230 869 562 ;
+C -1 ; WX 600 ; N edotaccent ; B 81 -15 605 638 ;
+C -1 ; WX 600 ; N Igrave ; B 77 0 643 784 ;
+C -1 ; WX 600 ; N Imacron ; B 77 0 663 708 ;
+C -1 ; WX 600 ; N Lcaron ; B 39 0 757 562 ;
+C -1 ; WX 600 ; N onehalf ; B 22 -60 716 661 ;
+C -1 ; WX 600 ; N lessequal ; B 26 0 671 696 ;
+C -1 ; WX 600 ; N ocircumflex ; B 71 -15 622 657 ;
+C -1 ; WX 600 ; N ntilde ; B 18 0 643 636 ;
+C -1 ; WX 600 ; N Uhungarumlaut ; B 101 -18 805 784 ;
+C -1 ; WX 600 ; N Eacute ; B 25 0 670 784 ;
+C -1 ; WX 600 ; N emacron ; B 81 -15 637 585 ;
+C -1 ; WX 600 ; N gbreve ; B 40 -146 674 661 ;
+C -1 ; WX 600 ; N onequarter ; B 13 -60 707 661 ;
+C -1 ; WX 600 ; N Scaron ; B 54 -22 689 790 ;
+C -1 ; WX 600 ; N Scommaaccent ; B 54 -250 673 582 ;
+C -1 ; WX 600 ; N Ohungarumlaut ; B 74 -18 795 784 ;
+C -1 ; WX 600 ; N degree ; B 173 243 570 616 ;
+C -1 ; WX 600 ; N ograve ; B 71 -15 622 661 ;
+C -1 ; WX 600 ; N Ccaron ; B 74 -18 689 790 ;
+C -1 ; WX 600 ; N ugrave ; B 70 -15 592 661 ;
+C -1 ; WX 600 ; N radical ; B 67 -104 635 778 ;
+C -1 ; WX 600 ; N Dcaron ; B 30 0 664 790 ;
+C -1 ; WX 600 ; N rcommaaccent ; B 47 -250 655 454 ;
+C -1 ; WX 600 ; N Ntilde ; B 8 -12 730 759 ;
+C -1 ; WX 600 ; N otilde ; B 71 -15 643 636 ;
+C -1 ; WX 600 ; N Rcommaaccent ; B 24 -250 617 562 ;
+C -1 ; WX 600 ; N Lcommaaccent ; B 39 -250 636 562 ;
+C -1 ; WX 600 ; N Atilde ; B -9 0 669 759 ;
+C -1 ; WX 600 ; N Aogonek ; B -9 -199 632 562 ;
+C -1 ; WX 600 ; N Aring ; B -9 0 632 801 ;
+C -1 ; WX 600 ; N Otilde ; B 74 -18 669 759 ;
+C -1 ; WX 600 ; N zdotaccent ; B 81 0 614 638 ;
+C -1 ; WX 600 ; N Ecaron ; B 25 0 670 790 ;
+C -1 ; WX 600 ; N Iogonek ; B 77 -199 643 562 ;
+C -1 ; WX 600 ; N kcommaaccent ; B 33 -250 643 626 ;
+C -1 ; WX 600 ; N minus ; B 114 203 596 313 ;
+C -1 ; WX 600 ; N Icircumflex ; B 77 0 643 780 ;
+C -1 ; WX 600 ; N ncaron ; B 18 0 633 667 ;
+C -1 ; WX 600 ; N tcommaaccent ; B 118 -250 567 562 ;
+C -1 ; WX 600 ; N logicalnot ; B 135 103 617 413 ;
+C -1 ; WX 600 ; N odieresis ; B 71 -15 622 638 ;
+C -1 ; WX 600 ; N udieresis ; B 70 -15 595 638 ;
+C -1 ; WX 600 ; N notequal ; B 30 -47 626 563 ;
+C -1 ; WX 600 ; N gcommaaccent ; B 40 -146 674 714 ;
+C -1 ; WX 600 ; N eth ; B 93 -27 661 626 ;
+C -1 ; WX 600 ; N zcaron ; B 81 0 643 667 ;
+C -1 ; WX 600 ; N ncommaaccent ; B 18 -250 615 454 ;
+C -1 ; WX 600 ; N onesuperior ; B 212 230 514 616 ;
+C -1 ; WX 600 ; N imacron ; B 77 0 575 585 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/test/user-template/user/psprint/fontmetric/Courier-Oblique.afm b/test/user-template/user/psprint/fontmetric/Courier-Oblique.afm
new file mode 100644
index 000000000000..996792de46d8
--- /dev/null
+++ b/test/user-template/user/psprint/fontmetric/Courier-Oblique.afm
@@ -0,0 +1,340 @@
+StartFontMetrics 4.1
+Comment Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
+Comment Creation Date: Thu May 1 17:37:52 1997
+Comment UniqueID 43051
+Comment VMusage 16248 75829
+FontName Courier-Oblique
+FullName Courier Oblique
+FamilyName Courier
+Weight Medium
+ItalicAngle -12
+IsFixedPitch true
+FontBBox -27 -250 849 805
+UnderlinePosition -100
+UnderlineThickness 50
+Version 003.000
+Notice Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
+EncodingScheme AdobeStandardEncoding
+CapHeight 562
+XHeight 426
+Ascender 629
+Descender -157
+StdHW 51
+StdVW 51
+StartCharMetrics 314
+C 32 ; WX 600 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 600 ; N exclam ; B 243 -15 464 572 ;
+C 34 ; WX 600 ; N quotedbl ; B 273 328 532 562 ;
+C 35 ; WX 600 ; N numbersign ; B 133 -32 596 639 ;
+C 36 ; WX 600 ; N dollar ; B 108 -126 596 662 ;
+C 37 ; WX 600 ; N percent ; B 134 -15 599 622 ;
+C 38 ; WX 600 ; N ampersand ; B 87 -15 580 543 ;
+C 39 ; WX 600 ; N quoteright ; B 283 328 495 562 ;
+C 40 ; WX 600 ; N parenleft ; B 313 -108 572 622 ;
+C 41 ; WX 600 ; N parenright ; B 137 -108 396 622 ;
+C 42 ; WX 600 ; N asterisk ; B 212 257 580 607 ;
+C 43 ; WX 600 ; N plus ; B 129 44 580 470 ;
+C 44 ; WX 600 ; N comma ; B 157 -112 370 122 ;
+C 45 ; WX 600 ; N hyphen ; B 152 231 558 285 ;
+C 46 ; WX 600 ; N period ; B 238 -15 382 109 ;
+C 47 ; WX 600 ; N slash ; B 112 -80 604 629 ;
+C 48 ; WX 600 ; N zero ; B 154 -15 575 622 ;
+C 49 ; WX 600 ; N one ; B 98 0 515 622 ;
+C 50 ; WX 600 ; N two ; B 70 0 568 622 ;
+C 51 ; WX 600 ; N three ; B 82 -15 538 622 ;
+C 52 ; WX 600 ; N four ; B 108 0 541 622 ;
+C 53 ; WX 600 ; N five ; B 99 -15 589 607 ;
+C 54 ; WX 600 ; N six ; B 155 -15 629 622 ;
+C 55 ; WX 600 ; N seven ; B 182 0 612 607 ;
+C 56 ; WX 600 ; N eight ; B 132 -15 588 622 ;
+C 57 ; WX 600 ; N nine ; B 93 -15 574 622 ;
+C 58 ; WX 600 ; N colon ; B 238 -15 441 385 ;
+C 59 ; WX 600 ; N semicolon ; B 157 -112 441 385 ;
+C 60 ; WX 600 ; N less ; B 96 42 610 472 ;
+C 61 ; WX 600 ; N equal ; B 109 138 600 376 ;
+C 62 ; WX 600 ; N greater ; B 85 42 599 472 ;
+C 63 ; WX 600 ; N question ; B 222 -15 583 572 ;
+C 64 ; WX 600 ; N at ; B 127 -15 582 622 ;
+C 65 ; WX 600 ; N A ; B 3 0 607 562 ;
+C 66 ; WX 600 ; N B ; B 43 0 616 562 ;
+C 67 ; WX 600 ; N C ; B 93 -18 655 580 ;
+C 68 ; WX 600 ; N D ; B 43 0 645 562 ;
+C 69 ; WX 600 ; N E ; B 53 0 660 562 ;
+C 70 ; WX 600 ; N F ; B 53 0 660 562 ;
+C 71 ; WX 600 ; N G ; B 83 -18 645 580 ;
+C 72 ; WX 600 ; N H ; B 32 0 687 562 ;
+C 73 ; WX 600 ; N I ; B 96 0 623 562 ;
+C 74 ; WX 600 ; N J ; B 52 -18 685 562 ;
+C 75 ; WX 600 ; N K ; B 38 0 671 562 ;
+C 76 ; WX 600 ; N L ; B 47 0 607 562 ;
+C 77 ; WX 600 ; N M ; B 4 0 715 562 ;
+C 78 ; WX 600 ; N N ; B 7 -13 712 562 ;
+C 79 ; WX 600 ; N O ; B 94 -18 625 580 ;
+C 80 ; WX 600 ; N P ; B 79 0 644 562 ;
+C 81 ; WX 600 ; N Q ; B 95 -138 625 580 ;
+C 82 ; WX 600 ; N R ; B 38 0 598 562 ;
+C 83 ; WX 600 ; N S ; B 76 -20 650 580 ;
+C 84 ; WX 600 ; N T ; B 108 0 665 562 ;
+C 85 ; WX 600 ; N U ; B 125 -18 702 562 ;
+C 86 ; WX 600 ; N V ; B 105 -13 723 562 ;
+C 87 ; WX 600 ; N W ; B 106 -13 722 562 ;
+C 88 ; WX 600 ; N X ; B 23 0 675 562 ;
+C 89 ; WX 600 ; N Y ; B 133 0 695 562 ;
+C 90 ; WX 600 ; N Z ; B 86 0 610 562 ;
+C 91 ; WX 600 ; N bracketleft ; B 246 -108 574 622 ;
+C 92 ; WX 600 ; N backslash ; B 249 -80 468 629 ;
+C 93 ; WX 600 ; N bracketright ; B 135 -108 463 622 ;
+C 94 ; WX 600 ; N asciicircum ; B 175 354 587 622 ;
+C 95 ; WX 600 ; N underscore ; B -27 -125 584 -75 ;
+C 96 ; WX 600 ; N quoteleft ; B 343 328 457 562 ;
+C 97 ; WX 600 ; N a ; B 76 -15 569 441 ;
+C 98 ; WX 600 ; N b ; B 29 -15 625 629 ;
+C 99 ; WX 600 ; N c ; B 106 -15 608 441 ;
+C 100 ; WX 600 ; N d ; B 85 -15 640 629 ;
+C 101 ; WX 600 ; N e ; B 106 -15 598 441 ;
+C 102 ; WX 600 ; N f ; B 114 0 662 629 ; L i fi ; L l fl ;
+C 103 ; WX 600 ; N g ; B 61 -157 657 441 ;
+C 104 ; WX 600 ; N h ; B 33 0 592 629 ;
+C 105 ; WX 600 ; N i ; B 95 0 515 657 ;
+C 106 ; WX 600 ; N j ; B 52 -157 550 657 ;
+C 107 ; WX 600 ; N k ; B 58 0 633 629 ;
+C 108 ; WX 600 ; N l ; B 95 0 515 629 ;
+C 109 ; WX 600 ; N m ; B -5 0 615 441 ;
+C 110 ; WX 600 ; N n ; B 26 0 585 441 ;
+C 111 ; WX 600 ; N o ; B 102 -15 588 441 ;
+C 112 ; WX 600 ; N p ; B -24 -157 605 441 ;
+C 113 ; WX 600 ; N q ; B 85 -157 682 441 ;
+C 114 ; WX 600 ; N r ; B 60 0 636 441 ;
+C 115 ; WX 600 ; N s ; B 78 -15 584 441 ;
+C 116 ; WX 600 ; N t ; B 167 -15 561 561 ;
+C 117 ; WX 600 ; N u ; B 101 -15 572 426 ;
+C 118 ; WX 600 ; N v ; B 90 -10 681 426 ;
+C 119 ; WX 600 ; N w ; B 76 -10 695 426 ;
+C 120 ; WX 600 ; N x ; B 20 0 655 426 ;
+C 121 ; WX 600 ; N y ; B -4 -157 683 426 ;
+C 122 ; WX 600 ; N z ; B 99 0 593 426 ;
+C 123 ; WX 600 ; N braceleft ; B 233 -108 569 622 ;
+C 124 ; WX 600 ; N bar ; B 222 -250 485 750 ;
+C 125 ; WX 600 ; N braceright ; B 140 -108 477 622 ;
+C 126 ; WX 600 ; N asciitilde ; B 116 197 600 320 ;
+C 161 ; WX 600 ; N exclamdown ; B 225 -157 445 430 ;
+C 162 ; WX 600 ; N cent ; B 151 -49 588 614 ;
+C 163 ; WX 600 ; N sterling ; B 124 -21 621 611 ;
+C 164 ; WX 600 ; N fraction ; B 84 -57 646 665 ;
+C 165 ; WX 600 ; N yen ; B 120 0 693 562 ;
+C 166 ; WX 600 ; N florin ; B -26 -143 671 622 ;
+C 167 ; WX 600 ; N section ; B 104 -78 590 580 ;
+C 168 ; WX 600 ; N currency ; B 94 58 628 506 ;
+C 169 ; WX 600 ; N quotesingle ; B 345 328 460 562 ;
+C 170 ; WX 600 ; N quotedblleft ; B 262 328 541 562 ;
+C 171 ; WX 600 ; N guillemotleft ; B 92 70 652 446 ;
+C 172 ; WX 600 ; N guilsinglleft ; B 204 70 540 446 ;
+C 173 ; WX 600 ; N guilsinglright ; B 170 70 506 446 ;
+C 174 ; WX 600 ; N fi ; B 3 0 619 629 ;
+C 175 ; WX 600 ; N fl ; B 3 0 619 629 ;
+C 177 ; WX 600 ; N endash ; B 124 231 586 285 ;
+C 178 ; WX 600 ; N dagger ; B 217 -78 546 580 ;
+C 179 ; WX 600 ; N daggerdbl ; B 163 -78 546 580 ;
+C 180 ; WX 600 ; N periodcentered ; B 275 189 434 327 ;
+C 182 ; WX 600 ; N paragraph ; B 100 -78 630 562 ;
+C 183 ; WX 600 ; N bullet ; B 224 130 485 383 ;
+C 184 ; WX 600 ; N quotesinglbase ; B 185 -134 397 100 ;
+C 185 ; WX 600 ; N quotedblbase ; B 115 -134 478 100 ;
+C 186 ; WX 600 ; N quotedblright ; B 213 328 576 562 ;
+C 187 ; WX 600 ; N guillemotright ; B 58 70 618 446 ;
+C 188 ; WX 600 ; N ellipsis ; B 46 -15 575 111 ;
+C 189 ; WX 600 ; N perthousand ; B 59 -15 627 622 ;
+C 191 ; WX 600 ; N questiondown ; B 105 -157 466 430 ;
+C 193 ; WX 600 ; N grave ; B 294 497 484 672 ;
+C 194 ; WX 600 ; N acute ; B 348 497 612 672 ;
+C 195 ; WX 600 ; N circumflex ; B 229 477 581 654 ;
+C 196 ; WX 600 ; N tilde ; B 212 489 629 606 ;
+C 197 ; WX 600 ; N macron ; B 232 525 600 565 ;
+C 198 ; WX 600 ; N breve ; B 279 501 576 609 ;
+C 199 ; WX 600 ; N dotaccent ; B 373 537 478 640 ;
+C 200 ; WX 600 ; N dieresis ; B 272 537 579 640 ;
+C 202 ; WX 600 ; N ring ; B 332 463 500 627 ;
+C 203 ; WX 600 ; N cedilla ; B 197 -151 344 10 ;
+C 205 ; WX 600 ; N hungarumlaut ; B 239 497 683 672 ;
+C 206 ; WX 600 ; N ogonek ; B 189 -172 377 4 ;
+C 207 ; WX 600 ; N caron ; B 262 492 614 669 ;
+C 208 ; WX 600 ; N emdash ; B 49 231 661 285 ;
+C 225 ; WX 600 ; N AE ; B 3 0 655 562 ;
+C 227 ; WX 600 ; N ordfeminine ; B 209 249 512 580 ;
+C 232 ; WX 600 ; N Lslash ; B 47 0 607 562 ;
+C 233 ; WX 600 ; N Oslash ; B 94 -80 625 629 ;
+C 234 ; WX 600 ; N OE ; B 59 0 672 562 ;
+C 235 ; WX 600 ; N ordmasculine ; B 210 249 535 580 ;
+C 241 ; WX 600 ; N ae ; B 41 -15 626 441 ;
+C 245 ; WX 600 ; N dotlessi ; B 95 0 515 426 ;
+C 248 ; WX 600 ; N lslash ; B 95 0 587 629 ;
+C 249 ; WX 600 ; N oslash ; B 102 -80 588 506 ;
+C 250 ; WX 600 ; N oe ; B 54 -15 615 441 ;
+C 251 ; WX 600 ; N germandbls ; B 48 -15 617 629 ;
+C -1 ; WX 600 ; N Idieresis ; B 96 0 623 753 ;
+C -1 ; WX 600 ; N eacute ; B 106 -15 612 672 ;
+C -1 ; WX 600 ; N abreve ; B 76 -15 576 609 ;
+C -1 ; WX 600 ; N uhungarumlaut ; B 101 -15 723 672 ;
+C -1 ; WX 600 ; N ecaron ; B 106 -15 614 669 ;
+C -1 ; WX 600 ; N Ydieresis ; B 133 0 695 753 ;
+C -1 ; WX 600 ; N divide ; B 136 48 573 467 ;
+C -1 ; WX 600 ; N Yacute ; B 133 0 695 805 ;
+C -1 ; WX 600 ; N Acircumflex ; B 3 0 607 787 ;
+C -1 ; WX 600 ; N aacute ; B 76 -15 612 672 ;
+C -1 ; WX 600 ; N Ucircumflex ; B 125 -18 702 787 ;
+C -1 ; WX 600 ; N yacute ; B -4 -157 683 672 ;
+C -1 ; WX 600 ; N scommaaccent ; B 78 -250 584 441 ;
+C -1 ; WX 600 ; N ecircumflex ; B 106 -15 598 654 ;
+C -1 ; WX 600 ; N Uring ; B 125 -18 702 760 ;
+C -1 ; WX 600 ; N Udieresis ; B 125 -18 702 753 ;
+C -1 ; WX 600 ; N aogonek ; B 76 -172 569 441 ;
+C -1 ; WX 600 ; N Uacute ; B 125 -18 702 805 ;
+C -1 ; WX 600 ; N uogonek ; B 101 -172 572 426 ;
+C -1 ; WX 600 ; N Edieresis ; B 53 0 660 753 ;
+C -1 ; WX 600 ; N Dcroat ; B 43 0 645 562 ;
+C -1 ; WX 600 ; N commaaccent ; B 145 -250 323 -58 ;
+C -1 ; WX 600 ; N copyright ; B 53 -18 667 580 ;
+C -1 ; WX 600 ; N Emacron ; B 53 0 660 698 ;
+C -1 ; WX 600 ; N ccaron ; B 106 -15 614 669 ;
+C -1 ; WX 600 ; N aring ; B 76 -15 569 627 ;
+C -1 ; WX 600 ; N Ncommaaccent ; B 7 -250 712 562 ;
+C -1 ; WX 600 ; N lacute ; B 95 0 640 805 ;
+C -1 ; WX 600 ; N agrave ; B 76 -15 569 672 ;
+C -1 ; WX 600 ; N Tcommaaccent ; B 108 -250 665 562 ;
+C -1 ; WX 600 ; N Cacute ; B 93 -18 655 805 ;
+C -1 ; WX 600 ; N atilde ; B 76 -15 629 606 ;
+C -1 ; WX 600 ; N Edotaccent ; B 53 0 660 753 ;
+C -1 ; WX 600 ; N scaron ; B 78 -15 614 669 ;
+C -1 ; WX 600 ; N scedilla ; B 78 -151 584 441 ;
+C -1 ; WX 600 ; N iacute ; B 95 0 612 672 ;
+C -1 ; WX 600 ; N lozenge ; B 94 0 519 706 ;
+C -1 ; WX 600 ; N Rcaron ; B 38 0 642 802 ;
+C -1 ; WX 600 ; N Gcommaaccent ; B 83 -250 645 580 ;
+C -1 ; WX 600 ; N ucircumflex ; B 101 -15 572 654 ;
+C -1 ; WX 600 ; N acircumflex ; B 76 -15 581 654 ;
+C -1 ; WX 600 ; N Amacron ; B 3 0 607 698 ;
+C -1 ; WX 600 ; N rcaron ; B 60 0 636 669 ;
+C -1 ; WX 600 ; N ccedilla ; B 106 -151 614 441 ;
+C -1 ; WX 600 ; N Zdotaccent ; B 86 0 610 753 ;
+C -1 ; WX 600 ; N Thorn ; B 79 0 606 562 ;
+C -1 ; WX 600 ; N Omacron ; B 94 -18 628 698 ;
+C -1 ; WX 600 ; N Racute ; B 38 0 670 805 ;
+C -1 ; WX 600 ; N Sacute ; B 76 -20 650 805 ;
+C -1 ; WX 600 ; N dcaron ; B 85 -15 849 629 ;
+C -1 ; WX 600 ; N Umacron ; B 125 -18 702 698 ;
+C -1 ; WX 600 ; N uring ; B 101 -15 572 627 ;
+C -1 ; WX 600 ; N threesuperior ; B 213 240 501 622 ;
+C -1 ; WX 600 ; N Ograve ; B 94 -18 625 805 ;
+C -1 ; WX 600 ; N Agrave ; B 3 0 607 805 ;
+C -1 ; WX 600 ; N Abreve ; B 3 0 607 732 ;
+C -1 ; WX 600 ; N multiply ; B 103 43 607 470 ;
+C -1 ; WX 600 ; N uacute ; B 101 -15 602 672 ;
+C -1 ; WX 600 ; N Tcaron ; B 108 0 665 802 ;
+C -1 ; WX 600 ; N partialdiff ; B 45 -38 546 710 ;
+C -1 ; WX 600 ; N ydieresis ; B -4 -157 683 620 ;
+C -1 ; WX 600 ; N Nacute ; B 7 -13 712 805 ;
+C -1 ; WX 600 ; N icircumflex ; B 95 0 551 654 ;
+C -1 ; WX 600 ; N Ecircumflex ; B 53 0 660 787 ;
+C -1 ; WX 600 ; N adieresis ; B 76 -15 575 620 ;
+C -1 ; WX 600 ; N edieresis ; B 106 -15 598 620 ;
+C -1 ; WX 600 ; N cacute ; B 106 -15 612 672 ;
+C -1 ; WX 600 ; N nacute ; B 26 0 602 672 ;
+C -1 ; WX 600 ; N umacron ; B 101 -15 600 565 ;
+C -1 ; WX 600 ; N Ncaron ; B 7 -13 712 802 ;
+C -1 ; WX 600 ; N Iacute ; B 96 0 640 805 ;
+C -1 ; WX 600 ; N plusminus ; B 96 44 594 558 ;
+C -1 ; WX 600 ; N brokenbar ; B 238 -175 469 675 ;
+C -1 ; WX 600 ; N registered ; B 53 -18 667 580 ;
+C -1 ; WX 600 ; N Gbreve ; B 83 -18 645 732 ;
+C -1 ; WX 600 ; N Idotaccent ; B 96 0 623 753 ;
+C -1 ; WX 600 ; N summation ; B 15 -10 670 706 ;
+C -1 ; WX 600 ; N Egrave ; B 53 0 660 805 ;
+C -1 ; WX 600 ; N racute ; B 60 0 636 672 ;
+C -1 ; WX 600 ; N omacron ; B 102 -15 600 565 ;
+C -1 ; WX 600 ; N Zacute ; B 86 0 670 805 ;
+C -1 ; WX 600 ; N Zcaron ; B 86 0 642 802 ;
+C -1 ; WX 600 ; N greaterequal ; B 98 0 594 710 ;
+C -1 ; WX 600 ; N Eth ; B 43 0 645 562 ;
+C -1 ; WX 600 ; N Ccedilla ; B 93 -151 658 580 ;
+C -1 ; WX 600 ; N lcommaaccent ; B 95 -250 515 629 ;
+C -1 ; WX 600 ; N tcaron ; B 167 -15 587 717 ;
+C -1 ; WX 600 ; N eogonek ; B 106 -172 598 441 ;
+C -1 ; WX 600 ; N Uogonek ; B 124 -172 702 562 ;
+C -1 ; WX 600 ; N Aacute ; B 3 0 660 805 ;
+C -1 ; WX 600 ; N Adieresis ; B 3 0 607 753 ;
+C -1 ; WX 600 ; N egrave ; B 106 -15 598 672 ;
+C -1 ; WX 600 ; N zacute ; B 99 0 612 672 ;
+C -1 ; WX 600 ; N iogonek ; B 95 -172 515 657 ;
+C -1 ; WX 600 ; N Oacute ; B 94 -18 640 805 ;
+C -1 ; WX 600 ; N oacute ; B 102 -15 612 672 ;
+C -1 ; WX 600 ; N amacron ; B 76 -15 600 565 ;
+C -1 ; WX 600 ; N sacute ; B 78 -15 612 672 ;
+C -1 ; WX 600 ; N idieresis ; B 95 0 545 620 ;
+C -1 ; WX 600 ; N Ocircumflex ; B 94 -18 625 787 ;
+C -1 ; WX 600 ; N Ugrave ; B 125 -18 702 805 ;
+C -1 ; WX 600 ; N Delta ; B 6 0 598 688 ;
+C -1 ; WX 600 ; N thorn ; B -24 -157 605 629 ;
+C -1 ; WX 600 ; N twosuperior ; B 230 249 535 622 ;
+C -1 ; WX 600 ; N Odieresis ; B 94 -18 625 753 ;
+C -1 ; WX 600 ; N mu ; B 72 -157 572 426 ;
+C -1 ; WX 600 ; N igrave ; B 95 0 515 672 ;
+C -1 ; WX 600 ; N ohungarumlaut ; B 102 -15 723 672 ;
+C -1 ; WX 600 ; N Eogonek ; B 53 -172 660 562 ;
+C -1 ; WX 600 ; N dcroat ; B 85 -15 704 629 ;
+C -1 ; WX 600 ; N threequarters ; B 73 -56 659 666 ;
+C -1 ; WX 600 ; N Scedilla ; B 76 -151 650 580 ;
+C -1 ; WX 600 ; N lcaron ; B 95 0 667 629 ;
+C -1 ; WX 600 ; N Kcommaaccent ; B 38 -250 671 562 ;
+C -1 ; WX 600 ; N Lacute ; B 47 0 607 805 ;
+C -1 ; WX 600 ; N trademark ; B 75 263 742 562 ;
+C -1 ; WX 600 ; N edotaccent ; B 106 -15 598 620 ;
+C -1 ; WX 600 ; N Igrave ; B 96 0 623 805 ;
+C -1 ; WX 600 ; N Imacron ; B 96 0 628 698 ;
+C -1 ; WX 600 ; N Lcaron ; B 47 0 632 562 ;
+C -1 ; WX 600 ; N onehalf ; B 65 -57 669 665 ;
+C -1 ; WX 600 ; N lessequal ; B 98 0 645 710 ;
+C -1 ; WX 600 ; N ocircumflex ; B 102 -15 588 654 ;
+C -1 ; WX 600 ; N ntilde ; B 26 0 629 606 ;
+C -1 ; WX 600 ; N Uhungarumlaut ; B 125 -18 761 805 ;
+C -1 ; WX 600 ; N Eacute ; B 53 0 670 805 ;
+C -1 ; WX 600 ; N emacron ; B 106 -15 600 565 ;
+C -1 ; WX 600 ; N gbreve ; B 61 -157 657 609 ;
+C -1 ; WX 600 ; N onequarter ; B 65 -57 674 665 ;
+C -1 ; WX 600 ; N Scaron ; B 76 -20 672 802 ;
+C -1 ; WX 600 ; N Scommaaccent ; B 76 -250 650 580 ;
+C -1 ; WX 600 ; N Ohungarumlaut ; B 94 -18 751 805 ;
+C -1 ; WX 600 ; N degree ; B 214 269 576 622 ;
+C -1 ; WX 600 ; N ograve ; B 102 -15 588 672 ;
+C -1 ; WX 600 ; N Ccaron ; B 93 -18 672 802 ;
+C -1 ; WX 600 ; N ugrave ; B 101 -15 572 672 ;
+C -1 ; WX 600 ; N radical ; B 85 -15 765 792 ;
+C -1 ; WX 600 ; N Dcaron ; B 43 0 645 802 ;
+C -1 ; WX 600 ; N rcommaaccent ; B 60 -250 636 441 ;
+C -1 ; WX 600 ; N Ntilde ; B 7 -13 712 729 ;
+C -1 ; WX 600 ; N otilde ; B 102 -15 629 606 ;
+C -1 ; WX 600 ; N Rcommaaccent ; B 38 -250 598 562 ;
+C -1 ; WX 600 ; N Lcommaaccent ; B 47 -250 607 562 ;
+C -1 ; WX 600 ; N Atilde ; B 3 0 655 729 ;
+C -1 ; WX 600 ; N Aogonek ; B 3 -172 607 562 ;
+C -1 ; WX 600 ; N Aring ; B 3 0 607 750 ;
+C -1 ; WX 600 ; N Otilde ; B 94 -18 655 729 ;
+C -1 ; WX 600 ; N zdotaccent ; B 99 0 593 620 ;
+C -1 ; WX 600 ; N Ecaron ; B 53 0 660 802 ;
+C -1 ; WX 600 ; N Iogonek ; B 96 -172 623 562 ;
+C -1 ; WX 600 ; N kcommaaccent ; B 58 -250 633 629 ;
+C -1 ; WX 600 ; N minus ; B 129 232 580 283 ;
+C -1 ; WX 600 ; N Icircumflex ; B 96 0 623 787 ;
+C -1 ; WX 600 ; N ncaron ; B 26 0 614 669 ;
+C -1 ; WX 600 ; N tcommaaccent ; B 165 -250 561 561 ;
+C -1 ; WX 600 ; N logicalnot ; B 155 108 591 369 ;
+C -1 ; WX 600 ; N odieresis ; B 102 -15 588 620 ;
+C -1 ; WX 600 ; N udieresis ; B 101 -15 575 620 ;
+C -1 ; WX 600 ; N notequal ; B 43 -16 621 529 ;
+C -1 ; WX 600 ; N gcommaaccent ; B 61 -157 657 708 ;
+C -1 ; WX 600 ; N eth ; B 102 -15 639 629 ;
+C -1 ; WX 600 ; N zcaron ; B 99 0 624 669 ;
+C -1 ; WX 600 ; N ncommaaccent ; B 26 -250 585 441 ;
+C -1 ; WX 600 ; N onesuperior ; B 231 249 491 622 ;
+C -1 ; WX 600 ; N imacron ; B 95 0 543 565 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/test/user-template/user/psprint/fontmetric/Courier.afm b/test/user-template/user/psprint/fontmetric/Courier.afm
new file mode 100644
index 000000000000..b288dbd96dc0
--- /dev/null
+++ b/test/user-template/user/psprint/fontmetric/Courier.afm
@@ -0,0 +1,340 @@
+StartFontMetrics 4.1
+Comment Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
+Comment Creation Date: Thu May 1 17:27:09 1997
+Comment UniqueID 43050
+Comment VMusage 39754 50779
+FontName Courier
+FullName Courier
+FamilyName Courier
+Weight Medium
+ItalicAngle 0
+IsFixedPitch true
+FontBBox -23 -250 715 805
+UnderlinePosition -100
+UnderlineThickness 50
+Version 003.000
+Notice Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
+EncodingScheme AdobeStandardEncoding
+CapHeight 562
+XHeight 426
+Ascender 629
+Descender -157
+StdHW 51
+StdVW 51
+StartCharMetrics 314
+C 32 ; WX 600 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 600 ; N exclam ; B 236 -15 364 572 ;
+C 34 ; WX 600 ; N quotedbl ; B 187 328 413 562 ;
+C 35 ; WX 600 ; N numbersign ; B 93 -32 507 639 ;
+C 36 ; WX 600 ; N dollar ; B 105 -126 496 662 ;
+C 37 ; WX 600 ; N percent ; B 81 -15 518 622 ;
+C 38 ; WX 600 ; N ampersand ; B 63 -15 538 543 ;
+C 39 ; WX 600 ; N quoteright ; B 213 328 376 562 ;
+C 40 ; WX 600 ; N parenleft ; B 269 -108 440 622 ;
+C 41 ; WX 600 ; N parenright ; B 160 -108 331 622 ;
+C 42 ; WX 600 ; N asterisk ; B 116 257 484 607 ;
+C 43 ; WX 600 ; N plus ; B 80 44 520 470 ;
+C 44 ; WX 600 ; N comma ; B 181 -112 344 122 ;
+C 45 ; WX 600 ; N hyphen ; B 103 231 497 285 ;
+C 46 ; WX 600 ; N period ; B 229 -15 371 109 ;
+C 47 ; WX 600 ; N slash ; B 125 -80 475 629 ;
+C 48 ; WX 600 ; N zero ; B 106 -15 494 622 ;
+C 49 ; WX 600 ; N one ; B 96 0 505 622 ;
+C 50 ; WX 600 ; N two ; B 70 0 471 622 ;
+C 51 ; WX 600 ; N three ; B 75 -15 466 622 ;
+C 52 ; WX 600 ; N four ; B 78 0 500 622 ;
+C 53 ; WX 600 ; N five ; B 92 -15 497 607 ;
+C 54 ; WX 600 ; N six ; B 111 -15 497 622 ;
+C 55 ; WX 600 ; N seven ; B 82 0 483 607 ;
+C 56 ; WX 600 ; N eight ; B 102 -15 498 622 ;
+C 57 ; WX 600 ; N nine ; B 96 -15 489 622 ;
+C 58 ; WX 600 ; N colon ; B 229 -15 371 385 ;
+C 59 ; WX 600 ; N semicolon ; B 181 -112 371 385 ;
+C 60 ; WX 600 ; N less ; B 41 42 519 472 ;
+C 61 ; WX 600 ; N equal ; B 80 138 520 376 ;
+C 62 ; WX 600 ; N greater ; B 66 42 544 472 ;
+C 63 ; WX 600 ; N question ; B 129 -15 492 572 ;
+C 64 ; WX 600 ; N at ; B 77 -15 533 622 ;
+C 65 ; WX 600 ; N A ; B 3 0 597 562 ;
+C 66 ; WX 600 ; N B ; B 43 0 559 562 ;
+C 67 ; WX 600 ; N C ; B 41 -18 540 580 ;
+C 68 ; WX 600 ; N D ; B 43 0 574 562 ;
+C 69 ; WX 600 ; N E ; B 53 0 550 562 ;
+C 70 ; WX 600 ; N F ; B 53 0 545 562 ;
+C 71 ; WX 600 ; N G ; B 31 -18 575 580 ;
+C 72 ; WX 600 ; N H ; B 32 0 568 562 ;
+C 73 ; WX 600 ; N I ; B 96 0 504 562 ;
+C 74 ; WX 600 ; N J ; B 34 -18 566 562 ;
+C 75 ; WX 600 ; N K ; B 38 0 582 562 ;
+C 76 ; WX 600 ; N L ; B 47 0 554 562 ;
+C 77 ; WX 600 ; N M ; B 4 0 596 562 ;
+C 78 ; WX 600 ; N N ; B 7 -13 593 562 ;
+C 79 ; WX 600 ; N O ; B 43 -18 557 580 ;
+C 80 ; WX 600 ; N P ; B 79 0 558 562 ;
+C 81 ; WX 600 ; N Q ; B 43 -138 557 580 ;
+C 82 ; WX 600 ; N R ; B 38 0 588 562 ;
+C 83 ; WX 600 ; N S ; B 72 -20 529 580 ;
+C 84 ; WX 600 ; N T ; B 38 0 563 562 ;
+C 85 ; WX 600 ; N U ; B 17 -18 583 562 ;
+C 86 ; WX 600 ; N V ; B -4 -13 604 562 ;
+C 87 ; WX 600 ; N W ; B -3 -13 603 562 ;
+C 88 ; WX 600 ; N X ; B 23 0 577 562 ;
+C 89 ; WX 600 ; N Y ; B 24 0 576 562 ;
+C 90 ; WX 600 ; N Z ; B 86 0 514 562 ;
+C 91 ; WX 600 ; N bracketleft ; B 269 -108 442 622 ;
+C 92 ; WX 600 ; N backslash ; B 118 -80 482 629 ;
+C 93 ; WX 600 ; N bracketright ; B 158 -108 331 622 ;
+C 94 ; WX 600 ; N asciicircum ; B 94 354 506 622 ;
+C 95 ; WX 600 ; N underscore ; B 0 -125 600 -75 ;
+C 96 ; WX 600 ; N quoteleft ; B 224 328 387 562 ;
+C 97 ; WX 600 ; N a ; B 53 -15 559 441 ;
+C 98 ; WX 600 ; N b ; B 14 -15 575 629 ;
+C 99 ; WX 600 ; N c ; B 66 -15 529 441 ;
+C 100 ; WX 600 ; N d ; B 45 -15 591 629 ;
+C 101 ; WX 600 ; N e ; B 66 -15 548 441 ;
+C 102 ; WX 600 ; N f ; B 114 0 531 629 ; L i fi ; L l fl ;
+C 103 ; WX 600 ; N g ; B 45 -157 566 441 ;
+C 104 ; WX 600 ; N h ; B 18 0 582 629 ;
+C 105 ; WX 600 ; N i ; B 95 0 505 657 ;
+C 106 ; WX 600 ; N j ; B 82 -157 410 657 ;
+C 107 ; WX 600 ; N k ; B 43 0 580 629 ;
+C 108 ; WX 600 ; N l ; B 95 0 505 629 ;
+C 109 ; WX 600 ; N m ; B -5 0 605 441 ;
+C 110 ; WX 600 ; N n ; B 26 0 575 441 ;
+C 111 ; WX 600 ; N o ; B 62 -15 538 441 ;
+C 112 ; WX 600 ; N p ; B 9 -157 555 441 ;
+C 113 ; WX 600 ; N q ; B 45 -157 591 441 ;
+C 114 ; WX 600 ; N r ; B 60 0 559 441 ;
+C 115 ; WX 600 ; N s ; B 80 -15 513 441 ;
+C 116 ; WX 600 ; N t ; B 87 -15 530 561 ;
+C 117 ; WX 600 ; N u ; B 21 -15 562 426 ;
+C 118 ; WX 600 ; N v ; B 10 -10 590 426 ;
+C 119 ; WX 600 ; N w ; B -4 -10 604 426 ;
+C 120 ; WX 600 ; N x ; B 20 0 580 426 ;
+C 121 ; WX 600 ; N y ; B 7 -157 592 426 ;
+C 122 ; WX 600 ; N z ; B 99 0 502 426 ;
+C 123 ; WX 600 ; N braceleft ; B 182 -108 437 622 ;
+C 124 ; WX 600 ; N bar ; B 275 -250 326 750 ;
+C 125 ; WX 600 ; N braceright ; B 163 -108 418 622 ;
+C 126 ; WX 600 ; N asciitilde ; B 63 197 540 320 ;
+C 161 ; WX 600 ; N exclamdown ; B 236 -157 364 430 ;
+C 162 ; WX 600 ; N cent ; B 96 -49 500 614 ;
+C 163 ; WX 600 ; N sterling ; B 84 -21 521 611 ;
+C 164 ; WX 600 ; N fraction ; B 92 -57 509 665 ;
+C 165 ; WX 600 ; N yen ; B 26 0 574 562 ;
+C 166 ; WX 600 ; N florin ; B 4 -143 539 622 ;
+C 167 ; WX 600 ; N section ; B 113 -78 488 580 ;
+C 168 ; WX 600 ; N currency ; B 73 58 527 506 ;
+C 169 ; WX 600 ; N quotesingle ; B 259 328 341 562 ;
+C 170 ; WX 600 ; N quotedblleft ; B 143 328 471 562 ;
+C 171 ; WX 600 ; N guillemotleft ; B 37 70 563 446 ;
+C 172 ; WX 600 ; N guilsinglleft ; B 149 70 451 446 ;
+C 173 ; WX 600 ; N guilsinglright ; B 149 70 451 446 ;
+C 174 ; WX 600 ; N fi ; B 3 0 597 629 ;
+C 175 ; WX 600 ; N fl ; B 3 0 597 629 ;
+C 177 ; WX 600 ; N endash ; B 75 231 525 285 ;
+C 178 ; WX 600 ; N dagger ; B 141 -78 459 580 ;
+C 179 ; WX 600 ; N daggerdbl ; B 141 -78 459 580 ;
+C 180 ; WX 600 ; N periodcentered ; B 222 189 378 327 ;
+C 182 ; WX 600 ; N paragraph ; B 50 -78 511 562 ;
+C 183 ; WX 600 ; N bullet ; B 172 130 428 383 ;
+C 184 ; WX 600 ; N quotesinglbase ; B 213 -134 376 100 ;
+C 185 ; WX 600 ; N quotedblbase ; B 143 -134 457 100 ;
+C 186 ; WX 600 ; N quotedblright ; B 143 328 457 562 ;
+C 187 ; WX 600 ; N guillemotright ; B 37 70 563 446 ;
+C 188 ; WX 600 ; N ellipsis ; B 37 -15 563 111 ;
+C 189 ; WX 600 ; N perthousand ; B 3 -15 600 622 ;
+C 191 ; WX 600 ; N questiondown ; B 108 -157 471 430 ;
+C 193 ; WX 600 ; N grave ; B 151 497 378 672 ;
+C 194 ; WX 600 ; N acute ; B 242 497 469 672 ;
+C 195 ; WX 600 ; N circumflex ; B 124 477 476 654 ;
+C 196 ; WX 600 ; N tilde ; B 105 489 503 606 ;
+C 197 ; WX 600 ; N macron ; B 120 525 480 565 ;
+C 198 ; WX 600 ; N breve ; B 153 501 447 609 ;
+C 199 ; WX 600 ; N dotaccent ; B 249 537 352 640 ;
+C 200 ; WX 600 ; N dieresis ; B 148 537 453 640 ;
+C 202 ; WX 600 ; N ring ; B 218 463 382 627 ;
+C 203 ; WX 600 ; N cedilla ; B 224 -151 362 10 ;
+C 205 ; WX 600 ; N hungarumlaut ; B 133 497 540 672 ;
+C 206 ; WX 600 ; N ogonek ; B 211 -172 407 4 ;
+C 207 ; WX 600 ; N caron ; B 124 492 476 669 ;
+C 208 ; WX 600 ; N emdash ; B 0 231 600 285 ;
+C 225 ; WX 600 ; N AE ; B 3 0 550 562 ;
+C 227 ; WX 600 ; N ordfeminine ; B 156 249 442 580 ;
+C 232 ; WX 600 ; N Lslash ; B 47 0 554 562 ;
+C 233 ; WX 600 ; N Oslash ; B 43 -80 557 629 ;
+C 234 ; WX 600 ; N OE ; B 7 0 567 562 ;
+C 235 ; WX 600 ; N ordmasculine ; B 157 249 443 580 ;
+C 241 ; WX 600 ; N ae ; B 19 -15 570 441 ;
+C 245 ; WX 600 ; N dotlessi ; B 95 0 505 426 ;
+C 248 ; WX 600 ; N lslash ; B 95 0 505 629 ;
+C 249 ; WX 600 ; N oslash ; B 62 -80 538 506 ;
+C 250 ; WX 600 ; N oe ; B 19 -15 559 441 ;
+C 251 ; WX 600 ; N germandbls ; B 48 -15 588 629 ;
+C -1 ; WX 600 ; N Idieresis ; B 96 0 504 753 ;
+C -1 ; WX 600 ; N eacute ; B 66 -15 548 672 ;
+C -1 ; WX 600 ; N abreve ; B 53 -15 559 609 ;
+C -1 ; WX 600 ; N uhungarumlaut ; B 21 -15 580 672 ;
+C -1 ; WX 600 ; N ecaron ; B 66 -15 548 669 ;
+C -1 ; WX 600 ; N Ydieresis ; B 24 0 576 753 ;
+C -1 ; WX 600 ; N divide ; B 87 48 513 467 ;
+C -1 ; WX 600 ; N Yacute ; B 24 0 576 805 ;
+C -1 ; WX 600 ; N Acircumflex ; B 3 0 597 787 ;
+C -1 ; WX 600 ; N aacute ; B 53 -15 559 672 ;
+C -1 ; WX 600 ; N Ucircumflex ; B 17 -18 583 787 ;
+C -1 ; WX 600 ; N yacute ; B 7 -157 592 672 ;
+C -1 ; WX 600 ; N scommaaccent ; B 80 -250 513 441 ;
+C -1 ; WX 600 ; N ecircumflex ; B 66 -15 548 654 ;
+C -1 ; WX 600 ; N Uring ; B 17 -18 583 760 ;
+C -1 ; WX 600 ; N Udieresis ; B 17 -18 583 753 ;
+C -1 ; WX 600 ; N aogonek ; B 53 -172 587 441 ;
+C -1 ; WX 600 ; N Uacute ; B 17 -18 583 805 ;
+C -1 ; WX 600 ; N uogonek ; B 21 -172 590 426 ;
+C -1 ; WX 600 ; N Edieresis ; B 53 0 550 753 ;
+C -1 ; WX 600 ; N Dcroat ; B 30 0 574 562 ;
+C -1 ; WX 600 ; N commaaccent ; B 198 -250 335 -58 ;
+C -1 ; WX 600 ; N copyright ; B 0 -18 600 580 ;
+C -1 ; WX 600 ; N Emacron ; B 53 0 550 698 ;
+C -1 ; WX 600 ; N ccaron ; B 66 -15 529 669 ;
+C -1 ; WX 600 ; N aring ; B 53 -15 559 627 ;
+C -1 ; WX 600 ; N Ncommaaccent ; B 7 -250 593 562 ;
+C -1 ; WX 600 ; N lacute ; B 95 0 505 805 ;
+C -1 ; WX 600 ; N agrave ; B 53 -15 559 672 ;
+C -1 ; WX 600 ; N Tcommaaccent ; B 38 -250 563 562 ;
+C -1 ; WX 600 ; N Cacute ; B 41 -18 540 805 ;
+C -1 ; WX 600 ; N atilde ; B 53 -15 559 606 ;
+C -1 ; WX 600 ; N Edotaccent ; B 53 0 550 753 ;
+C -1 ; WX 600 ; N scaron ; B 80 -15 513 669 ;
+C -1 ; WX 600 ; N scedilla ; B 80 -151 513 441 ;
+C -1 ; WX 600 ; N iacute ; B 95 0 505 672 ;
+C -1 ; WX 600 ; N lozenge ; B 18 0 443 706 ;
+C -1 ; WX 600 ; N Rcaron ; B 38 0 588 802 ;
+C -1 ; WX 600 ; N Gcommaaccent ; B 31 -250 575 580 ;
+C -1 ; WX 600 ; N ucircumflex ; B 21 -15 562 654 ;
+C -1 ; WX 600 ; N acircumflex ; B 53 -15 559 654 ;
+C -1 ; WX 600 ; N Amacron ; B 3 0 597 698 ;
+C -1 ; WX 600 ; N rcaron ; B 60 0 559 669 ;
+C -1 ; WX 600 ; N ccedilla ; B 66 -151 529 441 ;
+C -1 ; WX 600 ; N Zdotaccent ; B 86 0 514 753 ;
+C -1 ; WX 600 ; N Thorn ; B 79 0 538 562 ;
+C -1 ; WX 600 ; N Omacron ; B 43 -18 557 698 ;
+C -1 ; WX 600 ; N Racute ; B 38 0 588 805 ;
+C -1 ; WX 600 ; N Sacute ; B 72 -20 529 805 ;
+C -1 ; WX 600 ; N dcaron ; B 45 -15 715 629 ;
+C -1 ; WX 600 ; N Umacron ; B 17 -18 583 698 ;
+C -1 ; WX 600 ; N uring ; B 21 -15 562 627 ;
+C -1 ; WX 600 ; N threesuperior ; B 155 240 406 622 ;
+C -1 ; WX 600 ; N Ograve ; B 43 -18 557 805 ;
+C -1 ; WX 600 ; N Agrave ; B 3 0 597 805 ;
+C -1 ; WX 600 ; N Abreve ; B 3 0 597 732 ;
+C -1 ; WX 600 ; N multiply ; B 87 43 515 470 ;
+C -1 ; WX 600 ; N uacute ; B 21 -15 562 672 ;
+C -1 ; WX 600 ; N Tcaron ; B 38 0 563 802 ;
+C -1 ; WX 600 ; N partialdiff ; B 17 -38 459 710 ;
+C -1 ; WX 600 ; N ydieresis ; B 7 -157 592 620 ;
+C -1 ; WX 600 ; N Nacute ; B 7 -13 593 805 ;
+C -1 ; WX 600 ; N icircumflex ; B 94 0 505 654 ;
+C -1 ; WX 600 ; N Ecircumflex ; B 53 0 550 787 ;
+C -1 ; WX 600 ; N adieresis ; B 53 -15 559 620 ;
+C -1 ; WX 600 ; N edieresis ; B 66 -15 548 620 ;
+C -1 ; WX 600 ; N cacute ; B 66 -15 529 672 ;
+C -1 ; WX 600 ; N nacute ; B 26 0 575 672 ;
+C -1 ; WX 600 ; N umacron ; B 21 -15 562 565 ;
+C -1 ; WX 600 ; N Ncaron ; B 7 -13 593 802 ;
+C -1 ; WX 600 ; N Iacute ; B 96 0 504 805 ;
+C -1 ; WX 600 ; N plusminus ; B 87 44 513 558 ;
+C -1 ; WX 600 ; N brokenbar ; B 275 -175 326 675 ;
+C -1 ; WX 600 ; N registered ; B 0 -18 600 580 ;
+C -1 ; WX 600 ; N Gbreve ; B 31 -18 575 732 ;
+C -1 ; WX 600 ; N Idotaccent ; B 96 0 504 753 ;
+C -1 ; WX 600 ; N summation ; B 15 -10 585 706 ;
+C -1 ; WX 600 ; N Egrave ; B 53 0 550 805 ;
+C -1 ; WX 600 ; N racute ; B 60 0 559 672 ;
+C -1 ; WX 600 ; N omacron ; B 62 -15 538 565 ;
+C -1 ; WX 600 ; N Zacute ; B 86 0 514 805 ;
+C -1 ; WX 600 ; N Zcaron ; B 86 0 514 802 ;
+C -1 ; WX 600 ; N greaterequal ; B 98 0 502 710 ;
+C -1 ; WX 600 ; N Eth ; B 30 0 574 562 ;
+C -1 ; WX 600 ; N Ccedilla ; B 41 -151 540 580 ;
+C -1 ; WX 600 ; N lcommaaccent ; B 95 -250 505 629 ;
+C -1 ; WX 600 ; N tcaron ; B 87 -15 530 717 ;
+C -1 ; WX 600 ; N eogonek ; B 66 -172 548 441 ;
+C -1 ; WX 600 ; N Uogonek ; B 17 -172 583 562 ;
+C -1 ; WX 600 ; N Aacute ; B 3 0 597 805 ;
+C -1 ; WX 600 ; N Adieresis ; B 3 0 597 753 ;
+C -1 ; WX 600 ; N egrave ; B 66 -15 548 672 ;
+C -1 ; WX 600 ; N zacute ; B 99 0 502 672 ;
+C -1 ; WX 600 ; N iogonek ; B 95 -172 505 657 ;
+C -1 ; WX 600 ; N Oacute ; B 43 -18 557 805 ;
+C -1 ; WX 600 ; N oacute ; B 62 -15 538 672 ;
+C -1 ; WX 600 ; N amacron ; B 53 -15 559 565 ;
+C -1 ; WX 600 ; N sacute ; B 80 -15 513 672 ;
+C -1 ; WX 600 ; N idieresis ; B 95 0 505 620 ;
+C -1 ; WX 600 ; N Ocircumflex ; B 43 -18 557 787 ;
+C -1 ; WX 600 ; N Ugrave ; B 17 -18 583 805 ;
+C -1 ; WX 600 ; N Delta ; B 6 0 598 688 ;
+C -1 ; WX 600 ; N thorn ; B -6 -157 555 629 ;
+C -1 ; WX 600 ; N twosuperior ; B 177 249 424 622 ;
+C -1 ; WX 600 ; N Odieresis ; B 43 -18 557 753 ;
+C -1 ; WX 600 ; N mu ; B 21 -157 562 426 ;
+C -1 ; WX 600 ; N igrave ; B 95 0 505 672 ;
+C -1 ; WX 600 ; N ohungarumlaut ; B 62 -15 580 672 ;
+C -1 ; WX 600 ; N Eogonek ; B 53 -172 561 562 ;
+C -1 ; WX 600 ; N dcroat ; B 45 -15 591 629 ;
+C -1 ; WX 600 ; N threequarters ; B 8 -56 593 666 ;
+C -1 ; WX 600 ; N Scedilla ; B 72 -151 529 580 ;
+C -1 ; WX 600 ; N lcaron ; B 95 0 533 629 ;
+C -1 ; WX 600 ; N Kcommaaccent ; B 38 -250 582 562 ;
+C -1 ; WX 600 ; N Lacute ; B 47 0 554 805 ;
+C -1 ; WX 600 ; N trademark ; B -23 263 623 562 ;
+C -1 ; WX 600 ; N edotaccent ; B 66 -15 548 620 ;
+C -1 ; WX 600 ; N Igrave ; B 96 0 504 805 ;
+C -1 ; WX 600 ; N Imacron ; B 96 0 504 698 ;
+C -1 ; WX 600 ; N Lcaron ; B 47 0 554 562 ;
+C -1 ; WX 600 ; N onehalf ; B 0 -57 611 665 ;
+C -1 ; WX 600 ; N lessequal ; B 98 0 502 710 ;
+C -1 ; WX 600 ; N ocircumflex ; B 62 -15 538 654 ;
+C -1 ; WX 600 ; N ntilde ; B 26 0 575 606 ;
+C -1 ; WX 600 ; N Uhungarumlaut ; B 17 -18 590 805 ;
+C -1 ; WX 600 ; N Eacute ; B 53 0 550 805 ;
+C -1 ; WX 600 ; N emacron ; B 66 -15 548 565 ;
+C -1 ; WX 600 ; N gbreve ; B 45 -157 566 609 ;
+C -1 ; WX 600 ; N onequarter ; B 0 -57 600 665 ;
+C -1 ; WX 600 ; N Scaron ; B 72 -20 529 802 ;
+C -1 ; WX 600 ; N Scommaaccent ; B 72 -250 529 580 ;
+C -1 ; WX 600 ; N Ohungarumlaut ; B 43 -18 580 805 ;
+C -1 ; WX 600 ; N degree ; B 123 269 477 622 ;
+C -1 ; WX 600 ; N ograve ; B 62 -15 538 672 ;
+C -1 ; WX 600 ; N Ccaron ; B 41 -18 540 802 ;
+C -1 ; WX 600 ; N ugrave ; B 21 -15 562 672 ;
+C -1 ; WX 600 ; N radical ; B 3 -15 597 792 ;
+C -1 ; WX 600 ; N Dcaron ; B 43 0 574 802 ;
+C -1 ; WX 600 ; N rcommaaccent ; B 60 -250 559 441 ;
+C -1 ; WX 600 ; N Ntilde ; B 7 -13 593 729 ;
+C -1 ; WX 600 ; N otilde ; B 62 -15 538 606 ;
+C -1 ; WX 600 ; N Rcommaaccent ; B 38 -250 588 562 ;
+C -1 ; WX 600 ; N Lcommaaccent ; B 47 -250 554 562 ;
+C -1 ; WX 600 ; N Atilde ; B 3 0 597 729 ;
+C -1 ; WX 600 ; N Aogonek ; B 3 -172 608 562 ;
+C -1 ; WX 600 ; N Aring ; B 3 0 597 750 ;
+C -1 ; WX 600 ; N Otilde ; B 43 -18 557 729 ;
+C -1 ; WX 600 ; N zdotaccent ; B 99 0 502 620 ;
+C -1 ; WX 600 ; N Ecaron ; B 53 0 550 802 ;
+C -1 ; WX 600 ; N Iogonek ; B 96 -172 504 562 ;
+C -1 ; WX 600 ; N kcommaaccent ; B 43 -250 580 629 ;
+C -1 ; WX 600 ; N minus ; B 80 232 520 283 ;
+C -1 ; WX 600 ; N Icircumflex ; B 96 0 504 787 ;
+C -1 ; WX 600 ; N ncaron ; B 26 0 575 669 ;
+C -1 ; WX 600 ; N tcommaaccent ; B 87 -250 530 561 ;
+C -1 ; WX 600 ; N logicalnot ; B 87 108 513 369 ;
+C -1 ; WX 600 ; N odieresis ; B 62 -15 538 620 ;
+C -1 ; WX 600 ; N udieresis ; B 21 -15 562 620 ;
+C -1 ; WX 600 ; N notequal ; B 15 -16 540 529 ;
+C -1 ; WX 600 ; N gcommaaccent ; B 45 -157 566 708 ;
+C -1 ; WX 600 ; N eth ; B 62 -15 538 629 ;
+C -1 ; WX 600 ; N zcaron ; B 99 0 502 669 ;
+C -1 ; WX 600 ; N ncommaaccent ; B 26 -250 575 441 ;
+C -1 ; WX 600 ; N onesuperior ; B 172 249 428 622 ;
+C -1 ; WX 600 ; N imacron ; B 95 0 505 565 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/test/user-template/user/psprint/fontmetric/Helvetica-Bold.afm b/test/user-template/user/psprint/fontmetric/Helvetica-Bold.afm
new file mode 100644
index 000000000000..0932bdffe2dd
--- /dev/null
+++ b/test/user-template/user/psprint/fontmetric/Helvetica-Bold.afm
@@ -0,0 +1,2825 @@
+StartFontMetrics 4.1
+Comment Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All Rights Reserved.
+Comment Creation Date: Thu May 1 12:43:52 1997
+Comment UniqueID 43052
+Comment VMusage 37169 48194
+FontName Helvetica-Bold
+FullName Helvetica Bold
+FamilyName Helvetica
+Weight Bold
+ItalicAngle 0
+IsFixedPitch false
+FontBBox -170 -228 1003 962
+UnderlinePosition -100
+UnderlineThickness 50
+Version 002.000
+Notice Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All Rights Reserved.Helvetica is a trademark of Linotype-Hell AG and/or its subsidiaries.
+EncodingScheme AdobeStandardEncoding
+CapHeight 718
+XHeight 532
+Ascender 718
+Descender -207
+StdHW 118
+StdVW 140
+StartCharMetrics 314
+C 32 ; WX 278 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 333 ; N exclam ; B 90 0 244 718 ;
+C 34 ; WX 474 ; N quotedbl ; B 98 447 376 718 ;
+C 35 ; WX 556 ; N numbersign ; B 18 0 538 698 ;
+C 36 ; WX 556 ; N dollar ; B 30 -115 523 775 ;
+C 37 ; WX 889 ; N percent ; B 28 -19 861 710 ;
+C 38 ; WX 722 ; N ampersand ; B 54 -19 701 718 ;
+C 39 ; WX 278 ; N quoteright ; B 69 445 209 718 ;
+C 40 ; WX 333 ; N parenleft ; B 35 -208 314 734 ;
+C 41 ; WX 333 ; N parenright ; B 19 -208 298 734 ;
+C 42 ; WX 389 ; N asterisk ; B 27 387 362 718 ;
+C 43 ; WX 584 ; N plus ; B 40 0 544 506 ;
+C 44 ; WX 278 ; N comma ; B 64 -168 214 146 ;
+C 45 ; WX 333 ; N hyphen ; B 27 215 306 345 ;
+C 46 ; WX 278 ; N period ; B 64 0 214 146 ;
+C 47 ; WX 278 ; N slash ; B -33 -19 311 737 ;
+C 48 ; WX 556 ; N zero ; B 32 -19 524 710 ;
+C 49 ; WX 556 ; N one ; B 69 0 378 710 ;
+C 50 ; WX 556 ; N two ; B 26 0 511 710 ;
+C 51 ; WX 556 ; N three ; B 27 -19 516 710 ;
+C 52 ; WX 556 ; N four ; B 27 0 526 710 ;
+C 53 ; WX 556 ; N five ; B 27 -19 516 698 ;
+C 54 ; WX 556 ; N six ; B 31 -19 520 710 ;
+C 55 ; WX 556 ; N seven ; B 25 0 528 698 ;
+C 56 ; WX 556 ; N eight ; B 32 -19 524 710 ;
+C 57 ; WX 556 ; N nine ; B 30 -19 522 710 ;
+C 58 ; WX 333 ; N colon ; B 92 0 242 512 ;
+C 59 ; WX 333 ; N semicolon ; B 92 -168 242 512 ;
+C 60 ; WX 584 ; N less ; B 38 -8 546 514 ;
+C 61 ; WX 584 ; N equal ; B 40 87 544 419 ;
+C 62 ; WX 584 ; N greater ; B 38 -8 546 514 ;
+C 63 ; WX 611 ; N question ; B 60 0 556 727 ;
+C 64 ; WX 975 ; N at ; B 118 -19 856 737 ;
+C 65 ; WX 722 ; N A ; B 20 0 702 718 ;
+C 66 ; WX 722 ; N B ; B 76 0 669 718 ;
+C 67 ; WX 722 ; N C ; B 44 -19 684 737 ;
+C 68 ; WX 722 ; N D ; B 76 0 685 718 ;
+C 69 ; WX 667 ; N E ; B 76 0 621 718 ;
+C 70 ; WX 611 ; N F ; B 76 0 587 718 ;
+C 71 ; WX 778 ; N G ; B 44 -19 713 737 ;
+C 72 ; WX 722 ; N H ; B 71 0 651 718 ;
+C 73 ; WX 278 ; N I ; B 64 0 214 718 ;
+C 74 ; WX 556 ; N J ; B 22 -18 484 718 ;
+C 75 ; WX 722 ; N K ; B 87 0 722 718 ;
+C 76 ; WX 611 ; N L ; B 76 0 583 718 ;
+C 77 ; WX 833 ; N M ; B 69 0 765 718 ;
+C 78 ; WX 722 ; N N ; B 69 0 654 718 ;
+C 79 ; WX 778 ; N O ; B 44 -19 734 737 ;
+C 80 ; WX 667 ; N P ; B 76 0 627 718 ;
+C 81 ; WX 778 ; N Q ; B 44 -52 737 737 ;
+C 82 ; WX 722 ; N R ; B 76 0 677 718 ;
+C 83 ; WX 667 ; N S ; B 39 -19 629 737 ;
+C 84 ; WX 611 ; N T ; B 14 0 598 718 ;
+C 85 ; WX 722 ; N U ; B 72 -19 651 718 ;
+C 86 ; WX 667 ; N V ; B 19 0 648 718 ;
+C 87 ; WX 944 ; N W ; B 16 0 929 718 ;
+C 88 ; WX 667 ; N X ; B 14 0 653 718 ;
+C 89 ; WX 667 ; N Y ; B 15 0 653 718 ;
+C 90 ; WX 611 ; N Z ; B 25 0 586 718 ;
+C 91 ; WX 333 ; N bracketleft ; B 63 -196 309 722 ;
+C 92 ; WX 278 ; N backslash ; B -33 -19 311 737 ;
+C 93 ; WX 333 ; N bracketright ; B 24 -196 270 722 ;
+C 94 ; WX 584 ; N asciicircum ; B 62 323 522 698 ;
+C 95 ; WX 556 ; N underscore ; B 0 -125 556 -75 ;
+C 96 ; WX 278 ; N quoteleft ; B 69 454 209 727 ;
+C 97 ; WX 556 ; N a ; B 29 -14 527 546 ;
+C 98 ; WX 611 ; N b ; B 61 -14 578 718 ;
+C 99 ; WX 556 ; N c ; B 34 -14 524 546 ;
+C 100 ; WX 611 ; N d ; B 34 -14 551 718 ;
+C 101 ; WX 556 ; N e ; B 23 -14 528 546 ;
+C 102 ; WX 333 ; N f ; B 10 0 318 727 ; L i fi ; L l fl ;
+C 103 ; WX 611 ; N g ; B 40 -217 553 546 ;
+C 104 ; WX 611 ; N h ; B 65 0 546 718 ;
+C 105 ; WX 278 ; N i ; B 69 0 209 725 ;
+C 106 ; WX 278 ; N j ; B 3 -214 209 725 ;
+C 107 ; WX 556 ; N k ; B 69 0 562 718 ;
+C 108 ; WX 278 ; N l ; B 69 0 209 718 ;
+C 109 ; WX 889 ; N m ; B 64 0 826 546 ;
+C 110 ; WX 611 ; N n ; B 65 0 546 546 ;
+C 111 ; WX 611 ; N o ; B 34 -14 578 546 ;
+C 112 ; WX 611 ; N p ; B 62 -207 578 546 ;
+C 113 ; WX 611 ; N q ; B 34 -207 552 546 ;
+C 114 ; WX 389 ; N r ; B 64 0 373 546 ;
+C 115 ; WX 556 ; N s ; B 30 -14 519 546 ;
+C 116 ; WX 333 ; N t ; B 10 -6 309 676 ;
+C 117 ; WX 611 ; N u ; B 66 -14 545 532 ;
+C 118 ; WX 556 ; N v ; B 13 0 543 532 ;
+C 119 ; WX 778 ; N w ; B 10 0 769 532 ;
+C 120 ; WX 556 ; N x ; B 15 0 541 532 ;
+C 121 ; WX 556 ; N y ; B 10 -214 539 532 ;
+C 122 ; WX 500 ; N z ; B 20 0 480 532 ;
+C 123 ; WX 389 ; N braceleft ; B 48 -196 365 722 ;
+C 124 ; WX 280 ; N bar ; B 84 -225 196 775 ;
+C 125 ; WX 389 ; N braceright ; B 24 -196 341 722 ;
+C 126 ; WX 584 ; N asciitilde ; B 61 163 523 343 ;
+C 161 ; WX 333 ; N exclamdown ; B 90 -186 244 532 ;
+C 162 ; WX 556 ; N cent ; B 34 -118 524 628 ;
+C 163 ; WX 556 ; N sterling ; B 28 -16 541 718 ;
+C 164 ; WX 167 ; N fraction ; B -170 -19 336 710 ;
+C 165 ; WX 556 ; N yen ; B -9 0 565 698 ;
+C 166 ; WX 556 ; N florin ; B -10 -210 516 737 ;
+C 167 ; WX 556 ; N section ; B 34 -184 522 727 ;
+C 168 ; WX 556 ; N currency ; B -3 76 559 636 ;
+C 169 ; WX 238 ; N quotesingle ; B 70 447 168 718 ;
+C 170 ; WX 500 ; N quotedblleft ; B 64 454 436 727 ;
+C 171 ; WX 556 ; N guillemotleft ; B 88 76 468 484 ;
+C 172 ; WX 333 ; N guilsinglleft ; B 83 76 250 484 ;
+C 173 ; WX 333 ; N guilsinglright ; B 83 76 250 484 ;
+C 174 ; WX 611 ; N fi ; B 10 0 542 727 ;
+C 175 ; WX 611 ; N fl ; B 10 0 542 727 ;
+C 177 ; WX 556 ; N endash ; B 0 227 556 333 ;
+C 178 ; WX 556 ; N dagger ; B 36 -171 520 718 ;
+C 179 ; WX 556 ; N daggerdbl ; B 36 -171 520 718 ;
+C 180 ; WX 278 ; N periodcentered ; B 58 172 220 334 ;
+C 182 ; WX 556 ; N paragraph ; B -8 -191 539 700 ;
+C 183 ; WX 350 ; N bullet ; B 10 194 340 524 ;
+C 184 ; WX 278 ; N quotesinglbase ; B 69 -146 209 127 ;
+C 185 ; WX 500 ; N quotedblbase ; B 64 -146 436 127 ;
+C 186 ; WX 500 ; N quotedblright ; B 64 445 436 718 ;
+C 187 ; WX 556 ; N guillemotright ; B 88 76 468 484 ;
+C 188 ; WX 1000 ; N ellipsis ; B 92 0 908 146 ;
+C 189 ; WX 1000 ; N perthousand ; B -3 -19 1003 710 ;
+C 191 ; WX 611 ; N questiondown ; B 55 -195 551 532 ;
+C 193 ; WX 333 ; N grave ; B -23 604 225 750 ;
+C 194 ; WX 333 ; N acute ; B 108 604 356 750 ;
+C 195 ; WX 333 ; N circumflex ; B -10 604 343 750 ;
+C 196 ; WX 333 ; N tilde ; B -17 610 350 737 ;
+C 197 ; WX 333 ; N macron ; B -6 604 339 678 ;
+C 198 ; WX 333 ; N breve ; B -2 604 335 750 ;
+C 199 ; WX 333 ; N dotaccent ; B 104 614 230 729 ;
+C 200 ; WX 333 ; N dieresis ; B 6 614 327 729 ;
+C 202 ; WX 333 ; N ring ; B 59 568 275 776 ;
+C 203 ; WX 333 ; N cedilla ; B 6 -228 245 0 ;
+C 205 ; WX 333 ; N hungarumlaut ; B 9 604 486 750 ;
+C 206 ; WX 333 ; N ogonek ; B 71 -228 304 0 ;
+C 207 ; WX 333 ; N caron ; B -10 604 343 750 ;
+C 208 ; WX 1000 ; N emdash ; B 0 227 1000 333 ;
+C 225 ; WX 1000 ; N AE ; B 5 0 954 718 ;
+C 227 ; WX 370 ; N ordfeminine ; B 22 401 347 737 ;
+C 232 ; WX 611 ; N Lslash ; B -20 0 583 718 ;
+C 233 ; WX 778 ; N Oslash ; B 33 -27 744 745 ;
+C 234 ; WX 1000 ; N OE ; B 37 -19 961 737 ;
+C 235 ; WX 365 ; N ordmasculine ; B 6 401 360 737 ;
+C 241 ; WX 889 ; N ae ; B 29 -14 858 546 ;
+C 245 ; WX 278 ; N dotlessi ; B 69 0 209 532 ;
+C 248 ; WX 278 ; N lslash ; B -18 0 296 718 ;
+C 249 ; WX 611 ; N oslash ; B 22 -29 589 560 ;
+C 250 ; WX 944 ; N oe ; B 34 -14 912 546 ;
+C 251 ; WX 611 ; N germandbls ; B 69 -14 579 731 ;
+C -1 ; WX 278 ; N Idieresis ; B -21 0 300 915 ;
+C -1 ; WX 556 ; N eacute ; B 23 -14 528 750 ;
+C -1 ; WX 556 ; N abreve ; B 29 -14 527 750 ;
+C -1 ; WX 611 ; N uhungarumlaut ; B 66 -14 625 750 ;
+C -1 ; WX 556 ; N ecaron ; B 23 -14 528 750 ;
+C -1 ; WX 667 ; N Ydieresis ; B 15 0 653 915 ;
+C -1 ; WX 584 ; N divide ; B 40 -42 544 548 ;
+C -1 ; WX 667 ; N Yacute ; B 15 0 653 936 ;
+C -1 ; WX 722 ; N Acircumflex ; B 20 0 702 936 ;
+C -1 ; WX 556 ; N aacute ; B 29 -14 527 750 ;
+C -1 ; WX 722 ; N Ucircumflex ; B 72 -19 651 936 ;
+C -1 ; WX 556 ; N yacute ; B 10 -214 539 750 ;
+C -1 ; WX 556 ; N scommaaccent ; B 30 -228 519 546 ;
+C -1 ; WX 556 ; N ecircumflex ; B 23 -14 528 750 ;
+C -1 ; WX 722 ; N Uring ; B 72 -19 651 962 ;
+C -1 ; WX 722 ; N Udieresis ; B 72 -19 651 915 ;
+C -1 ; WX 556 ; N aogonek ; B 29 -224 545 546 ;
+C -1 ; WX 722 ; N Uacute ; B 72 -19 651 936 ;
+C -1 ; WX 611 ; N uogonek ; B 66 -228 545 532 ;
+C -1 ; WX 667 ; N Edieresis ; B 76 0 621 915 ;
+C -1 ; WX 722 ; N Dcroat ; B -5 0 685 718 ;
+C -1 ; WX 250 ; N commaaccent ; B 64 -228 199 -50 ;
+C -1 ; WX 737 ; N copyright ; B -11 -19 749 737 ;
+C -1 ; WX 667 ; N Emacron ; B 76 0 621 864 ;
+C -1 ; WX 556 ; N ccaron ; B 34 -14 524 750 ;
+C -1 ; WX 556 ; N aring ; B 29 -14 527 776 ;
+C -1 ; WX 722 ; N Ncommaaccent ; B 69 -228 654 718 ;
+C -1 ; WX 278 ; N lacute ; B 69 0 329 936 ;
+C -1 ; WX 556 ; N agrave ; B 29 -14 527 750 ;
+C -1 ; WX 611 ; N Tcommaaccent ; B 14 -228 598 718 ;
+C -1 ; WX 722 ; N Cacute ; B 44 -19 684 936 ;
+C -1 ; WX 556 ; N atilde ; B 29 -14 527 737 ;
+C -1 ; WX 667 ; N Edotaccent ; B 76 0 621 915 ;
+C -1 ; WX 556 ; N scaron ; B 30 -14 519 750 ;
+C -1 ; WX 556 ; N scedilla ; B 30 -228 519 546 ;
+C -1 ; WX 278 ; N iacute ; B 69 0 329 750 ;
+C -1 ; WX 494 ; N lozenge ; B 10 0 484 745 ;
+C -1 ; WX 722 ; N Rcaron ; B 76 0 677 936 ;
+C -1 ; WX 778 ; N Gcommaaccent ; B 44 -228 713 737 ;
+C -1 ; WX 611 ; N ucircumflex ; B 66 -14 545 750 ;
+C -1 ; WX 556 ; N acircumflex ; B 29 -14 527 750 ;
+C -1 ; WX 722 ; N Amacron ; B 20 0 702 864 ;
+C -1 ; WX 389 ; N rcaron ; B 18 0 373 750 ;
+C -1 ; WX 556 ; N ccedilla ; B 34 -228 524 546 ;
+C -1 ; WX 611 ; N Zdotaccent ; B 25 0 586 915 ;
+C -1 ; WX 667 ; N Thorn ; B 76 0 627 718 ;
+C -1 ; WX 778 ; N Omacron ; B 44 -19 734 864 ;
+C -1 ; WX 722 ; N Racute ; B 76 0 677 936 ;
+C -1 ; WX 667 ; N Sacute ; B 39 -19 629 936 ;
+C -1 ; WX 743 ; N dcaron ; B 34 -14 750 718 ;
+C -1 ; WX 722 ; N Umacron ; B 72 -19 651 864 ;
+C -1 ; WX 611 ; N uring ; B 66 -14 545 776 ;
+C -1 ; WX 333 ; N threesuperior ; B 8 271 326 710 ;
+C -1 ; WX 778 ; N Ograve ; B 44 -19 734 936 ;
+C -1 ; WX 722 ; N Agrave ; B 20 0 702 936 ;
+C -1 ; WX 722 ; N Abreve ; B 20 0 702 936 ;
+C -1 ; WX 584 ; N multiply ; B 40 1 545 505 ;
+C -1 ; WX 611 ; N uacute ; B 66 -14 545 750 ;
+C -1 ; WX 611 ; N Tcaron ; B 14 0 598 936 ;
+C -1 ; WX 494 ; N partialdiff ; B 11 -21 494 750 ;
+C -1 ; WX 556 ; N ydieresis ; B 10 -214 539 729 ;
+C -1 ; WX 722 ; N Nacute ; B 69 0 654 936 ;
+C -1 ; WX 278 ; N icircumflex ; B -37 0 316 750 ;
+C -1 ; WX 667 ; N Ecircumflex ; B 76 0 621 936 ;
+C -1 ; WX 556 ; N adieresis ; B 29 -14 527 729 ;
+C -1 ; WX 556 ; N edieresis ; B 23 -14 528 729 ;
+C -1 ; WX 556 ; N cacute ; B 34 -14 524 750 ;
+C -1 ; WX 611 ; N nacute ; B 65 0 546 750 ;
+C -1 ; WX 611 ; N umacron ; B 66 -14 545 678 ;
+C -1 ; WX 722 ; N Ncaron ; B 69 0 654 936 ;
+C -1 ; WX 278 ; N Iacute ; B 64 0 329 936 ;
+C -1 ; WX 584 ; N plusminus ; B 40 0 544 506 ;
+C -1 ; WX 280 ; N brokenbar ; B 84 -150 196 700 ;
+C -1 ; WX 737 ; N registered ; B -11 -19 748 737 ;
+C -1 ; WX 778 ; N Gbreve ; B 44 -19 713 936 ;
+C -1 ; WX 278 ; N Idotaccent ; B 64 0 214 915 ;
+C -1 ; WX 600 ; N summation ; B 14 -10 585 706 ;
+C -1 ; WX 667 ; N Egrave ; B 76 0 621 936 ;
+C -1 ; WX 389 ; N racute ; B 64 0 384 750 ;
+C -1 ; WX 611 ; N omacron ; B 34 -14 578 678 ;
+C -1 ; WX 611 ; N Zacute ; B 25 0 586 936 ;
+C -1 ; WX 611 ; N Zcaron ; B 25 0 586 936 ;
+C -1 ; WX 549 ; N greaterequal ; B 26 0 523 704 ;
+C -1 ; WX 722 ; N Eth ; B -5 0 685 718 ;
+C -1 ; WX 722 ; N Ccedilla ; B 44 -228 684 737 ;
+C -1 ; WX 278 ; N lcommaaccent ; B 69 -228 213 718 ;
+C -1 ; WX 389 ; N tcaron ; B 10 -6 421 878 ;
+C -1 ; WX 556 ; N eogonek ; B 23 -228 528 546 ;
+C -1 ; WX 722 ; N Uogonek ; B 72 -228 651 718 ;
+C -1 ; WX 722 ; N Aacute ; B 20 0 702 936 ;
+C -1 ; WX 722 ; N Adieresis ; B 20 0 702 915 ;
+C -1 ; WX 556 ; N egrave ; B 23 -14 528 750 ;
+C -1 ; WX 500 ; N zacute ; B 20 0 480 750 ;
+C -1 ; WX 278 ; N iogonek ; B 16 -224 249 725 ;
+C -1 ; WX 778 ; N Oacute ; B 44 -19 734 936 ;
+C -1 ; WX 611 ; N oacute ; B 34 -14 578 750 ;
+C -1 ; WX 556 ; N amacron ; B 29 -14 527 678 ;
+C -1 ; WX 556 ; N sacute ; B 30 -14 519 750 ;
+C -1 ; WX 278 ; N idieresis ; B -21 0 300 729 ;
+C -1 ; WX 778 ; N Ocircumflex ; B 44 -19 734 936 ;
+C -1 ; WX 722 ; N Ugrave ; B 72 -19 651 936 ;
+C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ;
+C -1 ; WX 611 ; N thorn ; B 62 -208 578 718 ;
+C -1 ; WX 333 ; N twosuperior ; B 9 283 324 710 ;
+C -1 ; WX 778 ; N Odieresis ; B 44 -19 734 915 ;
+C -1 ; WX 611 ; N mu ; B 66 -207 545 532 ;
+C -1 ; WX 278 ; N igrave ; B -50 0 209 750 ;
+C -1 ; WX 611 ; N ohungarumlaut ; B 34 -14 625 750 ;
+C -1 ; WX 667 ; N Eogonek ; B 76 -224 639 718 ;
+C -1 ; WX 611 ; N dcroat ; B 34 -14 650 718 ;
+C -1 ; WX 834 ; N threequarters ; B 16 -19 799 710 ;
+C -1 ; WX 667 ; N Scedilla ; B 39 -228 629 737 ;
+C -1 ; WX 400 ; N lcaron ; B 69 0 408 718 ;
+C -1 ; WX 722 ; N Kcommaaccent ; B 87 -228 722 718 ;
+C -1 ; WX 611 ; N Lacute ; B 76 0 583 936 ;
+C -1 ; WX 1000 ; N trademark ; B 44 306 956 718 ;
+C -1 ; WX 556 ; N edotaccent ; B 23 -14 528 729 ;
+C -1 ; WX 278 ; N Igrave ; B -50 0 214 936 ;
+C -1 ; WX 278 ; N Imacron ; B -33 0 312 864 ;
+C -1 ; WX 611 ; N Lcaron ; B 76 0 583 718 ;
+C -1 ; WX 834 ; N onehalf ; B 26 -19 794 710 ;
+C -1 ; WX 549 ; N lessequal ; B 29 0 526 704 ;
+C -1 ; WX 611 ; N ocircumflex ; B 34 -14 578 750 ;
+C -1 ; WX 611 ; N ntilde ; B 65 0 546 737 ;
+C -1 ; WX 722 ; N Uhungarumlaut ; B 72 -19 681 936 ;
+C -1 ; WX 667 ; N Eacute ; B 76 0 621 936 ;
+C -1 ; WX 556 ; N emacron ; B 23 -14 528 678 ;
+C -1 ; WX 611 ; N gbreve ; B 40 -217 553 750 ;
+C -1 ; WX 834 ; N onequarter ; B 26 -19 766 710 ;
+C -1 ; WX 667 ; N Scaron ; B 39 -19 629 936 ;
+C -1 ; WX 667 ; N Scommaaccent ; B 39 -228 629 737 ;
+C -1 ; WX 778 ; N Ohungarumlaut ; B 44 -19 734 936 ;
+C -1 ; WX 400 ; N degree ; B 57 426 343 712 ;
+C -1 ; WX 611 ; N ograve ; B 34 -14 578 750 ;
+C -1 ; WX 722 ; N Ccaron ; B 44 -19 684 936 ;
+C -1 ; WX 611 ; N ugrave ; B 66 -14 545 750 ;
+C -1 ; WX 549 ; N radical ; B 10 -46 512 850 ;
+C -1 ; WX 722 ; N Dcaron ; B 76 0 685 936 ;
+C -1 ; WX 389 ; N rcommaaccent ; B 64 -228 373 546 ;
+C -1 ; WX 722 ; N Ntilde ; B 69 0 654 923 ;
+C -1 ; WX 611 ; N otilde ; B 34 -14 578 737 ;
+C -1 ; WX 722 ; N Rcommaaccent ; B 76 -228 677 718 ;
+C -1 ; WX 611 ; N Lcommaaccent ; B 76 -228 583 718 ;
+C -1 ; WX 722 ; N Atilde ; B 20 0 702 923 ;
+C -1 ; WX 722 ; N Aogonek ; B 20 -224 742 718 ;
+C -1 ; WX 722 ; N Aring ; B 20 0 702 962 ;
+C -1 ; WX 778 ; N Otilde ; B 44 -19 734 923 ;
+C -1 ; WX 500 ; N zdotaccent ; B 20 0 480 729 ;
+C -1 ; WX 667 ; N Ecaron ; B 76 0 621 936 ;
+C -1 ; WX 278 ; N Iogonek ; B -11 -228 222 718 ;
+C -1 ; WX 556 ; N kcommaaccent ; B 69 -228 562 718 ;
+C -1 ; WX 584 ; N minus ; B 40 197 544 309 ;
+C -1 ; WX 278 ; N Icircumflex ; B -37 0 316 936 ;
+C -1 ; WX 611 ; N ncaron ; B 65 0 546 750 ;
+C -1 ; WX 333 ; N tcommaaccent ; B 10 -228 309 676 ;
+C -1 ; WX 584 ; N logicalnot ; B 40 108 544 419 ;
+C -1 ; WX 611 ; N odieresis ; B 34 -14 578 729 ;
+C -1 ; WX 611 ; N udieresis ; B 66 -14 545 729 ;
+C -1 ; WX 549 ; N notequal ; B 15 -49 540 570 ;
+C -1 ; WX 611 ; N gcommaaccent ; B 40 -217 553 850 ;
+C -1 ; WX 611 ; N eth ; B 34 -14 578 737 ;
+C -1 ; WX 500 ; N zcaron ; B 20 0 480 750 ;
+C -1 ; WX 611 ; N ncommaaccent ; B 65 -228 546 546 ;
+C -1 ; WX 333 ; N onesuperior ; B 26 283 237 710 ;
+C -1 ; WX 278 ; N imacron ; B -8 0 285 678 ;
+EndCharMetrics
+StartKernData
+StartKernPairs 2481
+KPX A C -40
+KPX A Cacute -40
+KPX A Ccaron -40
+KPX A Ccedilla -40
+KPX A G -50
+KPX A Gbreve -50
+KPX A Gcommaaccent -50
+KPX A O -40
+KPX A Oacute -40
+KPX A Ocircumflex -40
+KPX A Odieresis -40
+KPX A Ograve -40
+KPX A Ohungarumlaut -40
+KPX A Omacron -40
+KPX A Oslash -40
+KPX A Otilde -40
+KPX A Q -40
+KPX A T -90
+KPX A Tcaron -90
+KPX A Tcommaaccent -90
+KPX A U -50
+KPX A Uacute -50
+KPX A Ucircumflex -50
+KPX A Udieresis -50
+KPX A Ugrave -50
+KPX A Uhungarumlaut -50
+KPX A Umacron -50
+KPX A Uogonek -50
+KPX A Uring -50
+KPX A V -80
+KPX A W -60
+KPX A Y -110
+KPX A Yacute -110
+KPX A Ydieresis -110
+KPX A u -30
+KPX A uacute -30
+KPX A ucircumflex -30
+KPX A udieresis -30
+KPX A ugrave -30
+KPX A uhungarumlaut -30
+KPX A umacron -30
+KPX A uogonek -30
+KPX A uring -30
+KPX A v -40
+KPX A w -30
+KPX A y -30
+KPX A yacute -30
+KPX A ydieresis -30
+KPX Aacute C -40
+KPX Aacute Cacute -40
+KPX Aacute Ccaron -40
+KPX Aacute Ccedilla -40
+KPX Aacute G -50
+KPX Aacute Gbreve -50
+KPX Aacute Gcommaaccent -50
+KPX Aacute O -40
+KPX Aacute Oacute -40
+KPX Aacute Ocircumflex -40
+KPX Aacute Odieresis -40
+KPX Aacute Ograve -40
+KPX Aacute Ohungarumlaut -40
+KPX Aacute Omacron -40
+KPX Aacute Oslash -40
+KPX Aacute Otilde -40
+KPX Aacute Q -40
+KPX Aacute T -90
+KPX Aacute Tcaron -90
+KPX Aacute Tcommaaccent -90
+KPX Aacute U -50
+KPX Aacute Uacute -50
+KPX Aacute Ucircumflex -50
+KPX Aacute Udieresis -50
+KPX Aacute Ugrave -50
+KPX Aacute Uhungarumlaut -50
+KPX Aacute Umacron -50
+KPX Aacute Uogonek -50
+KPX Aacute Uring -50
+KPX Aacute V -80
+KPX Aacute W -60
+KPX Aacute Y -110
+KPX Aacute Yacute -110
+KPX Aacute Ydieresis -110
+KPX Aacute u -30
+KPX Aacute uacute -30
+KPX Aacute ucircumflex -30
+KPX Aacute udieresis -30
+KPX Aacute ugrave -30
+KPX Aacute uhungarumlaut -30
+KPX Aacute umacron -30
+KPX Aacute uogonek -30
+KPX Aacute uring -30
+KPX Aacute v -40
+KPX Aacute w -30
+KPX Aacute y -30
+KPX Aacute yacute -30
+KPX Aacute ydieresis -30
+KPX Abreve C -40
+KPX Abreve Cacute -40
+KPX Abreve Ccaron -40
+KPX Abreve Ccedilla -40
+KPX Abreve G -50
+KPX Abreve Gbreve -50
+KPX Abreve Gcommaaccent -50
+KPX Abreve O -40
+KPX Abreve Oacute -40
+KPX Abreve Ocircumflex -40
+KPX Abreve Odieresis -40
+KPX Abreve Ograve -40
+KPX Abreve Ohungarumlaut -40
+KPX Abreve Omacron -40
+KPX Abreve Oslash -40
+KPX Abreve Otilde -40
+KPX Abreve Q -40
+KPX Abreve T -90
+KPX Abreve Tcaron -90
+KPX Abreve Tcommaaccent -90
+KPX Abreve U -50
+KPX Abreve Uacute -50
+KPX Abreve Ucircumflex -50
+KPX Abreve Udieresis -50
+KPX Abreve Ugrave -50
+KPX Abreve Uhungarumlaut -50
+KPX Abreve Umacron -50
+KPX Abreve Uogonek -50
+KPX Abreve Uring -50
+KPX Abreve V -80
+KPX Abreve W -60
+KPX Abreve Y -110
+KPX Abreve Yacute -110
+KPX Abreve Ydieresis -110
+KPX Abreve u -30
+KPX Abreve uacute -30
+KPX Abreve ucircumflex -30
+KPX Abreve udieresis -30
+KPX Abreve ugrave -30
+KPX Abreve uhungarumlaut -30
+KPX Abreve umacron -30
+KPX Abreve uogonek -30
+KPX Abreve uring -30
+KPX Abreve v -40
+KPX Abreve w -30
+KPX Abreve y -30
+KPX Abreve yacute -30
+KPX Abreve ydieresis -30
+KPX Acircumflex C -40
+KPX Acircumflex Cacute -40
+KPX Acircumflex Ccaron -40
+KPX Acircumflex Ccedilla -40
+KPX Acircumflex G -50
+KPX Acircumflex Gbreve -50
+KPX Acircumflex Gcommaaccent -50
+KPX Acircumflex O -40
+KPX Acircumflex Oacute -40
+KPX Acircumflex Ocircumflex -40
+KPX Acircumflex Odieresis -40
+KPX Acircumflex Ograve -40
+KPX Acircumflex Ohungarumlaut -40
+KPX Acircumflex Omacron -40
+KPX Acircumflex Oslash -40
+KPX Acircumflex Otilde -40
+KPX Acircumflex Q -40
+KPX Acircumflex T -90
+KPX Acircumflex Tcaron -90
+KPX Acircumflex Tcommaaccent -90
+KPX Acircumflex U -50
+KPX Acircumflex Uacute -50
+KPX Acircumflex Ucircumflex -50
+KPX Acircumflex Udieresis -50
+KPX Acircumflex Ugrave -50
+KPX Acircumflex Uhungarumlaut -50
+KPX Acircumflex Umacron -50
+KPX Acircumflex Uogonek -50
+KPX Acircumflex Uring -50
+KPX Acircumflex V -80
+KPX Acircumflex W -60
+KPX Acircumflex Y -110
+KPX Acircumflex Yacute -110
+KPX Acircumflex Ydieresis -110
+KPX Acircumflex u -30
+KPX Acircumflex uacute -30
+KPX Acircumflex ucircumflex -30
+KPX Acircumflex udieresis -30
+KPX Acircumflex ugrave -30
+KPX Acircumflex uhungarumlaut -30
+KPX Acircumflex umacron -30
+KPX Acircumflex uogonek -30
+KPX Acircumflex uring -30
+KPX Acircumflex v -40
+KPX Acircumflex w -30
+KPX Acircumflex y -30
+KPX Acircumflex yacute -30
+KPX Acircumflex ydieresis -30
+KPX Adieresis C -40
+KPX Adieresis Cacute -40
+KPX Adieresis Ccaron -40
+KPX Adieresis Ccedilla -40
+KPX Adieresis G -50
+KPX Adieresis Gbreve -50
+KPX Adieresis Gcommaaccent -50
+KPX Adieresis O -40
+KPX Adieresis Oacute -40
+KPX Adieresis Ocircumflex -40
+KPX Adieresis Odieresis -40
+KPX Adieresis Ograve -40
+KPX Adieresis Ohungarumlaut -40
+KPX Adieresis Omacron -40
+KPX Adieresis Oslash -40
+KPX Adieresis Otilde -40
+KPX Adieresis Q -40
+KPX Adieresis T -90
+KPX Adieresis Tcaron -90
+KPX Adieresis Tcommaaccent -90
+KPX Adieresis U -50
+KPX Adieresis Uacute -50
+KPX Adieresis Ucircumflex -50
+KPX Adieresis Udieresis -50
+KPX Adieresis Ugrave -50
+KPX Adieresis Uhungarumlaut -50
+KPX Adieresis Umacron -50
+KPX Adieresis Uogonek -50
+KPX Adieresis Uring -50
+KPX Adieresis V -80
+KPX Adieresis W -60
+KPX Adieresis Y -110
+KPX Adieresis Yacute -110
+KPX Adieresis Ydieresis -110
+KPX Adieresis u -30
+KPX Adieresis uacute -30
+KPX Adieresis ucircumflex -30
+KPX Adieresis udieresis -30
+KPX Adieresis ugrave -30
+KPX Adieresis uhungarumlaut -30
+KPX Adieresis umacron -30
+KPX Adieresis uogonek -30
+KPX Adieresis uring -30
+KPX Adieresis v -40
+KPX Adieresis w -30
+KPX Adieresis y -30
+KPX Adieresis yacute -30
+KPX Adieresis ydieresis -30
+KPX Agrave C -40
+KPX Agrave Cacute -40
+KPX Agrave Ccaron -40
+KPX Agrave Ccedilla -40
+KPX Agrave G -50
+KPX Agrave Gbreve -50
+KPX Agrave Gcommaaccent -50
+KPX Agrave O -40
+KPX Agrave Oacute -40
+KPX Agrave Ocircumflex -40
+KPX Agrave Odieresis -40
+KPX Agrave Ograve -40
+KPX Agrave Ohungarumlaut -40
+KPX Agrave Omacron -40
+KPX Agrave Oslash -40
+KPX Agrave Otilde -40
+KPX Agrave Q -40
+KPX Agrave T -90
+KPX Agrave Tcaron -90
+KPX Agrave Tcommaaccent -90
+KPX Agrave U -50
+KPX Agrave Uacute -50
+KPX Agrave Ucircumflex -50
+KPX Agrave Udieresis -50
+KPX Agrave Ugrave -50
+KPX Agrave Uhungarumlaut -50
+KPX Agrave Umacron -50
+KPX Agrave Uogonek -50
+KPX Agrave Uring -50
+KPX Agrave V -80
+KPX Agrave W -60
+KPX Agrave Y -110
+KPX Agrave Yacute -110
+KPX Agrave Ydieresis -110
+KPX Agrave u -30
+KPX Agrave uacute -30
+KPX Agrave ucircumflex -30
+KPX Agrave udieresis -30
+KPX Agrave ugrave -30
+KPX Agrave uhungarumlaut -30
+KPX Agrave umacron -30
+KPX Agrave uogonek -30
+KPX Agrave uring -30
+KPX Agrave v -40
+KPX Agrave w -30
+KPX Agrave y -30
+KPX Agrave yacute -30
+KPX Agrave ydieresis -30
+KPX Amacron C -40
+KPX Amacron Cacute -40
+KPX Amacron Ccaron -40
+KPX Amacron Ccedilla -40
+KPX Amacron G -50
+KPX Amacron Gbreve -50
+KPX Amacron Gcommaaccent -50
+KPX Amacron O -40
+KPX Amacron Oacute -40
+KPX Amacron Ocircumflex -40
+KPX Amacron Odieresis -40
+KPX Amacron Ograve -40
+KPX Amacron Ohungarumlaut -40
+KPX Amacron Omacron -40
+KPX Amacron Oslash -40
+KPX Amacron Otilde -40
+KPX Amacron Q -40
+KPX Amacron T -90
+KPX Amacron Tcaron -90
+KPX Amacron Tcommaaccent -90
+KPX Amacron U -50
+KPX Amacron Uacute -50
+KPX Amacron Ucircumflex -50
+KPX Amacron Udieresis -50
+KPX Amacron Ugrave -50
+KPX Amacron Uhungarumlaut -50
+KPX Amacron Umacron -50
+KPX Amacron Uogonek -50
+KPX Amacron Uring -50
+KPX Amacron V -80
+KPX Amacron W -60
+KPX Amacron Y -110
+KPX Amacron Yacute -110
+KPX Amacron Ydieresis -110
+KPX Amacron u -30
+KPX Amacron uacute -30
+KPX Amacron ucircumflex -30
+KPX Amacron udieresis -30
+KPX Amacron ugrave -30
+KPX Amacron uhungarumlaut -30
+KPX Amacron umacron -30
+KPX Amacron uogonek -30
+KPX Amacron uring -30
+KPX Amacron v -40
+KPX Amacron w -30
+KPX Amacron y -30
+KPX Amacron yacute -30
+KPX Amacron ydieresis -30
+KPX Aogonek C -40
+KPX Aogonek Cacute -40
+KPX Aogonek Ccaron -40
+KPX Aogonek Ccedilla -40
+KPX Aogonek G -50
+KPX Aogonek Gbreve -50
+KPX Aogonek Gcommaaccent -50
+KPX Aogonek O -40
+KPX Aogonek Oacute -40
+KPX Aogonek Ocircumflex -40
+KPX Aogonek Odieresis -40
+KPX Aogonek Ograve -40
+KPX Aogonek Ohungarumlaut -40
+KPX Aogonek Omacron -40
+KPX Aogonek Oslash -40
+KPX Aogonek Otilde -40
+KPX Aogonek Q -40
+KPX Aogonek T -90
+KPX Aogonek Tcaron -90
+KPX Aogonek Tcommaaccent -90
+KPX Aogonek U -50
+KPX Aogonek Uacute -50
+KPX Aogonek Ucircumflex -50
+KPX Aogonek Udieresis -50
+KPX Aogonek Ugrave -50
+KPX Aogonek Uhungarumlaut -50
+KPX Aogonek Umacron -50
+KPX Aogonek Uogonek -50
+KPX Aogonek Uring -50
+KPX Aogonek V -80
+KPX Aogonek W -60
+KPX Aogonek Y -110
+KPX Aogonek Yacute -110
+KPX Aogonek Ydieresis -110
+KPX Aogonek u -30
+KPX Aogonek uacute -30
+KPX Aogonek ucircumflex -30
+KPX Aogonek udieresis -30
+KPX Aogonek ugrave -30
+KPX Aogonek uhungarumlaut -30
+KPX Aogonek umacron -30
+KPX Aogonek uogonek -30
+KPX Aogonek uring -30
+KPX Aogonek v -40
+KPX Aogonek w -30
+KPX Aogonek y -30
+KPX Aogonek yacute -30
+KPX Aogonek ydieresis -30
+KPX Aring C -40
+KPX Aring Cacute -40
+KPX Aring Ccaron -40
+KPX Aring Ccedilla -40
+KPX Aring G -50
+KPX Aring Gbreve -50
+KPX Aring Gcommaaccent -50
+KPX Aring O -40
+KPX Aring Oacute -40
+KPX Aring Ocircumflex -40
+KPX Aring Odieresis -40
+KPX Aring Ograve -40
+KPX Aring Ohungarumlaut -40
+KPX Aring Omacron -40
+KPX Aring Oslash -40
+KPX Aring Otilde -40
+KPX Aring Q -40
+KPX Aring T -90
+KPX Aring Tcaron -90
+KPX Aring Tcommaaccent -90
+KPX Aring U -50
+KPX Aring Uacute -50
+KPX Aring Ucircumflex -50
+KPX Aring Udieresis -50
+KPX Aring Ugrave -50
+KPX Aring Uhungarumlaut -50
+KPX Aring Umacron -50
+KPX Aring Uogonek -50
+KPX Aring Uring -50
+KPX Aring V -80
+KPX Aring W -60
+KPX Aring Y -110
+KPX Aring Yacute -110
+KPX Aring Ydieresis -110
+KPX Aring u -30
+KPX Aring uacute -30
+KPX Aring ucircumflex -30
+KPX Aring udieresis -30
+KPX Aring ugrave -30
+KPX Aring uhungarumlaut -30
+KPX Aring umacron -30
+KPX Aring uogonek -30
+KPX Aring uring -30
+KPX Aring v -40
+KPX Aring w -30
+KPX Aring y -30
+KPX Aring yacute -30
+KPX Aring ydieresis -30
+KPX Atilde C -40
+KPX Atilde Cacute -40
+KPX Atilde Ccaron -40
+KPX Atilde Ccedilla -40
+KPX Atilde G -50
+KPX Atilde Gbreve -50
+KPX Atilde Gcommaaccent -50
+KPX Atilde O -40
+KPX Atilde Oacute -40
+KPX Atilde Ocircumflex -40
+KPX Atilde Odieresis -40
+KPX Atilde Ograve -40
+KPX Atilde Ohungarumlaut -40
+KPX Atilde Omacron -40
+KPX Atilde Oslash -40
+KPX Atilde Otilde -40
+KPX Atilde Q -40
+KPX Atilde T -90
+KPX Atilde Tcaron -90
+KPX Atilde Tcommaaccent -90
+KPX Atilde U -50
+KPX Atilde Uacute -50
+KPX Atilde Ucircumflex -50
+KPX Atilde Udieresis -50
+KPX Atilde Ugrave -50
+KPX Atilde Uhungarumlaut -50
+KPX Atilde Umacron -50
+KPX Atilde Uogonek -50
+KPX Atilde Uring -50
+KPX Atilde V -80
+KPX Atilde W -60
+KPX Atilde Y -110
+KPX Atilde Yacute -110
+KPX Atilde Ydieresis -110
+KPX Atilde u -30
+KPX Atilde uacute -30
+KPX Atilde ucircumflex -30
+KPX Atilde udieresis -30
+KPX Atilde ugrave -30
+KPX Atilde uhungarumlaut -30
+KPX Atilde umacron -30
+KPX Atilde uogonek -30
+KPX Atilde uring -30
+KPX Atilde v -40
+KPX Atilde w -30
+KPX Atilde y -30
+KPX Atilde yacute -30
+KPX Atilde ydieresis -30
+KPX B A -30
+KPX B Aacute -30
+KPX B Abreve -30
+KPX B Acircumflex -30
+KPX B Adieresis -30
+KPX B Agrave -30
+KPX B Amacron -30
+KPX B Aogonek -30
+KPX B Aring -30
+KPX B Atilde -30
+KPX B U -10
+KPX B Uacute -10
+KPX B Ucircumflex -10
+KPX B Udieresis -10
+KPX B Ugrave -10
+KPX B Uhungarumlaut -10
+KPX B Umacron -10
+KPX B Uogonek -10
+KPX B Uring -10
+KPX D A -40
+KPX D Aacute -40
+KPX D Abreve -40
+KPX D Acircumflex -40
+KPX D Adieresis -40
+KPX D Agrave -40
+KPX D Amacron -40
+KPX D Aogonek -40
+KPX D Aring -40
+KPX D Atilde -40
+KPX D V -40
+KPX D W -40
+KPX D Y -70
+KPX D Yacute -70
+KPX D Ydieresis -70
+KPX D comma -30
+KPX D period -30
+KPX Dcaron A -40
+KPX Dcaron Aacute -40
+KPX Dcaron Abreve -40
+KPX Dcaron Acircumflex -40
+KPX Dcaron Adieresis -40
+KPX Dcaron Agrave -40
+KPX Dcaron Amacron -40
+KPX Dcaron Aogonek -40
+KPX Dcaron Aring -40
+KPX Dcaron Atilde -40
+KPX Dcaron V -40
+KPX Dcaron W -40
+KPX Dcaron Y -70
+KPX Dcaron Yacute -70
+KPX Dcaron Ydieresis -70
+KPX Dcaron comma -30
+KPX Dcaron period -30
+KPX Dcroat A -40
+KPX Dcroat Aacute -40
+KPX Dcroat Abreve -40
+KPX Dcroat Acircumflex -40
+KPX Dcroat Adieresis -40
+KPX Dcroat Agrave -40
+KPX Dcroat Amacron -40
+KPX Dcroat Aogonek -40
+KPX Dcroat Aring -40
+KPX Dcroat Atilde -40
+KPX Dcroat V -40
+KPX Dcroat W -40
+KPX Dcroat Y -70
+KPX Dcroat Yacute -70
+KPX Dcroat Ydieresis -70
+KPX Dcroat comma -30
+KPX Dcroat period -30
+KPX F A -80
+KPX F Aacute -80
+KPX F Abreve -80
+KPX F Acircumflex -80
+KPX F Adieresis -80
+KPX F Agrave -80
+KPX F Amacron -80
+KPX F Aogonek -80
+KPX F Aring -80
+KPX F Atilde -80
+KPX F a -20
+KPX F aacute -20
+KPX F abreve -20
+KPX F acircumflex -20
+KPX F adieresis -20
+KPX F agrave -20
+KPX F amacron -20
+KPX F aogonek -20
+KPX F aring -20
+KPX F atilde -20
+KPX F comma -100
+KPX F period -100
+KPX J A -20
+KPX J Aacute -20
+KPX J Abreve -20
+KPX J Acircumflex -20
+KPX J Adieresis -20
+KPX J Agrave -20
+KPX J Amacron -20
+KPX J Aogonek -20
+KPX J Aring -20
+KPX J Atilde -20
+KPX J comma -20
+KPX J period -20
+KPX J u -20
+KPX J uacute -20
+KPX J ucircumflex -20
+KPX J udieresis -20
+KPX J ugrave -20
+KPX J uhungarumlaut -20
+KPX J umacron -20
+KPX J uogonek -20
+KPX J uring -20
+KPX K O -30
+KPX K Oacute -30
+KPX K Ocircumflex -30
+KPX K Odieresis -30
+KPX K Ograve -30
+KPX K Ohungarumlaut -30
+KPX K Omacron -30
+KPX K Oslash -30
+KPX K Otilde -30
+KPX K e -15
+KPX K eacute -15
+KPX K ecaron -15
+KPX K ecircumflex -15
+KPX K edieresis -15
+KPX K edotaccent -15
+KPX K egrave -15
+KPX K emacron -15
+KPX K eogonek -15
+KPX K o -35
+KPX K oacute -35
+KPX K ocircumflex -35
+KPX K odieresis -35
+KPX K ograve -35
+KPX K ohungarumlaut -35
+KPX K omacron -35
+KPX K oslash -35
+KPX K otilde -35
+KPX K u -30
+KPX K uacute -30
+KPX K ucircumflex -30
+KPX K udieresis -30
+KPX K ugrave -30
+KPX K uhungarumlaut -30
+KPX K umacron -30
+KPX K uogonek -30
+KPX K uring -30
+KPX K y -40
+KPX K yacute -40
+KPX K ydieresis -40
+KPX Kcommaaccent O -30
+KPX Kcommaaccent Oacute -30
+KPX Kcommaaccent Ocircumflex -30
+KPX Kcommaaccent Odieresis -30
+KPX Kcommaaccent Ograve -30
+KPX Kcommaaccent Ohungarumlaut -30
+KPX Kcommaaccent Omacron -30
+KPX Kcommaaccent Oslash -30
+KPX Kcommaaccent Otilde -30
+KPX Kcommaaccent e -15
+KPX Kcommaaccent eacute -15
+KPX Kcommaaccent ecaron -15
+KPX Kcommaaccent ecircumflex -15
+KPX Kcommaaccent edieresis -15
+KPX Kcommaaccent edotaccent -15
+KPX Kcommaaccent egrave -15
+KPX Kcommaaccent emacron -15
+KPX Kcommaaccent eogonek -15
+KPX Kcommaaccent o -35
+KPX Kcommaaccent oacute -35
+KPX Kcommaaccent ocircumflex -35
+KPX Kcommaaccent odieresis -35
+KPX Kcommaaccent ograve -35
+KPX Kcommaaccent ohungarumlaut -35
+KPX Kcommaaccent omacron -35
+KPX Kcommaaccent oslash -35
+KPX Kcommaaccent otilde -35
+KPX Kcommaaccent u -30
+KPX Kcommaaccent uacute -30
+KPX Kcommaaccent ucircumflex -30
+KPX Kcommaaccent udieresis -30
+KPX Kcommaaccent ugrave -30
+KPX Kcommaaccent uhungarumlaut -30
+KPX Kcommaaccent umacron -30
+KPX Kcommaaccent uogonek -30
+KPX Kcommaaccent uring -30
+KPX Kcommaaccent y -40
+KPX Kcommaaccent yacute -40
+KPX Kcommaaccent ydieresis -40
+KPX L T -90
+KPX L Tcaron -90
+KPX L Tcommaaccent -90
+KPX L V -110
+KPX L W -80
+KPX L Y -120
+KPX L Yacute -120
+KPX L Ydieresis -120
+KPX L quotedblright -140
+KPX L quoteright -140
+KPX L y -30
+KPX L yacute -30
+KPX L ydieresis -30
+KPX Lacute T -90
+KPX Lacute Tcaron -90
+KPX Lacute Tcommaaccent -90
+KPX Lacute V -110
+KPX Lacute W -80
+KPX Lacute Y -120
+KPX Lacute Yacute -120
+KPX Lacute Ydieresis -120
+KPX Lacute quotedblright -140
+KPX Lacute quoteright -140
+KPX Lacute y -30
+KPX Lacute yacute -30
+KPX Lacute ydieresis -30
+KPX Lcommaaccent T -90
+KPX Lcommaaccent Tcaron -90
+KPX Lcommaaccent Tcommaaccent -90
+KPX Lcommaaccent V -110
+KPX Lcommaaccent W -80
+KPX Lcommaaccent Y -120
+KPX Lcommaaccent Yacute -120
+KPX Lcommaaccent Ydieresis -120
+KPX Lcommaaccent quotedblright -140
+KPX Lcommaaccent quoteright -140
+KPX Lcommaaccent y -30
+KPX Lcommaaccent yacute -30
+KPX Lcommaaccent ydieresis -30
+KPX Lslash T -90
+KPX Lslash Tcaron -90
+KPX Lslash Tcommaaccent -90
+KPX Lslash V -110
+KPX Lslash W -80
+KPX Lslash Y -120
+KPX Lslash Yacute -120
+KPX Lslash Ydieresis -120
+KPX Lslash quotedblright -140
+KPX Lslash quoteright -140
+KPX Lslash y -30
+KPX Lslash yacute -30
+KPX Lslash ydieresis -30
+KPX O A -50
+KPX O Aacute -50
+KPX O Abreve -50
+KPX O Acircumflex -50
+KPX O Adieresis -50
+KPX O Agrave -50
+KPX O Amacron -50
+KPX O Aogonek -50
+KPX O Aring -50
+KPX O Atilde -50
+KPX O T -40
+KPX O Tcaron -40
+KPX O Tcommaaccent -40
+KPX O V -50
+KPX O W -50
+KPX O X -50
+KPX O Y -70
+KPX O Yacute -70
+KPX O Ydieresis -70
+KPX O comma -40
+KPX O period -40
+KPX Oacute A -50
+KPX Oacute Aacute -50
+KPX Oacute Abreve -50
+KPX Oacute Acircumflex -50
+KPX Oacute Adieresis -50
+KPX Oacute Agrave -50
+KPX Oacute Amacron -50
+KPX Oacute Aogonek -50
+KPX Oacute Aring -50
+KPX Oacute Atilde -50
+KPX Oacute T -40
+KPX Oacute Tcaron -40
+KPX Oacute Tcommaaccent -40
+KPX Oacute V -50
+KPX Oacute W -50
+KPX Oacute X -50
+KPX Oacute Y -70
+KPX Oacute Yacute -70
+KPX Oacute Ydieresis -70
+KPX Oacute comma -40
+KPX Oacute period -40
+KPX Ocircumflex A -50
+KPX Ocircumflex Aacute -50
+KPX Ocircumflex Abreve -50
+KPX Ocircumflex Acircumflex -50
+KPX Ocircumflex Adieresis -50
+KPX Ocircumflex Agrave -50
+KPX Ocircumflex Amacron -50
+KPX Ocircumflex Aogonek -50
+KPX Ocircumflex Aring -50
+KPX Ocircumflex Atilde -50
+KPX Ocircumflex T -40
+KPX Ocircumflex Tcaron -40
+KPX Ocircumflex Tcommaaccent -40
+KPX Ocircumflex V -50
+KPX Ocircumflex W -50
+KPX Ocircumflex X -50
+KPX Ocircumflex Y -70
+KPX Ocircumflex Yacute -70
+KPX Ocircumflex Ydieresis -70
+KPX Ocircumflex comma -40
+KPX Ocircumflex period -40
+KPX Odieresis A -50
+KPX Odieresis Aacute -50
+KPX Odieresis Abreve -50
+KPX Odieresis Acircumflex -50
+KPX Odieresis Adieresis -50
+KPX Odieresis Agrave -50
+KPX Odieresis Amacron -50
+KPX Odieresis Aogonek -50
+KPX Odieresis Aring -50
+KPX Odieresis Atilde -50
+KPX Odieresis T -40
+KPX Odieresis Tcaron -40
+KPX Odieresis Tcommaaccent -40
+KPX Odieresis V -50
+KPX Odieresis W -50
+KPX Odieresis X -50
+KPX Odieresis Y -70
+KPX Odieresis Yacute -70
+KPX Odieresis Ydieresis -70
+KPX Odieresis comma -40
+KPX Odieresis period -40
+KPX Ograve A -50
+KPX Ograve Aacute -50
+KPX Ograve Abreve -50
+KPX Ograve Acircumflex -50
+KPX Ograve Adieresis -50
+KPX Ograve Agrave -50
+KPX Ograve Amacron -50
+KPX Ograve Aogonek -50
+KPX Ograve Aring -50
+KPX Ograve Atilde -50
+KPX Ograve T -40
+KPX Ograve Tcaron -40
+KPX Ograve Tcommaaccent -40
+KPX Ograve V -50
+KPX Ograve W -50
+KPX Ograve X -50
+KPX Ograve Y -70
+KPX Ograve Yacute -70
+KPX Ograve Ydieresis -70
+KPX Ograve comma -40
+KPX Ograve period -40
+KPX Ohungarumlaut A -50
+KPX Ohungarumlaut Aacute -50
+KPX Ohungarumlaut Abreve -50
+KPX Ohungarumlaut Acircumflex -50
+KPX Ohungarumlaut Adieresis -50
+KPX Ohungarumlaut Agrave -50
+KPX Ohungarumlaut Amacron -50
+KPX Ohungarumlaut Aogonek -50
+KPX Ohungarumlaut Aring -50
+KPX Ohungarumlaut Atilde -50
+KPX Ohungarumlaut T -40
+KPX Ohungarumlaut Tcaron -40
+KPX Ohungarumlaut Tcommaaccent -40
+KPX Ohungarumlaut V -50
+KPX Ohungarumlaut W -50
+KPX Ohungarumlaut X -50
+KPX Ohungarumlaut Y -70
+KPX Ohungarumlaut Yacute -70
+KPX Ohungarumlaut Ydieresis -70
+KPX Ohungarumlaut comma -40
+KPX Ohungarumlaut period -40
+KPX Omacron A -50
+KPX Omacron Aacute -50
+KPX Omacron Abreve -50
+KPX Omacron Acircumflex -50
+KPX Omacron Adieresis -50
+KPX Omacron Agrave -50
+KPX Omacron Amacron -50
+KPX Omacron Aogonek -50
+KPX Omacron Aring -50
+KPX Omacron Atilde -50
+KPX Omacron T -40
+KPX Omacron Tcaron -40
+KPX Omacron Tcommaaccent -40
+KPX Omacron V -50
+KPX Omacron W -50
+KPX Omacron X -50
+KPX Omacron Y -70
+KPX Omacron Yacute -70
+KPX Omacron Ydieresis -70
+KPX Omacron comma -40
+KPX Omacron period -40
+KPX Oslash A -50
+KPX Oslash Aacute -50
+KPX Oslash Abreve -50
+KPX Oslash Acircumflex -50
+KPX Oslash Adieresis -50
+KPX Oslash Agrave -50
+KPX Oslash Amacron -50
+KPX Oslash Aogonek -50
+KPX Oslash Aring -50
+KPX Oslash Atilde -50
+KPX Oslash T -40
+KPX Oslash Tcaron -40
+KPX Oslash Tcommaaccent -40
+KPX Oslash V -50
+KPX Oslash W -50
+KPX Oslash X -50
+KPX Oslash Y -70
+KPX Oslash Yacute -70
+KPX Oslash Ydieresis -70
+KPX Oslash comma -40
+KPX Oslash period -40
+KPX Otilde A -50
+KPX Otilde Aacute -50
+KPX Otilde Abreve -50
+KPX Otilde Acircumflex -50
+KPX Otilde Adieresis -50
+KPX Otilde Agrave -50
+KPX Otilde Amacron -50
+KPX Otilde Aogonek -50
+KPX Otilde Aring -50
+KPX Otilde Atilde -50
+KPX Otilde T -40
+KPX Otilde Tcaron -40
+KPX Otilde Tcommaaccent -40
+KPX Otilde V -50
+KPX Otilde W -50
+KPX Otilde X -50
+KPX Otilde Y -70
+KPX Otilde Yacute -70
+KPX Otilde Ydieresis -70
+KPX Otilde comma -40
+KPX Otilde period -40
+KPX P A -100
+KPX P Aacute -100
+KPX P Abreve -100
+KPX P Acircumflex -100
+KPX P Adieresis -100
+KPX P Agrave -100
+KPX P Amacron -100
+KPX P Aogonek -100
+KPX P Aring -100
+KPX P Atilde -100
+KPX P a -30
+KPX P aacute -30
+KPX P abreve -30
+KPX P acircumflex -30
+KPX P adieresis -30
+KPX P agrave -30
+KPX P amacron -30
+KPX P aogonek -30
+KPX P aring -30
+KPX P atilde -30
+KPX P comma -120
+KPX P e -30
+KPX P eacute -30
+KPX P ecaron -30
+KPX P ecircumflex -30
+KPX P edieresis -30
+KPX P edotaccent -30
+KPX P egrave -30
+KPX P emacron -30
+KPX P eogonek -30
+KPX P o -40
+KPX P oacute -40
+KPX P ocircumflex -40
+KPX P odieresis -40
+KPX P ograve -40
+KPX P ohungarumlaut -40
+KPX P omacron -40
+KPX P oslash -40
+KPX P otilde -40
+KPX P period -120
+KPX Q U -10
+KPX Q Uacute -10
+KPX Q Ucircumflex -10
+KPX Q Udieresis -10
+KPX Q Ugrave -10
+KPX Q Uhungarumlaut -10
+KPX Q Umacron -10
+KPX Q Uogonek -10
+KPX Q Uring -10
+KPX Q comma 20
+KPX Q period 20
+KPX R O -20
+KPX R Oacute -20
+KPX R Ocircumflex -20
+KPX R Odieresis -20
+KPX R Ograve -20
+KPX R Ohungarumlaut -20
+KPX R Omacron -20
+KPX R Oslash -20
+KPX R Otilde -20
+KPX R T -20
+KPX R Tcaron -20
+KPX R Tcommaaccent -20
+KPX R U -20
+KPX R Uacute -20
+KPX R Ucircumflex -20
+KPX R Udieresis -20
+KPX R Ugrave -20
+KPX R Uhungarumlaut -20
+KPX R Umacron -20
+KPX R Uogonek -20
+KPX R Uring -20
+KPX R V -50
+KPX R W -40
+KPX R Y -50
+KPX R Yacute -50
+KPX R Ydieresis -50
+KPX Racute O -20
+KPX Racute Oacute -20
+KPX Racute Ocircumflex -20
+KPX Racute Odieresis -20
+KPX Racute Ograve -20
+KPX Racute Ohungarumlaut -20
+KPX Racute Omacron -20
+KPX Racute Oslash -20
+KPX Racute Otilde -20
+KPX Racute T -20
+KPX Racute Tcaron -20
+KPX Racute Tcommaaccent -20
+KPX Racute U -20
+KPX Racute Uacute -20
+KPX Racute Ucircumflex -20
+KPX Racute Udieresis -20
+KPX Racute Ugrave -20
+KPX Racute Uhungarumlaut -20
+KPX Racute Umacron -20
+KPX Racute Uogonek -20
+KPX Racute Uring -20
+KPX Racute V -50
+KPX Racute W -40
+KPX Racute Y -50
+KPX Racute Yacute -50
+KPX Racute Ydieresis -50
+KPX Rcaron O -20
+KPX Rcaron Oacute -20
+KPX Rcaron Ocircumflex -20
+KPX Rcaron Odieresis -20
+KPX Rcaron Ograve -20
+KPX Rcaron Ohungarumlaut -20
+KPX Rcaron Omacron -20
+KPX Rcaron Oslash -20
+KPX Rcaron Otilde -20
+KPX Rcaron T -20
+KPX Rcaron Tcaron -20
+KPX Rcaron Tcommaaccent -20
+KPX Rcaron U -20
+KPX Rcaron Uacute -20
+KPX Rcaron Ucircumflex -20
+KPX Rcaron Udieresis -20
+KPX Rcaron Ugrave -20
+KPX Rcaron Uhungarumlaut -20
+KPX Rcaron Umacron -20
+KPX Rcaron Uogonek -20
+KPX Rcaron Uring -20
+KPX Rcaron V -50
+KPX Rcaron W -40
+KPX Rcaron Y -50
+KPX Rcaron Yacute -50
+KPX Rcaron Ydieresis -50
+KPX Rcommaaccent O -20
+KPX Rcommaaccent Oacute -20
+KPX Rcommaaccent Ocircumflex -20
+KPX Rcommaaccent Odieresis -20
+KPX Rcommaaccent Ograve -20
+KPX Rcommaaccent Ohungarumlaut -20
+KPX Rcommaaccent Omacron -20
+KPX Rcommaaccent Oslash -20
+KPX Rcommaaccent Otilde -20
+KPX Rcommaaccent T -20
+KPX Rcommaaccent Tcaron -20
+KPX Rcommaaccent Tcommaaccent -20
+KPX Rcommaaccent U -20
+KPX Rcommaaccent Uacute -20
+KPX Rcommaaccent Ucircumflex -20
+KPX Rcommaaccent Udieresis -20
+KPX Rcommaaccent Ugrave -20
+KPX Rcommaaccent Uhungarumlaut -20
+KPX Rcommaaccent Umacron -20
+KPX Rcommaaccent Uogonek -20
+KPX Rcommaaccent Uring -20
+KPX Rcommaaccent V -50
+KPX Rcommaaccent W -40
+KPX Rcommaaccent Y -50
+KPX Rcommaaccent Yacute -50
+KPX Rcommaaccent Ydieresis -50
+KPX T A -90
+KPX T Aacute -90
+KPX T Abreve -90
+KPX T Acircumflex -90
+KPX T Adieresis -90
+KPX T Agrave -90
+KPX T Amacron -90
+KPX T Aogonek -90
+KPX T Aring -90
+KPX T Atilde -90
+KPX T O -40
+KPX T Oacute -40
+KPX T Ocircumflex -40
+KPX T Odieresis -40
+KPX T Ograve -40
+KPX T Ohungarumlaut -40
+KPX T Omacron -40
+KPX T Oslash -40
+KPX T Otilde -40
+KPX T a -80
+KPX T aacute -80
+KPX T abreve -80
+KPX T acircumflex -80
+KPX T adieresis -80
+KPX T agrave -80
+KPX T amacron -80
+KPX T aogonek -80
+KPX T aring -80
+KPX T atilde -80
+KPX T colon -40
+KPX T comma -80
+KPX T e -60
+KPX T eacute -60
+KPX T ecaron -60
+KPX T ecircumflex -60
+KPX T edieresis -60
+KPX T edotaccent -60
+KPX T egrave -60
+KPX T emacron -60
+KPX T eogonek -60
+KPX T hyphen -120
+KPX T o -80
+KPX T oacute -80
+KPX T ocircumflex -80
+KPX T odieresis -80
+KPX T ograve -80
+KPX T ohungarumlaut -80
+KPX T omacron -80
+KPX T oslash -80
+KPX T otilde -80
+KPX T period -80
+KPX T r -80
+KPX T racute -80
+KPX T rcommaaccent -80
+KPX T semicolon -40
+KPX T u -90
+KPX T uacute -90
+KPX T ucircumflex -90
+KPX T udieresis -90
+KPX T ugrave -90
+KPX T uhungarumlaut -90
+KPX T umacron -90
+KPX T uogonek -90
+KPX T uring -90
+KPX T w -60
+KPX T y -60
+KPX T yacute -60
+KPX T ydieresis -60
+KPX Tcaron A -90
+KPX Tcaron Aacute -90
+KPX Tcaron Abreve -90
+KPX Tcaron Acircumflex -90
+KPX Tcaron Adieresis -90
+KPX Tcaron Agrave -90
+KPX Tcaron Amacron -90
+KPX Tcaron Aogonek -90
+KPX Tcaron Aring -90
+KPX Tcaron Atilde -90
+KPX Tcaron O -40
+KPX Tcaron Oacute -40
+KPX Tcaron Ocircumflex -40
+KPX Tcaron Odieresis -40
+KPX Tcaron Ograve -40
+KPX Tcaron Ohungarumlaut -40
+KPX Tcaron Omacron -40
+KPX Tcaron Oslash -40
+KPX Tcaron Otilde -40
+KPX Tcaron a -80
+KPX Tcaron aacute -80
+KPX Tcaron abreve -80
+KPX Tcaron acircumflex -80
+KPX Tcaron adieresis -80
+KPX Tcaron agrave -80
+KPX Tcaron amacron -80
+KPX Tcaron aogonek -80
+KPX Tcaron aring -80
+KPX Tcaron atilde -80
+KPX Tcaron colon -40
+KPX Tcaron comma -80
+KPX Tcaron e -60
+KPX Tcaron eacute -60
+KPX Tcaron ecaron -60
+KPX Tcaron ecircumflex -60
+KPX Tcaron edieresis -60
+KPX Tcaron edotaccent -60
+KPX Tcaron egrave -60
+KPX Tcaron emacron -60
+KPX Tcaron eogonek -60
+KPX Tcaron hyphen -120
+KPX Tcaron o -80
+KPX Tcaron oacute -80
+KPX Tcaron ocircumflex -80
+KPX Tcaron odieresis -80
+KPX Tcaron ograve -80
+KPX Tcaron ohungarumlaut -80
+KPX Tcaron omacron -80
+KPX Tcaron oslash -80
+KPX Tcaron otilde -80
+KPX Tcaron period -80
+KPX Tcaron r -80
+KPX Tcaron racute -80
+KPX Tcaron rcommaaccent -80
+KPX Tcaron semicolon -40
+KPX Tcaron u -90
+KPX Tcaron uacute -90
+KPX Tcaron ucircumflex -90
+KPX Tcaron udieresis -90
+KPX Tcaron ugrave -90
+KPX Tcaron uhungarumlaut -90
+KPX Tcaron umacron -90
+KPX Tcaron uogonek -90
+KPX Tcaron uring -90
+KPX Tcaron w -60
+KPX Tcaron y -60
+KPX Tcaron yacute -60
+KPX Tcaron ydieresis -60
+KPX Tcommaaccent A -90
+KPX Tcommaaccent Aacute -90
+KPX Tcommaaccent Abreve -90
+KPX Tcommaaccent Acircumflex -90
+KPX Tcommaaccent Adieresis -90
+KPX Tcommaaccent Agrave -90
+KPX Tcommaaccent Amacron -90
+KPX Tcommaaccent Aogonek -90
+KPX Tcommaaccent Aring -90
+KPX Tcommaaccent Atilde -90
+KPX Tcommaaccent O -40
+KPX Tcommaaccent Oacute -40
+KPX Tcommaaccent Ocircumflex -40
+KPX Tcommaaccent Odieresis -40
+KPX Tcommaaccent Ograve -40
+KPX Tcommaaccent Ohungarumlaut -40
+KPX Tcommaaccent Omacron -40
+KPX Tcommaaccent Oslash -40
+KPX Tcommaaccent Otilde -40
+KPX Tcommaaccent a -80
+KPX Tcommaaccent aacute -80
+KPX Tcommaaccent abreve -80
+KPX Tcommaaccent acircumflex -80
+KPX Tcommaaccent adieresis -80
+KPX Tcommaaccent agrave -80
+KPX Tcommaaccent amacron -80
+KPX Tcommaaccent aogonek -80
+KPX Tcommaaccent aring -80
+KPX Tcommaaccent atilde -80
+KPX Tcommaaccent colon -40
+KPX Tcommaaccent comma -80
+KPX Tcommaaccent e -60
+KPX Tcommaaccent eacute -60
+KPX Tcommaaccent ecaron -60
+KPX Tcommaaccent ecircumflex -60
+KPX Tcommaaccent edieresis -60
+KPX Tcommaaccent edotaccent -60
+KPX Tcommaaccent egrave -60
+KPX Tcommaaccent emacron -60
+KPX Tcommaaccent eogonek -60
+KPX Tcommaaccent hyphen -120
+KPX Tcommaaccent o -80
+KPX Tcommaaccent oacute -80
+KPX Tcommaaccent ocircumflex -80
+KPX Tcommaaccent odieresis -80
+KPX Tcommaaccent ograve -80
+KPX Tcommaaccent ohungarumlaut -80
+KPX Tcommaaccent omacron -80
+KPX Tcommaaccent oslash -80
+KPX Tcommaaccent otilde -80
+KPX Tcommaaccent period -80
+KPX Tcommaaccent r -80
+KPX Tcommaaccent racute -80
+KPX Tcommaaccent rcommaaccent -80
+KPX Tcommaaccent semicolon -40
+KPX Tcommaaccent u -90
+KPX Tcommaaccent uacute -90
+KPX Tcommaaccent ucircumflex -90
+KPX Tcommaaccent udieresis -90
+KPX Tcommaaccent ugrave -90
+KPX Tcommaaccent uhungarumlaut -90
+KPX Tcommaaccent umacron -90
+KPX Tcommaaccent uogonek -90
+KPX Tcommaaccent uring -90
+KPX Tcommaaccent w -60
+KPX Tcommaaccent y -60
+KPX Tcommaaccent yacute -60
+KPX Tcommaaccent ydieresis -60
+KPX U A -50
+KPX U Aacute -50
+KPX U Abreve -50
+KPX U Acircumflex -50
+KPX U Adieresis -50
+KPX U Agrave -50
+KPX U Amacron -50
+KPX U Aogonek -50
+KPX U Aring -50
+KPX U Atilde -50
+KPX U comma -30
+KPX U period -30
+KPX Uacute A -50
+KPX Uacute Aacute -50
+KPX Uacute Abreve -50
+KPX Uacute Acircumflex -50
+KPX Uacute Adieresis -50
+KPX Uacute Agrave -50
+KPX Uacute Amacron -50
+KPX Uacute Aogonek -50
+KPX Uacute Aring -50
+KPX Uacute Atilde -50
+KPX Uacute comma -30
+KPX Uacute period -30
+KPX Ucircumflex A -50
+KPX Ucircumflex Aacute -50
+KPX Ucircumflex Abreve -50
+KPX Ucircumflex Acircumflex -50
+KPX Ucircumflex Adieresis -50
+KPX Ucircumflex Agrave -50
+KPX Ucircumflex Amacron -50
+KPX Ucircumflex Aogonek -50
+KPX Ucircumflex Aring -50
+KPX Ucircumflex Atilde -50
+KPX Ucircumflex comma -30
+KPX Ucircumflex period -30
+KPX Udieresis A -50
+KPX Udieresis Aacute -50
+KPX Udieresis Abreve -50
+KPX Udieresis Acircumflex -50
+KPX Udieresis Adieresis -50
+KPX Udieresis Agrave -50
+KPX Udieresis Amacron -50
+KPX Udieresis Aogonek -50
+KPX Udieresis Aring -50
+KPX Udieresis Atilde -50
+KPX Udieresis comma -30
+KPX Udieresis period -30
+KPX Ugrave A -50
+KPX Ugrave Aacute -50
+KPX Ugrave Abreve -50
+KPX Ugrave Acircumflex -50
+KPX Ugrave Adieresis -50
+KPX Ugrave Agrave -50
+KPX Ugrave Amacron -50
+KPX Ugrave Aogonek -50
+KPX Ugrave Aring -50
+KPX Ugrave Atilde -50
+KPX Ugrave comma -30
+KPX Ugrave period -30
+KPX Uhungarumlaut A -50
+KPX Uhungarumlaut Aacute -50
+KPX Uhungarumlaut Abreve -50
+KPX Uhungarumlaut Acircumflex -50
+KPX Uhungarumlaut Adieresis -50
+KPX Uhungarumlaut Agrave -50
+KPX Uhungarumlaut Amacron -50
+KPX Uhungarumlaut Aogonek -50
+KPX Uhungarumlaut Aring -50
+KPX Uhungarumlaut Atilde -50
+KPX Uhungarumlaut comma -30
+KPX Uhungarumlaut period -30
+KPX Umacron A -50
+KPX Umacron Aacute -50
+KPX Umacron Abreve -50
+KPX Umacron Acircumflex -50
+KPX Umacron Adieresis -50
+KPX Umacron Agrave -50
+KPX Umacron Amacron -50
+KPX Umacron Aogonek -50
+KPX Umacron Aring -50
+KPX Umacron Atilde -50
+KPX Umacron comma -30
+KPX Umacron period -30
+KPX Uogonek A -50
+KPX Uogonek Aacute -50
+KPX Uogonek Abreve -50
+KPX Uogonek Acircumflex -50
+KPX Uogonek Adieresis -50
+KPX Uogonek Agrave -50
+KPX Uogonek Amacron -50
+KPX Uogonek Aogonek -50
+KPX Uogonek Aring -50
+KPX Uogonek Atilde -50
+KPX Uogonek comma -30
+KPX Uogonek period -30
+KPX Uring A -50
+KPX Uring Aacute -50
+KPX Uring Abreve -50
+KPX Uring Acircumflex -50
+KPX Uring Adieresis -50
+KPX Uring Agrave -50
+KPX Uring Amacron -50
+KPX Uring Aogonek -50
+KPX Uring Aring -50
+KPX Uring Atilde -50
+KPX Uring comma -30
+KPX Uring period -30
+KPX V A -80
+KPX V Aacute -80
+KPX V Abreve -80
+KPX V Acircumflex -80
+KPX V Adieresis -80
+KPX V Agrave -80
+KPX V Amacron -80
+KPX V Aogonek -80
+KPX V Aring -80
+KPX V Atilde -80
+KPX V G -50
+KPX V Gbreve -50
+KPX V Gcommaaccent -50
+KPX V O -50
+KPX V Oacute -50
+KPX V Ocircumflex -50
+KPX V Odieresis -50
+KPX V Ograve -50
+KPX V Ohungarumlaut -50
+KPX V Omacron -50
+KPX V Oslash -50
+KPX V Otilde -50
+KPX V a -60
+KPX V aacute -60
+KPX V abreve -60
+KPX V acircumflex -60
+KPX V adieresis -60
+KPX V agrave -60
+KPX V amacron -60
+KPX V aogonek -60
+KPX V aring -60
+KPX V atilde -60
+KPX V colon -40
+KPX V comma -120
+KPX V e -50
+KPX V eacute -50
+KPX V ecaron -50
+KPX V ecircumflex -50
+KPX V edieresis -50
+KPX V edotaccent -50
+KPX V egrave -50
+KPX V emacron -50
+KPX V eogonek -50
+KPX V hyphen -80
+KPX V o -90
+KPX V oacute -90
+KPX V ocircumflex -90
+KPX V odieresis -90
+KPX V ograve -90
+KPX V ohungarumlaut -90
+KPX V omacron -90
+KPX V oslash -90
+KPX V otilde -90
+KPX V period -120
+KPX V semicolon -40
+KPX V u -60
+KPX V uacute -60
+KPX V ucircumflex -60
+KPX V udieresis -60
+KPX V ugrave -60
+KPX V uhungarumlaut -60
+KPX V umacron -60
+KPX V uogonek -60
+KPX V uring -60
+KPX W A -60
+KPX W Aacute -60
+KPX W Abreve -60
+KPX W Acircumflex -60
+KPX W Adieresis -60
+KPX W Agrave -60
+KPX W Amacron -60
+KPX W Aogonek -60
+KPX W Aring -60
+KPX W Atilde -60
+KPX W O -20
+KPX W Oacute -20
+KPX W Ocircumflex -20
+KPX W Odieresis -20
+KPX W Ograve -20
+KPX W Ohungarumlaut -20
+KPX W Omacron -20
+KPX W Oslash -20
+KPX W Otilde -20
+KPX W a -40
+KPX W aacute -40
+KPX W abreve -40
+KPX W acircumflex -40
+KPX W adieresis -40
+KPX W agrave -40
+KPX W amacron -40
+KPX W aogonek -40
+KPX W aring -40
+KPX W atilde -40
+KPX W colon -10
+KPX W comma -80
+KPX W e -35
+KPX W eacute -35
+KPX W ecaron -35
+KPX W ecircumflex -35
+KPX W edieresis -35
+KPX W edotaccent -35
+KPX W egrave -35
+KPX W emacron -35
+KPX W eogonek -35
+KPX W hyphen -40
+KPX W o -60
+KPX W oacute -60
+KPX W ocircumflex -60
+KPX W odieresis -60
+KPX W ograve -60
+KPX W ohungarumlaut -60
+KPX W omacron -60
+KPX W oslash -60
+KPX W otilde -60
+KPX W period -80
+KPX W semicolon -10
+KPX W u -45
+KPX W uacute -45
+KPX W ucircumflex -45
+KPX W udieresis -45
+KPX W ugrave -45
+KPX W uhungarumlaut -45
+KPX W umacron -45
+KPX W uogonek -45
+KPX W uring -45
+KPX W y -20
+KPX W yacute -20
+KPX W ydieresis -20
+KPX Y A -110
+KPX Y Aacute -110
+KPX Y Abreve -110
+KPX Y Acircumflex -110
+KPX Y Adieresis -110
+KPX Y Agrave -110
+KPX Y Amacron -110
+KPX Y Aogonek -110
+KPX Y Aring -110
+KPX Y Atilde -110
+KPX Y O -70
+KPX Y Oacute -70
+KPX Y Ocircumflex -70
+KPX Y Odieresis -70
+KPX Y Ograve -70
+KPX Y Ohungarumlaut -70
+KPX Y Omacron -70
+KPX Y Oslash -70
+KPX Y Otilde -70
+KPX Y a -90
+KPX Y aacute -90
+KPX Y abreve -90
+KPX Y acircumflex -90
+KPX Y adieresis -90
+KPX Y agrave -90
+KPX Y amacron -90
+KPX Y aogonek -90
+KPX Y aring -90
+KPX Y atilde -90
+KPX Y colon -50
+KPX Y comma -100
+KPX Y e -80
+KPX Y eacute -80
+KPX Y ecaron -80
+KPX Y ecircumflex -80
+KPX Y edieresis -80
+KPX Y edotaccent -80
+KPX Y egrave -80
+KPX Y emacron -80
+KPX Y eogonek -80
+KPX Y o -100
+KPX Y oacute -100
+KPX Y ocircumflex -100
+KPX Y odieresis -100
+KPX Y ograve -100
+KPX Y ohungarumlaut -100
+KPX Y omacron -100
+KPX Y oslash -100
+KPX Y otilde -100
+KPX Y period -100
+KPX Y semicolon -50
+KPX Y u -100
+KPX Y uacute -100
+KPX Y ucircumflex -100
+KPX Y udieresis -100
+KPX Y ugrave -100
+KPX Y uhungarumlaut -100
+KPX Y umacron -100
+KPX Y uogonek -100
+KPX Y uring -100
+KPX Yacute A -110
+KPX Yacute Aacute -110
+KPX Yacute Abreve -110
+KPX Yacute Acircumflex -110
+KPX Yacute Adieresis -110
+KPX Yacute Agrave -110
+KPX Yacute Amacron -110
+KPX Yacute Aogonek -110
+KPX Yacute Aring -110
+KPX Yacute Atilde -110
+KPX Yacute O -70
+KPX Yacute Oacute -70
+KPX Yacute Ocircumflex -70
+KPX Yacute Odieresis -70
+KPX Yacute Ograve -70
+KPX Yacute Ohungarumlaut -70
+KPX Yacute Omacron -70
+KPX Yacute Oslash -70
+KPX Yacute Otilde -70
+KPX Yacute a -90
+KPX Yacute aacute -90
+KPX Yacute abreve -90
+KPX Yacute acircumflex -90
+KPX Yacute adieresis -90
+KPX Yacute agrave -90
+KPX Yacute amacron -90
+KPX Yacute aogonek -90
+KPX Yacute aring -90
+KPX Yacute atilde -90
+KPX Yacute colon -50
+KPX Yacute comma -100
+KPX Yacute e -80
+KPX Yacute eacute -80
+KPX Yacute ecaron -80
+KPX Yacute ecircumflex -80
+KPX Yacute edieresis -80
+KPX Yacute edotaccent -80
+KPX Yacute egrave -80
+KPX Yacute emacron -80
+KPX Yacute eogonek -80
+KPX Yacute o -100
+KPX Yacute oacute -100
+KPX Yacute ocircumflex -100
+KPX Yacute odieresis -100
+KPX Yacute ograve -100
+KPX Yacute ohungarumlaut -100
+KPX Yacute omacron -100
+KPX Yacute oslash -100
+KPX Yacute otilde -100
+KPX Yacute period -100
+KPX Yacute semicolon -50
+KPX Yacute u -100
+KPX Yacute uacute -100
+KPX Yacute ucircumflex -100
+KPX Yacute udieresis -100
+KPX Yacute ugrave -100
+KPX Yacute uhungarumlaut -100
+KPX Yacute umacron -100
+KPX Yacute uogonek -100
+KPX Yacute uring -100
+KPX Ydieresis A -110
+KPX Ydieresis Aacute -110
+KPX Ydieresis Abreve -110
+KPX Ydieresis Acircumflex -110
+KPX Ydieresis Adieresis -110
+KPX Ydieresis Agrave -110
+KPX Ydieresis Amacron -110
+KPX Ydieresis Aogonek -110
+KPX Ydieresis Aring -110
+KPX Ydieresis Atilde -110
+KPX Ydieresis O -70
+KPX Ydieresis Oacute -70
+KPX Ydieresis Ocircumflex -70
+KPX Ydieresis Odieresis -70
+KPX Ydieresis Ograve -70
+KPX Ydieresis Ohungarumlaut -70
+KPX Ydieresis Omacron -70
+KPX Ydieresis Oslash -70
+KPX Ydieresis Otilde -70
+KPX Ydieresis a -90
+KPX Ydieresis aacute -90
+KPX Ydieresis abreve -90
+KPX Ydieresis acircumflex -90
+KPX Ydieresis adieresis -90
+KPX Ydieresis agrave -90
+KPX Ydieresis amacron -90
+KPX Ydieresis aogonek -90
+KPX Ydieresis aring -90
+KPX Ydieresis atilde -90
+KPX Ydieresis colon -50
+KPX Ydieresis comma -100
+KPX Ydieresis e -80
+KPX Ydieresis eacute -80
+KPX Ydieresis ecaron -80
+KPX Ydieresis ecircumflex -80
+KPX Ydieresis edieresis -80
+KPX Ydieresis edotaccent -80
+KPX Ydieresis egrave -80
+KPX Ydieresis emacron -80
+KPX Ydieresis eogonek -80
+KPX Ydieresis o -100
+KPX Ydieresis oacute -100
+KPX Ydieresis ocircumflex -100
+KPX Ydieresis odieresis -100
+KPX Ydieresis ograve -100
+KPX Ydieresis ohungarumlaut -100
+KPX Ydieresis omacron -100
+KPX Ydieresis oslash -100
+KPX Ydieresis otilde -100
+KPX Ydieresis period -100
+KPX Ydieresis semicolon -50
+KPX Ydieresis u -100
+KPX Ydieresis uacute -100
+KPX Ydieresis ucircumflex -100
+KPX Ydieresis udieresis -100
+KPX Ydieresis ugrave -100
+KPX Ydieresis uhungarumlaut -100
+KPX Ydieresis umacron -100
+KPX Ydieresis uogonek -100
+KPX Ydieresis uring -100
+KPX a g -10
+KPX a gbreve -10
+KPX a gcommaaccent -10
+KPX a v -15
+KPX a w -15
+KPX a y -20
+KPX a yacute -20
+KPX a ydieresis -20
+KPX aacute g -10
+KPX aacute gbreve -10
+KPX aacute gcommaaccent -10
+KPX aacute v -15
+KPX aacute w -15
+KPX aacute y -20
+KPX aacute yacute -20
+KPX aacute ydieresis -20
+KPX abreve g -10
+KPX abreve gbreve -10
+KPX abreve gcommaaccent -10
+KPX abreve v -15
+KPX abreve w -15
+KPX abreve y -20
+KPX abreve yacute -20
+KPX abreve ydieresis -20
+KPX acircumflex g -10
+KPX acircumflex gbreve -10
+KPX acircumflex gcommaaccent -10
+KPX acircumflex v -15
+KPX acircumflex w -15
+KPX acircumflex y -20
+KPX acircumflex yacute -20
+KPX acircumflex ydieresis -20
+KPX adieresis g -10
+KPX adieresis gbreve -10
+KPX adieresis gcommaaccent -10
+KPX adieresis v -15
+KPX adieresis w -15
+KPX adieresis y -20
+KPX adieresis yacute -20
+KPX adieresis ydieresis -20
+KPX agrave g -10
+KPX agrave gbreve -10
+KPX agrave gcommaaccent -10
+KPX agrave v -15
+KPX agrave w -15
+KPX agrave y -20
+KPX agrave yacute -20
+KPX agrave ydieresis -20
+KPX amacron g -10
+KPX amacron gbreve -10
+KPX amacron gcommaaccent -10
+KPX amacron v -15
+KPX amacron w -15
+KPX amacron y -20
+KPX amacron yacute -20
+KPX amacron ydieresis -20
+KPX aogonek g -10
+KPX aogonek gbreve -10
+KPX aogonek gcommaaccent -10
+KPX aogonek v -15
+KPX aogonek w -15
+KPX aogonek y -20
+KPX aogonek yacute -20
+KPX aogonek ydieresis -20
+KPX aring g -10
+KPX aring gbreve -10
+KPX aring gcommaaccent -10
+KPX aring v -15
+KPX aring w -15
+KPX aring y -20
+KPX aring yacute -20
+KPX aring ydieresis -20
+KPX atilde g -10
+KPX atilde gbreve -10
+KPX atilde gcommaaccent -10
+KPX atilde v -15
+KPX atilde w -15
+KPX atilde y -20
+KPX atilde yacute -20
+KPX atilde ydieresis -20
+KPX b l -10
+KPX b lacute -10
+KPX b lcommaaccent -10
+KPX b lslash -10
+KPX b u -20
+KPX b uacute -20
+KPX b ucircumflex -20
+KPX b udieresis -20
+KPX b ugrave -20
+KPX b uhungarumlaut -20
+KPX b umacron -20
+KPX b uogonek -20
+KPX b uring -20
+KPX b v -20
+KPX b y -20
+KPX b yacute -20
+KPX b ydieresis -20
+KPX c h -10
+KPX c k -20
+KPX c kcommaaccent -20
+KPX c l -20
+KPX c lacute -20
+KPX c lcommaaccent -20
+KPX c lslash -20
+KPX c y -10
+KPX c yacute -10
+KPX c ydieresis -10
+KPX cacute h -10
+KPX cacute k -20
+KPX cacute kcommaaccent -20
+KPX cacute l -20
+KPX cacute lacute -20
+KPX cacute lcommaaccent -20
+KPX cacute lslash -20
+KPX cacute y -10
+KPX cacute yacute -10
+KPX cacute ydieresis -10
+KPX ccaron h -10
+KPX ccaron k -20
+KPX ccaron kcommaaccent -20
+KPX ccaron l -20
+KPX ccaron lacute -20
+KPX ccaron lcommaaccent -20
+KPX ccaron lslash -20
+KPX ccaron y -10
+KPX ccaron yacute -10
+KPX ccaron ydieresis -10
+KPX ccedilla h -10
+KPX ccedilla k -20
+KPX ccedilla kcommaaccent -20
+KPX ccedilla l -20
+KPX ccedilla lacute -20
+KPX ccedilla lcommaaccent -20
+KPX ccedilla lslash -20
+KPX ccedilla y -10
+KPX ccedilla yacute -10
+KPX ccedilla ydieresis -10
+KPX colon space -40
+KPX comma quotedblright -120
+KPX comma quoteright -120
+KPX comma space -40
+KPX d d -10
+KPX d dcroat -10
+KPX d v -15
+KPX d w -15
+KPX d y -15
+KPX d yacute -15
+KPX d ydieresis -15
+KPX dcroat d -10
+KPX dcroat dcroat -10
+KPX dcroat v -15
+KPX dcroat w -15
+KPX dcroat y -15
+KPX dcroat yacute -15
+KPX dcroat ydieresis -15
+KPX e comma 10
+KPX e period 20
+KPX e v -15
+KPX e w -15
+KPX e x -15
+KPX e y -15
+KPX e yacute -15
+KPX e ydieresis -15
+KPX eacute comma 10
+KPX eacute period 20
+KPX eacute v -15
+KPX eacute w -15
+KPX eacute x -15
+KPX eacute y -15
+KPX eacute yacute -15
+KPX eacute ydieresis -15
+KPX ecaron comma 10
+KPX ecaron period 20
+KPX ecaron v -15
+KPX ecaron w -15
+KPX ecaron x -15
+KPX ecaron y -15
+KPX ecaron yacute -15
+KPX ecaron ydieresis -15
+KPX ecircumflex comma 10
+KPX ecircumflex period 20
+KPX ecircumflex v -15
+KPX ecircumflex w -15
+KPX ecircumflex x -15
+KPX ecircumflex y -15
+KPX ecircumflex yacute -15
+KPX ecircumflex ydieresis -15
+KPX edieresis comma 10
+KPX edieresis period 20
+KPX edieresis v -15
+KPX edieresis w -15
+KPX edieresis x -15
+KPX edieresis y -15
+KPX edieresis yacute -15
+KPX edieresis ydieresis -15
+KPX edotaccent comma 10
+KPX edotaccent period 20
+KPX edotaccent v -15
+KPX edotaccent w -15
+KPX edotaccent x -15
+KPX edotaccent y -15
+KPX edotaccent yacute -15
+KPX edotaccent ydieresis -15
+KPX egrave comma 10
+KPX egrave period 20
+KPX egrave v -15
+KPX egrave w -15
+KPX egrave x -15
+KPX egrave y -15
+KPX egrave yacute -15
+KPX egrave ydieresis -15
+KPX emacron comma 10
+KPX emacron period 20
+KPX emacron v -15
+KPX emacron w -15
+KPX emacron x -15
+KPX emacron y -15
+KPX emacron yacute -15
+KPX emacron ydieresis -15
+KPX eogonek comma 10
+KPX eogonek period 20
+KPX eogonek v -15
+KPX eogonek w -15
+KPX eogonek x -15
+KPX eogonek y -15
+KPX eogonek yacute -15
+KPX eogonek ydieresis -15
+KPX f comma -10
+KPX f e -10
+KPX f eacute -10
+KPX f ecaron -10
+KPX f ecircumflex -10
+KPX f edieresis -10
+KPX f edotaccent -10
+KPX f egrave -10
+KPX f emacron -10
+KPX f eogonek -10
+KPX f o -20
+KPX f oacute -20
+KPX f ocircumflex -20
+KPX f odieresis -20
+KPX f ograve -20
+KPX f ohungarumlaut -20
+KPX f omacron -20
+KPX f oslash -20
+KPX f otilde -20
+KPX f period -10
+KPX f quotedblright 30
+KPX f quoteright 30
+KPX g e 10
+KPX g eacute 10
+KPX g ecaron 10
+KPX g ecircumflex 10
+KPX g edieresis 10
+KPX g edotaccent 10
+KPX g egrave 10
+KPX g emacron 10
+KPX g eogonek 10
+KPX g g -10
+KPX g gbreve -10
+KPX g gcommaaccent -10
+KPX gbreve e 10
+KPX gbreve eacute 10
+KPX gbreve ecaron 10
+KPX gbreve ecircumflex 10
+KPX gbreve edieresis 10
+KPX gbreve edotaccent 10
+KPX gbreve egrave 10
+KPX gbreve emacron 10
+KPX gbreve eogonek 10
+KPX gbreve g -10
+KPX gbreve gbreve -10
+KPX gbreve gcommaaccent -10
+KPX gcommaaccent e 10
+KPX gcommaaccent eacute 10
+KPX gcommaaccent ecaron 10
+KPX gcommaaccent ecircumflex 10
+KPX gcommaaccent edieresis 10
+KPX gcommaaccent edotaccent 10
+KPX gcommaaccent egrave 10
+KPX gcommaaccent emacron 10
+KPX gcommaaccent eogonek 10
+KPX gcommaaccent g -10
+KPX gcommaaccent gbreve -10
+KPX gcommaaccent gcommaaccent -10
+KPX h y -20
+KPX h yacute -20
+KPX h ydieresis -20
+KPX k o -15
+KPX k oacute -15
+KPX k ocircumflex -15
+KPX k odieresis -15
+KPX k ograve -15
+KPX k ohungarumlaut -15
+KPX k omacron -15
+KPX k oslash -15
+KPX k otilde -15
+KPX kcommaaccent o -15
+KPX kcommaaccent oacute -15
+KPX kcommaaccent ocircumflex -15
+KPX kcommaaccent odieresis -15
+KPX kcommaaccent ograve -15
+KPX kcommaaccent ohungarumlaut -15
+KPX kcommaaccent omacron -15
+KPX kcommaaccent oslash -15
+KPX kcommaaccent otilde -15
+KPX l w -15
+KPX l y -15
+KPX l yacute -15
+KPX l ydieresis -15
+KPX lacute w -15
+KPX lacute y -15
+KPX lacute yacute -15
+KPX lacute ydieresis -15
+KPX lcommaaccent w -15
+KPX lcommaaccent y -15
+KPX lcommaaccent yacute -15
+KPX lcommaaccent ydieresis -15
+KPX lslash w -15
+KPX lslash y -15
+KPX lslash yacute -15
+KPX lslash ydieresis -15
+KPX m u -20
+KPX m uacute -20
+KPX m ucircumflex -20
+KPX m udieresis -20
+KPX m ugrave -20
+KPX m uhungarumlaut -20
+KPX m umacron -20
+KPX m uogonek -20
+KPX m uring -20
+KPX m y -30
+KPX m yacute -30
+KPX m ydieresis -30
+KPX n u -10
+KPX n uacute -10
+KPX n ucircumflex -10
+KPX n udieresis -10
+KPX n ugrave -10
+KPX n uhungarumlaut -10
+KPX n umacron -10
+KPX n uogonek -10
+KPX n uring -10
+KPX n v -40
+KPX n y -20
+KPX n yacute -20
+KPX n ydieresis -20
+KPX nacute u -10
+KPX nacute uacute -10
+KPX nacute ucircumflex -10
+KPX nacute udieresis -10
+KPX nacute ugrave -10
+KPX nacute uhungarumlaut -10
+KPX nacute umacron -10
+KPX nacute uogonek -10
+KPX nacute uring -10
+KPX nacute v -40
+KPX nacute y -20
+KPX nacute yacute -20
+KPX nacute ydieresis -20
+KPX ncaron u -10
+KPX ncaron uacute -10
+KPX ncaron ucircumflex -10
+KPX ncaron udieresis -10
+KPX ncaron ugrave -10
+KPX ncaron uhungarumlaut -10
+KPX ncaron umacron -10
+KPX ncaron uogonek -10
+KPX ncaron uring -10
+KPX ncaron v -40
+KPX ncaron y -20
+KPX ncaron yacute -20
+KPX ncaron ydieresis -20
+KPX ncommaaccent u -10
+KPX ncommaaccent uacute -10
+KPX ncommaaccent ucircumflex -10
+KPX ncommaaccent udieresis -10
+KPX ncommaaccent ugrave -10
+KPX ncommaaccent uhungarumlaut -10
+KPX ncommaaccent umacron -10
+KPX ncommaaccent uogonek -10
+KPX ncommaaccent uring -10
+KPX ncommaaccent v -40
+KPX ncommaaccent y -20
+KPX ncommaaccent yacute -20
+KPX ncommaaccent ydieresis -20
+KPX ntilde u -10
+KPX ntilde uacute -10
+KPX ntilde ucircumflex -10
+KPX ntilde udieresis -10
+KPX ntilde ugrave -10
+KPX ntilde uhungarumlaut -10
+KPX ntilde umacron -10
+KPX ntilde uogonek -10
+KPX ntilde uring -10
+KPX ntilde v -40
+KPX ntilde y -20
+KPX ntilde yacute -20
+KPX ntilde ydieresis -20
+KPX o v -20
+KPX o w -15
+KPX o x -30
+KPX o y -20
+KPX o yacute -20
+KPX o ydieresis -20
+KPX oacute v -20
+KPX oacute w -15
+KPX oacute x -30
+KPX oacute y -20
+KPX oacute yacute -20
+KPX oacute ydieresis -20
+KPX ocircumflex v -20
+KPX ocircumflex w -15
+KPX ocircumflex x -30
+KPX ocircumflex y -20
+KPX ocircumflex yacute -20
+KPX ocircumflex ydieresis -20
+KPX odieresis v -20
+KPX odieresis w -15
+KPX odieresis x -30
+KPX odieresis y -20
+KPX odieresis yacute -20
+KPX odieresis ydieresis -20
+KPX ograve v -20
+KPX ograve w -15
+KPX ograve x -30
+KPX ograve y -20
+KPX ograve yacute -20
+KPX ograve ydieresis -20
+KPX ohungarumlaut v -20
+KPX ohungarumlaut w -15
+KPX ohungarumlaut x -30
+KPX ohungarumlaut y -20
+KPX ohungarumlaut yacute -20
+KPX ohungarumlaut ydieresis -20
+KPX omacron v -20
+KPX omacron w -15
+KPX omacron x -30
+KPX omacron y -20
+KPX omacron yacute -20
+KPX omacron ydieresis -20
+KPX oslash v -20
+KPX oslash w -15
+KPX oslash x -30
+KPX oslash y -20
+KPX oslash yacute -20
+KPX oslash ydieresis -20
+KPX otilde v -20
+KPX otilde w -15
+KPX otilde x -30
+KPX otilde y -20
+KPX otilde yacute -20
+KPX otilde ydieresis -20
+KPX p y -15
+KPX p yacute -15
+KPX p ydieresis -15
+KPX period quotedblright -120
+KPX period quoteright -120
+KPX period space -40
+KPX quotedblright space -80
+KPX quoteleft quoteleft -46
+KPX quoteright d -80
+KPX quoteright dcroat -80
+KPX quoteright l -20
+KPX quoteright lacute -20
+KPX quoteright lcommaaccent -20
+KPX quoteright lslash -20
+KPX quoteright quoteright -46
+KPX quoteright r -40
+KPX quoteright racute -40
+KPX quoteright rcaron -40
+KPX quoteright rcommaaccent -40
+KPX quoteright s -60
+KPX quoteright sacute -60
+KPX quoteright scaron -60
+KPX quoteright scedilla -60
+KPX quoteright scommaaccent -60
+KPX quoteright space -80
+KPX quoteright v -20
+KPX r c -20
+KPX r cacute -20
+KPX r ccaron -20
+KPX r ccedilla -20
+KPX r comma -60
+KPX r d -20
+KPX r dcroat -20
+KPX r g -15
+KPX r gbreve -15
+KPX r gcommaaccent -15
+KPX r hyphen -20
+KPX r o -20
+KPX r oacute -20
+KPX r ocircumflex -20
+KPX r odieresis -20
+KPX r ograve -20
+KPX r ohungarumlaut -20
+KPX r omacron -20
+KPX r oslash -20
+KPX r otilde -20
+KPX r period -60
+KPX r q -20
+KPX r s -15
+KPX r sacute -15
+KPX r scaron -15
+KPX r scedilla -15
+KPX r scommaaccent -15
+KPX r t 20
+KPX r tcommaaccent 20
+KPX r v 10
+KPX r y 10
+KPX r yacute 10
+KPX r ydieresis 10
+KPX racute c -20
+KPX racute cacute -20
+KPX racute ccaron -20
+KPX racute ccedilla -20
+KPX racute comma -60
+KPX racute d -20
+KPX racute dcroat -20
+KPX racute g -15
+KPX racute gbreve -15
+KPX racute gcommaaccent -15
+KPX racute hyphen -20
+KPX racute o -20
+KPX racute oacute -20
+KPX racute ocircumflex -20
+KPX racute odieresis -20
+KPX racute ograve -20
+KPX racute ohungarumlaut -20
+KPX racute omacron -20
+KPX racute oslash -20
+KPX racute otilde -20
+KPX racute period -60
+KPX racute q -20
+KPX racute s -15
+KPX racute sacute -15
+KPX racute scaron -15
+KPX racute scedilla -15
+KPX racute scommaaccent -15
+KPX racute t 20
+KPX racute tcommaaccent 20
+KPX racute v 10
+KPX racute y 10
+KPX racute yacute 10
+KPX racute ydieresis 10
+KPX rcaron c -20
+KPX rcaron cacute -20
+KPX rcaron ccaron -20
+KPX rcaron ccedilla -20
+KPX rcaron comma -60
+KPX rcaron d -20
+KPX rcaron dcroat -20
+KPX rcaron g -15
+KPX rcaron gbreve -15
+KPX rcaron gcommaaccent -15
+KPX rcaron hyphen -20
+KPX rcaron o -20
+KPX rcaron oacute -20
+KPX rcaron ocircumflex -20
+KPX rcaron odieresis -20
+KPX rcaron ograve -20
+KPX rcaron ohungarumlaut -20
+KPX rcaron omacron -20
+KPX rcaron oslash -20
+KPX rcaron otilde -20
+KPX rcaron period -60
+KPX rcaron q -20
+KPX rcaron s -15
+KPX rcaron sacute -15
+KPX rcaron scaron -15
+KPX rcaron scedilla -15
+KPX rcaron scommaaccent -15
+KPX rcaron t 20
+KPX rcaron tcommaaccent 20
+KPX rcaron v 10
+KPX rcaron y 10
+KPX rcaron yacute 10
+KPX rcaron ydieresis 10
+KPX rcommaaccent c -20
+KPX rcommaaccent cacute -20
+KPX rcommaaccent ccaron -20
+KPX rcommaaccent ccedilla -20
+KPX rcommaaccent comma -60
+KPX rcommaaccent d -20
+KPX rcommaaccent dcroat -20
+KPX rcommaaccent g -15
+KPX rcommaaccent gbreve -15
+KPX rcommaaccent gcommaaccent -15
+KPX rcommaaccent hyphen -20
+KPX rcommaaccent o -20
+KPX rcommaaccent oacute -20
+KPX rcommaaccent ocircumflex -20
+KPX rcommaaccent odieresis -20
+KPX rcommaaccent ograve -20
+KPX rcommaaccent ohungarumlaut -20
+KPX rcommaaccent omacron -20
+KPX rcommaaccent oslash -20
+KPX rcommaaccent otilde -20
+KPX rcommaaccent period -60
+KPX rcommaaccent q -20
+KPX rcommaaccent s -15
+KPX rcommaaccent sacute -15
+KPX rcommaaccent scaron -15
+KPX rcommaaccent scedilla -15
+KPX rcommaaccent scommaaccent -15
+KPX rcommaaccent t 20
+KPX rcommaaccent tcommaaccent 20
+KPX rcommaaccent v 10
+KPX rcommaaccent y 10
+KPX rcommaaccent yacute 10
+KPX rcommaaccent ydieresis 10
+KPX s w -15
+KPX sacute w -15
+KPX scaron w -15
+KPX scedilla w -15
+KPX scommaaccent w -15
+KPX semicolon space -40
+KPX space T -100
+KPX space Tcaron -100
+KPX space Tcommaaccent -100
+KPX space V -80
+KPX space W -80
+KPX space Y -120
+KPX space Yacute -120
+KPX space Ydieresis -120
+KPX space quotedblleft -80
+KPX space quoteleft -60
+KPX v a -20
+KPX v aacute -20
+KPX v abreve -20
+KPX v acircumflex -20
+KPX v adieresis -20
+KPX v agrave -20
+KPX v amacron -20
+KPX v aogonek -20
+KPX v aring -20
+KPX v atilde -20
+KPX v comma -80
+KPX v o -30
+KPX v oacute -30
+KPX v ocircumflex -30
+KPX v odieresis -30
+KPX v ograve -30
+KPX v ohungarumlaut -30
+KPX v omacron -30
+KPX v oslash -30
+KPX v otilde -30
+KPX v period -80
+KPX w comma -40
+KPX w o -20
+KPX w oacute -20
+KPX w ocircumflex -20
+KPX w odieresis -20
+KPX w ograve -20
+KPX w ohungarumlaut -20
+KPX w omacron -20
+KPX w oslash -20
+KPX w otilde -20
+KPX w period -40
+KPX x e -10
+KPX x eacute -10
+KPX x ecaron -10
+KPX x ecircumflex -10
+KPX x edieresis -10
+KPX x edotaccent -10
+KPX x egrave -10
+KPX x emacron -10
+KPX x eogonek -10
+KPX y a -30
+KPX y aacute -30
+KPX y abreve -30
+KPX y acircumflex -30
+KPX y adieresis -30
+KPX y agrave -30
+KPX y amacron -30
+KPX y aogonek -30
+KPX y aring -30
+KPX y atilde -30
+KPX y comma -80
+KPX y e -10
+KPX y eacute -10
+KPX y ecaron -10
+KPX y ecircumflex -10
+KPX y edieresis -10
+KPX y edotaccent -10
+KPX y egrave -10
+KPX y emacron -10
+KPX y eogonek -10
+KPX y o -25
+KPX y oacute -25
+KPX y ocircumflex -25
+KPX y odieresis -25
+KPX y ograve -25
+KPX y ohungarumlaut -25
+KPX y omacron -25
+KPX y oslash -25
+KPX y otilde -25
+KPX y period -80
+KPX yacute a -30
+KPX yacute aacute -30
+KPX yacute abreve -30
+KPX yacute acircumflex -30
+KPX yacute adieresis -30
+KPX yacute agrave -30
+KPX yacute amacron -30
+KPX yacute aogonek -30
+KPX yacute aring -30
+KPX yacute atilde -30
+KPX yacute comma -80
+KPX yacute e -10
+KPX yacute eacute -10
+KPX yacute ecaron -10
+KPX yacute ecircumflex -10
+KPX yacute edieresis -10
+KPX yacute edotaccent -10
+KPX yacute egrave -10
+KPX yacute emacron -10
+KPX yacute eogonek -10
+KPX yacute o -25
+KPX yacute oacute -25
+KPX yacute ocircumflex -25
+KPX yacute odieresis -25
+KPX yacute ograve -25
+KPX yacute ohungarumlaut -25
+KPX yacute omacron -25
+KPX yacute oslash -25
+KPX yacute otilde -25
+KPX yacute period -80
+KPX ydieresis a -30
+KPX ydieresis aacute -30
+KPX ydieresis abreve -30
+KPX ydieresis acircumflex -30
+KPX ydieresis adieresis -30
+KPX ydieresis agrave -30
+KPX ydieresis amacron -30
+KPX ydieresis aogonek -30
+KPX ydieresis aring -30
+KPX ydieresis atilde -30
+KPX ydieresis comma -80
+KPX ydieresis e -10
+KPX ydieresis eacute -10
+KPX ydieresis ecaron -10
+KPX ydieresis ecircumflex -10
+KPX ydieresis edieresis -10
+KPX ydieresis edotaccent -10
+KPX ydieresis egrave -10
+KPX ydieresis emacron -10
+KPX ydieresis eogonek -10
+KPX ydieresis o -25
+KPX ydieresis oacute -25
+KPX ydieresis ocircumflex -25
+KPX ydieresis odieresis -25
+KPX ydieresis ograve -25
+KPX ydieresis ohungarumlaut -25
+KPX ydieresis omacron -25
+KPX ydieresis oslash -25
+KPX ydieresis otilde -25
+KPX ydieresis period -80
+KPX z e 10
+KPX z eacute 10
+KPX z ecaron 10
+KPX z ecircumflex 10
+KPX z edieresis 10
+KPX z edotaccent 10
+KPX z egrave 10
+KPX z emacron 10
+KPX z eogonek 10
+KPX zacute e 10
+KPX zacute eacute 10
+KPX zacute ecaron 10
+KPX zacute ecircumflex 10
+KPX zacute edieresis 10
+KPX zacute edotaccent 10
+KPX zacute egrave 10
+KPX zacute emacron 10
+KPX zacute eogonek 10
+KPX zcaron e 10
+KPX zcaron eacute 10
+KPX zcaron ecaron 10
+KPX zcaron ecircumflex 10
+KPX zcaron edieresis 10
+KPX zcaron edotaccent 10
+KPX zcaron egrave 10
+KPX zcaron emacron 10
+KPX zcaron eogonek 10
+KPX zdotaccent e 10
+KPX zdotaccent eacute 10
+KPX zdotaccent ecaron 10
+KPX zdotaccent ecircumflex 10
+KPX zdotaccent edieresis 10
+KPX zdotaccent edotaccent 10
+KPX zdotaccent egrave 10
+KPX zdotaccent emacron 10
+KPX zdotaccent eogonek 10
+EndKernPairs
+EndKernData
+EndFontMetrics
diff --git a/test/user-template/user/psprint/fontmetric/Helvetica-BoldOblique.afm b/test/user-template/user/psprint/fontmetric/Helvetica-BoldOblique.afm
new file mode 100644
index 000000000000..e94412061d1a
--- /dev/null
+++ b/test/user-template/user/psprint/fontmetric/Helvetica-BoldOblique.afm
@@ -0,0 +1,2825 @@
+StartFontMetrics 4.1
+Comment Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All Rights Reserved.
+Comment Creation Date: Thu May 1 12:45:12 1997
+Comment UniqueID 43053
+Comment VMusage 14482 68586
+FontName Helvetica-BoldOblique
+FullName Helvetica Bold Oblique
+FamilyName Helvetica
+Weight Bold
+ItalicAngle -12
+IsFixedPitch false
+FontBBox -174 -228 1114 962
+UnderlinePosition -100
+UnderlineThickness 50
+Version 002.000
+Notice Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All Rights Reserved.Helvetica is a trademark of Linotype-Hell AG and/or its subsidiaries.
+EncodingScheme AdobeStandardEncoding
+CapHeight 718
+XHeight 532
+Ascender 718
+Descender -207
+StdHW 118
+StdVW 140
+StartCharMetrics 314
+C 32 ; WX 278 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 333 ; N exclam ; B 94 0 397 718 ;
+C 34 ; WX 474 ; N quotedbl ; B 193 447 529 718 ;
+C 35 ; WX 556 ; N numbersign ; B 60 0 644 698 ;
+C 36 ; WX 556 ; N dollar ; B 67 -115 622 775 ;
+C 37 ; WX 889 ; N percent ; B 136 -19 901 710 ;
+C 38 ; WX 722 ; N ampersand ; B 89 -19 732 718 ;
+C 39 ; WX 278 ; N quoteright ; B 167 445 362 718 ;
+C 40 ; WX 333 ; N parenleft ; B 76 -208 470 734 ;
+C 41 ; WX 333 ; N parenright ; B -25 -208 369 734 ;
+C 42 ; WX 389 ; N asterisk ; B 146 387 481 718 ;
+C 43 ; WX 584 ; N plus ; B 82 0 610 506 ;
+C 44 ; WX 278 ; N comma ; B 28 -168 245 146 ;
+C 45 ; WX 333 ; N hyphen ; B 73 215 379 345 ;
+C 46 ; WX 278 ; N period ; B 64 0 245 146 ;
+C 47 ; WX 278 ; N slash ; B -37 -19 468 737 ;
+C 48 ; WX 556 ; N zero ; B 86 -19 617 710 ;
+C 49 ; WX 556 ; N one ; B 173 0 529 710 ;
+C 50 ; WX 556 ; N two ; B 26 0 619 710 ;
+C 51 ; WX 556 ; N three ; B 65 -19 608 710 ;
+C 52 ; WX 556 ; N four ; B 60 0 598 710 ;
+C 53 ; WX 556 ; N five ; B 64 -19 636 698 ;
+C 54 ; WX 556 ; N six ; B 85 -19 619 710 ;
+C 55 ; WX 556 ; N seven ; B 125 0 676 698 ;
+C 56 ; WX 556 ; N eight ; B 69 -19 616 710 ;
+C 57 ; WX 556 ; N nine ; B 78 -19 615 710 ;
+C 58 ; WX 333 ; N colon ; B 92 0 351 512 ;
+C 59 ; WX 333 ; N semicolon ; B 56 -168 351 512 ;
+C 60 ; WX 584 ; N less ; B 82 -8 655 514 ;
+C 61 ; WX 584 ; N equal ; B 58 87 633 419 ;
+C 62 ; WX 584 ; N greater ; B 36 -8 609 514 ;
+C 63 ; WX 611 ; N question ; B 165 0 671 727 ;
+C 64 ; WX 975 ; N at ; B 186 -19 954 737 ;
+C 65 ; WX 722 ; N A ; B 20 0 702 718 ;
+C 66 ; WX 722 ; N B ; B 76 0 764 718 ;
+C 67 ; WX 722 ; N C ; B 107 -19 789 737 ;
+C 68 ; WX 722 ; N D ; B 76 0 777 718 ;
+C 69 ; WX 667 ; N E ; B 76 0 757 718 ;
+C 70 ; WX 611 ; N F ; B 76 0 740 718 ;
+C 71 ; WX 778 ; N G ; B 108 -19 817 737 ;
+C 72 ; WX 722 ; N H ; B 71 0 804 718 ;
+C 73 ; WX 278 ; N I ; B 64 0 367 718 ;
+C 74 ; WX 556 ; N J ; B 60 -18 637 718 ;
+C 75 ; WX 722 ; N K ; B 87 0 858 718 ;
+C 76 ; WX 611 ; N L ; B 76 0 611 718 ;
+C 77 ; WX 833 ; N M ; B 69 0 918 718 ;
+C 78 ; WX 722 ; N N ; B 69 0 807 718 ;
+C 79 ; WX 778 ; N O ; B 107 -19 823 737 ;
+C 80 ; WX 667 ; N P ; B 76 0 738 718 ;
+C 81 ; WX 778 ; N Q ; B 107 -52 823 737 ;
+C 82 ; WX 722 ; N R ; B 76 0 778 718 ;
+C 83 ; WX 667 ; N S ; B 81 -19 718 737 ;
+C 84 ; WX 611 ; N T ; B 140 0 751 718 ;
+C 85 ; WX 722 ; N U ; B 116 -19 804 718 ;
+C 86 ; WX 667 ; N V ; B 172 0 801 718 ;
+C 87 ; WX 944 ; N W ; B 169 0 1082 718 ;
+C 88 ; WX 667 ; N X ; B 14 0 791 718 ;
+C 89 ; WX 667 ; N Y ; B 168 0 806 718 ;
+C 90 ; WX 611 ; N Z ; B 25 0 737 718 ;
+C 91 ; WX 333 ; N bracketleft ; B 21 -196 462 722 ;
+C 92 ; WX 278 ; N backslash ; B 124 -19 307 737 ;
+C 93 ; WX 333 ; N bracketright ; B -18 -196 423 722 ;
+C 94 ; WX 584 ; N asciicircum ; B 131 323 591 698 ;
+C 95 ; WX 556 ; N underscore ; B -27 -125 540 -75 ;
+C 96 ; WX 278 ; N quoteleft ; B 165 454 361 727 ;
+C 97 ; WX 556 ; N a ; B 55 -14 583 546 ;
+C 98 ; WX 611 ; N b ; B 61 -14 645 718 ;
+C 99 ; WX 556 ; N c ; B 79 -14 599 546 ;
+C 100 ; WX 611 ; N d ; B 82 -14 704 718 ;
+C 101 ; WX 556 ; N e ; B 70 -14 593 546 ;
+C 102 ; WX 333 ; N f ; B 87 0 469 727 ; L i fi ; L l fl ;
+C 103 ; WX 611 ; N g ; B 38 -217 666 546 ;
+C 104 ; WX 611 ; N h ; B 65 0 629 718 ;
+C 105 ; WX 278 ; N i ; B 69 0 363 725 ;
+C 106 ; WX 278 ; N j ; B -42 -214 363 725 ;
+C 107 ; WX 556 ; N k ; B 69 0 670 718 ;
+C 108 ; WX 278 ; N l ; B 69 0 362 718 ;
+C 109 ; WX 889 ; N m ; B 64 0 909 546 ;
+C 110 ; WX 611 ; N n ; B 65 0 629 546 ;
+C 111 ; WX 611 ; N o ; B 82 -14 643 546 ;
+C 112 ; WX 611 ; N p ; B 18 -207 645 546 ;
+C 113 ; WX 611 ; N q ; B 80 -207 665 546 ;
+C 114 ; WX 389 ; N r ; B 64 0 489 546 ;
+C 115 ; WX 556 ; N s ; B 63 -14 584 546 ;
+C 116 ; WX 333 ; N t ; B 100 -6 422 676 ;
+C 117 ; WX 611 ; N u ; B 98 -14 658 532 ;
+C 118 ; WX 556 ; N v ; B 126 0 656 532 ;
+C 119 ; WX 778 ; N w ; B 123 0 882 532 ;
+C 120 ; WX 556 ; N x ; B 15 0 648 532 ;
+C 121 ; WX 556 ; N y ; B 42 -214 652 532 ;
+C 122 ; WX 500 ; N z ; B 20 0 583 532 ;
+C 123 ; WX 389 ; N braceleft ; B 94 -196 518 722 ;
+C 124 ; WX 280 ; N bar ; B 36 -225 361 775 ;
+C 125 ; WX 389 ; N braceright ; B -18 -196 407 722 ;
+C 126 ; WX 584 ; N asciitilde ; B 115 163 577 343 ;
+C 161 ; WX 333 ; N exclamdown ; B 50 -186 353 532 ;
+C 162 ; WX 556 ; N cent ; B 79 -118 599 628 ;
+C 163 ; WX 556 ; N sterling ; B 50 -16 635 718 ;
+C 164 ; WX 167 ; N fraction ; B -174 -19 487 710 ;
+C 165 ; WX 556 ; N yen ; B 60 0 713 698 ;
+C 166 ; WX 556 ; N florin ; B -50 -210 669 737 ;
+C 167 ; WX 556 ; N section ; B 61 -184 598 727 ;
+C 168 ; WX 556 ; N currency ; B 27 76 680 636 ;
+C 169 ; WX 238 ; N quotesingle ; B 165 447 321 718 ;
+C 170 ; WX 500 ; N quotedblleft ; B 160 454 588 727 ;
+C 171 ; WX 556 ; N guillemotleft ; B 135 76 571 484 ;
+C 172 ; WX 333 ; N guilsinglleft ; B 130 76 353 484 ;
+C 173 ; WX 333 ; N guilsinglright ; B 99 76 322 484 ;
+C 174 ; WX 611 ; N fi ; B 87 0 696 727 ;
+C 175 ; WX 611 ; N fl ; B 87 0 695 727 ;
+C 177 ; WX 556 ; N endash ; B 48 227 627 333 ;
+C 178 ; WX 556 ; N dagger ; B 118 -171 626 718 ;
+C 179 ; WX 556 ; N daggerdbl ; B 46 -171 628 718 ;
+C 180 ; WX 278 ; N periodcentered ; B 110 172 276 334 ;
+C 182 ; WX 556 ; N paragraph ; B 98 -191 688 700 ;
+C 183 ; WX 350 ; N bullet ; B 83 194 420 524 ;
+C 184 ; WX 278 ; N quotesinglbase ; B 41 -146 236 127 ;
+C 185 ; WX 500 ; N quotedblbase ; B 36 -146 463 127 ;
+C 186 ; WX 500 ; N quotedblright ; B 162 445 589 718 ;
+C 187 ; WX 556 ; N guillemotright ; B 104 76 540 484 ;
+C 188 ; WX 1000 ; N ellipsis ; B 92 0 939 146 ;
+C 189 ; WX 1000 ; N perthousand ; B 76 -19 1038 710 ;
+C 191 ; WX 611 ; N questiondown ; B 53 -195 559 532 ;
+C 193 ; WX 333 ; N grave ; B 136 604 353 750 ;
+C 194 ; WX 333 ; N acute ; B 236 604 515 750 ;
+C 195 ; WX 333 ; N circumflex ; B 118 604 471 750 ;
+C 196 ; WX 333 ; N tilde ; B 113 610 507 737 ;
+C 197 ; WX 333 ; N macron ; B 122 604 483 678 ;
+C 198 ; WX 333 ; N breve ; B 156 604 494 750 ;
+C 199 ; WX 333 ; N dotaccent ; B 235 614 385 729 ;
+C 200 ; WX 333 ; N dieresis ; B 137 614 482 729 ;
+C 202 ; WX 333 ; N ring ; B 200 568 420 776 ;
+C 203 ; WX 333 ; N cedilla ; B -37 -228 220 0 ;
+C 205 ; WX 333 ; N hungarumlaut ; B 137 604 645 750 ;
+C 206 ; WX 333 ; N ogonek ; B 41 -228 264 0 ;
+C 207 ; WX 333 ; N caron ; B 149 604 502 750 ;
+C 208 ; WX 1000 ; N emdash ; B 48 227 1071 333 ;
+C 225 ; WX 1000 ; N AE ; B 5 0 1100 718 ;
+C 227 ; WX 370 ; N ordfeminine ; B 125 401 465 737 ;
+C 232 ; WX 611 ; N Lslash ; B 34 0 611 718 ;
+C 233 ; WX 778 ; N Oslash ; B 35 -27 894 745 ;
+C 234 ; WX 1000 ; N OE ; B 99 -19 1114 737 ;
+C 235 ; WX 365 ; N ordmasculine ; B 123 401 485 737 ;
+C 241 ; WX 889 ; N ae ; B 56 -14 923 546 ;
+C 245 ; WX 278 ; N dotlessi ; B 69 0 322 532 ;
+C 248 ; WX 278 ; N lslash ; B 40 0 407 718 ;
+C 249 ; WX 611 ; N oslash ; B 22 -29 701 560 ;
+C 250 ; WX 944 ; N oe ; B 82 -14 977 546 ;
+C 251 ; WX 611 ; N germandbls ; B 69 -14 657 731 ;
+C -1 ; WX 278 ; N Idieresis ; B 64 0 494 915 ;
+C -1 ; WX 556 ; N eacute ; B 70 -14 627 750 ;
+C -1 ; WX 556 ; N abreve ; B 55 -14 606 750 ;
+C -1 ; WX 611 ; N uhungarumlaut ; B 98 -14 784 750 ;
+C -1 ; WX 556 ; N ecaron ; B 70 -14 614 750 ;
+C -1 ; WX 667 ; N Ydieresis ; B 168 0 806 915 ;
+C -1 ; WX 584 ; N divide ; B 82 -42 610 548 ;
+C -1 ; WX 667 ; N Yacute ; B 168 0 806 936 ;
+C -1 ; WX 722 ; N Acircumflex ; B 20 0 706 936 ;
+C -1 ; WX 556 ; N aacute ; B 55 -14 627 750 ;
+C -1 ; WX 722 ; N Ucircumflex ; B 116 -19 804 936 ;
+C -1 ; WX 556 ; N yacute ; B 42 -214 652 750 ;
+C -1 ; WX 556 ; N scommaaccent ; B 63 -228 584 546 ;
+C -1 ; WX 556 ; N ecircumflex ; B 70 -14 593 750 ;
+C -1 ; WX 722 ; N Uring ; B 116 -19 804 962 ;
+C -1 ; WX 722 ; N Udieresis ; B 116 -19 804 915 ;
+C -1 ; WX 556 ; N aogonek ; B 55 -224 583 546 ;
+C -1 ; WX 722 ; N Uacute ; B 116 -19 804 936 ;
+C -1 ; WX 611 ; N uogonek ; B 98 -228 658 532 ;
+C -1 ; WX 667 ; N Edieresis ; B 76 0 757 915 ;
+C -1 ; WX 722 ; N Dcroat ; B 62 0 777 718 ;
+C -1 ; WX 250 ; N commaaccent ; B 16 -228 188 -50 ;
+C -1 ; WX 737 ; N copyright ; B 56 -19 835 737 ;
+C -1 ; WX 667 ; N Emacron ; B 76 0 757 864 ;
+C -1 ; WX 556 ; N ccaron ; B 79 -14 614 750 ;
+C -1 ; WX 556 ; N aring ; B 55 -14 583 776 ;
+C -1 ; WX 722 ; N Ncommaaccent ; B 69 -228 807 718 ;
+C -1 ; WX 278 ; N lacute ; B 69 0 528 936 ;
+C -1 ; WX 556 ; N agrave ; B 55 -14 583 750 ;
+C -1 ; WX 611 ; N Tcommaaccent ; B 140 -228 751 718 ;
+C -1 ; WX 722 ; N Cacute ; B 107 -19 789 936 ;
+C -1 ; WX 556 ; N atilde ; B 55 -14 619 737 ;
+C -1 ; WX 667 ; N Edotaccent ; B 76 0 757 915 ;
+C -1 ; WX 556 ; N scaron ; B 63 -14 614 750 ;
+C -1 ; WX 556 ; N scedilla ; B 63 -228 584 546 ;
+C -1 ; WX 278 ; N iacute ; B 69 0 488 750 ;
+C -1 ; WX 494 ; N lozenge ; B 90 0 564 745 ;
+C -1 ; WX 722 ; N Rcaron ; B 76 0 778 936 ;
+C -1 ; WX 778 ; N Gcommaaccent ; B 108 -228 817 737 ;
+C -1 ; WX 611 ; N ucircumflex ; B 98 -14 658 750 ;
+C -1 ; WX 556 ; N acircumflex ; B 55 -14 583 750 ;
+C -1 ; WX 722 ; N Amacron ; B 20 0 718 864 ;
+C -1 ; WX 389 ; N rcaron ; B 64 0 530 750 ;
+C -1 ; WX 556 ; N ccedilla ; B 79 -228 599 546 ;
+C -1 ; WX 611 ; N Zdotaccent ; B 25 0 737 915 ;
+C -1 ; WX 667 ; N Thorn ; B 76 0 716 718 ;
+C -1 ; WX 778 ; N Omacron ; B 107 -19 823 864 ;
+C -1 ; WX 722 ; N Racute ; B 76 0 778 936 ;
+C -1 ; WX 667 ; N Sacute ; B 81 -19 722 936 ;
+C -1 ; WX 743 ; N dcaron ; B 82 -14 903 718 ;
+C -1 ; WX 722 ; N Umacron ; B 116 -19 804 864 ;
+C -1 ; WX 611 ; N uring ; B 98 -14 658 776 ;
+C -1 ; WX 333 ; N threesuperior ; B 91 271 441 710 ;
+C -1 ; WX 778 ; N Ograve ; B 107 -19 823 936 ;
+C -1 ; WX 722 ; N Agrave ; B 20 0 702 936 ;
+C -1 ; WX 722 ; N Abreve ; B 20 0 729 936 ;
+C -1 ; WX 584 ; N multiply ; B 57 1 635 505 ;
+C -1 ; WX 611 ; N uacute ; B 98 -14 658 750 ;
+C -1 ; WX 611 ; N Tcaron ; B 140 0 751 936 ;
+C -1 ; WX 494 ; N partialdiff ; B 43 -21 585 750 ;
+C -1 ; WX 556 ; N ydieresis ; B 42 -214 652 729 ;
+C -1 ; WX 722 ; N Nacute ; B 69 0 807 936 ;
+C -1 ; WX 278 ; N icircumflex ; B 69 0 444 750 ;
+C -1 ; WX 667 ; N Ecircumflex ; B 76 0 757 936 ;
+C -1 ; WX 556 ; N adieresis ; B 55 -14 594 729 ;
+C -1 ; WX 556 ; N edieresis ; B 70 -14 594 729 ;
+C -1 ; WX 556 ; N cacute ; B 79 -14 627 750 ;
+C -1 ; WX 611 ; N nacute ; B 65 0 654 750 ;
+C -1 ; WX 611 ; N umacron ; B 98 -14 658 678 ;
+C -1 ; WX 722 ; N Ncaron ; B 69 0 807 936 ;
+C -1 ; WX 278 ; N Iacute ; B 64 0 528 936 ;
+C -1 ; WX 584 ; N plusminus ; B 40 0 625 506 ;
+C -1 ; WX 280 ; N brokenbar ; B 52 -150 345 700 ;
+C -1 ; WX 737 ; N registered ; B 55 -19 834 737 ;
+C -1 ; WX 778 ; N Gbreve ; B 108 -19 817 936 ;
+C -1 ; WX 278 ; N Idotaccent ; B 64 0 397 915 ;
+C -1 ; WX 600 ; N summation ; B 14 -10 670 706 ;
+C -1 ; WX 667 ; N Egrave ; B 76 0 757 936 ;
+C -1 ; WX 389 ; N racute ; B 64 0 543 750 ;
+C -1 ; WX 611 ; N omacron ; B 82 -14 643 678 ;
+C -1 ; WX 611 ; N Zacute ; B 25 0 737 936 ;
+C -1 ; WX 611 ; N Zcaron ; B 25 0 737 936 ;
+C -1 ; WX 549 ; N greaterequal ; B 26 0 629 704 ;
+C -1 ; WX 722 ; N Eth ; B 62 0 777 718 ;
+C -1 ; WX 722 ; N Ccedilla ; B 107 -228 789 737 ;
+C -1 ; WX 278 ; N lcommaaccent ; B 30 -228 362 718 ;
+C -1 ; WX 389 ; N tcaron ; B 100 -6 608 878 ;
+C -1 ; WX 556 ; N eogonek ; B 70 -228 593 546 ;
+C -1 ; WX 722 ; N Uogonek ; B 116 -228 804 718 ;
+C -1 ; WX 722 ; N Aacute ; B 20 0 750 936 ;
+C -1 ; WX 722 ; N Adieresis ; B 20 0 716 915 ;
+C -1 ; WX 556 ; N egrave ; B 70 -14 593 750 ;
+C -1 ; WX 500 ; N zacute ; B 20 0 599 750 ;
+C -1 ; WX 278 ; N iogonek ; B -14 -224 363 725 ;
+C -1 ; WX 778 ; N Oacute ; B 107 -19 823 936 ;
+C -1 ; WX 611 ; N oacute ; B 82 -14 654 750 ;
+C -1 ; WX 556 ; N amacron ; B 55 -14 595 678 ;
+C -1 ; WX 556 ; N sacute ; B 63 -14 627 750 ;
+C -1 ; WX 278 ; N idieresis ; B 69 0 455 729 ;
+C -1 ; WX 778 ; N Ocircumflex ; B 107 -19 823 936 ;
+C -1 ; WX 722 ; N Ugrave ; B 116 -19 804 936 ;
+C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ;
+C -1 ; WX 611 ; N thorn ; B 18 -208 645 718 ;
+C -1 ; WX 333 ; N twosuperior ; B 69 283 449 710 ;
+C -1 ; WX 778 ; N Odieresis ; B 107 -19 823 915 ;
+C -1 ; WX 611 ; N mu ; B 22 -207 658 532 ;
+C -1 ; WX 278 ; N igrave ; B 69 0 326 750 ;
+C -1 ; WX 611 ; N ohungarumlaut ; B 82 -14 784 750 ;
+C -1 ; WX 667 ; N Eogonek ; B 76 -224 757 718 ;
+C -1 ; WX 611 ; N dcroat ; B 82 -14 789 718 ;
+C -1 ; WX 834 ; N threequarters ; B 99 -19 839 710 ;
+C -1 ; WX 667 ; N Scedilla ; B 81 -228 718 737 ;
+C -1 ; WX 400 ; N lcaron ; B 69 0 561 718 ;
+C -1 ; WX 722 ; N Kcommaaccent ; B 87 -228 858 718 ;
+C -1 ; WX 611 ; N Lacute ; B 76 0 611 936 ;
+C -1 ; WX 1000 ; N trademark ; B 179 306 1109 718 ;
+C -1 ; WX 556 ; N edotaccent ; B 70 -14 593 729 ;
+C -1 ; WX 278 ; N Igrave ; B 64 0 367 936 ;
+C -1 ; WX 278 ; N Imacron ; B 64 0 496 864 ;
+C -1 ; WX 611 ; N Lcaron ; B 76 0 643 718 ;
+C -1 ; WX 834 ; N onehalf ; B 132 -19 858 710 ;
+C -1 ; WX 549 ; N lessequal ; B 29 0 676 704 ;
+C -1 ; WX 611 ; N ocircumflex ; B 82 -14 643 750 ;
+C -1 ; WX 611 ; N ntilde ; B 65 0 646 737 ;
+C -1 ; WX 722 ; N Uhungarumlaut ; B 116 -19 880 936 ;
+C -1 ; WX 667 ; N Eacute ; B 76 0 757 936 ;
+C -1 ; WX 556 ; N emacron ; B 70 -14 595 678 ;
+C -1 ; WX 611 ; N gbreve ; B 38 -217 666 750 ;
+C -1 ; WX 834 ; N onequarter ; B 132 -19 806 710 ;
+C -1 ; WX 667 ; N Scaron ; B 81 -19 718 936 ;
+C -1 ; WX 667 ; N Scommaaccent ; B 81 -228 718 737 ;
+C -1 ; WX 778 ; N Ohungarumlaut ; B 107 -19 908 936 ;
+C -1 ; WX 400 ; N degree ; B 175 426 467 712 ;
+C -1 ; WX 611 ; N ograve ; B 82 -14 643 750 ;
+C -1 ; WX 722 ; N Ccaron ; B 107 -19 789 936 ;
+C -1 ; WX 611 ; N ugrave ; B 98 -14 658 750 ;
+C -1 ; WX 549 ; N radical ; B 112 -46 689 850 ;
+C -1 ; WX 722 ; N Dcaron ; B 76 0 777 936 ;
+C -1 ; WX 389 ; N rcommaaccent ; B 26 -228 489 546 ;
+C -1 ; WX 722 ; N Ntilde ; B 69 0 807 923 ;
+C -1 ; WX 611 ; N otilde ; B 82 -14 646 737 ;
+C -1 ; WX 722 ; N Rcommaaccent ; B 76 -228 778 718 ;
+C -1 ; WX 611 ; N Lcommaaccent ; B 76 -228 611 718 ;
+C -1 ; WX 722 ; N Atilde ; B 20 0 741 923 ;
+C -1 ; WX 722 ; N Aogonek ; B 20 -224 702 718 ;
+C -1 ; WX 722 ; N Aring ; B 20 0 702 962 ;
+C -1 ; WX 778 ; N Otilde ; B 107 -19 823 923 ;
+C -1 ; WX 500 ; N zdotaccent ; B 20 0 583 729 ;
+C -1 ; WX 667 ; N Ecaron ; B 76 0 757 936 ;
+C -1 ; WX 278 ; N Iogonek ; B -41 -228 367 718 ;
+C -1 ; WX 556 ; N kcommaaccent ; B 69 -228 670 718 ;
+C -1 ; WX 584 ; N minus ; B 82 197 610 309 ;
+C -1 ; WX 278 ; N Icircumflex ; B 64 0 484 936 ;
+C -1 ; WX 611 ; N ncaron ; B 65 0 641 750 ;
+C -1 ; WX 333 ; N tcommaaccent ; B 58 -228 422 676 ;
+C -1 ; WX 584 ; N logicalnot ; B 105 108 633 419 ;
+C -1 ; WX 611 ; N odieresis ; B 82 -14 643 729 ;
+C -1 ; WX 611 ; N udieresis ; B 98 -14 658 729 ;
+C -1 ; WX 549 ; N notequal ; B 32 -49 630 570 ;
+C -1 ; WX 611 ; N gcommaaccent ; B 38 -217 666 850 ;
+C -1 ; WX 611 ; N eth ; B 82 -14 670 737 ;
+C -1 ; WX 500 ; N zcaron ; B 20 0 586 750 ;
+C -1 ; WX 611 ; N ncommaaccent ; B 65 -228 629 546 ;
+C -1 ; WX 333 ; N onesuperior ; B 148 283 388 710 ;
+C -1 ; WX 278 ; N imacron ; B 69 0 429 678 ;
+EndCharMetrics
+StartKernData
+StartKernPairs 2481
+KPX A C -40
+KPX A Cacute -40
+KPX A Ccaron -40
+KPX A Ccedilla -40
+KPX A G -50
+KPX A Gbreve -50
+KPX A Gcommaaccent -50
+KPX A O -40
+KPX A Oacute -40
+KPX A Ocircumflex -40
+KPX A Odieresis -40
+KPX A Ograve -40
+KPX A Ohungarumlaut -40
+KPX A Omacron -40
+KPX A Oslash -40
+KPX A Otilde -40
+KPX A Q -40
+KPX A T -90
+KPX A Tcaron -90
+KPX A Tcommaaccent -90
+KPX A U -50
+KPX A Uacute -50
+KPX A Ucircumflex -50
+KPX A Udieresis -50
+KPX A Ugrave -50
+KPX A Uhungarumlaut -50
+KPX A Umacron -50
+KPX A Uogonek -50
+KPX A Uring -50
+KPX A V -80
+KPX A W -60
+KPX A Y -110
+KPX A Yacute -110
+KPX A Ydieresis -110
+KPX A u -30
+KPX A uacute -30
+KPX A ucircumflex -30
+KPX A udieresis -30
+KPX A ugrave -30
+KPX A uhungarumlaut -30
+KPX A umacron -30
+KPX A uogonek -30
+KPX A uring -30
+KPX A v -40
+KPX A w -30
+KPX A y -30
+KPX A yacute -30
+KPX A ydieresis -30
+KPX Aacute C -40
+KPX Aacute Cacute -40
+KPX Aacute Ccaron -40
+KPX Aacute Ccedilla -40
+KPX Aacute G -50
+KPX Aacute Gbreve -50
+KPX Aacute Gcommaaccent -50
+KPX Aacute O -40
+KPX Aacute Oacute -40
+KPX Aacute Ocircumflex -40
+KPX Aacute Odieresis -40
+KPX Aacute Ograve -40
+KPX Aacute Ohungarumlaut -40
+KPX Aacute Omacron -40
+KPX Aacute Oslash -40
+KPX Aacute Otilde -40
+KPX Aacute Q -40
+KPX Aacute T -90
+KPX Aacute Tcaron -90
+KPX Aacute Tcommaaccent -90
+KPX Aacute U -50
+KPX Aacute Uacute -50
+KPX Aacute Ucircumflex -50
+KPX Aacute Udieresis -50
+KPX Aacute Ugrave -50
+KPX Aacute Uhungarumlaut -50
+KPX Aacute Umacron -50
+KPX Aacute Uogonek -50
+KPX Aacute Uring -50
+KPX Aacute V -80
+KPX Aacute W -60
+KPX Aacute Y -110
+KPX Aacute Yacute -110
+KPX Aacute Ydieresis -110
+KPX Aacute u -30
+KPX Aacute uacute -30
+KPX Aacute ucircumflex -30
+KPX Aacute udieresis -30
+KPX Aacute ugrave -30
+KPX Aacute uhungarumlaut -30
+KPX Aacute umacron -30
+KPX Aacute uogonek -30
+KPX Aacute uring -30
+KPX Aacute v -40
+KPX Aacute w -30
+KPX Aacute y -30
+KPX Aacute yacute -30
+KPX Aacute ydieresis -30
+KPX Abreve C -40
+KPX Abreve Cacute -40
+KPX Abreve Ccaron -40
+KPX Abreve Ccedilla -40
+KPX Abreve G -50
+KPX Abreve Gbreve -50
+KPX Abreve Gcommaaccent -50
+KPX Abreve O -40
+KPX Abreve Oacute -40
+KPX Abreve Ocircumflex -40
+KPX Abreve Odieresis -40
+KPX Abreve Ograve -40
+KPX Abreve Ohungarumlaut -40
+KPX Abreve Omacron -40
+KPX Abreve Oslash -40
+KPX Abreve Otilde -40
+KPX Abreve Q -40
+KPX Abreve T -90
+KPX Abreve Tcaron -90
+KPX Abreve Tcommaaccent -90
+KPX Abreve U -50
+KPX Abreve Uacute -50
+KPX Abreve Ucircumflex -50
+KPX Abreve Udieresis -50
+KPX Abreve Ugrave -50
+KPX Abreve Uhungarumlaut -50
+KPX Abreve Umacron -50
+KPX Abreve Uogonek -50
+KPX Abreve Uring -50
+KPX Abreve V -80
+KPX Abreve W -60
+KPX Abreve Y -110
+KPX Abreve Yacute -110
+KPX Abreve Ydieresis -110
+KPX Abreve u -30
+KPX Abreve uacute -30
+KPX Abreve ucircumflex -30
+KPX Abreve udieresis -30
+KPX Abreve ugrave -30
+KPX Abreve uhungarumlaut -30
+KPX Abreve umacron -30
+KPX Abreve uogonek -30
+KPX Abreve uring -30
+KPX Abreve v -40
+KPX Abreve w -30
+KPX Abreve y -30
+KPX Abreve yacute -30
+KPX Abreve ydieresis -30
+KPX Acircumflex C -40
+KPX Acircumflex Cacute -40
+KPX Acircumflex Ccaron -40
+KPX Acircumflex Ccedilla -40
+KPX Acircumflex G -50
+KPX Acircumflex Gbreve -50
+KPX Acircumflex Gcommaaccent -50
+KPX Acircumflex O -40
+KPX Acircumflex Oacute -40
+KPX Acircumflex Ocircumflex -40
+KPX Acircumflex Odieresis -40
+KPX Acircumflex Ograve -40
+KPX Acircumflex Ohungarumlaut -40
+KPX Acircumflex Omacron -40
+KPX Acircumflex Oslash -40
+KPX Acircumflex Otilde -40
+KPX Acircumflex Q -40
+KPX Acircumflex T -90
+KPX Acircumflex Tcaron -90
+KPX Acircumflex Tcommaaccent -90
+KPX Acircumflex U -50
+KPX Acircumflex Uacute -50
+KPX Acircumflex Ucircumflex -50
+KPX Acircumflex Udieresis -50
+KPX Acircumflex Ugrave -50
+KPX Acircumflex Uhungarumlaut -50
+KPX Acircumflex Umacron -50
+KPX Acircumflex Uogonek -50
+KPX Acircumflex Uring -50
+KPX Acircumflex V -80
+KPX Acircumflex W -60
+KPX Acircumflex Y -110
+KPX Acircumflex Yacute -110
+KPX Acircumflex Ydieresis -110
+KPX Acircumflex u -30
+KPX Acircumflex uacute -30
+KPX Acircumflex ucircumflex -30
+KPX Acircumflex udieresis -30
+KPX Acircumflex ugrave -30
+KPX Acircumflex uhungarumlaut -30
+KPX Acircumflex umacron -30
+KPX Acircumflex uogonek -30
+KPX Acircumflex uring -30
+KPX Acircumflex v -40
+KPX Acircumflex w -30
+KPX Acircumflex y -30
+KPX Acircumflex yacute -30
+KPX Acircumflex ydieresis -30
+KPX Adieresis C -40
+KPX Adieresis Cacute -40
+KPX Adieresis Ccaron -40
+KPX Adieresis Ccedilla -40
+KPX Adieresis G -50
+KPX Adieresis Gbreve -50
+KPX Adieresis Gcommaaccent -50
+KPX Adieresis O -40
+KPX Adieresis Oacute -40
+KPX Adieresis Ocircumflex -40
+KPX Adieresis Odieresis -40
+KPX Adieresis Ograve -40
+KPX Adieresis Ohungarumlaut -40
+KPX Adieresis Omacron -40
+KPX Adieresis Oslash -40
+KPX Adieresis Otilde -40
+KPX Adieresis Q -40
+KPX Adieresis T -90
+KPX Adieresis Tcaron -90
+KPX Adieresis Tcommaaccent -90
+KPX Adieresis U -50
+KPX Adieresis Uacute -50
+KPX Adieresis Ucircumflex -50
+KPX Adieresis Udieresis -50
+KPX Adieresis Ugrave -50
+KPX Adieresis Uhungarumlaut -50
+KPX Adieresis Umacron -50
+KPX Adieresis Uogonek -50
+KPX Adieresis Uring -50
+KPX Adieresis V -80
+KPX Adieresis W -60
+KPX Adieresis Y -110
+KPX Adieresis Yacute -110
+KPX Adieresis Ydieresis -110
+KPX Adieresis u -30
+KPX Adieresis uacute -30
+KPX Adieresis ucircumflex -30
+KPX Adieresis udieresis -30
+KPX Adieresis ugrave -30
+KPX Adieresis uhungarumlaut -30
+KPX Adieresis umacron -30
+KPX Adieresis uogonek -30
+KPX Adieresis uring -30
+KPX Adieresis v -40
+KPX Adieresis w -30
+KPX Adieresis y -30
+KPX Adieresis yacute -30
+KPX Adieresis ydieresis -30
+KPX Agrave C -40
+KPX Agrave Cacute -40
+KPX Agrave Ccaron -40
+KPX Agrave Ccedilla -40
+KPX Agrave G -50
+KPX Agrave Gbreve -50
+KPX Agrave Gcommaaccent -50
+KPX Agrave O -40
+KPX Agrave Oacute -40
+KPX Agrave Ocircumflex -40
+KPX Agrave Odieresis -40
+KPX Agrave Ograve -40
+KPX Agrave Ohungarumlaut -40
+KPX Agrave Omacron -40
+KPX Agrave Oslash -40
+KPX Agrave Otilde -40
+KPX Agrave Q -40
+KPX Agrave T -90
+KPX Agrave Tcaron -90
+KPX Agrave Tcommaaccent -90
+KPX Agrave U -50
+KPX Agrave Uacute -50
+KPX Agrave Ucircumflex -50
+KPX Agrave Udieresis -50
+KPX Agrave Ugrave -50
+KPX Agrave Uhungarumlaut -50
+KPX Agrave Umacron -50
+KPX Agrave Uogonek -50
+KPX Agrave Uring -50
+KPX Agrave V -80
+KPX Agrave W -60
+KPX Agrave Y -110
+KPX Agrave Yacute -110
+KPX Agrave Ydieresis -110
+KPX Agrave u -30
+KPX Agrave uacute -30
+KPX Agrave ucircumflex -30
+KPX Agrave udieresis -30
+KPX Agrave ugrave -30
+KPX Agrave uhungarumlaut -30
+KPX Agrave umacron -30
+KPX Agrave uogonek -30
+KPX Agrave uring -30
+KPX Agrave v -40
+KPX Agrave w -30
+KPX Agrave y -30
+KPX Agrave yacute -30
+KPX Agrave ydieresis -30
+KPX Amacron C -40
+KPX Amacron Cacute -40
+KPX Amacron Ccaron -40
+KPX Amacron Ccedilla -40
+KPX Amacron G -50
+KPX Amacron Gbreve -50
+KPX Amacron Gcommaaccent -50
+KPX Amacron O -40
+KPX Amacron Oacute -40
+KPX Amacron Ocircumflex -40
+KPX Amacron Odieresis -40
+KPX Amacron Ograve -40
+KPX Amacron Ohungarumlaut -40
+KPX Amacron Omacron -40
+KPX Amacron Oslash -40
+KPX Amacron Otilde -40
+KPX Amacron Q -40
+KPX Amacron T -90
+KPX Amacron Tcaron -90
+KPX Amacron Tcommaaccent -90
+KPX Amacron U -50
+KPX Amacron Uacute -50
+KPX Amacron Ucircumflex -50
+KPX Amacron Udieresis -50
+KPX Amacron Ugrave -50
+KPX Amacron Uhungarumlaut -50
+KPX Amacron Umacron -50
+KPX Amacron Uogonek -50
+KPX Amacron Uring -50
+KPX Amacron V -80
+KPX Amacron W -60
+KPX Amacron Y -110
+KPX Amacron Yacute -110
+KPX Amacron Ydieresis -110
+KPX Amacron u -30
+KPX Amacron uacute -30
+KPX Amacron ucircumflex -30
+KPX Amacron udieresis -30
+KPX Amacron ugrave -30
+KPX Amacron uhungarumlaut -30
+KPX Amacron umacron -30
+KPX Amacron uogonek -30
+KPX Amacron uring -30
+KPX Amacron v -40
+KPX Amacron w -30
+KPX Amacron y -30
+KPX Amacron yacute -30
+KPX Amacron ydieresis -30
+KPX Aogonek C -40
+KPX Aogonek Cacute -40
+KPX Aogonek Ccaron -40
+KPX Aogonek Ccedilla -40
+KPX Aogonek G -50
+KPX Aogonek Gbreve -50
+KPX Aogonek Gcommaaccent -50
+KPX Aogonek O -40
+KPX Aogonek Oacute -40
+KPX Aogonek Ocircumflex -40
+KPX Aogonek Odieresis -40
+KPX Aogonek Ograve -40
+KPX Aogonek Ohungarumlaut -40
+KPX Aogonek Omacron -40
+KPX Aogonek Oslash -40
+KPX Aogonek Otilde -40
+KPX Aogonek Q -40
+KPX Aogonek T -90
+KPX Aogonek Tcaron -90
+KPX Aogonek Tcommaaccent -90
+KPX Aogonek U -50
+KPX Aogonek Uacute -50
+KPX Aogonek Ucircumflex -50
+KPX Aogonek Udieresis -50
+KPX Aogonek Ugrave -50
+KPX Aogonek Uhungarumlaut -50
+KPX Aogonek Umacron -50
+KPX Aogonek Uogonek -50
+KPX Aogonek Uring -50
+KPX Aogonek V -80
+KPX Aogonek W -60
+KPX Aogonek Y -110
+KPX Aogonek Yacute -110
+KPX Aogonek Ydieresis -110
+KPX Aogonek u -30
+KPX Aogonek uacute -30
+KPX Aogonek ucircumflex -30
+KPX Aogonek udieresis -30
+KPX Aogonek ugrave -30
+KPX Aogonek uhungarumlaut -30
+KPX Aogonek umacron -30
+KPX Aogonek uogonek -30
+KPX Aogonek uring -30
+KPX Aogonek v -40
+KPX Aogonek w -30
+KPX Aogonek y -30
+KPX Aogonek yacute -30
+KPX Aogonek ydieresis -30
+KPX Aring C -40
+KPX Aring Cacute -40
+KPX Aring Ccaron -40
+KPX Aring Ccedilla -40
+KPX Aring G -50
+KPX Aring Gbreve -50
+KPX Aring Gcommaaccent -50
+KPX Aring O -40
+KPX Aring Oacute -40
+KPX Aring Ocircumflex -40
+KPX Aring Odieresis -40
+KPX Aring Ograve -40
+KPX Aring Ohungarumlaut -40
+KPX Aring Omacron -40
+KPX Aring Oslash -40
+KPX Aring Otilde -40
+KPX Aring Q -40
+KPX Aring T -90
+KPX Aring Tcaron -90
+KPX Aring Tcommaaccent -90
+KPX Aring U -50
+KPX Aring Uacute -50
+KPX Aring Ucircumflex -50
+KPX Aring Udieresis -50
+KPX Aring Ugrave -50
+KPX Aring Uhungarumlaut -50
+KPX Aring Umacron -50
+KPX Aring Uogonek -50
+KPX Aring Uring -50
+KPX Aring V -80
+KPX Aring W -60
+KPX Aring Y -110
+KPX Aring Yacute -110
+KPX Aring Ydieresis -110
+KPX Aring u -30
+KPX Aring uacute -30
+KPX Aring ucircumflex -30
+KPX Aring udieresis -30
+KPX Aring ugrave -30
+KPX Aring uhungarumlaut -30
+KPX Aring umacron -30
+KPX Aring uogonek -30
+KPX Aring uring -30
+KPX Aring v -40
+KPX Aring w -30
+KPX Aring y -30
+KPX Aring yacute -30
+KPX Aring ydieresis -30
+KPX Atilde C -40
+KPX Atilde Cacute -40
+KPX Atilde Ccaron -40
+KPX Atilde Ccedilla -40
+KPX Atilde G -50
+KPX Atilde Gbreve -50
+KPX Atilde Gcommaaccent -50
+KPX Atilde O -40
+KPX Atilde Oacute -40
+KPX Atilde Ocircumflex -40
+KPX Atilde Odieresis -40
+KPX Atilde Ograve -40
+KPX Atilde Ohungarumlaut -40
+KPX Atilde Omacron -40
+KPX Atilde Oslash -40
+KPX Atilde Otilde -40
+KPX Atilde Q -40
+KPX Atilde T -90
+KPX Atilde Tcaron -90
+KPX Atilde Tcommaaccent -90
+KPX Atilde U -50
+KPX Atilde Uacute -50
+KPX Atilde Ucircumflex -50
+KPX Atilde Udieresis -50
+KPX Atilde Ugrave -50
+KPX Atilde Uhungarumlaut -50
+KPX Atilde Umacron -50
+KPX Atilde Uogonek -50
+KPX Atilde Uring -50
+KPX Atilde V -80
+KPX Atilde W -60
+KPX Atilde Y -110
+KPX Atilde Yacute -110
+KPX Atilde Ydieresis -110
+KPX Atilde u -30
+KPX Atilde uacute -30
+KPX Atilde ucircumflex -30
+KPX Atilde udieresis -30
+KPX Atilde ugrave -30
+KPX Atilde uhungarumlaut -30
+KPX Atilde umacron -30
+KPX Atilde uogonek -30
+KPX Atilde uring -30
+KPX Atilde v -40
+KPX Atilde w -30
+KPX Atilde y -30
+KPX Atilde yacute -30
+KPX Atilde ydieresis -30
+KPX B A -30
+KPX B Aacute -30
+KPX B Abreve -30
+KPX B Acircumflex -30
+KPX B Adieresis -30
+KPX B Agrave -30
+KPX B Amacron -30
+KPX B Aogonek -30
+KPX B Aring -30
+KPX B Atilde -30
+KPX B U -10
+KPX B Uacute -10
+KPX B Ucircumflex -10
+KPX B Udieresis -10
+KPX B Ugrave -10
+KPX B Uhungarumlaut -10
+KPX B Umacron -10
+KPX B Uogonek -10
+KPX B Uring -10
+KPX D A -40
+KPX D Aacute -40
+KPX D Abreve -40
+KPX D Acircumflex -40
+KPX D Adieresis -40
+KPX D Agrave -40
+KPX D Amacron -40
+KPX D Aogonek -40
+KPX D Aring -40
+KPX D Atilde -40
+KPX D V -40
+KPX D W -40
+KPX D Y -70
+KPX D Yacute -70
+KPX D Ydieresis -70
+KPX D comma -30
+KPX D period -30
+KPX Dcaron A -40
+KPX Dcaron Aacute -40
+KPX Dcaron Abreve -40
+KPX Dcaron Acircumflex -40
+KPX Dcaron Adieresis -40
+KPX Dcaron Agrave -40
+KPX Dcaron Amacron -40
+KPX Dcaron Aogonek -40
+KPX Dcaron Aring -40
+KPX Dcaron Atilde -40
+KPX Dcaron V -40
+KPX Dcaron W -40
+KPX Dcaron Y -70
+KPX Dcaron Yacute -70
+KPX Dcaron Ydieresis -70
+KPX Dcaron comma -30
+KPX Dcaron period -30
+KPX Dcroat A -40
+KPX Dcroat Aacute -40
+KPX Dcroat Abreve -40
+KPX Dcroat Acircumflex -40
+KPX Dcroat Adieresis -40
+KPX Dcroat Agrave -40
+KPX Dcroat Amacron -40
+KPX Dcroat Aogonek -40
+KPX Dcroat Aring -40
+KPX Dcroat Atilde -40
+KPX Dcroat V -40
+KPX Dcroat W -40
+KPX Dcroat Y -70
+KPX Dcroat Yacute -70
+KPX Dcroat Ydieresis -70
+KPX Dcroat comma -30
+KPX Dcroat period -30
+KPX F A -80
+KPX F Aacute -80
+KPX F Abreve -80
+KPX F Acircumflex -80
+KPX F Adieresis -80
+KPX F Agrave -80
+KPX F Amacron -80
+KPX F Aogonek -80
+KPX F Aring -80
+KPX F Atilde -80
+KPX F a -20
+KPX F aacute -20
+KPX F abreve -20
+KPX F acircumflex -20
+KPX F adieresis -20
+KPX F agrave -20
+KPX F amacron -20
+KPX F aogonek -20
+KPX F aring -20
+KPX F atilde -20
+KPX F comma -100
+KPX F period -100
+KPX J A -20
+KPX J Aacute -20
+KPX J Abreve -20
+KPX J Acircumflex -20
+KPX J Adieresis -20
+KPX J Agrave -20
+KPX J Amacron -20
+KPX J Aogonek -20
+KPX J Aring -20
+KPX J Atilde -20
+KPX J comma -20
+KPX J period -20
+KPX J u -20
+KPX J uacute -20
+KPX J ucircumflex -20
+KPX J udieresis -20
+KPX J ugrave -20
+KPX J uhungarumlaut -20
+KPX J umacron -20
+KPX J uogonek -20
+KPX J uring -20
+KPX K O -30
+KPX K Oacute -30
+KPX K Ocircumflex -30
+KPX K Odieresis -30
+KPX K Ograve -30
+KPX K Ohungarumlaut -30
+KPX K Omacron -30
+KPX K Oslash -30
+KPX K Otilde -30
+KPX K e -15
+KPX K eacute -15
+KPX K ecaron -15
+KPX K ecircumflex -15
+KPX K edieresis -15
+KPX K edotaccent -15
+KPX K egrave -15
+KPX K emacron -15
+KPX K eogonek -15
+KPX K o -35
+KPX K oacute -35
+KPX K ocircumflex -35
+KPX K odieresis -35
+KPX K ograve -35
+KPX K ohungarumlaut -35
+KPX K omacron -35
+KPX K oslash -35
+KPX K otilde -35
+KPX K u -30
+KPX K uacute -30
+KPX K ucircumflex -30
+KPX K udieresis -30
+KPX K ugrave -30
+KPX K uhungarumlaut -30
+KPX K umacron -30
+KPX K uogonek -30
+KPX K uring -30
+KPX K y -40
+KPX K yacute -40
+KPX K ydieresis -40
+KPX Kcommaaccent O -30
+KPX Kcommaaccent Oacute -30
+KPX Kcommaaccent Ocircumflex -30
+KPX Kcommaaccent Odieresis -30
+KPX Kcommaaccent Ograve -30
+KPX Kcommaaccent Ohungarumlaut -30
+KPX Kcommaaccent Omacron -30
+KPX Kcommaaccent Oslash -30
+KPX Kcommaaccent Otilde -30
+KPX Kcommaaccent e -15
+KPX Kcommaaccent eacute -15
+KPX Kcommaaccent ecaron -15
+KPX Kcommaaccent ecircumflex -15
+KPX Kcommaaccent edieresis -15
+KPX Kcommaaccent edotaccent -15
+KPX Kcommaaccent egrave -15
+KPX Kcommaaccent emacron -15
+KPX Kcommaaccent eogonek -15
+KPX Kcommaaccent o -35
+KPX Kcommaaccent oacute -35
+KPX Kcommaaccent ocircumflex -35
+KPX Kcommaaccent odieresis -35
+KPX Kcommaaccent ograve -35
+KPX Kcommaaccent ohungarumlaut -35
+KPX Kcommaaccent omacron -35
+KPX Kcommaaccent oslash -35
+KPX Kcommaaccent otilde -35
+KPX Kcommaaccent u -30
+KPX Kcommaaccent uacute -30
+KPX Kcommaaccent ucircumflex -30
+KPX Kcommaaccent udieresis -30
+KPX Kcommaaccent ugrave -30
+KPX Kcommaaccent uhungarumlaut -30
+KPX Kcommaaccent umacron -30
+KPX Kcommaaccent uogonek -30
+KPX Kcommaaccent uring -30
+KPX Kcommaaccent y -40
+KPX Kcommaaccent yacute -40
+KPX Kcommaaccent ydieresis -40
+KPX L T -90
+KPX L Tcaron -90
+KPX L Tcommaaccent -90
+KPX L V -110
+KPX L W -80
+KPX L Y -120
+KPX L Yacute -120
+KPX L Ydieresis -120
+KPX L quotedblright -140
+KPX L quoteright -140
+KPX L y -30
+KPX L yacute -30
+KPX L ydieresis -30
+KPX Lacute T -90
+KPX Lacute Tcaron -90
+KPX Lacute Tcommaaccent -90
+KPX Lacute V -110
+KPX Lacute W -80
+KPX Lacute Y -120
+KPX Lacute Yacute -120
+KPX Lacute Ydieresis -120
+KPX Lacute quotedblright -140
+KPX Lacute quoteright -140
+KPX Lacute y -30
+KPX Lacute yacute -30
+KPX Lacute ydieresis -30
+KPX Lcommaaccent T -90
+KPX Lcommaaccent Tcaron -90
+KPX Lcommaaccent Tcommaaccent -90
+KPX Lcommaaccent V -110
+KPX Lcommaaccent W -80
+KPX Lcommaaccent Y -120
+KPX Lcommaaccent Yacute -120
+KPX Lcommaaccent Ydieresis -120
+KPX Lcommaaccent quotedblright -140
+KPX Lcommaaccent quoteright -140
+KPX Lcommaaccent y -30
+KPX Lcommaaccent yacute -30
+KPX Lcommaaccent ydieresis -30
+KPX Lslash T -90
+KPX Lslash Tcaron -90
+KPX Lslash Tcommaaccent -90
+KPX Lslash V -110
+KPX Lslash W -80
+KPX Lslash Y -120
+KPX Lslash Yacute -120
+KPX Lslash Ydieresis -120
+KPX Lslash quotedblright -140
+KPX Lslash quoteright -140
+KPX Lslash y -30
+KPX Lslash yacute -30
+KPX Lslash ydieresis -30
+KPX O A -50
+KPX O Aacute -50
+KPX O Abreve -50
+KPX O Acircumflex -50
+KPX O Adieresis -50
+KPX O Agrave -50
+KPX O Amacron -50
+KPX O Aogonek -50
+KPX O Aring -50
+KPX O Atilde -50
+KPX O T -40
+KPX O Tcaron -40
+KPX O Tcommaaccent -40
+KPX O V -50
+KPX O W -50
+KPX O X -50
+KPX O Y -70
+KPX O Yacute -70
+KPX O Ydieresis -70
+KPX O comma -40
+KPX O period -40
+KPX Oacute A -50
+KPX Oacute Aacute -50
+KPX Oacute Abreve -50
+KPX Oacute Acircumflex -50
+KPX Oacute Adieresis -50
+KPX Oacute Agrave -50
+KPX Oacute Amacron -50
+KPX Oacute Aogonek -50
+KPX Oacute Aring -50
+KPX Oacute Atilde -50
+KPX Oacute T -40
+KPX Oacute Tcaron -40
+KPX Oacute Tcommaaccent -40
+KPX Oacute V -50
+KPX Oacute W -50
+KPX Oacute X -50
+KPX Oacute Y -70
+KPX Oacute Yacute -70
+KPX Oacute Ydieresis -70
+KPX Oacute comma -40
+KPX Oacute period -40
+KPX Ocircumflex A -50
+KPX Ocircumflex Aacute -50
+KPX Ocircumflex Abreve -50
+KPX Ocircumflex Acircumflex -50
+KPX Ocircumflex Adieresis -50
+KPX Ocircumflex Agrave -50
+KPX Ocircumflex Amacron -50
+KPX Ocircumflex Aogonek -50
+KPX Ocircumflex Aring -50
+KPX Ocircumflex Atilde -50
+KPX Ocircumflex T -40
+KPX Ocircumflex Tcaron -40
+KPX Ocircumflex Tcommaaccent -40
+KPX Ocircumflex V -50
+KPX Ocircumflex W -50
+KPX Ocircumflex X -50
+KPX Ocircumflex Y -70
+KPX Ocircumflex Yacute -70
+KPX Ocircumflex Ydieresis -70
+KPX Ocircumflex comma -40
+KPX Ocircumflex period -40
+KPX Odieresis A -50
+KPX Odieresis Aacute -50
+KPX Odieresis Abreve -50
+KPX Odieresis Acircumflex -50
+KPX Odieresis Adieresis -50
+KPX Odieresis Agrave -50
+KPX Odieresis Amacron -50
+KPX Odieresis Aogonek -50
+KPX Odieresis Aring -50
+KPX Odieresis Atilde -50
+KPX Odieresis T -40
+KPX Odieresis Tcaron -40
+KPX Odieresis Tcommaaccent -40
+KPX Odieresis V -50
+KPX Odieresis W -50
+KPX Odieresis X -50
+KPX Odieresis Y -70
+KPX Odieresis Yacute -70
+KPX Odieresis Ydieresis -70
+KPX Odieresis comma -40
+KPX Odieresis period -40
+KPX Ograve A -50
+KPX Ograve Aacute -50
+KPX Ograve Abreve -50
+KPX Ograve Acircumflex -50
+KPX Ograve Adieresis -50
+KPX Ograve Agrave -50
+KPX Ograve Amacron -50
+KPX Ograve Aogonek -50
+KPX Ograve Aring -50
+KPX Ograve Atilde -50
+KPX Ograve T -40
+KPX Ograve Tcaron -40
+KPX Ograve Tcommaaccent -40
+KPX Ograve V -50
+KPX Ograve W -50
+KPX Ograve X -50
+KPX Ograve Y -70
+KPX Ograve Yacute -70
+KPX Ograve Ydieresis -70
+KPX Ograve comma -40
+KPX Ograve period -40
+KPX Ohungarumlaut A -50
+KPX Ohungarumlaut Aacute -50
+KPX Ohungarumlaut Abreve -50
+KPX Ohungarumlaut Acircumflex -50
+KPX Ohungarumlaut Adieresis -50
+KPX Ohungarumlaut Agrave -50
+KPX Ohungarumlaut Amacron -50
+KPX Ohungarumlaut Aogonek -50
+KPX Ohungarumlaut Aring -50
+KPX Ohungarumlaut Atilde -50
+KPX Ohungarumlaut T -40
+KPX Ohungarumlaut Tcaron -40
+KPX Ohungarumlaut Tcommaaccent -40
+KPX Ohungarumlaut V -50
+KPX Ohungarumlaut W -50
+KPX Ohungarumlaut X -50
+KPX Ohungarumlaut Y -70
+KPX Ohungarumlaut Yacute -70
+KPX Ohungarumlaut Ydieresis -70
+KPX Ohungarumlaut comma -40
+KPX Ohungarumlaut period -40
+KPX Omacron A -50
+KPX Omacron Aacute -50
+KPX Omacron Abreve -50
+KPX Omacron Acircumflex -50
+KPX Omacron Adieresis -50
+KPX Omacron Agrave -50
+KPX Omacron Amacron -50
+KPX Omacron Aogonek -50
+KPX Omacron Aring -50
+KPX Omacron Atilde -50
+KPX Omacron T -40
+KPX Omacron Tcaron -40
+KPX Omacron Tcommaaccent -40
+KPX Omacron V -50
+KPX Omacron W -50
+KPX Omacron X -50
+KPX Omacron Y -70
+KPX Omacron Yacute -70
+KPX Omacron Ydieresis -70
+KPX Omacron comma -40
+KPX Omacron period -40
+KPX Oslash A -50
+KPX Oslash Aacute -50
+KPX Oslash Abreve -50
+KPX Oslash Acircumflex -50
+KPX Oslash Adieresis -50
+KPX Oslash Agrave -50
+KPX Oslash Amacron -50
+KPX Oslash Aogonek -50
+KPX Oslash Aring -50
+KPX Oslash Atilde -50
+KPX Oslash T -40
+KPX Oslash Tcaron -40
+KPX Oslash Tcommaaccent -40
+KPX Oslash V -50
+KPX Oslash W -50
+KPX Oslash X -50
+KPX Oslash Y -70
+KPX Oslash Yacute -70
+KPX Oslash Ydieresis -70
+KPX Oslash comma -40
+KPX Oslash period -40
+KPX Otilde A -50
+KPX Otilde Aacute -50
+KPX Otilde Abreve -50
+KPX Otilde Acircumflex -50
+KPX Otilde Adieresis -50
+KPX Otilde Agrave -50
+KPX Otilde Amacron -50
+KPX Otilde Aogonek -50
+KPX Otilde Aring -50
+KPX Otilde Atilde -50
+KPX Otilde T -40
+KPX Otilde Tcaron -40
+KPX Otilde Tcommaaccent -40
+KPX Otilde V -50
+KPX Otilde W -50
+KPX Otilde X -50
+KPX Otilde Y -70
+KPX Otilde Yacute -70
+KPX Otilde Ydieresis -70
+KPX Otilde comma -40
+KPX Otilde period -40
+KPX P A -100
+KPX P Aacute -100
+KPX P Abreve -100
+KPX P Acircumflex -100
+KPX P Adieresis -100
+KPX P Agrave -100
+KPX P Amacron -100
+KPX P Aogonek -100
+KPX P Aring -100
+KPX P Atilde -100
+KPX P a -30
+KPX P aacute -30
+KPX P abreve -30
+KPX P acircumflex -30
+KPX P adieresis -30
+KPX P agrave -30
+KPX P amacron -30
+KPX P aogonek -30
+KPX P aring -30
+KPX P atilde -30
+KPX P comma -120
+KPX P e -30
+KPX P eacute -30
+KPX P ecaron -30
+KPX P ecircumflex -30
+KPX P edieresis -30
+KPX P edotaccent -30
+KPX P egrave -30
+KPX P emacron -30
+KPX P eogonek -30
+KPX P o -40
+KPX P oacute -40
+KPX P ocircumflex -40
+KPX P odieresis -40
+KPX P ograve -40
+KPX P ohungarumlaut -40
+KPX P omacron -40
+KPX P oslash -40
+KPX P otilde -40
+KPX P period -120
+KPX Q U -10
+KPX Q Uacute -10
+KPX Q Ucircumflex -10
+KPX Q Udieresis -10
+KPX Q Ugrave -10
+KPX Q Uhungarumlaut -10
+KPX Q Umacron -10
+KPX Q Uogonek -10
+KPX Q Uring -10
+KPX Q comma 20
+KPX Q period 20
+KPX R O -20
+KPX R Oacute -20
+KPX R Ocircumflex -20
+KPX R Odieresis -20
+KPX R Ograve -20
+KPX R Ohungarumlaut -20
+KPX R Omacron -20
+KPX R Oslash -20
+KPX R Otilde -20
+KPX R T -20
+KPX R Tcaron -20
+KPX R Tcommaaccent -20
+KPX R U -20
+KPX R Uacute -20
+KPX R Ucircumflex -20
+KPX R Udieresis -20
+KPX R Ugrave -20
+KPX R Uhungarumlaut -20
+KPX R Umacron -20
+KPX R Uogonek -20
+KPX R Uring -20
+KPX R V -50
+KPX R W -40
+KPX R Y -50
+KPX R Yacute -50
+KPX R Ydieresis -50
+KPX Racute O -20
+KPX Racute Oacute -20
+KPX Racute Ocircumflex -20
+KPX Racute Odieresis -20
+KPX Racute Ograve -20
+KPX Racute Ohungarumlaut -20
+KPX Racute Omacron -20
+KPX Racute Oslash -20
+KPX Racute Otilde -20
+KPX Racute T -20
+KPX Racute Tcaron -20
+KPX Racute Tcommaaccent -20
+KPX Racute U -20
+KPX Racute Uacute -20
+KPX Racute Ucircumflex -20
+KPX Racute Udieresis -20
+KPX Racute Ugrave -20
+KPX Racute Uhungarumlaut -20
+KPX Racute Umacron -20
+KPX Racute Uogonek -20
+KPX Racute Uring -20
+KPX Racute V -50
+KPX Racute W -40
+KPX Racute Y -50
+KPX Racute Yacute -50
+KPX Racute Ydieresis -50
+KPX Rcaron O -20
+KPX Rcaron Oacute -20
+KPX Rcaron Ocircumflex -20
+KPX Rcaron Odieresis -20
+KPX Rcaron Ograve -20
+KPX Rcaron Ohungarumlaut -20
+KPX Rcaron Omacron -20
+KPX Rcaron Oslash -20
+KPX Rcaron Otilde -20
+KPX Rcaron T -20
+KPX Rcaron Tcaron -20
+KPX Rcaron Tcommaaccent -20
+KPX Rcaron U -20
+KPX Rcaron Uacute -20
+KPX Rcaron Ucircumflex -20
+KPX Rcaron Udieresis -20
+KPX Rcaron Ugrave -20
+KPX Rcaron Uhungarumlaut -20
+KPX Rcaron Umacron -20
+KPX Rcaron Uogonek -20
+KPX Rcaron Uring -20
+KPX Rcaron V -50
+KPX Rcaron W -40
+KPX Rcaron Y -50
+KPX Rcaron Yacute -50
+KPX Rcaron Ydieresis -50
+KPX Rcommaaccent O -20
+KPX Rcommaaccent Oacute -20
+KPX Rcommaaccent Ocircumflex -20
+KPX Rcommaaccent Odieresis -20
+KPX Rcommaaccent Ograve -20
+KPX Rcommaaccent Ohungarumlaut -20
+KPX Rcommaaccent Omacron -20
+KPX Rcommaaccent Oslash -20
+KPX Rcommaaccent Otilde -20
+KPX Rcommaaccent T -20
+KPX Rcommaaccent Tcaron -20
+KPX Rcommaaccent Tcommaaccent -20
+KPX Rcommaaccent U -20
+KPX Rcommaaccent Uacute -20
+KPX Rcommaaccent Ucircumflex -20
+KPX Rcommaaccent Udieresis -20
+KPX Rcommaaccent Ugrave -20
+KPX Rcommaaccent Uhungarumlaut -20
+KPX Rcommaaccent Umacron -20
+KPX Rcommaaccent Uogonek -20
+KPX Rcommaaccent Uring -20
+KPX Rcommaaccent V -50
+KPX Rcommaaccent W -40
+KPX Rcommaaccent Y -50
+KPX Rcommaaccent Yacute -50
+KPX Rcommaaccent Ydieresis -50
+KPX T A -90
+KPX T Aacute -90
+KPX T Abreve -90
+KPX T Acircumflex -90
+KPX T Adieresis -90
+KPX T Agrave -90
+KPX T Amacron -90
+KPX T Aogonek -90
+KPX T Aring -90
+KPX T Atilde -90
+KPX T O -40
+KPX T Oacute -40
+KPX T Ocircumflex -40
+KPX T Odieresis -40
+KPX T Ograve -40
+KPX T Ohungarumlaut -40
+KPX T Omacron -40
+KPX T Oslash -40
+KPX T Otilde -40
+KPX T a -80
+KPX T aacute -80
+KPX T abreve -80
+KPX T acircumflex -80
+KPX T adieresis -80
+KPX T agrave -80
+KPX T amacron -80
+KPX T aogonek -80
+KPX T aring -80
+KPX T atilde -80
+KPX T colon -40
+KPX T comma -80
+KPX T e -60
+KPX T eacute -60
+KPX T ecaron -60
+KPX T ecircumflex -60
+KPX T edieresis -60
+KPX T edotaccent -60
+KPX T egrave -60
+KPX T emacron -60
+KPX T eogonek -60
+KPX T hyphen -120
+KPX T o -80
+KPX T oacute -80
+KPX T ocircumflex -80
+KPX T odieresis -80
+KPX T ograve -80
+KPX T ohungarumlaut -80
+KPX T omacron -80
+KPX T oslash -80
+KPX T otilde -80
+KPX T period -80
+KPX T r -80
+KPX T racute -80
+KPX T rcommaaccent -80
+KPX T semicolon -40
+KPX T u -90
+KPX T uacute -90
+KPX T ucircumflex -90
+KPX T udieresis -90
+KPX T ugrave -90
+KPX T uhungarumlaut -90
+KPX T umacron -90
+KPX T uogonek -90
+KPX T uring -90
+KPX T w -60
+KPX T y -60
+KPX T yacute -60
+KPX T ydieresis -60
+KPX Tcaron A -90
+KPX Tcaron Aacute -90
+KPX Tcaron Abreve -90
+KPX Tcaron Acircumflex -90
+KPX Tcaron Adieresis -90
+KPX Tcaron Agrave -90
+KPX Tcaron Amacron -90
+KPX Tcaron Aogonek -90
+KPX Tcaron Aring -90
+KPX Tcaron Atilde -90
+KPX Tcaron O -40
+KPX Tcaron Oacute -40
+KPX Tcaron Ocircumflex -40
+KPX Tcaron Odieresis -40
+KPX Tcaron Ograve -40
+KPX Tcaron Ohungarumlaut -40
+KPX Tcaron Omacron -40
+KPX Tcaron Oslash -40
+KPX Tcaron Otilde -40
+KPX Tcaron a -80
+KPX Tcaron aacute -80
+KPX Tcaron abreve -80
+KPX Tcaron acircumflex -80
+KPX Tcaron adieresis -80
+KPX Tcaron agrave -80
+KPX Tcaron amacron -80
+KPX Tcaron aogonek -80
+KPX Tcaron aring -80
+KPX Tcaron atilde -80
+KPX Tcaron colon -40
+KPX Tcaron comma -80
+KPX Tcaron e -60
+KPX Tcaron eacute -60
+KPX Tcaron ecaron -60
+KPX Tcaron ecircumflex -60
+KPX Tcaron edieresis -60
+KPX Tcaron edotaccent -60
+KPX Tcaron egrave -60
+KPX Tcaron emacron -60
+KPX Tcaron eogonek -60
+KPX Tcaron hyphen -120
+KPX Tcaron o -80
+KPX Tcaron oacute -80
+KPX Tcaron ocircumflex -80
+KPX Tcaron odieresis -80
+KPX Tcaron ograve -80
+KPX Tcaron ohungarumlaut -80
+KPX Tcaron omacron -80
+KPX Tcaron oslash -80
+KPX Tcaron otilde -80
+KPX Tcaron period -80
+KPX Tcaron r -80
+KPX Tcaron racute -80
+KPX Tcaron rcommaaccent -80
+KPX Tcaron semicolon -40
+KPX Tcaron u -90
+KPX Tcaron uacute -90
+KPX Tcaron ucircumflex -90
+KPX Tcaron udieresis -90
+KPX Tcaron ugrave -90
+KPX Tcaron uhungarumlaut -90
+KPX Tcaron umacron -90
+KPX Tcaron uogonek -90
+KPX Tcaron uring -90
+KPX Tcaron w -60
+KPX Tcaron y -60
+KPX Tcaron yacute -60
+KPX Tcaron ydieresis -60
+KPX Tcommaaccent A -90
+KPX Tcommaaccent Aacute -90
+KPX Tcommaaccent Abreve -90
+KPX Tcommaaccent Acircumflex -90
+KPX Tcommaaccent Adieresis -90
+KPX Tcommaaccent Agrave -90
+KPX Tcommaaccent Amacron -90
+KPX Tcommaaccent Aogonek -90
+KPX Tcommaaccent Aring -90
+KPX Tcommaaccent Atilde -90
+KPX Tcommaaccent O -40
+KPX Tcommaaccent Oacute -40
+KPX Tcommaaccent Ocircumflex -40
+KPX Tcommaaccent Odieresis -40
+KPX Tcommaaccent Ograve -40
+KPX Tcommaaccent Ohungarumlaut -40
+KPX Tcommaaccent Omacron -40
+KPX Tcommaaccent Oslash -40
+KPX Tcommaaccent Otilde -40
+KPX Tcommaaccent a -80
+KPX Tcommaaccent aacute -80
+KPX Tcommaaccent abreve -80
+KPX Tcommaaccent acircumflex -80
+KPX Tcommaaccent adieresis -80
+KPX Tcommaaccent agrave -80
+KPX Tcommaaccent amacron -80
+KPX Tcommaaccent aogonek -80
+KPX Tcommaaccent aring -80
+KPX Tcommaaccent atilde -80
+KPX Tcommaaccent colon -40
+KPX Tcommaaccent comma -80
+KPX Tcommaaccent e -60
+KPX Tcommaaccent eacute -60
+KPX Tcommaaccent ecaron -60
+KPX Tcommaaccent ecircumflex -60
+KPX Tcommaaccent edieresis -60
+KPX Tcommaaccent edotaccent -60
+KPX Tcommaaccent egrave -60
+KPX Tcommaaccent emacron -60
+KPX Tcommaaccent eogonek -60
+KPX Tcommaaccent hyphen -120
+KPX Tcommaaccent o -80
+KPX Tcommaaccent oacute -80
+KPX Tcommaaccent ocircumflex -80
+KPX Tcommaaccent odieresis -80
+KPX Tcommaaccent ograve -80
+KPX Tcommaaccent ohungarumlaut -80
+KPX Tcommaaccent omacron -80
+KPX Tcommaaccent oslash -80
+KPX Tcommaaccent otilde -80
+KPX Tcommaaccent period -80
+KPX Tcommaaccent r -80
+KPX Tcommaaccent racute -80
+KPX Tcommaaccent rcommaaccent -80
+KPX Tcommaaccent semicolon -40
+KPX Tcommaaccent u -90
+KPX Tcommaaccent uacute -90
+KPX Tcommaaccent ucircumflex -90
+KPX Tcommaaccent udieresis -90
+KPX Tcommaaccent ugrave -90
+KPX Tcommaaccent uhungarumlaut -90
+KPX Tcommaaccent umacron -90
+KPX Tcommaaccent uogonek -90
+KPX Tcommaaccent uring -90
+KPX Tcommaaccent w -60
+KPX Tcommaaccent y -60
+KPX Tcommaaccent yacute -60
+KPX Tcommaaccent ydieresis -60
+KPX U A -50
+KPX U Aacute -50
+KPX U Abreve -50
+KPX U Acircumflex -50
+KPX U Adieresis -50
+KPX U Agrave -50
+KPX U Amacron -50
+KPX U Aogonek -50
+KPX U Aring -50
+KPX U Atilde -50
+KPX U comma -30
+KPX U period -30
+KPX Uacute A -50
+KPX Uacute Aacute -50
+KPX Uacute Abreve -50
+KPX Uacute Acircumflex -50
+KPX Uacute Adieresis -50
+KPX Uacute Agrave -50
+KPX Uacute Amacron -50
+KPX Uacute Aogonek -50
+KPX Uacute Aring -50
+KPX Uacute Atilde -50
+KPX Uacute comma -30
+KPX Uacute period -30
+KPX Ucircumflex A -50
+KPX Ucircumflex Aacute -50
+KPX Ucircumflex Abreve -50
+KPX Ucircumflex Acircumflex -50
+KPX Ucircumflex Adieresis -50
+KPX Ucircumflex Agrave -50
+KPX Ucircumflex Amacron -50
+KPX Ucircumflex Aogonek -50
+KPX Ucircumflex Aring -50
+KPX Ucircumflex Atilde -50
+KPX Ucircumflex comma -30
+KPX Ucircumflex period -30
+KPX Udieresis A -50
+KPX Udieresis Aacute -50
+KPX Udieresis Abreve -50
+KPX Udieresis Acircumflex -50
+KPX Udieresis Adieresis -50
+KPX Udieresis Agrave -50
+KPX Udieresis Amacron -50
+KPX Udieresis Aogonek -50
+KPX Udieresis Aring -50
+KPX Udieresis Atilde -50
+KPX Udieresis comma -30
+KPX Udieresis period -30
+KPX Ugrave A -50
+KPX Ugrave Aacute -50
+KPX Ugrave Abreve -50
+KPX Ugrave Acircumflex -50
+KPX Ugrave Adieresis -50
+KPX Ugrave Agrave -50
+KPX Ugrave Amacron -50
+KPX Ugrave Aogonek -50
+KPX Ugrave Aring -50
+KPX Ugrave Atilde -50
+KPX Ugrave comma -30
+KPX Ugrave period -30
+KPX Uhungarumlaut A -50
+KPX Uhungarumlaut Aacute -50
+KPX Uhungarumlaut Abreve -50
+KPX Uhungarumlaut Acircumflex -50
+KPX Uhungarumlaut Adieresis -50
+KPX Uhungarumlaut Agrave -50
+KPX Uhungarumlaut Amacron -50
+KPX Uhungarumlaut Aogonek -50
+KPX Uhungarumlaut Aring -50
+KPX Uhungarumlaut Atilde -50
+KPX Uhungarumlaut comma -30
+KPX Uhungarumlaut period -30
+KPX Umacron A -50
+KPX Umacron Aacute -50
+KPX Umacron Abreve -50
+KPX Umacron Acircumflex -50
+KPX Umacron Adieresis -50
+KPX Umacron Agrave -50
+KPX Umacron Amacron -50
+KPX Umacron Aogonek -50
+KPX Umacron Aring -50
+KPX Umacron Atilde -50
+KPX Umacron comma -30
+KPX Umacron period -30
+KPX Uogonek A -50
+KPX Uogonek Aacute -50
+KPX Uogonek Abreve -50
+KPX Uogonek Acircumflex -50
+KPX Uogonek Adieresis -50
+KPX Uogonek Agrave -50
+KPX Uogonek Amacron -50
+KPX Uogonek Aogonek -50
+KPX Uogonek Aring -50
+KPX Uogonek Atilde -50
+KPX Uogonek comma -30
+KPX Uogonek period -30
+KPX Uring A -50
+KPX Uring Aacute -50
+KPX Uring Abreve -50
+KPX Uring Acircumflex -50
+KPX Uring Adieresis -50
+KPX Uring Agrave -50
+KPX Uring Amacron -50
+KPX Uring Aogonek -50
+KPX Uring Aring -50
+KPX Uring Atilde -50
+KPX Uring comma -30
+KPX Uring period -30
+KPX V A -80
+KPX V Aacute -80
+KPX V Abreve -80
+KPX V Acircumflex -80
+KPX V Adieresis -80
+KPX V Agrave -80
+KPX V Amacron -80
+KPX V Aogonek -80
+KPX V Aring -80
+KPX V Atilde -80
+KPX V G -50
+KPX V Gbreve -50
+KPX V Gcommaaccent -50
+KPX V O -50
+KPX V Oacute -50
+KPX V Ocircumflex -50
+KPX V Odieresis -50
+KPX V Ograve -50
+KPX V Ohungarumlaut -50
+KPX V Omacron -50
+KPX V Oslash -50
+KPX V Otilde -50
+KPX V a -60
+KPX V aacute -60
+KPX V abreve -60
+KPX V acircumflex -60
+KPX V adieresis -60
+KPX V agrave -60
+KPX V amacron -60
+KPX V aogonek -60
+KPX V aring -60
+KPX V atilde -60
+KPX V colon -40
+KPX V comma -120
+KPX V e -50
+KPX V eacute -50
+KPX V ecaron -50
+KPX V ecircumflex -50
+KPX V edieresis -50
+KPX V edotaccent -50
+KPX V egrave -50
+KPX V emacron -50
+KPX V eogonek -50
+KPX V hyphen -80
+KPX V o -90
+KPX V oacute -90
+KPX V ocircumflex -90
+KPX V odieresis -90
+KPX V ograve -90
+KPX V ohungarumlaut -90
+KPX V omacron -90
+KPX V oslash -90
+KPX V otilde -90
+KPX V period -120
+KPX V semicolon -40
+KPX V u -60
+KPX V uacute -60
+KPX V ucircumflex -60
+KPX V udieresis -60
+KPX V ugrave -60
+KPX V uhungarumlaut -60
+KPX V umacron -60
+KPX V uogonek -60
+KPX V uring -60
+KPX W A -60
+KPX W Aacute -60
+KPX W Abreve -60
+KPX W Acircumflex -60
+KPX W Adieresis -60
+KPX W Agrave -60
+KPX W Amacron -60
+KPX W Aogonek -60
+KPX W Aring -60
+KPX W Atilde -60
+KPX W O -20
+KPX W Oacute -20
+KPX W Ocircumflex -20
+KPX W Odieresis -20
+KPX W Ograve -20
+KPX W Ohungarumlaut -20
+KPX W Omacron -20
+KPX W Oslash -20
+KPX W Otilde -20
+KPX W a -40
+KPX W aacute -40
+KPX W abreve -40
+KPX W acircumflex -40
+KPX W adieresis -40
+KPX W agrave -40
+KPX W amacron -40
+KPX W aogonek -40
+KPX W aring -40
+KPX W atilde -40
+KPX W colon -10
+KPX W comma -80
+KPX W e -35
+KPX W eacute -35
+KPX W ecaron -35
+KPX W ecircumflex -35
+KPX W edieresis -35
+KPX W edotaccent -35
+KPX W egrave -35
+KPX W emacron -35
+KPX W eogonek -35
+KPX W hyphen -40
+KPX W o -60
+KPX W oacute -60
+KPX W ocircumflex -60
+KPX W odieresis -60
+KPX W ograve -60
+KPX W ohungarumlaut -60
+KPX W omacron -60
+KPX W oslash -60
+KPX W otilde -60
+KPX W period -80
+KPX W semicolon -10
+KPX W u -45
+KPX W uacute -45
+KPX W ucircumflex -45
+KPX W udieresis -45
+KPX W ugrave -45
+KPX W uhungarumlaut -45
+KPX W umacron -45
+KPX W uogonek -45
+KPX W uring -45
+KPX W y -20
+KPX W yacute -20
+KPX W ydieresis -20
+KPX Y A -110
+KPX Y Aacute -110
+KPX Y Abreve -110
+KPX Y Acircumflex -110
+KPX Y Adieresis -110
+KPX Y Agrave -110
+KPX Y Amacron -110
+KPX Y Aogonek -110
+KPX Y Aring -110
+KPX Y Atilde -110
+KPX Y O -70
+KPX Y Oacute -70
+KPX Y Ocircumflex -70
+KPX Y Odieresis -70
+KPX Y Ograve -70
+KPX Y Ohungarumlaut -70
+KPX Y Omacron -70
+KPX Y Oslash -70
+KPX Y Otilde -70
+KPX Y a -90
+KPX Y aacute -90
+KPX Y abreve -90
+KPX Y acircumflex -90
+KPX Y adieresis -90
+KPX Y agrave -90
+KPX Y amacron -90
+KPX Y aogonek -90
+KPX Y aring -90
+KPX Y atilde -90
+KPX Y colon -50
+KPX Y comma -100
+KPX Y e -80
+KPX Y eacute -80
+KPX Y ecaron -80
+KPX Y ecircumflex -80
+KPX Y edieresis -80
+KPX Y edotaccent -80
+KPX Y egrave -80
+KPX Y emacron -80
+KPX Y eogonek -80
+KPX Y o -100
+KPX Y oacute -100
+KPX Y ocircumflex -100
+KPX Y odieresis -100
+KPX Y ograve -100
+KPX Y ohungarumlaut -100
+KPX Y omacron -100
+KPX Y oslash -100
+KPX Y otilde -100
+KPX Y period -100
+KPX Y semicolon -50
+KPX Y u -100
+KPX Y uacute -100
+KPX Y ucircumflex -100
+KPX Y udieresis -100
+KPX Y ugrave -100
+KPX Y uhungarumlaut -100
+KPX Y umacron -100
+KPX Y uogonek -100
+KPX Y uring -100
+KPX Yacute A -110
+KPX Yacute Aacute -110
+KPX Yacute Abreve -110
+KPX Yacute Acircumflex -110
+KPX Yacute Adieresis -110
+KPX Yacute Agrave -110
+KPX Yacute Amacron -110
+KPX Yacute Aogonek -110
+KPX Yacute Aring -110
+KPX Yacute Atilde -110
+KPX Yacute O -70
+KPX Yacute Oacute -70
+KPX Yacute Ocircumflex -70
+KPX Yacute Odieresis -70
+KPX Yacute Ograve -70
+KPX Yacute Ohungarumlaut -70
+KPX Yacute Omacron -70
+KPX Yacute Oslash -70
+KPX Yacute Otilde -70
+KPX Yacute a -90
+KPX Yacute aacute -90
+KPX Yacute abreve -90
+KPX Yacute acircumflex -90
+KPX Yacute adieresis -90
+KPX Yacute agrave -90
+KPX Yacute amacron -90
+KPX Yacute aogonek -90
+KPX Yacute aring -90
+KPX Yacute atilde -90
+KPX Yacute colon -50
+KPX Yacute comma -100
+KPX Yacute e -80
+KPX Yacute eacute -80
+KPX Yacute ecaron -80
+KPX Yacute ecircumflex -80
+KPX Yacute edieresis -80
+KPX Yacute edotaccent -80
+KPX Yacute egrave -80
+KPX Yacute emacron -80
+KPX Yacute eogonek -80
+KPX Yacute o -100
+KPX Yacute oacute -100
+KPX Yacute ocircumflex -100
+KPX Yacute odieresis -100
+KPX Yacute ograve -100
+KPX Yacute ohungarumlaut -100
+KPX Yacute omacron -100
+KPX Yacute oslash -100
+KPX Yacute otilde -100
+KPX Yacute period -100
+KPX Yacute semicolon -50
+KPX Yacute u -100
+KPX Yacute uacute -100
+KPX Yacute ucircumflex -100
+KPX Yacute udieresis -100
+KPX Yacute ugrave -100
+KPX Yacute uhungarumlaut -100
+KPX Yacute umacron -100
+KPX Yacute uogonek -100
+KPX Yacute uring -100
+KPX Ydieresis A -110
+KPX Ydieresis Aacute -110
+KPX Ydieresis Abreve -110
+KPX Ydieresis Acircumflex -110
+KPX Ydieresis Adieresis -110
+KPX Ydieresis Agrave -110
+KPX Ydieresis Amacron -110
+KPX Ydieresis Aogonek -110
+KPX Ydieresis Aring -110
+KPX Ydieresis Atilde -110
+KPX Ydieresis O -70
+KPX Ydieresis Oacute -70
+KPX Ydieresis Ocircumflex -70
+KPX Ydieresis Odieresis -70
+KPX Ydieresis Ograve -70
+KPX Ydieresis Ohungarumlaut -70
+KPX Ydieresis Omacron -70
+KPX Ydieresis Oslash -70
+KPX Ydieresis Otilde -70
+KPX Ydieresis a -90
+KPX Ydieresis aacute -90
+KPX Ydieresis abreve -90
+KPX Ydieresis acircumflex -90
+KPX Ydieresis adieresis -90
+KPX Ydieresis agrave -90
+KPX Ydieresis amacron -90
+KPX Ydieresis aogonek -90
+KPX Ydieresis aring -90
+KPX Ydieresis atilde -90
+KPX Ydieresis colon -50
+KPX Ydieresis comma -100
+KPX Ydieresis e -80
+KPX Ydieresis eacute -80
+KPX Ydieresis ecaron -80
+KPX Ydieresis ecircumflex -80
+KPX Ydieresis edieresis -80
+KPX Ydieresis edotaccent -80
+KPX Ydieresis egrave -80
+KPX Ydieresis emacron -80
+KPX Ydieresis eogonek -80
+KPX Ydieresis o -100
+KPX Ydieresis oacute -100
+KPX Ydieresis ocircumflex -100
+KPX Ydieresis odieresis -100
+KPX Ydieresis ograve -100
+KPX Ydieresis ohungarumlaut -100
+KPX Ydieresis omacron -100
+KPX Ydieresis oslash -100
+KPX Ydieresis otilde -100
+KPX Ydieresis period -100
+KPX Ydieresis semicolon -50
+KPX Ydieresis u -100
+KPX Ydieresis uacute -100
+KPX Ydieresis ucircumflex -100
+KPX Ydieresis udieresis -100
+KPX Ydieresis ugrave -100
+KPX Ydieresis uhungarumlaut -100
+KPX Ydieresis umacron -100
+KPX Ydieresis uogonek -100
+KPX Ydieresis uring -100
+KPX a g -10
+KPX a gbreve -10
+KPX a gcommaaccent -10
+KPX a v -15
+KPX a w -15
+KPX a y -20
+KPX a yacute -20
+KPX a ydieresis -20
+KPX aacute g -10
+KPX aacute gbreve -10
+KPX aacute gcommaaccent -10
+KPX aacute v -15
+KPX aacute w -15
+KPX aacute y -20
+KPX aacute yacute -20
+KPX aacute ydieresis -20
+KPX abreve g -10
+KPX abreve gbreve -10
+KPX abreve gcommaaccent -10
+KPX abreve v -15
+KPX abreve w -15
+KPX abreve y -20
+KPX abreve yacute -20
+KPX abreve ydieresis -20
+KPX acircumflex g -10
+KPX acircumflex gbreve -10
+KPX acircumflex gcommaaccent -10
+KPX acircumflex v -15
+KPX acircumflex w -15
+KPX acircumflex y -20
+KPX acircumflex yacute -20
+KPX acircumflex ydieresis -20
+KPX adieresis g -10
+KPX adieresis gbreve -10
+KPX adieresis gcommaaccent -10
+KPX adieresis v -15
+KPX adieresis w -15
+KPX adieresis y -20
+KPX adieresis yacute -20
+KPX adieresis ydieresis -20
+KPX agrave g -10
+KPX agrave gbreve -10
+KPX agrave gcommaaccent -10
+KPX agrave v -15
+KPX agrave w -15
+KPX agrave y -20
+KPX agrave yacute -20
+KPX agrave ydieresis -20
+KPX amacron g -10
+KPX amacron gbreve -10
+KPX amacron gcommaaccent -10
+KPX amacron v -15
+KPX amacron w -15
+KPX amacron y -20
+KPX amacron yacute -20
+KPX amacron ydieresis -20
+KPX aogonek g -10
+KPX aogonek gbreve -10
+KPX aogonek gcommaaccent -10
+KPX aogonek v -15
+KPX aogonek w -15
+KPX aogonek y -20
+KPX aogonek yacute -20
+KPX aogonek ydieresis -20
+KPX aring g -10
+KPX aring gbreve -10
+KPX aring gcommaaccent -10
+KPX aring v -15
+KPX aring w -15
+KPX aring y -20
+KPX aring yacute -20
+KPX aring ydieresis -20
+KPX atilde g -10
+KPX atilde gbreve -10
+KPX atilde gcommaaccent -10
+KPX atilde v -15
+KPX atilde w -15
+KPX atilde y -20
+KPX atilde yacute -20
+KPX atilde ydieresis -20
+KPX b l -10
+KPX b lacute -10
+KPX b lcommaaccent -10
+KPX b lslash -10
+KPX b u -20
+KPX b uacute -20
+KPX b ucircumflex -20
+KPX b udieresis -20
+KPX b ugrave -20
+KPX b uhungarumlaut -20
+KPX b umacron -20
+KPX b uogonek -20
+KPX b uring -20
+KPX b v -20
+KPX b y -20
+KPX b yacute -20
+KPX b ydieresis -20
+KPX c h -10
+KPX c k -20
+KPX c kcommaaccent -20
+KPX c l -20
+KPX c lacute -20
+KPX c lcommaaccent -20
+KPX c lslash -20
+KPX c y -10
+KPX c yacute -10
+KPX c ydieresis -10
+KPX cacute h -10
+KPX cacute k -20
+KPX cacute kcommaaccent -20
+KPX cacute l -20
+KPX cacute lacute -20
+KPX cacute lcommaaccent -20
+KPX cacute lslash -20
+KPX cacute y -10
+KPX cacute yacute -10
+KPX cacute ydieresis -10
+KPX ccaron h -10
+KPX ccaron k -20
+KPX ccaron kcommaaccent -20
+KPX ccaron l -20
+KPX ccaron lacute -20
+KPX ccaron lcommaaccent -20
+KPX ccaron lslash -20
+KPX ccaron y -10
+KPX ccaron yacute -10
+KPX ccaron ydieresis -10
+KPX ccedilla h -10
+KPX ccedilla k -20
+KPX ccedilla kcommaaccent -20
+KPX ccedilla l -20
+KPX ccedilla lacute -20
+KPX ccedilla lcommaaccent -20
+KPX ccedilla lslash -20
+KPX ccedilla y -10
+KPX ccedilla yacute -10
+KPX ccedilla ydieresis -10
+KPX colon space -40
+KPX comma quotedblright -120
+KPX comma quoteright -120
+KPX comma space -40
+KPX d d -10
+KPX d dcroat -10
+KPX d v -15
+KPX d w -15
+KPX d y -15
+KPX d yacute -15
+KPX d ydieresis -15
+KPX dcroat d -10
+KPX dcroat dcroat -10
+KPX dcroat v -15
+KPX dcroat w -15
+KPX dcroat y -15
+KPX dcroat yacute -15
+KPX dcroat ydieresis -15
+KPX e comma 10
+KPX e period 20
+KPX e v -15
+KPX e w -15
+KPX e x -15
+KPX e y -15
+KPX e yacute -15
+KPX e ydieresis -15
+KPX eacute comma 10
+KPX eacute period 20
+KPX eacute v -15
+KPX eacute w -15
+KPX eacute x -15
+KPX eacute y -15
+KPX eacute yacute -15
+KPX eacute ydieresis -15
+KPX ecaron comma 10
+KPX ecaron period 20
+KPX ecaron v -15
+KPX ecaron w -15
+KPX ecaron x -15
+KPX ecaron y -15
+KPX ecaron yacute -15
+KPX ecaron ydieresis -15
+KPX ecircumflex comma 10
+KPX ecircumflex period 20
+KPX ecircumflex v -15
+KPX ecircumflex w -15
+KPX ecircumflex x -15
+KPX ecircumflex y -15
+KPX ecircumflex yacute -15
+KPX ecircumflex ydieresis -15
+KPX edieresis comma 10
+KPX edieresis period 20
+KPX edieresis v -15
+KPX edieresis w -15
+KPX edieresis x -15
+KPX edieresis y -15
+KPX edieresis yacute -15
+KPX edieresis ydieresis -15
+KPX edotaccent comma 10
+KPX edotaccent period 20
+KPX edotaccent v -15
+KPX edotaccent w -15
+KPX edotaccent x -15
+KPX edotaccent y -15
+KPX edotaccent yacute -15
+KPX edotaccent ydieresis -15
+KPX egrave comma 10
+KPX egrave period 20
+KPX egrave v -15
+KPX egrave w -15
+KPX egrave x -15
+KPX egrave y -15
+KPX egrave yacute -15
+KPX egrave ydieresis -15
+KPX emacron comma 10
+KPX emacron period 20
+KPX emacron v -15
+KPX emacron w -15
+KPX emacron x -15
+KPX emacron y -15
+KPX emacron yacute -15
+KPX emacron ydieresis -15
+KPX eogonek comma 10
+KPX eogonek period 20
+KPX eogonek v -15
+KPX eogonek w -15
+KPX eogonek x -15
+KPX eogonek y -15
+KPX eogonek yacute -15
+KPX eogonek ydieresis -15
+KPX f comma -10
+KPX f e -10
+KPX f eacute -10
+KPX f ecaron -10
+KPX f ecircumflex -10
+KPX f edieresis -10
+KPX f edotaccent -10
+KPX f egrave -10
+KPX f emacron -10
+KPX f eogonek -10
+KPX f o -20
+KPX f oacute -20
+KPX f ocircumflex -20
+KPX f odieresis -20
+KPX f ograve -20
+KPX f ohungarumlaut -20
+KPX f omacron -20
+KPX f oslash -20
+KPX f otilde -20
+KPX f period -10
+KPX f quotedblright 30
+KPX f quoteright 30
+KPX g e 10
+KPX g eacute 10
+KPX g ecaron 10
+KPX g ecircumflex 10
+KPX g edieresis 10
+KPX g edotaccent 10
+KPX g egrave 10
+KPX g emacron 10
+KPX g eogonek 10
+KPX g g -10
+KPX g gbreve -10
+KPX g gcommaaccent -10
+KPX gbreve e 10
+KPX gbreve eacute 10
+KPX gbreve ecaron 10
+KPX gbreve ecircumflex 10
+KPX gbreve edieresis 10
+KPX gbreve edotaccent 10
+KPX gbreve egrave 10
+KPX gbreve emacron 10
+KPX gbreve eogonek 10
+KPX gbreve g -10
+KPX gbreve gbreve -10
+KPX gbreve gcommaaccent -10
+KPX gcommaaccent e 10
+KPX gcommaaccent eacute 10
+KPX gcommaaccent ecaron 10
+KPX gcommaaccent ecircumflex 10
+KPX gcommaaccent edieresis 10
+KPX gcommaaccent edotaccent 10
+KPX gcommaaccent egrave 10
+KPX gcommaaccent emacron 10
+KPX gcommaaccent eogonek 10
+KPX gcommaaccent g -10
+KPX gcommaaccent gbreve -10
+KPX gcommaaccent gcommaaccent -10
+KPX h y -20
+KPX h yacute -20
+KPX h ydieresis -20
+KPX k o -15
+KPX k oacute -15
+KPX k ocircumflex -15
+KPX k odieresis -15
+KPX k ograve -15
+KPX k ohungarumlaut -15
+KPX k omacron -15
+KPX k oslash -15
+KPX k otilde -15
+KPX kcommaaccent o -15
+KPX kcommaaccent oacute -15
+KPX kcommaaccent ocircumflex -15
+KPX kcommaaccent odieresis -15
+KPX kcommaaccent ograve -15
+KPX kcommaaccent ohungarumlaut -15
+KPX kcommaaccent omacron -15
+KPX kcommaaccent oslash -15
+KPX kcommaaccent otilde -15
+KPX l w -15
+KPX l y -15
+KPX l yacute -15
+KPX l ydieresis -15
+KPX lacute w -15
+KPX lacute y -15
+KPX lacute yacute -15
+KPX lacute ydieresis -15
+KPX lcommaaccent w -15
+KPX lcommaaccent y -15
+KPX lcommaaccent yacute -15
+KPX lcommaaccent ydieresis -15
+KPX lslash w -15
+KPX lslash y -15
+KPX lslash yacute -15
+KPX lslash ydieresis -15
+KPX m u -20
+KPX m uacute -20
+KPX m ucircumflex -20
+KPX m udieresis -20
+KPX m ugrave -20
+KPX m uhungarumlaut -20
+KPX m umacron -20
+KPX m uogonek -20
+KPX m uring -20
+KPX m y -30
+KPX m yacute -30
+KPX m ydieresis -30
+KPX n u -10
+KPX n uacute -10
+KPX n ucircumflex -10
+KPX n udieresis -10
+KPX n ugrave -10
+KPX n uhungarumlaut -10
+KPX n umacron -10
+KPX n uogonek -10
+KPX n uring -10
+KPX n v -40
+KPX n y -20
+KPX n yacute -20
+KPX n ydieresis -20
+KPX nacute u -10
+KPX nacute uacute -10
+KPX nacute ucircumflex -10
+KPX nacute udieresis -10
+KPX nacute ugrave -10
+KPX nacute uhungarumlaut -10
+KPX nacute umacron -10
+KPX nacute uogonek -10
+KPX nacute uring -10
+KPX nacute v -40
+KPX nacute y -20
+KPX nacute yacute -20
+KPX nacute ydieresis -20
+KPX ncaron u -10
+KPX ncaron uacute -10
+KPX ncaron ucircumflex -10
+KPX ncaron udieresis -10
+KPX ncaron ugrave -10
+KPX ncaron uhungarumlaut -10
+KPX ncaron umacron -10
+KPX ncaron uogonek -10
+KPX ncaron uring -10
+KPX ncaron v -40
+KPX ncaron y -20
+KPX ncaron yacute -20
+KPX ncaron ydieresis -20
+KPX ncommaaccent u -10
+KPX ncommaaccent uacute -10
+KPX ncommaaccent ucircumflex -10
+KPX ncommaaccent udieresis -10
+KPX ncommaaccent ugrave -10
+KPX ncommaaccent uhungarumlaut -10
+KPX ncommaaccent umacron -10
+KPX ncommaaccent uogonek -10
+KPX ncommaaccent uring -10
+KPX ncommaaccent v -40
+KPX ncommaaccent y -20
+KPX ncommaaccent yacute -20
+KPX ncommaaccent ydieresis -20
+KPX ntilde u -10
+KPX ntilde uacute -10
+KPX ntilde ucircumflex -10
+KPX ntilde udieresis -10
+KPX ntilde ugrave -10
+KPX ntilde uhungarumlaut -10
+KPX ntilde umacron -10
+KPX ntilde uogonek -10
+KPX ntilde uring -10
+KPX ntilde v -40
+KPX ntilde y -20
+KPX ntilde yacute -20
+KPX ntilde ydieresis -20
+KPX o v -20
+KPX o w -15
+KPX o x -30
+KPX o y -20
+KPX o yacute -20
+KPX o ydieresis -20
+KPX oacute v -20
+KPX oacute w -15
+KPX oacute x -30
+KPX oacute y -20
+KPX oacute yacute -20
+KPX oacute ydieresis -20
+KPX ocircumflex v -20
+KPX ocircumflex w -15
+KPX ocircumflex x -30
+KPX ocircumflex y -20
+KPX ocircumflex yacute -20
+KPX ocircumflex ydieresis -20
+KPX odieresis v -20
+KPX odieresis w -15
+KPX odieresis x -30
+KPX odieresis y -20
+KPX odieresis yacute -20
+KPX odieresis ydieresis -20
+KPX ograve v -20
+KPX ograve w -15
+KPX ograve x -30
+KPX ograve y -20
+KPX ograve yacute -20
+KPX ograve ydieresis -20
+KPX ohungarumlaut v -20
+KPX ohungarumlaut w -15
+KPX ohungarumlaut x -30
+KPX ohungarumlaut y -20
+KPX ohungarumlaut yacute -20
+KPX ohungarumlaut ydieresis -20
+KPX omacron v -20
+KPX omacron w -15
+KPX omacron x -30
+KPX omacron y -20
+KPX omacron yacute -20
+KPX omacron ydieresis -20
+KPX oslash v -20
+KPX oslash w -15
+KPX oslash x -30
+KPX oslash y -20
+KPX oslash yacute -20
+KPX oslash ydieresis -20
+KPX otilde v -20
+KPX otilde w -15
+KPX otilde x -30
+KPX otilde y -20
+KPX otilde yacute -20
+KPX otilde ydieresis -20
+KPX p y -15
+KPX p yacute -15
+KPX p ydieresis -15
+KPX period quotedblright -120
+KPX period quoteright -120
+KPX period space -40
+KPX quotedblright space -80
+KPX quoteleft quoteleft -46
+KPX quoteright d -80
+KPX quoteright dcroat -80
+KPX quoteright l -20
+KPX quoteright lacute -20
+KPX quoteright lcommaaccent -20
+KPX quoteright lslash -20
+KPX quoteright quoteright -46
+KPX quoteright r -40
+KPX quoteright racute -40
+KPX quoteright rcaron -40
+KPX quoteright rcommaaccent -40
+KPX quoteright s -60
+KPX quoteright sacute -60
+KPX quoteright scaron -60
+KPX quoteright scedilla -60
+KPX quoteright scommaaccent -60
+KPX quoteright space -80
+KPX quoteright v -20
+KPX r c -20
+KPX r cacute -20
+KPX r ccaron -20
+KPX r ccedilla -20
+KPX r comma -60
+KPX r d -20
+KPX r dcroat -20
+KPX r g -15
+KPX r gbreve -15
+KPX r gcommaaccent -15
+KPX r hyphen -20
+KPX r o -20
+KPX r oacute -20
+KPX r ocircumflex -20
+KPX r odieresis -20
+KPX r ograve -20
+KPX r ohungarumlaut -20
+KPX r omacron -20
+KPX r oslash -20
+KPX r otilde -20
+KPX r period -60
+KPX r q -20
+KPX r s -15
+KPX r sacute -15
+KPX r scaron -15
+KPX r scedilla -15
+KPX r scommaaccent -15
+KPX r t 20
+KPX r tcommaaccent 20
+KPX r v 10
+KPX r y 10
+KPX r yacute 10
+KPX r ydieresis 10
+KPX racute c -20
+KPX racute cacute -20
+KPX racute ccaron -20
+KPX racute ccedilla -20
+KPX racute comma -60
+KPX racute d -20
+KPX racute dcroat -20
+KPX racute g -15
+KPX racute gbreve -15
+KPX racute gcommaaccent -15
+KPX racute hyphen -20
+KPX racute o -20
+KPX racute oacute -20
+KPX racute ocircumflex -20
+KPX racute odieresis -20
+KPX racute ograve -20
+KPX racute ohungarumlaut -20
+KPX racute omacron -20
+KPX racute oslash -20
+KPX racute otilde -20
+KPX racute period -60
+KPX racute q -20
+KPX racute s -15
+KPX racute sacute -15
+KPX racute scaron -15
+KPX racute scedilla -15
+KPX racute scommaaccent -15
+KPX racute t 20
+KPX racute tcommaaccent 20
+KPX racute v 10
+KPX racute y 10
+KPX racute yacute 10
+KPX racute ydieresis 10
+KPX rcaron c -20
+KPX rcaron cacute -20
+KPX rcaron ccaron -20
+KPX rcaron ccedilla -20
+KPX rcaron comma -60
+KPX rcaron d -20
+KPX rcaron dcroat -20
+KPX rcaron g -15
+KPX rcaron gbreve -15
+KPX rcaron gcommaaccent -15
+KPX rcaron hyphen -20
+KPX rcaron o -20
+KPX rcaron oacute -20
+KPX rcaron ocircumflex -20
+KPX rcaron odieresis -20
+KPX rcaron ograve -20
+KPX rcaron ohungarumlaut -20
+KPX rcaron omacron -20
+KPX rcaron oslash -20
+KPX rcaron otilde -20
+KPX rcaron period -60
+KPX rcaron q -20
+KPX rcaron s -15
+KPX rcaron sacute -15
+KPX rcaron scaron -15
+KPX rcaron scedilla -15
+KPX rcaron scommaaccent -15
+KPX rcaron t 20
+KPX rcaron tcommaaccent 20
+KPX rcaron v 10
+KPX rcaron y 10
+KPX rcaron yacute 10
+KPX rcaron ydieresis 10
+KPX rcommaaccent c -20
+KPX rcommaaccent cacute -20
+KPX rcommaaccent ccaron -20
+KPX rcommaaccent ccedilla -20
+KPX rcommaaccent comma -60
+KPX rcommaaccent d -20
+KPX rcommaaccent dcroat -20
+KPX rcommaaccent g -15
+KPX rcommaaccent gbreve -15
+KPX rcommaaccent gcommaaccent -15
+KPX rcommaaccent hyphen -20
+KPX rcommaaccent o -20
+KPX rcommaaccent oacute -20
+KPX rcommaaccent ocircumflex -20
+KPX rcommaaccent odieresis -20
+KPX rcommaaccent ograve -20
+KPX rcommaaccent ohungarumlaut -20
+KPX rcommaaccent omacron -20
+KPX rcommaaccent oslash -20
+KPX rcommaaccent otilde -20
+KPX rcommaaccent period -60
+KPX rcommaaccent q -20
+KPX rcommaaccent s -15
+KPX rcommaaccent sacute -15
+KPX rcommaaccent scaron -15
+KPX rcommaaccent scedilla -15
+KPX rcommaaccent scommaaccent -15
+KPX rcommaaccent t 20
+KPX rcommaaccent tcommaaccent 20
+KPX rcommaaccent v 10
+KPX rcommaaccent y 10
+KPX rcommaaccent yacute 10
+KPX rcommaaccent ydieresis 10
+KPX s w -15
+KPX sacute w -15
+KPX scaron w -15
+KPX scedilla w -15
+KPX scommaaccent w -15
+KPX semicolon space -40
+KPX space T -100
+KPX space Tcaron -100
+KPX space Tcommaaccent -100
+KPX space V -80
+KPX space W -80
+KPX space Y -120
+KPX space Yacute -120
+KPX space Ydieresis -120
+KPX space quotedblleft -80
+KPX space quoteleft -60
+KPX v a -20
+KPX v aacute -20
+KPX v abreve -20
+KPX v acircumflex -20
+KPX v adieresis -20
+KPX v agrave -20
+KPX v amacron -20
+KPX v aogonek -20
+KPX v aring -20
+KPX v atilde -20
+KPX v comma -80
+KPX v o -30
+KPX v oacute -30
+KPX v ocircumflex -30
+KPX v odieresis -30
+KPX v ograve -30
+KPX v ohungarumlaut -30
+KPX v omacron -30
+KPX v oslash -30
+KPX v otilde -30
+KPX v period -80
+KPX w comma -40
+KPX w o -20
+KPX w oacute -20
+KPX w ocircumflex -20
+KPX w odieresis -20
+KPX w ograve -20
+KPX w ohungarumlaut -20
+KPX w omacron -20
+KPX w oslash -20
+KPX w otilde -20
+KPX w period -40
+KPX x e -10
+KPX x eacute -10
+KPX x ecaron -10
+KPX x ecircumflex -10
+KPX x edieresis -10
+KPX x edotaccent -10
+KPX x egrave -10
+KPX x emacron -10
+KPX x eogonek -10
+KPX y a -30
+KPX y aacute -30
+KPX y abreve -30
+KPX y acircumflex -30
+KPX y adieresis -30
+KPX y agrave -30
+KPX y amacron -30
+KPX y aogonek -30
+KPX y aring -30
+KPX y atilde -30
+KPX y comma -80
+KPX y e -10
+KPX y eacute -10
+KPX y ecaron -10
+KPX y ecircumflex -10
+KPX y edieresis -10
+KPX y edotaccent -10
+KPX y egrave -10
+KPX y emacron -10
+KPX y eogonek -10
+KPX y o -25
+KPX y oacute -25
+KPX y ocircumflex -25
+KPX y odieresis -25
+KPX y ograve -25
+KPX y ohungarumlaut -25
+KPX y omacron -25
+KPX y oslash -25
+KPX y otilde -25
+KPX y period -80
+KPX yacute a -30
+KPX yacute aacute -30
+KPX yacute abreve -30
+KPX yacute acircumflex -30
+KPX yacute adieresis -30
+KPX yacute agrave -30
+KPX yacute amacron -30
+KPX yacute aogonek -30
+KPX yacute aring -30
+KPX yacute atilde -30
+KPX yacute comma -80
+KPX yacute e -10
+KPX yacute eacute -10
+KPX yacute ecaron -10
+KPX yacute ecircumflex -10
+KPX yacute edieresis -10
+KPX yacute edotaccent -10
+KPX yacute egrave -10
+KPX yacute emacron -10
+KPX yacute eogonek -10
+KPX yacute o -25
+KPX yacute oacute -25
+KPX yacute ocircumflex -25
+KPX yacute odieresis -25
+KPX yacute ograve -25
+KPX yacute ohungarumlaut -25
+KPX yacute omacron -25
+KPX yacute oslash -25
+KPX yacute otilde -25
+KPX yacute period -80
+KPX ydieresis a -30
+KPX ydieresis aacute -30
+KPX ydieresis abreve -30
+KPX ydieresis acircumflex -30
+KPX ydieresis adieresis -30
+KPX ydieresis agrave -30
+KPX ydieresis amacron -30
+KPX ydieresis aogonek -30
+KPX ydieresis aring -30
+KPX ydieresis atilde -30
+KPX ydieresis comma -80
+KPX ydieresis e -10
+KPX ydieresis eacute -10
+KPX ydieresis ecaron -10
+KPX ydieresis ecircumflex -10
+KPX ydieresis edieresis -10
+KPX ydieresis edotaccent -10
+KPX ydieresis egrave -10
+KPX ydieresis emacron -10
+KPX ydieresis eogonek -10
+KPX ydieresis o -25
+KPX ydieresis oacute -25
+KPX ydieresis ocircumflex -25
+KPX ydieresis odieresis -25
+KPX ydieresis ograve -25
+KPX ydieresis ohungarumlaut -25
+KPX ydieresis omacron -25
+KPX ydieresis oslash -25
+KPX ydieresis otilde -25
+KPX ydieresis period -80
+KPX z e 10
+KPX z eacute 10
+KPX z ecaron 10
+KPX z ecircumflex 10
+KPX z edieresis 10
+KPX z edotaccent 10
+KPX z egrave 10
+KPX z emacron 10
+KPX z eogonek 10
+KPX zacute e 10
+KPX zacute eacute 10
+KPX zacute ecaron 10
+KPX zacute ecircumflex 10
+KPX zacute edieresis 10
+KPX zacute edotaccent 10
+KPX zacute egrave 10
+KPX zacute emacron 10
+KPX zacute eogonek 10
+KPX zcaron e 10
+KPX zcaron eacute 10
+KPX zcaron ecaron 10
+KPX zcaron ecircumflex 10
+KPX zcaron edieresis 10
+KPX zcaron edotaccent 10
+KPX zcaron egrave 10
+KPX zcaron emacron 10
+KPX zcaron eogonek 10
+KPX zdotaccent e 10
+KPX zdotaccent eacute 10
+KPX zdotaccent ecaron 10
+KPX zdotaccent ecircumflex 10
+KPX zdotaccent edieresis 10
+KPX zdotaccent edotaccent 10
+KPX zdotaccent egrave 10
+KPX zdotaccent emacron 10
+KPX zdotaccent eogonek 10
+EndKernPairs
+EndKernData
+EndFontMetrics
diff --git a/test/user-template/user/psprint/fontmetric/Helvetica-Oblique.afm b/test/user-template/user/psprint/fontmetric/Helvetica-Oblique.afm
new file mode 100644
index 000000000000..4d5dbbcd498c
--- /dev/null
+++ b/test/user-template/user/psprint/fontmetric/Helvetica-Oblique.afm
@@ -0,0 +1,3049 @@
+StartFontMetrics 4.1
+Comment Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All Rights Reserved.
+Comment Creation Date: Thu May 1 12:44:31 1997
+Comment UniqueID 43055
+Comment VMusage 14960 69346
+FontName Helvetica-Oblique
+FullName Helvetica Oblique
+FamilyName Helvetica
+Weight Medium
+ItalicAngle -12
+IsFixedPitch false
+FontBBox -170 -225 1116 931
+UnderlinePosition -100
+UnderlineThickness 50
+Version 002.000
+Notice Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All Rights Reserved.Helvetica is a trademark of Linotype-Hell AG and/or its subsidiaries.
+EncodingScheme AdobeStandardEncoding
+CapHeight 718
+XHeight 523
+Ascender 718
+Descender -207
+StdHW 76
+StdVW 88
+StartCharMetrics 314
+C 32 ; WX 278 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 278 ; N exclam ; B 90 0 340 718 ;
+C 34 ; WX 355 ; N quotedbl ; B 168 463 438 718 ;
+C 35 ; WX 556 ; N numbersign ; B 73 0 631 688 ;
+C 36 ; WX 556 ; N dollar ; B 69 -115 617 775 ;
+C 37 ; WX 889 ; N percent ; B 147 -19 889 703 ;
+C 38 ; WX 667 ; N ampersand ; B 77 -15 647 718 ;
+C 39 ; WX 222 ; N quoteright ; B 151 463 310 718 ;
+C 40 ; WX 333 ; N parenleft ; B 108 -207 454 733 ;
+C 41 ; WX 333 ; N parenright ; B -9 -207 337 733 ;
+C 42 ; WX 389 ; N asterisk ; B 165 431 475 718 ;
+C 43 ; WX 584 ; N plus ; B 85 0 606 505 ;
+C 44 ; WX 278 ; N comma ; B 56 -147 214 106 ;
+C 45 ; WX 333 ; N hyphen ; B 93 232 357 322 ;
+C 46 ; WX 278 ; N period ; B 87 0 214 106 ;
+C 47 ; WX 278 ; N slash ; B -21 -19 452 737 ;
+C 48 ; WX 556 ; N zero ; B 93 -19 608 703 ;
+C 49 ; WX 556 ; N one ; B 207 0 508 703 ;
+C 50 ; WX 556 ; N two ; B 26 0 617 703 ;
+C 51 ; WX 556 ; N three ; B 75 -19 610 703 ;
+C 52 ; WX 556 ; N four ; B 61 0 576 703 ;
+C 53 ; WX 556 ; N five ; B 68 -19 621 688 ;
+C 54 ; WX 556 ; N six ; B 91 -19 615 703 ;
+C 55 ; WX 556 ; N seven ; B 137 0 669 688 ;
+C 56 ; WX 556 ; N eight ; B 74 -19 607 703 ;
+C 57 ; WX 556 ; N nine ; B 82 -19 609 703 ;
+C 58 ; WX 278 ; N colon ; B 87 0 301 516 ;
+C 59 ; WX 278 ; N semicolon ; B 56 -147 301 516 ;
+C 60 ; WX 584 ; N less ; B 94 11 641 495 ;
+C 61 ; WX 584 ; N equal ; B 63 115 628 390 ;
+C 62 ; WX 584 ; N greater ; B 50 11 597 495 ;
+C 63 ; WX 556 ; N question ; B 161 0 610 727 ;
+C 64 ; WX 1015 ; N at ; B 215 -19 965 737 ;
+C 65 ; WX 667 ; N A ; B 14 0 654 718 ;
+C 66 ; WX 667 ; N B ; B 74 0 712 718 ;
+C 67 ; WX 722 ; N C ; B 108 -19 782 737 ;
+C 68 ; WX 722 ; N D ; B 81 0 764 718 ;
+C 69 ; WX 667 ; N E ; B 86 0 762 718 ;
+C 70 ; WX 611 ; N F ; B 86 0 736 718 ;
+C 71 ; WX 778 ; N G ; B 111 -19 799 737 ;
+C 72 ; WX 722 ; N H ; B 77 0 799 718 ;
+C 73 ; WX 278 ; N I ; B 91 0 341 718 ;
+C 74 ; WX 500 ; N J ; B 47 -19 581 718 ;
+C 75 ; WX 667 ; N K ; B 76 0 808 718 ;
+C 76 ; WX 556 ; N L ; B 76 0 555 718 ;
+C 77 ; WX 833 ; N M ; B 73 0 914 718 ;
+C 78 ; WX 722 ; N N ; B 76 0 799 718 ;
+C 79 ; WX 778 ; N O ; B 105 -19 826 737 ;
+C 80 ; WX 667 ; N P ; B 86 0 737 718 ;
+C 81 ; WX 778 ; N Q ; B 105 -56 826 737 ;
+C 82 ; WX 722 ; N R ; B 88 0 773 718 ;
+C 83 ; WX 667 ; N S ; B 90 -19 713 737 ;
+C 84 ; WX 611 ; N T ; B 148 0 750 718 ;
+C 85 ; WX 722 ; N U ; B 123 -19 797 718 ;
+C 86 ; WX 667 ; N V ; B 173 0 800 718 ;
+C 87 ; WX 944 ; N W ; B 169 0 1081 718 ;
+C 88 ; WX 667 ; N X ; B 19 0 790 718 ;
+C 89 ; WX 667 ; N Y ; B 167 0 806 718 ;
+C 90 ; WX 611 ; N Z ; B 23 0 741 718 ;
+C 91 ; WX 278 ; N bracketleft ; B 21 -196 403 722 ;
+C 92 ; WX 278 ; N backslash ; B 140 -19 291 737 ;
+C 93 ; WX 278 ; N bracketright ; B -14 -196 368 722 ;
+C 94 ; WX 469 ; N asciicircum ; B 42 264 539 688 ;
+C 95 ; WX 556 ; N underscore ; B -27 -125 540 -75 ;
+C 96 ; WX 222 ; N quoteleft ; B 165 470 323 725 ;
+C 97 ; WX 556 ; N a ; B 61 -15 559 538 ;
+C 98 ; WX 556 ; N b ; B 58 -15 584 718 ;
+C 99 ; WX 500 ; N c ; B 74 -15 553 538 ;
+C 100 ; WX 556 ; N d ; B 84 -15 652 718 ;
+C 101 ; WX 556 ; N e ; B 84 -15 578 538 ;
+C 102 ; WX 278 ; N f ; B 86 0 416 728 ; L i fi ; L l fl ;
+C 103 ; WX 556 ; N g ; B 42 -220 610 538 ;
+C 104 ; WX 556 ; N h ; B 65 0 573 718 ;
+C 105 ; WX 222 ; N i ; B 67 0 308 718 ;
+C 106 ; WX 222 ; N j ; B -60 -210 308 718 ;
+C 107 ; WX 500 ; N k ; B 67 0 600 718 ;
+C 108 ; WX 222 ; N l ; B 67 0 308 718 ;
+C 109 ; WX 833 ; N m ; B 65 0 852 538 ;
+C 110 ; WX 556 ; N n ; B 65 0 573 538 ;
+C 111 ; WX 556 ; N o ; B 83 -14 585 538 ;
+C 112 ; WX 556 ; N p ; B 14 -207 584 538 ;
+C 113 ; WX 556 ; N q ; B 84 -207 605 538 ;
+C 114 ; WX 333 ; N r ; B 77 0 446 538 ;
+C 115 ; WX 500 ; N s ; B 63 -15 529 538 ;
+C 116 ; WX 278 ; N t ; B 102 -7 368 669 ;
+C 117 ; WX 556 ; N u ; B 94 -15 600 523 ;
+C 118 ; WX 500 ; N v ; B 119 0 603 523 ;
+C 119 ; WX 722 ; N w ; B 125 0 820 523 ;
+C 120 ; WX 500 ; N x ; B 11 0 594 523 ;
+C 121 ; WX 500 ; N y ; B 15 -214 600 523 ;
+C 122 ; WX 500 ; N z ; B 31 0 571 523 ;
+C 123 ; WX 334 ; N braceleft ; B 92 -196 445 722 ;
+C 124 ; WX 260 ; N bar ; B 46 -225 332 775 ;
+C 125 ; WX 334 ; N braceright ; B 0 -196 354 722 ;
+C 126 ; WX 584 ; N asciitilde ; B 111 180 580 326 ;
+C 161 ; WX 333 ; N exclamdown ; B 77 -195 326 523 ;
+C 162 ; WX 556 ; N cent ; B 95 -115 584 623 ;
+C 163 ; WX 556 ; N sterling ; B 49 -16 634 718 ;
+C 164 ; WX 167 ; N fraction ; B -170 -19 482 703 ;
+C 165 ; WX 556 ; N yen ; B 81 0 699 688 ;
+C 166 ; WX 556 ; N florin ; B -52 -207 654 737 ;
+C 167 ; WX 556 ; N section ; B 76 -191 584 737 ;
+C 168 ; WX 556 ; N currency ; B 60 99 646 603 ;
+C 169 ; WX 191 ; N quotesingle ; B 157 463 285 718 ;
+C 170 ; WX 333 ; N quotedblleft ; B 138 470 461 725 ;
+C 171 ; WX 556 ; N guillemotleft ; B 146 108 554 446 ;
+C 172 ; WX 333 ; N guilsinglleft ; B 137 108 340 446 ;
+C 173 ; WX 333 ; N guilsinglright ; B 111 108 314 446 ;
+C 174 ; WX 500 ; N fi ; B 86 0 587 728 ;
+C 175 ; WX 500 ; N fl ; B 86 0 585 728 ;
+C 177 ; WX 556 ; N endash ; B 51 240 623 313 ;
+C 178 ; WX 556 ; N dagger ; B 135 -159 622 718 ;
+C 179 ; WX 556 ; N daggerdbl ; B 52 -159 623 718 ;
+C 180 ; WX 278 ; N periodcentered ; B 129 190 257 315 ;
+C 182 ; WX 537 ; N paragraph ; B 126 -173 650 718 ;
+C 183 ; WX 350 ; N bullet ; B 91 202 413 517 ;
+C 184 ; WX 222 ; N quotesinglbase ; B 21 -149 180 106 ;
+C 185 ; WX 333 ; N quotedblbase ; B -6 -149 318 106 ;
+C 186 ; WX 333 ; N quotedblright ; B 124 463 448 718 ;
+C 187 ; WX 556 ; N guillemotright ; B 120 108 528 446 ;
+C 188 ; WX 1000 ; N ellipsis ; B 115 0 908 106 ;
+C 189 ; WX 1000 ; N perthousand ; B 88 -19 1029 703 ;
+C 191 ; WX 611 ; N questiondown ; B 85 -201 534 525 ;
+C 193 ; WX 333 ; N grave ; B 170 593 337 734 ;
+C 194 ; WX 333 ; N acute ; B 248 593 475 734 ;
+C 195 ; WX 333 ; N circumflex ; B 147 593 438 734 ;
+C 196 ; WX 333 ; N tilde ; B 125 606 490 722 ;
+C 197 ; WX 333 ; N macron ; B 143 627 468 684 ;
+C 198 ; WX 333 ; N breve ; B 167 595 476 731 ;
+C 199 ; WX 333 ; N dotaccent ; B 249 604 362 706 ;
+C 200 ; WX 333 ; N dieresis ; B 168 604 443 706 ;
+C 202 ; WX 333 ; N ring ; B 214 572 402 756 ;
+C 203 ; WX 333 ; N cedilla ; B 2 -225 232 0 ;
+C 205 ; WX 333 ; N hungarumlaut ; B 157 593 565 734 ;
+C 206 ; WX 333 ; N ogonek ; B 43 -225 249 0 ;
+C 207 ; WX 333 ; N caron ; B 177 593 468 734 ;
+C 208 ; WX 1000 ; N emdash ; B 51 240 1067 313 ;
+C 225 ; WX 1000 ; N AE ; B 8 0 1097 718 ;
+C 227 ; WX 370 ; N ordfeminine ; B 127 405 449 737 ;
+C 232 ; WX 556 ; N Lslash ; B 41 0 555 718 ;
+C 233 ; WX 778 ; N Oslash ; B 43 -19 890 737 ;
+C 234 ; WX 1000 ; N OE ; B 98 -19 1116 737 ;
+C 235 ; WX 365 ; N ordmasculine ; B 141 405 468 737 ;
+C 241 ; WX 889 ; N ae ; B 61 -15 909 538 ;
+C 245 ; WX 278 ; N dotlessi ; B 95 0 294 523 ;
+C 248 ; WX 222 ; N lslash ; B 41 0 347 718 ;
+C 249 ; WX 611 ; N oslash ; B 29 -22 647 545 ;
+C 250 ; WX 944 ; N oe ; B 83 -15 964 538 ;
+C 251 ; WX 611 ; N germandbls ; B 67 -15 658 728 ;
+C -1 ; WX 278 ; N Idieresis ; B 91 0 458 901 ;
+C -1 ; WX 556 ; N eacute ; B 84 -15 587 734 ;
+C -1 ; WX 556 ; N abreve ; B 61 -15 578 731 ;
+C -1 ; WX 556 ; N uhungarumlaut ; B 94 -15 677 734 ;
+C -1 ; WX 556 ; N ecaron ; B 84 -15 580 734 ;
+C -1 ; WX 667 ; N Ydieresis ; B 167 0 806 901 ;
+C -1 ; WX 584 ; N divide ; B 85 -19 606 524 ;
+C -1 ; WX 667 ; N Yacute ; B 167 0 806 929 ;
+C -1 ; WX 667 ; N Acircumflex ; B 14 0 654 929 ;
+C -1 ; WX 556 ; N aacute ; B 61 -15 587 734 ;
+C -1 ; WX 722 ; N Ucircumflex ; B 123 -19 797 929 ;
+C -1 ; WX 500 ; N yacute ; B 15 -214 600 734 ;
+C -1 ; WX 500 ; N scommaaccent ; B 63 -225 529 538 ;
+C -1 ; WX 556 ; N ecircumflex ; B 84 -15 578 734 ;
+C -1 ; WX 722 ; N Uring ; B 123 -19 797 931 ;
+C -1 ; WX 722 ; N Udieresis ; B 123 -19 797 901 ;
+C -1 ; WX 556 ; N aogonek ; B 61 -220 559 538 ;
+C -1 ; WX 722 ; N Uacute ; B 123 -19 797 929 ;
+C -1 ; WX 556 ; N uogonek ; B 94 -225 600 523 ;
+C -1 ; WX 667 ; N Edieresis ; B 86 0 762 901 ;
+C -1 ; WX 722 ; N Dcroat ; B 69 0 764 718 ;
+C -1 ; WX 250 ; N commaaccent ; B 39 -225 172 -40 ;
+C -1 ; WX 737 ; N copyright ; B 54 -19 837 737 ;
+C -1 ; WX 667 ; N Emacron ; B 86 0 762 879 ;
+C -1 ; WX 500 ; N ccaron ; B 74 -15 553 734 ;
+C -1 ; WX 556 ; N aring ; B 61 -15 559 756 ;
+C -1 ; WX 722 ; N Ncommaaccent ; B 76 -225 799 718 ;
+C -1 ; WX 222 ; N lacute ; B 67 0 461 929 ;
+C -1 ; WX 556 ; N agrave ; B 61 -15 559 734 ;
+C -1 ; WX 611 ; N Tcommaaccent ; B 148 -225 750 718 ;
+C -1 ; WX 722 ; N Cacute ; B 108 -19 782 929 ;
+C -1 ; WX 556 ; N atilde ; B 61 -15 592 722 ;
+C -1 ; WX 667 ; N Edotaccent ; B 86 0 762 901 ;
+C -1 ; WX 500 ; N scaron ; B 63 -15 552 734 ;
+C -1 ; WX 500 ; N scedilla ; B 63 -225 529 538 ;
+C -1 ; WX 278 ; N iacute ; B 95 0 448 734 ;
+C -1 ; WX 471 ; N lozenge ; B 88 0 540 728 ;
+C -1 ; WX 722 ; N Rcaron ; B 88 0 773 929 ;
+C -1 ; WX 778 ; N Gcommaaccent ; B 111 -225 799 737 ;
+C -1 ; WX 556 ; N ucircumflex ; B 94 -15 600 734 ;
+C -1 ; WX 556 ; N acircumflex ; B 61 -15 559 734 ;
+C -1 ; WX 667 ; N Amacron ; B 14 0 677 879 ;
+C -1 ; WX 333 ; N rcaron ; B 77 0 508 734 ;
+C -1 ; WX 500 ; N ccedilla ; B 74 -225 553 538 ;
+C -1 ; WX 611 ; N Zdotaccent ; B 23 0 741 901 ;
+C -1 ; WX 667 ; N Thorn ; B 86 0 712 718 ;
+C -1 ; WX 778 ; N Omacron ; B 105 -19 826 879 ;
+C -1 ; WX 722 ; N Racute ; B 88 0 773 929 ;
+C -1 ; WX 667 ; N Sacute ; B 90 -19 713 929 ;
+C -1 ; WX 643 ; N dcaron ; B 84 -15 808 718 ;
+C -1 ; WX 722 ; N Umacron ; B 123 -19 797 879 ;
+C -1 ; WX 556 ; N uring ; B 94 -15 600 756 ;
+C -1 ; WX 333 ; N threesuperior ; B 90 270 436 703 ;
+C -1 ; WX 778 ; N Ograve ; B 105 -19 826 929 ;
+C -1 ; WX 667 ; N Agrave ; B 14 0 654 929 ;
+C -1 ; WX 667 ; N Abreve ; B 14 0 685 926 ;
+C -1 ; WX 584 ; N multiply ; B 50 0 642 506 ;
+C -1 ; WX 556 ; N uacute ; B 94 -15 600 734 ;
+C -1 ; WX 611 ; N Tcaron ; B 148 0 750 929 ;
+C -1 ; WX 476 ; N partialdiff ; B 41 -38 550 714 ;
+C -1 ; WX 500 ; N ydieresis ; B 15 -214 600 706 ;
+C -1 ; WX 722 ; N Nacute ; B 76 0 799 929 ;
+C -1 ; WX 278 ; N icircumflex ; B 95 0 411 734 ;
+C -1 ; WX 667 ; N Ecircumflex ; B 86 0 762 929 ;
+C -1 ; WX 556 ; N adieresis ; B 61 -15 559 706 ;
+C -1 ; WX 556 ; N edieresis ; B 84 -15 578 706 ;
+C -1 ; WX 500 ; N cacute ; B 74 -15 559 734 ;
+C -1 ; WX 556 ; N nacute ; B 65 0 587 734 ;
+C -1 ; WX 556 ; N umacron ; B 94 -15 600 684 ;
+C -1 ; WX 722 ; N Ncaron ; B 76 0 799 929 ;
+C -1 ; WX 278 ; N Iacute ; B 91 0 489 929 ;
+C -1 ; WX 584 ; N plusminus ; B 39 0 618 506 ;
+C -1 ; WX 260 ; N brokenbar ; B 62 -150 316 700 ;
+C -1 ; WX 737 ; N registered ; B 54 -19 837 737 ;
+C -1 ; WX 778 ; N Gbreve ; B 111 -19 799 926 ;
+C -1 ; WX 278 ; N Idotaccent ; B 91 0 377 901 ;
+C -1 ; WX 600 ; N summation ; B 15 -10 671 706 ;
+C -1 ; WX 667 ; N Egrave ; B 86 0 762 929 ;
+C -1 ; WX 333 ; N racute ; B 77 0 475 734 ;
+C -1 ; WX 556 ; N omacron ; B 83 -14 585 684 ;
+C -1 ; WX 611 ; N Zacute ; B 23 0 741 929 ;
+C -1 ; WX 611 ; N Zcaron ; B 23 0 741 929 ;
+C -1 ; WX 549 ; N greaterequal ; B 26 0 620 674 ;
+C -1 ; WX 722 ; N Eth ; B 69 0 764 718 ;
+C -1 ; WX 722 ; N Ccedilla ; B 108 -225 782 737 ;
+C -1 ; WX 222 ; N lcommaaccent ; B 25 -225 308 718 ;
+C -1 ; WX 317 ; N tcaron ; B 102 -7 501 808 ;
+C -1 ; WX 556 ; N eogonek ; B 84 -225 578 538 ;
+C -1 ; WX 722 ; N Uogonek ; B 123 -225 797 718 ;
+C -1 ; WX 667 ; N Aacute ; B 14 0 683 929 ;
+C -1 ; WX 667 ; N Adieresis ; B 14 0 654 901 ;
+C -1 ; WX 556 ; N egrave ; B 84 -15 578 734 ;
+C -1 ; WX 500 ; N zacute ; B 31 0 571 734 ;
+C -1 ; WX 222 ; N iogonek ; B -61 -225 308 718 ;
+C -1 ; WX 778 ; N Oacute ; B 105 -19 826 929 ;
+C -1 ; WX 556 ; N oacute ; B 83 -14 587 734 ;
+C -1 ; WX 556 ; N amacron ; B 61 -15 580 684 ;
+C -1 ; WX 500 ; N sacute ; B 63 -15 559 734 ;
+C -1 ; WX 278 ; N idieresis ; B 95 0 416 706 ;
+C -1 ; WX 778 ; N Ocircumflex ; B 105 -19 826 929 ;
+C -1 ; WX 722 ; N Ugrave ; B 123 -19 797 929 ;
+C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ;
+C -1 ; WX 556 ; N thorn ; B 14 -207 584 718 ;
+C -1 ; WX 333 ; N twosuperior ; B 64 281 449 703 ;
+C -1 ; WX 778 ; N Odieresis ; B 105 -19 826 901 ;
+C -1 ; WX 556 ; N mu ; B 24 -207 600 523 ;
+C -1 ; WX 278 ; N igrave ; B 95 0 310 734 ;
+C -1 ; WX 556 ; N ohungarumlaut ; B 83 -14 677 734 ;
+C -1 ; WX 667 ; N Eogonek ; B 86 -220 762 718 ;
+C -1 ; WX 556 ; N dcroat ; B 84 -15 689 718 ;
+C -1 ; WX 834 ; N threequarters ; B 130 -19 861 703 ;
+C -1 ; WX 667 ; N Scedilla ; B 90 -225 713 737 ;
+C -1 ; WX 299 ; N lcaron ; B 67 0 464 718 ;
+C -1 ; WX 667 ; N Kcommaaccent ; B 76 -225 808 718 ;
+C -1 ; WX 556 ; N Lacute ; B 76 0 555 929 ;
+C -1 ; WX 1000 ; N trademark ; B 186 306 1056 718 ;
+C -1 ; WX 556 ; N edotaccent ; B 84 -15 578 706 ;
+C -1 ; WX 278 ; N Igrave ; B 91 0 351 929 ;
+C -1 ; WX 278 ; N Imacron ; B 91 0 483 879 ;
+C -1 ; WX 556 ; N Lcaron ; B 76 0 570 718 ;
+C -1 ; WX 834 ; N onehalf ; B 114 -19 839 703 ;
+C -1 ; WX 549 ; N lessequal ; B 26 0 666 674 ;
+C -1 ; WX 556 ; N ocircumflex ; B 83 -14 585 734 ;
+C -1 ; WX 556 ; N ntilde ; B 65 0 592 722 ;
+C -1 ; WX 722 ; N Uhungarumlaut ; B 123 -19 801 929 ;
+C -1 ; WX 667 ; N Eacute ; B 86 0 762 929 ;
+C -1 ; WX 556 ; N emacron ; B 84 -15 580 684 ;
+C -1 ; WX 556 ; N gbreve ; B 42 -220 610 731 ;
+C -1 ; WX 834 ; N onequarter ; B 150 -19 802 703 ;
+C -1 ; WX 667 ; N Scaron ; B 90 -19 713 929 ;
+C -1 ; WX 667 ; N Scommaaccent ; B 90 -225 713 737 ;
+C -1 ; WX 778 ; N Ohungarumlaut ; B 105 -19 829 929 ;
+C -1 ; WX 400 ; N degree ; B 169 411 468 703 ;
+C -1 ; WX 556 ; N ograve ; B 83 -14 585 734 ;
+C -1 ; WX 722 ; N Ccaron ; B 108 -19 782 929 ;
+C -1 ; WX 556 ; N ugrave ; B 94 -15 600 734 ;
+C -1 ; WX 453 ; N radical ; B 79 -80 617 762 ;
+C -1 ; WX 722 ; N Dcaron ; B 81 0 764 929 ;
+C -1 ; WX 333 ; N rcommaaccent ; B 30 -225 446 538 ;
+C -1 ; WX 722 ; N Ntilde ; B 76 0 799 917 ;
+C -1 ; WX 556 ; N otilde ; B 83 -14 602 722 ;
+C -1 ; WX 722 ; N Rcommaaccent ; B 88 -225 773 718 ;
+C -1 ; WX 556 ; N Lcommaaccent ; B 76 -225 555 718 ;
+C -1 ; WX 667 ; N Atilde ; B 14 0 699 917 ;
+C -1 ; WX 667 ; N Aogonek ; B 14 -225 654 718 ;
+C -1 ; WX 667 ; N Aring ; B 14 0 654 931 ;
+C -1 ; WX 778 ; N Otilde ; B 105 -19 826 917 ;
+C -1 ; WX 500 ; N zdotaccent ; B 31 0 571 706 ;
+C -1 ; WX 667 ; N Ecaron ; B 86 0 762 929 ;
+C -1 ; WX 278 ; N Iogonek ; B -33 -225 341 718 ;
+C -1 ; WX 500 ; N kcommaaccent ; B 67 -225 600 718 ;
+C -1 ; WX 584 ; N minus ; B 85 216 606 289 ;
+C -1 ; WX 278 ; N Icircumflex ; B 91 0 452 929 ;
+C -1 ; WX 556 ; N ncaron ; B 65 0 580 734 ;
+C -1 ; WX 278 ; N tcommaaccent ; B 63 -225 368 669 ;
+C -1 ; WX 584 ; N logicalnot ; B 106 108 628 390 ;
+C -1 ; WX 556 ; N odieresis ; B 83 -14 585 706 ;
+C -1 ; WX 556 ; N udieresis ; B 94 -15 600 706 ;
+C -1 ; WX 549 ; N notequal ; B 34 -35 623 551 ;
+C -1 ; WX 556 ; N gcommaaccent ; B 42 -220 610 822 ;
+C -1 ; WX 556 ; N eth ; B 81 -15 617 737 ;
+C -1 ; WX 500 ; N zcaron ; B 31 0 571 734 ;
+C -1 ; WX 556 ; N ncommaaccent ; B 65 -225 573 538 ;
+C -1 ; WX 333 ; N onesuperior ; B 166 281 371 703 ;
+C -1 ; WX 278 ; N imacron ; B 95 0 417 684 ;
+EndCharMetrics
+StartKernData
+StartKernPairs 2705
+KPX A C -30
+KPX A Cacute -30
+KPX A Ccaron -30
+KPX A Ccedilla -30
+KPX A G -30
+KPX A Gbreve -30
+KPX A Gcommaaccent -30
+KPX A O -30
+KPX A Oacute -30
+KPX A Ocircumflex -30
+KPX A Odieresis -30
+KPX A Ograve -30
+KPX A Ohungarumlaut -30
+KPX A Omacron -30
+KPX A Oslash -30
+KPX A Otilde -30
+KPX A Q -30
+KPX A T -120
+KPX A Tcaron -120
+KPX A Tcommaaccent -120
+KPX A U -50
+KPX A Uacute -50
+KPX A Ucircumflex -50
+KPX A Udieresis -50
+KPX A Ugrave -50
+KPX A Uhungarumlaut -50
+KPX A Umacron -50
+KPX A Uogonek -50
+KPX A Uring -50
+KPX A V -70
+KPX A W -50
+KPX A Y -100
+KPX A Yacute -100
+KPX A Ydieresis -100
+KPX A u -30
+KPX A uacute -30
+KPX A ucircumflex -30
+KPX A udieresis -30
+KPX A ugrave -30
+KPX A uhungarumlaut -30
+KPX A umacron -30
+KPX A uogonek -30
+KPX A uring -30
+KPX A v -40
+KPX A w -40
+KPX A y -40
+KPX A yacute -40
+KPX A ydieresis -40
+KPX Aacute C -30
+KPX Aacute Cacute -30
+KPX Aacute Ccaron -30
+KPX Aacute Ccedilla -30
+KPX Aacute G -30
+KPX Aacute Gbreve -30
+KPX Aacute Gcommaaccent -30
+KPX Aacute O -30
+KPX Aacute Oacute -30
+KPX Aacute Ocircumflex -30
+KPX Aacute Odieresis -30
+KPX Aacute Ograve -30
+KPX Aacute Ohungarumlaut -30
+KPX Aacute Omacron -30
+KPX Aacute Oslash -30
+KPX Aacute Otilde -30
+KPX Aacute Q -30
+KPX Aacute T -120
+KPX Aacute Tcaron -120
+KPX Aacute Tcommaaccent -120
+KPX Aacute U -50
+KPX Aacute Uacute -50
+KPX Aacute Ucircumflex -50
+KPX Aacute Udieresis -50
+KPX Aacute Ugrave -50
+KPX Aacute Uhungarumlaut -50
+KPX Aacute Umacron -50
+KPX Aacute Uogonek -50
+KPX Aacute Uring -50
+KPX Aacute V -70
+KPX Aacute W -50
+KPX Aacute Y -100
+KPX Aacute Yacute -100
+KPX Aacute Ydieresis -100
+KPX Aacute u -30
+KPX Aacute uacute -30
+KPX Aacute ucircumflex -30
+KPX Aacute udieresis -30
+KPX Aacute ugrave -30
+KPX Aacute uhungarumlaut -30
+KPX Aacute umacron -30
+KPX Aacute uogonek -30
+KPX Aacute uring -30
+KPX Aacute v -40
+KPX Aacute w -40
+KPX Aacute y -40
+KPX Aacute yacute -40
+KPX Aacute ydieresis -40
+KPX Abreve C -30
+KPX Abreve Cacute -30
+KPX Abreve Ccaron -30
+KPX Abreve Ccedilla -30
+KPX Abreve G -30
+KPX Abreve Gbreve -30
+KPX Abreve Gcommaaccent -30
+KPX Abreve O -30
+KPX Abreve Oacute -30
+KPX Abreve Ocircumflex -30
+KPX Abreve Odieresis -30
+KPX Abreve Ograve -30
+KPX Abreve Ohungarumlaut -30
+KPX Abreve Omacron -30
+KPX Abreve Oslash -30
+KPX Abreve Otilde -30
+KPX Abreve Q -30
+KPX Abreve T -120
+KPX Abreve Tcaron -120
+KPX Abreve Tcommaaccent -120
+KPX Abreve U -50
+KPX Abreve Uacute -50
+KPX Abreve Ucircumflex -50
+KPX Abreve Udieresis -50
+KPX Abreve Ugrave -50
+KPX Abreve Uhungarumlaut -50
+KPX Abreve Umacron -50
+KPX Abreve Uogonek -50
+KPX Abreve Uring -50
+KPX Abreve V -70
+KPX Abreve W -50
+KPX Abreve Y -100
+KPX Abreve Yacute -100
+KPX Abreve Ydieresis -100
+KPX Abreve u -30
+KPX Abreve uacute -30
+KPX Abreve ucircumflex -30
+KPX Abreve udieresis -30
+KPX Abreve ugrave -30
+KPX Abreve uhungarumlaut -30
+KPX Abreve umacron -30
+KPX Abreve uogonek -30
+KPX Abreve uring -30
+KPX Abreve v -40
+KPX Abreve w -40
+KPX Abreve y -40
+KPX Abreve yacute -40
+KPX Abreve ydieresis -40
+KPX Acircumflex C -30
+KPX Acircumflex Cacute -30
+KPX Acircumflex Ccaron -30
+KPX Acircumflex Ccedilla -30
+KPX Acircumflex G -30
+KPX Acircumflex Gbreve -30
+KPX Acircumflex Gcommaaccent -30
+KPX Acircumflex O -30
+KPX Acircumflex Oacute -30
+KPX Acircumflex Ocircumflex -30
+KPX Acircumflex Odieresis -30
+KPX Acircumflex Ograve -30
+KPX Acircumflex Ohungarumlaut -30
+KPX Acircumflex Omacron -30
+KPX Acircumflex Oslash -30
+KPX Acircumflex Otilde -30
+KPX Acircumflex Q -30
+KPX Acircumflex T -120
+KPX Acircumflex Tcaron -120
+KPX Acircumflex Tcommaaccent -120
+KPX Acircumflex U -50
+KPX Acircumflex Uacute -50
+KPX Acircumflex Ucircumflex -50
+KPX Acircumflex Udieresis -50
+KPX Acircumflex Ugrave -50
+KPX Acircumflex Uhungarumlaut -50
+KPX Acircumflex Umacron -50
+KPX Acircumflex Uogonek -50
+KPX Acircumflex Uring -50
+KPX Acircumflex V -70
+KPX Acircumflex W -50
+KPX Acircumflex Y -100
+KPX Acircumflex Yacute -100
+KPX Acircumflex Ydieresis -100
+KPX Acircumflex u -30
+KPX Acircumflex uacute -30
+KPX Acircumflex ucircumflex -30
+KPX Acircumflex udieresis -30
+KPX Acircumflex ugrave -30
+KPX Acircumflex uhungarumlaut -30
+KPX Acircumflex umacron -30
+KPX Acircumflex uogonek -30
+KPX Acircumflex uring -30
+KPX Acircumflex v -40
+KPX Acircumflex w -40
+KPX Acircumflex y -40
+KPX Acircumflex yacute -40
+KPX Acircumflex ydieresis -40
+KPX Adieresis C -30
+KPX Adieresis Cacute -30
+KPX Adieresis Ccaron -30
+KPX Adieresis Ccedilla -30
+KPX Adieresis G -30
+KPX Adieresis Gbreve -30
+KPX Adieresis Gcommaaccent -30
+KPX Adieresis O -30
+KPX Adieresis Oacute -30
+KPX Adieresis Ocircumflex -30
+KPX Adieresis Odieresis -30
+KPX Adieresis Ograve -30
+KPX Adieresis Ohungarumlaut -30
+KPX Adieresis Omacron -30
+KPX Adieresis Oslash -30
+KPX Adieresis Otilde -30
+KPX Adieresis Q -30
+KPX Adieresis T -120
+KPX Adieresis Tcaron -120
+KPX Adieresis Tcommaaccent -120
+KPX Adieresis U -50
+KPX Adieresis Uacute -50
+KPX Adieresis Ucircumflex -50
+KPX Adieresis Udieresis -50
+KPX Adieresis Ugrave -50
+KPX Adieresis Uhungarumlaut -50
+KPX Adieresis Umacron -50
+KPX Adieresis Uogonek -50
+KPX Adieresis Uring -50
+KPX Adieresis V -70
+KPX Adieresis W -50
+KPX Adieresis Y -100
+KPX Adieresis Yacute -100
+KPX Adieresis Ydieresis -100
+KPX Adieresis u -30
+KPX Adieresis uacute -30
+KPX Adieresis ucircumflex -30
+KPX Adieresis udieresis -30
+KPX Adieresis ugrave -30
+KPX Adieresis uhungarumlaut -30
+KPX Adieresis umacron -30
+KPX Adieresis uogonek -30
+KPX Adieresis uring -30
+KPX Adieresis v -40
+KPX Adieresis w -40
+KPX Adieresis y -40
+KPX Adieresis yacute -40
+KPX Adieresis ydieresis -40
+KPX Agrave C -30
+KPX Agrave Cacute -30
+KPX Agrave Ccaron -30
+KPX Agrave Ccedilla -30
+KPX Agrave G -30
+KPX Agrave Gbreve -30
+KPX Agrave Gcommaaccent -30
+KPX Agrave O -30
+KPX Agrave Oacute -30
+KPX Agrave Ocircumflex -30
+KPX Agrave Odieresis -30
+KPX Agrave Ograve -30
+KPX Agrave Ohungarumlaut -30
+KPX Agrave Omacron -30
+KPX Agrave Oslash -30
+KPX Agrave Otilde -30
+KPX Agrave Q -30
+KPX Agrave T -120
+KPX Agrave Tcaron -120
+KPX Agrave Tcommaaccent -120
+KPX Agrave U -50
+KPX Agrave Uacute -50
+KPX Agrave Ucircumflex -50
+KPX Agrave Udieresis -50
+KPX Agrave Ugrave -50
+KPX Agrave Uhungarumlaut -50
+KPX Agrave Umacron -50
+KPX Agrave Uogonek -50
+KPX Agrave Uring -50
+KPX Agrave V -70
+KPX Agrave W -50
+KPX Agrave Y -100
+KPX Agrave Yacute -100
+KPX Agrave Ydieresis -100
+KPX Agrave u -30
+KPX Agrave uacute -30
+KPX Agrave ucircumflex -30
+KPX Agrave udieresis -30
+KPX Agrave ugrave -30
+KPX Agrave uhungarumlaut -30
+KPX Agrave umacron -30
+KPX Agrave uogonek -30
+KPX Agrave uring -30
+KPX Agrave v -40
+KPX Agrave w -40
+KPX Agrave y -40
+KPX Agrave yacute -40
+KPX Agrave ydieresis -40
+KPX Amacron C -30
+KPX Amacron Cacute -30
+KPX Amacron Ccaron -30
+KPX Amacron Ccedilla -30
+KPX Amacron G -30
+KPX Amacron Gbreve -30
+KPX Amacron Gcommaaccent -30
+KPX Amacron O -30
+KPX Amacron Oacute -30
+KPX Amacron Ocircumflex -30
+KPX Amacron Odieresis -30
+KPX Amacron Ograve -30
+KPX Amacron Ohungarumlaut -30
+KPX Amacron Omacron -30
+KPX Amacron Oslash -30
+KPX Amacron Otilde -30
+KPX Amacron Q -30
+KPX Amacron T -120
+KPX Amacron Tcaron -120
+KPX Amacron Tcommaaccent -120
+KPX Amacron U -50
+KPX Amacron Uacute -50
+KPX Amacron Ucircumflex -50
+KPX Amacron Udieresis -50
+KPX Amacron Ugrave -50
+KPX Amacron Uhungarumlaut -50
+KPX Amacron Umacron -50
+KPX Amacron Uogonek -50
+KPX Amacron Uring -50
+KPX Amacron V -70
+KPX Amacron W -50
+KPX Amacron Y -100
+KPX Amacron Yacute -100
+KPX Amacron Ydieresis -100
+KPX Amacron u -30
+KPX Amacron uacute -30
+KPX Amacron ucircumflex -30
+KPX Amacron udieresis -30
+KPX Amacron ugrave -30
+KPX Amacron uhungarumlaut -30
+KPX Amacron umacron -30
+KPX Amacron uogonek -30
+KPX Amacron uring -30
+KPX Amacron v -40
+KPX Amacron w -40
+KPX Amacron y -40
+KPX Amacron yacute -40
+KPX Amacron ydieresis -40
+KPX Aogonek C -30
+KPX Aogonek Cacute -30
+KPX Aogonek Ccaron -30
+KPX Aogonek Ccedilla -30
+KPX Aogonek G -30
+KPX Aogonek Gbreve -30
+KPX Aogonek Gcommaaccent -30
+KPX Aogonek O -30
+KPX Aogonek Oacute -30
+KPX Aogonek Ocircumflex -30
+KPX Aogonek Odieresis -30
+KPX Aogonek Ograve -30
+KPX Aogonek Ohungarumlaut -30
+KPX Aogonek Omacron -30
+KPX Aogonek Oslash -30
+KPX Aogonek Otilde -30
+KPX Aogonek Q -30
+KPX Aogonek T -120
+KPX Aogonek Tcaron -120
+KPX Aogonek Tcommaaccent -120
+KPX Aogonek U -50
+KPX Aogonek Uacute -50
+KPX Aogonek Ucircumflex -50
+KPX Aogonek Udieresis -50
+KPX Aogonek Ugrave -50
+KPX Aogonek Uhungarumlaut -50
+KPX Aogonek Umacron -50
+KPX Aogonek Uogonek -50
+KPX Aogonek Uring -50
+KPX Aogonek V -70
+KPX Aogonek W -50
+KPX Aogonek Y -100
+KPX Aogonek Yacute -100
+KPX Aogonek Ydieresis -100
+KPX Aogonek u -30
+KPX Aogonek uacute -30
+KPX Aogonek ucircumflex -30
+KPX Aogonek udieresis -30
+KPX Aogonek ugrave -30
+KPX Aogonek uhungarumlaut -30
+KPX Aogonek umacron -30
+KPX Aogonek uogonek -30
+KPX Aogonek uring -30
+KPX Aogonek v -40
+KPX Aogonek w -40
+KPX Aogonek y -40
+KPX Aogonek yacute -40
+KPX Aogonek ydieresis -40
+KPX Aring C -30
+KPX Aring Cacute -30
+KPX Aring Ccaron -30
+KPX Aring Ccedilla -30
+KPX Aring G -30
+KPX Aring Gbreve -30
+KPX Aring Gcommaaccent -30
+KPX Aring O -30
+KPX Aring Oacute -30
+KPX Aring Ocircumflex -30
+KPX Aring Odieresis -30
+KPX Aring Ograve -30
+KPX Aring Ohungarumlaut -30
+KPX Aring Omacron -30
+KPX Aring Oslash -30
+KPX Aring Otilde -30
+KPX Aring Q -30
+KPX Aring T -120
+KPX Aring Tcaron -120
+KPX Aring Tcommaaccent -120
+KPX Aring U -50
+KPX Aring Uacute -50
+KPX Aring Ucircumflex -50
+KPX Aring Udieresis -50
+KPX Aring Ugrave -50
+KPX Aring Uhungarumlaut -50
+KPX Aring Umacron -50
+KPX Aring Uogonek -50
+KPX Aring Uring -50
+KPX Aring V -70
+KPX Aring W -50
+KPX Aring Y -100
+KPX Aring Yacute -100
+KPX Aring Ydieresis -100
+KPX Aring u -30
+KPX Aring uacute -30
+KPX Aring ucircumflex -30
+KPX Aring udieresis -30
+KPX Aring ugrave -30
+KPX Aring uhungarumlaut -30
+KPX Aring umacron -30
+KPX Aring uogonek -30
+KPX Aring uring -30
+KPX Aring v -40
+KPX Aring w -40
+KPX Aring y -40
+KPX Aring yacute -40
+KPX Aring ydieresis -40
+KPX Atilde C -30
+KPX Atilde Cacute -30
+KPX Atilde Ccaron -30
+KPX Atilde Ccedilla -30
+KPX Atilde G -30
+KPX Atilde Gbreve -30
+KPX Atilde Gcommaaccent -30
+KPX Atilde O -30
+KPX Atilde Oacute -30
+KPX Atilde Ocircumflex -30
+KPX Atilde Odieresis -30
+KPX Atilde Ograve -30
+KPX Atilde Ohungarumlaut -30
+KPX Atilde Omacron -30
+KPX Atilde Oslash -30
+KPX Atilde Otilde -30
+KPX Atilde Q -30
+KPX Atilde T -120
+KPX Atilde Tcaron -120
+KPX Atilde Tcommaaccent -120
+KPX Atilde U -50
+KPX Atilde Uacute -50
+KPX Atilde Ucircumflex -50
+KPX Atilde Udieresis -50
+KPX Atilde Ugrave -50
+KPX Atilde Uhungarumlaut -50
+KPX Atilde Umacron -50
+KPX Atilde Uogonek -50
+KPX Atilde Uring -50
+KPX Atilde V -70
+KPX Atilde W -50
+KPX Atilde Y -100
+KPX Atilde Yacute -100
+KPX Atilde Ydieresis -100
+KPX Atilde u -30
+KPX Atilde uacute -30
+KPX Atilde ucircumflex -30
+KPX Atilde udieresis -30
+KPX Atilde ugrave -30
+KPX Atilde uhungarumlaut -30
+KPX Atilde umacron -30
+KPX Atilde uogonek -30
+KPX Atilde uring -30
+KPX Atilde v -40
+KPX Atilde w -40
+KPX Atilde y -40
+KPX Atilde yacute -40
+KPX Atilde ydieresis -40
+KPX B U -10
+KPX B Uacute -10
+KPX B Ucircumflex -10
+KPX B Udieresis -10
+KPX B Ugrave -10
+KPX B Uhungarumlaut -10
+KPX B Umacron -10
+KPX B Uogonek -10
+KPX B Uring -10
+KPX B comma -20
+KPX B period -20
+KPX C comma -30
+KPX C period -30
+KPX Cacute comma -30
+KPX Cacute period -30
+KPX Ccaron comma -30
+KPX Ccaron period -30
+KPX Ccedilla comma -30
+KPX Ccedilla period -30
+KPX D A -40
+KPX D Aacute -40
+KPX D Abreve -40
+KPX D Acircumflex -40
+KPX D Adieresis -40
+KPX D Agrave -40
+KPX D Amacron -40
+KPX D Aogonek -40
+KPX D Aring -40
+KPX D Atilde -40
+KPX D V -70
+KPX D W -40
+KPX D Y -90
+KPX D Yacute -90
+KPX D Ydieresis -90
+KPX D comma -70
+KPX D period -70
+KPX Dcaron A -40
+KPX Dcaron Aacute -40
+KPX Dcaron Abreve -40
+KPX Dcaron Acircumflex -40
+KPX Dcaron Adieresis -40
+KPX Dcaron Agrave -40
+KPX Dcaron Amacron -40
+KPX Dcaron Aogonek -40
+KPX Dcaron Aring -40
+KPX Dcaron Atilde -40
+KPX Dcaron V -70
+KPX Dcaron W -40
+KPX Dcaron Y -90
+KPX Dcaron Yacute -90
+KPX Dcaron Ydieresis -90
+KPX Dcaron comma -70
+KPX Dcaron period -70
+KPX Dcroat A -40
+KPX Dcroat Aacute -40
+KPX Dcroat Abreve -40
+KPX Dcroat Acircumflex -40
+KPX Dcroat Adieresis -40
+KPX Dcroat Agrave -40
+KPX Dcroat Amacron -40
+KPX Dcroat Aogonek -40
+KPX Dcroat Aring -40
+KPX Dcroat Atilde -40
+KPX Dcroat V -70
+KPX Dcroat W -40
+KPX Dcroat Y -90
+KPX Dcroat Yacute -90
+KPX Dcroat Ydieresis -90
+KPX Dcroat comma -70
+KPX Dcroat period -70
+KPX F A -80
+KPX F Aacute -80
+KPX F Abreve -80
+KPX F Acircumflex -80
+KPX F Adieresis -80
+KPX F Agrave -80
+KPX F Amacron -80
+KPX F Aogonek -80
+KPX F Aring -80
+KPX F Atilde -80
+KPX F a -50
+KPX F aacute -50
+KPX F abreve -50
+KPX F acircumflex -50
+KPX F adieresis -50
+KPX F agrave -50
+KPX F amacron -50
+KPX F aogonek -50
+KPX F aring -50
+KPX F atilde -50
+KPX F comma -150
+KPX F e -30
+KPX F eacute -30
+KPX F ecaron -30
+KPX F ecircumflex -30
+KPX F edieresis -30
+KPX F edotaccent -30
+KPX F egrave -30
+KPX F emacron -30
+KPX F eogonek -30
+KPX F o -30
+KPX F oacute -30
+KPX F ocircumflex -30
+KPX F odieresis -30
+KPX F ograve -30
+KPX F ohungarumlaut -30
+KPX F omacron -30
+KPX F oslash -30
+KPX F otilde -30
+KPX F period -150
+KPX F r -45
+KPX F racute -45
+KPX F rcaron -45
+KPX F rcommaaccent -45
+KPX J A -20
+KPX J Aacute -20
+KPX J Abreve -20
+KPX J Acircumflex -20
+KPX J Adieresis -20
+KPX J Agrave -20
+KPX J Amacron -20
+KPX J Aogonek -20
+KPX J Aring -20
+KPX J Atilde -20
+KPX J a -20
+KPX J aacute -20
+KPX J abreve -20
+KPX J acircumflex -20
+KPX J adieresis -20
+KPX J agrave -20
+KPX J amacron -20
+KPX J aogonek -20
+KPX J aring -20
+KPX J atilde -20
+KPX J comma -30
+KPX J period -30
+KPX J u -20
+KPX J uacute -20
+KPX J ucircumflex -20
+KPX J udieresis -20
+KPX J ugrave -20
+KPX J uhungarumlaut -20
+KPX J umacron -20
+KPX J uogonek -20
+KPX J uring -20
+KPX K O -50
+KPX K Oacute -50
+KPX K Ocircumflex -50
+KPX K Odieresis -50
+KPX K Ograve -50
+KPX K Ohungarumlaut -50
+KPX K Omacron -50
+KPX K Oslash -50
+KPX K Otilde -50
+KPX K e -40
+KPX K eacute -40
+KPX K ecaron -40
+KPX K ecircumflex -40
+KPX K edieresis -40
+KPX K edotaccent -40
+KPX K egrave -40
+KPX K emacron -40
+KPX K eogonek -40
+KPX K o -40
+KPX K oacute -40
+KPX K ocircumflex -40
+KPX K odieresis -40
+KPX K ograve -40
+KPX K ohungarumlaut -40
+KPX K omacron -40
+KPX K oslash -40
+KPX K otilde -40
+KPX K u -30
+KPX K uacute -30
+KPX K ucircumflex -30
+KPX K udieresis -30
+KPX K ugrave -30
+KPX K uhungarumlaut -30
+KPX K umacron -30
+KPX K uogonek -30
+KPX K uring -30
+KPX K y -50
+KPX K yacute -50
+KPX K ydieresis -50
+KPX Kcommaaccent O -50
+KPX Kcommaaccent Oacute -50
+KPX Kcommaaccent Ocircumflex -50
+KPX Kcommaaccent Odieresis -50
+KPX Kcommaaccent Ograve -50
+KPX Kcommaaccent Ohungarumlaut -50
+KPX Kcommaaccent Omacron -50
+KPX Kcommaaccent Oslash -50
+KPX Kcommaaccent Otilde -50
+KPX Kcommaaccent e -40
+KPX Kcommaaccent eacute -40
+KPX Kcommaaccent ecaron -40
+KPX Kcommaaccent ecircumflex -40
+KPX Kcommaaccent edieresis -40
+KPX Kcommaaccent edotaccent -40
+KPX Kcommaaccent egrave -40
+KPX Kcommaaccent emacron -40
+KPX Kcommaaccent eogonek -40
+KPX Kcommaaccent o -40
+KPX Kcommaaccent oacute -40
+KPX Kcommaaccent ocircumflex -40
+KPX Kcommaaccent odieresis -40
+KPX Kcommaaccent ograve -40
+KPX Kcommaaccent ohungarumlaut -40
+KPX Kcommaaccent omacron -40
+KPX Kcommaaccent oslash -40
+KPX Kcommaaccent otilde -40
+KPX Kcommaaccent u -30
+KPX Kcommaaccent uacute -30
+KPX Kcommaaccent ucircumflex -30
+KPX Kcommaaccent udieresis -30
+KPX Kcommaaccent ugrave -30
+KPX Kcommaaccent uhungarumlaut -30
+KPX Kcommaaccent umacron -30
+KPX Kcommaaccent uogonek -30
+KPX Kcommaaccent uring -30
+KPX Kcommaaccent y -50
+KPX Kcommaaccent yacute -50
+KPX Kcommaaccent ydieresis -50
+KPX L T -110
+KPX L Tcaron -110
+KPX L Tcommaaccent -110
+KPX L V -110
+KPX L W -70
+KPX L Y -140
+KPX L Yacute -140
+KPX L Ydieresis -140
+KPX L quotedblright -140
+KPX L quoteright -160
+KPX L y -30
+KPX L yacute -30
+KPX L ydieresis -30
+KPX Lacute T -110
+KPX Lacute Tcaron -110
+KPX Lacute Tcommaaccent -110
+KPX Lacute V -110
+KPX Lacute W -70
+KPX Lacute Y -140
+KPX Lacute Yacute -140
+KPX Lacute Ydieresis -140
+KPX Lacute quotedblright -140
+KPX Lacute quoteright -160
+KPX Lacute y -30
+KPX Lacute yacute -30
+KPX Lacute ydieresis -30
+KPX Lcaron T -110
+KPX Lcaron Tcaron -110
+KPX Lcaron Tcommaaccent -110
+KPX Lcaron V -110
+KPX Lcaron W -70
+KPX Lcaron Y -140
+KPX Lcaron Yacute -140
+KPX Lcaron Ydieresis -140
+KPX Lcaron quotedblright -140
+KPX Lcaron quoteright -160
+KPX Lcaron y -30
+KPX Lcaron yacute -30
+KPX Lcaron ydieresis -30
+KPX Lcommaaccent T -110
+KPX Lcommaaccent Tcaron -110
+KPX Lcommaaccent Tcommaaccent -110
+KPX Lcommaaccent V -110
+KPX Lcommaaccent W -70
+KPX Lcommaaccent Y -140
+KPX Lcommaaccent Yacute -140
+KPX Lcommaaccent Ydieresis -140
+KPX Lcommaaccent quotedblright -140
+KPX Lcommaaccent quoteright -160
+KPX Lcommaaccent y -30
+KPX Lcommaaccent yacute -30
+KPX Lcommaaccent ydieresis -30
+KPX Lslash T -110
+KPX Lslash Tcaron -110
+KPX Lslash Tcommaaccent -110
+KPX Lslash V -110
+KPX Lslash W -70
+KPX Lslash Y -140
+KPX Lslash Yacute -140
+KPX Lslash Ydieresis -140
+KPX Lslash quotedblright -140
+KPX Lslash quoteright -160
+KPX Lslash y -30
+KPX Lslash yacute -30
+KPX Lslash ydieresis -30
+KPX O A -20
+KPX O Aacute -20
+KPX O Abreve -20
+KPX O Acircumflex -20
+KPX O Adieresis -20
+KPX O Agrave -20
+KPX O Amacron -20
+KPX O Aogonek -20
+KPX O Aring -20
+KPX O Atilde -20
+KPX O T -40
+KPX O Tcaron -40
+KPX O Tcommaaccent -40
+KPX O V -50
+KPX O W -30
+KPX O X -60
+KPX O Y -70
+KPX O Yacute -70
+KPX O Ydieresis -70
+KPX O comma -40
+KPX O period -40
+KPX Oacute A -20
+KPX Oacute Aacute -20
+KPX Oacute Abreve -20
+KPX Oacute Acircumflex -20
+KPX Oacute Adieresis -20
+KPX Oacute Agrave -20
+KPX Oacute Amacron -20
+KPX Oacute Aogonek -20
+KPX Oacute Aring -20
+KPX Oacute Atilde -20
+KPX Oacute T -40
+KPX Oacute Tcaron -40
+KPX Oacute Tcommaaccent -40
+KPX Oacute V -50
+KPX Oacute W -30
+KPX Oacute X -60
+KPX Oacute Y -70
+KPX Oacute Yacute -70
+KPX Oacute Ydieresis -70
+KPX Oacute comma -40
+KPX Oacute period -40
+KPX Ocircumflex A -20
+KPX Ocircumflex Aacute -20
+KPX Ocircumflex Abreve -20
+KPX Ocircumflex Acircumflex -20
+KPX Ocircumflex Adieresis -20
+KPX Ocircumflex Agrave -20
+KPX Ocircumflex Amacron -20
+KPX Ocircumflex Aogonek -20
+KPX Ocircumflex Aring -20
+KPX Ocircumflex Atilde -20
+KPX Ocircumflex T -40
+KPX Ocircumflex Tcaron -40
+KPX Ocircumflex Tcommaaccent -40
+KPX Ocircumflex V -50
+KPX Ocircumflex W -30
+KPX Ocircumflex X -60
+KPX Ocircumflex Y -70
+KPX Ocircumflex Yacute -70
+KPX Ocircumflex Ydieresis -70
+KPX Ocircumflex comma -40
+KPX Ocircumflex period -40
+KPX Odieresis A -20
+KPX Odieresis Aacute -20
+KPX Odieresis Abreve -20
+KPX Odieresis Acircumflex -20
+KPX Odieresis Adieresis -20
+KPX Odieresis Agrave -20
+KPX Odieresis Amacron -20
+KPX Odieresis Aogonek -20
+KPX Odieresis Aring -20
+KPX Odieresis Atilde -20
+KPX Odieresis T -40
+KPX Odieresis Tcaron -40
+KPX Odieresis Tcommaaccent -40
+KPX Odieresis V -50
+KPX Odieresis W -30
+KPX Odieresis X -60
+KPX Odieresis Y -70
+KPX Odieresis Yacute -70
+KPX Odieresis Ydieresis -70
+KPX Odieresis comma -40
+KPX Odieresis period -40
+KPX Ograve A -20
+KPX Ograve Aacute -20
+KPX Ograve Abreve -20
+KPX Ograve Acircumflex -20
+KPX Ograve Adieresis -20
+KPX Ograve Agrave -20
+KPX Ograve Amacron -20
+KPX Ograve Aogonek -20
+KPX Ograve Aring -20
+KPX Ograve Atilde -20
+KPX Ograve T -40
+KPX Ograve Tcaron -40
+KPX Ograve Tcommaaccent -40
+KPX Ograve V -50
+KPX Ograve W -30
+KPX Ograve X -60
+KPX Ograve Y -70
+KPX Ograve Yacute -70
+KPX Ograve Ydieresis -70
+KPX Ograve comma -40
+KPX Ograve period -40
+KPX Ohungarumlaut A -20
+KPX Ohungarumlaut Aacute -20
+KPX Ohungarumlaut Abreve -20
+KPX Ohungarumlaut Acircumflex -20
+KPX Ohungarumlaut Adieresis -20
+KPX Ohungarumlaut Agrave -20
+KPX Ohungarumlaut Amacron -20
+KPX Ohungarumlaut Aogonek -20
+KPX Ohungarumlaut Aring -20
+KPX Ohungarumlaut Atilde -20
+KPX Ohungarumlaut T -40
+KPX Ohungarumlaut Tcaron -40
+KPX Ohungarumlaut Tcommaaccent -40
+KPX Ohungarumlaut V -50
+KPX Ohungarumlaut W -30
+KPX Ohungarumlaut X -60
+KPX Ohungarumlaut Y -70
+KPX Ohungarumlaut Yacute -70
+KPX Ohungarumlaut Ydieresis -70
+KPX Ohungarumlaut comma -40
+KPX Ohungarumlaut period -40
+KPX Omacron A -20
+KPX Omacron Aacute -20
+KPX Omacron Abreve -20
+KPX Omacron Acircumflex -20
+KPX Omacron Adieresis -20
+KPX Omacron Agrave -20
+KPX Omacron Amacron -20
+KPX Omacron Aogonek -20
+KPX Omacron Aring -20
+KPX Omacron Atilde -20
+KPX Omacron T -40
+KPX Omacron Tcaron -40
+KPX Omacron Tcommaaccent -40
+KPX Omacron V -50
+KPX Omacron W -30
+KPX Omacron X -60
+KPX Omacron Y -70
+KPX Omacron Yacute -70
+KPX Omacron Ydieresis -70
+KPX Omacron comma -40
+KPX Omacron period -40
+KPX Oslash A -20
+KPX Oslash Aacute -20
+KPX Oslash Abreve -20
+KPX Oslash Acircumflex -20
+KPX Oslash Adieresis -20
+KPX Oslash Agrave -20
+KPX Oslash Amacron -20
+KPX Oslash Aogonek -20
+KPX Oslash Aring -20
+KPX Oslash Atilde -20
+KPX Oslash T -40
+KPX Oslash Tcaron -40
+KPX Oslash Tcommaaccent -40
+KPX Oslash V -50
+KPX Oslash W -30
+KPX Oslash X -60
+KPX Oslash Y -70
+KPX Oslash Yacute -70
+KPX Oslash Ydieresis -70
+KPX Oslash comma -40
+KPX Oslash period -40
+KPX Otilde A -20
+KPX Otilde Aacute -20
+KPX Otilde Abreve -20
+KPX Otilde Acircumflex -20
+KPX Otilde Adieresis -20
+KPX Otilde Agrave -20
+KPX Otilde Amacron -20
+KPX Otilde Aogonek -20
+KPX Otilde Aring -20
+KPX Otilde Atilde -20
+KPX Otilde T -40
+KPX Otilde Tcaron -40
+KPX Otilde Tcommaaccent -40
+KPX Otilde V -50
+KPX Otilde W -30
+KPX Otilde X -60
+KPX Otilde Y -70
+KPX Otilde Yacute -70
+KPX Otilde Ydieresis -70
+KPX Otilde comma -40
+KPX Otilde period -40
+KPX P A -120
+KPX P Aacute -120
+KPX P Abreve -120
+KPX P Acircumflex -120
+KPX P Adieresis -120
+KPX P Agrave -120
+KPX P Amacron -120
+KPX P Aogonek -120
+KPX P Aring -120
+KPX P Atilde -120
+KPX P a -40
+KPX P aacute -40
+KPX P abreve -40
+KPX P acircumflex -40
+KPX P adieresis -40
+KPX P agrave -40
+KPX P amacron -40
+KPX P aogonek -40
+KPX P aring -40
+KPX P atilde -40
+KPX P comma -180
+KPX P e -50
+KPX P eacute -50
+KPX P ecaron -50
+KPX P ecircumflex -50
+KPX P edieresis -50
+KPX P edotaccent -50
+KPX P egrave -50
+KPX P emacron -50
+KPX P eogonek -50
+KPX P o -50
+KPX P oacute -50
+KPX P ocircumflex -50
+KPX P odieresis -50
+KPX P ograve -50
+KPX P ohungarumlaut -50
+KPX P omacron -50
+KPX P oslash -50
+KPX P otilde -50
+KPX P period -180
+KPX Q U -10
+KPX Q Uacute -10
+KPX Q Ucircumflex -10
+KPX Q Udieresis -10
+KPX Q Ugrave -10
+KPX Q Uhungarumlaut -10
+KPX Q Umacron -10
+KPX Q Uogonek -10
+KPX Q Uring -10
+KPX R O -20
+KPX R Oacute -20
+KPX R Ocircumflex -20
+KPX R Odieresis -20
+KPX R Ograve -20
+KPX R Ohungarumlaut -20
+KPX R Omacron -20
+KPX R Oslash -20
+KPX R Otilde -20
+KPX R T -30
+KPX R Tcaron -30
+KPX R Tcommaaccent -30
+KPX R U -40
+KPX R Uacute -40
+KPX R Ucircumflex -40
+KPX R Udieresis -40
+KPX R Ugrave -40
+KPX R Uhungarumlaut -40
+KPX R Umacron -40
+KPX R Uogonek -40
+KPX R Uring -40
+KPX R V -50
+KPX R W -30
+KPX R Y -50
+KPX R Yacute -50
+KPX R Ydieresis -50
+KPX Racute O -20
+KPX Racute Oacute -20
+KPX Racute Ocircumflex -20
+KPX Racute Odieresis -20
+KPX Racute Ograve -20
+KPX Racute Ohungarumlaut -20
+KPX Racute Omacron -20
+KPX Racute Oslash -20
+KPX Racute Otilde -20
+KPX Racute T -30
+KPX Racute Tcaron -30
+KPX Racute Tcommaaccent -30
+KPX Racute U -40
+KPX Racute Uacute -40
+KPX Racute Ucircumflex -40
+KPX Racute Udieresis -40
+KPX Racute Ugrave -40
+KPX Racute Uhungarumlaut -40
+KPX Racute Umacron -40
+KPX Racute Uogonek -40
+KPX Racute Uring -40
+KPX Racute V -50
+KPX Racute W -30
+KPX Racute Y -50
+KPX Racute Yacute -50
+KPX Racute Ydieresis -50
+KPX Rcaron O -20
+KPX Rcaron Oacute -20
+KPX Rcaron Ocircumflex -20
+KPX Rcaron Odieresis -20
+KPX Rcaron Ograve -20
+KPX Rcaron Ohungarumlaut -20
+KPX Rcaron Omacron -20
+KPX Rcaron Oslash -20
+KPX Rcaron Otilde -20
+KPX Rcaron T -30
+KPX Rcaron Tcaron -30
+KPX Rcaron Tcommaaccent -30
+KPX Rcaron U -40
+KPX Rcaron Uacute -40
+KPX Rcaron Ucircumflex -40
+KPX Rcaron Udieresis -40
+KPX Rcaron Ugrave -40
+KPX Rcaron Uhungarumlaut -40
+KPX Rcaron Umacron -40
+KPX Rcaron Uogonek -40
+KPX Rcaron Uring -40
+KPX Rcaron V -50
+KPX Rcaron W -30
+KPX Rcaron Y -50
+KPX Rcaron Yacute -50
+KPX Rcaron Ydieresis -50
+KPX Rcommaaccent O -20
+KPX Rcommaaccent Oacute -20
+KPX Rcommaaccent Ocircumflex -20
+KPX Rcommaaccent Odieresis -20
+KPX Rcommaaccent Ograve -20
+KPX Rcommaaccent Ohungarumlaut -20
+KPX Rcommaaccent Omacron -20
+KPX Rcommaaccent Oslash -20
+KPX Rcommaaccent Otilde -20
+KPX Rcommaaccent T -30
+KPX Rcommaaccent Tcaron -30
+KPX Rcommaaccent Tcommaaccent -30
+KPX Rcommaaccent U -40
+KPX Rcommaaccent Uacute -40
+KPX Rcommaaccent Ucircumflex -40
+KPX Rcommaaccent Udieresis -40
+KPX Rcommaaccent Ugrave -40
+KPX Rcommaaccent Uhungarumlaut -40
+KPX Rcommaaccent Umacron -40
+KPX Rcommaaccent Uogonek -40
+KPX Rcommaaccent Uring -40
+KPX Rcommaaccent V -50
+KPX Rcommaaccent W -30
+KPX Rcommaaccent Y -50
+KPX Rcommaaccent Yacute -50
+KPX Rcommaaccent Ydieresis -50
+KPX S comma -20
+KPX S period -20
+KPX Sacute comma -20
+KPX Sacute period -20
+KPX Scaron comma -20
+KPX Scaron period -20
+KPX Scedilla comma -20
+KPX Scedilla period -20
+KPX Scommaaccent comma -20
+KPX Scommaaccent period -20
+KPX T A -120
+KPX T Aacute -120
+KPX T Abreve -120
+KPX T Acircumflex -120
+KPX T Adieresis -120
+KPX T Agrave -120
+KPX T Amacron -120
+KPX T Aogonek -120
+KPX T Aring -120
+KPX T Atilde -120
+KPX T O -40
+KPX T Oacute -40
+KPX T Ocircumflex -40
+KPX T Odieresis -40
+KPX T Ograve -40
+KPX T Ohungarumlaut -40
+KPX T Omacron -40
+KPX T Oslash -40
+KPX T Otilde -40
+KPX T a -120
+KPX T aacute -120
+KPX T abreve -60
+KPX T acircumflex -120
+KPX T adieresis -120
+KPX T agrave -120
+KPX T amacron -60
+KPX T aogonek -120
+KPX T aring -120
+KPX T atilde -60
+KPX T colon -20
+KPX T comma -120
+KPX T e -120
+KPX T eacute -120
+KPX T ecaron -120
+KPX T ecircumflex -120
+KPX T edieresis -120
+KPX T edotaccent -120
+KPX T egrave -60
+KPX T emacron -60
+KPX T eogonek -120
+KPX T hyphen -140
+KPX T o -120
+KPX T oacute -120
+KPX T ocircumflex -120
+KPX T odieresis -120
+KPX T ograve -120
+KPX T ohungarumlaut -120
+KPX T omacron -60
+KPX T oslash -120
+KPX T otilde -60
+KPX T period -120
+KPX T r -120
+KPX T racute -120
+KPX T rcaron -120
+KPX T rcommaaccent -120
+KPX T semicolon -20
+KPX T u -120
+KPX T uacute -120
+KPX T ucircumflex -120
+KPX T udieresis -120
+KPX T ugrave -120
+KPX T uhungarumlaut -120
+KPX T umacron -60
+KPX T uogonek -120
+KPX T uring -120
+KPX T w -120
+KPX T y -120
+KPX T yacute -120
+KPX T ydieresis -60
+KPX Tcaron A -120
+KPX Tcaron Aacute -120
+KPX Tcaron Abreve -120
+KPX Tcaron Acircumflex -120
+KPX Tcaron Adieresis -120
+KPX Tcaron Agrave -120
+KPX Tcaron Amacron -120
+KPX Tcaron Aogonek -120
+KPX Tcaron Aring -120
+KPX Tcaron Atilde -120
+KPX Tcaron O -40
+KPX Tcaron Oacute -40
+KPX Tcaron Ocircumflex -40
+KPX Tcaron Odieresis -40
+KPX Tcaron Ograve -40
+KPX Tcaron Ohungarumlaut -40
+KPX Tcaron Omacron -40
+KPX Tcaron Oslash -40
+KPX Tcaron Otilde -40
+KPX Tcaron a -120
+KPX Tcaron aacute -120
+KPX Tcaron abreve -60
+KPX Tcaron acircumflex -120
+KPX Tcaron adieresis -120
+KPX Tcaron agrave -120
+KPX Tcaron amacron -60
+KPX Tcaron aogonek -120
+KPX Tcaron aring -120
+KPX Tcaron atilde -60
+KPX Tcaron colon -20
+KPX Tcaron comma -120
+KPX Tcaron e -120
+KPX Tcaron eacute -120
+KPX Tcaron ecaron -120
+KPX Tcaron ecircumflex -120
+KPX Tcaron edieresis -120
+KPX Tcaron edotaccent -120
+KPX Tcaron egrave -60
+KPX Tcaron emacron -60
+KPX Tcaron eogonek -120
+KPX Tcaron hyphen -140
+KPX Tcaron o -120
+KPX Tcaron oacute -120
+KPX Tcaron ocircumflex -120
+KPX Tcaron odieresis -120
+KPX Tcaron ograve -120
+KPX Tcaron ohungarumlaut -120
+KPX Tcaron omacron -60
+KPX Tcaron oslash -120
+KPX Tcaron otilde -60
+KPX Tcaron period -120
+KPX Tcaron r -120
+KPX Tcaron racute -120
+KPX Tcaron rcaron -120
+KPX Tcaron rcommaaccent -120
+KPX Tcaron semicolon -20
+KPX Tcaron u -120
+KPX Tcaron uacute -120
+KPX Tcaron ucircumflex -120
+KPX Tcaron udieresis -120
+KPX Tcaron ugrave -120
+KPX Tcaron uhungarumlaut -120
+KPX Tcaron umacron -60
+KPX Tcaron uogonek -120
+KPX Tcaron uring -120
+KPX Tcaron w -120
+KPX Tcaron y -120
+KPX Tcaron yacute -120
+KPX Tcaron ydieresis -60
+KPX Tcommaaccent A -120
+KPX Tcommaaccent Aacute -120
+KPX Tcommaaccent Abreve -120
+KPX Tcommaaccent Acircumflex -120
+KPX Tcommaaccent Adieresis -120
+KPX Tcommaaccent Agrave -120
+KPX Tcommaaccent Amacron -120
+KPX Tcommaaccent Aogonek -120
+KPX Tcommaaccent Aring -120
+KPX Tcommaaccent Atilde -120
+KPX Tcommaaccent O -40
+KPX Tcommaaccent Oacute -40
+KPX Tcommaaccent Ocircumflex -40
+KPX Tcommaaccent Odieresis -40
+KPX Tcommaaccent Ograve -40
+KPX Tcommaaccent Ohungarumlaut -40
+KPX Tcommaaccent Omacron -40
+KPX Tcommaaccent Oslash -40
+KPX Tcommaaccent Otilde -40
+KPX Tcommaaccent a -120
+KPX Tcommaaccent aacute -120
+KPX Tcommaaccent abreve -60
+KPX Tcommaaccent acircumflex -120
+KPX Tcommaaccent adieresis -120
+KPX Tcommaaccent agrave -120
+KPX Tcommaaccent amacron -60
+KPX Tcommaaccent aogonek -120
+KPX Tcommaaccent aring -120
+KPX Tcommaaccent atilde -60
+KPX Tcommaaccent colon -20
+KPX Tcommaaccent comma -120
+KPX Tcommaaccent e -120
+KPX Tcommaaccent eacute -120
+KPX Tcommaaccent ecaron -120
+KPX Tcommaaccent ecircumflex -120
+KPX Tcommaaccent edieresis -120
+KPX Tcommaaccent edotaccent -120
+KPX Tcommaaccent egrave -60
+KPX Tcommaaccent emacron -60
+KPX Tcommaaccent eogonek -120
+KPX Tcommaaccent hyphen -140
+KPX Tcommaaccent o -120
+KPX Tcommaaccent oacute -120
+KPX Tcommaaccent ocircumflex -120
+KPX Tcommaaccent odieresis -120
+KPX Tcommaaccent ograve -120
+KPX Tcommaaccent ohungarumlaut -120
+KPX Tcommaaccent omacron -60
+KPX Tcommaaccent oslash -120
+KPX Tcommaaccent otilde -60
+KPX Tcommaaccent period -120
+KPX Tcommaaccent r -120
+KPX Tcommaaccent racute -120
+KPX Tcommaaccent rcaron -120
+KPX Tcommaaccent rcommaaccent -120
+KPX Tcommaaccent semicolon -20
+KPX Tcommaaccent u -120
+KPX Tcommaaccent uacute -120
+KPX Tcommaaccent ucircumflex -120
+KPX Tcommaaccent udieresis -120
+KPX Tcommaaccent ugrave -120
+KPX Tcommaaccent uhungarumlaut -120
+KPX Tcommaaccent umacron -60
+KPX Tcommaaccent uogonek -120
+KPX Tcommaaccent uring -120
+KPX Tcommaaccent w -120
+KPX Tcommaaccent y -120
+KPX Tcommaaccent yacute -120
+KPX Tcommaaccent ydieresis -60
+KPX U A -40
+KPX U Aacute -40
+KPX U Abreve -40
+KPX U Acircumflex -40
+KPX U Adieresis -40
+KPX U Agrave -40
+KPX U Amacron -40
+KPX U Aogonek -40
+KPX U Aring -40
+KPX U Atilde -40
+KPX U comma -40
+KPX U period -40
+KPX Uacute A -40
+KPX Uacute Aacute -40
+KPX Uacute Abreve -40
+KPX Uacute Acircumflex -40
+KPX Uacute Adieresis -40
+KPX Uacute Agrave -40
+KPX Uacute Amacron -40
+KPX Uacute Aogonek -40
+KPX Uacute Aring -40
+KPX Uacute Atilde -40
+KPX Uacute comma -40
+KPX Uacute period -40
+KPX Ucircumflex A -40
+KPX Ucircumflex Aacute -40
+KPX Ucircumflex Abreve -40
+KPX Ucircumflex Acircumflex -40
+KPX Ucircumflex Adieresis -40
+KPX Ucircumflex Agrave -40
+KPX Ucircumflex Amacron -40
+KPX Ucircumflex Aogonek -40
+KPX Ucircumflex Aring -40
+KPX Ucircumflex Atilde -40
+KPX Ucircumflex comma -40
+KPX Ucircumflex period -40
+KPX Udieresis A -40
+KPX Udieresis Aacute -40
+KPX Udieresis Abreve -40
+KPX Udieresis Acircumflex -40
+KPX Udieresis Adieresis -40
+KPX Udieresis Agrave -40
+KPX Udieresis Amacron -40
+KPX Udieresis Aogonek -40
+KPX Udieresis Aring -40
+KPX Udieresis Atilde -40
+KPX Udieresis comma -40
+KPX Udieresis period -40
+KPX Ugrave A -40
+KPX Ugrave Aacute -40
+KPX Ugrave Abreve -40
+KPX Ugrave Acircumflex -40
+KPX Ugrave Adieresis -40
+KPX Ugrave Agrave -40
+KPX Ugrave Amacron -40
+KPX Ugrave Aogonek -40
+KPX Ugrave Aring -40
+KPX Ugrave Atilde -40
+KPX Ugrave comma -40
+KPX Ugrave period -40
+KPX Uhungarumlaut A -40
+KPX Uhungarumlaut Aacute -40
+KPX Uhungarumlaut Abreve -40
+KPX Uhungarumlaut Acircumflex -40
+KPX Uhungarumlaut Adieresis -40
+KPX Uhungarumlaut Agrave -40
+KPX Uhungarumlaut Amacron -40
+KPX Uhungarumlaut Aogonek -40
+KPX Uhungarumlaut Aring -40
+KPX Uhungarumlaut Atilde -40
+KPX Uhungarumlaut comma -40
+KPX Uhungarumlaut period -40
+KPX Umacron A -40
+KPX Umacron Aacute -40
+KPX Umacron Abreve -40
+KPX Umacron Acircumflex -40
+KPX Umacron Adieresis -40
+KPX Umacron Agrave -40
+KPX Umacron Amacron -40
+KPX Umacron Aogonek -40
+KPX Umacron Aring -40
+KPX Umacron Atilde -40
+KPX Umacron comma -40
+KPX Umacron period -40
+KPX Uogonek A -40
+KPX Uogonek Aacute -40
+KPX Uogonek Abreve -40
+KPX Uogonek Acircumflex -40
+KPX Uogonek Adieresis -40
+KPX Uogonek Agrave -40
+KPX Uogonek Amacron -40
+KPX Uogonek Aogonek -40
+KPX Uogonek Aring -40
+KPX Uogonek Atilde -40
+KPX Uogonek comma -40
+KPX Uogonek period -40
+KPX Uring A -40
+KPX Uring Aacute -40
+KPX Uring Abreve -40
+KPX Uring Acircumflex -40
+KPX Uring Adieresis -40
+KPX Uring Agrave -40
+KPX Uring Amacron -40
+KPX Uring Aogonek -40
+KPX Uring Aring -40
+KPX Uring Atilde -40
+KPX Uring comma -40
+KPX Uring period -40
+KPX V A -80
+KPX V Aacute -80
+KPX V Abreve -80
+KPX V Acircumflex -80
+KPX V Adieresis -80
+KPX V Agrave -80
+KPX V Amacron -80
+KPX V Aogonek -80
+KPX V Aring -80
+KPX V Atilde -80
+KPX V G -40
+KPX V Gbreve -40
+KPX V Gcommaaccent -40
+KPX V O -40
+KPX V Oacute -40
+KPX V Ocircumflex -40
+KPX V Odieresis -40
+KPX V Ograve -40
+KPX V Ohungarumlaut -40
+KPX V Omacron -40
+KPX V Oslash -40
+KPX V Otilde -40
+KPX V a -70
+KPX V aacute -70
+KPX V abreve -70
+KPX V acircumflex -70
+KPX V adieresis -70
+KPX V agrave -70
+KPX V amacron -70
+KPX V aogonek -70
+KPX V aring -70
+KPX V atilde -70
+KPX V colon -40
+KPX V comma -125
+KPX V e -80
+KPX V eacute -80
+KPX V ecaron -80
+KPX V ecircumflex -80
+KPX V edieresis -80
+KPX V edotaccent -80
+KPX V egrave -80
+KPX V emacron -80
+KPX V eogonek -80
+KPX V hyphen -80
+KPX V o -80
+KPX V oacute -80
+KPX V ocircumflex -80
+KPX V odieresis -80
+KPX V ograve -80
+KPX V ohungarumlaut -80
+KPX V omacron -80
+KPX V oslash -80
+KPX V otilde -80
+KPX V period -125
+KPX V semicolon -40
+KPX V u -70
+KPX V uacute -70
+KPX V ucircumflex -70
+KPX V udieresis -70
+KPX V ugrave -70
+KPX V uhungarumlaut -70
+KPX V umacron -70
+KPX V uogonek -70
+KPX V uring -70
+KPX W A -50
+KPX W Aacute -50
+KPX W Abreve -50
+KPX W Acircumflex -50
+KPX W Adieresis -50
+KPX W Agrave -50
+KPX W Amacron -50
+KPX W Aogonek -50
+KPX W Aring -50
+KPX W Atilde -50
+KPX W O -20
+KPX W Oacute -20
+KPX W Ocircumflex -20
+KPX W Odieresis -20
+KPX W Ograve -20
+KPX W Ohungarumlaut -20
+KPX W Omacron -20
+KPX W Oslash -20
+KPX W Otilde -20
+KPX W a -40
+KPX W aacute -40
+KPX W abreve -40
+KPX W acircumflex -40
+KPX W adieresis -40
+KPX W agrave -40
+KPX W amacron -40
+KPX W aogonek -40
+KPX W aring -40
+KPX W atilde -40
+KPX W comma -80
+KPX W e -30
+KPX W eacute -30
+KPX W ecaron -30
+KPX W ecircumflex -30
+KPX W edieresis -30
+KPX W edotaccent -30
+KPX W egrave -30
+KPX W emacron -30
+KPX W eogonek -30
+KPX W hyphen -40
+KPX W o -30
+KPX W oacute -30
+KPX W ocircumflex -30
+KPX W odieresis -30
+KPX W ograve -30
+KPX W ohungarumlaut -30
+KPX W omacron -30
+KPX W oslash -30
+KPX W otilde -30
+KPX W period -80
+KPX W u -30
+KPX W uacute -30
+KPX W ucircumflex -30
+KPX W udieresis -30
+KPX W ugrave -30
+KPX W uhungarumlaut -30
+KPX W umacron -30
+KPX W uogonek -30
+KPX W uring -30
+KPX W y -20
+KPX W yacute -20
+KPX W ydieresis -20
+KPX Y A -110
+KPX Y Aacute -110
+KPX Y Abreve -110
+KPX Y Acircumflex -110
+KPX Y Adieresis -110
+KPX Y Agrave -110
+KPX Y Amacron -110
+KPX Y Aogonek -110
+KPX Y Aring -110
+KPX Y Atilde -110
+KPX Y O -85
+KPX Y Oacute -85
+KPX Y Ocircumflex -85
+KPX Y Odieresis -85
+KPX Y Ograve -85
+KPX Y Ohungarumlaut -85
+KPX Y Omacron -85
+KPX Y Oslash -85
+KPX Y Otilde -85
+KPX Y a -140
+KPX Y aacute -140
+KPX Y abreve -70
+KPX Y acircumflex -140
+KPX Y adieresis -140
+KPX Y agrave -140
+KPX Y amacron -70
+KPX Y aogonek -140
+KPX Y aring -140
+KPX Y atilde -140
+KPX Y colon -60
+KPX Y comma -140
+KPX Y e -140
+KPX Y eacute -140
+KPX Y ecaron -140
+KPX Y ecircumflex -140
+KPX Y edieresis -140
+KPX Y edotaccent -140
+KPX Y egrave -140
+KPX Y emacron -70
+KPX Y eogonek -140
+KPX Y hyphen -140
+KPX Y i -20
+KPX Y iacute -20
+KPX Y iogonek -20
+KPX Y o -140
+KPX Y oacute -140
+KPX Y ocircumflex -140
+KPX Y odieresis -140
+KPX Y ograve -140
+KPX Y ohungarumlaut -140
+KPX Y omacron -140
+KPX Y oslash -140
+KPX Y otilde -140
+KPX Y period -140
+KPX Y semicolon -60
+KPX Y u -110
+KPX Y uacute -110
+KPX Y ucircumflex -110
+KPX Y udieresis -110
+KPX Y ugrave -110
+KPX Y uhungarumlaut -110
+KPX Y umacron -110
+KPX Y uogonek -110
+KPX Y uring -110
+KPX Yacute A -110
+KPX Yacute Aacute -110
+KPX Yacute Abreve -110
+KPX Yacute Acircumflex -110
+KPX Yacute Adieresis -110
+KPX Yacute Agrave -110
+KPX Yacute Amacron -110
+KPX Yacute Aogonek -110
+KPX Yacute Aring -110
+KPX Yacute Atilde -110
+KPX Yacute O -85
+KPX Yacute Oacute -85
+KPX Yacute Ocircumflex -85
+KPX Yacute Odieresis -85
+KPX Yacute Ograve -85
+KPX Yacute Ohungarumlaut -85
+KPX Yacute Omacron -85
+KPX Yacute Oslash -85
+KPX Yacute Otilde -85
+KPX Yacute a -140
+KPX Yacute aacute -140
+KPX Yacute abreve -70
+KPX Yacute acircumflex -140
+KPX Yacute adieresis -140
+KPX Yacute agrave -140
+KPX Yacute amacron -70
+KPX Yacute aogonek -140
+KPX Yacute aring -140
+KPX Yacute atilde -70
+KPX Yacute colon -60
+KPX Yacute comma -140
+KPX Yacute e -140
+KPX Yacute eacute -140
+KPX Yacute ecaron -140
+KPX Yacute ecircumflex -140
+KPX Yacute edieresis -140
+KPX Yacute edotaccent -140
+KPX Yacute egrave -140
+KPX Yacute emacron -70
+KPX Yacute eogonek -140
+KPX Yacute hyphen -140
+KPX Yacute i -20
+KPX Yacute iacute -20
+KPX Yacute iogonek -20
+KPX Yacute o -140
+KPX Yacute oacute -140
+KPX Yacute ocircumflex -140
+KPX Yacute odieresis -140
+KPX Yacute ograve -140
+KPX Yacute ohungarumlaut -140
+KPX Yacute omacron -70
+KPX Yacute oslash -140
+KPX Yacute otilde -140
+KPX Yacute period -140
+KPX Yacute semicolon -60
+KPX Yacute u -110
+KPX Yacute uacute -110
+KPX Yacute ucircumflex -110
+KPX Yacute udieresis -110
+KPX Yacute ugrave -110
+KPX Yacute uhungarumlaut -110
+KPX Yacute umacron -110
+KPX Yacute uogonek -110
+KPX Yacute uring -110
+KPX Ydieresis A -110
+KPX Ydieresis Aacute -110
+KPX Ydieresis Abreve -110
+KPX Ydieresis Acircumflex -110
+KPX Ydieresis Adieresis -110
+KPX Ydieresis Agrave -110
+KPX Ydieresis Amacron -110
+KPX Ydieresis Aogonek -110
+KPX Ydieresis Aring -110
+KPX Ydieresis Atilde -110
+KPX Ydieresis O -85
+KPX Ydieresis Oacute -85
+KPX Ydieresis Ocircumflex -85
+KPX Ydieresis Odieresis -85
+KPX Ydieresis Ograve -85
+KPX Ydieresis Ohungarumlaut -85
+KPX Ydieresis Omacron -85
+KPX Ydieresis Oslash -85
+KPX Ydieresis Otilde -85
+KPX Ydieresis a -140
+KPX Ydieresis aacute -140
+KPX Ydieresis abreve -70
+KPX Ydieresis acircumflex -140
+KPX Ydieresis adieresis -140
+KPX Ydieresis agrave -140
+KPX Ydieresis amacron -70
+KPX Ydieresis aogonek -140
+KPX Ydieresis aring -140
+KPX Ydieresis atilde -70
+KPX Ydieresis colon -60
+KPX Ydieresis comma -140
+KPX Ydieresis e -140
+KPX Ydieresis eacute -140
+KPX Ydieresis ecaron -140
+KPX Ydieresis ecircumflex -140
+KPX Ydieresis edieresis -140
+KPX Ydieresis edotaccent -140
+KPX Ydieresis egrave -140
+KPX Ydieresis emacron -70
+KPX Ydieresis eogonek -140
+KPX Ydieresis hyphen -140
+KPX Ydieresis i -20
+KPX Ydieresis iacute -20
+KPX Ydieresis iogonek -20
+KPX Ydieresis o -140
+KPX Ydieresis oacute -140
+KPX Ydieresis ocircumflex -140
+KPX Ydieresis odieresis -140
+KPX Ydieresis ograve -140
+KPX Ydieresis ohungarumlaut -140
+KPX Ydieresis omacron -140
+KPX Ydieresis oslash -140
+KPX Ydieresis otilde -140
+KPX Ydieresis period -140
+KPX Ydieresis semicolon -60
+KPX Ydieresis u -110
+KPX Ydieresis uacute -110
+KPX Ydieresis ucircumflex -110
+KPX Ydieresis udieresis -110
+KPX Ydieresis ugrave -110
+KPX Ydieresis uhungarumlaut -110
+KPX Ydieresis umacron -110
+KPX Ydieresis uogonek -110
+KPX Ydieresis uring -110
+KPX a v -20
+KPX a w -20
+KPX a y -30
+KPX a yacute -30
+KPX a ydieresis -30
+KPX aacute v -20
+KPX aacute w -20
+KPX aacute y -30
+KPX aacute yacute -30
+KPX aacute ydieresis -30
+KPX abreve v -20
+KPX abreve w -20
+KPX abreve y -30
+KPX abreve yacute -30
+KPX abreve ydieresis -30
+KPX acircumflex v -20
+KPX acircumflex w -20
+KPX acircumflex y -30
+KPX acircumflex yacute -30
+KPX acircumflex ydieresis -30
+KPX adieresis v -20
+KPX adieresis w -20
+KPX adieresis y -30
+KPX adieresis yacute -30
+KPX adieresis ydieresis -30
+KPX agrave v -20
+KPX agrave w -20
+KPX agrave y -30
+KPX agrave yacute -30
+KPX agrave ydieresis -30
+KPX amacron v -20
+KPX amacron w -20
+KPX amacron y -30
+KPX amacron yacute -30
+KPX amacron ydieresis -30
+KPX aogonek v -20
+KPX aogonek w -20
+KPX aogonek y -30
+KPX aogonek yacute -30
+KPX aogonek ydieresis -30
+KPX aring v -20
+KPX aring w -20
+KPX aring y -30
+KPX aring yacute -30
+KPX aring ydieresis -30
+KPX atilde v -20
+KPX atilde w -20
+KPX atilde y -30
+KPX atilde yacute -30
+KPX atilde ydieresis -30
+KPX b b -10
+KPX b comma -40
+KPX b l -20
+KPX b lacute -20
+KPX b lcommaaccent -20
+KPX b lslash -20
+KPX b period -40
+KPX b u -20
+KPX b uacute -20
+KPX b ucircumflex -20
+KPX b udieresis -20
+KPX b ugrave -20
+KPX b uhungarumlaut -20
+KPX b umacron -20
+KPX b uogonek -20
+KPX b uring -20
+KPX b v -20
+KPX b y -20
+KPX b yacute -20
+KPX b ydieresis -20
+KPX c comma -15
+KPX c k -20
+KPX c kcommaaccent -20
+KPX cacute comma -15
+KPX cacute k -20
+KPX cacute kcommaaccent -20
+KPX ccaron comma -15
+KPX ccaron k -20
+KPX ccaron kcommaaccent -20
+KPX ccedilla comma -15
+KPX ccedilla k -20
+KPX ccedilla kcommaaccent -20
+KPX colon space -50
+KPX comma quotedblright -100
+KPX comma quoteright -100
+KPX e comma -15
+KPX e period -15
+KPX e v -30
+KPX e w -20
+KPX e x -30
+KPX e y -20
+KPX e yacute -20
+KPX e ydieresis -20
+KPX eacute comma -15
+KPX eacute period -15
+KPX eacute v -30
+KPX eacute w -20
+KPX eacute x -30
+KPX eacute y -20
+KPX eacute yacute -20
+KPX eacute ydieresis -20
+KPX ecaron comma -15
+KPX ecaron period -15
+KPX ecaron v -30
+KPX ecaron w -20
+KPX ecaron x -30
+KPX ecaron y -20
+KPX ecaron yacute -20
+KPX ecaron ydieresis -20
+KPX ecircumflex comma -15
+KPX ecircumflex period -15
+KPX ecircumflex v -30
+KPX ecircumflex w -20
+KPX ecircumflex x -30
+KPX ecircumflex y -20
+KPX ecircumflex yacute -20
+KPX ecircumflex ydieresis -20
+KPX edieresis comma -15
+KPX edieresis period -15
+KPX edieresis v -30
+KPX edieresis w -20
+KPX edieresis x -30
+KPX edieresis y -20
+KPX edieresis yacute -20
+KPX edieresis ydieresis -20
+KPX edotaccent comma -15
+KPX edotaccent period -15
+KPX edotaccent v -30
+KPX edotaccent w -20
+KPX edotaccent x -30
+KPX edotaccent y -20
+KPX edotaccent yacute -20
+KPX edotaccent ydieresis -20
+KPX egrave comma -15
+KPX egrave period -15
+KPX egrave v -30
+KPX egrave w -20
+KPX egrave x -30
+KPX egrave y -20
+KPX egrave yacute -20
+KPX egrave ydieresis -20
+KPX emacron comma -15
+KPX emacron period -15
+KPX emacron v -30
+KPX emacron w -20
+KPX emacron x -30
+KPX emacron y -20
+KPX emacron yacute -20
+KPX emacron ydieresis -20
+KPX eogonek comma -15
+KPX eogonek period -15
+KPX eogonek v -30
+KPX eogonek w -20
+KPX eogonek x -30
+KPX eogonek y -20
+KPX eogonek yacute -20
+KPX eogonek ydieresis -20
+KPX f a -30
+KPX f aacute -30
+KPX f abreve -30
+KPX f acircumflex -30
+KPX f adieresis -30
+KPX f agrave -30
+KPX f amacron -30
+KPX f aogonek -30
+KPX f aring -30
+KPX f atilde -30
+KPX f comma -30
+KPX f dotlessi -28
+KPX f e -30
+KPX f eacute -30
+KPX f ecaron -30
+KPX f ecircumflex -30
+KPX f edieresis -30
+KPX f edotaccent -30
+KPX f egrave -30
+KPX f emacron -30
+KPX f eogonek -30
+KPX f o -30
+KPX f oacute -30
+KPX f ocircumflex -30
+KPX f odieresis -30
+KPX f ograve -30
+KPX f ohungarumlaut -30
+KPX f omacron -30
+KPX f oslash -30
+KPX f otilde -30
+KPX f period -30
+KPX f quotedblright 60
+KPX f quoteright 50
+KPX g r -10
+KPX g racute -10
+KPX g rcaron -10
+KPX g rcommaaccent -10
+KPX gbreve r -10
+KPX gbreve racute -10
+KPX gbreve rcaron -10
+KPX gbreve rcommaaccent -10
+KPX gcommaaccent r -10
+KPX gcommaaccent racute -10
+KPX gcommaaccent rcaron -10
+KPX gcommaaccent rcommaaccent -10
+KPX h y -30
+KPX h yacute -30
+KPX h ydieresis -30
+KPX k e -20
+KPX k eacute -20
+KPX k ecaron -20
+KPX k ecircumflex -20
+KPX k edieresis -20
+KPX k edotaccent -20
+KPX k egrave -20
+KPX k emacron -20
+KPX k eogonek -20
+KPX k o -20
+KPX k oacute -20
+KPX k ocircumflex -20
+KPX k odieresis -20
+KPX k ograve -20
+KPX k ohungarumlaut -20
+KPX k omacron -20
+KPX k oslash -20
+KPX k otilde -20
+KPX kcommaaccent e -20
+KPX kcommaaccent eacute -20
+KPX kcommaaccent ecaron -20
+KPX kcommaaccent ecircumflex -20
+KPX kcommaaccent edieresis -20
+KPX kcommaaccent edotaccent -20
+KPX kcommaaccent egrave -20
+KPX kcommaaccent emacron -20
+KPX kcommaaccent eogonek -20
+KPX kcommaaccent o -20
+KPX kcommaaccent oacute -20
+KPX kcommaaccent ocircumflex -20
+KPX kcommaaccent odieresis -20
+KPX kcommaaccent ograve -20
+KPX kcommaaccent ohungarumlaut -20
+KPX kcommaaccent omacron -20
+KPX kcommaaccent oslash -20
+KPX kcommaaccent otilde -20
+KPX m u -10
+KPX m uacute -10
+KPX m ucircumflex -10
+KPX m udieresis -10
+KPX m ugrave -10
+KPX m uhungarumlaut -10
+KPX m umacron -10
+KPX m uogonek -10
+KPX m uring -10
+KPX m y -15
+KPX m yacute -15
+KPX m ydieresis -15
+KPX n u -10
+KPX n uacute -10
+KPX n ucircumflex -10
+KPX n udieresis -10
+KPX n ugrave -10
+KPX n uhungarumlaut -10
+KPX n umacron -10
+KPX n uogonek -10
+KPX n uring -10
+KPX n v -20
+KPX n y -15
+KPX n yacute -15
+KPX n ydieresis -15
+KPX nacute u -10
+KPX nacute uacute -10
+KPX nacute ucircumflex -10
+KPX nacute udieresis -10
+KPX nacute ugrave -10
+KPX nacute uhungarumlaut -10
+KPX nacute umacron -10
+KPX nacute uogonek -10
+KPX nacute uring -10
+KPX nacute v -20
+KPX nacute y -15
+KPX nacute yacute -15
+KPX nacute ydieresis -15
+KPX ncaron u -10
+KPX ncaron uacute -10
+KPX ncaron ucircumflex -10
+KPX ncaron udieresis -10
+KPX ncaron ugrave -10
+KPX ncaron uhungarumlaut -10
+KPX ncaron umacron -10
+KPX ncaron uogonek -10
+KPX ncaron uring -10
+KPX ncaron v -20
+KPX ncaron y -15
+KPX ncaron yacute -15
+KPX ncaron ydieresis -15
+KPX ncommaaccent u -10
+KPX ncommaaccent uacute -10
+KPX ncommaaccent ucircumflex -10
+KPX ncommaaccent udieresis -10
+KPX ncommaaccent ugrave -10
+KPX ncommaaccent uhungarumlaut -10
+KPX ncommaaccent umacron -10
+KPX ncommaaccent uogonek -10
+KPX ncommaaccent uring -10
+KPX ncommaaccent v -20
+KPX ncommaaccent y -15
+KPX ncommaaccent yacute -15
+KPX ncommaaccent ydieresis -15
+KPX ntilde u -10
+KPX ntilde uacute -10
+KPX ntilde ucircumflex -10
+KPX ntilde udieresis -10
+KPX ntilde ugrave -10
+KPX ntilde uhungarumlaut -10
+KPX ntilde umacron -10
+KPX ntilde uogonek -10
+KPX ntilde uring -10
+KPX ntilde v -20
+KPX ntilde y -15
+KPX ntilde yacute -15
+KPX ntilde ydieresis -15
+KPX o comma -40
+KPX o period -40
+KPX o v -15
+KPX o w -15
+KPX o x -30
+KPX o y -30
+KPX o yacute -30
+KPX o ydieresis -30
+KPX oacute comma -40
+KPX oacute period -40
+KPX oacute v -15
+KPX oacute w -15
+KPX oacute x -30
+KPX oacute y -30
+KPX oacute yacute -30
+KPX oacute ydieresis -30
+KPX ocircumflex comma -40
+KPX ocircumflex period -40
+KPX ocircumflex v -15
+KPX ocircumflex w -15
+KPX ocircumflex x -30
+KPX ocircumflex y -30
+KPX ocircumflex yacute -30
+KPX ocircumflex ydieresis -30
+KPX odieresis comma -40
+KPX odieresis period -40
+KPX odieresis v -15
+KPX odieresis w -15
+KPX odieresis x -30
+KPX odieresis y -30
+KPX odieresis yacute -30
+KPX odieresis ydieresis -30
+KPX ograve comma -40
+KPX ograve period -40
+KPX ograve v -15
+KPX ograve w -15
+KPX ograve x -30
+KPX ograve y -30
+KPX ograve yacute -30
+KPX ograve ydieresis -30
+KPX ohungarumlaut comma -40
+KPX ohungarumlaut period -40
+KPX ohungarumlaut v -15
+KPX ohungarumlaut w -15
+KPX ohungarumlaut x -30
+KPX ohungarumlaut y -30
+KPX ohungarumlaut yacute -30
+KPX ohungarumlaut ydieresis -30
+KPX omacron comma -40
+KPX omacron period -40
+KPX omacron v -15
+KPX omacron w -15
+KPX omacron x -30
+KPX omacron y -30
+KPX omacron yacute -30
+KPX omacron ydieresis -30
+KPX oslash a -55
+KPX oslash aacute -55
+KPX oslash abreve -55
+KPX oslash acircumflex -55
+KPX oslash adieresis -55
+KPX oslash agrave -55
+KPX oslash amacron -55
+KPX oslash aogonek -55
+KPX oslash aring -55
+KPX oslash atilde -55
+KPX oslash b -55
+KPX oslash c -55
+KPX oslash cacute -55
+KPX oslash ccaron -55
+KPX oslash ccedilla -55
+KPX oslash comma -95
+KPX oslash d -55
+KPX oslash dcroat -55
+KPX oslash e -55
+KPX oslash eacute -55
+KPX oslash ecaron -55
+KPX oslash ecircumflex -55
+KPX oslash edieresis -55
+KPX oslash edotaccent -55
+KPX oslash egrave -55
+KPX oslash emacron -55
+KPX oslash eogonek -55
+KPX oslash f -55
+KPX oslash g -55
+KPX oslash gbreve -55
+KPX oslash gcommaaccent -55
+KPX oslash h -55
+KPX oslash i -55
+KPX oslash iacute -55
+KPX oslash icircumflex -55
+KPX oslash idieresis -55
+KPX oslash igrave -55
+KPX oslash imacron -55
+KPX oslash iogonek -55
+KPX oslash j -55
+KPX oslash k -55
+KPX oslash kcommaaccent -55
+KPX oslash l -55
+KPX oslash lacute -55
+KPX oslash lcommaaccent -55
+KPX oslash lslash -55
+KPX oslash m -55
+KPX oslash n -55
+KPX oslash nacute -55
+KPX oslash ncaron -55
+KPX oslash ncommaaccent -55
+KPX oslash ntilde -55
+KPX oslash o -55
+KPX oslash oacute -55
+KPX oslash ocircumflex -55
+KPX oslash odieresis -55
+KPX oslash ograve -55
+KPX oslash ohungarumlaut -55
+KPX oslash omacron -55
+KPX oslash oslash -55
+KPX oslash otilde -55
+KPX oslash p -55
+KPX oslash period -95
+KPX oslash q -55
+KPX oslash r -55
+KPX oslash racute -55
+KPX oslash rcaron -55
+KPX oslash rcommaaccent -55
+KPX oslash s -55
+KPX oslash sacute -55
+KPX oslash scaron -55
+KPX oslash scedilla -55
+KPX oslash scommaaccent -55
+KPX oslash t -55
+KPX oslash tcommaaccent -55
+KPX oslash u -55
+KPX oslash uacute -55
+KPX oslash ucircumflex -55
+KPX oslash udieresis -55
+KPX oslash ugrave -55
+KPX oslash uhungarumlaut -55
+KPX oslash umacron -55
+KPX oslash uogonek -55
+KPX oslash uring -55
+KPX oslash v -70
+KPX oslash w -70
+KPX oslash x -85
+KPX oslash y -70
+KPX oslash yacute -70
+KPX oslash ydieresis -70
+KPX oslash z -55
+KPX oslash zacute -55
+KPX oslash zcaron -55
+KPX oslash zdotaccent -55
+KPX otilde comma -40
+KPX otilde period -40
+KPX otilde v -15
+KPX otilde w -15
+KPX otilde x -30
+KPX otilde y -30
+KPX otilde yacute -30
+KPX otilde ydieresis -30
+KPX p comma -35
+KPX p period -35
+KPX p y -30
+KPX p yacute -30
+KPX p ydieresis -30
+KPX period quotedblright -100
+KPX period quoteright -100
+KPX period space -60
+KPX quotedblright space -40
+KPX quoteleft quoteleft -57
+KPX quoteright d -50
+KPX quoteright dcroat -50
+KPX quoteright quoteright -57
+KPX quoteright r -50
+KPX quoteright racute -50
+KPX quoteright rcaron -50
+KPX quoteright rcommaaccent -50
+KPX quoteright s -50
+KPX quoteright sacute -50
+KPX quoteright scaron -50
+KPX quoteright scedilla -50
+KPX quoteright scommaaccent -50
+KPX quoteright space -70
+KPX r a -10
+KPX r aacute -10
+KPX r abreve -10
+KPX r acircumflex -10
+KPX r adieresis -10
+KPX r agrave -10
+KPX r amacron -10
+KPX r aogonek -10
+KPX r aring -10
+KPX r atilde -10
+KPX r colon 30
+KPX r comma -50
+KPX r i 15
+KPX r iacute 15
+KPX r icircumflex 15
+KPX r idieresis 15
+KPX r igrave 15
+KPX r imacron 15
+KPX r iogonek 15
+KPX r k 15
+KPX r kcommaaccent 15
+KPX r l 15
+KPX r lacute 15
+KPX r lcommaaccent 15
+KPX r lslash 15
+KPX r m 25
+KPX r n 25
+KPX r nacute 25
+KPX r ncaron 25
+KPX r ncommaaccent 25
+KPX r ntilde 25
+KPX r p 30
+KPX r period -50
+KPX r semicolon 30
+KPX r t 40
+KPX r tcommaaccent 40
+KPX r u 15
+KPX r uacute 15
+KPX r ucircumflex 15
+KPX r udieresis 15
+KPX r ugrave 15
+KPX r uhungarumlaut 15
+KPX r umacron 15
+KPX r uogonek 15
+KPX r uring 15
+KPX r v 30
+KPX r y 30
+KPX r yacute 30
+KPX r ydieresis 30
+KPX racute a -10
+KPX racute aacute -10
+KPX racute abreve -10
+KPX racute acircumflex -10
+KPX racute adieresis -10
+KPX racute agrave -10
+KPX racute amacron -10
+KPX racute aogonek -10
+KPX racute aring -10
+KPX racute atilde -10
+KPX racute colon 30
+KPX racute comma -50
+KPX racute i 15
+KPX racute iacute 15
+KPX racute icircumflex 15
+KPX racute idieresis 15
+KPX racute igrave 15
+KPX racute imacron 15
+KPX racute iogonek 15
+KPX racute k 15
+KPX racute kcommaaccent 15
+KPX racute l 15
+KPX racute lacute 15
+KPX racute lcommaaccent 15
+KPX racute lslash 15
+KPX racute m 25
+KPX racute n 25
+KPX racute nacute 25
+KPX racute ncaron 25
+KPX racute ncommaaccent 25
+KPX racute ntilde 25
+KPX racute p 30
+KPX racute period -50
+KPX racute semicolon 30
+KPX racute t 40
+KPX racute tcommaaccent 40
+KPX racute u 15
+KPX racute uacute 15
+KPX racute ucircumflex 15
+KPX racute udieresis 15
+KPX racute ugrave 15
+KPX racute uhungarumlaut 15
+KPX racute umacron 15
+KPX racute uogonek 15
+KPX racute uring 15
+KPX racute v 30
+KPX racute y 30
+KPX racute yacute 30
+KPX racute ydieresis 30
+KPX rcaron a -10
+KPX rcaron aacute -10
+KPX rcaron abreve -10
+KPX rcaron acircumflex -10
+KPX rcaron adieresis -10
+KPX rcaron agrave -10
+KPX rcaron amacron -10
+KPX rcaron aogonek -10
+KPX rcaron aring -10
+KPX rcaron atilde -10
+KPX rcaron colon 30
+KPX rcaron comma -50
+KPX rcaron i 15
+KPX rcaron iacute 15
+KPX rcaron icircumflex 15
+KPX rcaron idieresis 15
+KPX rcaron igrave 15
+KPX rcaron imacron 15
+KPX rcaron iogonek 15
+KPX rcaron k 15
+KPX rcaron kcommaaccent 15
+KPX rcaron l 15
+KPX rcaron lacute 15
+KPX rcaron lcommaaccent 15
+KPX rcaron lslash 15
+KPX rcaron m 25
+KPX rcaron n 25
+KPX rcaron nacute 25
+KPX rcaron ncaron 25
+KPX rcaron ncommaaccent 25
+KPX rcaron ntilde 25
+KPX rcaron p 30
+KPX rcaron period -50
+KPX rcaron semicolon 30
+KPX rcaron t 40
+KPX rcaron tcommaaccent 40
+KPX rcaron u 15
+KPX rcaron uacute 15
+KPX rcaron ucircumflex 15
+KPX rcaron udieresis 15
+KPX rcaron ugrave 15
+KPX rcaron uhungarumlaut 15
+KPX rcaron umacron 15
+KPX rcaron uogonek 15
+KPX rcaron uring 15
+KPX rcaron v 30
+KPX rcaron y 30
+KPX rcaron yacute 30
+KPX rcaron ydieresis 30
+KPX rcommaaccent a -10
+KPX rcommaaccent aacute -10
+KPX rcommaaccent abreve -10
+KPX rcommaaccent acircumflex -10
+KPX rcommaaccent adieresis -10
+KPX rcommaaccent agrave -10
+KPX rcommaaccent amacron -10
+KPX rcommaaccent aogonek -10
+KPX rcommaaccent aring -10
+KPX rcommaaccent atilde -10
+KPX rcommaaccent colon 30
+KPX rcommaaccent comma -50
+KPX rcommaaccent i 15
+KPX rcommaaccent iacute 15
+KPX rcommaaccent icircumflex 15
+KPX rcommaaccent idieresis 15
+KPX rcommaaccent igrave 15
+KPX rcommaaccent imacron 15
+KPX rcommaaccent iogonek 15
+KPX rcommaaccent k 15
+KPX rcommaaccent kcommaaccent 15
+KPX rcommaaccent l 15
+KPX rcommaaccent lacute 15
+KPX rcommaaccent lcommaaccent 15
+KPX rcommaaccent lslash 15
+KPX rcommaaccent m 25
+KPX rcommaaccent n 25
+KPX rcommaaccent nacute 25
+KPX rcommaaccent ncaron 25
+KPX rcommaaccent ncommaaccent 25
+KPX rcommaaccent ntilde 25
+KPX rcommaaccent p 30
+KPX rcommaaccent period -50
+KPX rcommaaccent semicolon 30
+KPX rcommaaccent t 40
+KPX rcommaaccent tcommaaccent 40
+KPX rcommaaccent u 15
+KPX rcommaaccent uacute 15
+KPX rcommaaccent ucircumflex 15
+KPX rcommaaccent udieresis 15
+KPX rcommaaccent ugrave 15
+KPX rcommaaccent uhungarumlaut 15
+KPX rcommaaccent umacron 15
+KPX rcommaaccent uogonek 15
+KPX rcommaaccent uring 15
+KPX rcommaaccent v 30
+KPX rcommaaccent y 30
+KPX rcommaaccent yacute 30
+KPX rcommaaccent ydieresis 30
+KPX s comma -15
+KPX s period -15
+KPX s w -30
+KPX sacute comma -15
+KPX sacute period -15
+KPX sacute w -30
+KPX scaron comma -15
+KPX scaron period -15
+KPX scaron w -30
+KPX scedilla comma -15
+KPX scedilla period -15
+KPX scedilla w -30
+KPX scommaaccent comma -15
+KPX scommaaccent period -15
+KPX scommaaccent w -30
+KPX semicolon space -50
+KPX space T -50
+KPX space Tcaron -50
+KPX space Tcommaaccent -50
+KPX space V -50
+KPX space W -40
+KPX space Y -90
+KPX space Yacute -90
+KPX space Ydieresis -90
+KPX space quotedblleft -30
+KPX space quoteleft -60
+KPX v a -25
+KPX v aacute -25
+KPX v abreve -25
+KPX v acircumflex -25
+KPX v adieresis -25
+KPX v agrave -25
+KPX v amacron -25
+KPX v aogonek -25
+KPX v aring -25
+KPX v atilde -25
+KPX v comma -80
+KPX v e -25
+KPX v eacute -25
+KPX v ecaron -25
+KPX v ecircumflex -25
+KPX v edieresis -25
+KPX v edotaccent -25
+KPX v egrave -25
+KPX v emacron -25
+KPX v eogonek -25
+KPX v o -25
+KPX v oacute -25
+KPX v ocircumflex -25
+KPX v odieresis -25
+KPX v ograve -25
+KPX v ohungarumlaut -25
+KPX v omacron -25
+KPX v oslash -25
+KPX v otilde -25
+KPX v period -80
+KPX w a -15
+KPX w aacute -15
+KPX w abreve -15
+KPX w acircumflex -15
+KPX w adieresis -15
+KPX w agrave -15
+KPX w amacron -15
+KPX w aogonek -15
+KPX w aring -15
+KPX w atilde -15
+KPX w comma -60
+KPX w e -10
+KPX w eacute -10
+KPX w ecaron -10
+KPX w ecircumflex -10
+KPX w edieresis -10
+KPX w edotaccent -10
+KPX w egrave -10
+KPX w emacron -10
+KPX w eogonek -10
+KPX w o -10
+KPX w oacute -10
+KPX w ocircumflex -10
+KPX w odieresis -10
+KPX w ograve -10
+KPX w ohungarumlaut -10
+KPX w omacron -10
+KPX w oslash -10
+KPX w otilde -10
+KPX w period -60
+KPX x e -30
+KPX x eacute -30
+KPX x ecaron -30
+KPX x ecircumflex -30
+KPX x edieresis -30
+KPX x edotaccent -30
+KPX x egrave -30
+KPX x emacron -30
+KPX x eogonek -30
+KPX y a -20
+KPX y aacute -20
+KPX y abreve -20
+KPX y acircumflex -20
+KPX y adieresis -20
+KPX y agrave -20
+KPX y amacron -20
+KPX y aogonek -20
+KPX y aring -20
+KPX y atilde -20
+KPX y comma -100
+KPX y e -20
+KPX y eacute -20
+KPX y ecaron -20
+KPX y ecircumflex -20
+KPX y edieresis -20
+KPX y edotaccent -20
+KPX y egrave -20
+KPX y emacron -20
+KPX y eogonek -20
+KPX y o -20
+KPX y oacute -20
+KPX y ocircumflex -20
+KPX y odieresis -20
+KPX y ograve -20
+KPX y ohungarumlaut -20
+KPX y omacron -20
+KPX y oslash -20
+KPX y otilde -20
+KPX y period -100
+KPX yacute a -20
+KPX yacute aacute -20
+KPX yacute abreve -20
+KPX yacute acircumflex -20
+KPX yacute adieresis -20
+KPX yacute agrave -20
+KPX yacute amacron -20
+KPX yacute aogonek -20
+KPX yacute aring -20
+KPX yacute atilde -20
+KPX yacute comma -100
+KPX yacute e -20
+KPX yacute eacute -20
+KPX yacute ecaron -20
+KPX yacute ecircumflex -20
+KPX yacute edieresis -20
+KPX yacute edotaccent -20
+KPX yacute egrave -20
+KPX yacute emacron -20
+KPX yacute eogonek -20
+KPX yacute o -20
+KPX yacute oacute -20
+KPX yacute ocircumflex -20
+KPX yacute odieresis -20
+KPX yacute ograve -20
+KPX yacute ohungarumlaut -20
+KPX yacute omacron -20
+KPX yacute oslash -20
+KPX yacute otilde -20
+KPX yacute period -100
+KPX ydieresis a -20
+KPX ydieresis aacute -20
+KPX ydieresis abreve -20
+KPX ydieresis acircumflex -20
+KPX ydieresis adieresis -20
+KPX ydieresis agrave -20
+KPX ydieresis amacron -20
+KPX ydieresis aogonek -20
+KPX ydieresis aring -20
+KPX ydieresis atilde -20
+KPX ydieresis comma -100
+KPX ydieresis e -20
+KPX ydieresis eacute -20
+KPX ydieresis ecaron -20
+KPX ydieresis ecircumflex -20
+KPX ydieresis edieresis -20
+KPX ydieresis edotaccent -20
+KPX ydieresis egrave -20
+KPX ydieresis emacron -20
+KPX ydieresis eogonek -20
+KPX ydieresis o -20
+KPX ydieresis oacute -20
+KPX ydieresis ocircumflex -20
+KPX ydieresis odieresis -20
+KPX ydieresis ograve -20
+KPX ydieresis ohungarumlaut -20
+KPX ydieresis omacron -20
+KPX ydieresis oslash -20
+KPX ydieresis otilde -20
+KPX ydieresis period -100
+KPX z e -15
+KPX z eacute -15
+KPX z ecaron -15
+KPX z ecircumflex -15
+KPX z edieresis -15
+KPX z edotaccent -15
+KPX z egrave -15
+KPX z emacron -15
+KPX z eogonek -15
+KPX z o -15
+KPX z oacute -15
+KPX z ocircumflex -15
+KPX z odieresis -15
+KPX z ograve -15
+KPX z ohungarumlaut -15
+KPX z omacron -15
+KPX z oslash -15
+KPX z otilde -15
+KPX zacute e -15
+KPX zacute eacute -15
+KPX zacute ecaron -15
+KPX zacute ecircumflex -15
+KPX zacute edieresis -15
+KPX zacute edotaccent -15
+KPX zacute egrave -15
+KPX zacute emacron -15
+KPX zacute eogonek -15
+KPX zacute o -15
+KPX zacute oacute -15
+KPX zacute ocircumflex -15
+KPX zacute odieresis -15
+KPX zacute ograve -15
+KPX zacute ohungarumlaut -15
+KPX zacute omacron -15
+KPX zacute oslash -15
+KPX zacute otilde -15
+KPX zcaron e -15
+KPX zcaron eacute -15
+KPX zcaron ecaron -15
+KPX zcaron ecircumflex -15
+KPX zcaron edieresis -15
+KPX zcaron edotaccent -15
+KPX zcaron egrave -15
+KPX zcaron emacron -15
+KPX zcaron eogonek -15
+KPX zcaron o -15
+KPX zcaron oacute -15
+KPX zcaron ocircumflex -15
+KPX zcaron odieresis -15
+KPX zcaron ograve -15
+KPX zcaron ohungarumlaut -15
+KPX zcaron omacron -15
+KPX zcaron oslash -15
+KPX zcaron otilde -15
+KPX zdotaccent e -15
+KPX zdotaccent eacute -15
+KPX zdotaccent ecaron -15
+KPX zdotaccent ecircumflex -15
+KPX zdotaccent edieresis -15
+KPX zdotaccent edotaccent -15
+KPX zdotaccent egrave -15
+KPX zdotaccent emacron -15
+KPX zdotaccent eogonek -15
+KPX zdotaccent o -15
+KPX zdotaccent oacute -15
+KPX zdotaccent ocircumflex -15
+KPX zdotaccent odieresis -15
+KPX zdotaccent ograve -15
+KPX zdotaccent ohungarumlaut -15
+KPX zdotaccent omacron -15
+KPX zdotaccent oslash -15
+KPX zdotaccent otilde -15
+EndKernPairs
+EndKernData
+EndFontMetrics
diff --git a/test/user-template/user/psprint/fontmetric/Helvetica.afm b/test/user-template/user/psprint/fontmetric/Helvetica.afm
new file mode 100644
index 000000000000..0e3acae0b0c1
--- /dev/null
+++ b/test/user-template/user/psprint/fontmetric/Helvetica.afm
@@ -0,0 +1,3049 @@
+StartFontMetrics 4.1
+Comment Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All Rights Reserved.
+Comment Creation Date: Thu May 1 12:38:23 1997
+Comment UniqueID 43054
+Comment VMusage 37069 48094
+FontName Helvetica
+FullName Helvetica
+FamilyName Helvetica
+Weight Medium
+ItalicAngle 0
+IsFixedPitch false
+FontBBox -166 -225 1000 931
+UnderlinePosition -100
+UnderlineThickness 50
+Version 002.000
+Notice Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All Rights Reserved.Helvetica is a trademark of Linotype-Hell AG and/or its subsidiaries.
+EncodingScheme AdobeStandardEncoding
+CapHeight 718
+XHeight 523
+Ascender 718
+Descender -207
+StdHW 76
+StdVW 88
+StartCharMetrics 314
+C 32 ; WX 278 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 278 ; N exclam ; B 90 0 187 718 ;
+C 34 ; WX 355 ; N quotedbl ; B 70 463 285 718 ;
+C 35 ; WX 556 ; N numbersign ; B 28 0 529 688 ;
+C 36 ; WX 556 ; N dollar ; B 32 -115 520 775 ;
+C 37 ; WX 889 ; N percent ; B 39 -19 850 703 ;
+C 38 ; WX 667 ; N ampersand ; B 44 -15 645 718 ;
+C 39 ; WX 222 ; N quoteright ; B 53 463 157 718 ;
+C 40 ; WX 333 ; N parenleft ; B 68 -207 299 733 ;
+C 41 ; WX 333 ; N parenright ; B 34 -207 265 733 ;
+C 42 ; WX 389 ; N asterisk ; B 39 431 349 718 ;
+C 43 ; WX 584 ; N plus ; B 39 0 545 505 ;
+C 44 ; WX 278 ; N comma ; B 87 -147 191 106 ;
+C 45 ; WX 333 ; N hyphen ; B 44 232 289 322 ;
+C 46 ; WX 278 ; N period ; B 87 0 191 106 ;
+C 47 ; WX 278 ; N slash ; B -17 -19 295 737 ;
+C 48 ; WX 556 ; N zero ; B 37 -19 519 703 ;
+C 49 ; WX 556 ; N one ; B 101 0 359 703 ;
+C 50 ; WX 556 ; N two ; B 26 0 507 703 ;
+C 51 ; WX 556 ; N three ; B 34 -19 522 703 ;
+C 52 ; WX 556 ; N four ; B 25 0 523 703 ;
+C 53 ; WX 556 ; N five ; B 32 -19 514 688 ;
+C 54 ; WX 556 ; N six ; B 38 -19 518 703 ;
+C 55 ; WX 556 ; N seven ; B 37 0 523 688 ;
+C 56 ; WX 556 ; N eight ; B 38 -19 517 703 ;
+C 57 ; WX 556 ; N nine ; B 42 -19 514 703 ;
+C 58 ; WX 278 ; N colon ; B 87 0 191 516 ;
+C 59 ; WX 278 ; N semicolon ; B 87 -147 191 516 ;
+C 60 ; WX 584 ; N less ; B 48 11 536 495 ;
+C 61 ; WX 584 ; N equal ; B 39 115 545 390 ;
+C 62 ; WX 584 ; N greater ; B 48 11 536 495 ;
+C 63 ; WX 556 ; N question ; B 56 0 492 727 ;
+C 64 ; WX 1015 ; N at ; B 147 -19 868 737 ;
+C 65 ; WX 667 ; N A ; B 14 0 654 718 ;
+C 66 ; WX 667 ; N B ; B 74 0 627 718 ;
+C 67 ; WX 722 ; N C ; B 44 -19 681 737 ;
+C 68 ; WX 722 ; N D ; B 81 0 674 718 ;
+C 69 ; WX 667 ; N E ; B 86 0 616 718 ;
+C 70 ; WX 611 ; N F ; B 86 0 583 718 ;
+C 71 ; WX 778 ; N G ; B 48 -19 704 737 ;
+C 72 ; WX 722 ; N H ; B 77 0 646 718 ;
+C 73 ; WX 278 ; N I ; B 91 0 188 718 ;
+C 74 ; WX 500 ; N J ; B 17 -19 428 718 ;
+C 75 ; WX 667 ; N K ; B 76 0 663 718 ;
+C 76 ; WX 556 ; N L ; B 76 0 537 718 ;
+C 77 ; WX 833 ; N M ; B 73 0 761 718 ;
+C 78 ; WX 722 ; N N ; B 76 0 646 718 ;
+C 79 ; WX 778 ; N O ; B 39 -19 739 737 ;
+C 80 ; WX 667 ; N P ; B 86 0 622 718 ;
+C 81 ; WX 778 ; N Q ; B 39 -56 739 737 ;
+C 82 ; WX 722 ; N R ; B 88 0 684 718 ;
+C 83 ; WX 667 ; N S ; B 49 -19 620 737 ;
+C 84 ; WX 611 ; N T ; B 14 0 597 718 ;
+C 85 ; WX 722 ; N U ; B 79 -19 644 718 ;
+C 86 ; WX 667 ; N V ; B 20 0 647 718 ;
+C 87 ; WX 944 ; N W ; B 16 0 928 718 ;
+C 88 ; WX 667 ; N X ; B 19 0 648 718 ;
+C 89 ; WX 667 ; N Y ; B 14 0 653 718 ;
+C 90 ; WX 611 ; N Z ; B 23 0 588 718 ;
+C 91 ; WX 278 ; N bracketleft ; B 63 -196 250 722 ;
+C 92 ; WX 278 ; N backslash ; B -17 -19 295 737 ;
+C 93 ; WX 278 ; N bracketright ; B 28 -196 215 722 ;
+C 94 ; WX 469 ; N asciicircum ; B -14 264 483 688 ;
+C 95 ; WX 556 ; N underscore ; B 0 -125 556 -75 ;
+C 96 ; WX 222 ; N quoteleft ; B 65 470 169 725 ;
+C 97 ; WX 556 ; N a ; B 36 -15 530 538 ;
+C 98 ; WX 556 ; N b ; B 58 -15 517 718 ;
+C 99 ; WX 500 ; N c ; B 30 -15 477 538 ;
+C 100 ; WX 556 ; N d ; B 35 -15 499 718 ;
+C 101 ; WX 556 ; N e ; B 40 -15 516 538 ;
+C 102 ; WX 278 ; N f ; B 14 0 262 728 ; L i fi ; L l fl ;
+C 103 ; WX 556 ; N g ; B 40 -220 499 538 ;
+C 104 ; WX 556 ; N h ; B 65 0 491 718 ;
+C 105 ; WX 222 ; N i ; B 67 0 155 718 ;
+C 106 ; WX 222 ; N j ; B -16 -210 155 718 ;
+C 107 ; WX 500 ; N k ; B 67 0 501 718 ;
+C 108 ; WX 222 ; N l ; B 67 0 155 718 ;
+C 109 ; WX 833 ; N m ; B 65 0 769 538 ;
+C 110 ; WX 556 ; N n ; B 65 0 491 538 ;
+C 111 ; WX 556 ; N o ; B 35 -14 521 538 ;
+C 112 ; WX 556 ; N p ; B 58 -207 517 538 ;
+C 113 ; WX 556 ; N q ; B 35 -207 494 538 ;
+C 114 ; WX 333 ; N r ; B 77 0 332 538 ;
+C 115 ; WX 500 ; N s ; B 32 -15 464 538 ;
+C 116 ; WX 278 ; N t ; B 14 -7 257 669 ;
+C 117 ; WX 556 ; N u ; B 68 -15 489 523 ;
+C 118 ; WX 500 ; N v ; B 8 0 492 523 ;
+C 119 ; WX 722 ; N w ; B 14 0 709 523 ;
+C 120 ; WX 500 ; N x ; B 11 0 490 523 ;
+C 121 ; WX 500 ; N y ; B 11 -214 489 523 ;
+C 122 ; WX 500 ; N z ; B 31 0 469 523 ;
+C 123 ; WX 334 ; N braceleft ; B 42 -196 292 722 ;
+C 124 ; WX 260 ; N bar ; B 94 -225 167 775 ;
+C 125 ; WX 334 ; N braceright ; B 42 -196 292 722 ;
+C 126 ; WX 584 ; N asciitilde ; B 61 180 523 326 ;
+C 161 ; WX 333 ; N exclamdown ; B 118 -195 215 523 ;
+C 162 ; WX 556 ; N cent ; B 51 -115 513 623 ;
+C 163 ; WX 556 ; N sterling ; B 33 -16 539 718 ;
+C 164 ; WX 167 ; N fraction ; B -166 -19 333 703 ;
+C 165 ; WX 556 ; N yen ; B 3 0 553 688 ;
+C 166 ; WX 556 ; N florin ; B -11 -207 501 737 ;
+C 167 ; WX 556 ; N section ; B 43 -191 512 737 ;
+C 168 ; WX 556 ; N currency ; B 28 99 528 603 ;
+C 169 ; WX 191 ; N quotesingle ; B 59 463 132 718 ;
+C 170 ; WX 333 ; N quotedblleft ; B 38 470 307 725 ;
+C 171 ; WX 556 ; N guillemotleft ; B 97 108 459 446 ;
+C 172 ; WX 333 ; N guilsinglleft ; B 88 108 245 446 ;
+C 173 ; WX 333 ; N guilsinglright ; B 88 108 245 446 ;
+C 174 ; WX 500 ; N fi ; B 14 0 434 728 ;
+C 175 ; WX 500 ; N fl ; B 14 0 432 728 ;
+C 177 ; WX 556 ; N endash ; B 0 240 556 313 ;
+C 178 ; WX 556 ; N dagger ; B 43 -159 514 718 ;
+C 179 ; WX 556 ; N daggerdbl ; B 43 -159 514 718 ;
+C 180 ; WX 278 ; N periodcentered ; B 77 190 202 315 ;
+C 182 ; WX 537 ; N paragraph ; B 18 -173 497 718 ;
+C 183 ; WX 350 ; N bullet ; B 18 202 333 517 ;
+C 184 ; WX 222 ; N quotesinglbase ; B 53 -149 157 106 ;
+C 185 ; WX 333 ; N quotedblbase ; B 26 -149 295 106 ;
+C 186 ; WX 333 ; N quotedblright ; B 26 463 295 718 ;
+C 187 ; WX 556 ; N guillemotright ; B 97 108 459 446 ;
+C 188 ; WX 1000 ; N ellipsis ; B 115 0 885 106 ;
+C 189 ; WX 1000 ; N perthousand ; B 7 -19 994 703 ;
+C 191 ; WX 611 ; N questiondown ; B 91 -201 527 525 ;
+C 193 ; WX 333 ; N grave ; B 14 593 211 734 ;
+C 194 ; WX 333 ; N acute ; B 122 593 319 734 ;
+C 195 ; WX 333 ; N circumflex ; B 21 593 312 734 ;
+C 196 ; WX 333 ; N tilde ; B -4 606 337 722 ;
+C 197 ; WX 333 ; N macron ; B 10 627 323 684 ;
+C 198 ; WX 333 ; N breve ; B 13 595 321 731 ;
+C 199 ; WX 333 ; N dotaccent ; B 121 604 212 706 ;
+C 200 ; WX 333 ; N dieresis ; B 40 604 293 706 ;
+C 202 ; WX 333 ; N ring ; B 75 572 259 756 ;
+C 203 ; WX 333 ; N cedilla ; B 45 -225 259 0 ;
+C 205 ; WX 333 ; N hungarumlaut ; B 31 593 409 734 ;
+C 206 ; WX 333 ; N ogonek ; B 73 -225 287 0 ;
+C 207 ; WX 333 ; N caron ; B 21 593 312 734 ;
+C 208 ; WX 1000 ; N emdash ; B 0 240 1000 313 ;
+C 225 ; WX 1000 ; N AE ; B 8 0 951 718 ;
+C 227 ; WX 370 ; N ordfeminine ; B 24 405 346 737 ;
+C 232 ; WX 556 ; N Lslash ; B -20 0 537 718 ;
+C 233 ; WX 778 ; N Oslash ; B 39 -19 740 737 ;
+C 234 ; WX 1000 ; N OE ; B 36 -19 965 737 ;
+C 235 ; WX 365 ; N ordmasculine ; B 25 405 341 737 ;
+C 241 ; WX 889 ; N ae ; B 36 -15 847 538 ;
+C 245 ; WX 278 ; N dotlessi ; B 95 0 183 523 ;
+C 248 ; WX 222 ; N lslash ; B -20 0 242 718 ;
+C 249 ; WX 611 ; N oslash ; B 28 -22 537 545 ;
+C 250 ; WX 944 ; N oe ; B 35 -15 902 538 ;
+C 251 ; WX 611 ; N germandbls ; B 67 -15 571 728 ;
+C -1 ; WX 278 ; N Idieresis ; B 13 0 266 901 ;
+C -1 ; WX 556 ; N eacute ; B 40 -15 516 734 ;
+C -1 ; WX 556 ; N abreve ; B 36 -15 530 731 ;
+C -1 ; WX 556 ; N uhungarumlaut ; B 68 -15 521 734 ;
+C -1 ; WX 556 ; N ecaron ; B 40 -15 516 734 ;
+C -1 ; WX 667 ; N Ydieresis ; B 14 0 653 901 ;
+C -1 ; WX 584 ; N divide ; B 39 -19 545 524 ;
+C -1 ; WX 667 ; N Yacute ; B 14 0 653 929 ;
+C -1 ; WX 667 ; N Acircumflex ; B 14 0 654 929 ;
+C -1 ; WX 556 ; N aacute ; B 36 -15 530 734 ;
+C -1 ; WX 722 ; N Ucircumflex ; B 79 -19 644 929 ;
+C -1 ; WX 500 ; N yacute ; B 11 -214 489 734 ;
+C -1 ; WX 500 ; N scommaaccent ; B 32 -225 464 538 ;
+C -1 ; WX 556 ; N ecircumflex ; B 40 -15 516 734 ;
+C -1 ; WX 722 ; N Uring ; B 79 -19 644 931 ;
+C -1 ; WX 722 ; N Udieresis ; B 79 -19 644 901 ;
+C -1 ; WX 556 ; N aogonek ; B 36 -220 547 538 ;
+C -1 ; WX 722 ; N Uacute ; B 79 -19 644 929 ;
+C -1 ; WX 556 ; N uogonek ; B 68 -225 519 523 ;
+C -1 ; WX 667 ; N Edieresis ; B 86 0 616 901 ;
+C -1 ; WX 722 ; N Dcroat ; B 0 0 674 718 ;
+C -1 ; WX 250 ; N commaaccent ; B 87 -225 181 -40 ;
+C -1 ; WX 737 ; N copyright ; B -14 -19 752 737 ;
+C -1 ; WX 667 ; N Emacron ; B 86 0 616 879 ;
+C -1 ; WX 500 ; N ccaron ; B 30 -15 477 734 ;
+C -1 ; WX 556 ; N aring ; B 36 -15 530 756 ;
+C -1 ; WX 722 ; N Ncommaaccent ; B 76 -225 646 718 ;
+C -1 ; WX 222 ; N lacute ; B 67 0 264 929 ;
+C -1 ; WX 556 ; N agrave ; B 36 -15 530 734 ;
+C -1 ; WX 611 ; N Tcommaaccent ; B 14 -225 597 718 ;
+C -1 ; WX 722 ; N Cacute ; B 44 -19 681 929 ;
+C -1 ; WX 556 ; N atilde ; B 36 -15 530 722 ;
+C -1 ; WX 667 ; N Edotaccent ; B 86 0 616 901 ;
+C -1 ; WX 500 ; N scaron ; B 32 -15 464 734 ;
+C -1 ; WX 500 ; N scedilla ; B 32 -225 464 538 ;
+C -1 ; WX 278 ; N iacute ; B 95 0 292 734 ;
+C -1 ; WX 471 ; N lozenge ; B 10 0 462 728 ;
+C -1 ; WX 722 ; N Rcaron ; B 88 0 684 929 ;
+C -1 ; WX 778 ; N Gcommaaccent ; B 48 -225 704 737 ;
+C -1 ; WX 556 ; N ucircumflex ; B 68 -15 489 734 ;
+C -1 ; WX 556 ; N acircumflex ; B 36 -15 530 734 ;
+C -1 ; WX 667 ; N Amacron ; B 14 0 654 879 ;
+C -1 ; WX 333 ; N rcaron ; B 61 0 352 734 ;
+C -1 ; WX 500 ; N ccedilla ; B 30 -225 477 538 ;
+C -1 ; WX 611 ; N Zdotaccent ; B 23 0 588 901 ;
+C -1 ; WX 667 ; N Thorn ; B 86 0 622 718 ;
+C -1 ; WX 778 ; N Omacron ; B 39 -19 739 879 ;
+C -1 ; WX 722 ; N Racute ; B 88 0 684 929 ;
+C -1 ; WX 667 ; N Sacute ; B 49 -19 620 929 ;
+C -1 ; WX 643 ; N dcaron ; B 35 -15 655 718 ;
+C -1 ; WX 722 ; N Umacron ; B 79 -19 644 879 ;
+C -1 ; WX 556 ; N uring ; B 68 -15 489 756 ;
+C -1 ; WX 333 ; N threesuperior ; B 5 270 325 703 ;
+C -1 ; WX 778 ; N Ograve ; B 39 -19 739 929 ;
+C -1 ; WX 667 ; N Agrave ; B 14 0 654 929 ;
+C -1 ; WX 667 ; N Abreve ; B 14 0 654 926 ;
+C -1 ; WX 584 ; N multiply ; B 39 0 545 506 ;
+C -1 ; WX 556 ; N uacute ; B 68 -15 489 734 ;
+C -1 ; WX 611 ; N Tcaron ; B 14 0 597 929 ;
+C -1 ; WX 476 ; N partialdiff ; B 13 -38 463 714 ;
+C -1 ; WX 500 ; N ydieresis ; B 11 -214 489 706 ;
+C -1 ; WX 722 ; N Nacute ; B 76 0 646 929 ;
+C -1 ; WX 278 ; N icircumflex ; B -6 0 285 734 ;
+C -1 ; WX 667 ; N Ecircumflex ; B 86 0 616 929 ;
+C -1 ; WX 556 ; N adieresis ; B 36 -15 530 706 ;
+C -1 ; WX 556 ; N edieresis ; B 40 -15 516 706 ;
+C -1 ; WX 500 ; N cacute ; B 30 -15 477 734 ;
+C -1 ; WX 556 ; N nacute ; B 65 0 491 734 ;
+C -1 ; WX 556 ; N umacron ; B 68 -15 489 684 ;
+C -1 ; WX 722 ; N Ncaron ; B 76 0 646 929 ;
+C -1 ; WX 278 ; N Iacute ; B 91 0 292 929 ;
+C -1 ; WX 584 ; N plusminus ; B 39 0 545 506 ;
+C -1 ; WX 260 ; N brokenbar ; B 94 -150 167 700 ;
+C -1 ; WX 737 ; N registered ; B -14 -19 752 737 ;
+C -1 ; WX 778 ; N Gbreve ; B 48 -19 704 926 ;
+C -1 ; WX 278 ; N Idotaccent ; B 91 0 188 901 ;
+C -1 ; WX 600 ; N summation ; B 15 -10 586 706 ;
+C -1 ; WX 667 ; N Egrave ; B 86 0 616 929 ;
+C -1 ; WX 333 ; N racute ; B 77 0 332 734 ;
+C -1 ; WX 556 ; N omacron ; B 35 -14 521 684 ;
+C -1 ; WX 611 ; N Zacute ; B 23 0 588 929 ;
+C -1 ; WX 611 ; N Zcaron ; B 23 0 588 929 ;
+C -1 ; WX 549 ; N greaterequal ; B 26 0 523 674 ;
+C -1 ; WX 722 ; N Eth ; B 0 0 674 718 ;
+C -1 ; WX 722 ; N Ccedilla ; B 44 -225 681 737 ;
+C -1 ; WX 222 ; N lcommaaccent ; B 67 -225 167 718 ;
+C -1 ; WX 317 ; N tcaron ; B 14 -7 329 808 ;
+C -1 ; WX 556 ; N eogonek ; B 40 -225 516 538 ;
+C -1 ; WX 722 ; N Uogonek ; B 79 -225 644 718 ;
+C -1 ; WX 667 ; N Aacute ; B 14 0 654 929 ;
+C -1 ; WX 667 ; N Adieresis ; B 14 0 654 901 ;
+C -1 ; WX 556 ; N egrave ; B 40 -15 516 734 ;
+C -1 ; WX 500 ; N zacute ; B 31 0 469 734 ;
+C -1 ; WX 222 ; N iogonek ; B -31 -225 183 718 ;
+C -1 ; WX 778 ; N Oacute ; B 39 -19 739 929 ;
+C -1 ; WX 556 ; N oacute ; B 35 -14 521 734 ;
+C -1 ; WX 556 ; N amacron ; B 36 -15 530 684 ;
+C -1 ; WX 500 ; N sacute ; B 32 -15 464 734 ;
+C -1 ; WX 278 ; N idieresis ; B 13 0 266 706 ;
+C -1 ; WX 778 ; N Ocircumflex ; B 39 -19 739 929 ;
+C -1 ; WX 722 ; N Ugrave ; B 79 -19 644 929 ;
+C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ;
+C -1 ; WX 556 ; N thorn ; B 58 -207 517 718 ;
+C -1 ; WX 333 ; N twosuperior ; B 4 281 323 703 ;
+C -1 ; WX 778 ; N Odieresis ; B 39 -19 739 901 ;
+C -1 ; WX 556 ; N mu ; B 68 -207 489 523 ;
+C -1 ; WX 278 ; N igrave ; B -13 0 184 734 ;
+C -1 ; WX 556 ; N ohungarumlaut ; B 35 -14 521 734 ;
+C -1 ; WX 667 ; N Eogonek ; B 86 -220 633 718 ;
+C -1 ; WX 556 ; N dcroat ; B 35 -15 550 718 ;
+C -1 ; WX 834 ; N threequarters ; B 45 -19 810 703 ;
+C -1 ; WX 667 ; N Scedilla ; B 49 -225 620 737 ;
+C -1 ; WX 299 ; N lcaron ; B 67 0 311 718 ;
+C -1 ; WX 667 ; N Kcommaaccent ; B 76 -225 663 718 ;
+C -1 ; WX 556 ; N Lacute ; B 76 0 537 929 ;
+C -1 ; WX 1000 ; N trademark ; B 46 306 903 718 ;
+C -1 ; WX 556 ; N edotaccent ; B 40 -15 516 706 ;
+C -1 ; WX 278 ; N Igrave ; B -13 0 188 929 ;
+C -1 ; WX 278 ; N Imacron ; B -17 0 296 879 ;
+C -1 ; WX 556 ; N Lcaron ; B 76 0 537 718 ;
+C -1 ; WX 834 ; N onehalf ; B 43 -19 773 703 ;
+C -1 ; WX 549 ; N lessequal ; B 26 0 523 674 ;
+C -1 ; WX 556 ; N ocircumflex ; B 35 -14 521 734 ;
+C -1 ; WX 556 ; N ntilde ; B 65 0 491 722 ;
+C -1 ; WX 722 ; N Uhungarumlaut ; B 79 -19 644 929 ;
+C -1 ; WX 667 ; N Eacute ; B 86 0 616 929 ;
+C -1 ; WX 556 ; N emacron ; B 40 -15 516 684 ;
+C -1 ; WX 556 ; N gbreve ; B 40 -220 499 731 ;
+C -1 ; WX 834 ; N onequarter ; B 73 -19 756 703 ;
+C -1 ; WX 667 ; N Scaron ; B 49 -19 620 929 ;
+C -1 ; WX 667 ; N Scommaaccent ; B 49 -225 620 737 ;
+C -1 ; WX 778 ; N Ohungarumlaut ; B 39 -19 739 929 ;
+C -1 ; WX 400 ; N degree ; B 54 411 346 703 ;
+C -1 ; WX 556 ; N ograve ; B 35 -14 521 734 ;
+C -1 ; WX 722 ; N Ccaron ; B 44 -19 681 929 ;
+C -1 ; WX 556 ; N ugrave ; B 68 -15 489 734 ;
+C -1 ; WX 453 ; N radical ; B -4 -80 458 762 ;
+C -1 ; WX 722 ; N Dcaron ; B 81 0 674 929 ;
+C -1 ; WX 333 ; N rcommaaccent ; B 77 -225 332 538 ;
+C -1 ; WX 722 ; N Ntilde ; B 76 0 646 917 ;
+C -1 ; WX 556 ; N otilde ; B 35 -14 521 722 ;
+C -1 ; WX 722 ; N Rcommaaccent ; B 88 -225 684 718 ;
+C -1 ; WX 556 ; N Lcommaaccent ; B 76 -225 537 718 ;
+C -1 ; WX 667 ; N Atilde ; B 14 0 654 917 ;
+C -1 ; WX 667 ; N Aogonek ; B 14 -225 654 718 ;
+C -1 ; WX 667 ; N Aring ; B 14 0 654 931 ;
+C -1 ; WX 778 ; N Otilde ; B 39 -19 739 917 ;
+C -1 ; WX 500 ; N zdotaccent ; B 31 0 469 706 ;
+C -1 ; WX 667 ; N Ecaron ; B 86 0 616 929 ;
+C -1 ; WX 278 ; N Iogonek ; B -3 -225 211 718 ;
+C -1 ; WX 500 ; N kcommaaccent ; B 67 -225 501 718 ;
+C -1 ; WX 584 ; N minus ; B 39 216 545 289 ;
+C -1 ; WX 278 ; N Icircumflex ; B -6 0 285 929 ;
+C -1 ; WX 556 ; N ncaron ; B 65 0 491 734 ;
+C -1 ; WX 278 ; N tcommaaccent ; B 14 -225 257 669 ;
+C -1 ; WX 584 ; N logicalnot ; B 39 108 545 390 ;
+C -1 ; WX 556 ; N odieresis ; B 35 -14 521 706 ;
+C -1 ; WX 556 ; N udieresis ; B 68 -15 489 706 ;
+C -1 ; WX 549 ; N notequal ; B 12 -35 537 551 ;
+C -1 ; WX 556 ; N gcommaaccent ; B 40 -220 499 822 ;
+C -1 ; WX 556 ; N eth ; B 35 -15 522 737 ;
+C -1 ; WX 500 ; N zcaron ; B 31 0 469 734 ;
+C -1 ; WX 556 ; N ncommaaccent ; B 65 -225 491 538 ;
+C -1 ; WX 333 ; N onesuperior ; B 43 281 222 703 ;
+C -1 ; WX 278 ; N imacron ; B 5 0 272 684 ;
+EndCharMetrics
+StartKernData
+StartKernPairs 2705
+KPX A C -30
+KPX A Cacute -30
+KPX A Ccaron -30
+KPX A Ccedilla -30
+KPX A G -30
+KPX A Gbreve -30
+KPX A Gcommaaccent -30
+KPX A O -30
+KPX A Oacute -30
+KPX A Ocircumflex -30
+KPX A Odieresis -30
+KPX A Ograve -30
+KPX A Ohungarumlaut -30
+KPX A Omacron -30
+KPX A Oslash -30
+KPX A Otilde -30
+KPX A Q -30
+KPX A T -120
+KPX A Tcaron -120
+KPX A Tcommaaccent -120
+KPX A U -50
+KPX A Uacute -50
+KPX A Ucircumflex -50
+KPX A Udieresis -50
+KPX A Ugrave -50
+KPX A Uhungarumlaut -50
+KPX A Umacron -50
+KPX A Uogonek -50
+KPX A Uring -50
+KPX A V -70
+KPX A W -50
+KPX A Y -100
+KPX A Yacute -100
+KPX A Ydieresis -100
+KPX A u -30
+KPX A uacute -30
+KPX A ucircumflex -30
+KPX A udieresis -30
+KPX A ugrave -30
+KPX A uhungarumlaut -30
+KPX A umacron -30
+KPX A uogonek -30
+KPX A uring -30
+KPX A v -40
+KPX A w -40
+KPX A y -40
+KPX A yacute -40
+KPX A ydieresis -40
+KPX Aacute C -30
+KPX Aacute Cacute -30
+KPX Aacute Ccaron -30
+KPX Aacute Ccedilla -30
+KPX Aacute G -30
+KPX Aacute Gbreve -30
+KPX Aacute Gcommaaccent -30
+KPX Aacute O -30
+KPX Aacute Oacute -30
+KPX Aacute Ocircumflex -30
+KPX Aacute Odieresis -30
+KPX Aacute Ograve -30
+KPX Aacute Ohungarumlaut -30
+KPX Aacute Omacron -30
+KPX Aacute Oslash -30
+KPX Aacute Otilde -30
+KPX Aacute Q -30
+KPX Aacute T -120
+KPX Aacute Tcaron -120
+KPX Aacute Tcommaaccent -120
+KPX Aacute U -50
+KPX Aacute Uacute -50
+KPX Aacute Ucircumflex -50
+KPX Aacute Udieresis -50
+KPX Aacute Ugrave -50
+KPX Aacute Uhungarumlaut -50
+KPX Aacute Umacron -50
+KPX Aacute Uogonek -50
+KPX Aacute Uring -50
+KPX Aacute V -70
+KPX Aacute W -50
+KPX Aacute Y -100
+KPX Aacute Yacute -100
+KPX Aacute Ydieresis -100
+KPX Aacute u -30
+KPX Aacute uacute -30
+KPX Aacute ucircumflex -30
+KPX Aacute udieresis -30
+KPX Aacute ugrave -30
+KPX Aacute uhungarumlaut -30
+KPX Aacute umacron -30
+KPX Aacute uogonek -30
+KPX Aacute uring -30
+KPX Aacute v -40
+KPX Aacute w -40
+KPX Aacute y -40
+KPX Aacute yacute -40
+KPX Aacute ydieresis -40
+KPX Abreve C -30
+KPX Abreve Cacute -30
+KPX Abreve Ccaron -30
+KPX Abreve Ccedilla -30
+KPX Abreve G -30
+KPX Abreve Gbreve -30
+KPX Abreve Gcommaaccent -30
+KPX Abreve O -30
+KPX Abreve Oacute -30
+KPX Abreve Ocircumflex -30
+KPX Abreve Odieresis -30
+KPX Abreve Ograve -30
+KPX Abreve Ohungarumlaut -30
+KPX Abreve Omacron -30
+KPX Abreve Oslash -30
+KPX Abreve Otilde -30
+KPX Abreve Q -30
+KPX Abreve T -120
+KPX Abreve Tcaron -120
+KPX Abreve Tcommaaccent -120
+KPX Abreve U -50
+KPX Abreve Uacute -50
+KPX Abreve Ucircumflex -50
+KPX Abreve Udieresis -50
+KPX Abreve Ugrave -50
+KPX Abreve Uhungarumlaut -50
+KPX Abreve Umacron -50
+KPX Abreve Uogonek -50
+KPX Abreve Uring -50
+KPX Abreve V -70
+KPX Abreve W -50
+KPX Abreve Y -100
+KPX Abreve Yacute -100
+KPX Abreve Ydieresis -100
+KPX Abreve u -30
+KPX Abreve uacute -30
+KPX Abreve ucircumflex -30
+KPX Abreve udieresis -30
+KPX Abreve ugrave -30
+KPX Abreve uhungarumlaut -30
+KPX Abreve umacron -30
+KPX Abreve uogonek -30
+KPX Abreve uring -30
+KPX Abreve v -40
+KPX Abreve w -40
+KPX Abreve y -40
+KPX Abreve yacute -40
+KPX Abreve ydieresis -40
+KPX Acircumflex C -30
+KPX Acircumflex Cacute -30
+KPX Acircumflex Ccaron -30
+KPX Acircumflex Ccedilla -30
+KPX Acircumflex G -30
+KPX Acircumflex Gbreve -30
+KPX Acircumflex Gcommaaccent -30
+KPX Acircumflex O -30
+KPX Acircumflex Oacute -30
+KPX Acircumflex Ocircumflex -30
+KPX Acircumflex Odieresis -30
+KPX Acircumflex Ograve -30
+KPX Acircumflex Ohungarumlaut -30
+KPX Acircumflex Omacron -30
+KPX Acircumflex Oslash -30
+KPX Acircumflex Otilde -30
+KPX Acircumflex Q -30
+KPX Acircumflex T -120
+KPX Acircumflex Tcaron -120
+KPX Acircumflex Tcommaaccent -120
+KPX Acircumflex U -50
+KPX Acircumflex Uacute -50
+KPX Acircumflex Ucircumflex -50
+KPX Acircumflex Udieresis -50
+KPX Acircumflex Ugrave -50
+KPX Acircumflex Uhungarumlaut -50
+KPX Acircumflex Umacron -50
+KPX Acircumflex Uogonek -50
+KPX Acircumflex Uring -50
+KPX Acircumflex V -70
+KPX Acircumflex W -50
+KPX Acircumflex Y -100
+KPX Acircumflex Yacute -100
+KPX Acircumflex Ydieresis -100
+KPX Acircumflex u -30
+KPX Acircumflex uacute -30
+KPX Acircumflex ucircumflex -30
+KPX Acircumflex udieresis -30
+KPX Acircumflex ugrave -30
+KPX Acircumflex uhungarumlaut -30
+KPX Acircumflex umacron -30
+KPX Acircumflex uogonek -30
+KPX Acircumflex uring -30
+KPX Acircumflex v -40
+KPX Acircumflex w -40
+KPX Acircumflex y -40
+KPX Acircumflex yacute -40
+KPX Acircumflex ydieresis -40
+KPX Adieresis C -30
+KPX Adieresis Cacute -30
+KPX Adieresis Ccaron -30
+KPX Adieresis Ccedilla -30
+KPX Adieresis G -30
+KPX Adieresis Gbreve -30
+KPX Adieresis Gcommaaccent -30
+KPX Adieresis O -30
+KPX Adieresis Oacute -30
+KPX Adieresis Ocircumflex -30
+KPX Adieresis Odieresis -30
+KPX Adieresis Ograve -30
+KPX Adieresis Ohungarumlaut -30
+KPX Adieresis Omacron -30
+KPX Adieresis Oslash -30
+KPX Adieresis Otilde -30
+KPX Adieresis Q -30
+KPX Adieresis T -120
+KPX Adieresis Tcaron -120
+KPX Adieresis Tcommaaccent -120
+KPX Adieresis U -50
+KPX Adieresis Uacute -50
+KPX Adieresis Ucircumflex -50
+KPX Adieresis Udieresis -50
+KPX Adieresis Ugrave -50
+KPX Adieresis Uhungarumlaut -50
+KPX Adieresis Umacron -50
+KPX Adieresis Uogonek -50
+KPX Adieresis Uring -50
+KPX Adieresis V -70
+KPX Adieresis W -50
+KPX Adieresis Y -100
+KPX Adieresis Yacute -100
+KPX Adieresis Ydieresis -100
+KPX Adieresis u -30
+KPX Adieresis uacute -30
+KPX Adieresis ucircumflex -30
+KPX Adieresis udieresis -30
+KPX Adieresis ugrave -30
+KPX Adieresis uhungarumlaut -30
+KPX Adieresis umacron -30
+KPX Adieresis uogonek -30
+KPX Adieresis uring -30
+KPX Adieresis v -40
+KPX Adieresis w -40
+KPX Adieresis y -40
+KPX Adieresis yacute -40
+KPX Adieresis ydieresis -40
+KPX Agrave C -30
+KPX Agrave Cacute -30
+KPX Agrave Ccaron -30
+KPX Agrave Ccedilla -30
+KPX Agrave G -30
+KPX Agrave Gbreve -30
+KPX Agrave Gcommaaccent -30
+KPX Agrave O -30
+KPX Agrave Oacute -30
+KPX Agrave Ocircumflex -30
+KPX Agrave Odieresis -30
+KPX Agrave Ograve -30
+KPX Agrave Ohungarumlaut -30
+KPX Agrave Omacron -30
+KPX Agrave Oslash -30
+KPX Agrave Otilde -30
+KPX Agrave Q -30
+KPX Agrave T -120
+KPX Agrave Tcaron -120
+KPX Agrave Tcommaaccent -120
+KPX Agrave U -50
+KPX Agrave Uacute -50
+KPX Agrave Ucircumflex -50
+KPX Agrave Udieresis -50
+KPX Agrave Ugrave -50
+KPX Agrave Uhungarumlaut -50
+KPX Agrave Umacron -50
+KPX Agrave Uogonek -50
+KPX Agrave Uring -50
+KPX Agrave V -70
+KPX Agrave W -50
+KPX Agrave Y -100
+KPX Agrave Yacute -100
+KPX Agrave Ydieresis -100
+KPX Agrave u -30
+KPX Agrave uacute -30
+KPX Agrave ucircumflex -30
+KPX Agrave udieresis -30
+KPX Agrave ugrave -30
+KPX Agrave uhungarumlaut -30
+KPX Agrave umacron -30
+KPX Agrave uogonek -30
+KPX Agrave uring -30
+KPX Agrave v -40
+KPX Agrave w -40
+KPX Agrave y -40
+KPX Agrave yacute -40
+KPX Agrave ydieresis -40
+KPX Amacron C -30
+KPX Amacron Cacute -30
+KPX Amacron Ccaron -30
+KPX Amacron Ccedilla -30
+KPX Amacron G -30
+KPX Amacron Gbreve -30
+KPX Amacron Gcommaaccent -30
+KPX Amacron O -30
+KPX Amacron Oacute -30
+KPX Amacron Ocircumflex -30
+KPX Amacron Odieresis -30
+KPX Amacron Ograve -30
+KPX Amacron Ohungarumlaut -30
+KPX Amacron Omacron -30
+KPX Amacron Oslash -30
+KPX Amacron Otilde -30
+KPX Amacron Q -30
+KPX Amacron T -120
+KPX Amacron Tcaron -120
+KPX Amacron Tcommaaccent -120
+KPX Amacron U -50
+KPX Amacron Uacute -50
+KPX Amacron Ucircumflex -50
+KPX Amacron Udieresis -50
+KPX Amacron Ugrave -50
+KPX Amacron Uhungarumlaut -50
+KPX Amacron Umacron -50
+KPX Amacron Uogonek -50
+KPX Amacron Uring -50
+KPX Amacron V -70
+KPX Amacron W -50
+KPX Amacron Y -100
+KPX Amacron Yacute -100
+KPX Amacron Ydieresis -100
+KPX Amacron u -30
+KPX Amacron uacute -30
+KPX Amacron ucircumflex -30
+KPX Amacron udieresis -30
+KPX Amacron ugrave -30
+KPX Amacron uhungarumlaut -30
+KPX Amacron umacron -30
+KPX Amacron uogonek -30
+KPX Amacron uring -30
+KPX Amacron v -40
+KPX Amacron w -40
+KPX Amacron y -40
+KPX Amacron yacute -40
+KPX Amacron ydieresis -40
+KPX Aogonek C -30
+KPX Aogonek Cacute -30
+KPX Aogonek Ccaron -30
+KPX Aogonek Ccedilla -30
+KPX Aogonek G -30
+KPX Aogonek Gbreve -30
+KPX Aogonek Gcommaaccent -30
+KPX Aogonek O -30
+KPX Aogonek Oacute -30
+KPX Aogonek Ocircumflex -30
+KPX Aogonek Odieresis -30
+KPX Aogonek Ograve -30
+KPX Aogonek Ohungarumlaut -30
+KPX Aogonek Omacron -30
+KPX Aogonek Oslash -30
+KPX Aogonek Otilde -30
+KPX Aogonek Q -30
+KPX Aogonek T -120
+KPX Aogonek Tcaron -120
+KPX Aogonek Tcommaaccent -120
+KPX Aogonek U -50
+KPX Aogonek Uacute -50
+KPX Aogonek Ucircumflex -50
+KPX Aogonek Udieresis -50
+KPX Aogonek Ugrave -50
+KPX Aogonek Uhungarumlaut -50
+KPX Aogonek Umacron -50
+KPX Aogonek Uogonek -50
+KPX Aogonek Uring -50
+KPX Aogonek V -70
+KPX Aogonek W -50
+KPX Aogonek Y -100
+KPX Aogonek Yacute -100
+KPX Aogonek Ydieresis -100
+KPX Aogonek u -30
+KPX Aogonek uacute -30
+KPX Aogonek ucircumflex -30
+KPX Aogonek udieresis -30
+KPX Aogonek ugrave -30
+KPX Aogonek uhungarumlaut -30
+KPX Aogonek umacron -30
+KPX Aogonek uogonek -30
+KPX Aogonek uring -30
+KPX Aogonek v -40
+KPX Aogonek w -40
+KPX Aogonek y -40
+KPX Aogonek yacute -40
+KPX Aogonek ydieresis -40
+KPX Aring C -30
+KPX Aring Cacute -30
+KPX Aring Ccaron -30
+KPX Aring Ccedilla -30
+KPX Aring G -30
+KPX Aring Gbreve -30
+KPX Aring Gcommaaccent -30
+KPX Aring O -30
+KPX Aring Oacute -30
+KPX Aring Ocircumflex -30
+KPX Aring Odieresis -30
+KPX Aring Ograve -30
+KPX Aring Ohungarumlaut -30
+KPX Aring Omacron -30
+KPX Aring Oslash -30
+KPX Aring Otilde -30
+KPX Aring Q -30
+KPX Aring T -120
+KPX Aring Tcaron -120
+KPX Aring Tcommaaccent -120
+KPX Aring U -50
+KPX Aring Uacute -50
+KPX Aring Ucircumflex -50
+KPX Aring Udieresis -50
+KPX Aring Ugrave -50
+KPX Aring Uhungarumlaut -50
+KPX Aring Umacron -50
+KPX Aring Uogonek -50
+KPX Aring Uring -50
+KPX Aring V -70
+KPX Aring W -50
+KPX Aring Y -100
+KPX Aring Yacute -100
+KPX Aring Ydieresis -100
+KPX Aring u -30
+KPX Aring uacute -30
+KPX Aring ucircumflex -30
+KPX Aring udieresis -30
+KPX Aring ugrave -30
+KPX Aring uhungarumlaut -30
+KPX Aring umacron -30
+KPX Aring uogonek -30
+KPX Aring uring -30
+KPX Aring v -40
+KPX Aring w -40
+KPX Aring y -40
+KPX Aring yacute -40
+KPX Aring ydieresis -40
+KPX Atilde C -30
+KPX Atilde Cacute -30
+KPX Atilde Ccaron -30
+KPX Atilde Ccedilla -30
+KPX Atilde G -30
+KPX Atilde Gbreve -30
+KPX Atilde Gcommaaccent -30
+KPX Atilde O -30
+KPX Atilde Oacute -30
+KPX Atilde Ocircumflex -30
+KPX Atilde Odieresis -30
+KPX Atilde Ograve -30
+KPX Atilde Ohungarumlaut -30
+KPX Atilde Omacron -30
+KPX Atilde Oslash -30
+KPX Atilde Otilde -30
+KPX Atilde Q -30
+KPX Atilde T -120
+KPX Atilde Tcaron -120
+KPX Atilde Tcommaaccent -120
+KPX Atilde U -50
+KPX Atilde Uacute -50
+KPX Atilde Ucircumflex -50
+KPX Atilde Udieresis -50
+KPX Atilde Ugrave -50
+KPX Atilde Uhungarumlaut -50
+KPX Atilde Umacron -50
+KPX Atilde Uogonek -50
+KPX Atilde Uring -50
+KPX Atilde V -70
+KPX Atilde W -50
+KPX Atilde Y -100
+KPX Atilde Yacute -100
+KPX Atilde Ydieresis -100
+KPX Atilde u -30
+KPX Atilde uacute -30
+KPX Atilde ucircumflex -30
+KPX Atilde udieresis -30
+KPX Atilde ugrave -30
+KPX Atilde uhungarumlaut -30
+KPX Atilde umacron -30
+KPX Atilde uogonek -30
+KPX Atilde uring -30
+KPX Atilde v -40
+KPX Atilde w -40
+KPX Atilde y -40
+KPX Atilde yacute -40
+KPX Atilde ydieresis -40
+KPX B U -10
+KPX B Uacute -10
+KPX B Ucircumflex -10
+KPX B Udieresis -10
+KPX B Ugrave -10
+KPX B Uhungarumlaut -10
+KPX B Umacron -10
+KPX B Uogonek -10
+KPX B Uring -10
+KPX B comma -20
+KPX B period -20
+KPX C comma -30
+KPX C period -30
+KPX Cacute comma -30
+KPX Cacute period -30
+KPX Ccaron comma -30
+KPX Ccaron period -30
+KPX Ccedilla comma -30
+KPX Ccedilla period -30
+KPX D A -40
+KPX D Aacute -40
+KPX D Abreve -40
+KPX D Acircumflex -40
+KPX D Adieresis -40
+KPX D Agrave -40
+KPX D Amacron -40
+KPX D Aogonek -40
+KPX D Aring -40
+KPX D Atilde -40
+KPX D V -70
+KPX D W -40
+KPX D Y -90
+KPX D Yacute -90
+KPX D Ydieresis -90
+KPX D comma -70
+KPX D period -70
+KPX Dcaron A -40
+KPX Dcaron Aacute -40
+KPX Dcaron Abreve -40
+KPX Dcaron Acircumflex -40
+KPX Dcaron Adieresis -40
+KPX Dcaron Agrave -40
+KPX Dcaron Amacron -40
+KPX Dcaron Aogonek -40
+KPX Dcaron Aring -40
+KPX Dcaron Atilde -40
+KPX Dcaron V -70
+KPX Dcaron W -40
+KPX Dcaron Y -90
+KPX Dcaron Yacute -90
+KPX Dcaron Ydieresis -90
+KPX Dcaron comma -70
+KPX Dcaron period -70
+KPX Dcroat A -40
+KPX Dcroat Aacute -40
+KPX Dcroat Abreve -40
+KPX Dcroat Acircumflex -40
+KPX Dcroat Adieresis -40
+KPX Dcroat Agrave -40
+KPX Dcroat Amacron -40
+KPX Dcroat Aogonek -40
+KPX Dcroat Aring -40
+KPX Dcroat Atilde -40
+KPX Dcroat V -70
+KPX Dcroat W -40
+KPX Dcroat Y -90
+KPX Dcroat Yacute -90
+KPX Dcroat Ydieresis -90
+KPX Dcroat comma -70
+KPX Dcroat period -70
+KPX F A -80
+KPX F Aacute -80
+KPX F Abreve -80
+KPX F Acircumflex -80
+KPX F Adieresis -80
+KPX F Agrave -80
+KPX F Amacron -80
+KPX F Aogonek -80
+KPX F Aring -80
+KPX F Atilde -80
+KPX F a -50
+KPX F aacute -50
+KPX F abreve -50
+KPX F acircumflex -50
+KPX F adieresis -50
+KPX F agrave -50
+KPX F amacron -50
+KPX F aogonek -50
+KPX F aring -50
+KPX F atilde -50
+KPX F comma -150
+KPX F e -30
+KPX F eacute -30
+KPX F ecaron -30
+KPX F ecircumflex -30
+KPX F edieresis -30
+KPX F edotaccent -30
+KPX F egrave -30
+KPX F emacron -30
+KPX F eogonek -30
+KPX F o -30
+KPX F oacute -30
+KPX F ocircumflex -30
+KPX F odieresis -30
+KPX F ograve -30
+KPX F ohungarumlaut -30
+KPX F omacron -30
+KPX F oslash -30
+KPX F otilde -30
+KPX F period -150
+KPX F r -45
+KPX F racute -45
+KPX F rcaron -45
+KPX F rcommaaccent -45
+KPX J A -20
+KPX J Aacute -20
+KPX J Abreve -20
+KPX J Acircumflex -20
+KPX J Adieresis -20
+KPX J Agrave -20
+KPX J Amacron -20
+KPX J Aogonek -20
+KPX J Aring -20
+KPX J Atilde -20
+KPX J a -20
+KPX J aacute -20
+KPX J abreve -20
+KPX J acircumflex -20
+KPX J adieresis -20
+KPX J agrave -20
+KPX J amacron -20
+KPX J aogonek -20
+KPX J aring -20
+KPX J atilde -20
+KPX J comma -30
+KPX J period -30
+KPX J u -20
+KPX J uacute -20
+KPX J ucircumflex -20
+KPX J udieresis -20
+KPX J ugrave -20
+KPX J uhungarumlaut -20
+KPX J umacron -20
+KPX J uogonek -20
+KPX J uring -20
+KPX K O -50
+KPX K Oacute -50
+KPX K Ocircumflex -50
+KPX K Odieresis -50
+KPX K Ograve -50
+KPX K Ohungarumlaut -50
+KPX K Omacron -50
+KPX K Oslash -50
+KPX K Otilde -50
+KPX K e -40
+KPX K eacute -40
+KPX K ecaron -40
+KPX K ecircumflex -40
+KPX K edieresis -40
+KPX K edotaccent -40
+KPX K egrave -40
+KPX K emacron -40
+KPX K eogonek -40
+KPX K o -40
+KPX K oacute -40
+KPX K ocircumflex -40
+KPX K odieresis -40
+KPX K ograve -40
+KPX K ohungarumlaut -40
+KPX K omacron -40
+KPX K oslash -40
+KPX K otilde -40
+KPX K u -30
+KPX K uacute -30
+KPX K ucircumflex -30
+KPX K udieresis -30
+KPX K ugrave -30
+KPX K uhungarumlaut -30
+KPX K umacron -30
+KPX K uogonek -30
+KPX K uring -30
+KPX K y -50
+KPX K yacute -50
+KPX K ydieresis -50
+KPX Kcommaaccent O -50
+KPX Kcommaaccent Oacute -50
+KPX Kcommaaccent Ocircumflex -50
+KPX Kcommaaccent Odieresis -50
+KPX Kcommaaccent Ograve -50
+KPX Kcommaaccent Ohungarumlaut -50
+KPX Kcommaaccent Omacron -50
+KPX Kcommaaccent Oslash -50
+KPX Kcommaaccent Otilde -50
+KPX Kcommaaccent e -40
+KPX Kcommaaccent eacute -40
+KPX Kcommaaccent ecaron -40
+KPX Kcommaaccent ecircumflex -40
+KPX Kcommaaccent edieresis -40
+KPX Kcommaaccent edotaccent -40
+KPX Kcommaaccent egrave -40
+KPX Kcommaaccent emacron -40
+KPX Kcommaaccent eogonek -40
+KPX Kcommaaccent o -40
+KPX Kcommaaccent oacute -40
+KPX Kcommaaccent ocircumflex -40
+KPX Kcommaaccent odieresis -40
+KPX Kcommaaccent ograve -40
+KPX Kcommaaccent ohungarumlaut -40
+KPX Kcommaaccent omacron -40
+KPX Kcommaaccent oslash -40
+KPX Kcommaaccent otilde -40
+KPX Kcommaaccent u -30
+KPX Kcommaaccent uacute -30
+KPX Kcommaaccent ucircumflex -30
+KPX Kcommaaccent udieresis -30
+KPX Kcommaaccent ugrave -30
+KPX Kcommaaccent uhungarumlaut -30
+KPX Kcommaaccent umacron -30
+KPX Kcommaaccent uogonek -30
+KPX Kcommaaccent uring -30
+KPX Kcommaaccent y -50
+KPX Kcommaaccent yacute -50
+KPX Kcommaaccent ydieresis -50
+KPX L T -110
+KPX L Tcaron -110
+KPX L Tcommaaccent -110
+KPX L V -110
+KPX L W -70
+KPX L Y -140
+KPX L Yacute -140
+KPX L Ydieresis -140
+KPX L quotedblright -140
+KPX L quoteright -160
+KPX L y -30
+KPX L yacute -30
+KPX L ydieresis -30
+KPX Lacute T -110
+KPX Lacute Tcaron -110
+KPX Lacute Tcommaaccent -110
+KPX Lacute V -110
+KPX Lacute W -70
+KPX Lacute Y -140
+KPX Lacute Yacute -140
+KPX Lacute Ydieresis -140
+KPX Lacute quotedblright -140
+KPX Lacute quoteright -160
+KPX Lacute y -30
+KPX Lacute yacute -30
+KPX Lacute ydieresis -30
+KPX Lcaron T -110
+KPX Lcaron Tcaron -110
+KPX Lcaron Tcommaaccent -110
+KPX Lcaron V -110
+KPX Lcaron W -70
+KPX Lcaron Y -140
+KPX Lcaron Yacute -140
+KPX Lcaron Ydieresis -140
+KPX Lcaron quotedblright -140
+KPX Lcaron quoteright -160
+KPX Lcaron y -30
+KPX Lcaron yacute -30
+KPX Lcaron ydieresis -30
+KPX Lcommaaccent T -110
+KPX Lcommaaccent Tcaron -110
+KPX Lcommaaccent Tcommaaccent -110
+KPX Lcommaaccent V -110
+KPX Lcommaaccent W -70
+KPX Lcommaaccent Y -140
+KPX Lcommaaccent Yacute -140
+KPX Lcommaaccent Ydieresis -140
+KPX Lcommaaccent quotedblright -140
+KPX Lcommaaccent quoteright -160
+KPX Lcommaaccent y -30
+KPX Lcommaaccent yacute -30
+KPX Lcommaaccent ydieresis -30
+KPX Lslash T -110
+KPX Lslash Tcaron -110
+KPX Lslash Tcommaaccent -110
+KPX Lslash V -110
+KPX Lslash W -70
+KPX Lslash Y -140
+KPX Lslash Yacute -140
+KPX Lslash Ydieresis -140
+KPX Lslash quotedblright -140
+KPX Lslash quoteright -160
+KPX Lslash y -30
+KPX Lslash yacute -30
+KPX Lslash ydieresis -30
+KPX O A -20
+KPX O Aacute -20
+KPX O Abreve -20
+KPX O Acircumflex -20
+KPX O Adieresis -20
+KPX O Agrave -20
+KPX O Amacron -20
+KPX O Aogonek -20
+KPX O Aring -20
+KPX O Atilde -20
+KPX O T -40
+KPX O Tcaron -40
+KPX O Tcommaaccent -40
+KPX O V -50
+KPX O W -30
+KPX O X -60
+KPX O Y -70
+KPX O Yacute -70
+KPX O Ydieresis -70
+KPX O comma -40
+KPX O period -40
+KPX Oacute A -20
+KPX Oacute Aacute -20
+KPX Oacute Abreve -20
+KPX Oacute Acircumflex -20
+KPX Oacute Adieresis -20
+KPX Oacute Agrave -20
+KPX Oacute Amacron -20
+KPX Oacute Aogonek -20
+KPX Oacute Aring -20
+KPX Oacute Atilde -20
+KPX Oacute T -40
+KPX Oacute Tcaron -40
+KPX Oacute Tcommaaccent -40
+KPX Oacute V -50
+KPX Oacute W -30
+KPX Oacute X -60
+KPX Oacute Y -70
+KPX Oacute Yacute -70
+KPX Oacute Ydieresis -70
+KPX Oacute comma -40
+KPX Oacute period -40
+KPX Ocircumflex A -20
+KPX Ocircumflex Aacute -20
+KPX Ocircumflex Abreve -20
+KPX Ocircumflex Acircumflex -20
+KPX Ocircumflex Adieresis -20
+KPX Ocircumflex Agrave -20
+KPX Ocircumflex Amacron -20
+KPX Ocircumflex Aogonek -20
+KPX Ocircumflex Aring -20
+KPX Ocircumflex Atilde -20
+KPX Ocircumflex T -40
+KPX Ocircumflex Tcaron -40
+KPX Ocircumflex Tcommaaccent -40
+KPX Ocircumflex V -50
+KPX Ocircumflex W -30
+KPX Ocircumflex X -60
+KPX Ocircumflex Y -70
+KPX Ocircumflex Yacute -70
+KPX Ocircumflex Ydieresis -70
+KPX Ocircumflex comma -40
+KPX Ocircumflex period -40
+KPX Odieresis A -20
+KPX Odieresis Aacute -20
+KPX Odieresis Abreve -20
+KPX Odieresis Acircumflex -20
+KPX Odieresis Adieresis -20
+KPX Odieresis Agrave -20
+KPX Odieresis Amacron -20
+KPX Odieresis Aogonek -20
+KPX Odieresis Aring -20
+KPX Odieresis Atilde -20
+KPX Odieresis T -40
+KPX Odieresis Tcaron -40
+KPX Odieresis Tcommaaccent -40
+KPX Odieresis V -50
+KPX Odieresis W -30
+KPX Odieresis X -60
+KPX Odieresis Y -70
+KPX Odieresis Yacute -70
+KPX Odieresis Ydieresis -70
+KPX Odieresis comma -40
+KPX Odieresis period -40
+KPX Ograve A -20
+KPX Ograve Aacute -20
+KPX Ograve Abreve -20
+KPX Ograve Acircumflex -20
+KPX Ograve Adieresis -20
+KPX Ograve Agrave -20
+KPX Ograve Amacron -20
+KPX Ograve Aogonek -20
+KPX Ograve Aring -20
+KPX Ograve Atilde -20
+KPX Ograve T -40
+KPX Ograve Tcaron -40
+KPX Ograve Tcommaaccent -40
+KPX Ograve V -50
+KPX Ograve W -30
+KPX Ograve X -60
+KPX Ograve Y -70
+KPX Ograve Yacute -70
+KPX Ograve Ydieresis -70
+KPX Ograve comma -40
+KPX Ograve period -40
+KPX Ohungarumlaut A -20
+KPX Ohungarumlaut Aacute -20
+KPX Ohungarumlaut Abreve -20
+KPX Ohungarumlaut Acircumflex -20
+KPX Ohungarumlaut Adieresis -20
+KPX Ohungarumlaut Agrave -20
+KPX Ohungarumlaut Amacron -20
+KPX Ohungarumlaut Aogonek -20
+KPX Ohungarumlaut Aring -20
+KPX Ohungarumlaut Atilde -20
+KPX Ohungarumlaut T -40
+KPX Ohungarumlaut Tcaron -40
+KPX Ohungarumlaut Tcommaaccent -40
+KPX Ohungarumlaut V -50
+KPX Ohungarumlaut W -30
+KPX Ohungarumlaut X -60
+KPX Ohungarumlaut Y -70
+KPX Ohungarumlaut Yacute -70
+KPX Ohungarumlaut Ydieresis -70
+KPX Ohungarumlaut comma -40
+KPX Ohungarumlaut period -40
+KPX Omacron A -20
+KPX Omacron Aacute -20
+KPX Omacron Abreve -20
+KPX Omacron Acircumflex -20
+KPX Omacron Adieresis -20
+KPX Omacron Agrave -20
+KPX Omacron Amacron -20
+KPX Omacron Aogonek -20
+KPX Omacron Aring -20
+KPX Omacron Atilde -20
+KPX Omacron T -40
+KPX Omacron Tcaron -40
+KPX Omacron Tcommaaccent -40
+KPX Omacron V -50
+KPX Omacron W -30
+KPX Omacron X -60
+KPX Omacron Y -70
+KPX Omacron Yacute -70
+KPX Omacron Ydieresis -70
+KPX Omacron comma -40
+KPX Omacron period -40
+KPX Oslash A -20
+KPX Oslash Aacute -20
+KPX Oslash Abreve -20
+KPX Oslash Acircumflex -20
+KPX Oslash Adieresis -20
+KPX Oslash Agrave -20
+KPX Oslash Amacron -20
+KPX Oslash Aogonek -20
+KPX Oslash Aring -20
+KPX Oslash Atilde -20
+KPX Oslash T -40
+KPX Oslash Tcaron -40
+KPX Oslash Tcommaaccent -40
+KPX Oslash V -50
+KPX Oslash W -30
+KPX Oslash X -60
+KPX Oslash Y -70
+KPX Oslash Yacute -70
+KPX Oslash Ydieresis -70
+KPX Oslash comma -40
+KPX Oslash period -40
+KPX Otilde A -20
+KPX Otilde Aacute -20
+KPX Otilde Abreve -20
+KPX Otilde Acircumflex -20
+KPX Otilde Adieresis -20
+KPX Otilde Agrave -20
+KPX Otilde Amacron -20
+KPX Otilde Aogonek -20
+KPX Otilde Aring -20
+KPX Otilde Atilde -20
+KPX Otilde T -40
+KPX Otilde Tcaron -40
+KPX Otilde Tcommaaccent -40
+KPX Otilde V -50
+KPX Otilde W -30
+KPX Otilde X -60
+KPX Otilde Y -70
+KPX Otilde Yacute -70
+KPX Otilde Ydieresis -70
+KPX Otilde comma -40
+KPX Otilde period -40
+KPX P A -120
+KPX P Aacute -120
+KPX P Abreve -120
+KPX P Acircumflex -120
+KPX P Adieresis -120
+KPX P Agrave -120
+KPX P Amacron -120
+KPX P Aogonek -120
+KPX P Aring -120
+KPX P Atilde -120
+KPX P a -40
+KPX P aacute -40
+KPX P abreve -40
+KPX P acircumflex -40
+KPX P adieresis -40
+KPX P agrave -40
+KPX P amacron -40
+KPX P aogonek -40
+KPX P aring -40
+KPX P atilde -40
+KPX P comma -180
+KPX P e -50
+KPX P eacute -50
+KPX P ecaron -50
+KPX P ecircumflex -50
+KPX P edieresis -50
+KPX P edotaccent -50
+KPX P egrave -50
+KPX P emacron -50
+KPX P eogonek -50
+KPX P o -50
+KPX P oacute -50
+KPX P ocircumflex -50
+KPX P odieresis -50
+KPX P ograve -50
+KPX P ohungarumlaut -50
+KPX P omacron -50
+KPX P oslash -50
+KPX P otilde -50
+KPX P period -180
+KPX Q U -10
+KPX Q Uacute -10
+KPX Q Ucircumflex -10
+KPX Q Udieresis -10
+KPX Q Ugrave -10
+KPX Q Uhungarumlaut -10
+KPX Q Umacron -10
+KPX Q Uogonek -10
+KPX Q Uring -10
+KPX R O -20
+KPX R Oacute -20
+KPX R Ocircumflex -20
+KPX R Odieresis -20
+KPX R Ograve -20
+KPX R Ohungarumlaut -20
+KPX R Omacron -20
+KPX R Oslash -20
+KPX R Otilde -20
+KPX R T -30
+KPX R Tcaron -30
+KPX R Tcommaaccent -30
+KPX R U -40
+KPX R Uacute -40
+KPX R Ucircumflex -40
+KPX R Udieresis -40
+KPX R Ugrave -40
+KPX R Uhungarumlaut -40
+KPX R Umacron -40
+KPX R Uogonek -40
+KPX R Uring -40
+KPX R V -50
+KPX R W -30
+KPX R Y -50
+KPX R Yacute -50
+KPX R Ydieresis -50
+KPX Racute O -20
+KPX Racute Oacute -20
+KPX Racute Ocircumflex -20
+KPX Racute Odieresis -20
+KPX Racute Ograve -20
+KPX Racute Ohungarumlaut -20
+KPX Racute Omacron -20
+KPX Racute Oslash -20
+KPX Racute Otilde -20
+KPX Racute T -30
+KPX Racute Tcaron -30
+KPX Racute Tcommaaccent -30
+KPX Racute U -40
+KPX Racute Uacute -40
+KPX Racute Ucircumflex -40
+KPX Racute Udieresis -40
+KPX Racute Ugrave -40
+KPX Racute Uhungarumlaut -40
+KPX Racute Umacron -40
+KPX Racute Uogonek -40
+KPX Racute Uring -40
+KPX Racute V -50
+KPX Racute W -30
+KPX Racute Y -50
+KPX Racute Yacute -50
+KPX Racute Ydieresis -50
+KPX Rcaron O -20
+KPX Rcaron Oacute -20
+KPX Rcaron Ocircumflex -20
+KPX Rcaron Odieresis -20
+KPX Rcaron Ograve -20
+KPX Rcaron Ohungarumlaut -20
+KPX Rcaron Omacron -20
+KPX Rcaron Oslash -20
+KPX Rcaron Otilde -20
+KPX Rcaron T -30
+KPX Rcaron Tcaron -30
+KPX Rcaron Tcommaaccent -30
+KPX Rcaron U -40
+KPX Rcaron Uacute -40
+KPX Rcaron Ucircumflex -40
+KPX Rcaron Udieresis -40
+KPX Rcaron Ugrave -40
+KPX Rcaron Uhungarumlaut -40
+KPX Rcaron Umacron -40
+KPX Rcaron Uogonek -40
+KPX Rcaron Uring -40
+KPX Rcaron V -50
+KPX Rcaron W -30
+KPX Rcaron Y -50
+KPX Rcaron Yacute -50
+KPX Rcaron Ydieresis -50
+KPX Rcommaaccent O -20
+KPX Rcommaaccent Oacute -20
+KPX Rcommaaccent Ocircumflex -20
+KPX Rcommaaccent Odieresis -20
+KPX Rcommaaccent Ograve -20
+KPX Rcommaaccent Ohungarumlaut -20
+KPX Rcommaaccent Omacron -20
+KPX Rcommaaccent Oslash -20
+KPX Rcommaaccent Otilde -20
+KPX Rcommaaccent T -30
+KPX Rcommaaccent Tcaron -30
+KPX Rcommaaccent Tcommaaccent -30
+KPX Rcommaaccent U -40
+KPX Rcommaaccent Uacute -40
+KPX Rcommaaccent Ucircumflex -40
+KPX Rcommaaccent Udieresis -40
+KPX Rcommaaccent Ugrave -40
+KPX Rcommaaccent Uhungarumlaut -40
+KPX Rcommaaccent Umacron -40
+KPX Rcommaaccent Uogonek -40
+KPX Rcommaaccent Uring -40
+KPX Rcommaaccent V -50
+KPX Rcommaaccent W -30
+KPX Rcommaaccent Y -50
+KPX Rcommaaccent Yacute -50
+KPX Rcommaaccent Ydieresis -50
+KPX S comma -20
+KPX S period -20
+KPX Sacute comma -20
+KPX Sacute period -20
+KPX Scaron comma -20
+KPX Scaron period -20
+KPX Scedilla comma -20
+KPX Scedilla period -20
+KPX Scommaaccent comma -20
+KPX Scommaaccent period -20
+KPX T A -120
+KPX T Aacute -120
+KPX T Abreve -120
+KPX T Acircumflex -120
+KPX T Adieresis -120
+KPX T Agrave -120
+KPX T Amacron -120
+KPX T Aogonek -120
+KPX T Aring -120
+KPX T Atilde -120
+KPX T O -40
+KPX T Oacute -40
+KPX T Ocircumflex -40
+KPX T Odieresis -40
+KPX T Ograve -40
+KPX T Ohungarumlaut -40
+KPX T Omacron -40
+KPX T Oslash -40
+KPX T Otilde -40
+KPX T a -120
+KPX T aacute -120
+KPX T abreve -60
+KPX T acircumflex -120
+KPX T adieresis -120
+KPX T agrave -120
+KPX T amacron -60
+KPX T aogonek -120
+KPX T aring -120
+KPX T atilde -60
+KPX T colon -20
+KPX T comma -120
+KPX T e -120
+KPX T eacute -120
+KPX T ecaron -120
+KPX T ecircumflex -120
+KPX T edieresis -120
+KPX T edotaccent -120
+KPX T egrave -60
+KPX T emacron -60
+KPX T eogonek -120
+KPX T hyphen -140
+KPX T o -120
+KPX T oacute -120
+KPX T ocircumflex -120
+KPX T odieresis -120
+KPX T ograve -120
+KPX T ohungarumlaut -120
+KPX T omacron -60
+KPX T oslash -120
+KPX T otilde -60
+KPX T period -120
+KPX T r -120
+KPX T racute -120
+KPX T rcaron -120
+KPX T rcommaaccent -120
+KPX T semicolon -20
+KPX T u -120
+KPX T uacute -120
+KPX T ucircumflex -120
+KPX T udieresis -120
+KPX T ugrave -120
+KPX T uhungarumlaut -120
+KPX T umacron -60
+KPX T uogonek -120
+KPX T uring -120
+KPX T w -120
+KPX T y -120
+KPX T yacute -120
+KPX T ydieresis -60
+KPX Tcaron A -120
+KPX Tcaron Aacute -120
+KPX Tcaron Abreve -120
+KPX Tcaron Acircumflex -120
+KPX Tcaron Adieresis -120
+KPX Tcaron Agrave -120
+KPX Tcaron Amacron -120
+KPX Tcaron Aogonek -120
+KPX Tcaron Aring -120
+KPX Tcaron Atilde -120
+KPX Tcaron O -40
+KPX Tcaron Oacute -40
+KPX Tcaron Ocircumflex -40
+KPX Tcaron Odieresis -40
+KPX Tcaron Ograve -40
+KPX Tcaron Ohungarumlaut -40
+KPX Tcaron Omacron -40
+KPX Tcaron Oslash -40
+KPX Tcaron Otilde -40
+KPX Tcaron a -120
+KPX Tcaron aacute -120
+KPX Tcaron abreve -60
+KPX Tcaron acircumflex -120
+KPX Tcaron adieresis -120
+KPX Tcaron agrave -120
+KPX Tcaron amacron -60
+KPX Tcaron aogonek -120
+KPX Tcaron aring -120
+KPX Tcaron atilde -60
+KPX Tcaron colon -20
+KPX Tcaron comma -120
+KPX Tcaron e -120
+KPX Tcaron eacute -120
+KPX Tcaron ecaron -120
+KPX Tcaron ecircumflex -120
+KPX Tcaron edieresis -120
+KPX Tcaron edotaccent -120
+KPX Tcaron egrave -60
+KPX Tcaron emacron -60
+KPX Tcaron eogonek -120
+KPX Tcaron hyphen -140
+KPX Tcaron o -120
+KPX Tcaron oacute -120
+KPX Tcaron ocircumflex -120
+KPX Tcaron odieresis -120
+KPX Tcaron ograve -120
+KPX Tcaron ohungarumlaut -120
+KPX Tcaron omacron -60
+KPX Tcaron oslash -120
+KPX Tcaron otilde -60
+KPX Tcaron period -120
+KPX Tcaron r -120
+KPX Tcaron racute -120
+KPX Tcaron rcaron -120
+KPX Tcaron rcommaaccent -120
+KPX Tcaron semicolon -20
+KPX Tcaron u -120
+KPX Tcaron uacute -120
+KPX Tcaron ucircumflex -120
+KPX Tcaron udieresis -120
+KPX Tcaron ugrave -120
+KPX Tcaron uhungarumlaut -120
+KPX Tcaron umacron -60
+KPX Tcaron uogonek -120
+KPX Tcaron uring -120
+KPX Tcaron w -120
+KPX Tcaron y -120
+KPX Tcaron yacute -120
+KPX Tcaron ydieresis -60
+KPX Tcommaaccent A -120
+KPX Tcommaaccent Aacute -120
+KPX Tcommaaccent Abreve -120
+KPX Tcommaaccent Acircumflex -120
+KPX Tcommaaccent Adieresis -120
+KPX Tcommaaccent Agrave -120
+KPX Tcommaaccent Amacron -120
+KPX Tcommaaccent Aogonek -120
+KPX Tcommaaccent Aring -120
+KPX Tcommaaccent Atilde -120
+KPX Tcommaaccent O -40
+KPX Tcommaaccent Oacute -40
+KPX Tcommaaccent Ocircumflex -40
+KPX Tcommaaccent Odieresis -40
+KPX Tcommaaccent Ograve -40
+KPX Tcommaaccent Ohungarumlaut -40
+KPX Tcommaaccent Omacron -40
+KPX Tcommaaccent Oslash -40
+KPX Tcommaaccent Otilde -40
+KPX Tcommaaccent a -120
+KPX Tcommaaccent aacute -120
+KPX Tcommaaccent abreve -60
+KPX Tcommaaccent acircumflex -120
+KPX Tcommaaccent adieresis -120
+KPX Tcommaaccent agrave -120
+KPX Tcommaaccent amacron -60
+KPX Tcommaaccent aogonek -120
+KPX Tcommaaccent aring -120
+KPX Tcommaaccent atilde -60
+KPX Tcommaaccent colon -20
+KPX Tcommaaccent comma -120
+KPX Tcommaaccent e -120
+KPX Tcommaaccent eacute -120
+KPX Tcommaaccent ecaron -120
+KPX Tcommaaccent ecircumflex -120
+KPX Tcommaaccent edieresis -120
+KPX Tcommaaccent edotaccent -120
+KPX Tcommaaccent egrave -60
+KPX Tcommaaccent emacron -60
+KPX Tcommaaccent eogonek -120
+KPX Tcommaaccent hyphen -140
+KPX Tcommaaccent o -120
+KPX Tcommaaccent oacute -120
+KPX Tcommaaccent ocircumflex -120
+KPX Tcommaaccent odieresis -120
+KPX Tcommaaccent ograve -120
+KPX Tcommaaccent ohungarumlaut -120
+KPX Tcommaaccent omacron -60
+KPX Tcommaaccent oslash -120
+KPX Tcommaaccent otilde -60
+KPX Tcommaaccent period -120
+KPX Tcommaaccent r -120
+KPX Tcommaaccent racute -120
+KPX Tcommaaccent rcaron -120
+KPX Tcommaaccent rcommaaccent -120
+KPX Tcommaaccent semicolon -20
+KPX Tcommaaccent u -120
+KPX Tcommaaccent uacute -120
+KPX Tcommaaccent ucircumflex -120
+KPX Tcommaaccent udieresis -120
+KPX Tcommaaccent ugrave -120
+KPX Tcommaaccent uhungarumlaut -120
+KPX Tcommaaccent umacron -60
+KPX Tcommaaccent uogonek -120
+KPX Tcommaaccent uring -120
+KPX Tcommaaccent w -120
+KPX Tcommaaccent y -120
+KPX Tcommaaccent yacute -120
+KPX Tcommaaccent ydieresis -60
+KPX U A -40
+KPX U Aacute -40
+KPX U Abreve -40
+KPX U Acircumflex -40
+KPX U Adieresis -40
+KPX U Agrave -40
+KPX U Amacron -40
+KPX U Aogonek -40
+KPX U Aring -40
+KPX U Atilde -40
+KPX U comma -40
+KPX U period -40
+KPX Uacute A -40
+KPX Uacute Aacute -40
+KPX Uacute Abreve -40
+KPX Uacute Acircumflex -40
+KPX Uacute Adieresis -40
+KPX Uacute Agrave -40
+KPX Uacute Amacron -40
+KPX Uacute Aogonek -40
+KPX Uacute Aring -40
+KPX Uacute Atilde -40
+KPX Uacute comma -40
+KPX Uacute period -40
+KPX Ucircumflex A -40
+KPX Ucircumflex Aacute -40
+KPX Ucircumflex Abreve -40
+KPX Ucircumflex Acircumflex -40
+KPX Ucircumflex Adieresis -40
+KPX Ucircumflex Agrave -40
+KPX Ucircumflex Amacron -40
+KPX Ucircumflex Aogonek -40
+KPX Ucircumflex Aring -40
+KPX Ucircumflex Atilde -40
+KPX Ucircumflex comma -40
+KPX Ucircumflex period -40
+KPX Udieresis A -40
+KPX Udieresis Aacute -40
+KPX Udieresis Abreve -40
+KPX Udieresis Acircumflex -40
+KPX Udieresis Adieresis -40
+KPX Udieresis Agrave -40
+KPX Udieresis Amacron -40
+KPX Udieresis Aogonek -40
+KPX Udieresis Aring -40
+KPX Udieresis Atilde -40
+KPX Udieresis comma -40
+KPX Udieresis period -40
+KPX Ugrave A -40
+KPX Ugrave Aacute -40
+KPX Ugrave Abreve -40
+KPX Ugrave Acircumflex -40
+KPX Ugrave Adieresis -40
+KPX Ugrave Agrave -40
+KPX Ugrave Amacron -40
+KPX Ugrave Aogonek -40
+KPX Ugrave Aring -40
+KPX Ugrave Atilde -40
+KPX Ugrave comma -40
+KPX Ugrave period -40
+KPX Uhungarumlaut A -40
+KPX Uhungarumlaut Aacute -40
+KPX Uhungarumlaut Abreve -40
+KPX Uhungarumlaut Acircumflex -40
+KPX Uhungarumlaut Adieresis -40
+KPX Uhungarumlaut Agrave -40
+KPX Uhungarumlaut Amacron -40
+KPX Uhungarumlaut Aogonek -40
+KPX Uhungarumlaut Aring -40
+KPX Uhungarumlaut Atilde -40
+KPX Uhungarumlaut comma -40
+KPX Uhungarumlaut period -40
+KPX Umacron A -40
+KPX Umacron Aacute -40
+KPX Umacron Abreve -40
+KPX Umacron Acircumflex -40
+KPX Umacron Adieresis -40
+KPX Umacron Agrave -40
+KPX Umacron Amacron -40
+KPX Umacron Aogonek -40
+KPX Umacron Aring -40
+KPX Umacron Atilde -40
+KPX Umacron comma -40
+KPX Umacron period -40
+KPX Uogonek A -40
+KPX Uogonek Aacute -40
+KPX Uogonek Abreve -40
+KPX Uogonek Acircumflex -40
+KPX Uogonek Adieresis -40
+KPX Uogonek Agrave -40
+KPX Uogonek Amacron -40
+KPX Uogonek Aogonek -40
+KPX Uogonek Aring -40
+KPX Uogonek Atilde -40
+KPX Uogonek comma -40
+KPX Uogonek period -40
+KPX Uring A -40
+KPX Uring Aacute -40
+KPX Uring Abreve -40
+KPX Uring Acircumflex -40
+KPX Uring Adieresis -40
+KPX Uring Agrave -40
+KPX Uring Amacron -40
+KPX Uring Aogonek -40
+KPX Uring Aring -40
+KPX Uring Atilde -40
+KPX Uring comma -40
+KPX Uring period -40
+KPX V A -80
+KPX V Aacute -80
+KPX V Abreve -80
+KPX V Acircumflex -80
+KPX V Adieresis -80
+KPX V Agrave -80
+KPX V Amacron -80
+KPX V Aogonek -80
+KPX V Aring -80
+KPX V Atilde -80
+KPX V G -40
+KPX V Gbreve -40
+KPX V Gcommaaccent -40
+KPX V O -40
+KPX V Oacute -40
+KPX V Ocircumflex -40
+KPX V Odieresis -40
+KPX V Ograve -40
+KPX V Ohungarumlaut -40
+KPX V Omacron -40
+KPX V Oslash -40
+KPX V Otilde -40
+KPX V a -70
+KPX V aacute -70
+KPX V abreve -70
+KPX V acircumflex -70
+KPX V adieresis -70
+KPX V agrave -70
+KPX V amacron -70
+KPX V aogonek -70
+KPX V aring -70
+KPX V atilde -70
+KPX V colon -40
+KPX V comma -125
+KPX V e -80
+KPX V eacute -80
+KPX V ecaron -80
+KPX V ecircumflex -80
+KPX V edieresis -80
+KPX V edotaccent -80
+KPX V egrave -80
+KPX V emacron -80
+KPX V eogonek -80
+KPX V hyphen -80
+KPX V o -80
+KPX V oacute -80
+KPX V ocircumflex -80
+KPX V odieresis -80
+KPX V ograve -80
+KPX V ohungarumlaut -80
+KPX V omacron -80
+KPX V oslash -80
+KPX V otilde -80
+KPX V period -125
+KPX V semicolon -40
+KPX V u -70
+KPX V uacute -70
+KPX V ucircumflex -70
+KPX V udieresis -70
+KPX V ugrave -70
+KPX V uhungarumlaut -70
+KPX V umacron -70
+KPX V uogonek -70
+KPX V uring -70
+KPX W A -50
+KPX W Aacute -50
+KPX W Abreve -50
+KPX W Acircumflex -50
+KPX W Adieresis -50
+KPX W Agrave -50
+KPX W Amacron -50
+KPX W Aogonek -50
+KPX W Aring -50
+KPX W Atilde -50
+KPX W O -20
+KPX W Oacute -20
+KPX W Ocircumflex -20
+KPX W Odieresis -20
+KPX W Ograve -20
+KPX W Ohungarumlaut -20
+KPX W Omacron -20
+KPX W Oslash -20
+KPX W Otilde -20
+KPX W a -40
+KPX W aacute -40
+KPX W abreve -40
+KPX W acircumflex -40
+KPX W adieresis -40
+KPX W agrave -40
+KPX W amacron -40
+KPX W aogonek -40
+KPX W aring -40
+KPX W atilde -40
+KPX W comma -80
+KPX W e -30
+KPX W eacute -30
+KPX W ecaron -30
+KPX W ecircumflex -30
+KPX W edieresis -30
+KPX W edotaccent -30
+KPX W egrave -30
+KPX W emacron -30
+KPX W eogonek -30
+KPX W hyphen -40
+KPX W o -30
+KPX W oacute -30
+KPX W ocircumflex -30
+KPX W odieresis -30
+KPX W ograve -30
+KPX W ohungarumlaut -30
+KPX W omacron -30
+KPX W oslash -30
+KPX W otilde -30
+KPX W period -80
+KPX W u -30
+KPX W uacute -30
+KPX W ucircumflex -30
+KPX W udieresis -30
+KPX W ugrave -30
+KPX W uhungarumlaut -30
+KPX W umacron -30
+KPX W uogonek -30
+KPX W uring -30
+KPX W y -20
+KPX W yacute -20
+KPX W ydieresis -20
+KPX Y A -110
+KPX Y Aacute -110
+KPX Y Abreve -110
+KPX Y Acircumflex -110
+KPX Y Adieresis -110
+KPX Y Agrave -110
+KPX Y Amacron -110
+KPX Y Aogonek -110
+KPX Y Aring -110
+KPX Y Atilde -110
+KPX Y O -85
+KPX Y Oacute -85
+KPX Y Ocircumflex -85
+KPX Y Odieresis -85
+KPX Y Ograve -85
+KPX Y Ohungarumlaut -85
+KPX Y Omacron -85
+KPX Y Oslash -85
+KPX Y Otilde -85
+KPX Y a -140
+KPX Y aacute -140
+KPX Y abreve -70
+KPX Y acircumflex -140
+KPX Y adieresis -140
+KPX Y agrave -140
+KPX Y amacron -70
+KPX Y aogonek -140
+KPX Y aring -140
+KPX Y atilde -140
+KPX Y colon -60
+KPX Y comma -140
+KPX Y e -140
+KPX Y eacute -140
+KPX Y ecaron -140
+KPX Y ecircumflex -140
+KPX Y edieresis -140
+KPX Y edotaccent -140
+KPX Y egrave -140
+KPX Y emacron -70
+KPX Y eogonek -140
+KPX Y hyphen -140
+KPX Y i -20
+KPX Y iacute -20
+KPX Y iogonek -20
+KPX Y o -140
+KPX Y oacute -140
+KPX Y ocircumflex -140
+KPX Y odieresis -140
+KPX Y ograve -140
+KPX Y ohungarumlaut -140
+KPX Y omacron -140
+KPX Y oslash -140
+KPX Y otilde -140
+KPX Y period -140
+KPX Y semicolon -60
+KPX Y u -110
+KPX Y uacute -110
+KPX Y ucircumflex -110
+KPX Y udieresis -110
+KPX Y ugrave -110
+KPX Y uhungarumlaut -110
+KPX Y umacron -110
+KPX Y uogonek -110
+KPX Y uring -110
+KPX Yacute A -110
+KPX Yacute Aacute -110
+KPX Yacute Abreve -110
+KPX Yacute Acircumflex -110
+KPX Yacute Adieresis -110
+KPX Yacute Agrave -110
+KPX Yacute Amacron -110
+KPX Yacute Aogonek -110
+KPX Yacute Aring -110
+KPX Yacute Atilde -110
+KPX Yacute O -85
+KPX Yacute Oacute -85
+KPX Yacute Ocircumflex -85
+KPX Yacute Odieresis -85
+KPX Yacute Ograve -85
+KPX Yacute Ohungarumlaut -85
+KPX Yacute Omacron -85
+KPX Yacute Oslash -85
+KPX Yacute Otilde -85
+KPX Yacute a -140
+KPX Yacute aacute -140
+KPX Yacute abreve -70
+KPX Yacute acircumflex -140
+KPX Yacute adieresis -140
+KPX Yacute agrave -140
+KPX Yacute amacron -70
+KPX Yacute aogonek -140
+KPX Yacute aring -140
+KPX Yacute atilde -70
+KPX Yacute colon -60
+KPX Yacute comma -140
+KPX Yacute e -140
+KPX Yacute eacute -140
+KPX Yacute ecaron -140
+KPX Yacute ecircumflex -140
+KPX Yacute edieresis -140
+KPX Yacute edotaccent -140
+KPX Yacute egrave -140
+KPX Yacute emacron -70
+KPX Yacute eogonek -140
+KPX Yacute hyphen -140
+KPX Yacute i -20
+KPX Yacute iacute -20
+KPX Yacute iogonek -20
+KPX Yacute o -140
+KPX Yacute oacute -140
+KPX Yacute ocircumflex -140
+KPX Yacute odieresis -140
+KPX Yacute ograve -140
+KPX Yacute ohungarumlaut -140
+KPX Yacute omacron -70
+KPX Yacute oslash -140
+KPX Yacute otilde -140
+KPX Yacute period -140
+KPX Yacute semicolon -60
+KPX Yacute u -110
+KPX Yacute uacute -110
+KPX Yacute ucircumflex -110
+KPX Yacute udieresis -110
+KPX Yacute ugrave -110
+KPX Yacute uhungarumlaut -110
+KPX Yacute umacron -110
+KPX Yacute uogonek -110
+KPX Yacute uring -110
+KPX Ydieresis A -110
+KPX Ydieresis Aacute -110
+KPX Ydieresis Abreve -110
+KPX Ydieresis Acircumflex -110
+KPX Ydieresis Adieresis -110
+KPX Ydieresis Agrave -110
+KPX Ydieresis Amacron -110
+KPX Ydieresis Aogonek -110
+KPX Ydieresis Aring -110
+KPX Ydieresis Atilde -110
+KPX Ydieresis O -85
+KPX Ydieresis Oacute -85
+KPX Ydieresis Ocircumflex -85
+KPX Ydieresis Odieresis -85
+KPX Ydieresis Ograve -85
+KPX Ydieresis Ohungarumlaut -85
+KPX Ydieresis Omacron -85
+KPX Ydieresis Oslash -85
+KPX Ydieresis Otilde -85
+KPX Ydieresis a -140
+KPX Ydieresis aacute -140
+KPX Ydieresis abreve -70
+KPX Ydieresis acircumflex -140
+KPX Ydieresis adieresis -140
+KPX Ydieresis agrave -140
+KPX Ydieresis amacron -70
+KPX Ydieresis aogonek -140
+KPX Ydieresis aring -140
+KPX Ydieresis atilde -70
+KPX Ydieresis colon -60
+KPX Ydieresis comma -140
+KPX Ydieresis e -140
+KPX Ydieresis eacute -140
+KPX Ydieresis ecaron -140
+KPX Ydieresis ecircumflex -140
+KPX Ydieresis edieresis -140
+KPX Ydieresis edotaccent -140
+KPX Ydieresis egrave -140
+KPX Ydieresis emacron -70
+KPX Ydieresis eogonek -140
+KPX Ydieresis hyphen -140
+KPX Ydieresis i -20
+KPX Ydieresis iacute -20
+KPX Ydieresis iogonek -20
+KPX Ydieresis o -140
+KPX Ydieresis oacute -140
+KPX Ydieresis ocircumflex -140
+KPX Ydieresis odieresis -140
+KPX Ydieresis ograve -140
+KPX Ydieresis ohungarumlaut -140
+KPX Ydieresis omacron -140
+KPX Ydieresis oslash -140
+KPX Ydieresis otilde -140
+KPX Ydieresis period -140
+KPX Ydieresis semicolon -60
+KPX Ydieresis u -110
+KPX Ydieresis uacute -110
+KPX Ydieresis ucircumflex -110
+KPX Ydieresis udieresis -110
+KPX Ydieresis ugrave -110
+KPX Ydieresis uhungarumlaut -110
+KPX Ydieresis umacron -110
+KPX Ydieresis uogonek -110
+KPX Ydieresis uring -110
+KPX a v -20
+KPX a w -20
+KPX a y -30
+KPX a yacute -30
+KPX a ydieresis -30
+KPX aacute v -20
+KPX aacute w -20
+KPX aacute y -30
+KPX aacute yacute -30
+KPX aacute ydieresis -30
+KPX abreve v -20
+KPX abreve w -20
+KPX abreve y -30
+KPX abreve yacute -30
+KPX abreve ydieresis -30
+KPX acircumflex v -20
+KPX acircumflex w -20
+KPX acircumflex y -30
+KPX acircumflex yacute -30
+KPX acircumflex ydieresis -30
+KPX adieresis v -20
+KPX adieresis w -20
+KPX adieresis y -30
+KPX adieresis yacute -30
+KPX adieresis ydieresis -30
+KPX agrave v -20
+KPX agrave w -20
+KPX agrave y -30
+KPX agrave yacute -30
+KPX agrave ydieresis -30
+KPX amacron v -20
+KPX amacron w -20
+KPX amacron y -30
+KPX amacron yacute -30
+KPX amacron ydieresis -30
+KPX aogonek v -20
+KPX aogonek w -20
+KPX aogonek y -30
+KPX aogonek yacute -30
+KPX aogonek ydieresis -30
+KPX aring v -20
+KPX aring w -20
+KPX aring y -30
+KPX aring yacute -30
+KPX aring ydieresis -30
+KPX atilde v -20
+KPX atilde w -20
+KPX atilde y -30
+KPX atilde yacute -30
+KPX atilde ydieresis -30
+KPX b b -10
+KPX b comma -40
+KPX b l -20
+KPX b lacute -20
+KPX b lcommaaccent -20
+KPX b lslash -20
+KPX b period -40
+KPX b u -20
+KPX b uacute -20
+KPX b ucircumflex -20
+KPX b udieresis -20
+KPX b ugrave -20
+KPX b uhungarumlaut -20
+KPX b umacron -20
+KPX b uogonek -20
+KPX b uring -20
+KPX b v -20
+KPX b y -20
+KPX b yacute -20
+KPX b ydieresis -20
+KPX c comma -15
+KPX c k -20
+KPX c kcommaaccent -20
+KPX cacute comma -15
+KPX cacute k -20
+KPX cacute kcommaaccent -20
+KPX ccaron comma -15
+KPX ccaron k -20
+KPX ccaron kcommaaccent -20
+KPX ccedilla comma -15
+KPX ccedilla k -20
+KPX ccedilla kcommaaccent -20
+KPX colon space -50
+KPX comma quotedblright -100
+KPX comma quoteright -100
+KPX e comma -15
+KPX e period -15
+KPX e v -30
+KPX e w -20
+KPX e x -30
+KPX e y -20
+KPX e yacute -20
+KPX e ydieresis -20
+KPX eacute comma -15
+KPX eacute period -15
+KPX eacute v -30
+KPX eacute w -20
+KPX eacute x -30
+KPX eacute y -20
+KPX eacute yacute -20
+KPX eacute ydieresis -20
+KPX ecaron comma -15
+KPX ecaron period -15
+KPX ecaron v -30
+KPX ecaron w -20
+KPX ecaron x -30
+KPX ecaron y -20
+KPX ecaron yacute -20
+KPX ecaron ydieresis -20
+KPX ecircumflex comma -15
+KPX ecircumflex period -15
+KPX ecircumflex v -30
+KPX ecircumflex w -20
+KPX ecircumflex x -30
+KPX ecircumflex y -20
+KPX ecircumflex yacute -20
+KPX ecircumflex ydieresis -20
+KPX edieresis comma -15
+KPX edieresis period -15
+KPX edieresis v -30
+KPX edieresis w -20
+KPX edieresis x -30
+KPX edieresis y -20
+KPX edieresis yacute -20
+KPX edieresis ydieresis -20
+KPX edotaccent comma -15
+KPX edotaccent period -15
+KPX edotaccent v -30
+KPX edotaccent w -20
+KPX edotaccent x -30
+KPX edotaccent y -20
+KPX edotaccent yacute -20
+KPX edotaccent ydieresis -20
+KPX egrave comma -15
+KPX egrave period -15
+KPX egrave v -30
+KPX egrave w -20
+KPX egrave x -30
+KPX egrave y -20
+KPX egrave yacute -20
+KPX egrave ydieresis -20
+KPX emacron comma -15
+KPX emacron period -15
+KPX emacron v -30
+KPX emacron w -20
+KPX emacron x -30
+KPX emacron y -20
+KPX emacron yacute -20
+KPX emacron ydieresis -20
+KPX eogonek comma -15
+KPX eogonek period -15
+KPX eogonek v -30
+KPX eogonek w -20
+KPX eogonek x -30
+KPX eogonek y -20
+KPX eogonek yacute -20
+KPX eogonek ydieresis -20
+KPX f a -30
+KPX f aacute -30
+KPX f abreve -30
+KPX f acircumflex -30
+KPX f adieresis -30
+KPX f agrave -30
+KPX f amacron -30
+KPX f aogonek -30
+KPX f aring -30
+KPX f atilde -30
+KPX f comma -30
+KPX f dotlessi -28
+KPX f e -30
+KPX f eacute -30
+KPX f ecaron -30
+KPX f ecircumflex -30
+KPX f edieresis -30
+KPX f edotaccent -30
+KPX f egrave -30
+KPX f emacron -30
+KPX f eogonek -30
+KPX f o -30
+KPX f oacute -30
+KPX f ocircumflex -30
+KPX f odieresis -30
+KPX f ograve -30
+KPX f ohungarumlaut -30
+KPX f omacron -30
+KPX f oslash -30
+KPX f otilde -30
+KPX f period -30
+KPX f quotedblright 60
+KPX f quoteright 50
+KPX g r -10
+KPX g racute -10
+KPX g rcaron -10
+KPX g rcommaaccent -10
+KPX gbreve r -10
+KPX gbreve racute -10
+KPX gbreve rcaron -10
+KPX gbreve rcommaaccent -10
+KPX gcommaaccent r -10
+KPX gcommaaccent racute -10
+KPX gcommaaccent rcaron -10
+KPX gcommaaccent rcommaaccent -10
+KPX h y -30
+KPX h yacute -30
+KPX h ydieresis -30
+KPX k e -20
+KPX k eacute -20
+KPX k ecaron -20
+KPX k ecircumflex -20
+KPX k edieresis -20
+KPX k edotaccent -20
+KPX k egrave -20
+KPX k emacron -20
+KPX k eogonek -20
+KPX k o -20
+KPX k oacute -20
+KPX k ocircumflex -20
+KPX k odieresis -20
+KPX k ograve -20
+KPX k ohungarumlaut -20
+KPX k omacron -20
+KPX k oslash -20
+KPX k otilde -20
+KPX kcommaaccent e -20
+KPX kcommaaccent eacute -20
+KPX kcommaaccent ecaron -20
+KPX kcommaaccent ecircumflex -20
+KPX kcommaaccent edieresis -20
+KPX kcommaaccent edotaccent -20
+KPX kcommaaccent egrave -20
+KPX kcommaaccent emacron -20
+KPX kcommaaccent eogonek -20
+KPX kcommaaccent o -20
+KPX kcommaaccent oacute -20
+KPX kcommaaccent ocircumflex -20
+KPX kcommaaccent odieresis -20
+KPX kcommaaccent ograve -20
+KPX kcommaaccent ohungarumlaut -20
+KPX kcommaaccent omacron -20
+KPX kcommaaccent oslash -20
+KPX kcommaaccent otilde -20
+KPX m u -10
+KPX m uacute -10
+KPX m ucircumflex -10
+KPX m udieresis -10
+KPX m ugrave -10
+KPX m uhungarumlaut -10
+KPX m umacron -10
+KPX m uogonek -10
+KPX m uring -10
+KPX m y -15
+KPX m yacute -15
+KPX m ydieresis -15
+KPX n u -10
+KPX n uacute -10
+KPX n ucircumflex -10
+KPX n udieresis -10
+KPX n ugrave -10
+KPX n uhungarumlaut -10
+KPX n umacron -10
+KPX n uogonek -10
+KPX n uring -10
+KPX n v -20
+KPX n y -15
+KPX n yacute -15
+KPX n ydieresis -15
+KPX nacute u -10
+KPX nacute uacute -10
+KPX nacute ucircumflex -10
+KPX nacute udieresis -10
+KPX nacute ugrave -10
+KPX nacute uhungarumlaut -10
+KPX nacute umacron -10
+KPX nacute uogonek -10
+KPX nacute uring -10
+KPX nacute v -20
+KPX nacute y -15
+KPX nacute yacute -15
+KPX nacute ydieresis -15
+KPX ncaron u -10
+KPX ncaron uacute -10
+KPX ncaron ucircumflex -10
+KPX ncaron udieresis -10
+KPX ncaron ugrave -10
+KPX ncaron uhungarumlaut -10
+KPX ncaron umacron -10
+KPX ncaron uogonek -10
+KPX ncaron uring -10
+KPX ncaron v -20
+KPX ncaron y -15
+KPX ncaron yacute -15
+KPX ncaron ydieresis -15
+KPX ncommaaccent u -10
+KPX ncommaaccent uacute -10
+KPX ncommaaccent ucircumflex -10
+KPX ncommaaccent udieresis -10
+KPX ncommaaccent ugrave -10
+KPX ncommaaccent uhungarumlaut -10
+KPX ncommaaccent umacron -10
+KPX ncommaaccent uogonek -10
+KPX ncommaaccent uring -10
+KPX ncommaaccent v -20
+KPX ncommaaccent y -15
+KPX ncommaaccent yacute -15
+KPX ncommaaccent ydieresis -15
+KPX ntilde u -10
+KPX ntilde uacute -10
+KPX ntilde ucircumflex -10
+KPX ntilde udieresis -10
+KPX ntilde ugrave -10
+KPX ntilde uhungarumlaut -10
+KPX ntilde umacron -10
+KPX ntilde uogonek -10
+KPX ntilde uring -10
+KPX ntilde v -20
+KPX ntilde y -15
+KPX ntilde yacute -15
+KPX ntilde ydieresis -15
+KPX o comma -40
+KPX o period -40
+KPX o v -15
+KPX o w -15
+KPX o x -30
+KPX o y -30
+KPX o yacute -30
+KPX o ydieresis -30
+KPX oacute comma -40
+KPX oacute period -40
+KPX oacute v -15
+KPX oacute w -15
+KPX oacute x -30
+KPX oacute y -30
+KPX oacute yacute -30
+KPX oacute ydieresis -30
+KPX ocircumflex comma -40
+KPX ocircumflex period -40
+KPX ocircumflex v -15
+KPX ocircumflex w -15
+KPX ocircumflex x -30
+KPX ocircumflex y -30
+KPX ocircumflex yacute -30
+KPX ocircumflex ydieresis -30
+KPX odieresis comma -40
+KPX odieresis period -40
+KPX odieresis v -15
+KPX odieresis w -15
+KPX odieresis x -30
+KPX odieresis y -30
+KPX odieresis yacute -30
+KPX odieresis ydieresis -30
+KPX ograve comma -40
+KPX ograve period -40
+KPX ograve v -15
+KPX ograve w -15
+KPX ograve x -30
+KPX ograve y -30
+KPX ograve yacute -30
+KPX ograve ydieresis -30
+KPX ohungarumlaut comma -40
+KPX ohungarumlaut period -40
+KPX ohungarumlaut v -15
+KPX ohungarumlaut w -15
+KPX ohungarumlaut x -30
+KPX ohungarumlaut y -30
+KPX ohungarumlaut yacute -30
+KPX ohungarumlaut ydieresis -30
+KPX omacron comma -40
+KPX omacron period -40
+KPX omacron v -15
+KPX omacron w -15
+KPX omacron x -30
+KPX omacron y -30
+KPX omacron yacute -30
+KPX omacron ydieresis -30
+KPX oslash a -55
+KPX oslash aacute -55
+KPX oslash abreve -55
+KPX oslash acircumflex -55
+KPX oslash adieresis -55
+KPX oslash agrave -55
+KPX oslash amacron -55
+KPX oslash aogonek -55
+KPX oslash aring -55
+KPX oslash atilde -55
+KPX oslash b -55
+KPX oslash c -55
+KPX oslash cacute -55
+KPX oslash ccaron -55
+KPX oslash ccedilla -55
+KPX oslash comma -95
+KPX oslash d -55
+KPX oslash dcroat -55
+KPX oslash e -55
+KPX oslash eacute -55
+KPX oslash ecaron -55
+KPX oslash ecircumflex -55
+KPX oslash edieresis -55
+KPX oslash edotaccent -55
+KPX oslash egrave -55
+KPX oslash emacron -55
+KPX oslash eogonek -55
+KPX oslash f -55
+KPX oslash g -55
+KPX oslash gbreve -55
+KPX oslash gcommaaccent -55
+KPX oslash h -55
+KPX oslash i -55
+KPX oslash iacute -55
+KPX oslash icircumflex -55
+KPX oslash idieresis -55
+KPX oslash igrave -55
+KPX oslash imacron -55
+KPX oslash iogonek -55
+KPX oslash j -55
+KPX oslash k -55
+KPX oslash kcommaaccent -55
+KPX oslash l -55
+KPX oslash lacute -55
+KPX oslash lcommaaccent -55
+KPX oslash lslash -55
+KPX oslash m -55
+KPX oslash n -55
+KPX oslash nacute -55
+KPX oslash ncaron -55
+KPX oslash ncommaaccent -55
+KPX oslash ntilde -55
+KPX oslash o -55
+KPX oslash oacute -55
+KPX oslash ocircumflex -55
+KPX oslash odieresis -55
+KPX oslash ograve -55
+KPX oslash ohungarumlaut -55
+KPX oslash omacron -55
+KPX oslash oslash -55
+KPX oslash otilde -55
+KPX oslash p -55
+KPX oslash period -95
+KPX oslash q -55
+KPX oslash r -55
+KPX oslash racute -55
+KPX oslash rcaron -55
+KPX oslash rcommaaccent -55
+KPX oslash s -55
+KPX oslash sacute -55
+KPX oslash scaron -55
+KPX oslash scedilla -55
+KPX oslash scommaaccent -55
+KPX oslash t -55
+KPX oslash tcommaaccent -55
+KPX oslash u -55
+KPX oslash uacute -55
+KPX oslash ucircumflex -55
+KPX oslash udieresis -55
+KPX oslash ugrave -55
+KPX oslash uhungarumlaut -55
+KPX oslash umacron -55
+KPX oslash uogonek -55
+KPX oslash uring -55
+KPX oslash v -70
+KPX oslash w -70
+KPX oslash x -85
+KPX oslash y -70
+KPX oslash yacute -70
+KPX oslash ydieresis -70
+KPX oslash z -55
+KPX oslash zacute -55
+KPX oslash zcaron -55
+KPX oslash zdotaccent -55
+KPX otilde comma -40
+KPX otilde period -40
+KPX otilde v -15
+KPX otilde w -15
+KPX otilde x -30
+KPX otilde y -30
+KPX otilde yacute -30
+KPX otilde ydieresis -30
+KPX p comma -35
+KPX p period -35
+KPX p y -30
+KPX p yacute -30
+KPX p ydieresis -30
+KPX period quotedblright -100
+KPX period quoteright -100
+KPX period space -60
+KPX quotedblright space -40
+KPX quoteleft quoteleft -57
+KPX quoteright d -50
+KPX quoteright dcroat -50
+KPX quoteright quoteright -57
+KPX quoteright r -50
+KPX quoteright racute -50
+KPX quoteright rcaron -50
+KPX quoteright rcommaaccent -50
+KPX quoteright s -50
+KPX quoteright sacute -50
+KPX quoteright scaron -50
+KPX quoteright scedilla -50
+KPX quoteright scommaaccent -50
+KPX quoteright space -70
+KPX r a -10
+KPX r aacute -10
+KPX r abreve -10
+KPX r acircumflex -10
+KPX r adieresis -10
+KPX r agrave -10
+KPX r amacron -10
+KPX r aogonek -10
+KPX r aring -10
+KPX r atilde -10
+KPX r colon 30
+KPX r comma -50
+KPX r i 15
+KPX r iacute 15
+KPX r icircumflex 15
+KPX r idieresis 15
+KPX r igrave 15
+KPX r imacron 15
+KPX r iogonek 15
+KPX r k 15
+KPX r kcommaaccent 15
+KPX r l 15
+KPX r lacute 15
+KPX r lcommaaccent 15
+KPX r lslash 15
+KPX r m 25
+KPX r n 25
+KPX r nacute 25
+KPX r ncaron 25
+KPX r ncommaaccent 25
+KPX r ntilde 25
+KPX r p 30
+KPX r period -50
+KPX r semicolon 30
+KPX r t 40
+KPX r tcommaaccent 40
+KPX r u 15
+KPX r uacute 15
+KPX r ucircumflex 15
+KPX r udieresis 15
+KPX r ugrave 15
+KPX r uhungarumlaut 15
+KPX r umacron 15
+KPX r uogonek 15
+KPX r uring 15
+KPX r v 30
+KPX r y 30
+KPX r yacute 30
+KPX r ydieresis 30
+KPX racute a -10
+KPX racute aacute -10
+KPX racute abreve -10
+KPX racute acircumflex -10
+KPX racute adieresis -10
+KPX racute agrave -10
+KPX racute amacron -10
+KPX racute aogonek -10
+KPX racute aring -10
+KPX racute atilde -10
+KPX racute colon 30
+KPX racute comma -50
+KPX racute i 15
+KPX racute iacute 15
+KPX racute icircumflex 15
+KPX racute idieresis 15
+KPX racute igrave 15
+KPX racute imacron 15
+KPX racute iogonek 15
+KPX racute k 15
+KPX racute kcommaaccent 15
+KPX racute l 15
+KPX racute lacute 15
+KPX racute lcommaaccent 15
+KPX racute lslash 15
+KPX racute m 25
+KPX racute n 25
+KPX racute nacute 25
+KPX racute ncaron 25
+KPX racute ncommaaccent 25
+KPX racute ntilde 25
+KPX racute p 30
+KPX racute period -50
+KPX racute semicolon 30
+KPX racute t 40
+KPX racute tcommaaccent 40
+KPX racute u 15
+KPX racute uacute 15
+KPX racute ucircumflex 15
+KPX racute udieresis 15
+KPX racute ugrave 15
+KPX racute uhungarumlaut 15
+KPX racute umacron 15
+KPX racute uogonek 15
+KPX racute uring 15
+KPX racute v 30
+KPX racute y 30
+KPX racute yacute 30
+KPX racute ydieresis 30
+KPX rcaron a -10
+KPX rcaron aacute -10
+KPX rcaron abreve -10
+KPX rcaron acircumflex -10
+KPX rcaron adieresis -10
+KPX rcaron agrave -10
+KPX rcaron amacron -10
+KPX rcaron aogonek -10
+KPX rcaron aring -10
+KPX rcaron atilde -10
+KPX rcaron colon 30
+KPX rcaron comma -50
+KPX rcaron i 15
+KPX rcaron iacute 15
+KPX rcaron icircumflex 15
+KPX rcaron idieresis 15
+KPX rcaron igrave 15
+KPX rcaron imacron 15
+KPX rcaron iogonek 15
+KPX rcaron k 15
+KPX rcaron kcommaaccent 15
+KPX rcaron l 15
+KPX rcaron lacute 15
+KPX rcaron lcommaaccent 15
+KPX rcaron lslash 15
+KPX rcaron m 25
+KPX rcaron n 25
+KPX rcaron nacute 25
+KPX rcaron ncaron 25
+KPX rcaron ncommaaccent 25
+KPX rcaron ntilde 25
+KPX rcaron p 30
+KPX rcaron period -50
+KPX rcaron semicolon 30
+KPX rcaron t 40
+KPX rcaron tcommaaccent 40
+KPX rcaron u 15
+KPX rcaron uacute 15
+KPX rcaron ucircumflex 15
+KPX rcaron udieresis 15
+KPX rcaron ugrave 15
+KPX rcaron uhungarumlaut 15
+KPX rcaron umacron 15
+KPX rcaron uogonek 15
+KPX rcaron uring 15
+KPX rcaron v 30
+KPX rcaron y 30
+KPX rcaron yacute 30
+KPX rcaron ydieresis 30
+KPX rcommaaccent a -10
+KPX rcommaaccent aacute -10
+KPX rcommaaccent abreve -10
+KPX rcommaaccent acircumflex -10
+KPX rcommaaccent adieresis -10
+KPX rcommaaccent agrave -10
+KPX rcommaaccent amacron -10
+KPX rcommaaccent aogonek -10
+KPX rcommaaccent aring -10
+KPX rcommaaccent atilde -10
+KPX rcommaaccent colon 30
+KPX rcommaaccent comma -50
+KPX rcommaaccent i 15
+KPX rcommaaccent iacute 15
+KPX rcommaaccent icircumflex 15
+KPX rcommaaccent idieresis 15
+KPX rcommaaccent igrave 15
+KPX rcommaaccent imacron 15
+KPX rcommaaccent iogonek 15
+KPX rcommaaccent k 15
+KPX rcommaaccent kcommaaccent 15
+KPX rcommaaccent l 15
+KPX rcommaaccent lacute 15
+KPX rcommaaccent lcommaaccent 15
+KPX rcommaaccent lslash 15
+KPX rcommaaccent m 25
+KPX rcommaaccent n 25
+KPX rcommaaccent nacute 25
+KPX rcommaaccent ncaron 25
+KPX rcommaaccent ncommaaccent 25
+KPX rcommaaccent ntilde 25
+KPX rcommaaccent p 30
+KPX rcommaaccent period -50
+KPX rcommaaccent semicolon 30
+KPX rcommaaccent t 40
+KPX rcommaaccent tcommaaccent 40
+KPX rcommaaccent u 15
+KPX rcommaaccent uacute 15
+KPX rcommaaccent ucircumflex 15
+KPX rcommaaccent udieresis 15
+KPX rcommaaccent ugrave 15
+KPX rcommaaccent uhungarumlaut 15
+KPX rcommaaccent umacron 15
+KPX rcommaaccent uogonek 15
+KPX rcommaaccent uring 15
+KPX rcommaaccent v 30
+KPX rcommaaccent y 30
+KPX rcommaaccent yacute 30
+KPX rcommaaccent ydieresis 30
+KPX s comma -15
+KPX s period -15
+KPX s w -30
+KPX sacute comma -15
+KPX sacute period -15
+KPX sacute w -30
+KPX scaron comma -15
+KPX scaron period -15
+KPX scaron w -30
+KPX scedilla comma -15
+KPX scedilla period -15
+KPX scedilla w -30
+KPX scommaaccent comma -15
+KPX scommaaccent period -15
+KPX scommaaccent w -30
+KPX semicolon space -50
+KPX space T -50
+KPX space Tcaron -50
+KPX space Tcommaaccent -50
+KPX space V -50
+KPX space W -40
+KPX space Y -90
+KPX space Yacute -90
+KPX space Ydieresis -90
+KPX space quotedblleft -30
+KPX space quoteleft -60
+KPX v a -25
+KPX v aacute -25
+KPX v abreve -25
+KPX v acircumflex -25
+KPX v adieresis -25
+KPX v agrave -25
+KPX v amacron -25
+KPX v aogonek -25
+KPX v aring -25
+KPX v atilde -25
+KPX v comma -80
+KPX v e -25
+KPX v eacute -25
+KPX v ecaron -25
+KPX v ecircumflex -25
+KPX v edieresis -25
+KPX v edotaccent -25
+KPX v egrave -25
+KPX v emacron -25
+KPX v eogonek -25
+KPX v o -25
+KPX v oacute -25
+KPX v ocircumflex -25
+KPX v odieresis -25
+KPX v ograve -25
+KPX v ohungarumlaut -25
+KPX v omacron -25
+KPX v oslash -25
+KPX v otilde -25
+KPX v period -80
+KPX w a -15
+KPX w aacute -15
+KPX w abreve -15
+KPX w acircumflex -15
+KPX w adieresis -15
+KPX w agrave -15
+KPX w amacron -15
+KPX w aogonek -15
+KPX w aring -15
+KPX w atilde -15
+KPX w comma -60
+KPX w e -10
+KPX w eacute -10
+KPX w ecaron -10
+KPX w ecircumflex -10
+KPX w edieresis -10
+KPX w edotaccent -10
+KPX w egrave -10
+KPX w emacron -10
+KPX w eogonek -10
+KPX w o -10
+KPX w oacute -10
+KPX w ocircumflex -10
+KPX w odieresis -10
+KPX w ograve -10
+KPX w ohungarumlaut -10
+KPX w omacron -10
+KPX w oslash -10
+KPX w otilde -10
+KPX w period -60
+KPX x e -30
+KPX x eacute -30
+KPX x ecaron -30
+KPX x ecircumflex -30
+KPX x edieresis -30
+KPX x edotaccent -30
+KPX x egrave -30
+KPX x emacron -30
+KPX x eogonek -30
+KPX y a -20
+KPX y aacute -20
+KPX y abreve -20
+KPX y acircumflex -20
+KPX y adieresis -20
+KPX y agrave -20
+KPX y amacron -20
+KPX y aogonek -20
+KPX y aring -20
+KPX y atilde -20
+KPX y comma -100
+KPX y e -20
+KPX y eacute -20
+KPX y ecaron -20
+KPX y ecircumflex -20
+KPX y edieresis -20
+KPX y edotaccent -20
+KPX y egrave -20
+KPX y emacron -20
+KPX y eogonek -20
+KPX y o -20
+KPX y oacute -20
+KPX y ocircumflex -20
+KPX y odieresis -20
+KPX y ograve -20
+KPX y ohungarumlaut -20
+KPX y omacron -20
+KPX y oslash -20
+KPX y otilde -20
+KPX y period -100
+KPX yacute a -20
+KPX yacute aacute -20
+KPX yacute abreve -20
+KPX yacute acircumflex -20
+KPX yacute adieresis -20
+KPX yacute agrave -20
+KPX yacute amacron -20
+KPX yacute aogonek -20
+KPX yacute aring -20
+KPX yacute atilde -20
+KPX yacute comma -100
+KPX yacute e -20
+KPX yacute eacute -20
+KPX yacute ecaron -20
+KPX yacute ecircumflex -20
+KPX yacute edieresis -20
+KPX yacute edotaccent -20
+KPX yacute egrave -20
+KPX yacute emacron -20
+KPX yacute eogonek -20
+KPX yacute o -20
+KPX yacute oacute -20
+KPX yacute ocircumflex -20
+KPX yacute odieresis -20
+KPX yacute ograve -20
+KPX yacute ohungarumlaut -20
+KPX yacute omacron -20
+KPX yacute oslash -20
+KPX yacute otilde -20
+KPX yacute period -100
+KPX ydieresis a -20
+KPX ydieresis aacute -20
+KPX ydieresis abreve -20
+KPX ydieresis acircumflex -20