ibus-libpinyin-1.16.1/0000755000175000017500000000000014767172144010313 5ibus-libpinyin-1.16.1/po/0000755000175000017500000000000014767172144010731 5ibus-libpinyin-1.16.1/po/cs.gmo0000644000175000017500000002025314737373732011767      #     - C M 'd .        % - 6 < K b w    & . (0FNSZpu  16 >IMThz'(   #( -8?Up u)  ! ,AQ ` jt $ 3%T z% " %5 EOX\aew+$  3R)p.     = K Wdl1>3Z   !#&El}     (=P,m-   &0AU Zg4~  ''E[js/{ !/Ba(-.3-:)h    & @ V _ j s +w   HS7%_/Li9)P .(`&1 TOt2#nv-m!Gc;I[aYex4z8@Q0X^kRK?~}bB NwV]>o56 UEp\lZjs =M{":3gDF<J+*quyh,WAf|Cd$ r'Bopomofo modeCandidatesCorrect pinyinCustomize IMEDictionary File Format: Each line contains one of the following: "phrase pinyin" or "phrase pinyin frequency" like "你好 ni'hao" or "你好 ni'hao 5".Dictionary optionInitial stateInput CustomOtherPinyin modeSelection modeUIUser DictionaryIntelligent Pinyin %sCopyright (c) 2011-2024 Peng WuABCAboutAcceleratorActiveArtAuto commitBopomofo (debug)Bopomofo input method (debug)Bopomofo modeChineseChinese:ClearClear All DataCommit first candidateCommit original textCultureDescriptionDictionaryDouble pinyinEconomyEditEnable Auxiliary Select Keys F1 .. F10Enable Auxiliary Select Keys Numbers on KeypadEnable Guidekey for Candidates SelectionEnable fuzzy syllableEnglishEtenExportFeature of Enter key:FullFull Width LetterFull Width PunctFull pinyinFull/Half Width LetterFull/Half Width PunctFuzzy syllableGeneralGeologyGinYiehHalfHalf Width LetterHalf Width PunctHalf/full width:HelpHistoryHorizontalIBMImportIncomplete BopomofoIncomplete pinyinIntelligent Pinyin (debug)Intelligent Pinyin input method (debug)Intelligent Pinyin input method for IBusKey code:Keyboard Mapping:Language:Libpinyin input methodLifeMSPYModifiers:NatureNumber of candidates:Orientation of candidates:PYJJPinyin modePlease choose a filePlease press a key (or a key combination)Please save a filePlease use "hspnz" to input.PreferencesPunctuations:Remember every input as a phrase.Select Switching KeySelection Keys:Shorcut EditorShortcut:ShortcutsShow raw input of Double PinyinSimplifiedSimplified ChineseSocietySportStandardSwitch Chinese/EnglishSwitch Traditional/Simplfied ChineseSwitch to Chinese ModeSwitch to English ModeSwitch to Full Width Letter ModeSwitch to Full Width Punctuation ModeSwitch to Half Width Letter ModeSwitch to Half Width Punctuation ModeSwitch to Simplfied Chinese ModeSwitch to Traditional Chinese ModeTraditionalTraditional ChineseUser DictionaryUser Lua ScriptUser dataVerticalXHEZGPYZRM[,] [.] flip page[-] [=] flip page[Shift] select candidate_Cancel_Default_Edit_OKhttps://github.com/libpinyin/ibus-libpinyin中英Project-Id-Version: PACKAGE VERSION Report-Msgid-Bugs-To: https://github.com/libpinyin/ibus-libpinyin/issues/new PO-Revision-Date: 2017-11-29 09:48-0500 Last-Translator: Zdenek Language-Team: Czech Language: cs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Zanata 4.6.2 Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2 Mód BopomofoNávrhySpisovný pinyinPřizpůsobit vstupní metoduFormát souboru slovníku: Každý řádek obsahuje jedno z tohoto: „výraz pinyin“ nebo „výraz pinyin frekvence“ např. „你好 ni'hao“ nebo „你好 ni'hao 5“.Možnosti slovníkuVýchozí stavVlastní vstupyJinéMód pinyinuMód výběruUživatelské rozhraníUživatelský slovníkInteligentní pinyin %sCopyright (c) 2011-2024 Peng WuABCO programuAkcelerátorAktivníUměníAutomaticky zadávatBopomofo (debug)Vstupní metoda Bopomofo (debug)Mód BopomofoČínštinaČínština:VymazatVymazat všechna dataZadávat první návrhZadávat původní textKulturaPopisSlovníkDvojitý pinyinEkonomieUpravitAktivovat pomocné výběrové klávesy F1 .. F10Aktivovat pomocné výběrové klávesy čísla na klávesniciAktivovat Průvodce kláves pro kandidáty výběruAktivovat nejasné slabikyAngličtinaEtenExportovatChování klávesy Enter:PlnáPlná šířka písmaPlná šířka interpunkcePlný pinyinPlná/poloviční šířka písmaPlná/poloviční šířka interpunkceNejasné slabikyObecnéGeologieGinYiehPolovičníPoloviční šířka písmaPoloviční šířka interpunkcePoloviční/plná šířka:NápovědaDějinyVodorovněIBMImportovatNekopletní BopomofoNekopletní pinyinInteligentní pinyin (debug)Inteligentní vstupní metoda pinyin (debug)Inteligentní vstupní metoda pinyin pro IBusKlávesa:Mapování klávesnice:Jazyk:Vstupní metoda libpinyinŽivotMSPYModifikátory:PřírodaPočet návrhů:Orientace návrhů:PYJJMód pinyinuVyberte prosím souborStiskněte prosím klávesu (či kombinaci kláves).Uložte prosím souborPoužijte "hpsnz" pro vstup.PředvolbyInterpunkce:Pamatovat si každý vstup jako výraz.Vybrat klávesu přepínáníVýběrové klávesy:Editor zkratekZkratka:ZkratkyZobrazit nezpracovaný vstup dvojitého pinyinuZjednodušenáZjednodušená čínštinaSpolečnostSportStandardPřepnout čínštinu/angličtinuPřepnout tradiční/zjednodušenou čínštinuPřepnout do čínského móduPřepnout do anglického móduPřepnout do módu plné šířky písmaPřepnout do módu plné šířky interpunkcePřepnout do módu poloviční šířky písmaPřepnout do módu poloviční šířky interpunkcePřepnout do módu zjednodušené čínštinyPřepnout do módu tradiční čínštinyTradičníTradiční čínštinaUživatelské slovníkUživatelské skripty LuaUživatelská dataSvisleXHEZGPYZRM[,] [.] obrátit stránku[-] [=] obrátit stránku[Shift] vybrat návrh_Zrušit_Výchozí_Upravit_OKhttps://github.com/libpinyin/ibus-libpinyin中英ibus-libpinyin-1.16.1/po/de.gmo0000644000175000017500000003013214740100671011727 L  0B\r/H]q q <F]'o.=lp v  . 6DL T `k z(&.$(7`v   2I_nv~   %9K^'y(   $ 2@ EPW\r  )Zl  ! %Fe t ~  $*Of }% % ", O Z'e'$5 HTh~  +!MQU0G]oy      !(! !!!)!".""" # ## !#,#2#C#a# p# {######### $ $ #$0$2@$ s$ ~$ $.$B$%,%L%d%%%%%%%%%%% &#+&"O&&r& & &&&& &&&&''' -' 8'C'G'f''''''(',( C(O(a(s( |((( (((((((()) ') 5)B)#Z)6~)z)0*(K*-t* *** **+$+"8+[+ m+ y+&+ ++ ++ +, ,,(,2E,!x,,-,1,--1H--z--- - -,-,."J."m.*.R. //5/O/c/w/ //////// /0 0"0+&0R0V0 %[Mt$?}4J1;2i/=8]B-@fPxXaS:r+LW0 s_GepukhANl,D"m `>cz<YKQq'nw|\d3Ey6IF g(b 9).jR T!5o~v#*CZ^U{7&VHO [ ] flip pageBopomofo modeCandidatesCloud Input OptionCorrect pinyinCustomize IMEDictionary File Format: Each line contains one of the following: "phrase pinyin" or "phrase pinyin frequency" like "你好 ni'hao" or "你好 ni'hao 5".Dictionary optionInitial stateInput CustomInput ModesKeyboardOtherPinyin modeSelection modeTable File Format: Each line contains the following: "table_code phrase frequency" like "a 啊 100".UIUser DictionaryUser TableIntelligent Pinyin %s Authors: Peng Wu Peng Huang BYVoid Main Contributors: Weixuan XIAO, Linyu XU Contributors: koterpilla, Zerng07, Hillwood Yang Copyright (c) 2011-2024 Peng WuABCAboutAcceleratorActiveArtAuto commitBaiduBopomofo (debug)Bopomofo input method (debug)Bopomofo modeChineseChinese:ClearClear All DataCommit first candidateCommit original textCompactCompatibilityCultureDefaultDescriptionDictionaryDisplay Style:Double pinyinDynamically adjust the candidates order.EconomyEditEmoji CandidateEnable Auxiliary Select Keys F1 .. F10Enable Auxiliary Select Keys Numbers on KeypadEnable Cloud InputEnable Guidekey for Candidates SelectionEnable fuzzy syllableEnable pinyin correctionEnglishEnglish CandidateEnglish ModeEtenExportFeature of Enter key:FrequencyFullFull Width LetterFull Width PunctFull pinyinFull/Half Width Both SwitchFull/Half Width LetterFull/Half Width PunctFuzzy syllableGeneralGeologyGinYiehGoogleGoogle CNHalfHalf Width LetterHalf Width PunctHalf/full width:HelpHistoryHorizontalIBMIBus LibBopomofo PreferencesIBus LibPinyin SetupImportIncomplete BopomofoIncomplete pinyinIntelligent PinyinIntelligent Pinyin (debug)Intelligent Pinyin input method (debug)Intelligent Pinyin input method for IBusKey code:Keyboard Layout:Keyboard Mapping:Language:LegacyLibpinyin input methodLifeLua ConverterLua ExtensionMSPYModifiers:NatureNoneNumber of candidates:Orientation of candidates:PYJJPeoplePinyin LengthPinyin modePlease choose a filePlease input the English word.Please press a key (or a key combination)Please press a key (or a key combination). The dialog will close when the key is released.Please save a filePlease use "hspnz" to input.Please use table code to input.PreferencesPunctuations:Remember every input as a phrase.ScienceSelect Switching KeySelection Keys:Set ibus-libbopomofo PreferencesSet ibus-libpinyin PreferencesShorcut EditorShortcut:ShortcutsShow raw input of Double PinyinSimplifiedSimplified ChineseSocietySort candidates by:Source From:SportStandardSuggestion CandidateSwitch Chinese/EnglishSwitch Traditional/Simplfied ChineseSwitch to Chinese ModeSwitch to English ModeSwitch to Full Width Letter ModeSwitch to Full Width Punctuation ModeSwitch to Half Width Letter ModeSwitch to Half Width Punctuation ModeSwitch to Simplfied Chinese ModeSwitch to Traditional Chinese ModeTable ModeTechnologyThe pinyin dictionary file is exported.The pinyin dictionary file is imported.The table file is exported.The table file is imported.This shortcut key is already in use.Tips: Changes may not take effect until ime restarts.TraditionalTraditional ChineseUse the Lua ConvertorUser DictionaryUser Lua ScriptUser TableUser dataVerticalXHEZGPYZRM[,] [.] flip page[-] [=] flip page[Shift] select candidate_Cancel_Default_Edit_OKhttps://github.com/libpinyin/ibus-libpinyin中英Project-Id-Version: ibus-libpinyin 1.11.93 Report-Msgid-Bugs-To: https://github.com/libpinyin/ibus-libpinyin/issues/new PO-Revision-Date: 2025-01-09 08:38+0000 Last-Translator: Mike FABIAN Language-Team: German Language: de MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 5.9.2 [ ] Seite wechselnBopomofo ModusKandidatenCloud Input OptionPinyin korrigierenIME individualisierenWörterbuch Dateiformat: Jede Zeile enthält ein dieser beiden Möglichkeiten: "Wort Pinyin" or "Wort Pinyin Frequenz" zum Beispiel "你好 ni'hao" or "你好 ni'hao 5".Wörterbuch OptionAnfangszustandEingabe benutzerdefiniertEingabemodesTastaturSonstigesPinyin ModusAuswahl ModusTabellen Dateiformat: Jede Zeile enthält sieht wie folgt aus: "Tabellencode Phrase Frequenz" wie zum Beispiel "a 啊 100".UIBenutzer WörterbuchBenutzer TabelleIntelligentes Pinyin %s Autoren: Peng Wu Peng Huang BYVoid Wesentliche Beiträge von: Weixuan XIAO, Linyu XU Beiträge von: koterpilla, Zerng07, Hillwood Yang Copyright (c) 2011-2024 Peng WuABCInfoBeschleunigerAktivitätenKunstAutocommitBaiduBopomofo (debug)Bopomofo inputmethode (debug)Bopomofo ModusChinesischChinesisch:LöschenAlle Daten löschenErsten Kandidaten committenOriginaltext committenKompaktKompatibilitätKulturStandardeinstellungBeschreibungWörterbuchAnzeigestil:Doppelte PinyinDynamisch die Reihenfolge der Kandidaten anpassen.WirtschaftEditierenEmojikandidatZusätzliche Auswahltasten F1…F10 aktivierenZiffern auf Ziffernblock als zusätzliche Auswahltasten aktivierenCloud Input aktivierenGuide-Taste zur Kandidatenauswahl aktivierenFuzzy Silben aktivierenPinyin Korrektur aktivierenEnglischEnglischer KandidatEnglischer ModusEtenExportVerhalten der Entertaste:FrequenzVollBuchstaben in voller BreiteZeichensetzung in voller BreiteVolle PinyinVolle/halbe Breite beide umschaltenBuchstaben in voller/halber BreiteZeichensetzung in voller/halber BreiteFuzzy SilbenAllgemeinGeologieGinYiehGoogleGoogle CNHalbBuchstaben in halber BreiteZeichensetzung in halber BreiteHalbe/volle Breite:HilfeGeschichteHorizontalIBMIBus LibBopomofo EinstellungenIBus LibPinyin EinstellungenImportUnvollständiges BopomofoUnvollständige PinyinIntelligentes PinyinIntelligentes Pinyin (debug)Intelligente Pinyin inputmethode (debug)Intelligente Pinyin Eingabemethode für IBusTastenkode:Tastaturbelegung:Tastaturbelegung:Sprache:AltverhaltenLibpinyin inputmethodeLebenLua-KonverterLua ErweiterungMSPYModifikatoren:NaturKeinerAnzahl der Kandidaten:Orientierung der Kandidaten:PYJJMenschenPinyin LängePinyin ModusBitte wähle eine DateiBitte das englische Wort eintippen.Bitte drücke eine Taste (oder eine Tastenkombination)Bitte drücke eine Taste (oder eine Tastenkombination). Der Dialog wird sich schließen sobald die Taste losgelassen wird.Bitte speichere eine DateiBitte „hspnz“ zum Eingeben benutzen.Bitte den Tabellencode zum Eingeben benutzen.EinstellungenZeichensetzung:Jede Eingabe als Wort merken.WissenschaftUmschalttaste auswählenAuswahltasten:ibus-libbopomofo Optionen einstellenibus-libpinyin Optionen einstellenAbkürzungseditorAbkürzung:AbkürzungenRoheingabe der doppelten Pinyin zeigenVereinfachtVereinfachtes ChinesischGesellschaftKandidaten sortieren nach:Quelle von:SportStandardVorschlagskandidatWechseln Chinesisch/Englischtraditionelles/vereinfachtes Chinesisch umschaltenAuf chinesischen Modus umschaltenAuf englischen Modus umschaltenWechseln zu „Buchstaben in voller Breite“Wechseln zu „Zeichensetzung in voller Breite“Wechseln zu „Buchstaben in halber Breite“Wechseln zu „Zeichensetzung in halber Breite“Wechseln zum vereinfachten chinesischen ModusWechsel zum traditionellen chinesischen ModusTabellenmodusTechnologieDie Pinyin-Wörterbuchdatei wird exportiert.Die Pinyin-Wörterbuchdatei wird importiert.Die Tabellendatei wird exportiert.Die Tabellendatei wird importiert.Diese Abkürzungstaste wird schon benutzt.Tips: Änderungen werden vielleicht nicht wirksam bis die Inputmethode neustartet.TraditionellTraditionelles ChinesischBenutze den Lua-KonverterBenutzerwörterbuchBenutzer Lua SkriptBenutzertabelleBenutzerdatenVertikalXHEZGPYZRM[,] [.] Seite wechseln[-] [=] Seite wechseln[Shift] Kandidaten auswählen_AbbrechenStandar_deinstellung_Editieren_OKhttps://github.com/libpinyin/ibus-libpinyin中英ibus-libpinyin-1.16.1/po/ibus-libpinyin.pot0000644000175000017500000003723114737373731014342 # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Peng Huang # This file is distributed under the same license as the ibus-libpinyin package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: ibus-libpinyin 1.15.94\n" "Report-Msgid-Bugs-To: https://github.com/libpinyin/ibus-libpinyin/issues/" "new\n" "POT-Creation-Date: 2025-01-08 11:58+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/PYPConfig.cc:695 msgid "The table file is imported." msgstr "" #: src/PYPConfig.cc:702 msgid "The table file is exported." msgstr "" #: src/PYPConfig.cc:714 msgid "The pinyin dictionary file is imported." msgstr "" #: src/PYPConfig.cc:721 msgid "The pinyin dictionary file is exported." msgstr "" #: src/PYMain.cc:117 msgid "Libpinyin input method" msgstr "" #: src/PYMain.cc:127 msgid "Intelligent Pinyin (debug)" msgstr "" #: src/PYMain.cc:128 msgid "Intelligent Pinyin input method (debug)" msgstr "" #: src/PYMain.cc:138 msgid "Bopomofo (debug)" msgstr "" #: src/PYMain.cc:139 msgid "Bopomofo input method (debug)" msgstr "" #: src/PYPinyinProperties.cc:40 src/PYPinyinProperties.cc:128 #: setup/ibus-libpinyin-preferences.ui:111 #: setup/ibus-libpinyin-preferences.ui:298 msgid "Chinese" msgstr "" #: src/PYPinyinProperties.cc:41 src/PYPinyinProperties.cc:129 #: setup/ibus-libpinyin-preferences.ui:107 #: setup/ibus-libpinyin-preferences.ui:313 msgid "English" msgstr "" #: src/PYPinyinProperties.cc:46 src/PYPinyinProperties.cc:140 msgid "Switch to English Mode" msgstr "" #: src/PYPinyinProperties.cc:47 src/PYPinyinProperties.cc:141 msgid "Switch to Chinese Mode" msgstr "" #: src/PYPinyinProperties.cc:51 src/PYPinyinProperties.cc:153 msgid "Full Width Letter" msgstr "" #: src/PYPinyinProperties.cc:52 src/PYPinyinProperties.cc:154 msgid "Half Width Letter" msgstr "" #: src/PYPinyinProperties.cc:57 src/PYPinyinProperties.cc:159 msgid "Switch to Half Width Letter Mode" msgstr "" #: src/PYPinyinProperties.cc:58 src/PYPinyinProperties.cc:160 msgid "Switch to Full Width Letter Mode" msgstr "" #: src/PYPinyinProperties.cc:62 src/PYPinyinProperties.cc:169 msgid "Full Width Punct" msgstr "" #: src/PYPinyinProperties.cc:63 src/PYPinyinProperties.cc:170 msgid "Half Width Punct" msgstr "" #: src/PYPinyinProperties.cc:68 src/PYPinyinProperties.cc:175 msgid "Switch to Half Width Punctuation Mode" msgstr "" #: src/PYPinyinProperties.cc:69 src/PYPinyinProperties.cc:176 msgid "Switch to Full Width Punctuation Mode" msgstr "" #: src/PYPinyinProperties.cc:73 src/PYPinyinProperties.cc:185 msgid "Simplified Chinese" msgstr "" #: src/PYPinyinProperties.cc:74 src/PYPinyinProperties.cc:186 msgid "Traditional Chinese" msgstr "" #: src/PYPinyinProperties.cc:79 src/PYPinyinProperties.cc:191 msgid "Switch to Traditional Chinese Mode" msgstr "" #: src/PYPinyinProperties.cc:80 src/PYPinyinProperties.cc:192 msgid "Switch to Simplfied Chinese Mode" msgstr "" #: src/PYPinyinProperties.cc:83 src/PYPinyinProperties.cc:85 #: setup/ibus-libpinyin-preferences.ui:185 msgid "Preferences" msgstr "" #: src/PYPinyinProperties.cc:88 src/PYPinyinProperties.cc:132 msgid "中" msgstr "" #: src/PYPinyinProperties.cc:90 src/PYPinyinProperties.cc:134 msgid "英" msgstr "" #: src/PYPinyinProperties.cc:270 msgid "Lua Converter" msgstr "" #: src/PYPinyinProperties.cc:272 msgid "Use the Lua Convertor" msgstr "" #: src/PYPinyinProperties.cc:279 msgid "None" msgstr "" #: src/PYEnglishEditor.cc:307 msgid "Please input the English word." msgstr "" #: src/PYTableEditor.cc:306 msgid "Please use \"hspnz\" to input." msgstr "" #: src/PYTableEditor.cc:309 msgid "Please use table code to input." msgstr "" #: setup/main2.py:493 msgid "Please choose a file" msgstr "" #: setup/main2.py:514 msgid "Please save a file" msgstr "" #: setup/main2.py:662 setup/ibus-libpinyin-preferences.ui:2850 #, python-format msgid "Intelligent Pinyin %s" msgstr "" #: setup/config.py:30 msgid "Intelligent Pinyin" msgstr "" #: setup/dicttreeview.py:52 msgid "Art" msgstr "" #: setup/dicttreeview.py:53 msgid "Culture" msgstr "" #: setup/dicttreeview.py:54 msgid "Economy" msgstr "" #: setup/dicttreeview.py:55 msgid "Geology" msgstr "" #: setup/dicttreeview.py:56 msgid "History" msgstr "" #: setup/dicttreeview.py:57 msgid "Life" msgstr "" #: setup/dicttreeview.py:58 msgid "Nature" msgstr "" #: setup/dicttreeview.py:59 msgid "People" msgstr "" #: setup/dicttreeview.py:60 msgid "Science" msgstr "" #: setup/dicttreeview.py:61 msgid "Society" msgstr "" #: setup/dicttreeview.py:62 msgid "Sport" msgstr "" #: setup/dicttreeview.py:63 msgid "Technology" msgstr "" #: setup/dicttreeview.py:110 msgid "Active" msgstr "" #: setup/dicttreeview.py:115 setup/shortcuteditor.py:83 msgid "Description" msgstr "" #: setup/keyboardshortcut.py:54 msgid "Shortcut:" msgstr "" #: setup/keyboardshortcut.py:67 msgid "Key code:" msgstr "" #: setup/keyboardshortcut.py:82 msgid "Modifiers:" msgstr "" #: setup/keyboardshortcut.py:171 msgid "" "Please press a key (or a key combination).\n" "The dialog will close when the key is released." msgstr "" #: setup/keyboardshortcut.py:174 msgid "Please press a key (or a key combination)" msgstr "" #: setup/keyboardshortcut.py:186 msgid "Shorcut Editor" msgstr "" #: setup/keyboardshortcut.py:239 setup/shortcuteditor.py:196 #: setup/shortcuteditor.py:233 msgid "_Cancel" msgstr "" #: setup/keyboardshortcut.py:240 setup/shortcuteditor.py:197 #: setup/shortcuteditor.py:234 msgid "_OK" msgstr "" #: setup/shortcuteditor.py:46 msgid "Switch Chinese/English" msgstr "" #: setup/shortcuteditor.py:47 msgid "Full/Half Width Letter" msgstr "" #: setup/shortcuteditor.py:48 msgid "Full/Half Width Punct" msgstr "" #: setup/shortcuteditor.py:49 msgid "Full/Half Width Both Switch" msgstr "" #: setup/shortcuteditor.py:50 msgid "Switch Traditional/Simplfied Chinese" msgstr "" #: setup/shortcuteditor.py:88 msgid "Accelerator" msgstr "" #: setup/shortcuteditor.py:106 msgid "This shortcut key is already in use." msgstr "" #. set default button #: setup/shortcuteditor.py:164 msgid "_Default" msgstr "" #. edit button #: setup/shortcuteditor.py:169 msgid "_Edit" msgstr "" #: setup/shortcuteditor.py:195 msgid "Select Switching Key" msgstr "" #: setup/ibus-libpinyin-preferences.ui:20 msgid "Standard" msgstr "" #: setup/ibus-libpinyin-preferences.ui:23 msgid "GinYieh" msgstr "" #: setup/ibus-libpinyin-preferences.ui:26 msgid "Eten" msgstr "" #: setup/ibus-libpinyin-preferences.ui:29 msgid "IBM" msgstr "" #: setup/ibus-libpinyin-preferences.ui:40 msgid "Baidu" msgstr "" #: setup/ibus-libpinyin-preferences.ui:43 msgid "Google" msgstr "" #: setup/ibus-libpinyin-preferences.ui:46 msgid "Google CN" msgstr "" #: setup/ibus-libpinyin-preferences.ui:57 #: setup/ibus-libpinyin-preferences.ui:103 msgid "Default" msgstr "" #: setup/ibus-libpinyin-preferences.ui:60 msgid "Compact" msgstr "" #: setup/ibus-libpinyin-preferences.ui:63 msgid "Compatibility" msgstr "" #: setup/ibus-libpinyin-preferences.ui:74 msgid "MSPY" msgstr "" #: setup/ibus-libpinyin-preferences.ui:77 msgid "ZRM" msgstr "" #: setup/ibus-libpinyin-preferences.ui:80 msgid "ABC" msgstr "" #: setup/ibus-libpinyin-preferences.ui:83 msgid "ZGPY" msgstr "" #: setup/ibus-libpinyin-preferences.ui:86 msgid "PYJJ" msgstr "" #: setup/ibus-libpinyin-preferences.ui:89 msgid "XHE" msgstr "" #: setup/ibus-libpinyin-preferences.ui:122 msgid "Horizontal" msgstr "" #: setup/ibus-libpinyin-preferences.ui:125 msgid "Vertical" msgstr "" #: setup/ibus-libpinyin-preferences.ui:171 msgid "Frequency" msgstr "" #: setup/ibus-libpinyin-preferences.ui:174 msgid "Pinyin Length" msgstr "" #: setup/ibus-libpinyin-preferences.ui:177 msgid "Legacy" msgstr "" #: setup/ibus-libpinyin-preferences.ui:268 msgid "Language:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:276 msgid "Half/full width:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:288 msgid "Punctuations:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:328 #: setup/ibus-libpinyin-preferences.ui:362 msgid "Full" msgstr "" #: setup/ibus-libpinyin-preferences.ui:345 #: setup/ibus-libpinyin-preferences.ui:379 msgid "Half" msgstr "" #: setup/ibus-libpinyin-preferences.ui:398 msgid "Chinese:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:408 msgid "Simplified" msgstr "" #: setup/ibus-libpinyin-preferences.ui:425 msgid "Traditional" msgstr "" #: setup/ibus-libpinyin-preferences.ui:448 msgid "Initial state" msgstr "" #: setup/ibus-libpinyin-preferences.ui:486 msgid "Display Style:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:532 msgid "Orientation of candidates:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:578 msgid "Number of candidates:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:617 msgid "UI" msgstr "" #: setup/ibus-libpinyin-preferences.ui:646 msgid "Dynamically adjust the candidates order." msgstr "" #: setup/ibus-libpinyin-preferences.ui:661 msgid "Remember every input as a phrase." msgstr "" #: setup/ibus-libpinyin-preferences.ui:684 msgid "Sort candidates by:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:727 msgid "Candidates" msgstr "" #: setup/ibus-libpinyin-preferences.ui:763 msgid "Keyboard Layout:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:819 #: setup/ibus-libpinyin-preferences.ui:2199 msgid "Tips: Changes may not take effect until ime restarts." msgstr "" #: setup/ibus-libpinyin-preferences.ui:842 msgid "Keyboard" msgstr "" #: setup/ibus-libpinyin-preferences.ui:861 msgid "General" msgstr "" #: setup/ibus-libpinyin-preferences.ui:901 msgid "Full pinyin" msgstr "" #: setup/ibus-libpinyin-preferences.ui:922 msgid "Double pinyin" msgstr "" #: setup/ibus-libpinyin-preferences.ui:965 msgid "Show raw input of Double Pinyin" msgstr "" #: setup/ibus-libpinyin-preferences.ui:980 msgid "Incomplete pinyin" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1002 msgid "Pinyin mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1044 msgid "[Shift] select candidate" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1054 msgid "[-] [=] flip page" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1069 msgid "[,] [.] flip page" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1084 msgid "Auto commit" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1098 msgid " [ ] flip page" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1126 msgid "Input Custom" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1274 msgid "Enable pinyin correction" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1310 msgid "Correct pinyin" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1340 #: setup/ibus-libpinyin-preferences.ui:1779 msgid "Enable Cloud Input" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1364 #: setup/ibus-libpinyin-preferences.ui:1803 msgid "Source From:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1409 #: setup/ibus-libpinyin-preferences.ui:1848 msgid "Cloud Input Option" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1431 msgid "Pinyin mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1470 msgid "Incomplete Bopomofo" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1493 msgid "Keyboard Mapping:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1536 msgid "Bopomofo mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1572 msgid "Selection Keys:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1609 msgid "Enable Guidekey for Candidates Selection" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1626 msgid "Enable Auxiliary Select Keys F1 .. F10" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1643 msgid "Enable Auxiliary Select Keys Numbers on Keypad" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1666 msgid "Selection mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1698 msgid "Feature of Enter key:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1709 msgid "Commit first candidate" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1727 msgid "Commit original text" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1749 msgid "Other" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1870 msgid "Bopomofo mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2032 msgid "Enable fuzzy syllable" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2133 msgid "Fuzzy syllable" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2222 msgid "Dictionary option" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2244 msgid "Dictionary" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2285 msgid "Lua Extension" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2299 msgid "Table Mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2313 msgid "English Mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2327 msgid "English Candidate" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2341 msgid "Emoji Candidate" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2355 msgid "Suggestion Candidate" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2375 msgid "Input Modes" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2406 msgid "User Lua Script" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2416 msgid "Edit" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2436 msgid "Customize IME" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2471 #: setup/ibus-libpinyin-preferences.ui:2655 msgid "Export" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2486 #: setup/ibus-libpinyin-preferences.ui:2670 msgid "Import" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2502 msgid "User Dictionary" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2527 msgid "Clear All Data" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2547 #: setup/ibus-libpinyin-preferences.ui:2700 msgid "Clear" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2575 msgid "" "Dictionary File Format:\n" " Each line contains one of the following:\n" " \"phrase pinyin\" or \"phrase pinyin frequency\"\n" " like \"你好 ni'hao\" or \"你好 ni'hao 5\"." msgstr "" #: setup/ibus-libpinyin-preferences.ui:2588 #: setup/ibus-libpinyin-preferences.ui:2738 msgid "Help" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2606 msgid "User Dictionary" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2642 msgid "User Table" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2728 msgid "" "Table File Format:\n" " Each line contains the following:\n" " \"table_code phrase frequency\" like \"a 啊 100\"." msgstr "" #: setup/ibus-libpinyin-preferences.ui:2756 msgid "User Table" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2778 msgid "User data" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2808 msgid "Shortcuts" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2864 msgid "Intelligent Pinyin input method for IBus" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2877 msgid "Copyright (c) 2011-2024 Peng Wu" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2890 msgid "https://github.com/libpinyin/ibus-libpinyin" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2907 msgid "" "\n" "Authors:\n" "Peng Wu\n" "Peng Huang\n" "BYVoid\n" "\n" "Main Contributors:\n" "Weixuan XIAO, Linyu XU\n" "\n" "Contributors:\n" "koterpilla, Zerng07, Hillwood Yang\n" "" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2947 msgid "About" msgstr "" #: data/ibus-setup-libpinyin.desktop.in:3 msgid "IBus LibPinyin Setup" msgstr "" #: data/ibus-setup-libpinyin.desktop.in:4 msgid "Set ibus-libpinyin Preferences" msgstr "" #: data/ibus-setup-libbopomofo.desktop.in:3 msgid "IBus LibBopomofo Preferences" msgstr "" #: data/ibus-setup-libbopomofo.desktop.in:4 msgid "Set ibus-libbopomofo Preferences" msgstr "" ibus-libpinyin-1.16.1/po/zh_TW.po0000644000175000017500000004655314737373731012263 # Hillwood Yang , 2020. msgid "" msgstr "" "Project-Id-Version: ibus-libpinyin 1.3.5\n" "Report-Msgid-Bugs-To: https://github.com/libpinyin/ibus-libpinyin/issues/" "new\n" "POT-Creation-Date: 2025-01-08 11:58+0800\n" "PO-Revision-Date: 2020-09-15 02:09+0000\n" "Last-Translator: Hillwood Yang \n" "Language-Team: Chinese (Traditional) \n" "Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 4.2.2\n" #: src/PYPConfig.cc:695 msgid "The table file is imported." msgstr "" #: src/PYPConfig.cc:702 msgid "The table file is exported." msgstr "" #: src/PYPConfig.cc:714 msgid "The pinyin dictionary file is imported." msgstr "" #: src/PYPConfig.cc:721 msgid "The pinyin dictionary file is exported." msgstr "" #: src/PYMain.cc:117 msgid "Libpinyin input method" msgstr "智能拼音輸入法" #: src/PYMain.cc:127 msgid "Intelligent Pinyin (debug)" msgstr "智能拼音(調試)" #: src/PYMain.cc:128 msgid "Intelligent Pinyin input method (debug)" msgstr "智能拼音輸入法(調試)" #: src/PYMain.cc:138 msgid "Bopomofo (debug)" msgstr "注音模式(調試)" #: src/PYMain.cc:139 msgid "Bopomofo input method (debug)" msgstr "注音輸入法(調試)" #: src/PYPinyinProperties.cc:40 src/PYPinyinProperties.cc:128 #: setup/ibus-libpinyin-preferences.ui:111 #: setup/ibus-libpinyin-preferences.ui:298 msgid "Chinese" msgstr "中文" #: src/PYPinyinProperties.cc:41 src/PYPinyinProperties.cc:129 #: setup/ibus-libpinyin-preferences.ui:107 #: setup/ibus-libpinyin-preferences.ui:313 msgid "English" msgstr "英文" #: src/PYPinyinProperties.cc:46 src/PYPinyinProperties.cc:140 msgid "Switch to English Mode" msgstr "切換至英文模式" #: src/PYPinyinProperties.cc:47 src/PYPinyinProperties.cc:141 msgid "Switch to Chinese Mode" msgstr "切換至中文模式" #: src/PYPinyinProperties.cc:51 src/PYPinyinProperties.cc:153 msgid "Full Width Letter" msgstr "全角字母" #: src/PYPinyinProperties.cc:52 src/PYPinyinProperties.cc:154 msgid "Half Width Letter" msgstr "半角字母" #: src/PYPinyinProperties.cc:57 src/PYPinyinProperties.cc:159 msgid "Switch to Half Width Letter Mode" msgstr "切換至半角字母模式" #: src/PYPinyinProperties.cc:58 src/PYPinyinProperties.cc:160 msgid "Switch to Full Width Letter Mode" msgstr "切換至全角字母模式" #: src/PYPinyinProperties.cc:62 src/PYPinyinProperties.cc:169 msgid "Full Width Punct" msgstr "全形符號" #: src/PYPinyinProperties.cc:63 src/PYPinyinProperties.cc:170 msgid "Half Width Punct" msgstr "半形符號" #: src/PYPinyinProperties.cc:68 src/PYPinyinProperties.cc:175 msgid "Switch to Half Width Punctuation Mode" msgstr "切換至半形符號模式" #: src/PYPinyinProperties.cc:69 src/PYPinyinProperties.cc:176 msgid "Switch to Full Width Punctuation Mode" msgstr "切換至全形符號模式" #: src/PYPinyinProperties.cc:73 src/PYPinyinProperties.cc:185 msgid "Simplified Chinese" msgstr "簡體中文" #: src/PYPinyinProperties.cc:74 src/PYPinyinProperties.cc:186 msgid "Traditional Chinese" msgstr "正體中文" #: src/PYPinyinProperties.cc:79 src/PYPinyinProperties.cc:191 msgid "Switch to Traditional Chinese Mode" msgstr "切換至正體中文模式" #: src/PYPinyinProperties.cc:80 src/PYPinyinProperties.cc:192 msgid "Switch to Simplfied Chinese Mode" msgstr "切換至簡體中文模式" #: src/PYPinyinProperties.cc:83 src/PYPinyinProperties.cc:85 #: setup/ibus-libpinyin-preferences.ui:185 msgid "Preferences" msgstr "偏好設定" #: src/PYPinyinProperties.cc:88 src/PYPinyinProperties.cc:132 msgid "中" msgstr "中" #: src/PYPinyinProperties.cc:90 src/PYPinyinProperties.cc:134 msgid "英" msgstr "英" #: src/PYPinyinProperties.cc:270 msgid "Lua Converter" msgstr "" #: src/PYPinyinProperties.cc:272 msgid "Use the Lua Convertor" msgstr "" #: src/PYPinyinProperties.cc:279 msgid "None" msgstr "" #: src/PYEnglishEditor.cc:307 msgid "Please input the English word." msgstr "請輸入英文單詞。" #: src/PYTableEditor.cc:306 msgid "Please use \"hspnz\" to input." msgstr "請用 \"hspnz\" 筆畫輸入中文字符。" #: src/PYTableEditor.cc:309 #, fuzzy msgid "Please use table code to input." msgstr "請用 \"hspnz\" 筆畫輸入中文字符。" #: setup/main2.py:493 msgid "Please choose a file" msgstr "請選定文件" #: setup/main2.py:514 msgid "Please save a file" msgstr "請保存文件" #: setup/main2.py:662 setup/ibus-libpinyin-preferences.ui:2850 #, python-format msgid "Intelligent Pinyin %s" msgstr "智能拼音 %s" #: setup/config.py:30 msgid "Intelligent Pinyin" msgstr "智能拼音(調試)" #: setup/dicttreeview.py:52 msgid "Art" msgstr "藝術" #: setup/dicttreeview.py:53 msgid "Culture" msgstr "文化" #: setup/dicttreeview.py:54 msgid "Economy" msgstr "經濟" #: setup/dicttreeview.py:55 msgid "Geology" msgstr "地理" #: setup/dicttreeview.py:56 msgid "History" msgstr "歷史" #: setup/dicttreeview.py:57 msgid "Life" msgstr "生活" #: setup/dicttreeview.py:58 msgid "Nature" msgstr "自然" #: setup/dicttreeview.py:59 msgid "People" msgstr "人物" #: setup/dicttreeview.py:60 msgid "Science" msgstr "科學" #: setup/dicttreeview.py:61 msgid "Society" msgstr "社會" #: setup/dicttreeview.py:62 msgid "Sport" msgstr "體育" #: setup/dicttreeview.py:63 msgid "Technology" msgstr "科技" #: setup/dicttreeview.py:110 msgid "Active" msgstr "激活" #: setup/dicttreeview.py:115 setup/shortcuteditor.py:83 msgid "Description" msgstr "描述" #: setup/keyboardshortcut.py:54 msgid "Shortcut:" msgstr "快捷鍵:" #: setup/keyboardshortcut.py:67 msgid "Key code:" msgstr "鍵:" #: setup/keyboardshortcut.py:82 msgid "Modifiers:" msgstr "修飾符:" #: setup/keyboardshortcut.py:171 msgid "" "Please press a key (or a key combination).\n" "The dialog will close when the key is released." msgstr "" "請按快捷鍵。\n" "此對話窗將自動關閉。" #: setup/keyboardshortcut.py:174 msgid "Please press a key (or a key combination)" msgstr "請按快捷鍵" #: setup/keyboardshortcut.py:186 msgid "Shorcut Editor" msgstr "快捷鍵編輯器" #: setup/keyboardshortcut.py:239 setup/shortcuteditor.py:196 #: setup/shortcuteditor.py:233 msgid "_Cancel" msgstr "取消(_C)" #: setup/keyboardshortcut.py:240 setup/shortcuteditor.py:197 #: setup/shortcuteditor.py:234 msgid "_OK" msgstr "好(_O)" #: setup/shortcuteditor.py:46 msgid "Switch Chinese/English" msgstr "切換中文/英文" #: setup/shortcuteditor.py:47 msgid "Full/Half Width Letter" msgstr "全形/半形字母" #: setup/shortcuteditor.py:48 msgid "Full/Half Width Punct" msgstr "半形符號" #: setup/shortcuteditor.py:49 msgid "Full/Half Width Both Switch" msgstr "全形/半形切換" #: setup/shortcuteditor.py:50 msgid "Switch Traditional/Simplfied Chinese" msgstr "簡體/正體中文" #: setup/shortcuteditor.py:88 msgid "Accelerator" msgstr "快捷鍵" #: setup/shortcuteditor.py:106 msgid "This shortcut key is already in use." msgstr "快捷鍵已被使用。" #. set default button #: setup/shortcuteditor.py:164 msgid "_Default" msgstr "默認值(_D)" #. edit button #: setup/shortcuteditor.py:169 msgid "_Edit" msgstr "編輯(_E)" #: setup/shortcuteditor.py:195 msgid "Select Switching Key" msgstr "選詞鍵" #: setup/ibus-libpinyin-preferences.ui:20 msgid "Standard" msgstr "標準" #: setup/ibus-libpinyin-preferences.ui:23 msgid "GinYieh" msgstr "精業" #: setup/ibus-libpinyin-preferences.ui:26 msgid "Eten" msgstr "倚天" #: setup/ibus-libpinyin-preferences.ui:29 msgid "IBM" msgstr "IBM" #: setup/ibus-libpinyin-preferences.ui:40 msgid "Baidu" msgstr "百度" #: setup/ibus-libpinyin-preferences.ui:43 msgid "Google" msgstr "谷歌" #: setup/ibus-libpinyin-preferences.ui:46 #, fuzzy msgid "Google CN" msgstr "谷歌" #: setup/ibus-libpinyin-preferences.ui:57 #: setup/ibus-libpinyin-preferences.ui:103 msgid "Default" msgstr "默認值" #: setup/ibus-libpinyin-preferences.ui:60 msgid "Compact" msgstr "壓縮" #: setup/ibus-libpinyin-preferences.ui:63 #, fuzzy msgid "Compatibility" msgstr "壓縮" #: setup/ibus-libpinyin-preferences.ui:74 msgid "MSPY" msgstr "微軟拼音" #: setup/ibus-libpinyin-preferences.ui:77 msgid "ZRM" msgstr "自然碼" #: setup/ibus-libpinyin-preferences.ui:80 msgid "ABC" msgstr "智能ABC" #: setup/ibus-libpinyin-preferences.ui:83 msgid "ZGPY" msgstr "紫光拼音" #: setup/ibus-libpinyin-preferences.ui:86 msgid "PYJJ" msgstr "拼音加加" #: setup/ibus-libpinyin-preferences.ui:89 msgid "XHE" msgstr "小鶴" #: setup/ibus-libpinyin-preferences.ui:122 msgid "Horizontal" msgstr "水平" #: setup/ibus-libpinyin-preferences.ui:125 msgid "Vertical" msgstr "豎直" #: setup/ibus-libpinyin-preferences.ui:171 msgid "Frequency" msgstr "詞頻" #: setup/ibus-libpinyin-preferences.ui:174 msgid "Pinyin Length" msgstr "拼音長度" #: setup/ibus-libpinyin-preferences.ui:177 msgid "Legacy" msgstr "" #: setup/ibus-libpinyin-preferences.ui:268 msgid "Language:" msgstr "語言:" #: setup/ibus-libpinyin-preferences.ui:276 msgid "Half/full width:" msgstr "全形/半形:" #: setup/ibus-libpinyin-preferences.ui:288 msgid "Punctuations:" msgstr "標點符號:" #: setup/ibus-libpinyin-preferences.ui:328 #: setup/ibus-libpinyin-preferences.ui:362 msgid "Full" msgstr "全形" #: setup/ibus-libpinyin-preferences.ui:345 #: setup/ibus-libpinyin-preferences.ui:379 msgid "Half" msgstr "半形" #: setup/ibus-libpinyin-preferences.ui:398 msgid "Chinese:" msgstr "中文:" #: setup/ibus-libpinyin-preferences.ui:408 msgid "Simplified" msgstr "簡體" #: setup/ibus-libpinyin-preferences.ui:425 msgid "Traditional" msgstr "繁體" #: setup/ibus-libpinyin-preferences.ui:448 msgid "Initial state" msgstr "初始狀態" #: setup/ibus-libpinyin-preferences.ui:486 msgid "Display Style:" msgstr "顯示風格:" #: setup/ibus-libpinyin-preferences.ui:532 msgid "Orientation of candidates:" msgstr "候選詞排列方向:" #: setup/ibus-libpinyin-preferences.ui:578 msgid "Number of candidates:" msgstr "每頁顯示候選詞條目數量:" #: setup/ibus-libpinyin-preferences.ui:617 msgid "UI" msgstr "外觀" #: setup/ibus-libpinyin-preferences.ui:646 msgid "Dynamically adjust the candidates order." msgstr "動態調整候詞序。" #: setup/ibus-libpinyin-preferences.ui:661 msgid "Remember every input as a phrase." msgstr "將每個輸入記錄為新詞。" #: setup/ibus-libpinyin-preferences.ui:684 msgid "Sort candidates by:" msgstr "候選詞排列順序:" #: setup/ibus-libpinyin-preferences.ui:727 msgid "Candidates" msgstr "候選詞" #: setup/ibus-libpinyin-preferences.ui:763 #, fuzzy msgid "Keyboard Layout:" msgstr "鍵盤映射:" #: setup/ibus-libpinyin-preferences.ui:819 #: setup/ibus-libpinyin-preferences.ui:2199 msgid "Tips: Changes may not take effect until ime restarts." msgstr "提示:變更可能需要重啓生效。" #: setup/ibus-libpinyin-preferences.ui:842 #, fuzzy msgid "Keyboard" msgstr "其他" #: setup/ibus-libpinyin-preferences.ui:861 msgid "General" msgstr "常規" #: setup/ibus-libpinyin-preferences.ui:901 msgid "Full pinyin" msgstr "全拼" #: setup/ibus-libpinyin-preferences.ui:922 msgid "Double pinyin" msgstr "雙拼" #: setup/ibus-libpinyin-preferences.ui:965 msgid "Show raw input of Double Pinyin" msgstr "顯示雙拼原始輸入" #: setup/ibus-libpinyin-preferences.ui:980 msgid "Incomplete pinyin" msgstr "簡拼" #: setup/ibus-libpinyin-preferences.ui:1002 msgid "Pinyin mode" msgstr "拼音模式" #: setup/ibus-libpinyin-preferences.ui:1044 msgid "[Shift] select candidate" msgstr "[Shift]鍵選詞" #: setup/ibus-libpinyin-preferences.ui:1054 msgid "[-] [=] flip page" msgstr "[-][=]鍵翻頁" #: setup/ibus-libpinyin-preferences.ui:1069 msgid "[,] [.] flip page" msgstr "[,][.]鍵翻頁" #: setup/ibus-libpinyin-preferences.ui:1084 msgid "Auto commit" msgstr "自動上詞" #: setup/ibus-libpinyin-preferences.ui:1098 #, fuzzy msgid " [ ] flip page" msgstr "[-][=]鍵翻頁" #: setup/ibus-libpinyin-preferences.ui:1126 msgid "Input Custom" msgstr "輸入配置" #: setup/ibus-libpinyin-preferences.ui:1274 msgid "Enable pinyin correction" msgstr "啓用拼音糾錯" #: setup/ibus-libpinyin-preferences.ui:1310 msgid "Correct pinyin" msgstr "拼音糾錯" #: setup/ibus-libpinyin-preferences.ui:1340 #: setup/ibus-libpinyin-preferences.ui:1779 msgid "Enable Cloud Input" msgstr "激活雲輸入" #: setup/ibus-libpinyin-preferences.ui:1364 #: setup/ibus-libpinyin-preferences.ui:1803 msgid "Source From:" msgstr "輸入源:" #: setup/ibus-libpinyin-preferences.ui:1409 #: setup/ibus-libpinyin-preferences.ui:1848 msgid "Cloud Input Option" msgstr "雲輸入選項" #: setup/ibus-libpinyin-preferences.ui:1431 msgid "Pinyin mode" msgstr "拼音模式" #: setup/ibus-libpinyin-preferences.ui:1470 msgid "Incomplete Bopomofo" msgstr "簡拼" #: setup/ibus-libpinyin-preferences.ui:1493 msgid "Keyboard Mapping:" msgstr "鍵盤映射:" #: setup/ibus-libpinyin-preferences.ui:1536 msgid "Bopomofo mode" msgstr "注音模式" #: setup/ibus-libpinyin-preferences.ui:1572 msgid "Selection Keys:" msgstr "選詞鍵:" #: setup/ibus-libpinyin-preferences.ui:1609 msgid "Enable Guidekey for Candidates Selection" msgstr "啓用選詞引導鍵" #: setup/ibus-libpinyin-preferences.ui:1626 msgid "Enable Auxiliary Select Keys F1 .. F10" msgstr "啓用輔助選詞鍵F1 .. F10" #: setup/ibus-libpinyin-preferences.ui:1643 msgid "Enable Auxiliary Select Keys Numbers on Keypad" msgstr "啓用數字鍵盤輔助選詞鍵" #: setup/ibus-libpinyin-preferences.ui:1666 msgid "Selection mode" msgstr "選詞模式" #: setup/ibus-libpinyin-preferences.ui:1698 msgid "Feature of Enter key:" msgstr "Enter 鍵功能:" #: setup/ibus-libpinyin-preferences.ui:1709 msgid "Commit first candidate" msgstr "輸出第一個候選詞" #: setup/ibus-libpinyin-preferences.ui:1727 msgid "Commit original text" msgstr "輸出原本的英文字" #: setup/ibus-libpinyin-preferences.ui:1749 msgid "Other" msgstr "其他" #: setup/ibus-libpinyin-preferences.ui:1870 msgid "Bopomofo mode" msgstr "注音模式" #: setup/ibus-libpinyin-preferences.ui:2032 msgid "Enable fuzzy syllable" msgstr "啓用模糊音" #: setup/ibus-libpinyin-preferences.ui:2133 msgid "Fuzzy syllable" msgstr "模糊音" #: setup/ibus-libpinyin-preferences.ui:2222 msgid "Dictionary option" msgstr "詞典選項" #: setup/ibus-libpinyin-preferences.ui:2244 msgid "Dictionary" msgstr "詞典" #: setup/ibus-libpinyin-preferences.ui:2285 msgid "Lua Extension" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2299 msgid "Table Mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2313 #, fuzzy msgid "English Mode" msgstr "英文" #: setup/ibus-libpinyin-preferences.ui:2327 #, fuzzy msgid "English Candidate" msgstr "英文" #: setup/ibus-libpinyin-preferences.ui:2341 #, fuzzy msgid "Emoji Candidate" msgstr "每頁顯示候選詞條目數量:" #: setup/ibus-libpinyin-preferences.ui:2355 #, fuzzy msgid "Suggestion Candidate" msgstr "候選詞排列方向:" #: setup/ibus-libpinyin-preferences.ui:2375 #, fuzzy msgid "Input Modes" msgstr "輸入配置" #: setup/ibus-libpinyin-preferences.ui:2406 msgid "User Lua Script" msgstr "用戶 Lua 腳本" #: setup/ibus-libpinyin-preferences.ui:2416 msgid "Edit" msgstr "編輯" #: setup/ibus-libpinyin-preferences.ui:2436 msgid "Customize IME" msgstr "定製輸入法" #: setup/ibus-libpinyin-preferences.ui:2471 #: setup/ibus-libpinyin-preferences.ui:2655 msgid "Export" msgstr "導出" #: setup/ibus-libpinyin-preferences.ui:2486 #: setup/ibus-libpinyin-preferences.ui:2670 msgid "Import" msgstr "導入" #: setup/ibus-libpinyin-preferences.ui:2502 msgid "User Dictionary" msgstr "用戶詞典" #: setup/ibus-libpinyin-preferences.ui:2527 msgid "Clear All Data" msgstr "清除全部數據" #: setup/ibus-libpinyin-preferences.ui:2547 #: setup/ibus-libpinyin-preferences.ui:2700 msgid "Clear" msgstr "清除" #: setup/ibus-libpinyin-preferences.ui:2575 msgid "" "Dictionary File Format:\n" " Each line contains one of the following:\n" " \"phrase pinyin\" or \"phrase pinyin frequency\"\n" " like \"你好 ni'hao\" or \"你好 ni'hao 5\"." msgstr "" "詞典文件格式:\n" " 每一行包含以下兩者之一:\n" " \"短語 拼音\" 或 \"短語 拼音 頻率\"\n" " 例如 \"你好 ni'hao\" 或 \"你好 ni'hao 5\"。" #: setup/ibus-libpinyin-preferences.ui:2588 #: setup/ibus-libpinyin-preferences.ui:2738 msgid "Help" msgstr "幫助" #: setup/ibus-libpinyin-preferences.ui:2606 msgid "User Dictionary" msgstr "用戶詞典" #: setup/ibus-libpinyin-preferences.ui:2642 #, fuzzy msgid "User Table" msgstr "用戶數據" #: setup/ibus-libpinyin-preferences.ui:2728 #, fuzzy msgid "" "Table File Format:\n" " Each line contains the following:\n" " \"table_code phrase frequency\" like \"a 啊 100\"." msgstr "" "詞典文件格式:\n" " 每一行包含以下兩者之一:\n" " \"短語 拼音\" 或 \"短語 拼音 頻率\"\n" " 例如 \"你好 ni'hao\" 或 \"你好 ni'hao 5\"。" #: setup/ibus-libpinyin-preferences.ui:2756 #, fuzzy msgid "User Table" msgstr "用戶詞典" #: setup/ibus-libpinyin-preferences.ui:2778 msgid "User data" msgstr "用戶數據" #: setup/ibus-libpinyin-preferences.ui:2808 msgid "Shortcuts" msgstr "快捷鍵" #: setup/ibus-libpinyin-preferences.ui:2864 msgid "Intelligent Pinyin input method for IBus" msgstr "IBus 智能拼音輸入法" #: setup/ibus-libpinyin-preferences.ui:2877 msgid "Copyright (c) 2011-2024 Peng Wu" msgstr "版權所有 (c) 2011-2024 吳鵬" #: setup/ibus-libpinyin-preferences.ui:2890 msgid "https://github.com/libpinyin/ibus-libpinyin" msgstr "https://github.com/libpinyin/ibus-libpinyin" #: setup/ibus-libpinyin-preferences.ui:2907 msgid "" "\n" "Authors:\n" "Peng Wu\n" "Peng Huang\n" "BYVoid\n" "\n" "Main Contributors:\n" "Weixuan XIAO, Linyu XU\n" "\n" "Contributors:\n" "koterpilla, Zerng07, Hillwood Yang\n" "" msgstr "" "\n" "作者:\n" "Peng Wu\n" "Peng Huang\n" "BYVoid\n" "\n" "主要貢獻者:\n" "肖威軒,許林玉。\n" "\n" "貢獻者:\n" "koterpilla, Zerng07, Hillwood Yang\n" "" #: setup/ibus-libpinyin-preferences.ui:2947 msgid "About" msgstr "關於" #: data/ibus-setup-libpinyin.desktop.in:3 msgid "IBus LibPinyin Setup" msgstr "IBus 智能拼音配置工具" #: data/ibus-setup-libpinyin.desktop.in:4 msgid "Set ibus-libpinyin Preferences" msgstr "設定 IBus 智能拼音個人偏好" #: data/ibus-setup-libbopomofo.desktop.in:3 msgid "IBus LibBopomofo Preferences" msgstr "IBus 注音配置工具" #: data/ibus-setup-libbopomofo.desktop.in:4 msgid "Set ibus-libbopomofo Preferences" msgstr "設定 IBus 注音個人偏好" #~ msgid "Show suggestions." #~ msgstr "顯示建議。" #~ msgid "Show emoji." #~ msgstr "顯示表情符號。" #, fuzzy #~ msgid "Intelligent Bopomofo (debug)" #~ msgstr "注音(調試)" #, fuzzy #~ msgid "GB Dictionary" #~ msgstr "詞典" #, fuzzy #~ msgid "GBK Dictionary" #~ msgstr "詞典" #~ msgid "Edit custom phrases" #~ msgstr "編輯自定義詞組" #~ msgid "Use custom phrases" #~ msgstr "使用自定義詞組" #~ msgid "http://ibus.googlecode.com" #~ msgstr "http://ibus.googlecode.com" ibus-libpinyin-1.16.1/po/fr.po0000644000175000017500000005116614737373731011633 # French translations for PACKAGE package # Traductions françaises du paquet PACKAGE. # Copyright (C) 2012 THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Ma Jiehong , 2012. # Luc Bournaud , 2018. # Xiao Weixuan , 2020. # Julien Humbert , 2020, 2021. # grimst , 2023. # Damien Pou , 2024. msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: https://github.com/libpinyin/ibus-libpinyin/issues/" "new\n" "POT-Creation-Date: 2025-01-08 11:58+0800\n" "PO-Revision-Date: 2024-01-16 13:37+0000\n" "Last-Translator: Damien Pou \n" "Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 5.3.1\n" #: src/PYPConfig.cc:695 msgid "The table file is imported." msgstr "" #: src/PYPConfig.cc:702 msgid "The table file is exported." msgstr "" #: src/PYPConfig.cc:714 msgid "The pinyin dictionary file is imported." msgstr "" #: src/PYPConfig.cc:721 msgid "The pinyin dictionary file is exported." msgstr "" #: src/PYMain.cc:117 msgid "Libpinyin input method" msgstr "Méthode de saisie libpinyin" #: src/PYMain.cc:127 msgid "Intelligent Pinyin (debug)" msgstr "Pinyin intelligent (débogage)" #: src/PYMain.cc:128 msgid "Intelligent Pinyin input method (debug)" msgstr "Méthode de saisie Pinyin intelligente (débogage)" #: src/PYMain.cc:138 msgid "Bopomofo (debug)" msgstr "Bopomofo (débogage)" #: src/PYMain.cc:139 msgid "Bopomofo input method (debug)" msgstr "Méthode de saisie Bopomofo (débogage)" #: src/PYPinyinProperties.cc:40 src/PYPinyinProperties.cc:128 #: setup/ibus-libpinyin-preferences.ui:111 #: setup/ibus-libpinyin-preferences.ui:298 msgid "Chinese" msgstr "Chinois" #: src/PYPinyinProperties.cc:41 src/PYPinyinProperties.cc:129 #: setup/ibus-libpinyin-preferences.ui:107 #: setup/ibus-libpinyin-preferences.ui:313 msgid "English" msgstr "Anglais" #: src/PYPinyinProperties.cc:46 src/PYPinyinProperties.cc:140 msgid "Switch to English Mode" msgstr "Passer en mode Anglais" #: src/PYPinyinProperties.cc:47 src/PYPinyinProperties.cc:141 msgid "Switch to Chinese Mode" msgstr "Passer en mode Chinois" #: src/PYPinyinProperties.cc:51 src/PYPinyinProperties.cc:153 msgid "Full Width Letter" msgstr "Pleine chasse" #: src/PYPinyinProperties.cc:52 src/PYPinyinProperties.cc:154 msgid "Half Width Letter" msgstr "Demi-chasse" #: src/PYPinyinProperties.cc:57 src/PYPinyinProperties.cc:159 msgid "Switch to Half Width Letter Mode" msgstr "Passer en mode Demi-chasse" #: src/PYPinyinProperties.cc:58 src/PYPinyinProperties.cc:160 msgid "Switch to Full Width Letter Mode" msgstr "Passer en mode Pleine chasse" #: src/PYPinyinProperties.cc:62 src/PYPinyinProperties.cc:169 msgid "Full Width Punct" msgstr "Ponctuation pleine chasse" #: src/PYPinyinProperties.cc:63 src/PYPinyinProperties.cc:170 msgid "Half Width Punct" msgstr "Ponctuation demi-chasse" #: src/PYPinyinProperties.cc:68 src/PYPinyinProperties.cc:175 msgid "Switch to Half Width Punctuation Mode" msgstr "Passer en ponctuation demi-chasse" #: src/PYPinyinProperties.cc:69 src/PYPinyinProperties.cc:176 msgid "Switch to Full Width Punctuation Mode" msgstr "Passer en ponctuation pleine chasse" #: src/PYPinyinProperties.cc:73 src/PYPinyinProperties.cc:185 msgid "Simplified Chinese" msgstr "Chinois simplifié" #: src/PYPinyinProperties.cc:74 src/PYPinyinProperties.cc:186 msgid "Traditional Chinese" msgstr "Chinois traditionnel" #: src/PYPinyinProperties.cc:79 src/PYPinyinProperties.cc:191 msgid "Switch to Traditional Chinese Mode" msgstr "Passer en mode Chinois traditionnel" #: src/PYPinyinProperties.cc:80 src/PYPinyinProperties.cc:192 msgid "Switch to Simplfied Chinese Mode" msgstr "Passer en mode Chinois simplifié" #: src/PYPinyinProperties.cc:83 src/PYPinyinProperties.cc:85 #: setup/ibus-libpinyin-preferences.ui:185 msgid "Preferences" msgstr "Préférences" #: src/PYPinyinProperties.cc:88 src/PYPinyinProperties.cc:132 msgid "中" msgstr "中" #: src/PYPinyinProperties.cc:90 src/PYPinyinProperties.cc:134 msgid "英" msgstr "英" #: src/PYPinyinProperties.cc:270 msgid "Lua Converter" msgstr "" #: src/PYPinyinProperties.cc:272 msgid "Use the Lua Convertor" msgstr "" #: src/PYPinyinProperties.cc:279 msgid "None" msgstr "" #: src/PYEnglishEditor.cc:307 msgid "Please input the English word." msgstr "Veuillez saisir le mot anglais." #: src/PYTableEditor.cc:306 msgid "Please use \"hspnz\" to input." msgstr "Veuillez utiliser « hspnz » pour saisir." #: src/PYTableEditor.cc:309 msgid "Please use table code to input." msgstr "Veuillez utiliser le code de la table pour la saisie." #: setup/main2.py:493 msgid "Please choose a file" msgstr "Veuillez choisir un fichier" #: setup/main2.py:514 msgid "Please save a file" msgstr "Veuillez enregistrer le fichier" #: setup/main2.py:662 setup/ibus-libpinyin-preferences.ui:2850 #, python-format msgid "Intelligent Pinyin %s" msgstr "%s intelligent Pinyin" #: setup/config.py:30 msgid "Intelligent Pinyin" msgstr "Pinyin intelligent" #: setup/dicttreeview.py:52 msgid "Art" msgstr "Art" #: setup/dicttreeview.py:53 msgid "Culture" msgstr "Culture" #: setup/dicttreeview.py:54 msgid "Economy" msgstr "Économie" #: setup/dicttreeview.py:55 msgid "Geology" msgstr "Géologie" #: setup/dicttreeview.py:56 msgid "History" msgstr "Histoire" #: setup/dicttreeview.py:57 msgid "Life" msgstr "Vie" #: setup/dicttreeview.py:58 msgid "Nature" msgstr "Nature" #: setup/dicttreeview.py:59 msgid "People" msgstr "Peuple" #: setup/dicttreeview.py:60 msgid "Science" msgstr "Sciences" #: setup/dicttreeview.py:61 msgid "Society" msgstr "Société" #: setup/dicttreeview.py:62 msgid "Sport" msgstr "Sport" #: setup/dicttreeview.py:63 msgid "Technology" msgstr "Technologies" #: setup/dicttreeview.py:110 msgid "Active" msgstr "Active" #: setup/dicttreeview.py:115 setup/shortcuteditor.py:83 msgid "Description" msgstr "Description" #: setup/keyboardshortcut.py:54 msgid "Shortcut:" msgstr "Raccourcie :" #: setup/keyboardshortcut.py:67 msgid "Key code:" msgstr "Touche :" #: setup/keyboardshortcut.py:82 msgid "Modifiers:" msgstr "Modificateurs :" #: setup/keyboardshortcut.py:171 msgid "" "Please press a key (or a key combination).\n" "The dialog will close when the key is released." msgstr "" "Veuillez presser une touche (ou une combinaison de touches).\n" "La boîte de dialogue va se fermer quand la touche sera relachée." #: setup/keyboardshortcut.py:174 msgid "Please press a key (or a key combination)" msgstr "Pressez une touche (ou une combinaison de touches)" #: setup/keyboardshortcut.py:186 msgid "Shorcut Editor" msgstr "Éditeur de raccourcie" #: setup/keyboardshortcut.py:239 setup/shortcuteditor.py:196 #: setup/shortcuteditor.py:233 msgid "_Cancel" msgstr "_Annuler" #: setup/keyboardshortcut.py:240 setup/shortcuteditor.py:197 #: setup/shortcuteditor.py:234 msgid "_OK" msgstr "_OK" #: setup/shortcuteditor.py:46 msgid "Switch Chinese/English" msgstr "Inverser Chinois/Anglais" #: setup/shortcuteditor.py:47 msgid "Full/Half Width Letter" msgstr "Pleine/Demi-Chasse" #: setup/shortcuteditor.py:48 msgid "Full/Half Width Punct" msgstr "Pleine/Demi-chasse de la ponctuation" #: setup/shortcuteditor.py:49 msgid "Full/Half Width Both Switch" msgstr "Pleine/Demi-Chasse alternent tous les deux" #: setup/shortcuteditor.py:50 msgid "Switch Traditional/Simplfied Chinese" msgstr "Inverser Chinois simplifié/traditionnel" #: setup/shortcuteditor.py:88 msgid "Accelerator" msgstr "Raccourcie clavier" #: setup/shortcuteditor.py:106 msgid "This shortcut key is already in use." msgstr "Ce raccourci clavier est déjà utilisé." #. set default button #: setup/shortcuteditor.py:164 msgid "_Default" msgstr "Par _défaut" #. edit button #: setup/shortcuteditor.py:169 msgid "_Edit" msgstr "_Modifier" #: setup/shortcuteditor.py:195 msgid "Select Switching Key" msgstr "Sélectionner la touche de sélection" #: setup/ibus-libpinyin-preferences.ui:20 msgid "Standard" msgstr "Standard" #: setup/ibus-libpinyin-preferences.ui:23 msgid "GinYieh" msgstr "GinYieh" #: setup/ibus-libpinyin-preferences.ui:26 msgid "Eten" msgstr "Eten" #: setup/ibus-libpinyin-preferences.ui:29 msgid "IBM" msgstr "IBM" #: setup/ibus-libpinyin-preferences.ui:40 msgid "Baidu" msgstr "Baidu" #: setup/ibus-libpinyin-preferences.ui:43 msgid "Google" msgstr "Google" #: setup/ibus-libpinyin-preferences.ui:46 msgid "Google CN" msgstr "Google CN" #: setup/ibus-libpinyin-preferences.ui:57 #: setup/ibus-libpinyin-preferences.ui:103 msgid "Default" msgstr "Par défaut" #: setup/ibus-libpinyin-preferences.ui:60 msgid "Compact" msgstr "Compact" #: setup/ibus-libpinyin-preferences.ui:63 msgid "Compatibility" msgstr "Compatibilité" #: setup/ibus-libpinyin-preferences.ui:74 msgid "MSPY" msgstr "MSPY" #: setup/ibus-libpinyin-preferences.ui:77 msgid "ZRM" msgstr "ZRM" #: setup/ibus-libpinyin-preferences.ui:80 msgid "ABC" msgstr "ABC" #: setup/ibus-libpinyin-preferences.ui:83 msgid "ZGPY" msgstr "ZGPY" #: setup/ibus-libpinyin-preferences.ui:86 msgid "PYJJ" msgstr "PYJJ" #: setup/ibus-libpinyin-preferences.ui:89 msgid "XHE" msgstr "XHE" #: setup/ibus-libpinyin-preferences.ui:122 msgid "Horizontal" msgstr "Horizontal" #: setup/ibus-libpinyin-preferences.ui:125 msgid "Vertical" msgstr "Vertical" #: setup/ibus-libpinyin-preferences.ui:171 msgid "Frequency" msgstr "Fréquence" #: setup/ibus-libpinyin-preferences.ui:174 msgid "Pinyin Length" msgstr "Taille du pinyin" #: setup/ibus-libpinyin-preferences.ui:177 msgid "Legacy" msgstr "" #: setup/ibus-libpinyin-preferences.ui:268 msgid "Language:" msgstr "Langue :" #: setup/ibus-libpinyin-preferences.ui:276 msgid "Half/full width:" msgstr "Chasse :" #: setup/ibus-libpinyin-preferences.ui:288 msgid "Punctuations:" msgstr "Chasse de la ponctuation :" #: setup/ibus-libpinyin-preferences.ui:328 #: setup/ibus-libpinyin-preferences.ui:362 msgid "Full" msgstr "Pleine" #: setup/ibus-libpinyin-preferences.ui:345 #: setup/ibus-libpinyin-preferences.ui:379 msgid "Half" msgstr "Demi" #: setup/ibus-libpinyin-preferences.ui:398 msgid "Chinese:" msgstr "Chinois :" #: setup/ibus-libpinyin-preferences.ui:408 msgid "Simplified" msgstr "Simplifié" #: setup/ibus-libpinyin-preferences.ui:425 msgid "Traditional" msgstr "Traditionnel" #: setup/ibus-libpinyin-preferences.ui:448 msgid "Initial state" msgstr "État initial" #: setup/ibus-libpinyin-preferences.ui:486 msgid "Display Style:" msgstr "Style d'affichage :" #: setup/ibus-libpinyin-preferences.ui:532 msgid "Orientation of candidates:" msgstr "Orientation des candidats :" #: setup/ibus-libpinyin-preferences.ui:578 msgid "Number of candidates:" msgstr "Nombre de candidats :" #: setup/ibus-libpinyin-preferences.ui:617 msgid "UI" msgstr "UI" #: setup/ibus-libpinyin-preferences.ui:646 msgid "Dynamically adjust the candidates order." msgstr "Ajustement dynamique de l'ordre des candidats." #: setup/ibus-libpinyin-preferences.ui:661 msgid "Remember every input as a phrase." msgstr "Se souvenir de chaque entrée en tant que phrase." #: setup/ibus-libpinyin-preferences.ui:684 msgid "Sort candidates by:" msgstr "Trier les candidats par :" #: setup/ibus-libpinyin-preferences.ui:727 msgid "Candidates" msgstr "Candidats" #: setup/ibus-libpinyin-preferences.ui:763 #, fuzzy msgid "Keyboard Layout:" msgstr "Type de clavier :" #: setup/ibus-libpinyin-preferences.ui:819 #: setup/ibus-libpinyin-preferences.ui:2199 msgid "Tips: Changes may not take effect until ime restarts." msgstr "" "Note : ce changement peut ne prendre effet qu’après le redémarrage de l’IME." #: setup/ibus-libpinyin-preferences.ui:842 #, fuzzy msgid "Keyboard" msgstr "Autre" #: setup/ibus-libpinyin-preferences.ui:861 msgid "General" msgstr "Général" #: setup/ibus-libpinyin-preferences.ui:901 msgid "Full pinyin" msgstr "Pinyin complet" #: setup/ibus-libpinyin-preferences.ui:922 msgid "Double pinyin" msgstr "Pinyin double" #: setup/ibus-libpinyin-preferences.ui:965 msgid "Show raw input of Double Pinyin" msgstr "Montrer le pinyin non formaté du pinyin double" #: setup/ibus-libpinyin-preferences.ui:980 msgid "Incomplete pinyin" msgstr "Pinyin incomplet" #: setup/ibus-libpinyin-preferences.ui:1002 msgid "Pinyin mode" msgstr "Mode Pinyin" #: setup/ibus-libpinyin-preferences.ui:1044 msgid "[Shift] select candidate" msgstr "[Shift] sélectionne le candidat" #: setup/ibus-libpinyin-preferences.ui:1054 msgid "[-] [=] flip page" msgstr "[-] [=] change de page" #: setup/ibus-libpinyin-preferences.ui:1069 msgid "[,] [.] flip page" msgstr "[,] [.] change de page" #: setup/ibus-libpinyin-preferences.ui:1084 msgid "Auto commit" msgstr "Validation automatique" #: setup/ibus-libpinyin-preferences.ui:1098 #, fuzzy msgid " [ ] flip page" msgstr "[-] [=] change de page" #: setup/ibus-libpinyin-preferences.ui:1126 msgid "Input Custom" msgstr "Entrée personnalisée" #: setup/ibus-libpinyin-preferences.ui:1274 msgid "Enable pinyin correction" msgstr "Activer la correction automatique du pinyin" #: setup/ibus-libpinyin-preferences.ui:1310 msgid "Correct pinyin" msgstr "Correction pinyin" #: setup/ibus-libpinyin-preferences.ui:1340 #: setup/ibus-libpinyin-preferences.ui:1779 msgid "Enable Cloud Input" msgstr "Activer l’entrée Cloud" #: setup/ibus-libpinyin-preferences.ui:1364 #: setup/ibus-libpinyin-preferences.ui:1803 msgid "Source From:" msgstr "Source :" #: setup/ibus-libpinyin-preferences.ui:1409 #: setup/ibus-libpinyin-preferences.ui:1848 msgid "Cloud Input Option" msgstr "Options entrée Cloud" #: setup/ibus-libpinyin-preferences.ui:1431 msgid "Pinyin mode" msgstr "Mode Pinyin" #: setup/ibus-libpinyin-preferences.ui:1470 msgid "Incomplete Bopomofo" msgstr "Bopomofo incomplet" #: setup/ibus-libpinyin-preferences.ui:1493 msgid "Keyboard Mapping:" msgstr "Type de clavier :" #: setup/ibus-libpinyin-preferences.ui:1536 msgid "Bopomofo mode" msgstr "Mode Bopomofo" #: setup/ibus-libpinyin-preferences.ui:1572 msgid "Selection Keys:" msgstr "Touches de sélection :" #: setup/ibus-libpinyin-preferences.ui:1609 msgid "Enable Guidekey for Candidates Selection" msgstr "Activer le guide de sélection des candidats" #: setup/ibus-libpinyin-preferences.ui:1626 msgid "Enable Auxiliary Select Keys F1 .. F10" msgstr "Activer les touches auxiliaires (F1…F10)" #: setup/ibus-libpinyin-preferences.ui:1643 msgid "Enable Auxiliary Select Keys Numbers on Keypad" msgstr "Activer la sélection auxiliaire au pavé numérique" #: setup/ibus-libpinyin-preferences.ui:1666 msgid "Selection mode" msgstr "Mode de sélection" #: setup/ibus-libpinyin-preferences.ui:1698 msgid "Feature of Enter key:" msgstr "Action de la toucher Entrer :" #: setup/ibus-libpinyin-preferences.ui:1709 msgid "Commit first candidate" msgstr "Valider le premier candidat" #: setup/ibus-libpinyin-preferences.ui:1727 msgid "Commit original text" msgstr "Valider le texte brut" #: setup/ibus-libpinyin-preferences.ui:1749 msgid "Other" msgstr "Autre" #: setup/ibus-libpinyin-preferences.ui:1870 msgid "Bopomofo mode" msgstr "Mode Bopomofo" #: setup/ibus-libpinyin-preferences.ui:2032 msgid "Enable fuzzy syllable" msgstr "Activer les syllabes floues" #: setup/ibus-libpinyin-preferences.ui:2133 msgid "Fuzzy syllable" msgstr "Syllabes floues" #: setup/ibus-libpinyin-preferences.ui:2222 msgid "Dictionary option" msgstr "Dictionnaire" #: setup/ibus-libpinyin-preferences.ui:2244 msgid "Dictionary" msgstr "Dictionnaire" #: setup/ibus-libpinyin-preferences.ui:2285 msgid "Lua Extension" msgstr "Extension Lua" #: setup/ibus-libpinyin-preferences.ui:2299 msgid "Table Mode" msgstr "Mode table" #: setup/ibus-libpinyin-preferences.ui:2313 msgid "English Mode" msgstr "Mode en anglais" #: setup/ibus-libpinyin-preferences.ui:2327 msgid "English Candidate" msgstr "Candidat anglais" #: setup/ibus-libpinyin-preferences.ui:2341 msgid "Emoji Candidate" msgstr "Nombre de candidats" #: setup/ibus-libpinyin-preferences.ui:2355 msgid "Suggestion Candidate" msgstr "Orientation des candidats" #: setup/ibus-libpinyin-preferences.ui:2375 msgid "Input Modes" msgstr "Mode de saisie" #: setup/ibus-libpinyin-preferences.ui:2406 msgid "User Lua Script" msgstr "Script Lua utilisateur" #: setup/ibus-libpinyin-preferences.ui:2416 msgid "Edit" msgstr "Modifier" #: setup/ibus-libpinyin-preferences.ui:2436 msgid "Customize IME" msgstr "Personnaliser l'IME" #: setup/ibus-libpinyin-preferences.ui:2471 #: setup/ibus-libpinyin-preferences.ui:2655 msgid "Export" msgstr "Exporter" #: setup/ibus-libpinyin-preferences.ui:2486 #: setup/ibus-libpinyin-preferences.ui:2670 msgid "Import" msgstr "Importer" #: setup/ibus-libpinyin-preferences.ui:2502 msgid "User Dictionary" msgstr "Dictionnaire utilisateur" #: setup/ibus-libpinyin-preferences.ui:2527 msgid "Clear All Data" msgstr "Effacer toutes les données" #: setup/ibus-libpinyin-preferences.ui:2547 #: setup/ibus-libpinyin-preferences.ui:2700 msgid "Clear" msgstr "Effacer" #: setup/ibus-libpinyin-preferences.ui:2575 msgid "" "Dictionary File Format:\n" " Each line contains one of the following:\n" " \"phrase pinyin\" or \"phrase pinyin frequency\"\n" " like \"你好 ni'hao\" or \"你好 ni'hao 5\"." msgstr "" "Format de fichier dictionnaire :\n" " Chaque ligne contient l’un des éléments suivants :\n" " « phrase pinyin » ou « phrase pinyin  fréquence »\n" " tels que « 你好 ni’hao » ou « 你好 ni’hao 5 »." #: setup/ibus-libpinyin-preferences.ui:2588 #: setup/ibus-libpinyin-preferences.ui:2738 msgid "Help" msgstr "Aide" #: setup/ibus-libpinyin-preferences.ui:2606 msgid "User Dictionary" msgstr "Dictionnaire utilisateur" #: setup/ibus-libpinyin-preferences.ui:2642 msgid "User Table" msgstr "Table utilisateur" #: setup/ibus-libpinyin-preferences.ui:2728 msgid "" "Table File Format:\n" " Each line contains the following:\n" " \"table_code phrase frequency\" like \"a 啊 100\"." msgstr "" "Format du fichier de la table :\n" " Chaque ligne contient ce qui suit :\n" " \"table_code phrase frequency\" comme \"a 啊 100\"." #: setup/ibus-libpinyin-preferences.ui:2756 msgid "User Table" msgstr "Table utilisateur" #: setup/ibus-libpinyin-preferences.ui:2778 msgid "User data" msgstr "Donnés utilisateur" #: setup/ibus-libpinyin-preferences.ui:2808 msgid "Shortcuts" msgstr "Raccourcis" #: setup/ibus-libpinyin-preferences.ui:2864 msgid "Intelligent Pinyin input method for IBus" msgstr "Méthode de saisie Pinyin intelligente pour IBus" #: setup/ibus-libpinyin-preferences.ui:2877 msgid "Copyright (c) 2011-2024 Peng Wu" msgstr "Copyright (c) 2011-2024 Peng Wu" #: setup/ibus-libpinyin-preferences.ui:2890 msgid "https://github.com/libpinyin/ibus-libpinyin" msgstr "https://github.com/libpinyin/ibus-libpinyin" #: setup/ibus-libpinyin-preferences.ui:2907 msgid "" "\n" "Authors:\n" "Peng Wu\n" "Peng Huang\n" "BYVoid\n" "\n" "Main Contributors:\n" "Weixuan XIAO, Linyu XU\n" "\n" "Contributors:\n" "koterpilla, Zerng07, Hillwood Yang\n" "" msgstr "" "\n" "Auteurs :\n" "Peng Wu\n" "Peng Huang\n" "BYVoid\n" "\n" "Contributeurs principaux :\n" "Weixuan XIAO, Linyu XU\n" "\n" "Contributeurs :\n" "koterpilla, Zerng07, Hillwood Yang\n" "" #: setup/ibus-libpinyin-preferences.ui:2947 msgid "About" msgstr "À propos" #: data/ibus-setup-libpinyin.desktop.in:3 msgid "IBus LibPinyin Setup" msgstr "Paramètres de IBus LibPinyin" #: data/ibus-setup-libpinyin.desktop.in:4 msgid "Set ibus-libpinyin Preferences" msgstr "Configurer les préférences d’ibus-libpinyin" #: data/ibus-setup-libbopomofo.desktop.in:3 msgid "IBus LibBopomofo Preferences" msgstr "Préférences de IBus LibBopomofo" #: data/ibus-setup-libbopomofo.desktop.in:4 msgid "Set ibus-libbopomofo Preferences" msgstr "Configurer les préférences d’ibus-libbopomofo" #~ msgid "Show suggestions." #~ msgstr "Afficher les suggestions." #~ msgid "Show emoji." #~ msgstr "Afficher emoji." #, fuzzy #~ msgid "Intelligent Bopomofo (debug)" #~ msgstr "Bopomofo (débug)" #, fuzzy #~ msgid "GB Dictionary" #~ msgstr "Dictionnaire" #, fuzzy #~ msgid "GBK Dictionary" #~ msgstr "Dictionnaire" #~ msgid "Use custom phrases" #~ msgstr "Utiliser des phrases personnalisées" #~ msgid "Edit custom phrases" #~ msgstr "Éditer les phrases perso…" #~ msgid "http://ibus.googlecode.com" #~ msgstr "http://ibus.googlecode.com" ibus-libpinyin-1.16.1/po/ru.gmo0000644000175000017500000000425014737373731012006 %pq    )D I W bnsw,{>(F [h / #C Hi~^^I^    Initial stateABCAboutAuto commitChineseChinese:Double pinyinEnglishFullFull pinyinGeneralHalfHalf/full width:Incomplete pinyinLanguage:MSPYNumber of candidates:Orientation of candidates:PYJJPunctuations:SimplifiedTraditionalZGPYZRM[,] [.] flip page[-] [=] flip page[Shift] select candidateProject-Id-Version: PACKAGE VERSION Report-Msgid-Bugs-To: https://github.com/libpinyin/ibus-libpinyin/issues/new PO-Revision-Date: 2009-10-14 09:44+0300 Last-Translator: Alexey Kotlyarov Language-Team: Russian Language: ru MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); Начальное состояниеABCО программеАвтоматически подтверждать фразуКитайскийИероглифы:Двойной пиньиньАнглийскийПолнаяПолный пиньиньОбщиеПоловиннаяПолная/половинная ширина:Неполный пиньиньЯзык:MSPYЧисло кандидатовЧисло кандидатовPYJJЗнаки препинания:УпрощенныеТрадиционныеZGPYZRMИспользовать клавиши [,] [.] для переключения страницИспользовать клавиши [-] [=] для переключения страницИспользовать [Shift] для выбора кандидатовibus-libpinyin-1.16.1/po/uk.po0000644000175000017500000005642714737714225011645 # Yuri Chornoivan , 2015, 2020, 2022, 2024, 2025. # Yuri Chornoivan , 2015. #zanata, 2020, 2022, 2024, 2025. msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: https://github.com/libpinyin/ibus-libpinyin/issues/" "new\n" "POT-Creation-Date: 2025-01-08 11:58+0800\n" "PO-Revision-Date: 2025-01-09 08:38+0000\n" "Last-Translator: Yuri Chornoivan \n" "Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 5.9.2\n" #: src/PYPConfig.cc:695 msgid "The table file is imported." msgstr "Файл таблиці імпортовано." #: src/PYPConfig.cc:702 msgid "The table file is exported." msgstr "Файл таблиці експортовано." #: src/PYPConfig.cc:714 msgid "The pinyin dictionary file is imported." msgstr "Файл словника піньїн імпортовано." #: src/PYPConfig.cc:721 msgid "The pinyin dictionary file is exported." msgstr "Файл словника піньїн експортовано." #: src/PYMain.cc:117 msgid "Libpinyin input method" msgstr "Спосід введення Libpinyin" #: src/PYMain.cc:127 msgid "Intelligent Pinyin (debug)" msgstr "Кмітливий піньїн (діагностика)" #: src/PYMain.cc:128 msgid "Intelligent Pinyin input method (debug)" msgstr "Кмітливий спосіб введення піньїн (діагностика)" #: src/PYMain.cc:138 msgid "Bopomofo (debug)" msgstr "Бопомофо (діагностика)" #: src/PYMain.cc:139 msgid "Bopomofo input method (debug)" msgstr "Спосіб введення бопомофо (діагностика)" #: src/PYPinyinProperties.cc:40 src/PYPinyinProperties.cc:128 #: setup/ibus-libpinyin-preferences.ui:111 #: setup/ibus-libpinyin-preferences.ui:298 msgid "Chinese" msgstr "Китайська" #: src/PYPinyinProperties.cc:41 src/PYPinyinProperties.cc:129 #: setup/ibus-libpinyin-preferences.ui:107 #: setup/ibus-libpinyin-preferences.ui:313 msgid "English" msgstr "Англійська" #: src/PYPinyinProperties.cc:46 src/PYPinyinProperties.cc:140 msgid "Switch to English Mode" msgstr "Перемкнутися на режим англійської" #: src/PYPinyinProperties.cc:47 src/PYPinyinProperties.cc:141 msgid "Switch to Chinese Mode" msgstr "Перемкнутися на режим китайської" #: src/PYPinyinProperties.cc:51 src/PYPinyinProperties.cc:153 msgid "Full Width Letter" msgstr "Повноширинна літера" #: src/PYPinyinProperties.cc:52 src/PYPinyinProperties.cc:154 msgid "Half Width Letter" msgstr "Півширинна літера" #: src/PYPinyinProperties.cc:57 src/PYPinyinProperties.cc:159 msgid "Switch to Half Width Letter Mode" msgstr "Перемкнутися на режим півширинних літер" #: src/PYPinyinProperties.cc:58 src/PYPinyinProperties.cc:160 msgid "Switch to Full Width Letter Mode" msgstr "Перемкнутися на режим повноширинних літер" #: src/PYPinyinProperties.cc:62 src/PYPinyinProperties.cc:169 msgid "Full Width Punct" msgstr "Повноширинна пунктуація" #: src/PYPinyinProperties.cc:63 src/PYPinyinProperties.cc:170 msgid "Half Width Punct" msgstr "Півширинна пунктуація" #: src/PYPinyinProperties.cc:68 src/PYPinyinProperties.cc:175 msgid "Switch to Half Width Punctuation Mode" msgstr "Перемкнутися на режим півширинної пунктуації" #: src/PYPinyinProperties.cc:69 src/PYPinyinProperties.cc:176 msgid "Switch to Full Width Punctuation Mode" msgstr "Перемкнутися на режим повноширинної пунктуації" #: src/PYPinyinProperties.cc:73 src/PYPinyinProperties.cc:185 msgid "Simplified Chinese" msgstr "Спрощена китайська" #: src/PYPinyinProperties.cc:74 src/PYPinyinProperties.cc:186 msgid "Traditional Chinese" msgstr "Традиційна китайська" #: src/PYPinyinProperties.cc:79 src/PYPinyinProperties.cc:191 msgid "Switch to Traditional Chinese Mode" msgstr "Перемкнутися на режим традиційної китайської" #: src/PYPinyinProperties.cc:80 src/PYPinyinProperties.cc:192 msgid "Switch to Simplfied Chinese Mode" msgstr "Перемкнутися на режим спрощеної китайської" #: src/PYPinyinProperties.cc:83 src/PYPinyinProperties.cc:85 #: setup/ibus-libpinyin-preferences.ui:185 msgid "Preferences" msgstr "Параметри" #: src/PYPinyinProperties.cc:88 src/PYPinyinProperties.cc:132 msgid "中" msgstr "中" #: src/PYPinyinProperties.cc:90 src/PYPinyinProperties.cc:134 msgid "英" msgstr "英" #: src/PYPinyinProperties.cc:270 msgid "Lua Converter" msgstr "Перетворювач Lua" #: src/PYPinyinProperties.cc:272 msgid "Use the Lua Convertor" msgstr "Використати перетворювач Lua" #: src/PYPinyinProperties.cc:279 msgid "None" msgstr "Немає" #: src/PYEnglishEditor.cc:307 msgid "Please input the English word." msgstr "Будь ласка, введіть слово англійською." #: src/PYTableEditor.cc:306 msgid "Please use \"hspnz\" to input." msgstr "Будь ласка, використовуйте «hspnz» для введення." #: src/PYTableEditor.cc:309 msgid "Please use table code to input." msgstr "Будь ласка, скористайтеся кодом таблиці для введення." #: setup/main2.py:493 msgid "Please choose a file" msgstr "Будь ласка, виберіть файл" #: setup/main2.py:514 msgid "Please save a file" msgstr "Будь ласка, збережіть файл" #: setup/main2.py:662 setup/ibus-libpinyin-preferences.ui:2850 #, python-format msgid "Intelligent Pinyin %s" msgstr "Кмітливий піньїн, %s" #: setup/config.py:30 msgid "Intelligent Pinyin" msgstr "Кмітливий піньїн" #: setup/dicttreeview.py:52 msgid "Art" msgstr "Мистецтво" #: setup/dicttreeview.py:53 msgid "Culture" msgstr "Культура" #: setup/dicttreeview.py:54 msgid "Economy" msgstr "Економіка" #: setup/dicttreeview.py:55 msgid "Geology" msgstr "Геологія" #: setup/dicttreeview.py:56 msgid "History" msgstr "Історія" #: setup/dicttreeview.py:57 msgid "Life" msgstr "Життя" #: setup/dicttreeview.py:58 msgid "Nature" msgstr "Природа" #: setup/dicttreeview.py:59 msgid "People" msgstr "Люди" #: setup/dicttreeview.py:60 msgid "Science" msgstr "Наука" #: setup/dicttreeview.py:61 msgid "Society" msgstr "Суспільство" #: setup/dicttreeview.py:62 msgid "Sport" msgstr "Спорт" #: setup/dicttreeview.py:63 msgid "Technology" msgstr "Технологія" #: setup/dicttreeview.py:110 msgid "Active" msgstr "Активний" #: setup/dicttreeview.py:115 setup/shortcuteditor.py:83 msgid "Description" msgstr "Опис" #: setup/keyboardshortcut.py:54 msgid "Shortcut:" msgstr "Скорочення:" #: setup/keyboardshortcut.py:67 msgid "Key code:" msgstr "Код клавіші:" #: setup/keyboardshortcut.py:82 msgid "Modifiers:" msgstr "Модифікатори:" #: setup/keyboardshortcut.py:171 msgid "" "Please press a key (or a key combination).\n" "The dialog will close when the key is released." msgstr "" "Будь ласка, натисніть клавішу (або комбінацію клавіш).\n" "Діалогове вікно буде закрито після відпускання клавіші." #: setup/keyboardshortcut.py:174 msgid "Please press a key (or a key combination)" msgstr "Будь ласка, натисніть клавішу (або комбінацію клавіш)" #: setup/keyboardshortcut.py:186 msgid "Shorcut Editor" msgstr "Редактор скорочень" #: setup/keyboardshortcut.py:239 setup/shortcuteditor.py:196 #: setup/shortcuteditor.py:233 msgid "_Cancel" msgstr "_Скасувати" #: setup/keyboardshortcut.py:240 setup/shortcuteditor.py:197 #: setup/shortcuteditor.py:234 msgid "_OK" msgstr "_Гаразд" #: setup/shortcuteditor.py:46 msgid "Switch Chinese/English" msgstr "Перемкнутися між китайською і англійською" #: setup/shortcuteditor.py:47 msgid "Full/Half Width Letter" msgstr "Повно-/Півширинна літера" #: setup/shortcuteditor.py:48 msgid "Full/Half Width Punct" msgstr "Повно-/Півширинна пунктуація" #: setup/shortcuteditor.py:49 msgid "Full/Half Width Both Switch" msgstr "Перемикач повно-/півширинна літера" #: setup/shortcuteditor.py:50 msgid "Switch Traditional/Simplfied Chinese" msgstr "Перемкнутися між традиційною і спрощеною китайською" #: setup/shortcuteditor.py:88 msgid "Accelerator" msgstr "Акселератор" #: setup/shortcuteditor.py:106 msgid "This shortcut key is already in use." msgstr "Це клавіатурне скорочення вже використано." #. set default button #: setup/shortcuteditor.py:164 msgid "_Default" msgstr "_Типовий" #. edit button #: setup/shortcuteditor.py:169 msgid "_Edit" msgstr "З_міни" #: setup/shortcuteditor.py:195 msgid "Select Switching Key" msgstr "Виберіть клавішу перемикання" #: setup/ibus-libpinyin-preferences.ui:20 msgid "Standard" msgstr "Стандартний" #: setup/ibus-libpinyin-preferences.ui:23 msgid "GinYieh" msgstr "GinYieh" #: setup/ibus-libpinyin-preferences.ui:26 msgid "Eten" msgstr "Eten" #: setup/ibus-libpinyin-preferences.ui:29 msgid "IBM" msgstr "IBM" #: setup/ibus-libpinyin-preferences.ui:40 msgid "Baidu" msgstr "Байду" #: setup/ibus-libpinyin-preferences.ui:43 msgid "Google" msgstr "Google" #: setup/ibus-libpinyin-preferences.ui:46 msgid "Google CN" msgstr "Google CN" #: setup/ibus-libpinyin-preferences.ui:57 #: setup/ibus-libpinyin-preferences.ui:103 msgid "Default" msgstr "Типовий" #: setup/ibus-libpinyin-preferences.ui:60 msgid "Compact" msgstr "Компактний" #: setup/ibus-libpinyin-preferences.ui:63 msgid "Compatibility" msgstr "Сумісність" #: setup/ibus-libpinyin-preferences.ui:74 msgid "MSPY" msgstr "MSPY" #: setup/ibus-libpinyin-preferences.ui:77 msgid "ZRM" msgstr "ZRM" #: setup/ibus-libpinyin-preferences.ui:80 msgid "ABC" msgstr "ABC" #: setup/ibus-libpinyin-preferences.ui:83 msgid "ZGPY" msgstr "ZGPY" #: setup/ibus-libpinyin-preferences.ui:86 msgid "PYJJ" msgstr "PYJJ" #: setup/ibus-libpinyin-preferences.ui:89 msgid "XHE" msgstr "XHE" #: setup/ibus-libpinyin-preferences.ui:122 msgid "Horizontal" msgstr "Горизонтально" #: setup/ibus-libpinyin-preferences.ui:125 msgid "Vertical" msgstr "Вертикально" #: setup/ibus-libpinyin-preferences.ui:171 msgid "Frequency" msgstr "Частота" #: setup/ibus-libpinyin-preferences.ui:174 msgid "Pinyin Length" msgstr "Довжина піньїну" #: setup/ibus-libpinyin-preferences.ui:177 msgid "Legacy" msgstr "Застаріле" #: setup/ibus-libpinyin-preferences.ui:268 msgid "Language:" msgstr "Мова:" #: setup/ibus-libpinyin-preferences.ui:276 msgid "Half/full width:" msgstr "Половинна/Повна ширина:" #: setup/ibus-libpinyin-preferences.ui:288 msgid "Punctuations:" msgstr "Пунктуація:" #: setup/ibus-libpinyin-preferences.ui:328 #: setup/ibus-libpinyin-preferences.ui:362 msgid "Full" msgstr "Повні" #: setup/ibus-libpinyin-preferences.ui:345 #: setup/ibus-libpinyin-preferences.ui:379 msgid "Half" msgstr "Половинні" #: setup/ibus-libpinyin-preferences.ui:398 msgid "Chinese:" msgstr "Китайська:" #: setup/ibus-libpinyin-preferences.ui:408 msgid "Simplified" msgstr "Спрощена" #: setup/ibus-libpinyin-preferences.ui:425 msgid "Traditional" msgstr "Традиційна" #: setup/ibus-libpinyin-preferences.ui:448 msgid "Initial state" msgstr "Початковий стан" #: setup/ibus-libpinyin-preferences.ui:486 msgid "Display Style:" msgstr "Стиль показу:" #: setup/ibus-libpinyin-preferences.ui:532 msgid "Orientation of candidates:" msgstr "Орієнтація варіантів:" #: setup/ibus-libpinyin-preferences.ui:578 msgid "Number of candidates:" msgstr "Кількість варіантів:" #: setup/ibus-libpinyin-preferences.ui:617 msgid "UI" msgstr "Інтерфейс" #: setup/ibus-libpinyin-preferences.ui:646 msgid "Dynamically adjust the candidates order." msgstr "Динамічне коригування порядку варіантів." #: setup/ibus-libpinyin-preferences.ui:661 msgid "Remember every input as a phrase." msgstr "Запам’ятовувати усе введене як фразу." #: setup/ibus-libpinyin-preferences.ui:684 msgid "Sort candidates by:" msgstr "Критерій упорядковування варіантів:" #: setup/ibus-libpinyin-preferences.ui:727 msgid "Candidates" msgstr "Варіанти" #: setup/ibus-libpinyin-preferences.ui:763 msgid "Keyboard Layout:" msgstr "Розкладка клавіатури:" #: setup/ibus-libpinyin-preferences.ui:819 #: setup/ibus-libpinyin-preferences.ui:2199 msgid "Tips: Changes may not take effect until ime restarts." msgstr "Підказка: зміни набудуть чинності після перезапуску ime." #: setup/ibus-libpinyin-preferences.ui:842 msgid "Keyboard" msgstr "Клавіатура" #: setup/ibus-libpinyin-preferences.ui:861 msgid "General" msgstr "Загальне" #: setup/ibus-libpinyin-preferences.ui:901 msgid "Full pinyin" msgstr "Повна піньїн" #: setup/ibus-libpinyin-preferences.ui:922 msgid "Double pinyin" msgstr "Подвійна піньїн" #: setup/ibus-libpinyin-preferences.ui:965 msgid "Show raw input of Double Pinyin" msgstr "Показати необроблене введення подвійної піньїн" #: setup/ibus-libpinyin-preferences.ui:980 msgid "Incomplete pinyin" msgstr "Неповний піньїн" #: setup/ibus-libpinyin-preferences.ui:1002 msgid "Pinyin mode" msgstr "Режим піньїну" #: setup/ibus-libpinyin-preferences.ui:1044 msgid "[Shift] select candidate" msgstr "[Shift] вибрати варіант" #: setup/ibus-libpinyin-preferences.ui:1054 msgid "[-] [=] flip page" msgstr "[-] [=] перегорнути сторінку" #: setup/ibus-libpinyin-preferences.ui:1069 msgid "[,] [.] flip page" msgstr "[,] [.] перегорнути сторінку" #: setup/ibus-libpinyin-preferences.ui:1084 msgid "Auto commit" msgstr "Автонадсилання" #: setup/ibus-libpinyin-preferences.ui:1098 msgid " [ ] flip page" msgstr " [ ] перегорнути сторінку" #: setup/ibus-libpinyin-preferences.ui:1126 msgid "Input Custom" msgstr "Налаштовування введення" #: setup/ibus-libpinyin-preferences.ui:1274 msgid "Enable pinyin correction" msgstr "Увімкнути виправлення піньїну" #: setup/ibus-libpinyin-preferences.ui:1310 msgid "Correct pinyin" msgstr "Виправлення піньїн" #: setup/ibus-libpinyin-preferences.ui:1340 #: setup/ibus-libpinyin-preferences.ui:1779 msgid "Enable Cloud Input" msgstr "Увімкнути «хмарне» введення" #: setup/ibus-libpinyin-preferences.ui:1364 #: setup/ibus-libpinyin-preferences.ui:1803 msgid "Source From:" msgstr "Джерело:" #: setup/ibus-libpinyin-preferences.ui:1409 #: setup/ibus-libpinyin-preferences.ui:1848 msgid "Cloud Input Option" msgstr "Параметр «хмарного» введення" #: setup/ibus-libpinyin-preferences.ui:1431 msgid "Pinyin mode" msgstr "Режим піньїну" #: setup/ibus-libpinyin-preferences.ui:1470 msgid "Incomplete Bopomofo" msgstr "Неповний бопомофо" #: setup/ibus-libpinyin-preferences.ui:1493 msgid "Keyboard Mapping:" msgstr "Прив’язка клавіатури:" #: setup/ibus-libpinyin-preferences.ui:1536 msgid "Bopomofo mode" msgstr "Режим бопомофо" #: setup/ibus-libpinyin-preferences.ui:1572 msgid "Selection Keys:" msgstr "Клавіші вибору:" #: setup/ibus-libpinyin-preferences.ui:1609 msgid "Enable Guidekey for Candidates Selection" msgstr "Увімкнути напрямну клавішу для вибору варіанта" #: setup/ibus-libpinyin-preferences.ui:1626 msgid "Enable Auxiliary Select Keys F1 .. F10" msgstr "Увімкнути допоміжні клавіші вибору F1 .. F10" #: setup/ibus-libpinyin-preferences.ui:1643 msgid "Enable Auxiliary Select Keys Numbers on Keypad" msgstr "" "Увімкнути допоміжні клавіші вибору номерів на цифровій панелі клавіатури" #: setup/ibus-libpinyin-preferences.ui:1666 msgid "Selection mode" msgstr "Режим позначення" #: setup/ibus-libpinyin-preferences.ui:1698 msgid "Feature of Enter key:" msgstr "Робота клавіші Enter:" #: setup/ibus-libpinyin-preferences.ui:1709 msgid "Commit first candidate" msgstr "Надіслати перший варіант" #: setup/ibus-libpinyin-preferences.ui:1727 msgid "Commit original text" msgstr "Надіслати початковий текст" #: setup/ibus-libpinyin-preferences.ui:1749 msgid "Other" msgstr "Інше" #: setup/ibus-libpinyin-preferences.ui:1870 msgid "Bopomofo mode" msgstr "Режим бопомофо" #: setup/ibus-libpinyin-preferences.ui:2032 msgid "Enable fuzzy syllable" msgstr "Увімкнути неточні склади" #: setup/ibus-libpinyin-preferences.ui:2133 msgid "Fuzzy syllable" msgstr "Неточні склади" #: setup/ibus-libpinyin-preferences.ui:2222 msgid "Dictionary option" msgstr "Параметр словника" #: setup/ibus-libpinyin-preferences.ui:2244 msgid "Dictionary" msgstr "Словник" #: setup/ibus-libpinyin-preferences.ui:2285 msgid "Lua Extension" msgstr "Розширення Lua" #: setup/ibus-libpinyin-preferences.ui:2299 msgid "Table Mode" msgstr "Режим таблиці" #: setup/ibus-libpinyin-preferences.ui:2313 msgid "English Mode" msgstr "Режим англійської" #: setup/ibus-libpinyin-preferences.ui:2327 msgid "English Candidate" msgstr "Варіант з англійської" #: setup/ibus-libpinyin-preferences.ui:2341 msgid "Emoji Candidate" msgstr "Варіант з емодзі" #: setup/ibus-libpinyin-preferences.ui:2355 msgid "Suggestion Candidate" msgstr "Варіант з пропозицій" #: setup/ibus-libpinyin-preferences.ui:2375 msgid "Input Modes" msgstr "Режими введення" #: setup/ibus-libpinyin-preferences.ui:2406 msgid "User Lua Script" msgstr "Скрипт користувача мовою Lua" #: setup/ibus-libpinyin-preferences.ui:2416 msgid "Edit" msgstr "Змінити" #: setup/ibus-libpinyin-preferences.ui:2436 msgid "Customize IME" msgstr "Налаштовування IME" #: setup/ibus-libpinyin-preferences.ui:2471 #: setup/ibus-libpinyin-preferences.ui:2655 msgid "Export" msgstr "Експортувати" #: setup/ibus-libpinyin-preferences.ui:2486 #: setup/ibus-libpinyin-preferences.ui:2670 msgid "Import" msgstr "Імпортувати" #: setup/ibus-libpinyin-preferences.ui:2502 msgid "User Dictionary" msgstr "Словник користувача" #: setup/ibus-libpinyin-preferences.ui:2527 msgid "Clear All Data" msgstr "Вилучити усі дані" #: setup/ibus-libpinyin-preferences.ui:2547 #: setup/ibus-libpinyin-preferences.ui:2700 msgid "Clear" msgstr "Спорожнити" #: setup/ibus-libpinyin-preferences.ui:2575 msgid "" "Dictionary File Format:\n" " Each line contains one of the following:\n" " \"phrase pinyin\" or \"phrase pinyin frequency\"\n" " like \"你好 ni'hao\" or \"你好 ni'hao 5\"." msgstr "" "Формат файла словника:\n" " Кожен рядок має містити такі дані:\n" " «фраза піньїн» або «фраза піньїн частота»\n" " Приклади: «你好 ni'hao» або «你好 ni'hao 5»." #: setup/ibus-libpinyin-preferences.ui:2588 #: setup/ibus-libpinyin-preferences.ui:2738 msgid "Help" msgstr "Довідка" #: setup/ibus-libpinyin-preferences.ui:2606 msgid "User Dictionary" msgstr "Словник користувача" #: setup/ibus-libpinyin-preferences.ui:2642 msgid "User Table" msgstr "Таблиця користувача" #: setup/ibus-libpinyin-preferences.ui:2728 msgid "" "Table File Format:\n" " Each line contains the following:\n" " \"table_code phrase frequency\" like \"a 啊 100\"." msgstr "" "Формат файла таблиці:\n" " Кожен рядок має містити такі дані:\n" " «код_таблиці фраза частота», приклад: «a 啊 100»." #: setup/ibus-libpinyin-preferences.ui:2756 msgid "User Table" msgstr "Таблиця користувача" #: setup/ibus-libpinyin-preferences.ui:2778 msgid "User data" msgstr "Дані користувача" #: setup/ibus-libpinyin-preferences.ui:2808 msgid "Shortcuts" msgstr "Скорочення" #: setup/ibus-libpinyin-preferences.ui:2864 msgid "Intelligent Pinyin input method for IBus" msgstr "Кмітливий спосіб введення піньїн для IBus" #: setup/ibus-libpinyin-preferences.ui:2877 msgid "Copyright (c) 2011-2024 Peng Wu" msgstr "© Peng Wu, 2011–2012" #: setup/ibus-libpinyin-preferences.ui:2890 msgid "https://github.com/libpinyin/ibus-libpinyin" msgstr "https://github.com/libpinyin/ibus-libpinyin" #: setup/ibus-libpinyin-preferences.ui:2907 msgid "" "\n" "Authors:\n" "Peng Wu\n" "Peng Huang\n" "BYVoid\n" "\n" "Main Contributors:\n" "Weixuan XIAO, Linyu XU\n" "\n" "Contributors:\n" "koterpilla, Zerng07, Hillwood Yang\n" "" msgstr "" "\n" "Автори:\n" "Peng Wu\n" "Peng Huang\n" "BYVoid\n" "\n" "Основні учасники розробки:\n" "Weixuan XIAO, Linyu XU\n" "\n" "Учасники розробки:\n" "koterpilla, Zerng07, Hillwood Yang\n" "" #: setup/ibus-libpinyin-preferences.ui:2947 msgid "About" msgstr "Про програму" #: data/ibus-setup-libpinyin.desktop.in:3 msgid "IBus LibPinyin Setup" msgstr "Налаштування LibPinyin IBus" #: data/ibus-setup-libpinyin.desktop.in:4 msgid "Set ibus-libpinyin Preferences" msgstr "Налаштування параметрів ibus-libpinyin" #: data/ibus-setup-libbopomofo.desktop.in:3 msgid "IBus LibBopomofo Preferences" msgstr "Налаштування LibBopomofo IBus" #: data/ibus-setup-libbopomofo.desktop.in:4 msgid "Set ibus-libbopomofo Preferences" msgstr "Налаштування параметрів ibus-libbopomofo" #~ msgid "Show suggestions." #~ msgstr "Показувати пропозиції." #~ msgid "Show emoji." #~ msgstr "Показувати емодзі." #~ msgid "Low Frequent Characters" #~ msgstr "Рідкісні символи" #~ msgid "SciTech" #~ msgstr "Наука і технологія" ibus-libpinyin-1.16.1/po/Makevars0000664000175000017500000000657713672072346012363 # Makefile variables for PO directory in any package using GNU gettext. # Usually the message domain is the same as the package name. DOMAIN = $(PACKAGE) # These two variables depend on the location of this directory. subdir = po top_builddir = .. # These options get passed to xgettext. XGETTEXT_OPTIONS = --from-code=UTF-8 --keyword=_ --keyword=N_ --keyword=C_:1c,2 --add-comments # This is the copyright holder that gets inserted into the header of the # $(DOMAIN).pot file. Set this to the copyright holder of the surrounding # package. (Note that the msgstr strings, extracted from the package's # sources, belong to the copyright holder of the package.) Translators are # expected to transfer the copyright for their translations to this person # or entity, or to disclaim their copyright. The empty string stands for # the public domain; in this case the translators are expected to disclaim # their copyright. COPYRIGHT_HOLDER = Peng Huang # This tells whether or not to prepend "GNU " prefix to the package # name that gets inserted into the header of the $(DOMAIN).pot file. # Possible values are "yes", "no", or empty. If it is empty, try to # detect it automatically by scanning the files in $(top_srcdir) for # "GNU packagename" string. PACKAGE_GNU = no # This is the email address or URL to which the translators shall report # bugs in the untranslated strings: # - Strings which are not entire sentences, see the maintainer guidelines # in the GNU gettext documentation, section 'Preparing Strings'. # - Strings which use unclear terms or require additional context to be # understood. # - Strings which make invalid assumptions about notation of date, time or # money. # - Pluralisation problems. # - Incorrect English spelling. # - Incorrect formatting. # It can be your email address, or a mailing list address where translators # can write to without being subscribed, or the URL of a web page through # which the translators can contact you. MSGID_BUGS_ADDRESS = $(PACKAGE_BUGREPORT) # This is the list of locale categories, beyond LC_MESSAGES, for which the # message catalogs shall be used. It is usually empty. EXTRA_LOCALE_CATEGORIES = # This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt' # context. Possible values are "yes" and "no". Set this to yes if the # package uses functions taking also a message context, like pgettext(), or # if in $(XGETTEXT_OPTIONS) you define keywords with a context argument. USE_MSGCTXT = no # These options get passed to msgmerge. # Useful options are in particular: # --previous to keep previous msgids of translated messages, # --quiet to reduce the verbosity. MSGMERGE_OPTIONS = # These options get passed to msginit. # If you want to disable line wrapping when writing PO files, add # --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and # MSGINIT_OPTIONS. MSGINIT_OPTIONS = # This tells whether or not to regenerate a PO file when $(DOMAIN).pot # has changed. Possible values are "yes" and "no". Set this to no if # the POT file is checked in the repository and the version control # program ignores timestamps. PO_DEPENDS_ON_POT = no # This tells whether or not to forcibly update $(DOMAIN).pot and # regenerate PO files on "make dist". Possible values are "yes" and # "no". Set this to no if the POT file and PO files are maintained # externally. DIST_DEPENDS_ON_UPDATE_PO = no ibus-libpinyin-1.16.1/po/boldquot.sed0000644000175000017500000000033113440163070013155 s/"\([^"]*\)"/“\1”/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“”/""/g s/“/“/g s/”/”/g s/‘/‘/g s/’/’/g ibus-libpinyin-1.16.1/po/ca.po0000644000175000017500000004723314737373731011607 # Robert Antoni Buj Gelonch , 2015. #zanata msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: https://github.com/libpinyin/ibus-libpinyin/issues/" "new\n" "POT-Creation-Date: 2025-01-08 11:58+0800\n" "PO-Revision-Date: 2015-09-24 09:36-0400\n" "Last-Translator: Robert Antoni Buj Gelonch \n" "Language-Team: Catalan\n" "Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Zanata 3.7.2\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" #: src/PYPConfig.cc:695 msgid "The table file is imported." msgstr "" #: src/PYPConfig.cc:702 msgid "The table file is exported." msgstr "" #: src/PYPConfig.cc:714 msgid "The pinyin dictionary file is imported." msgstr "" #: src/PYPConfig.cc:721 msgid "The pinyin dictionary file is exported." msgstr "" #: src/PYMain.cc:117 msgid "Libpinyin input method" msgstr "Mètode d'entrada Libpinyin" #: src/PYMain.cc:127 msgid "Intelligent Pinyin (debug)" msgstr "Pinyin intel·ligent (depuració)" #: src/PYMain.cc:128 msgid "Intelligent Pinyin input method (debug)" msgstr "Mètode d'entrada pinyin intel·ligent (depuració)" #: src/PYMain.cc:138 msgid "Bopomofo (debug)" msgstr "Bopomofo (depuració)" #: src/PYMain.cc:139 msgid "Bopomofo input method (debug)" msgstr "Mètode d'entrada bopomofo (depuració)" #: src/PYPinyinProperties.cc:40 src/PYPinyinProperties.cc:128 #: setup/ibus-libpinyin-preferences.ui:111 #: setup/ibus-libpinyin-preferences.ui:298 msgid "Chinese" msgstr "Xinès" #: src/PYPinyinProperties.cc:41 src/PYPinyinProperties.cc:129 #: setup/ibus-libpinyin-preferences.ui:107 #: setup/ibus-libpinyin-preferences.ui:313 msgid "English" msgstr "Anglès" #: src/PYPinyinProperties.cc:46 src/PYPinyinProperties.cc:140 msgid "Switch to English Mode" msgstr "Commuta al mode anglès" #: src/PYPinyinProperties.cc:47 src/PYPinyinProperties.cc:141 msgid "Switch to Chinese Mode" msgstr "Commuta al mode xinès" #: src/PYPinyinProperties.cc:51 src/PYPinyinProperties.cc:153 msgid "Full Width Letter" msgstr "Lletra d'amplada completa" #: src/PYPinyinProperties.cc:52 src/PYPinyinProperties.cc:154 msgid "Half Width Letter" msgstr "Lletra d'amplada mitjana" #: src/PYPinyinProperties.cc:57 src/PYPinyinProperties.cc:159 msgid "Switch to Half Width Letter Mode" msgstr "Commuta al mode de lletra d'amplada mitjana" #: src/PYPinyinProperties.cc:58 src/PYPinyinProperties.cc:160 msgid "Switch to Full Width Letter Mode" msgstr "Commuta al mode de lletra d'amplada completa" #: src/PYPinyinProperties.cc:62 src/PYPinyinProperties.cc:169 msgid "Full Width Punct" msgstr "Puntuació d'amplada completa" #: src/PYPinyinProperties.cc:63 src/PYPinyinProperties.cc:170 msgid "Half Width Punct" msgstr "Puntuació d'amplada mitjana" #: src/PYPinyinProperties.cc:68 src/PYPinyinProperties.cc:175 msgid "Switch to Half Width Punctuation Mode" msgstr "Commuta al mode de puntuació d'amplada mitjana" #: src/PYPinyinProperties.cc:69 src/PYPinyinProperties.cc:176 msgid "Switch to Full Width Punctuation Mode" msgstr "Commuta al mode de puntuació d'amplada completa" #: src/PYPinyinProperties.cc:73 src/PYPinyinProperties.cc:185 msgid "Simplified Chinese" msgstr "Xinès simplificat" #: src/PYPinyinProperties.cc:74 src/PYPinyinProperties.cc:186 msgid "Traditional Chinese" msgstr "Xinès tradicional" #: src/PYPinyinProperties.cc:79 src/PYPinyinProperties.cc:191 msgid "Switch to Traditional Chinese Mode" msgstr "Commuta al mode xinès tradicional" #: src/PYPinyinProperties.cc:80 src/PYPinyinProperties.cc:192 msgid "Switch to Simplfied Chinese Mode" msgstr "Commuta al mode xinès simplificat" #: src/PYPinyinProperties.cc:83 src/PYPinyinProperties.cc:85 #: setup/ibus-libpinyin-preferences.ui:185 msgid "Preferences" msgstr "Preferències" #: src/PYPinyinProperties.cc:88 src/PYPinyinProperties.cc:132 msgid "中" msgstr "中" #: src/PYPinyinProperties.cc:90 src/PYPinyinProperties.cc:134 msgid "英" msgstr "英" #: src/PYPinyinProperties.cc:270 msgid "Lua Converter" msgstr "" #: src/PYPinyinProperties.cc:272 msgid "Use the Lua Convertor" msgstr "" #: src/PYPinyinProperties.cc:279 msgid "None" msgstr "" #: src/PYEnglishEditor.cc:307 msgid "Please input the English word." msgstr "Si us plau, introduïu la paraula anglesa." #: src/PYTableEditor.cc:306 msgid "Please use \"hspnz\" to input." msgstr "Si us plau, utilitzeu \"hspnz\" per a l'entrada." #: src/PYTableEditor.cc:309 #, fuzzy msgid "Please use table code to input." msgstr "Si us plau, utilitzeu \"hspnz\" per a l'entrada." #: setup/main2.py:493 msgid "Please choose a file" msgstr "Si us plau, seleccioneu un fitxer" #: setup/main2.py:514 msgid "Please save a file" msgstr "Si us plau, deseu un fitxer" #: setup/main2.py:662 setup/ibus-libpinyin-preferences.ui:2850 #, python-format msgid "Intelligent Pinyin %s" msgstr "Pinyin intel·ligent %s" #: setup/config.py:30 #, fuzzy msgid "Intelligent Pinyin" msgstr "Pinyin intel·ligent (depuració)" #: setup/dicttreeview.py:52 msgid "Art" msgstr "Art" #: setup/dicttreeview.py:53 msgid "Culture" msgstr "Cultura" #: setup/dicttreeview.py:54 msgid "Economy" msgstr "Economia" #: setup/dicttreeview.py:55 msgid "Geology" msgstr "Geologia" #: setup/dicttreeview.py:56 msgid "History" msgstr "Història" #: setup/dicttreeview.py:57 msgid "Life" msgstr "Vida" #: setup/dicttreeview.py:58 msgid "Nature" msgstr "Natura" #: setup/dicttreeview.py:59 msgid "People" msgstr "" #: setup/dicttreeview.py:60 msgid "Science" msgstr "" #: setup/dicttreeview.py:61 msgid "Society" msgstr "Societat" #: setup/dicttreeview.py:62 msgid "Sport" msgstr "Esport" #: setup/dicttreeview.py:63 #, fuzzy msgid "Technology" msgstr "Geologia" #: setup/dicttreeview.py:110 msgid "Active" msgstr "Actiu" #: setup/dicttreeview.py:115 setup/shortcuteditor.py:83 msgid "Description" msgstr "Descripció" #: setup/keyboardshortcut.py:54 msgid "Shortcut:" msgstr "Drecera:" #: setup/keyboardshortcut.py:67 msgid "Key code:" msgstr "Codi de tecla:" #: setup/keyboardshortcut.py:82 msgid "Modifiers:" msgstr "Modificadors:" #: setup/keyboardshortcut.py:171 msgid "" "Please press a key (or a key combination).\n" "The dialog will close when the key is released." msgstr "" "Si us plau, premeu qualsevol tecla (o combinació de tecles).\n" "El diàleg es tancarà quan deixeu de prémer la tecla." #: setup/keyboardshortcut.py:174 msgid "Please press a key (or a key combination)" msgstr "Si us plau, premeu qualsevol tecla (o combinació de tecles)" #: setup/keyboardshortcut.py:186 msgid "Shorcut Editor" msgstr "Editor de dreceres" #: setup/keyboardshortcut.py:239 setup/shortcuteditor.py:196 #: setup/shortcuteditor.py:233 msgid "_Cancel" msgstr "_Cancel·la" #: setup/keyboardshortcut.py:240 setup/shortcuteditor.py:197 #: setup/shortcuteditor.py:234 msgid "_OK" msgstr "D'ac_ord" #: setup/shortcuteditor.py:46 msgid "Switch Chinese/English" msgstr "Commuta xinès/anglès" #: setup/shortcuteditor.py:47 msgid "Full/Half Width Letter" msgstr "Amplada de la lletra mitjana/completa" #: setup/shortcuteditor.py:48 msgid "Full/Half Width Punct" msgstr "Amplada de la puntuació mitjana/completa" #: setup/shortcuteditor.py:49 #, fuzzy msgid "Full/Half Width Both Switch" msgstr "Amplada de la lletra mitjana/completa" #: setup/shortcuteditor.py:50 msgid "Switch Traditional/Simplfied Chinese" msgstr "Commuta xinès tradicional/simplificat" #: setup/shortcuteditor.py:88 msgid "Accelerator" msgstr "Accelerador" #: setup/shortcuteditor.py:106 msgid "This shortcut key is already in use." msgstr "La tecla de la drecera ja està en ús." #. set default button #: setup/shortcuteditor.py:164 msgid "_Default" msgstr "Pre_determinat" #. edit button #: setup/shortcuteditor.py:169 msgid "_Edit" msgstr "_Edita" #: setup/shortcuteditor.py:195 msgid "Select Switching Key" msgstr "Selecciona la tecla de commutació" #: setup/ibus-libpinyin-preferences.ui:20 msgid "Standard" msgstr "Estàndard" #: setup/ibus-libpinyin-preferences.ui:23 msgid "GinYieh" msgstr "GinYieh" #: setup/ibus-libpinyin-preferences.ui:26 msgid "Eten" msgstr "Eten" #: setup/ibus-libpinyin-preferences.ui:29 msgid "IBM" msgstr "IBM" #: setup/ibus-libpinyin-preferences.ui:40 msgid "Baidu" msgstr "" #: setup/ibus-libpinyin-preferences.ui:43 msgid "Google" msgstr "" #: setup/ibus-libpinyin-preferences.ui:46 msgid "Google CN" msgstr "" #: setup/ibus-libpinyin-preferences.ui:57 #: setup/ibus-libpinyin-preferences.ui:103 #, fuzzy msgid "Default" msgstr "Pre_determinat" #: setup/ibus-libpinyin-preferences.ui:60 msgid "Compact" msgstr "" #: setup/ibus-libpinyin-preferences.ui:63 msgid "Compatibility" msgstr "" #: setup/ibus-libpinyin-preferences.ui:74 msgid "MSPY" msgstr "MSPY" #: setup/ibus-libpinyin-preferences.ui:77 msgid "ZRM" msgstr "ZRM" #: setup/ibus-libpinyin-preferences.ui:80 msgid "ABC" msgstr "ABC" #: setup/ibus-libpinyin-preferences.ui:83 msgid "ZGPY" msgstr "ZGPY" #: setup/ibus-libpinyin-preferences.ui:86 msgid "PYJJ" msgstr "PYJJ" #: setup/ibus-libpinyin-preferences.ui:89 msgid "XHE" msgstr "XHE" #: setup/ibus-libpinyin-preferences.ui:122 msgid "Horizontal" msgstr "Horitzontal" #: setup/ibus-libpinyin-preferences.ui:125 msgid "Vertical" msgstr "Vertical" #: setup/ibus-libpinyin-preferences.ui:171 msgid "Frequency" msgstr "" #: setup/ibus-libpinyin-preferences.ui:174 #, fuzzy msgid "Pinyin Length" msgstr "Mode pinyin" #: setup/ibus-libpinyin-preferences.ui:177 msgid "Legacy" msgstr "" #: setup/ibus-libpinyin-preferences.ui:268 msgid "Language:" msgstr "Idioma:" #: setup/ibus-libpinyin-preferences.ui:276 msgid "Half/full width:" msgstr "Amplada mitjana/completa:" #: setup/ibus-libpinyin-preferences.ui:288 msgid "Punctuations:" msgstr "Puntuacions:" #: setup/ibus-libpinyin-preferences.ui:328 #: setup/ibus-libpinyin-preferences.ui:362 msgid "Full" msgstr "Completa" #: setup/ibus-libpinyin-preferences.ui:345 #: setup/ibus-libpinyin-preferences.ui:379 msgid "Half" msgstr "Mitjana" #: setup/ibus-libpinyin-preferences.ui:398 msgid "Chinese:" msgstr "Xinès:" #: setup/ibus-libpinyin-preferences.ui:408 msgid "Simplified" msgstr "Simplificat" #: setup/ibus-libpinyin-preferences.ui:425 msgid "Traditional" msgstr "Tradicional" #: setup/ibus-libpinyin-preferences.ui:448 msgid "Initial state" msgstr "Estat inicial" #: setup/ibus-libpinyin-preferences.ui:486 msgid "Display Style:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:532 msgid "Orientation of candidates:" msgstr "Orientació dels candidats:" #: setup/ibus-libpinyin-preferences.ui:578 msgid "Number of candidates:" msgstr "Nombre de candidats:" #: setup/ibus-libpinyin-preferences.ui:617 msgid "UI" msgstr "Interfície d'usuari" #: setup/ibus-libpinyin-preferences.ui:646 msgid "Dynamically adjust the candidates order." msgstr "Ajusta dinàmicament l'ordre dels candidats." #: setup/ibus-libpinyin-preferences.ui:661 msgid "Remember every input as a phrase." msgstr "Recorda cada entrada com a una frase." #: setup/ibus-libpinyin-preferences.ui:684 #, fuzzy msgid "Sort candidates by:" msgstr "Nombre de candidats:" #: setup/ibus-libpinyin-preferences.ui:727 msgid "Candidates" msgstr "Candidats" #: setup/ibus-libpinyin-preferences.ui:763 #, fuzzy msgid "Keyboard Layout:" msgstr "Assignació del teclat:" #: setup/ibus-libpinyin-preferences.ui:819 #: setup/ibus-libpinyin-preferences.ui:2199 msgid "Tips: Changes may not take effect until ime restarts." msgstr "Consell: aquests canvis poden tenir efecte després de reiniciar l'ime." #: setup/ibus-libpinyin-preferences.ui:842 #, fuzzy msgid "Keyboard" msgstr "Altres" #: setup/ibus-libpinyin-preferences.ui:861 msgid "General" msgstr "General" #: setup/ibus-libpinyin-preferences.ui:901 msgid "Full pinyin" msgstr "Pinyin complet" #: setup/ibus-libpinyin-preferences.ui:922 msgid "Double pinyin" msgstr "Pinyin doble" #: setup/ibus-libpinyin-preferences.ui:965 msgid "Show raw input of Double Pinyin" msgstr "Mostra l'entrada raw del pinyin doble" #: setup/ibus-libpinyin-preferences.ui:980 msgid "Incomplete pinyin" msgstr "Pinyin incomplet" #: setup/ibus-libpinyin-preferences.ui:1002 msgid "Pinyin mode" msgstr "Mode pinyin" #: setup/ibus-libpinyin-preferences.ui:1044 msgid "[Shift] select candidate" msgstr "[Maj.] selecciona el candidat" #: setup/ibus-libpinyin-preferences.ui:1054 msgid "[-] [=] flip page" msgstr "[-] [=] gira la pàgina" #: setup/ibus-libpinyin-preferences.ui:1069 msgid "[,] [.] flip page" msgstr "[,] [.] gira la pàgina" #: setup/ibus-libpinyin-preferences.ui:1084 msgid "Auto commit" msgstr "Consignació automàtica:" #: setup/ibus-libpinyin-preferences.ui:1098 #, fuzzy msgid " [ ] flip page" msgstr "[-] [=] gira la pàgina" #: setup/ibus-libpinyin-preferences.ui:1126 msgid "Input Custom" msgstr "Entrada personalitzada" #: setup/ibus-libpinyin-preferences.ui:1274 msgid "Enable pinyin correction" msgstr "Habilita la correcció de pinyin" #: setup/ibus-libpinyin-preferences.ui:1310 msgid "Correct pinyin" msgstr "Correcció de pinyin" #: setup/ibus-libpinyin-preferences.ui:1340 #: setup/ibus-libpinyin-preferences.ui:1779 msgid "Enable Cloud Input" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1364 #: setup/ibus-libpinyin-preferences.ui:1803 msgid "Source From:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1409 #: setup/ibus-libpinyin-preferences.ui:1848 #, fuzzy msgid "Cloud Input Option" msgstr "Entrada personalitzada" #: setup/ibus-libpinyin-preferences.ui:1431 msgid "Pinyin mode" msgstr "Mode pinyin" #: setup/ibus-libpinyin-preferences.ui:1470 msgid "Incomplete Bopomofo" msgstr "Bopomofo incomplet" #: setup/ibus-libpinyin-preferences.ui:1493 msgid "Keyboard Mapping:" msgstr "Assignació del teclat:" #: setup/ibus-libpinyin-preferences.ui:1536 msgid "Bopomofo mode" msgstr "Mode bopomofo" #: setup/ibus-libpinyin-preferences.ui:1572 msgid "Selection Keys:" msgstr "Tecles de selecció:" #: setup/ibus-libpinyin-preferences.ui:1609 msgid "Enable Guidekey for Candidates Selection" msgstr "Habilita Guidekey per a la selecció de candidats" #: setup/ibus-libpinyin-preferences.ui:1626 msgid "Enable Auxiliary Select Keys F1 .. F10" msgstr "Habilita les tecles auxiliars de selecció F1..F10" #: setup/ibus-libpinyin-preferences.ui:1643 msgid "Enable Auxiliary Select Keys Numbers on Keypad" msgstr "Habilita les tecles auxiliars de selecció del teclat de números" #: setup/ibus-libpinyin-preferences.ui:1666 msgid "Selection mode" msgstr "Mode de selecció" #: setup/ibus-libpinyin-preferences.ui:1698 msgid "Feature of Enter key:" msgstr "Funcionalitat de la tecla de Retorn:" #: setup/ibus-libpinyin-preferences.ui:1709 msgid "Commit first candidate" msgstr "Consigna el primer candidat" #: setup/ibus-libpinyin-preferences.ui:1727 msgid "Commit original text" msgstr "Consigna el text original" #: setup/ibus-libpinyin-preferences.ui:1749 msgid "Other" msgstr "Altres" #: setup/ibus-libpinyin-preferences.ui:1870 msgid "Bopomofo mode" msgstr "Mode bopomofo" #: setup/ibus-libpinyin-preferences.ui:2032 msgid "Enable fuzzy syllable" msgstr "Habilita la síl·laba difusa" #: setup/ibus-libpinyin-preferences.ui:2133 msgid "Fuzzy syllable" msgstr "Síl·laba difusa" #: setup/ibus-libpinyin-preferences.ui:2222 msgid "Dictionary option" msgstr "Opció del diccionari" #: setup/ibus-libpinyin-preferences.ui:2244 msgid "Dictionary" msgstr "Diccionari" #: setup/ibus-libpinyin-preferences.ui:2285 msgid "Lua Extension" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2299 msgid "Table Mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2313 #, fuzzy msgid "English Mode" msgstr "Anglès" #: setup/ibus-libpinyin-preferences.ui:2327 #, fuzzy msgid "English Candidate" msgstr "Anglès" #: setup/ibus-libpinyin-preferences.ui:2341 #, fuzzy msgid "Emoji Candidate" msgstr "Nombre de candidats:" #: setup/ibus-libpinyin-preferences.ui:2355 #, fuzzy msgid "Suggestion Candidate" msgstr "Orientació dels candidats:" #: setup/ibus-libpinyin-preferences.ui:2375 #, fuzzy msgid "Input Modes" msgstr "Entrada personalitzada" #: setup/ibus-libpinyin-preferences.ui:2406 msgid "User Lua Script" msgstr "Script lua d'usuari" #: setup/ibus-libpinyin-preferences.ui:2416 msgid "Edit" msgstr "Edita" #: setup/ibus-libpinyin-preferences.ui:2436 msgid "Customize IME" msgstr "Personalitza l'IME" #: setup/ibus-libpinyin-preferences.ui:2471 #: setup/ibus-libpinyin-preferences.ui:2655 msgid "Export" msgstr "Exporta" #: setup/ibus-libpinyin-preferences.ui:2486 #: setup/ibus-libpinyin-preferences.ui:2670 msgid "Import" msgstr "Importa" #: setup/ibus-libpinyin-preferences.ui:2502 msgid "User Dictionary" msgstr "Directori d'usuari" #: setup/ibus-libpinyin-preferences.ui:2527 msgid "Clear All Data" msgstr "Neteja totes les dades" #: setup/ibus-libpinyin-preferences.ui:2547 #: setup/ibus-libpinyin-preferences.ui:2700 msgid "Clear" msgstr "Neteja" #: setup/ibus-libpinyin-preferences.ui:2575 msgid "" "Dictionary File Format:\n" " Each line contains one of the following:\n" " \"phrase pinyin\" or \"phrase pinyin frequency\"\n" " like \"你好 ni'hao\" or \"你好 ni'hao 5\"." msgstr "" "Format del fitxer de diccionari:\n" " Cada línia conté una de les següents:\n" " \"frase pinyin\" o \"frase pinyin freqüència\"\n" " com ara \"你好 ni'hao\" o \"你好 ni'hao 5\"." #: setup/ibus-libpinyin-preferences.ui:2588 #: setup/ibus-libpinyin-preferences.ui:2738 msgid "Help" msgstr "Ajuda" #: setup/ibus-libpinyin-preferences.ui:2606 msgid "User Dictionary" msgstr "Diccionari d'usuari" #: setup/ibus-libpinyin-preferences.ui:2642 #, fuzzy msgid "User Table" msgstr "Dades de l'usuari" #: setup/ibus-libpinyin-preferences.ui:2728 #, fuzzy msgid "" "Table File Format:\n" " Each line contains the following:\n" " \"table_code phrase frequency\" like \"a 啊 100\"." msgstr "" "Format del fitxer de diccionari:\n" " Cada línia conté una de les següents:\n" " \"frase pinyin\" o \"frase pinyin freqüència\"\n" " com ara \"你好 ni'hao\" o \"你好 ni'hao 5\"." #: setup/ibus-libpinyin-preferences.ui:2756 #, fuzzy msgid "User Table" msgstr "Diccionari d'usuari" #: setup/ibus-libpinyin-preferences.ui:2778 msgid "User data" msgstr "Dades de l'usuari" #: setup/ibus-libpinyin-preferences.ui:2808 msgid "Shortcuts" msgstr "Dreceres" #: setup/ibus-libpinyin-preferences.ui:2864 msgid "Intelligent Pinyin input method for IBus" msgstr "Mètode d'entrada pinyin intel·ligent per a l'IBus" #: setup/ibus-libpinyin-preferences.ui:2877 msgid "Copyright (c) 2011-2024 Peng Wu" msgstr "Copyright (c) 2011-2024 Peng Wu" #: setup/ibus-libpinyin-preferences.ui:2890 msgid "https://github.com/libpinyin/ibus-libpinyin" msgstr "https://github.com/libpinyin/ibus-libpinyin" #: setup/ibus-libpinyin-preferences.ui:2907 #, fuzzy msgid "" "\n" "Authors:\n" "Peng Wu\n" "Peng Huang\n" "BYVoid\n" "\n" "Main Contributors:\n" "Weixuan XIAO, Linyu XU\n" "\n" "Contributors:\n" "koterpilla, Zerng07, Hillwood Yang\n" "" msgstr "" "\n" "Autors:\n" "Peng Wu\n" "Peng Huang\n" "BYVoid\n" "\n" "Contribuïdors:\n" "koterpilla, Zerng07, Hillwood Yang\n" "" #: setup/ibus-libpinyin-preferences.ui:2947 msgid "About" msgstr "Quant a" #: data/ibus-setup-libpinyin.desktop.in:3 msgid "IBus LibPinyin Setup" msgstr "" #: data/ibus-setup-libpinyin.desktop.in:4 msgid "Set ibus-libpinyin Preferences" msgstr "" #: data/ibus-setup-libbopomofo.desktop.in:3 msgid "IBus LibBopomofo Preferences" msgstr "" #: data/ibus-setup-libbopomofo.desktop.in:4 msgid "Set ibus-libbopomofo Preferences" msgstr "" #~ msgid "Low Frequent Characters" #~ msgstr "Caràcters amb freqüència baixa" #~ msgid "SciTech" #~ msgstr "Ciència i tecnologia" ibus-libpinyin-1.16.1/po/zh_HK.po0000644000175000017500000004655214737373731012232 # Hillwood Yang , 2020. msgid "" msgstr "" "Project-Id-Version: ibus-libpinyin 1.3.5\n" "Report-Msgid-Bugs-To: https://github.com/libpinyin/ibus-libpinyin/issues/" "new\n" "POT-Creation-Date: 2025-01-08 11:58+0800\n" "PO-Revision-Date: 2020-09-15 02:08+0000\n" "Last-Translator: Hillwood Yang \n" "Language-Team: Chinese (Hong Kong) \n" "Language: zh_HK\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 4.2.2\n" #: src/PYPConfig.cc:695 msgid "The table file is imported." msgstr "" #: src/PYPConfig.cc:702 msgid "The table file is exported." msgstr "" #: src/PYPConfig.cc:714 msgid "The pinyin dictionary file is imported." msgstr "" #: src/PYPConfig.cc:721 msgid "The pinyin dictionary file is exported." msgstr "" #: src/PYMain.cc:117 msgid "Libpinyin input method" msgstr "智能拼音輸入法" #: src/PYMain.cc:127 msgid "Intelligent Pinyin (debug)" msgstr "智能拼音(調試)" #: src/PYMain.cc:128 msgid "Intelligent Pinyin input method (debug)" msgstr "智能拼音輸入法(調試)" #: src/PYMain.cc:138 msgid "Bopomofo (debug)" msgstr "注音模式(調試)" #: src/PYMain.cc:139 msgid "Bopomofo input method (debug)" msgstr "注音輸入法(調試)" #: src/PYPinyinProperties.cc:40 src/PYPinyinProperties.cc:128 #: setup/ibus-libpinyin-preferences.ui:111 #: setup/ibus-libpinyin-preferences.ui:298 msgid "Chinese" msgstr "中文" #: src/PYPinyinProperties.cc:41 src/PYPinyinProperties.cc:129 #: setup/ibus-libpinyin-preferences.ui:107 #: setup/ibus-libpinyin-preferences.ui:313 msgid "English" msgstr "英文" #: src/PYPinyinProperties.cc:46 src/PYPinyinProperties.cc:140 msgid "Switch to English Mode" msgstr "切換至英文模式" #: src/PYPinyinProperties.cc:47 src/PYPinyinProperties.cc:141 msgid "Switch to Chinese Mode" msgstr "切換至中文模式" #: src/PYPinyinProperties.cc:51 src/PYPinyinProperties.cc:153 msgid "Full Width Letter" msgstr "全角字母" #: src/PYPinyinProperties.cc:52 src/PYPinyinProperties.cc:154 msgid "Half Width Letter" msgstr "半角字母" #: src/PYPinyinProperties.cc:57 src/PYPinyinProperties.cc:159 msgid "Switch to Half Width Letter Mode" msgstr "切換至半角字母模式" #: src/PYPinyinProperties.cc:58 src/PYPinyinProperties.cc:160 msgid "Switch to Full Width Letter Mode" msgstr "切換至全角字母模式" #: src/PYPinyinProperties.cc:62 src/PYPinyinProperties.cc:169 msgid "Full Width Punct" msgstr "全形符號" #: src/PYPinyinProperties.cc:63 src/PYPinyinProperties.cc:170 msgid "Half Width Punct" msgstr "半形符號" #: src/PYPinyinProperties.cc:68 src/PYPinyinProperties.cc:175 msgid "Switch to Half Width Punctuation Mode" msgstr "切換至半形符號模式" #: src/PYPinyinProperties.cc:69 src/PYPinyinProperties.cc:176 msgid "Switch to Full Width Punctuation Mode" msgstr "切換至全形符號模式" #: src/PYPinyinProperties.cc:73 src/PYPinyinProperties.cc:185 msgid "Simplified Chinese" msgstr "簡體中文" #: src/PYPinyinProperties.cc:74 src/PYPinyinProperties.cc:186 msgid "Traditional Chinese" msgstr "繁體中文" #: src/PYPinyinProperties.cc:79 src/PYPinyinProperties.cc:191 msgid "Switch to Traditional Chinese Mode" msgstr "切換至繁體中文模式" #: src/PYPinyinProperties.cc:80 src/PYPinyinProperties.cc:192 msgid "Switch to Simplfied Chinese Mode" msgstr "切換至簡體中文模式" #: src/PYPinyinProperties.cc:83 src/PYPinyinProperties.cc:85 #: setup/ibus-libpinyin-preferences.ui:185 msgid "Preferences" msgstr "偏好設定" #: src/PYPinyinProperties.cc:88 src/PYPinyinProperties.cc:132 msgid "中" msgstr "中" #: src/PYPinyinProperties.cc:90 src/PYPinyinProperties.cc:134 msgid "英" msgstr "英" #: src/PYPinyinProperties.cc:270 msgid "Lua Converter" msgstr "" #: src/PYPinyinProperties.cc:272 msgid "Use the Lua Convertor" msgstr "" #: src/PYPinyinProperties.cc:279 msgid "None" msgstr "" #: src/PYEnglishEditor.cc:307 msgid "Please input the English word." msgstr "請輸入英文單詞。" #: src/PYTableEditor.cc:306 msgid "Please use \"hspnz\" to input." msgstr "請用 \"hspnz\" 筆畫輸入中文字符。" #: src/PYTableEditor.cc:309 #, fuzzy msgid "Please use table code to input." msgstr "請用 \"hspnz\" 筆畫輸入中文字符。" #: setup/main2.py:493 msgid "Please choose a file" msgstr "請選定文件" #: setup/main2.py:514 msgid "Please save a file" msgstr "請保存文件" #: setup/main2.py:662 setup/ibus-libpinyin-preferences.ui:2850 #, python-format msgid "Intelligent Pinyin %s" msgstr "智能 拼音 %s" #: setup/config.py:30 msgid "Intelligent Pinyin" msgstr "智能拼音" #: setup/dicttreeview.py:52 msgid "Art" msgstr "藝術" #: setup/dicttreeview.py:53 msgid "Culture" msgstr "文化" #: setup/dicttreeview.py:54 msgid "Economy" msgstr "經濟" #: setup/dicttreeview.py:55 msgid "Geology" msgstr "地理" #: setup/dicttreeview.py:56 msgid "History" msgstr "歷史" #: setup/dicttreeview.py:57 msgid "Life" msgstr "生活" #: setup/dicttreeview.py:58 msgid "Nature" msgstr "自然" #: setup/dicttreeview.py:59 msgid "People" msgstr "人物" #: setup/dicttreeview.py:60 msgid "Science" msgstr "科學" #: setup/dicttreeview.py:61 msgid "Society" msgstr "社會" #: setup/dicttreeview.py:62 msgid "Sport" msgstr "體育" #: setup/dicttreeview.py:63 msgid "Technology" msgstr "科技" #: setup/dicttreeview.py:110 msgid "Active" msgstr "激活" #: setup/dicttreeview.py:115 setup/shortcuteditor.py:83 msgid "Description" msgstr "描述" #: setup/keyboardshortcut.py:54 msgid "Shortcut:" msgstr "快捷鍵:" #: setup/keyboardshortcut.py:67 msgid "Key code:" msgstr "鍵:" #: setup/keyboardshortcut.py:82 msgid "Modifiers:" msgstr "修飾符:" #: setup/keyboardshortcut.py:171 msgid "" "Please press a key (or a key combination).\n" "The dialog will close when the key is released." msgstr "" "請按快捷鍵。\n" "此對話窗將自動關閉。" #: setup/keyboardshortcut.py:174 msgid "Please press a key (or a key combination)" msgstr "請按快捷鍵" #: setup/keyboardshortcut.py:186 msgid "Shorcut Editor" msgstr "快捷鍵編輯器" #: setup/keyboardshortcut.py:239 setup/shortcuteditor.py:196 #: setup/shortcuteditor.py:233 msgid "_Cancel" msgstr "取消(_C)" #: setup/keyboardshortcut.py:240 setup/shortcuteditor.py:197 #: setup/shortcuteditor.py:234 msgid "_OK" msgstr "好(_O)" #: setup/shortcuteditor.py:46 msgid "Switch Chinese/English" msgstr "切換中文/英文" #: setup/shortcuteditor.py:47 msgid "Full/Half Width Letter" msgstr "全形/半形字母" #: setup/shortcuteditor.py:48 msgid "Full/Half Width Punct" msgstr "全形/半形符號" #: setup/shortcuteditor.py:49 msgid "Full/Half Width Both Switch" msgstr "全形/半形切換" #: setup/shortcuteditor.py:50 msgid "Switch Traditional/Simplfied Chinese" msgstr "切換簡體/繁體中文" #: setup/shortcuteditor.py:88 msgid "Accelerator" msgstr "快捷鍵" #: setup/shortcuteditor.py:106 msgid "This shortcut key is already in use." msgstr "快捷鍵已被使用。" #. set default button #: setup/shortcuteditor.py:164 msgid "_Default" msgstr "默認值(_D)" #. edit button #: setup/shortcuteditor.py:169 msgid "_Edit" msgstr "編輯(_E)" #: setup/shortcuteditor.py:195 msgid "Select Switching Key" msgstr "選擇切換鍵" #: setup/ibus-libpinyin-preferences.ui:20 msgid "Standard" msgstr "標準" #: setup/ibus-libpinyin-preferences.ui:23 msgid "GinYieh" msgstr "精業" #: setup/ibus-libpinyin-preferences.ui:26 msgid "Eten" msgstr "倚天" #: setup/ibus-libpinyin-preferences.ui:29 msgid "IBM" msgstr "IBM" #: setup/ibus-libpinyin-preferences.ui:40 msgid "Baidu" msgstr "百度" #: setup/ibus-libpinyin-preferences.ui:43 msgid "Google" msgstr "谷歌" #: setup/ibus-libpinyin-preferences.ui:46 #, fuzzy msgid "Google CN" msgstr "谷歌" #: setup/ibus-libpinyin-preferences.ui:57 #: setup/ibus-libpinyin-preferences.ui:103 msgid "Default" msgstr "默認值" #: setup/ibus-libpinyin-preferences.ui:60 msgid "Compact" msgstr "壓縮" #: setup/ibus-libpinyin-preferences.ui:63 #, fuzzy msgid "Compatibility" msgstr "壓縮" #: setup/ibus-libpinyin-preferences.ui:74 msgid "MSPY" msgstr "微軟拼音" #: setup/ibus-libpinyin-preferences.ui:77 msgid "ZRM" msgstr "自然碼" #: setup/ibus-libpinyin-preferences.ui:80 msgid "ABC" msgstr "智能ABC" #: setup/ibus-libpinyin-preferences.ui:83 msgid "ZGPY" msgstr "紫光拼音" #: setup/ibus-libpinyin-preferences.ui:86 msgid "PYJJ" msgstr "拼音加加" #: setup/ibus-libpinyin-preferences.ui:89 msgid "XHE" msgstr "小鶴" #: setup/ibus-libpinyin-preferences.ui:122 msgid "Horizontal" msgstr "水平" #: setup/ibus-libpinyin-preferences.ui:125 msgid "Vertical" msgstr "豎直" #: setup/ibus-libpinyin-preferences.ui:171 msgid "Frequency" msgstr "詞頻" #: setup/ibus-libpinyin-preferences.ui:174 msgid "Pinyin Length" msgstr "拼音長度" #: setup/ibus-libpinyin-preferences.ui:177 msgid "Legacy" msgstr "" #: setup/ibus-libpinyin-preferences.ui:268 msgid "Language:" msgstr "語言:" #: setup/ibus-libpinyin-preferences.ui:276 msgid "Half/full width:" msgstr "全形/半形:" #: setup/ibus-libpinyin-preferences.ui:288 msgid "Punctuations:" msgstr "標點符號:" #: setup/ibus-libpinyin-preferences.ui:328 #: setup/ibus-libpinyin-preferences.ui:362 msgid "Full" msgstr "全形" #: setup/ibus-libpinyin-preferences.ui:345 #: setup/ibus-libpinyin-preferences.ui:379 msgid "Half" msgstr "半形" #: setup/ibus-libpinyin-preferences.ui:398 msgid "Chinese:" msgstr "中文:" #: setup/ibus-libpinyin-preferences.ui:408 msgid "Simplified" msgstr "簡體" #: setup/ibus-libpinyin-preferences.ui:425 msgid "Traditional" msgstr "繁體" #: setup/ibus-libpinyin-preferences.ui:448 msgid "Initial state" msgstr "初始狀態" #: setup/ibus-libpinyin-preferences.ui:486 msgid "Display Style:" msgstr "顯示風格:" #: setup/ibus-libpinyin-preferences.ui:532 msgid "Orientation of candidates:" msgstr "候選詞排列方向:" #: setup/ibus-libpinyin-preferences.ui:578 msgid "Number of candidates:" msgstr "每頁顯示候選詞條目數量:" #: setup/ibus-libpinyin-preferences.ui:617 msgid "UI" msgstr "外觀" #: setup/ibus-libpinyin-preferences.ui:646 msgid "Dynamically adjust the candidates order." msgstr "動態調整候詞序。" #: setup/ibus-libpinyin-preferences.ui:661 msgid "Remember every input as a phrase." msgstr "將每個輸入記錄為新詞。" #: setup/ibus-libpinyin-preferences.ui:684 msgid "Sort candidates by:" msgstr "候選詞排列順序:" #: setup/ibus-libpinyin-preferences.ui:727 msgid "Candidates" msgstr "候選詞" #: setup/ibus-libpinyin-preferences.ui:763 #, fuzzy msgid "Keyboard Layout:" msgstr "鍵盤映射:" #: setup/ibus-libpinyin-preferences.ui:819 #: setup/ibus-libpinyin-preferences.ui:2199 msgid "Tips: Changes may not take effect until ime restarts." msgstr "提示:變更可能需要重啓生效。" #: setup/ibus-libpinyin-preferences.ui:842 #, fuzzy msgid "Keyboard" msgstr "其他" #: setup/ibus-libpinyin-preferences.ui:861 msgid "General" msgstr "常規" #: setup/ibus-libpinyin-preferences.ui:901 msgid "Full pinyin" msgstr "全拼" #: setup/ibus-libpinyin-preferences.ui:922 msgid "Double pinyin" msgstr "雙拼" #: setup/ibus-libpinyin-preferences.ui:965 msgid "Show raw input of Double Pinyin" msgstr "顯示雙拼原始輸入" #: setup/ibus-libpinyin-preferences.ui:980 msgid "Incomplete pinyin" msgstr "簡拼" #: setup/ibus-libpinyin-preferences.ui:1002 msgid "Pinyin mode" msgstr "拼音模式" #: setup/ibus-libpinyin-preferences.ui:1044 msgid "[Shift] select candidate" msgstr "[Shift]鍵選詞" #: setup/ibus-libpinyin-preferences.ui:1054 msgid "[-] [=] flip page" msgstr "[-][=]鍵翻頁" #: setup/ibus-libpinyin-preferences.ui:1069 msgid "[,] [.] flip page" msgstr "[,][.]鍵翻頁" #: setup/ibus-libpinyin-preferences.ui:1084 msgid "Auto commit" msgstr "自動上詞" #: setup/ibus-libpinyin-preferences.ui:1098 #, fuzzy msgid " [ ] flip page" msgstr "[-][=]鍵翻頁" #: setup/ibus-libpinyin-preferences.ui:1126 msgid "Input Custom" msgstr "輸入配置" #: setup/ibus-libpinyin-preferences.ui:1274 msgid "Enable pinyin correction" msgstr "啓用拼音糾錯" #: setup/ibus-libpinyin-preferences.ui:1310 msgid "Correct pinyin" msgstr "拼音糾錯" #: setup/ibus-libpinyin-preferences.ui:1340 #: setup/ibus-libpinyin-preferences.ui:1779 msgid "Enable Cloud Input" msgstr "激活雲輸入" #: setup/ibus-libpinyin-preferences.ui:1364 #: setup/ibus-libpinyin-preferences.ui:1803 msgid "Source From:" msgstr "輸入源:" #: setup/ibus-libpinyin-preferences.ui:1409 #: setup/ibus-libpinyin-preferences.ui:1848 msgid "Cloud Input Option" msgstr "雲輸入配置" #: setup/ibus-libpinyin-preferences.ui:1431 msgid "Pinyin mode" msgstr "拼音模式" #: setup/ibus-libpinyin-preferences.ui:1470 msgid "Incomplete Bopomofo" msgstr "簡拼" #: setup/ibus-libpinyin-preferences.ui:1493 msgid "Keyboard Mapping:" msgstr "鍵盤映射:" #: setup/ibus-libpinyin-preferences.ui:1536 msgid "Bopomofo mode" msgstr "注音模式" #: setup/ibus-libpinyin-preferences.ui:1572 msgid "Selection Keys:" msgstr "選詞鍵:" #: setup/ibus-libpinyin-preferences.ui:1609 msgid "Enable Guidekey for Candidates Selection" msgstr "啓用選詞引導鍵" #: setup/ibus-libpinyin-preferences.ui:1626 msgid "Enable Auxiliary Select Keys F1 .. F10" msgstr "啓用輔助選詞鍵F1 .. F10" #: setup/ibus-libpinyin-preferences.ui:1643 msgid "Enable Auxiliary Select Keys Numbers on Keypad" msgstr "啓用數字鍵盤輔助選詞鍵" #: setup/ibus-libpinyin-preferences.ui:1666 msgid "Selection mode" msgstr "選詞模式" #: setup/ibus-libpinyin-preferences.ui:1698 msgid "Feature of Enter key:" msgstr "Enter 鍵功能:" #: setup/ibus-libpinyin-preferences.ui:1709 msgid "Commit first candidate" msgstr "輸出第一個候選詞" #: setup/ibus-libpinyin-preferences.ui:1727 msgid "Commit original text" msgstr "輸出原本的英文字" #: setup/ibus-libpinyin-preferences.ui:1749 msgid "Other" msgstr "其他" #: setup/ibus-libpinyin-preferences.ui:1870 msgid "Bopomofo mode" msgstr "注音模式" #: setup/ibus-libpinyin-preferences.ui:2032 msgid "Enable fuzzy syllable" msgstr "啓用模糊音" #: setup/ibus-libpinyin-preferences.ui:2133 msgid "Fuzzy syllable" msgstr "模糊音" #: setup/ibus-libpinyin-preferences.ui:2222 msgid "Dictionary option" msgstr "詞典選項" #: setup/ibus-libpinyin-preferences.ui:2244 msgid "Dictionary" msgstr "詞典" #: setup/ibus-libpinyin-preferences.ui:2285 msgid "Lua Extension" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2299 msgid "Table Mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2313 #, fuzzy msgid "English Mode" msgstr "英文" #: setup/ibus-libpinyin-preferences.ui:2327 #, fuzzy msgid "English Candidate" msgstr "英文" #: setup/ibus-libpinyin-preferences.ui:2341 #, fuzzy msgid "Emoji Candidate" msgstr "每頁顯示候選詞條目數量:" #: setup/ibus-libpinyin-preferences.ui:2355 #, fuzzy msgid "Suggestion Candidate" msgstr "候選詞排列方向:" #: setup/ibus-libpinyin-preferences.ui:2375 #, fuzzy msgid "Input Modes" msgstr "輸入配置" #: setup/ibus-libpinyin-preferences.ui:2406 msgid "User Lua Script" msgstr "用戶 Lua 腳本" #: setup/ibus-libpinyin-preferences.ui:2416 msgid "Edit" msgstr "編輯" #: setup/ibus-libpinyin-preferences.ui:2436 msgid "Customize IME" msgstr "定製輸入法" #: setup/ibus-libpinyin-preferences.ui:2471 #: setup/ibus-libpinyin-preferences.ui:2655 msgid "Export" msgstr "導出" #: setup/ibus-libpinyin-preferences.ui:2486 #: setup/ibus-libpinyin-preferences.ui:2670 msgid "Import" msgstr "導入" #: setup/ibus-libpinyin-preferences.ui:2502 msgid "User Dictionary" msgstr "用戶詞典" #: setup/ibus-libpinyin-preferences.ui:2527 msgid "Clear All Data" msgstr "清除全部數據" #: setup/ibus-libpinyin-preferences.ui:2547 #: setup/ibus-libpinyin-preferences.ui:2700 msgid "Clear" msgstr "清除" #: setup/ibus-libpinyin-preferences.ui:2575 msgid "" "Dictionary File Format:\n" " Each line contains one of the following:\n" " \"phrase pinyin\" or \"phrase pinyin frequency\"\n" " like \"你好 ni'hao\" or \"你好 ni'hao 5\"." msgstr "" "詞典文件格式:\n" " 每一行包含以下兩者之一:\n" " \"短語 拼音\" 或 \"短語 拼音 頻率\"\n" " 例如 \"你好 ni'hao\" 或 \"你好 ni'hao 5\"。" #: setup/ibus-libpinyin-preferences.ui:2588 #: setup/ibus-libpinyin-preferences.ui:2738 msgid "Help" msgstr "幫助" #: setup/ibus-libpinyin-preferences.ui:2606 msgid "User Dictionary" msgstr "用戶詞典" #: setup/ibus-libpinyin-preferences.ui:2642 #, fuzzy msgid "User Table" msgstr "用戶數據" #: setup/ibus-libpinyin-preferences.ui:2728 #, fuzzy msgid "" "Table File Format:\n" " Each line contains the following:\n" " \"table_code phrase frequency\" like \"a 啊 100\"." msgstr "" "詞典文件格式:\n" " 每一行包含以下兩者之一:\n" " \"短語 拼音\" 或 \"短語 拼音 頻率\"\n" " 例如 \"你好 ni'hao\" 或 \"你好 ni'hao 5\"。" #: setup/ibus-libpinyin-preferences.ui:2756 #, fuzzy msgid "User Table" msgstr "用戶詞典" #: setup/ibus-libpinyin-preferences.ui:2778 msgid "User data" msgstr "用戶數據" #: setup/ibus-libpinyin-preferences.ui:2808 msgid "Shortcuts" msgstr "快捷鍵" #: setup/ibus-libpinyin-preferences.ui:2864 msgid "Intelligent Pinyin input method for IBus" msgstr "IBus 智能拼音輸入法" #: setup/ibus-libpinyin-preferences.ui:2877 msgid "Copyright (c) 2011-2024 Peng Wu" msgstr "版權所有 (c) 2011-2024 吳鵬" #: setup/ibus-libpinyin-preferences.ui:2890 msgid "https://github.com/libpinyin/ibus-libpinyin" msgstr "https://github.com/libpinyin/ibus-libpinyin" #: setup/ibus-libpinyin-preferences.ui:2907 msgid "" "\n" "Authors:\n" "Peng Wu\n" "Peng Huang\n" "BYVoid\n" "\n" "Main Contributors:\n" "Weixuan XIAO, Linyu XU\n" "\n" "Contributors:\n" "koterpilla, Zerng07, Hillwood Yang\n" "" msgstr "" "\n" "作者:\n" "Peng Huang\n" "Peng Wu\n" "BYVoid\n" "\n" "主要貢獻者:\n" "肖威軒,許林玉\n" "\n" "貢獻者:\n" "koterpilla, Zerng07, Hillwood Yang\n" "" #: setup/ibus-libpinyin-preferences.ui:2947 msgid "About" msgstr "關於" #: data/ibus-setup-libpinyin.desktop.in:3 msgid "IBus LibPinyin Setup" msgstr "IBus 智能拼音配置工具" #: data/ibus-setup-libpinyin.desktop.in:4 msgid "Set ibus-libpinyin Preferences" msgstr "設定 IBus 智能拼音個人偏好" #: data/ibus-setup-libbopomofo.desktop.in:3 msgid "IBus LibBopomofo Preferences" msgstr "IBus 注音配置工具" #: data/ibus-setup-libbopomofo.desktop.in:4 msgid "Set ibus-libbopomofo Preferences" msgstr "設定 IBus 注音個人偏好" #~ msgid "Show suggestions." #~ msgstr "顯示建議。" #~ msgid "Show emoji." #~ msgstr "顯示表情符號。" #, fuzzy #~ msgid "Intelligent Bopomofo (debug)" #~ msgstr "注音(調試)" #, fuzzy #~ msgid "GB Dictionary" #~ msgstr "詞典" #, fuzzy #~ msgid "GBK Dictionary" #~ msgstr "詞典" #~ msgid "Edit custom phrases" #~ msgstr "編輯自定義詞組" #~ msgid "Use custom phrases" #~ msgstr "使用自定義詞組" #~ msgid "http://ibus.googlecode.com" #~ msgstr "http://ibus.googlecode.com" ibus-libpinyin-1.16.1/po/el.gmo0000644000175000017500000000324114737373732011760    !)19>ELa t   &/5@;v/   1>Scy  ArtCultureDescriptionEconomyGeologyHistoryLifeNaturePeoplePlease choose a filePlease save a filePreferencesScienceShorcut EditorShortcut:SocietySportTechnology_Cancel_Default_Edit_OKProject-Id-Version: ibus-libpinyin 1.12.91 Report-Msgid-Bugs-To: https://github.com/libpinyin/ibus-libpinyin/issues/new PO-Revision-Date: 2024-09-08 13:38+0000 Last-Translator: Giannis Antypas Language-Team: Greek Language: el MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 5.7.2 ΤέχνηΠολιτισμόςΠεριγραφήΟικονομίαΓεωλογίαΙστορίαΖωήΦύσηΆνθρωποιΠαρακαλώ επιλέξτε ένα αρχείοΠαρακαλώ αποθηκεύστε ένα αρχείοΠροτιμήσειςΕπιστήμηΕπεξεργαστής συντόμευσηςΣυντόμευση:ΚοινωνίαΆθλησηΤεχνολογία_Ακύρωση_Προεπιλογή_Επεξεργασία_Εντάξειibus-libpinyin-1.16.1/po/el.po0000644000175000017500000004041014737373731011612 # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Peng Huang # This file is distributed under the same license as the ibus-libpinyin package. # Giannis Antypas , 2024. msgid "" msgstr "" "Project-Id-Version: ibus-libpinyin 1.12.91\n" "Report-Msgid-Bugs-To: https://github.com/libpinyin/ibus-libpinyin/issues/" "new\n" "POT-Creation-Date: 2025-01-08 11:58+0800\n" "PO-Revision-Date: 2024-09-08 13:38+0000\n" "Last-Translator: Giannis Antypas \n" "Language-Team: Greek \n" "Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.7.2\n" #: src/PYPConfig.cc:695 msgid "The table file is imported." msgstr "" #: src/PYPConfig.cc:702 msgid "The table file is exported." msgstr "" #: src/PYPConfig.cc:714 msgid "The pinyin dictionary file is imported." msgstr "" #: src/PYPConfig.cc:721 msgid "The pinyin dictionary file is exported." msgstr "" #: src/PYMain.cc:117 msgid "Libpinyin input method" msgstr "" #: src/PYMain.cc:127 msgid "Intelligent Pinyin (debug)" msgstr "" #: src/PYMain.cc:128 msgid "Intelligent Pinyin input method (debug)" msgstr "" #: src/PYMain.cc:138 msgid "Bopomofo (debug)" msgstr "" #: src/PYMain.cc:139 msgid "Bopomofo input method (debug)" msgstr "" #: src/PYPinyinProperties.cc:40 src/PYPinyinProperties.cc:128 #: setup/ibus-libpinyin-preferences.ui:111 #: setup/ibus-libpinyin-preferences.ui:298 msgid "Chinese" msgstr "" #: src/PYPinyinProperties.cc:41 src/PYPinyinProperties.cc:129 #: setup/ibus-libpinyin-preferences.ui:107 #: setup/ibus-libpinyin-preferences.ui:313 msgid "English" msgstr "" #: src/PYPinyinProperties.cc:46 src/PYPinyinProperties.cc:140 msgid "Switch to English Mode" msgstr "" #: src/PYPinyinProperties.cc:47 src/PYPinyinProperties.cc:141 msgid "Switch to Chinese Mode" msgstr "" #: src/PYPinyinProperties.cc:51 src/PYPinyinProperties.cc:153 msgid "Full Width Letter" msgstr "" #: src/PYPinyinProperties.cc:52 src/PYPinyinProperties.cc:154 msgid "Half Width Letter" msgstr "" #: src/PYPinyinProperties.cc:57 src/PYPinyinProperties.cc:159 msgid "Switch to Half Width Letter Mode" msgstr "" #: src/PYPinyinProperties.cc:58 src/PYPinyinProperties.cc:160 msgid "Switch to Full Width Letter Mode" msgstr "" #: src/PYPinyinProperties.cc:62 src/PYPinyinProperties.cc:169 msgid "Full Width Punct" msgstr "" #: src/PYPinyinProperties.cc:63 src/PYPinyinProperties.cc:170 msgid "Half Width Punct" msgstr "" #: src/PYPinyinProperties.cc:68 src/PYPinyinProperties.cc:175 msgid "Switch to Half Width Punctuation Mode" msgstr "" #: src/PYPinyinProperties.cc:69 src/PYPinyinProperties.cc:176 msgid "Switch to Full Width Punctuation Mode" msgstr "" #: src/PYPinyinProperties.cc:73 src/PYPinyinProperties.cc:185 msgid "Simplified Chinese" msgstr "" #: src/PYPinyinProperties.cc:74 src/PYPinyinProperties.cc:186 msgid "Traditional Chinese" msgstr "" #: src/PYPinyinProperties.cc:79 src/PYPinyinProperties.cc:191 msgid "Switch to Traditional Chinese Mode" msgstr "" #: src/PYPinyinProperties.cc:80 src/PYPinyinProperties.cc:192 msgid "Switch to Simplfied Chinese Mode" msgstr "" #: src/PYPinyinProperties.cc:83 src/PYPinyinProperties.cc:85 #: setup/ibus-libpinyin-preferences.ui:185 msgid "Preferences" msgstr "Προτιμήσεις" #: src/PYPinyinProperties.cc:88 src/PYPinyinProperties.cc:132 msgid "中" msgstr "" #: src/PYPinyinProperties.cc:90 src/PYPinyinProperties.cc:134 msgid "英" msgstr "" #: src/PYPinyinProperties.cc:270 msgid "Lua Converter" msgstr "" #: src/PYPinyinProperties.cc:272 msgid "Use the Lua Convertor" msgstr "" #: src/PYPinyinProperties.cc:279 msgid "None" msgstr "" #: src/PYEnglishEditor.cc:307 msgid "Please input the English word." msgstr "" #: src/PYTableEditor.cc:306 msgid "Please use \"hspnz\" to input." msgstr "" #: src/PYTableEditor.cc:309 msgid "Please use table code to input." msgstr "" #: setup/main2.py:493 msgid "Please choose a file" msgstr "Παρακαλώ επιλέξτε ένα αρχείο" #: setup/main2.py:514 msgid "Please save a file" msgstr "Παρακαλώ αποθηκεύστε ένα αρχείο" #: setup/main2.py:662 setup/ibus-libpinyin-preferences.ui:2850 #, python-format msgid "Intelligent Pinyin %s" msgstr "" #: setup/config.py:30 msgid "Intelligent Pinyin" msgstr "" #: setup/dicttreeview.py:52 msgid "Art" msgstr "Τέχνη" #: setup/dicttreeview.py:53 msgid "Culture" msgstr "Πολιτισμός" #: setup/dicttreeview.py:54 msgid "Economy" msgstr "Οικονομία" #: setup/dicttreeview.py:55 msgid "Geology" msgstr "Γεωλογία" #: setup/dicttreeview.py:56 msgid "History" msgstr "Ιστορία" #: setup/dicttreeview.py:57 msgid "Life" msgstr "Ζωή" #: setup/dicttreeview.py:58 msgid "Nature" msgstr "Φύση" #: setup/dicttreeview.py:59 msgid "People" msgstr "Άνθρωποι" #: setup/dicttreeview.py:60 msgid "Science" msgstr "Επιστήμη" #: setup/dicttreeview.py:61 msgid "Society" msgstr "Κοινωνία" #: setup/dicttreeview.py:62 msgid "Sport" msgstr "Άθληση" #: setup/dicttreeview.py:63 msgid "Technology" msgstr "Τεχνολογία" #: setup/dicttreeview.py:110 msgid "Active" msgstr "" #: setup/dicttreeview.py:115 setup/shortcuteditor.py:83 msgid "Description" msgstr "Περιγραφή" #: setup/keyboardshortcut.py:54 msgid "Shortcut:" msgstr "Συντόμευση:" #: setup/keyboardshortcut.py:67 msgid "Key code:" msgstr "" #: setup/keyboardshortcut.py:82 msgid "Modifiers:" msgstr "" #: setup/keyboardshortcut.py:171 msgid "" "Please press a key (or a key combination).\n" "The dialog will close when the key is released." msgstr "" #: setup/keyboardshortcut.py:174 msgid "Please press a key (or a key combination)" msgstr "" #: setup/keyboardshortcut.py:186 msgid "Shorcut Editor" msgstr "Επεξεργαστής συντόμευσης" #: setup/keyboardshortcut.py:239 setup/shortcuteditor.py:196 #: setup/shortcuteditor.py:233 msgid "_Cancel" msgstr "_Ακύρωση" #: setup/keyboardshortcut.py:240 setup/shortcuteditor.py:197 #: setup/shortcuteditor.py:234 msgid "_OK" msgstr "_Εντάξει" #: setup/shortcuteditor.py:46 msgid "Switch Chinese/English" msgstr "" #: setup/shortcuteditor.py:47 msgid "Full/Half Width Letter" msgstr "" #: setup/shortcuteditor.py:48 msgid "Full/Half Width Punct" msgstr "" #: setup/shortcuteditor.py:49 msgid "Full/Half Width Both Switch" msgstr "" #: setup/shortcuteditor.py:50 msgid "Switch Traditional/Simplfied Chinese" msgstr "" #: setup/shortcuteditor.py:88 msgid "Accelerator" msgstr "" #: setup/shortcuteditor.py:106 msgid "This shortcut key is already in use." msgstr "" #. set default button #: setup/shortcuteditor.py:164 msgid "_Default" msgstr "_Προεπιλογή" #. edit button #: setup/shortcuteditor.py:169 msgid "_Edit" msgstr "_Επεξεργασία" #: setup/shortcuteditor.py:195 msgid "Select Switching Key" msgstr "" #: setup/ibus-libpinyin-preferences.ui:20 msgid "Standard" msgstr "" #: setup/ibus-libpinyin-preferences.ui:23 msgid "GinYieh" msgstr "" #: setup/ibus-libpinyin-preferences.ui:26 msgid "Eten" msgstr "" #: setup/ibus-libpinyin-preferences.ui:29 msgid "IBM" msgstr "" #: setup/ibus-libpinyin-preferences.ui:40 msgid "Baidu" msgstr "" #: setup/ibus-libpinyin-preferences.ui:43 msgid "Google" msgstr "" #: setup/ibus-libpinyin-preferences.ui:46 msgid "Google CN" msgstr "" #: setup/ibus-libpinyin-preferences.ui:57 #: setup/ibus-libpinyin-preferences.ui:103 msgid "Default" msgstr "" #: setup/ibus-libpinyin-preferences.ui:60 msgid "Compact" msgstr "" #: setup/ibus-libpinyin-preferences.ui:63 msgid "Compatibility" msgstr "" #: setup/ibus-libpinyin-preferences.ui:74 msgid "MSPY" msgstr "" #: setup/ibus-libpinyin-preferences.ui:77 msgid "ZRM" msgstr "" #: setup/ibus-libpinyin-preferences.ui:80 msgid "ABC" msgstr "" #: setup/ibus-libpinyin-preferences.ui:83 msgid "ZGPY" msgstr "" #: setup/ibus-libpinyin-preferences.ui:86 msgid "PYJJ" msgstr "" #: setup/ibus-libpinyin-preferences.ui:89 msgid "XHE" msgstr "" #: setup/ibus-libpinyin-preferences.ui:122 msgid "Horizontal" msgstr "" #: setup/ibus-libpinyin-preferences.ui:125 msgid "Vertical" msgstr "" #: setup/ibus-libpinyin-preferences.ui:171 msgid "Frequency" msgstr "" #: setup/ibus-libpinyin-preferences.ui:174 msgid "Pinyin Length" msgstr "" #: setup/ibus-libpinyin-preferences.ui:177 msgid "Legacy" msgstr "" #: setup/ibus-libpinyin-preferences.ui:268 msgid "Language:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:276 msgid "Half/full width:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:288 msgid "Punctuations:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:328 #: setup/ibus-libpinyin-preferences.ui:362 msgid "Full" msgstr "" #: setup/ibus-libpinyin-preferences.ui:345 #: setup/ibus-libpinyin-preferences.ui:379 msgid "Half" msgstr "" #: setup/ibus-libpinyin-preferences.ui:398 msgid "Chinese:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:408 msgid "Simplified" msgstr "" #: setup/ibus-libpinyin-preferences.ui:425 msgid "Traditional" msgstr "" #: setup/ibus-libpinyin-preferences.ui:448 msgid "Initial state" msgstr "" #: setup/ibus-libpinyin-preferences.ui:486 msgid "Display Style:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:532 msgid "Orientation of candidates:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:578 msgid "Number of candidates:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:617 msgid "UI" msgstr "" #: setup/ibus-libpinyin-preferences.ui:646 msgid "Dynamically adjust the candidates order." msgstr "" #: setup/ibus-libpinyin-preferences.ui:661 msgid "Remember every input as a phrase." msgstr "" #: setup/ibus-libpinyin-preferences.ui:684 msgid "Sort candidates by:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:727 msgid "Candidates" msgstr "" #: setup/ibus-libpinyin-preferences.ui:763 msgid "Keyboard Layout:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:819 #: setup/ibus-libpinyin-preferences.ui:2199 msgid "Tips: Changes may not take effect until ime restarts." msgstr "" #: setup/ibus-libpinyin-preferences.ui:842 msgid "Keyboard" msgstr "" #: setup/ibus-libpinyin-preferences.ui:861 msgid "General" msgstr "" #: setup/ibus-libpinyin-preferences.ui:901 msgid "Full pinyin" msgstr "" #: setup/ibus-libpinyin-preferences.ui:922 msgid "Double pinyin" msgstr "" #: setup/ibus-libpinyin-preferences.ui:965 msgid "Show raw input of Double Pinyin" msgstr "" #: setup/ibus-libpinyin-preferences.ui:980 msgid "Incomplete pinyin" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1002 msgid "Pinyin mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1044 msgid "[Shift] select candidate" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1054 msgid "[-] [=] flip page" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1069 msgid "[,] [.] flip page" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1084 msgid "Auto commit" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1098 msgid " [ ] flip page" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1126 msgid "Input Custom" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1274 msgid "Enable pinyin correction" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1310 msgid "Correct pinyin" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1340 #: setup/ibus-libpinyin-preferences.ui:1779 msgid "Enable Cloud Input" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1364 #: setup/ibus-libpinyin-preferences.ui:1803 msgid "Source From:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1409 #: setup/ibus-libpinyin-preferences.ui:1848 msgid "Cloud Input Option" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1431 msgid "Pinyin mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1470 msgid "Incomplete Bopomofo" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1493 msgid "Keyboard Mapping:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1536 msgid "Bopomofo mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1572 msgid "Selection Keys:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1609 msgid "Enable Guidekey for Candidates Selection" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1626 msgid "Enable Auxiliary Select Keys F1 .. F10" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1643 msgid "Enable Auxiliary Select Keys Numbers on Keypad" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1666 msgid "Selection mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1698 msgid "Feature of Enter key:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1709 msgid "Commit first candidate" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1727 msgid "Commit original text" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1749 msgid "Other" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1870 msgid "Bopomofo mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2032 msgid "Enable fuzzy syllable" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2133 msgid "Fuzzy syllable" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2222 msgid "Dictionary option" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2244 msgid "Dictionary" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2285 msgid "Lua Extension" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2299 msgid "Table Mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2313 msgid "English Mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2327 msgid "English Candidate" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2341 msgid "Emoji Candidate" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2355 msgid "Suggestion Candidate" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2375 msgid "Input Modes" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2406 msgid "User Lua Script" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2416 msgid "Edit" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2436 msgid "Customize IME" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2471 #: setup/ibus-libpinyin-preferences.ui:2655 msgid "Export" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2486 #: setup/ibus-libpinyin-preferences.ui:2670 msgid "Import" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2502 msgid "User Dictionary" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2527 msgid "Clear All Data" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2547 #: setup/ibus-libpinyin-preferences.ui:2700 msgid "Clear" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2575 msgid "" "Dictionary File Format:\n" " Each line contains one of the following:\n" " \"phrase pinyin\" or \"phrase pinyin frequency\"\n" " like \"你好 ni'hao\" or \"你好 ni'hao 5\"." msgstr "" #: setup/ibus-libpinyin-preferences.ui:2588 #: setup/ibus-libpinyin-preferences.ui:2738 msgid "Help" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2606 msgid "User Dictionary" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2642 msgid "User Table" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2728 msgid "" "Table File Format:\n" " Each line contains the following:\n" " \"table_code phrase frequency\" like \"a 啊 100\"." msgstr "" #: setup/ibus-libpinyin-preferences.ui:2756 msgid "User Table" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2778 msgid "User data" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2808 msgid "Shortcuts" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2864 msgid "Intelligent Pinyin input method for IBus" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2877 msgid "Copyright (c) 2011-2024 Peng Wu" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2890 msgid "https://github.com/libpinyin/ibus-libpinyin" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2907 msgid "" "\n" "Authors:\n" "Peng Wu\n" "Peng Huang\n" "BYVoid\n" "\n" "Main Contributors:\n" "Weixuan XIAO, Linyu XU\n" "\n" "Contributors:\n" "koterpilla, Zerng07, Hillwood Yang\n" "" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2947 msgid "About" msgstr "" #: data/ibus-setup-libpinyin.desktop.in:3 msgid "IBus LibPinyin Setup" msgstr "" #: data/ibus-setup-libpinyin.desktop.in:4 msgid "Set ibus-libpinyin Preferences" msgstr "" #: data/ibus-setup-libbopomofo.desktop.in:3 msgid "IBus LibBopomofo Preferences" msgstr "" #: data/ibus-setup-libbopomofo.desktop.in:4 msgid "Set ibus-libbopomofo Preferences" msgstr "" ibus-libpinyin-1.16.1/po/zh_CN.po0000644000175000017500000005020314737714225012211 # Simplified Chinese translation. # Copyright (C) YEAR Peng Huang # This file is distributed under the same license as the ibus-libpinyin package. # Peng Huang , 2009. # Harry Chen , 2020. # Hillwood Yang , 2020. # Peng Wu , 2020, 2022, 2024, 2025. # Dingzhong Chen , 2021. # Liu Tao , 2021. msgid "" msgstr "" "Project-Id-Version: ibus-libpinyin 1.2.99\n" "Report-Msgid-Bugs-To: https://github.com/libpinyin/ibus-libpinyin/issues/" "new\n" "POT-Creation-Date: 2025-01-08 11:58+0800\n" "PO-Revision-Date: 2025-01-09 08:49+0000\n" "Last-Translator: Peng Wu \n" "Language-Team: Chinese (Simplified) \n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 5.9.2\n" #: src/PYPConfig.cc:695 msgid "The table file is imported." msgstr "码表文件已导入。" #: src/PYPConfig.cc:702 msgid "The table file is exported." msgstr "码表文件已导出。" #: src/PYPConfig.cc:714 msgid "The pinyin dictionary file is imported." msgstr "拼音词典已导入。" #: src/PYPConfig.cc:721 msgid "The pinyin dictionary file is exported." msgstr "拼音词典已导出。" #: src/PYMain.cc:117 msgid "Libpinyin input method" msgstr "智能拼音输入法" #: src/PYMain.cc:127 msgid "Intelligent Pinyin (debug)" msgstr "智能拼音(调试)" #: src/PYMain.cc:128 msgid "Intelligent Pinyin input method (debug)" msgstr "智能拼音输入法(调试)" #: src/PYMain.cc:138 msgid "Bopomofo (debug)" msgstr "注音(调试)" #: src/PYMain.cc:139 msgid "Bopomofo input method (debug)" msgstr "注音输入法(调试)" #: src/PYPinyinProperties.cc:40 src/PYPinyinProperties.cc:128 #: setup/ibus-libpinyin-preferences.ui:111 #: setup/ibus-libpinyin-preferences.ui:298 msgid "Chinese" msgstr "中文" #: src/PYPinyinProperties.cc:41 src/PYPinyinProperties.cc:129 #: setup/ibus-libpinyin-preferences.ui:107 #: setup/ibus-libpinyin-preferences.ui:313 msgid "English" msgstr "英文" #: src/PYPinyinProperties.cc:46 src/PYPinyinProperties.cc:140 msgid "Switch to English Mode" msgstr "切换到英文模式" #: src/PYPinyinProperties.cc:47 src/PYPinyinProperties.cc:141 msgid "Switch to Chinese Mode" msgstr "切换到中文模式" #: src/PYPinyinProperties.cc:51 src/PYPinyinProperties.cc:153 msgid "Full Width Letter" msgstr "全角字母" #: src/PYPinyinProperties.cc:52 src/PYPinyinProperties.cc:154 msgid "Half Width Letter" msgstr "半角字母" #: src/PYPinyinProperties.cc:57 src/PYPinyinProperties.cc:159 msgid "Switch to Half Width Letter Mode" msgstr "切换到半母字母模式" #: src/PYPinyinProperties.cc:58 src/PYPinyinProperties.cc:160 msgid "Switch to Full Width Letter Mode" msgstr "切换到全角字母模式" #: src/PYPinyinProperties.cc:62 src/PYPinyinProperties.cc:169 msgid "Full Width Punct" msgstr "全角标点" #: src/PYPinyinProperties.cc:63 src/PYPinyinProperties.cc:170 msgid "Half Width Punct" msgstr "半角标点" #: src/PYPinyinProperties.cc:68 src/PYPinyinProperties.cc:175 msgid "Switch to Half Width Punctuation Mode" msgstr "切换到半角标点模式" #: src/PYPinyinProperties.cc:69 src/PYPinyinProperties.cc:176 msgid "Switch to Full Width Punctuation Mode" msgstr "切换到全角标点模式" #: src/PYPinyinProperties.cc:73 src/PYPinyinProperties.cc:185 msgid "Simplified Chinese" msgstr "简体中文" #: src/PYPinyinProperties.cc:74 src/PYPinyinProperties.cc:186 msgid "Traditional Chinese" msgstr "繁体中文" #: src/PYPinyinProperties.cc:79 src/PYPinyinProperties.cc:191 msgid "Switch to Traditional Chinese Mode" msgstr "切换到繁体中文模式" #: src/PYPinyinProperties.cc:80 src/PYPinyinProperties.cc:192 msgid "Switch to Simplfied Chinese Mode" msgstr "切换到简体中文模式" #: src/PYPinyinProperties.cc:83 src/PYPinyinProperties.cc:85 #: setup/ibus-libpinyin-preferences.ui:185 msgid "Preferences" msgstr "首选项" #: src/PYPinyinProperties.cc:88 src/PYPinyinProperties.cc:132 msgid "中" msgstr "中" #: src/PYPinyinProperties.cc:90 src/PYPinyinProperties.cc:134 msgid "英" msgstr "英" #: src/PYPinyinProperties.cc:270 msgid "Lua Converter" msgstr "Lua Converter" #: src/PYPinyinProperties.cc:272 msgid "Use the Lua Convertor" msgstr "使用 Lua Convertor" #: src/PYPinyinProperties.cc:279 msgid "None" msgstr "无" #: src/PYEnglishEditor.cc:307 msgid "Please input the English word." msgstr "请输入英文单词。" #: src/PYTableEditor.cc:306 msgid "Please use \"hspnz\" to input." msgstr "请用 \"hspnz\" 笔画输入中文字符。" #: src/PYTableEditor.cc:309 msgid "Please use table code to input." msgstr "请用导入的码表输入中文字符。" #: setup/main2.py:493 msgid "Please choose a file" msgstr "请选择文件" #: setup/main2.py:514 msgid "Please save a file" msgstr "请保存文件" #: setup/main2.py:662 setup/ibus-libpinyin-preferences.ui:2850 #, python-format msgid "Intelligent Pinyin %s" msgstr "IBus 智能拼音 %s" #: setup/config.py:30 msgid "Intelligent Pinyin" msgstr "智能拼音" #: setup/dicttreeview.py:52 msgid "Art" msgstr "艺术" #: setup/dicttreeview.py:53 msgid "Culture" msgstr "文化" #: setup/dicttreeview.py:54 msgid "Economy" msgstr "经济" #: setup/dicttreeview.py:55 msgid "Geology" msgstr "地理" #: setup/dicttreeview.py:56 msgid "History" msgstr "历史" #: setup/dicttreeview.py:57 msgid "Life" msgstr "生活" #: setup/dicttreeview.py:58 msgid "Nature" msgstr "自然" #: setup/dicttreeview.py:59 msgid "People" msgstr "人物" #: setup/dicttreeview.py:60 msgid "Science" msgstr "科学" #: setup/dicttreeview.py:61 msgid "Society" msgstr "社会" #: setup/dicttreeview.py:62 msgid "Sport" msgstr "体育" #: setup/dicttreeview.py:63 msgid "Technology" msgstr "技术" #: setup/dicttreeview.py:110 msgid "Active" msgstr "启用" #: setup/dicttreeview.py:115 setup/shortcuteditor.py:83 msgid "Description" msgstr "描述" #: setup/keyboardshortcut.py:54 msgid "Shortcut:" msgstr "快捷键:" #: setup/keyboardshortcut.py:67 msgid "Key code:" msgstr "键码:" #: setup/keyboardshortcut.py:82 msgid "Modifiers:" msgstr "修饰键:" #: setup/keyboardshortcut.py:171 msgid "" "Please press a key (or a key combination).\n" "The dialog will close when the key is released." msgstr "" "请按下一个键盘按键(或按键组合)。\n" "松开按键后,此对话窗将自动关闭。" #: setup/keyboardshortcut.py:174 msgid "Please press a key (or a key combination)" msgstr "请按下一个键盘按键(或者按键组合)" #: setup/keyboardshortcut.py:186 msgid "Shorcut Editor" msgstr "快捷键编辑器" #: setup/keyboardshortcut.py:239 setup/shortcuteditor.py:196 #: setup/shortcuteditor.py:233 msgid "_Cancel" msgstr "取消(_C)" #: setup/keyboardshortcut.py:240 setup/shortcuteditor.py:197 #: setup/shortcuteditor.py:234 msgid "_OK" msgstr "确定(_O)" #: setup/shortcuteditor.py:46 msgid "Switch Chinese/English" msgstr "切换中文/英文模式" #: setup/shortcuteditor.py:47 msgid "Full/Half Width Letter" msgstr "全角/半角字母" #: setup/shortcuteditor.py:48 msgid "Full/Half Width Punct" msgstr "全角/半角标点" #: setup/shortcuteditor.py:49 msgid "Full/Half Width Both Switch" msgstr "全部切换全角/半角" #: setup/shortcuteditor.py:50 msgid "Switch Traditional/Simplfied Chinese" msgstr "切换繁体/简体中文模式" #: setup/shortcuteditor.py:88 msgid "Accelerator" msgstr "快捷键" #: setup/shortcuteditor.py:106 msgid "This shortcut key is already in use." msgstr "此快捷键已被占用。" #. set default button #: setup/shortcuteditor.py:164 msgid "_Default" msgstr "默认值(_D)" #. edit button #: setup/shortcuteditor.py:169 msgid "_Edit" msgstr "编辑(_E)" #: setup/shortcuteditor.py:195 msgid "Select Switching Key" msgstr "选择切换键" #: setup/ibus-libpinyin-preferences.ui:20 msgid "Standard" msgstr "标准" #: setup/ibus-libpinyin-preferences.ui:23 msgid "GinYieh" msgstr "精业" #: setup/ibus-libpinyin-preferences.ui:26 msgid "Eten" msgstr "倚天" #: setup/ibus-libpinyin-preferences.ui:29 msgid "IBM" msgstr "IBM" #: setup/ibus-libpinyin-preferences.ui:40 msgid "Baidu" msgstr "百度" #: setup/ibus-libpinyin-preferences.ui:43 msgid "Google" msgstr "Google" #: setup/ibus-libpinyin-preferences.ui:46 msgid "Google CN" msgstr "谷歌" #: setup/ibus-libpinyin-preferences.ui:57 #: setup/ibus-libpinyin-preferences.ui:103 msgid "Default" msgstr "默认" #: setup/ibus-libpinyin-preferences.ui:60 msgid "Compact" msgstr "紧凑" #: setup/ibus-libpinyin-preferences.ui:63 msgid "Compatibility" msgstr "兼容" #: setup/ibus-libpinyin-preferences.ui:74 msgid "MSPY" msgstr "微软拼音" #: setup/ibus-libpinyin-preferences.ui:77 msgid "ZRM" msgstr "自然码" #: setup/ibus-libpinyin-preferences.ui:80 msgid "ABC" msgstr "智能ABC" #: setup/ibus-libpinyin-preferences.ui:83 msgid "ZGPY" msgstr "紫光拼音" #: setup/ibus-libpinyin-preferences.ui:86 msgid "PYJJ" msgstr "拼音加加" #: setup/ibus-libpinyin-preferences.ui:89 msgid "XHE" msgstr "小鹤" #: setup/ibus-libpinyin-preferences.ui:122 msgid "Horizontal" msgstr "水平" #: setup/ibus-libpinyin-preferences.ui:125 msgid "Vertical" msgstr "竖直" #: setup/ibus-libpinyin-preferences.ui:171 msgid "Frequency" msgstr "词频" #: setup/ibus-libpinyin-preferences.ui:174 msgid "Pinyin Length" msgstr "拼音长度" #: setup/ibus-libpinyin-preferences.ui:177 msgid "Legacy" msgstr "词语模式" #: setup/ibus-libpinyin-preferences.ui:268 msgid "Language:" msgstr "语言:" #: setup/ibus-libpinyin-preferences.ui:276 msgid "Half/full width:" msgstr "全角/半角:" #: setup/ibus-libpinyin-preferences.ui:288 msgid "Punctuations:" msgstr "标点符号:" #: setup/ibus-libpinyin-preferences.ui:328 #: setup/ibus-libpinyin-preferences.ui:362 msgid "Full" msgstr "全角" #: setup/ibus-libpinyin-preferences.ui:345 #: setup/ibus-libpinyin-preferences.ui:379 msgid "Half" msgstr "半角" #: setup/ibus-libpinyin-preferences.ui:398 msgid "Chinese:" msgstr "中文:" #: setup/ibus-libpinyin-preferences.ui:408 msgid "Simplified" msgstr "简体" #: setup/ibus-libpinyin-preferences.ui:425 msgid "Traditional" msgstr "繁体" #: setup/ibus-libpinyin-preferences.ui:448 msgid "Initial state" msgstr "初始状态" #: setup/ibus-libpinyin-preferences.ui:486 msgid "Display Style:" msgstr "显示风格:" #: setup/ibus-libpinyin-preferences.ui:532 msgid "Orientation of candidates:" msgstr "候选词排列方向:" #: setup/ibus-libpinyin-preferences.ui:578 msgid "Number of candidates:" msgstr "每页显示候选词数:" #: setup/ibus-libpinyin-preferences.ui:617 msgid "UI" msgstr "外观" #: setup/ibus-libpinyin-preferences.ui:646 msgid "Dynamically adjust the candidates order." msgstr "动态调整候选词序" #: setup/ibus-libpinyin-preferences.ui:661 msgid "Remember every input as a phrase." msgstr "将每个输入记录为新的词汇" #: setup/ibus-libpinyin-preferences.ui:684 msgid "Sort candidates by:" msgstr "候选词排列顺序:" #: setup/ibus-libpinyin-preferences.ui:727 msgid "Candidates" msgstr "候选词" #: setup/ibus-libpinyin-preferences.ui:763 msgid "Keyboard Layout:" msgstr "键盘布局:" #: setup/ibus-libpinyin-preferences.ui:819 #: setup/ibus-libpinyin-preferences.ui:2199 msgid "Tips: Changes may not take effect until ime restarts." msgstr "提示:此更改可能需要重启智能拼音输入法后生效。" #: setup/ibus-libpinyin-preferences.ui:842 msgid "Keyboard" msgstr "键盘" #: setup/ibus-libpinyin-preferences.ui:861 msgid "General" msgstr "常规" #: setup/ibus-libpinyin-preferences.ui:901 msgid "Full pinyin" msgstr "全拼" #: setup/ibus-libpinyin-preferences.ui:922 msgid "Double pinyin" msgstr "双拼" #: setup/ibus-libpinyin-preferences.ui:965 msgid "Show raw input of Double Pinyin" msgstr "显示双拼原始输入" #: setup/ibus-libpinyin-preferences.ui:980 msgid "Incomplete pinyin" msgstr "简拼" #: setup/ibus-libpinyin-preferences.ui:1002 msgid "Pinyin mode" msgstr "拼音模式" #: setup/ibus-libpinyin-preferences.ui:1044 msgid "[Shift] select candidate" msgstr "[Shift] 键选次候选词" #: setup/ibus-libpinyin-preferences.ui:1054 msgid "[-] [=] flip page" msgstr "[-][=] 键翻页" #: setup/ibus-libpinyin-preferences.ui:1069 msgid "[,] [.] flip page" msgstr "[,][.] 键翻页" #: setup/ibus-libpinyin-preferences.ui:1084 msgid "Auto commit" msgstr "自动上词" #: setup/ibus-libpinyin-preferences.ui:1098 msgid " [ ] flip page" msgstr " 【】 键翻页" #: setup/ibus-libpinyin-preferences.ui:1126 msgid "Input Custom" msgstr "输入个性化" #: setup/ibus-libpinyin-preferences.ui:1274 msgid "Enable pinyin correction" msgstr "启动拼音纠错" #: setup/ibus-libpinyin-preferences.ui:1310 msgid "Correct pinyin" msgstr "拼音纠错" #: setup/ibus-libpinyin-preferences.ui:1340 #: setup/ibus-libpinyin-preferences.ui:1779 msgid "Enable Cloud Input" msgstr "启用云输入" #: setup/ibus-libpinyin-preferences.ui:1364 #: setup/ibus-libpinyin-preferences.ui:1803 msgid "Source From:" msgstr "云输入源:" #: setup/ibus-libpinyin-preferences.ui:1409 #: setup/ibus-libpinyin-preferences.ui:1848 msgid "Cloud Input Option" msgstr "云输入选项" #: setup/ibus-libpinyin-preferences.ui:1431 msgid "Pinyin mode" msgstr "拼音模式" #: setup/ibus-libpinyin-preferences.ui:1470 msgid "Incomplete Bopomofo" msgstr "简拼" #: setup/ibus-libpinyin-preferences.ui:1493 msgid "Keyboard Mapping:" msgstr "键盘映射:" #: setup/ibus-libpinyin-preferences.ui:1536 msgid "Bopomofo mode" msgstr "注音模式" #: setup/ibus-libpinyin-preferences.ui:1572 msgid "Selection Keys:" msgstr "选词键:" #: setup/ibus-libpinyin-preferences.ui:1609 msgid "Enable Guidekey for Candidates Selection" msgstr "启用选词引导键" #: setup/ibus-libpinyin-preferences.ui:1626 msgid "Enable Auxiliary Select Keys F1 .. F10" msgstr "启用辅助选词键 F1~ F10" #: setup/ibus-libpinyin-preferences.ui:1643 msgid "Enable Auxiliary Select Keys Numbers on Keypad" msgstr "启用数字键盘辅助选词键" #: setup/ibus-libpinyin-preferences.ui:1666 msgid "Selection mode" msgstr "选词模式" #: setup/ibus-libpinyin-preferences.ui:1698 msgid "Feature of Enter key:" msgstr "Enter 键功能:" #: setup/ibus-libpinyin-preferences.ui:1709 msgid "Commit first candidate" msgstr "输出第一个候选词" #: setup/ibus-libpinyin-preferences.ui:1727 msgid "Commit original text" msgstr "输出原本的英文字" #: setup/ibus-libpinyin-preferences.ui:1749 msgid "Other" msgstr "其他" #: setup/ibus-libpinyin-preferences.ui:1870 msgid "Bopomofo mode" msgstr "注音模式" #: setup/ibus-libpinyin-preferences.ui:2032 msgid "Enable fuzzy syllable" msgstr "启动模糊音" #: setup/ibus-libpinyin-preferences.ui:2133 msgid "Fuzzy syllable" msgstr "模糊音" #: setup/ibus-libpinyin-preferences.ui:2222 msgid "Dictionary option" msgstr "词典选项" #: setup/ibus-libpinyin-preferences.ui:2244 msgid "Dictionary" msgstr "词典" #: setup/ibus-libpinyin-preferences.ui:2285 msgid "Lua Extension" msgstr "Lua 脚本模式" #: setup/ibus-libpinyin-preferences.ui:2299 msgid "Table Mode" msgstr "码表模式" #: setup/ibus-libpinyin-preferences.ui:2313 msgid "English Mode" msgstr "英文模式" #: setup/ibus-libpinyin-preferences.ui:2327 msgid "English Candidate" msgstr "英文候选词" #: setup/ibus-libpinyin-preferences.ui:2341 msgid "Emoji Candidate" msgstr "表情候选词" #: setup/ibus-libpinyin-preferences.ui:2355 msgid "Suggestion Candidate" msgstr "联想候选词" #: setup/ibus-libpinyin-preferences.ui:2375 msgid "Input Modes" msgstr "输入模式" #: setup/ibus-libpinyin-preferences.ui:2406 msgid "User Lua Script" msgstr "用户 Lua 脚本" #: setup/ibus-libpinyin-preferences.ui:2416 msgid "Edit" msgstr "编辑" #: setup/ibus-libpinyin-preferences.ui:2436 msgid "Customize IME" msgstr "定制输入法" #: setup/ibus-libpinyin-preferences.ui:2471 #: setup/ibus-libpinyin-preferences.ui:2655 msgid "Export" msgstr "导出" #: setup/ibus-libpinyin-preferences.ui:2486 #: setup/ibus-libpinyin-preferences.ui:2670 msgid "Import" msgstr "导入" #: setup/ibus-libpinyin-preferences.ui:2502 msgid "User Dictionary" msgstr "用户词典" #: setup/ibus-libpinyin-preferences.ui:2527 msgid "Clear All Data" msgstr "清除所有数据" #: setup/ibus-libpinyin-preferences.ui:2547 #: setup/ibus-libpinyin-preferences.ui:2700 msgid "Clear" msgstr "清除" #: setup/ibus-libpinyin-preferences.ui:2575 msgid "" "Dictionary File Format:\n" " Each line contains one of the following:\n" " \"phrase pinyin\" or \"phrase pinyin frequency\"\n" " like \"你好 ni'hao\" or \"你好 ni'hao 5\"." msgstr "" "词典文件格式:\n" " 每一行包含以下两者之一:\n" " \"短语 拼音\" 或 \"短语 拼音 频率\"\n" " 例如 \"你好 ni'hao\" 或 \"你好 ni'hao 5\"。" #: setup/ibus-libpinyin-preferences.ui:2588 #: setup/ibus-libpinyin-preferences.ui:2738 msgid "Help" msgstr "帮助" #: setup/ibus-libpinyin-preferences.ui:2606 msgid "User Dictionary" msgstr "用户词典" #: setup/ibus-libpinyin-preferences.ui:2642 msgid "User Table" msgstr "用户码表" #: setup/ibus-libpinyin-preferences.ui:2728 msgid "" "Table File Format:\n" " Each line contains the following:\n" " \"table_code phrase frequency\" like \"a 啊 100\"." msgstr "" "码表文件格式:\n" " 每一行包含以下内容:\n" " \"码表 短语 频率\", 例如 \"a 啊 100\"。" #: setup/ibus-libpinyin-preferences.ui:2756 msgid "User Table" msgstr "用户码表" #: setup/ibus-libpinyin-preferences.ui:2778 msgid "User data" msgstr "用户数据" #: setup/ibus-libpinyin-preferences.ui:2808 msgid "Shortcuts" msgstr "快捷键" #: setup/ibus-libpinyin-preferences.ui:2864 msgid "Intelligent Pinyin input method for IBus" msgstr "IBus 智能拼音输入法" #: setup/ibus-libpinyin-preferences.ui:2877 msgid "Copyright (c) 2011-2024 Peng Wu" msgstr "版权所有 (c) 2011-2024 吴鹏" #: setup/ibus-libpinyin-preferences.ui:2890 msgid "https://github.com/libpinyin/ibus-libpinyin" msgstr "https://github.com/libpinyin/ibus-libpinyin" #: setup/ibus-libpinyin-preferences.ui:2907 msgid "" "\n" "Authors:\n" "Peng Wu\n" "Peng Huang\n" "BYVoid\n" "\n" "Main Contributors:\n" "Weixuan XIAO, Linyu XU\n" "\n" "Contributors:\n" "koterpilla, Zerng07, Hillwood Yang\n" "" msgstr "" "\n" "作者:\n" "Peng Wu\n" "Peng Huang\n" "BYVoid\n" "\n" "主要贡献者:\n" "肖威轩,许林玉\n" "\n" "贡献者:\n" "koterpilla, Zerng07, Hillwood Yang\n" "" #: setup/ibus-libpinyin-preferences.ui:2947 msgid "About" msgstr "关于" #: data/ibus-setup-libpinyin.desktop.in:3 msgid "IBus LibPinyin Setup" msgstr "IBus 智能拼音配置工具" #: data/ibus-setup-libpinyin.desktop.in:4 msgid "Set ibus-libpinyin Preferences" msgstr "设置 IBus 智能拼音首选项" #: data/ibus-setup-libbopomofo.desktop.in:3 msgid "IBus LibBopomofo Preferences" msgstr "IBus 注音配置工具" #: data/ibus-setup-libbopomofo.desktop.in:4 msgid "Set ibus-libbopomofo Preferences" msgstr "设置 IBus 注音首选项" #~ msgid "Show suggestions." #~ msgstr "显示联想词(输入预测)" #~ msgid "Show emoji." #~ msgstr "显示表情符号" #~ msgid "Low Frequent Characters" #~ msgstr "生僻字" #~ msgid "SciTech" #~ msgstr "科技" #~ msgid "Intelligent Bopomofo (debug)" #~ msgstr "智能注音(调试)" #~ msgid "Shift" #~ msgstr "Shift" #~ msgid "Control" #~ msgstr "Control" #~ msgid "Chinese/English Switch" #~ msgstr "中英文切换键" #~ msgid "GB Dictionary" #~ msgstr "GB词典" #~ msgid "GBK Dictionary" #~ msgstr "GBK词典" #~ msgid "Full/Half width" #~ msgstr "全角/半角" #~ msgid "Edit custom phrases" #~ msgstr "编辑自定义词组" #~ msgid "Use custom phrases" #~ msgstr "使用自定义词组" #~ msgid "http://ibus.googlecode.com" #~ msgstr "http://ibus.googlecode.com" ibus-libpinyin-1.16.1/po/fr.gmo0000644000175000017500000002660114737373731011773 \ ()>Pj=Vk q :D['m.;jn t  , 4BJ R ^i x(&."(5^t   0G]lt|  #7I\'w(    (/E`e l z)Z?Ro  ! 8 G Q[ { $"9 P%q % " " -$85]   ";CLR+V]r )<V  ' E . (! ,!6!I!P!T!k!q!'! !! !!!!"%"-"<" D" P" \"i" }"." """*"4 #A#,[##+######$ &$1$ 8$F$`$*o$$$$$ $ $$$ %% % % 8%B%G% P%[%!_%%%%%%%2%01& b&l& &&& &&&&&& ''' &'2'N'2n''!(.A(5p( ((1()% )1)1J)/|)) ) )/) ** **4* O*Y*_*h**(****#+3+!N+!p+#+ + +)+S+ L,Y,n,,,,,,,,,, -)- 2- ?-I-+M-y-}-$cBx5J&W.k +|%n?wRF@{j':="C26[XN]>)t8T3<a^DSzov_7K 49* ~be1 ALmhU,ErGM}0!(fVg \ dHuplZsYQ`/yq-OIi#;PBopomofo modeCandidatesCloud Input OptionCorrect pinyinCustomize IMEDictionary File Format: Each line contains one of the following: "phrase pinyin" or "phrase pinyin frequency" like "你好 ni'hao" or "你好 ni'hao 5".Dictionary optionInitial stateInput CustomInput ModesOtherPinyin modeSelection modeTable File Format: Each line contains the following: "table_code phrase frequency" like "a 啊 100".UIUser DictionaryUser TableIntelligent Pinyin %s Authors: Peng Wu Peng Huang BYVoid Main Contributors: Weixuan XIAO, Linyu XU Contributors: koterpilla, Zerng07, Hillwood Yang Copyright (c) 2011-2024 Peng WuABCAboutAcceleratorActiveArtAuto commitBaiduBopomofo (debug)Bopomofo input method (debug)Bopomofo modeChineseChinese:ClearClear All DataCommit first candidateCommit original textCompactCompatibilityCultureDefaultDescriptionDictionaryDisplay Style:Double pinyinDynamically adjust the candidates order.EconomyEditEmoji CandidateEnable Auxiliary Select Keys F1 .. F10Enable Auxiliary Select Keys Numbers on KeypadEnable Cloud InputEnable Guidekey for Candidates SelectionEnable fuzzy syllableEnable pinyin correctionEnglishEnglish CandidateEnglish ModeEtenExportFeature of Enter key:FrequencyFullFull Width LetterFull Width PunctFull pinyinFull/Half Width Both SwitchFull/Half Width LetterFull/Half Width PunctFuzzy syllableGeneralGeologyGinYiehGoogleGoogle CNHalfHalf Width LetterHalf Width PunctHalf/full width:HelpHistoryHorizontalIBMIBus LibBopomofo PreferencesIBus LibPinyin SetupImportIncomplete BopomofoIncomplete pinyinIntelligent PinyinIntelligent Pinyin (debug)Intelligent Pinyin input method (debug)Intelligent Pinyin input method for IBusKey code:Keyboard Mapping:Language:Libpinyin input methodLifeLua ExtensionMSPYModifiers:NatureNumber of candidates:Orientation of candidates:PYJJPeoplePinyin LengthPinyin modePlease choose a filePlease input the English word.Please press a key (or a key combination)Please press a key (or a key combination). The dialog will close when the key is released.Please save a filePlease use "hspnz" to input.Please use table code to input.PreferencesPunctuations:Remember every input as a phrase.ScienceSelect Switching KeySelection Keys:Set ibus-libbopomofo PreferencesSet ibus-libpinyin PreferencesShorcut EditorShortcut:ShortcutsShow raw input of Double PinyinSimplifiedSimplified ChineseSocietySort candidates by:Source From:SportStandardSuggestion CandidateSwitch Chinese/EnglishSwitch Traditional/Simplfied ChineseSwitch to Chinese ModeSwitch to English ModeSwitch to Full Width Letter ModeSwitch to Full Width Punctuation ModeSwitch to Half Width Letter ModeSwitch to Half Width Punctuation ModeSwitch to Simplfied Chinese ModeSwitch to Traditional Chinese ModeTable ModeTechnologyThis shortcut key is already in use.Tips: Changes may not take effect until ime restarts.TraditionalTraditional ChineseUser DictionaryUser Lua ScriptUser TableUser dataVerticalXHEZGPYZRM[,] [.] flip page[-] [=] flip page[Shift] select candidate_Cancel_Default_Edit_OKhttps://github.com/libpinyin/ibus-libpinyin中英Project-Id-Version: PACKAGE VERSION Report-Msgid-Bugs-To: https://github.com/libpinyin/ibus-libpinyin/issues/new PO-Revision-Date: 2024-01-16 13:37+0000 Last-Translator: Damien Pou Language-Team: French Language: fr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n > 1; X-Generator: Weblate 5.3.1 Mode BopomofoCandidatsOptions entrée CloudCorrection pinyinPersonnaliser l'IMEFormat de fichier dictionnaire : Chaque ligne contient l’un des éléments suivants : « phrase pinyin » ou « phrase pinyin  fréquence » tels que « 你好 ni’hao » ou « 你好 ni’hao 5 ».DictionnaireÉtat initialEntrée personnaliséeMode de saisieAutreMode PinyinMode de sélectionFormat du fichier de la table : Chaque ligne contient ce qui suit : "table_code phrase frequency" comme "a 啊 100".UIDictionnaire utilisateurTable utilisateur%s intelligent Pinyin Auteurs : Peng Wu Peng Huang BYVoid Contributeurs principaux : Weixuan XIAO, Linyu XU Contributeurs : koterpilla, Zerng07, Hillwood Yang Copyright (c) 2011-2024 Peng WuABCÀ proposRaccourcie clavierActiveArtValidation automatiqueBaiduBopomofo (débogage)Méthode de saisie Bopomofo (débogage)Mode BopomofoChinoisChinois :EffacerEffacer toutes les donnéesValider le premier candidatValider le texte brutCompactCompatibilitéCulturePar défautDescriptionDictionnaireStyle d'affichage :Pinyin doubleAjustement dynamique de l'ordre des candidats.ÉconomieModifierNombre de candidatsActiver les touches auxiliaires (F1…F10)Activer la sélection auxiliaire au pavé numériqueActiver l’entrée CloudActiver le guide de sélection des candidatsActiver les syllabes flouesActiver la correction automatique du pinyinAnglaisCandidat anglaisMode en anglaisEtenExporterAction de la toucher Entrer :FréquencePleinePleine chassePonctuation pleine chassePinyin completPleine/Demi-Chasse alternent tous les deuxPleine/Demi-ChassePleine/Demi-chasse de la ponctuationSyllabes flouesGénéralGéologieGinYiehGoogleGoogle CNDemiDemi-chassePonctuation demi-chasseChasse :AideHistoireHorizontalIBMPréférences de IBus LibBopomofoParamètres de IBus LibPinyinImporterBopomofo incompletPinyin incompletPinyin intelligentPinyin intelligent (débogage)Méthode de saisie Pinyin intelligente (débogage)Méthode de saisie Pinyin intelligente pour IBusTouche :Type de clavier :Langue :Méthode de saisie libpinyinVieExtension LuaMSPYModificateurs :NatureNombre de candidats :Orientation des candidats :PYJJPeupleTaille du pinyinMode PinyinVeuillez choisir un fichierVeuillez saisir le mot anglais.Pressez une touche (ou une combinaison de touches)Veuillez presser une touche (ou une combinaison de touches). La boîte de dialogue va se fermer quand la touche sera relachée.Veuillez enregistrer le fichierVeuillez utiliser « hspnz » pour saisir.Veuillez utiliser le code de la table pour la saisie.PréférencesChasse de la ponctuation :Se souvenir de chaque entrée en tant que phrase.SciencesSélectionner la touche de sélectionTouches de sélection :Configurer les préférences d’ibus-libbopomofoConfigurer les préférences d’ibus-libpinyinÉditeur de raccourcieRaccourcie :RaccourcisMontrer le pinyin non formaté du pinyin doubleSimplifiéChinois simplifiéSociétéTrier les candidats par :Source :SportStandardOrientation des candidatsInverser Chinois/AnglaisInverser Chinois simplifié/traditionnelPasser en mode ChinoisPasser en mode AnglaisPasser en mode Pleine chassePasser en ponctuation pleine chassePasser en mode Demi-chassePasser en ponctuation demi-chassePasser en mode Chinois simplifiéPasser en mode Chinois traditionnelMode tableTechnologiesCe raccourci clavier est déjà utilisé.Note : ce changement peut ne prendre effet qu’après le redémarrage de l’IME.TraditionnelChinois traditionnelDictionnaire utilisateurScript Lua utilisateurTable utilisateurDonnés utilisateurVerticalXHEZGPYZRM[,] [.] change de page[-] [=] change de page[Shift] sélectionne le candidat_AnnulerPar _défaut_Modifier_OKhttps://github.com/libpinyin/ibus-libpinyin中英ibus-libpinyin-1.16.1/po/ru.po0000644000175000017500000005277614737373731011662 # Russian translations for PACKAGE package. # Copyright (C) 2009 THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Alexey Kotlyarov , 2009. # msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: https://github.com/libpinyin/ibus-libpinyin/issues/" "new\n" "POT-Creation-Date: 2025-01-08 11:58+0800\n" "PO-Revision-Date: 2009-10-14 09:44+0300\n" "Last-Translator: Alexey Kotlyarov \n" "Language-Team: Russian\n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: src/PYPConfig.cc:695 msgid "The table file is imported." msgstr "" #: src/PYPConfig.cc:702 msgid "The table file is exported." msgstr "" #: src/PYPConfig.cc:714 msgid "The pinyin dictionary file is imported." msgstr "" #: src/PYPConfig.cc:721 msgid "The pinyin dictionary file is exported." msgstr "" #: src/PYMain.cc:117 #, fuzzy msgid "Libpinyin input method" msgstr "Метод ввода пиньинь" #: src/PYMain.cc:127 #, fuzzy msgid "Intelligent Pinyin (debug)" msgstr "Пиньинь" #: src/PYMain.cc:128 #, fuzzy msgid "Intelligent Pinyin input method (debug)" msgstr "Метод ввода пиньинь" #: src/PYMain.cc:138 #, fuzzy msgid "Bopomofo (debug)" msgstr "Метод ввода пиньинь" #: src/PYMain.cc:139 #, fuzzy msgid "Bopomofo input method (debug)" msgstr "Метод ввода пиньинь" #: src/PYPinyinProperties.cc:40 src/PYPinyinProperties.cc:128 #: setup/ibus-libpinyin-preferences.ui:111 #: setup/ibus-libpinyin-preferences.ui:298 msgid "Chinese" msgstr "Китайский" #: src/PYPinyinProperties.cc:41 src/PYPinyinProperties.cc:129 #: setup/ibus-libpinyin-preferences.ui:107 #: setup/ibus-libpinyin-preferences.ui:313 msgid "English" msgstr "Английский" #: src/PYPinyinProperties.cc:46 src/PYPinyinProperties.cc:140 msgid "Switch to English Mode" msgstr "" #: src/PYPinyinProperties.cc:47 src/PYPinyinProperties.cc:141 msgid "Switch to Chinese Mode" msgstr "" #: src/PYPinyinProperties.cc:51 src/PYPinyinProperties.cc:153 msgid "Full Width Letter" msgstr "" #: src/PYPinyinProperties.cc:52 src/PYPinyinProperties.cc:154 msgid "Half Width Letter" msgstr "" #: src/PYPinyinProperties.cc:57 src/PYPinyinProperties.cc:159 msgid "Switch to Half Width Letter Mode" msgstr "" #: src/PYPinyinProperties.cc:58 src/PYPinyinProperties.cc:160 msgid "Switch to Full Width Letter Mode" msgstr "" #: src/PYPinyinProperties.cc:62 src/PYPinyinProperties.cc:169 #, fuzzy msgid "Full Width Punct" msgstr "Знаки препинания полной/половинной ширины" #: src/PYPinyinProperties.cc:63 src/PYPinyinProperties.cc:170 #, fuzzy msgid "Half Width Punct" msgstr "Знаки препинания половинной ширины:" #: src/PYPinyinProperties.cc:68 src/PYPinyinProperties.cc:175 #, fuzzy msgid "Switch to Half Width Punctuation Mode" msgstr "Знаки препинания половинной ширины:" #: src/PYPinyinProperties.cc:69 src/PYPinyinProperties.cc:176 #, fuzzy msgid "Switch to Full Width Punctuation Mode" msgstr "Знаки препинания полной/половинной ширины" #: src/PYPinyinProperties.cc:73 src/PYPinyinProperties.cc:185 #, fuzzy msgid "Simplified Chinese" msgstr "Упрощенные/традиционные иероглифы" #: src/PYPinyinProperties.cc:74 src/PYPinyinProperties.cc:186 #, fuzzy msgid "Traditional Chinese" msgstr "Упрощенные/традиционные иероглифы" #: src/PYPinyinProperties.cc:79 src/PYPinyinProperties.cc:191 #, fuzzy msgid "Switch to Traditional Chinese Mode" msgstr "Упрощенные/традиционные иероглифы" #: src/PYPinyinProperties.cc:80 src/PYPinyinProperties.cc:192 msgid "Switch to Simplfied Chinese Mode" msgstr "" #: src/PYPinyinProperties.cc:83 src/PYPinyinProperties.cc:85 #: setup/ibus-libpinyin-preferences.ui:185 #, fuzzy msgid "Preferences" msgstr "Настройки пиньиня" #: src/PYPinyinProperties.cc:88 src/PYPinyinProperties.cc:132 msgid "中" msgstr "" #: src/PYPinyinProperties.cc:90 src/PYPinyinProperties.cc:134 msgid "英" msgstr "" #: src/PYPinyinProperties.cc:270 msgid "Lua Converter" msgstr "" #: src/PYPinyinProperties.cc:272 msgid "Use the Lua Convertor" msgstr "" #: src/PYPinyinProperties.cc:279 msgid "None" msgstr "" #: src/PYEnglishEditor.cc:307 msgid "Please input the English word." msgstr "" #: src/PYTableEditor.cc:306 msgid "Please use \"hspnz\" to input." msgstr "" #: src/PYTableEditor.cc:309 msgid "Please use table code to input." msgstr "" #: setup/main2.py:493 msgid "Please choose a file" msgstr "" #: setup/main2.py:514 msgid "Please save a file" msgstr "" #: setup/main2.py:662 setup/ibus-libpinyin-preferences.ui:2850 #, fuzzy, python-format msgid "Intelligent Pinyin %s" msgstr "IBus Пиньинь %s" #: setup/config.py:30 #, fuzzy msgid "Intelligent Pinyin" msgstr "Пиньинь" #: setup/dicttreeview.py:52 msgid "Art" msgstr "" #: setup/dicttreeview.py:53 msgid "Culture" msgstr "" #: setup/dicttreeview.py:54 msgid "Economy" msgstr "" #: setup/dicttreeview.py:55 msgid "Geology" msgstr "" #: setup/dicttreeview.py:56 msgid "History" msgstr "" #: setup/dicttreeview.py:57 msgid "Life" msgstr "" #: setup/dicttreeview.py:58 msgid "Nature" msgstr "" #: setup/dicttreeview.py:59 msgid "People" msgstr "" #: setup/dicttreeview.py:60 msgid "Science" msgstr "" #: setup/dicttreeview.py:61 msgid "Society" msgstr "" #: setup/dicttreeview.py:62 msgid "Sport" msgstr "" #: setup/dicttreeview.py:63 msgid "Technology" msgstr "" #: setup/dicttreeview.py:110 msgid "Active" msgstr "" #: setup/dicttreeview.py:115 setup/shortcuteditor.py:83 msgid "Description" msgstr "" #: setup/keyboardshortcut.py:54 msgid "Shortcut:" msgstr "" #: setup/keyboardshortcut.py:67 msgid "Key code:" msgstr "" #: setup/keyboardshortcut.py:82 msgid "Modifiers:" msgstr "" #: setup/keyboardshortcut.py:171 msgid "" "Please press a key (or a key combination).\n" "The dialog will close when the key is released." msgstr "" #: setup/keyboardshortcut.py:174 msgid "Please press a key (or a key combination)" msgstr "" #: setup/keyboardshortcut.py:186 msgid "Shorcut Editor" msgstr "" #: setup/keyboardshortcut.py:239 setup/shortcuteditor.py:196 #: setup/shortcuteditor.py:233 msgid "_Cancel" msgstr "" #: setup/keyboardshortcut.py:240 setup/shortcuteditor.py:197 #: setup/shortcuteditor.py:234 msgid "_OK" msgstr "" #: setup/shortcuteditor.py:46 msgid "Switch Chinese/English" msgstr "" #: setup/shortcuteditor.py:47 #, fuzzy msgid "Full/Half Width Letter" msgstr "Полная/половинная ширина" #: setup/shortcuteditor.py:48 #, fuzzy msgid "Full/Half Width Punct" msgstr "Знаки препинания половинной ширины:" #: setup/shortcuteditor.py:49 #, fuzzy msgid "Full/Half Width Both Switch" msgstr "Полная/половинная ширина" #: setup/shortcuteditor.py:50 #, fuzzy msgid "Switch Traditional/Simplfied Chinese" msgstr "Упрощенные/традиционные иероглифы" #: setup/shortcuteditor.py:88 msgid "Accelerator" msgstr "" #: setup/shortcuteditor.py:106 msgid "This shortcut key is already in use." msgstr "" #. set default button #: setup/shortcuteditor.py:164 msgid "_Default" msgstr "" #. edit button #: setup/shortcuteditor.py:169 msgid "_Edit" msgstr "" #: setup/shortcuteditor.py:195 msgid "Select Switching Key" msgstr "" #: setup/ibus-libpinyin-preferences.ui:20 msgid "Standard" msgstr "" #: setup/ibus-libpinyin-preferences.ui:23 msgid "GinYieh" msgstr "" #: setup/ibus-libpinyin-preferences.ui:26 msgid "Eten" msgstr "" #: setup/ibus-libpinyin-preferences.ui:29 msgid "IBM" msgstr "" #: setup/ibus-libpinyin-preferences.ui:40 msgid "Baidu" msgstr "" #: setup/ibus-libpinyin-preferences.ui:43 msgid "Google" msgstr "" #: setup/ibus-libpinyin-preferences.ui:46 msgid "Google CN" msgstr "" #: setup/ibus-libpinyin-preferences.ui:57 #: setup/ibus-libpinyin-preferences.ui:103 msgid "Default" msgstr "" #: setup/ibus-libpinyin-preferences.ui:60 msgid "Compact" msgstr "" #: setup/ibus-libpinyin-preferences.ui:63 msgid "Compatibility" msgstr "" #: setup/ibus-libpinyin-preferences.ui:74 msgid "MSPY" msgstr "MSPY" #: setup/ibus-libpinyin-preferences.ui:77 msgid "ZRM" msgstr "ZRM" #: setup/ibus-libpinyin-preferences.ui:80 msgid "ABC" msgstr "ABC" #: setup/ibus-libpinyin-preferences.ui:83 msgid "ZGPY" msgstr "ZGPY" #: setup/ibus-libpinyin-preferences.ui:86 msgid "PYJJ" msgstr "PYJJ" #: setup/ibus-libpinyin-preferences.ui:89 msgid "XHE" msgstr "" #: setup/ibus-libpinyin-preferences.ui:122 msgid "Horizontal" msgstr "" #: setup/ibus-libpinyin-preferences.ui:125 msgid "Vertical" msgstr "" #: setup/ibus-libpinyin-preferences.ui:171 msgid "Frequency" msgstr "" #: setup/ibus-libpinyin-preferences.ui:174 #, fuzzy msgid "Pinyin Length" msgstr "Пиньинь" #: setup/ibus-libpinyin-preferences.ui:177 msgid "Legacy" msgstr "" #: setup/ibus-libpinyin-preferences.ui:268 msgid "Language:" msgstr "Язык:" #: setup/ibus-libpinyin-preferences.ui:276 msgid "Half/full width:" msgstr "Полная/половинная ширина:" #: setup/ibus-libpinyin-preferences.ui:288 msgid "Punctuations:" msgstr "Знаки препинания:" #: setup/ibus-libpinyin-preferences.ui:328 #: setup/ibus-libpinyin-preferences.ui:362 msgid "Full" msgstr "Полная" #: setup/ibus-libpinyin-preferences.ui:345 #: setup/ibus-libpinyin-preferences.ui:379 msgid "Half" msgstr "Половинная" #: setup/ibus-libpinyin-preferences.ui:398 msgid "Chinese:" msgstr "Иероглифы:" #: setup/ibus-libpinyin-preferences.ui:408 msgid "Simplified" msgstr "Упрощенные" #: setup/ibus-libpinyin-preferences.ui:425 msgid "Traditional" msgstr "Традиционные" #: setup/ibus-libpinyin-preferences.ui:448 msgid "Initial state" msgstr "Начальное состояние" #: setup/ibus-libpinyin-preferences.ui:486 msgid "Display Style:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:532 msgid "Orientation of candidates:" msgstr "Число кандидатов" #: setup/ibus-libpinyin-preferences.ui:578 msgid "Number of candidates:" msgstr "Число кандидатов" #: setup/ibus-libpinyin-preferences.ui:617 #, fuzzy msgid "UI" msgstr "Другие" #: setup/ibus-libpinyin-preferences.ui:646 msgid "Dynamically adjust the candidates order." msgstr "" #: setup/ibus-libpinyin-preferences.ui:661 msgid "Remember every input as a phrase." msgstr "" #: setup/ibus-libpinyin-preferences.ui:684 #, fuzzy msgid "Sort candidates by:" msgstr "Число кандидатов" #: setup/ibus-libpinyin-preferences.ui:727 #, fuzzy msgid "Candidates" msgstr "Другие" #: setup/ibus-libpinyin-preferences.ui:763 msgid "Keyboard Layout:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:819 #: setup/ibus-libpinyin-preferences.ui:2199 msgid "Tips: Changes may not take effect until ime restarts." msgstr "" #: setup/ibus-libpinyin-preferences.ui:842 #, fuzzy msgid "Keyboard" msgstr "Другие" #: setup/ibus-libpinyin-preferences.ui:861 msgid "General" msgstr "Общие" #: setup/ibus-libpinyin-preferences.ui:901 msgid "Full pinyin" msgstr "Полный пиньинь" #: setup/ibus-libpinyin-preferences.ui:922 msgid "Double pinyin" msgstr "Двойной пиньинь" #: setup/ibus-libpinyin-preferences.ui:965 msgid "Show raw input of Double Pinyin" msgstr "" #: setup/ibus-libpinyin-preferences.ui:980 msgid "Incomplete pinyin" msgstr "Неполный пиньинь" #: setup/ibus-libpinyin-preferences.ui:1002 #, fuzzy msgid "Pinyin mode" msgstr "Пиньинь" #: setup/ibus-libpinyin-preferences.ui:1044 msgid "[Shift] select candidate" msgstr "Использовать [Shift] для выбора кандидатов" #: setup/ibus-libpinyin-preferences.ui:1054 msgid "[-] [=] flip page" msgstr "Использовать клавиши [-] [=] для переключения страниц" #: setup/ibus-libpinyin-preferences.ui:1069 msgid "[,] [.] flip page" msgstr "Использовать клавиши [,] [.] для переключения страниц" #: setup/ibus-libpinyin-preferences.ui:1084 msgid "Auto commit" msgstr "Автоматически подтверждать фразу" #: setup/ibus-libpinyin-preferences.ui:1098 #, fuzzy msgid " [ ] flip page" msgstr "Использовать клавиши [-] [=] для переключения страниц" #: setup/ibus-libpinyin-preferences.ui:1126 #, fuzzy msgid "Input Custom" msgstr "Начальное состояние" #: setup/ibus-libpinyin-preferences.ui:1274 #, fuzzy msgid "Enable pinyin correction" msgstr "Исправления" #: setup/ibus-libpinyin-preferences.ui:1310 #, fuzzy msgid "Correct pinyin" msgstr "Исправления" #: setup/ibus-libpinyin-preferences.ui:1340 #: setup/ibus-libpinyin-preferences.ui:1779 msgid "Enable Cloud Input" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1364 #: setup/ibus-libpinyin-preferences.ui:1803 msgid "Source From:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1409 #: setup/ibus-libpinyin-preferences.ui:1848 #, fuzzy msgid "Cloud Input Option" msgstr "Начальное состояние" #: setup/ibus-libpinyin-preferences.ui:1431 #, fuzzy msgid "Pinyin mode" msgstr "Пиньинь" #: setup/ibus-libpinyin-preferences.ui:1470 #, fuzzy msgid "Incomplete Bopomofo" msgstr "Неполный пиньинь" #: setup/ibus-libpinyin-preferences.ui:1493 msgid "Keyboard Mapping:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1536 #, fuzzy msgid "Bopomofo mode" msgstr "Пиньинь" #: setup/ibus-libpinyin-preferences.ui:1572 msgid "Selection Keys:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1609 msgid "Enable Guidekey for Candidates Selection" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1626 msgid "Enable Auxiliary Select Keys F1 .. F10" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1643 msgid "Enable Auxiliary Select Keys Numbers on Keypad" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1666 #, fuzzy msgid "Selection mode" msgstr "Пиньинь" #: setup/ibus-libpinyin-preferences.ui:1698 msgid "Feature of Enter key:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1709 #, fuzzy msgid "Commit first candidate" msgstr "Использовать [Shift] для выбора кандидатов" #: setup/ibus-libpinyin-preferences.ui:1727 msgid "Commit original text" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1749 #, fuzzy msgid "Other" msgstr "Другие" #: setup/ibus-libpinyin-preferences.ui:1870 #, fuzzy msgid "Bopomofo mode" msgstr "Метод ввода пиньинь" #: setup/ibus-libpinyin-preferences.ui:2032 #, fuzzy msgid "Enable fuzzy syllable" msgstr "Включить нечеткий пиньинь." #: setup/ibus-libpinyin-preferences.ui:2133 msgid "Fuzzy syllable" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2222 #, fuzzy msgid "Dictionary option" msgstr "Другие" #: setup/ibus-libpinyin-preferences.ui:2244 msgid "Dictionary" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2285 msgid "Lua Extension" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2299 msgid "Table Mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2313 #, fuzzy msgid "English Mode" msgstr "Английский" #: setup/ibus-libpinyin-preferences.ui:2327 #, fuzzy msgid "English Candidate" msgstr "Английский" #: setup/ibus-libpinyin-preferences.ui:2341 #, fuzzy msgid "Emoji Candidate" msgstr "Число кандидатов" #: setup/ibus-libpinyin-preferences.ui:2355 #, fuzzy msgid "Suggestion Candidate" msgstr "Число кандидатов" #: setup/ibus-libpinyin-preferences.ui:2375 #, fuzzy msgid "Input Modes" msgstr "Начальное состояние" #: setup/ibus-libpinyin-preferences.ui:2406 msgid "User Lua Script" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2416 msgid "Edit" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2436 #, fuzzy msgid "Customize IME" msgstr "Начальное состояние" #: setup/ibus-libpinyin-preferences.ui:2471 #: setup/ibus-libpinyin-preferences.ui:2655 msgid "Export" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2486 #: setup/ibus-libpinyin-preferences.ui:2670 msgid "Import" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2502 msgid "User Dictionary" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2527 msgid "Clear All Data" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2547 #: setup/ibus-libpinyin-preferences.ui:2700 msgid "Clear" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2575 msgid "" "Dictionary File Format:\n" " Each line contains one of the following:\n" " \"phrase pinyin\" or \"phrase pinyin frequency\"\n" " like \"你好 ni'hao\" or \"你好 ni'hao 5\"." msgstr "" #: setup/ibus-libpinyin-preferences.ui:2588 #: setup/ibus-libpinyin-preferences.ui:2738 msgid "Help" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2606 #, fuzzy msgid "User Dictionary" msgstr "Другие" #: setup/ibus-libpinyin-preferences.ui:2642 msgid "User Table" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2728 msgid "" "Table File Format:\n" " Each line contains the following:\n" " \"table_code phrase frequency\" like \"a 啊 100\"." msgstr "" #: setup/ibus-libpinyin-preferences.ui:2756 #, fuzzy msgid "User Table" msgstr "Другие" #: setup/ibus-libpinyin-preferences.ui:2778 msgid "User data" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2808 msgid "Shortcuts" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2864 #, fuzzy msgid "Intelligent Pinyin input method for IBus" msgstr "Метод ввода пиньинь для IBus" #: setup/ibus-libpinyin-preferences.ui:2877 msgid "Copyright (c) 2011-2024 Peng Wu" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2890 msgid "https://github.com/libpinyin/ibus-libpinyin" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2907 msgid "" "\n" "Authors:\n" "Peng Wu\n" "Peng Huang\n" "BYVoid\n" "\n" "Main Contributors:\n" "Weixuan XIAO, Linyu XU\n" "\n" "Contributors:\n" "koterpilla, Zerng07, Hillwood Yang\n" "" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2947 msgid "About" msgstr "О программе" #: data/ibus-setup-libpinyin.desktop.in:3 msgid "IBus LibPinyin Setup" msgstr "" #: data/ibus-setup-libpinyin.desktop.in:4 #, fuzzy msgid "Set ibus-libpinyin Preferences" msgstr "Настройки пиньиня" #: data/ibus-setup-libbopomofo.desktop.in:3 msgid "IBus LibBopomofo Preferences" msgstr "" #: data/ibus-setup-libbopomofo.desktop.in:4 msgid "Set ibus-libbopomofo Preferences" msgstr "" #~ msgid "http://ibus.googlecode.com" #~ msgstr "http://ibus.googlecode.com" #~ msgid "Enable incomplete pinyin (like zh g)." #~ msgstr "Включить неполный пиньинь (например, zh g)." #~ msgid "Enable pinyin correcting." #~ msgstr "Включить исправление пиньиня." #~ msgid "Fuzzy pinyin" #~ msgstr "Нечеткий пиньинь" #~ msgid "Schema:" #~ msgstr "Схема:" #~ msgid "Select double pinyin schema." #~ msgstr "Выбор схемы двойного пиньиня." #~ msgid "Setup the initial state of pinyin input method." #~ msgstr "Настройка начального состояния метода ввода." #~ msgid "Show candidates in traditional Chinese" #~ msgstr "Показывать кандидаты традиционными иероглифами." #~ msgid "Use double pinyin." #~ msgstr "Использовать двойной пиньинь (шуанпинь)." #~ msgid "Use full pinyin." #~ msgstr "Использовать полный пиньинь." #, fuzzy #~ msgid "" #~ "Copyright © 2009\n" #~ "Peng Huang <shawn.p.huang@gmail.com>,\n" #~ "BYVoid <byvoid1@gmail.com>" #~ msgstr "" #~ "Copyright © 2009 Хуан Пэн <shawn.p.huang@gmail.com>" #~ msgid "Enable automatic commit phrase." #~ msgstr "Подтверждать набранную фразу при вводе знаков препинания." #~ msgid "Setup the number of candidates show in one page of lookup table." #~ msgstr "Число кандидатов на одной странице таблицы поиска." #, fuzzy #~ msgid "" #~ "Show candidates in traditional Chinese, if the input method is in " #~ "traditional Chinese inputing mode." #~ msgstr "" #~ "Показывать кандидаты традиционными иероглифами, если включен ввод " #~ "традиционных иероглифов." #~ msgid "Use [,] [.] key to page up/down the lookup table." #~ msgstr "" #~ "Использовать клавиши [,] [.] для перемещения вверх-вниз по таблице поиска." #~ msgid "Use [-] [=] key to page up/down the lookup table." #~ msgstr "" #~ "Использовать клавиши [-] [=] для перемещения вверх-вниз по таблице поиска." #~ msgid "" #~ "Use left and right shift keys to select the second and thrid candidates." #~ msgstr "" #~ "Использовать клавиши \"влево\" и \"вправо\" для выбора второго и третьего " #~ "кандидатов" #~ msgid "+-*/=%" #~ msgstr "+-*/=%" ibus-libpinyin-1.16.1/po/pt_BR.gmo0000644000175000017500000001223714737373732012373 V|x y'  &2:B GQVhy    ! '< d n x        ) Z# ~       ! ' 0 G ^ u % %  "$ G R ^ r {         '%#,;C KW`h my$  %*@ \ fqu/ %.3;Qd=l,=&W ~   -53c)/'& @ KWktx} F TN$RS-";U%><' :/#G&5 QC)3=+E*, 9DKIMVP.0A?! 4(87 J6@1HO2BLUIIntelligent Pinyin %sABCActiveArtBaiduBopomofo (debug)Bopomofo input method (debug)ChineseChinese:CompactCompatibilityCultureDefaultDescriptionEconomyEnglishEtenFrequencyFullFull Width LetterFull Width PunctFull/Half Width LetterFull/Half Width PunctGeneralGeologyGinYiehGoogleGoogle CNHalfHalf Width LetterHalf Width PunctHistoryHorizontalIBMIntelligent PinyinIntelligent Pinyin (debug)Intelligent Pinyin input method (debug)Key code:Language:Libpinyin input methodLifeMSPYModifiers:NaturePYJJPeoplePinyin LengthPlease choose a filePlease input the English word.Please press a key (or a key combination)Please press a key (or a key combination). The dialog will close when the key is released.Please save a filePlease use "hspnz" to input.Please use table code to input.PreferencesScienceShorcut EditorShortcut:SimplifiedSimplified ChineseSocietySportStandardSwitch Chinese/EnglishSwitch to Chinese ModeSwitch to English ModeSwitch to Full Width Letter ModeSwitch to Full Width Punctuation ModeSwitch to Half Width Letter ModeSwitch to Half Width Punctuation ModeSwitch to Simplfied Chinese ModeSwitch to Traditional Chinese ModeTechnologyTraditionalTraditional ChineseVerticalXHEZGPYZRM_Cancel_Edit_OK中英Project-Id-Version: PACKAGE VERSION Report-Msgid-Bugs-To: https://github.com/libpinyin/ibus-libpinyin/issues/new PO-Revision-Date: 2022-12-01 00:20+0000 Last-Translator: Rafael Fontenelle Language-Team: Portuguese (Brazil) Language: pt_BR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Weblate 4.14.2 UIPinyin inteligente %sABCAtivoArteBaiduBopomofo (depurar)Método de entrada bopomofo (depurar)ChinêsChinês:CompactoCompatiblidadeCulturaPadrãoDescriçãoEconomiaInglêsEtenFrequênciaCheioLetra de largura completaPontuação de largura completaLetra de meia/completa larguraPontuação de meia/completa larguraGeralGeologiaGinYiehGoogleGoogle CNMeioLetra de meia larguraPontuação de meia larguraHistóriaHorizontalIBMPinyin inteligentePinyin inteligente (depurar)Método de entrada pinyin inteligente (depurar)Código da tecla:Idioma:Método de entrada LibpinyinVidaMSPYModificadores:NaturezaPYJJPessoasComprimento de pinyinEscolha um arquivoInsira a palavra em inglês.Por favor pressione uma tecla (ou uma combinação de teclas)Pressione uma tecla (ou uma combinação de teclas). O diálogo será encerrado quando a tecla for liberada.Salve um arquivoUse "hspnz" para inserir.Use um código da tabela para inserir.PreferênciasCiênciasEditor de atalhosAtalho:SimplificadoChinês SimplificadoSociedadeEsportePadrãoTrocar chinês/inglêsTrocar para modo chinêsTrocar para modo inglêsTrocar para modo de letra de largura completaTrocar para modo de pontuação de largura completaTrocar para modo de letra de meia larguraTrocar para modo de pontuação de meia larguraTrocar para o modo Chinês SimplificadoTrocar para o modo Chinês TradicionalTecnologiaTradicionalChinês TradicionalVerticalXHEZGPYZRM_Cancelar_Editar_OK中英ibus-libpinyin-1.16.1/po/ca.gmo0000644000175000017500000002164214737373731011747 L|H I ^ p  C \ q    ' . 3 7 = I P T ` q         (EM&R.y( */A R^u "4'O(w   * /;P)oZ $ 0!>`u   $9P g% % "$95^  19BH+Lx| 5Fb|/La ).IM Uagk' 4 < H S,`2A1C a$% )2\nv  !+3M3 4P U!a*<ua.}  %" % 8 A %J p |    &   ,!0D!+u!/!"!"!'"G?" """""""""" #%# C#O#^#e#+n###,)6T"viVC8}_=GQYhbnZ$FuNJ-H>P@D3WI;!90zB a^\o 14g7+:#cfU%|< ] /m?l k*'qAse{Op[ES5X`.x2tjwdRLy&KrM(~Bopomofo modeCandidatesCorrect pinyinCustomize IMEDictionary File Format: Each line contains one of the following: "phrase pinyin" or "phrase pinyin frequency" like "你好 ni'hao" or "你好 ni'hao 5".Dictionary optionInitial stateInput CustomOtherPinyin modeSelection modeUIUser DictionaryIntelligent Pinyin %sCopyright (c) 2011-2024 Peng WuABCAboutAcceleratorActiveArtAuto commitBopomofo (debug)Bopomofo input method (debug)Bopomofo modeChineseChinese:ClearClear All DataCommit first candidateCommit original textCultureDescriptionDictionaryDouble pinyinDynamically adjust the candidates order.EconomyEditEnable Auxiliary Select Keys F1 .. F10Enable Auxiliary Select Keys Numbers on KeypadEnable Guidekey for Candidates SelectionEnable fuzzy syllableEnable pinyin correctionEnglishEtenExportFeature of Enter key:FullFull Width LetterFull Width PunctFull pinyinFull/Half Width LetterFull/Half Width PunctFuzzy syllableGeneralGeologyGinYiehHalfHalf Width LetterHalf Width PunctHalf/full width:HelpHistoryHorizontalIBMImportIncomplete BopomofoIncomplete pinyinIntelligent Pinyin (debug)Intelligent Pinyin input method (debug)Intelligent Pinyin input method for IBusKey code:Keyboard Mapping:Language:Libpinyin input methodLifeMSPYModifiers:NatureNumber of candidates:Orientation of candidates:PYJJPinyin modePlease choose a filePlease input the English word.Please press a key (or a key combination)Please press a key (or a key combination). The dialog will close when the key is released.Please save a filePlease use "hspnz" to input.PreferencesPunctuations:Remember every input as a phrase.Select Switching KeySelection Keys:Shorcut EditorShortcut:ShortcutsShow raw input of Double PinyinSimplifiedSimplified ChineseSocietySportStandardSwitch Chinese/EnglishSwitch Traditional/Simplfied ChineseSwitch to Chinese ModeSwitch to English ModeSwitch to Full Width Letter ModeSwitch to Full Width Punctuation ModeSwitch to Half Width Letter ModeSwitch to Half Width Punctuation ModeSwitch to Simplfied Chinese ModeSwitch to Traditional Chinese ModeThis shortcut key is already in use.Tips: Changes may not take effect until ime restarts.TraditionalTraditional ChineseUser DictionaryUser Lua ScriptUser dataVerticalXHEZGPYZRM[,] [.] flip page[-] [=] flip page[Shift] select candidate_Cancel_Default_Edit_OKhttps://github.com/libpinyin/ibus-libpinyin中英Project-Id-Version: PACKAGE VERSION Report-Msgid-Bugs-To: https://github.com/libpinyin/ibus-libpinyin/issues/new PO-Revision-Date: 2015-09-24 09:36-0400 Last-Translator: Robert Antoni Buj Gelonch Language-Team: Catalan Language: ca MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Zanata 3.7.2 Plural-Forms: nplurals=2; plural=(n != 1) Mode bopomofoCandidatsCorrecció de pinyinPersonalitza l'IMEFormat del fitxer de diccionari: Cada línia conté una de les següents: "frase pinyin" o "frase pinyin freqüència" com ara "你好 ni'hao" o "你好 ni'hao 5".Opció del diccionariEstat inicialEntrada personalitzadaAltresMode pinyinMode de seleccióInterfície d'usuariDiccionari d'usuariPinyin intel·ligent %sCopyright (c) 2011-2024 Peng WuABCQuant aAcceleradorActiuArtConsignació automàtica:Bopomofo (depuració)Mètode d'entrada bopomofo (depuració)Mode bopomofoXinèsXinès:NetejaNeteja totes les dadesConsigna el primer candidatConsigna el text originalCulturaDescripcióDiccionariPinyin dobleAjusta dinàmicament l'ordre dels candidats.EconomiaEditaHabilita les tecles auxiliars de selecció F1..F10Habilita les tecles auxiliars de selecció del teclat de númerosHabilita Guidekey per a la selecció de candidatsHabilita la síl·laba difusaHabilita la correcció de pinyinAnglèsEtenExportaFuncionalitat de la tecla de Retorn:CompletaLletra d'amplada completaPuntuació d'amplada completaPinyin completAmplada de la lletra mitjana/completaAmplada de la puntuació mitjana/completaSíl·laba difusaGeneralGeologiaGinYiehMitjanaLletra d'amplada mitjanaPuntuació d'amplada mitjanaAmplada mitjana/completa:AjudaHistòriaHoritzontalIBMImportaBopomofo incompletPinyin incompletPinyin intel·ligent (depuració)Mètode d'entrada pinyin intel·ligent (depuració)Mètode d'entrada pinyin intel·ligent per a l'IBusCodi de tecla:Assignació del teclat:Idioma:Mètode d'entrada LibpinyinVidaMSPYModificadors:NaturaNombre de candidats:Orientació dels candidats:PYJJMode pinyinSi us plau, seleccioneu un fitxerSi us plau, introduïu la paraula anglesa.Si us plau, premeu qualsevol tecla (o combinació de tecles)Si us plau, premeu qualsevol tecla (o combinació de tecles). El diàleg es tancarà quan deixeu de prémer la tecla.Si us plau, deseu un fitxerSi us plau, utilitzeu "hspnz" per a l'entrada.PreferènciesPuntuacions:Recorda cada entrada com a una frase.Selecciona la tecla de commutacióTecles de selecció:Editor de dreceresDrecera:DreceresMostra l'entrada raw del pinyin dobleSimplificatXinès simplificatSocietatEsportEstàndardCommuta xinès/anglèsCommuta xinès tradicional/simplificatCommuta al mode xinèsCommuta al mode anglèsCommuta al mode de lletra d'amplada completaCommuta al mode de puntuació d'amplada completaCommuta al mode de lletra d'amplada mitjanaCommuta al mode de puntuació d'amplada mitjanaCommuta al mode xinès simplificatCommuta al mode xinès tradicionalLa tecla de la drecera ja està en ús.Consell: aquests canvis poden tenir efecte després de reiniciar l'ime.TradicionalXinès tradicionalDirectori d'usuariScript lua d'usuariDades de l'usuariVerticalXHEZGPYZRM[,] [.] gira la pàgina[-] [=] gira la pàgina[Maj.] selecciona el candidat_Cancel·laPre_determinat_EditaD'ac_ordhttps://github.com/libpinyin/ibus-libpinyin中英ibus-libpinyin-1.16.1/po/pt_BR.po0000644000175000017500000004230414737373731012224 # Marco Aurélio Krause , 2015. #zanata # Rafael Fontenelle , 2022. msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: https://github.com/libpinyin/ibus-libpinyin/issues/" "new\n" "POT-Creation-Date: 2025-01-08 11:58+0800\n" "PO-Revision-Date: 2022-12-01 00:20+0000\n" "Last-Translator: Rafael Fontenelle \n" "Language-Team: Portuguese (Brazil) \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Weblate 4.14.2\n" #: src/PYPConfig.cc:695 msgid "The table file is imported." msgstr "" #: src/PYPConfig.cc:702 msgid "The table file is exported." msgstr "" #: src/PYPConfig.cc:714 msgid "The pinyin dictionary file is imported." msgstr "" #: src/PYPConfig.cc:721 msgid "The pinyin dictionary file is exported." msgstr "" #: src/PYMain.cc:117 msgid "Libpinyin input method" msgstr "Método de entrada Libpinyin" #: src/PYMain.cc:127 msgid "Intelligent Pinyin (debug)" msgstr "Pinyin inteligente (depurar)" #: src/PYMain.cc:128 msgid "Intelligent Pinyin input method (debug)" msgstr "Método de entrada pinyin inteligente (depurar)" #: src/PYMain.cc:138 msgid "Bopomofo (debug)" msgstr "Bopomofo (depurar)" #: src/PYMain.cc:139 msgid "Bopomofo input method (debug)" msgstr "Método de entrada bopomofo (depurar)" #: src/PYPinyinProperties.cc:40 src/PYPinyinProperties.cc:128 #: setup/ibus-libpinyin-preferences.ui:111 #: setup/ibus-libpinyin-preferences.ui:298 msgid "Chinese" msgstr "Chinês" #: src/PYPinyinProperties.cc:41 src/PYPinyinProperties.cc:129 #: setup/ibus-libpinyin-preferences.ui:107 #: setup/ibus-libpinyin-preferences.ui:313 msgid "English" msgstr "Inglês" #: src/PYPinyinProperties.cc:46 src/PYPinyinProperties.cc:140 msgid "Switch to English Mode" msgstr "Trocar para modo inglês" #: src/PYPinyinProperties.cc:47 src/PYPinyinProperties.cc:141 msgid "Switch to Chinese Mode" msgstr "Trocar para modo chinês" #: src/PYPinyinProperties.cc:51 src/PYPinyinProperties.cc:153 msgid "Full Width Letter" msgstr "Letra de largura completa" #: src/PYPinyinProperties.cc:52 src/PYPinyinProperties.cc:154 msgid "Half Width Letter" msgstr "Letra de meia largura" #: src/PYPinyinProperties.cc:57 src/PYPinyinProperties.cc:159 msgid "Switch to Half Width Letter Mode" msgstr "Trocar para modo de letra de meia largura" #: src/PYPinyinProperties.cc:58 src/PYPinyinProperties.cc:160 msgid "Switch to Full Width Letter Mode" msgstr "Trocar para modo de letra de largura completa" #: src/PYPinyinProperties.cc:62 src/PYPinyinProperties.cc:169 msgid "Full Width Punct" msgstr "Pontuação de largura completa" #: src/PYPinyinProperties.cc:63 src/PYPinyinProperties.cc:170 msgid "Half Width Punct" msgstr "Pontuação de meia largura" #: src/PYPinyinProperties.cc:68 src/PYPinyinProperties.cc:175 msgid "Switch to Half Width Punctuation Mode" msgstr "Trocar para modo de pontuação de meia largura" #: src/PYPinyinProperties.cc:69 src/PYPinyinProperties.cc:176 msgid "Switch to Full Width Punctuation Mode" msgstr "Trocar para modo de pontuação de largura completa" #: src/PYPinyinProperties.cc:73 src/PYPinyinProperties.cc:185 msgid "Simplified Chinese" msgstr "Chinês Simplificado" #: src/PYPinyinProperties.cc:74 src/PYPinyinProperties.cc:186 msgid "Traditional Chinese" msgstr "Chinês Tradicional" #: src/PYPinyinProperties.cc:79 src/PYPinyinProperties.cc:191 msgid "Switch to Traditional Chinese Mode" msgstr "Trocar para o modo Chinês Tradicional" #: src/PYPinyinProperties.cc:80 src/PYPinyinProperties.cc:192 msgid "Switch to Simplfied Chinese Mode" msgstr "Trocar para o modo Chinês Simplificado" #: src/PYPinyinProperties.cc:83 src/PYPinyinProperties.cc:85 #: setup/ibus-libpinyin-preferences.ui:185 msgid "Preferences" msgstr "Preferências" #: src/PYPinyinProperties.cc:88 src/PYPinyinProperties.cc:132 msgid "中" msgstr "中" #: src/PYPinyinProperties.cc:90 src/PYPinyinProperties.cc:134 msgid "英" msgstr "英" #: src/PYPinyinProperties.cc:270 msgid "Lua Converter" msgstr "" #: src/PYPinyinProperties.cc:272 msgid "Use the Lua Convertor" msgstr "" #: src/PYPinyinProperties.cc:279 msgid "None" msgstr "" #: src/PYEnglishEditor.cc:307 msgid "Please input the English word." msgstr "Insira a palavra em inglês." #: src/PYTableEditor.cc:306 msgid "Please use \"hspnz\" to input." msgstr "Use \"hspnz\" para inserir." #: src/PYTableEditor.cc:309 msgid "Please use table code to input." msgstr "Use um código da tabela para inserir." #: setup/main2.py:493 msgid "Please choose a file" msgstr "Escolha um arquivo" #: setup/main2.py:514 msgid "Please save a file" msgstr "Salve um arquivo" #: setup/main2.py:662 setup/ibus-libpinyin-preferences.ui:2850 #, python-format msgid "Intelligent Pinyin %s" msgstr "Pinyin inteligente %s" #: setup/config.py:30 msgid "Intelligent Pinyin" msgstr "Pinyin inteligente" #: setup/dicttreeview.py:52 msgid "Art" msgstr "Arte" #: setup/dicttreeview.py:53 msgid "Culture" msgstr "Cultura" #: setup/dicttreeview.py:54 msgid "Economy" msgstr "Economia" #: setup/dicttreeview.py:55 msgid "Geology" msgstr "Geologia" #: setup/dicttreeview.py:56 msgid "History" msgstr "História" #: setup/dicttreeview.py:57 msgid "Life" msgstr "Vida" #: setup/dicttreeview.py:58 msgid "Nature" msgstr "Natureza" #: setup/dicttreeview.py:59 msgid "People" msgstr "Pessoas" #: setup/dicttreeview.py:60 msgid "Science" msgstr "Ciências" #: setup/dicttreeview.py:61 msgid "Society" msgstr "Sociedade" #: setup/dicttreeview.py:62 msgid "Sport" msgstr "Esporte" #: setup/dicttreeview.py:63 msgid "Technology" msgstr "Tecnologia" #: setup/dicttreeview.py:110 msgid "Active" msgstr "Ativo" #: setup/dicttreeview.py:115 setup/shortcuteditor.py:83 msgid "Description" msgstr "Descrição" #: setup/keyboardshortcut.py:54 msgid "Shortcut:" msgstr "Atalho:" #: setup/keyboardshortcut.py:67 msgid "Key code:" msgstr "Código da tecla:" #: setup/keyboardshortcut.py:82 msgid "Modifiers:" msgstr "Modificadores:" #: setup/keyboardshortcut.py:171 msgid "" "Please press a key (or a key combination).\n" "The dialog will close when the key is released." msgstr "" "Pressione uma tecla (ou uma combinação de teclas).\n" "O diálogo será encerrado quando a tecla for liberada." #: setup/keyboardshortcut.py:174 msgid "Please press a key (or a key combination)" msgstr "Por favor pressione uma tecla (ou uma combinação de teclas)" #: setup/keyboardshortcut.py:186 msgid "Shorcut Editor" msgstr "Editor de atalhos" #: setup/keyboardshortcut.py:239 setup/shortcuteditor.py:196 #: setup/shortcuteditor.py:233 msgid "_Cancel" msgstr "_Cancelar" #: setup/keyboardshortcut.py:240 setup/shortcuteditor.py:197 #: setup/shortcuteditor.py:234 msgid "_OK" msgstr "_OK" #: setup/shortcuteditor.py:46 msgid "Switch Chinese/English" msgstr "Trocar chinês/inglês" #: setup/shortcuteditor.py:47 msgid "Full/Half Width Letter" msgstr "Letra de meia/completa largura" #: setup/shortcuteditor.py:48 msgid "Full/Half Width Punct" msgstr "Pontuação de meia/completa largura" #: setup/shortcuteditor.py:49 msgid "Full/Half Width Both Switch" msgstr "" #: setup/shortcuteditor.py:50 msgid "Switch Traditional/Simplfied Chinese" msgstr "" #: setup/shortcuteditor.py:88 msgid "Accelerator" msgstr "" #: setup/shortcuteditor.py:106 msgid "This shortcut key is already in use." msgstr "" #. set default button #: setup/shortcuteditor.py:164 msgid "_Default" msgstr "" #. edit button #: setup/shortcuteditor.py:169 msgid "_Edit" msgstr "_Editar" #: setup/shortcuteditor.py:195 msgid "Select Switching Key" msgstr "" #: setup/ibus-libpinyin-preferences.ui:20 msgid "Standard" msgstr "Padrão" #: setup/ibus-libpinyin-preferences.ui:23 msgid "GinYieh" msgstr "GinYieh" #: setup/ibus-libpinyin-preferences.ui:26 msgid "Eten" msgstr "Eten" #: setup/ibus-libpinyin-preferences.ui:29 msgid "IBM" msgstr "IBM" #: setup/ibus-libpinyin-preferences.ui:40 msgid "Baidu" msgstr "Baidu" #: setup/ibus-libpinyin-preferences.ui:43 msgid "Google" msgstr "Google" #: setup/ibus-libpinyin-preferences.ui:46 msgid "Google CN" msgstr "Google CN" #: setup/ibus-libpinyin-preferences.ui:57 #: setup/ibus-libpinyin-preferences.ui:103 msgid "Default" msgstr "Padrão" #: setup/ibus-libpinyin-preferences.ui:60 msgid "Compact" msgstr "Compacto" #: setup/ibus-libpinyin-preferences.ui:63 msgid "Compatibility" msgstr "Compatiblidade" #: setup/ibus-libpinyin-preferences.ui:74 msgid "MSPY" msgstr "MSPY" #: setup/ibus-libpinyin-preferences.ui:77 msgid "ZRM" msgstr "ZRM" #: setup/ibus-libpinyin-preferences.ui:80 msgid "ABC" msgstr "ABC" #: setup/ibus-libpinyin-preferences.ui:83 msgid "ZGPY" msgstr "ZGPY" #: setup/ibus-libpinyin-preferences.ui:86 msgid "PYJJ" msgstr "PYJJ" #: setup/ibus-libpinyin-preferences.ui:89 msgid "XHE" msgstr "XHE" #: setup/ibus-libpinyin-preferences.ui:122 msgid "Horizontal" msgstr "Horizontal" #: setup/ibus-libpinyin-preferences.ui:125 msgid "Vertical" msgstr "Vertical" #: setup/ibus-libpinyin-preferences.ui:171 msgid "Frequency" msgstr "Frequência" #: setup/ibus-libpinyin-preferences.ui:174 msgid "Pinyin Length" msgstr "Comprimento de pinyin" #: setup/ibus-libpinyin-preferences.ui:177 msgid "Legacy" msgstr "" #: setup/ibus-libpinyin-preferences.ui:268 msgid "Language:" msgstr "Idioma:" #: setup/ibus-libpinyin-preferences.ui:276 msgid "Half/full width:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:288 msgid "Punctuations:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:328 #: setup/ibus-libpinyin-preferences.ui:362 msgid "Full" msgstr "Cheio" #: setup/ibus-libpinyin-preferences.ui:345 #: setup/ibus-libpinyin-preferences.ui:379 msgid "Half" msgstr "Meio" #: setup/ibus-libpinyin-preferences.ui:398 msgid "Chinese:" msgstr "Chinês:" #: setup/ibus-libpinyin-preferences.ui:408 msgid "Simplified" msgstr "Simplificado" #: setup/ibus-libpinyin-preferences.ui:425 msgid "Traditional" msgstr "Tradicional" #: setup/ibus-libpinyin-preferences.ui:448 msgid "Initial state" msgstr "" #: setup/ibus-libpinyin-preferences.ui:486 msgid "Display Style:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:532 msgid "Orientation of candidates:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:578 msgid "Number of candidates:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:617 msgid "UI" msgstr "UI" #: setup/ibus-libpinyin-preferences.ui:646 msgid "Dynamically adjust the candidates order." msgstr "" #: setup/ibus-libpinyin-preferences.ui:661 msgid "Remember every input as a phrase." msgstr "" #: setup/ibus-libpinyin-preferences.ui:684 msgid "Sort candidates by:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:727 msgid "Candidates" msgstr "" #: setup/ibus-libpinyin-preferences.ui:763 msgid "Keyboard Layout:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:819 #: setup/ibus-libpinyin-preferences.ui:2199 msgid "Tips: Changes may not take effect until ime restarts." msgstr "" #: setup/ibus-libpinyin-preferences.ui:842 msgid "Keyboard" msgstr "" #: setup/ibus-libpinyin-preferences.ui:861 msgid "General" msgstr "Geral" #: setup/ibus-libpinyin-preferences.ui:901 msgid "Full pinyin" msgstr "" #: setup/ibus-libpinyin-preferences.ui:922 msgid "Double pinyin" msgstr "" #: setup/ibus-libpinyin-preferences.ui:965 msgid "Show raw input of Double Pinyin" msgstr "" #: setup/ibus-libpinyin-preferences.ui:980 msgid "Incomplete pinyin" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1002 msgid "Pinyin mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1044 msgid "[Shift] select candidate" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1054 msgid "[-] [=] flip page" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1069 msgid "[,] [.] flip page" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1084 msgid "Auto commit" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1098 msgid " [ ] flip page" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1126 msgid "Input Custom" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1274 msgid "Enable pinyin correction" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1310 msgid "Correct pinyin" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1340 #: setup/ibus-libpinyin-preferences.ui:1779 msgid "Enable Cloud Input" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1364 #: setup/ibus-libpinyin-preferences.ui:1803 msgid "Source From:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1409 #: setup/ibus-libpinyin-preferences.ui:1848 msgid "Cloud Input Option" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1431 msgid "Pinyin mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1470 msgid "Incomplete Bopomofo" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1493 msgid "Keyboard Mapping:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1536 msgid "Bopomofo mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1572 msgid "Selection Keys:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1609 msgid "Enable Guidekey for Candidates Selection" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1626 msgid "Enable Auxiliary Select Keys F1 .. F10" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1643 msgid "Enable Auxiliary Select Keys Numbers on Keypad" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1666 msgid "Selection mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1698 msgid "Feature of Enter key:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1709 msgid "Commit first candidate" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1727 msgid "Commit original text" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1749 msgid "Other" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1870 msgid "Bopomofo mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2032 msgid "Enable fuzzy syllable" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2133 msgid "Fuzzy syllable" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2222 msgid "Dictionary option" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2244 msgid "Dictionary" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2285 msgid "Lua Extension" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2299 msgid "Table Mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2313 #, fuzzy msgid "English Mode" msgstr "Inglês" #: setup/ibus-libpinyin-preferences.ui:2327 #, fuzzy msgid "English Candidate" msgstr "Inglês" #: setup/ibus-libpinyin-preferences.ui:2341 msgid "Emoji Candidate" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2355 msgid "Suggestion Candidate" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2375 msgid "Input Modes" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2406 msgid "User Lua Script" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2416 msgid "Edit" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2436 msgid "Customize IME" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2471 #: setup/ibus-libpinyin-preferences.ui:2655 msgid "Export" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2486 #: setup/ibus-libpinyin-preferences.ui:2670 msgid "Import" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2502 msgid "User Dictionary" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2527 msgid "Clear All Data" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2547 #: setup/ibus-libpinyin-preferences.ui:2700 msgid "Clear" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2575 msgid "" "Dictionary File Format:\n" " Each line contains one of the following:\n" " \"phrase pinyin\" or \"phrase pinyin frequency\"\n" " like \"你好 ni'hao\" or \"你好 ni'hao 5\"." msgstr "" #: setup/ibus-libpinyin-preferences.ui:2588 #: setup/ibus-libpinyin-preferences.ui:2738 msgid "Help" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2606 msgid "User Dictionary" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2642 msgid "User Table" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2728 msgid "" "Table File Format:\n" " Each line contains the following:\n" " \"table_code phrase frequency\" like \"a 啊 100\"." msgstr "" #: setup/ibus-libpinyin-preferences.ui:2756 #, fuzzy msgid "User Table" msgstr "UI" #: setup/ibus-libpinyin-preferences.ui:2778 msgid "User data" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2808 msgid "Shortcuts" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2864 msgid "Intelligent Pinyin input method for IBus" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2877 msgid "Copyright (c) 2011-2024 Peng Wu" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2890 msgid "https://github.com/libpinyin/ibus-libpinyin" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2907 msgid "" "\n" "Authors:\n" "Peng Wu\n" "Peng Huang\n" "BYVoid\n" "\n" "Main Contributors:\n" "Weixuan XIAO, Linyu XU\n" "\n" "Contributors:\n" "koterpilla, Zerng07, Hillwood Yang\n" "" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2947 msgid "About" msgstr "" #: data/ibus-setup-libpinyin.desktop.in:3 msgid "IBus LibPinyin Setup" msgstr "" #: data/ibus-setup-libpinyin.desktop.in:4 msgid "Set ibus-libpinyin Preferences" msgstr "" #: data/ibus-setup-libbopomofo.desktop.in:3 msgid "IBus LibBopomofo Preferences" msgstr "" #: data/ibus-setup-libbopomofo.desktop.in:4 msgid "Set ibus-libbopomofo Preferences" msgstr "" ibus-libpinyin-1.16.1/po/LINGUAS0000644000175000017500000000006614727714537011704 ca fr ru zh_CN zh_HK zh_TW es pt_BR cs uk de si ka el ibus-libpinyin-1.16.1/po/Rules-quot0000644000175000017500000000423313440163070012637 # This file, Rules-quot, can be copied and used freely without restrictions. # Special Makefile rules for English message catalogs with quotation marks. DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot .SUFFIXES: .insert-header .po-update-en en@quot.po-create: $(MAKE) en@quot.po-update en@boldquot.po-create: $(MAKE) en@boldquot.po-update en@quot.po-update: en@quot.po-update-en en@boldquot.po-update: en@boldquot.po-update-en .insert-header.po-update-en: @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ ll=`echo $$lang | sed -e 's/@.*//'`; \ LC_ALL=C; export LC_ALL; \ cd $(srcdir); \ if $(MSGINIT) $(MSGINIT_OPTIONS) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null \ | $(SED) -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | \ { case `$(MSGFILTER) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-8] | 0.1[0-8].*) \ $(MSGFILTER) $(SED) -f `echo $$lang | sed -e 's/.*@//'`.sed \ ;; \ *) \ $(MSGFILTER) `echo $$lang | sed -e 's/.*@//'` \ ;; \ esac } 2>/dev/null > $$tmpdir/$$lang.new.po \ ; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "creation of $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi en@quot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header en@boldquot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header mostlyclean: mostlyclean-quot mostlyclean-quot: rm -f *.insert-header ibus-libpinyin-1.16.1/po/es.gmo0000644000175000017500000002517214737373732011776         '6^.37 =IP T`fw     '2 A(Ox&.(-FNSZ pz  %/4FWhm u'(9 bl ~     5)TZ~  ) 5!Cem     3; O\bk$ % %= c" $5 -= MW`dim+" 7O%; Xdw'.   % ESY`g~    - G Q %X 0~  )   !*!2!7!@! \!g!p!!!#!!%!$"4" <"F"N" U"_"e"|"""" ""#"#"# #4#F#Y#/v#/###$$%$*$9$>$ M$X$o$$$$$$$1$e%%(%*% %%%&4&!=&_&/u&-&&&&(& '(';'D' \'j' r'|'&'''*'/('A(,i((( ("(I) N)Z)l)))))))))) *%*5*=*+F*r*v*~.8K ,?gOFmIR]E3)-b"/n59 YV<N[daTPJ:;z%B*uwGqsjhL7lcr!62XC =|$+y}po\`i4'_ Z0@#xD{v>&S(^f QHkM1WteUABopomofo modeCandidatesCloud Input OptionCorrect pinyinCustomize IMEDictionary File Format: Each line contains one of the following: "phrase pinyin" or "phrase pinyin frequency" like "你好 ni'hao" or "你好 ni'hao 5".Dictionary optionInitial stateInput CustomOtherPinyin modeSelection modeUIUser DictionaryIntelligent Pinyin %s Authors: Peng Wu Peng Huang BYVoid Main Contributors: Weixuan XIAO, Linyu XU Contributors: koterpilla, Zerng07, Hillwood Yang Copyright (c) 2011-2024 Peng WuABCAboutAcceleratorActiveArtAuto commitBaiduBopomofo (debug)Bopomofo input method (debug)Bopomofo modeChineseChinese:ClearClear All DataCommit first candidateCommit original textCompactCompatibilityCultureDefaultDescriptionDictionaryDisplay Style:Double pinyinDynamically adjust the candidates order.EconomyEditEnable Auxiliary Select Keys F1 .. F10Enable Auxiliary Select Keys Numbers on KeypadEnable Cloud InputEnable Guidekey for Candidates SelectionEnable fuzzy syllableEnable pinyin correctionEnglishEtenExportFeature of Enter key:FrequencyFullFull Width LetterFull Width PunctFull pinyinFull/Half Width Both SwitchFull/Half Width LetterFull/Half Width PunctFuzzy syllableGeneralGeologyGinYiehGoogleGoogle CNHalfHalf Width LetterHalf Width PunctHalf/full width:HelpHistoryHorizontalIBMIBus LibBopomofo PreferencesIBus LibPinyin SetupImportIncomplete BopomofoIncomplete pinyinIntelligent PinyinIntelligent Pinyin (debug)Intelligent Pinyin input method (debug)Intelligent Pinyin input method for IBusKey code:Keyboard Mapping:Language:Libpinyin input methodLifeLua ExtensionMSPYModifiers:NatureNumber of candidates:Orientation of candidates:PYJJPeoplePinyin LengthPinyin modePlease choose a filePlease input the English word.Please press a key (or a key combination)Please press a key (or a key combination). The dialog will close when the key is released.Please save a filePlease use "hspnz" to input.Please use table code to input.PreferencesPunctuations:Remember every input as a phrase.ScienceSelect Switching KeySelection Keys:Set ibus-libbopomofo PreferencesSet ibus-libpinyin PreferencesShorcut EditorShortcut:ShortcutsShow raw input of Double PinyinSimplifiedSimplified ChineseSocietySort candidates by:Source From:SportStandardSwitch Chinese/EnglishSwitch Traditional/Simplfied ChineseSwitch to Chinese ModeSwitch to English ModeSwitch to Full Width Letter ModeSwitch to Full Width Punctuation ModeSwitch to Half Width Letter ModeSwitch to Half Width Punctuation ModeSwitch to Simplfied Chinese ModeSwitch to Traditional Chinese ModeTechnologyThis shortcut key is already in use.Tips: Changes may not take effect until ime restarts.TraditionalTraditional ChineseUser DictionaryUser Lua ScriptUser dataVerticalXHEZGPYZRM[,] [.] flip page[-] [=] flip page[Shift] select candidate_Cancel_Default_Edit_OKhttps://github.com/libpinyin/ibus-libpinyin中英Project-Id-Version: PACKAGE VERSION Report-Msgid-Bugs-To: https://github.com/libpinyin/ibus-libpinyin/issues/new PO-Revision-Date: 2022-10-17 09:19+0000 Last-Translator: Emilio Herrera Language-Team: Spanish Language: es MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 4.14.1 Modo bopomofoCandidatosOpción de entrada por nubePinyin correctoPersonalizar IMEFormato de archivo del diccionario: Cada renglón contiene uno de lo siguiente: "frase pinyin" o "frecuencia de frase pinyin" como "你好 ni'hao" o "你好 ni'hao 5".Opción del diccionarioEstado inicialEntrada personalizadaOtroModo pinyinModo de selecciónInterfazDiccionario del usuarioPinyin inteligente %s Autores: Peng Wu Peng Huang BYVoid Contribuidores principales: Weixuan XIAO, Linyu XU Contribuidores: koterpilla, Zerng07, Hillwood Yang Copyright (c) 2011-2024 Peng WuABCAcerca deAceleradorActivoArteValidar automáticamenteBaiduBopomofo (depurar)Método de entrada bopomofo (depurar)Modo bopomofoChinoChino:VaciarVaciar todos los datosValidar primer candidatoValidar texto brutoCompactoCompatiblidadCulturaPredeterminadoDescripciónDiccionarioEstilo de visualización:Pinyin dobleAjuste dinámico del orden de los candidatos.EconomíaEditarActivar teclas auxiliares (F1 .. F10)Activar selección auxiliar en teclado numéricoActivar entrada por nubeActivar guía de selección de candidatosHabilitar sílaba borrosaActivar corrección de pinyinInglésEtenExportarFunción de la tecla Intro:FrecuenciaCompletoLetra de anchura completaPuntuación de anchura completaPinyin completoAncho Completo/Medio Conmutar AmbosLetra de anchura completa/mediaPuntuación de anchura completa/mediaSílaba borrosaGeneralGeologíaGinYiehGoogleGoogle CNMedioLetra de anchura mediaPuntuación de anchura mediaAnchura media/completa:AyudaHistoriaHorizontalIBMPreferencias de LibBopomofo de IBusConfiguración de LibPinyin de IBusImportarBopomofo incompletoPinyin incompletoPinyin inteligentePinyin inteligente (depurar)Método de entrada pinyin inteligente (depurar)Método de entrada pinyin inteligente para IBusCódigo de tecla:Asignación de teclado:Idioma:Método de entrada LibpinyinVidaExtensión LuaMSPYModificadores:NaturalezaNúmero de candidatos:Orientación de los candidatos:PYJJGenteLongitud de pinyinModo de pinyinElija un archivoEscriba la palabra en inglés.Presione una tecla (o una combinación de teclas)Presione una tecla (o una combinación de teclas). Se cerrará el diálogo cuando se suelte la tecla.Guarde un archivoUtilice «hspnz» para la introducción.Utiice el código de la tabla para entrar.PreferenciasSignos de puntuación:Recordar cada entrada como una frase.CienciasSeleccionar tecla de conmutaciónTeclas de selección:Establezca las preferencias de ibus-libbopomofoEstablezca las preferencias de ibus-libpinyinEditor de atajosAtajo:AtajosMostrar la entrada cruda de Pinyin DobleSimplificadoChino simplificadoSociedadOrdenar candidatos por:Fuente Desde:DeporteEstándarAlternar chino/inglésCambiar chino tradicional/simplificadoCambiar a modo chinoCambiar a modo inglésPasar a modo de letras de anchura completaPasar a modo de puntuación de anchura completaPasar a modo de letras de anchura mediaPasar a modo de puntuación de anchura mediaPasar a modo chino simplificadoPasar a modo chino tradicionalTecnologíaEsta tecla de atajo ya se utiliza.Consejo: estos cambios pueden no surtir efecto salvo que reinicie el IME.TradicionalChino tradicionalDiccionario del usuarioSecuencia en Lua de usuarioDatos del usuarioVerticalXHEZGPYZRM[,] [.] cambio de página[-] [=] cambio de página[Mayús] seleccionar candidato_CancelarPre_determinada_Editar_Aceptarhttps://github.com/libpinyin/ibus-libpinyin中英ibus-libpinyin-1.16.1/po/Makefile.in.in0000644000175000017500000004225113440165353013316 # Makefile for PO directory in any package using GNU gettext. # Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper # # Copying and distribution of this file, with or without modification, # are permitted in any medium without royalty provided the copyright # notice and this notice are preserved. This file is offered as-is, # without any warranty. # # Origin: gettext-0.19.7 GETTEXT_MACRO_VERSION = 0.19 PACKAGE = @PACKAGE@ VERSION = @VERSION@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ SED = @SED@ SHELL = /bin/sh @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datarootdir = @datarootdir@ datadir = @datadir@ localedir = @localedir@ gettextsrcdir = $(datadir)/gettext/po INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ # We use $(mkdir_p). # In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as # "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, # @install_sh@ does not start with $(SHELL), so we add it. # In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined # either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake # versions, $(mkinstalldirs) and $(install_sh) are unused. mkinstalldirs = $(SHELL) @install_sh@ -d install_sh = $(SHELL) @install_sh@ MKDIR_P = @MKDIR_P@ mkdir_p = @mkdir_p@ # When building gettext-tools, we prefer to use the built programs # rather than installed programs. However, we can't do that when we # are cross compiling. CROSS_COMPILING = @CROSS_COMPILING@ GMSGFMT_ = @GMSGFMT@ GMSGFMT_no = @GMSGFMT@ GMSGFMT_yes = @GMSGFMT_015@ GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) MSGFMT_ = @MSGFMT@ MSGFMT_no = @MSGFMT@ MSGFMT_yes = @MSGFMT_015@ MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) XGETTEXT_ = @XGETTEXT@ XGETTEXT_no = @XGETTEXT@ XGETTEXT_yes = @XGETTEXT_015@ XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) MSGMERGE = msgmerge MSGMERGE_UPDATE = @MSGMERGE@ --update MSGINIT = msginit MSGCONV = msgconv MSGFILTER = msgfilter POFILES = @POFILES@ GMOFILES = @GMOFILES@ UPDATEPOFILES = @UPDATEPOFILES@ DUMMYPOFILES = @DUMMYPOFILES@ DISTFILES.common = Makefile.in.in remove-potcdate.sin \ $(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ $(POFILES) $(GMOFILES) \ $(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) POTFILES = \ CATALOGS = @CATALOGS@ POFILESDEPS_ = $(srcdir)/$(DOMAIN).pot POFILESDEPS_yes = $(POFILESDEPS_) POFILESDEPS_no = POFILESDEPS = $(POFILESDEPS_$(PO_DEPENDS_ON_POT)) DISTFILESDEPS_ = update-po DISTFILESDEPS_yes = $(DISTFILESDEPS_) DISTFILESDEPS_no = DISTFILESDEPS = $(DISTFILESDEPS_$(DIST_DEPENDS_ON_UPDATE_PO)) # Makevars gets inserted here. (Don't remove this line!) .SUFFIXES: .SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update .po.mo: @echo "$(MSGFMT) -c -o $@ $<"; \ $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ .po.gmo: @lang=`echo $* | sed -e 's,.*/,,'`; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo .sin.sed: sed -e '/^#/d' $< > t-$@ mv t-$@ $@ all: all-@USE_NLS@ all-yes: stamp-po all-no: # Ensure that the gettext macros and this Makefile.in.in are in sync. CHECK_MACRO_VERSION = \ test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \ || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \ exit 1; \ } # $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no # internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because # we don't want to bother translators with empty POT files). We assume that # LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. # In this case, stamp-po is a nop (i.e. a phony target). # stamp-po is a timestamp denoting the last time at which the CATALOGS have # been loosely updated. Its purpose is that when a developer or translator # checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, # "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent # invocations of "make" will do nothing. This timestamp would not be necessary # if updating the $(CATALOGS) would always touch them; however, the rule for # $(POFILES) has been designed to not touch files that don't need to be # changed. stamp-po: $(srcdir)/$(DOMAIN).pot @$(CHECK_MACRO_VERSION) test ! -f $(srcdir)/$(DOMAIN).pot || \ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) @test ! -f $(srcdir)/$(DOMAIN).pot || { \ echo "touch stamp-po" && \ echo timestamp > stamp-poT && \ mv stamp-poT stamp-po; \ } # Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', # otherwise packages like GCC can not be built if only parts of the source # have been downloaded. # This target rebuilds $(DOMAIN).pot; it is an expensive operation. # Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. # The determination of whether the package xyz is a GNU one is based on the # heuristic whether some file in the top level directory mentions "GNU xyz". # If GNU 'find' is available, we avoid grepping through monster files. $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed package_gnu="$(PACKAGE_GNU)"; \ test -n "$$package_gnu" || { \ if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \ LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f \ -size -10000000c -exec grep 'GNU @PACKAGE@' \ /dev/null '{}' ';' 2>/dev/null; \ else \ LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \ fi; \ } | grep -v 'libtool:' >/dev/null; then \ package_gnu=yes; \ else \ package_gnu=no; \ fi; \ }; \ if test "$$package_gnu" = "yes"; then \ package_prefix='GNU '; \ else \ package_prefix=''; \ fi; \ if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ else \ msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ fi; \ case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --msgid-bugs-address="$$msgid_bugs_address" \ ;; \ *) \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --package-name="$${package_prefix}@PACKAGE@" \ --package-version='@VERSION@' \ --msgid-bugs-address="$$msgid_bugs_address" \ ;; \ esac test ! -f $(DOMAIN).po || { \ if test -f $(srcdir)/$(DOMAIN).pot-header; then \ sed -e '1,/^#$$/d' < $(DOMAIN).po > $(DOMAIN).1po && \ cat $(srcdir)/$(DOMAIN).pot-header $(DOMAIN).1po > $(DOMAIN).po; \ rm -f $(DOMAIN).1po; \ fi; \ if test -f $(srcdir)/$(DOMAIN).pot; then \ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ else \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ else \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ } # This rule has no dependencies: we don't need to update $(DOMAIN).pot at # every "make" invocation, only create it when it is missing. # Only "make $(DOMAIN).pot-update" or "make dist" will force an update. $(srcdir)/$(DOMAIN).pot: $(MAKE) $(DOMAIN).pot-update # This target rebuilds a PO file if $(DOMAIN).pot has changed. # Note that a PO file is not touched if it doesn't need to be changed. $(POFILES): $(POFILESDEPS) @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ if test -f "$(srcdir)/$${lang}.po"; then \ test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ cd $(srcdir) \ && { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ *) \ $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ esac; \ }; \ else \ $(MAKE) $${lang}.po-create; \ fi install: install-exec install-data install-exec: install-data: install-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ for file in $(DISTFILES.common) Makevars.template; do \ $(INSTALL_DATA) $(srcdir)/$$file \ $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ for file in Makevars; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi install-data-no: all install-data-yes: all @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ fi; \ done; \ done install-strip: install installdirs: installdirs-exec installdirs-data installdirs-exec: installdirs-data: installdirs-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ else \ : ; \ fi installdirs-data-no: installdirs-data-yes: @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ fi; \ done; \ done # Define this as empty until I found a useful application. installcheck: uninstall: uninstall-exec uninstall-data uninstall-exec: uninstall-data: uninstall-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ for file in $(DISTFILES.common) Makevars.template; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi uninstall-data-no: uninstall-data-yes: catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ done; \ done check: all info dvi ps pdf html tags TAGS ctags CTAGS ID: mostlyclean: rm -f remove-potcdate.sed rm -f stamp-poT rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po rm -fr *.o clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES *.mo maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." rm -f stamp-po $(GMOFILES) distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: test -z "$(DISTFILESDEPS)" || $(MAKE) $(DISTFILESDEPS) @$(MAKE) dist2 # This is a separate target because 'update-po' must be executed before. dist2: stamp-po $(DISTFILES) dists="$(DISTFILES)"; \ if test "$(PACKAGE)" = "gettext-tools"; then \ dists="$$dists Makevars.template"; \ fi; \ if test -f $(srcdir)/$(DOMAIN).pot; then \ dists="$$dists $(DOMAIN).pot stamp-po"; \ fi; \ if test -f $(srcdir)/ChangeLog; then \ dists="$$dists ChangeLog"; \ fi; \ for i in 0 1 2 3 4 5 6 7 8 9; do \ if test -f $(srcdir)/ChangeLog.$$i; then \ dists="$$dists ChangeLog.$$i"; \ fi; \ done; \ if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ for file in $$dists; do \ if test -f $$file; then \ cp -p $$file $(distdir) || exit 1; \ else \ cp -p $(srcdir)/$$file $(distdir) || exit 1; \ fi; \ done update-po: Makefile $(MAKE) $(DOMAIN).pot-update test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) $(MAKE) update-gmo # General rule for creating PO files. .nop.po-create: @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ exit 1 # General rule for updating PO files. .nop.po-update: @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ cd $(srcdir); \ if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ *) \ $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ esac; \ }; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi $(DUMMYPOFILES): update-gmo: Makefile $(GMOFILES) @: # Recreate Makefile by invoking config.status. Explicitly invoke the shell, # because execution permission bits may not work on the current file system. # Use @SHELL@, which is the shell determined by autoconf for the use by its # scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient. Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ cd $(top_builddir) \ && @SHELL@ ./config.status $(subdir)/$@.in po-directories force: # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ibus-libpinyin-1.16.1/po/ka.po0000644000175000017500000004625314737714225011615 # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Peng Huang # This file is distributed under the same license as the ibus-libpinyin package. # Temuri Doghonadze , 2022, 2023, 2024. # Weblate Translation Memory , 2025. msgid "" msgstr "" "Project-Id-Version: ibus-libpinyin 1.12.91\n" "Report-Msgid-Bugs-To: https://github.com/libpinyin/ibus-libpinyin/issues/" "new\n" "POT-Creation-Date: 2025-01-08 11:58+0800\n" "PO-Revision-Date: 2025-01-09 08:49+0000\n" "Last-Translator: Weblate Translation Memory \n" "Language-Team: Georgian \n" "Language: ka\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.9.2\n" #: src/PYPConfig.cc:695 msgid "The table file is imported." msgstr "" #: src/PYPConfig.cc:702 msgid "The table file is exported." msgstr "" #: src/PYPConfig.cc:714 msgid "The pinyin dictionary file is imported." msgstr "" #: src/PYPConfig.cc:721 msgid "The pinyin dictionary file is exported." msgstr "" #: src/PYMain.cc:117 msgid "Libpinyin input method" msgstr "Libpinyin-ით შეტანის მეთოდი" #: src/PYMain.cc:127 msgid "Intelligent Pinyin (debug)" msgstr "" #: src/PYMain.cc:128 msgid "Intelligent Pinyin input method (debug)" msgstr "" #: src/PYMain.cc:138 msgid "Bopomofo (debug)" msgstr "ბოპომოფო (გამართვა)" #: src/PYMain.cc:139 msgid "Bopomofo input method (debug)" msgstr "" #: src/PYPinyinProperties.cc:40 src/PYPinyinProperties.cc:128 #: setup/ibus-libpinyin-preferences.ui:111 #: setup/ibus-libpinyin-preferences.ui:298 msgid "Chinese" msgstr "ჩინური" #: src/PYPinyinProperties.cc:41 src/PYPinyinProperties.cc:129 #: setup/ibus-libpinyin-preferences.ui:107 #: setup/ibus-libpinyin-preferences.ui:313 msgid "English" msgstr "ინგლისური" #: src/PYPinyinProperties.cc:46 src/PYPinyinProperties.cc:140 msgid "Switch to English Mode" msgstr "ინგლისურ რეჟიმზე გადართვა" #: src/PYPinyinProperties.cc:47 src/PYPinyinProperties.cc:141 msgid "Switch to Chinese Mode" msgstr "ჩინურ რეჟიმზე გადართვა" #: src/PYPinyinProperties.cc:51 src/PYPinyinProperties.cc:153 msgid "Full Width Letter" msgstr "" #: src/PYPinyinProperties.cc:52 src/PYPinyinProperties.cc:154 msgid "Half Width Letter" msgstr "" #: src/PYPinyinProperties.cc:57 src/PYPinyinProperties.cc:159 msgid "Switch to Half Width Letter Mode" msgstr "" #: src/PYPinyinProperties.cc:58 src/PYPinyinProperties.cc:160 msgid "Switch to Full Width Letter Mode" msgstr "" #: src/PYPinyinProperties.cc:62 src/PYPinyinProperties.cc:169 msgid "Full Width Punct" msgstr "" #: src/PYPinyinProperties.cc:63 src/PYPinyinProperties.cc:170 msgid "Half Width Punct" msgstr "" #: src/PYPinyinProperties.cc:68 src/PYPinyinProperties.cc:175 msgid "Switch to Half Width Punctuation Mode" msgstr "" #: src/PYPinyinProperties.cc:69 src/PYPinyinProperties.cc:176 msgid "Switch to Full Width Punctuation Mode" msgstr "" #: src/PYPinyinProperties.cc:73 src/PYPinyinProperties.cc:185 msgid "Simplified Chinese" msgstr "გამარტივებული ჩინური" #: src/PYPinyinProperties.cc:74 src/PYPinyinProperties.cc:186 msgid "Traditional Chinese" msgstr "ტრადიციული ჩინური" #: src/PYPinyinProperties.cc:79 src/PYPinyinProperties.cc:191 msgid "Switch to Traditional Chinese Mode" msgstr "ტრადიციულ ჩინურზე გადართვა" #: src/PYPinyinProperties.cc:80 src/PYPinyinProperties.cc:192 msgid "Switch to Simplfied Chinese Mode" msgstr "მარტივ ჩინურზე გადართვა" #: src/PYPinyinProperties.cc:83 src/PYPinyinProperties.cc:85 #: setup/ibus-libpinyin-preferences.ui:185 msgid "Preferences" msgstr "პარამეტრები" #: src/PYPinyinProperties.cc:88 src/PYPinyinProperties.cc:132 msgid "中" msgstr "中" #: src/PYPinyinProperties.cc:90 src/PYPinyinProperties.cc:134 msgid "英" msgstr "英" #: src/PYPinyinProperties.cc:270 msgid "Lua Converter" msgstr "" #: src/PYPinyinProperties.cc:272 msgid "Use the Lua Convertor" msgstr "" #: src/PYPinyinProperties.cc:279 msgid "None" msgstr "არაფერი" #: src/PYEnglishEditor.cc:307 msgid "Please input the English word." msgstr "" #: src/PYTableEditor.cc:306 msgid "Please use \"hspnz\" to input." msgstr "" #: src/PYTableEditor.cc:309 msgid "Please use table code to input." msgstr "" #: setup/main2.py:493 msgid "Please choose a file" msgstr "გთხოვთ, აირჩიოთ ფაილი" #: setup/main2.py:514 msgid "Please save a file" msgstr "გთხოვთ, შეინახოთ ფაილი" #: setup/main2.py:662 setup/ibus-libpinyin-preferences.ui:2850 #, python-format msgid "Intelligent Pinyin %s" msgstr "" #: setup/config.py:30 msgid "Intelligent Pinyin" msgstr "ჭკვიანი პინინი" #: setup/dicttreeview.py:52 msgid "Art" msgstr "ხელოვნება" #: setup/dicttreeview.py:53 msgid "Culture" msgstr "კულტურა" #: setup/dicttreeview.py:54 msgid "Economy" msgstr "ეკონომიკა" #: setup/dicttreeview.py:55 msgid "Geology" msgstr "გეოლოგია" #: setup/dicttreeview.py:56 msgid "History" msgstr "ისტორია" #: setup/dicttreeview.py:57 msgid "Life" msgstr "ცხოვრება" #: setup/dicttreeview.py:58 msgid "Nature" msgstr "ბუნება" #: setup/dicttreeview.py:59 msgid "People" msgstr "ხალხი" #: setup/dicttreeview.py:60 msgid "Science" msgstr "მეცნიერება" #: setup/dicttreeview.py:61 msgid "Society" msgstr "საზოგადოება" #: setup/dicttreeview.py:62 msgid "Sport" msgstr "სპორტი" #: setup/dicttreeview.py:63 msgid "Technology" msgstr "ტექნოლოგია" #: setup/dicttreeview.py:110 msgid "Active" msgstr "აქტიური" #: setup/dicttreeview.py:115 setup/shortcuteditor.py:83 msgid "Description" msgstr "აღწერა" #: setup/keyboardshortcut.py:54 msgid "Shortcut:" msgstr "მალსახმობი:" #: setup/keyboardshortcut.py:67 msgid "Key code:" msgstr "ღილაკის კოდი:" #: setup/keyboardshortcut.py:82 msgid "Modifiers:" msgstr "მოდიფიკატორების:" #: setup/keyboardshortcut.py:171 msgid "" "Please press a key (or a key combination).\n" "The dialog will close when the key is released." msgstr "" #: setup/keyboardshortcut.py:174 msgid "Please press a key (or a key combination)" msgstr "დააწექით ღილაკს (ან მათ კომბინაციას)" #: setup/keyboardshortcut.py:186 msgid "Shorcut Editor" msgstr "მალსახმობების რედაქტორი" #: setup/keyboardshortcut.py:239 setup/shortcuteditor.py:196 #: setup/shortcuteditor.py:233 msgid "_Cancel" msgstr "_შეწყვეტა" #: setup/keyboardshortcut.py:240 setup/shortcuteditor.py:197 #: setup/shortcuteditor.py:234 msgid "_OK" msgstr "_დიახ" #: setup/shortcuteditor.py:46 msgid "Switch Chinese/English" msgstr "ჩინური/ინგლისურის გადართვა" #: setup/shortcuteditor.py:47 msgid "Full/Half Width Letter" msgstr "" #: setup/shortcuteditor.py:48 msgid "Full/Half Width Punct" msgstr "" #: setup/shortcuteditor.py:49 msgid "Full/Half Width Both Switch" msgstr "" #: setup/shortcuteditor.py:50 msgid "Switch Traditional/Simplfied Chinese" msgstr "" #: setup/shortcuteditor.py:88 msgid "Accelerator" msgstr "ამაჩქარებელი" #: setup/shortcuteditor.py:106 msgid "This shortcut key is already in use." msgstr "" #. set default button #: setup/shortcuteditor.py:164 msgid "_Default" msgstr "_ნაგულისხმები" #. edit button #: setup/shortcuteditor.py:169 msgid "_Edit" msgstr "_ჩასწორება" #: setup/shortcuteditor.py:195 msgid "Select Switching Key" msgstr "" #: setup/ibus-libpinyin-preferences.ui:20 msgid "Standard" msgstr "სტანდარტული" #: setup/ibus-libpinyin-preferences.ui:23 msgid "GinYieh" msgstr "GinYieh" #: setup/ibus-libpinyin-preferences.ui:26 msgid "Eten" msgstr "Eten" #: setup/ibus-libpinyin-preferences.ui:29 msgid "IBM" msgstr "IBM" #: setup/ibus-libpinyin-preferences.ui:40 msgid "Baidu" msgstr "ბაიდუ" #: setup/ibus-libpinyin-preferences.ui:43 msgid "Google" msgstr "Google" #: setup/ibus-libpinyin-preferences.ui:46 msgid "Google CN" msgstr "Google CN" #: setup/ibus-libpinyin-preferences.ui:57 #: setup/ibus-libpinyin-preferences.ui:103 msgid "Default" msgstr "ნაგულისხმები" #: setup/ibus-libpinyin-preferences.ui:60 msgid "Compact" msgstr "დაპატარავება" #: setup/ibus-libpinyin-preferences.ui:63 msgid "Compatibility" msgstr "თავსებადობა" #: setup/ibus-libpinyin-preferences.ui:74 msgid "MSPY" msgstr "MSPY" #: setup/ibus-libpinyin-preferences.ui:77 msgid "ZRM" msgstr "ZRM" #: setup/ibus-libpinyin-preferences.ui:80 msgid "ABC" msgstr "ABC" #: setup/ibus-libpinyin-preferences.ui:83 msgid "ZGPY" msgstr "ZGPY" #: setup/ibus-libpinyin-preferences.ui:86 msgid "PYJJ" msgstr "PYJJ" #: setup/ibus-libpinyin-preferences.ui:89 msgid "XHE" msgstr "XHE" #: setup/ibus-libpinyin-preferences.ui:122 msgid "Horizontal" msgstr "ჰორიზონტალური" #: setup/ibus-libpinyin-preferences.ui:125 msgid "Vertical" msgstr "ვერტიკალური" #: setup/ibus-libpinyin-preferences.ui:171 msgid "Frequency" msgstr "სიხშირე" #: setup/ibus-libpinyin-preferences.ui:174 msgid "Pinyin Length" msgstr "პინინის სიგრძე" #: setup/ibus-libpinyin-preferences.ui:177 msgid "Legacy" msgstr "" #: setup/ibus-libpinyin-preferences.ui:268 msgid "Language:" msgstr "ენა:" #: setup/ibus-libpinyin-preferences.ui:276 msgid "Half/full width:" msgstr "ნახევარი/სრული სიგანე:" #: setup/ibus-libpinyin-preferences.ui:288 msgid "Punctuations:" msgstr "პუნქტუაციები:" #: setup/ibus-libpinyin-preferences.ui:328 #: setup/ibus-libpinyin-preferences.ui:362 msgid "Full" msgstr "სრული" #: setup/ibus-libpinyin-preferences.ui:345 #: setup/ibus-libpinyin-preferences.ui:379 msgid "Half" msgstr "ნახევარი" #: setup/ibus-libpinyin-preferences.ui:398 msgid "Chinese:" msgstr "ჩინური:" #: setup/ibus-libpinyin-preferences.ui:408 msgid "Simplified" msgstr "გამარტივებული" #: setup/ibus-libpinyin-preferences.ui:425 msgid "Traditional" msgstr "ტრადიციული" #: setup/ibus-libpinyin-preferences.ui:448 msgid "Initial state" msgstr "საწყისი მდგომარეობა" #: setup/ibus-libpinyin-preferences.ui:486 msgid "Display Style:" msgstr "ჩვენების სტილი:" #: setup/ibus-libpinyin-preferences.ui:532 msgid "Orientation of candidates:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:578 msgid "Number of candidates:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:617 msgid "UI" msgstr "UI" #: setup/ibus-libpinyin-preferences.ui:646 msgid "Dynamically adjust the candidates order." msgstr "" #: setup/ibus-libpinyin-preferences.ui:661 msgid "Remember every input as a phrase." msgstr "" #: setup/ibus-libpinyin-preferences.ui:684 msgid "Sort candidates by:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:727 msgid "Candidates" msgstr "კანდიდატი" #: setup/ibus-libpinyin-preferences.ui:763 msgid "Keyboard Layout:" msgstr "კლავიატურის განლაგება:" #: setup/ibus-libpinyin-preferences.ui:819 #: setup/ibus-libpinyin-preferences.ui:2199 msgid "Tips: Changes may not take effect until ime restarts." msgstr "" #: setup/ibus-libpinyin-preferences.ui:842 #, fuzzy msgid "Keyboard" msgstr "სხვა" #: setup/ibus-libpinyin-preferences.ui:861 msgid "General" msgstr "ზოგადი" #: setup/ibus-libpinyin-preferences.ui:901 msgid "Full pinyin" msgstr "სრული პინინი" #: setup/ibus-libpinyin-preferences.ui:922 msgid "Double pinyin" msgstr "ორმაგი პინინი" #: setup/ibus-libpinyin-preferences.ui:965 msgid "Show raw input of Double Pinyin" msgstr "" #: setup/ibus-libpinyin-preferences.ui:980 msgid "Incomplete pinyin" msgstr "არასდრული პინინი" #: setup/ibus-libpinyin-preferences.ui:1002 msgid "Pinyin mode" msgstr "პინინის რეჟიმი" #: setup/ibus-libpinyin-preferences.ui:1044 msgid "[Shift] select candidate" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1054 msgid "[-] [=] flip page" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1069 msgid "[,] [.] flip page" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1084 msgid "Auto commit" msgstr "ავტომატური კომიტი" #: setup/ibus-libpinyin-preferences.ui:1098 msgid " [ ] flip page" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1126 msgid "Input Custom" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1274 msgid "Enable pinyin correction" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1310 msgid "Correct pinyin" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1340 #: setup/ibus-libpinyin-preferences.ui:1779 msgid "Enable Cloud Input" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1364 #: setup/ibus-libpinyin-preferences.ui:1803 msgid "Source From:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1409 #: setup/ibus-libpinyin-preferences.ui:1848 msgid "Cloud Input Option" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1431 msgid "Pinyin mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1470 msgid "Incomplete Bopomofo" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1493 msgid "Keyboard Mapping:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1536 msgid "Bopomofo mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1572 msgid "Selection Keys:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1609 msgid "Enable Guidekey for Candidates Selection" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1626 msgid "Enable Auxiliary Select Keys F1 .. F10" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1643 msgid "Enable Auxiliary Select Keys Numbers on Keypad" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1666 msgid "Selection mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1698 msgid "Feature of Enter key:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1709 msgid "Commit first candidate" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1727 msgid "Commit original text" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1749 msgid "Other" msgstr "სხვა" #: setup/ibus-libpinyin-preferences.ui:1870 msgid "Bopomofo mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2032 msgid "Enable fuzzy syllable" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2133 msgid "Fuzzy syllable" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2222 msgid "Dictionary option" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2244 msgid "Dictionary" msgstr "ლექსიკონი" #: setup/ibus-libpinyin-preferences.ui:2285 msgid "Lua Extension" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2299 msgid "Table Mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2313 msgid "English Mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2327 msgid "English Candidate" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2341 msgid "Emoji Candidate" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2355 msgid "Suggestion Candidate" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2375 msgid "Input Modes" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2406 msgid "User Lua Script" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2416 msgid "Edit" msgstr "ჩასოწრება" #: setup/ibus-libpinyin-preferences.ui:2436 msgid "Customize IME" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2471 #: setup/ibus-libpinyin-preferences.ui:2655 msgid "Export" msgstr "გატანა" #: setup/ibus-libpinyin-preferences.ui:2486 #: setup/ibus-libpinyin-preferences.ui:2670 msgid "Import" msgstr "შემოტანა" #: setup/ibus-libpinyin-preferences.ui:2502 msgid "User Dictionary" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2527 msgid "Clear All Data" msgstr "მონაცემების გაწმენდა" #: setup/ibus-libpinyin-preferences.ui:2547 #: setup/ibus-libpinyin-preferences.ui:2700 msgid "Clear" msgstr "გაწმენდა" #: setup/ibus-libpinyin-preferences.ui:2575 msgid "" "Dictionary File Format:\n" " Each line contains one of the following:\n" " \"phrase pinyin\" or \"phrase pinyin frequency\"\n" " like \"你好 ni'hao\" or \"你好 ni'hao 5\"." msgstr "" #: setup/ibus-libpinyin-preferences.ui:2588 #: setup/ibus-libpinyin-preferences.ui:2738 msgid "Help" msgstr "დახმარება" #: setup/ibus-libpinyin-preferences.ui:2606 msgid "User Dictionary" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2642 msgid "User Table" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2728 msgid "" "Table File Format:\n" " Each line contains the following:\n" " \"table_code phrase frequency\" like \"a 啊 100\"." msgstr "" #: setup/ibus-libpinyin-preferences.ui:2756 msgid "User Table" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2778 msgid "User data" msgstr "სამომხმარებლო მონაცემები" #: setup/ibus-libpinyin-preferences.ui:2808 msgid "Shortcuts" msgstr "მალსახმობები" #: setup/ibus-libpinyin-preferences.ui:2864 msgid "Intelligent Pinyin input method for IBus" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2877 msgid "Copyright (c) 2011-2024 Peng Wu" msgstr "(c) 2011-2024 Peng Wu, ყველა უფლება დაცულია" #: setup/ibus-libpinyin-preferences.ui:2890 msgid "https://github.com/libpinyin/ibus-libpinyin" msgstr "https://github.com/libpinyin/ibus-libpinyin" #: setup/ibus-libpinyin-preferences.ui:2907 msgid "" "\n" "Authors:\n" "Peng Wu\n" "Peng Huang\n" "BYVoid\n" "\n" "Main Contributors:\n" "Weixuan XIAO, Linyu XU\n" "\n" "Contributors:\n" "koterpilla, Zerng07, Hillwood Yang\n" "" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2947 msgid "About" msgstr "შესახებ" #: data/ibus-setup-libpinyin.desktop.in:3 msgid "IBus LibPinyin Setup" msgstr "IBus LibPinyin-ის მორგება" #: data/ibus-setup-libpinyin.desktop.in:4 msgid "Set ibus-libpinyin Preferences" msgstr "მოირგეთ ibus-libpinyin-ის პარამეტრები" #: data/ibus-setup-libbopomofo.desktop.in:3 msgid "IBus LibBopomofo Preferences" msgstr "" #: data/ibus-setup-libbopomofo.desktop.in:4 msgid "Set ibus-libbopomofo Preferences" msgstr "\"ibus-libbopomofo\"-ის პარამეტრების დაყენება" ibus-libpinyin-1.16.1/po/ka.gmo0000644000175000017500000001607314740100671011742 b,<HI[ p} .     $ 3 ; I Q Y e p                  $ 9 @ R e o         )  . : H P q         - "N q |          +    ">9x/ ^%)$?dz13 3:L$!$ )8%b "=Piq x<' 2+6b.{(#> 69A{.(9/`i<!%)OWnMCX$x':!"!5JW>GA)Jk1F&!m% +37'VS3B#A *\XZN-aD@LKT. O,E> R2"UMY([I ` )!H=9+78]W0$F/bG6J %?P_^<51C:&;Q4CandidatesInitial stateOtherPinyin modeUICopyright (c) 2011-2024 Peng WuABCAboutAcceleratorActiveArtAuto commitBaiduBopomofo (debug)ChineseChinese:ClearClear All DataCompactCompatibilityCultureDefaultDescriptionDictionaryDisplay Style:Double pinyinEconomyEditEnglishEtenExportFrequencyFullFull pinyinGeneralGeologyGinYiehGoogleGoogle CNHalfHalf/full width:HelpHistoryHorizontalIBMIBus LibPinyin SetupImportIncomplete pinyinIntelligent PinyinKey code:Keyboard Layout:Language:Libpinyin input methodLifeMSPYModifiers:NatureNonePYJJPeoplePinyin LengthPlease choose a filePlease press a key (or a key combination)Please save a filePreferencesPunctuations:ScienceSet ibus-libbopomofo PreferencesSet ibus-libpinyin PreferencesShorcut EditorShortcut:ShortcutsSimplifiedSimplified ChineseSocietySportStandardSwitch Chinese/EnglishSwitch to Chinese ModeSwitch to English ModeSwitch to Simplfied Chinese ModeSwitch to Traditional Chinese ModeTechnologyTraditionalTraditional ChineseUser dataVerticalXHEZGPYZRM_Cancel_Default_Edit_OKhttps://github.com/libpinyin/ibus-libpinyin中英Project-Id-Version: ibus-libpinyin 1.12.91 Report-Msgid-Bugs-To: https://github.com/libpinyin/ibus-libpinyin/issues/new PO-Revision-Date: 2025-01-09 08:49+0000 Last-Translator: Weblate Translation Memory Language-Team: Georgian Language: ka MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 5.9.2 კანდიდატისაწყისი მდგომარეობასხვაპინინის რეჟიმიUI(c) 2011-2024 Peng Wu, ყველა უფლება დაცულიაABCშესახებამაჩქარებელიაქტიურიხელოვნებაავტომატური კომიტიბაიდუბოპომოფო (გამართვა)ჩინურიჩინური:გაწმენდამონაცემების გაწმენდადაპატარავებათავსებადობაკულტურანაგულისხმებიაღწერალექსიკონიჩვენების სტილი:ორმაგი პინინიეკონომიკაჩასოწრებაინგლისურიEtenგატანასიხშირესრულისრული პინინიზოგადიგეოლოგიაGinYiehGoogleGoogle CNნახევარინახევარი/სრული სიგანე:დახმარებაისტორიაჰორიზონტალურიIBMIBus LibPinyin-ის მორგებაშემოტანაარასდრული პინინიჭკვიანი პინინიღილაკის კოდი:კლავიატურის განლაგება:ენა:Libpinyin-ით შეტანის მეთოდიცხოვრებაMSPYმოდიფიკატორების:ბუნებაარაფერიPYJJხალხიპინინის სიგრძეგთხოვთ, აირჩიოთ ფაილიდააწექით ღილაკს (ან მათ კომბინაციას)გთხოვთ, შეინახოთ ფაილიპარამეტრებიპუნქტუაციები:მეცნიერება"ibus-libbopomofo"-ის პარამეტრების დაყენებამოირგეთ ibus-libpinyin-ის პარამეტრებიმალსახმობების რედაქტორიმალსახმობი:მალსახმობებიგამარტივებულიგამარტივებული ჩინურისაზოგადოებასპორტისტანდარტულიჩინური/ინგლისურის გადართვაჩინურ რეჟიმზე გადართვაინგლისურ რეჟიმზე გადართვამარტივ ჩინურზე გადართვატრადიციულ ჩინურზე გადართვატექნოლოგიატრადიციულიტრადიციული ჩინურისამომხმარებლო მონაცემებივერტიკალურიXHEZGPYZRM_შეწყვეტა_ნაგულისხმები_ჩასწორება_დიახhttps://github.com/libpinyin/ibus-libpinyin中英ibus-libpinyin-1.16.1/po/es.po0000644000175000017500000005003614737373731011626 # Emilio Herrera , 2018. #zanata, 2020, 2021, 2022. # Adolfo Jayme Barrientos , 2020. msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: https://github.com/libpinyin/ibus-libpinyin/issues/" "new\n" "POT-Creation-Date: 2025-01-08 11:58+0800\n" "PO-Revision-Date: 2022-10-17 09:19+0000\n" "Last-Translator: Emilio Herrera \n" "Language-Team: Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.14.1\n" #: src/PYPConfig.cc:695 msgid "The table file is imported." msgstr "" #: src/PYPConfig.cc:702 msgid "The table file is exported." msgstr "" #: src/PYPConfig.cc:714 msgid "The pinyin dictionary file is imported." msgstr "" #: src/PYPConfig.cc:721 msgid "The pinyin dictionary file is exported." msgstr "" #: src/PYMain.cc:117 msgid "Libpinyin input method" msgstr "Método de entrada Libpinyin" #: src/PYMain.cc:127 msgid "Intelligent Pinyin (debug)" msgstr "Pinyin inteligente (depurar)" #: src/PYMain.cc:128 msgid "Intelligent Pinyin input method (debug)" msgstr "Método de entrada pinyin inteligente (depurar)" #: src/PYMain.cc:138 msgid "Bopomofo (debug)" msgstr "Bopomofo (depurar)" #: src/PYMain.cc:139 msgid "Bopomofo input method (debug)" msgstr "Método de entrada bopomofo (depurar)" #: src/PYPinyinProperties.cc:40 src/PYPinyinProperties.cc:128 #: setup/ibus-libpinyin-preferences.ui:111 #: setup/ibus-libpinyin-preferences.ui:298 msgid "Chinese" msgstr "Chino" #: src/PYPinyinProperties.cc:41 src/PYPinyinProperties.cc:129 #: setup/ibus-libpinyin-preferences.ui:107 #: setup/ibus-libpinyin-preferences.ui:313 msgid "English" msgstr "Inglés" #: src/PYPinyinProperties.cc:46 src/PYPinyinProperties.cc:140 msgid "Switch to English Mode" msgstr "Cambiar a modo inglés" #: src/PYPinyinProperties.cc:47 src/PYPinyinProperties.cc:141 msgid "Switch to Chinese Mode" msgstr "Cambiar a modo chino" #: src/PYPinyinProperties.cc:51 src/PYPinyinProperties.cc:153 msgid "Full Width Letter" msgstr "Letra de anchura completa" #: src/PYPinyinProperties.cc:52 src/PYPinyinProperties.cc:154 msgid "Half Width Letter" msgstr "Letra de anchura media" #: src/PYPinyinProperties.cc:57 src/PYPinyinProperties.cc:159 msgid "Switch to Half Width Letter Mode" msgstr "Pasar a modo de letras de anchura media" #: src/PYPinyinProperties.cc:58 src/PYPinyinProperties.cc:160 msgid "Switch to Full Width Letter Mode" msgstr "Pasar a modo de letras de anchura completa" #: src/PYPinyinProperties.cc:62 src/PYPinyinProperties.cc:169 msgid "Full Width Punct" msgstr "Puntuación de anchura completa" #: src/PYPinyinProperties.cc:63 src/PYPinyinProperties.cc:170 msgid "Half Width Punct" msgstr "Puntuación de anchura media" #: src/PYPinyinProperties.cc:68 src/PYPinyinProperties.cc:175 msgid "Switch to Half Width Punctuation Mode" msgstr "Pasar a modo de puntuación de anchura media" #: src/PYPinyinProperties.cc:69 src/PYPinyinProperties.cc:176 msgid "Switch to Full Width Punctuation Mode" msgstr "Pasar a modo de puntuación de anchura completa" #: src/PYPinyinProperties.cc:73 src/PYPinyinProperties.cc:185 msgid "Simplified Chinese" msgstr "Chino simplificado" #: src/PYPinyinProperties.cc:74 src/PYPinyinProperties.cc:186 msgid "Traditional Chinese" msgstr "Chino tradicional" #: src/PYPinyinProperties.cc:79 src/PYPinyinProperties.cc:191 msgid "Switch to Traditional Chinese Mode" msgstr "Pasar a modo chino tradicional" #: src/PYPinyinProperties.cc:80 src/PYPinyinProperties.cc:192 msgid "Switch to Simplfied Chinese Mode" msgstr "Pasar a modo chino simplificado" #: src/PYPinyinProperties.cc:83 src/PYPinyinProperties.cc:85 #: setup/ibus-libpinyin-preferences.ui:185 msgid "Preferences" msgstr "Preferencias" #: src/PYPinyinProperties.cc:88 src/PYPinyinProperties.cc:132 msgid "中" msgstr "中" #: src/PYPinyinProperties.cc:90 src/PYPinyinProperties.cc:134 msgid "英" msgstr "英" #: src/PYPinyinProperties.cc:270 msgid "Lua Converter" msgstr "" #: src/PYPinyinProperties.cc:272 msgid "Use the Lua Convertor" msgstr "" #: src/PYPinyinProperties.cc:279 msgid "None" msgstr "" #: src/PYEnglishEditor.cc:307 msgid "Please input the English word." msgstr "Escriba la palabra en inglés." #: src/PYTableEditor.cc:306 msgid "Please use \"hspnz\" to input." msgstr "Utilice «hspnz» para la introducción." #: src/PYTableEditor.cc:309 msgid "Please use table code to input." msgstr "Utiice el código de la tabla para entrar." #: setup/main2.py:493 msgid "Please choose a file" msgstr "Elija un archivo" #: setup/main2.py:514 msgid "Please save a file" msgstr "Guarde un archivo" #: setup/main2.py:662 setup/ibus-libpinyin-preferences.ui:2850 #, python-format msgid "Intelligent Pinyin %s" msgstr "Pinyin inteligente %s" #: setup/config.py:30 msgid "Intelligent Pinyin" msgstr "Pinyin inteligente" #: setup/dicttreeview.py:52 msgid "Art" msgstr "Arte" #: setup/dicttreeview.py:53 msgid "Culture" msgstr "Cultura" #: setup/dicttreeview.py:54 msgid "Economy" msgstr "Economía" #: setup/dicttreeview.py:55 msgid "Geology" msgstr "Geología" #: setup/dicttreeview.py:56 msgid "History" msgstr "Historia" #: setup/dicttreeview.py:57 msgid "Life" msgstr "Vida" #: setup/dicttreeview.py:58 msgid "Nature" msgstr "Naturaleza" #: setup/dicttreeview.py:59 msgid "People" msgstr "Gente" #: setup/dicttreeview.py:60 msgid "Science" msgstr "Ciencias" #: setup/dicttreeview.py:61 msgid "Society" msgstr "Sociedad" #: setup/dicttreeview.py:62 msgid "Sport" msgstr "Deporte" #: setup/dicttreeview.py:63 msgid "Technology" msgstr "Tecnología" #: setup/dicttreeview.py:110 msgid "Active" msgstr "Activo" #: setup/dicttreeview.py:115 setup/shortcuteditor.py:83 msgid "Description" msgstr "Descripción" #: setup/keyboardshortcut.py:54 msgid "Shortcut:" msgstr "Atajo:" #: setup/keyboardshortcut.py:67 msgid "Key code:" msgstr "Código de tecla:" #: setup/keyboardshortcut.py:82 msgid "Modifiers:" msgstr "Modificadores:" #: setup/keyboardshortcut.py:171 msgid "" "Please press a key (or a key combination).\n" "The dialog will close when the key is released." msgstr "" "Presione una tecla (o una combinación de teclas).\n" "Se cerrará el diálogo cuando se suelte la tecla." #: setup/keyboardshortcut.py:174 msgid "Please press a key (or a key combination)" msgstr "Presione una tecla (o una combinación de teclas)" #: setup/keyboardshortcut.py:186 msgid "Shorcut Editor" msgstr "Editor de atajos" #: setup/keyboardshortcut.py:239 setup/shortcuteditor.py:196 #: setup/shortcuteditor.py:233 msgid "_Cancel" msgstr "_Cancelar" #: setup/keyboardshortcut.py:240 setup/shortcuteditor.py:197 #: setup/shortcuteditor.py:234 msgid "_OK" msgstr "_Aceptar" #: setup/shortcuteditor.py:46 msgid "Switch Chinese/English" msgstr "Alternar chino/inglés" #: setup/shortcuteditor.py:47 msgid "Full/Half Width Letter" msgstr "Letra de anchura completa/media" #: setup/shortcuteditor.py:48 msgid "Full/Half Width Punct" msgstr "Puntuación de anchura completa/media" #: setup/shortcuteditor.py:49 msgid "Full/Half Width Both Switch" msgstr "Ancho Completo/Medio Conmutar Ambos" #: setup/shortcuteditor.py:50 msgid "Switch Traditional/Simplfied Chinese" msgstr "Cambiar chino tradicional/simplificado" #: setup/shortcuteditor.py:88 msgid "Accelerator" msgstr "Acelerador" #: setup/shortcuteditor.py:106 msgid "This shortcut key is already in use." msgstr "Esta tecla de atajo ya se utiliza." #. set default button #: setup/shortcuteditor.py:164 msgid "_Default" msgstr "Pre_determinada" #. edit button #: setup/shortcuteditor.py:169 msgid "_Edit" msgstr "_Editar" #: setup/shortcuteditor.py:195 msgid "Select Switching Key" msgstr "Seleccionar tecla de conmutación" #: setup/ibus-libpinyin-preferences.ui:20 msgid "Standard" msgstr "Estándar" #: setup/ibus-libpinyin-preferences.ui:23 msgid "GinYieh" msgstr "GinYieh" #: setup/ibus-libpinyin-preferences.ui:26 msgid "Eten" msgstr "Eten" #: setup/ibus-libpinyin-preferences.ui:29 msgid "IBM" msgstr "IBM" #: setup/ibus-libpinyin-preferences.ui:40 msgid "Baidu" msgstr "Baidu" #: setup/ibus-libpinyin-preferences.ui:43 msgid "Google" msgstr "Google" #: setup/ibus-libpinyin-preferences.ui:46 msgid "Google CN" msgstr "Google CN" #: setup/ibus-libpinyin-preferences.ui:57 #: setup/ibus-libpinyin-preferences.ui:103 msgid "Default" msgstr "Predeterminado" #: setup/ibus-libpinyin-preferences.ui:60 msgid "Compact" msgstr "Compacto" #: setup/ibus-libpinyin-preferences.ui:63 msgid "Compatibility" msgstr "Compatiblidad" #: setup/ibus-libpinyin-preferences.ui:74 msgid "MSPY" msgstr "MSPY" #: setup/ibus-libpinyin-preferences.ui:77 msgid "ZRM" msgstr "ZRM" #: setup/ibus-libpinyin-preferences.ui:80 msgid "ABC" msgstr "ABC" #: setup/ibus-libpinyin-preferences.ui:83 msgid "ZGPY" msgstr "ZGPY" #: setup/ibus-libpinyin-preferences.ui:86 msgid "PYJJ" msgstr "PYJJ" #: setup/ibus-libpinyin-preferences.ui:89 msgid "XHE" msgstr "XHE" #: setup/ibus-libpinyin-preferences.ui:122 msgid "Horizontal" msgstr "Horizontal" #: setup/ibus-libpinyin-preferences.ui:125 msgid "Vertical" msgstr "Vertical" #: setup/ibus-libpinyin-preferences.ui:171 msgid "Frequency" msgstr "Frecuencia" #: setup/ibus-libpinyin-preferences.ui:174 msgid "Pinyin Length" msgstr "Longitud de pinyin" #: setup/ibus-libpinyin-preferences.ui:177 msgid "Legacy" msgstr "" #: setup/ibus-libpinyin-preferences.ui:268 msgid "Language:" msgstr "Idioma:" #: setup/ibus-libpinyin-preferences.ui:276 msgid "Half/full width:" msgstr "Anchura media/completa:" #: setup/ibus-libpinyin-preferences.ui:288 msgid "Punctuations:" msgstr "Signos de puntuación:" #: setup/ibus-libpinyin-preferences.ui:328 #: setup/ibus-libpinyin-preferences.ui:362 msgid "Full" msgstr "Completo" #: setup/ibus-libpinyin-preferences.ui:345 #: setup/ibus-libpinyin-preferences.ui:379 msgid "Half" msgstr "Medio" #: setup/ibus-libpinyin-preferences.ui:398 msgid "Chinese:" msgstr "Chino:" #: setup/ibus-libpinyin-preferences.ui:408 msgid "Simplified" msgstr "Simplificado" #: setup/ibus-libpinyin-preferences.ui:425 msgid "Traditional" msgstr "Tradicional" #: setup/ibus-libpinyin-preferences.ui:448 msgid "Initial state" msgstr "Estado inicial" #: setup/ibus-libpinyin-preferences.ui:486 msgid "Display Style:" msgstr "Estilo de visualización:" #: setup/ibus-libpinyin-preferences.ui:532 msgid "Orientation of candidates:" msgstr "Orientación de los candidatos:" #: setup/ibus-libpinyin-preferences.ui:578 msgid "Number of candidates:" msgstr "Número de candidatos:" #: setup/ibus-libpinyin-preferences.ui:617 msgid "UI" msgstr "Interfaz" #: setup/ibus-libpinyin-preferences.ui:646 msgid "Dynamically adjust the candidates order." msgstr "Ajuste dinámico del orden de los candidatos." #: setup/ibus-libpinyin-preferences.ui:661 msgid "Remember every input as a phrase." msgstr "Recordar cada entrada como una frase." #: setup/ibus-libpinyin-preferences.ui:684 msgid "Sort candidates by:" msgstr "Ordenar candidatos por:" #: setup/ibus-libpinyin-preferences.ui:727 msgid "Candidates" msgstr "Candidatos" #: setup/ibus-libpinyin-preferences.ui:763 #, fuzzy msgid "Keyboard Layout:" msgstr "Asignación de teclado:" #: setup/ibus-libpinyin-preferences.ui:819 #: setup/ibus-libpinyin-preferences.ui:2199 msgid "Tips: Changes may not take effect until ime restarts." msgstr "" "Consejo: estos cambios pueden no surtir efecto salvo que reinicie el IME." #: setup/ibus-libpinyin-preferences.ui:842 #, fuzzy msgid "Keyboard" msgstr "Otro" #: setup/ibus-libpinyin-preferences.ui:861 msgid "General" msgstr "General" #: setup/ibus-libpinyin-preferences.ui:901 msgid "Full pinyin" msgstr "Pinyin completo" #: setup/ibus-libpinyin-preferences.ui:922 msgid "Double pinyin" msgstr "Pinyin doble" #: setup/ibus-libpinyin-preferences.ui:965 msgid "Show raw input of Double Pinyin" msgstr "Mostrar la entrada cruda de Pinyin Doble" #: setup/ibus-libpinyin-preferences.ui:980 msgid "Incomplete pinyin" msgstr "Pinyin incompleto" #: setup/ibus-libpinyin-preferences.ui:1002 msgid "Pinyin mode" msgstr "Modo pinyin" #: setup/ibus-libpinyin-preferences.ui:1044 msgid "[Shift] select candidate" msgstr "[Mayús] seleccionar candidato" #: setup/ibus-libpinyin-preferences.ui:1054 msgid "[-] [=] flip page" msgstr "[-] [=] cambio de página" #: setup/ibus-libpinyin-preferences.ui:1069 msgid "[,] [.] flip page" msgstr "[,] [.] cambio de página" #: setup/ibus-libpinyin-preferences.ui:1084 msgid "Auto commit" msgstr "Validar automáticamente" #: setup/ibus-libpinyin-preferences.ui:1098 #, fuzzy msgid " [ ] flip page" msgstr "[-] [=] cambio de página" #: setup/ibus-libpinyin-preferences.ui:1126 msgid "Input Custom" msgstr "Entrada personalizada" #: setup/ibus-libpinyin-preferences.ui:1274 msgid "Enable pinyin correction" msgstr "Activar corrección de pinyin" #: setup/ibus-libpinyin-preferences.ui:1310 msgid "Correct pinyin" msgstr "Pinyin correcto" #: setup/ibus-libpinyin-preferences.ui:1340 #: setup/ibus-libpinyin-preferences.ui:1779 msgid "Enable Cloud Input" msgstr "Activar entrada por nube" #: setup/ibus-libpinyin-preferences.ui:1364 #: setup/ibus-libpinyin-preferences.ui:1803 msgid "Source From:" msgstr "Fuente Desde:" #: setup/ibus-libpinyin-preferences.ui:1409 #: setup/ibus-libpinyin-preferences.ui:1848 msgid "Cloud Input Option" msgstr "Opción de entrada por nube" #: setup/ibus-libpinyin-preferences.ui:1431 msgid "Pinyin mode" msgstr "Modo de pinyin" #: setup/ibus-libpinyin-preferences.ui:1470 msgid "Incomplete Bopomofo" msgstr "Bopomofo incompleto" #: setup/ibus-libpinyin-preferences.ui:1493 msgid "Keyboard Mapping:" msgstr "Asignación de teclado:" #: setup/ibus-libpinyin-preferences.ui:1536 msgid "Bopomofo mode" msgstr "Modo bopomofo" #: setup/ibus-libpinyin-preferences.ui:1572 msgid "Selection Keys:" msgstr "Teclas de selección:" #: setup/ibus-libpinyin-preferences.ui:1609 msgid "Enable Guidekey for Candidates Selection" msgstr "Activar guía de selección de candidatos" #: setup/ibus-libpinyin-preferences.ui:1626 msgid "Enable Auxiliary Select Keys F1 .. F10" msgstr "Activar teclas auxiliares (F1 .. F10)" #: setup/ibus-libpinyin-preferences.ui:1643 msgid "Enable Auxiliary Select Keys Numbers on Keypad" msgstr "Activar selección auxiliar en teclado numérico" #: setup/ibus-libpinyin-preferences.ui:1666 msgid "Selection mode" msgstr "Modo de selección" #: setup/ibus-libpinyin-preferences.ui:1698 msgid "Feature of Enter key:" msgstr "Función de la tecla Intro:" #: setup/ibus-libpinyin-preferences.ui:1709 msgid "Commit first candidate" msgstr "Validar primer candidato" #: setup/ibus-libpinyin-preferences.ui:1727 msgid "Commit original text" msgstr "Validar texto bruto" #: setup/ibus-libpinyin-preferences.ui:1749 msgid "Other" msgstr "Otro" #: setup/ibus-libpinyin-preferences.ui:1870 msgid "Bopomofo mode" msgstr "Modo bopomofo" #: setup/ibus-libpinyin-preferences.ui:2032 msgid "Enable fuzzy syllable" msgstr "Habilitar sílaba borrosa" #: setup/ibus-libpinyin-preferences.ui:2133 msgid "Fuzzy syllable" msgstr "Sílaba borrosa" #: setup/ibus-libpinyin-preferences.ui:2222 msgid "Dictionary option" msgstr "Opción del diccionario" #: setup/ibus-libpinyin-preferences.ui:2244 msgid "Dictionary" msgstr "Diccionario" #: setup/ibus-libpinyin-preferences.ui:2285 msgid "Lua Extension" msgstr "Extensión Lua" #: setup/ibus-libpinyin-preferences.ui:2299 msgid "Table Mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2313 #, fuzzy msgid "English Mode" msgstr "Inglés" #: setup/ibus-libpinyin-preferences.ui:2327 #, fuzzy msgid "English Candidate" msgstr "Inglés" #: setup/ibus-libpinyin-preferences.ui:2341 #, fuzzy msgid "Emoji Candidate" msgstr "Número de candidatos:" #: setup/ibus-libpinyin-preferences.ui:2355 #, fuzzy msgid "Suggestion Candidate" msgstr "Orientación de los candidatos:" #: setup/ibus-libpinyin-preferences.ui:2375 #, fuzzy msgid "Input Modes" msgstr "Entrada personalizada" #: setup/ibus-libpinyin-preferences.ui:2406 msgid "User Lua Script" msgstr "Secuencia en Lua de usuario" #: setup/ibus-libpinyin-preferences.ui:2416 msgid "Edit" msgstr "Editar" #: setup/ibus-libpinyin-preferences.ui:2436 msgid "Customize IME" msgstr "Personalizar IME" #: setup/ibus-libpinyin-preferences.ui:2471 #: setup/ibus-libpinyin-preferences.ui:2655 msgid "Export" msgstr "Exportar" #: setup/ibus-libpinyin-preferences.ui:2486 #: setup/ibus-libpinyin-preferences.ui:2670 msgid "Import" msgstr "Importar" #: setup/ibus-libpinyin-preferences.ui:2502 msgid "User Dictionary" msgstr "Diccionario del usuario" #: setup/ibus-libpinyin-preferences.ui:2527 msgid "Clear All Data" msgstr "Vaciar todos los datos" #: setup/ibus-libpinyin-preferences.ui:2547 #: setup/ibus-libpinyin-preferences.ui:2700 msgid "Clear" msgstr "Vaciar" #: setup/ibus-libpinyin-preferences.ui:2575 msgid "" "Dictionary File Format:\n" " Each line contains one of the following:\n" " \"phrase pinyin\" or \"phrase pinyin frequency\"\n" " like \"你好 ni'hao\" or \"你好 ni'hao 5\"." msgstr "" "Formato de archivo del diccionario:\n" " Cada renglón contiene uno de lo siguiente:\n" " \"frase pinyin\" o \"frecuencia de frase pinyin\"\n" " como \"你好 ni'hao\" o \"你好 ni'hao 5\"." #: setup/ibus-libpinyin-preferences.ui:2588 #: setup/ibus-libpinyin-preferences.ui:2738 msgid "Help" msgstr "Ayuda" #: setup/ibus-libpinyin-preferences.ui:2606 msgid "User Dictionary" msgstr "Diccionario del usuario" #: setup/ibus-libpinyin-preferences.ui:2642 #, fuzzy msgid "User Table" msgstr "Datos del usuario" #: setup/ibus-libpinyin-preferences.ui:2728 #, fuzzy msgid "" "Table File Format:\n" " Each line contains the following:\n" " \"table_code phrase frequency\" like \"a 啊 100\"." msgstr "" "Formato de archivo del diccionario:\n" " Cada renglón contiene uno de lo siguiente:\n" " \"frase pinyin\" o \"frecuencia de frase pinyin\"\n" " como \"你好 ni'hao\" o \"你好 ni'hao 5\"." #: setup/ibus-libpinyin-preferences.ui:2756 #, fuzzy msgid "User Table" msgstr "Diccionario del usuario" #: setup/ibus-libpinyin-preferences.ui:2778 msgid "User data" msgstr "Datos del usuario" #: setup/ibus-libpinyin-preferences.ui:2808 msgid "Shortcuts" msgstr "Atajos" #: setup/ibus-libpinyin-preferences.ui:2864 msgid "Intelligent Pinyin input method for IBus" msgstr "Método de entrada pinyin inteligente para IBus" #: setup/ibus-libpinyin-preferences.ui:2877 msgid "Copyright (c) 2011-2024 Peng Wu" msgstr "Copyright (c) 2011-2024 Peng Wu" #: setup/ibus-libpinyin-preferences.ui:2890 msgid "https://github.com/libpinyin/ibus-libpinyin" msgstr "https://github.com/libpinyin/ibus-libpinyin" #: setup/ibus-libpinyin-preferences.ui:2907 msgid "" "\n" "Authors:\n" "Peng Wu\n" "Peng Huang\n" "BYVoid\n" "\n" "Main Contributors:\n" "Weixuan XIAO, Linyu XU\n" "\n" "Contributors:\n" "koterpilla, Zerng07, Hillwood Yang\n" "" msgstr "" "\n" "Autores:\n" "Peng Wu\n" "Peng Huang\n" "BYVoid\n" "\n" "Contribuidores principales:\n" "Weixuan XIAO, Linyu XU\n" "\n" "Contribuidores:\n" "koterpilla, Zerng07, Hillwood Yang\n" "" #: setup/ibus-libpinyin-preferences.ui:2947 msgid "About" msgstr "Acerca de" #: data/ibus-setup-libpinyin.desktop.in:3 msgid "IBus LibPinyin Setup" msgstr "Configuración de LibPinyin de IBus" #: data/ibus-setup-libpinyin.desktop.in:4 msgid "Set ibus-libpinyin Preferences" msgstr "Establezca las preferencias de ibus-libpinyin" #: data/ibus-setup-libbopomofo.desktop.in:3 msgid "IBus LibBopomofo Preferences" msgstr "Preferencias de LibBopomofo de IBus" #: data/ibus-setup-libbopomofo.desktop.in:4 msgid "Set ibus-libbopomofo Preferences" msgstr "Establezca las preferencias de ibus-libbopomofo" #~ msgid "Show suggestions." #~ msgstr "Mostrar sugerencias." #~ msgid "Show emoji." #~ msgstr "Mostrar emoyis." #~ msgid "Low Frequent Characters" #~ msgstr "Caracteres de Baja Frecuencia" #~ msgid "SciTech" #~ msgstr "Ciencia Tecnología" ibus-libpinyin-1.16.1/po/zh_TW.gmo0000644000175000017500000002306414737373731012417    . @ Z p -F[ o| '.   %3;DJYp   (&..](p  $0Lcy .5I[n'(   !,3Idi p ~)ZCV s !  + 5? _j} $ %@ f% " $5! Wcw  +;?C3GXoCWk  !0   ( DQ Xbi|  !1Scy    ( 2 9 @ G N U b o            !!8!S!Z! j!t!! ! !!$!! !! " ""."G"1W""*" ""!"# # #!#$@#e# x# ### ### #### $$5$K$g$$$$$$$*%>% E% R%_% q%~%% % %%%% % % %%+&,&0&cu-VAbD=@&\sr+5.U9)k"7$Z}|Mq[n 1'lp4Cj~%EJiT{ G#x6t8 vP>/Bh^ gzN;!,*eoy32Qw(0RaK:m]WLOf? IXd_FYH< S`Bopomofo modeCandidatesCloud Input OptionCorrect pinyinCustomize IMEDictionary File Format: Each line contains one of the following: "phrase pinyin" or "phrase pinyin frequency" like "你好 ni'hao" or "你好 ni'hao 5".Dictionary optionInitial stateInput CustomOtherPinyin modeSelection modeUIUser DictionaryIntelligent Pinyin %s Authors: Peng Wu Peng Huang BYVoid Main Contributors: Weixuan XIAO, Linyu XU Contributors: koterpilla, Zerng07, Hillwood Yang Copyright (c) 2011-2024 Peng WuABCAboutAcceleratorActiveArtAuto commitBaiduBopomofo (debug)Bopomofo input method (debug)Bopomofo modeChineseChinese:ClearClear All DataCommit first candidateCommit original textCompactCultureDefaultDescriptionDictionaryDisplay Style:Double pinyinDynamically adjust the candidates order.EconomyEditEnable Auxiliary Select Keys F1 .. F10Enable Auxiliary Select Keys Numbers on KeypadEnable Cloud InputEnable Guidekey for Candidates SelectionEnable fuzzy syllableEnable pinyin correctionEnglishEtenExportFeature of Enter key:FrequencyFullFull Width LetterFull Width PunctFull pinyinFull/Half Width Both SwitchFull/Half Width LetterFull/Half Width PunctFuzzy syllableGeneralGeologyGinYiehGoogleHalfHalf Width LetterHalf Width PunctHalf/full width:HelpHistoryHorizontalIBMIBus LibBopomofo PreferencesIBus LibPinyin SetupImportIncomplete BopomofoIncomplete pinyinIntelligent PinyinIntelligent Pinyin (debug)Intelligent Pinyin input method (debug)Intelligent Pinyin input method for IBusKey code:Keyboard Mapping:Language:Libpinyin input methodLifeMSPYModifiers:NatureNumber of candidates:Orientation of candidates:PYJJPeoplePinyin LengthPinyin modePlease choose a filePlease input the English word.Please press a key (or a key combination)Please press a key (or a key combination). The dialog will close when the key is released.Please save a filePlease use "hspnz" to input.PreferencesPunctuations:Remember every input as a phrase.ScienceSelect Switching KeySelection Keys:Set ibus-libbopomofo PreferencesSet ibus-libpinyin PreferencesShorcut EditorShortcut:ShortcutsShow raw input of Double PinyinSimplifiedSimplified ChineseSocietySort candidates by:Source From:SportStandardSwitch Chinese/EnglishSwitch Traditional/Simplfied ChineseSwitch to Chinese ModeSwitch to English ModeSwitch to Full Width Letter ModeSwitch to Full Width Punctuation ModeSwitch to Half Width Letter ModeSwitch to Half Width Punctuation ModeSwitch to Simplfied Chinese ModeSwitch to Traditional Chinese ModeTechnologyThis shortcut key is already in use.Tips: Changes may not take effect until ime restarts.TraditionalTraditional ChineseUser DictionaryUser Lua ScriptUser dataVerticalXHEZGPYZRM[,] [.] flip page[-] [=] flip page[Shift] select candidate_Cancel_Default_Edit_OKhttps://github.com/libpinyin/ibus-libpinyin中英Project-Id-Version: ibus-libpinyin 1.3.5 Report-Msgid-Bugs-To: https://github.com/libpinyin/ibus-libpinyin/issues/new PO-Revision-Date: 2020-09-15 02:09+0000 Last-Translator: Hillwood Yang Language-Team: Chinese (Traditional) Language: zh_TW MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: Weblate 4.2.2 注音模式候選詞雲輸入選項拼音糾錯定製輸入法詞典文件格式: 每一行包含以下兩者之一: "短語 拼音" 或 "短語 拼音 頻率" 例如 "你好 ni'hao" 或 "你好 ni'hao 5"。詞典選項初始狀態輸入配置其他拼音模式選詞模式外觀用戶詞典智能拼音 %s 作者: Peng Wu Peng Huang BYVoid 主要貢獻者: 肖威軒,許林玉。 貢獻者: koterpilla, Zerng07, Hillwood Yang 版權所有 (c) 2011-2024 吳鵬智能ABC關於快捷鍵激活藝術自動上詞百度注音模式(調試)注音輸入法(調試)注音模式中文中文:清除清除全部數據輸出第一個候選詞輸出原本的英文字壓縮文化默認值描述詞典顯示風格:雙拼動態調整候詞序。經濟編輯啓用輔助選詞鍵F1 .. F10啓用數字鍵盤輔助選詞鍵激活雲輸入啓用選詞引導鍵啓用模糊音啓用拼音糾錯英文倚天導出Enter 鍵功能:詞頻全形全角字母全形符號全拼全形/半形切換全形/半形字母半形符號模糊音常規地理精業谷歌半形半角字母半形符號全形/半形:幫助歷史水平IBMIBus 注音配置工具IBus 智能拼音配置工具導入簡拼簡拼智能拼音(調試)智能拼音(調試)智能拼音輸入法(調試)IBus 智能拼音輸入法鍵:鍵盤映射:語言:智能拼音輸入法生活微軟拼音修飾符:自然每頁顯示候選詞條目數量:候選詞排列方向:拼音加加人物拼音長度拼音模式請選定文件請輸入英文單詞。請按快捷鍵請按快捷鍵。 此對話窗將自動關閉。請保存文件請用 "hspnz" 筆畫輸入中文字符。偏好設定標點符號:將每個輸入記錄為新詞。科學選詞鍵選詞鍵:設定 IBus 注音個人偏好設定 IBus 智能拼音個人偏好快捷鍵編輯器快捷鍵:快捷鍵顯示雙拼原始輸入簡體簡體中文社會候選詞排列順序:輸入源:體育標準切換中文/英文簡體/正體中文切換至中文模式切換至英文模式切換至全角字母模式切換至全形符號模式切換至半角字母模式切換至半形符號模式切換至簡體中文模式切換至正體中文模式科技快捷鍵已被使用。提示:變更可能需要重啓生效。繁體正體中文用戶詞典用戶 Lua 腳本用戶數據豎直小鶴紫光拼音自然碼[,][.]鍵翻頁[-][=]鍵翻頁[Shift]鍵選詞取消(_C)默認值(_D)編輯(_E)好(_O)https://github.com/libpinyin/ibus-libpinyin中英ibus-libpinyin-1.16.1/po/en@boldquot.header0000644000175000017500000000247113440163070014264 # All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # # This catalog furthermore displays the text between the quotation marks in # bold face, assuming the VT100/XTerm escape sequences. # ibus-libpinyin-1.16.1/po/cs.po0000644000175000017500000004721514737373731011631 # Marek Suchánek , 2016. #zanata # Zdenek , 2016. #zanata # Zdenek , 2017. #zanata msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: https://github.com/libpinyin/ibus-libpinyin/issues/" "new\n" "POT-Creation-Date: 2025-01-08 11:58+0800\n" "PO-Revision-Date: 2017-11-29 09:48-0500\n" "Last-Translator: Zdenek \n" "Language-Team: Czech\n" "Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Zanata 4.6.2\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" #: src/PYPConfig.cc:695 msgid "The table file is imported." msgstr "" #: src/PYPConfig.cc:702 msgid "The table file is exported." msgstr "" #: src/PYPConfig.cc:714 msgid "The pinyin dictionary file is imported." msgstr "" #: src/PYPConfig.cc:721 msgid "The pinyin dictionary file is exported." msgstr "" #: src/PYMain.cc:117 msgid "Libpinyin input method" msgstr "Vstupní metoda libpinyin" #: src/PYMain.cc:127 msgid "Intelligent Pinyin (debug)" msgstr "Inteligentní pinyin (debug)" #: src/PYMain.cc:128 msgid "Intelligent Pinyin input method (debug)" msgstr "Inteligentní vstupní metoda pinyin (debug)" #: src/PYMain.cc:138 msgid "Bopomofo (debug)" msgstr "Bopomofo (debug)" #: src/PYMain.cc:139 msgid "Bopomofo input method (debug)" msgstr "Vstupní metoda Bopomofo (debug)" #: src/PYPinyinProperties.cc:40 src/PYPinyinProperties.cc:128 #: setup/ibus-libpinyin-preferences.ui:111 #: setup/ibus-libpinyin-preferences.ui:298 msgid "Chinese" msgstr "Čínština" #: src/PYPinyinProperties.cc:41 src/PYPinyinProperties.cc:129 #: setup/ibus-libpinyin-preferences.ui:107 #: setup/ibus-libpinyin-preferences.ui:313 msgid "English" msgstr "Angličtina" #: src/PYPinyinProperties.cc:46 src/PYPinyinProperties.cc:140 msgid "Switch to English Mode" msgstr "Přepnout do anglického módu" #: src/PYPinyinProperties.cc:47 src/PYPinyinProperties.cc:141 msgid "Switch to Chinese Mode" msgstr "Přepnout do čínského módu" #: src/PYPinyinProperties.cc:51 src/PYPinyinProperties.cc:153 msgid "Full Width Letter" msgstr "Plná šířka písma" #: src/PYPinyinProperties.cc:52 src/PYPinyinProperties.cc:154 msgid "Half Width Letter" msgstr "Poloviční šířka písma" #: src/PYPinyinProperties.cc:57 src/PYPinyinProperties.cc:159 msgid "Switch to Half Width Letter Mode" msgstr "Přepnout do módu poloviční šířky písma" #: src/PYPinyinProperties.cc:58 src/PYPinyinProperties.cc:160 msgid "Switch to Full Width Letter Mode" msgstr "Přepnout do módu plné šířky písma" #: src/PYPinyinProperties.cc:62 src/PYPinyinProperties.cc:169 msgid "Full Width Punct" msgstr "Plná šířka interpunkce" #: src/PYPinyinProperties.cc:63 src/PYPinyinProperties.cc:170 msgid "Half Width Punct" msgstr "Poloviční šířka interpunkce" #: src/PYPinyinProperties.cc:68 src/PYPinyinProperties.cc:175 msgid "Switch to Half Width Punctuation Mode" msgstr "Přepnout do módu poloviční šířky interpunkce" #: src/PYPinyinProperties.cc:69 src/PYPinyinProperties.cc:176 msgid "Switch to Full Width Punctuation Mode" msgstr "Přepnout do módu plné šířky interpunkce" #: src/PYPinyinProperties.cc:73 src/PYPinyinProperties.cc:185 msgid "Simplified Chinese" msgstr "Zjednodušená čínština" #: src/PYPinyinProperties.cc:74 src/PYPinyinProperties.cc:186 msgid "Traditional Chinese" msgstr "Tradiční čínština" #: src/PYPinyinProperties.cc:79 src/PYPinyinProperties.cc:191 msgid "Switch to Traditional Chinese Mode" msgstr "Přepnout do módu tradiční čínštiny" #: src/PYPinyinProperties.cc:80 src/PYPinyinProperties.cc:192 msgid "Switch to Simplfied Chinese Mode" msgstr "Přepnout do módu zjednodušené čínštiny" #: src/PYPinyinProperties.cc:83 src/PYPinyinProperties.cc:85 #: setup/ibus-libpinyin-preferences.ui:185 msgid "Preferences" msgstr "Předvolby" #: src/PYPinyinProperties.cc:88 src/PYPinyinProperties.cc:132 msgid "中" msgstr "中" #: src/PYPinyinProperties.cc:90 src/PYPinyinProperties.cc:134 msgid "英" msgstr "英" #: src/PYPinyinProperties.cc:270 msgid "Lua Converter" msgstr "" #: src/PYPinyinProperties.cc:272 msgid "Use the Lua Convertor" msgstr "" #: src/PYPinyinProperties.cc:279 msgid "None" msgstr "" #: src/PYEnglishEditor.cc:307 #, fuzzy msgid "Please input the English word." msgstr "Vložte prosím anglické slovo." #: src/PYTableEditor.cc:306 msgid "Please use \"hspnz\" to input." msgstr "Použijte \"hpsnz\" pro vstup." #: src/PYTableEditor.cc:309 #, fuzzy msgid "Please use table code to input." msgstr "Použijte \"hpsnz\" pro vstup." #: setup/main2.py:493 msgid "Please choose a file" msgstr "Vyberte prosím soubor" #: setup/main2.py:514 msgid "Please save a file" msgstr "Uložte prosím soubor" #: setup/main2.py:662 setup/ibus-libpinyin-preferences.ui:2850 #, python-format msgid "Intelligent Pinyin %s" msgstr "Inteligentní pinyin %s" #: setup/config.py:30 #, fuzzy msgid "Intelligent Pinyin" msgstr "Inteligentní pinyin (debug)" #: setup/dicttreeview.py:52 msgid "Art" msgstr "Umění" #: setup/dicttreeview.py:53 msgid "Culture" msgstr "Kultura" #: setup/dicttreeview.py:54 msgid "Economy" msgstr "Ekonomie" #: setup/dicttreeview.py:55 msgid "Geology" msgstr "Geologie" #: setup/dicttreeview.py:56 msgid "History" msgstr "Dějiny" #: setup/dicttreeview.py:57 msgid "Life" msgstr "Život" #: setup/dicttreeview.py:58 msgid "Nature" msgstr "Příroda" #: setup/dicttreeview.py:59 msgid "People" msgstr "" #: setup/dicttreeview.py:60 msgid "Science" msgstr "" #: setup/dicttreeview.py:61 msgid "Society" msgstr "Společnost" #: setup/dicttreeview.py:62 msgid "Sport" msgstr "Sport" #: setup/dicttreeview.py:63 #, fuzzy msgid "Technology" msgstr "Geologie" #: setup/dicttreeview.py:110 msgid "Active" msgstr "Aktivní" #: setup/dicttreeview.py:115 setup/shortcuteditor.py:83 msgid "Description" msgstr "Popis" #: setup/keyboardshortcut.py:54 msgid "Shortcut:" msgstr "Zkratka:" #: setup/keyboardshortcut.py:67 msgid "Key code:" msgstr "Klávesa:" #: setup/keyboardshortcut.py:82 msgid "Modifiers:" msgstr "Modifikátory:" #: setup/keyboardshortcut.py:171 #, fuzzy msgid "" "Please press a key (or a key combination).\n" "The dialog will close when the key is released." msgstr "" "Stiskněte prosím klávesu (či kombinaci kláves).\n" "Dialog se zavře, až klávesy uvolníte." #: setup/keyboardshortcut.py:174 msgid "Please press a key (or a key combination)" msgstr "Stiskněte prosím klávesu (či kombinaci kláves)." #: setup/keyboardshortcut.py:186 msgid "Shorcut Editor" msgstr "Editor zkratek" #: setup/keyboardshortcut.py:239 setup/shortcuteditor.py:196 #: setup/shortcuteditor.py:233 msgid "_Cancel" msgstr "_Zrušit" #: setup/keyboardshortcut.py:240 setup/shortcuteditor.py:197 #: setup/shortcuteditor.py:234 msgid "_OK" msgstr "_OK" #: setup/shortcuteditor.py:46 msgid "Switch Chinese/English" msgstr "Přepnout čínštinu/angličtinu" #: setup/shortcuteditor.py:47 msgid "Full/Half Width Letter" msgstr "Plná/poloviční šířka písma" #: setup/shortcuteditor.py:48 msgid "Full/Half Width Punct" msgstr "Plná/poloviční šířka interpunkce" #: setup/shortcuteditor.py:49 #, fuzzy msgid "Full/Half Width Both Switch" msgstr "Plná/poloviční šířka písma" #: setup/shortcuteditor.py:50 msgid "Switch Traditional/Simplfied Chinese" msgstr "Přepnout tradiční/zjednodušenou čínštinu" #: setup/shortcuteditor.py:88 msgid "Accelerator" msgstr "Akcelerátor" #: setup/shortcuteditor.py:106 #, fuzzy msgid "This shortcut key is already in use." msgstr "Klávesová zkratka je již použita." #. set default button #: setup/shortcuteditor.py:164 msgid "_Default" msgstr "_Výchozí" #. edit button #: setup/shortcuteditor.py:169 msgid "_Edit" msgstr "_Upravit" #: setup/shortcuteditor.py:195 msgid "Select Switching Key" msgstr "Vybrat klávesu přepínání" #: setup/ibus-libpinyin-preferences.ui:20 msgid "Standard" msgstr "Standard" #: setup/ibus-libpinyin-preferences.ui:23 msgid "GinYieh" msgstr "GinYieh" #: setup/ibus-libpinyin-preferences.ui:26 msgid "Eten" msgstr "Eten" #: setup/ibus-libpinyin-preferences.ui:29 msgid "IBM" msgstr "IBM" #: setup/ibus-libpinyin-preferences.ui:40 msgid "Baidu" msgstr "" #: setup/ibus-libpinyin-preferences.ui:43 msgid "Google" msgstr "" #: setup/ibus-libpinyin-preferences.ui:46 msgid "Google CN" msgstr "" #: setup/ibus-libpinyin-preferences.ui:57 #: setup/ibus-libpinyin-preferences.ui:103 #, fuzzy msgid "Default" msgstr "_Výchozí" #: setup/ibus-libpinyin-preferences.ui:60 msgid "Compact" msgstr "" #: setup/ibus-libpinyin-preferences.ui:63 msgid "Compatibility" msgstr "" #: setup/ibus-libpinyin-preferences.ui:74 msgid "MSPY" msgstr "MSPY" #: setup/ibus-libpinyin-preferences.ui:77 msgid "ZRM" msgstr "ZRM" #: setup/ibus-libpinyin-preferences.ui:80 msgid "ABC" msgstr "ABC" #: setup/ibus-libpinyin-preferences.ui:83 msgid "ZGPY" msgstr "ZGPY" #: setup/ibus-libpinyin-preferences.ui:86 msgid "PYJJ" msgstr "PYJJ" #: setup/ibus-libpinyin-preferences.ui:89 msgid "XHE" msgstr "XHE" #: setup/ibus-libpinyin-preferences.ui:122 msgid "Horizontal" msgstr "Vodorovně" #: setup/ibus-libpinyin-preferences.ui:125 msgid "Vertical" msgstr "Svisle" #: setup/ibus-libpinyin-preferences.ui:171 msgid "Frequency" msgstr "" #: setup/ibus-libpinyin-preferences.ui:174 #, fuzzy msgid "Pinyin Length" msgstr "Mód pinyinu" #: setup/ibus-libpinyin-preferences.ui:177 msgid "Legacy" msgstr "" #: setup/ibus-libpinyin-preferences.ui:268 msgid "Language:" msgstr "Jazyk:" #: setup/ibus-libpinyin-preferences.ui:276 msgid "Half/full width:" msgstr "Poloviční/plná šířka:" #: setup/ibus-libpinyin-preferences.ui:288 msgid "Punctuations:" msgstr "Interpunkce:" #: setup/ibus-libpinyin-preferences.ui:328 #: setup/ibus-libpinyin-preferences.ui:362 msgid "Full" msgstr "Plná" #: setup/ibus-libpinyin-preferences.ui:345 #: setup/ibus-libpinyin-preferences.ui:379 msgid "Half" msgstr "Poloviční" #: setup/ibus-libpinyin-preferences.ui:398 msgid "Chinese:" msgstr "Čínština:" #: setup/ibus-libpinyin-preferences.ui:408 msgid "Simplified" msgstr "Zjednodušená" #: setup/ibus-libpinyin-preferences.ui:425 msgid "Traditional" msgstr "Tradiční" #: setup/ibus-libpinyin-preferences.ui:448 msgid "Initial state" msgstr "Výchozí stav" #: setup/ibus-libpinyin-preferences.ui:486 msgid "Display Style:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:532 msgid "Orientation of candidates:" msgstr "Orientace návrhů:" #: setup/ibus-libpinyin-preferences.ui:578 msgid "Number of candidates:" msgstr "Počet návrhů:" #: setup/ibus-libpinyin-preferences.ui:617 msgid "UI" msgstr "Uživatelské rozhraní" #: setup/ibus-libpinyin-preferences.ui:646 #, fuzzy msgid "Dynamically adjust the candidates order." msgstr "Dynamicky upravovat pořadí návrhů." #: setup/ibus-libpinyin-preferences.ui:661 msgid "Remember every input as a phrase." msgstr "Pamatovat si každý vstup jako výraz." #: setup/ibus-libpinyin-preferences.ui:684 #, fuzzy msgid "Sort candidates by:" msgstr "Počet návrhů:" #: setup/ibus-libpinyin-preferences.ui:727 msgid "Candidates" msgstr "Návrhy" #: setup/ibus-libpinyin-preferences.ui:763 #, fuzzy msgid "Keyboard Layout:" msgstr "Mapování klávesnice:" #: setup/ibus-libpinyin-preferences.ui:819 #: setup/ibus-libpinyin-preferences.ui:2199 #, fuzzy msgid "Tips: Changes may not take effect until ime restarts." msgstr "Tip: Tyto změny se projeví po restartu vstupní metody." #: setup/ibus-libpinyin-preferences.ui:842 #, fuzzy msgid "Keyboard" msgstr "Jiné" #: setup/ibus-libpinyin-preferences.ui:861 msgid "General" msgstr "Obecné" #: setup/ibus-libpinyin-preferences.ui:901 msgid "Full pinyin" msgstr "Plný pinyin" #: setup/ibus-libpinyin-preferences.ui:922 msgid "Double pinyin" msgstr "Dvojitý pinyin" #: setup/ibus-libpinyin-preferences.ui:965 msgid "Show raw input of Double Pinyin" msgstr "Zobrazit nezpracovaný vstup dvojitého pinyinu" #: setup/ibus-libpinyin-preferences.ui:980 msgid "Incomplete pinyin" msgstr "Nekopletní pinyin" #: setup/ibus-libpinyin-preferences.ui:1002 msgid "Pinyin mode" msgstr "Mód pinyinu" #: setup/ibus-libpinyin-preferences.ui:1044 msgid "[Shift] select candidate" msgstr "[Shift] vybrat návrh" #: setup/ibus-libpinyin-preferences.ui:1054 msgid "[-] [=] flip page" msgstr "[-] [=] obrátit stránku" #: setup/ibus-libpinyin-preferences.ui:1069 msgid "[,] [.] flip page" msgstr "[,] [.] obrátit stránku" #: setup/ibus-libpinyin-preferences.ui:1084 msgid "Auto commit" msgstr "Automaticky zadávat" #: setup/ibus-libpinyin-preferences.ui:1098 #, fuzzy msgid " [ ] flip page" msgstr "[-] [=] obrátit stránku" #: setup/ibus-libpinyin-preferences.ui:1126 msgid "Input Custom" msgstr "Vlastní vstupy" #: setup/ibus-libpinyin-preferences.ui:1274 #, fuzzy msgid "Enable pinyin correction" msgstr "Povolit spisovný pinyin" #: setup/ibus-libpinyin-preferences.ui:1310 msgid "Correct pinyin" msgstr "Spisovný pinyin" #: setup/ibus-libpinyin-preferences.ui:1340 #: setup/ibus-libpinyin-preferences.ui:1779 msgid "Enable Cloud Input" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1364 #: setup/ibus-libpinyin-preferences.ui:1803 msgid "Source From:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1409 #: setup/ibus-libpinyin-preferences.ui:1848 #, fuzzy msgid "Cloud Input Option" msgstr "Vlastní vstupy" #: setup/ibus-libpinyin-preferences.ui:1431 msgid "Pinyin mode" msgstr "Mód pinyinu" #: setup/ibus-libpinyin-preferences.ui:1470 msgid "Incomplete Bopomofo" msgstr "Nekopletní Bopomofo" #: setup/ibus-libpinyin-preferences.ui:1493 msgid "Keyboard Mapping:" msgstr "Mapování klávesnice:" #: setup/ibus-libpinyin-preferences.ui:1536 msgid "Bopomofo mode" msgstr "Mód Bopomofo" #: setup/ibus-libpinyin-preferences.ui:1572 msgid "Selection Keys:" msgstr "Výběrové klávesy:" #: setup/ibus-libpinyin-preferences.ui:1609 msgid "Enable Guidekey for Candidates Selection" msgstr "Aktivovat Průvodce kláves pro kandidáty výběru" #: setup/ibus-libpinyin-preferences.ui:1626 msgid "Enable Auxiliary Select Keys F1 .. F10" msgstr "Aktivovat pomocné výběrové klávesy F1 .. F10" #: setup/ibus-libpinyin-preferences.ui:1643 msgid "Enable Auxiliary Select Keys Numbers on Keypad" msgstr "Aktivovat pomocné výběrové klávesy čísla na klávesnici" #: setup/ibus-libpinyin-preferences.ui:1666 msgid "Selection mode" msgstr "Mód výběru" #: setup/ibus-libpinyin-preferences.ui:1698 msgid "Feature of Enter key:" msgstr "Chování klávesy Enter:" #: setup/ibus-libpinyin-preferences.ui:1709 msgid "Commit first candidate" msgstr "Zadávat první návrh" #: setup/ibus-libpinyin-preferences.ui:1727 msgid "Commit original text" msgstr "Zadávat původní text" #: setup/ibus-libpinyin-preferences.ui:1749 msgid "Other" msgstr "Jiné" #: setup/ibus-libpinyin-preferences.ui:1870 msgid "Bopomofo mode" msgstr "Mód Bopomofo" #: setup/ibus-libpinyin-preferences.ui:2032 msgid "Enable fuzzy syllable" msgstr "Aktivovat nejasné slabiky" #: setup/ibus-libpinyin-preferences.ui:2133 msgid "Fuzzy syllable" msgstr "Nejasné slabiky" #: setup/ibus-libpinyin-preferences.ui:2222 msgid "Dictionary option" msgstr "Možnosti slovníku" #: setup/ibus-libpinyin-preferences.ui:2244 msgid "Dictionary" msgstr "Slovník" #: setup/ibus-libpinyin-preferences.ui:2285 msgid "Lua Extension" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2299 msgid "Table Mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2313 #, fuzzy msgid "English Mode" msgstr "Angličtina" #: setup/ibus-libpinyin-preferences.ui:2327 #, fuzzy msgid "English Candidate" msgstr "Angličtina" #: setup/ibus-libpinyin-preferences.ui:2341 #, fuzzy msgid "Emoji Candidate" msgstr "Počet návrhů:" #: setup/ibus-libpinyin-preferences.ui:2355 #, fuzzy msgid "Suggestion Candidate" msgstr "Orientace návrhů:" #: setup/ibus-libpinyin-preferences.ui:2375 #, fuzzy msgid "Input Modes" msgstr "Vlastní vstupy" #: setup/ibus-libpinyin-preferences.ui:2406 msgid "User Lua Script" msgstr "Uživatelské skripty Lua" #: setup/ibus-libpinyin-preferences.ui:2416 msgid "Edit" msgstr "Upravit" #: setup/ibus-libpinyin-preferences.ui:2436 msgid "Customize IME" msgstr "Přizpůsobit vstupní metodu" #: setup/ibus-libpinyin-preferences.ui:2471 #: setup/ibus-libpinyin-preferences.ui:2655 msgid "Export" msgstr "Exportovat" #: setup/ibus-libpinyin-preferences.ui:2486 #: setup/ibus-libpinyin-preferences.ui:2670 msgid "Import" msgstr "Importovat" #: setup/ibus-libpinyin-preferences.ui:2502 msgid "User Dictionary" msgstr "Uživatelské slovník" #: setup/ibus-libpinyin-preferences.ui:2527 msgid "Clear All Data" msgstr "Vymazat všechna data" #: setup/ibus-libpinyin-preferences.ui:2547 #: setup/ibus-libpinyin-preferences.ui:2700 msgid "Clear" msgstr "Vymazat" #: setup/ibus-libpinyin-preferences.ui:2575 msgid "" "Dictionary File Format:\n" " Each line contains one of the following:\n" " \"phrase pinyin\" or \"phrase pinyin frequency\"\n" " like \"你好 ni'hao\" or \"你好 ni'hao 5\"." msgstr "" "Formát souboru slovníku:\n" " Každý řádek obsahuje jedno z tohoto:\n" " „výraz pinyin“ nebo „výraz pinyin frekvence“\n" " např. „你好 ni'hao“ nebo „你好 ni'hao 5“." #: setup/ibus-libpinyin-preferences.ui:2588 #: setup/ibus-libpinyin-preferences.ui:2738 msgid "Help" msgstr "Nápověda" #: setup/ibus-libpinyin-preferences.ui:2606 msgid "User Dictionary" msgstr "Uživatelský slovník" #: setup/ibus-libpinyin-preferences.ui:2642 #, fuzzy msgid "User Table" msgstr "Uživatelská data" #: setup/ibus-libpinyin-preferences.ui:2728 #, fuzzy msgid "" "Table File Format:\n" " Each line contains the following:\n" " \"table_code phrase frequency\" like \"a 啊 100\"." msgstr "" "Formát souboru slovníku:\n" " Každý řádek obsahuje jedno z tohoto:\n" " „výraz pinyin“ nebo „výraz pinyin frekvence“\n" " např. „你好 ni'hao“ nebo „你好 ni'hao 5“." #: setup/ibus-libpinyin-preferences.ui:2756 #, fuzzy msgid "User Table" msgstr "Uživatelský slovník" #: setup/ibus-libpinyin-preferences.ui:2778 msgid "User data" msgstr "Uživatelská data" #: setup/ibus-libpinyin-preferences.ui:2808 msgid "Shortcuts" msgstr "Zkratky" #: setup/ibus-libpinyin-preferences.ui:2864 msgid "Intelligent Pinyin input method for IBus" msgstr "Inteligentní vstupní metoda pinyin pro IBus" #: setup/ibus-libpinyin-preferences.ui:2877 msgid "Copyright (c) 2011-2024 Peng Wu" msgstr "Copyright (c) 2011-2024 Peng Wu" #: setup/ibus-libpinyin-preferences.ui:2890 msgid "https://github.com/libpinyin/ibus-libpinyin" msgstr "https://github.com/libpinyin/ibus-libpinyin" #: setup/ibus-libpinyin-preferences.ui:2907 #, fuzzy msgid "" "\n" "Authors:\n" "Peng Wu\n" "Peng Huang\n" "BYVoid\n" "\n" "Main Contributors:\n" "Weixuan XIAO, Linyu XU\n" "\n" "Contributors:\n" "koterpilla, Zerng07, Hillwood Yang\n" "" msgstr "" "\n" "Autoři:\n" "Peng Wu\n" "Peng Huang\n" "BYVoid\n" "\n" "Přispěvatelé:\n" "koterpilla, Zerng07\n" "" #: setup/ibus-libpinyin-preferences.ui:2947 msgid "About" msgstr "O programu" #: data/ibus-setup-libpinyin.desktop.in:3 msgid "IBus LibPinyin Setup" msgstr "" #: data/ibus-setup-libpinyin.desktop.in:4 msgid "Set ibus-libpinyin Preferences" msgstr "" #: data/ibus-setup-libbopomofo.desktop.in:3 msgid "IBus LibBopomofo Preferences" msgstr "" #: data/ibus-setup-libbopomofo.desktop.in:4 msgid "Set ibus-libbopomofo Preferences" msgstr "" #~ msgid "Low Frequent Characters" #~ msgstr "Málo používané znaky" #~ msgid "SciTech" #~ msgstr "Věda a technika" ibus-libpinyin-1.16.1/po/si.po0000644000175000017500000003754614737373731011645 # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Peng Huang # This file is distributed under the same license as the ibus-libpinyin package. # Hela Basa , 2021. msgid "" msgstr "" "Project-Id-Version: ibus-libpinyin 1.11.94\n" "Report-Msgid-Bugs-To: https://github.com/libpinyin/ibus-libpinyin/issues/" "new\n" "POT-Creation-Date: 2025-01-08 11:58+0800\n" "PO-Revision-Date: 2021-08-19 06:05+0000\n" "Last-Translator: Hela Basa \n" "Language-Team: Sinhala \n" "Language: si\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 4.7.2\n" #: src/PYPConfig.cc:695 msgid "The table file is imported." msgstr "" #: src/PYPConfig.cc:702 msgid "The table file is exported." msgstr "" #: src/PYPConfig.cc:714 msgid "The pinyin dictionary file is imported." msgstr "" #: src/PYPConfig.cc:721 msgid "The pinyin dictionary file is exported." msgstr "" #: src/PYMain.cc:117 msgid "Libpinyin input method" msgstr "ලිබ්පින්යින් ආදාන ක්‍රමය" #: src/PYMain.cc:127 msgid "Intelligent Pinyin (debug)" msgstr "" #: src/PYMain.cc:128 msgid "Intelligent Pinyin input method (debug)" msgstr "" #: src/PYMain.cc:138 msgid "Bopomofo (debug)" msgstr "" #: src/PYMain.cc:139 msgid "Bopomofo input method (debug)" msgstr "" #: src/PYPinyinProperties.cc:40 src/PYPinyinProperties.cc:128 #: setup/ibus-libpinyin-preferences.ui:111 #: setup/ibus-libpinyin-preferences.ui:298 msgid "Chinese" msgstr "චීන" #: src/PYPinyinProperties.cc:41 src/PYPinyinProperties.cc:129 #: setup/ibus-libpinyin-preferences.ui:107 #: setup/ibus-libpinyin-preferences.ui:313 msgid "English" msgstr "" #: src/PYPinyinProperties.cc:46 src/PYPinyinProperties.cc:140 msgid "Switch to English Mode" msgstr "" #: src/PYPinyinProperties.cc:47 src/PYPinyinProperties.cc:141 msgid "Switch to Chinese Mode" msgstr "" #: src/PYPinyinProperties.cc:51 src/PYPinyinProperties.cc:153 msgid "Full Width Letter" msgstr "" #: src/PYPinyinProperties.cc:52 src/PYPinyinProperties.cc:154 msgid "Half Width Letter" msgstr "" #: src/PYPinyinProperties.cc:57 src/PYPinyinProperties.cc:159 msgid "Switch to Half Width Letter Mode" msgstr "" #: src/PYPinyinProperties.cc:58 src/PYPinyinProperties.cc:160 msgid "Switch to Full Width Letter Mode" msgstr "" #: src/PYPinyinProperties.cc:62 src/PYPinyinProperties.cc:169 msgid "Full Width Punct" msgstr "" #: src/PYPinyinProperties.cc:63 src/PYPinyinProperties.cc:170 msgid "Half Width Punct" msgstr "" #: src/PYPinyinProperties.cc:68 src/PYPinyinProperties.cc:175 msgid "Switch to Half Width Punctuation Mode" msgstr "" #: src/PYPinyinProperties.cc:69 src/PYPinyinProperties.cc:176 msgid "Switch to Full Width Punctuation Mode" msgstr "" #: src/PYPinyinProperties.cc:73 src/PYPinyinProperties.cc:185 msgid "Simplified Chinese" msgstr "" #: src/PYPinyinProperties.cc:74 src/PYPinyinProperties.cc:186 msgid "Traditional Chinese" msgstr "" #: src/PYPinyinProperties.cc:79 src/PYPinyinProperties.cc:191 msgid "Switch to Traditional Chinese Mode" msgstr "" #: src/PYPinyinProperties.cc:80 src/PYPinyinProperties.cc:192 msgid "Switch to Simplfied Chinese Mode" msgstr "" #: src/PYPinyinProperties.cc:83 src/PYPinyinProperties.cc:85 #: setup/ibus-libpinyin-preferences.ui:185 msgid "Preferences" msgstr "" #: src/PYPinyinProperties.cc:88 src/PYPinyinProperties.cc:132 msgid "中" msgstr "" #: src/PYPinyinProperties.cc:90 src/PYPinyinProperties.cc:134 msgid "英" msgstr "" #: src/PYPinyinProperties.cc:270 msgid "Lua Converter" msgstr "" #: src/PYPinyinProperties.cc:272 msgid "Use the Lua Convertor" msgstr "" #: src/PYPinyinProperties.cc:279 msgid "None" msgstr "" #: src/PYEnglishEditor.cc:307 msgid "Please input the English word." msgstr "" #: src/PYTableEditor.cc:306 msgid "Please use \"hspnz\" to input." msgstr "" #: src/PYTableEditor.cc:309 msgid "Please use table code to input." msgstr "" #: setup/main2.py:493 msgid "Please choose a file" msgstr "" #: setup/main2.py:514 msgid "Please save a file" msgstr "" #: setup/main2.py:662 setup/ibus-libpinyin-preferences.ui:2850 #, python-format msgid "Intelligent Pinyin %s" msgstr "" #: setup/config.py:30 msgid "Intelligent Pinyin" msgstr "" #: setup/dicttreeview.py:52 msgid "Art" msgstr "" #: setup/dicttreeview.py:53 msgid "Culture" msgstr "" #: setup/dicttreeview.py:54 msgid "Economy" msgstr "" #: setup/dicttreeview.py:55 msgid "Geology" msgstr "" #: setup/dicttreeview.py:56 msgid "History" msgstr "" #: setup/dicttreeview.py:57 msgid "Life" msgstr "" #: setup/dicttreeview.py:58 msgid "Nature" msgstr "" #: setup/dicttreeview.py:59 msgid "People" msgstr "" #: setup/dicttreeview.py:60 msgid "Science" msgstr "" #: setup/dicttreeview.py:61 msgid "Society" msgstr "" #: setup/dicttreeview.py:62 msgid "Sport" msgstr "" #: setup/dicttreeview.py:63 msgid "Technology" msgstr "" #: setup/dicttreeview.py:110 msgid "Active" msgstr "" #: setup/dicttreeview.py:115 setup/shortcuteditor.py:83 msgid "Description" msgstr "" #: setup/keyboardshortcut.py:54 msgid "Shortcut:" msgstr "" #: setup/keyboardshortcut.py:67 msgid "Key code:" msgstr "" #: setup/keyboardshortcut.py:82 msgid "Modifiers:" msgstr "" #: setup/keyboardshortcut.py:171 msgid "" "Please press a key (or a key combination).\n" "The dialog will close when the key is released." msgstr "" #: setup/keyboardshortcut.py:174 msgid "Please press a key (or a key combination)" msgstr "" #: setup/keyboardshortcut.py:186 msgid "Shorcut Editor" msgstr "" #: setup/keyboardshortcut.py:239 setup/shortcuteditor.py:196 #: setup/shortcuteditor.py:233 msgid "_Cancel" msgstr "" #: setup/keyboardshortcut.py:240 setup/shortcuteditor.py:197 #: setup/shortcuteditor.py:234 msgid "_OK" msgstr "" #: setup/shortcuteditor.py:46 msgid "Switch Chinese/English" msgstr "" #: setup/shortcuteditor.py:47 msgid "Full/Half Width Letter" msgstr "" #: setup/shortcuteditor.py:48 msgid "Full/Half Width Punct" msgstr "" #: setup/shortcuteditor.py:49 msgid "Full/Half Width Both Switch" msgstr "" #: setup/shortcuteditor.py:50 msgid "Switch Traditional/Simplfied Chinese" msgstr "" #: setup/shortcuteditor.py:88 msgid "Accelerator" msgstr "" #: setup/shortcuteditor.py:106 msgid "This shortcut key is already in use." msgstr "" #. set default button #: setup/shortcuteditor.py:164 msgid "_Default" msgstr "" #. edit button #: setup/shortcuteditor.py:169 msgid "_Edit" msgstr "" #: setup/shortcuteditor.py:195 msgid "Select Switching Key" msgstr "" #: setup/ibus-libpinyin-preferences.ui:20 msgid "Standard" msgstr "" #: setup/ibus-libpinyin-preferences.ui:23 msgid "GinYieh" msgstr "" #: setup/ibus-libpinyin-preferences.ui:26 msgid "Eten" msgstr "" #: setup/ibus-libpinyin-preferences.ui:29 msgid "IBM" msgstr "" #: setup/ibus-libpinyin-preferences.ui:40 msgid "Baidu" msgstr "" #: setup/ibus-libpinyin-preferences.ui:43 msgid "Google" msgstr "" #: setup/ibus-libpinyin-preferences.ui:46 msgid "Google CN" msgstr "" #: setup/ibus-libpinyin-preferences.ui:57 #: setup/ibus-libpinyin-preferences.ui:103 msgid "Default" msgstr "" #: setup/ibus-libpinyin-preferences.ui:60 msgid "Compact" msgstr "" #: setup/ibus-libpinyin-preferences.ui:63 msgid "Compatibility" msgstr "" #: setup/ibus-libpinyin-preferences.ui:74 msgid "MSPY" msgstr "" #: setup/ibus-libpinyin-preferences.ui:77 msgid "ZRM" msgstr "" #: setup/ibus-libpinyin-preferences.ui:80 msgid "ABC" msgstr "" #: setup/ibus-libpinyin-preferences.ui:83 msgid "ZGPY" msgstr "" #: setup/ibus-libpinyin-preferences.ui:86 msgid "PYJJ" msgstr "" #: setup/ibus-libpinyin-preferences.ui:89 msgid "XHE" msgstr "" #: setup/ibus-libpinyin-preferences.ui:122 msgid "Horizontal" msgstr "" #: setup/ibus-libpinyin-preferences.ui:125 msgid "Vertical" msgstr "" #: setup/ibus-libpinyin-preferences.ui:171 msgid "Frequency" msgstr "" #: setup/ibus-libpinyin-preferences.ui:174 msgid "Pinyin Length" msgstr "" #: setup/ibus-libpinyin-preferences.ui:177 msgid "Legacy" msgstr "" #: setup/ibus-libpinyin-preferences.ui:268 msgid "Language:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:276 msgid "Half/full width:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:288 msgid "Punctuations:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:328 #: setup/ibus-libpinyin-preferences.ui:362 msgid "Full" msgstr "" #: setup/ibus-libpinyin-preferences.ui:345 #: setup/ibus-libpinyin-preferences.ui:379 msgid "Half" msgstr "" #: setup/ibus-libpinyin-preferences.ui:398 msgid "Chinese:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:408 msgid "Simplified" msgstr "" #: setup/ibus-libpinyin-preferences.ui:425 msgid "Traditional" msgstr "" #: setup/ibus-libpinyin-preferences.ui:448 msgid "Initial state" msgstr "" #: setup/ibus-libpinyin-preferences.ui:486 msgid "Display Style:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:532 msgid "Orientation of candidates:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:578 msgid "Number of candidates:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:617 msgid "UI" msgstr "" #: setup/ibus-libpinyin-preferences.ui:646 msgid "Dynamically adjust the candidates order." msgstr "" #: setup/ibus-libpinyin-preferences.ui:661 msgid "Remember every input as a phrase." msgstr "" #: setup/ibus-libpinyin-preferences.ui:684 msgid "Sort candidates by:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:727 msgid "Candidates" msgstr "" #: setup/ibus-libpinyin-preferences.ui:763 msgid "Keyboard Layout:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:819 #: setup/ibus-libpinyin-preferences.ui:2199 msgid "Tips: Changes may not take effect until ime restarts." msgstr "" #: setup/ibus-libpinyin-preferences.ui:842 msgid "Keyboard" msgstr "" #: setup/ibus-libpinyin-preferences.ui:861 msgid "General" msgstr "" #: setup/ibus-libpinyin-preferences.ui:901 msgid "Full pinyin" msgstr "" #: setup/ibus-libpinyin-preferences.ui:922 msgid "Double pinyin" msgstr "" #: setup/ibus-libpinyin-preferences.ui:965 msgid "Show raw input of Double Pinyin" msgstr "" #: setup/ibus-libpinyin-preferences.ui:980 msgid "Incomplete pinyin" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1002 msgid "Pinyin mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1044 msgid "[Shift] select candidate" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1054 msgid "[-] [=] flip page" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1069 msgid "[,] [.] flip page" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1084 msgid "Auto commit" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1098 msgid " [ ] flip page" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1126 msgid "Input Custom" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1274 msgid "Enable pinyin correction" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1310 msgid "Correct pinyin" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1340 #: setup/ibus-libpinyin-preferences.ui:1779 msgid "Enable Cloud Input" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1364 #: setup/ibus-libpinyin-preferences.ui:1803 msgid "Source From:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1409 #: setup/ibus-libpinyin-preferences.ui:1848 msgid "Cloud Input Option" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1431 msgid "Pinyin mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1470 msgid "Incomplete Bopomofo" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1493 msgid "Keyboard Mapping:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1536 msgid "Bopomofo mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1572 msgid "Selection Keys:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1609 msgid "Enable Guidekey for Candidates Selection" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1626 msgid "Enable Auxiliary Select Keys F1 .. F10" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1643 msgid "Enable Auxiliary Select Keys Numbers on Keypad" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1666 msgid "Selection mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1698 msgid "Feature of Enter key:" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1709 msgid "Commit first candidate" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1727 msgid "Commit original text" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1749 msgid "Other" msgstr "" #: setup/ibus-libpinyin-preferences.ui:1870 msgid "Bopomofo mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2032 msgid "Enable fuzzy syllable" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2133 msgid "Fuzzy syllable" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2222 msgid "Dictionary option" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2244 msgid "Dictionary" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2285 msgid "Lua Extension" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2299 msgid "Table Mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2313 msgid "English Mode" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2327 msgid "English Candidate" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2341 msgid "Emoji Candidate" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2355 msgid "Suggestion Candidate" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2375 msgid "Input Modes" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2406 msgid "User Lua Script" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2416 msgid "Edit" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2436 msgid "Customize IME" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2471 #: setup/ibus-libpinyin-preferences.ui:2655 msgid "Export" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2486 #: setup/ibus-libpinyin-preferences.ui:2670 msgid "Import" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2502 msgid "User Dictionary" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2527 msgid "Clear All Data" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2547 #: setup/ibus-libpinyin-preferences.ui:2700 msgid "Clear" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2575 msgid "" "Dictionary File Format:\n" " Each line contains one of the following:\n" " \"phrase pinyin\" or \"phrase pinyin frequency\"\n" " like \"你好 ni'hao\" or \"你好 ni'hao 5\"." msgstr "" #: setup/ibus-libpinyin-preferences.ui:2588 #: setup/ibus-libpinyin-preferences.ui:2738 msgid "Help" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2606 msgid "User Dictionary" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2642 msgid "User Table" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2728 msgid "" "Table File Format:\n" " Each line contains the following:\n" " \"table_code phrase frequency\" like \"a 啊 100\"." msgstr "" #: setup/ibus-libpinyin-preferences.ui:2756 msgid "User Table" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2778 msgid "User data" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2808 msgid "Shortcuts" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2864 msgid "Intelligent Pinyin input method for IBus" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2877 msgid "Copyright (c) 2011-2024 Peng Wu" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2890 msgid "https://github.com/libpinyin/ibus-libpinyin" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2907 msgid "" "\n" "Authors:\n" "Peng Wu\n" "Peng Huang\n" "BYVoid\n" "\n" "Main Contributors:\n" "Weixuan XIAO, Linyu XU\n" "\n" "Contributors:\n" "koterpilla, Zerng07, Hillwood Yang\n" "" msgstr "" #: setup/ibus-libpinyin-preferences.ui:2947 msgid "About" msgstr "" #: data/ibus-setup-libpinyin.desktop.in:3 msgid "IBus LibPinyin Setup" msgstr "" #: data/ibus-setup-libpinyin.desktop.in:4 msgid "Set ibus-libpinyin Preferences" msgstr "" #: data/ibus-setup-libbopomofo.desktop.in:3 msgid "IBus LibBopomofo Preferences" msgstr "" #: data/ibus-setup-libbopomofo.desktop.in:4 msgid "Set ibus-libbopomofo Preferences" msgstr "" ibus-libpinyin-1.16.1/po/en@quot.header0000644000175000017500000000226313440163070013422 # All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # ibus-libpinyin-1.16.1/po/zh_HK.gmo0000644000175000017500000002306314737373731012366    . @ Z p -F[ o| '.   %3;DJYp   (&..](p  $0Lcy .5I[n'(   !,3Idi p ~)ZCV s !  + 5? _j} $ %@ f% " $5! Wcw  +;?C1EVmAUi } "0     <I PZat  !)K[q   ' 1 8 ? F M T a n           ! !+!F!M! ]!g!}! ! !!$!! !! ! ""!":"1J"|"*" ""!""" ##$9#^# q# ~### ### ####$$4$J$f$$$$$$$*%=% D% Q%^% p%}%% % %%%% % % %%+%+&/&cu-VAbD=@&\sr+5.U9)k"7$Z}|Mq[n 1'lp4Cj~%EJiT{ G#x6t8 vP>/Bh^ gzN;!,*eoy32Qw(0RaK:m]WLOf? IXd_FYH< S`Bopomofo modeCandidatesCloud Input OptionCorrect pinyinCustomize IMEDictionary File Format: Each line contains one of the following: "phrase pinyin" or "phrase pinyin frequency" like "你好 ni'hao" or "你好 ni'hao 5".Dictionary optionInitial stateInput CustomOtherPinyin modeSelection modeUIUser DictionaryIntelligent Pinyin %s Authors: Peng Wu Peng Huang BYVoid Main Contributors: Weixuan XIAO, Linyu XU Contributors: koterpilla, Zerng07, Hillwood Yang Copyright (c) 2011-2024 Peng WuABCAboutAcceleratorActiveArtAuto commitBaiduBopomofo (debug)Bopomofo input method (debug)Bopomofo modeChineseChinese:ClearClear All DataCommit first candidateCommit original textCompactCultureDefaultDescriptionDictionaryDisplay Style:Double pinyinDynamically adjust the candidates order.EconomyEditEnable Auxiliary Select Keys F1 .. F10Enable Auxiliary Select Keys Numbers on KeypadEnable Cloud InputEnable Guidekey for Candidates SelectionEnable fuzzy syllableEnable pinyin correctionEnglishEtenExportFeature of Enter key:FrequencyFullFull Width LetterFull Width PunctFull pinyinFull/Half Width Both SwitchFull/Half Width LetterFull/Half Width PunctFuzzy syllableGeneralGeologyGinYiehGoogleHalfHalf Width LetterHalf Width PunctHalf/full width:HelpHistoryHorizontalIBMIBus LibBopomofo PreferencesIBus LibPinyin SetupImportIncomplete BopomofoIncomplete pinyinIntelligent PinyinIntelligent Pinyin (debug)Intelligent Pinyin input method (debug)Intelligent Pinyin input method for IBusKey code:Keyboard Mapping:Language:Libpinyin input methodLifeMSPYModifiers:NatureNumber of candidates:Orientation of candidates:PYJJPeoplePinyin LengthPinyin modePlease choose a filePlease input the English word.Please press a key (or a key combination)Please press a key (or a key combination). The dialog will close when the key is released.Please save a filePlease use "hspnz" to input.PreferencesPunctuations:Remember every input as a phrase.ScienceSelect Switching KeySelection Keys:Set ibus-libbopomofo PreferencesSet ibus-libpinyin PreferencesShorcut EditorShortcut:ShortcutsShow raw input of Double PinyinSimplifiedSimplified ChineseSocietySort candidates by:Source From:SportStandardSwitch Chinese/EnglishSwitch Traditional/Simplfied ChineseSwitch to Chinese ModeSwitch to English ModeSwitch to Full Width Letter ModeSwitch to Full Width Punctuation ModeSwitch to Half Width Letter ModeSwitch to Half Width Punctuation ModeSwitch to Simplfied Chinese ModeSwitch to Traditional Chinese ModeTechnologyThis shortcut key is already in use.Tips: Changes may not take effect until ime restarts.TraditionalTraditional ChineseUser DictionaryUser Lua ScriptUser dataVerticalXHEZGPYZRM[,] [.] flip page[-] [=] flip page[Shift] select candidate_Cancel_Default_Edit_OKhttps://github.com/libpinyin/ibus-libpinyin中英Project-Id-Version: ibus-libpinyin 1.3.5 Report-Msgid-Bugs-To: https://github.com/libpinyin/ibus-libpinyin/issues/new PO-Revision-Date: 2020-09-15 02:08+0000 Last-Translator: Hillwood Yang Language-Team: Chinese (Hong Kong) Language: zh_HK MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: Weblate 4.2.2 注音模式候選詞雲輸入配置拼音糾錯定製輸入法詞典文件格式: 每一行包含以下兩者之一: "短語 拼音" 或 "短語 拼音 頻率" 例如 "你好 ni'hao" 或 "你好 ni'hao 5"。詞典選項初始狀態輸入配置其他拼音模式選詞模式外觀用戶詞典智能 拼音 %s 作者: Peng Huang Peng Wu BYVoid 主要貢獻者: 肖威軒,許林玉 貢獻者: koterpilla, Zerng07, Hillwood Yang 版權所有 (c) 2011-2024 吳鵬智能ABC關於快捷鍵激活藝術自動上詞百度注音模式(調試)注音輸入法(調試)注音模式中文中文:清除清除全部數據輸出第一個候選詞輸出原本的英文字壓縮文化默認值描述詞典顯示風格:雙拼動態調整候詞序。經濟編輯啓用輔助選詞鍵F1 .. F10啓用數字鍵盤輔助選詞鍵激活雲輸入啓用選詞引導鍵啓用模糊音啓用拼音糾錯英文倚天導出Enter 鍵功能:詞頻全形全角字母全形符號全拼全形/半形切換全形/半形字母全形/半形符號模糊音常規地理精業谷歌半形半角字母半形符號全形/半形:幫助歷史水平IBMIBus 注音配置工具IBus 智能拼音配置工具導入簡拼簡拼智能拼音智能拼音(調試)智能拼音輸入法(調試)IBus 智能拼音輸入法鍵:鍵盤映射:語言:智能拼音輸入法生活微軟拼音修飾符:自然每頁顯示候選詞條目數量:候選詞排列方向:拼音加加人物拼音長度拼音模式請選定文件請輸入英文單詞。請按快捷鍵請按快捷鍵。 此對話窗將自動關閉。請保存文件請用 "hspnz" 筆畫輸入中文字符。偏好設定標點符號:將每個輸入記錄為新詞。科學選擇切換鍵選詞鍵:設定 IBus 注音個人偏好設定 IBus 智能拼音個人偏好快捷鍵編輯器快捷鍵:快捷鍵顯示雙拼原始輸入簡體簡體中文社會候選詞排列順序:輸入源:體育標準切換中文/英文切換簡體/繁體中文切換至中文模式切換至英文模式切換至全角字母模式切換至全形符號模式切換至半角字母模式切換至半形符號模式切換至簡體中文模式切換至繁體中文模式科技快捷鍵已被使用。提示:變更可能需要重啓生效。繁體繁體中文用戶詞典用戶 Lua 腳本用戶數據豎直小鶴紫光拼音自然碼[,][.]鍵翻頁[-][=]鍵翻頁[Shift]鍵選詞取消(_C)默認值(_D)編輯(_E)好(_O)https://github.com/libpinyin/ibus-libpinyin中英ibus-libpinyin-1.16.1/po/zh_CN.gmo0000644000175000017500000002630614740100671012350 L  0B\r/H]q q <F]'o.=lp v  . 6DL T `k z(&.$(7`v   2I_nv~   %9K^'y(   $ 2@ EPW\r  )Zl  ! %Fe t ~  $*Of }% % ", O Z'e'$5 HTh~  +!MQU6H\mX l     r b!p!!&!!0`" "" """ """" " # ##"#5#N#g#n#u#|##########!#!$1$G$W$j$q$ $$$$$$ $ $$$$ % %*%1%8%?%F%M% T% a%n%%%%%%%%%% %%! &+& F&P&`& p& z&&& && & &&&&' '*' 1' >'K'['3t'd' (*(*H( s(}($((( ((!() ') 4)>)W) ^)k)r) )))))))**9*U*q*** **** +$+=+EY++ ++ ++ + +,, , ,&,7,H, c, n, |, ,+,,, %[Mt$?}4J1;2i/=8]B-@fPxXaS:r+LW0 s_GepukhANl,D"m `>cz<YKQq'nw|\d3Ey6IF g(b 9).jR T!5o~v#*CZ^U{7&VHO [ ] flip pageBopomofo modeCandidatesCloud Input OptionCorrect pinyinCustomize IMEDictionary File Format: Each line contains one of the following: "phrase pinyin" or "phrase pinyin frequency" like "你好 ni'hao" or "你好 ni'hao 5".Dictionary optionInitial stateInput CustomInput ModesKeyboardOtherPinyin modeSelection modeTable File Format: Each line contains the following: "table_code phrase frequency" like "a 啊 100".UIUser DictionaryUser TableIntelligent Pinyin %s Authors: Peng Wu Peng Huang BYVoid Main Contributors: Weixuan XIAO, Linyu XU Contributors: koterpilla, Zerng07, Hillwood Yang Copyright (c) 2011-2024 Peng WuABCAboutAcceleratorActiveArtAuto commitBaiduBopomofo (debug)Bopomofo input method (debug)Bopomofo modeChineseChinese:ClearClear All DataCommit first candidateCommit original textCompactCompatibilityCultureDefaultDescriptionDictionaryDisplay Style:Double pinyinDynamically adjust the candidates order.EconomyEditEmoji CandidateEnable Auxiliary Select Keys F1 .. F10Enable Auxiliary Select Keys Numbers on KeypadEnable Cloud InputEnable Guidekey for Candidates SelectionEnable fuzzy syllableEnable pinyin correctionEnglishEnglish CandidateEnglish ModeEtenExportFeature of Enter key:FrequencyFullFull Width LetterFull Width PunctFull pinyinFull/Half Width Both SwitchFull/Half Width LetterFull/Half Width PunctFuzzy syllableGeneralGeologyGinYiehGoogleGoogle CNHalfHalf Width LetterHalf Width PunctHalf/full width:HelpHistoryHorizontalIBMIBus LibBopomofo PreferencesIBus LibPinyin SetupImportIncomplete BopomofoIncomplete pinyinIntelligent PinyinIntelligent Pinyin (debug)Intelligent Pinyin input method (debug)Intelligent Pinyin input method for IBusKey code:Keyboard Layout:Keyboard Mapping:Language:LegacyLibpinyin input methodLifeLua ConverterLua ExtensionMSPYModifiers:NatureNoneNumber of candidates:Orientation of candidates:PYJJPeoplePinyin LengthPinyin modePlease choose a filePlease input the English word.Please press a key (or a key combination)Please press a key (or a key combination). The dialog will close when the key is released.Please save a filePlease use "hspnz" to input.Please use table code to input.PreferencesPunctuations:Remember every input as a phrase.ScienceSelect Switching KeySelection Keys:Set ibus-libbopomofo PreferencesSet ibus-libpinyin PreferencesShorcut EditorShortcut:ShortcutsShow raw input of Double PinyinSimplifiedSimplified ChineseSocietySort candidates by:Source From:SportStandardSuggestion CandidateSwitch Chinese/EnglishSwitch Traditional/Simplfied ChineseSwitch to Chinese ModeSwitch to English ModeSwitch to Full Width Letter ModeSwitch to Full Width Punctuation ModeSwitch to Half Width Letter ModeSwitch to Half Width Punctuation ModeSwitch to Simplfied Chinese ModeSwitch to Traditional Chinese ModeTable ModeTechnologyThe pinyin dictionary file is exported.The pinyin dictionary file is imported.The table file is exported.The table file is imported.This shortcut key is already in use.Tips: Changes may not take effect until ime restarts.TraditionalTraditional ChineseUse the Lua ConvertorUser DictionaryUser Lua ScriptUser TableUser dataVerticalXHEZGPYZRM[,] [.] flip page[-] [=] flip page[Shift] select candidate_Cancel_Default_Edit_OKhttps://github.com/libpinyin/ibus-libpinyin中英Project-Id-Version: ibus-libpinyin 1.2.99 Report-Msgid-Bugs-To: https://github.com/libpinyin/ibus-libpinyin/issues/new PO-Revision-Date: 2025-01-09 08:49+0000 Last-Translator: Peng Wu Language-Team: Chinese (Simplified) Language: zh_CN MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: Weblate 5.9.2 【】 键翻页注音模式候选词云输入选项拼音纠错定制输入法词典文件格式: 每一行包含以下两者之一: "短语 拼音" 或 "短语 拼音 频率" 例如 "你好 ni'hao" 或 "你好 ni'hao 5"。词典选项初始状态输入个性化输入模式键盘其他拼音模式选词模式码表文件格式: 每一行包含以下内容: "码表 短语 频率", 例如 "a 啊 100"。外观用户词典用户码表IBus 智能拼音 %s 作者: Peng Wu Peng Huang BYVoid 主要贡献者: 肖威轩,许林玉 贡献者: koterpilla, Zerng07, Hillwood Yang 版权所有 (c) 2011-2024 吴鹏智能ABC关于快捷键启用艺术自动上词百度注音(调试)注音输入法(调试)注音模式中文中文:清除清除所有数据输出第一个候选词输出原本的英文字紧凑兼容文化默认描述词典显示风格:双拼动态调整候选词序经济编辑表情候选词启用辅助选词键 F1~ F10启用数字键盘辅助选词键启用云输入启用选词引导键启动模糊音启动拼音纠错英文英文候选词英文模式倚天导出Enter 键功能:词频全角全角字母全角标点全拼全部切换全角/半角全角/半角字母全角/半角标点模糊音常规地理精业Google谷歌半角半角字母半角标点全角/半角:帮助历史水平IBMIBus 注音配置工具IBus 智能拼音配置工具导入简拼简拼智能拼音智能拼音(调试)智能拼音输入法(调试)IBus 智能拼音输入法键码:键盘布局:键盘映射:语言:词语模式智能拼音输入法生活Lua ConverterLua 脚本模式微软拼音修饰键:自然无每页显示候选词数:候选词排列方向:拼音加加人物拼音长度拼音模式请选择文件请输入英文单词。请按下一个键盘按键(或者按键组合)请按下一个键盘按键(或按键组合)。 松开按键后,此对话窗将自动关闭。请保存文件请用 "hspnz" 笔画输入中文字符。请用导入的码表输入中文字符。首选项标点符号:将每个输入记录为新的词汇科学选择切换键选词键:设置 IBus 注音首选项设置 IBus 智能拼音首选项快捷键编辑器快捷键:快捷键显示双拼原始输入简体简体中文社会候选词排列顺序:云输入源:体育标准联想候选词切换中文/英文模式切换繁体/简体中文模式切换到中文模式切换到英文模式切换到全角字母模式切换到全角标点模式切换到半母字母模式切换到半角标点模式切换到简体中文模式切换到繁体中文模式码表模式技术拼音词典已导出。拼音词典已导入。码表文件已导出。码表文件已导入。此快捷键已被占用。提示:此更改可能需要重启智能拼音输入法后生效。繁体繁体中文使用 Lua Convertor用户词典用户 Lua 脚本用户码表用户数据竖直小鹤紫光拼音自然码[,][.] 键翻页[-][=] 键翻页[Shift] 键选次候选词取消(_C)默认值(_D)编辑(_E)确定(_O)https://github.com/libpinyin/ibus-libpinyin中英ibus-libpinyin-1.16.1/po/stamp-po0000644000175000017500000000001214737415341012321 timestamp ibus-libpinyin-1.16.1/po/de.po0000644000175000017500000005021114737714225011577 # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Peng Huang # This file is distributed under the same license as the ibus-libpinyin package. # Mike FABIAN , 2020, 2022, 2023, 2024, 2025. msgid "" msgstr "" "Project-Id-Version: ibus-libpinyin 1.11.93\n" "Report-Msgid-Bugs-To: https://github.com/libpinyin/ibus-libpinyin/issues/" "new\n" "POT-Creation-Date: 2025-01-08 11:58+0800\n" "PO-Revision-Date: 2025-01-09 08:38+0000\n" "Last-Translator: Mike FABIAN \n" "Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.9.2\n" #: src/PYPConfig.cc:695 msgid "The table file is imported." msgstr "Die Tabellendatei wird importiert." #: src/PYPConfig.cc:702 msgid "The table file is exported." msgstr "Die Tabellendatei wird exportiert." #: src/PYPConfig.cc:714 msgid "The pinyin dictionary file is imported." msgstr "Die Pinyin-Wörterbuchdatei wird importiert." #: src/PYPConfig.cc:721 msgid "The pinyin dictionary file is exported." msgstr "Die Pinyin-Wörterbuchdatei wird exportiert." #: src/PYMain.cc:117 msgid "Libpinyin input method" msgstr "Libpinyin inputmethode" #: src/PYMain.cc:127 msgid "Intelligent Pinyin (debug)" msgstr "Intelligentes Pinyin (debug)" #: src/PYMain.cc:128 msgid "Intelligent Pinyin input method (debug)" msgstr "Intelligente Pinyin inputmethode (debug)" #: src/PYMain.cc:138 msgid "Bopomofo (debug)" msgstr "Bopomofo (debug)" #: src/PYMain.cc:139 msgid "Bopomofo input method (debug)" msgstr "Bopomofo inputmethode (debug)" #: src/PYPinyinProperties.cc:40 src/PYPinyinProperties.cc:128 #: setup/ibus-libpinyin-preferences.ui:111 #: setup/ibus-libpinyin-preferences.ui:298 msgid "Chinese" msgstr "Chinesisch" #: src/PYPinyinProperties.cc:41 src/PYPinyinProperties.cc:129 #: setup/ibus-libpinyin-preferences.ui:107 #: setup/ibus-libpinyin-preferences.ui:313 msgid "English" msgstr "Englisch" #: src/PYPinyinProperties.cc:46 src/PYPinyinProperties.cc:140 msgid "Switch to English Mode" msgstr "Auf englischen Modus umschalten" #: src/PYPinyinProperties.cc:47 src/PYPinyinProperties.cc:141 msgid "Switch to Chinese Mode" msgstr "Auf chinesischen Modus umschalten" #: src/PYPinyinProperties.cc:51 src/PYPinyinProperties.cc:153 msgid "Full Width Letter" msgstr "Buchstaben in voller Breite" #: src/PYPinyinProperties.cc:52 src/PYPinyinProperties.cc:154 msgid "Half Width Letter" msgstr "Buchstaben in halber Breite" #: src/PYPinyinProperties.cc:57 src/PYPinyinProperties.cc:159 msgid "Switch to Half Width Letter Mode" msgstr "Wechseln zu „Buchstaben in halber Breite“" #: src/PYPinyinProperties.cc:58 src/PYPinyinProperties.cc:160 msgid "Switch to Full Width Letter Mode" msgstr "Wechseln zu „Buchstaben in voller Breite“" #: src/PYPinyinProperties.cc:62 src/PYPinyinProperties.cc:169 msgid "Full Width Punct" msgstr "Zeichensetzung in voller Breite" #: src/PYPinyinProperties.cc:63 src/PYPinyinProperties.cc:170 msgid "Half Width Punct" msgstr "Zeichensetzung in halber Breite" #: src/PYPinyinProperties.cc:68 src/PYPinyinProperties.cc:175 msgid "Switch to Half Width Punctuation Mode" msgstr "Wechseln zu „Zeichensetzung in halber Breite“" #: src/PYPinyinProperties.cc:69 src/PYPinyinProperties.cc:176 msgid "Switch to Full Width Punctuation Mode" msgstr "Wechseln zu „Zeichensetzung in voller Breite“" #: src/PYPinyinProperties.cc:73 src/PYPinyinProperties.cc:185 msgid "Simplified Chinese" msgstr "Vereinfachtes Chinesisch" #: src/PYPinyinProperties.cc:74 src/PYPinyinProperties.cc:186 msgid "Traditional Chinese" msgstr "Traditionelles Chinesisch" #: src/PYPinyinProperties.cc:79 src/PYPinyinProperties.cc:191 msgid "Switch to Traditional Chinese Mode" msgstr "Wechsel zum traditionellen chinesischen Modus" #: src/PYPinyinProperties.cc:80 src/PYPinyinProperties.cc:192 msgid "Switch to Simplfied Chinese Mode" msgstr "Wechseln zum vereinfachten chinesischen Modus" #: src/PYPinyinProperties.cc:83 src/PYPinyinProperties.cc:85 #: setup/ibus-libpinyin-preferences.ui:185 msgid "Preferences" msgstr "Einstellungen" #: src/PYPinyinProperties.cc:88 src/PYPinyinProperties.cc:132 msgid "中" msgstr "中" #: src/PYPinyinProperties.cc:90 src/PYPinyinProperties.cc:134 msgid "英" msgstr "英" #: src/PYPinyinProperties.cc:270 msgid "Lua Converter" msgstr "Lua-Konverter" #: src/PYPinyinProperties.cc:272 msgid "Use the Lua Convertor" msgstr "Benutze den Lua-Konverter" #: src/PYPinyinProperties.cc:279 msgid "None" msgstr "Keiner" #: src/PYEnglishEditor.cc:307 msgid "Please input the English word." msgstr "Bitte das englische Wort eintippen." #: src/PYTableEditor.cc:306 msgid "Please use \"hspnz\" to input." msgstr "Bitte „hspnz“ zum Eingeben benutzen." #: src/PYTableEditor.cc:309 msgid "Please use table code to input." msgstr "Bitte den Tabellencode zum Eingeben benutzen." #: setup/main2.py:493 msgid "Please choose a file" msgstr "Bitte wähle eine Datei" #: setup/main2.py:514 msgid "Please save a file" msgstr "Bitte speichere eine Datei" #: setup/main2.py:662 setup/ibus-libpinyin-preferences.ui:2850 #, python-format msgid "Intelligent Pinyin %s" msgstr "Intelligentes Pinyin %s" #: setup/config.py:30 msgid "Intelligent Pinyin" msgstr "Intelligentes Pinyin" #: setup/dicttreeview.py:52 msgid "Art" msgstr "Kunst" #: setup/dicttreeview.py:53 msgid "Culture" msgstr "Kultur" #: setup/dicttreeview.py:54 msgid "Economy" msgstr "Wirtschaft" #: setup/dicttreeview.py:55 msgid "Geology" msgstr "Geologie" #: setup/dicttreeview.py:56 msgid "History" msgstr "Geschichte" #: setup/dicttreeview.py:57 msgid "Life" msgstr "Leben" #: setup/dicttreeview.py:58 msgid "Nature" msgstr "Natur" #: setup/dicttreeview.py:59 msgid "People" msgstr "Menschen" #: setup/dicttreeview.py:60 msgid "Science" msgstr "Wissenschaft" #: setup/dicttreeview.py:61 msgid "Society" msgstr "Gesellschaft" #: setup/dicttreeview.py:62 msgid "Sport" msgstr "Sport" #: setup/dicttreeview.py:63 msgid "Technology" msgstr "Technologie" #: setup/dicttreeview.py:110 msgid "Active" msgstr "Aktivitäten" #: setup/dicttreeview.py:115 setup/shortcuteditor.py:83 msgid "Description" msgstr "Beschreibung" #: setup/keyboardshortcut.py:54 msgid "Shortcut:" msgstr "Abkürzung:" #: setup/keyboardshortcut.py:67 msgid "Key code:" msgstr "Tastenkode:" #: setup/keyboardshortcut.py:82 msgid "Modifiers:" msgstr "Modifikatoren:" #: setup/keyboardshortcut.py:171 msgid "" "Please press a key (or a key combination).\n" "The dialog will close when the key is released." msgstr "" "Bitte drücke eine Taste (oder eine Tastenkombination).\n" "Der Dialog wird sich schließen sobald die Taste losgelassen wird." #: setup/keyboardshortcut.py:174 msgid "Please press a key (or a key combination)" msgstr "Bitte drücke eine Taste (oder eine Tastenkombination)" #: setup/keyboardshortcut.py:186 msgid "Shorcut Editor" msgstr "Abkürzungseditor" #: setup/keyboardshortcut.py:239 setup/shortcuteditor.py:196 #: setup/shortcuteditor.py:233 msgid "_Cancel" msgstr "_Abbrechen" #: setup/keyboardshortcut.py:240 setup/shortcuteditor.py:197 #: setup/shortcuteditor.py:234 msgid "_OK" msgstr "_OK" #: setup/shortcuteditor.py:46 msgid "Switch Chinese/English" msgstr "Wechseln Chinesisch/Englisch" #: setup/shortcuteditor.py:47 msgid "Full/Half Width Letter" msgstr "Buchstaben in voller/halber Breite" #: setup/shortcuteditor.py:48 msgid "Full/Half Width Punct" msgstr "Zeichensetzung in voller/halber Breite" #: setup/shortcuteditor.py:49 msgid "Full/Half Width Both Switch" msgstr "Volle/halbe Breite beide umschalten" #: setup/shortcuteditor.py:50 msgid "Switch Traditional/Simplfied Chinese" msgstr "traditionelles/vereinfachtes Chinesisch umschalten" #: setup/shortcuteditor.py:88 msgid "Accelerator" msgstr "Beschleuniger" #: setup/shortcuteditor.py:106 msgid "This shortcut key is already in use." msgstr "Diese Abkürzungstaste wird schon benutzt." #. set default button #: setup/shortcuteditor.py:164 msgid "_Default" msgstr "Standar_deinstellung" #. edit button #: setup/shortcuteditor.py:169 msgid "_Edit" msgstr "_Editieren" #: setup/shortcuteditor.py:195 msgid "Select Switching Key" msgstr "Umschalttaste auswählen" #: setup/ibus-libpinyin-preferences.ui:20 msgid "Standard" msgstr "Standard" #: setup/ibus-libpinyin-preferences.ui:23 msgid "GinYieh" msgstr "GinYieh" #: setup/ibus-libpinyin-preferences.ui:26 msgid "Eten" msgstr "Eten" #: setup/ibus-libpinyin-preferences.ui:29 msgid "IBM" msgstr "IBM" #: setup/ibus-libpinyin-preferences.ui:40 msgid "Baidu" msgstr "Baidu" #: setup/ibus-libpinyin-preferences.ui:43 msgid "Google" msgstr "Google" #: setup/ibus-libpinyin-preferences.ui:46 msgid "Google CN" msgstr "Google CN" #: setup/ibus-libpinyin-preferences.ui:57 #: setup/ibus-libpinyin-preferences.ui:103 msgid "Default" msgstr "Standardeinstellung" #: setup/ibus-libpinyin-preferences.ui:60 msgid "Compact" msgstr "Kompakt" #: setup/ibus-libpinyin-preferences.ui:63 msgid "Compatibility" msgstr "Kompatibilität" #: setup/ibus-libpinyin-preferences.ui:74 msgid "MSPY" msgstr "MSPY" #: setup/ibus-libpinyin-preferences.ui:77 msgid "ZRM" msgstr "ZRM" #: setup/ibus-libpinyin-preferences.ui:80 msgid "ABC" msgstr "ABC" #: setup/ibus-libpinyin-preferences.ui:83 msgid "ZGPY" msgstr "ZGPY" #: setup/ibus-libpinyin-preferences.ui:86 msgid "PYJJ" msgstr "PYJJ" #: setup/ibus-libpinyin-preferences.ui:89 msgid "XHE" msgstr "XHE" #: setup/ibus-libpinyin-preferences.ui:122 msgid "Horizontal" msgstr "Horizontal" #: setup/ibus-libpinyin-preferences.ui:125 msgid "Vertical" msgstr "Vertikal" #: setup/ibus-libpinyin-preferences.ui:171 msgid "Frequency" msgstr "Frequenz" #: setup/ibus-libpinyin-preferences.ui:174 msgid "Pinyin Length" msgstr "Pinyin Länge" #: setup/ibus-libpinyin-preferences.ui:177 msgid "Legacy" msgstr "Altverhalten" #: setup/ibus-libpinyin-preferences.ui:268 msgid "Language:" msgstr "Sprache:" #: setup/ibus-libpinyin-preferences.ui:276 msgid "Half/full width:" msgstr "Halbe/volle Breite:" #: setup/ibus-libpinyin-preferences.ui:288 msgid "Punctuations:" msgstr "Zeichensetzung:" #: setup/ibus-libpinyin-preferences.ui:328 #: setup/ibus-libpinyin-preferences.ui:362 msgid "Full" msgstr "Voll" #: setup/ibus-libpinyin-preferences.ui:345 #: setup/ibus-libpinyin-preferences.ui:379 msgid "Half" msgstr "Halb" #: setup/ibus-libpinyin-preferences.ui:398 msgid "Chinese:" msgstr "Chinesisch:" #: setup/ibus-libpinyin-preferences.ui:408 msgid "Simplified" msgstr "Vereinfacht" #: setup/ibus-libpinyin-preferences.ui:425 msgid "Traditional" msgstr "Traditionell" #: setup/ibus-libpinyin-preferences.ui:448 msgid "Initial state" msgstr "Anfangszustand" #: setup/ibus-libpinyin-preferences.ui:486 msgid "Display Style:" msgstr "Anzeigestil:" #: setup/ibus-libpinyin-preferences.ui:532 msgid "Orientation of candidates:" msgstr "Orientierung der Kandidaten:" #: setup/ibus-libpinyin-preferences.ui:578 msgid "Number of candidates:" msgstr "Anzahl der Kandidaten:" #: setup/ibus-libpinyin-preferences.ui:617 msgid "UI" msgstr "UI" #: setup/ibus-libpinyin-preferences.ui:646 msgid "Dynamically adjust the candidates order." msgstr "Dynamisch die Reihenfolge der Kandidaten anpassen." #: setup/ibus-libpinyin-preferences.ui:661 msgid "Remember every input as a phrase." msgstr "Jede Eingabe als Wort merken." #: setup/ibus-libpinyin-preferences.ui:684 msgid "Sort candidates by:" msgstr "Kandidaten sortieren nach:" #: setup/ibus-libpinyin-preferences.ui:727 msgid "Candidates" msgstr "Kandidaten" #: setup/ibus-libpinyin-preferences.ui:763 msgid "Keyboard Layout:" msgstr "Tastaturbelegung:" #: setup/ibus-libpinyin-preferences.ui:819 #: setup/ibus-libpinyin-preferences.ui:2199 msgid "Tips: Changes may not take effect until ime restarts." msgstr "" "Tips: Änderungen werden vielleicht nicht wirksam bis die Inputmethode " "neustartet." #: setup/ibus-libpinyin-preferences.ui:842 msgid "Keyboard" msgstr "Tastatur" #: setup/ibus-libpinyin-preferences.ui:861 msgid "General" msgstr "Allgemein" #: setup/ibus-libpinyin-preferences.ui:901 msgid "Full pinyin" msgstr "Volle Pinyin" #: setup/ibus-libpinyin-preferences.ui:922 msgid "Double pinyin" msgstr "Doppelte Pinyin" #: setup/ibus-libpinyin-preferences.ui:965 msgid "Show raw input of Double Pinyin" msgstr "Roheingabe der doppelten Pinyin zeigen" #: setup/ibus-libpinyin-preferences.ui:980 msgid "Incomplete pinyin" msgstr "Unvollständige Pinyin" #: setup/ibus-libpinyin-preferences.ui:1002 msgid "Pinyin mode" msgstr "Pinyin Modus" #: setup/ibus-libpinyin-preferences.ui:1044 msgid "[Shift] select candidate" msgstr "[Shift] Kandidaten auswählen" #: setup/ibus-libpinyin-preferences.ui:1054 msgid "[-] [=] flip page" msgstr "[-] [=] Seite wechseln" #: setup/ibus-libpinyin-preferences.ui:1069 msgid "[,] [.] flip page" msgstr "[,] [.] Seite wechseln" #: setup/ibus-libpinyin-preferences.ui:1084 msgid "Auto commit" msgstr "Autocommit" #: setup/ibus-libpinyin-preferences.ui:1098 msgid " [ ] flip page" msgstr " [ ] Seite wechseln" #: setup/ibus-libpinyin-preferences.ui:1126 msgid "Input Custom" msgstr "Eingabe benutzerdefiniert" #: setup/ibus-libpinyin-preferences.ui:1274 msgid "Enable pinyin correction" msgstr "Pinyin Korrektur aktivieren" #: setup/ibus-libpinyin-preferences.ui:1310 msgid "Correct pinyin" msgstr "Pinyin korrigieren" #: setup/ibus-libpinyin-preferences.ui:1340 #: setup/ibus-libpinyin-preferences.ui:1779 msgid "Enable Cloud Input" msgstr "Cloud Input aktivieren" #: setup/ibus-libpinyin-preferences.ui:1364 #: setup/ibus-libpinyin-preferences.ui:1803 msgid "Source From:" msgstr "Quelle von:" #: setup/ibus-libpinyin-preferences.ui:1409 #: setup/ibus-libpinyin-preferences.ui:1848 msgid "Cloud Input Option" msgstr "Cloud Input Option" #: setup/ibus-libpinyin-preferences.ui:1431 msgid "Pinyin mode" msgstr "Pinyin Modus" #: setup/ibus-libpinyin-preferences.ui:1470 msgid "Incomplete Bopomofo" msgstr "Unvollständiges Bopomofo" #: setup/ibus-libpinyin-preferences.ui:1493 msgid "Keyboard Mapping:" msgstr "Tastaturbelegung:" #: setup/ibus-libpinyin-preferences.ui:1536 msgid "Bopomofo mode" msgstr "Bopomofo Modus" #: setup/ibus-libpinyin-preferences.ui:1572 msgid "Selection Keys:" msgstr "Auswahltasten:" #: setup/ibus-libpinyin-preferences.ui:1609 msgid "Enable Guidekey for Candidates Selection" msgstr "Guide-Taste zur Kandidatenauswahl aktivieren" #: setup/ibus-libpinyin-preferences.ui:1626 msgid "Enable Auxiliary Select Keys F1 .. F10" msgstr "Zusätzliche Auswahltasten F1…F10 aktivieren" #: setup/ibus-libpinyin-preferences.ui:1643 msgid "Enable Auxiliary Select Keys Numbers on Keypad" msgstr "Ziffern auf Ziffernblock als zusätzliche Auswahltasten aktivieren" #: setup/ibus-libpinyin-preferences.ui:1666 msgid "Selection mode" msgstr "Auswahl Modus" #: setup/ibus-libpinyin-preferences.ui:1698 msgid "Feature of Enter key:" msgstr "Verhalten der Entertaste:" #: setup/ibus-libpinyin-preferences.ui:1709 msgid "Commit first candidate" msgstr "Ersten Kandidaten committen" #: setup/ibus-libpinyin-preferences.ui:1727 msgid "Commit original text" msgstr "Originaltext committen" #: setup/ibus-libpinyin-preferences.ui:1749 msgid "Other" msgstr "Sonstiges" #: setup/ibus-libpinyin-preferences.ui:1870 msgid "Bopomofo mode" msgstr "Bopomofo Modus" #: setup/ibus-libpinyin-preferences.ui:2032 msgid "Enable fuzzy syllable" msgstr "Fuzzy Silben aktivieren" #: setup/ibus-libpinyin-preferences.ui:2133 msgid "Fuzzy syllable" msgstr "Fuzzy Silben" #: setup/ibus-libpinyin-preferences.ui:2222 msgid "Dictionary option" msgstr "Wörterbuch Option" #: setup/ibus-libpinyin-preferences.ui:2244 msgid "Dictionary" msgstr "Wörterbuch" #: setup/ibus-libpinyin-preferences.ui:2285 msgid "Lua Extension" msgstr "Lua Erweiterung" #: setup/ibus-libpinyin-preferences.ui:2299 msgid "Table Mode" msgstr "Tabellenmodus" #: setup/ibus-libpinyin-preferences.ui:2313 msgid "English Mode" msgstr "Englischer Modus" #: setup/ibus-libpinyin-preferences.ui:2327 msgid "English Candidate" msgstr "Englischer Kandidat" #: setup/ibus-libpinyin-preferences.ui:2341 msgid "Emoji Candidate" msgstr "Emojikandidat" #: setup/ibus-libpinyin-preferences.ui:2355 msgid "Suggestion Candidate" msgstr "Vorschlagskandidat" #: setup/ibus-libpinyin-preferences.ui:2375 msgid "Input Modes" msgstr "Eingabemodes" #: setup/ibus-libpinyin-preferences.ui:2406 msgid "User Lua Script" msgstr "Benutzer Lua Skript" #: setup/ibus-libpinyin-preferences.ui:2416 msgid "Edit" msgstr "Editieren" #: setup/ibus-libpinyin-preferences.ui:2436 msgid "Customize IME" msgstr "IME individualisieren" #: setup/ibus-libpinyin-preferences.ui:2471 #: setup/ibus-libpinyin-preferences.ui:2655 msgid "Export" msgstr "Export" #: setup/ibus-libpinyin-preferences.ui:2486 #: setup/ibus-libpinyin-preferences.ui:2670 msgid "Import" msgstr "Import" #: setup/ibus-libpinyin-preferences.ui:2502 msgid "User Dictionary" msgstr "Benutzerwörterbuch" #: setup/ibus-libpinyin-preferences.ui:2527 msgid "Clear All Data" msgstr "Alle Daten löschen" #: setup/ibus-libpinyin-preferences.ui:2547 #: setup/ibus-libpinyin-preferences.ui:2700 msgid "Clear" msgstr "Löschen" #: setup/ibus-libpinyin-preferences.ui:2575 msgid "" "Dictionary File Format:\n" " Each line contains one of the following:\n" " \"phrase pinyin\" or \"phrase pinyin frequency\"\n" " like \"你好 ni'hao\" or \"你好 ni'hao 5\"." msgstr "" "Wörterbuch Dateiformat:\n" " Jede Zeile enthält ein dieser beiden Möglichkeiten:\n" " \"Wort Pinyin\" or \"Wort Pinyin Frequenz\"\n" " zum Beispiel \"你好 ni'hao\" or \"你好 ni'hao 5\"." #: setup/ibus-libpinyin-preferences.ui:2588 #: setup/ibus-libpinyin-preferences.ui:2738 msgid "Help" msgstr "Hilfe" #: setup/ibus-libpinyin-preferences.ui:2606 msgid "User Dictionary" msgstr "Benutzer Wörterbuch" #: setup/ibus-libpinyin-preferences.ui:2642 msgid "User Table" msgstr "Benutzertabelle" #: setup/ibus-libpinyin-preferences.ui:2728 msgid "" "Table File Format:\n" " Each line contains the following:\n" " \"table_code phrase frequency\" like \"a 啊 100\"." msgstr "" "Tabellen Dateiformat:\n" " Jede Zeile enthält sieht wie folgt aus:\n" " \"Tabellencode Phrase Frequenz\" wie zum Beispiel \"a 啊 100\"." #: setup/ibus-libpinyin-preferences.ui:2756 msgid "User Table" msgstr "Benutzer Tabelle" #: setup/ibus-libpinyin-preferences.ui:2778 msgid "User data" msgstr "Benutzerdaten" #: setup/ibus-libpinyin-preferences.ui:2808 msgid "Shortcuts" msgstr "Abkürzungen" #: setup/ibus-libpinyin-preferences.ui:2864 msgid "Intelligent Pinyin input method for IBus" msgstr "Intelligente Pinyin Eingabemethode für IBus" #: setup/ibus-libpinyin-preferences.ui:2877 msgid "Copyright (c) 2011-2024 Peng Wu" msgstr "Copyright (c) 2011-2024 Peng Wu" #: setup/ibus-libpinyin-preferences.ui:2890 msgid "https://github.com/libpinyin/ibus-libpinyin" msgstr "https://github.com/libpinyin/ibus-libpinyin" #: setup/ibus-libpinyin-preferences.ui:2907 msgid "" "\n" "Authors:\n" "Peng Wu\n" "Peng Huang\n" "BYVoid\n" "\n" "Main Contributors:\n" "Weixuan XIAO, Linyu XU\n" "\n" "Contributors:\n" "koterpilla, Zerng07, Hillwood Yang\n" "" msgstr "" "\n" "Autoren:\n" "Peng Wu\n" "Peng Huang\n" "BYVoid\n" "\n" "Wesentliche Beiträge von:\n" "Weixuan XIAO, Linyu XU\n" "\n" "Beiträge von:\n" "koterpilla, Zerng07, Hillwood Yang\n" "" #: setup/ibus-libpinyin-preferences.ui:2947 msgid "About" msgstr "Info" #: data/ibus-setup-libpinyin.desktop.in:3 msgid "IBus LibPinyin Setup" msgstr "IBus LibPinyin Einstellungen" #: data/ibus-setup-libpinyin.desktop.in:4 msgid "Set ibus-libpinyin Preferences" msgstr "ibus-libpinyin Optionen einstellen" #: data/ibus-setup-libbopomofo.desktop.in:3 msgid "IBus LibBopomofo Preferences" msgstr "IBus LibBopomofo Einstellungen" #: data/ibus-setup-libbopomofo.desktop.in:4 msgid "Set ibus-libbopomofo Preferences" msgstr "ibus-libbopomofo Optionen einstellen" #~ msgid "Show suggestions." #~ msgstr "Vorschläge anzeigen." #~ msgid "Show emoji." #~ msgstr "Emoji anzeigen." ibus-libpinyin-1.16.1/po/si.gmo0000644000175000017500000000124614737373732011776 4L`ai WDaChineseLibpinyin input methodProject-Id-Version: ibus-libpinyin 1.11.94 Report-Msgid-Bugs-To: https://github.com/libpinyin/ibus-libpinyin/issues/new PO-Revision-Date: 2021-08-19 06:05+0000 Last-Translator: Hela Basa Language-Team: Sinhala Language: si MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n > 1; X-Generator: Weblate 4.7.2 චීනලිබ්පින්යින් ආදාන ක්‍රමයibus-libpinyin-1.16.1/po/insert-header.sin0000644000175000017500000000124013440163070014074 # Sed script that inserts the file called HEADER before the header entry. # # At each occurrence of a line starting with "msgid ", we execute the following # commands. At the first occurrence, insert the file. At the following # occurrences, do nothing. The distinction between the first and the following # occurrences is achieved by looking at the hold space. /^msgid /{ x # Test if the hold space is empty. s/m/m/ ta # Yes it was empty. First occurrence. Read the file. r HEADER # Output the file's contents by reading the next line. But don't lose the # current line while doing this. g N bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } ibus-libpinyin-1.16.1/po/remove-potcdate.sin0000644000175000017500000000066013440163070014445 # Sed script that remove the POT-Creation-Date line in the header entry # from a POT file. # # The distinction between the first and the following occurrences of the # pattern is achieved by looking at the hold space. /^"POT-Creation-Date: .*"$/{ x # Test if the hold space is empty. s/P/P/ ta # Yes it was empty. First occurrence. Remove the line. g d bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } ibus-libpinyin-1.16.1/po/quot.sed0000644000175000017500000000023113440163070012313 s/"\([^"]*\)"/“\1”/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“”/""/g ibus-libpinyin-1.16.1/po/uk.gmo0000644000175000017500000003622114740100671011763 L  0B\r/H]q q <F]'o.=lp v  . 6DL T `k z(&.$(7`v   2I_nv~   %9K^'y(   $ 2@ EPW\r  )Zl  ! %Fe t ~  $*Of }% % ", O Z'e'$5 HTh~  +!MQ!U/w"=* 'K s (y!$!4!$!!"=" M"&n""_#,y#,#5# $&$%%+%B%S%f% %)%G%&&/&C& X&.y&2&&&''%'.'='V'Lt''''K(N(4(W ).d)8))()! *,*1*"J*m* |*%*-**@*-4+5b++++++ ++!,)$,+N,z,,,,),', -! -B-`-8-V-I.Z.(q.). ..'. //1/J/O/i/ x/&/(/////.0FH0a0001T1bB222F2 36 3W3>t3<3#34*4X?44#44C4(5 85C5&Z5N5a5=26?p6N6X6JX7T7P7TI888@8>91M9/9O9e9e:'z:3:%:2:%/;U;u;;;;/;/;%;<3< C< O<+]<<< %[Mt$?}4J1;2i/=8]B-@fPxXaS:r+LW0 s_GepukhANl,D"m `>cz<YKQq'nw|\d3Ey6IF g(b 9).jR T!5o~v#*CZ^U{7&VHO [ ] flip pageBopomofo modeCandidatesCloud Input OptionCorrect pinyinCustomize IMEDictionary File Format: Each line contains one of the following: "phrase pinyin" or "phrase pinyin frequency" like "你好 ni'hao" or "你好 ni'hao 5".Dictionary optionInitial stateInput CustomInput ModesKeyboardOtherPinyin modeSelection modeTable File Format: Each line contains the following: "table_code phrase frequency" like "a 啊 100".UIUser DictionaryUser TableIntelligent Pinyin %s Authors: Peng Wu Peng Huang BYVoid Main Contributors: Weixuan XIAO, Linyu XU Contributors: koterpilla, Zerng07, Hillwood Yang Copyright (c) 2011-2024 Peng WuABCAboutAcceleratorActiveArtAuto commitBaiduBopomofo (debug)Bopomofo input method (debug)Bopomofo modeChineseChinese:ClearClear All DataCommit first candidateCommit original textCompactCompatibilityCultureDefaultDescriptionDictionaryDisplay Style:Double pinyinDynamically adjust the candidates order.EconomyEditEmoji CandidateEnable Auxiliary Select Keys F1 .. F10Enable Auxiliary Select Keys Numbers on KeypadEnable Cloud InputEnable Guidekey for Candidates SelectionEnable fuzzy syllableEnable pinyin correctionEnglishEnglish CandidateEnglish ModeEtenExportFeature of Enter key:FrequencyFullFull Width LetterFull Width PunctFull pinyinFull/Half Width Both SwitchFull/Half Width LetterFull/Half Width PunctFuzzy syllableGeneralGeologyGinYiehGoogleGoogle CNHalfHalf Width LetterHalf Width PunctHalf/full width:HelpHistoryHorizontalIBMIBus LibBopomofo PreferencesIBus LibPinyin SetupImportIncomplete BopomofoIncomplete pinyinIntelligent PinyinIntelligent Pinyin (debug)Intelligent Pinyin input method (debug)Intelligent Pinyin input method for IBusKey code:Keyboard Layout:Keyboard Mapping:Language:LegacyLibpinyin input methodLifeLua ConverterLua ExtensionMSPYModifiers:NatureNoneNumber of candidates:Orientation of candidates:PYJJPeoplePinyin LengthPinyin modePlease choose a filePlease input the English word.Please press a key (or a key combination)Please press a key (or a key combination). The dialog will close when the key is released.Please save a filePlease use "hspnz" to input.Please use table code to input.PreferencesPunctuations:Remember every input as a phrase.ScienceSelect Switching KeySelection Keys:Set ibus-libbopomofo PreferencesSet ibus-libpinyin PreferencesShorcut EditorShortcut:ShortcutsShow raw input of Double PinyinSimplifiedSimplified ChineseSocietySort candidates by:Source From:SportStandardSuggestion CandidateSwitch Chinese/EnglishSwitch Traditional/Simplfied ChineseSwitch to Chinese ModeSwitch to English ModeSwitch to Full Width Letter ModeSwitch to Full Width Punctuation ModeSwitch to Half Width Letter ModeSwitch to Half Width Punctuation ModeSwitch to Simplfied Chinese ModeSwitch to Traditional Chinese ModeTable ModeTechnologyThe pinyin dictionary file is exported.The pinyin dictionary file is imported.The table file is exported.The table file is imported.This shortcut key is already in use.Tips: Changes may not take effect until ime restarts.TraditionalTraditional ChineseUse the Lua ConvertorUser DictionaryUser Lua ScriptUser TableUser dataVerticalXHEZGPYZRM[,] [.] flip page[-] [=] flip page[Shift] select candidate_Cancel_Default_Edit_OKhttps://github.com/libpinyin/ibus-libpinyin中英Project-Id-Version: PACKAGE VERSION Report-Msgid-Bugs-To: https://github.com/libpinyin/ibus-libpinyin/issues/new PO-Revision-Date: 2025-01-09 08:38+0000 Last-Translator: Yuri Chornoivan Language-Team: Ukrainian Language: uk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2; X-Generator: Weblate 5.9.2 [ ] перегорнути сторінкуРежим бопомофоВаріантиПараметр «хмарного» введенняВиправлення піньїнНалаштовування IMEФормат файла словника: Кожен рядок має містити такі дані: «фраза піньїн» або «фраза піньїн частота» Приклади: «你好 ni'hao» або «你好 ni'hao 5».Параметр словникаПочатковий станНалаштовування введенняРежими введенняКлавіатураІншеРежим піньїнуРежим позначенняФормат файла таблиці: Кожен рядок має містити такі дані: «код_таблиці фраза частота», приклад: «a 啊 100».ІнтерфейсСловник користувачаТаблиця користувачаКмітливий піньїн, %s Автори: Peng Wu Peng Huang BYVoid Основні учасники розробки: Weixuan XIAO, Linyu XU Учасники розробки: koterpilla, Zerng07, Hillwood Yang © Peng Wu, 2011–2012ABCПро програмуАкселераторАктивнийМистецтвоАвтонадсиланняБайдуБопомофо (діагностика)Спосіб введення бопомофо (діагностика)Режим бопомофоКитайськаКитайська:СпорожнитиВилучити усі даніНадіслати перший варіантНадіслати початковий текстКомпактнийСумісністьКультураТиповийОписСловникСтиль показу:Подвійна піньїнДинамічне коригування порядку варіантів.ЕкономікаЗмінитиВаріант з емодзіУвімкнути допоміжні клавіші вибору F1 .. F10Увімкнути допоміжні клавіші вибору номерів на цифровій панелі клавіатуриУвімкнути «хмарне» введенняУвімкнути напрямну клавішу для вибору варіантаУвімкнути неточні складиУвімкнути виправлення піньїнуАнглійськаВаріант з англійськоїРежим англійськоїEtenЕкспортуватиРобота клавіші Enter:ЧастотаПовніПовноширинна літераПовноширинна пунктуаціяПовна піньїнПеремикач повно-/півширинна літераПовно-/Півширинна літераПовно-/Півширинна пунктуаціяНеточні складиЗагальнеГеологіяGinYiehGoogleGoogle CNПоловинніПівширинна літераПівширинна пунктуаціяПоловинна/Повна ширина:ДовідкаІсторіяГоризонтальноIBMНалаштування LibBopomofo IBusНалаштування LibPinyin IBusІмпортуватиНеповний бопомофоНеповний піньїнКмітливий піньїнКмітливий піньїн (діагностика)Кмітливий спосіб введення піньїн (діагностика)Кмітливий спосіб введення піньїн для IBusКод клавіші:Розкладка клавіатури:Прив’язка клавіатури:Мова:ЗастарілеСпосід введення LibpinyinЖиттяПеретворювач LuaРозширення LuaMSPYМодифікатори:ПриродаНемаєКількість варіантів:Орієнтація варіантів:PYJJЛюдиДовжина піньїнуРежим піньїнуБудь ласка, виберіть файлБудь ласка, введіть слово англійською.Будь ласка, натисніть клавішу (або комбінацію клавіш)Будь ласка, натисніть клавішу (або комбінацію клавіш). Діалогове вікно буде закрито після відпускання клавіші.Будь ласка, збережіть файлБудь ласка, використовуйте «hspnz» для введення.Будь ласка, скористайтеся кодом таблиці для введення.ПараметриПунктуація:Запам’ятовувати усе введене як фразу.НаукаВиберіть клавішу перемиканняКлавіші вибору:Налаштування параметрів ibus-libbopomofoНалаштування параметрів ibus-libpinyinРедактор скороченьСкорочення:СкороченняПоказати необроблене введення подвійної піньїнСпрощенаСпрощена китайськаСуспільствоКритерій упорядковування варіантів:Джерело:СпортСтандартнийВаріант з пропозиційПеремкнутися між китайською і англійськоюПеремкнутися між традиційною і спрощеною китайськоюПеремкнутися на режим китайськоїПеремкнутися на режим англійськоїПеремкнутися на режим повноширинних літерПеремкнутися на режим повноширинної пунктуаціїПеремкнутися на режим півширинних літерПеремкнутися на режим півширинної пунктуаціїПеремкнутися на режим спрощеної китайськоїПеремкнутися на режим традиційної китайськоїРежим таблиціТехнологіяФайл словника піньїн експортовано.Файл словника піньїн імпортовано.Файл таблиці експортовано.Файл таблиці імпортовано.Це клавіатурне скорочення вже використано.Підказка: зміни набудуть чинності після перезапуску ime.ТрадиційнаТрадиційна китайськаВикористати перетворювач LuaСловник користувачаСкрипт користувача мовою LuaТаблиця користувачаДані користувачаВертикальноXHEZGPYZRM[,] [.] перегорнути сторінку[-] [=] перегорнути сторінку[Shift] вибрати варіант_Скасувати_ТиповийЗ_міни_Гараздhttps://github.com/libpinyin/ibus-libpinyin中英ibus-libpinyin-1.16.1/po/POTFILES.in0000644000175000017500000000106314727715570012430 src/PYConfig.cc src/PYPConfig.cc src/PYPDoublePinyinEditor.cc src/PYEditor.cc src/PYEngine.cc src/PYExtEditor.cc src/PYFallbackEditor.cc src/PYPFullPinyinEditor.cc src/PYHalfFullConverter.cc src/PYMain.cc src/PYPPinyinEditor.cc src/PYPPinyinEngine.cc src/PYPinyinProperties.cc src/PYSimpTradConverter.cc src/PYEnglishEditor.cc src/PYTableEditor.cc setup/main2.py setup/config.py setup/dicttreeview.py setup/keyboardshortcut.py setup/shortcuteditor.py setup/ibus-libpinyin-preferences.ui data/ibus-setup-libpinyin.desktop.in data/ibus-setup-libbopomofo.desktop.in ibus-libpinyin-1.16.1/NEWS0000644000175000017500000000475714767166373010756 version 1.16.1 * bug fixes version 1.16.0 * bug fixes version 1.15.94 * notify user when import file finished * display lua converters in ibus panel * support square bracket page option version 1.15.93 * fix the about icon in setup dialog * support custom keyboard layout option version 1.15.92 * support punctuation candidate version 1.15.91 * support to export bigram phrase version 1.15.8 * bug fixes version 1.15.7 * bug fixes version 1.15.6 * bug fixes version 1.15.5 * bug fixes version 1.15.4 * Use libsoup3 * Update network dictionary * Fix Caps Lock for English mode version 1.15.3 * bug fixes version 1.15.2 * bug fixes version 1.15.1 * bug fixes version 1.15.0 * bug fixes version 1.14.91 * require libpinyin 2.7.91 * improve suggestion candidates * improve English candidates * support longer candidates * support Legacy mode version 1.13.1 * fix setup dialog version 1.13.0 * bug fixes version 1.12.92 * bug fixes version 1.12.91 * enhance English input mode * enhance Table input mode * update setup dialog version 1.12.1 * support compatibility display style * remember cloud input * bug fixes version 1.12.0 * bug fixes version 1.11.94 * support cloud input * bug fixes version 1.11.93 * switch to use GPLv3+ license * support network dictionary * bug fixes version 1.11.92 * fixes desktop files version 1.11.91 * support compact display style * fixes remove user phrase * fixes punct mode version 1.11.1 * use gettext * add emoji-candidate option * fixes SuggestionEditor version 1.11.0 * fixes keypad decimal * fixes emoji candidates * support configurable opencc config version 1.10.92 * fixes Enter handling version 1.10.91 * support ime.register_trigger in lua extension * support predicted candidates * support emoji input version 1.10.0 * bug fixes version 1.9.91 * migrate to use GSettings * fixes lyx short cut issue version 1.9.3 * translate input method name in ibus menu version 1.9.2 * fixes pinyin and bopomofo config version 1.9.1 * add sort candidate option to setup dialog version 1.9.0 * bump version version 1.8.92 * fixes config in setup dialog version 1.8.91 * use libpinyin 1.9.91 version 1.8.1 * change dconf key name to lower case version 1.8.0 * use libpinyin 1.6.0 * fixes setup dialog version 1.7.91 * use libpinyin 1.5.91 * allow to remove the user phrase * enable lua script extension in double pinyin version 1.7.0 * python 3.x migration * use opencc 1.0 * remember every user input as new phrase * customize shortcut keys * support to export user phrases ibus-libpinyin-1.16.1/configure0000755000175000017500000306533214767166740012163 #! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.72 for ibus-libpinyin 1.16.1. # # Report bugs to . # # # Copyright (C) 1992-1996, 1998-2017, 2020-2023 Free Software Foundation, # Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case e in #( e) case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac ;; esac fi # Reset variables that may have inherited troublesome values from # the environment. # IFS needs to be set, to space, tab, and newline, in precisely that order. # (If _AS_PATH_WALK were called with IFS unset, it would have the # side effect of setting IFS to empty, thus disabling word splitting.) # Quoting is to prevent editors from complaining about space-tab. as_nl=' ' export as_nl IFS=" "" $as_nl" PS1='$ ' PS2='> ' PS4='+ ' # Ensure predictable behavior from utilities with locale-dependent output. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # We cannot yet rely on "unset" to work, but we need these variables # to be unset--not just set to an empty or harmless value--now, to # avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct # also avoids known problems related to "unset" and subshell syntax # in other old shells (e.g. bash 2.01 and pdksh 5.2.14). for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH do eval test \${$as_var+y} \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done # Ensure that fds 0, 1, and 2 are open. if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi if (exec 3>&2) ; then :; else exec 2>/dev/null; fi # The user is always right. if ${PATH_SEPARATOR+false} :; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac test -r "$as_dir$0" && as_myself=$as_dir$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as 'sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then _as_can_reexec=no; export _as_can_reexec; # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed 'exec'. printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case e in #( e) case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ) then : else case e in #( e) exitcode=1; echo positional parameters were not saved. ;; esac fi test x\$exitcode = x0 || exit 1 blah=\$(echo \$(echo blah)) test x\"\$blah\" = xblah || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test \$(( 1 + 1 )) = 2 || exit 1 test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO PATH=/empty FPATH=/empty; export PATH FPATH test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1" if (eval "$as_required") 2>/dev/null then : as_have_required=yes else case e in #( e) as_have_required=no ;; esac fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null then : else case e in #( e) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null then : CONFIG_SHELL=$as_shell as_have_required=yes if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null then : break 2 fi fi done;; esac as_found=false done IFS=$as_save_IFS if $as_found then : else case e in #( e) if { test -f "$SHELL" || test -f "$SHELL.exe"; } && as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null then : CONFIG_SHELL=$SHELL as_have_required=yes fi ;; esac fi if test "x$CONFIG_SHELL" != x then : export CONFIG_SHELL # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed 'exec'. printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi if test x$as_have_required = xno then : printf "%s\n" "$0: This script requires a shell more modern than all" printf "%s\n" "$0: the shells that I found on your system." if test ${ZSH_VERSION+y} ; then printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." else printf "%s\n" "$0: Please tell bug-autoconf@gnu.org and $0: https://github.com/libpinyin/ibus-libpinyin/issues/new $0: about your system, including any error possibly output $0: before this message. Then install a modern shell, or $0: manually run the script under such a shell if you do $0: have one." fi exit 1 fi ;; esac fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || printf "%s\n" X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null then : eval 'as_fn_append () { eval $1+=\$2 }' else case e in #( e) as_fn_append () { eval $1=\$$1\$2 } ;; esac fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null then : eval 'as_fn_arith () { as_val=$(( $* )) }' else case e in #( e) as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } ;; esac fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi printf "%s\n" "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || printf "%s\n" X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' t clear :clear s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall # in an infinite loop. This has already happened in practice. _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } # Determine whether it's possible to make 'echo' print without a newline. # These variables are no longer used directly by Autoconf, but are AC_SUBSTed # for compatibility with existing Makefiles. ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac # For backward compatibility with old third-party macros, we provide # the shell variables $as_echo and $as_echo_n. New code should use # AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. as_echo='printf %s\n' as_echo_n='printf %s' rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both 'ln -s file dir' and 'ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; 'ln -s' creates a wrapper executable. # In both cases, we have to default to 'cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_sed_cpp="y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" as_tr_cpp="eval sed '$as_sed_cpp'" # deprecated # Sed expression to map a string onto a valid variable name. as_sed_sh="y%*+%pp%;s%[^_$as_cr_alnum]%_%g" as_tr_sh="eval sed '$as_sed_sh'" # deprecated SHELL=${CONFIG_SHELL-/bin/sh} test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='ibus-libpinyin' PACKAGE_TARNAME='ibus-libpinyin' PACKAGE_VERSION='1.16.1' PACKAGE_STRING='ibus-libpinyin 1.16.1' PACKAGE_BUGREPORT='https://github.com/libpinyin/ibus-libpinyin/issues/new' PACKAGE_URL='' # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_STDIO_H # include #endif #ifdef HAVE_STDLIB_H # include #endif #ifdef HAVE_STRING_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_header_c_list= gt_needs= ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS LIBOBJS LIBNOTIFY_LIBS LIBNOTIFY_CFLAGS ENABLE_LIBNOTIFY_FALSE ENABLE_LIBNOTIFY_TRUE IBUS_BUILD_TABLE_INPUT_MODE_FALSE IBUS_BUILD_TABLE_INPUT_MODE_TRUE IBUS_BUILD_ENGLISH_INPUT_MODE_FALSE IBUS_BUILD_ENGLISH_INPUT_MODE_TRUE CLOUD_INPUT_MODE ENABLE_CLOUD_INPUT_MODE_FALSE ENABLE_CLOUD_INPUT_MODE_TRUE JSONGLIB_LIBS JSONGLIB_CFLAGS LIBSOUP_LIBS LIBSOUP_CFLAGS IBUS_BUILD_LUA_EXTENSION_FALSE IBUS_BUILD_LUA_EXTENSION_TRUE LUA_LIBS LUA_CFLAGS GSETTINGS_RULES GLIB_COMPILE_SCHEMAS gsettingsschemadir GSETTINGS_DISABLE_SCHEMAS_COMPILE GIO2_LIBS GIO2_CFLAGS POSUB LTLIBINTL LIBINTL INTLLIBS LTLIBICONV LIBICONV INTL_MACOSX_LIBS CPP XGETTEXT_EXTRA_OPTIONS MSGMERGE XGETTEXT_015 XGETTEXT GMSGFMT_015 MSGFMT_015 GMSGFMT MSGFMT GETTEXT_MACRO_VERSION USE_NLS GETTEXT_PACKAGE OPENCC_LIBS OPENCC_CFLAGS HAVE_BOOST_FALSE HAVE_BOOST_TRUE BOOST_CPPFLAGS DISTCHECK_CONFIGURE_FLAGS BOOST_ROOT ICON_PROP_KEY_XML pkgpyexecdir pyexecdir pkgpythondir pythondir PYTHON_EXEC_PREFIX PYTHON_PREFIX PYTHON_PLATFORM PYTHON_VERSION PYTHON ENV LIBPINYIN_DATADIR LIBPINYIN_LIBS LIBPINYIN_CFLAGS SQLITE3 SQLITE_LIBS SQLITE_CFLAGS IBUS_LIBS IBUS_CFLAGS PKG_CONFIG_LIBDIR PKG_CONFIG_PATH PKG_CONFIG CXXCPP LT_SYS_LIBRARY_PATH OTOOL64 OTOOL LIPO NMEDIT DSYMUTIL MANIFEST_TOOL RANLIB ac_ct_AR AR DLLTOOL OBJDUMP FILECMD LN_S NM ac_ct_DUMPBIN DUMPBIN LD FGREP SED host_os host_vendor host_cpu host build_os build_vendor build_cpu build LIBTOOL EGREP GREP am__fastdepCXX_FALSE am__fastdepCXX_TRUE CXXDEPMODE ac_ct_CXX CXXFLAGS CXX MAINT MAINTAINER_MODE_FALSE MAINTAINER_MODE_TRUE PACKAGE_VERSION_RELEASE PACKAGE_VERSION_NANO PACKAGE_VERSION_MICRO PACKAGE_VERSION_MINOR PACKAGE_VERSION_MAJOR am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__include DEPDIR OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC AM_BACKSLASH AM_DEFAULT_VERBOSITY AM_DEFAULT_V AM_V CSCOPE ETAGS CTAGS am__untar am__tar AMTAR am__leading_dot SET_MAKE AWK mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM STRIP install_sh MAKEINFO AUTOHEADER AUTOMAKE AUTOCONF ACLOCAL VERSION PACKAGE CYGPATH_W am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir runstatedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL am__quote' ac_subst_files='' ac_user_opts=' enable_option_checking enable_silent_rules enable_dependency_tracking enable_maintainer_mode enable_static enable_shared with_pic enable_fast_install with_aix_soname with_gnu_ld with_sysroot enable_libtool_lock with_python_sys_prefix with_python_prefix with_python_exec_prefix with_python enable_boost with_boost enable_opencc enable_nls enable_rpath with_libiconv_prefix with_libintl_prefix enable_schemas_compile enable_lua_extension enable_cloud_input_mode enable_english_input_mode enable_table_input_mode enable_libnotify ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CXX CXXFLAGS CCC LT_SYS_LIBRARY_PATH CXXCPP PKG_CONFIG PKG_CONFIG_PATH PKG_CONFIG_LIBDIR IBUS_CFLAGS IBUS_LIBS SQLITE_CFLAGS SQLITE_LIBS LIBPINYIN_CFLAGS LIBPINYIN_LIBS PYTHON BOOST_ROOT OPENCC_CFLAGS OPENCC_LIBS CPP GIO2_CFLAGS GIO2_LIBS GLIB_COMPILE_SCHEMAS LUA_CFLAGS LUA_LIBS LIBSOUP_CFLAGS LIBSOUP_LIBS JSONGLIB_CFLAGS JSONGLIB_LIBS LIBNOTIFY_CFLAGS LIBNOTIFY_LIBS' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: '$ac_useropt'" ac_useropt_orig=$ac_useropt ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: '$ac_useropt'" ac_useropt_orig=$ac_useropt ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -runstatedir | --runstatedir | --runstatedi | --runstated \ | --runstate | --runstat | --runsta | --runst | --runs \ | --run | --ru | --r) ac_prev=runstatedir ;; -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ | --run=* | --ru=* | --r=*) runstatedir=$ac_optarg ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: '$ac_useropt'" ac_useropt_orig=$ac_useropt ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: '$ac_useropt'" ac_useropt_orig=$ac_useropt ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: '$ac_option' Try '$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: '$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir runstatedir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: '$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || printf "%s\n" X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but 'cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF 'configure' configures ibus-libpinyin 1.16.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print 'checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for '--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or '..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, 'make install' will install all the files in '$ac_default_prefix/bin', '$ac_default_prefix/lib' etc. You can specify an installation prefix other than '$ac_default_prefix' using '--prefix', for instance '--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/ibus-libpinyin] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of ibus-libpinyin 1.16.1:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-silent-rules less verbose build output (undo: "make V=1") --disable-silent-rules verbose build output (undo: "make V=0") --enable-dependency-tracking do not reject slow dependency extractors --disable-dependency-tracking speeds up one-time build --enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer --enable-static[=PKGS] build static libraries [default=no] --enable-shared[=PKGS] build shared libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) --enable-boost Use boost to replace stdc++0x. --enable-opencc Use opencc for simplified and traditional Chinese conversion --disable-nls do not use Native Language Support --disable-rpath do not hardcode runtime library paths --disable-schemas-compile Disable regeneration of gschemas.compiled on install --disable-lua-extension do not build lua extension --enable-cloud-input-mode add cloud candidates --disable-english-input-mode do not build english input mode --disable-table-input-mode do not build table input mode --disable-libnotify Disable to link libnotify Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use both] --with-aix-soname=aix|svr4|both shared library versioning (aka "SONAME") variant to provide on AIX, [default=aix]. --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-sysroot[=DIR] Search for dependent libraries within DIR (or the compiler's sysroot if not specified). --with-python-sys-prefix use Python's sys.prefix and sys.exec_prefix values --with-python_prefix override the default PYTHON_PREFIX --with-python_exec_prefix override the default PYTHON_EXEC_PREFIX --with-python=PATH Select python version --with-boost=DIR prefix of Boost 1.39 [guess] --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib --without-libintl-prefix don't search for libintl in includedir and libdir Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CXX C++ compiler command CXXFLAGS C++ compiler flags LT_SYS_LIBRARY_PATH User-defined run-time library search path. CXXCPP C++ preprocessor PKG_CONFIG path to pkg-config utility PKG_CONFIG_PATH directories to add to pkg-config's search path PKG_CONFIG_LIBDIR path overriding pkg-config's built-in search path IBUS_CFLAGS C compiler flags for IBUS, overriding pkg-config IBUS_LIBS linker flags for IBUS, overriding pkg-config SQLITE_CFLAGS C compiler flags for SQLITE, overriding pkg-config SQLITE_LIBS linker flags for SQLITE, overriding pkg-config LIBPINYIN_CFLAGS C compiler flags for LIBPINYIN, overriding pkg-config LIBPINYIN_LIBS linker flags for LIBPINYIN, overriding pkg-config PYTHON the Python interpreter BOOST_ROOT Location of Boost installation OPENCC_CFLAGS C compiler flags for OPENCC, overriding pkg-config OPENCC_LIBS linker flags for OPENCC, overriding pkg-config CPP C preprocessor GIO2_CFLAGS C compiler flags for GIO2, overriding pkg-config GIO2_LIBS linker flags for GIO2, overriding pkg-config GLIB_COMPILE_SCHEMAS value of glib_compile_schemas for gio-2.0, overriding pkg-config LUA_CFLAGS C compiler flags for LUA, overriding pkg-config LUA_LIBS linker flags for LUA, overriding pkg-config LIBSOUP_CFLAGS C compiler flags for LIBSOUP, overriding pkg-config LIBSOUP_LIBS linker flags for LIBSOUP, overriding pkg-config JSONGLIB_CFLAGS C compiler flags for JSONGLIB, overriding pkg-config JSONGLIB_LIBS linker flags for JSONGLIB, overriding pkg-config LIBNOTIFY_CFLAGS C compiler flags for LIBNOTIFY, overriding pkg-config LIBNOTIFY_LIBS linker flags for LIBNOTIFY, overriding pkg-config Use these variables to override the choices made by 'configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for configure.gnu first; this name is used for a wrapper for # Metaconfig's "Configure" on case-insensitive file systems. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF ibus-libpinyin configure 1.16.1 generated by GNU Autoconf 2.72 Copyright (C) 2023 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest.beam if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext then : ac_retval=0 else case e in #( e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 ;; esac fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 printf %s "checking for $2... " >&6; } if eval test \${$3+y} then : printf %s "(cached) " >&6 else case e in #( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO" then : eval "$3=yes" else case e in #( e) eval "$3=no" ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi eval ac_res=\$$3 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 printf "%s\n" "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile # ac_fn_cxx_try_compile LINENO # ---------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest.beam if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext then : ac_retval=0 else case e in #( e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 ;; esac fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_compile # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext } then : ac_retval=0 else case e in #( e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 ;; esac fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 printf %s "checking for $2... " >&6; } if eval test \${$3+y} then : printf %s "(cached) " >&6 else case e in #( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (void); below. */ #include #undef $2 /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $2 (void); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$2 || defined __stub___$2 choke me #endif int main (void) { return $2 (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : eval "$3=yes" else case e in #( e) eval "$3=no" ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext ;; esac fi eval ac_res=\$$3 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 printf "%s\n" "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func # ac_fn_cxx_try_cpp LINENO # ------------------------ # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err } then : ac_retval=0 else case e in #( e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 ;; esac fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_cpp # ac_fn_cxx_try_link LINENO # ------------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext } then : ac_retval=0 else case e in #( e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 ;; esac fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_link # ac_fn_cxx_check_header_compile LINENO HEADER VAR INCLUDES # --------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_cxx_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 printf %s "checking for $2... " >&6; } if eval test \${$3+y} then : printf %s "(cached) " >&6 else case e in #( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_cxx_try_compile "$LINENO" then : eval "$3=yes" else case e in #( e) eval "$3=no" ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi eval ac_res=\$$3 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 printf "%s\n" "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_cxx_check_header_compile # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err } then : ac_retval=0 else case e in #( e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 ;; esac fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_try_run LINENO # ---------------------- # Try to run conftest.$ac_ext, and return whether this succeeded. Assumes that # executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; } then : ac_retval=0 else case e in #( e) printf "%s\n" "$as_me: program exited with status $ac_status" >&5 printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status ;; esac fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run ac_configure_args_raw= for ac_arg do case $ac_arg in *\'*) ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append ac_configure_args_raw " '$ac_arg'" done case $ac_configure_args_raw in *$as_nl*) ac_safe_unquote= ;; *) ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. ac_unsafe_a="$ac_unsafe_z#~" ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; esac cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by ibus-libpinyin $as_me 1.16.1, which was generated by GNU Autoconf 2.72. Invocation command line was $ $0$ac_configure_args_raw _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac printf "%s\n" "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Sanitize IFS. IFS=" "" $as_nl" # Save into config.log some information that might help in debugging. { echo printf "%s\n" "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo printf "%s\n" "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac printf "%s\n" "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then printf "%s\n" "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac printf "%s\n" "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then printf "%s\n" "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && printf "%s\n" "$as_me: caught signal $ac_signal" printf "%s\n" "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h printf "%s\n" "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. if test -n "$CONFIG_SITE"; then ac_site_files="$CONFIG_SITE" elif test "x$prefix" != xNONE; then ac_site_files="$prefix/share/config.site $prefix/etc/config.site" else ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" fi for ac_site_file in $ac_site_files do case $ac_site_file in #( */*) : ;; #( *) : ac_site_file=./$ac_site_file ;; esac if test -f "$ac_site_file" && test -r "$ac_site_file"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See 'config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 printf "%s\n" "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 printf "%s\n" "$as_me: creating cache $cache_file" >&6;} >$cache_file fi as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H" # Test code for whether the C compiler supports C89 (global declarations) ac_c_conftest_c89_globals=' /* Does the compiler advertise C89 conformance? Do not test the value of __STDC__, because some compilers set it to 0 while being otherwise adequately conformant. */ #if !defined __STDC__ # error "Compiler does not advertise C89 conformance" #endif #include #include struct stat; /* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ struct buf { int x; }; struct buf * (*rcsopen) (struct buf *, struct stat *, int); static char *e (char **p, int i) { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* C89 style stringification. */ #define noexpand_stringify(a) #a const char *stringified = noexpand_stringify(arbitrary+token=sequence); /* C89 style token pasting. Exercises some of the corner cases that e.g. old MSVC gets wrong, but not very hard. */ #define noexpand_concat(a,b) a##b #define expand_concat(a,b) noexpand_concat(a,b) extern int vA; extern int vbee; #define aye A #define bee B int *pvA = &expand_concat(v,aye); int *pvbee = &noexpand_concat(v,bee); /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not \xHH hex character constants. These do not provoke an error unfortunately, instead are silently treated as an "x". The following induces an error, until -std is added to get proper ANSI mode. Curiously \x00 != x always comes out true, for an array size at least. It is necessary to write \x00 == 0 to get something that is true only with -std. */ int osf4_cc_array ['\''\x00'\'' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) '\''x'\'' int xlc6_cc_array[FOO(a) == '\''x'\'' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int), int, int);' # Test code for whether the C compiler supports C89 (body of main). ac_c_conftest_c89_main=' ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); ' # Test code for whether the C compiler supports C99 (global declarations) ac_c_conftest_c99_globals=' /* Does the compiler advertise C99 conformance? */ #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L # error "Compiler does not advertise C99 conformance" #endif // See if C++-style comments work. #include extern int puts (const char *); extern int printf (const char *, ...); extern int dprintf (int, const char *, ...); extern void *malloc (size_t); extern void free (void *); // Check varargs macros. These examples are taken from C99 6.10.3.5. // dprintf is used instead of fprintf to avoid needing to declare // FILE and stderr. #define debug(...) dprintf (2, __VA_ARGS__) #define showlist(...) puts (#__VA_ARGS__) #define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) static void test_varargs_macros (void) { int x = 1234; int y = 5678; debug ("Flag"); debug ("X = %d\n", x); showlist (The first, second, and third items.); report (x>y, "x is %d but y is %d", x, y); } // Check long long types. #define BIG64 18446744073709551615ull #define BIG32 4294967295ul #define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) #if !BIG_OK #error "your preprocessor is broken" #endif #if BIG_OK #else #error "your preprocessor is broken" #endif static long long int bignum = -9223372036854775807LL; static unsigned long long int ubignum = BIG64; struct incomplete_array { int datasize; double data[]; }; struct named_init { int number; const wchar_t *name; double average; }; typedef const char *ccp; static inline int test_restrict (ccp restrict text) { // Iterate through items via the restricted pointer. // Also check for declarations in for loops. for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) continue; return 0; } // Check varargs and va_copy. static bool test_varargs (const char *format, ...) { va_list args; va_start (args, format); va_list args_copy; va_copy (args_copy, args); const char *str = ""; int number = 0; float fnumber = 0; while (*format) { switch (*format++) { case '\''s'\'': // string str = va_arg (args_copy, const char *); break; case '\''d'\'': // int number = va_arg (args_copy, int); break; case '\''f'\'': // float fnumber = va_arg (args_copy, double); break; default: break; } } va_end (args_copy); va_end (args); return *str && number && fnumber; } ' # Test code for whether the C compiler supports C99 (body of main). ac_c_conftest_c99_main=' // Check bool. _Bool success = false; success |= (argc != 0); // Check restrict. if (test_restrict ("String literal") == 0) success = true; char *restrict newvar = "Another string"; // Check varargs. success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); test_varargs_macros (); // Check flexible array members. struct incomplete_array *ia = malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); ia->datasize = 10; for (int i = 0; i < ia->datasize; ++i) ia->data[i] = i * 1.234; // Work around memory leak warnings. free (ia); // Check named initializers. struct named_init ni = { .number = 34, .name = L"Test wide string", .average = 543.34343, }; ni.number = 58; int dynamic_array[ni.number]; dynamic_array[0] = argv[0][0]; dynamic_array[ni.number - 1] = 543; // work around unused variable warnings ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' || dynamic_array[ni.number - 1] != 543); ' # Test code for whether the C compiler supports C11 (global declarations) ac_c_conftest_c11_globals=' /* Does the compiler advertise C11 conformance? */ #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L # error "Compiler does not advertise C11 conformance" #endif // Check _Alignas. char _Alignas (double) aligned_as_double; char _Alignas (0) no_special_alignment; extern char aligned_as_int; char _Alignas (0) _Alignas (int) aligned_as_int; // Check _Alignof. enum { int_alignment = _Alignof (int), int_array_alignment = _Alignof (int[100]), char_alignment = _Alignof (char) }; _Static_assert (0 < -_Alignof (int), "_Alignof is signed"); // Check _Noreturn. int _Noreturn does_not_return (void) { for (;;) continue; } // Check _Static_assert. struct test_static_assert { int x; _Static_assert (sizeof (int) <= sizeof (long int), "_Static_assert does not work in struct"); long int y; }; // Check UTF-8 literals. #define u8 syntax error! char const utf8_literal[] = u8"happens to be ASCII" "another string"; // Check duplicate typedefs. typedef long *long_ptr; typedef long int *long_ptr; typedef long_ptr long_ptr; // Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. struct anonymous { union { struct { int i; int j; }; struct { int k; long int l; } w; }; int m; } v1; ' # Test code for whether the C compiler supports C11 (body of main). ac_c_conftest_c11_main=' _Static_assert ((offsetof (struct anonymous, i) == offsetof (struct anonymous, w.k)), "Anonymous union alignment botch"); v1.i = 2; v1.w.k = 5; ok |= v1.i != 5; ' # Test code for whether the C compiler supports C11 (complete). ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} ${ac_c_conftest_c99_globals} ${ac_c_conftest_c11_globals} int main (int argc, char **argv) { int ok = 0; ${ac_c_conftest_c89_main} ${ac_c_conftest_c99_main} ${ac_c_conftest_c11_main} return ok; } " # Test code for whether the C compiler supports C99 (complete). ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} ${ac_c_conftest_c99_globals} int main (int argc, char **argv) { int ok = 0; ${ac_c_conftest_c89_main} ${ac_c_conftest_c99_main} return ok; } " # Test code for whether the C compiler supports C89 (complete). ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} int main (int argc, char **argv) { int ok = 0; ${ac_c_conftest_c89_main} return ok; } " as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H" as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H" as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H" as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H" as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H" as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H" as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H" as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H" as_fn_append ac_header_c_list " wchar.h wchar_h HAVE_WCHAR_H" as_fn_append ac_header_c_list " minix/config.h minix_config_h HAVE_MINIX_CONFIG_H" # Test code for whether the C++ compiler supports C++98 (global declarations) ac_cxx_conftest_cxx98_globals=' // Does the compiler advertise C++98 conformance? #if !defined __cplusplus || __cplusplus < 199711L # error "Compiler does not advertise C++98 conformance" #endif // These inclusions are to reject old compilers that // lack the unsuffixed header files. #include #include // and are *not* freestanding headers in C++98. extern void assert (int); namespace std { extern int strcmp (const char *, const char *); } // Namespaces, exceptions, and templates were all added after "C++ 2.0". using std::exception; using std::strcmp; namespace { void test_exception_syntax() { try { throw "test"; } catch (const char *s) { // Extra parentheses suppress a warning when building autoconf itself, // due to lint rules shared with more typical C programs. assert (!(strcmp) (s, "test")); } } template struct test_template { T const val; explicit test_template(T t) : val(t) {} template T add(U u) { return static_cast(u) + val; } }; } // anonymous namespace ' # Test code for whether the C++ compiler supports C++98 (body of main) ac_cxx_conftest_cxx98_main=' assert (argc); assert (! argv[0]); { test_exception_syntax (); test_template tt (2.0); assert (tt.add (4) == 6.0); assert (true && !false); } ' # Test code for whether the C++ compiler supports C++11 (global declarations) ac_cxx_conftest_cxx11_globals=' // Does the compiler advertise C++ 2011 conformance? #if !defined __cplusplus || __cplusplus < 201103L # error "Compiler does not advertise C++11 conformance" #endif namespace cxx11test { constexpr int get_val() { return 20; } struct testinit { int i; double d; }; class delegate { public: delegate(int n) : n(n) {} delegate(): delegate(2354) {} virtual int getval() { return this->n; }; protected: int n; }; class overridden : public delegate { public: overridden(int n): delegate(n) {} virtual int getval() override final { return this->n * 2; } }; class nocopy { public: nocopy(int i): i(i) {} nocopy() = default; nocopy(const nocopy&) = delete; nocopy & operator=(const nocopy&) = delete; private: int i; }; // for testing lambda expressions template Ret eval(Fn f, Ret v) { return f(v); } // for testing variadic templates and trailing return types template auto sum(V first) -> V { return first; } template auto sum(V first, Args... rest) -> V { return first + sum(rest...); } } ' # Test code for whether the C++ compiler supports C++11 (body of main) ac_cxx_conftest_cxx11_main=' { // Test auto and decltype auto a1 = 6538; auto a2 = 48573953.4; auto a3 = "String literal"; int total = 0; for (auto i = a3; *i; ++i) { total += *i; } decltype(a2) a4 = 34895.034; } { // Test constexpr short sa[cxx11test::get_val()] = { 0 }; } { // Test initializer lists cxx11test::testinit il = { 4323, 435234.23544 }; } { // Test range-based for int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; for (auto &x : array) { x += 23; } } { // Test lambda expressions using cxx11test::eval; assert (eval ([](int x) { return x*2; }, 21) == 42); double d = 2.0; assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); assert (d == 5.0); assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); assert (d == 5.0); } { // Test use of variadic templates using cxx11test::sum; auto a = sum(1); auto b = sum(1, 2); auto c = sum(1.0, 2.0, 3.0); } { // Test constructor delegation cxx11test::delegate d1; cxx11test::delegate d2(); cxx11test::delegate d3(45); } { // Test override and final cxx11test::overridden o1(55464); } { // Test nullptr char *c = nullptr; } { // Test template brackets test_template<::test_template> v(test_template(12)); } { // Unicode literals char const *utf8 = u8"UTF-8 string \u2500"; char16_t const *utf16 = u"UTF-8 string \u2500"; char32_t const *utf32 = U"UTF-32 string \u2500"; } ' # Test code for whether the C compiler supports C++11 (complete). ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} ${ac_cxx_conftest_cxx11_globals} int main (int argc, char **argv) { int ok = 0; ${ac_cxx_conftest_cxx98_main} ${ac_cxx_conftest_cxx11_main} return ok; } " # Test code for whether the C compiler supports C++98 (complete). ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} int main (int argc, char **argv) { int ok = 0; ${ac_cxx_conftest_cxx98_main} return ok; } " gt_needs="$gt_needs " # Auxiliary files required by this configure script. ac_aux_files="config.rpath config.guess config.sub ltmain.sh compile missing install-sh" # Locations in which to look for auxiliary files. ac_aux_dir_candidates="${srcdir}${PATH_SEPARATOR}${srcdir}/..${PATH_SEPARATOR}${srcdir}/../.." # Search for a directory containing all of the required auxiliary files, # $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. # If we don't find one directory that contains all the files we need, # we report the set of missing files from the *first* directory in # $ac_aux_dir_candidates and give up. ac_missing_aux_files="" ac_first_candidate=: printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in $ac_aux_dir_candidates do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac as_found=: printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 ac_aux_dir_found=yes ac_install_sh= for ac_aux in $ac_aux_files do # As a special case, if "install-sh" is required, that requirement # can be satisfied by any of "install-sh", "install.sh", or "shtool", # and $ac_install_sh is set appropriately for whichever one is found. if test x"$ac_aux" = x"install-sh" then if test -f "${as_dir}install-sh"; then printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 ac_install_sh="${as_dir}install-sh -c" elif test -f "${as_dir}install.sh"; then printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 ac_install_sh="${as_dir}install.sh -c" elif test -f "${as_dir}shtool"; then printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 ac_install_sh="${as_dir}shtool install -c" else ac_aux_dir_found=no if $ac_first_candidate; then ac_missing_aux_files="${ac_missing_aux_files} install-sh" else break fi fi else if test -f "${as_dir}${ac_aux}"; then printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 else ac_aux_dir_found=no if $ac_first_candidate; then ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" else break fi fi fi done if test "$ac_aux_dir_found" = yes; then ac_aux_dir="$as_dir" break fi ac_first_candidate=false as_found=false done IFS=$as_save_IFS if $as_found then : else case e in #( e) as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5 ;; esac fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. if test -f "${ac_aux_dir}config.guess"; then ac_config_guess="$SHELL ${ac_aux_dir}config.guess" fi if test -f "${ac_aux_dir}config.sub"; then ac_config_sub="$SHELL ${ac_aux_dir}config.sub" fi if test -f "$ac_aux_dir/configure"; then ac_configure="$SHELL ${ac_aux_dir}configure" fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: '$ac_var' was set to '$ac_old_val' in the previous run" >&5 printf "%s\n" "$as_me: error: '$ac_var' was set to '$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: '$ac_var' was not set in the previous run" >&5 printf "%s\n" "$as_me: error: '$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: '$ac_var' has changed since the previous run:" >&5 printf "%s\n" "$as_me: error: '$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in '$ac_var' since the previous run:" >&5 printf "%s\n" "$as_me: warning: ignoring whitespace changes in '$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: '$ac_old_val'" >&5 printf "%s\n" "$as_me: former value: '$ac_old_val'" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: '$ac_new_val'" >&5 printf "%s\n" "$as_me: current value: '$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run '${MAKE-make} distclean' and/or 'rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu am__api_version='1.16' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 printf %s "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if test ${ac_cv_path_install+y} then : printf %s "(cached) " >&6 else case e in #( e) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac # Account for fact that we put trailing slashes in our PATH walk. case $as_dir in #(( ./ | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir/" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir ;; esac fi if test ${ac_cv_path_install+y}; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 printf "%s\n" "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 printf %s "checking whether build environment is sane... " >&6; } # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; esac # Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( am_has_slept=no for am_try in 1 2; do echo "timestamp, slept: $am_has_slept" > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi if test "$2" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 am_has_slept=yes done test "$2" = conftest.file ) then # Ok. : else as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= if grep 'slept: no' conftest.file >/dev/null 2>&1; then ( sleep 1 ) & am_sleep_pid=$! fi rm -f conftest.file test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. # By default was 's,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`printf "%s\n" "$program_transform_name" | sed "$ac_script"` # Expand $ac_aux_dir to an absolute path. am_aux_dir=`cd "$ac_aux_dir" && pwd` if test x"${MISSING+set}" != xset; then MISSING="\${SHELL} '$am_aux_dir/missing'" fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then am_missing_run="$MISSING " else am_missing_run= { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 printf "%s\n" "$as_me: WARNING: 'missing' script is too old or missing" >&2;} fi if test x"${install_sh+set}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi # Installed binaries are usually stripped using 'strip' when the user # run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the 'STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_STRIP+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 printf "%s\n" "$STRIP" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_STRIP+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 printf "%s\n" "$ac_ct_STRIP" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a race-free mkdir -p" >&5 printf %s "checking for a race-free mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if test ${ac_cv_path_mkdir+y} then : printf %s "(cached) " >&6 else case e in #( e) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext" || continue case `"$as_dir$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir ('*'coreutils) '* | \ *'BusyBox '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS ;; esac fi test -d ./--version && rmdir ./--version if test ${ac_cv_path_mkdir+y}; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use plain mkdir -p, # in the hope it doesn't have the bugs of ancient mkdir. MKDIR_P='mkdir -p' fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 printf "%s\n" "$MKDIR_P" >&6; } for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_AWK+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 printf "%s\n" "$AWK" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi test -n "$AWK" && break done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval test \${ac_cv_prog_make_${ac_make}_set+y} then : printf %s "(cached) " >&6 else case e in #( e) cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make ;; esac fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } SET_MAKE= else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null # Check whether --enable-silent-rules was given. if test ${enable_silent_rules+y} then : enableval=$enable_silent_rules; fi case $enable_silent_rules in # ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=1;; esac am_make=${MAKE-make} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 printf %s "checking whether $am_make supports nested variables... " >&6; } if test ${am_cv_make_support_nested_variables+y} then : printf %s "(cached) " >&6 else case e in #( e) if printf "%s\n" 'TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 printf "%s\n" "$am_cv_make_support_nested_variables" >&6; } if test $am_cv_make_support_nested_variables = yes; then AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AM_BACKSLASH='\' if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='ibus-libpinyin' VERSION='1.16.1' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h printf "%s\n" "#define VERSION \"$VERSION\"" >>confdefs.h # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: # # mkdir_p='$(MKDIR_P)' # We need awk for the "check" target (and possibly the TAP driver). The # system "awk" is bad on some platforms. # Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AMTAR='$${TAR-tar}' # We'll loop over all known methods to create a tar archive until one works. _am_tools='gnutar pax cpio none' am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' # Variables for tags utilities; see am/tags.am if test -z "$CTAGS"; then CTAGS=ctags fi if test -z "$ETAGS"; then ETAGS=etags fi if test -z "$CSCOPE"; then CSCOPE=cscope fi # POSIX will say in a future version that running "rm -f" with no argument # is OK; and we want to be able to make that assumption in our Makefile # recipes. So use an aggressive probe to check that the usage we want is # actually supported "in the wild" to an acceptable degree. # See automake bug#10828. # To make any issue more visible, cause the running configure to be aborted # by default if the 'rm' program in use doesn't match our expectations; the # user can still override this though. if rm -f && rm -fr && rm -rf; then : OK; else cat >&2 <<'END' Oops! Your 'rm' program seems unable to run without file operands specified on the command line, even when the '-f' option is present. This is contrary to the behaviour of most rm programs out there, and not conforming with the upcoming POSIX standard: Please tell bug-automake@gnu.org about your system, including the value of your $PATH and any error possibly output before this message. This can help us improve future automake versions. END if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then echo 'Configuration will proceed anyway, since you have set the' >&2 echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 echo >&2 else cat >&2 <<'END' Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation that behaves properly: . If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM to "yes", and re-run configure. END as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 fi fi DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 printf %s "checking whether ${MAKE-make} supports the include directive... " >&6; } cat > confinc.mk << 'END' am__doit: @echo this is the am__doit target >confinc.out .PHONY: am__doit END am__include="#" am__quote= # BSD make does it like this. echo '.include "confinc.mk" # ignored' > confmf.BSD # Other make implementations (GNU, Solaris 10, AIX) do it like this. echo 'include confinc.mk # ignored' > confmf.GNU _am_result=no for s in GNU BSD; do { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } case $?:`cat confinc.out 2>/dev/null` in #( '0:this is the am__doit target') : case $s in #( BSD) : am__include='.include' am__quote='"' ;; #( *) : am__include='include' am__quote='' ;; esac ;; #( *) : ;; esac if test "$am__include" != "#"; then _am_result="yes ($s style)" break fi done rm -f confinc.* confmf.* { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 printf "%s\n" "${_am_result}" >&6; } # Check whether --enable-dependency-tracking was given. if test ${enable_dependency_tracking+y} then : enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi CC=$ac_cv_prog_CC if test -n "$CC"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 printf "%s\n" "$CC" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_CC+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 printf "%s\n" "$ac_ct_CC" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi CC=$ac_cv_prog_CC if test -n "$CC"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 printf "%s\n" "$CC" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@" fi fi fi ;; esac fi CC=$ac_cv_prog_CC if test -n "$CC"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 printf "%s\n" "$CC" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi CC=$ac_cv_prog_CC if test -n "$CC"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 printf "%s\n" "$CC" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_CC+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 printf "%s\n" "$ac_ct_CC" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args. set dummy ${ac_tool_prefix}clang; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}clang" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi CC=$ac_cv_prog_CC if test -n "$CC"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 printf "%s\n" "$CC" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "clang", so it can be a program name with args. set dummy clang; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_CC+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="clang" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 printf "%s\n" "$ac_ct_CC" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi fi test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See 'config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion -version; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 printf %s "checking whether the C compiler works... " >&6; } ac_link_default=`printf "%s\n" "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then : # Autoconf-2.13 could set the ac_cv_exeext variable to 'no'. # So ignore a value of 'no', otherwise this would lead to 'EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an '-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else case e in #( e) ac_file='' ;; esac fi if test -z "$ac_file" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See 'config.log' for more details" "$LINENO" 5; } else case e in #( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 printf %s "checking for C compiler default output file name... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 printf "%s\n" "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 printf %s "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then : # If both 'conftest.exe' and 'conftest' are 'present' (well, observable) # catch 'conftest.exe'. For instance with Cygwin, 'ls conftest' will # work properly (i.e., refer to 'conftest.exe'), while it won't with # 'rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else case e in #( e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See 'config.log' for more details" "$LINENO" 5; } ;; esac fi rm -f conftest conftest$ac_cv_exeext { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 printf "%s\n" "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { FILE *f = fopen ("conftest.out", "w"); if (!f) return 1; return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 printf %s "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error 77 "cannot run C compiled programs. If you meant to cross compile, use '--host'. See 'config.log' for more details" "$LINENO" 5; } fi fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 printf "%s\n" "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext \ conftest.o conftest.obj conftest.out ac_clean_files=$ac_clean_files_save { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 printf %s "checking for suffix of object files... " >&6; } if test ${ac_cv_objext+y} then : printf %s "(cached) " >&6 else case e in #( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else case e in #( e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See 'config.log' for more details" "$LINENO" 5; } ;; esac fi rm -f conftest.$ac_cv_objext conftest.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 printf "%s\n" "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 printf %s "checking whether the compiler supports GNU C... " >&6; } if test ${ac_cv_c_compiler_gnu+y} then : printf %s "(cached) " >&6 else case e in #( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_compiler_gnu=yes else case e in #( e) ac_compiler_gnu=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } ac_compiler_gnu=$ac_cv_c_compiler_gnu if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+y} ac_save_CFLAGS=$CFLAGS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 printf %s "checking whether $CC accepts -g... " >&6; } if test ${ac_cv_prog_cc_g+y} then : printf %s "(cached) " >&6 else case e in #( e) ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_cv_prog_cc_g=yes else case e in #( e) CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : else case e in #( e) ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 printf "%s\n" "$ac_cv_prog_cc_g" >&6; } if test $ac_test_CFLAGS; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi ac_prog_cc_stdc=no if test x$ac_prog_cc_stdc = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 printf %s "checking for $CC option to enable C11 features... " >&6; } if test ${ac_cv_prog_cc_c11+y} then : printf %s "(cached) " >&6 else case e in #( e) ac_cv_prog_cc_c11=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_c_conftest_c11_program _ACEOF for ac_arg in '' -std=gnu11 do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO" then : ac_cv_prog_cc_c11=$ac_arg fi rm -f core conftest.err conftest.$ac_objext conftest.beam test "x$ac_cv_prog_cc_c11" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC ;; esac fi if test "x$ac_cv_prog_cc_c11" = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 printf "%s\n" "unsupported" >&6; } else case e in #( e) if test "x$ac_cv_prog_cc_c11" = x then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 printf "%s\n" "none needed" >&6; } else case e in #( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } CC="$CC $ac_cv_prog_cc_c11" ;; esac fi ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 ac_prog_cc_stdc=c11 ;; esac fi fi if test x$ac_prog_cc_stdc = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 printf %s "checking for $CC option to enable C99 features... " >&6; } if test ${ac_cv_prog_cc_c99+y} then : printf %s "(cached) " >&6 else case e in #( e) ac_cv_prog_cc_c99=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_c_conftest_c99_program _ACEOF for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO" then : ac_cv_prog_cc_c99=$ac_arg fi rm -f core conftest.err conftest.$ac_objext conftest.beam test "x$ac_cv_prog_cc_c99" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC ;; esac fi if test "x$ac_cv_prog_cc_c99" = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 printf "%s\n" "unsupported" >&6; } else case e in #( e) if test "x$ac_cv_prog_cc_c99" = x then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 printf "%s\n" "none needed" >&6; } else case e in #( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } CC="$CC $ac_cv_prog_cc_c99" ;; esac fi ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 ac_prog_cc_stdc=c99 ;; esac fi fi if test x$ac_prog_cc_stdc = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 printf %s "checking for $CC option to enable C89 features... " >&6; } if test ${ac_cv_prog_cc_c89+y} then : printf %s "(cached) " >&6 else case e in #( e) ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_c_conftest_c89_program _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO" then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext conftest.beam test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC ;; esac fi if test "x$ac_cv_prog_cc_c89" = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 printf "%s\n" "unsupported" >&6; } else case e in #( e) if test "x$ac_cv_prog_cc_c89" = x then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 printf "%s\n" "none needed" >&6; } else case e in #( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } CC="$CC $ac_cv_prog_cc_c89" ;; esac fi ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 ac_prog_cc_stdc=c89 ;; esac fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 printf %s "checking whether $CC understands -c and -o together... " >&6; } if test ${am_cv_prog_cc_c_o+y} then : printf %s "(cached) " >&6 else case e in #( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF # Make sure it works both with $CC and with simple cc. # Following AC_PROG_CC_C_O, we do the test twice because some # compilers refuse to overwrite an existing .o file with -o, # though they will create one. am_cv_prog_cc_c_o=yes for am_i in 1 2; do if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } \ && test -f conftest2.$ac_objext; then : OK else am_cv_prog_cc_c_o=no break fi done rm -f core conftest* unset am_i ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 printf "%s\n" "$am_cv_prog_cc_c_o" >&6; } if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 printf %s "checking dependency style of $depcc... " >&6; } if test ${am_cv_CC_dependencies_compiler_type+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi ac_header= ac_cache= for ac_item in $ac_header_c_list do if test $ac_cache; then ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then printf "%s\n" "#define $ac_item 1" >> confdefs.h fi ac_header= ac_cache= elif test $ac_header; then ac_cache=$ac_item else ac_header=$ac_item fi done if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes then : printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 printf %s "checking whether it is safe to define __EXTENSIONS__... " >&6; } if test ${ac_cv_safe_to_define___extensions__+y} then : printf %s "(cached) " >&6 else case e in #( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # define __EXTENSIONS__ 1 $ac_includes_default int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_cv_safe_to_define___extensions__=yes else case e in #( e) ac_cv_safe_to_define___extensions__=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 printf "%s\n" "$ac_cv_safe_to_define___extensions__" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether _XOPEN_SOURCE should be defined" >&5 printf %s "checking whether _XOPEN_SOURCE should be defined... " >&6; } if test ${ac_cv_should_define__xopen_source+y} then : printf %s "(cached) " >&6 else case e in #( e) ac_cv_should_define__xopen_source=no if test $ac_cv_header_wchar_h = yes then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include mbstate_t x; int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : else case e in #( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _XOPEN_SOURCE 500 #include mbstate_t x; int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_cv_should_define__xopen_source=yes fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_should_define__xopen_source" >&5 printf "%s\n" "$ac_cv_should_define__xopen_source" >&6; } printf "%s\n" "#define _ALL_SOURCE 1" >>confdefs.h printf "%s\n" "#define _DARWIN_C_SOURCE 1" >>confdefs.h printf "%s\n" "#define _GNU_SOURCE 1" >>confdefs.h printf "%s\n" "#define _HPUX_ALT_XOPEN_SOCKET_API 1" >>confdefs.h printf "%s\n" "#define _NETBSD_SOURCE 1" >>confdefs.h printf "%s\n" "#define _OPENBSD_SOURCE 1" >>confdefs.h printf "%s\n" "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h printf "%s\n" "#define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1" >>confdefs.h printf "%s\n" "#define __STDC_WANT_IEC_60559_BFP_EXT__ 1" >>confdefs.h printf "%s\n" "#define __STDC_WANT_IEC_60559_DFP_EXT__ 1" >>confdefs.h printf "%s\n" "#define __STDC_WANT_IEC_60559_EXT__ 1" >>confdefs.h printf "%s\n" "#define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1" >>confdefs.h printf "%s\n" "#define __STDC_WANT_IEC_60559_TYPES_EXT__ 1" >>confdefs.h printf "%s\n" "#define __STDC_WANT_LIB_EXT2__ 1" >>confdefs.h printf "%s\n" "#define __STDC_WANT_MATH_SPEC_FUNCS__ 1" >>confdefs.h printf "%s\n" "#define _TANDEM_SOURCE 1" >>confdefs.h if test $ac_cv_header_minix_config_h = yes then : MINIX=yes printf "%s\n" "#define _MINIX 1" >>confdefs.h printf "%s\n" "#define _POSIX_SOURCE 1" >>confdefs.h printf "%s\n" "#define _POSIX_1_SOURCE 2" >>confdefs.h else case e in #( e) MINIX= ;; esac fi if test $ac_cv_safe_to_define___extensions__ = yes then : printf "%s\n" "#define __EXTENSIONS__ 1" >>confdefs.h fi if test $ac_cv_should_define__xopen_source = yes then : printf "%s\n" "#define _XOPEN_SOURCE 500" >>confdefs.h fi ac_config_headers="$ac_config_headers config.h" # Check whether --enable-silent-rules was given. if test ${enable_silent_rules+y} then : enableval=$enable_silent_rules; fi case $enable_silent_rules in # ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=0;; esac am_make=${MAKE-make} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 printf %s "checking whether $am_make supports nested variables... " >&6; } if test ${am_cv_make_support_nested_variables+y} then : printf %s "(cached) " >&6 else case e in #( e) if printf "%s\n" 'TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 printf "%s\n" "$am_cv_make_support_nested_variables" >&6; } if test $am_cv_make_support_nested_variables = yes; then AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AM_BACKSLASH='\' # define PACKAGE_VERSION_* variables PACKAGE_VERSION_MAJOR=$(echo 1.16.1 | cut -d'.' -f1) PACKAGE_VERSION_MINOR=$(echo 1.16.1 | cut -d'.' -f2) PACKAGE_VERSION_MICRO=$(echo 1.16.1 | cut -d'.' -f3) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking nano version" >&5 printf %s "checking nano version... " >&6; } NANO=$(echo 1.16.1 | cut -d'.' -f4) if test x"$NANO" = x || test "x$NANO" = "x0" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: 0 (release)" >&5 printf "%s\n" "0 (release)" >&6; } NANO=0 PACKAGE_VERSION_RELEASE=1 : else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NANO" >&5 printf "%s\n" "$NANO" >&6; } PACKAGE_VERSION_RELEASE=0.`date +%Y%m%d.%H%M%S` : fi PACKAGE_VERSION_NANO=$NANO { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 printf %s "checking whether build environment is sane... " >&6; } # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; esac # Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( am_has_slept=no for am_try in 1 2; do echo "timestamp, slept: $am_has_slept" > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi if test "$2" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 am_has_slept=yes done test "$2" = conftest.file ) then # Ok. : else as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= if grep 'slept: no' conftest.file >/dev/null 2>&1; then ( sleep 1 ) & am_sleep_pid=$! fi rm -f conftest.file { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 printf %s "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } # Check whether --enable-maintainer-mode was given. if test ${enable_maintainer_mode+y} then : enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval else case e in #( e) USE_MAINTAINER_MODE=no ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 printf "%s\n" "$USE_MAINTAINER_MODE" >&6; } if test $USE_MAINTAINER_MODE = yes; then MAINTAINER_MODE_TRUE= MAINTAINER_MODE_FALSE='#' else MAINTAINER_MODE_TRUE='#' MAINTAINER_MODE_FALSE= fi MAINT=$MAINTAINER_MODE_TRUE # Check whether --enable-static was given. if test ${enable_static+y} then : enableval=$enable_static; p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS=$lt_save_ifs ;; esac else case e in #( e) enable_static=no ;; esac fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi CC=$ac_cv_prog_CC if test -n "$CC"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 printf "%s\n" "$CC" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_CC+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 printf "%s\n" "$ac_ct_CC" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi CC=$ac_cv_prog_CC if test -n "$CC"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 printf "%s\n" "$CC" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@" fi fi fi ;; esac fi CC=$ac_cv_prog_CC if test -n "$CC"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 printf "%s\n" "$CC" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi CC=$ac_cv_prog_CC if test -n "$CC"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 printf "%s\n" "$CC" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_CC+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 printf "%s\n" "$ac_ct_CC" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args. set dummy ${ac_tool_prefix}clang; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}clang" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi CC=$ac_cv_prog_CC if test -n "$CC"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 printf "%s\n" "$CC" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "clang", so it can be a program name with args. set dummy clang; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_CC+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="clang" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 printf "%s\n" "$ac_ct_CC" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi fi test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See 'config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion -version; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 printf %s "checking whether the compiler supports GNU C... " >&6; } if test ${ac_cv_c_compiler_gnu+y} then : printf %s "(cached) " >&6 else case e in #( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_compiler_gnu=yes else case e in #( e) ac_compiler_gnu=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } ac_compiler_gnu=$ac_cv_c_compiler_gnu if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+y} ac_save_CFLAGS=$CFLAGS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 printf %s "checking whether $CC accepts -g... " >&6; } if test ${ac_cv_prog_cc_g+y} then : printf %s "(cached) " >&6 else case e in #( e) ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_cv_prog_cc_g=yes else case e in #( e) CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : else case e in #( e) ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 printf "%s\n" "$ac_cv_prog_cc_g" >&6; } if test $ac_test_CFLAGS; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi ac_prog_cc_stdc=no if test x$ac_prog_cc_stdc = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 printf %s "checking for $CC option to enable C11 features... " >&6; } if test ${ac_cv_prog_cc_c11+y} then : printf %s "(cached) " >&6 else case e in #( e) ac_cv_prog_cc_c11=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_c_conftest_c11_program _ACEOF for ac_arg in '' -std=gnu11 do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO" then : ac_cv_prog_cc_c11=$ac_arg fi rm -f core conftest.err conftest.$ac_objext conftest.beam test "x$ac_cv_prog_cc_c11" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC ;; esac fi if test "x$ac_cv_prog_cc_c11" = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 printf "%s\n" "unsupported" >&6; } else case e in #( e) if test "x$ac_cv_prog_cc_c11" = x then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 printf "%s\n" "none needed" >&6; } else case e in #( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } CC="$CC $ac_cv_prog_cc_c11" ;; esac fi ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 ac_prog_cc_stdc=c11 ;; esac fi fi if test x$ac_prog_cc_stdc = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 printf %s "checking for $CC option to enable C99 features... " >&6; } if test ${ac_cv_prog_cc_c99+y} then : printf %s "(cached) " >&6 else case e in #( e) ac_cv_prog_cc_c99=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_c_conftest_c99_program _ACEOF for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO" then : ac_cv_prog_cc_c99=$ac_arg fi rm -f core conftest.err conftest.$ac_objext conftest.beam test "x$ac_cv_prog_cc_c99" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC ;; esac fi if test "x$ac_cv_prog_cc_c99" = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 printf "%s\n" "unsupported" >&6; } else case e in #( e) if test "x$ac_cv_prog_cc_c99" = x then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 printf "%s\n" "none needed" >&6; } else case e in #( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } CC="$CC $ac_cv_prog_cc_c99" ;; esac fi ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 ac_prog_cc_stdc=c99 ;; esac fi fi if test x$ac_prog_cc_stdc = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 printf %s "checking for $CC option to enable C89 features... " >&6; } if test ${ac_cv_prog_cc_c89+y} then : printf %s "(cached) " >&6 else case e in #( e) ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_c_conftest_c89_program _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO" then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext conftest.beam test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC ;; esac fi if test "x$ac_cv_prog_cc_c89" = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 printf "%s\n" "unsupported" >&6; } else case e in #( e) if test "x$ac_cv_prog_cc_c89" = x then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 printf "%s\n" "none needed" >&6; } else case e in #( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } CC="$CC $ac_cv_prog_cc_c89" ;; esac fi ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 ac_prog_cc_stdc=c89 ;; esac fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 printf %s "checking whether $CC understands -c and -o together... " >&6; } if test ${am_cv_prog_cc_c_o+y} then : printf %s "(cached) " >&6 else case e in #( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF # Make sure it works both with $CC and with simple cc. # Following AC_PROG_CC_C_O, we do the test twice because some # compilers refuse to overwrite an existing .o file with -o, # though they will create one. am_cv_prog_cc_c_o=yes for am_i in 1 2; do if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } \ && test -f conftest2.$ac_objext; then : OK else am_cv_prog_cc_c_o=no break fi done rm -f core conftest* unset am_i ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 printf "%s\n" "$am_cv_prog_cc_c_o" >&6; } if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 printf %s "checking dependency style of $depcc... " >&6; } if test ${am_cv_CC_dependencies_compiler_type+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CXX+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 printf "%s\n" "$CXX" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_CXX+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 printf "%s\n" "$ac_ct_CXX" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 printf %s "checking whether the compiler supports GNU C++... " >&6; } if test ${ac_cv_cxx_compiler_gnu+y} then : printf %s "(cached) " >&6 else case e in #( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO" then : ac_compiler_gnu=yes else case e in #( e) ac_compiler_gnu=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test $ac_compiler_gnu = yes; then GXX=yes else GXX= fi ac_test_CXXFLAGS=${CXXFLAGS+y} ac_save_CXXFLAGS=$CXXFLAGS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 printf %s "checking whether $CXX accepts -g... " >&6; } if test ${ac_cv_prog_cxx_g+y} then : printf %s "(cached) " >&6 else case e in #( e) ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO" then : ac_cv_prog_cxx_g=yes else case e in #( e) CXXFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO" then : else case e in #( e) ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO" then : ac_cv_prog_cxx_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } if test $ac_test_CXXFLAGS; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_prog_cxx_stdcxx=no if test x$ac_prog_cxx_stdcxx = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 printf %s "checking for $CXX option to enable C++11 features... " >&6; } if test ${ac_cv_prog_cxx_cxx11+y} then : printf %s "(cached) " >&6 else case e in #( e) ac_cv_prog_cxx_cxx11=no ac_save_CXX=$CXX cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_cxx_conftest_cxx11_program _ACEOF for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA do CXX="$ac_save_CXX $ac_arg" if ac_fn_cxx_try_compile "$LINENO" then : ac_cv_prog_cxx_cxx11=$ac_arg fi rm -f core conftest.err conftest.$ac_objext conftest.beam test "x$ac_cv_prog_cxx_cxx11" != "xno" && break done rm -f conftest.$ac_ext CXX=$ac_save_CXX ;; esac fi if test "x$ac_cv_prog_cxx_cxx11" = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 printf "%s\n" "unsupported" >&6; } else case e in #( e) if test "x$ac_cv_prog_cxx_cxx11" = x then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 printf "%s\n" "none needed" >&6; } else case e in #( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } CXX="$CXX $ac_cv_prog_cxx_cxx11" ;; esac fi ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 ac_prog_cxx_stdcxx=cxx11 ;; esac fi fi if test x$ac_prog_cxx_stdcxx = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 printf %s "checking for $CXX option to enable C++98 features... " >&6; } if test ${ac_cv_prog_cxx_cxx98+y} then : printf %s "(cached) " >&6 else case e in #( e) ac_cv_prog_cxx_cxx98=no ac_save_CXX=$CXX cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_cxx_conftest_cxx98_program _ACEOF for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA do CXX="$ac_save_CXX $ac_arg" if ac_fn_cxx_try_compile "$LINENO" then : ac_cv_prog_cxx_cxx98=$ac_arg fi rm -f core conftest.err conftest.$ac_objext conftest.beam test "x$ac_cv_prog_cxx_cxx98" != "xno" && break done rm -f conftest.$ac_ext CXX=$ac_save_CXX ;; esac fi if test "x$ac_cv_prog_cxx_cxx98" = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 printf "%s\n" "unsupported" >&6; } else case e in #( e) if test "x$ac_cv_prog_cxx_cxx98" = x then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 printf "%s\n" "none needed" >&6; } else case e in #( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } CXX="$CXX $ac_cv_prog_cxx_cxx98" ;; esac fi ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 ac_prog_cxx_stdcxx=cxx98 ;; esac fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CXX" am_compiler_list= { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 printf %s "checking dependency style of $depcc... " >&6; } if test ${am_cv_CXX_dependencies_compiler_type+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 printf "%s\n" "$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5 printf %s "checking for library containing strerror... " >&6; } if test ${ac_cv_search_strerror+y} then : printf %s "(cached) " >&6 else case e in #( e) ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. The 'extern "C"' is for builds by C++ compilers; although this is not generally supported in C code supporting it here has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif char strerror (void); int main (void) { return strerror (); ; return 0; } _ACEOF for ac_lib in '' cposix do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO" then : ac_cv_search_strerror=$ac_res fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext if test ${ac_cv_search_strerror+y} then : break fi done if test ${ac_cv_search_strerror+y} then : else case e in #( e) ac_cv_search_strerror=no ;; esac fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_strerror" >&5 printf "%s\n" "$ac_cv_search_strerror" >&6; } ac_res=$ac_cv_search_strerror if test "$ac_res" != no then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 printf %s "checking for grep that handles long lines and -e... " >&6; } if test ${ac_cv_path_GREP+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_prog in grep ggrep do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in #( *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; #( *) ac_count=0 printf %s 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" printf "%s\n" 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 printf "%s\n" "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" # Autoupdate added the next two lines to ensure that your configure # script's behavior did not change. They are probably safe to remove. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 printf %s "checking for egrep... " >&6; } if test ${ac_cv_path_EGREP+y} then : printf %s "(cached) " >&6 else case e in #( e) if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_prog in egrep do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in #( *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; #( *) ac_count=0 printf %s 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" printf "%s\n" 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 printf "%s\n" "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" EGREP_TRADITIONAL=$EGREP ac_cv_path_EGREP_TRADITIONAL=$EGREP case `pwd` in *\ * | *\ *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 printf "%s\n" "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; esac macro_version='2.4.7' macro_revision='2.4.7' ltmain=$ac_aux_dir/ltmain.sh # Make sure we can run config.sub. $SHELL "${ac_aux_dir}config.sub" sun4 >/dev/null 2>&1 || as_fn_error $? "cannot run $SHELL ${ac_aux_dir}config.sub" "$LINENO" 5 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 printf %s "checking build system type... " >&6; } if test ${ac_cv_build+y} then : printf %s "(cached) " >&6 else case e in #( e) ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "${ac_aux_dir}config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "${ac_aux_dir}config.sub" $ac_build_alias` || as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $ac_build_alias failed" "$LINENO" 5 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 printf "%s\n" "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 printf %s "checking host system type... " >&6; } if test ${ac_cv_host+y} then : printf %s "(cached) " >&6 else case e in #( e) if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "${ac_aux_dir}config.sub" $host_alias` || as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $host_alias failed" "$LINENO" 5 fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 printf "%s\n" "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac # Backslashify metacharacters that are still active within # double-quoted strings. sed_quote_subst='s/\(["`$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 printf %s "checking how to print strings... " >&6; } # Test print first, because it will be a builtin if present. if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='print -r --' elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='printf %s\n' else # Use this function as a fallback that always works. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } ECHO='func_fallback_echo' fi # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "" } case $ECHO in printf*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: printf" >&5 printf "%s\n" "printf" >&6; } ;; print*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 printf "%s\n" "print -r" >&6; } ;; *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cat" >&5 printf "%s\n" "cat" >&6; } ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 printf %s "checking for a sed that does not truncate output... " >&6; } if test ${ac_cv_path_SED+y} then : printf %s "(cached) " >&6 else case e in #( e) ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for ac_i in 1 2 3 4 5 6 7; do ac_script="$ac_script$as_nl$ac_script" done echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed { ac_script=; unset ac_script;} if test -z "$SED"; then ac_path_SED_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_prog in sed gsed do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_SED="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_SED" || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED case `"$ac_path_SED" --version 2>&1` in #( *GNU*) ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; #( *) ac_count=0 printf %s 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" printf "%s\n" '' >> "conftest.nl" "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_SED_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_SED="$ac_path_SED" ac_path_SED_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_SED_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_SED"; then as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 fi else ac_cv_path_SED=$SED fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 printf "%s\n" "$ac_cv_path_SED" >&6; } SED="$ac_cv_path_SED" rm -f conftest.sed test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 printf %s "checking for fgrep... " >&6; } if test ${ac_cv_path_FGREP+y} then : printf %s "(cached) " >&6 else case e in #( e) if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 then ac_cv_path_FGREP="$GREP -F" else if test -z "$FGREP"; then ac_path_FGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_prog in fgrep do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_FGREP="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_FGREP" || continue # Check for GNU ac_path_FGREP and select it if it is found. # Check for GNU $ac_path_FGREP case `"$ac_path_FGREP" --version 2>&1` in #( *GNU*) ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; #( *) ac_count=0 printf %s 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" printf "%s\n" 'FGREP' >> "conftest.nl" "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_FGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_FGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_FGREP"; then as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_FGREP=$FGREP fi fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 printf "%s\n" "$ac_cv_path_FGREP" >&6; } FGREP="$ac_cv_path_FGREP" test -z "$GREP" && GREP=grep # Check whether --with-gnu-ld was given. if test ${with_gnu_ld+y} then : withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes else case e in #( e) with_gnu_ld=no ;; esac fi ac_prog=ld if test yes = "$GCC"; then # Check if gcc -print-prog-name=ld gives a path. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 printf %s "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return, which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD=$ac_prog ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test yes = "$with_gnu_ld"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 printf %s "checking for GNU ld... " >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 printf %s "checking for non-GNU ld... " >&6; } fi if test ${lt_cv_path_LD+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -z "$LD"; then lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD=$ac_dir/$ac_prog # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 printf "%s\n" "$LD" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 printf %s "checking if the linker ($LD) is GNU ld... " >&6; } if test ${lt_cv_prog_gnu_ld+y} then : printf %s "(cached) " >&6 else case e in #( e) # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 printf "%s\n" "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 printf %s "checking for BSD- or MS-compatible name lister (nm)... " >&6; } if test ${lt_cv_path_NM+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM=$NM else lt_nm_to_check=${ac_tool_prefix}nm if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. tmp_nm=$ac_dir/$lt_tmp_nm if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then # Check to see if the nm accepts a BSD-compat flag. # Adding the 'sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty case $build_os in mingw*) lt_bad_file=conftest.nm/nofile ;; *) lt_bad_file=/dev/null ;; esac case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in *$lt_bad_file* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break 2 ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break 2 ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS=$lt_save_ifs done : ${lt_cv_path_NM=no} fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 printf "%s\n" "$lt_cv_path_NM" >&6; } if test no != "$lt_cv_path_NM"; then NM=$lt_cv_path_NM else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$DUMPBIN"; then : # Let the user override the test. else if test -n "$ac_tool_prefix"; then for ac_prog in dumpbin "link -dump" do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_DUMPBIN+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$DUMPBIN"; then ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi DUMPBIN=$ac_cv_prog_DUMPBIN if test -n "$DUMPBIN"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 printf "%s\n" "$DUMPBIN" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi test -n "$DUMPBIN" && break done fi if test -z "$DUMPBIN"; then ac_ct_DUMPBIN=$DUMPBIN for ac_prog in dumpbin "link -dump" do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_DUMPBIN+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$ac_ct_DUMPBIN"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN if test -n "$ac_ct_DUMPBIN"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 printf "%s\n" "$ac_ct_DUMPBIN" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi test -n "$ac_ct_DUMPBIN" && break done if test "x$ac_ct_DUMPBIN" = x; then DUMPBIN=":" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DUMPBIN=$ac_ct_DUMPBIN fi fi case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols -headers" ;; *) DUMPBIN=: ;; esac fi if test : != "$DUMPBIN"; then NM=$DUMPBIN fi fi test -z "$NM" && NM=nm { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 printf %s "checking the name lister ($NM) interface... " >&6; } if test ${lt_cv_nm_interface+y} then : printf %s "(cached) " >&6 else case e in #( e) lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 (eval echo "\"\$as_me:$LINENO: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 printf "%s\n" "$lt_cv_nm_interface" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 printf %s "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 printf "%s\n" "no, using $LN_S" >&6; } fi # find the maximum length of command line arguments { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 printf %s "checking the maximum length of command line arguments... " >&6; } if test ${lt_cv_sys_max_cmd_len+y} then : printf %s "(cached) " >&6 else case e in #( e) i=0 teststring=ABCD case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; mint*) # On MiNT this can take a long time and run out of memory. lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; os2*) # The test takes a long time on OS/2. lt_cv_sys_max_cmd_len=8192 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[ ]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len" && \ test undefined != "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test X`env echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && test 17 != "$i" # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac ;; esac fi if test -n "$lt_cv_sys_max_cmd_len"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 printf "%s\n" "$lt_cv_sys_max_cmd_len" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5 printf "%s\n" "none" >&6; } fi max_cmd_len=$lt_cv_sys_max_cmd_len : ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 printf %s "checking how to convert $build file names to $host format... " >&6; } if test ${lt_cv_to_host_file_cmd+y} then : printf %s "(cached) " >&6 else case e in #( e) case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 ;; esac ;; *-*-cygwin* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_noop ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin ;; esac ;; * ) # unhandled hosts (and "normal" native builds) lt_cv_to_host_file_cmd=func_convert_file_noop ;; esac ;; esac fi to_host_file_cmd=$lt_cv_to_host_file_cmd { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 printf "%s\n" "$lt_cv_to_host_file_cmd" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 printf %s "checking how to convert $build file names to toolchain format... " >&6; } if test ${lt_cv_to_tool_file_cmd+y} then : printf %s "(cached) " >&6 else case e in #( e) #assume ordinary cross tools, or native build. lt_cv_to_tool_file_cmd=func_convert_file_noop case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 ;; esac ;; esac ;; esac fi to_tool_file_cmd=$lt_cv_to_tool_file_cmd { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 printf "%s\n" "$lt_cv_to_tool_file_cmd" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 printf %s "checking for $LD option to reload object files... " >&6; } if test ${lt_cv_ld_reload_flag+y} then : printf %s "(cached) " >&6 else case e in #( e) lt_cv_ld_reload_flag='-r' ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 printf "%s\n" "$lt_cv_ld_reload_flag" >&6; } reload_flag=$lt_cv_ld_reload_flag case $reload_flag in "" | " "*) ;; *) reload_flag=" $reload_flag" ;; esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in cygwin* | mingw* | pw32* | cegcc*) if test yes != "$GCC"; then reload_cmds=false fi ;; darwin*) if test yes = "$GCC"; then reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi ;; esac if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}file", so it can be a program name with args. set dummy ${ac_tool_prefix}file; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_FILECMD+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$FILECMD"; then ac_cv_prog_FILECMD="$FILECMD" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_FILECMD="${ac_tool_prefix}file" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi FILECMD=$ac_cv_prog_FILECMD if test -n "$FILECMD"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FILECMD" >&5 printf "%s\n" "$FILECMD" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$ac_cv_prog_FILECMD"; then ac_ct_FILECMD=$FILECMD # Extract the first word of "file", so it can be a program name with args. set dummy file; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_FILECMD+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$ac_ct_FILECMD"; then ac_cv_prog_ac_ct_FILECMD="$ac_ct_FILECMD" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_FILECMD="file" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi ac_ct_FILECMD=$ac_cv_prog_ac_ct_FILECMD if test -n "$ac_ct_FILECMD"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FILECMD" >&5 printf "%s\n" "$ac_ct_FILECMD" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_FILECMD" = x; then FILECMD=":" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac FILECMD=$ac_ct_FILECMD fi else FILECMD="$ac_cv_prog_FILECMD" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_OBJDUMP+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 printf "%s\n" "$OBJDUMP" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$ac_cv_prog_OBJDUMP"; then ac_ct_OBJDUMP=$OBJDUMP # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_OBJDUMP+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OBJDUMP="objdump" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 printf "%s\n" "$ac_ct_OBJDUMP" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_OBJDUMP" = x; then OBJDUMP="false" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OBJDUMP=$ac_ct_OBJDUMP fi else OBJDUMP="$ac_cv_prog_OBJDUMP" fi test -z "$OBJDUMP" && OBJDUMP=objdump { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 printf %s "checking how to recognize dependent libraries... " >&6; } if test ${lt_cv_deplibs_check_method+y} then : printf %s "(cached) " >&6 else case e in #( e) lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. # 'unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path # that responds to the $file_magic_cmd with a given extended regex. # If you have 'file' or equivalent on your system and you're not sure # whether 'pass_all' will *always* work, you probably want this one. case $host_os in aix[4-9]*) lt_cv_deplibs_check_method=pass_all ;; beos*) lt_cv_deplibs_check_method=pass_all ;; bsdi[45]*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='$FILECMD -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; cygwin*) # func_win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. if ( file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else # Keep this pattern in sync with the one in func_win32_libid. lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc*) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly* | midnightbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=$FILECMD lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; haiku*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=$FILECMD case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[3-9]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) lt_cv_deplibs_check_method=pass_all ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=$FILECMD lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd* | bitrig*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; os2*) lt_cv_deplibs_check_method=pass_all ;; esac ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 printf "%s\n" "$lt_cv_deplibs_check_method" >&6; } file_magic_glob= want_nocaseglob=no if test "$build" = "$host"; then case $host_os in mingw* | pw32*) if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then want_nocaseglob=yes else file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` fi ;; esac fi file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. set dummy ${ac_tool_prefix}dlltool; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_DLLTOOL+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$DLLTOOL"; then ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi DLLTOOL=$ac_cv_prog_DLLTOOL if test -n "$DLLTOOL"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 printf "%s\n" "$DLLTOOL" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$ac_cv_prog_DLLTOOL"; then ac_ct_DLLTOOL=$DLLTOOL # Extract the first word of "dlltool", so it can be a program name with args. set dummy dlltool; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_DLLTOOL+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$ac_ct_DLLTOOL"; then ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DLLTOOL="dlltool" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL if test -n "$ac_ct_DLLTOOL"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 printf "%s\n" "$ac_ct_DLLTOOL" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_DLLTOOL" = x; then DLLTOOL="false" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DLLTOOL=$ac_ct_DLLTOOL fi else DLLTOOL="$ac_cv_prog_DLLTOOL" fi test -z "$DLLTOOL" && DLLTOOL=dlltool { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 printf %s "checking how to associate runtime and link libraries... " >&6; } if test ${lt_cv_sharedlib_from_linklib_cmd+y} then : printf %s "(cached) " >&6 else case e in #( e) lt_cv_sharedlib_from_linklib_cmd='unknown' case $host_os in cygwin* | mingw* | pw32* | cegcc*) # two different shell functions defined in ltmain.sh; # decide which one to use based on capabilities of $DLLTOOL case `$DLLTOOL --help 2>&1` in *--identify-strict*) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib ;; *) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback ;; esac ;; *) # fallback: assume linklib IS sharedlib lt_cv_sharedlib_from_linklib_cmd=$ECHO ;; esac ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 printf "%s\n" "$lt_cv_sharedlib_from_linklib_cmd" >&6; } sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO if test -n "$ac_tool_prefix"; then for ac_prog in ar do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_AR+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_AR="$ac_tool_prefix$ac_prog" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi AR=$ac_cv_prog_AR if test -n "$AR"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 printf "%s\n" "$AR" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi test -n "$AR" && break done fi if test -z "$AR"; then ac_ct_AR=$AR for ac_prog in ar do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_AR+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_AR="$ac_prog" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 printf "%s\n" "$ac_ct_AR" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi test -n "$ac_ct_AR" && break done if test "x$ac_ct_AR" = x; then AR="false" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi fi : ${AR=ar} # Use ARFLAGS variable as AR's operation code to sync the variable naming with # Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have # higher priority because thats what people were doing historically (setting # ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS # variable obsoleted/removed. test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} lt_ar_flags=$AR_FLAGS # Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override # by AR_FLAGS because that was never working and AR_FLAGS is about to die. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 printf %s "checking for archiver @FILE support... " >&6; } if test ${lt_cv_ar_at_file+y} then : printf %s "(cached) " >&6 else case e in #( e) lt_cv_ar_at_file=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : echo conftest.$ac_objext > conftest.lst lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 (eval $lt_ar_try) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test 0 -eq "$ac_status"; then # Ensure the archiver fails upon bogus file names. rm -f conftest.$ac_objext libconftest.a { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 (eval $lt_ar_try) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test 0 -ne "$ac_status"; then lt_cv_ar_at_file=@ fi fi rm -f conftest.* libconftest.a fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 printf "%s\n" "$lt_cv_ar_at_file" >&6; } if test no = "$lt_cv_ar_at_file"; then archiver_list_spec= else archiver_list_spec=$lt_cv_ar_at_file fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_STRIP+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 printf "%s\n" "$STRIP" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_STRIP+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 printf "%s\n" "$ac_ct_STRIP" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi test -z "$STRIP" && STRIP=: if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_RANLIB+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 printf "%s\n" "$RANLIB" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_RANLIB+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 printf "%s\n" "$ac_ct_RANLIB" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi test -z "$RANLIB" && RANLIB=: # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in bitrig* | openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" fi case $host_os in darwin*) lock_old_archive_extraction=yes ;; *) lock_old_archive_extraction=no ;; esac # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Check for command to grab the raw symbol name followed by C symbol from nm. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 printf %s "checking command to parse $NM output from $compiler object... " >&6; } if test ${lt_cv_sys_global_symbol_pipe+y} then : printf %s "(cached) " >&6 else case e in #( e) # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[BCDEGRST]' # Regexp to match symbols that can be accessed directly from C. sympat='\([_A-Za-z][_A-Za-z0-9]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[BCDT]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[ABCDGISTW]' ;; hpux*) if test ia64 = "$host_cpu"; then symcode='[ABCDEGRST]' fi ;; irix* | nonstopux*) symcode='[BCDEGRST]' ;; osf*) symcode='[BCDEGQRST]' ;; solaris*) symcode='[BDRT]' ;; sco3.2v5*) symcode='[DT]' ;; sysv4.2uw2*) symcode='[DT]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[ABDT]' ;; sysv4) symcode='[DFNSTU]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[ABCDGIRSTW]' ;; esac if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Gets list of data symbols to import. lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" # Adjust the below global symbol transforms to fixup imported variables. lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" lt_c_name_lib_hook="\ -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" else # Disable hooks by default. lt_cv_sys_global_symbol_to_import= lt_cdecl_hook= lt_c_name_hook= lt_c_name_lib_hook= fi # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="$SED -n"\ $lt_cdecl_hook\ " -e 's/^T .* \(.*\)$/extern int \1();/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ $lt_c_name_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" # Transform an extracted symbol line into symbol name with lib prefix and # symbol address. lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ $lt_c_name_lib_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function, # D for any global variable and I for any imported variable. # Also find C++ and __fastcall symbols from MSVC++ or ICC, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ " /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ " /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ " {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ " s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx" else lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # Now try to grab the symbols. nlist=conftest.nm if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ #if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE /* DATA imports from DLLs on WIN32 can't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT_DLSYM_CONST #elif defined __osf__ /* This system does not cope well with relocations in const data. */ # define LT_DLSYM_CONST #else # define LT_DLSYM_CONST const #endif #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ LT_DLSYM_CONST struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_globsym_save_LIBS=$LIBS lt_globsym_save_CFLAGS=$CFLAGS LIBS=conftstm.$ac_objext CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then pipe_works=yes fi LIBS=$lt_globsym_save_LIBS CFLAGS=$lt_globsym_save_CFLAGS else echo "cannot find nm_test_func in $nlist" >&5 fi else echo "cannot find nm_test_var in $nlist" >&5 fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 fi else echo "$progname: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test yes = "$pipe_works"; then break else lt_cv_sys_global_symbol_pipe= fi done ;; esac fi if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5 printf "%s\n" "failed" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok" >&5 printf "%s\n" "ok" >&6; } fi # Response file support. if test "$lt_cv_nm_interface" = "MS dumpbin"; then nm_file_list_spec='@' elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then nm_file_list_spec='@' fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 printf %s "checking for sysroot... " >&6; } # Check whether --with-sysroot was given. if test ${with_sysroot+y} then : withval=$with_sysroot; else case e in #( e) with_sysroot=no ;; esac fi lt_sysroot= case $with_sysroot in #( yes) if test yes = "$GCC"; then lt_sysroot=`$CC --print-sysroot 2>/dev/null` fi ;; #( /*) lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` ;; #( no|'') ;; #( *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 printf "%s\n" "$with_sysroot" >&6; } as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 printf "%s\n" "${lt_sysroot:-no}" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 printf %s "checking for a working dd... " >&6; } if test ${ac_cv_path_lt_DD+y} then : printf %s "(cached) " >&6 else case e in #( e) printf 0123456789abcdef0123456789abcdef >conftest.i cat conftest.i conftest.i >conftest2.i : ${lt_DD:=$DD} if test -z "$lt_DD"; then ac_path_lt_DD_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_prog in dd do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_lt_DD="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_lt_DD" || continue if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then cmp -s conftest.i conftest.out \ && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: fi $ac_path_lt_DD_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_lt_DD"; then : fi else ac_cv_path_lt_DD=$lt_DD fi rm -f conftest.i conftest2.i conftest.out ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 printf "%s\n" "$ac_cv_path_lt_DD" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 printf %s "checking how to truncate binary pipes... " >&6; } if test ${lt_cv_truncate_bin+y} then : printf %s "(cached) " >&6 else case e in #( e) printf 0123456789abcdef0123456789abcdef >conftest.i cat conftest.i conftest.i >conftest2.i lt_cv_truncate_bin= if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then cmp -s conftest.i conftest.out \ && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" fi rm -f conftest.i conftest2.i conftest.out test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 printf "%s\n" "$lt_cv_truncate_bin" >&6; } # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. func_cc_basename () { for cc_temp in $*""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` } # Check whether --enable-libtool-lock was given. if test ${enable_libtool_lock+y} then : enableval=$enable_libtool_lock; fi test no = "$enable_libtool_lock" || enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out what ABI is being produced by ac_compile, and set mode # options accordingly. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `$FILECMD conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE=32 ;; *ELF-64*) HPUX_IA64_MODE=64 ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. echo '#line '$LINENO' "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then if test yes = "$lt_cv_prog_gnu_ld"; then case `$FILECMD conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `$FILECMD conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; mips64*-*linux*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. echo '#line '$LINENO' "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then emul=elf case `$FILECMD conftest.$ac_objext` in *32-bit*) emul="${emul}32" ;; *64-bit*) emul="${emul}64" ;; esac case `$FILECMD conftest.$ac_objext` in *MSB*) emul="${emul}btsmip" ;; *LSB*) emul="${emul}ltsmip" ;; esac case `$FILECMD conftest.$ac_objext` in *N32*) emul="${emul}n32" ;; esac LD="${LD-ld} -m $emul" fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. Note that the listed cases only cover the # situations where additional linker options are needed (such as when # doing 32-bit compilation for a host where ld defaults to 64-bit, or # vice versa); the common cases where no linker options are needed do # not appear in the list. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `$FILECMD conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) case `$FILECMD conftest.o` in *x86-64*) LD="${LD-ld} -m elf32_x86_64" ;; *) LD="${LD-ld} -m elf_i386" ;; esac ;; powerpc64le-*linux*) LD="${LD-ld} -m elf32lppclinux" ;; powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; powerpcle-*linux*) LD="${LD-ld} -m elf64lppc" ;; powerpc-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS=$CFLAGS CFLAGS="$CFLAGS -belf" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 printf %s "checking whether the C compiler needs -belf... " >&6; } if test ${lt_cv_cc_needs_belf+y} then : printf %s "(cached) " >&6 else case e in #( e) ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : lt_cv_cc_needs_belf=yes else case e in #( e) lt_cv_cc_needs_belf=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 printf "%s\n" "$lt_cv_cc_needs_belf" >&6; } if test yes != "$lt_cv_cc_needs_belf"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS=$SAVE_CFLAGS fi ;; *-*solaris*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `$FILECMD conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) case $host in i?86-*-solaris*|x86_64-*-solaris*) LD="${LD-ld} -m elf_x86_64" ;; sparc*-*-solaris*) LD="${LD-ld} -m elf64_sparc" ;; esac # GNU ld 2.21 introduced _sol2 emulations. Use them if available. if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then LD=${LD-ld}_sol2 fi ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks=$enable_libtool_lock if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. set dummy ${ac_tool_prefix}mt; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_MANIFEST_TOOL+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$MANIFEST_TOOL"; then ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL if test -n "$MANIFEST_TOOL"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 printf "%s\n" "$MANIFEST_TOOL" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$ac_cv_prog_MANIFEST_TOOL"; then ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL # Extract the first word of "mt", so it can be a program name with args. set dummy mt; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_MANIFEST_TOOL+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$ac_ct_MANIFEST_TOOL"; then ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL if test -n "$ac_ct_MANIFEST_TOOL"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 printf "%s\n" "$ac_ct_MANIFEST_TOOL" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_MANIFEST_TOOL" = x; then MANIFEST_TOOL=":" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL fi else MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" fi test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 printf %s "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } if test ${lt_cv_path_mainfest_tool+y} then : printf %s "(cached) " >&6 else case e in #( e) lt_cv_path_mainfest_tool=no echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out cat conftest.err >&5 if $GREP 'Manifest Tool' conftest.out > /dev/null; then lt_cv_path_mainfest_tool=yes fi rm -f conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 printf "%s\n" "$lt_cv_path_mainfest_tool" >&6; } if test yes != "$lt_cv_path_mainfest_tool"; then MANIFEST_TOOL=: fi case $host_os in rhapsody* | darwin*) if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_DSYMUTIL+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$DSYMUTIL"; then ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi DSYMUTIL=$ac_cv_prog_DSYMUTIL if test -n "$DSYMUTIL"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 printf "%s\n" "$DSYMUTIL" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$ac_cv_prog_DSYMUTIL"; then ac_ct_DSYMUTIL=$DSYMUTIL # Extract the first word of "dsymutil", so it can be a program name with args. set dummy dsymutil; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_DSYMUTIL+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$ac_ct_DSYMUTIL"; then ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL if test -n "$ac_ct_DSYMUTIL"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 printf "%s\n" "$ac_ct_DSYMUTIL" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_DSYMUTIL" = x; then DSYMUTIL=":" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DSYMUTIL=$ac_ct_DSYMUTIL fi else DSYMUTIL="$ac_cv_prog_DSYMUTIL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. set dummy ${ac_tool_prefix}nmedit; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_NMEDIT+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$NMEDIT"; then ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi NMEDIT=$ac_cv_prog_NMEDIT if test -n "$NMEDIT"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 printf "%s\n" "$NMEDIT" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$ac_cv_prog_NMEDIT"; then ac_ct_NMEDIT=$NMEDIT # Extract the first word of "nmedit", so it can be a program name with args. set dummy nmedit; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_NMEDIT+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$ac_ct_NMEDIT"; then ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_NMEDIT="nmedit" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT if test -n "$ac_ct_NMEDIT"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 printf "%s\n" "$ac_ct_NMEDIT" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_NMEDIT" = x; then NMEDIT=":" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac NMEDIT=$ac_ct_NMEDIT fi else NMEDIT="$ac_cv_prog_NMEDIT" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. set dummy ${ac_tool_prefix}lipo; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_LIPO+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$LIPO"; then ac_cv_prog_LIPO="$LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_LIPO="${ac_tool_prefix}lipo" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi LIPO=$ac_cv_prog_LIPO if test -n "$LIPO"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 printf "%s\n" "$LIPO" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$ac_cv_prog_LIPO"; then ac_ct_LIPO=$LIPO # Extract the first word of "lipo", so it can be a program name with args. set dummy lipo; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_LIPO+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$ac_ct_LIPO"; then ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_LIPO="lipo" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO if test -n "$ac_ct_LIPO"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 printf "%s\n" "$ac_ct_LIPO" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_LIPO" = x; then LIPO=":" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac LIPO=$ac_ct_LIPO fi else LIPO="$ac_cv_prog_LIPO" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. set dummy ${ac_tool_prefix}otool; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_OTOOL+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$OTOOL"; then ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_OTOOL="${ac_tool_prefix}otool" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi OTOOL=$ac_cv_prog_OTOOL if test -n "$OTOOL"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 printf "%s\n" "$OTOOL" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL"; then ac_ct_OTOOL=$OTOOL # Extract the first word of "otool", so it can be a program name with args. set dummy otool; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_OTOOL+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$ac_ct_OTOOL"; then ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OTOOL="otool" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL if test -n "$ac_ct_OTOOL"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 printf "%s\n" "$ac_ct_OTOOL" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_OTOOL" = x; then OTOOL=":" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL=$ac_ct_OTOOL fi else OTOOL="$ac_cv_prog_OTOOL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. set dummy ${ac_tool_prefix}otool64; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_OTOOL64+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$OTOOL64"; then ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi OTOOL64=$ac_cv_prog_OTOOL64 if test -n "$OTOOL64"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 printf "%s\n" "$OTOOL64" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL64"; then ac_ct_OTOOL64=$OTOOL64 # Extract the first word of "otool64", so it can be a program name with args. set dummy otool64; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_OTOOL64+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -n "$ac_ct_OTOOL64"; then ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OTOOL64="otool64" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi ;; esac fi ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 if test -n "$ac_ct_OTOOL64"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 printf "%s\n" "$ac_ct_OTOOL64" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_OTOOL64" = x; then OTOOL64=":" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL64=$ac_ct_OTOOL64 fi else OTOOL64="$ac_cv_prog_OTOOL64" fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 printf %s "checking for -single_module linker flag... " >&6; } if test ${lt_cv_apple_cc_single_mod+y} then : printf %s "(cached) " >&6 else case e in #( e) lt_cv_apple_cc_single_mod=no if test -z "$LT_MULTI_MODULE"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&5 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? # If there is a non-empty error log, and "single_module" # appears in it, assume the flag caused a linker warning if test -s conftest.err && $GREP single_module conftest.err; then cat conftest.err >&5 # Otherwise, if the output was created with a 0 exit code from # the compiler, it worked. elif test -f libconftest.dylib && test 0 = "$_lt_result"; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&5 fi rm -rf libconftest.dylib* rm -f conftest.* fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 printf "%s\n" "$lt_cv_apple_cc_single_mod" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 printf %s "checking for -exported_symbols_list linker flag... " >&6; } if test ${lt_cv_ld_exported_symbols_list+y} then : printf %s "(cached) " >&6 else case e in #( e) lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : lt_cv_ld_exported_symbols_list=yes else case e in #( e) lt_cv_ld_exported_symbols_list=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 printf "%s\n" "$lt_cv_ld_exported_symbols_list" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 printf %s "checking for -force_load linker flag... " >&6; } if test ${lt_cv_ld_force_load+y} then : printf %s "(cached) " >&6 else case e in #( e) lt_cv_ld_force_load=no cat > conftest.c << _LT_EOF int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 echo "$AR $AR_FLAGS libconftest.a conftest.o" >&5 $AR $AR_FLAGS libconftest.a conftest.o 2>&5 echo "$RANLIB libconftest.a" >&5 $RANLIB libconftest.a 2>&5 cat > conftest.c << _LT_EOF int main() { return 0;} _LT_EOF echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err _lt_result=$? if test -s conftest.err && $GREP force_load conftest.err; then cat conftest.err >&5 elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then lt_cv_ld_force_load=yes else cat conftest.err >&5 fi rm -f conftest.err libconftest.a conftest conftest.c rm -rf conftest.dSYM ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 printf "%s\n" "$lt_cv_ld_force_load" >&6; } case $host_os in rhapsody* | darwin1.[012]) _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; darwin*) case $MACOSX_DEPLOYMENT_TARGET,$host in 10.[012],*|,*powerpc*-darwin[5-8]*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; *) _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test yes = "$lt_cv_apple_cc_single_mod"; then _lt_dar_single_mod='$single_module' fi if test yes = "$lt_cv_ld_exported_symbols_list"; then _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' fi if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac # func_munge_path_list VARIABLE PATH # ----------------------------------- # VARIABLE is name of variable containing _space_ separated list of # directories to be munged by the contents of PATH, which is string # having a format: # "DIR[:DIR]:" # string "DIR[ DIR]" will be prepended to VARIABLE # ":DIR[:DIR]" # string "DIR[ DIR]" will be appended to VARIABLE # "DIRP[:DIRP]::[DIRA:]DIRA" # string "DIRP[ DIRP]" will be prepended to VARIABLE and string # "DIRA[ DIRA]" will be appended to VARIABLE # "DIR[:DIR]" # VARIABLE will be replaced by "DIR[ DIR]" func_munge_path_list () { case x$2 in x) ;; *:) eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" ;; x:*) eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" ;; *::*) eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" ;; *) eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" ;; esac } ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default " if test "x$ac_cv_header_dlfcn_h" = xyes then : printf "%s\n" "#define HAVE_DLFCN_H 1" >>confdefs.h fi func_stripname_cnf () { case $2 in .*) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%\\\\$2\$%%"`;; *) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%$2\$%%"`;; esac } # func_stripname_cnf # Set options enable_dlopen=no enable_win32_dll=no # Check whether --enable-shared was given. if test ${enable_shared+y} then : enableval=$enable_shared; p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS=$lt_save_ifs ;; esac else case e in #( e) enable_shared=yes ;; esac fi # Check whether --with-pic was given. if test ${with_pic+y} then : withval=$with_pic; lt_p=${PACKAGE-default} case $withval in yes|no) pic_mode=$withval ;; *) pic_mode=default # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for lt_pkg in $withval; do IFS=$lt_save_ifs if test "X$lt_pkg" = "X$lt_p"; then pic_mode=yes fi done IFS=$lt_save_ifs ;; esac else case e in #( e) pic_mode=default ;; esac fi # Check whether --enable-fast-install was given. if test ${enable_fast_install+y} then : enableval=$enable_fast_install; p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS=$lt_save_ifs ;; esac else case e in #( e) enable_fast_install=yes ;; esac fi shared_archive_member_spec= case $host,$enable_shared in power*-*-aix[5-9]*,yes) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 printf %s "checking which variant of shared library versioning to provide... " >&6; } # Check whether --with-aix-soname was given. if test ${with_aix_soname+y} then : withval=$with_aix_soname; case $withval in aix|svr4|both) ;; *) as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 ;; esac lt_cv_with_aix_soname=$with_aix_soname else case e in #( e) if test ${lt_cv_with_aix_soname+y} then : printf %s "(cached) " >&6 else case e in #( e) lt_cv_with_aix_soname=aix ;; esac fi with_aix_soname=$lt_cv_with_aix_soname ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 printf "%s\n" "$with_aix_soname" >&6; } if test aix != "$with_aix_soname"; then # For the AIX way of multilib, we name the shared archive member # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, # the AIX toolchain works better with OBJECT_MODE set (default 32). if test 64 = "${OBJECT_MODE-32}"; then shared_archive_member_spec=shr_64 else shared_archive_member_spec=shr fi fi ;; *) with_aix_soname=aix ;; esac # This can be used to rebuild libtool when needed LIBTOOL_DEPS=$ltmain # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' test -z "$LN_S" && LN_S="ln -s" if test -n "${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 printf %s "checking for objdir... " >&6; } if test ${lt_cv_objdir+y} then : printf %s "(cached) " >&6 else case e in #( e) rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 printf "%s\n" "$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir printf "%s\n" "#define LT_OBJDIR \"$lt_cv_objdir/\"" >>confdefs.h case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test set != "${COLLECT_NAMES+set}"; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a '.a' archive for static linking (except MSVC and # ICC, which need '.lib'). libext=a with_gnu_ld=$lt_cv_prog_gnu_ld old_CC=$CC old_CFLAGS=$CFLAGS # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o func_cc_basename $compiler cc_basename=$func_cc_basename_result # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 printf %s "checking for ${ac_tool_prefix}file... " >&6; } if test ${lt_cv_path_MAGIC_CMD+y} then : printf %s "(cached) " >&6 else case e in #( e) case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD=$MAGIC_CMD lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/${ac_tool_prefix}file"; then lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD=$lt_cv_path_MAGIC_CMD if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS=$lt_save_ifs MAGIC_CMD=$lt_save_MAGIC_CMD ;; esac ;; esac fi MAGIC_CMD=$lt_cv_path_MAGIC_CMD if test -n "$MAGIC_CMD"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 printf "%s\n" "$MAGIC_CMD" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for file" >&5 printf %s "checking for file... " >&6; } if test ${lt_cv_path_MAGIC_CMD+y} then : printf %s "(cached) " >&6 else case e in #( e) case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD=$MAGIC_CMD lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/file"; then lt_cv_path_MAGIC_CMD=$ac_dir/"file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD=$lt_cv_path_MAGIC_CMD if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS=$lt_save_ifs MAGIC_CMD=$lt_save_MAGIC_CMD ;; esac ;; esac fi MAGIC_CMD=$lt_cv_path_MAGIC_CMD if test -n "$MAGIC_CMD"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 printf "%s\n" "$MAGIC_CMD" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi else MAGIC_CMD=: fi fi fi ;; esac # Use C for the default configuration in the libtool script lt_save_CC=$CC ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o objext=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then lt_prog_compiler_no_builtin_flag= if test yes = "$GCC"; then case $cc_basename in nvcc*) lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; *) lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 printf %s "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } if test ${lt_cv_prog_compiler_rtti_exceptions+y} then : printf %s "(cached) " >&6 else case e in #( e) lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $RM conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 printf "%s\n" "$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl= lt_prog_compiler_pic= lt_prog_compiler_static= if test yes = "$GCC"; then lt_prog_compiler_wl='-Wl,' lt_prog_compiler_static='-static' case $host_os in aix*) # All AIX code is PIC. if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' fi lt_prog_compiler_pic='-fPIC' ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support lt_prog_compiler_pic='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the '-m68020' flag to GCC prevents building anything better, # like '-m68040'. lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic='-DDLL_EXPORT' case $host_os in os2*) lt_prog_compiler_static='$wl-static' ;; esac ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. lt_prog_compiler_static= ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) lt_prog_compiler_pic='-fPIC' ;; esac ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic=-Kconform_pic fi ;; *) lt_prog_compiler_pic='-fPIC' ;; esac case $cc_basename in nvcc*) # Cuda Compiler Driver 2.2 lt_prog_compiler_wl='-Xlinker ' if test -n "$lt_prog_compiler_pic"; then lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" fi ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl='-Wl,' if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' else lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' fi ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' case $cc_basename in nagfor*) # NAG Fortran compiler lt_prog_compiler_wl='-Wl,-Wl,,' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; esac ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic='-DDLL_EXPORT' case $host_os in os2*) lt_prog_compiler_static='$wl-static' ;; esac ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static='$wl-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static='-non_shared' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in # old Intel for x86_64, which still supported -KPIC. ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; # Lahey Fortran 8.1. lf95*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='--shared' lt_prog_compiler_static='--static' ;; nagfor*) # NAG Fortran compiler lt_prog_compiler_wl='-Wl,-Wl,,' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; tcc*) # Fabrice Bellard et al's Tiny C Compiler lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; ccc*) lt_prog_compiler_wl='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static='-non_shared' ;; xl* | bgxl* | bgf* | mpixl*) # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-qpic' lt_prog_compiler_static='-qstaticlink' ;; *) case `$CC -V 2>&1 | $SED 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='' ;; *Sun\ F* | *Sun*Fortran*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Qoption ld ' ;; *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Wl,' ;; *Intel*\ [CF]*Compiler*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; *Portland\ Group*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; esac ;; esac ;; newsos6) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static='-non_shared' ;; rdos*) lt_prog_compiler_static='-non_shared' ;; solaris*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl='-Qoption ld ' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic='-Kconform_pic' lt_prog_compiler_static='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; unicos*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_can_build_shared=no ;; uts4*) lt_prog_compiler_pic='-pic' lt_prog_compiler_static='-Bstatic' ;; *) lt_prog_compiler_can_build_shared=no ;; esac fi case $host_os in # For platforms that do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= ;; *) lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 printf %s "checking for $compiler option to produce PIC... " >&6; } if test ${lt_cv_prog_compiler_pic+y} then : printf %s "(cached) " >&6 else case e in #( e) lt_cv_prog_compiler_pic=$lt_prog_compiler_pic ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 printf "%s\n" "$lt_cv_prog_compiler_pic" >&6; } lt_prog_compiler_pic=$lt_cv_prog_compiler_pic # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } if test ${lt_cv_prog_compiler_pic_works+y} then : printf %s "(cached) " >&6 else case e in #( e) lt_cv_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_pic_works=yes fi fi $RM conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 printf "%s\n" "$lt_cv_prog_compiler_pic_works" >&6; } if test yes = "$lt_cv_prog_compiler_pic_works"; then case $lt_prog_compiler_pic in "" | " "*) ;; *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; esac else lt_prog_compiler_pic= lt_prog_compiler_can_build_shared=no fi fi # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if test ${lt_cv_prog_compiler_static_works+y} then : printf %s "(cached) " >&6 else case e in #( e) lt_cv_prog_compiler_static_works=no save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_static_works=yes fi else lt_cv_prog_compiler_static_works=yes fi fi $RM -r conftest* LDFLAGS=$save_LDFLAGS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 printf "%s\n" "$lt_cv_prog_compiler_static_works" >&6; } if test yes = "$lt_cv_prog_compiler_static_works"; then : else lt_prog_compiler_static= fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test ${lt_cv_prog_compiler_c_o+y} then : printf %s "(cached) " >&6 else case e in #( e) lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test ${lt_cv_prog_compiler_c_o+y} then : printf %s "(cached) " >&6 else case e in #( e) lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } hard_links=nottested if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then # do not overwrite the value of need_locks provided by the user { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 printf %s "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 printf "%s\n" "$hard_links" >&6; } if test no = "$hard_links"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 printf "%s\n" "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } runpath_var= allow_undefined_flag= always_export_symbols=no archive_cmds= archive_expsym_cmds= compiler_needs_object=no enable_shared_with_static_runtimes=no export_dynamic_flag_spec= export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' hardcode_automatic=no hardcode_direct=no hardcode_direct_absolute=no hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_minus_L=no hardcode_shlibpath_var=unsupported inherit_rpath=no link_all_deplibs=unknown module_cmds= module_expsym_cmds= old_archive_from_new_cmds= old_archive_from_expsyms_cmds= thread_safe_flag_spec= whole_archive_flag_spec= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list include_expsyms= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ' (' and ')$', so one must not match beginning or # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', # as well as any symbol that contains 'd'. exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++ or Intel C++ Compiler. if test yes != "$GCC"; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) with_gnu_ld=yes ;; openbsd* | bitrig*) with_gnu_ld=no ;; esac ld_shlibs=yes # On some targets, GNU ld is compatible enough with the native linker # that we're better off using the native interface for both. lt_use_gnu_ld_interface=no if test yes = "$with_gnu_ld"; then case $host_os in aix*) # The AIX port of GNU ld has always aspired to compatibility # with the native linker. However, as the warning in the GNU ld # block says, versions before 2.19.5* couldn't really create working # shared libraries, regardless of the interface used. case `$LD -v 2>&1` in *\ \(GNU\ Binutils\)\ 2.19.5*) ;; *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; *\ \(GNU\ Binutils\)\ [3-9]*) ;; *) lt_use_gnu_ld_interface=yes ;; esac ;; *) lt_use_gnu_ld_interface=yes ;; esac fi if test yes = "$lt_use_gnu_ld_interface"; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='$wl' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' export_dynamic_flag_spec='$wl--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' else whole_archive_flag_spec= fi supports_anon_versioning=no case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test ia64 != "$host_cpu"; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.19, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to install binutils *** 2.20 or above, or modify your PATH so that a non-GNU linker is found. *** You will then need to restart the configuration process. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then allow_undefined_flag=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' else ld_shlibs=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' export_dynamic_flag_spec='$wl--export-all-symbols' allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file, use it as # is; otherwise, prepend EXPORTS... archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs=no fi ;; haiku*) archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' link_all_deplibs=yes ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported shrext_cmds=.dll archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ prefix_cmds="$SED"~ if test EXPORTS = "`$SED 1q $export_symbols`"; then prefix_cmds="$prefix_cmds -e 1d"; fi~ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' enable_shared_with_static_runtimes=yes file_list_spec='@' ;; interix[3-9]*) hardcode_direct=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='$wl-rpath,$libdir' export_dynamic_flag_spec='$wl-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test linux-dietlibc = "$host_os"; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test no = "$tmp_diet" then tmp_addflag=' $pic_flag' tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group f77 and f90 compilers whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 whole_archive_flag_spec= tmp_sharedflag='--shared' ;; nagfor*) # NAGFOR 5.3 tmp_sharedflag='-Wl,-shared' ;; xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; nvcc*) # Cuda Compiler Driver 2.2 whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' compiler_needs_object=yes ;; esac case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' compiler_needs_object=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' if test yes = "$supports_anon_versioning"; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi case $cc_basename in tcc*) export_dynamic_flag_spec='-rdynamic' ;; xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test yes = "$supports_anon_versioning"; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else ld_shlibs=no fi ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac ;; sunos4*) archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct=yes hardcode_shlibpath_var=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac if test no = "$ld_shlibs"; then runpath_var= hardcode_libdir_flag_spec= export_dynamic_flag_spec= whole_archive_flag_spec= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag=unsupported always_export_symbols=yes archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix[4-9]*) if test ia64 = "$host_cpu"; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag= else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to GNU nm, but means don't demangle to AIX nm. # Without the "-l" option, or with the "-B" option, AIX nm treats # weak defined symbols like other global defined symbols, whereas # GNU nm marks them as "W". # While the 'weak' keyword is ignored in the Export File, we need # it in the Import File for the 'aix-soname' feature, so we have # to replace the "-B" option with "-P" for AIX nm. if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # have runtime linking enabled, and use it for executables. # For shared libraries, we enable/disable runtime linking # depending on the kind of the shared library created - # when "with_aix_soname,aix_use_runtimelinking" is: # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables # "aix,yes" lib.so shared, rtl:yes, for executables # lib.a static archive # "both,no" lib.so.V(shr.o) shared, rtl:yes # lib.a(lib.so.V) shared, rtl:no, for executables # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a(lib.so.V) shared, rtl:no # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a static archive case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then aix_use_runtimelinking=yes break fi done if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then # With aix-soname=svr4, we create the lib.so.V shared archives only, # so we don't have lib.a shared libs to link our executables. # We have to force runtime linking in this case. aix_use_runtimelinking=yes LDFLAGS="$LDFLAGS -Wl,-brtl" fi ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds='' hardcode_direct=yes hardcode_direct_absolute=yes hardcode_libdir_separator=':' link_all_deplibs=yes file_list_spec='$wl-f,' case $with_aix_soname,$aix_use_runtimelinking in aix,*) ;; # traditional, no import file svr4,* | *,yes) # use import file # The Import File defines what to hardcode. hardcode_direct=no hardcode_direct_absolute=no ;; esac if test yes = "$GCC"; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`$CC -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac shared_flag='-shared' if test yes = "$aix_use_runtimelinking"; then shared_flag="$shared_flag "'$wl-G' fi # Need to ensure runtime linking is disabled for the traditional # shared library, or the linker may eventually find shared libraries # /with/ Import File - we do not want to mix them. shared_flag_aix='-shared' shared_flag_svr4='-shared $wl-G' else # not using gcc if test ia64 = "$host_cpu"; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test yes = "$aix_use_runtimelinking"; then shared_flag='$wl-G' else shared_flag='$wl-bM:SRE' fi shared_flag_aix='$wl-bM:SRE' shared_flag_svr4='$wl-G' fi fi export_dynamic_flag_spec='$wl-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols=yes if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an # empty executable. if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else if test ${lt_cv_aix_libpath_+y} then : printf %s "(cached) " >&6 else case e in #( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=/usr/lib:/lib fi ;; esac fi aix_libpath=$lt_cv_aix_libpath_ fi hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag else if test ia64 = "$host_cpu"; then hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib' allow_undefined_flag="-z nodefs" archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else if test ${lt_cv_aix_libpath_+y} then : printf %s "(cached) " >&6 else case e in #( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=/usr/lib:/lib fi ;; esac fi aix_libpath=$lt_cv_aix_libpath_ fi hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag=' $wl-bernotok' allow_undefined_flag=' $wl-berok' if test yes = "$with_gnu_ld"; then # We only use this code for GNU lds that support --whole-archive. whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec='$convenience' fi archive_cmds_need_lc=yes archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' # -brtl affects multiple linker settings, -berok does not and is overridden later compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' if test svr4 != "$with_aix_soname"; then # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' fi if test aix != "$with_aix_soname"; then archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' else # used by -dlpreopen to get the symbols archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir' fi archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; bsdi[45]*) export_dynamic_flag_spec=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++ or Intel C++ Compiler. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in cl* | icl*) # Native MSVC or ICC hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported always_export_symbols=yes file_list_spec='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then cp "$export_symbols" "$output_objdir/$soname.def"; echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; else $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, )='true' enable_shared_with_static_runtimes=yes exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' # Don't use ranlib old_postinstall_cmds='chmod 644 $oldlib' postlink_cmds='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile=$lt_outputfile.exe lt_tool_outputfile=$lt_tool_outputfile.exe ;; esac~ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # Assume MSVC and ICC wrapper hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_from_new_cmds='true' # FIXME: Should let the user specify the lib program. old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' enable_shared_with_static_runtimes=yes ;; esac ;; darwin* | rhapsody*) archive_cmds_need_lc=no hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported if test yes = "$lt_cv_ld_force_load"; then whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' else whole_archive_flag_spec='' fi link_all_deplibs=yes allow_undefined_flag=$_lt_dar_allow_undefined case $cc_basename in ifort*|nagfor*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test yes = "$_lt_dar_can_shared"; then output_verbose_link_cmd=func_echo_all archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" archive_expsym_cmds="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" module_expsym_cmds="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" else ld_shlibs=no fi ;; dgux*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2.*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly* | midnightbsd*) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; hpux9*) if test yes = "$GCC"; then archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' else archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' fi hardcode_libdir_flag_spec='$wl+b $wl$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes export_dynamic_flag_spec='$wl-E' ;; hpux10*) if test yes,no = "$GCC,$with_gnu_ld"; then archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test no = "$with_gnu_ld"; then hardcode_libdir_flag_spec='$wl+b $wl$libdir' hardcode_libdir_separator=: hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='$wl-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test yes,no = "$GCC,$with_gnu_ld"; then case $host_cpu in hppa*64*) archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) # Older versions of the 11.00 compiler do not understand -b yet # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 printf %s "checking if $CC understands -b... " >&6; } if test ${lt_cv_prog_compiler__b+y} then : printf %s "(cached) " >&6 else case e in #( e) lt_cv_prog_compiler__b=no save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -b" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler__b=yes fi else lt_cv_prog_compiler__b=yes fi fi $RM -r conftest* LDFLAGS=$save_LDFLAGS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 printf "%s\n" "$lt_cv_prog_compiler__b" >&6; } if test yes = "$lt_cv_prog_compiler__b"; then archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi ;; esac fi if test no = "$with_gnu_ld"; then hardcode_libdir_flag_spec='$wl+b $wl$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_direct=no hardcode_shlibpath_var=no ;; *) hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='$wl-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test yes = "$GCC"; then archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. # This should be the same for all languages, so no per-tag cache variable. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 printf %s "checking whether the $host_os linker accepts -exported_symbol... " >&6; } if test ${lt_cv_irix_exported_symbol+y} then : printf %s "(cached) " >&6 else case e in #( e) save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int foo (void) { return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : lt_cv_irix_exported_symbol=yes else case e in #( e) lt_cv_irix_exported_symbol=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } if test yes = "$lt_cv_irix_exported_symbol"; then archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' fi else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' hardcode_libdir_separator=: inherit_rpath=yes link_all_deplibs=yes ;; linux*) case $cc_basename in tcc*) # Fabrice Bellard et al's Tiny C Compiler ld_shlibs=yes archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; newsos6) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' hardcode_libdir_separator=: hardcode_shlibpath_var=no ;; *nto* | *qnx*) ;; openbsd* | bitrig*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes hardcode_shlibpath_var=no hardcode_direct_absolute=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec='$wl-rpath,$libdir' export_dynamic_flag_spec='$wl-E' else archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='$wl-rpath,$libdir' fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported shrext_cmds=.dll archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ prefix_cmds="$SED"~ if test EXPORTS = "`$SED 1q $export_symbols`"; then prefix_cmds="$prefix_cmds -e 1d"; fi~ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' enable_shared_with_static_runtimes=yes file_list_spec='@' ;; osf3*) if test yes = "$GCC"; then allow_undefined_flag=' $wl-expect_unresolved $wl\*' archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test yes = "$GCC"; then allow_undefined_flag=' $wl-expect_unresolved $wl\*' archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi archive_cmds_need_lc='no' hardcode_libdir_separator=: ;; solaris*) no_undefined_flag=' -z defs' if test yes = "$GCC"; then wlarc='$wl' archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='$wl' archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands '-z linker_flag'. GCC discards it without '$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test yes = "$GCC"; then whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' else whole_archive_flag_spec='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs=yes ;; sunos4*) if test sequent = "$host_vendor"; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; sysv4) case $host_vendor in sni) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds='$CC -r -o $output$reload_objs' hardcode_direct=no ;; motorola) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; sysv4.3*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no export_dynamic_flag_spec='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag='$wl-z,text' archive_cmds_need_lc=no hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' if test yes = "$GCC"; then archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We CANNOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag='$wl-z,text' allow_undefined_flag='$wl-z,nodefs' archive_cmds_need_lc=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='$wl-R,$libdir' hardcode_libdir_separator=':' link_all_deplibs=yes export_dynamic_flag_spec='$wl-Bexport' runpath_var='LD_RUN_PATH' if test yes = "$GCC"; then archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; *) ld_shlibs=no ;; esac if test sni = "$host_vendor"; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) export_dynamic_flag_spec='$wl-Blargedynsym' ;; esac fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 printf "%s\n" "$ld_shlibs" >&6; } test no = "$ld_shlibs" && can_build_shared=no with_gnu_ld=$with_gnu_ld # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc" in x|xyes) # Assume -lc should be added archive_cmds_need_lc=yes if test yes,yes = "$GCC,$enable_shared"; then case $archive_cmds in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 printf %s "checking whether -lc should be explicitly linked in... " >&6; } if test ${lt_cv_archive_cmds_need_lc+y} then : printf %s "(cached) " >&6 else case e in #( e) $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl pic_flag=$lt_prog_compiler_pic compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag allow_undefined_flag= if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then lt_cv_archive_cmds_need_lc=no else lt_cv_archive_cmds_need_lc=yes fi allow_undefined_flag=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 printf "%s\n" "$lt_cv_archive_cmds_need_lc" >&6; } archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc ;; esac fi ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 printf %s "checking dynamic linker characteristics... " >&6; } if test yes = "$GCC"; then case $host_os in darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; *) lt_awk_arg='/^libraries:/' ;; esac case $host_os in mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; *) lt_sed_strip_eq='s|=/|/|g' ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` case $lt_search_path_spec in *\;*) # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` ;; *) lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` ;; esac # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary... lt_tmp_lt_search_path_spec= lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` # ...but if some path component already ends with the multilib dir we assume # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). case "$lt_multi_os_dir; $lt_search_path_spec " in "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) lt_multi_os_dir= ;; esac for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" elif test -n "$lt_multi_os_dir"; then test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' BEGIN {RS = " "; FS = "/|\n";} { lt_foo = ""; lt_count = 0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo = "/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[lt_foo]++; } if (lt_freq[lt_foo] == 1) { print lt_foo; } }'` # AWK program above erroneously prepends '/' to C:/dos/paths # for these hosts. case $host_os in mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ $SED 's|/\([A-Za-z]:\)|\1|g'` ;; esac sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=.so postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='$libname$release$shared_ext$major' ;; aix[4-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes if test ia64 = "$host_cpu"; then # AIX 5 supports IA64 library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line '#! .'. This would cause the generated library to # depend on '.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # Using Import Files as archive members, it is possible to support # filename-based versioning of shared library archives on AIX. While # this would work for both with and without runtime linking, it will # prevent static linking of such archives. So we do filename-based # shared library versioning with .so extension only, which is used # when both runtime linking and shared linking is enabled. # Unfortunately, runtime linking may impact performance, so we do # not want this to be the default eventually. Also, we use the # versioned .so libs for executables only if there is the -brtl # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. # To allow for filename-based versioning support, we need to create # libNAME.so.V as an archive file, containing: # *) an Import File, referring to the versioned filename of the # archive as well as the shared archive member, telling the # bitwidth (32 or 64) of that shared object, and providing the # list of exported symbols of that shared object, eventually # decorated with the 'weak' keyword # *) the shared object with the F_LOADONLY flag set, to really avoid # it being seen by the linker. # At run time we better use the real file rather than another symlink, # but for link time we create the symlink libNAME.so -> libNAME.so.V case $with_aix_soname,$aix_use_runtimelinking in # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. aix,yes) # traditional libtool dynamic_linker='AIX unversionable lib.so' # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ;; aix,no) # traditional AIX only dynamic_linker='AIX lib.a(lib.so.V)' # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='$libname$release.a $libname.a' soname_spec='$libname$release$shared_ext$major' ;; svr4,*) # full svr4 only dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' # We do not specify a path in Import Files, so LIBPATH fires. shlibpath_overrides_runpath=yes ;; *,yes) # both, prefer svr4 dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' # unpreferred sharedlib libNAME.a needs extra handling postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' # We do not specify a path in Import Files, so LIBPATH fires. shlibpath_overrides_runpath=yes ;; *,no) # both, prefer aix dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" library_names_spec='$libname$release.a $libname.a' soname_spec='$libname$release$shared_ext$major' # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' ;; esac shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='$libname$shared_ext' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=.dll need_version=no need_lib_prefix=no case $GCC,$cc_basename in yes,*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; esac dynamic_linker='Win32 ld.exe' ;; *,cl* | *,icl*) # Native MSVC or ICC libname_spec='$name' soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' library_names_spec='$libname.dll.lib' case $build_os in mingw*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' for lt_path in $LIB do IFS=$lt_save_ifs # Let DOS variable expansion print the short 8.3 style file name. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" done IFS=$lt_save_ifs # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) sys_lib_search_path_spec=$LIB if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # FIXME: find the short name or the path components, as spaces are # common. (e.g. "Program Files" -> "PROGRA~1") ;; esac # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes dynamic_linker='Win32 link.exe' ;; *) # Assume MSVC and ICC wrapper library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' soname_spec='$libname$release$major$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd* | dragonfly* | midnightbsd*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[23].*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=no sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' if test 32 = "$HPUX_IA64_MODE"; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" sys_lib_dlsearch_path_spec=/usr/lib/hpux32 else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" sys_lib_dlsearch_path_spec=/usr/lib/hpux64 fi ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[3-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test yes = "$lt_cv_prog_gnu_ld"; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='$libname$release$shared_ext$major' library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; linux*android*) version_type=none # Android doesn't support versioned libraries. need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext' soname_spec='$libname$release$shared_ext' finish_cmds= shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes dynamic_linker='Android linker' # Don't embed -rpath directories since the linker doesn't support them. hardcode_libdir_flag_spec='-L$libdir' ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH if test ${lt_cv_shlibpath_overrides_runpath+y} then : printf %s "(cached) " >&6 else case e in #( e) lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null then : lt_cv_shlibpath_overrides_runpath=yes fi fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir ;; esac fi shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Add ABI-specific directories to the system library path. sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" # Ideally, we could use ldconfig to report *all* directores which are # searched for libraries, however this is still not possible. Aside from not # being certain /sbin/ldconfig is available, command # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, # even though it is searched at run-time. Try to do the best guess by # appending ld.so.conf contents (and includes) to the search path. if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd* | bitrig*) version_type=sunos sys_lib_dlsearch_path_spec=/usr/lib need_lib_prefix=no if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then need_version=no else need_version=yes fi library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; os2*) libname_spec='$name' version_type=windows shrext_cmds=.dll need_version=no need_lib_prefix=no # OS/2 can only load a DLL with a base name of 8 characters or less. soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; v=$($ECHO $release$versuffix | tr -d .-); n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); $ECHO $n$v`$shared_ext' library_names_spec='${libname}_dll.$libext' dynamic_linker='OS/2 ld.exe' shlibpath_var=BEGINLIBPATH sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='$libname$release$shared_ext$major' library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test yes = "$with_gnu_ld"; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec; then version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' soname_spec='$libname$shared_ext.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=sco need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test yes = "$with_gnu_ld"; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 printf "%s\n" "$dynamic_linker" >&6; } test no = "$dynamic_linker" && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test yes = "$GCC"; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec fi if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec fi # remember unaugmented sys_lib_dlsearch_path content for libtool script decls... configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" # to be used as default LT_SYS_LIBRARY_PATH value in generated libtool configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 printf %s "checking how to hardcode library paths into programs... " >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || test -n "$runpath_var" || test yes = "$hardcode_automatic"; then # We can hardcode non-existent directories. if test no != "$hardcode_direct" && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && test no != "$hardcode_minus_L"; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action=unsupported fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 printf "%s\n" "$hardcode_action" >&6; } if test relink = "$hardcode_action" || test yes = "$inherit_rpath"; then # Fast installation is not supported enable_fast_install=no elif test yes = "$shlibpath_overrides_runpath" || test no = "$enable_shared"; then # Fast installation is not necessary enable_fast_install=needless fi if test yes != "$enable_dlopen"; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen=load_add_on lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen=LoadLibrary lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen=dlopen lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 printf %s "checking for dlopen in -ldl... " >&6; } if test ${ac_cv_lib_dl_dlopen+y} then : printf %s "(cached) " >&6 else case e in #( e) ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. The 'extern "C"' is for builds by C++ compilers; although this is not generally supported in C code supporting it here has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif char dlopen (void); int main (void) { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_dl_dlopen=yes else case e in #( e) ac_cv_lib_dl_dlopen=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes then : lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl else case e in #( e) lt_cv_dlopen=dyld lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; esac fi ;; tpf*) # Don't try to run any link tests for TPF. We know it's impossible # because TPF is a cross-compiler, and we know how we open DSOs. lt_cv_dlopen=dlopen lt_cv_dlopen_libs= lt_cv_dlopen_self=no ;; *) ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" if test "x$ac_cv_func_shl_load" = xyes then : lt_cv_dlopen=shl_load else case e in #( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 printf %s "checking for shl_load in -ldld... " >&6; } if test ${ac_cv_lib_dld_shl_load+y} then : printf %s "(cached) " >&6 else case e in #( e) ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. The 'extern "C"' is for builds by C++ compilers; although this is not generally supported in C code supporting it here has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif char shl_load (void); int main (void) { return shl_load (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_dld_shl_load=yes else case e in #( e) ac_cv_lib_dld_shl_load=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 printf "%s\n" "$ac_cv_lib_dld_shl_load" >&6; } if test "x$ac_cv_lib_dld_shl_load" = xyes then : lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld else case e in #( e) ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" if test "x$ac_cv_func_dlopen" = xyes then : lt_cv_dlopen=dlopen else case e in #( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 printf %s "checking for dlopen in -ldl... " >&6; } if test ${ac_cv_lib_dl_dlopen+y} then : printf %s "(cached) " >&6 else case e in #( e) ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. The 'extern "C"' is for builds by C++ compilers; although this is not generally supported in C code supporting it here has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif char dlopen (void); int main (void) { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_dl_dlopen=yes else case e in #( e) ac_cv_lib_dl_dlopen=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes then : lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl else case e in #( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 printf %s "checking for dlopen in -lsvld... " >&6; } if test ${ac_cv_lib_svld_dlopen+y} then : printf %s "(cached) " >&6 else case e in #( e) ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. The 'extern "C"' is for builds by C++ compilers; although this is not generally supported in C code supporting it here has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif char dlopen (void); int main (void) { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_svld_dlopen=yes else case e in #( e) ac_cv_lib_svld_dlopen=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 printf "%s\n" "$ac_cv_lib_svld_dlopen" >&6; } if test "x$ac_cv_lib_svld_dlopen" = xyes then : lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld else case e in #( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 printf %s "checking for dld_link in -ldld... " >&6; } if test ${ac_cv_lib_dld_dld_link+y} then : printf %s "(cached) " >&6 else case e in #( e) ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. The 'extern "C"' is for builds by C++ compilers; although this is not generally supported in C code supporting it here has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif char dld_link (void); int main (void) { return dld_link (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_dld_dld_link=yes else case e in #( e) ac_cv_lib_dld_dld_link=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 printf "%s\n" "$ac_cv_lib_dld_dld_link" >&6; } if test "x$ac_cv_lib_dld_dld_link" = xyes then : lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld fi ;; esac fi ;; esac fi ;; esac fi ;; esac fi ;; esac fi ;; esac if test no = "$lt_cv_dlopen"; then enable_dlopen=no else enable_dlopen=yes fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS=$CPPFLAGS test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS=$LDFLAGS wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS=$LIBS LIBS="$lt_cv_dlopen_libs $LIBS" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 printf %s "checking whether a program can dlopen itself... " >&6; } if test ${lt_cv_dlopen_self+y} then : printf %s "(cached) " >&6 else case e in #( e) if test yes = "$cross_compiling"; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisibility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; esac else : # compilation failed lt_cv_dlopen_self=no fi fi rm -fr conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 printf "%s\n" "$lt_cv_dlopen_self" >&6; } if test yes = "$lt_cv_dlopen_self"; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 printf %s "checking whether a statically linked program can dlopen itself... " >&6; } if test ${lt_cv_dlopen_self_static+y} then : printf %s "(cached) " >&6 else case e in #( e) if test yes = "$cross_compiling"; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisibility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; esac else : # compilation failed lt_cv_dlopen_self_static=no fi fi rm -fr conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 printf "%s\n" "$lt_cv_dlopen_self_static" >&6; } fi CPPFLAGS=$save_CPPFLAGS LDFLAGS=$save_LDFLAGS LIBS=$save_LIBS ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi striplib= old_striplib= { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 printf %s "checking whether stripping libraries is possible... " >&6; } if test -z "$STRIP"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } else if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then old_striplib="$STRIP --strip-debug" striplib="$STRIP --strip-unneeded" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else case $host_os in darwin*) # FIXME - insert some real tests, host_os isn't really good enough striplib="$STRIP -x" old_striplib="$STRIP -S" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } ;; freebsd*) if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then old_striplib="$STRIP --strip-debug" striplib="$STRIP --strip-unneeded" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi ;; *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi fi # Report what library types will actually be built { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 printf %s "checking if libtool supports shared libraries... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 printf "%s\n" "$can_build_shared" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 printf %s "checking whether to build shared libraries... " >&6; } test no = "$can_build_shared" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test yes = "$enable_shared" && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[4-9]*) if test ia64 != "$host_cpu"; then case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in yes,aix,yes) ;; # shared object as lib.so file only yes,svr4,*) ;; # shared object as lib.so archive member only yes,*) enable_static=no ;; # shared object in lib.a archive as well esac fi ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 printf "%s\n" "$enable_shared" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 printf %s "checking whether to build static libraries... " >&6; } # Make sure either enable_shared or enable_static is yes. test yes = "$enable_shared" || enable_static=yes { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 printf "%s\n" "$enable_static" >&6; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC=$lt_save_CC if test -n "$CXX" && ( test no != "$CXX" && ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || (test g++ != "$CXX"))); then ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 printf %s "checking how to run the C++ preprocessor... " >&6; } if test -z "$CXXCPP"; then if test ${ac_cv_prog_CXXCPP+y} then : printf %s "(cached) " >&6 else case e in #( e) # Double quotes because $CXX needs to be expanded for CXXCPP in "$CXX -E" cpp /lib/cpp do ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include Syntax error _ACEOF if ac_fn_cxx_try_cpp "$LINENO" then : else case e in #( e) # Broken: fails on valid input. continue ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_cxx_try_cpp "$LINENO" then : # Broken: success on invalid input. continue else case e in #( e) # Passes both tests. ac_preproc_ok=: break ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of 'break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok then : break fi done ac_cv_prog_CXXCPP=$CXXCPP ;; esac fi CXXCPP=$ac_cv_prog_CXXCPP else ac_cv_prog_CXXCPP=$CXXCPP fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 printf "%s\n" "$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include Syntax error _ACEOF if ac_fn_cxx_try_cpp "$LINENO" then : else case e in #( e) # Broken: fails on valid input. continue ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_cxx_try_cpp "$LINENO" then : # Broken: success on invalid input. continue else case e in #( e) # Passes both tests. ac_preproc_ok=: break ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of 'break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok then : else case e in #( e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check See 'config.log' for more details" "$LINENO" 5; } ;; esac fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu else _lt_caught_CXX_error=yes fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu archive_cmds_need_lc_CXX=no allow_undefined_flag_CXX= always_export_symbols_CXX=no archive_expsym_cmds_CXX= compiler_needs_object_CXX=no export_dynamic_flag_spec_CXX= hardcode_direct_CXX=no hardcode_direct_absolute_CXX=no hardcode_libdir_flag_spec_CXX= hardcode_libdir_separator_CXX= hardcode_minus_L_CXX=no hardcode_shlibpath_var_CXX=unsupported hardcode_automatic_CXX=no inherit_rpath_CXX=no module_cmds_CXX= module_expsym_cmds_CXX= link_all_deplibs_CXX=unknown old_archive_cmds_CXX=$old_archive_cmds reload_flag_CXX=$reload_flag reload_cmds_CXX=$reload_cmds no_undefined_flag_CXX= whole_archive_flag_spec_CXX= enable_shared_with_static_runtimes_CXX=no # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o objext_CXX=$objext # No sense in running all these tests if we already determined that # the CXX compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test yes != "$_lt_caught_CXX_error"; then # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_LD=$LD lt_save_GCC=$GCC GCC=$GXX lt_save_with_gnu_ld=$with_gnu_ld lt_save_path_LD=$lt_cv_path_LD if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else $as_unset lt_cv_prog_gnu_ld fi if test -n "${lt_cv_path_LDCXX+set}"; then lt_cv_path_LD=$lt_cv_path_LDCXX else $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} CFLAGS=$CXXFLAGS compiler=$CC compiler_CXX=$CC func_cc_basename $compiler cc_basename=$func_cc_basename_result if test -n "$compiler"; then # We don't want -fno-exception when compiling C++ code, so set the # no_builtin_flag separately if test yes = "$GXX"; then lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' else lt_prog_compiler_no_builtin_flag_CXX= fi if test yes = "$GXX"; then # Set up default GNU C++ configuration # Check whether --with-gnu-ld was given. if test ${with_gnu_ld+y} then : withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes else case e in #( e) with_gnu_ld=no ;; esac fi ac_prog=ld if test yes = "$GCC"; then # Check if gcc -print-prog-name=ld gives a path. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 printf %s "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return, which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD=$ac_prog ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test yes = "$with_gnu_ld"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 printf %s "checking for GNU ld... " >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 printf %s "checking for non-GNU ld... " >&6; } fi if test ${lt_cv_path_LD+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -z "$LD"; then lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD=$ac_dir/$ac_prog # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 printf "%s\n" "$LD" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 printf %s "checking if the linker ($LD) is GNU ld... " >&6; } if test ${lt_cv_prog_gnu_ld+y} then : printf %s "(cached) " >&6 else case e in #( e) # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 printf "%s\n" "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test yes = "$with_gnu_ld"; then archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' export_dynamic_flag_spec_CXX='$wl--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) wlarc='$wl' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | $GREP 'no-whole-archive' > /dev/null; then whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' else whole_archive_flag_spec_CXX= fi else with_gnu_ld=no wlarc= # A generic and very simple default shared library creation # command for GNU C++ for the case where it uses the native # linker, instead of GNU ld. If possible, this setting should # overridden to take advantage of the native linker features on # the platform it is being used on. archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else GXX=no with_gnu_ld=no wlarc= fi # PORTME: fill in a description of your system's C++ link characteristics { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } ld_shlibs_CXX=yes case $host_os in aix3*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aix[4-9]*) if test ia64 = "$host_cpu"; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag= else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # have runtime linking enabled, and use it for executables. # For shared libraries, we enable/disable runtime linking # depending on the kind of the shared library created - # when "with_aix_soname,aix_use_runtimelinking" is: # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables # "aix,yes" lib.so shared, rtl:yes, for executables # lib.a static archive # "both,no" lib.so.V(shr.o) shared, rtl:yes # lib.a(lib.so.V) shared, rtl:no, for executables # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a(lib.so.V) shared, rtl:no # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a static archive case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then # With aix-soname=svr4, we create the lib.so.V shared archives only, # so we don't have lib.a shared libs to link our executables. # We have to force runtime linking in this case. aix_use_runtimelinking=yes LDFLAGS="$LDFLAGS -Wl,-brtl" fi ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds_CXX='' hardcode_direct_CXX=yes hardcode_direct_absolute_CXX=yes hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes file_list_spec_CXX='$wl-f,' case $with_aix_soname,$aix_use_runtimelinking in aix,*) ;; # no import file svr4,* | *,yes) # use import file # The Import File defines what to hardcode. hardcode_direct_CXX=no hardcode_direct_absolute_CXX=no ;; esac if test yes = "$GXX"; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`$CC -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct_CXX=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L_CXX=yes hardcode_libdir_flag_spec_CXX='-L$libdir' hardcode_libdir_separator_CXX= fi esac shared_flag='-shared' if test yes = "$aix_use_runtimelinking"; then shared_flag=$shared_flag' $wl-G' fi # Need to ensure runtime linking is disabled for the traditional # shared library, or the linker may eventually find shared libraries # /with/ Import File - we do not want to mix them. shared_flag_aix='-shared' shared_flag_svr4='-shared $wl-G' else # not using gcc if test ia64 = "$host_cpu"; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test yes = "$aix_use_runtimelinking"; then shared_flag='$wl-G' else shared_flag='$wl-bM:SRE' fi shared_flag_aix='$wl-bM:SRE' shared_flag_svr4='$wl-G' fi fi export_dynamic_flag_spec_CXX='$wl-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to # export. always_export_symbols_CXX=yes if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. # The "-G" linker flag allows undefined symbols. no_undefined_flag_CXX='-bernotok' # Determine the default libpath from the value encoded in an empty # executable. if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else if test ${lt_cv_aix_libpath__CXX+y} then : printf %s "(cached) " >&6 else case e in #( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO" then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath__CXX"; then lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath__CXX"; then lt_cv_aix_libpath__CXX=/usr/lib:/lib fi ;; esac fi aix_libpath=$lt_cv_aix_libpath__CXX fi hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag else if test ia64 = "$host_cpu"; then hardcode_libdir_flag_spec_CXX='$wl-R $libdir:/usr/lib:/lib' allow_undefined_flag_CXX="-z nodefs" archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else if test ${lt_cv_aix_libpath__CXX+y} then : printf %s "(cached) " >&6 else case e in #( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO" then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath__CXX"; then lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath__CXX"; then lt_cv_aix_libpath__CXX=/usr/lib:/lib fi ;; esac fi aix_libpath=$lt_cv_aix_libpath__CXX fi hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag_CXX=' $wl-bernotok' allow_undefined_flag_CXX=' $wl-berok' if test yes = "$with_gnu_ld"; then # We only use this code for GNU lds that support --whole-archive. whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_CXX='$convenience' fi archive_cmds_need_lc_CXX=yes archive_expsym_cmds_CXX='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' # -brtl affects multiple linker settings, -berok does not and is overridden later compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' if test svr4 != "$with_aix_soname"; then # This is similar to how AIX traditionally builds its shared # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' fi if test aix != "$with_aix_soname"; then archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' else # used by -dlpreopen to get the symbols archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$MV $output_objdir/$realname.d/$soname $output_objdir' fi archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$RM -r $output_objdir/$realname.d' fi fi ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_CXX=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' else ld_shlibs_CXX=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; cygwin* | mingw* | pw32* | cegcc*) case $GXX,$cc_basename in ,cl* | no,cl* | ,icl* | no,icl*) # Native MSVC or ICC # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec_CXX=' ' allow_undefined_flag_CXX=unsupported always_export_symbols_CXX=yes file_list_spec_CXX='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then cp "$export_symbols" "$output_objdir/$soname.def"; echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; else $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true' enable_shared_with_static_runtimes_CXX=yes # Don't use ranlib old_postinstall_cmds_CXX='chmod 644 $oldlib' postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile=$lt_outputfile.exe lt_tool_outputfile=$lt_tool_outputfile.exe ;; esac~ func_to_tool_file "$lt_outputfile"~ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # g++ # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_CXX='-L$libdir' export_dynamic_flag_spec_CXX='$wl--export-all-symbols' allow_undefined_flag_CXX=unsupported always_export_symbols_CXX=no enable_shared_with_static_runtimes_CXX=yes if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file, use it as # is; otherwise, prepend EXPORTS... archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_CXX=no fi ;; esac ;; darwin* | rhapsody*) archive_cmds_need_lc_CXX=no hardcode_direct_CXX=no hardcode_automatic_CXX=yes hardcode_shlibpath_var_CXX=unsupported if test yes = "$lt_cv_ld_force_load"; then whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' else whole_archive_flag_spec_CXX='' fi link_all_deplibs_CXX=yes allow_undefined_flag_CXX=$_lt_dar_allow_undefined case $cc_basename in ifort*|nagfor*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test yes = "$_lt_dar_can_shared"; then output_verbose_link_cmd=func_echo_all archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" archive_expsym_cmds_CXX="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" module_expsym_cmds_CXX="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" if test yes != "$lt_cv_apple_cc_single_mod"; then archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil" archive_expsym_cmds_CXX="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" fi else ld_shlibs_CXX=no fi ;; os2*) hardcode_libdir_flag_spec_CXX='-L$libdir' hardcode_minus_L_CXX=yes allow_undefined_flag_CXX=unsupported shrext_cmds=.dll archive_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' archive_expsym_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ prefix_cmds="$SED"~ if test EXPORTS = "`$SED 1q $export_symbols`"; then prefix_cmds="$prefix_cmds -e 1d"; fi~ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' enable_shared_with_static_runtimes_CXX=yes file_list_spec_CXX='@' ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; freebsd2.*) # C++ shared libraries reported to be fairly broken before # switch to ELF ld_shlibs_CXX=no ;; freebsd-elf*) archive_cmds_need_lc_CXX=no ;; freebsd* | dragonfly* | midnightbsd*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions ld_shlibs_CXX=yes ;; haiku*) archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' link_all_deplibs_CXX=yes ;; hpux9*) hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' hardcode_libdir_separator_CXX=: export_dynamic_flag_spec_CXX='$wl-E' hardcode_direct_CXX=yes hardcode_minus_L_CXX=yes # Not in the search PATH, # but as the default # location of the library. case $cc_basename in CC*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aCC*) archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; hpux10*|hpux11*) if test no = "$with_gnu_ld"; then hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' hardcode_libdir_separator_CXX=: case $host_cpu in hppa*64*|ia64*) ;; *) export_dynamic_flag_spec_CXX='$wl-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no ;; *) hardcode_direct_CXX=yes hardcode_direct_absolute_CXX=yes hardcode_minus_L_CXX=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aCC*) case $host_cpu in hppa*64*) archive_cmds_CXX='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then if test no = "$with_gnu_ld"; then case $host_cpu in hppa*64*) archive_cmds_CXX='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; interix[3-9]*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' export_dynamic_flag_spec_CXX='$wl-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_CXX='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test yes = "$GXX"; then if test no = "$with_gnu_ld"; then archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' else archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib' fi fi link_all_deplibs_CXX=yes ;; esac hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' hardcode_libdir_separator_CXX=: inherit_rpath_CXX=yes ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' export_dynamic_flag_spec_CXX='$wl--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc* | ecpc* ) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; esac archive_cmds_need_lc_CXX=no hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' export_dynamic_flag_spec_CXX='$wl--export-dynamic' whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' ;; pgCC* | pgcpp*) # Portland Group C++ compiler case `$CC -V` in *pgCC\ [1-5].* | *pgcpp\ [1-5].*) prelink_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' old_archive_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ $RANLIB $oldlib' archive_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 6 and above use weak symbols archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; esac hardcode_libdir_flag_spec_CXX='$wl--rpath $wl$libdir' export_dynamic_flag_spec_CXX='$wl--export-dynamic' whole_archive_flag_spec_CXX='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' ;; cxx*) # Compaq C++ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_CXX='-rpath $libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' ;; xl* | mpixl* | bgxl*) # IBM XL 8.0 on PPC, with GNU ld hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' export_dynamic_flag_spec_CXX='$wl--export-dynamic' archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' if test yes = "$supports_anon_versioning"; then archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi ;; *) case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C++ 5.9 no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' hardcode_libdir_flag_spec_CXX='-R$libdir' whole_archive_flag_spec_CXX='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' compiler_needs_object_CXX=yes # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; m88k*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; *nto* | *qnx*) ld_shlibs_CXX=yes ;; openbsd* | bitrig*) if test -f /usr/libexec/ld.so; then hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no hardcode_direct_absolute_CXX=yes archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' export_dynamic_flag_spec_CXX='$wl-E' whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' fi output_verbose_link_cmd=func_echo_all else ld_shlibs_CXX=no fi ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' hardcode_libdir_separator_CXX=: # Archives containing C++ object files must be created using # the KAI C++ compiler. case $host in osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; esac ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; cxx*) case $host in osf3*) allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' ;; *) allow_undefined_flag_CXX=' -expect_unresolved \*' archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~ $RM $lib.exp' hardcode_libdir_flag_spec_CXX='-rpath $libdir' ;; esac hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes,no = "$GXX,$with_gnu_ld"; then allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' case $host in osf3*) archive_cmds_CXX='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' ;; *) archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' ;; esac hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ archive_cmds_need_lc_CXX=yes no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_shlibpath_var_CXX=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands '-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' ;; esac link_all_deplibs_CXX=yes output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test yes,no = "$GXX,$with_gnu_ld"; then no_undefined_flag_CXX=' $wl-z ${wl}defs' if $CC --version | $GREP -v '^2\.7' > /dev/null; then archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else # g++ 2.7 appears to require '-G' NOT '-shared' on this # platform. archive_cmds_CXX='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' fi hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir' case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_CXX='$wl-z,text' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We CANNOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag_CXX='$wl-z,text' allow_undefined_flag_CXX='$wl-z,nodefs' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='$wl-R,$libdir' hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes export_dynamic_flag_spec_CXX='$wl-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~ '"$old_archive_cmds_CXX" reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~ '"$reload_cmds_CXX" ;; *) archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 printf "%s\n" "$ld_shlibs_CXX" >&6; } test no = "$ld_shlibs_CXX" && can_build_shared=no GCC_CXX=$GXX LD_CXX=$LD ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... # Dependencies to place before and after the object being linked: predep_objects_CXX= postdep_objects_CXX= predeps_CXX= postdeps_CXX= compiler_lib_search_path_CXX= cat > conftest.$ac_ext <<_LT_EOF class Foo { public: Foo (void) { a = 0; } private: int a; }; _LT_EOF _lt_libdeps_save_CFLAGS=$CFLAGS case "$CC $CFLAGS " in #( *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; esac if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # Parse the compiler output and extract the necessary # objects, libraries and library flags. # Sentinel used to keep track of whether or not we are before # the conftest object file. pre_test_object_deps_done=no for p in `eval "$output_verbose_link_cmd"`; do case $prev$p in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test x-L = "$p" || test x-R = "$p"; then prev=$p continue fi # Expand the sysroot to ease extracting the directories later. if test -z "$prev"; then case $p in -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; esac fi case $p in =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; esac if test no = "$pre_test_object_deps_done"; then case $prev in -L | -R) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$compiler_lib_search_path_CXX"; then compiler_lib_search_path_CXX=$prev$p else compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} $prev$p" fi ;; # The "-l" case would never come before the object being # linked, so don't bother handling this case. esac else if test -z "$postdeps_CXX"; then postdeps_CXX=$prev$p else postdeps_CXX="${postdeps_CXX} $prev$p" fi fi prev= ;; *.lto.$objext) ;; # Ignore GCC LTO objects *.$objext) # This assumes that the test object file only shows up # once in the compiler output. if test "$p" = "conftest.$objext"; then pre_test_object_deps_done=yes continue fi if test no = "$pre_test_object_deps_done"; then if test -z "$predep_objects_CXX"; then predep_objects_CXX=$p else predep_objects_CXX="$predep_objects_CXX $p" fi else if test -z "$postdep_objects_CXX"; then postdep_objects_CXX=$p else postdep_objects_CXX="$postdep_objects_CXX $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling CXX test program" fi $RM -f confest.$objext CFLAGS=$_lt_libdeps_save_CFLAGS # PORTME: override above test on systems where it is broken case $host_os in interix[3-9]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. predep_objects_CXX= postdep_objects_CXX= postdeps_CXX= ;; esac case " $postdeps_CXX " in *" -lc "*) archive_cmds_need_lc_CXX=no ;; esac compiler_lib_search_dirs_CXX= if test -n "${compiler_lib_search_path_CXX}"; then compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | $SED -e 's! -L! !g' -e 's!^ !!'` fi lt_prog_compiler_wl_CXX= lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX= # C++ specific cases for pic, static, wl, etc. if test yes = "$GXX"; then lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-static' case $host_os in aix*) # All AIX code is PIC. if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-Bstatic' fi lt_prog_compiler_pic_CXX='-fPIC' ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support lt_prog_compiler_pic_CXX='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the '-m68020' flag to GCC prevents building anything better, # like '-m68040'. lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_CXX='-DDLL_EXPORT' case $host_os in os2*) lt_prog_compiler_static_CXX='$wl-static' ;; esac ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_CXX='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all lt_prog_compiler_pic_CXX= ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. lt_prog_compiler_static_CXX= ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_CXX=-Kconform_pic fi ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) ;; *) lt_prog_compiler_pic_CXX='-fPIC' ;; esac ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic_CXX='-fPIC -shared' ;; *) lt_prog_compiler_pic_CXX='-fPIC' ;; esac else case $host_os in aix[4-9]*) # All AIX code is PIC. if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-Bstatic' else lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic_CXX='-DDLL_EXPORT' ;; dgux*) case $cc_basename in ec++*) lt_prog_compiler_pic_CXX='-KPIC' ;; ghcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; freebsd* | dragonfly* | midnightbsd*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='$wl-a ${wl}archive' if test ia64 != "$host_cpu"; then lt_prog_compiler_pic_CXX='+Z' fi ;; aCC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='$wl-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic_CXX='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in KCC*) # KAI C++ Compiler lt_prog_compiler_wl_CXX='--backend -Wl,' lt_prog_compiler_pic_CXX='-fPIC' ;; ecpc* ) # old Intel C++ for x86_64, which still supported -KPIC. lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-static' ;; icpc* ) # Intel C++, used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-fPIC' lt_prog_compiler_static_CXX='-static' ;; pgCC* | pgcpp*) # Portland Group C++ compiler lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-fpic' lt_prog_compiler_static_CXX='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; xlc* | xlC* | bgxl[cC]* | mpixl[cC]*) # IBM XL 8.0, 9.0 on PPC and BlueGene lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-qpic' lt_prog_compiler_static_CXX='-qstaticlink' ;; *) case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C++ 5.9 lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) lt_prog_compiler_pic_CXX='-W c,exportall' ;; *) ;; esac ;; netbsd*) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic_CXX='-fPIC -shared' ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) lt_prog_compiler_wl_CXX='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 lt_prog_compiler_pic_CXX='-pic' ;; cxx*) # Digital/Compaq C++ lt_prog_compiler_wl_CXX='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x lt_prog_compiler_pic_CXX='-pic' lt_prog_compiler_static_CXX='-Bstatic' ;; lcc*) # Lucid lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 lt_prog_compiler_pic_CXX='-KPIC' ;; *) ;; esac ;; vxworks*) ;; *) lt_prog_compiler_can_build_shared_CXX=no ;; esac fi case $host_os in # For platforms that do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_CXX= ;; *) lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 printf %s "checking for $compiler option to produce PIC... " >&6; } if test ${lt_cv_prog_compiler_pic_CXX+y} then : printf %s "(cached) " >&6 else case e in #( e) lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 printf "%s\n" "$lt_cv_prog_compiler_pic_CXX" >&6; } lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_CXX"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } if test ${lt_cv_prog_compiler_pic_works_CXX+y} then : printf %s "(cached) " >&6 else case e in #( e) lt_cv_prog_compiler_pic_works_CXX=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" ## exclude from sc_useless_quotes_in_assignment # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_pic_works_CXX=yes fi fi $RM conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 printf "%s\n" "$lt_cv_prog_compiler_pic_works_CXX" >&6; } if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then case $lt_prog_compiler_pic_CXX in "" | " "*) ;; *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; esac else lt_prog_compiler_pic_CXX= lt_prog_compiler_can_build_shared_CXX=no fi fi # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if test ${lt_cv_prog_compiler_static_works_CXX+y} then : printf %s "(cached) " >&6 else case e in #( e) lt_cv_prog_compiler_static_works_CXX=no save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_static_works_CXX=yes fi else lt_cv_prog_compiler_static_works_CXX=yes fi fi $RM -r conftest* LDFLAGS=$save_LDFLAGS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 printf "%s\n" "$lt_cv_prog_compiler_static_works_CXX" >&6; } if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then : else lt_prog_compiler_static_CXX= fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test ${lt_cv_prog_compiler_c_o_CXX+y} then : printf %s "(cached) " >&6 else case e in #( e) lt_cv_prog_compiler_c_o_CXX=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_CXX=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 printf "%s\n" "$lt_cv_prog_compiler_c_o_CXX" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test ${lt_cv_prog_compiler_c_o_CXX+y} then : printf %s "(cached) " >&6 else case e in #( e) lt_cv_prog_compiler_c_o_CXX=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_CXX=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 printf "%s\n" "$lt_cv_prog_compiler_c_o_CXX" >&6; } hard_links=nottested if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then # do not overwrite the value of need_locks provided by the user { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 printf %s "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 printf "%s\n" "$hard_links" >&6; } if test no = "$hard_links"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 printf "%s\n" "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' case $host_os in aix[4-9]*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to GNU nm, but means don't demangle to AIX nm. # Without the "-l" option, or with the "-B" option, AIX nm treats # weak defined symbols like other global defined symbols, whereas # GNU nm marks them as "W". # While the 'weak' keyword is ignored in the Export File, we need # it in the Import File for the 'aix-soname' feature, so we have # to replace the "-B" option with "-P" for AIX nm. if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi ;; pw32*) export_symbols_cmds_CXX=$ltdll_cmds ;; cygwin* | mingw* | cegcc*) case $cc_basename in cl* | icl*) exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' ;; *) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' ;; esac ;; *) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 printf "%s\n" "$ld_shlibs_CXX" >&6; } test no = "$ld_shlibs_CXX" && can_build_shared=no with_gnu_ld_CXX=$with_gnu_ld # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_CXX" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_CXX=yes if test yes,yes = "$GCC,$enable_shared"; then case $archive_cmds_CXX in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 printf %s "checking whether -lc should be explicitly linked in... " >&6; } if test ${lt_cv_archive_cmds_need_lc_CXX+y} then : printf %s "(cached) " >&6 else case e in #( e) $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_CXX pic_flag=$lt_prog_compiler_pic_CXX compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_CXX allow_undefined_flag_CXX= if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then lt_cv_archive_cmds_need_lc_CXX=no else lt_cv_archive_cmds_need_lc_CXX=yes fi allow_undefined_flag_CXX=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 printf "%s\n" "$lt_cv_archive_cmds_need_lc_CXX" >&6; } archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX ;; esac fi ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 printf %s "checking dynamic linker characteristics... " >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=.so postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='$libname$release$shared_ext$major' ;; aix[4-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes if test ia64 = "$host_cpu"; then # AIX 5 supports IA64 library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line '#! .'. This would cause the generated library to # depend on '.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # Using Import Files as archive members, it is possible to support # filename-based versioning of shared library archives on AIX. While # this would work for both with and without runtime linking, it will # prevent static linking of such archives. So we do filename-based # shared library versioning with .so extension only, which is used # when both runtime linking and shared linking is enabled. # Unfortunately, runtime linking may impact performance, so we do # not want this to be the default eventually. Also, we use the # versioned .so libs for executables only if there is the -brtl # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. # To allow for filename-based versioning support, we need to create # libNAME.so.V as an archive file, containing: # *) an Import File, referring to the versioned filename of the # archive as well as the shared archive member, telling the # bitwidth (32 or 64) of that shared object, and providing the # list of exported symbols of that shared object, eventually # decorated with the 'weak' keyword # *) the shared object with the F_LOADONLY flag set, to really avoid # it being seen by the linker. # At run time we better use the real file rather than another symlink, # but for link time we create the symlink libNAME.so -> libNAME.so.V case $with_aix_soname,$aix_use_runtimelinking in # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. aix,yes) # traditional libtool dynamic_linker='AIX unversionable lib.so' # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ;; aix,no) # traditional AIX only dynamic_linker='AIX lib.a(lib.so.V)' # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='$libname$release.a $libname.a' soname_spec='$libname$release$shared_ext$major' ;; svr4,*) # full svr4 only dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' # We do not specify a path in Import Files, so LIBPATH fires. shlibpath_overrides_runpath=yes ;; *,yes) # both, prefer svr4 dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' # unpreferred sharedlib libNAME.a needs extra handling postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' # We do not specify a path in Import Files, so LIBPATH fires. shlibpath_overrides_runpath=yes ;; *,no) # both, prefer aix dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" library_names_spec='$libname$release.a $libname.a' soname_spec='$libname$release$shared_ext$major' # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' ;; esac shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='$libname$shared_ext' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=.dll need_version=no need_lib_prefix=no case $GCC,$cc_basename in yes,*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; esac dynamic_linker='Win32 ld.exe' ;; *,cl* | *,icl*) # Native MSVC or ICC libname_spec='$name' soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' library_names_spec='$libname.dll.lib' case $build_os in mingw*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' for lt_path in $LIB do IFS=$lt_save_ifs # Let DOS variable expansion print the short 8.3 style file name. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" done IFS=$lt_save_ifs # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) sys_lib_search_path_spec=$LIB if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # FIXME: find the short name or the path components, as spaces are # common. (e.g. "Program Files" -> "PROGRA~1") ;; esac # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes dynamic_linker='Win32 link.exe' ;; *) # Assume MSVC and ICC wrapper library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' soname_spec='$libname$release$major$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd* | dragonfly* | midnightbsd*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[23].*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=no sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' if test 32 = "$HPUX_IA64_MODE"; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" sys_lib_dlsearch_path_spec=/usr/lib/hpux32 else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" sys_lib_dlsearch_path_spec=/usr/lib/hpux64 fi ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[3-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test yes = "$lt_cv_prog_gnu_ld"; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='$libname$release$shared_ext$major' library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; linux*android*) version_type=none # Android doesn't support versioned libraries. need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext' soname_spec='$libname$release$shared_ext' finish_cmds= shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes dynamic_linker='Android linker' # Don't embed -rpath directories since the linker doesn't support them. hardcode_libdir_flag_spec_CXX='-L$libdir' ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH if test ${lt_cv_shlibpath_overrides_runpath+y} then : printf %s "(cached) " >&6 else case e in #( e) lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO" then : if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null then : lt_cv_shlibpath_overrides_runpath=yes fi fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir ;; esac fi shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Add ABI-specific directories to the system library path. sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" # Ideally, we could use ldconfig to report *all* directores which are # searched for libraries, however this is still not possible. Aside from not # being certain /sbin/ldconfig is available, command # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, # even though it is searched at run-time. Try to do the best guess by # appending ld.so.conf contents (and includes) to the search path. if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd* | bitrig*) version_type=sunos sys_lib_dlsearch_path_spec=/usr/lib need_lib_prefix=no if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then need_version=no else need_version=yes fi library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; os2*) libname_spec='$name' version_type=windows shrext_cmds=.dll need_version=no need_lib_prefix=no # OS/2 can only load a DLL with a base name of 8 characters or less. soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; v=$($ECHO $release$versuffix | tr -d .-); n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); $ECHO $n$v`$shared_ext' library_names_spec='${libname}_dll.$libext' dynamic_linker='OS/2 ld.exe' shlibpath_var=BEGINLIBPATH sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='$libname$release$shared_ext$major' library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test yes = "$with_gnu_ld"; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec; then version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' soname_spec='$libname$shared_ext.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=sco need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test yes = "$with_gnu_ld"; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 printf "%s\n" "$dynamic_linker" >&6; } test no = "$dynamic_linker" && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test yes = "$GCC"; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec fi if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec fi # remember unaugmented sys_lib_dlsearch_path content for libtool script decls... configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" # to be used as default LT_SYS_LIBRARY_PATH value in generated libtool configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 printf %s "checking how to hardcode library paths into programs... " >&6; } hardcode_action_CXX= if test -n "$hardcode_libdir_flag_spec_CXX" || test -n "$runpath_var_CXX" || test yes = "$hardcode_automatic_CXX"; then # We can hardcode non-existent directories. if test no != "$hardcode_direct_CXX" && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" && test no != "$hardcode_minus_L_CXX"; then # Linking always hardcodes the temporary library directory. hardcode_action_CXX=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_CXX=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_CXX=unsupported fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 printf "%s\n" "$hardcode_action_CXX" >&6; } if test relink = "$hardcode_action_CXX" || test yes = "$inherit_rpath_CXX"; then # Fast installation is not supported enable_fast_install=no elif test yes = "$shlibpath_overrides_runpath" || test no = "$enable_shared"; then # Fast installation is not necessary enable_fast_install=needless fi fi # test -n "$compiler" CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld fi # test yes != "$_lt_caught_CXX_error" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_config_commands="$ac_config_commands libtool" # Only expand once: { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 printf %s "checking for a sed that does not truncate output... " >&6; } if test ${ac_cv_path_SED+y} then : printf %s "(cached) " >&6 else case e in #( e) ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for ac_i in 1 2 3 4 5 6 7; do ac_script="$ac_script$as_nl$ac_script" done echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed { ac_script=; unset ac_script;} if test -z "$SED"; then ac_path_SED_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_prog in sed gsed do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_SED="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_SED" || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED case `"$ac_path_SED" --version 2>&1` in #( *GNU*) ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; #( *) ac_count=0 printf %s 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" printf "%s\n" '' >> "conftest.nl" "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_SED_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_SED="$ac_path_SED" ac_path_SED_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_SED_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_SED"; then as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 fi else ac_cv_path_SED=$SED fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 printf "%s\n" "$ac_cv_path_SED" >&6; } SED="$ac_cv_path_SED" rm -f conftest.sed # check ibus if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_PKG_CONFIG+y} then : printf %s "(cached) " >&6 else case e in #( e) case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_path_PKG_CONFIG="$as_dir$ac_word$ac_exec_ext" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 printf "%s\n" "$PKG_CONFIG" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} then : printf %s "(cached) " >&6 else case e in #( e) case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir$ac_word$ac_exec_ext" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac ;; esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then PKG_CONFIG="" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac PKG_CONFIG=$ac_pt_PKG_CONFIG fi else PKG_CONFIG="$ac_cv_path_PKG_CONFIG" fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } PKG_CONFIG="" fi fi if test -z "$PKG_CONFIG"; then as_fn_error $? "pkg-config not found" "$LINENO" 5 fi pkg_failed=no { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ibus-1.0 >= 1.5.11 " >&5 printf %s "checking for ibus-1.0 >= 1.5.11 ... " >&6; } if test -n "$IBUS_CFLAGS"; then pkg_cv_IBUS_CFLAGS="$IBUS_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" ibus-1.0 >= 1.5.11 \""; } >&5 ($PKG_CONFIG --exists --print-errors " ibus-1.0 >= 1.5.11 ") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_IBUS_CFLAGS=`$PKG_CONFIG --cflags " ibus-1.0 >= 1.5.11 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$IBUS_LIBS"; then pkg_cv_IBUS_LIBS="$IBUS_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" ibus-1.0 >= 1.5.11 \""; } >&5 ($PKG_CONFIG --exists --print-errors " ibus-1.0 >= 1.5.11 ") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_IBUS_LIBS=`$PKG_CONFIG --libs " ibus-1.0 >= 1.5.11 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then IBUS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs " ibus-1.0 >= 1.5.11 " 2>&1` else IBUS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " ibus-1.0 >= 1.5.11 " 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$IBUS_PKG_ERRORS" >&5 as_fn_error $? "Package requirements ( ibus-1.0 >= 1.5.11 ) were not met: $IBUS_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables IBUS_CFLAGS and IBUS_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables IBUS_CFLAGS and IBUS_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See 'config.log' for more details" "$LINENO" 5; } else IBUS_CFLAGS=$pkg_cv_IBUS_CFLAGS IBUS_LIBS=$pkg_cv_IBUS_LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } fi # check sqlite pkg_failed=no { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sqlite3 " >&5 printf %s "checking for sqlite3 ... " >&6; } if test -n "$SQLITE_CFLAGS"; then pkg_cv_SQLITE_CFLAGS="$SQLITE_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" sqlite3 \""; } >&5 ($PKG_CONFIG --exists --print-errors " sqlite3 ") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_SQLITE_CFLAGS=`$PKG_CONFIG --cflags " sqlite3 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$SQLITE_LIBS"; then pkg_cv_SQLITE_LIBS="$SQLITE_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" sqlite3 \""; } >&5 ($PKG_CONFIG --exists --print-errors " sqlite3 ") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_SQLITE_LIBS=`$PKG_CONFIG --libs " sqlite3 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then SQLITE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs " sqlite3 " 2>&1` else SQLITE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " sqlite3 " 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$SQLITE_PKG_ERRORS" >&5 as_fn_error $? "Package requirements ( sqlite3 ) were not met: $SQLITE_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables SQLITE_CFLAGS and SQLITE_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables SQLITE_CFLAGS and SQLITE_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See 'config.log' for more details" "$LINENO" 5; } else SQLITE_CFLAGS=$pkg_cv_SQLITE_CFLAGS SQLITE_LIBS=$pkg_cv_SQLITE_LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } fi # Extract the first word of "sqlite3", so it can be a program name with args. set dummy sqlite3; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_SQLITE3+y} then : printf %s "(cached) " >&6 else case e in #( e) case $SQLITE3 in [\\/]* | ?:[\\/]*) ac_cv_path_SQLITE3="$SQLITE3" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_path_SQLITE3="$as_dir$ac_word$ac_exec_ext" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac ;; esac fi SQLITE3=$ac_cv_path_SQLITE3 if test -n "$SQLITE3"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SQLITE3" >&5 printf "%s\n" "$SQLITE3" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test -z "$SQLITE3"; then as_fn_error $? "could not find sqlite3 tool." "$LINENO" 5 fi pkg_failed=no { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libpinyin >= 2.9.92 " >&5 printf %s "checking for libpinyin >= 2.9.92 ... " >&6; } if test -n "$LIBPINYIN_CFLAGS"; then pkg_cv_LIBPINYIN_CFLAGS="$LIBPINYIN_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" libpinyin >= 2.9.92 \""; } >&5 ($PKG_CONFIG --exists --print-errors " libpinyin >= 2.9.92 ") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBPINYIN_CFLAGS=`$PKG_CONFIG --cflags " libpinyin >= 2.9.92 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$LIBPINYIN_LIBS"; then pkg_cv_LIBPINYIN_LIBS="$LIBPINYIN_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" libpinyin >= 2.9.92 \""; } >&5 ($PKG_CONFIG --exists --print-errors " libpinyin >= 2.9.92 ") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBPINYIN_LIBS=`$PKG_CONFIG --libs " libpinyin >= 2.9.92 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then LIBPINYIN_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs " libpinyin >= 2.9.92 " 2>&1` else LIBPINYIN_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " libpinyin >= 2.9.92 " 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$LIBPINYIN_PKG_ERRORS" >&5 as_fn_error $? "Package requirements ( libpinyin >= 2.9.92 ) were not met: $LIBPINYIN_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables LIBPINYIN_CFLAGS and LIBPINYIN_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables LIBPINYIN_CFLAGS and LIBPINYIN_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See 'config.log' for more details" "$LINENO" 5; } else LIBPINYIN_CFLAGS=$pkg_cv_LIBPINYIN_CFLAGS LIBPINYIN_LIBS=$pkg_cv_LIBPINYIN_LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } enable_libpinyin=yes fi LIBPINYIN_DATADIR=`$PKG_CONFIG --variable=pkgdatadir libpinyin` # check if ibus_config_get_values, which is available in ibus-1.3.99+ (git master) save_CFLAGS="$CFLAGS" save_LIBS="$LIBS" CFLAGS="$CFLAGS $IBUS_CFLAGS" LIBS="$LIBS $IBUS_LIBS" ac_fn_c_check_func "$LINENO" "ibus_config_get_values" "ac_cv_func_ibus_config_get_values" if test "x$ac_cv_func_ibus_config_get_values" = xyes then : printf "%s\n" "#define HAVE_IBUS_CONFIG_GET_VALUES 1" >>confdefs.h fi CFLAGS="$save_CFLAGS" LIBS="$save_LIBS" # check env # Extract the first word of "env", so it can be a program name with args. set dummy env; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_ENV+y} then : printf %s "(cached) " >&6 else case e in #( e) case $ENV in [\\/]* | ?:[\\/]*) ac_cv_path_ENV="$ENV" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_path_ENV="$as_dir$ac_word$ac_exec_ext" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac ;; esac fi ENV=$ac_cv_path_ENV if test -n "$ENV"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ENV" >&5 printf "%s\n" "$ENV" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi # check python if test -n "$PYTHON"; then # If the user set $PYTHON, use it and don't search something else. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $PYTHON version is >= 3.2" >&5 printf %s "checking whether $PYTHON version is >= 3.2... " >&6; } prog="import sys # split strings by '.' and convert to numeric. Append some zeros # because we need at least 4 digits for the hex conversion. # map returns an iterator in Python 3.0 and a list in 2.x minver = list(map(int, '3.2'.split('.'))) + [0, 0, 0] minverhex = 0 # xrange is not present in Python 3.0 and range returns an iterator for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i] sys.exit(sys.hexversion < minverhex)" if { echo "$as_me:$LINENO: $PYTHON -c "$prog"" >&5 ($PYTHON -c "$prog") >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else case e in #( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } as_fn_error $? "Python interpreter is too old" "$LINENO" 5 ;; esac fi am_display_PYTHON=$PYTHON else # Otherwise, try each interpreter until we find one that satisfies # VERSION. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a Python interpreter with version >= 3.2" >&5 printf %s "checking for a Python interpreter with version >= 3.2... " >&6; } if test ${am_cv_pathless_PYTHON+y} then : printf %s "(cached) " >&6 else case e in #( e) for am_cv_pathless_PYTHON in python python2 python3 python3.9 python3.8 python3.7 python3.6 python3.5 python3.4 python3.3 python3.2 python3.1 python3.0 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 none; do test "$am_cv_pathless_PYTHON" = none && break prog="import sys # split strings by '.' and convert to numeric. Append some zeros # because we need at least 4 digits for the hex conversion. # map returns an iterator in Python 3.0 and a list in 2.x minver = list(map(int, '3.2'.split('.'))) + [0, 0, 0] minverhex = 0 # xrange is not present in Python 3.0 and range returns an iterator for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i] sys.exit(sys.hexversion < minverhex)" if { echo "$as_me:$LINENO: $am_cv_pathless_PYTHON -c "$prog"" >&5 ($am_cv_pathless_PYTHON -c "$prog") >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then : break fi done ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_pathless_PYTHON" >&5 printf "%s\n" "$am_cv_pathless_PYTHON" >&6; } # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON. if test "$am_cv_pathless_PYTHON" = none; then PYTHON=: else # Extract the first word of "$am_cv_pathless_PYTHON", so it can be a program name with args. set dummy $am_cv_pathless_PYTHON; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_PYTHON+y} then : printf %s "(cached) " >&6 else case e in #( e) case $PYTHON in [\\/]* | ?:[\\/]*) ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_path_PYTHON="$as_dir$ac_word$ac_exec_ext" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac ;; esac fi PYTHON=$ac_cv_path_PYTHON if test -n "$PYTHON"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5 printf "%s\n" "$PYTHON" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi am_display_PYTHON=$am_cv_pathless_PYTHON fi if test "$PYTHON" = :; then as_fn_error $? "no suitable Python interpreter found" "$LINENO" 5 else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON version" >&5 printf %s "checking for $am_display_PYTHON version... " >&6; } if test ${am_cv_python_version+y} then : printf %s "(cached) " >&6 else case e in #( e) am_cv_python_version=`$PYTHON -c "import sys; print ('%u.%u' % sys.version_info[:2])"` ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5 printf "%s\n" "$am_cv_python_version" >&6; } PYTHON_VERSION=$am_cv_python_version { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON platform" >&5 printf %s "checking for $am_display_PYTHON platform... " >&6; } if test ${am_cv_python_platform+y} then : printf %s "(cached) " >&6 else case e in #( e) am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"` ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_platform" >&5 printf "%s\n" "$am_cv_python_platform" >&6; } PYTHON_PLATFORM=$am_cv_python_platform if test "x$prefix" = xNONE; then am__usable_prefix=$ac_default_prefix else am__usable_prefix=$prefix fi # Allow user to request using sys.* values from Python, # instead of the GNU $prefix values. # Check whether --with-python-sys-prefix was given. if test ${with_python_sys_prefix+y} then : withval=$with_python_sys_prefix; am_use_python_sys=: else case e in #( e) am_use_python_sys=false ;; esac fi # Allow user to override whatever the default Python prefix is. # Check whether --with-python_prefix was given. if test ${with_python_prefix+y} then : withval=$with_python_prefix; am_python_prefix_subst=$withval am_cv_python_prefix=$withval { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for explicit $am_display_PYTHON prefix" >&5 printf %s "checking for explicit $am_display_PYTHON prefix... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_prefix" >&5 printf "%s\n" "$am_cv_python_prefix" >&6; } else case e in #( e) if $am_use_python_sys; then # using python sys.prefix value, not GNU { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for python default $am_display_PYTHON prefix" >&5 printf %s "checking for python default $am_display_PYTHON prefix... " >&6; } if test ${am_cv_python_prefix+y} then : printf %s "(cached) " >&6 else case e in #( e) am_cv_python_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.prefix)"` ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_prefix" >&5 printf "%s\n" "$am_cv_python_prefix" >&6; } case $am_cv_python_prefix in $am__usable_prefix*) am__strip_prefix=`echo "$am__usable_prefix" | sed 's|.|.|g'` am_python_prefix_subst=`echo "$am_cv_python_prefix" | sed "s,^$am__strip_prefix,\\${prefix},"` ;; *) am_python_prefix_subst=$am_cv_python_prefix ;; esac else # using GNU prefix value, not python sys.prefix am_python_prefix_subst='${prefix}' am_python_prefix=$am_python_prefix_subst { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU default $am_display_PYTHON prefix" >&5 printf %s "checking for GNU default $am_display_PYTHON prefix... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_python_prefix" >&5 printf "%s\n" "$am_python_prefix" >&6; } fi ;; esac fi # Substituting python_prefix_subst value. PYTHON_PREFIX=$am_python_prefix_subst # emacs-page Now do it all over again for Python exec_prefix, but with yet # another conditional: fall back to regular prefix if that was specified. # Check whether --with-python_exec_prefix was given. if test ${with_python_exec_prefix+y} then : withval=$with_python_exec_prefix; am_python_exec_prefix_subst=$withval am_cv_python_exec_prefix=$withval { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for explicit $am_display_PYTHON exec_prefix" >&5 printf %s "checking for explicit $am_display_PYTHON exec_prefix... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_exec_prefix" >&5 printf "%s\n" "$am_cv_python_exec_prefix" >&6; } else case e in #( e) # no explicit --with-python_exec_prefix, but if # --with-python_prefix was given, use its value for python_exec_prefix too. if test -n "$with_python_prefix" then : am_python_exec_prefix_subst=$with_python_prefix am_cv_python_exec_prefix=$with_python_prefix { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for python_prefix-given $am_display_PYTHON exec_prefix" >&5 printf %s "checking for python_prefix-given $am_display_PYTHON exec_prefix... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_exec_prefix" >&5 printf "%s\n" "$am_cv_python_exec_prefix" >&6; } else case e in #( e) # Set am__usable_exec_prefix whether using GNU or Python values, # since we use that variable for pyexecdir. if test "x$exec_prefix" = xNONE; then am__usable_exec_prefix=$am__usable_prefix else am__usable_exec_prefix=$exec_prefix fi # if $am_use_python_sys; then # using python sys.exec_prefix, not GNU { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for python default $am_display_PYTHON exec_prefix" >&5 printf %s "checking for python default $am_display_PYTHON exec_prefix... " >&6; } if test ${am_cv_python_exec_prefix+y} then : printf %s "(cached) " >&6 else case e in #( e) am_cv_python_exec_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.exec_prefix)"` ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_exec_prefix" >&5 printf "%s\n" "$am_cv_python_exec_prefix" >&6; } case $am_cv_python_exec_prefix in $am__usable_exec_prefix*) am__strip_prefix=`echo "$am__usable_exec_prefix" | sed 's|.|.|g'` am_python_exec_prefix_subst=`echo "$am_cv_python_exec_prefix" | sed "s,^$am__strip_prefix,\\${exec_prefix},"` ;; *) am_python_exec_prefix_subst=$am_cv_python_exec_prefix ;; esac else # using GNU $exec_prefix, not python sys.exec_prefix am_python_exec_prefix_subst='${exec_prefix}' am_python_exec_prefix=$am_python_exec_prefix_subst { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU default $am_display_PYTHON exec_prefix" >&5 printf %s "checking for GNU default $am_display_PYTHON exec_prefix... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_python_exec_prefix" >&5 printf "%s\n" "$am_python_exec_prefix" >&6; } fi ;; esac fi ;; esac fi # Substituting python_exec_prefix_subst. PYTHON_EXEC_PREFIX=$am_python_exec_prefix_subst # Factor out some code duplication into this shell variable. am_python_setup_sysconfig="\ import sys # Prefer sysconfig over distutils.sysconfig, for better compatibility # with python 3.x. See automake bug#10227. try: import sysconfig except ImportError: can_use_sysconfig = 0 else: can_use_sysconfig = 1 # Can't use sysconfig in CPython 2.7, since it's broken in virtualenvs: # try: from platform import python_implementation if python_implementation() == 'CPython' and sys.version[:3] == '2.7': can_use_sysconfig = 0 except ImportError: pass" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory (pythondir)" >&5 printf %s "checking for $am_display_PYTHON script directory (pythondir)... " >&6; } if test ${am_cv_python_pythondir+y} then : printf %s "(cached) " >&6 else case e in #( e) if test "x$am_cv_python_prefix" = x; then am_py_prefix=$am__usable_prefix else am_py_prefix=$am_cv_python_prefix fi am_cv_python_pythondir=`$PYTHON -c " $am_python_setup_sysconfig if can_use_sysconfig: sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'}) else: from distutils import sysconfig sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix') sys.stdout.write(sitedir)"` # case $am_cv_python_pythondir in $am_py_prefix*) am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'` am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,\\${PYTHON_PREFIX},"` ;; *) case $am_py_prefix in /usr|/System*) ;; *) am_cv_python_pythondir="\${PYTHON_PREFIX}/lib/python$PYTHON_VERSION/site-packages" ;; esac ;; esac ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pythondir" >&5 printf "%s\n" "$am_cv_python_pythondir" >&6; } pythondir=$am_cv_python_pythondir pkgpythondir=\${pythondir}/$PACKAGE { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory (pyexecdir)" >&5 printf %s "checking for $am_display_PYTHON extension module directory (pyexecdir)... " >&6; } if test ${am_cv_python_pyexecdir+y} then : printf %s "(cached) " >&6 else case e in #( e) if test "x$am_cv_python_exec_prefix" = x; then am_py_exec_prefix=$am__usable_exec_prefix else am_py_exec_prefix=$am_cv_python_exec_prefix fi am_cv_python_pyexecdir=`$PYTHON -c " $am_python_setup_sysconfig if can_use_sysconfig: sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_exec_prefix'}) else: from distutils import sysconfig sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_exec_prefix') sys.stdout.write(sitedir)"` # case $am_cv_python_pyexecdir in $am_py_exec_prefix*) am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'` am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,\\${PYTHON_EXEC_PREFIX},"` ;; *) case $am_py_exec_prefix in /usr|/System*) ;; *) am_cv_python_pyexecdir="\${PYTHON_EXEC_PREFIX}/lib/python$PYTHON_VERSION/site-packages" ;; esac ;; esac ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pyexecdir" >&5 printf "%s\n" "$am_cv_python_pyexecdir" >&6; } pyexecdir=$am_cv_python_pyexecdir pkgpyexecdir=\${pyexecdir}/$PACKAGE fi # assign the specified python version # Check whether --with-python was given. if test ${with_python+y} then : withval=$with_python; PYTHON=$with_python fi # check icon_prop_key in IBus.EngineDesc { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if IBus.EngineDesc has get_icon_prop_key" >&5 printf %s "checking if IBus.EngineDesc has get_icon_prop_key... " >&6; } ICON_PROP_KEY_TEST="import gi gi.require_version('IBus', '1.0') from gi.repository import IBus exit(not hasattr(IBus.EngineDesc, 'get_icon_prop_key')) " $PYTHON -c "$ICON_PROP_KEY_TEST" if test $? -eq 0; then ICON_PROP_KEY_XML="InputMode" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else ICON_PROP_KEY_XML="" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ibus 1.5.11 or later supports icon-prop-key in IBus.EngineDesc" >&5 printf "%s\n" "ibus 1.5.11 or later supports icon-prop-key in IBus.EngineDesc" >&6; } fi # --enable-boost # Check whether --enable-boost was given. if test ${enable_boost+y} then : enableval=$enable_boost; enable_boost=$enableval else case e in #( e) enable_boost=no ;; esac fi if test x"$enable_boost" = x"yes"; then # check boost echo "$as_me: this is boost.m4 serial 26" >&5 boost_save_IFS=$IFS boost_version_req=1.39 IFS=. set x $boost_version_req 0 0 0 IFS=$boost_save_IFS shift boost_version_req=`expr "$1" '*' 100000 + "$2" '*' 100 + "$3"` boost_version_req_string=$1.$2.$3 # Check whether --with-boost was given. if test ${with_boost+y} then : withval=$with_boost; fi # If BOOST_ROOT is set and the user has not provided a value to # --with-boost, then treat BOOST_ROOT as if it the user supplied it. if test x"$BOOST_ROOT" != x; then if test x"$with_boost" = x; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Detected BOOST_ROOT; continuing with --with-boost=$BOOST_ROOT" >&5 printf "%s\n" "$as_me: Detected BOOST_ROOT; continuing with --with-boost=$BOOST_ROOT" >&6;} with_boost=$BOOST_ROOT else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Detected BOOST_ROOT=$BOOST_ROOT, but overridden by --with-boost=$with_boost" >&5 printf "%s\n" "$as_me: Detected BOOST_ROOT=$BOOST_ROOT, but overridden by --with-boost=$with_boost" >&6;} fi fi DISTCHECK_CONFIGURE_FLAGS="$DISTCHECK_CONFIGURE_FLAGS '--with-boost=$with_boost'" boost_save_CPPFLAGS=$CPPFLAGS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Boost headers version >= $boost_version_req_string" >&5 printf %s "checking for Boost headers version >= $boost_version_req_string... " >&6; } if test ${boost_cv_inc_path+y} then : printf %s "(cached) " >&6 else case e in #( e) boost_cv_inc_path=no ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #if !defined BOOST_VERSION # error BOOST_VERSION is not defined #elif BOOST_VERSION < $boost_version_req # error Boost headers version < $boost_version_req #endif int main (void) { ; return 0; } _ACEOF # If the user provided a value to --with-boost, use it and only it. case $with_boost in #( ''|yes) set x '' /opt/local/include /usr/local/include /opt/include \ /usr/include C:/Boost/include;; #( *) set x "$with_boost/include" "$with_boost";; esac shift for boost_dir do # Without --layout=system, Boost (or at least some versions) installs # itself in /include/boost-. This inner loop helps to # find headers in such directories. # # Any ${boost_dir}/boost-x_xx directories are searched in reverse version # order followed by ${boost_dir}. The final '.' is a sentinel for # searching $boost_dir" itself. Entries are whitespace separated. # # I didn't indent this loop on purpose (to avoid over-indented code) boost_layout_system_search_list=`cd "$boost_dir" 2>/dev/null \ && ls -1 | "${GREP}" '^boost-' | sort -rn -t- -k2 \ && echo .` for boost_inc in $boost_layout_system_search_list do if test x"$boost_inc" != x.; then boost_inc="$boost_dir/$boost_inc" else boost_inc="$boost_dir" # Uses sentinel in boost_layout_system_search_list fi if test x"$boost_inc" != x; then # We are going to check whether the version of Boost installed # in $boost_inc is usable by running a compilation that # #includes it. But if we pass a -I/some/path in which Boost # is not installed, the compiler will just skip this -I and # use other locations (either from CPPFLAGS, or from its list # of system include directories). As a result we would use # header installed on the machine instead of the /some/path # specified by the user. So in that precise case (trying # $boost_inc), make sure the version.hpp exists. # # Use test -e as there can be symlinks. test -e "$boost_inc/boost/version.hpp" || continue CPPFLAGS="$CPPFLAGS -I$boost_inc" fi if ac_fn_cxx_try_compile "$LINENO" then : boost_cv_inc_path=yes else case e in #( e) boost_cv_version=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam if test x"$boost_cv_inc_path" = xyes; then if test x"$boost_inc" != x; then boost_cv_inc_path=$boost_inc fi break 2 fi done done ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $boost_cv_inc_path" >&5 printf "%s\n" "$boost_cv_inc_path" >&6; } case $boost_cv_inc_path in #( no) boost_errmsg="cannot find Boost headers version >= $boost_version_req_string" as_fn_error $? "$boost_errmsg" "$LINENO" 5 ;;#( yes) BOOST_CPPFLAGS= ;;#( *) BOOST_CPPFLAGS="-I$boost_cv_inc_path" ;; esac if test x"$boost_cv_inc_path" != xno; then printf "%s\n" "#define HAVE_BOOST 1" >>confdefs.h { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Boost's header version" >&5 printf %s "checking for Boost's header version... " >&6; } if test ${boost_cv_lib_version+y} then : printf %s "(cached) " >&6 else case e in #( e) ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include boost-lib-version = BOOST_LIB_VERSION _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | grep -v '#' | grep -v '^[[:space:]]*$' | tr -d '\r' | tr -s '\n' ' ' | $SED -n -e "/^boost-lib-version = /{s///;s/[\" ]//g;p;q;}" >conftest.i 2>&1 then : boost_cv_lib_version=`cat conftest.i` fi rm -rf conftest* ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $boost_cv_lib_version" >&5 printf "%s\n" "$boost_cv_lib_version" >&6; } # e.g. "134" for 1_34_1 or "135" for 1_35 boost_major_version=`echo "$boost_cv_lib_version" | sed 's/_//;s/_.*//'` case $boost_major_version in #( '' | *[!0-9]*) as_fn_error $? "invalid value: boost_major_version='$boost_major_version'" "$LINENO" 5 ;; esac fi CPPFLAGS=$boost_save_CPPFLAGS if test x"$boost_cv_inc_path" = xno; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Boost not available, not searching for boost/bind.hpp" >&5 printf "%s\n" "$as_me: Boost not available, not searching for boost/bind.hpp" >&6;} else ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu boost_save_CPPFLAGS=$CPPFLAGS CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" ac_fn_cxx_check_header_compile "$LINENO" "boost/bind.hpp" "ac_cv_header_boost_bind_hpp" "$ac_includes_default" if test "x$ac_cv_header_boost_bind_hpp" = xyes then : printf "%s\n" "#define HAVE_BOOST_BIND_HPP 1" >>confdefs.h else case e in #( e) as_fn_error $? "cannot find boost/bind.hpp" "$LINENO" 5 ;; esac fi CPPFLAGS=$boost_save_CPPFLAGS ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi if test x"$boost_cv_inc_path" = xno; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Boost not available, not searching for boost/signals2.hpp" >&5 printf "%s\n" "$as_me: Boost not available, not searching for boost/signals2.hpp" >&6;} else ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu boost_save_CPPFLAGS=$CPPFLAGS CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" ac_fn_cxx_check_header_compile "$LINENO" "boost/signals2.hpp" "ac_cv_header_boost_signals2_hpp" "$ac_includes_default" if test "x$ac_cv_header_boost_signals2_hpp" = xyes then : printf "%s\n" "#define HAVE_BOOST_SIGNALS2_HPP 1" >>confdefs.h else case e in #( e) as_fn_error $? "cannot find boost/signals2.hpp" "$LINENO" 5 ;; esac fi CPPFLAGS=$boost_save_CPPFLAGS ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi fi if test x"$enable_boost" = x"yes"; then HAVE_BOOST_TRUE= HAVE_BOOST_FALSE='#' else HAVE_BOOST_TRUE='#' HAVE_BOOST_FALSE= fi # --enable-opencc # Check whether --enable-opencc was given. if test ${enable_opencc+y} then : enableval=$enable_opencc; enable_opencc=$enableval else case e in #( e) enable_opencc=no ;; esac fi if test x"$enable_opencc" = x"yes"; then # check opencc pkg_failed=no { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for opencc >= 1.0.0" >&5 printf %s "checking for opencc >= 1.0.0... " >&6; } if test -n "$OPENCC_CFLAGS"; then pkg_cv_OPENCC_CFLAGS="$OPENCC_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"opencc >= 1.0.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "opencc >= 1.0.0") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_OPENCC_CFLAGS=`$PKG_CONFIG --cflags "opencc >= 1.0.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$OPENCC_LIBS"; then pkg_cv_OPENCC_LIBS="$OPENCC_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"opencc >= 1.0.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "opencc >= 1.0.0") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_OPENCC_LIBS=`$PKG_CONFIG --libs "opencc >= 1.0.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then OPENCC_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "opencc >= 1.0.0" 2>&1` else OPENCC_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "opencc >= 1.0.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$OPENCC_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (opencc >= 1.0.0) were not met: $OPENCC_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables OPENCC_CFLAGS and OPENCC_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables OPENCC_CFLAGS and OPENCC_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See 'config.log' for more details" "$LINENO" 5; } else OPENCC_CFLAGS=$pkg_cv_OPENCC_CFLAGS OPENCC_LIBS=$pkg_cv_OPENCC_LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } printf "%s\n" "#define HAVE_OPENCC 1" >>confdefs.h fi fi # define GETTEXT_* variables GETTEXT_PACKAGE=ibus-libpinyin printf "%s\n" "#define GETTEXT_PACKAGE \"$GETTEXT_PACKAGE\"" >>confdefs.h { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 printf %s "checking whether NLS is requested... " >&6; } # Check whether --enable-nls was given. if test ${enable_nls+y} then : enableval=$enable_nls; USE_NLS=$enableval else case e in #( e) USE_NLS=yes ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 printf "%s\n" "$USE_NLS" >&6; } GETTEXT_MACRO_VERSION=0.19 # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which # contains only /bin. Note that ksh looks also at the FPATH variable, # so we have to set that as well for the test. PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ || PATH_SEPARATOR=';' } fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_MSGFMT+y} then : printf %s "(cached) " >&6 else case e in #( e) case "$MSGFMT" in [\\/]* | ?:[\\/]*) ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" ;; esac ;; esac fi MSGFMT="$ac_cv_path_MSGFMT" if test "$MSGFMT" != ":"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 printf "%s\n" "$MSGFMT" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_GMSGFMT+y} then : printf %s "(cached) " >&6 else case e in #( e) case $GMSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_path_GMSGFMT="$as_dir$ac_word$ac_exec_ext" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 printf "%s\n" "$GMSGFMT" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; *) MSGFMT_015=$MSGFMT ;; esac case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; *) GMSGFMT_015=$GMSGFMT ;; esac # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which # contains only /bin. Note that ksh looks also at the FPATH variable, # so we have to set that as well for the test. PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ || PATH_SEPARATOR=';' } fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_XGETTEXT+y} then : printf %s "(cached) " >&6 else case e in #( e) case "$XGETTEXT" in [\\/]* | ?:[\\/]*) ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" ;; esac ;; esac fi XGETTEXT="$ac_cv_path_XGETTEXT" if test "$XGETTEXT" != ":"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 printf "%s\n" "$XGETTEXT" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi rm -f messages.po case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; *) XGETTEXT_015=$XGETTEXT ;; esac # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which # contains only /bin. Note that ksh looks also at the FPATH variable, # so we have to set that as well for the test. PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ || PATH_SEPARATOR=';' } fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "msgmerge", so it can be a program name with args. set dummy msgmerge; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_MSGMERGE+y} then : printf %s "(cached) " >&6 else case e in #( e) case "$MSGMERGE" in [\\/]* | ?:[\\/]*) ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" ;; esac ;; esac fi MSGMERGE="$ac_cv_path_MSGMERGE" if test "$MSGMERGE" != ":"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 printf "%s\n" "$MSGMERGE" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi test -n "$localedir" || localedir='${datadir}/locale' test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= ac_config_commands="$ac_config_commands po-directories" if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" # Check whether --with-gnu-ld was given. if test ${with_gnu_ld+y} then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else case e in #( e) with_gnu_ld=no ;; esac fi # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which # contains only /bin. Note that ksh looks also at the FPATH variable, # so we have to set that as well for the test. PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ || PATH_SEPARATOR=';' } fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 printf %s "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'` while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 printf %s "checking for GNU ld... " >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 printf %s "checking for non-GNU ld... " >&6; } fi if test ${acl_cv_path_LD+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -z "$LD"; then acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$acl_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 &5 printf "%s\n" "$LD" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 printf %s "checking if the linker ($LD) is GNU ld... " >&6; } if test ${acl_cv_prog_gnu_ld+y} then : printf %s "(cached) " >&6 else case e in #( e) # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 printf "%s\n" "$acl_cv_prog_gnu_ld" >&6; } with_gnu_ld=$acl_cv_prog_gnu_ld { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 printf %s "checking for shared library run path origin... " >&6; } if test ${acl_cv_rpath+y} then : printf %s "(cached) " >&6 else case e in #( e) CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 printf "%s\n" "$acl_cv_rpath" >&6; } wl="$acl_cv_wl" acl_libext="$acl_cv_libext" acl_shlibext="$acl_cv_shlibext" acl_libname_spec="$acl_cv_libname_spec" acl_library_names_spec="$acl_cv_library_names_spec" acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" acl_hardcode_direct="$acl_cv_hardcode_direct" acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" # Check whether --enable-rpath was given. if test ${enable_rpath+y} then : enableval=$enable_rpath; : else case e in #( e) enable_rpath=yes ;; esac fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 printf %s "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if test ${ac_cv_prog_CPP+y} then : printf %s "(cached) " >&6 else case e in #( e) # Double quotes because $CC needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" cpp /lib/cpp do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO" then : else case e in #( e) # Broken: fails on valid input. continue ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO" then : # Broken: success on invalid input. continue else case e in #( e) # Passes both tests. ac_preproc_ok=: break ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of 'break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok then : break fi done ac_cv_prog_CPP=$CPP ;; esac fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 printf "%s\n" "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO" then : else case e in #( e) # Broken: fails on valid input. continue ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO" then : # Broken: success on invalid input. continue else case e in #( e) # Passes both tests. ac_preproc_ok=: break ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of 'break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok then : else case e in #( e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See 'config.log' for more details" "$LINENO" 5; } ;; esac fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep -e" >&5 printf %s "checking for egrep -e... " >&6; } if test ${ac_cv_path_EGREP_TRADITIONAL+y} then : printf %s "(cached) " >&6 else case e in #( e) if test -z "$EGREP_TRADITIONAL"; then ac_path_EGREP_TRADITIONAL_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_prog in grep ggrep do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue # Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. # Check for GNU $ac_path_EGREP_TRADITIONAL case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #( *GNU*) ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;; #( *) ac_count=0 printf %s 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" "$ac_path_EGREP_TRADITIONAL" -E 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_TRADITIONAL_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then : fi else ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL fi if test "$ac_cv_path_EGREP_TRADITIONAL" then : ac_cv_path_EGREP_TRADITIONAL="$ac_cv_path_EGREP_TRADITIONAL -E" else case e in #( e) if test -z "$EGREP_TRADITIONAL"; then ac_path_EGREP_TRADITIONAL_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_prog in egrep do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue # Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. # Check for GNU $ac_path_EGREP_TRADITIONAL case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in #( *GNU*) ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;; #( *) ac_count=0 printf %s 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" "$ac_path_EGREP_TRADITIONAL" 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_TRADITIONAL_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL fi ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP_TRADITIONAL" >&5 printf "%s\n" "$ac_cv_path_EGREP_TRADITIONAL" >&6; } EGREP_TRADITIONAL=$ac_cv_path_EGREP_TRADITIONAL acl_libdirstem=lib acl_libdirstem2= case "$host_os" in solaris*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5 printf %s "checking for 64-bit host... " >&6; } if test ${gl_cv_solaris_64bit+y} then : printf %s "(cached) " >&6 else case e in #( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef _LP64 sixtyfour bits #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP_TRADITIONAL "sixtyfour bits" >/dev/null 2>&1 then : gl_cv_solaris_64bit=yes else case e in #( e) gl_cv_solaris_64bit=no ;; esac fi rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5 printf "%s\n" "$gl_cv_solaris_64bit" >&6; } if test $gl_cv_solaris_64bit = yes; then acl_libdirstem=lib/64 case "$host_cpu" in sparc*) acl_libdirstem2=lib/sparcv9 ;; i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; esac fi ;; *) searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` if test -n "$searchpath"; then acl_save_IFS="${IFS= }"; IFS=":" for searchdir in $searchpath; do if test -d "$searchdir"; then case "$searchdir" in */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; */../ | */.. ) # Better ignore directories of this form. They are misleading. ;; *) searchdir=`cd "$searchdir" && pwd` case "$searchdir" in */lib64 ) acl_libdirstem=lib64 ;; esac ;; esac fi done IFS="$acl_save_IFS" fi ;; esac test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libiconv-prefix was given. if test ${with_libiconv_prefix+y} then : withval=$with_libiconv_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" if test "$acl_libdirstem2" != "$acl_libdirstem" \ && ! test -d "$withval/$acl_libdirstem"; then additional_libdir="$withval/$acl_libdirstem2" fi fi fi fi LIBICONV= LTLIBICONV= INCICONV= LIBICONV_PREFIX= HAVE_LIBICONV= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='iconv ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" else : fi else found_dir= found_la= found_so= found_a= eval libname=\"$acl_libname_spec\" # typically: libname=lib$name if test -n "$acl_shlibext"; then shrext=".$acl_shlibext" # typically: shrext=.so else shrext= fi if test $use_additional = yes; then dir="$additional_libdir" if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no \ || test "X$found_dir" = "X/usr/$acl_libdirstem" \ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$acl_hardcode_direct" = yes; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" else LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` if test "$name" = 'iconv'; then LIBICONV_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; */$acl_libdirstem2 | */$acl_libdirstem2/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` if test "$name" = 'iconv'; then LIBICONV_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" ;; esac done fi else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$acl_hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" done fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 printf %s "checking for CFPreferencesCopyAppValue... " >&6; } if test ${gt_cv_func_CFPreferencesCopyAppValue+y} then : printf %s "(cached) " >&6 else case e in #( e) gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { CFPreferencesCopyAppValue(NULL, NULL) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : gt_cv_func_CFPreferencesCopyAppValue=yes else case e in #( e) gt_cv_func_CFPreferencesCopyAppValue=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 printf "%s\n" "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then printf "%s\n" "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5 printf %s "checking for CFLocaleCopyCurrent... " >&6; } if test ${gt_cv_func_CFLocaleCopyCurrent+y} then : printf %s "(cached) " >&6 else case e in #( e) gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { CFLocaleCopyCurrent(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : gt_cv_func_CFLocaleCopyCurrent=yes else case e in #( e) gt_cv_func_CFLocaleCopyCurrent=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 printf "%s\n" "$gt_cv_func_CFLocaleCopyCurrent" >&6; } if test $gt_cv_func_CFLocaleCopyCurrent = yes; then printf "%s\n" "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi LIBINTL= LTLIBINTL= POSUB= case " $gt_needs " in *" need-formatstring-macros "*) gt_api_version=3 ;; *" need-ngettext "*) gt_api_version=2 ;; *) gt_api_version=1 ;; esac gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no if test $gt_api_version -ge 3; then gt_revision_test_code=' #ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; ' else gt_revision_test_code= fi if test $gt_api_version -ge 2; then gt_expression_test_code=' + * ngettext ("", "", 0)' else gt_expression_test_code= fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5 printf %s "checking for GNU gettext in libc... " >&6; } if eval test \${$gt_func_gnugettext_libc+y} then : printf %s "(cached) " >&6 else case e in #( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #ifndef __GNU_GETTEXT_SUPPORTED_REVISION extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings; #define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_domain_bindings) #else #define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 #endif $gt_revision_test_code int main (void) { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : eval "$gt_func_gnugettext_libc=yes" else case e in #( e) eval "$gt_func_gnugettext_libc=no" ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext ;; esac fi eval ac_res=\$$gt_func_gnugettext_libc { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 printf "%s\n" "$ac_res" >&6; } if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then am_save_CPPFLAGS="$CPPFLAGS" for element in $INCICONV; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 printf %s "checking for iconv... " >&6; } if test ${am_cv_func_iconv+y} then : printf %s "(cached) " >&6 else case e in #( e) am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main (void) { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : am_cv_func_iconv=yes fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main (void) { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : am_cv_lib_iconv=yes am_cv_func_iconv=yes fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS="$am_save_LIBS" fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 printf "%s\n" "$am_cv_func_iconv" >&6; } if test "$am_cv_func_iconv" = yes; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5 printf %s "checking for working iconv... " >&6; } if test ${am_cv_func_iconv_works+y} then : printf %s "(cached) " >&6 else case e in #( e) am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi am_cv_func_iconv_works=no for ac_iconv_const in '' 'const'; do if test "$cross_compiling" = yes then : case "$host_os" in aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; *) am_cv_func_iconv_works="guessing yes" ;; esac else case e in #( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #ifndef ICONV_CONST # define ICONV_CONST $ac_iconv_const #endif int main (void) { int result = 0; /* Test against AIX 5.1 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); if (cd_utf8_to_88591 != (iconv_t)(-1)) { static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; ICONV_CONST char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_utf8_to_88591, &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) result |= 1; iconv_close (cd_utf8_to_88591); } } /* Test against Solaris 10 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); if (cd_ascii_to_88591 != (iconv_t)(-1)) { static ICONV_CONST char input[] = "\263"; char buf[10]; ICONV_CONST char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_ascii_to_88591, &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) result |= 2; iconv_close (cd_ascii_to_88591); } } /* Test against AIX 6.1..7.1 bug: Buffer overrun. */ { iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static ICONV_CONST char input[] = "\304"; static char buf[2] = { (char)0xDE, (char)0xAD }; ICONV_CONST char *inptr = input; size_t inbytesleft = 1; char *outptr = buf; size_t outbytesleft = 1; size_t res = iconv (cd_88591_to_utf8, &inptr, &inbytesleft, &outptr, &outbytesleft); if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) result |= 4; iconv_close (cd_88591_to_utf8); } } #if 0 /* This bug could be worked around by the caller. */ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ { iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; ICONV_CONST char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_88591_to_utf8, &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) result |= 8; iconv_close (cd_88591_to_utf8); } } #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ if (/* Try standardized names. */ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) /* Try IRIX, OSF/1 names. */ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) /* Try AIX names. */ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) /* Try HP-UX names. */ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) result |= 16; return result; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO" then : am_cv_func_iconv_works=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi test "$am_cv_func_iconv_works" = no || break done LIBS="$am_save_LIBS" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5 printf "%s\n" "$am_cv_func_iconv_works" >&6; } case "$am_cv_func_iconv_works" in *no) am_func_iconv=no am_cv_lib_iconv=no ;; *) am_func_iconv=yes ;; esac else am_func_iconv=no am_cv_lib_iconv=no fi if test "$am_func_iconv" = yes; then printf "%s\n" "#define HAVE_ICONV 1" >>confdefs.h fi if test "$am_cv_lib_iconv" = yes; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 printf %s "checking how to link with libiconv... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 printf "%s\n" "$LIBICONV" >&6; } else CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libintl-prefix was given. if test ${with_libintl_prefix+y} then : withval=$with_libintl_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" if test "$acl_libdirstem2" != "$acl_libdirstem" \ && ! test -d "$withval/$acl_libdirstem"; then additional_libdir="$withval/$acl_libdirstem2" fi fi fi fi LIBINTL= LTLIBINTL= INCINTL= LIBINTL_PREFIX= HAVE_LIBINTL= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='intl ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value" else : fi else found_dir= found_la= found_so= found_a= eval libname=\"$acl_libname_spec\" # typically: libname=lib$name if test -n "$acl_shlibext"; then shrext=".$acl_shlibext" # typically: shrext=.so else shrext= fi if test $use_additional = yes; then dir="$additional_libdir" if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no \ || test "X$found_dir" = "X/usr/$acl_libdirstem" \ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$acl_hardcode_direct" = yes; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a" else LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` if test "$name" = 'intl'; then LIBINTL_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; */$acl_libdirstem2 | */$acl_libdirstem2/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` if test "$name" = 'intl'; then LIBINTL_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBINTL="${LIBINTL}${LIBINTL:+ }$dep" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep" ;; esac done fi else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$acl_hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" done fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5 printf %s "checking for GNU gettext in libintl... " >&6; } if eval test \${$gt_func_gnugettext_libintl+y} then : printf %s "(cached) " >&6 else case e in #( e) gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #ifndef __GNU_GETTEXT_SUPPORTED_REVISION extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); #define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias ("")) #else #define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 #endif $gt_revision_test_code int main (void) { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : eval "$gt_func_gnugettext_libintl=yes" else case e in #( e) eval "$gt_func_gnugettext_libintl=no" ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #ifndef __GNU_GETTEXT_SUPPORTED_REVISION extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); #define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias ("")) #else #define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 #endif $gt_revision_test_code int main (void) { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" eval "$gt_func_gnugettext_libintl=yes" fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS" ;; esac fi eval ac_res=\$$gt_func_gnugettext_libintl { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 printf "%s\n" "$ac_res" >&6; } fi if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ && test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else LIBINTL= LTLIBINTL= INCINTL= fi if test -n "$INTL_MACOSX_LIBS"; then if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" fi fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then printf "%s\n" "#define ENABLE_NLS 1" >>confdefs.h else USE_NLS=no fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5 printf %s "checking whether to use NLS... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 printf "%s\n" "$USE_NLS" >&6; } if test "$USE_NLS" = "yes"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5 printf %s "checking where the gettext function comes from... " >&6; } if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then gt_source="external libintl" else gt_source="libc" fi else gt_source="included intl directory" fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5 printf "%s\n" "$gt_source" >&6; } fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5 printf %s "checking how to link with libintl... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5 printf "%s\n" "$LIBINTL" >&6; } for element in $INCINTL; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done fi printf "%s\n" "#define HAVE_GETTEXT 1" >>confdefs.h printf "%s\n" "#define HAVE_DCGETTEXT 1" >>confdefs.h fi POSUB=po fi INTLLIBS="$LIBINTL" # Checks for GSettings. pkg_failed=no { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gio-2.0 >= 2.26.0" >&5 printf %s "checking for gio-2.0 >= 2.26.0... " >&6; } if test -n "$GIO2_CFLAGS"; then pkg_cv_GIO2_CFLAGS="$GIO2_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gio-2.0 >= 2.26.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "gio-2.0 >= 2.26.0") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GIO2_CFLAGS=`$PKG_CONFIG --cflags "gio-2.0 >= 2.26.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GIO2_LIBS"; then pkg_cv_GIO2_LIBS="$GIO2_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gio-2.0 >= 2.26.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "gio-2.0 >= 2.26.0") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GIO2_LIBS=`$PKG_CONFIG --libs "gio-2.0 >= 2.26.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GIO2_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gio-2.0 >= 2.26.0" 2>&1` else GIO2_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gio-2.0 >= 2.26.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GIO2_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (gio-2.0 >= 2.26.0) were not met: $GIO2_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables GIO2_CFLAGS and GIO2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables GIO2_CFLAGS and GIO2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See 'config.log' for more details" "$LINENO" 5; } else GIO2_CFLAGS=$pkg_cv_GIO2_CFLAGS GIO2_LIBS=$pkg_cv_GIO2_LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } fi # Check whether --enable-schemas-compile was given. if test ${enable_schemas_compile+y} then : enableval=$enable_schemas_compile; case ${enableval} in yes) GSETTINGS_DISABLE_SCHEMAS_COMPILE="" ;; no) GSETTINGS_DISABLE_SCHEMAS_COMPILE="1" ;; *) as_fn_error $? "bad value ${enableval} for --enable-schemas-compile" "$LINENO" 5 ;; esac fi if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_PKG_CONFIG+y} then : printf %s "(cached) " >&6 else case e in #( e) case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_path_PKG_CONFIG="$as_dir$ac_word$ac_exec_ext" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 printf "%s\n" "$PKG_CONFIG" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} then : printf %s "(cached) " >&6 else case e in #( e) case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir$ac_word$ac_exec_ext" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac ;; esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then PKG_CONFIG="" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac PKG_CONFIG=$ac_pt_PKG_CONFIG fi else PKG_CONFIG="$ac_cv_path_PKG_CONFIG" fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.16 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } PKG_CONFIG="" fi fi if test -z "$PKG_CONFIG"; then as_fn_error $? "pkg-config not found" "$LINENO" 5 fi gsettingsschemadir=${datadir}/glib-2.0/schemas if test x$cross_compiling != xyes then : if test -n "$GLIB_COMPILE_SCHEMAS"; then pkg_cv_GLIB_COMPILE_SCHEMAS="$GLIB_COMPILE_SCHEMAS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gio-2.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "gio-2.0") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GLIB_COMPILE_SCHEMAS=`$PKG_CONFIG --variable="glib_compile_schemas" "gio-2.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi GLIB_COMPILE_SCHEMAS=$pkg_cv_GLIB_COMPILE_SCHEMAS if test "x$GLIB_COMPILE_SCHEMAS" = x"" then : fi else case e in #( e) # Extract the first word of "glib-compile-schemas", so it can be a program name with args. set dummy glib-compile-schemas; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_GLIB_COMPILE_SCHEMAS+y} then : printf %s "(cached) " >&6 else case e in #( e) case $GLIB_COMPILE_SCHEMAS in [\\/]* | ?:[\\/]*) ac_cv_path_GLIB_COMPILE_SCHEMAS="$GLIB_COMPILE_SCHEMAS" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_path_GLIB_COMPILE_SCHEMAS="$as_dir$ac_word$ac_exec_ext" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac ;; esac fi GLIB_COMPILE_SCHEMAS=$ac_cv_path_GLIB_COMPILE_SCHEMAS if test -n "$GLIB_COMPILE_SCHEMAS"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GLIB_COMPILE_SCHEMAS" >&5 printf "%s\n" "$GLIB_COMPILE_SCHEMAS" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi ;; esac fi if test "x$GLIB_COMPILE_SCHEMAS" = "x"; then as_fn_error $? "glib-compile-schemas not found." "$LINENO" 5 else : fi GSETTINGS_RULES=' .PHONY : uninstall-gsettings-schemas install-gsettings-schemas clean-gsettings-schemas mostlyclean-am: clean-gsettings-schemas gsettings__enum_file = $(addsuffix .enums.xml,$(gsettings_ENUM_NAMESPACE)) %.gschema.valid: %.gschema.xml $(gsettings__enum_file) $(AM_V_GEN) $(GLIB_COMPILE_SCHEMAS) --strict --dry-run $(addprefix --schema-file=,$(gsettings__enum_file)) --schema-file=$< && mkdir -p $(@D) && touch $@ all-am: $(gsettings_SCHEMAS:.xml=.valid) uninstall-am: uninstall-gsettings-schemas install-data-am: install-gsettings-schemas .SECONDARY: $(gsettings_SCHEMAS) install-gsettings-schemas: $(gsettings_SCHEMAS) $(gsettings__enum_file) @$(NORMAL_INSTALL) if test -n "$^"; then \ test -z "$(gsettingsschemadir)" || $(MKDIR_P) "$(DESTDIR)$(gsettingsschemadir)"; \ $(INSTALL_DATA) $^ "$(DESTDIR)$(gsettingsschemadir)"; \ test -n "$(GSETTINGS_DISABLE_SCHEMAS_COMPILE)$(DESTDIR)" || $(GLIB_COMPILE_SCHEMAS) $(gsettingsschemadir); \ fi uninstall-gsettings-schemas: @$(NORMAL_UNINSTALL) @list='\''$(gsettings_SCHEMAS) $(gsettings__enum_file)'\''; test -n "$(gsettingsschemadir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e '\''s|^.*/||'\''`; \ test -n "$$files" || exit 0; \ echo " ( cd '\''$(DESTDIR)$(gsettingsschemadir)'\'' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(gsettingsschemadir)" && rm -f $$files test -n "$(GSETTINGS_DISABLE_SCHEMAS_COMPILE)$(DESTDIR)" || $(GLIB_COMPILE_SCHEMAS) $(gsettingsschemadir) clean-gsettings-schemas: rm -f $(gsettings_SCHEMAS:.xml=.valid) $(gsettings__enum_file) ifdef gsettings_ENUM_NAMESPACE $(gsettings__enum_file): $(gsettings_ENUM_FILES) $(AM_V_GEN) glib-mkenums --comments '\'''\'' --fhead "" --vhead " <@type@ id='\''$(gsettings_ENUM_NAMESPACE).@EnumName@'\''>" --vprod " " --vtail " " --ftail "" $^ > $@.tmp && mv $@.tmp $@ endif ' # --disable-lua-extension # Check whether --enable-lua-extension was given. if test ${enable_lua_extension+y} then : enableval=$enable_lua_extension; enable_lua_extension=$enableval else case e in #( e) enable_lua_extension=yes ;; esac fi # check lua pkg_failed=no { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lua >= 5.1 " >&5 printf %s "checking for lua >= 5.1 ... " >&6; } if test -n "$LUA_CFLAGS"; then pkg_cv_LUA_CFLAGS="$LUA_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" lua >= 5.1 \""; } >&5 ($PKG_CONFIG --exists --print-errors " lua >= 5.1 ") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LUA_CFLAGS=`$PKG_CONFIG --cflags " lua >= 5.1 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$LUA_LIBS"; then pkg_cv_LUA_LIBS="$LUA_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" lua >= 5.1 \""; } >&5 ($PKG_CONFIG --exists --print-errors " lua >= 5.1 ") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LUA_LIBS=`$PKG_CONFIG --libs " lua >= 5.1 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then LUA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs " lua >= 5.1 " 2>&1` else LUA_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " lua >= 5.1 " 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$LUA_PKG_ERRORS" >&5 has_lua_extension=no elif test $pkg_failed = untried; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } has_lua_extension=no else LUA_CFLAGS=$pkg_cv_LUA_CFLAGS LUA_LIBS=$pkg_cv_LUA_LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } fi if test x"$has_lua_extension" = x"no"; then pkg_failed=no { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lua5.1 " >&5 printf %s "checking for lua5.1 ... " >&6; } if test -n "$LUA_CFLAGS"; then pkg_cv_LUA_CFLAGS="$LUA_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" lua5.1 \""; } >&5 ($PKG_CONFIG --exists --print-errors " lua5.1 ") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LUA_CFLAGS=`$PKG_CONFIG --cflags " lua5.1 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$LUA_LIBS"; then pkg_cv_LUA_LIBS="$LUA_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" lua5.1 \""; } >&5 ($PKG_CONFIG --exists --print-errors " lua5.1 ") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LUA_LIBS=`$PKG_CONFIG --libs " lua5.1 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then LUA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs " lua5.1 " 2>&1` else LUA_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " lua5.1 " 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$LUA_PKG_ERRORS" >&5 enable_lua_extension=no elif test $pkg_failed = untried; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } enable_lua_extension=no else LUA_CFLAGS=$pkg_cv_LUA_CFLAGS LUA_LIBS=$pkg_cv_LUA_LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } fi; fi if test x"$enable_lua_extension" = x"yes"; then IBUS_BUILD_LUA_EXTENSION_TRUE= IBUS_BUILD_LUA_EXTENSION_FALSE='#' else IBUS_BUILD_LUA_EXTENSION_TRUE='#' IBUS_BUILD_LUA_EXTENSION_FALSE= fi # --enable-cloud-input-mode CLOUD_INPUT_MODE="False" # Check whether --enable-cloud-input-mode was given. if test ${enable_cloud_input_mode+y} then : enableval=$enable_cloud_input_mode; enable_cloud_input_mode=$enableval else case e in #( e) enable_cloud_input_mode=no ;; esac fi if test x"$enable_cloud_input_mode" = x"yes"; then # check soup pkg_failed=no { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libsoup-3.0 >= 3.0" >&5 printf %s "checking for libsoup-3.0 >= 3.0... " >&6; } if test -n "$LIBSOUP_CFLAGS"; then pkg_cv_LIBSOUP_CFLAGS="$LIBSOUP_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsoup-3.0 >= 3.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "libsoup-3.0 >= 3.0") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBSOUP_CFLAGS=`$PKG_CONFIG --cflags "libsoup-3.0 >= 3.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$LIBSOUP_LIBS"; then pkg_cv_LIBSOUP_LIBS="$LIBSOUP_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsoup-3.0 >= 3.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "libsoup-3.0 >= 3.0") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBSOUP_LIBS=`$PKG_CONFIG --libs "libsoup-3.0 >= 3.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then LIBSOUP_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libsoup-3.0 >= 3.0" 2>&1` else LIBSOUP_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libsoup-3.0 >= 3.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$LIBSOUP_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (libsoup-3.0 >= 3.0) were not met: $LIBSOUP_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables LIBSOUP_CFLAGS and LIBSOUP_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables LIBSOUP_CFLAGS and LIBSOUP_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See 'config.log' for more details" "$LINENO" 5; } else LIBSOUP_CFLAGS=$pkg_cv_LIBSOUP_CFLAGS LIBSOUP_LIBS=$pkg_cv_LIBSOUP_LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } fi # check json-glib pkg_failed=no { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for json-glib-1.0 >= 1.0" >&5 printf %s "checking for json-glib-1.0 >= 1.0... " >&6; } if test -n "$JSONGLIB_CFLAGS"; then pkg_cv_JSONGLIB_CFLAGS="$JSONGLIB_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"json-glib-1.0 >= 1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "json-glib-1.0 >= 1.0") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_JSONGLIB_CFLAGS=`$PKG_CONFIG --cflags "json-glib-1.0 >= 1.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$JSONGLIB_LIBS"; then pkg_cv_JSONGLIB_LIBS="$JSONGLIB_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"json-glib-1.0 >= 1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "json-glib-1.0 >= 1.0") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_JSONGLIB_LIBS=`$PKG_CONFIG --libs "json-glib-1.0 >= 1.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then JSONGLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "json-glib-1.0 >= 1.0" 2>&1` else JSONGLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "json-glib-1.0 >= 1.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$JSONGLIB_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (json-glib-1.0 >= 1.0) were not met: $JSONGLIB_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables JSONGLIB_CFLAGS and JSONGLIB_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables JSONGLIB_CFLAGS and JSONGLIB_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See 'config.log' for more details" "$LINENO" 5; } else JSONGLIB_CFLAGS=$pkg_cv_JSONGLIB_CFLAGS JSONGLIB_LIBS=$pkg_cv_JSONGLIB_LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } fi CLOUD_INPUT_MODE="True" fi if test x"$enable_cloud_input_mode" = x"yes"; then ENABLE_CLOUD_INPUT_MODE_TRUE= ENABLE_CLOUD_INPUT_MODE_FALSE='#' else ENABLE_CLOUD_INPUT_MODE_TRUE='#' ENABLE_CLOUD_INPUT_MODE_FALSE= fi # --disable-english-input-mode # Check whether --enable-english-input-mode was given. if test ${enable_english_input_mode+y} then : enableval=$enable_english_input_mode; enable_english_input_mode=$enableval else case e in #( e) enable_english_input_mode=yes ;; esac fi if test x"$enable_english_input_mode" = x"yes"; then IBUS_BUILD_ENGLISH_INPUT_MODE_TRUE= IBUS_BUILD_ENGLISH_INPUT_MODE_FALSE='#' else IBUS_BUILD_ENGLISH_INPUT_MODE_TRUE='#' IBUS_BUILD_ENGLISH_INPUT_MODE_FALSE= fi # --disable-table-input-mode # Check whether --enable-table-input-mode was given. if test ${enable_table_input_mode+y} then : enableval=$enable_table_input_mode; enable_table_input_mode=$enableval else case e in #( e) enable_table_input_mode=yes ;; esac fi if test x"$enable_table_input_mode" = x"yes"; then IBUS_BUILD_TABLE_INPUT_MODE_TRUE= IBUS_BUILD_TABLE_INPUT_MODE_FALSE='#' else IBUS_BUILD_TABLE_INPUT_MODE_TRUE='#' IBUS_BUILD_TABLE_INPUT_MODE_FALSE= fi # --disable-libnotify # Check whether --enable-libnotify was given. if test ${enable_libnotify+y} then : enableval=$enable_libnotify; enable_libnotify=$enableval else case e in #( e) enable_libnotify=yes ;; esac fi if test x"$enable_libnotify" = x"yes"; then ENABLE_LIBNOTIFY_TRUE= ENABLE_LIBNOTIFY_FALSE='#' else ENABLE_LIBNOTIFY_TRUE='#' ENABLE_LIBNOTIFY_FALSE= fi if test x"$enable_libnotify" = x"yes"; then pkg_failed=no { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libnotify >= 0.7 " >&5 printf %s "checking for libnotify >= 0.7 ... " >&6; } if test -n "$LIBNOTIFY_CFLAGS"; then pkg_cv_LIBNOTIFY_CFLAGS="$LIBNOTIFY_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" libnotify >= 0.7 \""; } >&5 ($PKG_CONFIG --exists --print-errors " libnotify >= 0.7 ") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBNOTIFY_CFLAGS=`$PKG_CONFIG --cflags " libnotify >= 0.7 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$LIBNOTIFY_LIBS"; then pkg_cv_LIBNOTIFY_LIBS="$LIBNOTIFY_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" libnotify >= 0.7 \""; } >&5 ($PKG_CONFIG --exists --print-errors " libnotify >= 0.7 ") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBNOTIFY_LIBS=`$PKG_CONFIG --libs " libnotify >= 0.7 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then LIBNOTIFY_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs " libnotify >= 0.7 " 2>&1` else LIBNOTIFY_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " libnotify >= 0.7 " 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$LIBNOTIFY_PKG_ERRORS" >&5 as_fn_error $? "Package requirements ( libnotify >= 0.7 ) were not met: $LIBNOTIFY_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables LIBNOTIFY_CFLAGS and LIBNOTIFY_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables LIBNOTIFY_CFLAGS and LIBNOTIFY_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See 'config.log' for more details" "$LINENO" 5; } else LIBNOTIFY_CFLAGS=$pkg_cv_LIBNOTIFY_CFLAGS LIBNOTIFY_LIBS=$pkg_cv_LIBNOTIFY_LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } fi enable_libnotify="yes" fi # OUTPUT files ac_config_files="$ac_config_files po/Makefile.in Makefile ibus-libpinyin.spec lua/Makefile scripts/Makefile src/Makefile src/libpinyin.inputmethod.xml.in src/default.inputmethod.xml.in setup/Makefile setup/ibus-setup-libpinyin setup/config.py data/Makefile data/icons/Makefile m4/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # 'ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* 'ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # 'set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # 'set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 printf "%s\n" "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`printf "%s\n" "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 printf %s "checking that generated files are newer than configure... " >&6; } if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: done" >&5 printf "%s\n" "done" >&6; } if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' else am__EXEEXT_TRUE='#' am__EXEEXT_FALSE= fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 printf %s "checking that generated files are newer than configure... " >&6; } if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: done" >&5 printf "%s\n" "done" >&6; } if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${HAVE_BOOST_TRUE}" && test -z "${HAVE_BOOST_FALSE}"; then as_fn_error $? "conditional \"HAVE_BOOST\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${IBUS_BUILD_LUA_EXTENSION_TRUE}" && test -z "${IBUS_BUILD_LUA_EXTENSION_FALSE}"; then as_fn_error $? "conditional \"IBUS_BUILD_LUA_EXTENSION\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${ENABLE_CLOUD_INPUT_MODE_TRUE}" && test -z "${ENABLE_CLOUD_INPUT_MODE_FALSE}"; then as_fn_error $? "conditional \"ENABLE_CLOUD_INPUT_MODE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${IBUS_BUILD_ENGLISH_INPUT_MODE_TRUE}" && test -z "${IBUS_BUILD_ENGLISH_INPUT_MODE_FALSE}"; then as_fn_error $? "conditional \"IBUS_BUILD_ENGLISH_INPUT_MODE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${IBUS_BUILD_TABLE_INPUT_MODE_TRUE}" && test -z "${IBUS_BUILD_TABLE_INPUT_MODE_FALSE}"; then as_fn_error $? "conditional \"IBUS_BUILD_TABLE_INPUT_MODE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${ENABLE_LIBNOTIFY_TRUE}" && test -z "${ENABLE_LIBNOTIFY_FALSE}"; then as_fn_error $? "conditional \"ENABLE_LIBNOTIFY\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case e in #( e) case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac ;; esac fi # Reset variables that may have inherited troublesome values from # the environment. # IFS needs to be set, to space, tab, and newline, in precisely that order. # (If _AS_PATH_WALK were called with IFS unset, it would have the # side effect of setting IFS to empty, thus disabling word splitting.) # Quoting is to prevent editors from complaining about space-tab. as_nl=' ' export as_nl IFS=" "" $as_nl" PS1='$ ' PS2='> ' PS4='+ ' # Ensure predictable behavior from utilities with locale-dependent output. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # We cannot yet rely on "unset" to work, but we need these variables # to be unset--not just set to an empty or harmless value--now, to # avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct # also avoids known problems related to "unset" and subshell syntax # in other old shells (e.g. bash 2.01 and pdksh 5.2.14). for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH do eval test \${$as_var+y} \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done # Ensure that fds 0, 1, and 2 are open. if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi if (exec 3>&2) ; then :; else exec 2>/dev/null; fi # The user is always right. if ${PATH_SEPARATOR+false} :; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac test -r "$as_dir$0" && as_myself=$as_dir$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as 'sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi printf "%s\n" "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null then : eval 'as_fn_append () { eval $1+=\$2 }' else case e in #( e) as_fn_append () { eval $1=\$$1\$2 } ;; esac fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null then : eval 'as_fn_arith () { as_val=$(( $* )) }' else case e in #( e) as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } ;; esac fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || printf "%s\n" X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # Determine whether it's possible to make 'echo' print without a newline. # These variables are no longer used directly by Autoconf, but are AC_SUBSTed # for compatibility with existing Makefiles. ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac # For backward compatibility with old third-party macros, we provide # the shell variables $as_echo and $as_echo_n. New code should use # AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. as_echo='printf %s\n' as_echo_n='printf %s' rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both 'ln -s file dir' and 'ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; 'ln -s' creates a wrapper executable. # In both cases, we have to default to 'cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || printf "%s\n" X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_sed_cpp="y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" as_tr_cpp="eval sed '$as_sed_cpp'" # deprecated # Sed expression to map a string onto a valid variable name. as_sed_sh="y%*+%pp%;s%[^_$as_cr_alnum]%_%g" as_tr_sh="eval sed '$as_sed_sh'" # deprecated exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by ibus-libpinyin $as_me 1.16.1, which was generated by GNU Autoconf 2.72. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ '$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ ibus-libpinyin config.status 1.16.1 configured by $0, generated by GNU Autoconf 2.72, with options \\"\$ac_cs_config\\" Copyright (C) 2023 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) printf "%s\n" "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) printf "%s\n" "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header as_fn_error $? "ambiguous option: '$1' Try '$0 --help' for more information.";; --help | --hel | -h ) printf "%s\n" "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: '$1' Try '$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX printf "%s\n" "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' FILECMD='`$ECHO "$FILECMD" | $SED "$delay_single_quote_subst"`' OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' lt_ar_flags='`$ECHO "$lt_ar_flags" | $SED "$delay_single_quote_subst"`' AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`' predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`' postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`' predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`' postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`' compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`' LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`' reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`' reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`' old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`' GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`' archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`' enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`' export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`' old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`' archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`' module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`' allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`' hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`' hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`' hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`' hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`' hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`' inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`' link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`' always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`' export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`' exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`' include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`' prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`' postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`' file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`' hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`' compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`' predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`' postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`' predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`' postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`' compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`' LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$1 _LTECHO_EOF' } # Quote evaled strings. for var in SHELL \ ECHO \ PATH_SEPARATOR \ SED \ GREP \ EGREP \ FGREP \ LD \ NM \ LN_S \ lt_SP2NL \ lt_NL2SP \ reload_flag \ FILECMD \ OBJDUMP \ deplibs_check_method \ file_magic_cmd \ file_magic_glob \ want_nocaseglob \ DLLTOOL \ sharedlib_from_linklib_cmd \ AR \ archiver_list_spec \ STRIP \ RANLIB \ CC \ CFLAGS \ compiler \ lt_cv_sys_global_symbol_pipe \ lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_import \ lt_cv_sys_global_symbol_to_c_name_address \ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ lt_cv_nm_interface \ nm_file_list_spec \ lt_cv_truncate_bin \ lt_prog_compiler_no_builtin_flag \ lt_prog_compiler_pic \ lt_prog_compiler_wl \ lt_prog_compiler_static \ lt_cv_prog_compiler_c_o \ need_locks \ MANIFEST_TOOL \ DSYMUTIL \ NMEDIT \ LIPO \ OTOOL \ OTOOL64 \ shrext_cmds \ export_dynamic_flag_spec \ whole_archive_flag_spec \ compiler_needs_object \ with_gnu_ld \ allow_undefined_flag \ no_undefined_flag \ hardcode_libdir_flag_spec \ hardcode_libdir_separator \ exclude_expsyms \ include_expsyms \ file_list_spec \ variables_saved_for_relink \ libname_spec \ library_names_spec \ soname_spec \ install_override_mode \ finish_eval \ old_striplib \ striplib \ compiler_lib_search_dirs \ predep_objects \ postdep_objects \ predeps \ postdeps \ compiler_lib_search_path \ LD_CXX \ reload_flag_CXX \ compiler_CXX \ lt_prog_compiler_no_builtin_flag_CXX \ lt_prog_compiler_pic_CXX \ lt_prog_compiler_wl_CXX \ lt_prog_compiler_static_CXX \ lt_cv_prog_compiler_c_o_CXX \ export_dynamic_flag_spec_CXX \ whole_archive_flag_spec_CXX \ compiler_needs_object_CXX \ with_gnu_ld_CXX \ allow_undefined_flag_CXX \ no_undefined_flag_CXX \ hardcode_libdir_flag_spec_CXX \ hardcode_libdir_separator_CXX \ exclude_expsyms_CXX \ include_expsyms_CXX \ file_list_spec_CXX \ compiler_lib_search_dirs_CXX \ predep_objects_CXX \ postdep_objects_CXX \ predeps_CXX \ postdeps_CXX \ compiler_lib_search_path_CXX; do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in reload_cmds \ old_postinstall_cmds \ old_postuninstall_cmds \ old_archive_cmds \ extract_expsyms_cmds \ old_archive_from_new_cmds \ old_archive_from_expsyms_cmds \ archive_cmds \ archive_expsym_cmds \ module_cmds \ module_expsym_cmds \ export_symbols_cmds \ prelink_cmds \ postlink_cmds \ postinstall_cmds \ postuninstall_cmds \ finish_cmds \ sys_lib_search_path_spec \ configure_time_dlsearch_path \ configure_time_lt_sys_library_path \ reload_cmds_CXX \ old_archive_cmds_CXX \ old_archive_from_new_cmds_CXX \ old_archive_from_expsyms_cmds_CXX \ archive_cmds_CXX \ archive_expsym_cmds_CXX \ module_cmds_CXX \ module_expsym_cmds_CXX \ export_symbols_cmds_CXX \ prelink_cmds_CXX \ postlink_cmds_CXX; do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done ac_aux_dir='$ac_aux_dir' # See if we are running on zsh, and set the options that allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi PACKAGE='$PACKAGE' VERSION='$VERSION' RM='$RM' ofile='$ofile' # Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it # from automake < 1.5. eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;; "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "ibus-libpinyin.spec") CONFIG_FILES="$CONFIG_FILES ibus-libpinyin.spec" ;; "lua/Makefile") CONFIG_FILES="$CONFIG_FILES lua/Makefile" ;; "scripts/Makefile") CONFIG_FILES="$CONFIG_FILES scripts/Makefile" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "src/libpinyin.inputmethod.xml.in") CONFIG_FILES="$CONFIG_FILES src/libpinyin.inputmethod.xml.in" ;; "src/default.inputmethod.xml.in") CONFIG_FILES="$CONFIG_FILES src/default.inputmethod.xml.in" ;; "setup/Makefile") CONFIG_FILES="$CONFIG_FILES setup/Makefile" ;; "setup/ibus-setup-libpinyin") CONFIG_FILES="$CONFIG_FILES setup/ibus-setup-libpinyin" ;; "setup/config.py") CONFIG_FILES="$CONFIG_FILES setup/config.py" ;; "data/Makefile") CONFIG_FILES="$CONFIG_FILES data/Makefile" ;; "data/icons/Makefile") CONFIG_FILES="$CONFIG_FILES data/icons/Makefile" ;; "m4/Makefile") CONFIG_FILES="$CONFIG_FILES m4/Makefile" ;; *) as_fn_error $? "invalid argument: '$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers test ${CONFIG_COMMANDS+y} || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to '$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with './config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with './config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script 'defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_tt=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_tt"; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' >$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag '$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain ':'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: '$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is 'configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 printf "%s\n" "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`printf "%s\n" "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || printf "%s\n" X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when '$srcdir' = '.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable 'datarootdir' which seems to be undefined. Please make sure it is defined" >&5 printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable 'datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { printf "%s\n" "/* $configure_input */" >&1 \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" } >"$ac_tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 printf "%s\n" "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$ac_tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else printf "%s\n" "/* $configure_input */" >&1 \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$_am_arg" : 'X\(//\)[^/]' \| \ X"$_am_arg" : 'X\(//\)$' \| \ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || printf "%s\n" X"$_am_arg" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 printf "%s\n" "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. # TODO: see whether this extra hack can be removed once we start # requiring Autoconf 2.70 or later. case $CONFIG_FILES in #( *\'*) : eval set x "$CONFIG_FILES" ;; #( *) : set x $CONFIG_FILES ;; #( *) : ;; esac shift # Used to flag and report bootstrapping failures. am_rc=0 for am_mf do # Strip MF so we end up with the name of the file. am_mf=`printf "%s\n" "$am_mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile which includes # dependency-tracking related rules and includes. # Grep'ing the whole file directly is not great: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ || continue am_dirpart=`$as_dirname -- "$am_mf" || $as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$am_mf" : 'X\(//\)[^/]' \| \ X"$am_mf" : 'X\(//\)$' \| \ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || printf "%s\n" X"$am_mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` am_filepart=`$as_basename -- "$am_mf" || $as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ X"$am_mf" : 'X\(//\)$' \| \ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || printf "%s\n" X/"$am_mf" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` { echo "$as_me:$LINENO: cd "$am_dirpart" \ && sed -e '/# am--include-marker/d' "$am_filepart" \ | $MAKE -f - am--depfiles" >&5 (cd "$am_dirpart" \ && sed -e '/# am--include-marker/d' "$am_filepart" \ | $MAKE -f - am--depfiles) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } || am_rc=$? done if test $am_rc -ne 0; then { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "Something went wrong bootstrapping makefile fragments for automatic dependency tracking. If GNU make was not used, consider re-running the configure script with MAKE=\"gmake\" (or whatever is necessary). You can also try re-running configure with the '--disable-dependency-tracking' option to at least be able to build the package (albeit without support for automatic dependency tracking). See 'config.log' for more details" "$LINENO" 5; } fi { am_dirpart=; unset am_dirpart;} { am_filepart=; unset am_filepart;} { am_mf=; unset am_mf;} { am_rc=; unset am_rc;} rm -f conftest-deps.mk } ;; "libtool":C) # See if we are running on zsh, and set the options that allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi cfgfile=${ofile}T trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # Generated automatically by $as_me ($PACKAGE) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # Provide generalized library-building support services. # Written by Gordon Matzigkeit, 1996 # Copyright (C) 2014 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # GNU Libtool is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of of the License, or # (at your option) any later version. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program or library that is built # using GNU Libtool, you may include this file under the same # distribution terms that you use for the rest of that program. # # GNU Libtool 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 General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # The names of the tagged configurations supported by this script. available_tags='CXX ' # Configured defaults for sys_lib_dlsearch_path munging. : \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} # ### BEGIN LIBTOOL CONFIG # Whether or not to build static libraries. build_old_libs=$enable_static # Which release of libtool.m4 was used? macro_version=$macro_version macro_revision=$macro_revision # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # What type of objects to build. pic_mode=$pic_mode # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # Shared archive member basename,for filename based shared library versioning on AIX. shared_archive_member_spec=$shared_archive_member_spec # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # An echo program that protects backslashes. ECHO=$lt_ECHO # The PATH separator for the build system. PATH_SEPARATOR=$lt_PATH_SEPARATOR # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # A sed program that does not truncate output. SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. Xsed="\$SED -e 1s/^X//" # A grep program that handles long lines. GREP=$lt_GREP # An ERE matcher. EGREP=$lt_EGREP # A literal string matcher. FGREP=$lt_FGREP # A BSD- or MS-compatible name lister. NM=$lt_NM # Whether we need soft or hard links. LN_S=$lt_LN_S # What is the maximum length of a command? max_cmd_len=$max_cmd_len # Object file suffix (normally "o"). objext=$ac_objext # Executable file suffix (normally ""). exeext=$exeext # whether the shell understands "unset". lt_unset=$lt_unset # turn spaces into newlines. SP2NL=$lt_lt_SP2NL # turn newlines into spaces. NL2SP=$lt_lt_NL2SP # convert \$build file names to \$host format. to_host_file_cmd=$lt_cv_to_host_file_cmd # convert \$build files to toolchain format. to_tool_file_cmd=$lt_cv_to_tool_file_cmd # A file(cmd) program that detects file types. FILECMD=$lt_FILECMD # An object symbol dumper. OBJDUMP=$lt_OBJDUMP # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method # Command to use when deplibs_check_method = "file_magic". file_magic_cmd=$lt_file_magic_cmd # How to find potential files when deplibs_check_method = "file_magic". file_magic_glob=$lt_file_magic_glob # Find potential files using nocaseglob when deplibs_check_method = "file_magic". want_nocaseglob=$lt_want_nocaseglob # DLL creation program. DLLTOOL=$lt_DLLTOOL # Command to associate shared and link libraries. sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd # The archiver. AR=$lt_AR # Flags to create an archive (by configure). lt_ar_flags=$lt_ar_flags # Flags to create an archive. AR_FLAGS=\${ARFLAGS-"\$lt_ar_flags"} # How to feed a file listing to the archiver. archiver_list_spec=$lt_archiver_list_spec # A symbol stripping program. STRIP=$lt_STRIP # Commands used to install an old-style archive. RANLIB=$lt_RANLIB old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # Whether to use a lock for old archive extraction. lock_old_archive_extraction=$lock_old_archive_extraction # A C compiler. LTCC=$lt_CC # LTCC compiler flags. LTCFLAGS=$lt_CFLAGS # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration. global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm into a list of symbols to manually relocate. global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import # Transform the output of nm in a C name address pair. global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # Transform the output of nm in a C name address pair when lib prefix is needed. global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix # The name lister interface. nm_interface=$lt_lt_cv_nm_interface # Specify filename containing input files for \$NM. nm_file_list_spec=$lt_nm_file_list_spec # The root where to search for dependent libraries,and where our libraries should be installed. lt_sysroot=$lt_sysroot # Command to truncate a binary pipe. lt_truncate_bin=$lt_lt_cv_truncate_bin # The name of the directory that contains temporary libtool files. objdir=$objdir # Used to examine libraries when file_magic_cmd begins with "file". MAGIC_CMD=$MAGIC_CMD # Must we lock files when doing compilation? need_locks=$lt_need_locks # Manifest tool. MANIFEST_TOOL=$lt_MANIFEST_TOOL # Tool to manipulate archived DWARF debug symbol files on Mac OS X. DSYMUTIL=$lt_DSYMUTIL # Tool to change global to local symbols on Mac OS X. NMEDIT=$lt_NMEDIT # Tool to manipulate fat objects and archives on Mac OS X. LIPO=$lt_LIPO # ldd/readelf like tool for Mach-O binaries on Mac OS X. OTOOL=$lt_OTOOL # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. OTOOL64=$lt_OTOOL64 # Old archive suffix (normally "a"). libext=$libext # Shared library suffix (normally ".so"). shrext_cmds=$lt_shrext_cmds # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Variables whose values should be saved in libtool wrapper scripts and # restored at link time. variables_saved_for_relink=$lt_variables_saved_for_relink # Do we need the "lib" prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Library versioning type. version_type=$version_type # Shared library runtime path variable. runpath_var=$runpath_var # Shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Permission mode override for installation of shared libraries. install_override_mode=$lt_install_override_mode # Command to use after installation of a shared archive. postinstall_cmds=$lt_postinstall_cmds # Command to use after uninstallation of a shared archive. postuninstall_cmds=$lt_postuninstall_cmds # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # As "finish_cmds", except a single script fragment to be evaled but # not shown. finish_eval=$lt_finish_eval # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Compile-time system search path for libraries. sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Detected run-time system search path for libraries. sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path # Explicit LT_SYS_LIBRARY_PATH set during ./configure time. configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # The linker used to build libraries. LD=$lt_LD # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds # A language specific compiler. CC=$lt_compiler # Is the compiler the GNU compiler? with_gcc=$GCC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds archive_expsym_cmds=$lt_archive_expsym_cmds # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds module_expsym_cmds=$lt_module_expsym_cmds # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \$shlibpath_var if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms # Symbols that must always be exported. include_expsyms=$lt_include_expsyms # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds # Commands necessary for finishing linking programs. postlink_cmds=$lt_postlink_cmds # Specify filename containing input files. file_list_spec=$lt_file_list_spec # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action # The directories searched by this compiler when creating a shared library. compiler_lib_search_dirs=$lt_compiler_lib_search_dirs # Dependencies to place before and after the objects being linked to # create a shared library. predep_objects=$lt_predep_objects postdep_objects=$lt_postdep_objects predeps=$lt_predeps postdeps=$lt_postdeps # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path # ### END LIBTOOL CONFIG _LT_EOF cat <<'_LT_EOF' >> "$cfgfile" # ### BEGIN FUNCTIONS SHARED WITH CONFIGURE # func_munge_path_list VARIABLE PATH # ----------------------------------- # VARIABLE is name of variable containing _space_ separated list of # directories to be munged by the contents of PATH, which is string # having a format: # "DIR[:DIR]:" # string "DIR[ DIR]" will be prepended to VARIABLE # ":DIR[:DIR]" # string "DIR[ DIR]" will be appended to VARIABLE # "DIRP[:DIRP]::[DIRA:]DIRA" # string "DIRP[ DIRP]" will be prepended to VARIABLE and string # "DIRA[ DIRA]" will be appended to VARIABLE # "DIR[:DIR]" # VARIABLE will be replaced by "DIR[ DIR]" func_munge_path_list () { case x$2 in x) ;; *:) eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" ;; x:*) eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" ;; *::*) eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" ;; *) eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" ;; esac } # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. func_cc_basename () { for cc_temp in $*""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` } # ### END FUNCTIONS SHARED WITH CONFIGURE _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test set != "${COLLECT_NAMES+set}"; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac ltmain=$ac_aux_dir/ltmain.sh # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? $SED '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" cat <<_LT_EOF >> "$ofile" # ### BEGIN LIBTOOL TAG CONFIG: CXX # The linker used to build libraries. LD=$lt_LD_CXX # How to create reloadable object files. reload_flag=$lt_reload_flag_CXX reload_cmds=$lt_reload_cmds_CXX # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds_CXX # A language specific compiler. CC=$lt_compiler_CXX # Is the compiler the GNU compiler? with_gcc=$GCC_CXX # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_CXX # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl_CXX # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static_CXX # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc_CXX # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object_CXX # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds_CXX archive_expsym_cmds=$lt_archive_expsym_cmds_CXX # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds_CXX module_expsym_cmds=$lt_module_expsym_cmds_CXX # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld_CXX # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag_CXX # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_CXX # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct_CXX # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \$shlibpath_var if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute_CXX # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L_CXX # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic_CXX # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath_CXX # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs_CXX # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols_CXX # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_CXX # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms_CXX # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_CXX # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds_CXX # Commands necessary for finishing linking programs. postlink_cmds=$lt_postlink_cmds_CXX # Specify filename containing input files. file_list_spec=$lt_file_list_spec_CXX # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action_CXX # The directories searched by this compiler when creating a shared library. compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX # Dependencies to place before and after the objects being linked to # create a shared library. predep_objects=$lt_predep_objects_CXX postdep_objects=$lt_postdep_objects_CXX predeps=$lt_predeps_CXX postdeps=$lt_postdeps_CXX # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_CXX # ### END LIBTOOL TAG CONFIG: CXX _LT_EOF ;; "po-directories":C) for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Treat a directory as a PO directory if and only if it has a # POTFILES.in file. This allows packages to have multiple PO # directories under different names or in different locations. if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" gt_tab=`printf '\t'` cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assignment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. # Hide the ALL_LINGUAS assignment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) # Compute UPDATEPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) # Compute DUMMYPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) # Compute GMOFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= UPDATEPOFILES= DUMMYPOFILES= GMOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Build options: Version $VERSION Install prefix $prefix Use boost $enable_boost Use opencc $enable_opencc Enable libnotify $enable_libnotify Use libpinyin $enable_libpinyin Build lua extension $enable_lua_extension Build cloud input mode $enable_cloud_input_mode Build table input mode $enable_table_input_mode Build english input mode $enable_english_input_mode " >&5 printf "%s\n" " Build options: Version $VERSION Install prefix $prefix Use boost $enable_boost Use opencc $enable_opencc Enable libnotify $enable_libnotify Use libpinyin $enable_libpinyin Build lua extension $enable_lua_extension Build cloud input mode $enable_cloud_input_mode Build table input mode $enable_table_input_mode Build english input mode $enable_english_input_mode " >&6; } ibus-libpinyin-1.16.1/install-sh0000744000175000017500000003610514767166740012247 #!/usr/bin/sh # install - install a program, script, or datafile scriptversion=2023-11-23.18; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # 'make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. tab=' ' nl=' ' IFS=" $tab$nl" # Set DOITPROG to "echo" to test this script. doit=${DOITPROG-} doit_exec=${doit:-exec} # Put in absolute file names if you don't have them in your path; # or use environment vars. chgrpprog=${CHGRPPROG-chgrp} chmodprog=${CHMODPROG-chmod} chownprog=${CHOWNPROG-chown} cmpprog=${CMPPROG-cmp} cpprog=${CPPROG-cp} mkdirprog=${MKDIRPROG-mkdir} mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} posix_mkdir= # Desired mode of installed file. mode=0755 # Create dirs (including intermediate dirs) using mode 755. # This is like GNU 'install' as of coreutils 8.32 (2020). mkdir_umask=22 backupsuffix= chgrpcmd= chmodcmd=$chmodprog chowncmd= mvcmd=$mvprog rmcmd="$rmprog -f" stripcmd= src= dst= dir_arg= dst_arg= copy_on_change=false is_target_a_directory=possibly usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --help display this help and exit. --version display version info and exit. -c (ignored) -C install only if different (preserve data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -p pass -p to $cpprog. -s $stripprog installed files. -S SUFFIX attempt to back up existing files, with suffix SUFFIX. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG By default, rm is invoked with -f; when overridden with RMPROG, it's up to you to specify -f if you want it. If -S is not specified, no backups are attempted. Report bugs to . GNU Automake home page: . General help using GNU software: ." while test $# -ne 0; do case $1 in -c) ;; -C) copy_on_change=true;; -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 case $mode in *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac shift;; -o) chowncmd="$chownprog $2" shift;; -p) cpprog="$cpprog -p";; -s) stripcmd=$stripprog;; -S) backupsuffix="$2" shift;; -t) is_target_a_directory=always dst_arg=$2 # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac shift;; -T) is_target_a_directory=never;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac shift done # We allow the use of options -d and -T together, by making -d # take the precedence; this is for compatibility with GNU install. if test -n "$dir_arg"; then if test -n "$dst_arg"; then echo "$0: target directory not allowed when installing a directory." >&2 exit 1 fi fi if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dst_arg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dst_arg" shift # fnord fi shift # arg dst_arg=$arg # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call 'install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then if test $# -gt 1 || test "$is_target_a_directory" = always; then if test ! -d "$dst_arg"; then echo "$0: $dst_arg: Is not a directory." >&2 exit 1 fi fi fi if test -z "$dir_arg"; then do_exit='(exit $ret); exit $ret' trap "ret=129; $do_exit" 1 trap "ret=130; $do_exit" 2 trap "ret=141; $do_exit" 13 trap "ret=143; $do_exit" 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names problematic for 'test' and other utilities. case $src in -* | [=\(\)!]) src=./$src;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? # Don't chown directories that already exist. if test $dstdir_status = 0; then chowncmd="" fi else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dst_arg # If destination is a directory, append the input filename. if test -d "$dst"; then if test "$is_target_a_directory" = never; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst dstbase=`basename "$src"` case $dst in */) dst=$dst$dstbase;; *) dst=$dst/$dstbase;; esac dstdir_status=0 else dstdir=`dirname "$dst"` test -d "$dstdir" dstdir_status=$? fi fi case $dstdir in */) dstdirslash=$dstdir;; *) dstdirslash=$dstdir/;; esac obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false # The $RANDOM variable is not portable (e.g., dash). Use it # here however when possible just to lower collision chance. tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap ' ret=$? rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null exit $ret ' 0 # Because "mkdir -p" follows existing symlinks and we likely work # directly in world-writeable /tmp, make sure that the '$tmpdir' # directory is successfully created first before we actually test # 'mkdir -p'. if (umask $mkdir_umask && $mkdirprog $mkdir_mode "$tmpdir" && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. test_tmpdir="$tmpdir/a" ls_ld_tmpdir=`ls -ld "$test_tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null fi trap '' 0;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix='/';; [-=\(\)!]*) prefix='./';; *) prefix='';; esac oIFS=$IFS IFS=/ set -f set fnord $dstdir shift set +f IFS=$oIFS prefixes= for d do test X"$d" = X && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=${dstdirslash}_inst.$$_ rmtmp=${dstdirslash}_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && { test -z "$stripcmd" || { # Create $dsttmp read-write so that cp doesn't create it read-only, # which would cause strip to fail. if test -z "$doit"; then : >"$dsttmp" # No need to fork-exec 'touch'. else $doit touch "$dsttmp" fi } } && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then rm -f "$dsttmp" else # If $backupsuffix is set, and the file being installed # already exists, attempt a backup. Don't worry if it fails, # e.g., if mv doesn't support -f. if test -n "$backupsuffix" && test -f "$dst"; then $doit $mvcmd -f "$dst" "$dst$backupsuffix" 2>/dev/null fi # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. { # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { test ! -f "$dst" || $doit $rmcmd "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && { $doit $rmcmd "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: ibus-libpinyin-1.16.1/lua/0000755000175000017500000000000014767172143011073 5ibus-libpinyin-1.16.1/lua/user.lua0000664000175000017500000000014313603572544012471 -- encoding: UTF-8 -- Note: the changes in user.lua script may take effect only after ime restart.ibus-libpinyin-1.16.1/lua/lua-plugin-init.c0000644000175000017500000002774714605466754014223 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2010 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include "lua-plugin.h" #if LUA_VERSION_NUM >= 502 /* ugly hack for lua 5.2 */ #ifndef lua_objlen #define lua_objlen lua_rawlen #endif #endif static const luaL_Reg lualibs[] = { {"", luaopen_base}, {LUA_TABLIBNAME, luaopen_table}, {LUA_IOLIBNAME, luaopen_io}, {LUA_OSLIBNAME, luaopen_myos}, {LUA_STRLIBNAME, luaopen_string}, {LUA_MATHLIBNAME, luaopen_math}, {LUA_IMELIBNAME, luaopen_ime}, {NULL, NULL} }; void lua_plugin_openlibs (lua_State *L) { const luaL_Reg *lib = lualibs; for (; lib->func; lib++) { #if LUA_VERSION_NUM >= 502 luaL_requiref(L, lib->name, lib->func, TRUE); #else lua_pushcfunction(L, lib->func); lua_pushstring(L, lib->name); lua_call(L, 1, 0); #endif } } void lua_plugin_store_plugin(lua_State * L, IBusEnginePlugin * plugin){ luaL_newmetatable(L, LUA_IMELIBNAME); lua_pushliteral(L, LUA_IMELIB_CONTEXT); lua_pushlightuserdata(L, plugin); lua_rawset(L, -3); lua_pop(L, 1); } IBusEnginePlugin * lua_plugin_retrieve_plugin(lua_State * L) { luaL_newmetatable(L, LUA_IMELIBNAME); lua_pushliteral(L, LUA_IMELIB_CONTEXT); lua_rawget(L, -2); luaL_checktype(L, -1, LUA_TLIGHTUSERDATA); IBusEnginePlugin * plugin = lua_touserdata(L, -1); g_assert(IBUS_IS_ENGINE_PLUGIN(plugin)); lua_pop(L, 2); return plugin; } static int ime_get_last_commit(lua_State* L){ /*TODO: not implemented. */ fprintf(stderr, "TODO: ime_get_last_commit unimplemented.\n"); lua_pushstring(L, ""); return 1; } static int ime_get_version(lua_State* L){ /* TODO: replace this with C macros. */ lua_pushliteral(L, "ibus-libpinyin 1.4.0"); return 1; } static int ime_int_to_hex_string(lua_State* L){ lua_Integer val = luaL_checkinteger(L, 1); lua_Integer width = luaL_optinteger(L, 2, -1); luaL_Buffer buf; luaL_buffinit(L, &buf); gchar * str = g_strdup_printf("%0*x", width, val); luaL_addstring(&buf, str); g_free(str); luaL_pushresult(&buf); lua_remove(L, 2); lua_remove(L, 1); return 1; } static int ime_join_string(lua_State* L){ luaL_Buffer buf; size_t vec_len; size_t i; const char * sep; const char * str; luaL_checktype(L, 1, LUA_TTABLE); sep = luaL_checklstring(L, 2, NULL); vec_len = lua_objlen(L, 1); if ( 0 == vec_len ){ lua_pop(L, 2); lua_pushliteral(L, ""); return 1; } luaL_buffinit(L, &buf); for ( i = 1; i < vec_len; ++i){ lua_pushinteger(L, i); lua_gettable(L, 1); str = luaL_checklstring(L, -1, NULL); luaL_addstring(&buf, str); lua_pop(L, 1); luaL_addstring(&buf, sep); } /* add tail of string list */ lua_pushinteger(L, i); lua_gettable(L, 1); str = luaL_checklstring(L, -1, NULL); luaL_addstring(&buf, str); lua_pop(L, 1); /* remove the args. */ lua_pop(L, 2); luaL_pushresult(&buf); return 1; } static int ime_parse_mapping(lua_State * L){ const char * src_string, * line_sep, * key_value_sep, * values_sep; int m, n; gchar** lines = NULL; size_t lines_no = 0; const char * line; gchar** key_value = NULL; const char * key = NULL; gchar** values = NULL; size_t values_no = 0; const char * value = NULL; src_string = luaL_checklstring(L, 1, NULL); line_sep = luaL_checklstring(L, 2, NULL); key_value_sep = luaL_checklstring(L, 3, NULL); values_sep = luaL_checklstring(L, 4, NULL); lines = g_strsplit(src_string, line_sep, 0); lines_no = g_strv_length(lines); lua_createtable(L, 0, lines_no); for( m = 0; m < lines_no; ++m){ line = lines[m]; if ( NULL == line || '\0' == line[0]) continue; key_value = g_strsplit(line, key_value_sep, 2); key = key_value[0]; /* value = key_value[1]; */ if ( NULL == key || '\0' == key[0]) continue; { values = g_strsplit(key_value[1], values_sep, 0); values_no = g_strv_length(values); lua_createtable(L, values_no, 0); for ( n = 0; n < values_no; ++n){ value = values[n]; if ( NULL == value || '\0' == value[0] ) continue; lua_pushinteger(L, n + 1); lua_pushstring(L, value); lua_settable(L, 6); } g_strfreev(values); } lua_pushstring(L, key); lua_insert(L, 6); lua_settable(L, 5); g_strfreev(key_value); } g_strfreev(lines); /*remove args */ lua_remove(L, 4); lua_remove(L, 3); lua_remove(L, 2); lua_remove(L, 1); return 1; } static int ime_register_command(lua_State * L){ lua_command_t new_command; size_t l; memset(&new_command, 0, sizeof(new_command)); new_command.command_name = luaL_checklstring(L, 1, &l); if ( 2 != l ){ return luaL_error(L, "ime_register_command is called with command_name: %s, whose length is not 2.\n", new_command.command_name); } new_command.lua_function_name = luaL_checklstring(L, 2, NULL); lua_getglobal(L, new_command.lua_function_name); luaL_checktype(L, -1, LUA_TFUNCTION); lua_pop(L, 1); new_command.description = luaL_checklstring(L, 3, NULL); if ( !lua_isnone(L, 4)) { new_command.leading = luaL_checklstring(L, 4, NULL); }else{ new_command.leading = "digit"; } if ( !lua_isnone(L, 5)) { new_command.help = luaL_checklstring(L, 5, NULL); } gboolean result = ibus_engine_plugin_add_command (lua_plugin_retrieve_plugin(L), &new_command); if (!result) return luaL_error(L, "register command %s with function %s failed.\n", new_command.command_name, new_command.lua_function_name); return 0; } static int ime_register_trigger(lua_State * L){ lua_trigger_t new_trigger; memset(&new_trigger, 0, sizeof(new_trigger)); new_trigger.lua_function_name = luaL_checklstring(L, 1, NULL); lua_getglobal(L, new_trigger.lua_function_name); luaL_checktype(L, -1, LUA_TFUNCTION); lua_pop(L, 1); new_trigger.description = luaL_checklstring(L, 2, NULL); size_t num; gint i; GPtrArray *array; /* register_trigger with input_trigger_strings. */ array = g_ptr_array_new(); luaL_checktype(L, 3, LUA_TTABLE); num = lua_objlen(L, 3); for ( i = 0; i < num; ++i) { lua_pushinteger(L, i + 1); lua_gettable(L, 3); g_ptr_array_add(array, (gpointer)lua_tostring(L, -1)); lua_pop(L, 1); } g_ptr_array_add(array, NULL); new_trigger.input_trigger_strings = (gchar **)g_ptr_array_free(array, FALSE); /* register_trigger with candidate_trigger_strings. */ array = g_ptr_array_new(); luaL_checktype(L, 4, LUA_TTABLE); num = lua_objlen(L, 4); for ( i = 0; i < num; ++i) { lua_pushinteger(L, i + 1); lua_gettable(L, 4); g_ptr_array_add(array, (gpointer)lua_tostring(L, -1)); lua_pop(L, 1); } g_ptr_array_add(array, NULL); new_trigger.candidate_trigger_strings = (gchar **)g_ptr_array_free(array, FALSE); gboolean result = ibus_engine_plugin_add_trigger (lua_plugin_retrieve_plugin(L), &new_trigger); g_free(new_trigger.input_trigger_strings); g_free(new_trigger.candidate_trigger_strings); if (!result) return luaL_error(L, "register trigger with function %s failed.\n", new_trigger.lua_function_name); return 0; } static int ime_register_converter(lua_State * L){ lua_converter_t new_converter; memset(&new_converter, 0, sizeof(new_converter)); new_converter.lua_function_name = luaL_checklstring(L, 1, NULL); lua_getglobal(L, new_converter.lua_function_name); luaL_checktype(L, -1, LUA_TFUNCTION); lua_pop(L, 1); new_converter.description = luaL_checklstring(L, 2, NULL); gboolean result = ibus_engine_plugin_add_converter (lua_plugin_retrieve_plugin(L), &new_converter); if (!result) return luaL_error(L, "register converter with function %s failed.\n", new_converter.lua_function_name); return 0; } static int ime_split_string(lua_State * L){ gchar ** str_vec; guint str_vec_len = 0; int i; const char * sep; const char * str = luaL_checklstring(L, 1, NULL); sep = luaL_checklstring(L, 2, NULL); str_vec = g_strsplit(str, sep, 0); str_vec_len = g_strv_length(str_vec); lua_createtable(L, str_vec_len, 0); for ( i = 0; i < str_vec_len; ++i){ lua_pushinteger(L, i + 1); lua_pushstring(L, str_vec[i]); lua_settable(L, 3); } g_strfreev(str_vec); lua_remove(L, 2); /* remove sep from stack */ lua_remove(L, 1); /* remove str from stack */ return 1; } static gboolean ime_is_white_space(const char c){ static const char * const white_space = " \t\n\r\v\f"; int i; size_t len = strlen(white_space); for ( i = 0; i < len; ++i){ if ( white_space[i] == c ) return TRUE; } return FALSE; } static int ime_push_string(lua_State* L, const char * s, int start, int end){ if (start >= end ){ lua_pushliteral(L, ""); return 1; } lua_pushlstring(L, s + start, end -start); lua_remove(L, 1); return 1; } static int ime_trim_string_left(lua_State* L){ size_t l; int start, end; const char * s = luaL_checklstring(L, 1, &l); start = 0; end = l; while( ime_is_white_space(s[start])){ start++; } return ime_push_string(L, s, start, end); } static int ime_trim_string_right(lua_State* L){ size_t l; int start, end; const char * s = luaL_checklstring(L, 1, &l); start = 0; end = l; while( ime_is_white_space(s[end - 1]) && end > 0){ end--; } return ime_push_string(L, s, start, end); } static int ime_trim_string(lua_State* L){ size_t l; int start, end; const char * s = luaL_checklstring(L, 1, &l); start = 0; end = l; while( ime_is_white_space(s[start])){ start++; } while( ime_is_white_space(s[end - 1]) && end > 0){ end--; } return ime_push_string(L, s, start, end); } static int ime_utf8_to_utf16(lua_State* L){ size_t l; const char * s = luaL_checklstring(L, 1, &l); luaL_Buffer buf; luaL_buffinit(L, &buf); glong written = 0; gunichar2 * str = g_utf8_to_utf16(s, l, NULL, &written, NULL); /* not includes trailing-zero */ luaL_addlstring(&buf, (const char *)str, written * sizeof(gunichar2)); luaL_pushresult(&buf); g_free(str); lua_remove(L, 1); return 1; } static int ime_utf16_to_utf8(lua_State* L){ size_t l; const gunichar2 * s = (const gunichar2 *)luaL_checklstring(L, 1, &l); luaL_Buffer buf; luaL_buffinit(L, &buf); glong written = 0; gchar * str = g_utf16_to_utf8(s, l / sizeof(gunichar2), NULL, &written, NULL ); /* not includes trailing-zero */ luaL_addlstring(&buf, str, written * sizeof(gchar)); luaL_pushresult(&buf); g_free(str); lua_remove(L, 1); return 1; } static const luaL_Reg imelib[] = { {"get_last_commit", ime_get_last_commit}, {"get_version", ime_get_version}, {"int_to_hex_string", ime_int_to_hex_string}, {"join_string", ime_join_string}, {"parse_mapping", ime_parse_mapping}, {"register_command", ime_register_command}, {"register_converter", ime_register_converter}, {"register_trigger", ime_register_trigger}, {"split_string", ime_split_string}, {"trim_string_left", ime_trim_string_left}, {"trim_string_right", ime_trim_string_right}, {"trim_string", ime_trim_string}, {"utf16_to_utf8", ime_utf16_to_utf8}, {"utf8_to_utf16", ime_utf8_to_utf16}, {NULL, NULL} }; LUALIB_API int luaopen_ime (lua_State *L) { #if LUA_VERSION_NUM >= 502 luaL_newlib(L, imelib); #else luaL_register(L, LUA_IMELIBNAME, imelib); #endif return 1; } ibus-libpinyin-1.16.1/lua/lmyoslib.c0000664000175000017500000000771413705514367013023 /* ** $Id: loslib.c,v 1.19.1.3 2008/01/18 16:38:18 roberto Exp $ ** Standard Operating System library ** See Copyright Notice in lua.h */ #include #include #include #include #include #define loslib_c #define LUA_LIB #include "lua.h" #include "lauxlib.h" #include "lualib.h" /* ** {====================================================== ** Time/Date operations ** { year=%Y, month=%m, day=%d, hour=%H, min=%M, sec=%S, ** wday=%w+1, yday=%j, isdst=? } ** ======================================================= */ static void setfield (lua_State *L, const char *key, int value) { lua_pushinteger(L, value); lua_setfield(L, -2, key); } static void setboolfield (lua_State *L, const char *key, int value) { if (value < 0) /* undefined? */ return; /* does not set field */ lua_pushboolean(L, value); lua_setfield(L, -2, key); } static int getboolfield (lua_State *L, const char *key) { int res; lua_getfield(L, -1, key); res = lua_isnil(L, -1) ? -1 : lua_toboolean(L, -1); lua_pop(L, 1); return res; } static int getfield (lua_State *L, const char *key, int d) { int res; lua_getfield(L, -1, key); if (lua_isnumber(L, -1)) res = (int)lua_tointeger(L, -1); else { if (d < 0) return luaL_error(L, "field '%s' missing in date table", key); res = d; } lua_pop(L, 1); return res; } static int os_date (lua_State *L) { const char *s = luaL_optstring(L, 1, "%c"); time_t t = luaL_opt(L, (time_t)luaL_checknumber, 2, time(NULL)); struct tm *stm; if (*s == '!') { /* UTC? */ stm = gmtime(&t); s++; /* skip `!' */ } else stm = localtime(&t); if (stm == NULL) /* invalid date? */ lua_pushnil(L); else if (strcmp(s, "*t") == 0) { lua_createtable(L, 0, 9); /* 9 = number of fields */ setfield(L, "sec", stm->tm_sec); setfield(L, "min", stm->tm_min); setfield(L, "hour", stm->tm_hour); setfield(L, "day", stm->tm_mday); setfield(L, "month", stm->tm_mon+1); setfield(L, "year", stm->tm_year+1900); setfield(L, "wday", stm->tm_wday+1); setfield(L, "yday", stm->tm_yday+1); setboolfield(L, "isdst", stm->tm_isdst); } else { char cc[3]; luaL_Buffer b; cc[0] = '%'; cc[2] = '\0'; luaL_buffinit(L, &b); for (; *s; s++) { if (*s != '%' || *(s + 1) == '\0') /* no conversion specifier? */ luaL_addchar(&b, *s); else { size_t reslen; char buff[200]; /* should be big enough for any conversion result */ cc[1] = *(++s); reslen = strftime(buff, sizeof(buff), cc, stm); luaL_addlstring(&b, buff, reslen); } } luaL_pushresult(&b); } return 1; } static int os_time (lua_State *L) { time_t t; if (lua_isnoneornil(L, 1)) /* called without args? */ t = time(NULL); /* get current time */ else { struct tm ts; luaL_checktype(L, 1, LUA_TTABLE); lua_settop(L, 1); /* make sure table is at the top */ ts.tm_sec = getfield(L, "sec", 0); ts.tm_min = getfield(L, "min", 0); ts.tm_hour = getfield(L, "hour", 12); ts.tm_mday = getfield(L, "day", -1); ts.tm_mon = getfield(L, "month", -1) - 1; ts.tm_year = getfield(L, "year", -1) - 1900; ts.tm_isdst = getboolfield(L, "isdst"); t = mktime(&ts); } if (t == (time_t)(-1)) lua_pushnil(L); else lua_pushnumber(L, (lua_Number)t); return 1; } static int os_difftime (lua_State *L) { lua_pushnumber(L, difftime((time_t)(luaL_checknumber(L, 1)), (time_t)(luaL_optnumber(L, 2, 0)))); return 1; } /* }====================================================== */ static const luaL_Reg syslib[] = { {"date", os_date}, {"difftime", os_difftime}, {"time", os_time}, {NULL, NULL} }; /* }====================================================== */ LUALIB_API int luaopen_myos (lua_State *L) { #if LUA_VERSION_NUM >= 502 luaL_newlib(L, syslib); #else luaL_register(L, LUA_OSLIBNAME, syslib); #endif return 1; } ibus-libpinyin-1.16.1/lua/Makefile.in0000644000175000017500000013373114767166740013076 # Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # vim:set noet ts=4: # # ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus # # Copyright (c) 2007-2008 Peng Huang # VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ TESTS = test-lua-plugin$(EXEEXT) noinst_PROGRAMS = lua-ext-console$(EXEEXT) $(am__EXEEXT_1) subdir = lua ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/as-version.m4 \ $(top_srcdir)/m4/boost.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__EXEEXT_1 = test-lua-plugin$(EXEEXT) PROGRAMS = $(noinst_PROGRAMS) LTLIBRARIES = $(noinst_LTLIBRARIES) libpylua_la_DEPENDENCIES = am_libpylua_la_OBJECTS = libpylua_la-lua-plugin.lo \ libpylua_la-lua-plugin-init.lo libpylua_la-lmyoslib.lo libpylua_la_OBJECTS = $(am_libpylua_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = libpylua_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libpylua_la_CFLAGS) \ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ am_lua_ext_console_OBJECTS = \ lua_ext_console-lua-ext-console.$(OBJEXT) lua_ext_console_OBJECTS = $(am_lua_ext_console_OBJECTS) lua_ext_console_DEPENDENCIES = libpylua.la lua_ext_console_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ $(lua_ext_console_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ am_test_lua_plugin_OBJECTS = \ test_lua_plugin-test-lua-plugin.$(OBJEXT) test_lua_plugin_OBJECTS = $(am_test_lua_plugin_OBJECTS) test_lua_plugin_DEPENDENCIES = libpylua.la test_lua_plugin_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ $(test_lua_plugin_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__maybe_remake_depfiles = depfiles am__depfiles_remade = ./$(DEPDIR)/libpylua_la-lmyoslib.Plo \ ./$(DEPDIR)/libpylua_la-lua-plugin-init.Plo \ ./$(DEPDIR)/libpylua_la-lua-plugin.Plo \ ./$(DEPDIR)/lua_ext_console-lua-ext-console.Po \ ./$(DEPDIR)/test_lua_plugin-test-lua-plugin.Po am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(libpylua_la_SOURCES) $(lua_ext_console_SOURCES) \ $(test_lua_plugin_SOURCES) DIST_SOURCES = $(libpylua_la_SOURCES) $(lua_ext_console_SOURCES) \ $(test_lua_plugin_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(lua_scriptdir)" DATA = $(lua_script_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` am__tty_colors_dummy = \ mgn= red= grn= lgn= blu= brg= std=; \ am__color_tests=no am__tty_colors = { \ $(am__tty_colors_dummy); \ if test "X$(AM_COLOR_TESTS)" = Xno; then \ am__color_tests=no; \ elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ am__color_tests=yes; \ elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ am__color_tests=yes; \ fi; \ if test $$am__color_tests = yes; then \ red=''; \ grn=''; \ lgn=''; \ blu=''; \ mgn=''; \ brg=''; \ std=''; \ fi; \ } am__recheck_rx = ^[ ]*:recheck:[ ]* am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* # A command that, given a newline-separated list of test names on the # standard input, print the name of the tests that are to be re-run # upon "make recheck". am__list_recheck_tests = $(AWK) '{ \ recheck = 1; \ while ((rc = (getline line < ($$0 ".trs"))) != 0) \ { \ if (rc < 0) \ { \ if ((getline line2 < ($$0 ".log")) < 0) \ recheck = 0; \ break; \ } \ else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ { \ recheck = 0; \ break; \ } \ else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ { \ break; \ } \ }; \ if (recheck) \ print $$0; \ close ($$0 ".trs"); \ close ($$0 ".log"); \ }' # A command that, given a newline-separated list of test names on the # standard input, create the global log from their .trs and .log files. am__create_global_log = $(AWK) ' \ function fatal(msg) \ { \ print "fatal: making $@: " msg | "cat >&2"; \ exit 1; \ } \ function rst_section(header) \ { \ print header; \ len = length(header); \ for (i = 1; i <= len; i = i + 1) \ printf "="; \ printf "\n\n"; \ } \ { \ copy_in_global_log = 1; \ global_test_result = "RUN"; \ while ((rc = (getline line < ($$0 ".trs"))) != 0) \ { \ if (rc < 0) \ fatal("failed to read from " $$0 ".trs"); \ if (line ~ /$(am__global_test_result_rx)/) \ { \ sub("$(am__global_test_result_rx)", "", line); \ sub("[ ]*$$", "", line); \ global_test_result = line; \ } \ else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ copy_in_global_log = 0; \ }; \ if (copy_in_global_log) \ { \ rst_section(global_test_result ": " $$0); \ while ((rc = (getline line < ($$0 ".log"))) != 0) \ { \ if (rc < 0) \ fatal("failed to read from " $$0 ".log"); \ print line; \ }; \ printf "\n"; \ }; \ close ($$0 ".trs"); \ close ($$0 ".log"); \ }' # Restructured Text title. am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } # Solaris 10 'make', and several other traditional 'make' implementations, # pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it # by disabling -e (using the XSI extension "set +e") if it's set. am__sh_e_setup = case $$- in *e*) set +e;; esac # Default flags passed to test drivers. am__common_driver_flags = \ --color-tests "$$am__color_tests" \ --enable-hard-errors "$$am__enable_hard_errors" \ --expect-failure "$$am__expect_failure" # To be inserted before the command running the test. Creates the # directory for the log if needed. Stores in $dir the directory # containing $f, in $tst the test, in $log the log. Executes the # developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and # passes TESTS_ENVIRONMENT. Set up options for the wrapper that # will run the test scripts (or their associated LOG_COMPILER, if # thy have one). am__check_pre = \ $(am__sh_e_setup); \ $(am__vpath_adj_setup) $(am__vpath_adj) \ $(am__tty_colors); \ srcdir=$(srcdir); export srcdir; \ case "$@" in \ */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ *) am__odir=.;; \ esac; \ test "x$$am__odir" = x"." || test -d "$$am__odir" \ || $(MKDIR_P) "$$am__odir" || exit $$?; \ if test -f "./$$f"; then dir=./; \ elif test -f "$$f"; then dir=; \ else dir="$(srcdir)/"; fi; \ tst=$$dir$$f; log='$@'; \ if test -n '$(DISABLE_HARD_ERRORS)'; then \ am__enable_hard_errors=no; \ else \ am__enable_hard_errors=yes; \ fi; \ case " $(XFAIL_TESTS) " in \ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ am__expect_failure=yes;; \ *) \ am__expect_failure=no;; \ esac; \ $(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) # A shell command to get the names of the tests scripts with any registered # extension removed (i.e., equivalently, the names of the test logs, with # the '.log' extension removed). The result is saved in the shell variable # '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, # we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", # since that might cause problem with VPATH rewrites for suffix-less tests. # See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. am__set_TESTS_bases = \ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check recheck TEST_SUITE_LOG = test-suite.log TEST_EXTENSIONS = @EXEEXT@ .test LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) am__set_b = \ case '$@' in \ */*) \ case '$*' in \ */*) b='$*';; \ *) b=`echo '$@' | sed 's/\.log$$//'`; \ esac;; \ *) \ b='$*';; \ esac am__test_logs1 = $(TESTS:=.log) am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) TEST_LOGS = $(am__test_logs2:.test.log=.log) TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ $(TEST_LOG_FLAGS) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \ $(top_srcdir)/test-driver DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BOOST_CPPFLAGS = @BOOST_CPPFLAGS@ BOOST_ROOT = @BOOST_ROOT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CLOUD_INPUT_MODE = @CLOUD_INPUT_MODE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ CTAGS = @CTAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENV = @ENV@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GIO2_CFLAGS = @GIO2_CFLAGS@ GIO2_LIBS = @GIO2_LIBS@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ IBUS_CFLAGS = @IBUS_CFLAGS@ IBUS_LIBS = @IBUS_LIBS@ ICON_PROP_KEY_XML = @ICON_PROP_KEY_XML@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ JSONGLIB_CFLAGS = @JSONGLIB_CFLAGS@ JSONGLIB_LIBS = @JSONGLIB_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@ LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@ LIBOBJS = @LIBOBJS@ LIBPINYIN_CFLAGS = @LIBPINYIN_CFLAGS@ LIBPINYIN_DATADIR = @LIBPINYIN_DATADIR@ LIBPINYIN_LIBS = @LIBPINYIN_LIBS@ LIBS = @LIBS@ LIBSOUP_CFLAGS = @LIBSOUP_CFLAGS@ LIBSOUP_LIBS = @LIBSOUP_LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OPENCC_CFLAGS = @OPENCC_CFLAGS@ OPENCC_LIBS = @OPENCC_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PACKAGE_VERSION_MAJOR = @PACKAGE_VERSION_MAJOR@ PACKAGE_VERSION_MICRO = @PACKAGE_VERSION_MICRO@ PACKAGE_VERSION_MINOR = @PACKAGE_VERSION_MINOR@ PACKAGE_VERSION_NANO = @PACKAGE_VERSION_NANO@ PACKAGE_VERSION_RELEASE = @PACKAGE_VERSION_RELEASE@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PYTHON = @PYTHON@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SQLITE3 = @SQLITE3@ SQLITE_CFLAGS = @SQLITE_CFLAGS@ SQLITE_LIBS = @SQLITE_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gsettingsschemadir = @gsettingsschemadir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ lua_script_DATA = \ base.lua \ user.lua \ $(NULL) lua_scriptdir = $(pkgdatadir) noinst_LTLIBRARIES = \ libpylua.la \ $(NULL) libpylua_la_SOURCES = \ lua-plugin.h \ lua-plugin.c \ lua-plugin-init.c \ lmyoslib.c \ $(NULL) libpylua_la_CFLAGS = \ @IBUS_CFLAGS@ \ @LUA_CFLAGS@ \ $(NULL) libpylua_la_LIBADD = \ @IBUS_LIBS@ \ @LUA_LIBS@ \ $(NULL) test_lua_plugin_SOURCES = \ test-lua-plugin.c \ $(NULL) test_lua_plugin_CFLAGS = \ @IBUS_CFLAGS@ \ @LUA_CFLAGS@ \ -DLUASCRIPTDIR=\"$(top_srcdir)/lua\" \ $(NULL) test_lua_plugin_LDADD = \ libpylua.la \ $(NULL) lua_ext_console_SOURCES = \ lua-ext-console.c \ $(NULL) lua_ext_console_CFLAGS = \ @IBUS_CFLAGS@ \ @LUA_CFLAGS@ \ $(NULL) lua_ext_console_LDADD = \ libpylua.la \ $(NULL) EXTRA_DIST = \ base.lua \ user.lua \ $(NULL) all: all-am .SUFFIXES: .SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lua/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu lua/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; \ locs=`for p in $$list; do echo $$p; done | \ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ sort -u`; \ test -z "$$locs" || { \ echo rm -f $${locs}; \ rm -f $${locs}; \ } libpylua.la: $(libpylua_la_OBJECTS) $(libpylua_la_DEPENDENCIES) $(EXTRA_libpylua_la_DEPENDENCIES) $(AM_V_CCLD)$(libpylua_la_LINK) $(libpylua_la_OBJECTS) $(libpylua_la_LIBADD) $(LIBS) lua-ext-console$(EXEEXT): $(lua_ext_console_OBJECTS) $(lua_ext_console_DEPENDENCIES) $(EXTRA_lua_ext_console_DEPENDENCIES) @rm -f lua-ext-console$(EXEEXT) $(AM_V_CCLD)$(lua_ext_console_LINK) $(lua_ext_console_OBJECTS) $(lua_ext_console_LDADD) $(LIBS) test-lua-plugin$(EXEEXT): $(test_lua_plugin_OBJECTS) $(test_lua_plugin_DEPENDENCIES) $(EXTRA_test_lua_plugin_DEPENDENCIES) @rm -f test-lua-plugin$(EXEEXT) $(AM_V_CCLD)$(test_lua_plugin_LINK) $(test_lua_plugin_OBJECTS) $(test_lua_plugin_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpylua_la-lmyoslib.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpylua_la-lua-plugin-init.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpylua_la-lua-plugin.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lua_ext_console-lua-ext-console.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_lua_plugin-test-lua-plugin.Po@am__quote@ # am--include-marker $(am__depfiles_remade): @$(MKDIR_P) $(@D) @echo '# dummy' >$@-t && $(am__mv) $@-t $@ am--depfiles: $(am__depfiles_remade) .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< libpylua_la-lua-plugin.lo: lua-plugin.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpylua_la_CFLAGS) $(CFLAGS) -MT libpylua_la-lua-plugin.lo -MD -MP -MF $(DEPDIR)/libpylua_la-lua-plugin.Tpo -c -o libpylua_la-lua-plugin.lo `test -f 'lua-plugin.c' || echo '$(srcdir)/'`lua-plugin.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpylua_la-lua-plugin.Tpo $(DEPDIR)/libpylua_la-lua-plugin.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lua-plugin.c' object='libpylua_la-lua-plugin.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpylua_la_CFLAGS) $(CFLAGS) -c -o libpylua_la-lua-plugin.lo `test -f 'lua-plugin.c' || echo '$(srcdir)/'`lua-plugin.c libpylua_la-lua-plugin-init.lo: lua-plugin-init.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpylua_la_CFLAGS) $(CFLAGS) -MT libpylua_la-lua-plugin-init.lo -MD -MP -MF $(DEPDIR)/libpylua_la-lua-plugin-init.Tpo -c -o libpylua_la-lua-plugin-init.lo `test -f 'lua-plugin-init.c' || echo '$(srcdir)/'`lua-plugin-init.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpylua_la-lua-plugin-init.Tpo $(DEPDIR)/libpylua_la-lua-plugin-init.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lua-plugin-init.c' object='libpylua_la-lua-plugin-init.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpylua_la_CFLAGS) $(CFLAGS) -c -o libpylua_la-lua-plugin-init.lo `test -f 'lua-plugin-init.c' || echo '$(srcdir)/'`lua-plugin-init.c libpylua_la-lmyoslib.lo: lmyoslib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpylua_la_CFLAGS) $(CFLAGS) -MT libpylua_la-lmyoslib.lo -MD -MP -MF $(DEPDIR)/libpylua_la-lmyoslib.Tpo -c -o libpylua_la-lmyoslib.lo `test -f 'lmyoslib.c' || echo '$(srcdir)/'`lmyoslib.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpylua_la-lmyoslib.Tpo $(DEPDIR)/libpylua_la-lmyoslib.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lmyoslib.c' object='libpylua_la-lmyoslib.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpylua_la_CFLAGS) $(CFLAGS) -c -o libpylua_la-lmyoslib.lo `test -f 'lmyoslib.c' || echo '$(srcdir)/'`lmyoslib.c lua_ext_console-lua-ext-console.o: lua-ext-console.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lua_ext_console_CFLAGS) $(CFLAGS) -MT lua_ext_console-lua-ext-console.o -MD -MP -MF $(DEPDIR)/lua_ext_console-lua-ext-console.Tpo -c -o lua_ext_console-lua-ext-console.o `test -f 'lua-ext-console.c' || echo '$(srcdir)/'`lua-ext-console.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lua_ext_console-lua-ext-console.Tpo $(DEPDIR)/lua_ext_console-lua-ext-console.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lua-ext-console.c' object='lua_ext_console-lua-ext-console.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lua_ext_console_CFLAGS) $(CFLAGS) -c -o lua_ext_console-lua-ext-console.o `test -f 'lua-ext-console.c' || echo '$(srcdir)/'`lua-ext-console.c lua_ext_console-lua-ext-console.obj: lua-ext-console.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lua_ext_console_CFLAGS) $(CFLAGS) -MT lua_ext_console-lua-ext-console.obj -MD -MP -MF $(DEPDIR)/lua_ext_console-lua-ext-console.Tpo -c -o lua_ext_console-lua-ext-console.obj `if test -f 'lua-ext-console.c'; then $(CYGPATH_W) 'lua-ext-console.c'; else $(CYGPATH_W) '$(srcdir)/lua-ext-console.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lua_ext_console-lua-ext-console.Tpo $(DEPDIR)/lua_ext_console-lua-ext-console.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lua-ext-console.c' object='lua_ext_console-lua-ext-console.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lua_ext_console_CFLAGS) $(CFLAGS) -c -o lua_ext_console-lua-ext-console.obj `if test -f 'lua-ext-console.c'; then $(CYGPATH_W) 'lua-ext-console.c'; else $(CYGPATH_W) '$(srcdir)/lua-ext-console.c'; fi` test_lua_plugin-test-lua-plugin.o: test-lua-plugin.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_lua_plugin_CFLAGS) $(CFLAGS) -MT test_lua_plugin-test-lua-plugin.o -MD -MP -MF $(DEPDIR)/test_lua_plugin-test-lua-plugin.Tpo -c -o test_lua_plugin-test-lua-plugin.o `test -f 'test-lua-plugin.c' || echo '$(srcdir)/'`test-lua-plugin.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_lua_plugin-test-lua-plugin.Tpo $(DEPDIR)/test_lua_plugin-test-lua-plugin.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-lua-plugin.c' object='test_lua_plugin-test-lua-plugin.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_lua_plugin_CFLAGS) $(CFLAGS) -c -o test_lua_plugin-test-lua-plugin.o `test -f 'test-lua-plugin.c' || echo '$(srcdir)/'`test-lua-plugin.c test_lua_plugin-test-lua-plugin.obj: test-lua-plugin.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_lua_plugin_CFLAGS) $(CFLAGS) -MT test_lua_plugin-test-lua-plugin.obj -MD -MP -MF $(DEPDIR)/test_lua_plugin-test-lua-plugin.Tpo -c -o test_lua_plugin-test-lua-plugin.obj `if test -f 'test-lua-plugin.c'; then $(CYGPATH_W) 'test-lua-plugin.c'; else $(CYGPATH_W) '$(srcdir)/test-lua-plugin.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_lua_plugin-test-lua-plugin.Tpo $(DEPDIR)/test_lua_plugin-test-lua-plugin.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-lua-plugin.c' object='test_lua_plugin-test-lua-plugin.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_lua_plugin_CFLAGS) $(CFLAGS) -c -o test_lua_plugin-test-lua-plugin.obj `if test -f 'test-lua-plugin.c'; then $(CYGPATH_W) 'test-lua-plugin.c'; else $(CYGPATH_W) '$(srcdir)/test-lua-plugin.c'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-lua_scriptDATA: $(lua_script_DATA) @$(NORMAL_INSTALL) @list='$(lua_script_DATA)'; test -n "$(lua_scriptdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(lua_scriptdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(lua_scriptdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(lua_scriptdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(lua_scriptdir)" || exit $$?; \ done uninstall-lua_scriptDATA: @$(NORMAL_UNINSTALL) @list='$(lua_script_DATA)'; test -n "$(lua_scriptdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(lua_scriptdir)'; $(am__uninstall_files_from_dir) ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags # Recover from deleted '.trs' file; this should ensure that # "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create # both 'foo.log' and 'foo.trs'. Break the recipe in two subshells # to avoid problems with "make -n". .log.trs: rm -f $< $@ $(MAKE) $(AM_MAKEFLAGS) $< # Leading 'am--fnord' is there to ensure the list of targets does not # expand to empty, as could happen e.g. with make check TESTS=''. am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) am--force-recheck: @: $(TEST_SUITE_LOG): $(TEST_LOGS) @$(am__set_TESTS_bases); \ am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ redo_bases=`for i in $$bases; do \ am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ done`; \ if test -n "$$redo_bases"; then \ redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ if $(am__make_dryrun); then :; else \ rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ fi; \ fi; \ if test -n "$$am__remaking_logs"; then \ echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ "recursion detected" >&2; \ elif test -n "$$redo_logs"; then \ am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ fi; \ if $(am__make_dryrun); then :; else \ st=0; \ errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ for i in $$redo_bases; do \ test -f $$i.trs && test -r $$i.trs \ || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ test -f $$i.log && test -r $$i.log \ || { echo "$$errmsg $$i.log" >&2; st=1; }; \ done; \ test $$st -eq 0 || exit 1; \ fi @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ ws='[ ]'; \ results=`for b in $$bases; do echo $$b.trs; done`; \ test -n "$$results" || results=/dev/null; \ all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ if test `expr $$fail + $$xpass + $$error` -eq 0; then \ success=true; \ else \ success=false; \ fi; \ br='==================='; br=$$br$$br$$br$$br; \ result_count () \ { \ if test x"$$1" = x"--maybe-color"; then \ maybe_colorize=yes; \ elif test x"$$1" = x"--no-color"; then \ maybe_colorize=no; \ else \ echo "$@: invalid 'result_count' usage" >&2; exit 4; \ fi; \ shift; \ desc=$$1 count=$$2; \ if test $$maybe_colorize = yes && test $$count -gt 0; then \ color_start=$$3 color_end=$$std; \ else \ color_start= color_end=; \ fi; \ echo "$${color_start}# $$desc $$count$${color_end}"; \ }; \ create_testsuite_report () \ { \ result_count $$1 "TOTAL:" $$all "$$brg"; \ result_count $$1 "PASS: " $$pass "$$grn"; \ result_count $$1 "SKIP: " $$skip "$$blu"; \ result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ result_count $$1 "FAIL: " $$fail "$$red"; \ result_count $$1 "XPASS:" $$xpass "$$red"; \ result_count $$1 "ERROR:" $$error "$$mgn"; \ }; \ { \ echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ $(am__rst_title); \ create_testsuite_report --no-color; \ echo; \ echo ".. contents:: :depth: 2"; \ echo; \ for b in $$bases; do echo $$b; done \ | $(am__create_global_log); \ } >$(TEST_SUITE_LOG).tmp || exit 1; \ mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ if $$success; then \ col="$$grn"; \ else \ col="$$red"; \ test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ if $$success; then :; else \ echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ if test -n "$(PACKAGE_BUGREPORT)"; then \ echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ fi; \ echo "$$col$$br$$std"; \ fi; \ $$success || exit 1 check-TESTS: @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ log_list=`for i in $$bases; do echo $$i.log; done`; \ trs_list=`for i in $$bases; do echo $$i.trs; done`; \ log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ exit $$?; recheck: all @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ bases=`for i in $$bases; do echo $$i; done \ | $(am__list_recheck_tests)` || exit 1; \ log_list=`for i in $$bases; do echo $$i.log; done`; \ log_list=`echo $$log_list`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ am__force_recheck=am--force-recheck \ TEST_LOGS="$$log_list"; \ exit $$? test-lua-plugin.log: test-lua-plugin$(EXEEXT) @p='test-lua-plugin$(EXEEXT)'; \ b='test-lua-plugin'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) .test.log: @p='$<'; \ $(am__set_b); \ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) @am__EXEEXT_TRUE@.test$(EXEEXT).log: @am__EXEEXT_TRUE@ @p='$<'; \ @am__EXEEXT_TRUE@ $(am__set_b); \ @am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile $(PROGRAMS) $(LTLIBRARIES) $(DATA) installdirs: for dir in "$(DESTDIR)$(lua_scriptdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ clean-noinstPROGRAMS mostlyclean-am distclean: distclean-am -rm -f ./$(DEPDIR)/libpylua_la-lmyoslib.Plo -rm -f ./$(DEPDIR)/libpylua_la-lua-plugin-init.Plo -rm -f ./$(DEPDIR)/libpylua_la-lua-plugin.Plo -rm -f ./$(DEPDIR)/lua_ext_console-lua-ext-console.Po -rm -f ./$(DEPDIR)/test_lua_plugin-test-lua-plugin.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-lua_scriptDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f ./$(DEPDIR)/libpylua_la-lmyoslib.Plo -rm -f ./$(DEPDIR)/libpylua_la-lua-plugin-init.Plo -rm -f ./$(DEPDIR)/libpylua_la-lua-plugin.Plo -rm -f ./$(DEPDIR)/lua_ext_console-lua-ext-console.Po -rm -f ./$(DEPDIR)/test_lua_plugin-test-lua-plugin.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-lua_scriptDATA .MAKE: check-am install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-TESTS \ check-am clean clean-generic clean-libtool \ clean-noinstLTLIBRARIES clean-noinstPROGRAMS cscopelist-am \ ctags ctags-am distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-lua_scriptDATA install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ recheck tags tags-am uninstall uninstall-am \ uninstall-lua_scriptDATA .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ibus-libpinyin-1.16.1/lua/lua-plugin.c0000644000175000017500000004031214735672521013234 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2010 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include "lua-plugin.h" #if LUA_VERSION_NUM >= 502 /* ugly hack for lua 5.2 */ #define lua_open luaL_newstate #ifndef lua_objlen #define lua_objlen lua_rawlen #endif #endif struct _IBusEnginePluginPrivate{ lua_State * L; GArray * lua_commands; /* Array of lua_command_t. */ GArray * lua_triggers; /* Array of lua_trigger_t. */ GArray * lua_converters; /* Array of lua_converter_t. */ gchar * use_converter; }; G_DEFINE_TYPE_WITH_CODE (IBusEnginePlugin, ibus_engine_plugin, G_TYPE_OBJECT, G_ADD_PRIVATE (IBusEnginePlugin)); #define IBUS_ENGINE_PLUGIN_GET_PRIVATE(obj) (ibus_engine_plugin_get_instance_private (obj)) static void lua_command_clone(lua_command_t * command, lua_command_t * new_command){ new_command->command_name = g_strdup(command->command_name); new_command->lua_function_name = g_strdup(command->lua_function_name); new_command->description = g_strdup(command->description); new_command->leading = g_strdup(command->leading); new_command->help = g_strdup(command->help); } static void lua_command_reclaim(lua_command_t * command){ g_free((gpointer)command->command_name); g_free((gpointer)command->lua_function_name); g_free((gpointer)command->description); g_free((gpointer)command->leading); g_free((gpointer)command->help); } static void lua_trigger_clone(lua_trigger_t * trigger, lua_trigger_t * new_trigger){ new_trigger->lua_function_name = g_strdup(trigger->lua_function_name); new_trigger->description = g_strdup(trigger->description); new_trigger->input_trigger_strings = g_strdupv(trigger->input_trigger_strings); new_trigger->candidate_trigger_strings = g_strdupv(trigger->candidate_trigger_strings); } static void lua_trigger_reclaim(lua_trigger_t * trigger){ g_free((gpointer)trigger->lua_function_name); g_free((gpointer)trigger->description); g_strfreev((gchar **)trigger->input_trigger_strings); g_strfreev((gchar **)trigger->candidate_trigger_strings); } static void lua_converter_clone(lua_converter_t * converter, lua_converter_t * new_converter){ new_converter->lua_function_name = g_strdup(converter->lua_function_name); new_converter->description = g_strdup(converter->description); } static void lua_converter_reclaim(lua_converter_t * converter){ g_free((gpointer)converter->lua_function_name); g_free((gpointer)converter->description); } static int lua_plugin_init(IBusEnginePluginPrivate * plugin){ g_assert(NULL == plugin->L); /* initialize Lua */ plugin->L = lua_open(); /* enable libs in sandbox */ lua_plugin_openlibs(plugin->L); g_assert ( NULL == plugin->lua_commands ); plugin->lua_commands = g_array_new(TRUE, TRUE, sizeof(lua_command_t)); g_assert ( NULL == plugin->lua_triggers ); plugin->lua_triggers = g_array_new(TRUE, TRUE, sizeof(lua_trigger_t)); g_assert ( NULL == plugin->lua_converters ); plugin->lua_converters = g_array_new(TRUE, TRUE, sizeof(lua_converter_t)); plugin->use_converter = NULL; return 0; } static int lua_plugin_fini(IBusEnginePluginPrivate * plugin){ size_t i; lua_command_t * command; lua_trigger_t * trigger; lua_converter_t * converter; if ( plugin->lua_commands ){ for ( i = 0; i < plugin->lua_commands->len; ++i){ command = &g_array_index(plugin->lua_commands, lua_command_t, i); lua_command_reclaim(command); } g_array_free(plugin->lua_commands, TRUE); plugin->lua_commands = NULL; } if ( plugin->lua_triggers ){ for ( i = 0; i < plugin->lua_triggers->len; ++i){ trigger = &g_array_index(plugin->lua_triggers, lua_trigger_t, i); lua_trigger_reclaim(trigger); } g_array_free(plugin->lua_triggers, TRUE); plugin->lua_triggers = NULL; } if ( plugin->lua_converters ){ for ( i = 0; i < plugin->lua_converters->len; ++i){ converter = &g_array_index(plugin->lua_converters, lua_converter_t, i); lua_converter_reclaim(converter); } g_array_free(plugin->lua_converters, TRUE); plugin->lua_converters = NULL; } lua_close(plugin->L); plugin->L = NULL; g_free(plugin->use_converter); plugin->use_converter = NULL; return 0; } static void ibus_engine_plugin_finalize (GObject *gobject) { IBusEnginePlugin *self = IBUS_ENGINE_PLUGIN (gobject); /* do some cleaning here. */ lua_plugin_fini(self->priv); /* Chain up to the parent class */ G_OBJECT_CLASS (ibus_engine_plugin_parent_class)->dispose(gobject); } static void ibus_engine_plugin_class_init (IBusEnginePluginClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); gobject_class->finalize = ibus_engine_plugin_finalize; } static void ibus_engine_plugin_init (IBusEnginePlugin *self) { IBusEnginePluginPrivate *priv; self->priv = priv = IBUS_ENGINE_PLUGIN_GET_PRIVATE (self); memset(priv, 0, sizeof(IBusEnginePluginPrivate)); lua_plugin_init(priv); lua_plugin_store_plugin(priv->L, self); } IBusEnginePlugin * ibus_engine_plugin_new(){ IBusEnginePlugin * plugin; plugin = (IBusEnginePlugin *) g_object_new (IBUS_TYPE_ENGINE_PLUGIN, NULL); return plugin; } static void l_message (const char *pname, const char *msg) { if (pname) fprintf(stderr, "%s: ", pname); fprintf(stderr, "%s\n", msg); fflush(stderr); } static int report (lua_State *L, int status) { if (status && !lua_isnil(L, -1)) { const char *msg = lua_tostring(L, -1); if (msg == NULL) msg = "(error object is not a string)"; l_message(NULL, msg); lua_pop(L, 1); } return status; } int ibus_engine_plugin_load_lua_script(IBusEnginePlugin * plugin, const char * filename){ IBusEnginePluginPrivate * priv = IBUS_ENGINE_PLUGIN_GET_PRIVATE(plugin); int status = luaL_dofile(priv->L, filename); return report(priv->L, status); } static gint compare_command(gconstpointer a, gconstpointer b){ lua_command_t * ca = (lua_command_t *) a; lua_command_t * cb = (lua_command_t *) b; return strcmp(ca->command_name, cb->command_name); } gboolean ibus_engine_plugin_add_command(IBusEnginePlugin * plugin, lua_command_t * command){ IBusEnginePluginPrivate * priv = IBUS_ENGINE_PLUGIN_GET_PRIVATE(plugin); GArray * lua_commands = priv->lua_commands; if ( ibus_engine_plugin_lookup_command( plugin, command->command_name) ) return FALSE; lua_command_t new_command; lua_command_clone(command, &new_command); g_array_append_val(lua_commands, new_command); /* Note: need to improve speed here? */ g_array_sort(lua_commands, compare_command); return TRUE; } const lua_command_t * ibus_engine_plugin_lookup_command(IBusEnginePlugin * plugin, const char * command_name){ IBusEnginePluginPrivate * priv = IBUS_ENGINE_PLUGIN_GET_PRIVATE(plugin); GArray * lua_commands = priv->lua_commands; lua_command_t lookup_command = {.command_name = command_name, }; lua_command_t * result = bsearch(&lookup_command, lua_commands->data, lua_commands->len, sizeof(lua_command_t), compare_command); return result; } const GArray * ibus_engine_plugin_get_available_commands(IBusEnginePlugin * plugin){ IBusEnginePluginPrivate * priv = IBUS_ENGINE_PLUGIN_GET_PRIVATE(plugin); return priv->lua_commands; } gboolean ibus_engine_plugin_add_trigger(IBusEnginePlugin * plugin, lua_trigger_t * trigger){ IBusEnginePluginPrivate * priv = IBUS_ENGINE_PLUGIN_GET_PRIVATE(plugin); GArray * lua_triggers = priv->lua_triggers; lua_trigger_t new_trigger; lua_trigger_clone(trigger, &new_trigger); g_array_append_val(lua_triggers, new_trigger); return TRUE; } const GArray * ibus_engine_plugin_get_available_triggers(IBusEnginePlugin * plugin){ IBusEnginePluginPrivate * priv = IBUS_ENGINE_PLUGIN_GET_PRIVATE(plugin); return priv->lua_triggers; } gboolean ibus_engine_plugin_match_input(IBusEnginePlugin * plugin, const char * input, const char ** lua_function_name){ IBusEnginePluginPrivate * priv = IBUS_ENGINE_PLUGIN_GET_PRIVATE(plugin); GArray * lua_triggers = priv->lua_triggers; gint i; gchar ** pattern; for (i = 0; i < lua_triggers->len; ++i){ lua_trigger_t * trigger = &g_array_index(lua_triggers, lua_trigger_t, i); for (pattern = trigger->input_trigger_strings; *pattern != NULL; ++pattern){ if (g_pattern_match_simple(*pattern, input)){ *lua_function_name = trigger->lua_function_name; return TRUE; } } } return FALSE; } gboolean ibus_engine_plugin_match_candidate(IBusEnginePlugin * plugin, const char * candidate, const char ** lua_function_name){ IBusEnginePluginPrivate * priv = IBUS_ENGINE_PLUGIN_GET_PRIVATE(plugin); GArray * lua_triggers = priv->lua_triggers; gint i; gchar ** pattern; for (i = 0; i < lua_triggers->len; ++i){ lua_trigger_t * trigger = &g_array_index(lua_triggers, lua_trigger_t, i); for (pattern = trigger->candidate_trigger_strings; *pattern != NULL; ++pattern){ if (g_pattern_match_simple(*pattern, candidate)){ *lua_function_name = trigger->lua_function_name; return TRUE; } } } return FALSE; } gboolean ibus_engine_plugin_add_converter(IBusEnginePlugin * plugin, lua_converter_t * converter){ IBusEnginePluginPrivate * priv = IBUS_ENGINE_PLUGIN_GET_PRIVATE(plugin); GArray * lua_converters = priv->lua_converters; lua_converter_t new_converter; lua_converter_clone(converter, &new_converter); g_array_append_val(lua_converters, new_converter); return TRUE; } const GArray * ibus_engine_plugin_get_available_converters(IBusEnginePlugin * plugin){ IBusEnginePluginPrivate * priv = IBUS_ENGINE_PLUGIN_GET_PRIVATE(plugin); return priv->lua_converters; } gboolean ibus_engine_plugin_set_converter(IBusEnginePlugin * plugin, const char * lua_function_name){ IBusEnginePluginPrivate * priv = IBUS_ENGINE_PLUGIN_GET_PRIVATE(plugin); GArray * lua_converters = priv->lua_converters; if (lua_function_name == NULL || *lua_function_name == '\0') { g_free(priv->use_converter); priv->use_converter = NULL; return TRUE; } /* The Lua converter is not changed. */ if (g_strcmp0 (priv->use_converter, lua_function_name) == 0) return TRUE; gint i; for (i = 0; i < lua_converters->len; ++i) { lua_converter_t * converter = &g_array_index (lua_converters, lua_converter_t, i); if (g_strcmp0 (converter->lua_function_name, lua_function_name) == 0) { g_free(priv->use_converter); priv->use_converter = g_strdup(lua_function_name); return TRUE; } } return FALSE; } const char * ibus_engine_plugin_get_converter(IBusEnginePlugin * plugin){ IBusEnginePluginPrivate * priv = IBUS_ENGINE_PLUGIN_GET_PRIVATE(plugin); return priv->use_converter; } int ibus_engine_plugin_call(IBusEnginePlugin * plugin, const char * lua_function_name, const char * argument /*optional, maybe NULL.*/){ IBusEnginePluginPrivate * priv = IBUS_ENGINE_PLUGIN_GET_PRIVATE(plugin); int type; int result; lua_State * L = priv->L; /* In google pinyin, argument can't be NULL, but empty string is acceptable. */ if (NULL == argument) argument = ""; /* check whether lua_function_name exists. */ lua_getglobal(L, lua_function_name); type = lua_type(L, -1); if ( LUA_TFUNCTION != type ) return 0; lua_pushstring(L, argument); result = lua_pcall(L, 1, 1, 0); if (result) return 0; type = lua_type(L, -1); if ( LUA_TTABLE == type ){ return lua_objlen(L, -1); } else if (LUA_TNUMBER == type || LUA_TBOOLEAN == type || LUA_TSTRING == type){ return 1; } return 0; } /** * get a candidate from lua return value. */ static const lua_command_candidate_t * ibus_engine_plugin_get_candidate(lua_State * L){ const char * suggest, * help, * content = NULL; lua_command_candidate_t * candidate = malloc(sizeof(lua_command_candidate_t)); memset(candidate, 0, sizeof(lua_command_candidate_t)); int type = lua_type(L, -1); if ( LUA_TTABLE == type ){ lua_pushliteral(L, "suggest"); lua_gettable(L, -2); lua_pushliteral(L, "help"); lua_gettable(L, -3); suggest = lua_tostring(L, -2); help = lua_tostring(L, -1); candidate->suggest = g_strdup(suggest); candidate->help = g_strdup(help); lua_pop(L, 2); } else if (LUA_TNUMBER == type || LUA_TBOOLEAN == type || LUA_TSTRING == type) { content = lua_tostring(L, -1); candidate->content = g_strdup(content); } return candidate; } /** * retrieve the number of string values. */ gint ibus_engine_plugin_get_n_result(IBusEnginePlugin * plugin){ IBusEnginePluginPrivate * priv = IBUS_ENGINE_PLUGIN_GET_PRIVATE(plugin); int type; lua_State * L = priv->L; type = lua_type(L ,-1); if ( LUA_TNUMBER == type || LUA_TBOOLEAN == type || LUA_TSTRING == type) return 1; else if( LUA_TTABLE == type ) return lua_objlen (L, -1); return 0; } /** * retrieve the nth string value. (value has been copied.) */ gchar * ibus_engine_plugin_get_nth_result(IBusEnginePlugin * plugin, gint index){ IBusEnginePluginPrivate * priv = IBUS_ENGINE_PLUGIN_GET_PRIVATE(plugin); const char * result = NULL; int type; lua_State * L = priv->L; type = lua_type(L ,-1); if ( LUA_TNUMBER == type || LUA_TBOOLEAN == type || LUA_TSTRING == type) { /* check index value */ g_assert(0 == index); result = g_strdup(lua_tostring(L, -1)); } else if( LUA_TTABLE == type ){ /* check index value */ g_assert(index < lua_objlen (L, -1)); lua_pushinteger(L, (guint) index + 1); lua_gettable(L, -2); int type = lua_type(L, -1); if ( LUA_TNUMBER == type || LUA_TBOOLEAN == type || LUA_TSTRING == type ) result = g_strdup(lua_tostring(L, -1)); lua_pop(L, 1); } return (char *)result; } /** * clear the string values from the stack. */ void ibus_engine_plugin_clear_results(IBusEnginePlugin * plugin){ IBusEnginePluginPrivate * priv = IBUS_ENGINE_PLUGIN_GET_PRIVATE(plugin); lua_State * L = priv->L; lua_pop(L, 1); } /** * retrieve the retval string value. (value has been copied.) */ const lua_command_candidate_t * ibus_engine_plugin_get_retval(IBusEnginePlugin * plugin){ IBusEnginePluginPrivate * priv = IBUS_ENGINE_PLUGIN_GET_PRIVATE(plugin); lua_command_candidate_t * result = NULL; int type; lua_State * L = priv->L; type = lua_type(L ,-1); if ( LUA_TNUMBER == type || LUA_TBOOLEAN == type || LUA_TSTRING == type) { result = malloc(sizeof(lua_command_candidate_t)); memset(result, 0, sizeof(lua_command_candidate_t)); result->content = g_strdup(lua_tostring(L, -1)); lua_pop(L, 1); } else if( LUA_TTABLE == type ){ lua_pushinteger(L, 1); lua_gettable(L, -2); result = (lua_command_candidate_t *)ibus_engine_plugin_get_candidate(L); lua_pop(L, 2); } return (const lua_command_candidate_t *)result; } /** * retrieve the array of string values. (string values have been copied.) */ GArray * ibus_engine_plugin_get_retvals(IBusEnginePlugin * plugin){ IBusEnginePluginPrivate * priv = IBUS_ENGINE_PLUGIN_GET_PRIVATE(plugin); lua_State * L = priv->L; int elem_num; int type; GArray * result = NULL; int i; const lua_command_candidate_t * candidate = NULL; type = lua_type(L, -1); if ( LUA_TTABLE != type ) return result; result = g_array_new(TRUE, TRUE, sizeof(lua_command_candidate_t *)); elem_num = lua_objlen(L, -1); for ( i = 0; i < elem_num; ++i ){ lua_pushinteger(L, i + 1); lua_gettable(L, -2); candidate = ibus_engine_plugin_get_candidate(L); lua_pop(L, 1); g_array_append_val(result, candidate); } lua_pop(L, 1); return result; } void ibus_engine_plugin_free_candidate(lua_command_candidate_t * candidate){ g_free((gpointer)candidate->content); g_free((gpointer)candidate->suggest); g_free((gpointer)candidate->help); } ibus-libpinyin-1.16.1/lua/lua-ext-console.c0000664000175000017500000001361314674157527014212 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2010 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #define _GNU_SOURCE #include #include #include #include "lua-plugin.h" void print_help(){ printf("Usage: lua_ext_console [SCRIPT_FILE] ...\n"); printf("Loads one or more script files then evaluates lua extension modes in an interactive shell.\n"); } void print_interactive_help(){ printf("i \t\t\t - lists all commands.\n"); printf("i [COMMAND] \t\t - evaluates command without argument. \n"); printf("i [COMMAND] [ARGUMENT] \t evaluates command with argument. \n"); printf("g [TRIGGER_STRING] \t\t - tests a trigger string, fire trigger if hit.\n"); printf("c \t\t\t - lists all converters.\n"); printf("c [FUNCTION] [STRING] \t tests a converter function. \n"); printf("quit \t\t\t - quit the shell.\n"); printf("help \t\t\t - show this message.\n"); } void list_all_commands(IBusEnginePlugin * plugin){ const GArray * commands = ibus_engine_plugin_get_available_commands(plugin); size_t i; for ( i = 0; i < commands->len; ++i ){ lua_command_t * command = &g_array_index(commands, lua_command_t, i); printf("%s.%s >\t", command->command_name, command->description); } printf("\n"); } void list_all_converters(IBusEnginePlugin * plugin){ const GArray * converters = ibus_engine_plugin_get_available_converters(plugin); size_t i; for ( i = 0; i < converters->len; ++i ){ lua_converter_t * converter = &g_array_index(converters, lua_converter_t, i); printf("%s %s >\t", converter->lua_function_name, converter->description); } printf("\n"); } int print_lua_call_result(IBusEnginePlugin * plugin, size_t num){ if ( 1 == num ) { const lua_command_candidate_t * result = ibus_engine_plugin_get_retval(plugin); if (result->content) printf("result: %s.\n", result->content); } if ( num > 1) { GArray * results = ibus_engine_plugin_get_retvals(plugin); size_t i; for ( i = 0; i < results->len; ++i) { const lua_command_candidate_t * result = g_array_index(results, const lua_command_candidate_t *, i); if (result->content) printf("%d.%s >\t", (int)i, result->content); else{ printf("%d. %s [%s]\t", (int)i, result->suggest, result->help); } } printf("\n"); } return 0; } int do_lua_call(IBusEnginePlugin * plugin, const char * command_name, const char * argument){ const lua_command_t * command; size_t num; g_return_val_if_fail(2 == strlen(command_name), 2); command = ibus_engine_plugin_lookup_command(plugin, command_name); if ( NULL == command) { fprintf(stderr, "command %s doesn't exist.\n", command_name); return 1; } num = ibus_engine_plugin_call(plugin, command->lua_function_name, argument); print_lua_call_result(plugin, num); return 0; } int do_simple_lua_call(IBusEnginePlugin * plugin, const char * lua_function_name, const char * string){ int i; int num = ibus_engine_plugin_call(plugin, lua_function_name, string); g_assert(num == ibus_engine_plugin_get_n_result(plugin)); for (i = 0; i < num ; ++i){ gchar * str = ibus_engine_plugin_get_nth_result(plugin, i); printf("%d.%s >\t", i, str); g_free(str); } printf("\n"); ibus_engine_plugin_clear_results(plugin); return 0; } int main(int argc, char * argv[]){ char * line = NULL; size_t len = 0; ssize_t read; int i; if ( 1 == argc ){ print_help(); exit(1); } IBusEnginePlugin * plugin = ibus_engine_plugin_new(); for ( i = 1; i < argc; ++i){ ibus_engine_plugin_load_lua_script(plugin, argv[i]); } printf("Lua Plugin Console for ibus-libpinyin.\n"); printf("Type ? for more information.\n"); printf("> "); while ((read = getline(&line, &len, stdin)) != -1) { line[read - 1] = '\0'; gchar ** strs = g_strsplit_set(line, " \t", 0); size_t len = g_strv_length(strs); switch (len){ case 0: print_interactive_help(); break; case 1: if ( 0 == strcmp("quit", strs[0]) ) exit(EXIT_SUCCESS); if ( 0 == strcmp("help", strs[0]) || 0 == strcmp("?", strs[0]) ) print_interactive_help(); if ( 0 == strcmp("i", strs[0]) ) list_all_commands(plugin); if ( 0 == strcmp("c", strs[0]) ) list_all_converters(plugin); break; case 2: if ( 0 == strcmp("i", strs[0])) do_lua_call(plugin, strs[1], NULL); if ( 0 == strcmp("g", strs[0])) { const char * lua_function_name = NULL; if (ibus_engine_plugin_match_input (plugin, strs[1], &lua_function_name)) { do_simple_lua_call(plugin, lua_function_name, strs[1]); } else if (ibus_engine_plugin_match_candidate (plugin, strs[1], &lua_function_name)) { do_simple_lua_call(plugin, lua_function_name, strs[1]); } } break; case 3: if ( 0 == strcmp("i", strs[0])) do_lua_call(plugin, strs[1], strs[2]); if ( 0 == strcmp("c", strs[0])) do_simple_lua_call(plugin, strs[1], strs[2]); break; default: fprintf(stderr, "wrong arguments."); break; } g_strfreev(strs); printf("> "); } if (line) free(line); return EXIT_SUCCESS; } ibus-libpinyin-1.16.1/lua/Makefile.am0000664000175000017500000000331213672072346013046 # vim:set noet ts=4: # # ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus # # Copyright (c) 2007-2008 Peng Huang # ## This program is free software: you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation, either version 3 of the License, or ## (at your option) any later version. ## ## This program 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 General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program. If not, see . lua_script_DATA = \ base.lua \ user.lua \ $(NULL) lua_scriptdir = $(pkgdatadir) noinst_LTLIBRARIES = \ libpylua.la \ $(NULL) libpylua_la_SOURCES = \ lua-plugin.h \ lua-plugin.c \ lua-plugin-init.c \ lmyoslib.c \ $(NULL) libpylua_la_CFLAGS = \ @IBUS_CFLAGS@ \ @LUA_CFLAGS@ \ $(NULL) libpylua_la_LIBADD = \ @IBUS_LIBS@ \ @LUA_LIBS@ \ $(NULL) TESTS = \ test-lua-plugin \ $(NULL) noinst_PROGRAMS = \ lua-ext-console \ $(TESTS) \ $(NULL) test_lua_plugin_SOURCES = \ test-lua-plugin.c \ $(NULL) test_lua_plugin_CFLAGS = \ @IBUS_CFLAGS@ \ @LUA_CFLAGS@ \ -DLUASCRIPTDIR=\"$(top_srcdir)/lua\" \ $(NULL) test_lua_plugin_LDADD = \ libpylua.la \ $(NULL) lua_ext_console_SOURCES = \ lua-ext-console.c \ $(NULL) lua_ext_console_CFLAGS = \ @IBUS_CFLAGS@ \ @LUA_CFLAGS@ \ $(NULL) lua_ext_console_LDADD = \ libpylua.la \ $(NULL) EXTRA_DIST = \ base.lua \ user.lua \ $(NULL) ibus-libpinyin-1.16.1/lua/lua-plugin.h0000664000175000017500000001447414004212016013227 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2010 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef LUA_PLUGIN_H #define LUA_PLUGIN_H #include G_BEGIN_DECLS #include #include #include #include #define LUA_IMELIBNAME "ime" LUALIB_API int (luaopen_ime) (lua_State * L); LUALIB_API int (luaopen_myos) (lua_State * L); #define LUA_IMELIB_CONTEXT "__context" typedef struct _lua_command_t{ const char * command_name; const char * lua_function_name; const char * description; const char * leading; /* optional, default "digit". */ const char * help; /* optional. */ } lua_command_t; typedef struct _lua_command_candidate_t{ const char * suggest; const char * help; const char * content; } lua_command_candidate_t; typedef struct _lua_trigger_t{ const char * lua_function_name; const char * description; gchar **input_trigger_strings; gchar **candidate_trigger_strings; } lua_trigger_t; typedef struct _lua_converter_t{ const char * lua_function_name; const char * description; } lua_converter_t; /* * Type macros. */ #define IBUS_TYPE_ENGINE_PLUGIN (ibus_engine_plugin_get_type ()) #define IBUS_ENGINE_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), IBUS_TYPE_ENGINE_PLUGIN, IBusEnginePlugin)) #define IBUS_IS_ENGINE_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), IBUS_TYPE_ENGINE_PLUGIN)) #define IBUS_ENGINE_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), IBUS_TYPE_ENGINE_PLUGIN, IBusEnginePluginClass)) #define IBUS_IS_ENGINE_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS ((klass), IBUS_TYPE_ENGINE_PLUGIN)) #define IBUS_ENGINE_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), IBUS_TYPE_ENGINE_PLUGIN, IBusEnginePluginClass)) typedef struct _IBusEnginePlugin IBusEnginePlugin; typedef struct _IBusEnginePluginClass IBusEnginePluginClass; typedef struct _IBusEnginePluginPrivate IBusEnginePluginPrivate; void lua_plugin_openlibs (lua_State *L); void lua_plugin_store_plugin(lua_State * L, IBusEnginePlugin * plugin); struct _IBusEnginePlugin { GObject parent_instance; /*< private >*/ IBusEnginePluginPrivate *priv; }; struct _IBusEnginePluginClass { GObjectClass parent_class; }; GType ibus_engine_plugin_get_type(void); /** * create a new ibus engine plugin. */ IBusEnginePlugin * ibus_engine_plugin_new(); /** * load a new lua script for ibus engine plugin. */ int ibus_engine_plugin_load_lua_script(IBusEnginePlugin * plugin, const char * filename); /** * add a lua_command_t to plugin. */ gboolean ibus_engine_plugin_add_command(IBusEnginePlugin * plugin, lua_command_t * command); /** * retrieve all available lua plugin commands. * return array of command information of type lua_command_t without copies. */ const GArray * ibus_engine_plugin_get_available_commands(IBusEnginePlugin * plugin); /** * add a lua_trigger_t to plugin. */ gboolean ibus_engine_plugin_add_trigger(IBusEnginePlugin * plugin, lua_trigger_t * trigger); /** * retrieve all available lua plugin triggers. * return array of trigger information of type lua_trigger_t without copies. */ const GArray * ibus_engine_plugin_get_available_triggers(IBusEnginePlugin * plugin); /** * retrieve the lua function name of the matched input for lua_trigger_t. */ gboolean ibus_engine_plugin_match_input(IBusEnginePlugin * plugin, const char * input, const char ** lua_function_name); /** * retrieve the lua function name of the matched candidate for lua_trigger_t. */ gboolean ibus_engine_plugin_match_candidate(IBusEnginePlugin * plugin, const char * candidate, const char ** lua_function_name); /** * add a lua_converter_t to plugin. */ gboolean ibus_engine_plugin_add_converter(IBusEnginePlugin * plugin, lua_converter_t * converter); /** * retrieve all available lua plugin converters. * return array of converter information of type lua_converter_t without copies. */ const GArray * ibus_engine_plugin_get_available_converters(IBusEnginePlugin * plugin); /** * set the converter with the lua function name. */ gboolean ibus_engine_plugin_set_converter(IBusEnginePlugin * plugin, const char * lua_function_name); /** * get the converter with the lua function name. */ const char * ibus_engine_plugin_get_converter(IBusEnginePlugin * plugin); /** * Lookup a special command in ime lua extension. * command must be an 2-char long string. * return the matched command. */ const lua_command_t * ibus_engine_plugin_lookup_command(IBusEnginePlugin * plugin, const char * command_name); /** * retval int: returns the number of results, * only support string or string array. * the consequence call of ibus_engine_plugin_get_retval* must follow this call immediately. */ int ibus_engine_plugin_call(IBusEnginePlugin * plugin, const char * lua_function_name, const char * argument /*optional, maybe NULL.*/); /** * retrieve the number of string values. */ gint ibus_engine_plugin_get_n_result(IBusEnginePlugin * plugin); /** * retrieve the nth string value. (value has been copied.) */ gchar * ibus_engine_plugin_get_nth_result(IBusEnginePlugin * plugin, gint index); /** * clear the string values from the stack. */ void ibus_engine_plugin_clear_results(IBusEnginePlugin * plugin); /** * retrieve the retval string value. (value has been copied.) */ const lua_command_candidate_t * ibus_engine_plugin_get_retval(IBusEnginePlugin * plugin); /** * retrieve the array of lua_command_candidate_t values. (string values have been copied.) */ GArray * ibus_engine_plugin_get_retvals(IBusEnginePlugin * plugin); void ibus_engine_plugin_free_candidate(lua_command_candidate_t * candidate); G_END_DECLS #endif ibus-libpinyin-1.16.1/lua/test-lua-plugin.c0000664000175000017500000000222713672072346014214 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2010 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include "lua-plugin.h" int main(int argc, char * argv[]){ printf("starting test...\n"); IBusEnginePlugin * plugin; plugin = ibus_engine_plugin_new(); ibus_engine_plugin_load_lua_script(plugin, LUASCRIPTDIR G_DIR_SEPARATOR_S "test.lua"); g_object_unref(plugin); printf("done.\n"); return 0; } ibus-libpinyin-1.16.1/lua/base.lua0000664000175000017500000001460513733042353012427 -- encoding: UTF-8 _CHINESE_DIGITS = { [0] = "〇", [1] = "一", [2] = "二", [3] = "三", [4] = "四", [5] = "五", [6] = "六", [7] = "七", [8] = "八", [9] = "九", [10] = "十", } _DATE_PATTERN = "^(%d+)-(%d+)-(%d+)$" _TIME_PATTERN = "^(%d+):(%d+)$" function get_chinese_math_num(num) local ret if num < 10 then ret = _CHINESE_DIGITS[num] elseif num < 20 then ret = _CHINESE_DIGITS[10] if num > 10 then ret = ret .. _CHINESE_DIGITS[num % 10] end elseif num < 100 then local mod = num % 10 ret = _CHINESE_DIGITS[(num - mod) / 10] .. _CHINESE_DIGITS[10] if mod > 0 then ret = ret .. _CHINESE_DIGITS[mod] end else error("Invalid number") end return ret end function get_chinese_non_math_num(num) local ret = "" for ch in tostring(num):gmatch(".") do if ch >= "0" and ch <= "9" then ch = _CHINESE_DIGITS[tonumber(ch)] end ret = ret .. ch end return ret end function _verify_time(hour, minute) if hour < 0 or hour > 23 or minute < 0 or minute > 59 then error("Invalid time") end end function _verify_date(month, day) if month < 1 or month > 12 or day < 1 or day > _MONTH_TABLE_LEAF[month] then error("Invalid date") end end function _verify_date_with_year(year, month, day) _verify_date(month, day) if year < 1 or year > 9999 then error("Invalid year") end if month == 2 and day == 29 then if year % 400 ~= 0 and year % 100 == 0 then error("Invalid lunar day") end if year % 4 ~= 0 then error("Invalid lunar day") end end end function get_chinese_date(y, m, d, full) if full then return get_chinese_non_math_num(y) .. "年" .. get_chinese_math_num(m) .. "月" .. get_chinese_math_num(d) .. "日" else return y .. "年" .. m .. "月" .. d .. "日" end end function get_chinese_time(h, m, full) if full then local ret = get_chinese_math_num(h) .. "时" if m > 0 then ret = ret .. get_chinese_math_num(m) .. "分" end return ret else return h .. "时" .. m .. "分" end end function normalize_date(y, m, d) return string.format("%d-%02d-%02d", y, m, d) end function normalize_time(h, m) return string.format("%02d:%02d", h, m) end function get_time(input) local now = input if #input == 0 then now = os.date("%H:%M") end local hour, minute now:gsub(_TIME_PATTERN, function(h, m) hour = tonumber(h) minute = tonumber(m) end) _verify_time(hour, minute) return { normalize_time(hour, minute), get_chinese_time(hour, minute, false), get_chinese_time(hour, minute, true), } end function get_date(input) local now = input if #input == 0 then now = os.date("%Y-%m-%d") end local year, month, day now:gsub(_DATE_PATTERN, function(y, m, d) year = tonumber(y) month = tonumber(m) day = tonumber(d) end) _verify_date_with_year(year, month, day) return { normalize_date(year, month, day), get_chinese_date(year, month, day, false), get_chinese_date(year, month, day, true), } end ---------------------------------- _MATH_KEYWORDS = { "abs", "acos", "asin", "atan", "atan2", "ceil", "cos", "cosh", "deg", "exp", "floor", "fmod", "frexp", "ldexp", "log", "log10", "max", "min", "modf", "pi", "pow", "rad", "random", "randomseed", "sin", "sinh", "sqrt", "tan", "tanh", } function _add_math_keyword(input) local ret = input for _, keyword in pairs(_MATH_KEYWORDS) do ret = ret:gsub(string.format("([^%%a\\.])(%s((.-)))", keyword), "%1math.%2") ret = ret:gsub(string.format("^(%s((.-)))", keyword), "math.%1") end return ret end function compute(input) local expr = "return " .. _add_math_keyword(input) local func = load(expr) if func == nil then return "-- 未完整表达式 --" end local ret = func() if ret == math.huge then -- div/0 return "-- 计算错误 --" end if ret ~= ret then -- We rely on the property that NaN is the only value not equal to itself. return "-- 计算错误 --" end return ret end -------------------------- _ZODIAC_TABLE = { [{3, 21, 4, 19}] = "白羊座(Aries) ♈", [{4, 20, 5, 20}] = "金牛座(Taurus) ♉", [{5, 21, 6, 21}] = "双子座(Gemini) ♊", [{6, 22, 7, 22}] = "巨蟹座(Cancer) ♋", [{7, 23, 8, 22}] = "狮子座(Leo) ♌", [{8, 23, 9, 23}] = "处女座(Virgo) ♍", [{9, 24, 10, 23}] = "天秤座(Libra) ♎", [{10, 24, 11, 21}] = "天蝎座(Scorpio) ♏", [{11, 22, 12, 21}] = "射手座(Sagittarius) ♐", [{12, 22, 12, 31}] = "摩羯座(Capricorn) ♑", [{1, 1, 1, 19}] = "摩羯座(Capricorn) ♑", [{1, 20, 2, 18}] = "水瓶座(Aquarius) ♒", [{2, 19, 3, 20}] = "双鱼座(Pisces) ♓", } _MONTH_TABLE_NORMAL = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 } _MONTH_TABLE_LEAF = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 } function _compute_month_and_day(month1, day1, month2, day2) if month1 < month2 then return -1 elseif month1 > month2 then return 1 elseif day1 < day2 then return -1 elseif day1 > day2 then return 1 else return 0 end end -- birthday is a string in MM-DD format. function query_zodiac(birthday) local month = 0 local day = 0 birthday:gsub("([0-9]+)-([0-9]+)$", function(m, d) month = tonumber(m) day = tonumber(d) end ) _verify_date(month, day) for range, name in pairs(_ZODIAC_TABLE) do local from_month = range[1] local from_day = range[2] local to_month = range[3] local to_day = range[4] if _compute_month_and_day(month, day, from_month, from_day) >=0 and _compute_month_and_day(month, day, to_month, to_day) <=0 then return name end end error("Should never reach here") end function get_current_time() return get_time("") end function get_today() return get_date("") end ------------ ime.register_command("sj", "get_time", "输入时间", "alpha", "输入可选时间,例如12:34") ime.register_command("rq", "get_date", "输入日期", "alpha", "输入可选日期,例如2013-01-01") ime.register_command("js", "compute", "计算模式", "none", "输入表达式,例如log(2)") ime.register_command("xz", "query_zodiac", "查询星座", "none", "输入您的生日,例如12-3") ime.register_trigger("get_current_time", "显示时间", {}, {'时间'}) ime.register_trigger("get_today", "显示日期", {}, {'日期'}) print("lua script loaded.") ibus-libpinyin-1.16.1/aclocal.m40000644000175000017500000022223614767166740012107 # generated automatically by aclocal 1.16.5 -*- Autoconf -*- # Copyright (C) 1996-2021 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.72],, [m4_warning([this file was generated for autoconf 2.72. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) # Increment this whenever this file is changed. #serial 2 dnl GLIB_GSETTINGS dnl Defines GSETTINGS_SCHEMAS_INSTALL which controls whether dnl the schema should be compiled dnl AC_DEFUN([GLIB_GSETTINGS], [ dnl We can't use PKG_PREREQ because that needs 0.29. m4_ifndef([PKG_PROG_PKG_CONFIG], [pkg.m4 version 0.28 or later is required]) m4_pattern_allow([AM_V_GEN]) AC_ARG_ENABLE(schemas-compile, AS_HELP_STRING([--disable-schemas-compile], [Disable regeneration of gschemas.compiled on install]), [case ${enableval} in yes) GSETTINGS_DISABLE_SCHEMAS_COMPILE="" ;; no) GSETTINGS_DISABLE_SCHEMAS_COMPILE="1" ;; *) AC_MSG_ERROR([bad value ${enableval} for --enable-schemas-compile]) ;; esac]) AC_SUBST([GSETTINGS_DISABLE_SCHEMAS_COMPILE]) PKG_PROG_PKG_CONFIG([0.16]) AC_SUBST(gsettingsschemadir, [${datadir}/glib-2.0/schemas]) AS_IF([test x$cross_compiling != xyes], [PKG_CHECK_VAR([GLIB_COMPILE_SCHEMAS], [gio-2.0], [glib_compile_schemas])], [AC_PATH_PROG([GLIB_COMPILE_SCHEMAS], [glib-compile-schemas])]) AC_SUBST(GLIB_COMPILE_SCHEMAS) if test "x$GLIB_COMPILE_SCHEMAS" = "x"; then ifelse([$2],,[AC_MSG_ERROR([glib-compile-schemas not found.])],[$2]) else ifelse([$1],,[:],[$1]) fi GSETTINGS_RULES=' .PHONY : uninstall-gsettings-schemas install-gsettings-schemas clean-gsettings-schemas mostlyclean-am: clean-gsettings-schemas gsettings__enum_file = $(addsuffix .enums.xml,$(gsettings_ENUM_NAMESPACE)) %.gschema.valid: %.gschema.xml $(gsettings__enum_file) $(AM_V_GEN) $(GLIB_COMPILE_SCHEMAS) --strict --dry-run $(addprefix --schema-file=,$(gsettings__enum_file)) --schema-file=$< && mkdir -p [$](@D) && touch [$]@ all-am: $(gsettings_SCHEMAS:.xml=.valid) uninstall-am: uninstall-gsettings-schemas install-data-am: install-gsettings-schemas .SECONDARY: $(gsettings_SCHEMAS) install-gsettings-schemas: $(gsettings_SCHEMAS) $(gsettings__enum_file) @$(NORMAL_INSTALL) if test -n "$^"; then \ test -z "$(gsettingsschemadir)" || $(MKDIR_P) "$(DESTDIR)$(gsettingsschemadir)"; \ $(INSTALL_DATA) $^ "$(DESTDIR)$(gsettingsschemadir)"; \ test -n "$(GSETTINGS_DISABLE_SCHEMAS_COMPILE)$(DESTDIR)" || $(GLIB_COMPILE_SCHEMAS) $(gsettingsschemadir); \ fi uninstall-gsettings-schemas: @$(NORMAL_UNINSTALL) @list='\''$(gsettings_SCHEMAS) $(gsettings__enum_file)'\''; test -n "$(gsettingsschemadir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e '\''s|^.*/||'\''`; \ test -n "$$files" || exit 0; \ echo " ( cd '\''$(DESTDIR)$(gsettingsschemadir)'\'' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(gsettingsschemadir)" && rm -f $$files test -n "$(GSETTINGS_DISABLE_SCHEMAS_COMPILE)$(DESTDIR)" || $(GLIB_COMPILE_SCHEMAS) $(gsettingsschemadir) clean-gsettings-schemas: rm -f $(gsettings_SCHEMAS:.xml=.valid) $(gsettings__enum_file) ifdef gsettings_ENUM_NAMESPACE $(gsettings__enum_file): $(gsettings_ENUM_FILES) $(AM_V_GEN) glib-mkenums --comments '\'''\'' --fhead "" --vhead " <@type@ id='\''$(gsettings_ENUM_NAMESPACE).@EnumName@'\''>" --vprod " " --vtail " " --ftail "" [$]^ > [$]@.tmp && mv [$]@.tmp [$]@ endif ' _GSETTINGS_SUBST(GSETTINGS_RULES) ]) dnl _GSETTINGS_SUBST(VARIABLE) dnl Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST AC_DEFUN([_GSETTINGS_SUBST], [ AC_SUBST([$1]) m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])]) ] ) # pkg.m4 - Macros to locate and use pkg-config. -*- Autoconf -*- # serial 12 (pkg-config-0.29.2) dnl Copyright © 2004 Scott James Remnant . dnl Copyright © 2012-2015 Dan Nicholson dnl dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 2 of the License, or dnl (at your option) any later version. dnl dnl This program is distributed in the hope that it will be useful, but dnl WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU dnl General Public License for more details. dnl dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA dnl 02111-1307, USA. dnl dnl As a special exception to the GNU General Public License, if you dnl distribute this file as part of a program that contains a dnl configuration script generated by Autoconf, you may include it under dnl the same distribution terms that you use for the rest of that dnl program. dnl PKG_PREREQ(MIN-VERSION) dnl ----------------------- dnl Since: 0.29 dnl dnl Verify that the version of the pkg-config macros are at least dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's dnl installed version of pkg-config, this checks the developer's version dnl of pkg.m4 when generating configure. dnl dnl To ensure that this macro is defined, also add: dnl m4_ifndef([PKG_PREREQ], dnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])]) dnl dnl See the "Since" comment for each macro you use to see what version dnl of the macros you require. m4_defun([PKG_PREREQ], [m4_define([PKG_MACROS_VERSION], [0.29.2]) m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1, [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])]) ])dnl PKG_PREREQ dnl PKG_PROG_PKG_CONFIG([MIN-VERSION], [ACTION-IF-NOT-FOUND]) dnl --------------------------------------------------------- dnl Since: 0.16 dnl dnl Search for the pkg-config tool and set the PKG_CONFIG variable to dnl first found in the path. Checks that the version of pkg-config found dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is dnl used since that's the first version where most current features of dnl pkg-config existed. dnl dnl If pkg-config is not found or older than specified, it will result dnl in an empty PKG_CONFIG variable. To avoid widespread issues with dnl scripts not checking it, ACTION-IF-NOT-FOUND defaults to aborting. dnl You can specify [PKG_CONFIG=false] as an action instead, which would dnl result in pkg-config tests failing, but no bogus error messages. AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$]) AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) fi if test -n "$PKG_CONFIG"; then _pkg_min_version=m4_default([$1], [0.9.0]) AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) PKG_CONFIG="" fi fi if test -z "$PKG_CONFIG"; then m4_default([$2], [AC_MSG_ERROR([pkg-config not found])]) fi[]dnl ])dnl PKG_PROG_PKG_CONFIG dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) dnl ------------------------------------------------------------------- dnl Since: 0.18 dnl dnl Check to see whether a particular set of modules exists. Similar to dnl PKG_CHECK_MODULES(), but does not set variables or print errors. dnl dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) dnl only at the first occurrence in configure.ac, so if the first place dnl it's called might be skipped (such as if it is within an "if", you dnl have to call PKG_CHECK_EXISTS manually AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then m4_default([$2], [:]) m4_ifvaln([$3], [else $3])dnl fi]) dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) dnl --------------------------------------------- dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting dnl pkg_failed based on the result. m4_define([_PKG_CONFIG], [if test -n "$$1"; then pkg_cv_[]$1="$$1" elif test -n "$PKG_CONFIG"; then PKG_CHECK_EXISTS([$3], [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes]) else pkg_failed=untried fi[]dnl ])dnl _PKG_CONFIG dnl _PKG_SHORT_ERRORS_SUPPORTED dnl --------------------------- dnl Internal check to see if pkg-config supports short errors. AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi[]dnl ])dnl _PKG_SHORT_ERRORS_SUPPORTED dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], dnl [ACTION-IF-NOT-FOUND]) dnl -------------------------------------------------------------- dnl Since: 0.4.0 dnl dnl Note that if there is a possibility the first call to dnl PKG_CHECK_MODULES might not happen, you should be sure to include an dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac AC_DEFUN([PKG_CHECK_MODULES], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl pkg_failed=no AC_MSG_CHECKING([for $2]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then AC_MSG_RESULT([no]) _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` else $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD m4_default([$4], [AC_MSG_ERROR( [Package requirements ($2) were not met: $$1_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. _PKG_TEXT])[]dnl ]) elif test $pkg_failed = untried; then AC_MSG_RESULT([no]) m4_default([$4], [AC_MSG_FAILURE( [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. _PKG_TEXT To get pkg-config, see .])[]dnl ]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) $3 fi[]dnl ])dnl PKG_CHECK_MODULES dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], dnl [ACTION-IF-NOT-FOUND]) dnl --------------------------------------------------------------------- dnl Since: 0.29 dnl dnl Checks for existence of MODULES and gathers its build flags with dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags dnl and VARIABLE-PREFIX_LIBS from --libs. dnl dnl Note that if there is a possibility the first call to dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to dnl include an explicit call to PKG_PROG_PKG_CONFIG in your dnl configure.ac. AC_DEFUN([PKG_CHECK_MODULES_STATIC], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl _save_PKG_CONFIG=$PKG_CONFIG PKG_CONFIG="$PKG_CONFIG --static" PKG_CHECK_MODULES($@) PKG_CONFIG=$_save_PKG_CONFIG[]dnl ])dnl PKG_CHECK_MODULES_STATIC dnl PKG_INSTALLDIR([DIRECTORY]) dnl ------------------------- dnl Since: 0.27 dnl dnl Substitutes the variable pkgconfigdir as the location where a module dnl should install pkg-config .pc files. By default the directory is dnl $libdir/pkgconfig, but the default can be changed by passing dnl DIRECTORY. The user can override through the --with-pkgconfigdir dnl parameter. AC_DEFUN([PKG_INSTALLDIR], [m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])]) m4_pushdef([pkg_description], [pkg-config installation directory @<:@]pkg_default[@:>@]) AC_ARG_WITH([pkgconfigdir], [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],, [with_pkgconfigdir=]pkg_default) AC_SUBST([pkgconfigdir], [$with_pkgconfigdir]) m4_popdef([pkg_default]) m4_popdef([pkg_description]) ])dnl PKG_INSTALLDIR dnl PKG_NOARCH_INSTALLDIR([DIRECTORY]) dnl -------------------------------- dnl Since: 0.27 dnl dnl Substitutes the variable noarch_pkgconfigdir as the location where a dnl module should install arch-independent pkg-config .pc files. By dnl default the directory is $datadir/pkgconfig, but the default can be dnl changed by passing DIRECTORY. The user can override through the dnl --with-noarch-pkgconfigdir parameter. AC_DEFUN([PKG_NOARCH_INSTALLDIR], [m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])]) m4_pushdef([pkg_description], [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@]) AC_ARG_WITH([noarch-pkgconfigdir], [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],, [with_noarch_pkgconfigdir=]pkg_default) AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir]) m4_popdef([pkg_default]) m4_popdef([pkg_description]) ])dnl PKG_NOARCH_INSTALLDIR dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) dnl ------------------------------------------- dnl Since: 0.28 dnl dnl Retrieves the value of the pkg-config variable for the given module. AC_DEFUN([PKG_CHECK_VAR], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl _PKG_CONFIG([$1], [variable="][$3]["], [$2]) AS_VAR_COPY([$1], [pkg_cv_][$1]) AS_VAR_IF([$1], [""], [$5], [$4])dnl ])dnl PKG_CHECK_VAR dnl PKG_WITH_MODULES(VARIABLE-PREFIX, MODULES, dnl [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND], dnl [DESCRIPTION], [DEFAULT]) dnl ------------------------------------------ dnl dnl Prepare a "--with-" configure option using the lowercase dnl [VARIABLE-PREFIX] name, merging the behaviour of AC_ARG_WITH and dnl PKG_CHECK_MODULES in a single macro. AC_DEFUN([PKG_WITH_MODULES], [ m4_pushdef([with_arg], m4_tolower([$1])) m4_pushdef([description], [m4_default([$5], [build with ]with_arg[ support])]) m4_pushdef([def_arg], [m4_default([$6], [auto])]) m4_pushdef([def_action_if_found], [AS_TR_SH([with_]with_arg)=yes]) m4_pushdef([def_action_if_not_found], [AS_TR_SH([with_]with_arg)=no]) m4_case(def_arg, [yes],[m4_pushdef([with_without], [--without-]with_arg)], [m4_pushdef([with_without],[--with-]with_arg)]) AC_ARG_WITH(with_arg, AS_HELP_STRING(with_without, description[ @<:@default=]def_arg[@:>@]),, [AS_TR_SH([with_]with_arg)=def_arg]) AS_CASE([$AS_TR_SH([with_]with_arg)], [yes],[PKG_CHECK_MODULES([$1],[$2],$3,$4)], [auto],[PKG_CHECK_MODULES([$1],[$2], [m4_n([def_action_if_found]) $3], [m4_n([def_action_if_not_found]) $4])]) m4_popdef([with_arg]) m4_popdef([description]) m4_popdef([def_arg]) ])dnl PKG_WITH_MODULES dnl PKG_HAVE_WITH_MODULES(VARIABLE-PREFIX, MODULES, dnl [DESCRIPTION], [DEFAULT]) dnl ----------------------------------------------- dnl dnl Convenience macro to trigger AM_CONDITIONAL after PKG_WITH_MODULES dnl check._[VARIABLE-PREFIX] is exported as make variable. AC_DEFUN([PKG_HAVE_WITH_MODULES], [ PKG_WITH_MODULES([$1],[$2],,,[$3],[$4]) AM_CONDITIONAL([HAVE_][$1], [test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"]) ])dnl PKG_HAVE_WITH_MODULES dnl PKG_HAVE_DEFINE_WITH_MODULES(VARIABLE-PREFIX, MODULES, dnl [DESCRIPTION], [DEFAULT]) dnl ------------------------------------------------------ dnl dnl Convenience macro to run AM_CONDITIONAL and AC_DEFINE after dnl PKG_WITH_MODULES check. HAVE_[VARIABLE-PREFIX] is exported as make dnl and preprocessor variable. AC_DEFUN([PKG_HAVE_DEFINE_WITH_MODULES], [ PKG_HAVE_WITH_MODULES([$1],[$2],[$3],[$4]) AS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"], [AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])]) ])dnl PKG_HAVE_DEFINE_WITH_MODULES # Copyright (C) 2002-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.16' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.16.5], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.16.5])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to # '$srcdir', '$srcdir/..', or '$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is '.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl # Expand $ac_aux_dir to an absolute path. am_aux_dir=`cd "$ac_aux_dir" && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ([2.52])dnl m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl m4_define([_AM_COND_VALUE_$1], [$2])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], [$1], [CXX], [depcc="$CXX" am_compiler_list=], [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], [$1], [UPC], [depcc="$UPC" am_compiler_list=], [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi am__universal=false m4_case([$1], [CC], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac], [CXX], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac]) for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES. AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE([dependency-tracking], [dnl AS_HELP_STRING( [--enable-dependency-tracking], [do not reject slow dependency extractors]) AS_HELP_STRING( [--disable-dependency-tracking], [speeds up one-time build])]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl AC_SUBST([am__nodep])dnl _AM_SUBST_NOTMAKE([am__nodep])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. # TODO: see whether this extra hack can be removed once we start # requiring Autoconf 2.70 or later. AS_CASE([$CONFIG_FILES], [*\'*], [eval set x "$CONFIG_FILES"], [*], [set x $CONFIG_FILES]) shift # Used to flag and report bootstrapping failures. am_rc=0 for am_mf do # Strip MF so we end up with the name of the file. am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile which includes # dependency-tracking related rules and includes. # Grep'ing the whole file directly is not great: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ || continue am_dirpart=`AS_DIRNAME(["$am_mf"])` am_filepart=`AS_BASENAME(["$am_mf"])` AM_RUN_LOG([cd "$am_dirpart" \ && sed -e '/# am--include-marker/d' "$am_filepart" \ | $MAKE -f - am--depfiles]) || am_rc=$? done if test $am_rc -ne 0; then AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments for automatic dependency tracking. If GNU make was not used, consider re-running the configure script with MAKE="gmake" (or whatever is necessary). You can also try re-running configure with the '--disable-dependency-tracking' option to at least be able to build the package (albeit without support for automatic dependency tracking).]) fi AS_UNSET([am_dirpart]) AS_UNSET([am_filepart]) AS_UNSET([am_mf]) AS_UNSET([am_rc]) rm -f conftest-deps.mk } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking is enabled. # This creates each '.Po' and '.Plo' makefile fragment that we'll need in # order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. m4_define([AC_PROG_CC], m4_defn([AC_PROG_CC]) [_AM_PROG_CC_C_O ]) # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.65])dnl m4_ifdef([_$0_ALREADY_INIT], [m4_fatal([$0 expanded multiple times ]m4_defn([_$0_ALREADY_INIT]))], [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [AC_DIAGNOSE([obsolete], [$0: two- and three-arguments forms are deprecated.]) m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if( m4_ifset([AC_PACKAGE_NAME], [ok]):m4_ifset([AC_PACKAGE_VERSION], [ok]), [ok:ok],, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) AM_MISSING_PROG([AUTOCONF], [autoconf]) AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) AM_MISSING_PROG([AUTOHEADER], [autoheader]) AM_MISSING_PROG([MAKEINFO], [makeinfo]) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: # # AC_SUBST([mkdir_p], ['$(MKDIR_P)']) # We need awk for the "check" target (and possibly the TAP driver). The # system "awk" is bad on some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES([CC])], [m4_define([AC_PROG_CC], m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES([CXX])], [m4_define([AC_PROG_CXX], m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES([OBJC])], [m4_define([AC_PROG_OBJC], m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], [_AM_DEPENDENCIES([OBJCXX])], [m4_define([AC_PROG_OBJCXX], m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl ]) # Variables for tags utilities; see am/tags.am if test -z "$CTAGS"; then CTAGS=ctags fi AC_SUBST([CTAGS]) if test -z "$ETAGS"; then ETAGS=etags fi AC_SUBST([ETAGS]) if test -z "$CSCOPE"; then CSCOPE=cscope fi AC_SUBST([CSCOPE]) AC_REQUIRE([AM_SILENT_RULES])dnl dnl The testsuite driver may need to know about EXEEXT, so add the dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl # POSIX will say in a future version that running "rm -f" with no argument # is OK; and we want to be able to make that assumption in our Makefile # recipes. So use an aggressive probe to check that the usage we want is # actually supported "in the wild" to an acceptable degree. # See automake bug#10828. # To make any issue more visible, cause the running configure to be aborted # by default if the 'rm' program in use doesn't match our expectations; the # user can still override this though. if rm -f && rm -fr && rm -rf; then : OK; else cat >&2 <<'END' Oops! Your 'rm' program seems unable to run without file operands specified on the command line, even when the '-f' option is present. This is contrary to the behaviour of most rm programs out there, and not conforming with the upcoming POSIX standard: Please tell bug-automake@gnu.org about your system, including the value of your $PATH and any error possibly output before this message. This can help us improve future automake versions. END if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then echo 'Configuration will proceed anyway, since you have set the' >&2 echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 echo >&2 else cat >&2 <<'END' Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation that behaves properly: . If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM to "yes", and re-run configure. END AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) fi fi dnl The trailing newline in this macro's definition is deliberate, for dnl backward compatibility and to allow trailing 'dnl'-style comments dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. ]) dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_arg=$1 _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl if test x"${install_sh+set}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi AC_SUBST([install_sh])]) # Copyright (C) 2003-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering # Copyright (C) 1996-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_MAINTAINER_MODE([DEFAULT-MODE]) # ---------------------------------- # Control maintainer-specific portions of Makefiles. # Default is to disable them, unless 'enable' is passed literally. # For symmetry, 'disable' may be passed as well. Anyway, the user # can override the default with the --enable/--disable switch. AC_DEFUN([AM_MAINTAINER_MODE], [m4_case(m4_default([$1], [disable]), [enable], [m4_define([am_maintainer_other], [disable])], [disable], [m4_define([am_maintainer_other], [enable])], [m4_define([am_maintainer_other], [enable]) m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])]) AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) dnl maintainer-mode's default is 'disable' unless 'enable' is passed AC_ARG_ENABLE([maintainer-mode], [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode], am_maintainer_other[ make rules and dependencies not useful (and sometimes confusing) to the casual installer])], [USE_MAINTAINER_MODE=$enableval], [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes])) AC_MSG_RESULT([$USE_MAINTAINER_MODE]) AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) MAINT=$MAINTAINER_MODE_TRUE AC_SUBST([MAINT])dnl ] ) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_MAKE_INCLUDE() # ----------------- # Check whether make has an 'include' directive that can support all # the idioms we need for our automatic dependency tracking code. AC_DEFUN([AM_MAKE_INCLUDE], [AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive]) cat > confinc.mk << 'END' am__doit: @echo this is the am__doit target >confinc.out .PHONY: am__doit END am__include="#" am__quote= # BSD make does it like this. echo '.include "confinc.mk" # ignored' > confmf.BSD # Other make implementations (GNU, Solaris 10, AIX) do it like this. echo 'include confinc.mk # ignored' > confmf.GNU _am_result=no for s in GNU BSD; do AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out]) AS_CASE([$?:`cat confinc.out 2>/dev/null`], ['0:this is the am__doit target'], [AS_CASE([$s], [BSD], [am__include='.include' am__quote='"'], [am__include='include' am__quote=''])]) if test "$am__include" != "#"; then _am_result="yes ($s style)" break fi done rm -f confinc.* confmf.* AC_MSG_RESULT([${_am_result}]) AC_SUBST([am__include])]) AC_SUBST([am__quote])]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it is modern enough. # If it is, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl if test x"${MISSING+set}" != xset; then MISSING="\${SHELL} '$am_aux_dir/missing'" fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then am_missing_run="$MISSING " else am_missing_run= AC_MSG_WARN(['missing' script is too old or missing]) fi ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # -------------------- # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), [1])]) # _AM_SET_OPTIONS(OPTIONS) # ------------------------ # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Copyright (C) 1999-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_PROG_CC_C_O # --------------- # Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC # to automatically call this. AC_DEFUN([_AM_PROG_CC_C_O], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([compile])dnl AC_LANG_PUSH([C])dnl AC_CACHE_CHECK( [whether $CC understands -c and -o together], [am_cv_prog_cc_c_o], [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) # Make sure it works both with $CC and with simple cc. # Following AC_PROG_CC_C_O, we do the test twice because some # compilers refuse to overwrite an existing .o file with -o, # though they will create one. am_cv_prog_cc_c_o=yes for am_i in 1 2; do if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ && test -f conftest2.$ac_objext; then : OK else am_cv_prog_cc_c_o=no break fi done rm -f core conftest* unset am_i]) if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi AC_LANG_POP([C])]) # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) # Copyright (C) 1999-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PATH_PYTHON([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) # --------------------------------------------------------------------------- # Adds support for distributing Python modules and packages. To # install modules, copy them to $(pythondir), using the python_PYTHON # automake variable. To install a package with the same name as the # automake package, install to $(pkgpythondir), or use the # pkgpython_PYTHON automake variable. # # The variables $(pyexecdir) and $(pkgpyexecdir) are provided as # locations to install python extension modules (shared libraries). # Another macro is required to find the appropriate flags to compile # extension modules. # # If your package is configured with a different prefix to python, # users will have to add the install directory to the PYTHONPATH # environment variable, or create a .pth file (see the python # documentation for details). # # If the MINIMUM-VERSION argument is passed, AM_PATH_PYTHON will # cause an error if the version of python installed on the system # doesn't meet the requirement. MINIMUM-VERSION should consist of # numbers and dots only. AC_DEFUN([AM_PATH_PYTHON], [ dnl Find a Python interpreter. Python versions prior to 2.0 are not dnl supported. (2.0 was released on October 16, 2000). m4_define_default([_AM_PYTHON_INTERPRETER_LIST], [python python2 python3 dnl python3.9 python3.8 python3.7 python3.6 python3.5 python3.4 python3.3 dnl python3.2 python3.1 python3.0 dnl python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 dnl python2.0]) AC_ARG_VAR([PYTHON], [the Python interpreter]) m4_if([$1],[],[ dnl No version check is needed. # Find any Python interpreter. if test -z "$PYTHON"; then AC_PATH_PROGS([PYTHON], _AM_PYTHON_INTERPRETER_LIST, :) fi am_display_PYTHON=python ], [ dnl A version check is needed. if test -n "$PYTHON"; then # If the user set $PYTHON, use it and don't search something else. AC_MSG_CHECKING([whether $PYTHON version is >= $1]) AM_PYTHON_CHECK_VERSION([$PYTHON], [$1], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]) AC_MSG_ERROR([Python interpreter is too old])]) am_display_PYTHON=$PYTHON else # Otherwise, try each interpreter until we find one that satisfies # VERSION. AC_CACHE_CHECK([for a Python interpreter with version >= $1], [am_cv_pathless_PYTHON],[ for am_cv_pathless_PYTHON in _AM_PYTHON_INTERPRETER_LIST none; do test "$am_cv_pathless_PYTHON" = none && break AM_PYTHON_CHECK_VERSION([$am_cv_pathless_PYTHON], [$1], [break]) done]) # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON. if test "$am_cv_pathless_PYTHON" = none; then PYTHON=: else AC_PATH_PROG([PYTHON], [$am_cv_pathless_PYTHON]) fi am_display_PYTHON=$am_cv_pathless_PYTHON fi ]) if test "$PYTHON" = :; then dnl Run any user-specified action, or abort. m4_default([$3], [AC_MSG_ERROR([no suitable Python interpreter found])]) else dnl Query Python for its version number. Although site.py simply uses dnl sys.version[:3], printing that failed with Python 3.10, since the dnl trailing zero was eliminated. So now we output just the major dnl and minor version numbers, as numbers. Apparently the tertiary dnl version is not of interest. dnl AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version], [am_cv_python_version=`$PYTHON -c "import sys; print ('%u.%u' % sys.version_info[[:2]])"`]) AC_SUBST([PYTHON_VERSION], [$am_cv_python_version]) dnl At times, e.g., when building shared libraries, you may want dnl to know which OS platform Python thinks this is. dnl AC_CACHE_CHECK([for $am_display_PYTHON platform], [am_cv_python_platform], [am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`]) AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform]) dnl emacs-page dnl If --with-python-sys-prefix is given, use the values of sys.prefix dnl and sys.exec_prefix for the corresponding values of PYTHON_PREFIX dnl and PYTHON_EXEC_PREFIX. Otherwise, use the GNU ${prefix} and dnl ${exec_prefix} variables. dnl dnl The two are made distinct variables so they can be overridden if dnl need be, although general consensus is that you shouldn't need dnl this separation. dnl dnl Also allow directly setting the prefixes via configure options, dnl overriding any default. dnl if test "x$prefix" = xNONE; then am__usable_prefix=$ac_default_prefix else am__usable_prefix=$prefix fi # Allow user to request using sys.* values from Python, # instead of the GNU $prefix values. AC_ARG_WITH([python-sys-prefix], [AS_HELP_STRING([--with-python-sys-prefix], [use Python's sys.prefix and sys.exec_prefix values])], [am_use_python_sys=:], [am_use_python_sys=false]) # Allow user to override whatever the default Python prefix is. AC_ARG_WITH([python_prefix], [AS_HELP_STRING([--with-python_prefix], [override the default PYTHON_PREFIX])], [am_python_prefix_subst=$withval am_cv_python_prefix=$withval AC_MSG_CHECKING([for explicit $am_display_PYTHON prefix]) AC_MSG_RESULT([$am_cv_python_prefix])], [ if $am_use_python_sys; then # using python sys.prefix value, not GNU AC_CACHE_CHECK([for python default $am_display_PYTHON prefix], [am_cv_python_prefix], [am_cv_python_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.prefix)"`]) dnl If sys.prefix is a subdir of $prefix, replace the literal value of dnl $prefix with a variable reference so it can be overridden. case $am_cv_python_prefix in $am__usable_prefix*) am__strip_prefix=`echo "$am__usable_prefix" | sed 's|.|.|g'` am_python_prefix_subst=`echo "$am_cv_python_prefix" | sed "s,^$am__strip_prefix,\\${prefix},"` ;; *) am_python_prefix_subst=$am_cv_python_prefix ;; esac else # using GNU prefix value, not python sys.prefix am_python_prefix_subst='${prefix}' am_python_prefix=$am_python_prefix_subst AC_MSG_CHECKING([for GNU default $am_display_PYTHON prefix]) AC_MSG_RESULT([$am_python_prefix]) fi]) # Substituting python_prefix_subst value. AC_SUBST([PYTHON_PREFIX], [$am_python_prefix_subst]) # emacs-page Now do it all over again for Python exec_prefix, but with yet # another conditional: fall back to regular prefix if that was specified. AC_ARG_WITH([python_exec_prefix], [AS_HELP_STRING([--with-python_exec_prefix], [override the default PYTHON_EXEC_PREFIX])], [am_python_exec_prefix_subst=$withval am_cv_python_exec_prefix=$withval AC_MSG_CHECKING([for explicit $am_display_PYTHON exec_prefix]) AC_MSG_RESULT([$am_cv_python_exec_prefix])], [ # no explicit --with-python_exec_prefix, but if # --with-python_prefix was given, use its value for python_exec_prefix too. AS_IF([test -n "$with_python_prefix"], [am_python_exec_prefix_subst=$with_python_prefix am_cv_python_exec_prefix=$with_python_prefix AC_MSG_CHECKING([for python_prefix-given $am_display_PYTHON exec_prefix]) AC_MSG_RESULT([$am_cv_python_exec_prefix])], [ # Set am__usable_exec_prefix whether using GNU or Python values, # since we use that variable for pyexecdir. if test "x$exec_prefix" = xNONE; then am__usable_exec_prefix=$am__usable_prefix else am__usable_exec_prefix=$exec_prefix fi # if $am_use_python_sys; then # using python sys.exec_prefix, not GNU AC_CACHE_CHECK([for python default $am_display_PYTHON exec_prefix], [am_cv_python_exec_prefix], [am_cv_python_exec_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.exec_prefix)"`]) dnl If sys.exec_prefix is a subdir of $exec_prefix, replace the dnl literal value of $exec_prefix with a variable reference so it can dnl be overridden. case $am_cv_python_exec_prefix in $am__usable_exec_prefix*) am__strip_prefix=`echo "$am__usable_exec_prefix" | sed 's|.|.|g'` am_python_exec_prefix_subst=`echo "$am_cv_python_exec_prefix" | sed "s,^$am__strip_prefix,\\${exec_prefix},"` ;; *) am_python_exec_prefix_subst=$am_cv_python_exec_prefix ;; esac else # using GNU $exec_prefix, not python sys.exec_prefix am_python_exec_prefix_subst='${exec_prefix}' am_python_exec_prefix=$am_python_exec_prefix_subst AC_MSG_CHECKING([for GNU default $am_display_PYTHON exec_prefix]) AC_MSG_RESULT([$am_python_exec_prefix]) fi])]) # Substituting python_exec_prefix_subst. AC_SUBST([PYTHON_EXEC_PREFIX], [$am_python_exec_prefix_subst]) # Factor out some code duplication into this shell variable. am_python_setup_sysconfig="\ import sys # Prefer sysconfig over distutils.sysconfig, for better compatibility # with python 3.x. See automake bug#10227. try: import sysconfig except ImportError: can_use_sysconfig = 0 else: can_use_sysconfig = 1 # Can't use sysconfig in CPython 2.7, since it's broken in virtualenvs: # try: from platform import python_implementation if python_implementation() == 'CPython' and sys.version[[:3]] == '2.7': can_use_sysconfig = 0 except ImportError: pass" dnl emacs-page Set up 4 directories: dnl 1. pythondir: where to install python scripts. This is the dnl site-packages directory, not the python standard library dnl directory like in previous automake betas. This behavior dnl is more consistent with lispdir.m4 for example. dnl Query distutils for this directory. dnl AC_CACHE_CHECK([for $am_display_PYTHON script directory (pythondir)], [am_cv_python_pythondir], [if test "x$am_cv_python_prefix" = x; then am_py_prefix=$am__usable_prefix else am_py_prefix=$am_cv_python_prefix fi am_cv_python_pythondir=`$PYTHON -c " $am_python_setup_sysconfig if can_use_sysconfig: sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'}) else: from distutils import sysconfig sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix') sys.stdout.write(sitedir)"` # case $am_cv_python_pythondir in $am_py_prefix*) am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'` am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,\\${PYTHON_PREFIX},"` ;; *) case $am_py_prefix in /usr|/System*) ;; *) am_cv_python_pythondir="\${PYTHON_PREFIX}/lib/python$PYTHON_VERSION/site-packages" ;; esac ;; esac ]) AC_SUBST([pythondir], [$am_cv_python_pythondir]) dnl 2. pkgpythondir: $PACKAGE directory under pythondir. Was dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is dnl more consistent with the rest of automake. dnl AC_SUBST([pkgpythondir], [\${pythondir}/$PACKAGE]) dnl 3. pyexecdir: directory for installing python extension modules dnl (shared libraries). dnl Query distutils for this directory. dnl AC_CACHE_CHECK([for $am_display_PYTHON extension module directory (pyexecdir)], [am_cv_python_pyexecdir], [if test "x$am_cv_python_exec_prefix" = x; then am_py_exec_prefix=$am__usable_exec_prefix else am_py_exec_prefix=$am_cv_python_exec_prefix fi am_cv_python_pyexecdir=`$PYTHON -c " $am_python_setup_sysconfig if can_use_sysconfig: sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_exec_prefix'}) else: from distutils import sysconfig sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_exec_prefix') sys.stdout.write(sitedir)"` # case $am_cv_python_pyexecdir in $am_py_exec_prefix*) am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'` am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,\\${PYTHON_EXEC_PREFIX},"` ;; *) case $am_py_exec_prefix in /usr|/System*) ;; *) am_cv_python_pyexecdir="\${PYTHON_EXEC_PREFIX}/lib/python$PYTHON_VERSION/site-packages" ;; esac ;; esac ]) AC_SUBST([pyexecdir], [$am_cv_python_pyexecdir]) dnl 4. pkgpyexecdir: $(pyexecdir)/$(PACKAGE) dnl AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE]) dnl Run any user-specified action. $2 fi ]) # AM_PYTHON_CHECK_VERSION(PROG, VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) # --------------------------------------------------------------------------- # Run ACTION-IF-TRUE if the Python interpreter PROG has version >= VERSION. # Run ACTION-IF-FALSE otherwise. # This test uses sys.hexversion instead of the string equivalent (first # word of sys.version), in order to cope with versions such as 2.2c1. # This supports Python 2.0 or higher. (2.0 was released on October 16, 2000). AC_DEFUN([AM_PYTHON_CHECK_VERSION], [prog="import sys # split strings by '.' and convert to numeric. Append some zeros # because we need at least 4 digits for the hex conversion. # map returns an iterator in Python 3.0 and a list in 2.x minver = list(map(int, '$2'.split('.'))) + [[0, 0, 0]] minverhex = 0 # xrange is not present in Python 3.0 and range returns an iterator for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[[i]] sys.exit(sys.hexversion < minverhex)" AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])]) # Copyright (C) 2001-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_RUN_LOG(COMMAND) # ------------------- # Run COMMAND, save the exit status in ac_status, and log it. # (This has been adapted from Autoconf's _AC_RUN_LOG macro.) AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD (exit $ac_status); }]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[[\\\"\#\$\&\'\`$am_lf]]*) AC_MSG_ERROR([unsafe absolute working directory name]);; esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; esac # Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( am_has_slept=no for am_try in 1 2; do echo "timestamp, slept: $am_has_slept" > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi if test "$[2]" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 am_has_slept=yes done test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT([yes]) # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= if grep 'slept: no' conftest.file >/dev/null 2>&1; then ( sleep 1 ) & am_sleep_pid=$! fi AC_CONFIG_COMMANDS_PRE( [AC_MSG_CHECKING([that generated files are newer than configure]) if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi AC_MSG_RESULT([done])]) rm -f conftest.file ]) # Copyright (C) 2009-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_SILENT_RULES([DEFAULT]) # -------------------------- # Enable less verbose build rules; with the default set to DEFAULT # ("yes" being less verbose, "no" or empty being verbose). AC_DEFUN([AM_SILENT_RULES], [AC_ARG_ENABLE([silent-rules], [dnl AS_HELP_STRING( [--enable-silent-rules], [less verbose build output (undo: "make V=1")]) AS_HELP_STRING( [--disable-silent-rules], [verbose build output (undo: "make V=0")])dnl ]) case $enable_silent_rules in @%:@ ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; esac dnl dnl A few 'make' implementations (e.g., NonStop OS and NextStep) dnl do not support nested variable expansions. dnl See automake bug#9928 and bug#10237. am_make=${MAKE-make} AC_CACHE_CHECK([whether $am_make supports nested variables], [am_cv_make_support_nested_variables], [if AS_ECHO([['TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi]) if test $am_cv_make_support_nested_variables = yes; then dnl Using '$V' instead of '$(V)' breaks IRIX make. AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AC_SUBST([AM_V])dnl AM_SUBST_NOTMAKE([AM_V])dnl AC_SUBST([AM_DEFAULT_V])dnl AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl AC_SUBST([AM_DEFAULT_VERBOSITY])dnl AM_BACKSLASH='\' AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) # Copyright (C) 2001-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor 'install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in "make install-strip", and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using 'strip' when the user # run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the 'STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) # -------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of 'v7', 'ustar', or 'pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar # AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AC_SUBST([AMTAR], ['$${TAR-tar}']) # We'll loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' m4_if([$1], [v7], [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], [m4_case([$1], [ustar], [# The POSIX 1988 'ustar' format is defined with fixed-size fields. # There is notably a 21 bits limit for the UID and the GID. In fact, # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 # and bug#13588). am_max_uid=2097151 # 2^21 - 1 am_max_gid=$am_max_uid # The $UID and $GID variables are not portable, so we need to resort # to the POSIX-mandated id(1) utility. Errors in the 'id' calls # below are definitely unexpected, so allow the users to see them # (that is, avoid stderr redirection). am_uid=`id -u || echo unknown` am_gid=`id -g || echo unknown` AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) if test $am_uid -le $am_max_uid; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) _am_tools=none fi AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) if test $am_gid -le $am_max_gid; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) _am_tools=none fi], [pax], [], [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Go ahead even if we have the value already cached. We do so because we # need to set the values for the 'am__tar' and 'am__untar' variables. _am_tools=${am_cv_prog_tar_$1-$_am_tools} for _am_tool in $_am_tools; do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works. rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR m4_include([m4/as-version.m4]) m4_include([m4/boost.m4]) m4_include([m4/gettext.m4]) m4_include([m4/iconv.m4]) m4_include([m4/intlmacosx.m4]) m4_include([m4/lib-ld.m4]) m4_include([m4/lib-link.m4]) m4_include([m4/lib-prefix.m4]) m4_include([m4/libtool.m4]) m4_include([m4/ltoptions.m4]) m4_include([m4/ltsugar.m4]) m4_include([m4/ltversion.m4]) m4_include([m4/lt~obsolete.m4]) m4_include([m4/nls.m4]) m4_include([m4/po.m4]) m4_include([m4/progtest.m4]) ibus-libpinyin-1.16.1/ltmain.sh0000644000175000017500000121201014767166735012061 #! /usr/bin/env sh ## DO NOT EDIT - This file generated from ./build-aux/ltmain.in ## by inline-source v2019-02-19.15 # libtool (GNU libtool) 2.4.7 # Provide generalized library-building support services. # Written by Gordon Matzigkeit , 1996 # Copyright (C) 1996-2019, 2021-2022 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # GNU Libtool is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool 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 # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . PROGRAM=libtool PACKAGE=libtool VERSION=2.4.7 package_revision=2.4.7 ## ------ ## ## Usage. ## ## ------ ## # Run './libtool --help' for help with using this script from the # command line. ## ------------------------------- ## ## User overridable command paths. ## ## ------------------------------- ## # After configure completes, it has a better idea of some of the # shell tools we need than the defaults used by the functions shared # with bootstrap, so set those here where they can still be over- # ridden by the user, but otherwise take precedence. : ${AUTOCONF="autoconf"} : ${AUTOMAKE="automake"} ## -------------------------- ## ## Source external libraries. ## ## -------------------------- ## # Much of our low-level functionality needs to be sourced from external # libraries, which are installed to $pkgauxdir. # Set a version string for this script. scriptversion=2019-02-19.15; # UTC # General shell script boiler plate, and helper functions. # Written by Gary V. Vaughan, 2004 # This is free software. There is NO warranty; not even for # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # # Copyright (C) 2004-2019, 2021 Bootstrap Authors # # This file is dual licensed under the terms of the MIT license # , and GPL version 2 or later # . You must apply one of # these licenses when using or redistributing this software or any of # the files within it. See the URLs above, or the file `LICENSE` # included in the Bootstrap distribution for the full license texts. # Please report bugs or propose patches to: # ## ------ ## ## Usage. ## ## ------ ## # Evaluate this file near the top of your script to gain access to # the functions and variables defined here: # # . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh # # If you need to override any of the default environment variable # settings, do that before evaluating this file. ## -------------------- ## ## Shell normalisation. ## ## -------------------- ## # Some shells need a little help to be as Bourne compatible as possible. # Before doing anything else, make sure all that help has been provided! DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # NLS nuisances: We save the old values in case they are required later. _G_user_locale= _G_safe_locale= for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test set = \"\${$_G_var+set}\"; then save_$_G_var=\$$_G_var $_G_var=C export $_G_var _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\" _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" fi" done # These NLS vars are set unconditionally (bootstrap issue #24). Unset those # in case the environment reset is needed later and the $save_* variant is not # defined (see the code above). LC_ALL=C LANGUAGE=C export LANGUAGE LC_ALL # Make sure IFS has a sensible default sp=' ' nl=' ' IFS="$sp $nl" # There are apparently some retarded systems that use ';' as a PATH separator! if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # func_unset VAR # -------------- # Portably unset VAR. # In some shells, an 'unset VAR' statement leaves a non-zero return # status if VAR is already unset, which might be problematic if the # statement is used at the end of a function (thus poisoning its return # value) or when 'set -e' is active (causing even a spurious abort of # the script in this case). func_unset () { { eval $1=; (eval unset $1) >/dev/null 2>&1 && eval unset $1 || : ; } } # Make sure CDPATH doesn't cause `cd` commands to output the target dir. func_unset CDPATH # Make sure ${,E,F}GREP behave sanely. func_unset GREP_OPTIONS ## ------------------------- ## ## Locate command utilities. ## ## ------------------------- ## # func_executable_p FILE # ---------------------- # Check that FILE is an executable regular file. func_executable_p () { test -f "$1" && test -x "$1" } # func_path_progs PROGS_LIST CHECK_FUNC [PATH] # -------------------------------------------- # Search for either a program that responds to --version with output # containing "GNU", or else returned by CHECK_FUNC otherwise, by # trying all the directories in PATH with each of the elements of # PROGS_LIST. # # CHECK_FUNC should accept the path to a candidate program, and # set $func_check_prog_result if it truncates its output less than # $_G_path_prog_max characters. func_path_progs () { _G_progs_list=$1 _G_check_func=$2 _G_PATH=${3-"$PATH"} _G_path_prog_max=0 _G_path_prog_found=false _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:} for _G_dir in $_G_PATH; do IFS=$_G_save_IFS test -z "$_G_dir" && _G_dir=. for _G_prog_name in $_G_progs_list; do for _exeext in '' .EXE; do _G_path_prog=$_G_dir/$_G_prog_name$_exeext func_executable_p "$_G_path_prog" || continue case `"$_G_path_prog" --version 2>&1` in *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;; *) $_G_check_func $_G_path_prog func_path_progs_result=$func_check_prog_result ;; esac $_G_path_prog_found && break 3 done done done IFS=$_G_save_IFS test -z "$func_path_progs_result" && { echo "no acceptable sed could be found in \$PATH" >&2 exit 1 } } # We want to be able to use the functions in this file before configure # has figured out where the best binaries are kept, which means we have # to search for them ourselves - except when the results are already set # where we skip the searches. # Unless the user overrides by setting SED, search the path for either GNU # sed, or the sed that truncates its output the least. test -z "$SED" && { _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for _G_i in 1 2 3 4 5 6 7; do _G_sed_script=$_G_sed_script$nl$_G_sed_script done echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed _G_sed_script= func_check_prog_sed () { _G_path_prog=$1 _G_count=0 printf 0123456789 >conftest.in while : do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo '' >> conftest.nl "$_G_path_prog" -f conftest.sed conftest.out 2>/dev/null || break diff conftest.out conftest.nl >/dev/null 2>&1 || break _G_count=`expr $_G_count + 1` if test "$_G_count" -gt "$_G_path_prog_max"; then # Best one so far, save it but keep looking for a better one func_check_prog_result=$_G_path_prog _G_path_prog_max=$_G_count fi # 10*(2^10) chars as input seems more than enough test 10 -lt "$_G_count" && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out } func_path_progs "sed gsed" func_check_prog_sed "$PATH:/usr/xpg4/bin" rm -f conftest.sed SED=$func_path_progs_result } # Unless the user overrides by setting GREP, search the path for either GNU # grep, or the grep that truncates its output the least. test -z "$GREP" && { func_check_prog_grep () { _G_path_prog=$1 _G_count=0 _G_path_prog_max=0 printf 0123456789 >conftest.in while : do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo 'GREP' >> conftest.nl "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' conftest.out 2>/dev/null || break diff conftest.out conftest.nl >/dev/null 2>&1 || break _G_count=`expr $_G_count + 1` if test "$_G_count" -gt "$_G_path_prog_max"; then # Best one so far, save it but keep looking for a better one func_check_prog_result=$_G_path_prog _G_path_prog_max=$_G_count fi # 10*(2^10) chars as input seems more than enough test 10 -lt "$_G_count" && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out } func_path_progs "grep ggrep" func_check_prog_grep "$PATH:/usr/xpg4/bin" GREP=$func_path_progs_result } ## ------------------------------- ## ## User overridable command paths. ## ## ------------------------------- ## # All uppercase variable names are used for environment variables. These # variables can be overridden by the user before calling a script that # uses them if a suitable command of that name is not already available # in the command search PATH. : ${CP="cp -f"} : ${ECHO="printf %s\n"} : ${EGREP="$GREP -E"} : ${FGREP="$GREP -F"} : ${LN_S="ln -s"} : ${MAKE="make"} : ${MKDIR="mkdir"} : ${MV="mv -f"} : ${RM="rm -f"} : ${SHELL="${CONFIG_SHELL-/bin/sh}"} ## -------------------- ## ## Useful sed snippets. ## ## -------------------- ## sed_dirname='s|/[^/]*$||' sed_basename='s|^.*/||' # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. sed_quote_subst='s|\([`"$\\]\)|\\\1|g' # Same as above, but do not quote variable references. sed_double_quote_subst='s/\(["`\\]\)/\\\1/g' # Sed substitution that turns a string into a regex matching for the # string literally. sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g' # Sed substitution that converts a w32 file name or path # that contains forward slashes, into one that contains # (escaped) backslashes. A very naive implementation. sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' # Re-'\' parameter expansions in output of sed_double_quote_subst that # were '\'-ed in input to the same. If an odd number of '\' preceded a # '$' in input to sed_double_quote_subst, that '$' was protected from # expansion. Since each input '\' is now two '\'s, look for any number # of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'. _G_bs='\\' _G_bs2='\\\\' _G_bs4='\\\\\\\\' _G_dollar='\$' sed_double_backslash="\ s/$_G_bs4/&\\ /g s/^$_G_bs2$_G_dollar/$_G_bs&/ s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g s/\n//g" # require_check_ifs_backslash # --------------------------- # Check if we can use backslash as IFS='\' separator, and set # $check_ifs_backshlash_broken to ':' or 'false'. require_check_ifs_backslash=func_require_check_ifs_backslash func_require_check_ifs_backslash () { _G_save_IFS=$IFS IFS='\' _G_check_ifs_backshlash='a\\b' for _G_i in $_G_check_ifs_backshlash do case $_G_i in a) check_ifs_backshlash_broken=false ;; '') break ;; *) check_ifs_backshlash_broken=: break ;; esac done IFS=$_G_save_IFS require_check_ifs_backslash=: } ## ----------------- ## ## Global variables. ## ## ----------------- ## # Except for the global variables explicitly listed below, the following # functions in the '^func_' namespace, and the '^require_' namespace # variables initialised in the 'Resource management' section, sourcing # this file will not pollute your global namespace with anything # else. There's no portable way to scope variables in Bourne shell # though, so actually running these functions will sometimes place # results into a variable named after the function, and often use # temporary variables in the '^_G_' namespace. If you are careful to # avoid using those namespaces casually in your sourcing script, things # should continue to work as you expect. And, of course, you can freely # overwrite any of the functions or variables defined here before # calling anything to customize them. EXIT_SUCCESS=0 EXIT_FAILURE=1 EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. # Allow overriding, eg assuming that you follow the convention of # putting '$debug_cmd' at the start of all your functions, you can get # bash to show function call trace with: # # debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name debug_cmd=${debug_cmd-":"} exit_cmd=: # By convention, finish your script with: # # exit $exit_status # # so that you can set exit_status to non-zero if you want to indicate # something went wrong during execution without actually bailing out at # the point of failure. exit_status=$EXIT_SUCCESS # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh # is ksh but when the shell is invoked as "sh" and the current value of # the _XPG environment variable is not equal to 1 (one), the special # positional parameter $0, within a function call, is the name of the # function. progpath=$0 # The name of this program. progname=`$ECHO "$progpath" |$SED "$sed_basename"` # Make sure we have an absolute progpath for reexecution: case $progpath in [\\/]*|[A-Za-z]:\\*) ;; *[\\/]*) progdir=`$ECHO "$progpath" |$SED "$sed_dirname"` progdir=`cd "$progdir" && pwd` progpath=$progdir/$progname ;; *) _G_IFS=$IFS IFS=${PATH_SEPARATOR-:} for progdir in $PATH; do IFS=$_G_IFS test -x "$progdir/$progname" && break done IFS=$_G_IFS test -n "$progdir" || progdir=`pwd` progpath=$progdir/$progname ;; esac ## ----------------- ## ## Standard options. ## ## ----------------- ## # The following options affect the operation of the functions defined # below, and should be set appropriately depending on run-time para- # meters passed on the command line. opt_dry_run=false opt_quiet=false opt_verbose=false # Categories 'all' and 'none' are always available. Append any others # you will pass as the first argument to func_warning from your own # code. warning_categories= # By default, display warnings according to 'opt_warning_types'. Set # 'warning_func' to ':' to elide all warnings, or func_fatal_error to # treat the next displayed warning as a fatal error. warning_func=func_warn_and_continue # Set to 'all' to display all warnings, 'none' to suppress all # warnings, or a space delimited list of some subset of # 'warning_categories' to display only the listed warnings. opt_warning_types=all ## -------------------- ## ## Resource management. ## ## -------------------- ## # This section contains definitions for functions that each ensure a # particular resource (a file, or a non-empty configuration variable for # example) is available, and if appropriate to extract default values # from pertinent package files. Call them using their associated # 'require_*' variable to ensure that they are executed, at most, once. # # It's entirely deliberate that calling these functions can set # variables that don't obey the namespace limitations obeyed by the rest # of this file, in order that that they be as useful as possible to # callers. # require_term_colors # ------------------- # Allow display of bold text on terminals that support it. require_term_colors=func_require_term_colors func_require_term_colors () { $debug_cmd test -t 1 && { # COLORTERM and USE_ANSI_COLORS environment variables take # precedence, because most terminfo databases neglect to describe # whether color sequences are supported. test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"} if test 1 = "$USE_ANSI_COLORS"; then # Standard ANSI escape sequences tc_reset='' tc_bold=''; tc_standout='' tc_red=''; tc_green='' tc_blue=''; tc_cyan='' else # Otherwise trust the terminfo database after all. test -n "`tput sgr0 2>/dev/null`" && { tc_reset=`tput sgr0` test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold` tc_standout=$tc_bold test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso` test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1` test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2` test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4` test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5` } fi } require_term_colors=: } ## ----------------- ## ## Function library. ## ## ----------------- ## # This section contains a variety of useful functions to call in your # scripts. Take note of the portable wrappers for features provided by # some modern shells, which will fall back to slower equivalents on # less featureful shells. # func_append VAR VALUE # --------------------- # Append VALUE onto the existing contents of VAR. # We should try to minimise forks, especially on Windows where they are # unreasonably slow, so skip the feature probes when bash or zsh are # being used: if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then : ${_G_HAVE_ARITH_OP="yes"} : ${_G_HAVE_XSI_OPS="yes"} # The += operator was introduced in bash 3.1 case $BASH_VERSION in [12].* | 3.0 | 3.0*) ;; *) : ${_G_HAVE_PLUSEQ_OP="yes"} ;; esac fi # _G_HAVE_PLUSEQ_OP # Can be empty, in which case the shell is probed, "yes" if += is # useable or anything else if it does not work. test -z "$_G_HAVE_PLUSEQ_OP" \ && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \ && _G_HAVE_PLUSEQ_OP=yes if test yes = "$_G_HAVE_PLUSEQ_OP" then # This is an XSI compatible shell, allowing a faster implementation... eval 'func_append () { $debug_cmd eval "$1+=\$2" }' else # ...otherwise fall back to using expr, which is often a shell builtin. func_append () { $debug_cmd eval "$1=\$$1\$2" } fi # func_append_quoted VAR VALUE # ---------------------------- # Quote VALUE and append to the end of shell variable VAR, separated # by a space. if test yes = "$_G_HAVE_PLUSEQ_OP"; then eval 'func_append_quoted () { $debug_cmd func_quote_arg pretty "$2" eval "$1+=\\ \$func_quote_arg_result" }' else func_append_quoted () { $debug_cmd func_quote_arg pretty "$2" eval "$1=\$$1\\ \$func_quote_arg_result" } fi # func_append_uniq VAR VALUE # -------------------------- # Append unique VALUE onto the existing contents of VAR, assuming # entries are delimited by the first character of VALUE. For example: # # func_append_uniq options " --another-option option-argument" # # will only append to $options if " --another-option option-argument " # is not already present somewhere in $options already (note spaces at # each end implied by leading space in second argument). func_append_uniq () { $debug_cmd eval _G_current_value='`$ECHO $'$1'`' _G_delim=`expr "$2" : '\(.\)'` case $_G_delim$_G_current_value$_G_delim in *"$2$_G_delim"*) ;; *) func_append "$@" ;; esac } # func_arith TERM... # ------------------ # Set func_arith_result to the result of evaluating TERMs. test -z "$_G_HAVE_ARITH_OP" \ && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \ && _G_HAVE_ARITH_OP=yes if test yes = "$_G_HAVE_ARITH_OP"; then eval 'func_arith () { $debug_cmd func_arith_result=$(( $* )) }' else func_arith () { $debug_cmd func_arith_result=`expr "$@"` } fi # func_basename FILE # ------------------ # Set func_basename_result to FILE with everything up to and including # the last / stripped. if test yes = "$_G_HAVE_XSI_OPS"; then # If this shell supports suffix pattern removal, then use it to avoid # forking. Hide the definitions single quotes in case the shell chokes # on unsupported syntax... _b='func_basename_result=${1##*/}' _d='case $1 in */*) func_dirname_result=${1%/*}$2 ;; * ) func_dirname_result=$3 ;; esac' else # ...otherwise fall back to using sed. _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`' _d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"` if test "X$func_dirname_result" = "X$1"; then func_dirname_result=$3 else func_append func_dirname_result "$2" fi' fi eval 'func_basename () { $debug_cmd '"$_b"' }' # func_dirname FILE APPEND NONDIR_REPLACEMENT # ------------------------------------------- # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. eval 'func_dirname () { $debug_cmd '"$_d"' }' # func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT # -------------------------------------------------------- # Perform func_basename and func_dirname in a single function # call: # dirname: Compute the dirname of FILE. If nonempty, # add APPEND to the result, otherwise set result # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. # value retuned in "$func_basename_result" # For efficiency, we do not delegate to the functions above but instead # duplicate the functionality here. eval 'func_dirname_and_basename () { $debug_cmd '"$_b"' '"$_d"' }' # func_echo ARG... # ---------------- # Echo program name prefixed message. func_echo () { $debug_cmd _G_message=$* func_echo_IFS=$IFS IFS=$nl for _G_line in $_G_message; do IFS=$func_echo_IFS $ECHO "$progname: $_G_line" done IFS=$func_echo_IFS } # func_echo_all ARG... # -------------------- # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "$*" } # func_echo_infix_1 INFIX ARG... # ------------------------------ # Echo program name, followed by INFIX on the first line, with any # additional lines not showing INFIX. func_echo_infix_1 () { $debug_cmd $require_term_colors _G_infix=$1; shift _G_indent=$_G_infix _G_prefix="$progname: $_G_infix: " _G_message=$* # Strip color escape sequences before counting printable length for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan" do test -n "$_G_tc" && { _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"` _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"` } done _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes func_echo_infix_1_IFS=$IFS IFS=$nl for _G_line in $_G_message; do IFS=$func_echo_infix_1_IFS $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2 _G_prefix=$_G_indent done IFS=$func_echo_infix_1_IFS } # func_error ARG... # ----------------- # Echo program name prefixed message to standard error. func_error () { $debug_cmd $require_term_colors func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2 } # func_fatal_error ARG... # ----------------------- # Echo program name prefixed message to standard error, and exit. func_fatal_error () { $debug_cmd func_error "$*" exit $EXIT_FAILURE } # func_grep EXPRESSION FILENAME # ----------------------------- # Check whether EXPRESSION matches any line of FILENAME, without output. func_grep () { $debug_cmd $GREP "$1" "$2" >/dev/null 2>&1 } # func_len STRING # --------------- # Set func_len_result to the length of STRING. STRING may not # start with a hyphen. test -z "$_G_HAVE_XSI_OPS" \ && (eval 'x=a/b/c; test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ && _G_HAVE_XSI_OPS=yes if test yes = "$_G_HAVE_XSI_OPS"; then eval 'func_len () { $debug_cmd func_len_result=${#1} }' else func_len () { $debug_cmd func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` } fi # func_mkdir_p DIRECTORY-PATH # --------------------------- # Make sure the entire path to DIRECTORY-PATH is available. func_mkdir_p () { $debug_cmd _G_directory_path=$1 _G_dir_list= if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then # Protect directory names starting with '-' case $_G_directory_path in -*) _G_directory_path=./$_G_directory_path ;; esac # While some portion of DIR does not yet exist... while test ! -d "$_G_directory_path"; do # ...make a list in topmost first order. Use a colon delimited # list incase some portion of path contains whitespace. _G_dir_list=$_G_directory_path:$_G_dir_list # If the last portion added has no slash in it, the list is done case $_G_directory_path in */*) ;; *) break ;; esac # ...otherwise throw away the child directory and loop _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"` done _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'` func_mkdir_p_IFS=$IFS; IFS=: for _G_dir in $_G_dir_list; do IFS=$func_mkdir_p_IFS # mkdir can fail with a 'File exist' error if two processes # try to create one of the directories concurrently. Don't # stop in that case! $MKDIR "$_G_dir" 2>/dev/null || : done IFS=$func_mkdir_p_IFS # Bail out if we (or some other process) failed to create a directory. test -d "$_G_directory_path" || \ func_fatal_error "Failed to create '$1'" fi } # func_mktempdir [BASENAME] # ------------------------- # Make a temporary directory that won't clash with other running # libtool processes, and avoids race conditions if possible. If # given, BASENAME is the basename for that directory. func_mktempdir () { $debug_cmd _G_template=${TMPDIR-/tmp}/${1-$progname} if test : = "$opt_dry_run"; then # Return a directory name, but don't create it in dry-run mode _G_tmpdir=$_G_template-$$ else # If mktemp works, use that first and foremost _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null` if test ! -d "$_G_tmpdir"; then # Failing that, at least try and use $RANDOM to avoid a race _G_tmpdir=$_G_template-${RANDOM-0}$$ func_mktempdir_umask=`umask` umask 0077 $MKDIR "$_G_tmpdir" umask $func_mktempdir_umask fi # If we're not in dry-run mode, bomb out on failure test -d "$_G_tmpdir" || \ func_fatal_error "cannot create temporary directory '$_G_tmpdir'" fi $ECHO "$_G_tmpdir" } # func_normal_abspath PATH # ------------------------ # Remove doubled-up and trailing slashes, "." path components, # and cancel out any ".." path components in PATH after making # it an absolute path. func_normal_abspath () { $debug_cmd # These SED scripts presuppose an absolute path with a trailing slash. _G_pathcar='s|^/\([^/]*\).*$|\1|' _G_pathcdr='s|^/[^/]*||' _G_removedotparts=':dotsl s|/\./|/|g t dotsl s|/\.$|/|' _G_collapseslashes='s|/\{1,\}|/|g' _G_finalslash='s|/*$|/|' # Start from root dir and reassemble the path. func_normal_abspath_result= func_normal_abspath_tpath=$1 func_normal_abspath_altnamespace= case $func_normal_abspath_tpath in "") # Empty path, that just means $cwd. func_stripname '' '/' "`pwd`" func_normal_abspath_result=$func_stripname_result return ;; # The next three entries are used to spot a run of precisely # two leading slashes without using negated character classes; # we take advantage of case's first-match behaviour. ///*) # Unusual form of absolute path, do nothing. ;; //*) # Not necessarily an ordinary path; POSIX reserves leading '//' # and for example Cygwin uses it to access remote file shares # over CIFS/SMB, so we conserve a leading double slash if found. func_normal_abspath_altnamespace=/ ;; /*) # Absolute path, do nothing. ;; *) # Relative path, prepend $cwd. func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath ;; esac # Cancel out all the simple stuff to save iterations. We also want # the path to end with a slash for ease of parsing, so make sure # there is one (and only one) here. func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"` while :; do # Processed it all yet? if test / = "$func_normal_abspath_tpath"; then # If we ascended to the root using ".." the result may be empty now. if test -z "$func_normal_abspath_result"; then func_normal_abspath_result=/ fi break fi func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$_G_pathcar"` func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$_G_pathcdr"` # Figure out what to do with it case $func_normal_abspath_tcomponent in "") # Trailing empty path component, ignore it. ;; ..) # Parent dir; strip last assembled component from result. func_dirname "$func_normal_abspath_result" func_normal_abspath_result=$func_dirname_result ;; *) # Actual path component, append it. func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent" ;; esac done # Restore leading double-slash if one was found on entry. func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result } # func_notquiet ARG... # -------------------- # Echo program name prefixed message only when not in quiet mode. func_notquiet () { $debug_cmd $opt_quiet || func_echo ${1+"$@"} # A bug in bash halts the script if the last line of a function # fails when set -e is in force, so we need another command to # work around that: : } # func_relative_path SRCDIR DSTDIR # -------------------------------- # Set func_relative_path_result to the relative path from SRCDIR to DSTDIR. func_relative_path () { $debug_cmd func_relative_path_result= func_normal_abspath "$1" func_relative_path_tlibdir=$func_normal_abspath_result func_normal_abspath "$2" func_relative_path_tbindir=$func_normal_abspath_result # Ascend the tree starting from libdir while :; do # check if we have found a prefix of bindir case $func_relative_path_tbindir in $func_relative_path_tlibdir) # found an exact match func_relative_path_tcancelled= break ;; $func_relative_path_tlibdir*) # found a matching prefix func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" func_relative_path_tcancelled=$func_stripname_result if test -z "$func_relative_path_result"; then func_relative_path_result=. fi break ;; *) func_dirname $func_relative_path_tlibdir func_relative_path_tlibdir=$func_dirname_result if test -z "$func_relative_path_tlibdir"; then # Have to descend all the way to the root! func_relative_path_result=../$func_relative_path_result func_relative_path_tcancelled=$func_relative_path_tbindir break fi func_relative_path_result=../$func_relative_path_result ;; esac done # Now calculate path; take care to avoid doubling-up slashes. func_stripname '' '/' "$func_relative_path_result" func_relative_path_result=$func_stripname_result func_stripname '/' '/' "$func_relative_path_tcancelled" if test -n "$func_stripname_result"; then func_append func_relative_path_result "/$func_stripname_result" fi # Normalisation. If bindir is libdir, return '.' else relative path. if test -n "$func_relative_path_result"; then func_stripname './' '' "$func_relative_path_result" func_relative_path_result=$func_stripname_result fi test -n "$func_relative_path_result" || func_relative_path_result=. : } # func_quote_portable EVAL ARG # ---------------------------- # Internal function to portably implement func_quote_arg. Note that we still # keep attention to performance here so we as much as possible try to avoid # calling sed binary (so far O(N) complexity as long as func_append is O(1)). func_quote_portable () { $debug_cmd $require_check_ifs_backslash func_quote_portable_result=$2 # one-time-loop (easy break) while true do if $1; then func_quote_portable_result=`$ECHO "$2" | $SED \ -e "$sed_double_quote_subst" -e "$sed_double_backslash"` break fi # Quote for eval. case $func_quote_portable_result in *[\\\`\"\$]*) # Fallback to sed for $func_check_bs_ifs_broken=:, or when the string # contains the shell wildcard characters. case $check_ifs_backshlash_broken$func_quote_portable_result in :*|*[\[\*\?]*) func_quote_portable_result=`$ECHO "$func_quote_portable_result" \ | $SED "$sed_quote_subst"` break ;; esac func_quote_portable_old_IFS=$IFS for _G_char in '\' '`' '"' '$' do # STATE($1) PREV($2) SEPARATOR($3) set start "" "" func_quote_portable_result=dummy"$_G_char$func_quote_portable_result$_G_char"dummy IFS=$_G_char for _G_part in $func_quote_portable_result do case $1 in quote) func_append func_quote_portable_result "$3$2" set quote "$_G_part" "\\$_G_char" ;; start) set first "" "" func_quote_portable_result= ;; first) set quote "$_G_part" "" ;; esac done done IFS=$func_quote_portable_old_IFS ;; *) ;; esac break done func_quote_portable_unquoted_result=$func_quote_portable_result case $func_quote_portable_result in # double-quote args containing shell metacharacters to delay # word splitting, command substitution and variable expansion # for a subsequent eval. # many bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") func_quote_portable_result=\"$func_quote_portable_result\" ;; esac } # func_quotefast_eval ARG # ----------------------- # Quote one ARG (internal). This is equivalent to 'func_quote_arg eval ARG', # but optimized for speed. Result is stored in $func_quotefast_eval. if test xyes = `(x=; printf -v x %q yes; echo x"$x") 2>/dev/null`; then printf -v _GL_test_printf_tilde %q '~' if test '\~' = "$_GL_test_printf_tilde"; then func_quotefast_eval () { printf -v func_quotefast_eval_result %q "$1" } else # Broken older Bash implementations. Make those faster too if possible. func_quotefast_eval () { case $1 in '~'*) func_quote_portable false "$1" func_quotefast_eval_result=$func_quote_portable_result ;; *) printf -v func_quotefast_eval_result %q "$1" ;; esac } fi else func_quotefast_eval () { func_quote_portable false "$1" func_quotefast_eval_result=$func_quote_portable_result } fi # func_quote_arg MODEs ARG # ------------------------ # Quote one ARG to be evaled later. MODEs argument may contain zero or more # specifiers listed below separated by ',' character. This function returns two # values: # i) func_quote_arg_result # double-quoted (when needed), suitable for a subsequent eval # ii) func_quote_arg_unquoted_result # has all characters that are still active within double # quotes backslashified. Available only if 'unquoted' is specified. # # Available modes: # ---------------- # 'eval' (default) # - escape shell special characters # 'expand' # - the same as 'eval'; but do not quote variable references # 'pretty' # - request aesthetic output, i.e. '"a b"' instead of 'a\ b'. This might # be used later in func_quote to get output like: 'echo "a b"' instead # of 'echo a\ b'. This is slower than default on some shells. # 'unquoted' # - produce also $func_quote_arg_unquoted_result which does not contain # wrapping double-quotes. # # Examples for 'func_quote_arg pretty,unquoted string': # # string | *_result | *_unquoted_result # ------------+-----------------------+------------------- # " | \" | \" # a b | "a b" | a b # "a b" | "\"a b\"" | \"a b\" # * | "*" | * # z="${x-$y}" | "z=\"\${x-\$y}\"" | z=\"\${x-\$y}\" # # Examples for 'func_quote_arg pretty,unquoted,expand string': # # string | *_result | *_unquoted_result # --------------+---------------------+-------------------- # z="${x-$y}" | "z=\"${x-$y}\"" | z=\"${x-$y}\" func_quote_arg () { _G_quote_expand=false case ,$1, in *,expand,*) _G_quote_expand=: ;; esac case ,$1, in *,pretty,*|*,expand,*|*,unquoted,*) func_quote_portable $_G_quote_expand "$2" func_quote_arg_result=$func_quote_portable_result func_quote_arg_unquoted_result=$func_quote_portable_unquoted_result ;; *) # Faster quote-for-eval for some shells. func_quotefast_eval "$2" func_quote_arg_result=$func_quotefast_eval_result ;; esac } # func_quote MODEs ARGs... # ------------------------ # Quote all ARGs to be evaled later and join them into single command. See # func_quote_arg's description for more info. func_quote () { $debug_cmd _G_func_quote_mode=$1 ; shift func_quote_result= while test 0 -lt $#; do func_quote_arg "$_G_func_quote_mode" "$1" if test -n "$func_quote_result"; then func_append func_quote_result " $func_quote_arg_result" else func_append func_quote_result "$func_quote_arg_result" fi shift done } # func_stripname PREFIX SUFFIX NAME # --------------------------------- # strip PREFIX and SUFFIX from NAME, and store in func_stripname_result. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). if test yes = "$_G_HAVE_XSI_OPS"; then eval 'func_stripname () { $debug_cmd # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are # positional parameters, so assign one to ordinary variable first. func_stripname_result=$3 func_stripname_result=${func_stripname_result#"$1"} func_stripname_result=${func_stripname_result%"$2"} }' else func_stripname () { $debug_cmd case $2 in .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;; *) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;; esac } fi # func_show_eval CMD [FAIL_EXP] # ----------------------------- # Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. func_show_eval () { $debug_cmd _G_cmd=$1 _G_fail_exp=${2-':'} func_quote_arg pretty,expand "$_G_cmd" eval "func_notquiet $func_quote_arg_result" $opt_dry_run || { eval "$_G_cmd" _G_status=$? if test 0 -ne "$_G_status"; then eval "(exit $_G_status); $_G_fail_exp" fi } } # func_show_eval_locale CMD [FAIL_EXP] # ------------------------------------ # Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. Use the saved locale for evaluation. func_show_eval_locale () { $debug_cmd _G_cmd=$1 _G_fail_exp=${2-':'} $opt_quiet || { func_quote_arg expand,pretty "$_G_cmd" eval "func_echo $func_quote_arg_result" } $opt_dry_run || { eval "$_G_user_locale $_G_cmd" _G_status=$? eval "$_G_safe_locale" if test 0 -ne "$_G_status"; then eval "(exit $_G_status); $_G_fail_exp" fi } } # func_tr_sh # ---------- # Turn $1 into a string suitable for a shell variable name. # Result is stored in $func_tr_sh_result. All characters # not in the set a-zA-Z0-9_ are replaced with '_'. Further, # if $1 begins with a digit, a '_' is prepended as well. func_tr_sh () { $debug_cmd case $1 in [0-9]* | *[!a-zA-Z0-9_]*) func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'` ;; * ) func_tr_sh_result=$1 ;; esac } # func_verbose ARG... # ------------------- # Echo program name prefixed message in verbose mode only. func_verbose () { $debug_cmd $opt_verbose && func_echo "$*" : } # func_warn_and_continue ARG... # ----------------------------- # Echo program name prefixed warning message to standard error. func_warn_and_continue () { $debug_cmd $require_term_colors func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2 } # func_warning CATEGORY ARG... # ---------------------------- # Echo program name prefixed warning message to standard error. Warning # messages can be filtered according to CATEGORY, where this function # elides messages where CATEGORY is not listed in the global variable # 'opt_warning_types'. func_warning () { $debug_cmd # CATEGORY must be in the warning_categories list! case " $warning_categories " in *" $1 "*) ;; *) func_internal_error "invalid warning category '$1'" ;; esac _G_category=$1 shift case " $opt_warning_types " in *" $_G_category "*) $warning_func ${1+"$@"} ;; esac } # func_sort_ver VER1 VER2 # ----------------------- # 'sort -V' is not generally available. # Note this deviates from the version comparison in automake # in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a # but this should suffice as we won't be specifying old # version formats or redundant trailing .0 in bootstrap.conf. # If we did want full compatibility then we should probably # use m4_version_compare from autoconf. func_sort_ver () { $debug_cmd printf '%s\n%s\n' "$1" "$2" \ | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n } # func_lt_ver PREV CURR # --------------------- # Return true if PREV and CURR are in the correct order according to # func_sort_ver, otherwise false. Use it like this: # # func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..." func_lt_ver () { $debug_cmd test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q` } # Local variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" # time-stamp-time-zone: "UTC" # End: #! /bin/sh # A portable, pluggable option parser for Bourne shell. # Written by Gary V. Vaughan, 2010 # This is free software. There is NO warranty; not even for # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # # Copyright (C) 2010-2019, 2021 Bootstrap Authors # # This file is dual licensed under the terms of the MIT license # , and GPL version 2 or later # . You must apply one of # these licenses when using or redistributing this software or any of # the files within it. See the URLs above, or the file `LICENSE` # included in the Bootstrap distribution for the full license texts. # Please report bugs or propose patches to: # # Set a version string for this script. scriptversion=2019-02-19.15; # UTC ## ------ ## ## Usage. ## ## ------ ## # This file is a library for parsing options in your shell scripts along # with assorted other useful supporting features that you can make use # of too. # # For the simplest scripts you might need only: # # #!/bin/sh # . relative/path/to/funclib.sh # . relative/path/to/options-parser # scriptversion=1.0 # func_options ${1+"$@"} # eval set dummy "$func_options_result"; shift # ...rest of your script... # # In order for the '--version' option to work, you will need to have a # suitably formatted comment like the one at the top of this file # starting with '# Written by ' and ending with '# Copyright'. # # For '-h' and '--help' to work, you will also need a one line # description of your script's purpose in a comment directly above the # '# Written by ' line, like the one at the top of this file. # # The default options also support '--debug', which will turn on shell # execution tracing (see the comment above debug_cmd below for another # use), and '--verbose' and the func_verbose function to allow your script # to display verbose messages only when your user has specified # '--verbose'. # # After sourcing this file, you can plug in processing for additional # options by amending the variables from the 'Configuration' section # below, and following the instructions in the 'Option parsing' # section further down. ## -------------- ## ## Configuration. ## ## -------------- ## # You should override these variables in your script after sourcing this # file so that they reflect the customisations you have added to the # option parser. # The usage line for option parsing errors and the start of '-h' and # '--help' output messages. You can embed shell variables for delayed # expansion at the time the message is displayed, but you will need to # quote other shell meta-characters carefully to prevent them being # expanded when the contents are evaled. usage='$progpath [OPTION]...' # Short help message in response to '-h' and '--help'. Add to this or # override it after sourcing this library to reflect the full set of # options your script accepts. usage_message="\ --debug enable verbose shell tracing -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] -v, --verbose verbosely report processing --version print version information and exit -h, --help print short or long help message and exit " # Additional text appended to 'usage_message' in response to '--help'. long_help_message=" Warning categories include: 'all' show all warnings 'none' turn off all the warnings 'error' warnings are treated as fatal errors" # Help message printed before fatal option parsing errors. fatal_help="Try '\$progname --help' for more information." ## ------------------------- ## ## Hook function management. ## ## ------------------------- ## # This section contains functions for adding, removing, and running hooks # in the main code. A hook is just a list of function names that can be # run in order later on. # func_hookable FUNC_NAME # ----------------------- # Declare that FUNC_NAME will run hooks added with # 'func_add_hook FUNC_NAME ...'. func_hookable () { $debug_cmd func_append hookable_fns " $1" } # func_add_hook FUNC_NAME HOOK_FUNC # --------------------------------- # Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must # first have been declared "hookable" by a call to 'func_hookable'. func_add_hook () { $debug_cmd case " $hookable_fns " in *" $1 "*) ;; *) func_fatal_error "'$1' does not accept hook functions." ;; esac eval func_append ${1}_hooks '" $2"' } # func_remove_hook FUNC_NAME HOOK_FUNC # ------------------------------------ # Remove HOOK_FUNC from the list of hook functions to be called by # FUNC_NAME. func_remove_hook () { $debug_cmd eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`' } # func_propagate_result FUNC_NAME_A FUNC_NAME_B # --------------------------------------------- # If the *_result variable of FUNC_NAME_A _is set_, assign its value to # *_result variable of FUNC_NAME_B. func_propagate_result () { $debug_cmd func_propagate_result_result=: if eval "test \"\${${1}_result+set}\" = set" then eval "${2}_result=\$${1}_result" else func_propagate_result_result=false fi } # func_run_hooks FUNC_NAME [ARG]... # --------------------------------- # Run all hook functions registered to FUNC_NAME. # It's assumed that the list of hook functions contains nothing more # than a whitespace-delimited list of legal shell function names, and # no effort is wasted trying to catch shell meta-characters or preserve # whitespace. func_run_hooks () { $debug_cmd case " $hookable_fns " in *" $1 "*) ;; *) func_fatal_error "'$1' does not support hook functions." ;; esac eval _G_hook_fns=\$$1_hooks; shift for _G_hook in $_G_hook_fns; do func_unset "${_G_hook}_result" eval $_G_hook '${1+"$@"}' func_propagate_result $_G_hook func_run_hooks if $func_propagate_result_result; then eval set dummy "$func_run_hooks_result"; shift fi done } ## --------------- ## ## Option parsing. ## ## --------------- ## # In order to add your own option parsing hooks, you must accept the # full positional parameter list from your hook function. You may remove # or edit any options that you action, and then pass back the remaining # unprocessed options in '_result', escaped # suitably for 'eval'. # # The '_result' variable is automatically unset # before your hook gets called; for best performance, only set the # *_result variable when necessary (i.e. don't call the 'func_quote' # function unnecessarily because it can be an expensive operation on some # machines). # # Like this: # # my_options_prep () # { # $debug_cmd # # # Extend the existing usage message. # usage_message=$usage_message' # -s, --silent don'\''t print informational messages # ' # # No change in '$@' (ignored completely by this hook). Leave # # my_options_prep_result variable intact. # } # func_add_hook func_options_prep my_options_prep # # # my_silent_option () # { # $debug_cmd # # args_changed=false # # # Note that, for efficiency, we parse as many options as we can # # recognise in a loop before passing the remainder back to the # # caller on the first unrecognised argument we encounter. # while test $# -gt 0; do # opt=$1; shift # case $opt in # --silent|-s) opt_silent=: # args_changed=: # ;; # # Separate non-argument short options: # -s*) func_split_short_opt "$_G_opt" # set dummy "$func_split_short_opt_name" \ # "-$func_split_short_opt_arg" ${1+"$@"} # shift # args_changed=: # ;; # *) # Make sure the first unrecognised option "$_G_opt" # # is added back to "$@" in case we need it later, # # if $args_changed was set to 'true'. # set dummy "$_G_opt" ${1+"$@"}; shift; break ;; # esac # done # # # Only call 'func_quote' here if we processed at least one argument. # if $args_changed; then # func_quote eval ${1+"$@"} # my_silent_option_result=$func_quote_result # fi # } # func_add_hook func_parse_options my_silent_option # # # my_option_validation () # { # $debug_cmd # # $opt_silent && $opt_verbose && func_fatal_help "\ # '--silent' and '--verbose' options are mutually exclusive." # } # func_add_hook func_validate_options my_option_validation # # You'll also need to manually amend $usage_message to reflect the extra # options you parse. It's preferable to append if you can, so that # multiple option parsing hooks can be added safely. # func_options_finish [ARG]... # ---------------------------- # Finishing the option parse loop (call 'func_options' hooks ATM). func_options_finish () { $debug_cmd func_run_hooks func_options ${1+"$@"} func_propagate_result func_run_hooks func_options_finish } # func_options [ARG]... # --------------------- # All the functions called inside func_options are hookable. See the # individual implementations for details. func_hookable func_options func_options () { $debug_cmd _G_options_quoted=false for my_func in options_prep parse_options validate_options options_finish do func_unset func_${my_func}_result func_unset func_run_hooks_result eval func_$my_func '${1+"$@"}' func_propagate_result func_$my_func func_options if $func_propagate_result_result; then eval set dummy "$func_options_result"; shift _G_options_quoted=: fi done $_G_options_quoted || { # As we (func_options) are top-level options-parser function and # nobody quoted "$@" for us yet, we need to do it explicitly for # caller. func_quote eval ${1+"$@"} func_options_result=$func_quote_result } } # func_options_prep [ARG]... # -------------------------- # All initialisations required before starting the option parse loop. # Note that when calling hook functions, we pass through the list of # positional parameters. If a hook function modifies that list, and # needs to propagate that back to rest of this script, then the complete # modified list must be put in 'func_run_hooks_result' before returning. func_hookable func_options_prep func_options_prep () { $debug_cmd # Option defaults: opt_verbose=false opt_warning_types= func_run_hooks func_options_prep ${1+"$@"} func_propagate_result func_run_hooks func_options_prep } # func_parse_options [ARG]... # --------------------------- # The main option parsing loop. func_hookable func_parse_options func_parse_options () { $debug_cmd _G_parse_options_requote=false # this just eases exit handling while test $# -gt 0; do # Defer to hook functions for initial option parsing, so they # get priority in the event of reusing an option name. func_run_hooks func_parse_options ${1+"$@"} func_propagate_result func_run_hooks func_parse_options if $func_propagate_result_result; then eval set dummy "$func_parse_options_result"; shift # Even though we may have changed "$@", we passed the "$@" array # down into the hook and it quoted it for us (because we are in # this if-branch). No need to quote it again. _G_parse_options_requote=false fi # Break out of the loop if we already parsed every option. test $# -gt 0 || break # We expect that one of the options parsed in this function matches # and thus we remove _G_opt from "$@" and need to re-quote. _G_match_parse_options=: _G_opt=$1 shift case $_G_opt in --debug|-x) debug_cmd='set -x' func_echo "enabling shell trace mode" >&2 $debug_cmd ;; --no-warnings|--no-warning|--no-warn) set dummy --warnings none ${1+"$@"} shift ;; --warnings|--warning|-W) if test $# = 0 && func_missing_arg $_G_opt; then _G_parse_options_requote=: break fi case " $warning_categories $1" in *" $1 "*) # trailing space prevents matching last $1 above func_append_uniq opt_warning_types " $1" ;; *all) opt_warning_types=$warning_categories ;; *none) opt_warning_types=none warning_func=: ;; *error) opt_warning_types=$warning_categories warning_func=func_fatal_error ;; *) func_fatal_error \ "unsupported warning category: '$1'" ;; esac shift ;; --verbose|-v) opt_verbose=: ;; --version) func_version ;; -\?|-h) func_usage ;; --help) func_help ;; # Separate optargs to long options (plugins may need this): --*=*) func_split_equals "$_G_opt" set dummy "$func_split_equals_lhs" \ "$func_split_equals_rhs" ${1+"$@"} shift ;; # Separate optargs to short options: -W*) func_split_short_opt "$_G_opt" set dummy "$func_split_short_opt_name" \ "$func_split_short_opt_arg" ${1+"$@"} shift ;; # Separate non-argument short options: -\?*|-h*|-v*|-x*) func_split_short_opt "$_G_opt" set dummy "$func_split_short_opt_name" \ "-$func_split_short_opt_arg" ${1+"$@"} shift ;; --) _G_parse_options_requote=: ; break ;; -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; *) set dummy "$_G_opt" ${1+"$@"}; shift _G_match_parse_options=false break ;; esac if $_G_match_parse_options; then _G_parse_options_requote=: fi done if $_G_parse_options_requote; then # save modified positional parameters for caller func_quote eval ${1+"$@"} func_parse_options_result=$func_quote_result fi } # func_validate_options [ARG]... # ------------------------------ # Perform any sanity checks on option settings and/or unconsumed # arguments. func_hookable func_validate_options func_validate_options () { $debug_cmd # Display all warnings if -W was not given. test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" func_run_hooks func_validate_options ${1+"$@"} func_propagate_result func_run_hooks func_validate_options # Bail if the options were screwed! $exit_cmd $EXIT_FAILURE } ## ----------------- ## ## Helper functions. ## ## ----------------- ## # This section contains the helper functions used by the rest of the # hookable option parser framework in ascii-betical order. # func_fatal_help ARG... # ---------------------- # Echo program name prefixed message to standard error, followed by # a help hint, and exit. func_fatal_help () { $debug_cmd eval \$ECHO \""Usage: $usage"\" eval \$ECHO \""$fatal_help"\" func_error ${1+"$@"} exit $EXIT_FAILURE } # func_help # --------- # Echo long help message to standard output and exit. func_help () { $debug_cmd func_usage_message $ECHO "$long_help_message" exit 0 } # func_missing_arg ARGNAME # ------------------------ # Echo program name prefixed message to standard error and set global # exit_cmd. func_missing_arg () { $debug_cmd func_error "Missing argument for '$1'." exit_cmd=exit } # func_split_equals STRING # ------------------------ # Set func_split_equals_lhs and func_split_equals_rhs shell variables # after splitting STRING at the '=' sign. test -z "$_G_HAVE_XSI_OPS" \ && (eval 'x=a/b/c; test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ && _G_HAVE_XSI_OPS=yes if test yes = "$_G_HAVE_XSI_OPS" then # This is an XSI compatible shell, allowing a faster implementation... eval 'func_split_equals () { $debug_cmd func_split_equals_lhs=${1%%=*} func_split_equals_rhs=${1#*=} if test "x$func_split_equals_lhs" = "x$1"; then func_split_equals_rhs= fi }' else # ...otherwise fall back to using expr, which is often a shell builtin. func_split_equals () { $debug_cmd func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` func_split_equals_rhs= test "x$func_split_equals_lhs=" = "x$1" \ || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` } fi #func_split_equals # func_split_short_opt SHORTOPT # ----------------------------- # Set func_split_short_opt_name and func_split_short_opt_arg shell # variables after splitting SHORTOPT after the 2nd character. if test yes = "$_G_HAVE_XSI_OPS" then # This is an XSI compatible shell, allowing a faster implementation... eval 'func_split_short_opt () { $debug_cmd func_split_short_opt_arg=${1#??} func_split_short_opt_name=${1%"$func_split_short_opt_arg"} }' else # ...otherwise fall back to using expr, which is often a shell builtin. func_split_short_opt () { $debug_cmd func_split_short_opt_name=`expr "x$1" : 'x\(-.\)'` func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` } fi #func_split_short_opt # func_usage # ---------- # Echo short help message to standard output and exit. func_usage () { $debug_cmd func_usage_message $ECHO "Run '$progname --help |${PAGER-more}' for full usage" exit 0 } # func_usage_message # ------------------ # Echo short help message to standard output. func_usage_message () { $debug_cmd eval \$ECHO \""Usage: $usage"\" echo $SED -n 's|^# || /^Written by/{ x;p;x } h /^Written by/q' < "$progpath" echo eval \$ECHO \""$usage_message"\" } # func_version # ------------ # Echo version message to standard output and exit. # The version message is extracted from the calling file's header # comments, with leading '# ' stripped: # 1. First display the progname and version # 2. Followed by the header comment line matching /^# Written by / # 3. Then a blank line followed by the first following line matching # /^# Copyright / # 4. Immediately followed by any lines between the previous matches, # except lines preceding the intervening completely blank line. # For example, see the header comments of this file. func_version () { $debug_cmd printf '%s\n' "$progname $scriptversion" $SED -n ' /^# Written by /!b s|^# ||; p; n :fwd2blnk /./ { n b fwd2blnk } p; n :holdwrnt s|^# || s|^# *$|| /^Copyright /!{ /./H n b holdwrnt } s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| G s|\(\n\)\n*|\1|g p; q' < "$progpath" exit $? } # Local variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-pattern: "30/scriptversion=%:y-%02m-%02d.%02H; # UTC" # time-stamp-time-zone: "UTC" # End: # Set a version string. scriptversion='(GNU libtool) 2.4.7' # func_echo ARG... # ---------------- # Libtool also displays the current mode in messages, so override # funclib.sh func_echo with this custom definition. func_echo () { $debug_cmd _G_message=$* func_echo_IFS=$IFS IFS=$nl for _G_line in $_G_message; do IFS=$func_echo_IFS $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line" done IFS=$func_echo_IFS } # func_warning ARG... # ------------------- # Libtool warnings are not categorized, so override funclib.sh # func_warning with this simpler definition. func_warning () { $debug_cmd $warning_func ${1+"$@"} } ## ---------------- ## ## Options parsing. ## ## ---------------- ## # Hook in the functions to make sure our own options are parsed during # the option parsing loop. usage='$progpath [OPTION]... [MODE-ARG]...' # Short help message in response to '-h'. usage_message="Options: --config show all configuration variables --debug enable verbose shell tracing -n, --dry-run display commands without modifying any files --features display basic configuration information and exit --mode=MODE use operation mode MODE --no-warnings equivalent to '-Wnone' --preserve-dup-deps don't remove duplicate dependency libraries --quiet, --silent don't print informational messages --tag=TAG use configuration variables from tag TAG -v, --verbose print more informational messages than default --version print version information -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] -h, --help, --help-all print short, long, or detailed help message " # Additional text appended to 'usage_message' in response to '--help'. func_help () { $debug_cmd func_usage_message $ECHO "$long_help_message MODE must be one of the following: clean remove files from the build directory compile compile a source file into a libtool object execute automatically set library path, then run a program finish complete the installation of libtool libraries install install libraries or executables link create a library or an executable uninstall remove libraries from an installed directory MODE-ARGS vary depending on the MODE. When passed as first option, '--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that. Try '$progname --help --mode=MODE' for a more detailed description of MODE. When reporting a bug, please describe a test case to reproduce it and include the following information: host-triplet: $host shell: $SHELL compiler: $LTCC compiler flags: $LTCFLAGS linker: $LD (gnu? $with_gnu_ld) version: $progname (GNU libtool) 2.4.7 automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` Report bugs to . GNU libtool home page: . General help using GNU software: ." exit 0 } # func_lo2o OBJECT-NAME # --------------------- # Transform OBJECT-NAME from a '.lo' suffix to the platform specific # object suffix. lo2o=s/\\.lo\$/.$objext/ o2lo=s/\\.$objext\$/.lo/ if test yes = "$_G_HAVE_XSI_OPS"; then eval 'func_lo2o () { case $1 in *.lo) func_lo2o_result=${1%.lo}.$objext ;; * ) func_lo2o_result=$1 ;; esac }' # func_xform LIBOBJ-OR-SOURCE # --------------------------- # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise) # suffix to a '.lo' libtool-object suffix. eval 'func_xform () { func_xform_result=${1%.*}.lo }' else # ...otherwise fall back to using sed. func_lo2o () { func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"` } func_xform () { func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'` } fi # func_fatal_configuration ARG... # ------------------------------- # Echo program name prefixed message to standard error, followed by # a configuration failure hint, and exit. func_fatal_configuration () { func_fatal_error ${1+"$@"} \ "See the $PACKAGE documentation for more information." \ "Fatal configuration error." } # func_config # ----------- # Display the configuration for all the tags in this script. func_config () { re_begincf='^# ### BEGIN LIBTOOL' re_endcf='^# ### END LIBTOOL' # Default configuration. $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" # Now print the configurations for the tags. for tagname in $taglist; do $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" done exit $? } # func_features # ------------- # Display the features supported by this script. func_features () { echo "host: $host" if test yes = "$build_libtool_libs"; then echo "enable shared libraries" else echo "disable shared libraries" fi if test yes = "$build_old_libs"; then echo "enable static libraries" else echo "disable static libraries" fi exit $? } # func_enable_tag TAGNAME # ----------------------- # Verify that TAGNAME is valid, and either flag an error and exit, or # enable the TAGNAME tag. We also add TAGNAME to the global $taglist # variable here. func_enable_tag () { # Global variable: tagname=$1 re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" sed_extractcf=/$re_begincf/,/$re_endcf/p # Validate tagname. case $tagname in *[!-_A-Za-z0-9,/]*) func_fatal_error "invalid tag name: $tagname" ;; esac # Don't test for the "default" C tag, as we know it's # there but not specially marked. case $tagname in CC) ;; *) if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then taglist="$taglist $tagname" # Evaluate the configuration. Be careful to quote the path # and the sed script, to avoid splitting on whitespace, but # also don't use non-portable quotes within backquotes within # quotes we have to do it in 2 steps: extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` eval "$extractedcf" else func_error "ignoring unknown tag $tagname" fi ;; esac } # func_check_version_match # ------------------------ # Ensure that we are using m4 macros, and libtool script from the same # release of libtool. func_check_version_match () { if test "$package_revision" != "$macro_revision"; then if test "$VERSION" != "$macro_version"; then if test -z "$macro_version"; then cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from an older release. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF else cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from $PACKAGE $macro_version. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF fi else cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, $progname: but the definition of this LT_INIT comes from revision $macro_revision. $progname: You should recreate aclocal.m4 with macros from revision $package_revision $progname: of $PACKAGE $VERSION and run autoconf again. _LT_EOF fi exit $EXIT_MISMATCH fi } # libtool_options_prep [ARG]... # ----------------------------- # Preparation for options parsed by libtool. libtool_options_prep () { $debug_mode # Option defaults: opt_config=false opt_dlopen= opt_dry_run=false opt_help=false opt_mode= opt_preserve_dup_deps=false opt_quiet=false nonopt= preserve_args= _G_rc_lt_options_prep=: # Shorthand for --mode=foo, only valid as the first argument case $1 in clean|clea|cle|cl) shift; set dummy --mode clean ${1+"$@"}; shift ;; compile|compil|compi|comp|com|co|c) shift; set dummy --mode compile ${1+"$@"}; shift ;; execute|execut|execu|exec|exe|ex|e) shift; set dummy --mode execute ${1+"$@"}; shift ;; finish|finis|fini|fin|fi|f) shift; set dummy --mode finish ${1+"$@"}; shift ;; install|instal|insta|inst|ins|in|i) shift; set dummy --mode install ${1+"$@"}; shift ;; link|lin|li|l) shift; set dummy --mode link ${1+"$@"}; shift ;; uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) shift; set dummy --mode uninstall ${1+"$@"}; shift ;; *) _G_rc_lt_options_prep=false ;; esac if $_G_rc_lt_options_prep; then # Pass back the list of options. func_quote eval ${1+"$@"} libtool_options_prep_result=$func_quote_result fi } func_add_hook func_options_prep libtool_options_prep # libtool_parse_options [ARG]... # --------------------------------- # Provide handling for libtool specific options. libtool_parse_options () { $debug_cmd _G_rc_lt_parse_options=false # Perform our own loop to consume as many options as possible in # each iteration. while test $# -gt 0; do _G_match_lt_parse_options=: _G_opt=$1 shift case $_G_opt in --dry-run|--dryrun|-n) opt_dry_run=: ;; --config) func_config ;; --dlopen|-dlopen) opt_dlopen="${opt_dlopen+$opt_dlopen }$1" shift ;; --preserve-dup-deps) opt_preserve_dup_deps=: ;; --features) func_features ;; --finish) set dummy --mode finish ${1+"$@"}; shift ;; --help) opt_help=: ;; --help-all) opt_help=': help-all' ;; --mode) test $# = 0 && func_missing_arg $_G_opt && break opt_mode=$1 case $1 in # Valid mode arguments: clean|compile|execute|finish|install|link|relink|uninstall) ;; # Catch anything else as an error *) func_error "invalid argument for $_G_opt" exit_cmd=exit break ;; esac shift ;; --no-silent|--no-quiet) opt_quiet=false func_append preserve_args " $_G_opt" ;; --no-warnings|--no-warning|--no-warn) opt_warning=false func_append preserve_args " $_G_opt" ;; --no-verbose) opt_verbose=false func_append preserve_args " $_G_opt" ;; --silent|--quiet) opt_quiet=: opt_verbose=false func_append preserve_args " $_G_opt" ;; --tag) test $# = 0 && func_missing_arg $_G_opt && break opt_tag=$1 func_append preserve_args " $_G_opt $1" func_enable_tag "$1" shift ;; --verbose|-v) opt_quiet=false opt_verbose=: func_append preserve_args " $_G_opt" ;; # An option not handled by this hook function: *) set dummy "$_G_opt" ${1+"$@"} ; shift _G_match_lt_parse_options=false break ;; esac $_G_match_lt_parse_options && _G_rc_lt_parse_options=: done if $_G_rc_lt_parse_options; then # save modified positional parameters for caller func_quote eval ${1+"$@"} libtool_parse_options_result=$func_quote_result fi } func_add_hook func_parse_options libtool_parse_options # libtool_validate_options [ARG]... # --------------------------------- # Perform any sanity checks on option settings and/or unconsumed # arguments. libtool_validate_options () { # save first non-option argument if test 0 -lt $#; then nonopt=$1 shift fi # preserve --debug test : = "$debug_cmd" || func_append preserve_args " --debug" # Keeping compiler generated duplicates in $postdeps and $predeps is not # harmful, and is necessary in a majority of systems that use it to satisfy # symbol dependencies. opt_duplicate_compiler_generated_deps=: $opt_help || { # Sanity checks first: func_check_version_match test yes != "$build_libtool_libs" \ && test yes != "$build_old_libs" \ && func_fatal_configuration "not configured to build any kind of library" # Darwin sucks eval std_shrext=\"$shrext_cmds\" # Only execute mode is allowed to have -dlopen flags. if test -n "$opt_dlopen" && test execute != "$opt_mode"; then func_error "unrecognized option '-dlopen'" $ECHO "$help" 1>&2 exit $EXIT_FAILURE fi # Change the help message to a mode-specific one. generic_help=$help help="Try '$progname --help --mode=$opt_mode' for more information." } # Pass back the unparsed argument list func_quote eval ${1+"$@"} libtool_validate_options_result=$func_quote_result } func_add_hook func_validate_options libtool_validate_options # Process options as early as possible so that --help and --version # can return quickly. func_options ${1+"$@"} eval set dummy "$func_options_result"; shift ## ----------- ## ## Main. ## ## ----------- ## magic='%%%MAGIC variable%%%' magic_exe='%%%MAGIC EXE variable%%%' # Global variables. extracted_archives= extracted_serial=0 # If this variable is set in any of the actions, the command in it # will be execed at the end. This prevents here-documents from being # left over by shells. exec_cmd= # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } # func_generated_by_libtool # True iff stdin has been generated by Libtool. This function is only # a basic sanity check; it will hardly flush out determined imposters. func_generated_by_libtool_p () { $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 } # func_lalib_p file # True iff FILE is a libtool '.la' library or '.lo' object file. # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_lalib_p () { test -f "$1" && $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p } # func_lalib_unsafe_p file # True iff FILE is a libtool '.la' library or '.lo' object file. # This function implements the same check as func_lalib_p without # resorting to external programs. To this end, it redirects stdin and # closes it afterwards, without saving the original file descriptor. # As a safety measure, use it only where a negative result would be # fatal anyway. Works if 'file' does not exist. func_lalib_unsafe_p () { lalib_p=no if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then for lalib_p_l in 1 2 3 4 do read lalib_p_line case $lalib_p_line in \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; esac done exec 0<&5 5<&- fi test yes = "$lalib_p" } # func_ltwrapper_script_p file # True iff FILE is a libtool wrapper script # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_script_p () { test -f "$1" && $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p } # func_ltwrapper_executable_p file # True iff FILE is a libtool wrapper executable # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_executable_p () { func_ltwrapper_exec_suffix= case $1 in *.exe) ;; *) func_ltwrapper_exec_suffix=.exe ;; esac $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 } # func_ltwrapper_scriptname file # Assumes file is an ltwrapper_executable # uses $file to determine the appropriate filename for a # temporary ltwrapper_script. func_ltwrapper_scriptname () { func_dirname_and_basename "$1" "" "." func_stripname '' '.exe' "$func_basename_result" func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper } # func_ltwrapper_p file # True iff FILE is a libtool wrapper script or wrapper executable # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_p () { func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" } # func_execute_cmds commands fail_cmd # Execute tilde-delimited COMMANDS. # If FAIL_CMD is given, eval that upon failure. # FAIL_CMD may read-access the current command in variable CMD! func_execute_cmds () { $debug_cmd save_ifs=$IFS; IFS='~' for cmd in $1; do IFS=$sp$nl eval cmd=\"$cmd\" IFS=$save_ifs func_show_eval "$cmd" "${2-:}" done IFS=$save_ifs } # func_source file # Source FILE, adding directory component if necessary. # Note that it is not necessary on cygwin/mingw to append a dot to # FILE even if both FILE and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # 'FILE.' does not work on cygwin managed mounts. func_source () { $debug_cmd case $1 in */* | *\\*) . "$1" ;; *) . "./$1" ;; esac } # func_resolve_sysroot PATH # Replace a leading = in PATH with a sysroot. Store the result into # func_resolve_sysroot_result func_resolve_sysroot () { func_resolve_sysroot_result=$1 case $func_resolve_sysroot_result in =*) func_stripname '=' '' "$func_resolve_sysroot_result" func_resolve_sysroot_result=$lt_sysroot$func_stripname_result ;; esac } # func_replace_sysroot PATH # If PATH begins with the sysroot, replace it with = and # store the result into func_replace_sysroot_result. func_replace_sysroot () { case $lt_sysroot:$1 in ?*:"$lt_sysroot"*) func_stripname "$lt_sysroot" '' "$1" func_replace_sysroot_result='='$func_stripname_result ;; *) # Including no sysroot. func_replace_sysroot_result=$1 ;; esac } # func_infer_tag arg # Infer tagged configuration to use if any are available and # if one wasn't chosen via the "--tag" command line option. # Only attempt this if the compiler in the base compile # command doesn't match the default compiler. # arg is usually of the form 'gcc ...' func_infer_tag () { $debug_cmd if test -n "$available_tags" && test -z "$tagname"; then CC_quoted= for arg in $CC; do func_append_quoted CC_quoted "$arg" done CC_expanded=`func_echo_all $CC` CC_quoted_expanded=`func_echo_all $CC_quoted` case $@ in # Blanks in the command may have been stripped by the calling shell, # but not from the CC environment variable when configure was run. " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; # Blanks at the start of $base_compile will cause this to fail # if we don't check for them as well. *) for z in $available_tags; do if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then # Evaluate the configuration. eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" CC_quoted= for arg in $CC; do # Double-quote args containing other shell metacharacters. func_append_quoted CC_quoted "$arg" done CC_expanded=`func_echo_all $CC` CC_quoted_expanded=`func_echo_all $CC_quoted` case "$@ " in " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) # The compiler in the base compile command matches # the one in the tagged configuration. # Assume this is the tagged configuration we want. tagname=$z break ;; esac fi done # If $tagname still isn't set, then no tagged configuration # was found and let the user know that the "--tag" command # line option must be used. if test -z "$tagname"; then func_echo "unable to infer tagged configuration" func_fatal_error "specify a tag with '--tag'" # else # func_verbose "using $tagname tagged configuration" fi ;; esac fi } # func_write_libtool_object output_name pic_name nonpic_name # Create a libtool object file (analogous to a ".la" file), # but don't create it if we're doing a dry run. func_write_libtool_object () { write_libobj=$1 if test yes = "$build_libtool_libs"; then write_lobj=\'$2\' else write_lobj=none fi if test yes = "$build_old_libs"; then write_oldobj=\'$3\' else write_oldobj=none fi $opt_dry_run || { cat >${write_libobj}T </dev/null` if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | $SED -e "$sed_naive_backslashify"` else func_convert_core_file_wine_to_w32_result= fi fi } # end: func_convert_core_file_wine_to_w32 # func_convert_core_path_wine_to_w32 ARG # Helper function used by path conversion functions when $build is *nix, and # $host is mingw, cygwin, or some other w32 environment. Relies on a correctly # configured wine environment available, with the winepath program in $build's # $PATH. Assumes ARG has no leading or trailing path separator characters. # # ARG is path to be converted from $build format to win32. # Result is available in $func_convert_core_path_wine_to_w32_result. # Unconvertible file (directory) names in ARG are skipped; if no directory names # are convertible, then the result may be empty. func_convert_core_path_wine_to_w32 () { $debug_cmd # unfortunately, winepath doesn't convert paths, only file names func_convert_core_path_wine_to_w32_result= if test -n "$1"; then oldIFS=$IFS IFS=: for func_convert_core_path_wine_to_w32_f in $1; do IFS=$oldIFS func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" if test -n "$func_convert_core_file_wine_to_w32_result"; then if test -z "$func_convert_core_path_wine_to_w32_result"; then func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result else func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" fi fi done IFS=$oldIFS fi } # end: func_convert_core_path_wine_to_w32 # func_cygpath ARGS... # Wrapper around calling the cygpath program via LT_CYGPATH. This is used when # when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) # $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or # (2), returns the Cygwin file name or path in func_cygpath_result (input # file name or path is assumed to be in w32 format, as previously converted # from $build's *nix or MSYS format). In case (3), returns the w32 file name # or path in func_cygpath_result (input file name or path is assumed to be in # Cygwin format). Returns an empty string on error. # # ARGS are passed to cygpath, with the last one being the file name or path to # be converted. # # Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH # environment variable; do not put it in $PATH. func_cygpath () { $debug_cmd if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` if test "$?" -ne 0; then # on failure, ensure result is empty func_cygpath_result= fi else func_cygpath_result= func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'" fi } #end: func_cygpath # func_convert_core_msys_to_w32 ARG # Convert file name or path ARG from MSYS format to w32 format. Return # result in func_convert_core_msys_to_w32_result. func_convert_core_msys_to_w32 () { $debug_cmd # awkward: cmd appends spaces to result func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"` } #end: func_convert_core_msys_to_w32 # func_convert_file_check ARG1 ARG2 # Verify that ARG1 (a file name in $build format) was converted to $host # format in ARG2. Otherwise, emit an error message, but continue (resetting # func_to_host_file_result to ARG1). func_convert_file_check () { $debug_cmd if test -z "$2" && test -n "$1"; then func_error "Could not determine host file name corresponding to" func_error " '$1'" func_error "Continuing, but uninstalled executables may not work." # Fallback: func_to_host_file_result=$1 fi } # end func_convert_file_check # func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH # Verify that FROM_PATH (a path in $build format) was converted to $host # format in TO_PATH. Otherwise, emit an error message, but continue, resetting # func_to_host_file_result to a simplistic fallback value (see below). func_convert_path_check () { $debug_cmd if test -z "$4" && test -n "$3"; then func_error "Could not determine the host path corresponding to" func_error " '$3'" func_error "Continuing, but uninstalled executables may not work." # Fallback. This is a deliberately simplistic "conversion" and # should not be "improved". See libtool.info. if test "x$1" != "x$2"; then lt_replace_pathsep_chars="s|$1|$2|g" func_to_host_path_result=`echo "$3" | $SED -e "$lt_replace_pathsep_chars"` else func_to_host_path_result=$3 fi fi } # end func_convert_path_check # func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG # Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT # and appending REPL if ORIG matches BACKPAT. func_convert_path_front_back_pathsep () { $debug_cmd case $4 in $1 ) func_to_host_path_result=$3$func_to_host_path_result ;; esac case $4 in $2 ) func_append func_to_host_path_result "$3" ;; esac } # end func_convert_path_front_back_pathsep ################################################## # $build to $host FILE NAME CONVERSION FUNCTIONS # ################################################## # invoked via '$to_host_file_cmd ARG' # # In each case, ARG is the path to be converted from $build to $host format. # Result will be available in $func_to_host_file_result. # func_to_host_file ARG # Converts the file name ARG from $build format to $host format. Return result # in func_to_host_file_result. func_to_host_file () { $debug_cmd $to_host_file_cmd "$1" } # end func_to_host_file # func_to_tool_file ARG LAZY # converts the file name ARG from $build format to toolchain format. Return # result in func_to_tool_file_result. If the conversion in use is listed # in (the comma separated) LAZY, no conversion takes place. func_to_tool_file () { $debug_cmd case ,$2, in *,"$to_tool_file_cmd",*) func_to_tool_file_result=$1 ;; *) $to_tool_file_cmd "$1" func_to_tool_file_result=$func_to_host_file_result ;; esac } # end func_to_tool_file # func_convert_file_noop ARG # Copy ARG to func_to_host_file_result. func_convert_file_noop () { func_to_host_file_result=$1 } # end func_convert_file_noop # func_convert_file_msys_to_w32 ARG # Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic # conversion to w32 is not available inside the cwrapper. Returns result in # func_to_host_file_result. func_convert_file_msys_to_w32 () { $debug_cmd func_to_host_file_result=$1 if test -n "$1"; then func_convert_core_msys_to_w32 "$1" func_to_host_file_result=$func_convert_core_msys_to_w32_result fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_msys_to_w32 # func_convert_file_cygwin_to_w32 ARG # Convert file name ARG from Cygwin to w32 format. Returns result in # func_to_host_file_result. func_convert_file_cygwin_to_w32 () { $debug_cmd func_to_host_file_result=$1 if test -n "$1"; then # because $build is cygwin, we call "the" cygpath in $PATH; no need to use # LT_CYGPATH in this case. func_to_host_file_result=`cygpath -m "$1"` fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_cygwin_to_w32 # func_convert_file_nix_to_w32 ARG # Convert file name ARG from *nix to w32 format. Requires a wine environment # and a working winepath. Returns result in func_to_host_file_result. func_convert_file_nix_to_w32 () { $debug_cmd func_to_host_file_result=$1 if test -n "$1"; then func_convert_core_file_wine_to_w32 "$1" func_to_host_file_result=$func_convert_core_file_wine_to_w32_result fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_nix_to_w32 # func_convert_file_msys_to_cygwin ARG # Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. # Returns result in func_to_host_file_result. func_convert_file_msys_to_cygwin () { $debug_cmd func_to_host_file_result=$1 if test -n "$1"; then func_convert_core_msys_to_w32 "$1" func_cygpath -u "$func_convert_core_msys_to_w32_result" func_to_host_file_result=$func_cygpath_result fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_msys_to_cygwin # func_convert_file_nix_to_cygwin ARG # Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed # in a wine environment, working winepath, and LT_CYGPATH set. Returns result # in func_to_host_file_result. func_convert_file_nix_to_cygwin () { $debug_cmd func_to_host_file_result=$1 if test -n "$1"; then # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. func_convert_core_file_wine_to_w32 "$1" func_cygpath -u "$func_convert_core_file_wine_to_w32_result" func_to_host_file_result=$func_cygpath_result fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_nix_to_cygwin ############################################# # $build to $host PATH CONVERSION FUNCTIONS # ############################################# # invoked via '$to_host_path_cmd ARG' # # In each case, ARG is the path to be converted from $build to $host format. # The result will be available in $func_to_host_path_result. # # Path separators are also converted from $build format to $host format. If # ARG begins or ends with a path separator character, it is preserved (but # converted to $host format) on output. # # All path conversion functions are named using the following convention: # file name conversion function : func_convert_file_X_to_Y () # path conversion function : func_convert_path_X_to_Y () # where, for any given $build/$host combination the 'X_to_Y' value is the # same. If conversion functions are added for new $build/$host combinations, # the two new functions must follow this pattern, or func_init_to_host_path_cmd # will break. # func_init_to_host_path_cmd # Ensures that function "pointer" variable $to_host_path_cmd is set to the # appropriate value, based on the value of $to_host_file_cmd. to_host_path_cmd= func_init_to_host_path_cmd () { $debug_cmd if test -z "$to_host_path_cmd"; then func_stripname 'func_convert_file_' '' "$to_host_file_cmd" to_host_path_cmd=func_convert_path_$func_stripname_result fi } # func_to_host_path ARG # Converts the path ARG from $build format to $host format. Return result # in func_to_host_path_result. func_to_host_path () { $debug_cmd func_init_to_host_path_cmd $to_host_path_cmd "$1" } # end func_to_host_path # func_convert_path_noop ARG # Copy ARG to func_to_host_path_result. func_convert_path_noop () { func_to_host_path_result=$1 } # end func_convert_path_noop # func_convert_path_msys_to_w32 ARG # Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic # conversion to w32 is not available inside the cwrapper. Returns result in # func_to_host_path_result. func_convert_path_msys_to_w32 () { $debug_cmd func_to_host_path_result=$1 if test -n "$1"; then # Remove leading and trailing path separator characters from ARG. MSYS # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; # and winepath ignores them completely. func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" func_to_host_path_result=$func_convert_core_msys_to_w32_result func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" fi } # end func_convert_path_msys_to_w32 # func_convert_path_cygwin_to_w32 ARG # Convert path ARG from Cygwin to w32 format. Returns result in # func_to_host_file_result. func_convert_path_cygwin_to_w32 () { $debug_cmd func_to_host_path_result=$1 if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" fi } # end func_convert_path_cygwin_to_w32 # func_convert_path_nix_to_w32 ARG # Convert path ARG from *nix to w32 format. Requires a wine environment and # a working winepath. Returns result in func_to_host_file_result. func_convert_path_nix_to_w32 () { $debug_cmd func_to_host_path_result=$1 if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" func_to_host_path_result=$func_convert_core_path_wine_to_w32_result func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" fi } # end func_convert_path_nix_to_w32 # func_convert_path_msys_to_cygwin ARG # Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. # Returns result in func_to_host_file_result. func_convert_path_msys_to_cygwin () { $debug_cmd func_to_host_path_result=$1 if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" func_cygpath -u -p "$func_convert_core_msys_to_w32_result" func_to_host_path_result=$func_cygpath_result func_convert_path_check : : \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" : "$1" fi } # end func_convert_path_msys_to_cygwin # func_convert_path_nix_to_cygwin ARG # Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a # a wine environment, working winepath, and LT_CYGPATH set. Returns result in # func_to_host_file_result. func_convert_path_nix_to_cygwin () { $debug_cmd func_to_host_path_result=$1 if test -n "$1"; then # Remove leading and trailing path separator characters from # ARG. msys behavior is inconsistent here, cygpath turns them # into '.;' and ';.', and winepath ignores them completely. func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" func_to_host_path_result=$func_cygpath_result func_convert_path_check : : \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" : "$1" fi } # end func_convert_path_nix_to_cygwin # func_dll_def_p FILE # True iff FILE is a Windows DLL '.def' file. # Keep in sync with _LT_DLL_DEF_P in libtool.m4 func_dll_def_p () { $debug_cmd func_dll_def_p_tmp=`$SED -n \ -e 's/^[ ]*//' \ -e '/^\(;.*\)*$/d' \ -e 's/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p' \ -e q \ "$1"` test DEF = "$func_dll_def_p_tmp" } # func_mode_compile arg... func_mode_compile () { $debug_cmd # Get the compilation command and the source file. base_compile= srcfile=$nonopt # always keep a non-empty value in "srcfile" suppress_opt=yes suppress_output= arg_mode=normal libobj= later= pie_flag= for arg do case $arg_mode in arg ) # do not "continue". Instead, add this to base_compile lastarg=$arg arg_mode=normal ;; target ) libobj=$arg arg_mode=normal continue ;; normal ) # Accept any command-line options. case $arg in -o) test -n "$libobj" && \ func_fatal_error "you cannot specify '-o' more than once" arg_mode=target continue ;; -pie | -fpie | -fPIE) func_append pie_flag " $arg" continue ;; -shared | -static | -prefer-pic | -prefer-non-pic) func_append later " $arg" continue ;; -no-suppress) suppress_opt=no continue ;; -Xcompiler) arg_mode=arg # the next one goes into the "base_compile" arg list continue # The current "srcfile" will either be retained or ;; # replaced later. I would guess that would be a bug. -Wc,*) func_stripname '-Wc,' '' "$arg" args=$func_stripname_result lastarg= save_ifs=$IFS; IFS=, for arg in $args; do IFS=$save_ifs func_append_quoted lastarg "$arg" done IFS=$save_ifs func_stripname ' ' '' "$lastarg" lastarg=$func_stripname_result # Add the arguments to base_compile. func_append base_compile " $lastarg" continue ;; *) # Accept the current argument as the source file. # The previous "srcfile" becomes the current argument. # lastarg=$srcfile srcfile=$arg ;; esac # case $arg ;; esac # case $arg_mode # Aesthetically quote the previous argument. func_append_quoted base_compile "$lastarg" done # for arg case $arg_mode in arg) func_fatal_error "you must specify an argument for -Xcompile" ;; target) func_fatal_error "you must specify a target with '-o'" ;; *) # Get the name of the library object. test -z "$libobj" && { func_basename "$srcfile" libobj=$func_basename_result } ;; esac # Recognize several different file suffixes. # If the user specifies -o file.o, it is replaced with file.lo case $libobj in *.[cCFSifmso] | \ *.ada | *.adb | *.ads | *.asm | \ *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) func_xform "$libobj" libobj=$func_xform_result ;; esac case $libobj in *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; *) func_fatal_error "cannot determine name of library object from '$libobj'" ;; esac func_infer_tag $base_compile for arg in $later; do case $arg in -shared) test yes = "$build_libtool_libs" \ || func_fatal_configuration "cannot build a shared library" build_old_libs=no continue ;; -static) build_libtool_libs=no build_old_libs=yes continue ;; -prefer-pic) pic_mode=yes continue ;; -prefer-non-pic) pic_mode=no continue ;; esac done func_quote_arg pretty "$libobj" test "X$libobj" != "X$func_quote_arg_result" \ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ && func_warning "libobj name '$libobj' may not contain shell special characters." func_dirname_and_basename "$obj" "/" "" objname=$func_basename_result xdir=$func_dirname_result lobj=$xdir$objdir/$objname test -z "$base_compile" && \ func_fatal_help "you must specify a compilation command" # Delete any leftover library objects. if test yes = "$build_old_libs"; then removelist="$obj $lobj $libobj ${libobj}T" else removelist="$lobj $libobj ${libobj}T" fi # On Cygwin there's no "real" PIC flag so we must build both object types case $host_os in cygwin* | mingw* | pw32* | os2* | cegcc*) pic_mode=default ;; esac if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then # non-PIC code in shared libraries is not supported pic_mode=default fi # Calculate the filename of the output object if compiler does # not support -o with -c if test no = "$compiler_c_o"; then output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext lockfile=$output_obj.lock else output_obj= need_locks=no lockfile= fi # Lock this critical section if it is needed # We use this script file to make the link, it avoids creating a new file if test yes = "$need_locks"; then until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do func_echo "Waiting for $lockfile to be removed" sleep 2 done elif test warn = "$need_locks"; then if test -f "$lockfile"; then $ECHO "\ *** ERROR, $lockfile exists and contains: `cat $lockfile 2>/dev/null` This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support '-c' and '-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi func_append removelist " $output_obj" $ECHO "$srcfile" > "$lockfile" fi $opt_dry_run || $RM $removelist func_append removelist " $lockfile" trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 srcfile=$func_to_tool_file_result func_quote_arg pretty "$srcfile" qsrcfile=$func_quote_arg_result # Only build a PIC object if we are building libtool libraries. if test yes = "$build_libtool_libs"; then # Without this assignment, base_compile gets emptied. fbsd_hideous_sh_bug=$base_compile if test no != "$pic_mode"; then command="$base_compile $qsrcfile $pic_flag" else # Don't build PIC code command="$base_compile $qsrcfile" fi func_mkdir_p "$xdir$objdir" if test -z "$output_obj"; then # Place PIC objects in $objdir func_append command " -o $lobj" fi func_show_eval_locale "$command" \ 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' if test warn = "$need_locks" && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support '-c' and '-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed, then go on to compile the next one if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then func_show_eval '$MV "$output_obj" "$lobj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi # Allow error messages only from the first compilation. if test yes = "$suppress_opt"; then suppress_output=' >/dev/null 2>&1' fi fi # Only build a position-dependent object if we build old libraries. if test yes = "$build_old_libs"; then if test yes != "$pic_mode"; then # Don't build PIC code command="$base_compile $qsrcfile$pie_flag" else command="$base_compile $qsrcfile $pic_flag" fi if test yes = "$compiler_c_o"; then func_append command " -o $obj" fi # Suppress compiler output if we already did a PIC compilation. func_append command "$suppress_output" func_show_eval_locale "$command" \ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' if test warn = "$need_locks" && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support '-c' and '-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then func_show_eval '$MV "$output_obj" "$obj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi fi $opt_dry_run || { func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" # Unlock the critical section if it was locked if test no != "$need_locks"; then removelist=$lockfile $RM "$lockfile" fi } exit $EXIT_SUCCESS } $opt_help || { test compile = "$opt_mode" && func_mode_compile ${1+"$@"} } func_mode_help () { # We need to display help for each of the modes. case $opt_mode in "") # Generic help is extracted from the usage comments # at the start of this file. func_help ;; clean) $ECHO \ "Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... Remove files from the build directory. RM is the name of the program to use to delete files associated with each FILE (typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed to RM. If FILE is a libtool library, object or program, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; compile) $ECHO \ "Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE Compile a source file into a libtool library object. This mode accepts the following additional options: -o OUTPUT-FILE set the output file name to OUTPUT-FILE -no-suppress do not suppress compiler output for multiple passes -prefer-pic try to build PIC objects only -prefer-non-pic try to build non-PIC objects only -shared do not build a '.o' file suitable for static linking -static only build a '.o' file suitable for static linking -Wc,FLAG -Xcompiler FLAG pass FLAG directly to the compiler COMPILE-COMMAND is a command to be used in creating a 'standard' object file from the given SOURCEFILE. The output file name is determined by removing the directory component from SOURCEFILE, then substituting the C source code suffix '.c' with the library object suffix, '.lo'." ;; execute) $ECHO \ "Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... Automatically set library path, then run a program. This mode accepts the following additional options: -dlopen FILE add the directory containing FILE to the library path This mode sets the library path environment variable according to '-dlopen' flags. If any of the ARGS are libtool executable wrappers, then they are translated into their corresponding uninstalled binary, and any of their required library directories are added to the library path. Then, COMMAND is executed, with ARGS as arguments." ;; finish) $ECHO \ "Usage: $progname [OPTION]... --mode=finish [LIBDIR]... Complete the installation of libtool libraries. Each LIBDIR is a directory that contains libtool libraries. The commands that this mode executes may require superuser privileges. Use the '--dry-run' option if you just want to see what would be executed." ;; install) $ECHO \ "Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... Install executables or libraries. INSTALL-COMMAND is the installation command. The first component should be either the 'install' or 'cp' program. The following components of INSTALL-COMMAND are treated specially: -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation The rest of the components are interpreted as arguments to that command (only BSD-compatible install options are recognized)." ;; link) $ECHO \ "Usage: $progname [OPTION]... --mode=link LINK-COMMAND... Link object files or libraries together to form another library, or to create an executable program. LINK-COMMAND is a command using the C compiler that you would use to create a program from several object files. The following components of LINK-COMMAND are treated specially: -all-static do not do any dynamic linking at all -avoid-version do not add a version suffix if possible -bindir BINDIR specify path to binaries directory (for systems where libraries must be found in the PATH setting at runtime) -dlopen FILE '-dlpreopen' FILE if it cannot be dlopened at runtime -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) -export-symbols SYMFILE try to export only the symbols listed in SYMFILE -export-symbols-regex REGEX try to export only the symbols matching REGEX -LLIBDIR search LIBDIR for required installed libraries -lNAME OUTPUT-FILE requires the installed library libNAME -module build a library that can dlopened -no-fast-install disable the fast-install mode -no-install link a not-installable executable -no-undefined declare that a library does not refer to external symbols -o OUTPUT-FILE create OUTPUT-FILE from the specified objects -objectlist FILE use a list of object files found in FILE to specify objects -os2dllname NAME force a short DLL name on OS/2 (no effect on other OSes) -precious-files-regex REGEX don't remove output files matching REGEX -release RELEASE specify package release information -rpath LIBDIR the created library will eventually be installed in LIBDIR -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries -shared only do dynamic linking of libtool libraries -shrext SUFFIX override the standard shared library file extension -static do not do any dynamic linking of uninstalled libtool libraries -static-libtool-libs do not do any dynamic linking of libtool libraries -version-info CURRENT[:REVISION[:AGE]] specify library version info [each variable defaults to 0] -weak LIBNAME declare that the target provides the LIBNAME interface -Wc,FLAG -Xcompiler FLAG pass linker-specific FLAG directly to the compiler -Wa,FLAG -Xassembler FLAG pass linker-specific FLAG directly to the assembler -Wl,FLAG -Xlinker FLAG pass linker-specific FLAG directly to the linker -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) All other options (arguments beginning with '-') are ignored. Every other argument is treated as a filename. Files ending in '.la' are treated as uninstalled libtool libraries, other files are standard or library object files. If the OUTPUT-FILE ends in '.la', then a libtool library is created, only library objects ('.lo' files) may be specified, and '-rpath' is required, except when creating a convenience library. If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created using 'ar' and 'ranlib', or on Windows using 'lib'. If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file is created, otherwise an executable program is created." ;; uninstall) $ECHO \ "Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... Remove libraries from an installation directory. RM is the name of the program to use to delete files associated with each FILE (typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed to RM. If FILE is a libtool library, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; *) func_fatal_help "invalid operation mode '$opt_mode'" ;; esac echo $ECHO "Try '$progname --help' for more information about other modes." } # Now that we've collected a possible --mode arg, show help if necessary if $opt_help; then if test : = "$opt_help"; then func_mode_help else { func_help noexit for opt_mode in compile link execute install finish uninstall clean; do func_mode_help done } | $SED -n '1p; 2,$s/^Usage:/ or: /p' { func_help noexit for opt_mode in compile link execute install finish uninstall clean; do echo func_mode_help done } | $SED '1d /^When reporting/,/^Report/{ H d } $x /information about other modes/d /more detailed .*MODE/d s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' fi exit $? fi # func_mode_execute arg... func_mode_execute () { $debug_cmd # The first argument is the command name. cmd=$nonopt test -z "$cmd" && \ func_fatal_help "you must specify a COMMAND" # Handle -dlopen flags immediately. for file in $opt_dlopen; do test -f "$file" \ || func_fatal_help "'$file' is not a file" dir= case $file in *.la) func_resolve_sysroot "$file" file=$func_resolve_sysroot_result # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ || func_fatal_help "'$lib' is not a valid libtool archive" # Read the libtool library. dlname= library_names= func_source "$file" # Skip this library if it cannot be dlopened. if test -z "$dlname"; then # Warn if it was a shared library. test -n "$library_names" && \ func_warning "'$file' was not linked with '-export-dynamic'" continue fi func_dirname "$file" "" "." dir=$func_dirname_result if test -f "$dir/$objdir/$dlname"; then func_append dir "/$objdir" else if test ! -f "$dir/$dlname"; then func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'" fi fi ;; *.lo) # Just add the directory containing the .lo file. func_dirname "$file" "" "." dir=$func_dirname_result ;; *) func_warning "'-dlopen' is ignored for non-libtool libraries and objects" continue ;; esac # Get the absolute pathname. absdir=`cd "$dir" && pwd` test -n "$absdir" && dir=$absdir # Now add the directory to shlibpath_var. if eval "test -z \"\$$shlibpath_var\""; then eval "$shlibpath_var=\"\$dir\"" else eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" fi done # This variable tells wrapper scripts just to set shlibpath_var # rather than running their programs. libtool_execute_magic=$magic # Check if any of the arguments is a wrapper script. args= for file do case $file in -* | *.la | *.lo ) ;; *) # Do a test to see if this is really a libtool program. if func_ltwrapper_script_p "$file"; then func_source "$file" # Transform arg to wrapped name. file=$progdir/$program elif func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" func_source "$func_ltwrapper_scriptname_result" # Transform arg to wrapped name. file=$progdir/$program fi ;; esac # Quote arguments (to preserve shell metacharacters). func_append_quoted args "$file" done if $opt_dry_run; then # Display what would be done. if test -n "$shlibpath_var"; then eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" echo "export $shlibpath_var" fi $ECHO "$cmd$args" exit $EXIT_SUCCESS else if test -n "$shlibpath_var"; then # Export the shlibpath_var. eval "export $shlibpath_var" fi # Restore saved environment variables for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${save_$lt_var+set}\" = set; then $lt_var=\$save_$lt_var; export $lt_var else $lt_unset $lt_var fi" done # Now prepare to actually exec the command. exec_cmd=\$cmd$args fi } test execute = "$opt_mode" && func_mode_execute ${1+"$@"} # func_mode_finish arg... func_mode_finish () { $debug_cmd libs= libdirs= admincmds= for opt in "$nonopt" ${1+"$@"} do if test -d "$opt"; then func_append libdirs " $opt" elif test -f "$opt"; then if func_lalib_unsafe_p "$opt"; then func_append libs " $opt" else func_warning "'$opt' is not a valid libtool archive" fi else func_fatal_error "invalid argument '$opt'" fi done if test -n "$libs"; then if test -n "$lt_sysroot"; then sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" else sysroot_cmd= fi # Remove sysroot references if $opt_dry_run; then for lib in $libs; do echo "removing references to $lt_sysroot and '=' prefixes from $lib" done else tmpdir=`func_mktempdir` for lib in $libs; do $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ > $tmpdir/tmp-la mv -f $tmpdir/tmp-la $lib done ${RM}r "$tmpdir" fi fi if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then for libdir in $libdirs; do if test -n "$finish_cmds"; then # Do each command in the finish commands. func_execute_cmds "$finish_cmds" 'admincmds="$admincmds '"$cmd"'"' fi if test -n "$finish_eval"; then # Do the single finish_eval. eval cmds=\"$finish_eval\" $opt_dry_run || eval "$cmds" || func_append admincmds " $cmds" fi done fi # Exit here if they wanted silent mode. $opt_quiet && exit $EXIT_SUCCESS if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then echo "----------------------------------------------------------------------" echo "Libraries have been installed in:" for libdir in $libdirs; do $ECHO " $libdir" done echo echo "If you ever happen to want to link against installed libraries" echo "in a given directory, LIBDIR, you must either use libtool, and" echo "specify the full pathname of the library, or use the '-LLIBDIR'" echo "flag during linking and do at least one of the following:" if test -n "$shlibpath_var"; then echo " - add LIBDIR to the '$shlibpath_var' environment variable" echo " during execution" fi if test -n "$runpath_var"; then echo " - add LIBDIR to the '$runpath_var' environment variable" echo " during linking" fi if test -n "$hardcode_libdir_flag_spec"; then libdir=LIBDIR eval flag=\"$hardcode_libdir_flag_spec\" $ECHO " - use the '$flag' linker flag" fi if test -n "$admincmds"; then $ECHO " - have your system administrator run these commands:$admincmds" fi if test -f /etc/ld.so.conf; then echo " - have your system administrator add LIBDIR to '/etc/ld.so.conf'" fi echo echo "See any operating system documentation about shared libraries for" case $host in solaris2.[6789]|solaris2.1[0-9]) echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" echo "pages." ;; *) echo "more information, such as the ld(1) and ld.so(8) manual pages." ;; esac echo "----------------------------------------------------------------------" fi exit $EXIT_SUCCESS } test finish = "$opt_mode" && func_mode_finish ${1+"$@"} # func_mode_install arg... func_mode_install () { $debug_cmd # There may be an optional sh(1) argument at the beginning of # install_prog (especially on Windows NT). if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" || # Allow the use of GNU shtool's install command. case $nonopt in *shtool*) :;; *) false;; esac then # Aesthetically quote it. func_quote_arg pretty "$nonopt" install_prog="$func_quote_arg_result " arg=$1 shift else install_prog= arg=$nonopt fi # The real first argument should be the name of the installation program. # Aesthetically quote it. func_quote_arg pretty "$arg" func_append install_prog "$func_quote_arg_result" install_shared_prog=$install_prog case " $install_prog " in *[\\\ /]cp\ *) install_cp=: ;; *) install_cp=false ;; esac # We need to accept at least all the BSD install flags. dest= files= opts= prev= install_type= isdir=false stripme= no_mode=: for arg do arg2= if test -n "$dest"; then func_append files " $dest" dest=$arg continue fi case $arg in -d) isdir=: ;; -f) if $install_cp; then :; else prev=$arg fi ;; -g | -m | -o) prev=$arg ;; -s) stripme=" -s" continue ;; -*) ;; *) # If the previous option needed an argument, then skip it. if test -n "$prev"; then if test X-m = "X$prev" && test -n "$install_override_mode"; then arg2=$install_override_mode no_mode=false fi prev= else dest=$arg continue fi ;; esac # Aesthetically quote the argument. func_quote_arg pretty "$arg" func_append install_prog " $func_quote_arg_result" if test -n "$arg2"; then func_quote_arg pretty "$arg2" fi func_append install_shared_prog " $func_quote_arg_result" done test -z "$install_prog" && \ func_fatal_help "you must specify an install program" test -n "$prev" && \ func_fatal_help "the '$prev' option requires an argument" if test -n "$install_override_mode" && $no_mode; then if $install_cp; then :; else func_quote_arg pretty "$install_override_mode" func_append install_shared_prog " -m $func_quote_arg_result" fi fi if test -z "$files"; then if test -z "$dest"; then func_fatal_help "no file or destination specified" else func_fatal_help "you must specify a destination" fi fi # Strip any trailing slash from the destination. func_stripname '' '/' "$dest" dest=$func_stripname_result # Check to see that the destination is a directory. test -d "$dest" && isdir=: if $isdir; then destdir=$dest destname= else func_dirname_and_basename "$dest" "" "." destdir=$func_dirname_result destname=$func_basename_result # Not a directory, so check to see that there is only one file specified. set dummy $files; shift test "$#" -gt 1 && \ func_fatal_help "'$dest' is not a directory" fi case $destdir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) for file in $files; do case $file in *.lo) ;; *) func_fatal_help "'$destdir' must be an absolute directory name" ;; esac done ;; esac # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic=$magic staticlibs= future_libdirs= current_libdirs= for file in $files; do # Do each installation. case $file in *.$libext) # Do the static libraries later. func_append staticlibs " $file" ;; *.la) func_resolve_sysroot "$file" file=$func_resolve_sysroot_result # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ || func_fatal_help "'$file' is not a valid libtool archive" library_names= old_library= relink_command= func_source "$file" # Add the libdir to current_libdirs if it is the destination. if test "X$destdir" = "X$libdir"; then case "$current_libdirs " in *" $libdir "*) ;; *) func_append current_libdirs " $libdir" ;; esac else # Note the libdir as a future libdir. case "$future_libdirs " in *" $libdir "*) ;; *) func_append future_libdirs " $libdir" ;; esac fi func_dirname "$file" "/" "" dir=$func_dirname_result func_append dir "$objdir" if test -n "$relink_command"; then # Determine the prefix the user has applied to our future dir. inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` # Don't allow the user to place us outside of our expected # location b/c this prevents finding dependent libraries that # are installed to the same prefix. # At present, this check doesn't affect windows .dll's that # are installed into $libdir/../bin (currently, that works fine) # but it's something to keep an eye on. test "$inst_prefix_dir" = "$destdir" && \ func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir" if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` else relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` fi func_warning "relinking '$file'" func_show_eval "$relink_command" \ 'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"' fi # See the names of the shared library. set dummy $library_names; shift if test -n "$1"; then realname=$1 shift srcname=$realname test -n "$relink_command" && srcname=${realname}T # Install the shared library and build the symlinks. func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ 'exit $?' tstripme=$stripme case $host_os in cygwin* | mingw* | pw32* | cegcc*) case $realname in *.dll.a) tstripme= ;; esac ;; os2*) case $realname in *_dll.a) tstripme= ;; esac ;; esac if test -n "$tstripme" && test -n "$striplib"; then func_show_eval "$striplib $destdir/$realname" 'exit $?' fi if test "$#" -gt 0; then # Delete the old symlinks, and create new ones. # Try 'ln -sf' first, because the 'ln' binary might depend on # the symlink we replace! Solaris /bin/ln does not understand -f, # so we also need to try rm && ln -s. for linkname do test "$linkname" != "$realname" \ && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" done fi # Do each command in the postinstall commands. lib=$destdir/$realname func_execute_cmds "$postinstall_cmds" 'exit $?' fi # Install the pseudo-library for information purposes. func_basename "$file" name=$func_basename_result instname=$dir/${name}i func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' # Maybe install the static library, too. test -n "$old_library" && func_append staticlibs " $dir/$old_library" ;; *.lo) # Install (i.e. copy) a libtool object. # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile=$destdir/$destname else func_basename "$file" destfile=$func_basename_result destfile=$destdir/$destfile fi # Deduce the name of the destination old-style object file. case $destfile in *.lo) func_lo2o "$destfile" staticdest=$func_lo2o_result ;; *.$objext) staticdest=$destfile destfile= ;; *) func_fatal_help "cannot copy a libtool object to '$destfile'" ;; esac # Install the libtool object if requested. test -n "$destfile" && \ func_show_eval "$install_prog $file $destfile" 'exit $?' # Install the old object if enabled. if test yes = "$build_old_libs"; then # Deduce the name of the old-style object file. func_lo2o "$file" staticobj=$func_lo2o_result func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' fi exit $EXIT_SUCCESS ;; *) # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile=$destdir/$destname else func_basename "$file" destfile=$func_basename_result destfile=$destdir/$destfile fi # If the file is missing, and there is a .exe on the end, strip it # because it is most likely a libtool script we actually want to # install stripped_ext= case $file in *.exe) if test ! -f "$file"; then func_stripname '' '.exe' "$file" file=$func_stripname_result stripped_ext=.exe fi ;; esac # Do a test to see if this is really a libtool program. case $host in *cygwin* | *mingw*) if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" wrapper=$func_ltwrapper_scriptname_result else func_stripname '' '.exe' "$file" wrapper=$func_stripname_result fi ;; *) wrapper=$file ;; esac if func_ltwrapper_script_p "$wrapper"; then notinst_deplibs= relink_command= func_source "$wrapper" # Check the variables that should have been set. test -z "$generated_by_libtool_version" && \ func_fatal_error "invalid libtool wrapper script '$wrapper'" finalize=: for lib in $notinst_deplibs; do # Check to see that each library is installed. libdir= if test -f "$lib"; then func_source "$lib" fi libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'` if test -n "$libdir" && test ! -f "$libfile"; then func_warning "'$lib' has not been installed in '$libdir'" finalize=false fi done relink_command= func_source "$wrapper" outputname= if test no = "$fast_install" && test -n "$relink_command"; then $opt_dry_run || { if $finalize; then tmpdir=`func_mktempdir` func_basename "$file$stripped_ext" file=$func_basename_result outputname=$tmpdir/$file # Replace the output file specification. relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` $opt_quiet || { func_quote_arg expand,pretty "$relink_command" eval "func_echo $func_quote_arg_result" } if eval "$relink_command"; then : else func_error "error: relink '$file' with the above command before installing it" $opt_dry_run || ${RM}r "$tmpdir" continue fi file=$outputname else func_warning "cannot relink '$file'" fi } else # Install the binary that we compiled earlier. file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` fi fi # remove .exe since cygwin /usr/bin/install will append another # one anyway case $install_prog,$host in */usr/bin/install*,*cygwin*) case $file:$destfile in *.exe:*.exe) # this is ok ;; *.exe:*) destfile=$destfile.exe ;; *:*.exe) func_stripname '' '.exe' "$destfile" destfile=$func_stripname_result ;; esac ;; esac func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' $opt_dry_run || if test -n "$outputname"; then ${RM}r "$tmpdir" fi ;; esac done for file in $staticlibs; do func_basename "$file" name=$func_basename_result # Set up the ranlib parameters. oldlib=$destdir/$name func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 tool_oldlib=$func_to_tool_file_result func_show_eval "$install_prog \$file \$oldlib" 'exit $?' if test -n "$stripme" && test -n "$old_striplib"; then func_show_eval "$old_striplib $tool_oldlib" 'exit $?' fi # Do each command in the postinstall commands. func_execute_cmds "$old_postinstall_cmds" 'exit $?' done test -n "$future_libdirs" && \ func_warning "remember to run '$progname --finish$future_libdirs'" if test -n "$current_libdirs"; then # Maybe just do a dry run. $opt_dry_run && current_libdirs=" -n$current_libdirs" exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs' else exit $EXIT_SUCCESS fi } test install = "$opt_mode" && func_mode_install ${1+"$@"} # func_generate_dlsyms outputname originator pic_p # Extract symbols from dlprefiles and create ${outputname}S.o with # a dlpreopen symbol table. func_generate_dlsyms () { $debug_cmd my_outputname=$1 my_originator=$2 my_pic_p=${3-false} my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'` my_dlsyms= if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then if test -n "$NM" && test -n "$global_symbol_pipe"; then my_dlsyms=${my_outputname}S.c else func_error "not configured to extract global symbols from dlpreopened files" fi fi if test -n "$my_dlsyms"; then case $my_dlsyms in "") ;; *.c) # Discover the nlist of each of the dlfiles. nlist=$output_objdir/$my_outputname.nm func_show_eval "$RM $nlist ${nlist}S ${nlist}T" # Parse the name list into a source file. func_verbose "creating $output_objdir/$my_dlsyms" $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ /* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */ /* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */ #ifdef __cplusplus extern \"C\" { #endif #if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) #pragma GCC diagnostic ignored \"-Wstrict-prototypes\" #endif /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ #if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE /* DATA imports from DLLs on WIN32 can't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT_DLSYM_CONST #elif defined __osf__ /* This system does not cope well with relocations in const data. */ # define LT_DLSYM_CONST #else # define LT_DLSYM_CONST const #endif #define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) /* External symbol declarations for the compiler. */\ " if test yes = "$dlself"; then func_verbose "generating symbol list for '$output'" $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" # Add our own program objects to the symbol list. progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` for progfile in $progfiles; do func_to_tool_file "$progfile" func_convert_file_msys_to_w32 func_verbose "extracting global C symbols from '$func_to_tool_file_result'" $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" done if test -n "$exclude_expsyms"; then $opt_dry_run || { eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' } fi if test -n "$export_symbols_regex"; then $opt_dry_run || { eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' } fi # Prepare the list of exported symbols if test -z "$export_symbols"; then export_symbols=$output_objdir/$outputname.exp $opt_dry_run || { $RM $export_symbols eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' case $host in *cygwin* | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' ;; esac } else $opt_dry_run || { eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' case $host in *cygwin* | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' ;; esac } fi fi for dlprefile in $dlprefiles; do func_verbose "extracting global C symbols from '$dlprefile'" func_basename "$dlprefile" name=$func_basename_result case $host in *cygwin* | *mingw* | *cegcc* ) # if an import library, we need to obtain dlname if func_win32_import_lib_p "$dlprefile"; then func_tr_sh "$dlprefile" eval "curr_lafile=\$libfile_$func_tr_sh_result" dlprefile_dlbasename= if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then # Use subshell, to avoid clobbering current variable values dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` if test -n "$dlprefile_dlname"; then func_basename "$dlprefile_dlname" dlprefile_dlbasename=$func_basename_result else # no lafile. user explicitly requested -dlpreopen . $sharedlib_from_linklib_cmd "$dlprefile" dlprefile_dlbasename=$sharedlib_from_linklib_result fi fi $opt_dry_run || { if test -n "$dlprefile_dlbasename"; then eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' else func_warning "Could not compute DLL name from $name" eval '$ECHO ": $name " >> "$nlist"' fi func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" } else # not an import lib $opt_dry_run || { eval '$ECHO ": $name " >> "$nlist"' func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" } fi ;; *) $opt_dry_run || { eval '$ECHO ": $name " >> "$nlist"' func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" } ;; esac done $opt_dry_run || { # Make sure we have at least an empty file. test -f "$nlist" || : > "$nlist" if test -n "$exclude_expsyms"; then $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T $MV "$nlist"T "$nlist" fi # Try sorting and uniquifying the output. if $GREP -v "^: " < "$nlist" | if sort -k 3 /dev/null 2>&1; then sort -k 3 else sort +2 fi | uniq > "$nlist"S; then : else $GREP -v "^: " < "$nlist" > "$nlist"S fi if test -f "$nlist"S; then eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' else echo '/* NONE */' >> "$output_objdir/$my_dlsyms" fi func_show_eval '$RM "${nlist}I"' if test -n "$global_symbol_to_import"; then eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I' fi echo >> "$output_objdir/$my_dlsyms" "\ /* The mapping between symbol names and symbols. */ typedef struct { const char *name; void *address; } lt_dlsymlist; extern LT_DLSYM_CONST lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[];\ " if test -s "$nlist"I; then echo >> "$output_objdir/$my_dlsyms" "\ static void lt_syminit(void) { LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols; for (; symbol->name; ++symbol) {" $SED 's/.*/ if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms" echo >> "$output_objdir/$my_dlsyms" "\ } }" fi echo >> "$output_objdir/$my_dlsyms" "\ LT_DLSYM_CONST lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[] = { {\"$my_originator\", (void *) 0}," if test -s "$nlist"I; then echo >> "$output_objdir/$my_dlsyms" "\ {\"@INIT@\", (void *) <_syminit}," fi case $need_lib_prefix in no) eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; *) eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; esac echo >> "$output_objdir/$my_dlsyms" "\ {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt_${my_prefix}_LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif\ " } # !$opt_dry_run pic_flag_for_symtable= case "$compile_command " in *" -static "*) ;; *) case $host in # compiling the symbol table file with pic_flag works around # a FreeBSD bug that causes programs to crash when -lm is # linked before any other PIC object. But we must not use # pic_flag when linking with -static. The problem exists in # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; *-*-hpux*) pic_flag_for_symtable=" $pic_flag" ;; *) $my_pic_p && pic_flag_for_symtable=" $pic_flag" ;; esac ;; esac symtab_cflags= for arg in $LTCFLAGS; do case $arg in -pie | -fpie | -fPIE) ;; *) func_append symtab_cflags " $arg" ;; esac done # Now compile the dynamic symbol file. func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' # Clean up the generated files. func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"' # Transform the symbol file into the correct name. symfileobj=$output_objdir/${my_outputname}S.$objext case $host in *cygwin* | *mingw* | *cegcc* ) if test -f "$output_objdir/$my_outputname.def"; then compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` else compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` fi ;; *) compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` ;; esac ;; *) func_fatal_error "unknown suffix for '$my_dlsyms'" ;; esac else # We keep going just in case the user didn't refer to # lt_preloaded_symbols. The linker will fail if global_symbol_pipe # really was required. # Nullify the symbol file. compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` fi } # func_cygming_gnu_implib_p ARG # This predicate returns with zero status (TRUE) if # ARG is a GNU/binutils-style import library. Returns # with nonzero status (FALSE) otherwise. func_cygming_gnu_implib_p () { $debug_cmd func_to_tool_file "$1" func_convert_file_msys_to_w32 func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` test -n "$func_cygming_gnu_implib_tmp" } # func_cygming_ms_implib_p ARG # This predicate returns with zero status (TRUE) if # ARG is an MS-style import library. Returns # with nonzero status (FALSE) otherwise. func_cygming_ms_implib_p () { $debug_cmd func_to_tool_file "$1" func_convert_file_msys_to_w32 func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` test -n "$func_cygming_ms_implib_tmp" } # func_win32_libid arg # return the library type of file 'arg' # # Need a lot of goo to handle *both* DLLs and import libs # Has to be a shell function in order to 'eat' the argument # that is supplied when $file_magic_command is called. # Despite the name, also deal with 64 bit binaries. func_win32_libid () { $debug_cmd win32_libid_type=unknown win32_fileres=`file -L $1 2>/dev/null` case $win32_fileres in *ar\ archive\ import\ library*) # definitely import win32_libid_type="x86 archive import" ;; *ar\ archive*) # could be an import, or static # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then case $nm_interface in "MS dumpbin") if func_cygming_ms_implib_p "$1" || func_cygming_gnu_implib_p "$1" then win32_nmres=import else win32_nmres= fi ;; *) func_to_tool_file "$1" func_convert_file_msys_to_w32 win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | $SED -n -e ' 1,100{ / I /{ s|.*|import| p q } }'` ;; esac case $win32_nmres in import*) win32_libid_type="x86 archive import";; *) win32_libid_type="x86 archive static";; esac fi ;; *DLL*) win32_libid_type="x86 DLL" ;; *executable*) # but shell scripts are "executable" too... case $win32_fileres in *MS\ Windows\ PE\ Intel*) win32_libid_type="x86 DLL" ;; esac ;; esac $ECHO "$win32_libid_type" } # func_cygming_dll_for_implib ARG # # Platform-specific function to extract the # name of the DLL associated with the specified # import library ARG. # Invoked by eval'ing the libtool variable # $sharedlib_from_linklib_cmd # Result is available in the variable # $sharedlib_from_linklib_result func_cygming_dll_for_implib () { $debug_cmd sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` } # func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs # # The is the core of a fallback implementation of a # platform-specific function to extract the name of the # DLL associated with the specified import library LIBNAME. # # SECTION_NAME is either .idata$6 or .idata$7, depending # on the platform and compiler that created the implib. # # Echos the name of the DLL associated with the # specified import library. func_cygming_dll_for_implib_fallback_core () { $debug_cmd match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` $OBJDUMP -s --section "$1" "$2" 2>/dev/null | $SED '/^Contents of section '"$match_literal"':/{ # Place marker at beginning of archive member dllname section s/.*/====MARK====/ p d } # These lines can sometimes be longer than 43 characters, but # are always uninteresting /:[ ]*file format pe[i]\{,1\}-/d /^In archive [^:]*:/d # Ensure marker is printed /^====MARK====/p # Remove all lines with less than 43 characters /^.\{43\}/!d # From remaining lines, remove first 43 characters s/^.\{43\}//' | $SED -n ' # Join marker and all lines until next marker into a single line /^====MARK====/ b para H $ b para b :para x s/\n//g # Remove the marker s/^====MARK====// # Remove trailing dots and whitespace s/[\. \t]*$// # Print /./p' | # we now have a list, one entry per line, of the stringified # contents of the appropriate section of all members of the # archive that possess that section. Heuristic: eliminate # all those that have a first or second character that is # a '.' (that is, objdump's representation of an unprintable # character.) This should work for all archives with less than # 0x302f exports -- but will fail for DLLs whose name actually # begins with a literal '.' or a single character followed by # a '.'. # # Of those that remain, print the first one. $SED -e '/^\./d;/^.\./d;q' } # func_cygming_dll_for_implib_fallback ARG # Platform-specific function to extract the # name of the DLL associated with the specified # import library ARG. # # This fallback implementation is for use when $DLLTOOL # does not support the --identify-strict option. # Invoked by eval'ing the libtool variable # $sharedlib_from_linklib_cmd # Result is available in the variable # $sharedlib_from_linklib_result func_cygming_dll_for_implib_fallback () { $debug_cmd if func_cygming_gnu_implib_p "$1"; then # binutils import library sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` elif func_cygming_ms_implib_p "$1"; then # ms-generated import library sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` else # unknown sharedlib_from_linklib_result= fi } # func_extract_an_archive dir oldlib func_extract_an_archive () { $debug_cmd f_ex_an_ar_dir=$1; shift f_ex_an_ar_oldlib=$1 if test yes = "$lock_old_archive_extraction"; then lockfile=$f_ex_an_ar_oldlib.lock until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do func_echo "Waiting for $lockfile to be removed" sleep 2 done fi func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ 'stat=$?; rm -f "$lockfile"; exit $stat' if test yes = "$lock_old_archive_extraction"; then $opt_dry_run || rm -f "$lockfile" fi if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then : else func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" fi } # func_extract_archives gentop oldlib ... func_extract_archives () { $debug_cmd my_gentop=$1; shift my_oldlibs=${1+"$@"} my_oldobjs= my_xlib= my_xabs= my_xdir= for my_xlib in $my_oldlibs; do # Extract the objects. case $my_xlib in [\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;; *) my_xabs=`pwd`"/$my_xlib" ;; esac func_basename "$my_xlib" my_xlib=$func_basename_result my_xlib_u=$my_xlib while :; do case " $extracted_archives " in *" $my_xlib_u "*) func_arith $extracted_serial + 1 extracted_serial=$func_arith_result my_xlib_u=lt$extracted_serial-$my_xlib ;; *) break ;; esac done extracted_archives="$extracted_archives $my_xlib_u" my_xdir=$my_gentop/$my_xlib_u func_mkdir_p "$my_xdir" case $host in *-darwin*) func_verbose "Extracting $my_xabs" # Do not bother doing anything if just a dry run $opt_dry_run || { darwin_orig_dir=`pwd` cd $my_xdir || exit $? darwin_archive=$my_xabs darwin_curdir=`pwd` func_basename "$darwin_archive" darwin_base_archive=$func_basename_result darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` if test -n "$darwin_arches"; then darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` darwin_arch= func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" for darwin_arch in $darwin_arches; do func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch" $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive" cd "unfat-$$/$darwin_base_archive-$darwin_arch" func_extract_an_archive "`pwd`" "$darwin_base_archive" cd "$darwin_curdir" $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" done # $darwin_arches ## Okay now we've a bunch of thin objects, gotta fatten them up :) darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u` darwin_file= darwin_files= for darwin_file in $darwin_filelist; do darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` $LIPO -create -output "$darwin_file" $darwin_files done # $darwin_filelist $RM -rf unfat-$$ cd "$darwin_orig_dir" else cd $darwin_orig_dir func_extract_an_archive "$my_xdir" "$my_xabs" fi # $darwin_arches } # !$opt_dry_run ;; *) func_extract_an_archive "$my_xdir" "$my_xabs" ;; esac my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` done func_extract_archives_result=$my_oldobjs } # func_emit_wrapper [arg=no] # # Emit a libtool wrapper script on stdout. # Don't directly open a file because we may want to # incorporate the script contents within a cygwin/mingw # wrapper executable. Must ONLY be called from within # func_mode_link because it depends on a number of variables # set therein. # # ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR # variable will take. If 'yes', then the emitted script # will assume that the directory where it is stored is # the $objdir directory. This is a cygwin/mingw-specific # behavior. func_emit_wrapper () { func_emit_wrapper_arg1=${1-no} $ECHO "\ #! $SHELL # $output - temporary wrapper script for $objdir/$outputname # Generated by $PROGRAM (GNU $PACKAGE) $VERSION # # The $output program cannot be directly executed until all the libtool # libraries that it depends on are installed. # # This wrapper script should never be moved out of the build directory. # If it is, it will not operate correctly. # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. sed_quote_subst='$sed_quote_subst' # Be Bourne compatible if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH relink_command=\"$relink_command\" # This environment variable determines our operation mode. if test \"\$libtool_install_magic\" = \"$magic\"; then # install mode needs the following variables: generated_by_libtool_version='$macro_version' notinst_deplibs='$notinst_deplibs' else # When we are sourced in execute mode, \$file and \$ECHO are already set. if test \"\$libtool_execute_magic\" != \"$magic\"; then file=\"\$0\"" func_quote_arg pretty "$ECHO" qECHO=$func_quote_arg_result $ECHO "\ # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$1 _LTECHO_EOF' } ECHO=$qECHO fi # Very basic option parsing. These options are (a) specific to # the libtool wrapper, (b) are identical between the wrapper # /script/ and the wrapper /executable/ that is used only on # windows platforms, and (c) all begin with the string "--lt-" # (application programs are unlikely to have options that match # this pattern). # # There are only two supported options: --lt-debug and # --lt-dump-script. There is, deliberately, no --lt-help. # # The first argument to this parsing function should be the # script's $0 value, followed by "$@". lt_option_debug= func_parse_lt_options () { lt_script_arg0=\$0 shift for lt_opt do case \"\$lt_opt\" in --lt-debug) lt_option_debug=1 ;; --lt-dump-script) lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` cat \"\$lt_dump_D/\$lt_dump_F\" exit 0 ;; --lt-*) \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 exit 1 ;; esac done # Print the debug banner immediately: if test -n \"\$lt_option_debug\"; then echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2 fi } # Used when --lt-debug. Prints its arguments to stdout # (redirection is the responsibility of the caller) func_lt_dump_args () { lt_dump_args_N=1; for lt_arg do \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\" lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` done } # Core function for launching the target application func_exec_program_core () { " case $host in # Backslashes separate directories on plain windows *-*-mingw | *-*-os2* | *-cegcc*) $ECHO "\ if test -n \"\$lt_option_debug\"; then \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2 func_lt_dump_args \${1+\"\$@\"} 1>&2 fi exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} " ;; *) $ECHO "\ if test -n \"\$lt_option_debug\"; then \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2 func_lt_dump_args \${1+\"\$@\"} 1>&2 fi exec \"\$progdir/\$program\" \${1+\"\$@\"} " ;; esac $ECHO "\ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 exit 1 } # A function to encapsulate launching the target application # Strips options in the --lt-* namespace from \$@ and # launches target application with the remaining arguments. func_exec_program () { case \" \$* \" in *\\ --lt-*) for lt_wr_arg do case \$lt_wr_arg in --lt-*) ;; *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; esac shift done ;; esac func_exec_program_core \${1+\"\$@\"} } # Parse options func_parse_lt_options \"\$0\" \${1+\"\$@\"} # Find the directory that this script lives in. thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` test \"x\$thisdir\" = \"x\$file\" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` while test -n \"\$file\"; do destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` # If there was a directory component, then change thisdir. if test \"x\$destdir\" != \"x\$file\"; then case \"\$destdir\" in [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; *) thisdir=\"\$thisdir/\$destdir\" ;; esac fi file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` done # Usually 'no', except on cygwin/mingw when embedded into # the cwrapper. WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then # special case for '.' if test \"\$thisdir\" = \".\"; then thisdir=\`pwd\` fi # remove .libs from thisdir case \"\$thisdir\" in *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; $objdir ) thisdir=. ;; esac fi # Try to get the absolute directory name. absdir=\`cd \"\$thisdir\" && pwd\` test -n \"\$absdir\" && thisdir=\"\$absdir\" " if test yes = "$fast_install"; then $ECHO "\ program=lt-'$outputname'$exeext progdir=\"\$thisdir/$objdir\" if test ! -f \"\$progdir/\$program\" || { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\ test \"X\$file\" != \"X\$progdir/\$program\"; }; then file=\"\$\$-\$program\" if test ! -d \"\$progdir\"; then $MKDIR \"\$progdir\" else $RM \"\$progdir/\$file\" fi" $ECHO "\ # relink executable if necessary if test -n \"\$relink_command\"; then if relink_command_output=\`eval \$relink_command 2>&1\`; then : else \$ECHO \"\$relink_command_output\" >&2 $RM \"\$progdir/\$file\" exit 1 fi fi $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || { $RM \"\$progdir/\$program\"; $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } $RM \"\$progdir/\$file\" fi" else $ECHO "\ program='$outputname' progdir=\"\$thisdir/$objdir\" " fi $ECHO "\ if test -f \"\$progdir/\$program\"; then" # fixup the dll searchpath if we need to. # # Fix the DLL searchpath if we need to. Do this before prepending # to shlibpath, because on Windows, both are PATH and uninstalled # libraries must come first. if test -n "$dllsearchpath"; then $ECHO "\ # Add the dll search path components to the executable PATH PATH=$dllsearchpath:\$PATH " fi # Export our shlibpath_var if we have one. if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then $ECHO "\ # Add our own library path to $shlibpath_var $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" # Some systems cannot cope with colon-terminated $shlibpath_var # The second colon is a workaround for a bug in BeOS R4 sed $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` export $shlibpath_var " fi $ECHO "\ if test \"\$libtool_execute_magic\" != \"$magic\"; then # Run the actual program with our arguments. func_exec_program \${1+\"\$@\"} fi else # The program doesn't exist. \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2 \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 exit 1 fi fi\ " } # func_emit_cwrapperexe_src # emit the source code for a wrapper executable on stdout # Must ONLY be called from within func_mode_link because # it depends on a number of variable set therein. func_emit_cwrapperexe_src () { cat < #include #ifdef _MSC_VER # include # include # include #else # include # include # ifdef __CYGWIN__ # include # endif #endif #include #include #include #include #include #include #include #include #define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) /* declarations of non-ANSI functions */ #if defined __MINGW32__ # ifdef __STRICT_ANSI__ int _putenv (const char *); # endif #elif defined __CYGWIN__ # ifdef __STRICT_ANSI__ char *realpath (const char *, char *); int putenv (char *); int setenv (const char *, const char *, int); # endif /* #elif defined other_platform || defined ... */ #endif /* portability defines, excluding path handling macros */ #if defined _MSC_VER # define setmode _setmode # define stat _stat # define chmod _chmod # define getcwd _getcwd # define putenv _putenv # define S_IXUSR _S_IEXEC #elif defined __MINGW32__ # define setmode _setmode # define stat _stat # define chmod _chmod # define getcwd _getcwd # define putenv _putenv #elif defined __CYGWIN__ # define HAVE_SETENV # define FOPEN_WB "wb" /* #elif defined other platforms ... */ #endif #if defined PATH_MAX # define LT_PATHMAX PATH_MAX #elif defined MAXPATHLEN # define LT_PATHMAX MAXPATHLEN #else # define LT_PATHMAX 1024 #endif #ifndef S_IXOTH # define S_IXOTH 0 #endif #ifndef S_IXGRP # define S_IXGRP 0 #endif /* path handling portability macros */ #ifndef DIR_SEPARATOR # define DIR_SEPARATOR '/' # define PATH_SEPARATOR ':' #endif #if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \ defined __OS2__ # define HAVE_DOS_BASED_FILE_SYSTEM # define FOPEN_WB "wb" # ifndef DIR_SEPARATOR_2 # define DIR_SEPARATOR_2 '\\' # endif # ifndef PATH_SEPARATOR_2 # define PATH_SEPARATOR_2 ';' # endif #endif #ifndef DIR_SEPARATOR_2 # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) #else /* DIR_SEPARATOR_2 */ # define IS_DIR_SEPARATOR(ch) \ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) #endif /* DIR_SEPARATOR_2 */ #ifndef PATH_SEPARATOR_2 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) #else /* PATH_SEPARATOR_2 */ # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) #endif /* PATH_SEPARATOR_2 */ #ifndef FOPEN_WB # define FOPEN_WB "w" #endif #ifndef _O_BINARY # define _O_BINARY 0 #endif #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) #define XFREE(stale) do { \ if (stale) { free (stale); stale = 0; } \ } while (0) #if defined LT_DEBUGWRAPPER static int lt_debug = 1; #else static int lt_debug = 0; #endif const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ void *xmalloc (size_t num); char *xstrdup (const char *string); const char *base_name (const char *name); char *find_executable (const char *wrapper); char *chase_symlinks (const char *pathspec); int make_executable (const char *path); int check_executable (const char *path); char *strendzap (char *str, const char *pat); void lt_debugprintf (const char *file, int line, const char *fmt, ...); void lt_fatal (const char *file, int line, const char *message, ...); static const char *nonnull (const char *s); static const char *nonempty (const char *s); void lt_setenv (const char *name, const char *value); char *lt_extend_str (const char *orig_value, const char *add, int to_end); void lt_update_exe_path (const char *name, const char *value); void lt_update_lib_path (const char *name, const char *value); char **prepare_spawn (char **argv); void lt_dump_script (FILE *f); EOF cat <= 0) && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) return 1; else return 0; } int make_executable (const char *path) { int rval = 0; struct stat st; lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", nonempty (path)); if ((!path) || (!*path)) return 0; if (stat (path, &st) >= 0) { rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); } return rval; } /* Searches for the full path of the wrapper. Returns newly allocated full path name if found, NULL otherwise Does not chase symlinks, even on platforms that support them. */ char * find_executable (const char *wrapper) { int has_slash = 0; const char *p; const char *p_next; /* static buffer for getcwd */ char tmp[LT_PATHMAX + 1]; size_t tmp_len; char *concat_name; lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", nonempty (wrapper)); if ((wrapper == NULL) || (*wrapper == '\0')) return NULL; /* Absolute path? */ #if defined HAVE_DOS_BASED_FILE_SYSTEM if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') { concat_name = xstrdup (wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } else { #endif if (IS_DIR_SEPARATOR (wrapper[0])) { concat_name = xstrdup (wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } #if defined HAVE_DOS_BASED_FILE_SYSTEM } #endif for (p = wrapper; *p; p++) if (*p == '/') { has_slash = 1; break; } if (!has_slash) { /* no slashes; search PATH */ const char *path = getenv ("PATH"); if (path != NULL) { for (p = path; *p; p = p_next) { const char *q; size_t p_len; for (q = p; *q; q++) if (IS_PATH_SEPARATOR (*q)) break; p_len = (size_t) (q - p); p_next = (*q == '\0' ? q : q + 1); if (p_len == 0) { /* empty path: current directory */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", nonnull (strerror (errno))); tmp_len = strlen (tmp); concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); } else { concat_name = XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, p, p_len); concat_name[p_len] = '/'; strcpy (concat_name + p_len + 1, wrapper); } if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } } /* not found in PATH; assume curdir */ } /* Relative path | not found in path: prepend cwd */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", nonnull (strerror (errno))); tmp_len = strlen (tmp); concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); return NULL; } char * chase_symlinks (const char *pathspec) { #ifndef S_ISLNK return xstrdup (pathspec); #else char buf[LT_PATHMAX]; struct stat s; char *tmp_pathspec = xstrdup (pathspec); char *p; int has_symlinks = 0; while (strlen (tmp_pathspec) && !has_symlinks) { lt_debugprintf (__FILE__, __LINE__, "checking path component for symlinks: %s\n", tmp_pathspec); if (lstat (tmp_pathspec, &s) == 0) { if (S_ISLNK (s.st_mode) != 0) { has_symlinks = 1; break; } /* search backwards for last DIR_SEPARATOR */ p = tmp_pathspec + strlen (tmp_pathspec) - 1; while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) p--; if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) { /* no more DIR_SEPARATORS left */ break; } *p = '\0'; } else { lt_fatal (__FILE__, __LINE__, "error accessing file \"%s\": %s", tmp_pathspec, nonnull (strerror (errno))); } } XFREE (tmp_pathspec); if (!has_symlinks) { return xstrdup (pathspec); } tmp_pathspec = realpath (pathspec, buf); if (tmp_pathspec == 0) { lt_fatal (__FILE__, __LINE__, "could not follow symlinks for %s", pathspec); } return xstrdup (tmp_pathspec); #endif } char * strendzap (char *str, const char *pat) { size_t len, patlen; assert (str != NULL); assert (pat != NULL); len = strlen (str); patlen = strlen (pat); if (patlen <= len) { str += len - patlen; if (STREQ (str, pat)) *str = '\0'; } return str; } void lt_debugprintf (const char *file, int line, const char *fmt, ...) { va_list args; if (lt_debug) { (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); va_start (args, fmt); (void) vfprintf (stderr, fmt, args); va_end (args); } } static void lt_error_core (int exit_status, const char *file, int line, const char *mode, const char *message, va_list ap) { fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); vfprintf (stderr, message, ap); fprintf (stderr, ".\n"); if (exit_status >= 0) exit (exit_status); } void lt_fatal (const char *file, int line, const char *message, ...) { va_list ap; va_start (ap, message); lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); va_end (ap); } static const char * nonnull (const char *s) { return s ? s : "(null)"; } static const char * nonempty (const char *s) { return (s && !*s) ? "(empty)" : nonnull (s); } void lt_setenv (const char *name, const char *value) { lt_debugprintf (__FILE__, __LINE__, "(lt_setenv) setting '%s' to '%s'\n", nonnull (name), nonnull (value)); { #ifdef HAVE_SETENV /* always make a copy, for consistency with !HAVE_SETENV */ char *str = xstrdup (value); setenv (name, str, 1); #else size_t len = strlen (name) + 1 + strlen (value) + 1; char *str = XMALLOC (char, len); sprintf (str, "%s=%s", name, value); if (putenv (str) != EXIT_SUCCESS) { XFREE (str); } #endif } } char * lt_extend_str (const char *orig_value, const char *add, int to_end) { char *new_value; if (orig_value && *orig_value) { size_t orig_value_len = strlen (orig_value); size_t add_len = strlen (add); new_value = XMALLOC (char, add_len + orig_value_len + 1); if (to_end) { strcpy (new_value, orig_value); strcpy (new_value + orig_value_len, add); } else { strcpy (new_value, add); strcpy (new_value + add_len, orig_value); } } else { new_value = xstrdup (add); } return new_value; } void lt_update_exe_path (const char *name, const char *value) { lt_debugprintf (__FILE__, __LINE__, "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", nonnull (name), nonnull (value)); if (name && *name && value && *value) { char *new_value = lt_extend_str (getenv (name), value, 0); /* some systems can't cope with a ':'-terminated path #' */ size_t len = strlen (new_value); while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1])) { new_value[--len] = '\0'; } lt_setenv (name, new_value); XFREE (new_value); } } void lt_update_lib_path (const char *name, const char *value) { lt_debugprintf (__FILE__, __LINE__, "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", nonnull (name), nonnull (value)); if (name && *name && value && *value) { char *new_value = lt_extend_str (getenv (name), value, 0); lt_setenv (name, new_value); XFREE (new_value); } } EOF case $host_os in mingw*) cat <<"EOF" /* Prepares an argument vector before calling spawn(). Note that spawn() does not by itself call the command interpreter (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); GetVersionEx(&v); v.dwPlatformId == VER_PLATFORM_WIN32_NT; }) ? "cmd.exe" : "command.com"). Instead it simply concatenates the arguments, separated by ' ', and calls CreateProcess(). We must quote the arguments since Win32 CreateProcess() interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a special way: - Space and tab are interpreted as delimiters. They are not treated as delimiters if they are surrounded by double quotes: "...". - Unescaped double quotes are removed from the input. Their only effect is that within double quotes, space and tab are treated like normal characters. - Backslashes not followed by double quotes are not special. - But 2*n+1 backslashes followed by a double quote become n backslashes followed by a double quote (n >= 0): \" -> " \\\" -> \" \\\\\" -> \\" */ #define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" #define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" char ** prepare_spawn (char **argv) { size_t argc; char **new_argv; size_t i; /* Count number of arguments. */ for (argc = 0; argv[argc] != NULL; argc++) ; /* Allocate new argument vector. */ new_argv = XMALLOC (char *, argc + 1); /* Put quoted arguments into the new argument vector. */ for (i = 0; i < argc; i++) { const char *string = argv[i]; if (string[0] == '\0') new_argv[i] = xstrdup ("\"\""); else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) { int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); size_t length; unsigned int backslashes; const char *s; char *quoted_string; char *p; length = 0; backslashes = 0; if (quote_around) length++; for (s = string; *s != '\0'; s++) { char c = *s; if (c == '"') length += backslashes + 1; length++; if (c == '\\') backslashes++; else backslashes = 0; } if (quote_around) length += backslashes + 1; quoted_string = XMALLOC (char, length + 1); p = quoted_string; backslashes = 0; if (quote_around) *p++ = '"'; for (s = string; *s != '\0'; s++) { char c = *s; if (c == '"') { unsigned int j; for (j = backslashes + 1; j > 0; j--) *p++ = '\\'; } *p++ = c; if (c == '\\') backslashes++; else backslashes = 0; } if (quote_around) { unsigned int j; for (j = backslashes; j > 0; j--) *p++ = '\\'; *p++ = '"'; } *p = '\0'; new_argv[i] = quoted_string; } else new_argv[i] = (char *) string; } new_argv[argc] = NULL; return new_argv; } EOF ;; esac cat <<"EOF" void lt_dump_script (FILE* f) { EOF func_emit_wrapper yes | $SED -n -e ' s/^\(.\{79\}\)\(..*\)/\1\ \2/ h s/\([\\"]\)/\\\1/g s/$/\\n/ s/\([^\n]*\).*/ fputs ("\1", f);/p g D' cat <<"EOF" } EOF } # end: func_emit_cwrapperexe_src # func_win32_import_lib_p ARG # True if ARG is an import lib, as indicated by $file_magic_cmd func_win32_import_lib_p () { $debug_cmd case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in *import*) : ;; *) false ;; esac } # func_suncc_cstd_abi # !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!! # Several compiler flags select an ABI that is incompatible with the # Cstd library. Avoid specifying it if any are in CXXFLAGS. func_suncc_cstd_abi () { $debug_cmd case " $compile_command " in *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*) suncc_use_cstd_abi=no ;; *) suncc_use_cstd_abi=yes ;; esac } # func_mode_link arg... func_mode_link () { $debug_cmd case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) # It is impossible to link a dll without this setting, and # we shouldn't force the makefile maintainer to figure out # what system we are compiling for in order to pass an extra # flag for every libtool invocation. # allow_undefined=no # FIXME: Unfortunately, there are problems with the above when trying # to make a dll that has undefined symbols, in which case not # even a static library is built. For now, we need to specify # -no-undefined on the libtool link line when we can be certain # that all symbols are satisfied, otherwise we get a static library. allow_undefined=yes ;; *) allow_undefined=yes ;; esac libtool_args=$nonopt base_compile="$nonopt $@" compile_command=$nonopt finalize_command=$nonopt compile_rpath= finalize_rpath= compile_shlibpath= finalize_shlibpath= convenience= old_convenience= deplibs= old_deplibs= compiler_flags= linker_flags= dllsearchpath= lib_search_path=`pwd` inst_prefix_dir= new_inherited_linker_flags= avoid_version=no bindir= dlfiles= dlprefiles= dlself=no export_dynamic=no export_symbols= export_symbols_regex= generated= libobjs= ltlibs= module=no no_install=no objs= os2dllname= non_pic_objects= precious_files_regex= prefer_static_libs=no preload=false prev= prevarg= release= rpath= xrpath= perm_rpath= temp_rpath= thread_safe=no vinfo= vinfo_number=no weak_libs= single_module=$wl-single_module func_infer_tag $base_compile # We need to know -static, to get the right output filenames. for arg do case $arg in -shared) test yes != "$build_libtool_libs" \ && func_fatal_configuration "cannot build a shared library" build_old_libs=no break ;; -all-static | -static | -static-libtool-libs) case $arg in -all-static) if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then func_warning "complete static linking is impossible in this configuration" fi if test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; -static) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=built ;; -static-libtool-libs) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; esac build_libtool_libs=no build_old_libs=yes break ;; esac done # See if our shared archives depend on static archives. test -n "$old_archive_from_new_cmds" && build_old_libs=yes # Go through the arguments, transforming them on the way. while test "$#" -gt 0; do arg=$1 shift func_quote_arg pretty,unquoted "$arg" qarg=$func_quote_arg_unquoted_result func_append libtool_args " $func_quote_arg_result" # If the previous option needs an argument, assign it. if test -n "$prev"; then case $prev in output) func_append compile_command " @OUTPUT@" func_append finalize_command " @OUTPUT@" ;; esac case $prev in bindir) bindir=$arg prev= continue ;; dlfiles|dlprefiles) $preload || { # Add the symbol object into the linking commands. func_append compile_command " @SYMFILE@" func_append finalize_command " @SYMFILE@" preload=: } case $arg in *.la | *.lo) ;; # We handle these cases below. force) if test no = "$dlself"; then dlself=needless export_dynamic=yes fi prev= continue ;; self) if test dlprefiles = "$prev"; then dlself=yes elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then dlself=yes else dlself=needless export_dynamic=yes fi prev= continue ;; *) if test dlfiles = "$prev"; then func_append dlfiles " $arg" else func_append dlprefiles " $arg" fi prev= continue ;; esac ;; expsyms) export_symbols=$arg test -f "$arg" \ || func_fatal_error "symbol file '$arg' does not exist" prev= continue ;; expsyms_regex) export_symbols_regex=$arg prev= continue ;; framework) case $host in *-*-darwin*) case "$deplibs " in *" $qarg.ltframework "*) ;; *) func_append deplibs " $qarg.ltframework" # this is fixed later ;; esac ;; esac prev= continue ;; inst_prefix) inst_prefix_dir=$arg prev= continue ;; mllvm) # Clang does not use LLVM to link, so we can simply discard any # '-mllvm $arg' options when doing the link step. prev= continue ;; objectlist) if test -f "$arg"; then save_arg=$arg moreargs= for fil in `cat "$save_arg"` do # func_append moreargs " $fil" arg=$fil # A libtool-controlled object. # Check to see that this really is a libtool object. if func_lalib_unsafe_p "$arg"; then pic_object= non_pic_object= # Read the .lo file func_source "$arg" if test -z "$pic_object" || test -z "$non_pic_object" || test none = "$pic_object" && test none = "$non_pic_object"; then func_fatal_error "cannot find name of object for '$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir=$func_dirname_result if test none != "$pic_object"; then # Prepend the subdirectory the object is found in. pic_object=$xdir$pic_object if test dlfiles = "$prev"; then if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then func_append dlfiles " $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test dlprefiles = "$prev"; then # Preload the old-style object. func_append dlprefiles " $pic_object" prev= fi # A PIC object. func_append libobjs " $pic_object" arg=$pic_object fi # Non-PIC object. if test none != "$non_pic_object"; then # Prepend the subdirectory the object is found in. non_pic_object=$xdir$non_pic_object # A standard non-PIC object func_append non_pic_objects " $non_pic_object" if test -z "$pic_object" || test none = "$pic_object"; then arg=$non_pic_object fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object=$pic_object func_append non_pic_objects " $non_pic_object" fi else # Only an error if not doing a dry-run. if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir=$func_dirname_result func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result non_pic_object=$xdir$func_lo2o_result func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else func_fatal_error "'$arg' is not a valid libtool object" fi fi done else func_fatal_error "link input file '$arg' does not exist" fi arg=$save_arg prev= continue ;; os2dllname) os2dllname=$arg prev= continue ;; precious_regex) precious_files_regex=$arg prev= continue ;; release) release=-$arg prev= continue ;; rpath | xrpath) # We need an absolute path. case $arg in [\\/]* | [A-Za-z]:[\\/]*) ;; *) func_fatal_error "only absolute run-paths are allowed" ;; esac if test rpath = "$prev"; then case "$rpath " in *" $arg "*) ;; *) func_append rpath " $arg" ;; esac else case "$xrpath " in *" $arg "*) ;; *) func_append xrpath " $arg" ;; esac fi prev= continue ;; shrext) shrext_cmds=$arg prev= continue ;; weak) func_append weak_libs " $arg" prev= continue ;; xassembler) func_append compiler_flags " -Xassembler $qarg" prev= func_append compile_command " -Xassembler $qarg" func_append finalize_command " -Xassembler $qarg" continue ;; xcclinker) func_append linker_flags " $qarg" func_append compiler_flags " $qarg" prev= func_append compile_command " $qarg" func_append finalize_command " $qarg" continue ;; xcompiler) func_append compiler_flags " $qarg" prev= func_append compile_command " $qarg" func_append finalize_command " $qarg" continue ;; xlinker) func_append linker_flags " $qarg" func_append compiler_flags " $wl$qarg" prev= func_append compile_command " $wl$qarg" func_append finalize_command " $wl$qarg" continue ;; *) eval "$prev=\"\$arg\"" prev= continue ;; esac fi # test -n "$prev" prevarg=$arg case $arg in -all-static) if test -n "$link_static_flag"; then # See comment for -static flag below, for more details. func_append compile_command " $link_static_flag" func_append finalize_command " $link_static_flag" fi continue ;; -allow-undefined) # FIXME: remove this flag sometime in the future. func_fatal_error "'-allow-undefined' must not be used because it is the default" ;; -avoid-version) avoid_version=yes continue ;; -bindir) prev=bindir continue ;; -dlopen) prev=dlfiles continue ;; -dlpreopen) prev=dlprefiles continue ;; -export-dynamic) export_dynamic=yes continue ;; -export-symbols | -export-symbols-regex) if test -n "$export_symbols" || test -n "$export_symbols_regex"; then func_fatal_error "more than one -exported-symbols argument is not allowed" fi if test X-export-symbols = "X$arg"; then prev=expsyms else prev=expsyms_regex fi continue ;; -framework) prev=framework continue ;; -inst-prefix-dir) prev=inst_prefix continue ;; # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* # so, if we see these flags be careful not to treat them like -L -L[A-Z][A-Z]*:*) case $with_gcc/$host in no/*-*-irix* | /*-*-irix*) func_append compile_command " $arg" func_append finalize_command " $arg" ;; esac continue ;; -L*) func_stripname "-L" '' "$arg" if test -z "$func_stripname_result"; then if test "$#" -gt 0; then func_fatal_error "require no space between '-L' and '$1'" else func_fatal_error "need path for '-L' option" fi fi func_resolve_sysroot "$func_stripname_result" dir=$func_resolve_sysroot_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) absdir=`cd "$dir" && pwd` test -z "$absdir" && \ func_fatal_error "cannot determine absolute directory name of '$dir'" dir=$absdir ;; esac case "$deplibs " in *" -L$dir "* | *" $arg "*) # Will only happen for absolute or sysroot arguments ;; *) # Preserve sysroot, but never include relative directories case $dir in [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; *) func_append deplibs " -L$dir" ;; esac func_append lib_search_path " $dir" ;; esac case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` case :$dllsearchpath: in *":$dir:"*) ;; ::) dllsearchpath=$dir;; *) func_append dllsearchpath ":$dir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; ::) dllsearchpath=$testbindir;; *) func_append dllsearchpath ":$testbindir";; esac ;; esac continue ;; -l*) if test X-lc = "X$arg" || test X-lm = "X$arg"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) # These systems don't actually have a C or math library (as such) continue ;; *-*-os2*) # These systems don't actually have a C library (as such) test X-lc = "X$arg" && continue ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) # Do not include libc due to us having libc/libc_r. test X-lc = "X$arg" && continue ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C and math libraries are in the System framework func_append deplibs " System.ltframework" continue ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype test X-lc = "X$arg" && continue ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work test X-lc = "X$arg" && continue ;; esac elif test X-lc_r = "X$arg"; then case $host in *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) # Do not include libc_r directly, use -pthread flag. continue ;; esac fi func_append deplibs " $arg" continue ;; -mllvm) prev=mllvm continue ;; -module) module=yes continue ;; # Tru64 UNIX uses -model [arg] to determine the layout of C++ # classes, name mangling, and exception handling. # Darwin uses the -arch flag to determine output architecture. -model|-arch|-isysroot|--sysroot) func_append compiler_flags " $arg" func_append compile_command " $arg" func_append finalize_command " $arg" prev=xcompiler continue ;; # Solaris ld rejects as of 11.4. Refer to Oracle bug 22985199. -pthread) case $host in *solaris2*) ;; *) case "$new_inherited_linker_flags " in *" $arg "*) ;; * ) func_append new_inherited_linker_flags " $arg" ;; esac ;; esac continue ;; -mt|-mthreads|-kthread|-Kthread|-pthreads|--thread-safe \ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) func_append compiler_flags " $arg" func_append compile_command " $arg" func_append finalize_command " $arg" case "$new_inherited_linker_flags " in *" $arg "*) ;; * ) func_append new_inherited_linker_flags " $arg" ;; esac continue ;; -multi_module) single_module=$wl-multi_module continue ;; -no-fast-install) fast_install=no continue ;; -no-install) case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) # The PATH hackery in wrapper scripts is required on Windows # and Darwin in order for the loader to find any dlls it needs. func_warning "'-no-install' is ignored for $host" func_warning "assuming '-no-fast-install' instead" fast_install=no ;; *) no_install=yes ;; esac continue ;; -no-undefined) allow_undefined=no continue ;; -objectlist) prev=objectlist continue ;; -os2dllname) prev=os2dllname continue ;; -o) prev=output ;; -precious-files-regex) prev=precious_regex continue ;; -release) prev=release continue ;; -rpath) prev=rpath continue ;; -R) prev=xrpath continue ;; -R*) func_stripname '-R' '' "$arg" dir=$func_stripname_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; =*) func_stripname '=' '' "$dir" dir=$lt_sysroot$func_stripname_result ;; *) func_fatal_error "only absolute run-paths are allowed" ;; esac case "$xrpath " in *" $dir "*) ;; *) func_append xrpath " $dir" ;; esac continue ;; -shared) # The effects of -shared are defined in a previous loop. continue ;; -shrext) prev=shrext continue ;; -static | -static-libtool-libs) # The effects of -static are defined in a previous loop. # We used to do the same as -all-static on platforms that # didn't have a PIC flag, but the assumption that the effects # would be equivalent was wrong. It would break on at least # Digital Unix and AIX. continue ;; -thread-safe) thread_safe=yes continue ;; -version-info) prev=vinfo continue ;; -version-number) prev=vinfo vinfo_number=yes continue ;; -weak) prev=weak continue ;; -Wc,*) func_stripname '-Wc,' '' "$arg" args=$func_stripname_result arg= save_ifs=$IFS; IFS=, for flag in $args; do IFS=$save_ifs func_quote_arg pretty "$flag" func_append arg " $func_quote_arg_result" func_append compiler_flags " $func_quote_arg_result" done IFS=$save_ifs func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; -Wl,*) func_stripname '-Wl,' '' "$arg" args=$func_stripname_result arg= save_ifs=$IFS; IFS=, for flag in $args; do IFS=$save_ifs func_quote_arg pretty "$flag" func_append arg " $wl$func_quote_arg_result" func_append compiler_flags " $wl$func_quote_arg_result" func_append linker_flags " $func_quote_arg_result" done IFS=$save_ifs func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; -Xassembler) prev=xassembler continue ;; -Xcompiler) prev=xcompiler continue ;; -Xlinker) prev=xlinker continue ;; -XCClinker) prev=xcclinker continue ;; # -msg_* for osf cc -msg_*) func_quote_arg pretty "$arg" arg=$func_quote_arg_result ;; # Flags to be passed through unchanged, with rationale: # -64, -mips[0-9] enable 64-bit mode for the SGI compiler # -r[0-9][0-9]* specify processor for the SGI compiler # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler # +DA*, +DD* enable 64-bit mode for the HP compiler # -q* compiler args for the IBM compiler # -m*, -t[45]*, -txscale* architecture-specific flags for GCC # -F/path path to uninstalled frameworks, gcc on darwin # -p, -pg, --coverage, -fprofile-* profiling flags for GCC # -fstack-protector* stack protector flags for GCC # @file GCC response files # -tp=* Portland pgcc target processor selection # --sysroot=* for sysroot support # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization # -specs=* GCC specs files # -stdlib=* select c++ std lib with clang # -fsanitize=* Clang/GCC memory and address sanitizer # -fuse-ld=* Linker select flags for GCC # -Wa,* Pass flags directly to the assembler -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ -specs=*|-fsanitize=*|-fuse-ld=*|-Wa,*) func_quote_arg pretty "$arg" arg=$func_quote_arg_result func_append compile_command " $arg" func_append finalize_command " $arg" func_append compiler_flags " $arg" continue ;; -Z*) if test os2 = "`expr $host : '.*\(os2\)'`"; then # OS/2 uses -Zxxx to specify OS/2-specific options compiler_flags="$compiler_flags $arg" func_append compile_command " $arg" func_append finalize_command " $arg" case $arg in -Zlinker | -Zstack) prev=xcompiler ;; esac continue else # Otherwise treat like 'Some other compiler flag' below func_quote_arg pretty "$arg" arg=$func_quote_arg_result fi ;; # Some other compiler flag. -* | +*) func_quote_arg pretty "$arg" arg=$func_quote_arg_result ;; *.$objext) # A standard object. func_append objs " $arg" ;; *.lo) # A libtool-controlled object. # Check to see that this really is a libtool object. if func_lalib_unsafe_p "$arg"; then pic_object= non_pic_object= # Read the .lo file func_source "$arg" if test -z "$pic_object" || test -z "$non_pic_object" || test none = "$pic_object" && test none = "$non_pic_object"; then func_fatal_error "cannot find name of object for '$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir=$func_dirname_result test none = "$pic_object" || { # Prepend the subdirectory the object is found in. pic_object=$xdir$pic_object if test dlfiles = "$prev"; then if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then func_append dlfiles " $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test dlprefiles = "$prev"; then # Preload the old-style object. func_append dlprefiles " $pic_object" prev= fi # A PIC object. func_append libobjs " $pic_object" arg=$pic_object } # Non-PIC object. if test none != "$non_pic_object"; then # Prepend the subdirectory the object is found in. non_pic_object=$xdir$non_pic_object # A standard non-PIC object func_append non_pic_objects " $non_pic_object" if test -z "$pic_object" || test none = "$pic_object"; then arg=$non_pic_object fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object=$pic_object func_append non_pic_objects " $non_pic_object" fi else # Only an error if not doing a dry-run. if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir=$func_dirname_result func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result non_pic_object=$xdir$func_lo2o_result func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else func_fatal_error "'$arg' is not a valid libtool object" fi fi ;; *.$libext) # An archive. func_append deplibs " $arg" func_append old_deplibs " $arg" continue ;; *.la) # A libtool-controlled library. func_resolve_sysroot "$arg" if test dlfiles = "$prev"; then # This library was specified with -dlopen. func_append dlfiles " $func_resolve_sysroot_result" prev= elif test dlprefiles = "$prev"; then # The library was specified with -dlpreopen. func_append dlprefiles " $func_resolve_sysroot_result" prev= else func_append deplibs " $func_resolve_sysroot_result" fi continue ;; # Some other compiler argument. *) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. func_quote_arg pretty "$arg" arg=$func_quote_arg_result ;; esac # arg # Now actually substitute the argument into the commands. if test -n "$arg"; then func_append compile_command " $arg" func_append finalize_command " $arg" fi done # argument parsing loop test -n "$prev" && \ func_fatal_help "the '$prevarg' option requires an argument" if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then eval arg=\"$export_dynamic_flag_spec\" func_append compile_command " $arg" func_append finalize_command " $arg" fi oldlibs= # calculate the name of the file, without its directory func_basename "$output" outputname=$func_basename_result libobjs_save=$libobjs if test -n "$shlibpath_var"; then # get the directories listed in $shlibpath_var eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\` else shlib_search_path= fi eval sys_lib_search_path=\"$sys_lib_search_path_spec\" eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" # Definition is injected by LT_CONFIG during libtool generation. func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH" func_dirname "$output" "/" "" output_objdir=$func_dirname_result$objdir func_to_tool_file "$output_objdir/" tool_output_objdir=$func_to_tool_file_result # Create the object directory. func_mkdir_p "$output_objdir" # Determine the type of output case $output in "") func_fatal_help "you must specify an output file" ;; *.$libext) linkmode=oldlib ;; *.lo | *.$objext) linkmode=obj ;; *.la) linkmode=lib ;; *) linkmode=prog ;; # Anything else should be a program. esac specialdeplibs= libs= # Find all interdependent deplibs by searching for libraries # that are linked more than once (e.g. -la -lb -la) for deplib in $deplibs; do if $opt_preserve_dup_deps; then case "$libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append libs " $deplib" done if test lib = "$linkmode"; then libs="$predeps $libs $compiler_lib_search_path $postdeps" # Compute libraries that are listed more than once in $predeps # $postdeps and mark them as special (i.e., whose duplicates are # not to be eliminated). pre_post_deps= if $opt_duplicate_compiler_generated_deps; then for pre_post_dep in $predeps $postdeps; do case "$pre_post_deps " in *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; esac func_append pre_post_deps " $pre_post_dep" done fi pre_post_deps= fi deplibs= newdependency_libs= newlib_search_path= need_relink=no # whether we're linking any uninstalled libtool libraries notinst_deplibs= # not-installed libtool libraries notinst_path= # paths that contain not-installed libtool libraries case $linkmode in lib) passes="conv dlpreopen link" for file in $dlfiles $dlprefiles; do case $file in *.la) ;; *) func_fatal_help "libraries can '-dlopen' only libtool libraries: $file" ;; esac done ;; prog) compile_deplibs= finalize_deplibs= alldeplibs=false newdlfiles= newdlprefiles= passes="conv scan dlopen dlpreopen link" ;; *) passes="conv" ;; esac for pass in $passes; do # The preopen pass in lib mode reverses $deplibs; put it back here # so that -L comes before libs that need it for instance... if test lib,link = "$linkmode,$pass"; then ## FIXME: Find the place where the list is rebuilt in the wrong ## order, and fix it there properly tmp_deplibs= for deplib in $deplibs; do tmp_deplibs="$deplib $tmp_deplibs" done deplibs=$tmp_deplibs fi if test lib,link = "$linkmode,$pass" || test prog,scan = "$linkmode,$pass"; then libs=$deplibs deplibs= fi if test prog = "$linkmode"; then case $pass in dlopen) libs=$dlfiles ;; dlpreopen) libs=$dlprefiles ;; link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; esac fi if test lib,dlpreopen = "$linkmode,$pass"; then # Collect and forward deplibs of preopened libtool libs for lib in $dlprefiles; do # Ignore non-libtool-libs dependency_libs= func_resolve_sysroot "$lib" case $lib in *.la) func_source "$func_resolve_sysroot_result" ;; esac # Collect preopened libtool deplibs, except any this library # has declared as weak libs for deplib in $dependency_libs; do func_basename "$deplib" deplib_base=$func_basename_result case " $weak_libs " in *" $deplib_base "*) ;; *) func_append deplibs " $deplib" ;; esac done done libs=$dlprefiles fi if test dlopen = "$pass"; then # Collect dlpreopened libraries save_deplibs=$deplibs deplibs= fi for deplib in $libs; do lib= found=false case $deplib in -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) if test prog,link = "$linkmode,$pass"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else func_append compiler_flags " $deplib" if test lib = "$linkmode"; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) func_append new_inherited_linker_flags " $deplib" ;; esac fi fi continue ;; -l*) if test lib != "$linkmode" && test prog != "$linkmode"; then func_warning "'-l' is ignored for archives/objects" continue fi func_stripname '-l' '' "$deplib" name=$func_stripname_result if test lib = "$linkmode"; then searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" else searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" fi for searchdir in $searchdirs; do for search_ext in .la $std_shrext .so .a; do # Search the libtool library lib=$searchdir/lib$name$search_ext if test -f "$lib"; then if test .la = "$search_ext"; then found=: else found=false fi break 2 fi done done if $found; then # deplib is a libtool library # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, # We need to do some special things here, and not later. if test yes = "$allow_libtool_libs_with_static_runtimes"; then case " $predeps $postdeps " in *" $deplib "*) if func_lalib_p "$lib"; then library_names= old_library= func_source "$lib" for l in $old_library $library_names; do ll=$l done if test "X$ll" = "X$old_library"; then # only static version available found=false func_dirname "$lib" "" "." ladir=$func_dirname_result lib=$ladir/$old_library if test prog,link = "$linkmode,$pass"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" fi continue fi fi ;; *) ;; esac fi else # deplib doesn't seem to be a libtool library if test prog,link = "$linkmode,$pass"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" fi continue fi ;; # -l *.ltframework) if test prog,link = "$linkmode,$pass"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" if test lib = "$linkmode"; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) func_append new_inherited_linker_flags " $deplib" ;; esac fi fi continue ;; -L*) case $linkmode in lib) deplibs="$deplib $deplibs" test conv = "$pass" && continue newdependency_libs="$deplib $newdependency_libs" func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; prog) if test conv = "$pass"; then deplibs="$deplib $deplibs" continue fi if test scan = "$pass"; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; *) func_warning "'-L' is ignored for archives/objects" ;; esac # linkmode continue ;; # -L -R*) if test link = "$pass"; then func_stripname '-R' '' "$deplib" func_resolve_sysroot "$func_stripname_result" dir=$func_resolve_sysroot_result # Make sure the xrpath contains only unique directories. case "$xrpath " in *" $dir "*) ;; *) func_append xrpath " $dir" ;; esac fi deplibs="$deplib $deplibs" continue ;; *.la) func_resolve_sysroot "$deplib" lib=$func_resolve_sysroot_result ;; *.$libext) if test conv = "$pass"; then deplibs="$deplib $deplibs" continue fi case $linkmode in lib) # Linking convenience modules into shared libraries is allowed, # but linking other static libraries is non-portable. case " $dlpreconveniencelibs " in *" $deplib "*) ;; *) valid_a_lib=false case $deplibs_check_method in match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ | $EGREP "$match_pattern_regex" > /dev/null; then valid_a_lib=: fi ;; pass_all) valid_a_lib=: ;; esac if $valid_a_lib; then echo $ECHO "*** Warning: Linking the shared library $output against the" $ECHO "*** static library $deplib is not portable!" deplibs="$deplib $deplibs" else echo $ECHO "*** Warning: Trying to link with static lib archive $deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because the file extensions .$libext of this argument makes me believe" echo "*** that it is just a static archive that I should not use here." fi ;; esac continue ;; prog) if test link != "$pass"; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi continue ;; esac # linkmode ;; # *.$libext *.lo | *.$objext) if test conv = "$pass"; then deplibs="$deplib $deplibs" elif test prog = "$linkmode"; then if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then # If there is no dlopen support or we're linking statically, # we need to preload. func_append newdlprefiles " $deplib" compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else func_append newdlfiles " $deplib" fi fi continue ;; %DEPLIBS%) alldeplibs=: continue ;; esac # case $deplib $found || test -f "$lib" \ || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'" # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$lib" \ || func_fatal_error "'$lib' is not a valid libtool archive" func_dirname "$lib" "" "." ladir=$func_dirname_result dlname= dlopen= dlpreopen= libdir= library_names= old_library= inherited_linker_flags= # If the library was installed with an old release of libtool, # it will not redefine variables installed, or shouldnotlink installed=yes shouldnotlink=no avoidtemprpath= # Read the .la file func_source "$lib" # Convert "-framework foo" to "foo.ltframework" if test -n "$inherited_linker_flags"; then tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do case " $new_inherited_linker_flags " in *" $tmp_inherited_linker_flag "*) ;; *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; esac done fi dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` if test lib,link = "$linkmode,$pass" || test prog,scan = "$linkmode,$pass" || { test prog != "$linkmode" && test lib != "$linkmode"; }; then test -n "$dlopen" && func_append dlfiles " $dlopen" test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" fi if test conv = "$pass"; then # Only check for convenience libraries deplibs="$lib $deplibs" if test -z "$libdir"; then if test -z "$old_library"; then func_fatal_error "cannot find name of link library for '$lib'" fi # It is a libtool convenience library, so add in its objects. func_append convenience " $ladir/$objdir/$old_library" func_append old_convenience " $ladir/$objdir/$old_library" elif test prog != "$linkmode" && test lib != "$linkmode"; then func_fatal_error "'$lib' is not a convenience library" fi tmp_libs= for deplib in $dependency_libs; do deplibs="$deplib $deplibs" if $opt_preserve_dup_deps; then case "$tmp_libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append tmp_libs " $deplib" done continue fi # $pass = conv # Get the name of the library we link against. linklib= if test -n "$old_library" && { test yes = "$prefer_static_libs" || test built,no = "$prefer_static_libs,$installed"; }; then linklib=$old_library else for l in $old_library $library_names; do linklib=$l done fi if test -z "$linklib"; then func_fatal_error "cannot find name of link library for '$lib'" fi # This library was specified with -dlopen. if test dlopen = "$pass"; then test -z "$libdir" \ && func_fatal_error "cannot -dlopen a convenience library: '$lib'" if test -z "$dlname" || test yes != "$dlopen_support" || test no = "$build_libtool_libs" then # If there is no dlname, no dlopen support or we're linking # statically, we need to preload. We also need to preload any # dependent libraries so libltdl's deplib preloader doesn't # bomb out in the load deplibs phase. func_append dlprefiles " $lib $dependency_libs" else func_append newdlfiles " $lib" fi continue fi # $pass = dlopen # We need an absolute path. case $ladir in [\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;; *) abs_ladir=`cd "$ladir" && pwd` if test -z "$abs_ladir"; then func_warning "cannot determine absolute directory name of '$ladir'" func_warning "passing it literally to the linker, although it might fail" abs_ladir=$ladir fi ;; esac func_basename "$lib" laname=$func_basename_result # Find the relevant object directory and library name. if test yes = "$installed"; then if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then func_warning "library '$lib' was moved." dir=$ladir absdir=$abs_ladir libdir=$abs_ladir else dir=$lt_sysroot$libdir absdir=$lt_sysroot$libdir fi test yes = "$hardcode_automatic" && avoidtemprpath=yes else if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then dir=$ladir absdir=$abs_ladir # Remove this search path later func_append notinst_path " $abs_ladir" else dir=$ladir/$objdir absdir=$abs_ladir/$objdir # Remove this search path later func_append notinst_path " $abs_ladir" fi fi # $installed = yes func_stripname 'lib' '.la' "$laname" name=$func_stripname_result # This library was specified with -dlpreopen. if test dlpreopen = "$pass"; then if test -z "$libdir" && test prog = "$linkmode"; then func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'" fi case $host in # special handling for platforms with PE-DLLs. *cygwin* | *mingw* | *cegcc* ) # Linker will automatically link against shared library if both # static and shared are present. Therefore, ensure we extract # symbols from the import library if a shared library is present # (otherwise, the dlopen module name will be incorrect). We do # this by putting the import library name into $newdlprefiles. # We recover the dlopen module name by 'saving' the la file # name in a special purpose variable, and (later) extracting the # dlname from the la file. if test -n "$dlname"; then func_tr_sh "$dir/$linklib" eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" func_append newdlprefiles " $dir/$linklib" else func_append newdlprefiles " $dir/$old_library" # Keep a list of preopened convenience libraries to check # that they are being used correctly in the link pass. test -z "$libdir" && \ func_append dlpreconveniencelibs " $dir/$old_library" fi ;; * ) # Prefer using a static library (so that no silly _DYNAMIC symbols # are required to link). if test -n "$old_library"; then func_append newdlprefiles " $dir/$old_library" # Keep a list of preopened convenience libraries to check # that they are being used correctly in the link pass. test -z "$libdir" && \ func_append dlpreconveniencelibs " $dir/$old_library" # Otherwise, use the dlname, so that lt_dlopen finds it. elif test -n "$dlname"; then func_append newdlprefiles " $dir/$dlname" else func_append newdlprefiles " $dir/$linklib" fi ;; esac fi # $pass = dlpreopen if test -z "$libdir"; then # Link the convenience library if test lib = "$linkmode"; then deplibs="$dir/$old_library $deplibs" elif test prog,link = "$linkmode,$pass"; then compile_deplibs="$dir/$old_library $compile_deplibs" finalize_deplibs="$dir/$old_library $finalize_deplibs" else deplibs="$lib $deplibs" # used for prog,scan pass fi continue fi if test prog = "$linkmode" && test link != "$pass"; then func_append newlib_search_path " $ladir" deplibs="$lib $deplibs" linkalldeplibs=false if test no != "$link_all_deplibs" || test -z "$library_names" || test no = "$build_libtool_libs"; then linkalldeplibs=: fi tmp_libs= for deplib in $dependency_libs; do case $deplib in -L*) func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; esac # Need to link against all dependency_libs? if $linkalldeplibs; then deplibs="$deplib $deplibs" else # Need to hardcode shared library paths # or/and link against static libraries newdependency_libs="$deplib $newdependency_libs" fi if $opt_preserve_dup_deps; then case "$tmp_libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append tmp_libs " $deplib" done # for deplib continue fi # $linkmode = prog... if test prog,link = "$linkmode,$pass"; then if test -n "$library_names" && { { test no = "$prefer_static_libs" || test built,yes = "$prefer_static_libs,$installed"; } || test -z "$old_library"; }; then # We need to hardcode the library path if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then # Make sure the rpath contains only unique directories. case $temp_rpath: in *"$absdir:"*) ;; *) func_append temp_rpath "$absdir:" ;; esac fi # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) func_append compile_rpath " $absdir" ;; esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac ;; esac fi # $linkmode,$pass = prog,link... if $alldeplibs && { test pass_all = "$deplibs_check_method" || { test yes = "$build_libtool_libs" && test -n "$library_names"; }; }; then # We only need to search for static libraries continue fi fi link_static=no # Whether the deplib will be linked statically use_static_libs=$prefer_static_libs if test built = "$use_static_libs" && test yes = "$installed"; then use_static_libs=no fi if test -n "$library_names" && { test no = "$use_static_libs" || test -z "$old_library"; }; then case $host in *cygwin* | *mingw* | *cegcc* | *os2*) # No point in relinking DLLs because paths are not encoded func_append notinst_deplibs " $lib" need_relink=no ;; *) if test no = "$installed"; then func_append notinst_deplibs " $lib" need_relink=yes fi ;; esac # This is a shared library # Warn about portability, can't link against -module's on some # systems (darwin). Don't bleat about dlopened modules though! dlopenmodule= for dlpremoduletest in $dlprefiles; do if test "X$dlpremoduletest" = "X$lib"; then dlopenmodule=$dlpremoduletest break fi done if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then echo if test prog = "$linkmode"; then $ECHO "*** Warning: Linking the executable $output against the loadable module" else $ECHO "*** Warning: Linking the shared library $output against the loadable module" fi $ECHO "*** $linklib is not portable!" fi if test lib = "$linkmode" && test yes = "$hardcode_into_libs"; then # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) func_append compile_rpath " $absdir" ;; esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac ;; esac fi if test -n "$old_archive_from_expsyms_cmds"; then # figure out the soname set dummy $library_names shift realname=$1 shift libname=`eval "\\$ECHO \"$libname_spec\""` # use dlname if we got it. it's perfectly good, no? if test -n "$dlname"; then soname=$dlname elif test -n "$soname_spec"; then # bleh windows case $host in *cygwin* | mingw* | *cegcc* | *os2*) func_arith $current - $age major=$func_arith_result versuffix=-$major ;; esac eval soname=\"$soname_spec\" else soname=$realname fi # Make a new name for the extract_expsyms_cmds to use soroot=$soname func_basename "$soroot" soname=$func_basename_result func_stripname 'lib' '.dll' "$soname" newlib=libimp-$func_stripname_result.a # If the library has no export list, then create one now if test -f "$output_objdir/$soname-def"; then : else func_verbose "extracting exported symbol list from '$soname'" func_execute_cmds "$extract_expsyms_cmds" 'exit $?' fi # Create $newlib if test -f "$output_objdir/$newlib"; then :; else func_verbose "generating import library for '$soname'" func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' fi # make sure the library variables are pointing to the new library dir=$output_objdir linklib=$newlib fi # test -n "$old_archive_from_expsyms_cmds" if test prog = "$linkmode" || test relink != "$opt_mode"; then add_shlibpath= add_dir= add= lib_linked=yes case $hardcode_action in immediate | unsupported) if test no = "$hardcode_direct"; then add=$dir/$linklib case $host in *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;; *-*-sysv4*uw2*) add_dir=-L$dir ;; *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ *-*-unixware7*) add_dir=-L$dir ;; *-*-darwin* ) # if the lib is a (non-dlopened) module then we cannot # link against it, someone is ignoring the earlier warnings if /usr/bin/file -L $add 2> /dev/null | $GREP ": [^:]* bundle" >/dev/null; then if test "X$dlopenmodule" != "X$lib"; then $ECHO "*** Warning: lib $linklib is a module, not a shared library" if test -z "$old_library"; then echo echo "*** And there doesn't seem to be a static archive available" echo "*** The link will probably fail, sorry" else add=$dir/$old_library fi elif test -n "$old_library"; then add=$dir/$old_library fi fi esac elif test no = "$hardcode_minus_L"; then case $host in *-*-sunos*) add_shlibpath=$dir ;; esac add_dir=-L$dir add=-l$name elif test no = "$hardcode_shlibpath_var"; then add_shlibpath=$dir add=-l$name else lib_linked=no fi ;; relink) if test yes = "$hardcode_direct" && test no = "$hardcode_direct_absolute"; then add=$dir/$linklib elif test yes = "$hardcode_minus_L"; then add_dir=-L$absdir # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) func_append add_dir " -L$inst_prefix_dir$libdir" ;; esac fi add=-l$name elif test yes = "$hardcode_shlibpath_var"; then add_shlibpath=$dir add=-l$name else lib_linked=no fi ;; *) lib_linked=no ;; esac if test yes != "$lib_linked"; then func_fatal_configuration "unsupported hardcode properties" fi if test -n "$add_shlibpath"; then case :$compile_shlibpath: in *":$add_shlibpath:"*) ;; *) func_append compile_shlibpath "$add_shlibpath:" ;; esac fi if test prog = "$linkmode"; then test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" test -n "$add" && compile_deplibs="$add $compile_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" if test yes != "$hardcode_direct" && test yes != "$hardcode_minus_L" && test yes = "$hardcode_shlibpath_var"; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) func_append finalize_shlibpath "$libdir:" ;; esac fi fi fi if test prog = "$linkmode" || test relink = "$opt_mode"; then add_shlibpath= add_dir= add= # Finalize command for both is simple: just hardcode it. if test yes = "$hardcode_direct" && test no = "$hardcode_direct_absolute"; then add=$libdir/$linklib elif test yes = "$hardcode_minus_L"; then add_dir=-L$libdir add=-l$name elif test yes = "$hardcode_shlibpath_var"; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) func_append finalize_shlibpath "$libdir:" ;; esac add=-l$name elif test yes = "$hardcode_automatic"; then if test -n "$inst_prefix_dir" && test -f "$inst_prefix_dir$libdir/$linklib"; then add=$inst_prefix_dir$libdir/$linklib else add=$libdir/$linklib fi else # We cannot seem to hardcode it, guess we'll fake it. add_dir=-L$libdir # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) func_append add_dir " -L$inst_prefix_dir$libdir" ;; esac fi add=-l$name fi if test prog = "$linkmode"; then test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" test -n "$add" && finalize_deplibs="$add $finalize_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" fi fi elif test prog = "$linkmode"; then # Here we assume that one of hardcode_direct or hardcode_minus_L # is not unsupported. This is valid on all known static and # shared platforms. if test unsupported != "$hardcode_direct"; then test -n "$old_library" && linklib=$old_library compile_deplibs="$dir/$linklib $compile_deplibs" finalize_deplibs="$dir/$linklib $finalize_deplibs" else compile_deplibs="-l$name -L$dir $compile_deplibs" finalize_deplibs="-l$name -L$dir $finalize_deplibs" fi elif test yes = "$build_libtool_libs"; then # Not a shared library if test pass_all != "$deplibs_check_method"; then # We're trying link a shared library against a static one # but the system doesn't support it. # Just print a warning and add the library to dependency_libs so # that the program can be linked against the static library. echo $ECHO "*** Warning: This system cannot link to static lib archive $lib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have." if test yes = "$module"; then echo "*** But as you try to build a module library, libtool will still create " echo "*** a static module, that should work as long as the dlopening application" echo "*** is linked with the -dlopen flag to resolve symbols at runtime." if test -z "$global_symbol_pipe"; then echo echo "*** However, this would only work if libtool was able to extract symbol" echo "*** lists from a program, using 'nm' or equivalent, but libtool could" echo "*** not find such a program. So, this module is probably useless." echo "*** 'nm' from GNU binutils and a full rebuild may help." fi if test no = "$build_old_libs"; then build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi else deplibs="$dir/$old_library $deplibs" link_static=yes fi fi # link shared/static library? if test lib = "$linkmode"; then if test -n "$dependency_libs" && { test yes != "$hardcode_into_libs" || test yes = "$build_old_libs" || test yes = "$link_static"; }; then # Extract -R from dependency_libs temp_deplibs= for libdir in $dependency_libs; do case $libdir in -R*) func_stripname '-R' '' "$libdir" temp_xrpath=$func_stripname_result case " $xrpath " in *" $temp_xrpath "*) ;; *) func_append xrpath " $temp_xrpath";; esac;; *) func_append temp_deplibs " $libdir";; esac done dependency_libs=$temp_deplibs fi func_append newlib_search_path " $absdir" # Link against this library test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs" # ... and its dependency_libs tmp_libs= for deplib in $dependency_libs; do newdependency_libs="$deplib $newdependency_libs" case $deplib in -L*) func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result";; *) func_resolve_sysroot "$deplib" ;; esac if $opt_preserve_dup_deps; then case "$tmp_libs " in *" $func_resolve_sysroot_result "*) func_append specialdeplibs " $func_resolve_sysroot_result" ;; esac fi func_append tmp_libs " $func_resolve_sysroot_result" done if test no != "$link_all_deplibs"; then # Add the search paths of all dependency libraries for deplib in $dependency_libs; do path= case $deplib in -L*) path=$deplib ;; *.la) func_resolve_sysroot "$deplib" deplib=$func_resolve_sysroot_result func_dirname "$deplib" "" "." dir=$func_dirname_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;; *) absdir=`cd "$dir" && pwd` if test -z "$absdir"; then func_warning "cannot determine absolute directory name of '$dir'" absdir=$dir fi ;; esac if $GREP "^installed=no" $deplib > /dev/null; then case $host in *-*-darwin*) depdepl= eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` if test -n "$deplibrary_names"; then for tmp in $deplibrary_names; do depdepl=$tmp done if test -f "$absdir/$objdir/$depdepl"; then depdepl=$absdir/$objdir/$depdepl darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` if test -z "$darwin_install_name"; then darwin_install_name=`$OTOOL64 -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` fi func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl" func_append linker_flags " -dylib_file $darwin_install_name:$depdepl" path= fi fi ;; *) path=-L$absdir/$objdir ;; esac else eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` test -z "$libdir" && \ func_fatal_error "'$deplib' is not a valid libtool archive" test "$absdir" != "$libdir" && \ func_warning "'$deplib' seems to be moved" path=-L$absdir fi ;; esac case " $deplibs " in *" $path "*) ;; *) deplibs="$path $deplibs" ;; esac done fi # link_all_deplibs != no fi # linkmode = lib done # for deplib in $libs if test link = "$pass"; then if test prog = "$linkmode"; then compile_deplibs="$new_inherited_linker_flags $compile_deplibs" finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" else compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` fi fi dependency_libs=$newdependency_libs if test dlpreopen = "$pass"; then # Link the dlpreopened libraries before other libraries for deplib in $save_deplibs; do deplibs="$deplib $deplibs" done fi if test dlopen != "$pass"; then test conv = "$pass" || { # Make sure lib_search_path contains only unique directories. lib_search_path= for dir in $newlib_search_path; do case "$lib_search_path " in *" $dir "*) ;; *) func_append lib_search_path " $dir" ;; esac done newlib_search_path= } if test prog,link = "$linkmode,$pass"; then vars="compile_deplibs finalize_deplibs" else vars=deplibs fi for var in $vars dependency_libs; do # Add libraries to $var in reverse order eval tmp_libs=\"\$$var\" new_libs= for deplib in $tmp_libs; do # FIXME: Pedantically, this is the right thing to do, so # that some nasty dependency loop isn't accidentally # broken: #new_libs="$deplib $new_libs" # Pragmatically, this seems to cause very few problems in # practice: case $deplib in -L*) new_libs="$deplib $new_libs" ;; -R*) ;; *) # And here is the reason: when a library appears more # than once as an explicit dependence of a library, or # is implicitly linked in more than once by the # compiler, it is considered special, and multiple # occurrences thereof are not removed. Compare this # with having the same library being listed as a # dependency of multiple other libraries: in this case, # we know (pedantically, we assume) the library does not # need to be listed more than once, so we keep only the # last copy. This is not always right, but it is rare # enough that we require users that really mean to play # such unportable linking tricks to link the library # using -Wl,-lname, so that libtool does not consider it # for duplicate removal. case " $specialdeplibs " in *" $deplib "*) new_libs="$deplib $new_libs" ;; *) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$deplib $new_libs" ;; esac ;; esac ;; esac done tmp_libs= for deplib in $new_libs; do case $deplib in -L*) case " $tmp_libs " in *" $deplib "*) ;; *) func_append tmp_libs " $deplib" ;; esac ;; *) func_append tmp_libs " $deplib" ;; esac done eval $var=\"$tmp_libs\" done # for var fi # Add Sun CC postdeps if required: test CXX = "$tagname" && { case $host_os in linux*) case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C++ 5.9 func_suncc_cstd_abi if test no != "$suncc_use_cstd_abi"; then func_append postdeps ' -library=Cstd -library=Crun' fi ;; esac ;; solaris*) func_cc_basename "$CC" case $func_cc_basename_result in CC* | sunCC*) func_suncc_cstd_abi if test no != "$suncc_use_cstd_abi"; then func_append postdeps ' -library=Cstd -library=Crun' fi ;; esac ;; esac } # Last step: remove runtime libs from dependency_libs # (they stay in deplibs) tmp_libs= for i in $dependency_libs; do case " $predeps $postdeps $compiler_lib_search_path " in *" $i "*) i= ;; esac if test -n "$i"; then func_append tmp_libs " $i" fi done dependency_libs=$tmp_libs done # for pass if test prog = "$linkmode"; then dlfiles=$newdlfiles fi if test prog = "$linkmode" || test lib = "$linkmode"; then dlprefiles=$newdlprefiles fi case $linkmode in oldlib) if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then func_warning "'-dlopen' is ignored for archives" fi case " $deplibs" in *\ -l* | *\ -L*) func_warning "'-l' and '-L' are ignored for archives" ;; esac test -n "$rpath" && \ func_warning "'-rpath' is ignored for archives" test -n "$xrpath" && \ func_warning "'-R' is ignored for archives" test -n "$vinfo" && \ func_warning "'-version-info/-version-number' is ignored for archives" test -n "$release" && \ func_warning "'-release' is ignored for archives" test -n "$export_symbols$export_symbols_regex" && \ func_warning "'-export-symbols' is ignored for archives" # Now set the variables for building old libraries. build_libtool_libs=no oldlibs=$output func_append objs "$old_deplibs" ;; lib) # Make sure we only generate libraries of the form 'libNAME.la'. case $outputname in lib*) func_stripname 'lib' '.la' "$outputname" name=$func_stripname_result eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" ;; *) test no = "$module" \ && func_fatal_help "libtool library '$output' must begin with 'lib'" if test no != "$need_lib_prefix"; then # Add the "lib" prefix for modules if required func_stripname '' '.la' "$outputname" name=$func_stripname_result eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" else func_stripname '' '.la' "$outputname" libname=$func_stripname_result fi ;; esac if test -n "$objs"; then if test pass_all != "$deplibs_check_method"; then func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs" else echo $ECHO "*** Warning: Linking the shared library $output against the non-libtool" $ECHO "*** objects $objs is not portable!" func_append libobjs " $objs" fi fi test no = "$dlself" \ || func_warning "'-dlopen self' is ignored for libtool libraries" set dummy $rpath shift test 1 -lt "$#" \ && func_warning "ignoring multiple '-rpath's for a libtool library" install_libdir=$1 oldlibs= if test -z "$rpath"; then if test yes = "$build_libtool_libs"; then # Building a libtool convenience library. # Some compilers have problems with a '.al' extension so # convenience libraries should have the same extension an # archive normally would. oldlibs="$output_objdir/$libname.$libext $oldlibs" build_libtool_libs=convenience build_old_libs=yes fi test -n "$vinfo" && \ func_warning "'-version-info/-version-number' is ignored for convenience libraries" test -n "$release" && \ func_warning "'-release' is ignored for convenience libraries" else # Parse the version information argument. save_ifs=$IFS; IFS=: set dummy $vinfo 0 0 0 shift IFS=$save_ifs test -n "$7" && \ func_fatal_help "too many parameters to '-version-info'" # convert absolute version numbers to libtool ages # this retains compatibility with .la files and attempts # to make the code below a bit more comprehensible case $vinfo_number in yes) number_major=$1 number_minor=$2 number_revision=$3 # # There are really only two kinds -- those that # use the current revision as the major version # and those that subtract age and use age as # a minor version. But, then there is irix # that has an extra 1 added just for fun # case $version_type in # correct linux to gnu/linux during the next big refactor darwin|freebsd-elf|linux|midnightbsd-elf|osf|windows|none) func_arith $number_major + $number_minor current=$func_arith_result age=$number_minor revision=$number_revision ;; freebsd-aout|qnx|sunos) current=$number_major revision=$number_minor age=0 ;; irix|nonstopux) func_arith $number_major + $number_minor current=$func_arith_result age=$number_minor revision=$number_minor lt_irix_increment=no ;; esac ;; no) current=$1 revision=$2 age=$3 ;; esac # Check that each of the things are valid numbers. case $current in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "CURRENT '$current' must be a nonnegative integer" func_fatal_error "'$vinfo' is not valid version information" ;; esac case $revision in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "REVISION '$revision' must be a nonnegative integer" func_fatal_error "'$vinfo' is not valid version information" ;; esac case $age in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "AGE '$age' must be a nonnegative integer" func_fatal_error "'$vinfo' is not valid version information" ;; esac if test "$age" -gt "$current"; then func_error "AGE '$age' is greater than the current interface number '$current'" func_fatal_error "'$vinfo' is not valid version information" fi # Calculate the version variables. major= versuffix= verstring= case $version_type in none) ;; darwin) # Like Linux, but with the current version available in # verstring for coding it into the library header func_arith $current - $age major=.$func_arith_result versuffix=$major.$age.$revision # Darwin ld doesn't like 0 for these options... func_arith $current + 1 minor_current=$func_arith_result xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" # On Darwin other compilers case $CC in nagfor*) verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" ;; *) verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" ;; esac ;; freebsd-aout) major=.$current versuffix=.$current.$revision ;; freebsd-elf | midnightbsd-elf) func_arith $current - $age major=.$func_arith_result versuffix=$major.$age.$revision ;; irix | nonstopux) if test no = "$lt_irix_increment"; then func_arith $current - $age else func_arith $current - $age + 1 fi major=$func_arith_result case $version_type in nonstopux) verstring_prefix=nonstopux ;; *) verstring_prefix=sgi ;; esac verstring=$verstring_prefix$major.$revision # Add in all the interfaces that we are compatible with. loop=$revision while test 0 -ne "$loop"; do func_arith $revision - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result verstring=$verstring_prefix$major.$iface:$verstring done # Before this point, $major must not contain '.'. major=.$major versuffix=$major.$revision ;; linux) # correct to gnu/linux during the next big refactor func_arith $current - $age major=.$func_arith_result versuffix=$major.$age.$revision ;; osf) func_arith $current - $age major=.$func_arith_result versuffix=.$current.$age.$revision verstring=$current.$age.$revision # Add in all the interfaces that we are compatible with. loop=$age while test 0 -ne "$loop"; do func_arith $current - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result verstring=$verstring:$iface.0 done # Make executables depend on our current version. func_append verstring ":$current.0" ;; qnx) major=.$current versuffix=.$current ;; sco) major=.$current versuffix=.$current ;; sunos) major=.$current versuffix=.$current.$revision ;; windows) # Use '-' rather than '.', since we only want one # extension on DOS 8.3 file systems. func_arith $current - $age major=$func_arith_result versuffix=-$major ;; *) func_fatal_configuration "unknown library version type '$version_type'" ;; esac # Clear the version info if we defaulted, and they specified a release. if test -z "$vinfo" && test -n "$release"; then major= case $version_type in darwin) # we can't check for "0.0" in archive_cmds due to quoting # problems, so we reset it completely verstring= ;; *) verstring=0.0 ;; esac if test no = "$need_version"; then versuffix= else versuffix=.0.0 fi fi # Remove version info from name if versioning should be avoided if test yes,no = "$avoid_version,$need_version"; then major= versuffix= verstring= fi # Check to see if the archive will have undefined symbols. if test yes = "$allow_undefined"; then if test unsupported = "$allow_undefined_flag"; then if test yes = "$build_old_libs"; then func_warning "undefined symbols not allowed in $host shared libraries; building static only" build_libtool_libs=no else func_fatal_error "can't build $host shared library unless -no-undefined is specified" fi fi else # Don't allow undefined symbols. allow_undefined_flag=$no_undefined_flag fi fi func_generate_dlsyms "$libname" "$libname" : func_append libobjs " $symfileobj" test " " = "$libobjs" && libobjs= if test relink != "$opt_mode"; then # Remove our outputs, but don't remove object files since they # may have been created when compiling PIC objects. removelist= tempremovelist=`$ECHO "$output_objdir/*"` for p in $tempremovelist; do case $p in *.$objext | *.gcno) ;; $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*) if test -n "$precious_files_regex"; then if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 then continue fi fi func_append removelist " $p" ;; *) ;; esac done test -n "$removelist" && \ func_show_eval "${RM}r \$removelist" fi # Now set the variables for building old libraries. if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then func_append oldlibs " $output_objdir/$libname.$libext" # Transform .lo files to .o files. oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP` fi # Eliminate all temporary directories. #for path in $notinst_path; do # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` #done if test -n "$xrpath"; then # If the user specified any rpath flags, then add them. temp_xrpath= for libdir in $xrpath; do func_replace_sysroot "$libdir" func_append temp_xrpath " -R$func_replace_sysroot_result" case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac done if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then dependency_libs="$temp_xrpath $dependency_libs" fi fi # Make sure dlfiles contains only unique files that won't be dlpreopened old_dlfiles=$dlfiles dlfiles= for lib in $old_dlfiles; do case " $dlprefiles $dlfiles " in *" $lib "*) ;; *) func_append dlfiles " $lib" ;; esac done # Make sure dlprefiles contains only unique files old_dlprefiles=$dlprefiles dlprefiles= for lib in $old_dlprefiles; do case "$dlprefiles " in *" $lib "*) ;; *) func_append dlprefiles " $lib" ;; esac done if test yes = "$build_libtool_libs"; then if test -n "$rpath"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) # these systems don't actually have a c library (as such)! ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C library is in the System framework func_append deplibs " System.ltframework" ;; *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-midnightbsd*) # Do not include libc due to us having libc/libc_r. ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work ;; *) # Add libc to deplibs on all other systems if necessary. if test yes = "$build_libtool_need_lc"; then func_append deplibs " -lc" fi ;; esac fi # Transform deplibs into only deplibs that can be linked in shared. name_save=$name libname_save=$libname release_save=$release versuffix_save=$versuffix major_save=$major # I'm not sure if I'm treating the release correctly. I think # release should show up in the -l (ie -lgmp5) so we don't want to # add it in twice. Is that correct? release= versuffix= major= newdeplibs= droppeddeps=no case $deplibs_check_method in pass_all) # Don't check for shared/static. Everything works. # This might be a little naive. We might want to check # whether the library exists or not. But this is on # osf3 & osf4 and I'm not really sure... Just # implementing what was already the behavior. newdeplibs=$deplibs ;; test_compile) # This code stresses the "libraries are programs" paradigm to its # limits. Maybe even breaks it. We compile a program, linking it # against the deplibs as a proxy for the library. Then we can check # whether they linked in statically or dynamically with ldd. $opt_dry_run || $RM conftest.c cat > conftest.c </dev/null` $nocaseglob else potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` fi for potent_lib in $potential_libs; do # Follow soft links. if ls -lLd "$potent_lib" 2>/dev/null | $GREP " -> " >/dev/null; then continue fi # The statement above tries to avoid entering an # endless loop below, in case of cyclic links. # We might still enter an endless loop, since a link # loop can be closed while we follow links, # but so what? potlib=$potent_lib while test -h "$potlib" 2>/dev/null; do potliblink=`ls -ld $potlib | $SED 's/.* -> //'` case $potliblink in [\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;; *) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";; esac done if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | $SED -e 10q | $EGREP "$file_magic_regex" > /dev/null; then func_append newdeplibs " $a_deplib" a_deplib= break 2 fi done done fi if test -n "$a_deplib"; then droppeddeps=yes echo $ECHO "*** Warning: linker path does not have real file for library $a_deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib"; then $ECHO "*** with $libname but no candidates were found. (...for file magic test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" $ECHO "*** using a file magic. Last file checked: $potlib" fi fi ;; *) # Add a -L argument. func_append newdeplibs " $a_deplib" ;; esac done # Gone through all deplibs. ;; match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` for a_deplib in $deplibs; do case $a_deplib in -l*) func_stripname -l '' "$a_deplib" name=$func_stripname_result if test yes = "$allow_libtool_libs_with_static_runtimes"; then case " $predeps $postdeps " in *" $a_deplib "*) func_append newdeplibs " $a_deplib" a_deplib= ;; esac fi if test -n "$a_deplib"; then libname=`eval "\\$ECHO \"$libname_spec\""` for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do potential_libs=`ls $i/$libname[.-]* 2>/dev/null` for potent_lib in $potential_libs; do potlib=$potent_lib # see symlink-check above in file_magic test if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ $EGREP "$match_pattern_regex" > /dev/null; then func_append newdeplibs " $a_deplib" a_deplib= break 2 fi done done fi if test -n "$a_deplib"; then droppeddeps=yes echo $ECHO "*** Warning: linker path does not have real file for library $a_deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib"; then $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" $ECHO "*** using a regex pattern. Last file checked: $potlib" fi fi ;; *) # Add a -L argument. func_append newdeplibs " $a_deplib" ;; esac done # Gone through all deplibs. ;; none | unknown | *) newdeplibs= tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` if test yes = "$allow_libtool_libs_with_static_runtimes"; then for i in $predeps $postdeps; do # can't use Xsed below, because $i might contain '/' tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"` done fi case $tmp_deplibs in *[!\ \ ]*) echo if test none = "$deplibs_check_method"; then echo "*** Warning: inter-library dependencies are not supported in this platform." else echo "*** Warning: inter-library dependencies are not known to be supported." fi echo "*** All declared inter-library dependencies are being dropped." droppeddeps=yes ;; esac ;; esac versuffix=$versuffix_save major=$major_save release=$release_save libname=$libname_save name=$name_save case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library with the System framework newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` ;; esac if test yes = "$droppeddeps"; then if test yes = "$module"; then echo echo "*** Warning: libtool could not satisfy all declared inter-library" $ECHO "*** dependencies of module $libname. Therefore, libtool will create" echo "*** a static module, that should work as long as the dlopening" echo "*** application is linked with the -dlopen flag." if test -z "$global_symbol_pipe"; then echo echo "*** However, this would only work if libtool was able to extract symbol" echo "*** lists from a program, using 'nm' or equivalent, but libtool could" echo "*** not find such a program. So, this module is probably useless." echo "*** 'nm' from GNU binutils and a full rebuild may help." fi if test no = "$build_old_libs"; then oldlibs=$output_objdir/$libname.$libext build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi else echo "*** The inter-library dependencies that have been dropped here will be" echo "*** automatically added whenever a program is linked with this library" echo "*** or is declared to -dlopen it." if test no = "$allow_undefined"; then echo echo "*** Since this library must not contain undefined symbols," echo "*** because either the platform does not support them or" echo "*** it was explicitly requested with -no-undefined," echo "*** libtool will only create a static version of it." if test no = "$build_old_libs"; then oldlibs=$output_objdir/$libname.$libext build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi fi fi # Done checking deplibs! deplibs=$newdeplibs fi # Time to change all our "foo.ltframework" stuff back to "-framework foo" case $host in *-*-darwin*) newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $deplibs " in *" -L$path/$objdir "*) func_append new_libs " -L$path/$objdir" ;; esac ;; esac done for deplib in $deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) func_append new_libs " $deplib" ;; esac ;; *) func_append new_libs " $deplib" ;; esac done deplibs=$new_libs # All the library-specific variables (install_libdir is set above). library_names= old_library= dlname= # Test again, we may have decided not to build it any more if test yes = "$build_libtool_libs"; then # Remove $wl instances when linking with ld. # FIXME: should test the right _cmds variable. case $archive_cmds in *\$LD\ *) wl= ;; esac if test yes = "$hardcode_into_libs"; then # Hardcode the library paths hardcode_libdirs= dep_rpath= rpath=$finalize_rpath test relink = "$opt_mode" || rpath=$compile_rpath$rpath for libdir in $rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then func_replace_sysroot "$libdir" libdir=$func_replace_sysroot_result if test -z "$hardcode_libdirs"; then hardcode_libdirs=$libdir else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" func_append dep_rpath " $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) func_append perm_rpath " $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir=$hardcode_libdirs eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" fi if test -n "$runpath_var" && test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do func_append rpath "$dir:" done eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" fi test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" fi shlibpath=$finalize_shlibpath test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath if test -n "$shlibpath"; then eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" fi # Get the real and link names of the library. eval shared_ext=\"$shrext_cmds\" eval library_names=\"$library_names_spec\" set dummy $library_names shift realname=$1 shift if test -n "$soname_spec"; then eval soname=\"$soname_spec\" else soname=$realname fi if test -z "$dlname"; then dlname=$soname fi lib=$output_objdir/$realname linknames= for link do func_append linknames " $link" done # Use standard objects if they are pic test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` test "X$libobjs" = "X " && libobjs= delfiles= if test -n "$export_symbols" && test -n "$include_expsyms"; then $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" export_symbols=$output_objdir/$libname.uexp func_append delfiles " $export_symbols" fi orig_export_symbols= case $host_os in cygwin* | mingw* | cegcc*) if test -n "$export_symbols" && test -z "$export_symbols_regex"; then # exporting using user supplied symfile func_dll_def_p "$export_symbols" || { # and it's NOT already a .def file. Must figure out # which of the given symbols are data symbols and tag # them as such. So, trigger use of export_symbols_cmds. # export_symbols gets reassigned inside the "prepare # the list of exported symbols" if statement, so the # include_expsyms logic still works. orig_export_symbols=$export_symbols export_symbols= always_export_symbols=yes } fi ;; esac # Prepare the list of exported symbols if test -z "$export_symbols"; then if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then func_verbose "generating symbol list for '$libname.la'" export_symbols=$output_objdir/$libname.exp $opt_dry_run || $RM $export_symbols cmds=$export_symbols_cmds save_ifs=$IFS; IFS='~' for cmd1 in $cmds; do IFS=$save_ifs # Take the normal branch if the nm_file_list_spec branch # doesn't work or if tool conversion is not needed. case $nm_file_list_spec~$to_tool_file_cmd in *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) try_normal_branch=yes eval cmd=\"$cmd1\" func_len " $cmd" len=$func_len_result ;; *) try_normal_branch=no ;; esac if test yes = "$try_normal_branch" \ && { test "$len" -lt "$max_cmd_len" \ || test "$max_cmd_len" -le -1; } then func_show_eval "$cmd" 'exit $?' skipped_export=false elif test -n "$nm_file_list_spec"; then func_basename "$output" output_la=$func_basename_result save_libobjs=$libobjs save_output=$output output=$output_objdir/$output_la.nm func_to_tool_file "$output" libobjs=$nm_file_list_spec$func_to_tool_file_result func_append delfiles " $output" func_verbose "creating $NM input file list: $output" for obj in $save_libobjs; do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" done > "$output" eval cmd=\"$cmd1\" func_show_eval "$cmd" 'exit $?' output=$save_output libobjs=$save_libobjs skipped_export=false else # The command line is too long to execute in one step. func_verbose "using reloadable object file for export list..." skipped_export=: # Break out early, otherwise skipped_export may be # set to false by a later but shorter cmd. break fi done IFS=$save_ifs if test -n "$export_symbols_regex" && test : != "$skipped_export"; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi fi fi if test -n "$export_symbols" && test -n "$include_expsyms"; then tmp_export_symbols=$export_symbols test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' fi if test : != "$skipped_export" && test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. func_verbose "filter symbol list for '$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of # 's' commands, which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter func_append delfiles " $export_symbols $output_objdir/$libname.filter" export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi tmp_deplibs= for test_deplib in $deplibs; do case " $convenience " in *" $test_deplib "*) ;; *) func_append tmp_deplibs " $test_deplib" ;; esac done deplibs=$tmp_deplibs if test -n "$convenience"; then if test -n "$whole_archive_flag_spec" && test yes = "$compiler_needs_object" && test -z "$libobjs"; then # extract the archives, so we have objects to list. # TODO: could optimize this to just extract one archive. whole_archive_flag_spec= fi if test -n "$whole_archive_flag_spec"; then save_libobjs=$libobjs eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= else gentop=$output_objdir/${outputname}x func_append generated " $gentop" func_extract_archives $gentop $convenience func_append libobjs " $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= fi fi if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then eval flag=\"$thread_safe_flag_spec\" func_append linker_flags " $flag" fi # Make a backup of the uninstalled library when relinking if test relink = "$opt_mode"; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? fi # Do each of the archive commands. if test yes = "$module" && test -n "$module_cmds"; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then eval test_cmds=\"$module_expsym_cmds\" cmds=$module_expsym_cmds else eval test_cmds=\"$module_cmds\" cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then eval test_cmds=\"$archive_expsym_cmds\" cmds=$archive_expsym_cmds else eval test_cmds=\"$archive_cmds\" cmds=$archive_cmds fi fi if test : != "$skipped_export" && func_len " $test_cmds" && len=$func_len_result && test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then : else # The command line is too long to link in one step, link piecewise # or, if using GNU ld and skipped_export is not :, use a linker # script. # Save the value of $output and $libobjs because we want to # use them later. If we have whole_archive_flag_spec, we # want to use save_libobjs as it was before # whole_archive_flag_spec was expanded, because we can't # assume the linker understands whole_archive_flag_spec. # This may have to be revisited, in case too many # convenience libraries get linked in and end up exceeding # the spec. if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then save_libobjs=$libobjs fi save_output=$output func_basename "$output" output_la=$func_basename_result # Clear the reloadable object creation command queue and # initialize k to one. test_cmds= concat_cmds= objlist= last_robj= k=1 if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then output=$output_objdir/$output_la.lnkscript func_verbose "creating GNU ld script: $output" echo 'INPUT (' > $output for obj in $save_libobjs do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" >> $output done echo ')' >> $output func_append delfiles " $output" func_to_tool_file "$output" output=$func_to_tool_file_result elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then output=$output_objdir/$output_la.lnk func_verbose "creating linker input file list: $output" : > $output set x $save_libobjs shift firstobj= if test yes = "$compiler_needs_object"; then firstobj="$1 " shift fi for obj do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" >> $output done func_append delfiles " $output" func_to_tool_file "$output" output=$firstobj\"$file_list_spec$func_to_tool_file_result\" else if test -n "$save_libobjs"; then func_verbose "creating reloadable object files..." output=$output_objdir/$output_la-$k.$objext eval test_cmds=\"$reload_cmds\" func_len " $test_cmds" len0=$func_len_result len=$len0 # Loop over the list of objects to be linked. for obj in $save_libobjs do func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result if test -z "$objlist" || test "$len" -lt "$max_cmd_len"; then func_append objlist " $obj" else # The command $test_cmds is almost too long, add a # command to the queue. if test 1 -eq "$k"; then # The first file doesn't have a previous command to add. reload_objs=$objlist eval concat_cmds=\"$reload_cmds\" else # All subsequent reloadable object files will link in # the last one created. reload_objs="$objlist $last_robj" eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" fi last_robj=$output_objdir/$output_la-$k.$objext func_arith $k + 1 k=$func_arith_result output=$output_objdir/$output_la-$k.$objext objlist=" $obj" func_len " $last_robj" func_arith $len0 + $func_len_result len=$func_arith_result fi done # Handle the remaining objects by creating one last # reloadable object file. All subsequent reloadable object # files will link in the last one created. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ reload_objs="$objlist $last_robj" eval concat_cmds=\"\$concat_cmds$reload_cmds\" if test -n "$last_robj"; then eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" fi func_append delfiles " $output" else output= fi ${skipped_export-false} && { func_verbose "generating symbol list for '$libname.la'" export_symbols=$output_objdir/$libname.exp $opt_dry_run || $RM $export_symbols libobjs=$output # Append the command to create the export file. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" if test -n "$last_robj"; then eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" fi } test -n "$save_libobjs" && func_verbose "creating a temporary reloadable object file: $output" # Loop through the commands generated above and execute them. save_ifs=$IFS; IFS='~' for cmd in $concat_cmds; do IFS=$save_ifs $opt_quiet || { func_quote_arg expand,pretty "$cmd" eval "func_echo $func_quote_arg_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test relink = "$opt_mode"; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) fi exit $lt_exit } done IFS=$save_ifs if test -n "$export_symbols_regex" && ${skipped_export-false}; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi fi ${skipped_export-false} && { if test -n "$export_symbols" && test -n "$include_expsyms"; then tmp_export_symbols=$export_symbols test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' fi if test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. func_verbose "filter symbol list for '$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of # 's' commands, which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter func_append delfiles " $export_symbols $output_objdir/$libname.filter" export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi } libobjs=$output # Restore the value of output. output=$save_output if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= fi # Expand the library linking commands again to reset the # value of $libobjs for piecewise linking. # Do each of the archive commands. if test yes = "$module" && test -n "$module_cmds"; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then cmds=$module_expsym_cmds else cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then cmds=$archive_expsym_cmds else cmds=$archive_cmds fi fi fi if test -n "$delfiles"; then # Append the command to remove temporary files to $cmds. eval cmds=\"\$cmds~\$RM $delfiles\" fi # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop=$output_objdir/${outputname}x func_append generated " $gentop" func_extract_archives $gentop $dlprefiles func_append libobjs " $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= fi save_ifs=$IFS; IFS='~' for cmd in $cmds; do IFS=$sp$nl eval cmd=\"$cmd\" IFS=$save_ifs $opt_quiet || { func_quote_arg expand,pretty "$cmd" eval "func_echo $func_quote_arg_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test relink = "$opt_mode"; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) fi exit $lt_exit } done IFS=$save_ifs # Restore the uninstalled library and exit if test relink = "$opt_mode"; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? if test -n "$convenience"; then if test -z "$whole_archive_flag_spec"; then func_show_eval '${RM}r "$gentop"' fi fi exit $EXIT_SUCCESS fi # Create links to the real library. for linkname in $linknames; do if test "$realname" != "$linkname"; then func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' fi done # If -module or -export-dynamic was specified, set the dlname. if test yes = "$module" || test yes = "$export_dynamic"; then # On all known operating systems, these are identical. dlname=$soname fi fi ;; obj) if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then func_warning "'-dlopen' is ignored for objects" fi case " $deplibs" in *\ -l* | *\ -L*) func_warning "'-l' and '-L' are ignored for objects" ;; esac test -n "$rpath" && \ func_warning "'-rpath' is ignored for objects" test -n "$xrpath" && \ func_warning "'-R' is ignored for objects" test -n "$vinfo" && \ func_warning "'-version-info' is ignored for objects" test -n "$release" && \ func_warning "'-release' is ignored for objects" case $output in *.lo) test -n "$objs$old_deplibs" && \ func_fatal_error "cannot build library object '$output' from non-libtool objects" libobj=$output func_lo2o "$libobj" obj=$func_lo2o_result ;; *) libobj= obj=$output ;; esac # Delete the old objects. $opt_dry_run || $RM $obj $libobj # Objects from convenience libraries. This assumes # single-version convenience libraries. Whenever we create # different ones for PIC/non-PIC, this we'll have to duplicate # the extraction. reload_conv_objs= gentop= # if reload_cmds runs $LD directly, get rid of -Wl from # whole_archive_flag_spec and hope we can get by with turning comma # into space. case $reload_cmds in *\$LD[\ \$]*) wl= ;; esac if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags else gentop=$output_objdir/${obj}x func_append generated " $gentop" func_extract_archives $gentop $convenience reload_conv_objs="$reload_objs $func_extract_archives_result" fi fi # If we're not building shared, we need to use non_pic_objs test yes = "$build_libtool_libs" || libobjs=$non_pic_objects # Create the old-style object. reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs output=$obj func_execute_cmds "$reload_cmds" 'exit $?' # Exit if we aren't doing a library object file. if test -z "$libobj"; then if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi exit $EXIT_SUCCESS fi test yes = "$build_libtool_libs" || { if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi # Create an invalid libtool object if no PIC, so that we don't # accidentally link it into a program. # $show "echo timestamp > $libobj" # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? exit $EXIT_SUCCESS } if test -n "$pic_flag" || test default != "$pic_mode"; then # Only do commands if we really have different PIC objects. reload_objs="$libobjs $reload_conv_objs" output=$libobj func_execute_cmds "$reload_cmds" 'exit $?' fi if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi exit $EXIT_SUCCESS ;; prog) case $host in *cygwin*) func_stripname '' '.exe' "$output" output=$func_stripname_result.exe;; esac test -n "$vinfo" && \ func_warning "'-version-info' is ignored for programs" test -n "$release" && \ func_warning "'-release' is ignored for programs" $preload \ && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \ && func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support." case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library is the System framework compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` ;; esac case $host in *-*-darwin*) # Don't allow lazy linking, it breaks C++ global constructors # But is supposedly fixed on 10.4 or later (yay!). if test CXX = "$tagname"; then case ${MACOSX_DEPLOYMENT_TARGET-10.0} in 10.[0123]) func_append compile_command " $wl-bind_at_load" func_append finalize_command " $wl-bind_at_load" ;; esac fi # Time to change all our "foo.ltframework" stuff back to "-framework foo" compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $compile_deplibs " in *" -L$path/$objdir "*) func_append new_libs " -L$path/$objdir" ;; esac ;; esac done for deplib in $compile_deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) func_append new_libs " $deplib" ;; esac ;; *) func_append new_libs " $deplib" ;; esac done compile_deplibs=$new_libs func_append compile_command " $compile_deplibs" func_append finalize_command " $finalize_deplibs" if test -n "$rpath$xrpath"; then # If the user specified any rpath flags, then add them. for libdir in $rpath $xrpath; do # This is the magic to use -rpath. case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac done fi # Now hardcode the library paths rpath= hardcode_libdirs= for libdir in $compile_rpath $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs=$libdir else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" func_append rpath " $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) func_append perm_rpath " $libdir" ;; esac fi case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$libdir:"*) ;; ::) dllsearchpath=$libdir;; *) func_append dllsearchpath ":$libdir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; ::) dllsearchpath=$testbindir;; *) func_append dllsearchpath ":$testbindir";; esac ;; esac done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir=$hardcode_libdirs eval rpath=\" $hardcode_libdir_flag_spec\" fi compile_rpath=$rpath rpath= hardcode_libdirs= for libdir in $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs=$libdir else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" func_append rpath " $flag" fi elif test -n "$runpath_var"; then case "$finalize_perm_rpath " in *" $libdir "*) ;; *) func_append finalize_perm_rpath " $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir=$hardcode_libdirs eval rpath=\" $hardcode_libdir_flag_spec\" fi finalize_rpath=$rpath if test -n "$libobjs" && test yes = "$build_old_libs"; then # Transform all the library objects into standard objects. compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` fi func_generate_dlsyms "$outputname" "@PROGRAM@" false # template prelinking step if test -n "$prelink_cmds"; then func_execute_cmds "$prelink_cmds" 'exit $?' fi wrappers_required=: case $host in *cegcc* | *mingw32ce*) # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. wrappers_required=false ;; *cygwin* | *mingw* ) test yes = "$build_libtool_libs" || wrappers_required=false ;; *) if test no = "$need_relink" || test yes != "$build_libtool_libs"; then wrappers_required=false fi ;; esac $wrappers_required || { # Replace the output file specification. compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` link_command=$compile_command$compile_rpath # We have no uninstalled library dependencies, so finalize right now. exit_status=0 func_show_eval "$link_command" 'exit_status=$?' if test -n "$postlink_cmds"; then func_to_tool_file "$output" postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` func_execute_cmds "$postlink_cmds" 'exit $?' fi # Delete the generated files. if test -f "$output_objdir/${outputname}S.$objext"; then func_show_eval '$RM "$output_objdir/${outputname}S.$objext"' fi exit $exit_status } if test -n "$compile_shlibpath$finalize_shlibpath"; then compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" fi if test -n "$finalize_shlibpath"; then finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" fi compile_var= finalize_var= if test -n "$runpath_var"; then if test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do func_append rpath "$dir:" done compile_var="$runpath_var=\"$rpath\$$runpath_var\" " fi if test -n "$finalize_perm_rpath"; then # We should set the runpath_var. rpath= for dir in $finalize_perm_rpath; do func_append rpath "$dir:" done finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " fi fi if test yes = "$no_install"; then # We don't need to create a wrapper script. link_command=$compile_var$compile_command$compile_rpath # Replace the output file specification. link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` # Delete the old output file. $opt_dry_run || $RM $output # Link the executable and exit func_show_eval "$link_command" 'exit $?' if test -n "$postlink_cmds"; then func_to_tool_file "$output" postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` func_execute_cmds "$postlink_cmds" 'exit $?' fi exit $EXIT_SUCCESS fi case $hardcode_action,$fast_install in relink,*) # Fast installation is not supported link_command=$compile_var$compile_command$compile_rpath relink_command=$finalize_var$finalize_command$finalize_rpath func_warning "this platform does not like uninstalled shared libraries" func_warning "'$output' will be relinked during installation" ;; *,yes) link_command=$finalize_var$compile_command$finalize_rpath relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` ;; *,no) link_command=$compile_var$compile_command$compile_rpath relink_command=$finalize_var$finalize_command$finalize_rpath ;; *,needless) link_command=$finalize_var$compile_command$finalize_rpath relink_command= ;; esac # Replace the output file specification. link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` # Delete the old output files. $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname func_show_eval "$link_command" 'exit $?' if test -n "$postlink_cmds"; then func_to_tool_file "$output_objdir/$outputname" postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` func_execute_cmds "$postlink_cmds" 'exit $?' fi # Now create the wrapper script. func_verbose "creating $output" # Quote the relink command for shipping. if test -n "$relink_command"; then # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else func_quote_arg pretty "$var_value" relink_command="$var=$func_quote_arg_result; export $var; $relink_command" fi done func_quote eval cd "`pwd`" func_quote_arg pretty,unquoted "($func_quote_result; $relink_command)" relink_command=$func_quote_arg_unquoted_result fi # Only actually do things if not in dry run mode. $opt_dry_run || { # win32 will think the script is a binary if it has # a .exe suffix, so we strip it off here. case $output in *.exe) func_stripname '' '.exe' "$output" output=$func_stripname_result ;; esac # test for cygwin because mv fails w/o .exe extensions case $host in *cygwin*) exeext=.exe func_stripname '' '.exe' "$outputname" outputname=$func_stripname_result ;; *) exeext= ;; esac case $host in *cygwin* | *mingw* ) func_dirname_and_basename "$output" "" "." output_name=$func_basename_result output_path=$func_dirname_result cwrappersource=$output_path/$objdir/lt-$output_name.c cwrapper=$output_path/$output_name.exe $RM $cwrappersource $cwrapper trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 func_emit_cwrapperexe_src > $cwrappersource # The wrapper executable is built using the $host compiler, # because it contains $host paths and files. If cross- # compiling, it, like the target executable, must be # executed on the $host or under an emulation environment. $opt_dry_run || { $LTCC $LTCFLAGS -o $cwrapper $cwrappersource $STRIP $cwrapper } # Now, create the wrapper script for func_source use: func_ltwrapper_scriptname $cwrapper $RM $func_ltwrapper_scriptname_result trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 $opt_dry_run || { # note: this script will not be executed, so do not chmod. if test "x$build" = "x$host"; then $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result else func_emit_wrapper no > $func_ltwrapper_scriptname_result fi } ;; * ) $RM $output trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 func_emit_wrapper no > $output chmod +x $output ;; esac } exit $EXIT_SUCCESS ;; esac # See if we need to build an old-fashioned archive. for oldlib in $oldlibs; do case $build_libtool_libs in convenience) oldobjs="$libobjs_save $symfileobj" addlibs=$convenience build_libtool_libs=no ;; module) oldobjs=$libobjs_save addlibs=$old_convenience build_libtool_libs=no ;; *) oldobjs="$old_deplibs $non_pic_objects" $preload && test -f "$symfileobj" \ && func_append oldobjs " $symfileobj" addlibs=$old_convenience ;; esac if test -n "$addlibs"; then gentop=$output_objdir/${outputname}x func_append generated " $gentop" func_extract_archives $gentop $addlibs func_append oldobjs " $func_extract_archives_result" fi # Do each command in the archive commands. if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then cmds=$old_archive_from_new_cmds else # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop=$output_objdir/${outputname}x func_append generated " $gentop" func_extract_archives $gentop $dlprefiles func_append oldobjs " $func_extract_archives_result" fi # POSIX demands no paths to be encoded in archives. We have # to avoid creating archives with duplicate basenames if we # might have to extract them afterwards, e.g., when creating a # static archive out of a convenience library, or when linking # the entirety of a libtool archive into another (currently # not supported by libtool). if (for obj in $oldobjs do func_basename "$obj" $ECHO "$func_basename_result" done | sort | sort -uc >/dev/null 2>&1); then : else echo "copying selected object files to avoid basename conflicts..." gentop=$output_objdir/${outputname}x func_append generated " $gentop" func_mkdir_p "$gentop" save_oldobjs=$oldobjs oldobjs= counter=1 for obj in $save_oldobjs do func_basename "$obj" objbase=$func_basename_result case " $oldobjs " in " ") oldobjs=$obj ;; *[\ /]"$objbase "*) while :; do # Make sure we don't pick an alternate name that also # overlaps. newobj=lt$counter-$objbase func_arith $counter + 1 counter=$func_arith_result case " $oldobjs " in *[\ /]"$newobj "*) ;; *) if test ! -f "$gentop/$newobj"; then break; fi ;; esac done func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" func_append oldobjs " $gentop/$newobj" ;; *) func_append oldobjs " $obj" ;; esac done fi func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 tool_oldlib=$func_to_tool_file_result eval cmds=\"$old_archive_cmds\" func_len " $cmds" len=$func_len_result if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then cmds=$old_archive_cmds elif test -n "$archiver_list_spec"; then func_verbose "using command file archive linking..." for obj in $oldobjs do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" done > $output_objdir/$libname.libcmd func_to_tool_file "$output_objdir/$libname.libcmd" oldobjs=" $archiver_list_spec$func_to_tool_file_result" cmds=$old_archive_cmds else # the command line is too long to link in one step, link in parts func_verbose "using piecewise archive linking..." save_RANLIB=$RANLIB RANLIB=: objlist= concat_cmds= save_oldobjs=$oldobjs oldobjs= # Is there a better way of finding the last object in the list? for obj in $save_oldobjs do last_oldobj=$obj done eval test_cmds=\"$old_archive_cmds\" func_len " $test_cmds" len0=$func_len_result len=$len0 for obj in $save_oldobjs do func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result func_append objlist " $obj" if test "$len" -lt "$max_cmd_len"; then : else # the above command should be used before it gets too long oldobjs=$objlist if test "$obj" = "$last_oldobj"; then RANLIB=$save_RANLIB fi test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\$concat_cmds$old_archive_cmds\" objlist= len=$len0 fi done RANLIB=$save_RANLIB oldobjs=$objlist if test -z "$oldobjs"; then eval cmds=\"\$concat_cmds\" else eval cmds=\"\$concat_cmds~\$old_archive_cmds\" fi fi fi func_execute_cmds "$cmds" 'exit $?' done test -n "$generated" && \ func_show_eval "${RM}r$generated" # Now create the libtool archive. case $output in *.la) old_library= test yes = "$build_old_libs" && old_library=$libname.$libext func_verbose "creating $output" # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else func_quote_arg pretty,unquoted "$var_value" relink_command="$var=$func_quote_arg_unquoted_result; export $var; $relink_command" fi done # Quote the link command for shipping. func_quote eval cd "`pwd`" relink_command="($func_quote_result; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" func_quote_arg pretty,unquoted "$relink_command" relink_command=$func_quote_arg_unquoted_result if test yes = "$hardcode_automatic"; then relink_command= fi # Only create the output if not a dry run. $opt_dry_run || { for installed in no yes; do if test yes = "$installed"; then if test -z "$install_libdir"; then break fi output=$output_objdir/${outputname}i # Replace all uninstalled libtool libraries with the installed ones newdependency_libs= for deplib in $dependency_libs; do case $deplib in *.la) func_basename "$deplib" name=$func_basename_result func_resolve_sysroot "$deplib" eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` test -z "$libdir" && \ func_fatal_error "'$deplib' is not a valid libtool archive" func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" ;; -L*) func_stripname -L '' "$deplib" func_replace_sysroot "$func_stripname_result" func_append newdependency_libs " -L$func_replace_sysroot_result" ;; -R*) func_stripname -R '' "$deplib" func_replace_sysroot "$func_stripname_result" func_append newdependency_libs " -R$func_replace_sysroot_result" ;; *) func_append newdependency_libs " $deplib" ;; esac done dependency_libs=$newdependency_libs newdlfiles= for lib in $dlfiles; do case $lib in *.la) func_basename "$lib" name=$func_basename_result eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ func_fatal_error "'$lib' is not a valid libtool archive" func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" ;; *) func_append newdlfiles " $lib" ;; esac done dlfiles=$newdlfiles newdlprefiles= for lib in $dlprefiles; do case $lib in *.la) # Only pass preopened files to the pseudo-archive (for # eventual linking with the app. that links it) if we # didn't already link the preopened objects directly into # the library: func_basename "$lib" name=$func_basename_result eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ func_fatal_error "'$lib' is not a valid libtool archive" func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" ;; esac done dlprefiles=$newdlprefiles else newdlfiles= for lib in $dlfiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; *) abs=`pwd`"/$lib" ;; esac func_append newdlfiles " $abs" done dlfiles=$newdlfiles newdlprefiles= for lib in $dlprefiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; *) abs=`pwd`"/$lib" ;; esac func_append newdlprefiles " $abs" done dlprefiles=$newdlprefiles fi $RM $output # place dlname in correct position for cygwin # In fact, it would be nice if we could use this code for all target # systems that can't hard-code library paths into their executables # and that have no shared library path variable independent of PATH, # but it turns out we can't easily determine that from inspecting # libtool variables, so we have to hard-code the OSs to which it # applies here; at the moment, that means platforms that use the PE # object format with DLL files. See the long comment at the top of # tests/bindir.at for full details. tdlname=$dlname case $host,$output,$installed,$module,$dlname in *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) # If a -bindir argument was supplied, place the dll there. if test -n "$bindir"; then func_relative_path "$install_libdir" "$bindir" tdlname=$func_relative_path_result/$dlname else # Otherwise fall back on heuristic. tdlname=../bin/$dlname fi ;; esac $ECHO > $output "\ # $outputname - a libtool library file # Generated by $PROGRAM (GNU $PACKAGE) $VERSION # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='$tdlname' # Names of this library. library_names='$library_names' # The name of the static archive. old_library='$old_library' # Linker flags that cannot go in dependency_libs. inherited_linker_flags='$new_inherited_linker_flags' # Libraries that this one depends upon. dependency_libs='$dependency_libs' # Names of additional weak libraries provided by this library weak_library_names='$weak_libs' # Version information for $libname. current=$current age=$age revision=$revision # Is this an already installed library? installed=$installed # Should we warn about portability when linking against -modules? shouldnotlink=$module # Files to dlopen/dlpreopen dlopen='$dlfiles' dlpreopen='$dlprefiles' # Directory that this library needs to be installed in: libdir='$install_libdir'" if test no,yes = "$installed,$need_relink"; then $ECHO >> $output "\ relink_command=\"$relink_command\"" fi done } # Do a symbolic link so that the libtool archive can be found in # LD_LIBRARY_PATH before the program is installed. func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' ;; esac exit $EXIT_SUCCESS } if test link = "$opt_mode" || test relink = "$opt_mode"; then func_mode_link ${1+"$@"} fi # func_mode_uninstall arg... func_mode_uninstall () { $debug_cmd RM=$nonopt files= rmforce=false exit_status=0 # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic=$magic for arg do case $arg in -f) func_append RM " $arg"; rmforce=: ;; -*) func_append RM " $arg" ;; *) func_append files " $arg" ;; esac done test -z "$RM" && \ func_fatal_help "you must specify an RM program" rmdirs= for file in $files; do func_dirname "$file" "" "." dir=$func_dirname_result if test . = "$dir"; then odir=$objdir else odir=$dir/$objdir fi func_basename "$file" name=$func_basename_result test uninstall = "$opt_mode" && odir=$dir # Remember odir for removal later, being careful to avoid duplicates if test clean = "$opt_mode"; then case " $rmdirs " in *" $odir "*) ;; *) func_append rmdirs " $odir" ;; esac fi # Don't error if the file doesn't exist and rm -f was used. if { test -L "$file"; } >/dev/null 2>&1 || { test -h "$file"; } >/dev/null 2>&1 || test -f "$file"; then : elif test -d "$file"; then exit_status=1 continue elif $rmforce; then continue fi rmfiles=$file case $name in *.la) # Possibly a libtool archive, so verify it. if func_lalib_p "$file"; then func_source $dir/$name # Delete the libtool libraries and symlinks. for n in $library_names; do func_append rmfiles " $odir/$n" done test -n "$old_library" && func_append rmfiles " $odir/$old_library" case $opt_mode in clean) case " $library_names " in *" $dlname "*) ;; *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; esac test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" ;; uninstall) if test -n "$library_names"; then # Do each command in the postuninstall commands. func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1' fi if test -n "$old_library"; then # Do each command in the old_postuninstall commands. func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1' fi # FIXME: should reinstall the best remaining shared library. ;; esac fi ;; *.lo) # Possibly a libtool object, so verify it. if func_lalib_p "$file"; then # Read the .lo file func_source $dir/$name # Add PIC object to the list of files to remove. if test -n "$pic_object" && test none != "$pic_object"; then func_append rmfiles " $dir/$pic_object" fi # Add non-PIC object to the list of files to remove. if test -n "$non_pic_object" && test none != "$non_pic_object"; then func_append rmfiles " $dir/$non_pic_object" fi fi ;; *) if test clean = "$opt_mode"; then noexename=$name case $file in *.exe) func_stripname '' '.exe' "$file" file=$func_stripname_result func_stripname '' '.exe' "$name" noexename=$func_stripname_result # $file with .exe has already been added to rmfiles, # add $file without .exe func_append rmfiles " $file" ;; esac # Do a test to see if this is a libtool program. if func_ltwrapper_p "$file"; then if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" relink_command= func_source $func_ltwrapper_scriptname_result func_append rmfiles " $func_ltwrapper_scriptname_result" else relink_command= func_source $dir/$noexename fi # note $name still contains .exe if it was in $file originally # as does the version of $file that was added into $rmfiles func_append rmfiles " $odir/$name $odir/${name}S.$objext" if test yes = "$fast_install" && test -n "$relink_command"; then func_append rmfiles " $odir/lt-$name" fi if test "X$noexename" != "X$name"; then func_append rmfiles " $odir/lt-$noexename.c" fi fi fi ;; esac func_show_eval "$RM $rmfiles" 'exit_status=1' done # Try to remove the $objdir's in the directories where we deleted files for dir in $rmdirs; do if test -d "$dir"; then func_show_eval "rmdir $dir >/dev/null 2>&1" fi done exit $exit_status } if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then func_mode_uninstall ${1+"$@"} fi test -z "$opt_mode" && { help=$generic_help func_fatal_help "you must specify a MODE" } test -z "$exec_cmd" && \ func_fatal_help "invalid operation mode '$opt_mode'" if test -n "$exec_cmd"; then eval exec "$exec_cmd" exit $EXIT_FAILURE fi exit $exit_status # The TAGs below are defined such that we never get into a situation # where we disable both kinds of libraries. Given conflicting # choices, we go for a static library, that is the most portable, # since we can't tell whether shared libraries were disabled because # the user asked for that or because the platform doesn't support # them. This is particularly important on AIX, because we don't # support having both static and shared libraries enabled at the same # time on that platform, so we default to a shared-only configuration. # If a disable-shared tag is given, we'll fallback to a static-only # configuration. But we'll never go from static-only to shared-only. # ### BEGIN LIBTOOL TAG CONFIG: disable-shared build_libtool_libs=no build_old_libs=yes # ### END LIBTOOL TAG CONFIG: disable-shared # ### BEGIN LIBTOOL TAG CONFIG: disable-static build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` # ### END LIBTOOL TAG CONFIG: disable-static # Local Variables: # mode:shell-script # sh-indentation:2 # End: ibus-libpinyin-1.16.1/config.h.in0000644000175000017500000001347514767166740012275 /* config.h.in. Generated from configure.ac by autoheader. */ /* Define to 1 if translation of program messages to the user's native language is requested. */ #undef ENABLE_NLS /* Gettext package */ #undef GETTEXT_PACKAGE /* Defined if the requested minimum BOOST version is satisfied */ #undef HAVE_BOOST /* Define to 1 if you have */ #undef HAVE_BOOST_BIND_HPP /* Define to 1 if you have */ #undef HAVE_BOOST_SIGNALS2_HPP /* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework. */ #undef HAVE_CFLOCALECOPYCURRENT /* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework. */ #undef HAVE_CFPREFERENCESCOPYAPPVALUE /* Define if the GNU dcgettext() function is already present or preinstalled. */ #undef HAVE_DCGETTEXT /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H /* Define if the GNU gettext() function is already present or preinstalled. */ #undef HAVE_GETTEXT /* Define to 1 if you have the 'ibus_config_get_values' function. */ #undef HAVE_IBUS_CONFIG_GET_VALUES /* Define if you have the iconv() function and it works. */ #undef HAVE_ICONV /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_MINIX_CONFIG_H /* Define if found opencc */ #undef HAVE_OPENCC /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDIO_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to 1 if you have the header file. */ #undef HAVE_WCHAR_H /* Define to the sub-directory where libtool stores uninstalled libraries. */ #undef LT_OBJDIR /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the home page for this package. */ #undef PACKAGE_URL /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define to 1 if all of the C89 standard headers exist (not just the ones required in a freestanding environment). This macro is provided for backward compatibility; new code need not use it. */ #undef STDC_HEADERS /* Enable extensions on AIX, Interix, z/OS. */ #ifndef _ALL_SOURCE # undef _ALL_SOURCE #endif /* Enable general extensions on macOS. */ #ifndef _DARWIN_C_SOURCE # undef _DARWIN_C_SOURCE #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # undef __EXTENSIONS__ #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # undef _GNU_SOURCE #endif /* Enable X/Open compliant socket functions that do not require linking with -lxnet on HP-UX 11.11. */ #ifndef _HPUX_ALT_XOPEN_SOCKET_API # undef _HPUX_ALT_XOPEN_SOCKET_API #endif /* Identify the host operating system as Minix. This macro does not affect the system headers' behavior. A future release of Autoconf may stop defining this macro. */ #ifndef _MINIX # undef _MINIX #endif /* Enable general extensions on NetBSD. Enable NetBSD compatibility extensions on Minix. */ #ifndef _NETBSD_SOURCE # undef _NETBSD_SOURCE #endif /* Enable OpenBSD compatibility extensions on NetBSD. Oddly enough, this does nothing on OpenBSD. */ #ifndef _OPENBSD_SOURCE # undef _OPENBSD_SOURCE #endif /* Define to 1 if needed for POSIX-compatible behavior. */ #ifndef _POSIX_SOURCE # undef _POSIX_SOURCE #endif /* Define to 2 if needed for POSIX-compatible behavior. */ #ifndef _POSIX_1_SOURCE # undef _POSIX_1_SOURCE #endif /* Enable POSIX-compatible threading on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # undef _POSIX_PTHREAD_SEMANTICS #endif /* Enable extensions specified by ISO/IEC TS 18661-5:2014. */ #ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__ # undef __STDC_WANT_IEC_60559_ATTRIBS_EXT__ #endif /* Enable extensions specified by ISO/IEC TS 18661-1:2014. */ #ifndef __STDC_WANT_IEC_60559_BFP_EXT__ # undef __STDC_WANT_IEC_60559_BFP_EXT__ #endif /* Enable extensions specified by ISO/IEC TS 18661-2:2015. */ #ifndef __STDC_WANT_IEC_60559_DFP_EXT__ # undef __STDC_WANT_IEC_60559_DFP_EXT__ #endif /* Enable extensions specified by C23 Annex F. */ #ifndef __STDC_WANT_IEC_60559_EXT__ # undef __STDC_WANT_IEC_60559_EXT__ #endif /* Enable extensions specified by ISO/IEC TS 18661-4:2015. */ #ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__ # undef __STDC_WANT_IEC_60559_FUNCS_EXT__ #endif /* Enable extensions specified by C23 Annex H and ISO/IEC TS 18661-3:2015. */ #ifndef __STDC_WANT_IEC_60559_TYPES_EXT__ # undef __STDC_WANT_IEC_60559_TYPES_EXT__ #endif /* Enable extensions specified by ISO/IEC TR 24731-2:2010. */ #ifndef __STDC_WANT_LIB_EXT2__ # undef __STDC_WANT_LIB_EXT2__ #endif /* Enable extensions specified by ISO/IEC 24747:2009. */ #ifndef __STDC_WANT_MATH_SPEC_FUNCS__ # undef __STDC_WANT_MATH_SPEC_FUNCS__ #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # undef _TANDEM_SOURCE #endif /* Enable X/Open extensions. Define to 500 only if necessary to make mbstate_t available. */ #ifndef _XOPEN_SOURCE # undef _XOPEN_SOURCE #endif /* Version number of package */ #undef VERSION ibus-libpinyin-1.16.1/ABOUT-NLS0000644000175000017500000026774113440165257011475 1 Notes on the Free Translation Project *************************************** Free software is going international! The Free Translation Project is a way to get maintainers of free software, translators, and users all together, so that free software will gradually become able to speak many languages. A few packages already provide translations for their messages. If you found this 'ABOUT-NLS' file inside a distribution, you may assume that the distributed package does use GNU 'gettext' internally, itself available at your nearest GNU archive site. But you do _not_ need to install GNU 'gettext' prior to configuring, installing or using this package with messages translated. Installers will find here some useful hints. These notes also explain how users should proceed for getting the programs to use the available translations. They tell how people wanting to contribute and work on translations can contact the appropriate team. 1.1 INSTALL Matters =================== Some packages are "localizable" when properly installed; the programs they contain can be made to speak your own native language. Most such packages use GNU 'gettext'. Other packages have their own ways to internationalization, predating GNU 'gettext'. By default, this package will be installed to allow translation of messages. It will automatically detect whether the system already provides the GNU 'gettext' functions. Installers may use special options at configuration time for changing the default behaviour. The command: ./configure --disable-nls will _totally_ disable translation of messages. When you already have GNU 'gettext' installed on your system and run configure without an option for your new package, 'configure' will probably detect the previously built and installed 'libintl' library and will decide to use it. If not, you may have to to use the '--with-libintl-prefix' option to tell 'configure' where to look for it. Internationalized packages usually have many 'po/LL.po' files, where LL gives an ISO 639 two-letter code identifying the language. Unless translations have been forbidden at 'configure' time by using the '--disable-nls' switch, all available translations are installed together with the package. However, the environment variable 'LINGUAS' may be set, prior to configuration, to limit the installed set. 'LINGUAS' should then contain a space separated list of two-letter codes, stating which languages are allowed. 1.2 Using This Package ====================== As a user, if your language has been installed for this package, you only have to set the 'LANG' environment variable to the appropriate 'LL_CC' combination. If you happen to have the 'LC_ALL' or some other 'LC_xxx' environment variables set, you should unset them before setting 'LANG', otherwise the setting of 'LANG' will not have the desired effect. Here 'LL' is an ISO 639 two-letter language code, and 'CC' is an ISO 3166 two-letter country code. For example, let's suppose that you speak German and live in Germany. At the shell prompt, merely execute 'setenv LANG de_DE' (in 'csh'), 'export LANG; LANG=de_DE' (in 'sh') or 'export LANG=de_DE' (in 'bash'). This can be done from your '.login' or '.profile' file, once and for all. You might think that the country code specification is redundant. But in fact, some languages have dialects in different countries. For example, 'de_AT' is used for Austria, and 'pt_BR' for Brazil. The country code serves to distinguish the dialects. The locale naming convention of 'LL_CC', with 'LL' denoting the language and 'CC' denoting the country, is the one use on systems based on GNU libc. On other systems, some variations of this scheme are used, such as 'LL' or 'LL_CC.ENCODING'. You can get the list of locales supported by your system for your language by running the command 'locale -a | grep '^LL''. Not all programs have translations for all languages. By default, an English message is shown in place of a nonexistent translation. If you understand other languages, you can set up a priority list of languages. This is done through a different environment variable, called 'LANGUAGE'. GNU 'gettext' gives preference to 'LANGUAGE' over 'LANG' for the purpose of message handling, but you still need to have 'LANG' set to the primary language; this is required by other parts of the system libraries. For example, some Swedish users who would rather read translations in German than English for when Swedish is not available, set 'LANGUAGE' to 'sv:de' while leaving 'LANG' to 'sv_SE'. Special advice for Norwegian users: The language code for Norwegian bokma*l changed from 'no' to 'nb' recently (in 2003). During the transition period, while some message catalogs for this language are installed under 'nb' and some older ones under 'no', it's recommended for Norwegian users to set 'LANGUAGE' to 'nb:no' so that both newer and older translations are used. In the 'LANGUAGE' environment variable, but not in the 'LANG' environment variable, 'LL_CC' combinations can be abbreviated as 'LL' to denote the language's main dialect. For example, 'de' is equivalent to 'de_DE' (German as spoken in Germany), and 'pt' to 'pt_PT' (Portuguese as spoken in Portugal) in this context. 1.3 Translating Teams ===================== For the Free Translation Project to be a success, we need interested people who like their own language and write it well, and who are also able to synergize with other translators speaking the same language. Each translation team has its own mailing list. The up-to-date list of teams can be found at the Free Translation Project's homepage, 'http://translationproject.org/', in the "Teams" area. If you'd like to volunteer to _work_ at translating messages, you should become a member of the translating team for your own language. The subscribing address is _not_ the same as the list itself, it has '-request' appended. For example, speakers of Swedish can send a message to 'sv-request@li.org', having this message body: subscribe Keep in mind that team members are expected to participate _actively_ in translations, or at solving translational difficulties, rather than merely lurking around. If your team does not exist yet and you want to start one, or if you are unsure about what to do or how to get started, please write to 'coordinator@translationproject.org' to reach the coordinator for all translator teams. The English team is special. It works at improving and uniformizing the terminology in use. Proven linguistic skills are praised more than programming skills, here. 1.4 Available Packages ====================== Languages are not equally supported in all packages. The following matrix shows the current state of internationalization, as of Jun 2014. The matrix shows, in regard of each package, for which languages PO files have been submitted to translation coordination, with a translation percentage of at least 50%. Ready PO files af am an ar as ast az be bg bn bn_IN bs ca crh cs +---------------------------------------------------+ a2ps | [] [] [] | aegis | | anubis | | aspell | [] [] [] | bash | [] [] [] | bfd | | binutils | [] | bison | | bison-runtime | [] | buzztrax | [] | ccd2cue | | ccide | | cflow | | clisp | | coreutils | [] [] | cpio | | cppi | | cpplib | [] | cryptsetup | [] | datamash | | denemo | [] [] | dfarc | [] | dialog | [] [] [] | dico | | diffutils | [] | dink | [] | direvent | | doodle | [] | dos2unix | | dos2unix-man | | e2fsprogs | [] [] | enscript | [] | exif | [] | fetchmail | [] [] | findutils | [] | flex | [] | freedink | [] [] | fusionforge | | gas | | gawk | [] | gcal | [] | gcc | | gdbm | | gettext-examples | [] [] [] [] [] | gettext-runtime | [] [] [] | gettext-tools | [] [] | gjay | | glunarclock | [] [] [] | gnubiff | [] | gnubik | [] | gnucash | () () [] | gnuchess | | gnulib | [] | gnunet | | gnunet-gtk | | gold | | gphoto2 | [] | gprof | [] | gramadoir | | grep | [] [] [] | grub | [] | gsasl | | gss | | gst-plugins-bad | [] | gst-plugins-base | [] [] [] | gst-plugins-good | [] [] [] | gst-plugins-ugly | [] [] [] | gstreamer | [] [] [] [] | gtick | [] | gtkam | [] [] | gtkspell | [] [] [] [] [] | guix | | guix-packages | | gutenprint | [] | hello | [] | help2man | | help2man-texi | | hylafax | | idutils | | iso_15924 | [] | iso_3166 | [] [] [] [] [] [] [] [] [] [] | iso_3166_2 | | iso_4217 | [] | iso_639 | [] [] [] [] [] [] [] [] [] | iso_639_3 | [] [] | iso_639_5 | | jwhois | | kbd | [] | klavaro | [] [] [] [] [] | latrine | | ld | [] | leafpad | [] [] [] [] | libc | [] [] [] | libexif | () | libextractor | | libgnutls | [] | libgphoto2 | [] | libgphoto2_port | [] | libgsasl | | libiconv | [] [] | libidn | [] | liferea | [] [] [] [] | lilypond | [] [] | lordsawar | [] | lprng | | lynx | [] [] | m4 | [] | mailfromd | | mailutils | | make | [] | man-db | [] [] | man-db-manpages | | midi-instruments | [] [] [] | minicom | [] | mkisofs | [] | myserver | [] | nano | [] [] [] | opcodes | | parted | [] | pies | | popt | [] | procps-ng | | procps-ng-man | | psmisc | [] | pspp | [] | pushover | [] | pwdutils | | pyspread | | radius | [] | recode | [] [] [] | recutils | | rpm | | rush | | sarg | | sed | [] [] [] | sharutils | [] | shishi | | skribilo | | solfege | [] | solfege-manual | | spotmachine | | sudo | [] [] | sudoers | [] [] | sysstat | [] | tar | [] [] [] | texinfo | [] [] | texinfo_document | [] | tigervnc | [] | tin | | tin-man | | tracgoogleappsa... | | trader | | util-linux | [] | ve | | vice | | vmm | | vorbis-tools | [] | wastesedge | | wcd | | wcd-man | | wdiff | [] [] | wget | [] | wyslij-po | | xboard | | xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] | +---------------------------------------------------+ af am an ar as ast az be bg bn bn_IN bs ca crh cs 4 0 2 5 3 11 0 8 23 3 3 1 54 4 73 da de el en en_GB en_ZA eo es et eu fa fi fr +--------------------------------------------------+ a2ps | [] [] [] [] [] [] [] [] [] | aegis | [] [] [] [] | anubis | [] [] [] [] [] | aspell | [] [] [] [] [] [] [] | bash | [] [] [] | bfd | [] [] [] [] | binutils | [] [] [] | bison | [] [] [] [] [] [] [] [] | bison-runtime | [] [] [] [] [] [] [] [] | buzztrax | [] [] [] [] | ccd2cue | [] [] [] | ccide | [] [] [] [] [] [] | cflow | [] [] [] [] [] | clisp | [] [] [] [] [] | coreutils | [] [] [] [] [] | cpio | [] [] [] [] [] | cppi | [] [] [] [] [] | cpplib | [] [] [] [] [] [] | cryptsetup | [] [] [] [] [] | datamash | [] [] [] [] | denemo | [] | dfarc | [] [] [] [] [] [] | dialog | [] [] [] [] [] [] [] [] [] | dico | [] [] [] [] | diffutils | [] [] [] [] [] [] | dink | [] [] [] [] [] [] | direvent | [] [] [] [] | doodle | [] [] [] [] | dos2unix | [] [] [] [] [] | dos2unix-man | [] [] [] | e2fsprogs | [] [] [] [] [] | enscript | [] [] [] [] [] [] | exif | [] [] [] [] [] [] | fetchmail | [] () [] [] [] [] [] | findutils | [] [] [] [] [] [] [] [] | flex | [] [] [] [] [] [] | freedink | [] [] [] [] [] [] [] [] | fusionforge | [] [] [] | gas | [] [] [] | gawk | [] [] [] [] [] | gcal | [] [] [] [] | gcc | [] [] | gdbm | [] [] [] [] [] | gettext-examples | [] [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] | gettext-tools | [] [] [] [] [] | gjay | [] [] [] [] | glunarclock | [] [] [] [] [] | gnubiff | () [] [] () | gnubik | [] [] [] [] [] | gnucash | [] () () () () () () | gnuchess | [] [] [] [] | gnulib | [] [] [] [] [] [] [] | gnunet | [] | gnunet-gtk | [] | gold | [] [] [] | gphoto2 | [] () [] [] | gprof | [] [] [] [] [] [] | gramadoir | [] [] [] [] [] | grep | [] [] [] [] [] [] [] | grub | [] [] [] [] [] | gsasl | [] [] [] [] [] | gss | [] [] [] [] [] | gst-plugins-bad | [] [] | gst-plugins-base | [] [] [] [] [] [] | gst-plugins-good | [] [] [] [] [] [] [] | gst-plugins-ugly | [] [] [] [] [] [] [] [] | gstreamer | [] [] [] [] [] [] [] | gtick | [] () [] [] [] | gtkam | [] () [] [] [] [] | gtkspell | [] [] [] [] [] [] [] [] | guix | [] [] | guix-packages | | gutenprint | [] [] [] [] | hello | [] [] [] [] [] [] [] [] | help2man | [] [] [] [] [] [] [] | help2man-texi | [] [] [] | hylafax | [] [] | idutils | [] [] [] [] [] | iso_15924 | [] () [] [] () [] () | iso_3166 | [] () [] [] [] [] () [] () | iso_3166_2 | [] () () () | iso_4217 | [] () [] [] [] () [] () | iso_639 | [] () [] [] () [] () | iso_639_3 | () () () | iso_639_5 | () () () | jwhois | [] [] [] [] [] | kbd | [] [] [] [] [] [] | klavaro | [] [] [] [] [] [] [] | latrine | [] () [] [] | ld | [] [] [] [] | leafpad | [] [] [] [] [] [] [] [] | libc | [] [] [] [] [] | libexif | [] [] () [] [] | libextractor | [] | libgnutls | [] [] [] [] | libgphoto2 | [] () [] | libgphoto2_port | [] () [] [] [] [] | libgsasl | [] [] [] [] [] | libiconv | [] [] [] [] [] [] [] | libidn | [] [] [] [] [] | liferea | [] () [] [] [] [] [] | lilypond | [] [] [] [] [] [] | lordsawar | [] [] | lprng | | lynx | [] [] [] [] [] [] | m4 | [] [] [] [] [] [] | mailfromd | [] | mailutils | [] [] [] [] | make | [] [] [] [] [] | man-db | [] [] [] [] | man-db-manpages | [] [] | midi-instruments | [] [] [] [] [] [] [] [] [] | minicom | [] [] [] [] [] | mkisofs | [] [] [] | myserver | [] [] [] [] | nano | [] [] [] [] [] [] [] | opcodes | [] [] [] [] [] | parted | [] [] [] | pies | [] | popt | [] [] [] [] [] [] | procps-ng | [] [] | procps-ng-man | [] [] | psmisc | [] [] [] [] [] [] [] | pspp | [] [] [] | pushover | () [] [] [] | pwdutils | [] [] [] | pyspread | [] [] [] | radius | [] [] | recode | [] [] [] [] [] [] [] | recutils | [] [] [] [] | rpm | [] [] [] [] [] | rush | [] [] [] | sarg | [] [] | sed | [] [] [] [] [] [] [] [] | sharutils | [] [] [] [] | shishi | [] [] [] | skribilo | [] [] | solfege | [] [] [] [] [] [] [] [] | solfege-manual | [] [] [] [] [] | spotmachine | [] [] [] [] | sudo | [] [] [] [] [] [] | sudoers | [] [] [] [] [] [] | sysstat | [] [] [] [] [] [] | tar | [] [] [] [] [] [] [] | texinfo | [] [] [] [] [] | texinfo_document | [] [] [] [] | tigervnc | [] [] [] [] [] [] | tin | [] [] [] [] | tin-man | [] | tracgoogleappsa... | [] [] [] [] [] | trader | [] [] [] [] [] [] | util-linux | [] [] [] [] | ve | [] [] [] [] [] | vice | () () () | vmm | [] [] | vorbis-tools | [] [] [] [] | wastesedge | [] () | wcd | [] [] [] [] | wcd-man | [] | wdiff | [] [] [] [] [] [] [] | wget | [] [] [] [] [] [] | wyslij-po | [] [] [] [] | xboard | [] [] [] [] | xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] [] [] [] [] | +--------------------------------------------------+ da de el en en_GB en_ZA eo es et eu fa fi fr 120 130 32 1 6 0 94 95 22 13 4 103 136 ga gd gl gu he hi hr hu hy ia id is it ja ka kk +-------------------------------------------------+ a2ps | [] [] [] [] | aegis | [] | anubis | [] [] [] [] | aspell | [] [] [] [] [] | bash | [] [] [] | bfd | [] [] | binutils | [] [] [] | bison | [] | bison-runtime | [] [] [] [] [] [] [] [] | buzztrax | | ccd2cue | [] | ccide | [] [] | cflow | [] [] [] | clisp | | coreutils | [] [] [] | cpio | [] [] [] [] [] [] | cppi | [] [] [] [] [] | cpplib | [] [] | cryptsetup | [] | datamash | | denemo | [] | dfarc | [] [] [] | dialog | [] [] [] [] [] [] [] [] [] [] | dico | | diffutils | [] [] [] [] | dink | [] | direvent | [] | doodle | [] [] | dos2unix | [] [] | dos2unix-man | | e2fsprogs | [] | enscript | [] [] [] | exif | [] [] [] [] [] [] | fetchmail | [] [] [] | findutils | [] [] [] [] [] [] [] | flex | [] | freedink | [] [] [] [] | fusionforge | | gas | [] | gawk | [] () [] | gcal | | gcc | | gdbm | | gettext-examples | [] [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] [] | gettext-tools | [] [] [] | gjay | [] | glunarclock | [] [] [] [] [] [] | gnubiff | [] [] () | gnubik | [] [] [] | gnucash | () () () () () [] | gnuchess | | gnulib | [] [] [] [] [] | gnunet | | gnunet-gtk | | gold | [] [] | gphoto2 | [] [] [] [] | gprof | [] [] [] [] | gramadoir | [] [] [] | grep | [] [] [] [] [] [] [] | grub | [] [] [] | gsasl | [] [] [] [] [] | gss | [] [] [] [] [] | gst-plugins-bad | [] | gst-plugins-base | [] [] [] [] | gst-plugins-good | [] [] [] [] [] [] | gst-plugins-ugly | [] [] [] [] [] [] | gstreamer | [] [] [] [] [] | gtick | [] [] [] [] [] | gtkam | [] [] [] [] [] | gtkspell | [] [] [] [] [] [] [] [] [] [] | guix | | guix-packages | | gutenprint | [] [] [] | hello | [] [] [] [] [] | help2man | [] [] [] | help2man-texi | | hylafax | [] | idutils | [] [] | iso_15924 | [] [] [] [] [] [] | iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] | iso_3166_2 | [] [] | iso_4217 | [] [] [] [] [] [] | iso_639 | [] [] [] [] [] [] [] [] [] | iso_639_3 | [] [] | iso_639_5 | | jwhois | [] [] [] [] | kbd | [] [] [] | klavaro | [] [] [] [] [] | latrine | [] | ld | [] [] [] [] | leafpad | [] [] [] [] [] [] [] () | libc | [] [] [] [] [] | libexif | [] | libextractor | | libgnutls | [] | libgphoto2 | [] [] | libgphoto2_port | [] [] | libgsasl | [] [] [] [] | libiconv | [] [] [] [] [] [] [] | libidn | [] [] [] [] | liferea | [] [] [] [] [] | lilypond | [] | lordsawar | | lprng | [] | lynx | [] [] [] [] | m4 | [] [] [] [] [] | mailfromd | | mailutils | | make | [] [] [] [] | man-db | [] [] | man-db-manpages | [] [] | midi-instruments | [] [] [] [] [] [] [] [] [] | minicom | [] [] [] | mkisofs | [] [] | myserver | [] | nano | [] [] [] [] [] | opcodes | [] [] [] | parted | [] [] [] [] | pies | | popt | [] [] [] [] [] [] [] [] [] [] | procps-ng | | procps-ng-man | | psmisc | [] [] [] [] | pspp | [] [] | pushover | [] | pwdutils | [] | pyspread | | radius | [] | recode | [] [] [] [] [] [] [] | recutils | | rpm | [] | rush | [] | sarg | | sed | [] [] [] [] [] [] [] | sharutils | | shishi | | skribilo | [] | solfege | [] [] | solfege-manual | | spotmachine | | sudo | [] [] [] [] | sudoers | [] [] [] | sysstat | [] [] [] | tar | [] [] [] [] [] [] | texinfo | [] [] [] | texinfo_document | [] [] | tigervnc | | tin | | tin-man | | tracgoogleappsa... | [] [] [] [] | trader | [] [] | util-linux | [] | ve | [] | vice | () () | vmm | | vorbis-tools | [] [] | wastesedge | () | wcd | | wcd-man | | wdiff | [] [] [] | wget | [] [] [] | wyslij-po | [] [] [] | xboard | | xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] [] [] | +-------------------------------------------------+ ga gd gl gu he hi hr hu hy ia id is it ja ka kk 35 2 47 4 8 2 53 69 2 6 80 11 86 58 0 3 kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl +--------------------------------------------------+ a2ps | [] [] | aegis | [] | anubis | [] [] [] | aspell | [] [] | bash | [] [] | bfd | | binutils | | bison | [] | bison-runtime | [] [] [] [] [] [] | buzztrax | | ccd2cue | | ccide | [] [] | cflow | [] | clisp | [] | coreutils | [] [] | cpio | [] | cppi | | cpplib | [] | cryptsetup | [] | datamash | [] [] | denemo | | dfarc | [] [] | dialog | [] [] [] [] [] [] | dico | | diffutils | [] [] [] | dink | [] | direvent | [] | doodle | [] | dos2unix | [] [] | dos2unix-man | [] | e2fsprogs | [] | enscript | [] | exif | [] [] | fetchmail | [] | findutils | [] [] | flex | [] | freedink | [] [] | fusionforge | | gas | | gawk | [] | gcal | | gcc | | gdbm | | gettext-examples | [] [] [] [] [] [] | gettext-runtime | [] [] | gettext-tools | [] | gjay | | glunarclock | [] [] | gnubiff | [] | gnubik | [] [] | gnucash | () () () () () () () [] | gnuchess | [] [] | gnulib | [] | gnunet | | gnunet-gtk | | gold | | gphoto2 | [] | gprof | [] [] | gramadoir | [] | grep | [] [] | grub | [] [] [] | gsasl | [] | gss | | gst-plugins-bad | [] [] | gst-plugins-base | [] [] [] | gst-plugins-good | [] [] [] [] | gst-plugins-ugly | [] [] [] [] [] | gstreamer | [] [] | gtick | [] | gtkam | [] [] | gtkspell | [] [] [] [] [] [] [] | guix | | guix-packages | | gutenprint | [] | hello | [] [] [] | help2man | [] | help2man-texi | | hylafax | [] | idutils | [] | iso_15924 | () [] [] | iso_3166 | [] [] [] () [] [] [] [] [] [] | iso_3166_2 | () [] | iso_4217 | () [] [] [] | iso_639 | [] [] () [] [] [] [] | iso_639_3 | [] () [] | iso_639_5 | () | jwhois | [] [] | kbd | [] | klavaro | [] [] | latrine | | ld | | leafpad | [] [] [] [] [] | libc | [] [] | libexif | [] | libextractor | [] | libgnutls | [] [] | libgphoto2 | [] | libgphoto2_port | [] | libgsasl | [] | libiconv | [] [] | libidn | [] | liferea | [] [] [] | lilypond | [] | lordsawar | | lprng | | lynx | [] | m4 | [] | mailfromd | | mailutils | | make | [] [] | man-db | [] | man-db-manpages | [] | midi-instruments | [] [] [] [] [] [] [] | minicom | [] | mkisofs | [] | myserver | | nano | [] [] [] | opcodes | [] | parted | [] | pies | | popt | [] [] [] [] [] | procps-ng | | procps-ng-man | | psmisc | [] | pspp | [] [] | pushover | | pwdutils | [] | pyspread | | radius | [] | recode | [] [] | recutils | [] | rpm | [] | rush | [] | sarg | | sed | [] [] | sharutils | [] | shishi | | skribilo | | solfege | [] [] | solfege-manual | [] | spotmachine | [] | sudo | [] [] | sudoers | [] [] | sysstat | [] [] | tar | [] [] [] | texinfo | [] | texinfo_document | [] | tigervnc | [] | tin | | tin-man | | tracgoogleappsa... | [] [] [] | trader | [] | util-linux | [] | ve | [] | vice | [] | vmm | [] | vorbis-tools | [] | wastesedge | [] | wcd | [] | wcd-man | [] | wdiff | [] | wget | [] [] | wyslij-po | [] | xboard | [] | xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] | +--------------------------------------------------+ kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl 5 11 4 6 0 13 22 3 3 3 4 11 2 40 1 124 nn or os pa pl ps pt pt_BR ro ru rw sk sl sq sr +--------------------------------------------------+ a2ps | [] [] [] [] [] [] [] | aegis | [] [] | anubis | [] [] [] | aspell | [] [] [] [] [] [] [] | bash | [] [] [] [] [] | bfd | [] | binutils | [] [] | bison | [] [] [] | bison-runtime | [] [] [] [] [] [] [] [] | buzztrax | | ccd2cue | [] | ccide | [] [] [] | cflow | [] [] | clisp | [] | coreutils | [] [] [] [] | cpio | [] [] [] | cppi | [] [] [] | cpplib | [] [] [] | cryptsetup | [] [] | datamash | [] [] | denemo | | dfarc | [] [] [] | dialog | [] [] [] [] [] [] [] | dico | [] | diffutils | [] [] | dink | | direvent | [] [] | doodle | [] [] | dos2unix | [] [] [] [] | dos2unix-man | [] [] | e2fsprogs | [] | enscript | [] [] [] [] [] [] | exif | [] [] [] [] [] [] | fetchmail | [] [] [] | findutils | [] [] [] [] [] | flex | [] [] [] [] [] | freedink | [] [] [] [] [] | fusionforge | | gas | | gawk | [] | gcal | | gcc | | gdbm | [] [] [] | gettext-examples | [] [] [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] [] [] [] | gettext-tools | [] [] [] [] [] [] [] | gjay | [] | glunarclock | [] [] [] [] [] [] | gnubiff | [] | gnubik | [] [] [] [] | gnucash | () () () () [] | gnuchess | [] [] | gnulib | [] [] [] [] [] | gnunet | | gnunet-gtk | | gold | | gphoto2 | [] [] [] [] [] | gprof | [] [] [] [] | gramadoir | [] [] | grep | [] [] [] [] [] [] | grub | [] [] [] [] [] | gsasl | [] [] [] | gss | [] [] [] [] | gst-plugins-bad | [] [] [] [] | gst-plugins-base | [] [] [] [] [] [] | gst-plugins-good | [] [] [] [] [] [] [] | gst-plugins-ugly | [] [] [] [] [] [] [] | gstreamer | [] [] [] [] [] [] [] | gtick | [] [] [] [] [] | gtkam | [] [] [] [] [] [] | gtkspell | [] [] [] [] [] [] [] [] [] | guix | | guix-packages | | gutenprint | [] [] | hello | [] [] [] [] [] [] | help2man | [] [] [] [] | help2man-texi | [] | hylafax | | idutils | [] [] [] | iso_15924 | [] () [] [] [] [] | iso_3166 | [] [] [] [] () [] [] [] [] [] [] [] [] | iso_3166_2 | [] () [] | iso_4217 | [] [] () [] [] [] [] [] | iso_639 | [] [] [] () [] [] [] [] [] [] | iso_639_3 | [] () | iso_639_5 | () [] | jwhois | [] [] [] [] | kbd | [] [] | klavaro | [] [] [] [] [] | latrine | [] | ld | | leafpad | [] [] [] [] [] [] [] [] [] | libc | [] [] [] | libexif | [] () [] | libextractor | [] | libgnutls | [] | libgphoto2 | [] | libgphoto2_port | [] [] [] [] [] | libgsasl | [] [] [] [] | libiconv | [] [] [] [] [] | libidn | [] [] [] | liferea | [] [] [] [] () [] [] | lilypond | | lordsawar | | lprng | [] | lynx | [] [] | m4 | [] [] [] [] [] | mailfromd | [] | mailutils | [] | make | [] [] [] | man-db | [] [] [] | man-db-manpages | [] [] [] | midi-instruments | [] [] [] [] [] [] [] [] | minicom | [] [] [] [] | mkisofs | [] [] [] | myserver | [] [] | nano | [] [] [] [] [] [] | opcodes | | parted | [] [] [] [] [] [] | pies | [] | popt | [] [] [] [] [] [] | procps-ng | [] | procps-ng-man | [] | psmisc | [] [] [] [] | pspp | [] [] | pushover | | pwdutils | [] | pyspread | [] [] | radius | [] [] | recode | [] [] [] [] [] [] [] [] | recutils | [] | rpm | [] | rush | [] [] [] | sarg | [] [] | sed | [] [] [] [] [] [] [] [] | sharutils | [] [] [] | shishi | [] [] | skribilo | | solfege | [] [] [] | solfege-manual | [] [] | spotmachine | [] [] | sudo | [] [] [] [] [] [] | sudoers | [] [] [] [] | sysstat | [] [] [] [] [] | tar | [] [] [] [] [] | texinfo | [] [] [] | texinfo_document | [] [] | tigervnc | [] | tin | [] | tin-man | | tracgoogleappsa... | [] [] [] [] | trader | [] | util-linux | [] [] | ve | [] [] [] | vice | | vmm | | vorbis-tools | [] [] [] | wastesedge | | wcd | | wcd-man | | wdiff | [] [] [] [] [] | wget | [] [] [] [] | wyslij-po | [] [] [] [] | xboard | [] [] [] | xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] [] | +--------------------------------------------------+ nn or os pa pl ps pt pt_BR ro ru rw sk sl sq sr 7 3 1 6 114 1 12 83 32 80 3 38 45 7 94 sv sw ta te tg th tr uk ur vi wa wo zh_CN zh_HK +---------------------------------------------------+ a2ps | [] [] [] [] [] | aegis | [] | anubis | [] [] [] [] | aspell | [] [] [] [] | bash | [] [] [] [] | bfd | [] [] | binutils | [] [] [] | bison | [] [] [] [] | bison-runtime | [] [] [] [] [] [] | buzztrax | [] [] [] | ccd2cue | [] [] [] | ccide | [] [] [] [] | cflow | [] [] [] [] | clisp | | coreutils | [] [] [] [] | cpio | [] [] [] [] [] | cppi | [] [] [] [] | cpplib | [] [] [] [] [] | cryptsetup | [] [] [] | datamash | [] [] [] | denemo | | dfarc | [] | dialog | [] [] [] [] [] [] | dico | [] | diffutils | [] [] [] [] [] | dink | | direvent | [] [] | doodle | [] [] | dos2unix | [] [] [] [] | dos2unix-man | [] [] [] | e2fsprogs | [] [] [] [] | enscript | [] [] [] [] | exif | [] [] [] [] [] | fetchmail | [] [] [] [] | findutils | [] [] [] [] [] | flex | [] [] [] [] | freedink | [] [] | fusionforge | | gas | [] | gawk | [] [] | gcal | [] [] | gcc | [] [] | gdbm | [] [] | gettext-examples | [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] | gettext-tools | [] [] [] [] [] | gjay | [] [] | glunarclock | [] [] [] [] | gnubiff | [] [] | gnubik | [] [] [] [] | gnucash | () () () () [] | gnuchess | [] [] | gnulib | [] [] [] [] | gnunet | | gnunet-gtk | | gold | [] [] | gphoto2 | [] [] [] [] | gprof | [] [] [] [] | gramadoir | [] [] [] | grep | [] [] [] [] [] | grub | [] [] [] [] | gsasl | [] [] [] [] | gss | [] [] [] | gst-plugins-bad | [] [] [] [] | gst-plugins-base | [] [] [] [] [] | gst-plugins-good | [] [] [] [] [] | gst-plugins-ugly | [] [] [] [] [] | gstreamer | [] [] [] [] [] | gtick | [] [] [] | gtkam | [] [] [] [] | gtkspell | [] [] [] [] [] [] [] [] | guix | [] | guix-packages | | gutenprint | [] [] [] [] | hello | [] [] [] [] [] [] | help2man | [] [] [] | help2man-texi | [] | hylafax | [] | idutils | [] [] [] | iso_15924 | [] () [] [] () [] | iso_3166 | [] [] () [] [] () [] [] [] | iso_3166_2 | () [] [] () [] | iso_4217 | [] () [] [] () [] [] | iso_639 | [] [] [] () [] [] () [] [] [] | iso_639_3 | [] () [] [] () | iso_639_5 | () [] () | jwhois | [] [] [] [] | kbd | [] [] [] | klavaro | [] [] [] [] [] [] | latrine | [] [] | ld | [] [] [] [] [] | leafpad | [] [] [] [] [] [] | libc | [] [] [] [] [] | libexif | [] () | libextractor | [] [] | libgnutls | [] [] [] [] | libgphoto2 | [] [] | libgphoto2_port | [] [] [] [] | libgsasl | [] [] [] [] | libiconv | [] [] [] [] [] | libidn | () [] [] [] | liferea | [] [] [] [] [] | lilypond | [] | lordsawar | | lprng | [] | lynx | [] [] [] [] | m4 | [] [] [] | mailfromd | [] [] | mailutils | [] | make | [] [] [] [] | man-db | [] [] | man-db-manpages | [] | midi-instruments | [] [] [] [] [] [] | minicom | [] [] | mkisofs | [] [] [] | myserver | [] | nano | [] [] [] [] | opcodes | [] [] [] | parted | [] [] [] [] [] | pies | [] [] | popt | [] [] [] [] [] [] [] | procps-ng | [] [] | procps-ng-man | [] | psmisc | [] [] [] [] | pspp | [] [] [] | pushover | [] | pwdutils | [] [] | pyspread | [] | radius | [] [] | recode | [] [] [] [] | recutils | [] [] [] | rpm | [] [] [] [] | rush | [] [] | sarg | | sed | [] [] [] [] [] | sharutils | [] [] [] | shishi | [] [] | skribilo | [] | solfege | [] [] [] | solfege-manual | [] | spotmachine | [] [] [] | sudo | [] [] [] [] | sudoers | [] [] [] | sysstat | [] [] [] [] [] | tar | [] [] [] [] [] | texinfo | [] [] [] | texinfo_document | [] | tigervnc | [] [] | tin | [] | tin-man | | tracgoogleappsa... | [] [] [] [] [] | trader | [] | util-linux | [] [] [] | ve | [] [] [] [] | vice | () () | vmm | | vorbis-tools | [] [] | wastesedge | | wcd | [] [] [] | wcd-man | [] | wdiff | [] [] [] [] | wget | [] [] [] | wyslij-po | [] [] | xboard | [] | xdg-user-dirs | [] [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] [] | +---------------------------------------------------+ sv sw ta te tg th tr uk ur vi wa wo zh_CN zh_HK 91 1 4 3 0 13 50 113 1 126 7 1 95 7 zh_TW +-------+ a2ps | | 30 aegis | | 9 anubis | | 19 aspell | | 28 bash | [] | 21 bfd | | 9 binutils | | 12 bison | [] | 18 bison-runtime | [] | 38 buzztrax | | 8 ccd2cue | | 8 ccide | | 17 cflow | | 15 clisp | | 10 coreutils | | 20 cpio | | 20 cppi | | 17 cpplib | [] | 19 cryptsetup | | 13 datamash | | 11 denemo | | 4 dfarc | | 16 dialog | [] | 42 dico | | 6 diffutils | | 21 dink | | 9 direvent | | 10 doodle | | 12 dos2unix | [] | 18 dos2unix-man | | 9 e2fsprogs | | 14 enscript | | 21 exif | | 26 fetchmail | | 19 findutils | | 28 flex | [] | 19 freedink | | 23 fusionforge | | 3 gas | | 5 gawk | | 12 gcal | | 7 gcc | | 4 gdbm | | 10 gettext-examples | [] | 40 gettext-runtime | [] | 34 gettext-tools | [] | 24 gjay | | 8 glunarclock | [] | 27 gnubiff | | 9 gnubik | | 19 gnucash | () | 7 gnuchess | | 10 gnulib | | 23 gnunet | | 1 gnunet-gtk | | 1 gold | | 7 gphoto2 | [] | 19 gprof | | 21 gramadoir | | 14 grep | [] | 31 grub | | 21 gsasl | [] | 19 gss | | 17 gst-plugins-bad | | 14 gst-plugins-base | | 27 gst-plugins-good | | 32 gst-plugins-ugly | | 34 gstreamer | [] | 31 gtick | | 19 gtkam | | 24 gtkspell | [] | 48 guix | | 3 guix-packages | | 0 gutenprint | | 15 hello | [] | 30 help2man | | 18 help2man-texi | | 5 hylafax | | 5 idutils | | 14 iso_15924 | [] | 23 iso_3166 | [] | 58 iso_3166_2 | | 9 iso_4217 | [] | 28 iso_639 | [] | 46 iso_639_3 | | 10 iso_639_5 | | 2 jwhois | [] | 20 kbd | | 16 klavaro | | 30 latrine | | 7 ld | [] | 15 leafpad | [] | 40 libc | [] | 24 libexif | | 9 libextractor | | 5 libgnutls | | 13 libgphoto2 | | 9 libgphoto2_port | [] | 19 libgsasl | | 18 libiconv | [] | 29 libidn | | 17 liferea | | 29 lilypond | | 11 lordsawar | | 3 lprng | | 3 lynx | | 19 m4 | [] | 22 mailfromd | | 4 mailutils | | 6 make | | 19 man-db | | 14 man-db-manpages | | 9 midi-instruments | [] | 43 minicom | [] | 17 mkisofs | | 13 myserver | | 9 nano | [] | 29 opcodes | | 12 parted | [] | 21 pies | | 4 popt | [] | 36 procps-ng | | 5 procps-ng-man | | 4 psmisc | [] | 22 pspp | | 13 pushover | | 6 pwdutils | | 8 pyspread | | 6 radius | | 9 recode | | 31 recutils | | 9 rpm | [] | 13 rush | | 10 sarg | | 4 sed | [] | 34 sharutils | | 12 shishi | | 7 skribilo | | 4 solfege | | 19 solfege-manual | | 9 spotmachine | | 10 sudo | | 24 sudoers | | 20 sysstat | | 22 tar | [] | 30 texinfo | | 17 texinfo_document | | 11 tigervnc | | 11 tin | [] | 7 tin-man | | 1 tracgoogleappsa... | [] | 22 trader | | 11 util-linux | | 12 ve | | 14 vice | | 1 vmm | | 3 vorbis-tools | | 13 wastesedge | | 2 wcd | | 8 wcd-man | | 3 wdiff | [] | 23 wget | | 19 wyslij-po | | 14 xboard | | 9 xdg-user-dirs | [] | 68 xkeyboard-config | [] | 27 +-------+ 90 teams zh_TW 166 domains 42 2748 Some counters in the preceding matrix are higher than the number of visible blocks let us expect. This is because a few extra PO files are used for implementing regional variants of languages, or language dialects. For a PO file in the matrix above to be effective, the package to which it applies should also have been internationalized and distributed as such by its maintainer. There might be an observable lag between the mere existence a PO file and its wide availability in a distribution. If Jun 2014 seems to be old, you may fetch a more recent copy of this 'ABOUT-NLS' file on most GNU archive sites. The most up-to-date matrix with full percentage details can be found at 'http://translationproject.org/extra/matrix.html'. 1.5 Using 'gettext' in new packages =================================== If you are writing a freely available program and want to internationalize it you are welcome to use GNU 'gettext' in your package. Of course you have to respect the GNU Lesser General Public License which covers the use of the GNU 'gettext' library. This means in particular that even non-free programs can use 'libintl' as a shared library, whereas only free software can use 'libintl' as a static library or use modified versions of 'libintl'. Once the sources are changed appropriately and the setup can handle the use of 'gettext' the only thing missing are the translations. The Free Translation Project is also available for packages which are not developed inside the GNU project. Therefore the information given above applies also for every other Free Software Project. Contact 'coordinator@translationproject.org' to make the '.pot' files available to the translation teams. ibus-libpinyin-1.16.1/missing0000755000175000017500000001533614767166740011647 #! /bin/sh # Common wrapper for a few potentially missing GNU programs. scriptversion=2018-03-07.03; # UTC # Copyright (C) 1996-2021 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program 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 General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try '$0 --help' for more information" exit 1 fi case $1 in --is-lightweight) # Used by our autoconf macros to check whether the available missing # script is modern enough. exit 0 ;; --run) # Back-compat with the calling convention used by older automake. shift ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due to PROGRAM being missing or too old. Options: -h, --help display this help and exit -v, --version output version information and exit Supported PROGRAM values: aclocal autoconf autoheader autom4te automake makeinfo bison yacc flex lex help2man Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and 'g' are ignored when checking the name. Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: unknown '$1' option" echo 1>&2 "Try '$0 --help' for more information" exit 1 ;; esac # Run the given program, remember its exit status. "$@"; st=$? # If it succeeded, we are done. test $st -eq 0 && exit 0 # Also exit now if we it failed (or wasn't found), and '--version' was # passed; such an option is passed most likely to detect whether the # program is present and works. case $2 in --version|--help) exit $st;; esac # Exit code 63 means version mismatch. This often happens when the user # tries to use an ancient version of a tool on a file that requires a # minimum version. if test $st -eq 63; then msg="probably too old" elif test $st -eq 127; then # Program was missing. msg="missing on your system" else # Program was found and executed, but failed. Give up. exit $st fi perl_URL=https://www.perl.org/ flex_URL=https://github.com/westes/flex gnu_software_URL=https://www.gnu.org/software program_details () { case $1 in aclocal|automake) echo "The '$1' program is part of the GNU Automake package:" echo "<$gnu_software_URL/automake>" echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" echo "<$gnu_software_URL/autoconf>" echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; autoconf|autom4te|autoheader) echo "The '$1' program is part of the GNU Autoconf package:" echo "<$gnu_software_URL/autoconf/>" echo "It also requires GNU m4 and Perl in order to run:" echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; esac } give_advice () { # Normalize program name to check for. normalized_program=`echo "$1" | sed ' s/^gnu-//; t s/^gnu//; t s/^g//; t'` printf '%s\n' "'$1' is $msg." configure_deps="'configure.ac' or m4 files included by 'configure.ac'" case $normalized_program in autoconf*) echo "You should only need it if you modified 'configure.ac'," echo "or m4 files included by it." program_details 'autoconf' ;; autoheader*) echo "You should only need it if you modified 'acconfig.h' or" echo "$configure_deps." program_details 'autoheader' ;; automake*) echo "You should only need it if you modified 'Makefile.am' or" echo "$configure_deps." program_details 'automake' ;; aclocal*) echo "You should only need it if you modified 'acinclude.m4' or" echo "$configure_deps." program_details 'aclocal' ;; autom4te*) echo "You might have modified some maintainer files that require" echo "the 'autom4te' program to be rebuilt." program_details 'autom4te' ;; bison*|yacc*) echo "You should only need it if you modified a '.y' file." echo "You may want to install the GNU Bison package:" echo "<$gnu_software_URL/bison/>" ;; lex*|flex*) echo "You should only need it if you modified a '.l' file." echo "You may want to install the Fast Lexical Analyzer package:" echo "<$flex_URL>" ;; help2man*) echo "You should only need it if you modified a dependency" \ "of a man page." echo "You may want to install the GNU Help2man package:" echo "<$gnu_software_URL/help2man/>" ;; makeinfo*) echo "You should only need it if you modified a '.texi' file, or" echo "any other file indirectly affecting the aspect of the manual." echo "You might want to install the Texinfo package:" echo "<$gnu_software_URL/texinfo/>" echo "The spurious makeinfo call might also be the consequence of" echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" echo "want to install GNU make:" echo "<$gnu_software_URL/make/>" ;; *) echo "You might have modified some files without having the proper" echo "tools for further handling them. Check the 'README' file, it" echo "often tells you about the needed prerequisites for installing" echo "this package. You may also peek at any GNU archive site, in" echo "case some other package contains this missing '$1' program." ;; esac } give_advice "$1" | sed -e '1s/^/WARNING: /' \ -e '2,$s/^/ /' >&2 # Propagate the correct exit status (expected to be 127 for a program # not found, 63 for a program that failed due to version mismatch). exit $st # Local variables: # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: ibus-libpinyin-1.16.1/autogen.sh0000775000175000017500000000103013440164246012217 #!/bin/sh # Run this to generate all the initial makefiles, etc. srcdir=`dirname $0` test -z "$srcdir" && srcdir=. PKG_NAME="ibus-libpinyin" (test -f $srcdir/configure.ac \ && test -f $srcdir/README ) || { echo -n "**Error**: Directory "\`$srcdir\'" does not look like the" echo " top-level $PKG_NAME directory" exit 1 } which gnome-autogen.sh || { echo "You need to install gnome-common from the GNOME CVS" exit 1 } ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I m4" REQUIRED_AUTOMAKE_VERSION=1.8 . gnome-autogen.sh "$@" ibus-libpinyin-1.16.1/Makefile.in0000644000175000017500000007401414767166740012313 # Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # vim:set noet ts=4: # # ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus # # Copyright (c) 2008-2010 Peng Huang # VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/as-version.m4 \ $(top_srcdir)/m4/boost.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ $(am__configure_deps) $(am__DIST_COMMON) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = ibus-libpinyin.spec CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ cscope distdir distdir-am dist dist-all distcheck am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \ config.h.in # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` DIST_SUBDIRS = data lua scripts src setup m4 po am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \ $(srcdir)/ibus-libpinyin.spec.in ABOUT-NLS AUTHORS COPYING \ ChangeLog INSTALL NEWS README compile config.guess \ config.rpath config.sub install-sh ltmain.sh missing \ py-compile DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ if test -d "$(distdir)"; then \ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -rf "$(distdir)" \ || { sleep 5 && rm -rf "$(distdir)"; }; \ else :; fi am__post_remove_distdir = $(am__remove_distdir) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best DIST_TARGETS = dist-gzip # Exists only to be overridden by the user if desired. AM_DISTCHECK_DVI_TARGET = dvi distuninstallcheck_listfiles = find . -type f -print am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BOOST_CPPFLAGS = @BOOST_CPPFLAGS@ BOOST_ROOT = @BOOST_ROOT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CLOUD_INPUT_MODE = @CLOUD_INPUT_MODE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ CTAGS = @CTAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DISTCHECK_CONFIGURE_FLAGS = \ CFLAGS='-g3 -O3 -Wall' \ CXXFLAGS='-g3 -O3 -Wall' \ $(NULL) DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENV = @ENV@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GIO2_CFLAGS = @GIO2_CFLAGS@ GIO2_LIBS = @GIO2_LIBS@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ IBUS_CFLAGS = @IBUS_CFLAGS@ IBUS_LIBS = @IBUS_LIBS@ ICON_PROP_KEY_XML = @ICON_PROP_KEY_XML@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ JSONGLIB_CFLAGS = @JSONGLIB_CFLAGS@ JSONGLIB_LIBS = @JSONGLIB_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@ LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@ LIBOBJS = @LIBOBJS@ LIBPINYIN_CFLAGS = @LIBPINYIN_CFLAGS@ LIBPINYIN_DATADIR = @LIBPINYIN_DATADIR@ LIBPINYIN_LIBS = @LIBPINYIN_LIBS@ LIBS = @LIBS@ LIBSOUP_CFLAGS = @LIBSOUP_CFLAGS@ LIBSOUP_LIBS = @LIBSOUP_LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OPENCC_CFLAGS = @OPENCC_CFLAGS@ OPENCC_LIBS = @OPENCC_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PACKAGE_VERSION_MAJOR = @PACKAGE_VERSION_MAJOR@ PACKAGE_VERSION_MICRO = @PACKAGE_VERSION_MICRO@ PACKAGE_VERSION_MINOR = @PACKAGE_VERSION_MINOR@ PACKAGE_VERSION_NANO = @PACKAGE_VERSION_NANO@ PACKAGE_VERSION_RELEASE = @PACKAGE_VERSION_RELEASE@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PYTHON = @PYTHON@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SQLITE3 = @SQLITE3@ SQLITE_CFLAGS = @SQLITE_CFLAGS@ SQLITE_LIBS = @SQLITE_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gsettingsschemadir = @gsettingsschemadir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ @IBUS_BUILD_LUA_EXTENSION_TRUE@LUADIR = lua SUBDIRS = \ data \ $(LUADIR) \ scripts \ src \ setup \ m4 \ po \ $(NULL) ACLOCAL_AMFLAGS = -I m4 EXTRA_DIST = config.rpath \ autogen.sh \ ibus-libpinyin.spec.in \ $(NULL) noinst_DIST = \ $(NULL) DISTCLEANFILES = \ po/stamp-it \ $(NULL) all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: am--refresh: Makefile @: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) $(am__cd) $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): config.h: stamp-h1 @test -f $@ || rm -f stamp-h1 @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) rm -f stamp-h1 touch $@ distclean-hdr: -rm -f config.h stamp-h1 ibus-libpinyin.spec: $(top_builddir)/config.status $(srcdir)/ibus-libpinyin.spec.in cd $(top_builddir) && $(SHELL) ./config.status $@ mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool config.lt # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscope: cscope.files test ! -s cscope.files \ || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) clean-cscope: -rm -f cscope.files cscope.files: clean-cscope cscopelist cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f cscope.out cscope.in.out cscope.po.out cscope.files distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(DISTFILES) $(am__remove_distdir) test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook -test -n "$(am__skip_mode_fix)" \ || find "$(distdir)" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz $(am__post_remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 $(am__post_remove_distdir) dist-lzip: distdir tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz $(am__post_remove_distdir) dist-xz: distdir tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__post_remove_distdir) dist-zstd: distdir tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst $(am__post_remove_distdir) dist-tarZ: distdir @echo WARNING: "Support for distribution archives compressed with" \ "legacy program 'compress' is deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__post_remove_distdir) dist-shar: distdir @echo WARNING: "Support for shar distribution archives is" \ "deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz $(am__post_remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__post_remove_distdir) dist dist-all: $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' $(am__post_remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lz*) \ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ *.tar.zst*) \ zstd -dc $(distdir).tar.zst | $(am__untar) ;;\ esac chmod -R a-w $(distdir) chmod u+w $(distdir) mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build/sub \ && ../../configure \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ --srcdir=../.. --prefix="$$dc_install_base" \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ && cd "$$am__cwd" \ || exit 1 $(am__post_remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @test -n '$(distuninstallcheck_dir)' || { \ echo 'ERROR: trying to run $@ with an empty' \ '$$(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ $(am__cd) '$(distuninstallcheck_dir)' || { \ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: check-recursive all-am: Makefile config.h installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool clean-local mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-hdr \ distclean-libtool distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) all install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ am--refresh check check-am clean clean-cscope clean-generic \ clean-libtool clean-local cscope cscopelist-am ctags ctags-am \ dist dist-all dist-bzip2 dist-gzip dist-hook dist-lzip \ dist-shar dist-tarZ dist-xz dist-zip dist-zstd distcheck \ distclean distclean-generic distclean-hdr distclean-libtool \ distclean-tags distcleancheck distdir distuninstallcheck dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am .PRECIOUS: Makefile dist-hook: if test -d .git ; then \ git log --name-status --date=iso > $(distdir)/ChangeLog ; \ fi rpm: dist @PACKAGE_NAME@.spec rpmbuild -bb \ --define "_sourcedir `pwd`" \ --define "_builddir `pwd`/rpm" \ --define "_srcrpmdir `pwd`/rpm" \ --define "_rpmdir `pwd`/rpm" \ --define "_specdir `pwd`" \ @PACKAGE_NAME@.spec srpm: dist @PACKAGE_NAME@.spec rpmbuild -bs \ --define "_sourcedir `pwd`" \ --define "_builddir `pwd`/rpm" \ --define "_srcrpmdir `pwd`/rpm" \ --define "_rpmdir `pwd`/rpm" \ --define "_specdir `pwd`" \ @PACKAGE_NAME@.spec .PHONY: debian/changelog debian/changelog: $(AM_V_GEN) \ ( \ . /etc/lsb-release; \ date=`date -R`; \ version=@VERSION@; \ serie=$(serie); \ if test -z "$$serie"; then \ serie=$$DISTRIB_CODENAME; \ fi; \ if test -z "$$release"; then \ release=1; \ fi; \ s=`cat debian/changelog.in`; \ eval "echo \"$${s}\""; \ ) > $@ ppa: dist debian/changelog $(AM_V_GEN) \ ( \ mkdir ppa; \ cp $(distdir).tar.gz ppa/@PACKAGE_NAME@_@PACKAGE_VERSION@.orig.tar.gz ; \ cd ppa; \ tar zxvf ../$(distdir).tar.gz ; \ cd $(distdir); \ cp -a ../../debian . ; \ cd debian; \ debuild -S -sa ; \ ) dpkg: dist debian/changelog $(AM_V_GEN) \ ( \ mkdir ppa; \ cd ppa; \ tar zxvf ../$(distdir).tar.gz ; \ cd $(distdir); \ cp -a ../../debian . ; \ cd debian; \ debuild -b -uc -us; \ ) clean-rpm: $(RM) -r "`uname -i`" clean-local: clean-rpm # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ibus-libpinyin-1.16.1/setup/0000755000175000017500000000000014767172144011453 5ibus-libpinyin-1.16.1/setup/config.py0000644000175000017500000000211514767166744013222 # vim:set et ts=4 sts=4: # # ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus # # Copyright (c) 2008-2010 Peng Huang # Copyright (c) 2013 Peng Wu # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program 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 General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. import gettext gettext.install("ibus-libpinyin") def get_version(): return "1.16.1" def get_longname(): return _("Intelligent Pinyin") def support_cloud_input(): return False ibus-libpinyin-1.16.1/setup/config.py.in0000664000175000017500000000213513725614332013613 # vim:set et ts=4 sts=4: # # ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus # # Copyright (c) 2008-2010 Peng Huang # Copyright (c) 2013 Peng Wu # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program 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 General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. import gettext gettext.install("ibus-libpinyin") def get_version(): return "@VERSION@" def get_longname(): return _("Intelligent Pinyin") def support_cloud_input(): return @CLOUD_INPUT_MODE@ ibus-libpinyin-1.16.1/setup/keyboardshortcut.py0000664000175000017500000002344213672072346015345 # vim:set et sts=4 sw=4: # # ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus # # Copyright (c) 2007-2014 Peng Huang # Copyright (c) 2007-2014 Red Hat, Inc. # Copyright (c) 2014 Peng Wu # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library 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 for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 # USA __all__ = ( "KeyboardShortcutSelection", "KeyboardShortcutSelectionDialog", ); import gettext import locale import os from gi.repository import Gdk from gi.repository import GObject from gi.repository import Gtk from gi.repository import IBus from gi.repository import Pango locale.setlocale(locale.LC_ALL, "") localedir = os.getenv("IBUS_LOCALEDIR") pkgdatadir = os.getenv("IBUS_PKGDATADIR") or "." gettext.install('ibus-libpinyin', localedir) class KeyboardShortcutSelection(Gtk.Box): def __init__(self, shortcut = None): super(KeyboardShortcutSelection, self).__init__( orientation=Gtk.Orientation.VERTICAL) self.__init_ui() self.set_shortcut(shortcut) def __init_ui(self): # shortcut label hbox = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) label = Gtk.Label(_("Shortcut:")) label.set_justify(Gtk.Justification.LEFT) label.set_alignment(0.0, 0.5) hbox.pack_start(label, False, False, 4) self.__accel_label = Gtk.Label("") self.__accel_label.set_justify(Gtk.Justification.RIGHT) self.__accel_label.set_alignment(0.0, 0.5) hbox.pack_start(self.__accel_label, False, False, 4) self.pack_start(hbox, False, True, 4) # key code hbox = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) label = Gtk.Label(label = _("Key code:")) label.set_justify(Gtk.Justification.LEFT) label.set_alignment(0.0, 0.5) hbox.pack_start(label, False, True, 4) self.__keycode_entry = Gtk.Entry() self.__keycode_entry.connect("notify::text", self.__keycode_entry_notify_cb) hbox.pack_start(self.__keycode_entry, True, True, 4) self.__keycode_button = Gtk.Button(label = "...") self.__keycode_button.connect("clicked", self.__keycode_button_clicked_cb) hbox.pack_start(self.__keycode_button, False, True, 4) self.pack_start(hbox, False, True, 4) # modifiers hbox = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) label = Gtk.Label(label = _("Modifiers:")) label.set_justify(Gtk.Justification.LEFT) label.set_alignment(0.0, 0.5) hbox.pack_start(label, False, True, 4) table = Gtk.Table(n_rows = 4, n_columns = 2) self.__modifier_buttons = [] self.__modifier_buttons.append(("Control", Gtk.CheckButton.new_with_mnemonic("_Control"), Gdk.ModifierType.CONTROL_MASK)) self.__modifier_buttons.append(("Alt", Gtk.CheckButton.new_with_mnemonic("A_lt"), Gdk.ModifierType.MOD1_MASK)) self.__modifier_buttons.append(("Shift", Gtk.CheckButton.new_with_mnemonic("_Shift"), Gdk.ModifierType.SHIFT_MASK)) self.__modifier_buttons.append(("Meta", Gtk.CheckButton.new_with_mnemonic("_Meta"), Gdk.ModifierType.META_MASK)) self.__modifier_buttons.append(("Super", Gtk.CheckButton.new_with_mnemonic("S_uper"), Gdk.ModifierType.SUPER_MASK)) self.__modifier_buttons.append(("Hyper", Gtk.CheckButton.new_with_mnemonic("_Hyper"), Gdk.ModifierType.HYPER_MASK)) # is not parsed by gtk_accelerator_parse() # is not supported by XIGrabKeycode() for name, button, mask in self.__modifier_buttons: button.connect("toggled", self.__modifier_button_toggled_cb, name) table.attach(self.__modifier_buttons[0][1], 0, 1, 0, 1) table.attach(self.__modifier_buttons[1][1], 1, 2, 0, 1) table.attach(self.__modifier_buttons[2][1], 2, 3, 0, 1) table.attach(self.__modifier_buttons[3][1], 0, 1, 1, 2) table.attach(self.__modifier_buttons[4][1], 1, 2, 1, 2) table.attach(self.__modifier_buttons[5][1], 2, 3, 1, 2) hbox.pack_start(table, True, True, 4) self.pack_start(hbox, False, True, 4) def set_shortcut(self, shortcut = None): if shortcut == None: shortcut = "" self.__accel_label.set_label(shortcut) self.__set_shortcut_to_buttons(shortcut) def get_shortcut(self): return self.__accel_label.get_label() def __get_shortcut_from_buttons(self): modifiers = [] keycode = self.__keycode_entry.get_text() if Gdk.keyval_from_name(keycode) == 0: return None for name, button, mask in self.__modifier_buttons: if button.get_active(): modifiers.append(name) if keycode.startswith("_"): keycode = keycode[1:] shortcut = "".join(['<' + m + '>' for m in modifiers]) shortcut += keycode return shortcut def __set_shortcut_to_buttons(self, shortcut): (keyval, state) = Gtk.accelerator_parse(shortcut) if keyval == 0 and state == 0: return for name, button, mask in self.__modifier_buttons: if state & mask: button.set_active(True) else: button.set_active(False) self.__keycode_entry.set_text(shortcut.rsplit('>', 1)[-1]) def __update_accel_label(self): shortcut = self.__get_shortcut_from_buttons() can_add = shortcut != None self.__accel_label.set_label(shortcut) def __modifier_button_toggled_cb(self, button, name): self.__update_accel_label() def __keycode_entry_notify_cb(self, entry, arg): self.__update_accel_label() def __keycode_button_clicked_cb(self, button): out = [] dlg = Gtk.MessageDialog(transient_for = self.get_toplevel(), buttons = Gtk.ButtonsType.CLOSE) message = _("Please press a key (or a key combination).\n" \ "The dialog will close when the key is released.") dlg.set_markup(message) dlg.set_title(_("Please press a key (or a key combination)")) def __accel_edited_cb(c, path, keyval, state, keycode): out.append(keyval) out.append(state) out.append(keycode) dlg.response(Gtk.ResponseType.OK) model = Gtk.ListStore(GObject.TYPE_INT, GObject.TYPE_UINT, GObject.TYPE_UINT) accel_view = Gtk.TreeView(model) column = Gtk.TreeViewColumn(_("Shorcut Editor")) renderer = Gtk.CellRendererAccel(accel_mode=Gtk.CellRendererAccelMode.OTHER, editable=True) renderer.connect('accel-edited', __accel_edited_cb) column.pack_start(renderer, True) column.add_attribute(renderer, 'accel-mods', 0) column.add_attribute(renderer, 'accel-key', 1) column.add_attribute(renderer, 'keycode', 2) accel_view.append_column(column) it = model.append(None) area = dlg.get_message_area() area.pack_end(accel_view, True, True, 0) area.show_all() id = dlg.run() dlg.destroy() if id != Gtk.ResponseType.OK or len(out) < 3: return keyval = out[0] state = out[1] keycode = out[2] for name, button, mask in self.__modifier_buttons: if state & mask: button.set_active(True) else: button.set_active(False) shortcut = Gtk.accelerator_name_with_keycode(None, keyval, keycode, state) shortcut = shortcut.replace('', '') self.__keycode_entry.set_text(shortcut.rsplit('>', 1)[-1]) class KeyboardShortcutSelectionDialog(Gtk.Dialog): def __init__(self, title = None, transient_for = None, flags = 0): super(KeyboardShortcutSelectionDialog, self).__init__( title = title, transient_for = transient_for, flags = flags) self.__selection_view = KeyboardShortcutSelection() self.vbox.pack_start(self.__selection_view, False, True, 0) self.vbox.show_all() def set_shortcut(self, shortcut = None): self.__selection_view.set_shortcut(shortcut) def get_shortcut(self): return self.__selection_view.get_shortcut() if __name__ == "__main__": dlg = KeyboardShortcutSelectionDialog(title = "Select test") buttons = (_("_Cancel"), Gtk.ResponseType.CANCEL, _("_OK"), Gtk.ResponseType.OK) dlg.add_buttons(*buttons) dlg.set_shortcut("") dlg.set_shortcut(None) print((dlg.run())) print((dlg.get_shortcut())) ibus-libpinyin-1.16.1/setup/dicttreeview.py0000664000175000017500000001277114055354717014453 # vim:set et ts=4 sts=4: # -*- coding: utf-8 -*- # # ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus # # Copyright (c) 2012 Peng Wu # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program 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 General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. import gettext from gi.repository import GObject from gi.repository import Gtk gettext.install('ibus-libpinyin') ( ART_DICTIONARY, CULTURE_DICTIONARY, ECONOMY_DICTIONARY, GEOLOGY_DICTIONARY, HISTORY_DICTIONARY, LIFE_DICTIONARY, NATURE_DICTIONARY, PEOPLE_DICTIONARY, SCIENCE_DICTIONARY, SOCIETY_DICTIONARY, SPORT_DICTIONARY, TECHNOLOGY_DICTIONARY, ) = range(4, 16) ( COLUMN_SENSITIVE, COLUMN_PHRASE_INDEX, COLUMN_DESCRIPTION, COLUMN_ACTIVE ) = range(4) dictionaries = \ ( (True, ART_DICTIONARY, _("Art"), True), (True, CULTURE_DICTIONARY, _("Culture"), True), (True, ECONOMY_DICTIONARY, _("Economy"), True), (True, GEOLOGY_DICTIONARY, _("Geology"), True), (True, HISTORY_DICTIONARY, _("History"), True), (True, LIFE_DICTIONARY, _("Life"), True), (True, NATURE_DICTIONARY, _("Nature"), True), (True, PEOPLE_DICTIONARY, _("People"), True), (True, SCIENCE_DICTIONARY, _("Science"), True), (True, SOCIETY_DICTIONARY, _("Society"), True), (True, SPORT_DICTIONARY, _("Sport"), True), (True, TECHNOLOGY_DICTIONARY, _("Technology"), True), ) class DictionaryTreeView(Gtk.TreeView): __gtype_name__ = 'DictionaryTreeView' __gproperties__ = { 'dictionaries': ( str, 'dictionaries', 'Enabled Dictionaries', "", GObject.PARAM_READWRITE ) } def __init__(self): super(DictionaryTreeView, self).__init__() self.__changed = False self.set_headers_visible(True) self.__model = self.__create_model() self.set_model(self.__model) self.__add_columns() def __create_model(self): model = Gtk.ListStore(bool, int, str, bool) model.connect("row-changed", self.__emit_changed, "row-changed") for dict in dictionaries: iter = model.append() model.set(iter, COLUMN_SENSITIVE, dict[COLUMN_SENSITIVE], COLUMN_PHRASE_INDEX, dict[COLUMN_PHRASE_INDEX], COLUMN_DESCRIPTION, dict[COLUMN_DESCRIPTION], COLUMN_ACTIVE, dict[COLUMN_ACTIVE]) return model def __add_columns(self): # column for toggles renderer = Gtk.CellRendererToggle() renderer.connect('toggled', self.__active_toggled, self.__model) column = Gtk.TreeViewColumn(_('Active'), renderer, active=COLUMN_ACTIVE, sensitive=COLUMN_SENSITIVE) self.append_column(column) # column for description render = Gtk.CellRendererText() column = Gtk.TreeViewColumn(_('Description'), render, text=COLUMN_DESCRIPTION) self.append_column(column) def __active_toggled(self, cell, path, model): # get toggled iter iter = model.get_iter((int(path),)) active = model.get_value(iter, COLUMN_ACTIVE) # toggle active active = not active # save value model.set(iter, COLUMN_ACTIVE, active) # notify changed self.__changed = True self.__emit_changed() def __emit_changed(self, *args): if self.__changed: self.__changed = False self.notify("dictionaries") def get_dictionaries(self): dicts = [] for row in self.__model: if (not row[COLUMN_SENSITIVE]): continue; if (row[COLUMN_ACTIVE]): dicts.append(str(row[COLUMN_PHRASE_INDEX])) return ';'.join(dicts) def set_dictionaries(self, dicts): # clean dictionaries for row in self.__model: if not row[COLUMN_SENSITIVE]: continue row[COLUMN_ACTIVE] = False if not dicts: self.__emit_changed() return for dict in dicts.split(";"): dict = int(dict) for row in self.__model: if not row[COLUMN_SENSITIVE]: continue if dict == row[COLUMN_PHRASE_INDEX]: row[COLUMN_ACTIVE] = True self.__emit_changed() def do_get_property(self, prop): if prop.name == 'dictionaries': return self.get_dictionaries() else: raise AttributeError('unknown property %s' % prop.name) def do_set_property(self, prop, value): if prop.name == "dictionaries": self.set_dictionaries(value) else: raise AttributeError('unknown property %s' % prop.name) GObject.type_register(DictionaryTreeView) if __name__ == "__main__": tree = DictionaryTreeView() tree.set_dictionaries("") w = Gtk.Window() w.add(tree) w.show_all() Gtk.main() ibus-libpinyin-1.16.1/setup/Makefile.in0000644000175000017500000005115414767166740013453 # Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # vim:set noet ts=4: # # ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus # # Copyright (c) 2008-2010 Peng Huang # VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = setup ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/as-version.m4 \ $(top_srcdir)/m4/boost.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(setup_libpinyin_PYTHON) \ $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = ibus-setup-libpinyin config.py CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(libexecdir)" \ "$(DESTDIR)$(setup_libpinyindir)" SCRIPTS = $(libexec_SCRIPTS) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__py_compile = PYTHON=$(PYTHON) $(SHELL) $(py_compile) am__pep3147_tweak = \ sed -e 's|\.py$$||' -e 's|[^/]*$$|__pycache__/&.*.pyc __pycache__/&.*.pyo|' py_compile = $(top_srcdir)/py-compile am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.py.in \ $(srcdir)/ibus-setup-libpinyin.in $(top_srcdir)/py-compile DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BOOST_CPPFLAGS = @BOOST_CPPFLAGS@ BOOST_ROOT = @BOOST_ROOT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CLOUD_INPUT_MODE = @CLOUD_INPUT_MODE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ CTAGS = @CTAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENV = @ENV@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GIO2_CFLAGS = @GIO2_CFLAGS@ GIO2_LIBS = @GIO2_LIBS@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ IBUS_CFLAGS = @IBUS_CFLAGS@ IBUS_LIBS = @IBUS_LIBS@ ICON_PROP_KEY_XML = @ICON_PROP_KEY_XML@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ JSONGLIB_CFLAGS = @JSONGLIB_CFLAGS@ JSONGLIB_LIBS = @JSONGLIB_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@ LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@ LIBOBJS = @LIBOBJS@ LIBPINYIN_CFLAGS = @LIBPINYIN_CFLAGS@ LIBPINYIN_DATADIR = @LIBPINYIN_DATADIR@ LIBPINYIN_LIBS = @LIBPINYIN_LIBS@ LIBS = @LIBS@ LIBSOUP_CFLAGS = @LIBSOUP_CFLAGS@ LIBSOUP_LIBS = @LIBSOUP_LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OPENCC_CFLAGS = @OPENCC_CFLAGS@ OPENCC_LIBS = @OPENCC_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PACKAGE_VERSION_MAJOR = @PACKAGE_VERSION_MAJOR@ PACKAGE_VERSION_MICRO = @PACKAGE_VERSION_MICRO@ PACKAGE_VERSION_MINOR = @PACKAGE_VERSION_MINOR@ PACKAGE_VERSION_NANO = @PACKAGE_VERSION_NANO@ PACKAGE_VERSION_RELEASE = @PACKAGE_VERSION_RELEASE@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PYTHON = @PYTHON@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SQLITE3 = @SQLITE3@ SQLITE_CFLAGS = @SQLITE_CFLAGS@ SQLITE_LIBS = @SQLITE_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gsettingsschemadir = @gsettingsschemadir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ setup_libpinyin_PYTHON = \ main2.py \ config.py \ dicttreeview.py \ enginefile.py \ shortcuteditor.py \ keyboardshortcut.py \ ibus-libpinyin-preferences.ui \ $(NULL) setup_libpinyindir = $(datadir)/ibus-libpinyin/setup libexec_SCRIPTS = \ ibus-setup-libpinyin \ $(NULL) CLEANFILES = \ *.pyc \ $(NULL) EXTRA_DIST = \ config.py.in \ ibus-setup-libpinyin.in \ $(NULL) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu setup/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu setup/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): ibus-setup-libpinyin: $(top_builddir)/config.status $(srcdir)/ibus-setup-libpinyin.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ config.py: $(top_builddir)/config.status $(srcdir)/config.py.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ install-libexecSCRIPTS: $(libexec_SCRIPTS) @$(NORMAL_INSTALL) @list='$(libexec_SCRIPTS)'; test -n "$(libexecdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(libexecdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(libexecdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n' \ -e 'h;s|.*|.|' \ -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) { files[d] = files[d] " " $$1; \ if (++n[d] == $(am__install_max)) { \ print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ else { print "f", d "/" $$4, $$1 } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(libexecdir)$$dir'"; \ $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(libexecdir)$$dir" || exit $$?; \ } \ ; done uninstall-libexecSCRIPTS: @$(NORMAL_UNINSTALL) @list='$(libexec_SCRIPTS)'; test -n "$(libexecdir)" || exit 0; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 's,.*/,,;$(transform)'`; \ dir='$(DESTDIR)$(libexecdir)'; $(am__uninstall_files_from_dir) mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-setup_libpinyinPYTHON: $(setup_libpinyin_PYTHON) @$(NORMAL_INSTALL) @list='$(setup_libpinyin_PYTHON)'; dlist=; list2=; test -n "$(setup_libpinyindir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(setup_libpinyindir)'"; \ $(MKDIR_P) "$(DESTDIR)$(setup_libpinyindir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then b=; else b="$(srcdir)/"; fi; \ if test -f $$b$$p; then \ $(am__strip_dir) \ dlist="$$dlist $$f"; \ list2="$$list2 $$b$$p"; \ else :; fi; \ done; \ for file in $$list2; do echo $$file; done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(setup_libpinyindir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(setup_libpinyindir)" || exit $$?; \ done || exit $$?; \ if test -n "$$dlist"; then \ $(am__py_compile) --destdir "$(DESTDIR)" \ --basedir "$(setup_libpinyindir)" $$dlist; \ else :; fi uninstall-setup_libpinyinPYTHON: @$(NORMAL_UNINSTALL) @list='$(setup_libpinyin_PYTHON)'; test -n "$(setup_libpinyindir)" || list=; \ py_files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ test -n "$$py_files" || exit 0; \ dir='$(DESTDIR)$(setup_libpinyindir)'; \ pyc_files=`echo "$$py_files" | sed 's|$$|c|'`; \ pyo_files=`echo "$$py_files" | sed 's|$$|o|'`; \ st=0; \ for files in "$$py_files" "$$pyc_files" "$$pyo_files"; do \ $(am__uninstall_files_from_dir) || st=$$?; \ done; \ dir='$(DESTDIR)$(setup_libpinyindir)'; \ echo "$$py_files" | $(am__pep3147_tweak) | $(am__base_list) | \ while read files; do \ $(am__uninstall_files_from_dir) || st=$$?; \ done || exit $$?; \ exit $$st tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(SCRIPTS) installdirs: for dir in "$(DESTDIR)$(libexecdir)" "$(DESTDIR)$(setup_libpinyindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-setup_libpinyinPYTHON install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-libexecSCRIPTS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-libexecSCRIPTS uninstall-setup_libpinyinPYTHON .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am \ install-libexecSCRIPTS install-man install-pdf install-pdf-am \ install-ps install-ps-am install-setup_libpinyinPYTHON \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am uninstall-libexecSCRIPTS \ uninstall-setup_libpinyinPYTHON .PRECIOUS: Makefile test-libpinyin: $(ENV) DBUS_DEBUG=true \ IBUS_LOCALEDIR=@localedir@ \ IBUS_PKGDATADIR=$(pkgdatadir) \ PYTHONPATH=$(abs_top_srcdir):$(pyexecdir) \ $(PYTHON) $(srcdir)/main2.py libpinyin test-libbopomofo: $(ENV) DBUS_DEBUG=true \ IBUS_LOCALEDIR=@localedir@ \ IBUS_PKGDATADIR=$(pkgdatadir) \ PYTHONPATH=$(abs_top_srcdir):$(pyexecdir) \ $(PYTHON) $(srcdir)/main2.py libbopomofo # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ibus-libpinyin-1.16.1/setup/ibus-setup-libpinyin.in0000664000175000017500000000217713300741721016010 #!/bin/sh # vim:set noet ts=4: # # ibus-tmpl - The Input Bus template project # # Copyright (c) 2007-2008 Peng Huang # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program 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 General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. prefix=@prefix@ exec_prefix=@exec_prefix@ datarootdir=@datarootdir@ pkgdatadir=@prefix@/share/@PACKAGE@ export IBUS_PREFIX=@prefix@ export IBUS_DATAROOTDIR=@datarootdir@ export IBUS_LOCALEDIR=@localedir@ export IBUS_PKGDATADIR=@prefix@/share/@PACKAGE@ cd @prefix@/share/@PACKAGE@/setup/ exec @PYTHON@ main2.py $@ ibus-libpinyin-1.16.1/setup/shortcuteditor.py0000664000175000017500000002036113672072346015030 # vim:set et ts=4 sts=4: # -*- coding: utf-8 -*- # # ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus # # Copyright (c) 2014 Peng Wu # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program 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 General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. __all__ = ( "ShortcutEditor", "ShortcutEditorDialog" ) import gettext from gi.repository import GObject from gi.repository import Gdk from gi.repository import Gtk from keyboardshortcut import KeyboardShortcutSelectionDialog gettext.install('ibus-libpinyin') ( COLUMN_DESCRIPTION, COLUMN_CONFIG_KEYNAME, COLUMN_ACCELERATOR, ) = range(3) # The default shortcut value is stored here. accelerators = \ ( (_("Switch Chinese/English"), "main-switch" , ""), (_("Full/Half Width Letter"), "letter-switch", ""), (_("Full/Half Width Punct"), "punct-switch", "period"), (_("Full/Half Width Both Switch"), "both-switch", ""), (_("Switch Traditional/Simplfied Chinese"), "trad-switch", "f") ) class ShortcutTreeView(Gtk.TreeView): def __init__(self, editor): super(ShortcutTreeView, self).__init__() self.set_headers_visible(True) self.__model = self.__create_model() self.set_model(self.__model) self.__add_columns() self.__editor = editor def __create_model(self): model = Gtk.ListStore(str, str, str) for label, keyname, defvalue in accelerators: iter = model.append() # (accel_key, accel_mods) = Gtk.accelerator_parse(accel_str) model.set(iter, COLUMN_DESCRIPTION, label, COLUMN_CONFIG_KEYNAME, keyname, COLUMN_ACCELERATOR, defvalue, ) return model def __add_columns(self): # column for description renderer = Gtk.CellRendererText() column = Gtk.TreeViewColumn(_('Description'), renderer, text=COLUMN_DESCRIPTION) self.append_column(column) # column for accelerator renderer = Gtk.CellRendererText() column = Gtk.TreeViewColumn(_('Accelerator'), renderer, text=COLUMN_ACCELERATOR) self.append_column(column) def set_shortcut_value(self, key, value): # just clean shortcut if value == "": for row in self.__model: if row[COLUMN_CONFIG_KEYNAME] == key: row[COLUMN_ACCELERATOR] = value return True # check duplicate shortcut for row in self.__model: if row[COLUMN_CONFIG_KEYNAME] == key: continue if row[COLUMN_ACCELERATOR] == value: dialog = Gtk.MessageDialog(None, 0, Gtk.MessageType.WARNING, Gtk.ButtonsType.OK, _("This shortcut key is already in use.")) dialog.run() dialog.destroy() return False # store the shortcut for row in self.__model: if row[COLUMN_CONFIG_KEYNAME] == key: row[COLUMN_ACCELERATOR] = value return True def set_default_shortcut(self): selection = self.get_selection() (model, iterator) = selection.get_selected() if not iterator: return key = model[iterator][COLUMN_CONFIG_KEYNAME] for label, keyname, defvalue in accelerators: if key == keyname: if self.set_shortcut_value(key, defvalue): self.__editor.emit_shortcut_changed(key, defvalue) def set_shortcut(self, value=""): selection = self.get_selection() (model, iterator) = selection.get_selected() if not iterator: return key = model[iterator][COLUMN_CONFIG_KEYNAME] if self.set_shortcut_value(key, value): self.__editor.emit_shortcut_changed(key, value) class ShortcutEditor(Gtk.Box): __gtype_name__ = 'ShortcutEditor' __gsignals__ = { 'shortcut-changed': (GObject.SIGNAL_RUN_FIRST, None, (str, str, )) } def __init__(self): super(ShortcutEditor, self).__init__( orientation=Gtk.Orientation.VERTICAL) self.__init_ui() def __init_ui(self): # shortcut tree view self.__shortcut_treeview = ShortcutTreeView(self) self.__shortcut_treeview.connect("cursor-changed", self.__shortcut_treeview_cursor_changed_cb) self.pack_start(self.__shortcut_treeview, False, True, 4) # buttons hbox = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) # set default button self.__set_default_button = Gtk.Button(label = _("_Default"), use_underline = True) self.__set_default_button.connect("clicked", self.__set_default_button_clicked_cb) hbox.pack_start(self.__set_default_button, False, True, 0) # edit button self.__edit_button = Gtk.Button(label= _("_Edit"), use_underline = True) self.__edit_button.connect("clicked", self.__edit_button_clicked_cb) hbox.pack_start(self.__edit_button, False, True, 0) self.pack_start(hbox, False, True, 4) # select the first row selection = self.__shortcut_treeview.get_selection() selection.set_mode(Gtk.SelectionMode.SINGLE) selection.select_path(Gtk.TreePath(0)) self.show_all() def __shortcut_treeview_cursor_changed_cb(self, treeview): selection = treeview.get_selection() (model, iterator) = selection.get_selected() if iterator: self.__set_default_button.set_sensitive(True) self.__edit_button.set_sensitive(True) else: self.__set_default_button.set_sensitive(False) self.__edit_button.set_sensitive(False) def __set_default_button_clicked_cb(self, button): self.__shortcut_treeview.set_default_shortcut() def __edit_button_clicked_cb(self, button): dlg = KeyboardShortcutSelectionDialog(title = _("Select Switching Key")) buttons = (_("_Cancel"), Gtk.ResponseType.CANCEL, _("_OK"), Gtk.ResponseType.OK) dlg.add_buttons(*buttons) selection = self.__shortcut_treeview.get_selection() (model, iterator) = selection.get_selected() if iterator: dlg.set_shortcut(model[iterator][COLUMN_ACCELERATOR]) response = dlg.run() dlg.destroy() if response == Gtk.ResponseType.CANCEL: return self.__shortcut_treeview.set_shortcut(dlg.get_shortcut()) def emit_shortcut_changed(self, key, value): self.emit("shortcut-changed", key, value) def update_shortcuts(self, config): for label, keyname, defvalue in accelerators: value = config.get_value(keyname).get_string() self.__shortcut_treeview.set_shortcut_value(keyname, value) # store the default value # self.emit_shortcut_changed(keyname, value) class ShortcutEditorDialog(Gtk.Dialog): def __init__(self, title = None, transient_for = None, flags = 0): super(ShortcutEditorDialog, self).__init__( title = title, transient_for = transient_for, flags = flags) self.__shortcut_editor = ShortcutEditor() self.vbox.pack_start(self.__shortcut_editor, False, True, 0) self.vbox.show_all() if __name__ == "__main__": dlg = ShortcutEditorDialog(title = "Shortcut Editor test") buttons = (_("_Cancel"), Gtk.ResponseType.CANCEL, _("_OK"), Gtk.ResponseType.OK) dlg.add_buttons(*buttons) print((dlg.run())) ibus-libpinyin-1.16.1/setup/ibus-libpinyin-preferences.ui0000644000175000017500000053211014737121766017171 1 11 1 1 1 1 Standard GinYieh Eten IBM Baidu Google Google CN Default Compact Compatibility MSPY ZRM ABC ZGPY PYJJ XHE default Default us English cn Chinese Horizontal Vertical 1234567890 asdfghjkl; 1qaz2wsxed asdfzxcvgb 1234qweras aoeu;qjkix aoeuhtnsid aoeuidhtns qweasdzxcr Frequency Pinyin Length Legacy 400 False 5 Preferences center-always gtk-preferences dialog True False vertical 2 True False end gtk-close True True True True True True True True False False 0 False True end 0 True True True False 12 12 12 12 True False 18 True False 0 none True False 6 12 True False 4 3 12 6 True True False Language: 0 True False Half/full width: 0 1 2 True False Punctuations: 0 2 3 Chinese True True False 0.5 True InitEnglish 1 2 English True True False 0.5 True True 2 3 Full True True False 0.5 True InitHalf 1 2 1 2 Half True True False 0.5 True True 2 3 1 2 Full True True False 0.5 True InitHalfPunct 1 2 2 3 Half True True False 0.5 True True 2 3 2 3 True False Chinese: 0 3 4 Simplified True True False 0.5 True InitTraditionalChinese 1 2 3 4 Traditional True True False 0.5 True True 2 3 3 4 True False <b>Initial state</b> True False False 0 True False 0 none True False 6 12 True False 6 True False 12 True True False Display Style: True 0 True True 0 True False liststoreDisplayStyle on 0 True True 1 True True 0 True False 12 True True False Orientation of candidates: True 0 True True 0 True False liststoreLookupTableOrientation on 0 True True 1 True True 1 True False 12 True True False Number of candidates: True 0 True True 0 True True LookupTablePageSize 0 left True True 1 True True 2 True False <b>UI</b> True False False 1 True False 0 none True False 12 True False vertical Dynamically adjust the candidates order. True True False 0 True False True 0 Remember every input as a phrase. True True False 0 True False True 1 True False 12 True True False Sort candidates by: 0 True True 0 True False liststoreSortCandidateOption on 0 True True 1 False True 2 True False <b>Candidates</b> True True True 2 True False 0 none True False 12 True False vertical True False True True False Keyboard Layout: 0 True True 0 True False liststoreKeyboardLayout 0 1 False True 1 False True 0 False end True False gtk-dialog-info False True 0 True False end Tips: Changes may not take effect until ime restarts. True True 1 True True 1 True False <b>Keyboard</b> True True True 3 True False General False True False 12 12 12 12 True False 18 True False 0 none True False 6 12 True False True True Full pinyin True True False start 0 True DoublePinyin 0 0 True False 6 Double pinyin True True False start 0 True True False True 0 True False False liststoreDoublePinyin on 0 True True 1 1 0 Show raw input of Double Pinyin True True False start 0 True 1 1 Incomplete pinyin True True False start 0 True True 0 1 True False <b>Pinyin mode</b> True False True 0 True False 0 none True False 6 12 True False 6 True False 3 2 6 6 True [Shift] select candidate True True False 0.5 True [-] [=] flip page True True False 0.5 True True 1 2 [,] [.] flip page True True False 0.5 True True 1 2 Auto commit True True False 0 True 2 3 [ ] flip page True True False True 1 2 1 2 True True 0 True False <b>Input Custom</b> True False True 1 True False 0 none True False 6 12 True False 6 2 6 6 gn => ng True True False 0.5 True True 1 2 mg => ng True True False 0.5 True True 2 3 iou => iu True True False 0.5 True True 3 4 uei => ui True True False 0.5 True True 1 2 1 2 uen => un True True False 0.5 True True 1 2 2 3 ue => ve True True False 0.5 True True 1 2 3 4 v =>u, ve => ue, van => uan and etc True True False 0.5 True True 2 4 5 Enable pinyin correction True True False start 0.5 True True 2 on => ong True True False 0.5 True True 5 6 True False <b>Correct pinyin</b> True True True 2 True False 0 none True False 6 12 True False 6 Enable Cloud Input True True False start 0.5 True True True 0 True False 12 True True False Source From: True 0 True True 0 True False False liststoreCloudInputSource on 0 True True 1 True True 1 True False <b>Cloud Input Option</b> True False False 4 1 True False Pinyin mode 1 False True False 12 12 12 12 True False 18 True False 0 none True False 6 12 True False 6 Incomplete Bopomofo True True False start 0.5 True True True True 0 True False True False Keyboard Mapping: 0 True True 0 True False liststoreBopomofoKeyboardMapping on 0 True True 1 True True 1 True False <b>Bopomofo mode</b> True False False 0 True False 0 none True False 6 12 True False 6 True False True False Selection Keys: 0 True True 0 True False liststoreSelectionKeys on 0 True True 1 True True 0 Enable Guidekey for Candidates Selection True True False start 0.5 True True True True 1 Enable Auxiliary Select Keys F1 .. F10 True True False start 0.5 True True True True 2 Enable Auxiliary Select Keys Numbers on Keypad True True False start 0.5 True True True True 3 True False <b>Selection mode</b> True False False 1 True False 0 none True False 6 12 True False 6 True False Feature of Enter key: 0 True True 0 Commit first candidate True True False start 0.5 True True CommitOriginalText True True 1 Commit original text True True False start 0.5 True True True 2 True False <b>Other</b> True False False 2 True False 0 none True False 6 12 True False 6 Enable Cloud Input True True False start 0.5 True True True 0 True False 12 True True False Source From: True 0 True True 0 True False False liststoreCloudInputSource on 0 True True 1 True True 1 True False <b>Cloud Input Option</b> True False False 4 2 True False Bopomofo mode 2 False True False 12 12 12 12 True False 12 True False 6 12 True False 11 2 6 6 True c <=> ch True False True False 0.5 True True 1 2 z <=> zh True False True False 0.5 True True 2 3 s <=> sh True False True False 0.5 True True 3 4 l <=> n True False True False 0.5 True True 4 5 f <=> h True False True False 0.5 True True 5 6 l <=> r True False True False 0.5 True 6 7 Enable fuzzy syllable True True False start 0.5 True 2 g <=> k True False True False 0.5 True 7 8 an <=> ang True False True False 0.5 True True 1 2 1 2 en <=> eng True False True False 0.5 True True 1 2 2 3 in <=> ing True False True False 0.5 True True 1 2 3 4 True True 0 3 True False Fuzzy syllable 3 False True False 12 12 12 12 True False True False 0 none True False 6 12 True False 6 True True 0 False end True False gtk-dialog-info False True 0 True False end Tips: Changes may not take effect until ime restarts. True True 1 True True 1 True False <b>Dictionary option</b> True True True 0 4 True False Dictionary 4 False True False 12 12 12 12 True False vertical 16 True False 0 none True False 12 True False True True Lua Extension True True False start True 0 0 Table Mode True True False start True 1 0 English Mode True True False start True 0 1 English Candidate True True False start True 1 1 Emoji Candidate True True False start True 0 2 Suggestion Candidate True True False 0 True 1 2 True False <b>Input Modes</b> True False True 0 True False 0 none True False 12 6 True False True False User Lua Script False True 0 Edit True True True False True end 1 True False <b>Customize IME</b> True False True 1 True False 0 none True False 12 True False vertical 12 True False 6 Export True True True False True 6 end 0 Import True True True False True end 1 True False User Dictionary False True 2 False True 0 True False 6 Clear All Data True True True 0.5899999737739563 0.68000000715255737 False True 6 end 0 Clear True True True False True 6 end 2 False True 1 True True True False <b>Dictionary File Format:</b> Each line contains one of the following: "phrase pinyin" or "phrase pinyin frequency" like "你好 ni'hao" or "你好 ni'hao 5". True 0.25 True False 1 Help False True 2 True False <b>User Dictionary</b> True False True 2 True False 0 none True False 12 True False vertical 12 True False True False User Table False True 0 Export True True True False True 6 end 2 Import True True True False True 6 end 3 False True 0 True False 12 Clear True True True False True 6 end 1 False True 1 True True True False <b>Table File Format:</b> Each line contains the following: "table_code phrase frequency" like "a 啊 100". True True False Help False True 2 True False <b>User Table</b> True False True 3 5 True False User data 5 False True False 12 12 12 12 True True 6 True False Shortcuts 6 False True False 12 12 12 12 True False 6 True False 6 True True 32 gtk-about True True 0 True False <big><b>Intelligent Pinyin %s</b></big> True True True True 1 True False Intelligent Pinyin input method for IBus True True True 2 True False <small>Copyright (c) 2011-2024 Peng Wu</small> True True True True True 3 https://github.com/libpinyin/ibus-libpinyin True True True none https://github.com/libpinyin/ibus-libpinyin False False 4 True False <small> <b>Authors:</b> Peng Wu Peng Huang BYVoid <b>Main Contributors:</b> Weixuan XIAO, Linyu XU <b>Contributors:</b> koterpilla, Zerng07, Hillwood Yang </small> True center True True True 5 True False 0 8 True False About 8 False False True 1 buttonClose ibus-libpinyin-1.16.1/setup/Makefile.am0000644000175000017500000000311514726715641013427 # vim:set noet ts=4: # # ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus # # Copyright (c) 2008-2010 Peng Huang # ## This program is free software: you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation, either version 3 of the License, or ## (at your option) any later version. ## ## This program 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 General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program. If not, see . setup_libpinyin_PYTHON = \ main2.py \ config.py \ dicttreeview.py \ enginefile.py \ shortcuteditor.py \ keyboardshortcut.py \ ibus-libpinyin-preferences.ui \ $(NULL) setup_libpinyindir = $(datadir)/ibus-libpinyin/setup libexec_SCRIPTS = \ ibus-setup-libpinyin \ $(NULL) CLEANFILES = \ *.pyc \ $(NULL) EXTRA_DIST = \ config.py.in \ ibus-setup-libpinyin.in \ $(NULL) test-libpinyin: $(ENV) DBUS_DEBUG=true \ IBUS_LOCALEDIR=@localedir@ \ IBUS_PKGDATADIR=$(pkgdatadir) \ PYTHONPATH=$(abs_top_srcdir):$(pyexecdir) \ $(PYTHON) $(srcdir)/main2.py libpinyin test-libbopomofo: $(ENV) DBUS_DEBUG=true \ IBUS_LOCALEDIR=@localedir@ \ IBUS_PKGDATADIR=$(pkgdatadir) \ PYTHONPATH=$(abs_top_srcdir):$(pyexecdir) \ $(PYTHON) $(srcdir)/main2.py libbopomofo ibus-libpinyin-1.16.1/setup/enginefile.py0000644000175000017500000000666014726245750014061 # vim:set et ts=4 sts=4: # -*- coding: utf-8 -*- # # ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus # # Copyright (c) 2024 Peng Wu # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program 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 General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. import os import xml.dom.minidom import codecs from gi import require_version as gi_require_version gi_require_version('GLib', '2.0') gi_require_version('Gio', '2.0') from gi.repository import GLib from gi.repository import Gio pkgdatadir = os.getenv("IBUS_PKGDATADIR") or "." def save_layout(): # assume the name and layout tag has the same order, # save both libpinyin and libbopomofo value here. system_config = os.path.join(pkgdatadir, 'default.xml') dom = xml.dom.minidom.parse(system_config) names = dom.getElementsByTagName('name') layouts = dom.getElementsByTagName('layout') assert len(names) == len(layouts) for i, name in enumerate(names): engine = name.childNodes[0].data config_namespace = "com.github.libpinyin.ibus-libpinyin." + engine config = Gio.Settings.new(config_namespace) var = config.get_value("keyboard-layout") assert 's' == var.get_type_string() layout = var.get_string() layouts[i].childNodes[0].data = layout user_config = os.path.join(GLib.get_user_config_dir(), 'ibus', 'libpinyin', 'engines.xml') dir = os.path.dirname(user_config) os.path.exists(dir) or os.makedirs(dir, 0o700) # io.open() causes TypeError for unicode. f = codecs.open(user_config, 'w', 'utf-8') dom.writexml(f, '', '', '', 'utf-8') f.close() os.chmod(user_config, 0o600) def resync_engine_file(): user_config = os.path.join(GLib.get_user_config_dir(), 'ibus', 'libpinyin', 'engines.xml') system_config = os.path.join(pkgdatadir, 'default.xml') if not os.path.exists(user_config): return if not os.path.exists(system_config): os.unlink(user_config) return # path.getmtime depends on the build time rather than install time. def __get_engine_file_version(engine_file): version_str = '' dom = xml.dom.minidom.parse(engine_file) # there are two versions in the engines.xml, only use the first one elements = dom.getElementsByTagName('version') nodes = [] if len(elements) > 0: nodes = elements[0].childNodes if len(nodes) > 0: version_str = nodes[0].data if version_str != '': version_str = version_str.strip() return version_str user_config_version = __get_engine_file_version(user_config) system_config_version = __get_engine_file_version(system_config) if system_config_version != user_config_version: # generate the user config from gsettings save_layout() ibus-libpinyin-1.16.1/setup/main2.py0000644000175000017500000007557514737121766012777 # vim:set et ts=4 sts=4: # -*- coding: utf-8 -*- # # ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus # # Copyright (c) 2008-2010 Peng Huang # Copyright (c) 2010 BYVoid # Copyright (c) 2011-2024 Peng Wu # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program 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 General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. import gettext from enginefile import resync_engine_file, save_layout import locale import os import sys from gi import require_version as gi_require_version gi_require_version('GLib', '2.0') gi_require_version('Gio', '2.0') gi_require_version('Gtk', '3.0') gi_require_version('IBus', '1.0') from gi.repository import GLib from gi.repository import Gio # set_prgname before importing other modules to show the name in warning # messages when import modules are failed. E.g. Gtk. GLib.set_prgname('ibus-setup-libpinyin') from gi.repository import Gtk from gi.repository import IBus import config from dicttreeview import DictionaryTreeView from shortcuteditor import ShortcutEditor DOMAINNAME = 'ibus-libpinyin' locale.setlocale(locale.LC_ALL, "") localedir = os.getenv("IBUS_LOCALEDIR") pkgdatadir = os.getenv("IBUS_PKGDATADIR") or "." # Python's locale module doesn't provide all methods on some # operating systems like FreeBSD try: locale.bindtextdomain(DOMAINNAME, localedir) locale.bind_textdomain_codeset(DOMAINNAME, 'UTF-8') except AttributeError: pass # Python's gettext module doesn't provide all methods in # new Python version try: gettext.bindtextdomain(DOMAINNAME, localedir) gettext.bind_textdomain_codeset(DOMAINNAME, 'UTF-8') except AttributeError: pass gettext.install(DOMAINNAME, localedir) class PreferencesDialog: def __init__(self, engine): self.__bus = IBus.Bus() self.__builder = Gtk.Builder() self.__builder.set_translation_domain(DOMAINNAME) self.__builder.add_from_file("ibus-libpinyin-preferences.ui") self.__dialog = self.__builder.get_object("dialog") self.__init_pages() if engine == "libpinyin": self.__config_namespace = "com.github.libpinyin.ibus-libpinyin.libpinyin" self.__config = Gio.Settings.new(self.__config_namespace) self.__init_general() self.__init_pinyin() self.__init_fuzzy() self.__init_dictionary() self.__init_user_data() self.__init_shortcut() self.__init_cloud_input() self.__init_about() elif engine == "libbopomofo": self.__config_namespace = "com.github.libpinyin.ibus-libpinyin.libbopomofo" self.__config = Gio.Settings.new(self.__config_namespace) self.__init_general() self.__init_bopomofo() self.__init_fuzzy() self.__init_dictionary() #self.__init_user_data() self.__init_shortcut() self.__init_bopomofo_cloud_input() self.__init_about() self.__convert_fuzzy_pinyin_to_bopomofo() self.__display_style_box.hide() else: print("Error: Unknown Engine") exit() self.__pages.set_current_page(0) def __init_pages(self): self.__pages = self.__builder.get_object("pages") self.__page_general = self.__builder.get_object("pageGeneral") self.__page_pinyin_mode = self.__builder.get_object("pagePinyinMode") self.__page_bopomofo_mode = self.__builder.get_object("pageBopomofoMode") self.__page_fuzzy = self.__builder.get_object("pageFuzzy") self.__page_dictionary = self.__builder.get_object("pageDictionary") self.__page_user_data = self.__builder.get_object("pageUserData") self.__page_shortcut = self.__builder.get_object("pageShortcut") self.__page_about = self.__builder.get_object("pageAbout") self.__page_general.hide() self.__page_pinyin_mode.hide() self.__page_bopomofo_mode.hide() self.__page_fuzzy.hide() self.__page_dictionary.hide() self.__page_user_data.hide() self.__page_about.hide() def __init_general(self): # page General self.__page_general.show() # init state self.__init_chinese = self.__builder.get_object("InitChinese") self.__init_english = self.__builder.get_object("InitEnglish") self.__init_full = self.__builder.get_object("InitFull") self.__init_half = self.__builder.get_object("InitHalf") self.__init_full_punct = self.__builder.get_object("InitFullPunct") self.__init_half_punct = self.__builder.get_object("InitHalfPunct") self.__init_simp = self.__builder.get_object("InitSimplifiedChinese") self.__init_trad = self.__builder.get_object("InitTraditionalChinese") # UI self.__display_style = self.__builder.get_object("DisplayStyle") self.__display_style_box = self.__builder.get_object("boxDisplayStyle") self.__lookup_table_orientation = self.__builder.get_object("LookupTableOrientation") self.__lookup_table_page_size = self.__builder.get_object("LookupTablePageSize") self.__dynamic_adjust = self.__builder.get_object("DynamicAdjust") self.__remember_every_input = self.__builder.get_object("RememberEveryInput") self.__sort_candidate_option = self.__builder.get_object("SortCandidateOption") self.__keyboard_layout = self.__builder.get_object("KeyboardLayout") self.__keyboard_layout_information = self.__builder.get_object("KeyboardLayoutInformation") # read values self.__init_chinese.set_active(self.__get_value("init-chinese")) self.__init_full.set_active(self.__get_value("init-full")) self.__init_full_punct.set_active(self.__get_value("init-full-punct")) self.__init_simp.set_active(self.__get_value("init-simplified-chinese")) self.__lookup_table_orientation.set_active(self.__get_value("lookup-table-orientation")) self.__lookup_table_page_size.set_value(self.__get_value("lookup-table-page-size")) self.__display_style.set_active(self.__get_value("display-style")) self.__dynamic_adjust.set_active(self.__get_value("dynamic-adjust")) self.__remember_every_input.set_active(self.__get_value("remember-every-input")) self.__sort_candidate_option.set_active(self.__get_value("sort-candidate-option")) self.__keyboard_layout.set_active_id(self.__get_value("keyboard-layout")) # connect signals self.__init_chinese.connect("toggled", self.__toggled_cb, "init-chinese") self.__init_full.connect("toggled", self.__toggled_cb, "init-full") self.__init_full_punct.connect("toggled", self.__toggled_cb, "init-full-punct") self.__init_simp.connect("toggled", self.__toggled_cb, "init-simplified-chinese") self.__dynamic_adjust.connect("toggled", self.__toggled_cb, "dynamic-adjust") self.__remember_every_input.connect("toggled", self.__toggled_cb, "remember-every-input") def __display_size_changed_cb(widget): self.__set_value("display-style", widget.get_active()) def __lookup_table_orientation_changed_cb(widget): self.__set_value("lookup-table-orientation", widget.get_active()) def __lookup_table_page_size_changed_cb(adjustment): self.__set_value("lookup-table-page-size", int(adjustment.get_value())) def __sort_candidate_option_changed_cb(widget): self.__set_value("sort-candidate-option", widget.get_active()) def __keyboard_layout_changed_cb(widget): self.__set_value("keyboard-layout", widget.get_active_id()) save_layout() self.__keyboard_layout_information.show() self.__display_style.connect("changed", __display_size_changed_cb) self.__lookup_table_orientation.connect("changed", __lookup_table_orientation_changed_cb) self.__lookup_table_page_size.connect("value-changed", __lookup_table_page_size_changed_cb) self.__sort_candidate_option.connect("changed", __sort_candidate_option_changed_cb) self.__keyboard_layout.connect("changed", __keyboard_layout_changed_cb) def __init_pinyin(self): # page self.__page_pinyin_mode.show() # pinyin self.__full_pinyin = self.__builder.get_object("FullPinyin") self.__incomplete_pinyin = self.__builder.get_object("IncompletePinyin") self.__double_pinyin = self.__builder.get_object("DoublePinyin") self.__double_pinyin_schema = self.__builder.get_object("DoublePinyinSchema") # self.__double_pinyin_schema_label = self.__builder.get_object("labelDoublePinyinSchema") self.__double_pinyin_show_raw = self.__builder.get_object("DoublePinyinShowRaw") # read value self.__incomplete_pinyin.set_active(self.__get_value("incomplete-pinyin")) self.__full_pinyin.set_active(not self.__get_value("double-pinyin")) self.__double_pinyin_schema.set_active(self.__get_value("double-pinyin-schema")) self.__double_pinyin_show_raw.set_active(self.__get_value("double-pinyin-show-raw")) if self.__full_pinyin.get_active(): # self.__incomplete_pinyin.set_sensitive(True) self.__double_pinyin_schema.set_sensitive(False) # self.__double_pinyin_schema_label.set_sensitive(False) self.__double_pinyin_show_raw.set_sensitive(False) else: # self.__incomplete_pinyin.set_sensitive(False) self.__double_pinyin_schema.set_sensitive(True) # self.__double_pinyin_schema_label.set_sensitive(True) self.__double_pinyin_show_raw.set_sensitive(True) def __double_pinyin_toggled_cb(widget): val = widget.get_active() self.__set_value("double-pinyin", val) self.__double_pinyin_schema.set_sensitive(val) # self.__double_pinyin_schema_label.set_sensitive(val) self.__double_pinyin_show_raw.set_sensitive(val) def __double_pinyin_schema_changed_cb(widget): self.__set_value("double-pinyin-schema", widget.get_active()) # connect signals self.__double_pinyin.connect("toggled", __double_pinyin_toggled_cb) self.__incomplete_pinyin.connect("toggled", self.__toggled_cb, "incomplete-pinyin") self.__double_pinyin_schema.connect("changed", __double_pinyin_schema_changed_cb) self.__double_pinyin_show_raw.connect("toggled", self.__toggled_cb, "double-pinyin-show-raw") self.__init_input_custom() self.__init_correct_pinyin() def __init_bopomofo(self): # page Bopomodo Mode self.__page_bopomofo_mode.show() # bopomofo mode self.__incomplete_bopomofo = self.__builder.get_object("IncompleteBopomofo") self.__bopomofo_keyboard_mapping = self.__builder.get_object("BopomofoKeyboardMapping") # selection mode self.__select_keys = self.__builder.get_object("SelectKeys") self.__guide_key = self.__builder.get_object("GuideKey") self.__auxiliary_select_key_f = self.__builder.get_object("AuxiliarySelectKey_F") self.__auxiliary_select_key_kp = self.__builder.get_object("AuxiliarySelectKey_KP") # other self.__enter_key = self.__builder.get_object("CommitFirstCandidate") # read value self.__bopomofo_keyboard_mapping.set_active(self.__get_value("bopomofo-keyboard-mapping")) self.__incomplete_bopomofo.set_active(self.__get_value("incomplete-pinyin")) self.__select_keys.set_active(self.__get_value("select-keys")) self.__guide_key.set_active(self.__get_value("guide-key")) self.__auxiliary_select_key_f.set_active(self.__get_value("auxiliary-select-key-f")) self.__auxiliary_select_key_kp.set_active(self.__get_value("auxiliary-select-key-kp")) self.__enter_key.set_active(self.__get_value("enter-key")) # connect signals def __bopomofo_keyboard_mapping_changed_cb(widget): self.__set_value("bopomofo-keyboard-mapping", widget.get_active()) def __select_keys_changed_cb(widget): self.__set_value("select-keys", widget.get_active()) self.__bopomofo_keyboard_mapping.connect("changed", __bopomofo_keyboard_mapping_changed_cb) self.__incomplete_bopomofo.connect("toggled", self.__toggled_cb, "incomplete-pinyin") self.__select_keys.connect("changed", __select_keys_changed_cb) self.__guide_key.connect("toggled", self.__toggled_cb, "guide-key") self.__auxiliary_select_key_f.connect("toggled", self.__toggled_cb, "auxiliary-select-key-f") self.__auxiliary_select_key_kp.connect("toggled", self.__toggled_cb, "auxiliary-select-key-kp") self.__enter_key.connect("toggled", self.__toggled_cb, "enter-key") def __init_input_custom(self): # others self.__shift_select_candidate = self.__builder.get_object("ShiftSelectCandidate") self.__minus_equal_page = self.__builder.get_object("MinusEqualPage") self.__comma_period_page = self.__builder.get_object("CommaPeriodPage") self.__square_bracket_page = self.__builder.get_object("SquareBracketPage") self.__auto_commit = self.__builder.get_object("AutoCommit") # read values self.__shift_select_candidate.set_active(self.__get_value("shift-select-candidate")) self.__minus_equal_page.set_active(self.__get_value("minus-equal-page")) self.__comma_period_page.set_active(self.__get_value("comma-period-page")) self.__square_bracket_page.set_active(self.__get_value("square-bracket-page")) self.__auto_commit.set_active(self.__get_value("auto-commit")) # connect signals self.__shift_select_candidate.connect("toggled", self.__toggled_cb, "shift-select-candidate") self.__minus_equal_page.connect("toggled", self.__toggled_cb, "minus-equal-page") self.__comma_period_page.connect("toggled", self.__toggled_cb, "comma-period-page") self.__square_bracket_page.connect("toggled", self.__toggled_cb, "square-bracket-page") self.__auto_commit.connect("toggled", self.__toggled_cb, "auto-commit") def __init_correct_pinyin(self): # auto correct self.__correct_pinyin = self.__builder.get_object("CorrectPinyin") self.__correct_pinyin_widgets = [ ('CorrectPinyin_GN_NG', 'correct-pinyin-gn-ng'), ('CorrectPinyin_MG_NG', 'correct-pinyin-mg-ng'), ('CorrectPinyin_IOU_IU', 'correct-pinyin-iou-iu'), ('CorrectPinyin_UEI_UI', 'correct-pinyin-uei-ui'), ('CorrectPinyin_UEN_UN', 'correct-pinyin-uen-un'), ('CorrectPinyin_UE_VE', 'correct-pinyin-ue-ve'), ('CorrectPinyin_V_U', 'correct-pinyin-v-u'), ('CorrectPinyin_ON_ONG', 'correct-pinyin-on-ong'), ] def __correct_pinyin_toggled_cb(widget): val = widget.get_active() for w in self.__correct_pinyin_widgets: self.__builder.get_object(w[0]).set_sensitive(val) self.__correct_pinyin.connect("toggled", __correct_pinyin_toggled_cb) # init value self.__correct_pinyin.set_active(self.__get_value("correct-pinyin")) for name, keyname in self.__correct_pinyin_widgets: widget = self.__builder.get_object(name) widget.set_active(self.__get_value(keyname)) self.__correct_pinyin.connect("toggled", self.__toggled_cb, "correct-pinyin") for name, keyname in self.__correct_pinyin_widgets: widget = self.__builder.get_object(name) widget.connect("toggled", self.__toggled_cb, keyname) def __init_fuzzy(self): # page Fuzzy self.__page_fuzzy.show() # fuzzy pinyin self.__fuzzy_pinyin = self.__builder.get_object("FuzzyPinyin") self.__fuzzy_pinyin_widgets = [ ('FuzzyPinyin_C_CH', 'fuzzy-pinyin-c-ch'), ('FuzzyPinyin_Z_ZH', 'fuzzy-pinyin-z-zh'), ('FuzzyPinyin_S_SH', 'fuzzy-pinyin-s-sh'), ('FuzzyPinyin_L_N', 'fuzzy-pinyin-l-n'), ('FuzzyPinyin_F_H', 'fuzzy-pinyin-f-h'), ('FuzzyPinyin_L_R', 'fuzzy-pinyin-l-r'), ('FuzzyPinyin_G_K', 'fuzzy-pinyin-g-k'), ('FuzzyPinyin_AN_ANG', 'fuzzy-pinyin-an-ang'), ('FuzzyPinyin_EN_ENG', 'fuzzy-pinyin-en-eng'), ('FuzzyPinyin_IN_ING', 'fuzzy-pinyin-in-ing'), ] def __fuzzy_pinyin_toggled_cb(widget): val = widget.get_active() for w in self.__fuzzy_pinyin_widgets: self.__builder.get_object(w[0]).set_sensitive(val) self.__fuzzy_pinyin.connect("toggled", __fuzzy_pinyin_toggled_cb) # read values self.__fuzzy_pinyin.set_active(self.__get_value("fuzzy-pinyin")) for name, keyname in self.__fuzzy_pinyin_widgets: widget = self.__builder.get_object(name) widget.set_active(self.__get_value(keyname)) # connect signals self.__fuzzy_pinyin.connect("toggled", self.__toggled_cb, "fuzzy-pinyin") for name, keyname in self.__fuzzy_pinyin_widgets: widget = self.__builder.get_object(name) widget.connect("toggled", self.__toggled_cb, keyname) def __convert_fuzzy_pinyin_to_bopomofo(self): options = [ ("FuzzyPinyin_C_CH", "ㄘ <=> ㄔ"), ("FuzzyPinyin_Z_ZH", "ㄗ <=> ㄓ"), ("FuzzyPinyin_S_SH", "ㄙ <=> ㄕ"), ("FuzzyPinyin_L_N", "ㄌ <=> ㄋ"), ("FuzzyPinyin_F_H", "ㄈ <=> ㄏ"), ("FuzzyPinyin_L_R", "ㄌ <=> ㄖ"), ("FuzzyPinyin_G_K", "ㄍ <=> ㄎ"), ("FuzzyPinyin_AN_ANG", "ㄢ <=> ㄤ"), ("FuzzyPinyin_EN_ENG", "ㄣ <=> ㄥ"), ("FuzzyPinyin_IN_ING", "ㄧㄣ <=> ㄧㄥ"), ] for name, label in options: self.__builder.get_object(name).set_label(label) def __init_dictionary(self): # page Dictionary self.__page_dictionary.show() # dictionary tree view self.__dict_treeview = self.__builder.get_object("Dictionaries") self.__dict_treeview.show() self.__dict_treeview.set_dictionaries(self.__get_value("dictionaries")) self.__dictionary_information = self.__builder.get_object("DictionaryInformation") def __notified_dicts_cb(self, param, dialog): dialog.__set_value("dictionaries", self.get_dictionaries()) dialog.__dictionary_information.show() # connect notify signal self.__dict_treeview.connect("notify::dictionaries", __notified_dicts_cb, self) def __init_user_data(self): #page User Data self.__page_user_data.show() self.__frame_lua_script = self.__builder.get_object("frameLuaScript") path = os.path.join(pkgdatadir, 'user.lua') if not os.access(path, os.R_OK): self.__frame_lua_script.hide() self.__frame_user_table = self.__builder.get_object("frameUserTable") self.__lua_extension = self.__builder.get_object("LuaExtension") self.__table_mode = self.__builder.get_object("TableMode") self.__english_mode = self.__builder.get_object("EnglishMode") self.__emoji_candidate = self.__builder.get_object("EmojiCandidate") self.__english_candidate = self.__builder.get_object("EnglishCandidate") self.__suggestion_candidate = self.__builder.get_object("SuggestionCandidate") self.__import_table = self.__builder.get_object("ImportTable") self.__export_table = self.__builder.get_object("ExportTable") self.__clear_user_table = self.__builder.get_object("ClearUserTable") self.__edit_lua = self.__builder.get_object("EditLua") self.__import_dictionary = self.__builder.get_object("ImportDictionary") self.__export_dictionary = self.__builder.get_object("ExportDictionary") self.__clear_user_data = self.__builder.get_object("ClearUserDictionary") self.__clear_all_data = self.__builder.get_object("ClearAllDictionary") # read values self.__frame_lua_script.set_sensitive(self.__get_value("lua-extension")) self.__frame_user_table.set_sensitive(self.__get_value("table-input-mode")) self.__lua_extension.set_active(self.__get_value("lua-extension")) self.__table_mode.set_active(self.__get_value("table-input-mode")) self.__english_mode.set_active(self.__get_value("english-input-mode")) self.__emoji_candidate.set_active(self.__get_value("emoji-candidate")) self.__english_candidate.set_active(self.__get_value("english-candidate")) self.__suggestion_candidate.set_active(self.__get_value("suggestion-candidate")) # connect signals self.__lua_extension.connect("toggled", self.__lua_extension_cb) self.__table_mode.connect("toggled", self.__table_mode_cb) self.__english_mode.connect("toggled", self.__english_mode_cb) self.__emoji_candidate.connect("toggled", self.__toggled_cb, "emoji-candidate") self.__english_candidate.connect("toggled", self.__toggled_cb, "english-candidate") self.__suggestion_candidate.connect("toggled", self.__toggled_cb, "suggestion-candidate") self.__edit_lua.connect("clicked", self.__edit_lua_cb) self.__import_dictionary.connect("clicked", self.__import_dictionary_cb, "import-dictionary") self.__export_dictionary.connect("clicked", self.__export_dictionary_cb, "export-dictionary") self.__clear_user_data.connect("clicked", self.__clear_user_data_cb, "user") self.__clear_all_data.connect("clicked", self.__clear_user_data_cb, "all") self.__import_table.connect("clicked", self.__import_table_cb, "import-custom-table") self.__export_table.connect("clicked", self.__export_table_cb, "export-custom-table") self.__clear_user_table.connect("clicked", self.__clear_user_table_cb, "clear-custom-table", "user") def __lua_extension_cb(self, widget): self.__set_value("lua-extension", widget.get_active()) self.__frame_lua_script.set_sensitive(widget.get_active()) def __table_mode_cb(self, widget): self.__set_value("table-input-mode", widget.get_active()) self.__frame_user_table.set_sensitive(widget.get_active()) def __english_mode_cb(self, widget): self.__set_value("english-input-mode", widget.get_active()) def __edit_lua_cb(self, widget): import shutil path = os.path.join(GLib.get_user_config_dir(), "ibus", "libpinyin") os.path.exists(path) or os.makedirs(path) path = os.path.join(path, "user.lua") if not os.path.exists(path): src = os.path.join(pkgdatadir, "user.lua") shutil.copyfile(src, path) os.system("xdg-open %s" % path) def __get_import_filename(self): dialog = Gtk.FileChooserDialog \ (title = _("Please choose a file"), parent = self.__dialog, action = Gtk.FileChooserAction.OPEN) dialog.add_buttons(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, Gtk.STOCK_OPEN, Gtk.ResponseType.OK) filter_text = Gtk.FileFilter() filter_text.set_name("Text files") filter_text.add_mime_type("text/plain") dialog.add_filter(filter_text) filename = None response = dialog.run() if response == Gtk.ResponseType.OK: filename = dialog.get_filename() dialog.destroy() return filename def __get_export_filename(self): dialog = Gtk.FileChooserDialog \ (title = _("Please save a file"), parent = self.__dialog, action = Gtk.FileChooserAction.SAVE) dialog.add_buttons(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, Gtk.STOCK_SAVE, Gtk.ResponseType.OK) dialog.set_do_overwrite_confirmation(True) filter_text = Gtk.FileFilter() filter_text.set_name("Text files") filter_text.add_mime_type("text/plain") dialog.add_filter(filter_text) filename = None response = dialog.run() if response == Gtk.ResponseType.OK: filename = dialog.get_filename() dialog.destroy() return filename def __import_dictionary_cb(self, widget, name): filename = self.__get_import_filename() if filename: self.__set_value(name, "") self.__set_value(name, filename) def __export_dictionary_cb(self, widget, name): filename = self.__get_export_filename() if filename: self.__set_value(name, "") self.__set_value(name, filename) def __clear_user_data_cb(self, widget, name): self.__set_value("clear-user-data", name) def __import_table_cb(self, widget, name): filename = self.__get_import_filename() if filename: self.__set_value(name, "") self.__set_value(name, filename) self.__set_value("use-custom-table", True) def __export_table_cb(self, widget, name): filename = self.__get_export_filename() if filename: self.__set_value(name, "") self.__set_value(name, filename) def __clear_user_table_cb(self, widget, name, value): self.__set_value(name, value) self.__set_value("use-custom-table", False) def __init_shortcut(self): # page Shortcut self.__page_shortcut.show() # shortcut tree view self.__shortcut_editor = self.__builder.get_object("ShortcutsEditor") # work around for fedora 21 self.__shortcut_editor.set_orientation(Gtk.Orientation.VERTICAL) self.__shortcut_editor.show() # connect "shortcut-changed" signal self.__shortcut_editor.connect("shortcut-changed", self.__shortcut_changed_cb) # set shortcuts self.__shortcut_editor.update_shortcuts(self.__config) def __shortcut_changed_cb(self, editor, key, value): self.__set_value(key, value) def __init_bopomofo_cloud_input(self): # init state self.__frame_cloud_input = self.__builder.get_object("frameBopomofoCloudInput") self.__init_enable_cloud_input = self.__builder.get_object("InitEnableBopomofoCloudInput") # cloud input option self.__cloud_input_source = self.__builder.get_object("BopomofoCloudInputSource") if not config.support_cloud_input(): self.__frame_cloud_input.hide() # read values self.__init_enable_cloud_input.set_active(self.__get_value("enable-cloud-input")) self.__cloud_input_source.set_active(self.__get_value("cloud-input-source")) if self.__init_enable_cloud_input.get_active(): self.__cloud_input_source.set_sensitive(True) else: self.__cloud_input_source.set_sensitive(False) # connect signals def __enable_cloud_input_cb(widget): val = widget.get_active() self.__set_value("enable-cloud-input", val) self.__cloud_input_source.set_sensitive(val) def __cloud_input_source_changed_cb(widget): self.__set_value("cloud-input-source", widget.get_active()) self.__init_enable_cloud_input.connect("toggled", __enable_cloud_input_cb) self.__cloud_input_source.connect("changed", __cloud_input_source_changed_cb) def __init_cloud_input(self): # init state self.__frame_cloud_input = self.__builder.get_object("frameCloudInput") self.__init_enable_cloud_input = self.__builder.get_object("InitEnableCloudInput") # cloud input option self.__cloud_input_source = self.__builder.get_object("CloudInputSource") if not config.support_cloud_input(): self.__frame_cloud_input.hide() # read values self.__init_enable_cloud_input.set_active(self.__get_value("enable-cloud-input")) self.__cloud_input_source.set_active(self.__get_value("cloud-input-source")) if self.__init_enable_cloud_input.get_active(): self.__cloud_input_source.set_sensitive(True) else: self.__cloud_input_source.set_sensitive(False) # connect signals def __enable_cloud_input_cb(widget): val = widget.get_active() self.__set_value("enable-cloud-input", val) self.__cloud_input_source.set_sensitive(val) def __cloud_input_source_changed_cb(widget): self.__set_value("cloud-input-source", widget.get_active()) self.__init_enable_cloud_input.connect("toggled", __enable_cloud_input_cb) self.__cloud_input_source.connect("changed", __cloud_input_source_changed_cb) def __init_about(self): # page About self.__page_about.show() self.__about_icon = self.__builder.get_object("AboutIcon") icon_path = os.path.join(pkgdatadir, 'icons', 'ibus-pinyin.svg') self.__about_icon.set_from_file(icon_path) self.__name_version = self.__builder.get_object("NameVersion") self.__name_version.set_markup(_("Intelligent Pinyin %s") % config.get_version()) def __changed_cb(self, widget, name): self.__set_value(name, widget.get_active()) def __toggled_cb(self, widget, name): self.__set_value(name, widget.get_active ()) def __get_value(self, name): var = self.__config.get_value(name) vartype = var.get_type_string() if vartype == 'b': return var.get_boolean() elif vartype == 'i': return var.get_int32() elif vartype == 's': return var.get_string() else: print("var(%s) is not in support type." % repr(var), file=sys.stderr) return None def __set_value(self, name, val): var = None if isinstance(val, bool): var = GLib.Variant.new_boolean(val) elif isinstance(val, int): var = GLib.Variant.new_int32(val) elif isinstance(val, str): var = GLib.Variant.new_string(val) else: print("val(%s) is not in support type." % repr(val), file=sys.stderr) return self.__config.set_value(name, var) def run(self): return self.__dialog.run() def main(): command_name = "libpinyin" if len(sys.argv) == 2: command_name = sys.argv[1] resync_engine_file() if command_name == "resync-engine": return if command_name not in ("libpinyin", "libbopomofo"): command_name = "libpinyin" PreferencesDialog(command_name).run() if __name__ == "__main__": main() ibus-libpinyin-1.16.1/src/0000755000175000017500000000000014767172144011102 5ibus-libpinyin-1.16.1/src/PYPEnglishCandidates.cc0000644000175000017500000000625714455173634015304 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2021 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "PYPEnglishCandidates.h" #include #include using namespace PY; static const int MINIMAL_ENGLISH_CHARACTERS = 4; static const int MAXIMAL_ENGLISH_CANDIDATES = 2; EnglishCandidates::EnglishCandidates (Editor *editor) : m_train_factor (0.1) { m_editor = editor; m_english_database = & EnglishDatabase::instance (); } static bool compare_string_length (const std::string & lhs, const std::string &rhs) { return lhs.length () < rhs.length (); } gboolean EnglishCandidates::processCandidates (std::vector & candidates) { if (m_editor->m_text.length () < MINIMAL_ENGLISH_CHARACTERS) return FALSE; const char *prefix = m_editor->m_text.c_str (); std::vector words; std::vector::iterator pos; for (pos = candidates.begin (); pos != candidates.end (); ++pos) { if (CANDIDATE_NBEST_MATCH != pos->m_candidate_type && CANDIDATE_LONGER != pos->m_candidate_type && CANDIDATE_LONGER_USER != pos->m_candidate_type) break; } EnhancedCandidate enhanced; enhanced.m_candidate_type = CANDIDATE_ENGLISH; int count = 0; if (m_english_database->listWords (prefix, words)) { // sort the words by length and frequency std::stable_sort (words.begin (), words.end (), compare_string_length); // list the shortest words here for (auto iter = words.begin (); iter != words.end (); ++iter) { if (count >= MAXIMAL_ENGLISH_CANDIDATES) break; enhanced.m_candidate_id = count; enhanced.m_display_string = *iter; candidates.insert (pos + count, enhanced); ++count; } return TRUE; } return FALSE; } int EnglishCandidates::selectCandidate (EnhancedCandidate & enhanced) { assert (CANDIDATE_ENGLISH == enhanced.m_candidate_type); assert (enhanced.m_candidate_id < MAXIMAL_ENGLISH_CANDIDATES); m_english_database->train (enhanced.m_display_string.c_str (), m_train_factor); return SELECT_CANDIDATE_DIRECT_COMMIT; } gboolean EnglishCandidates::removeCandidate (EnhancedCandidate & enhanced) { assert (CANDIDATE_ENGLISH == enhanced.m_candidate_type); assert (enhanced.m_candidate_id < MAXIMAL_ENGLISH_CANDIDATES); return m_english_database->deleteUserWord (enhanced.m_display_string.c_str ()); } ibus-libpinyin-1.16.1/src/PYSignal.h0000664000175000017500000000540713672072346012666 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_SIGNAL_H_ #define __PY_SIGNAL_H_ #ifdef HAVE_CONFIG_H # include #endif #ifdef __GXX_EXPERIMENTAL_CXX0X__ # include namespace PY { using namespace std::placeholders; // implement signal templates template struct signal { }; template struct signal< R(), T1, T2, T3> { typedef std::function func_type; void connect (func_type f) { m_func = f; } R operator ()() const { m_func (); } private: func_type m_func; }; template struct signal< R(T1), T2, T3> { typedef std::function func_type; void connect (func_type f) { m_func = f; } R operator ()(T1 a1) const { return m_func (a1); } private: func_type m_func; }; template struct signal< R(T1, T2), T3> { typedef std::function func_type; void connect (func_type f) { m_func = f; } R operator ()(T1 a1, T2 a2) const { return m_func (a1, a2); } private: func_type m_func; }; template struct signal< R(T1, T2, T3)> { typedef std::function func_type; void connect (func_type f) {m_func = f; } R operator ()(T1 a1, T2 a2, T3 a3) const { return m_func (a1, a2, a3); } private: func_type m_func; }; }; #else // __GXX_EXPERIMENTAL_CXX0X__ # include # include namespace std { // import boost::bind into std namespace using boost::bind; }; namespace PY { // use boost::signal2 namespace bs2 = boost::signals2; template struct signal : public bs2::signal_type >::type { }; }; #endif // __GXX_EXPERIMENTAL_CXX0X__ #endif // __PY_SIGNAL_H_ ibus-libpinyin-1.16.1/src/PYTableEditor.cc0000644000175000017500000002444314737121766014010 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2012 Peng Wu * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "PYTableEditor.h" #include #include #include #include #include #include #include "PYString.h" #include "PYConfig.h" #define _(text) (gettext (text)) #define TABLE_DATABASE_ADD_FREQUENCY 10 namespace PY { TableEditor::TableEditor (PinyinProperties &props, Config &config) : Editor (props, config) { } TableEditor::~TableEditor () { } gboolean TableEditor::processKeyEvent (guint keyval, guint keycode, guint modifiers) { if (modifiers & IBUS_MOD4_MASK) return FALSE; //IBUS_SHIFT_MASK is removed. modifiers &= (IBUS_CONTROL_MASK | IBUS_MOD1_MASK | IBUS_SUPER_MASK | IBUS_HYPER_MASK | IBUS_META_MASK | IBUS_LOCK_MASK); if (modifiers) return FALSE; //handle backspace/delete here. if (processEditKey (keyval)) return TRUE; //handle page/cursor up/down here. if (processPageKey (keyval)) return TRUE; //handle label key select here. if (processLabelKey (keyval)) return TRUE; if (processSpace (keyval)) return TRUE; if (processEnter (keyval)) return TRUE; m_cursor = std::min (m_cursor, (guint)m_text.length ()); /* Remember the input string. */ if (m_cursor == 0) { g_return_val_if_fail ('u' == keyval || 'U' == keyval, FALSE); m_text.insert (m_cursor, keyval); m_cursor ++; } else { g_return_val_if_fail ('u' == m_text[0] || 'U' == m_text[0], FALSE); if (keyval >= 'a' && keyval <= 'z') { /* only lower case characters here */ m_text.insert (m_cursor, keyval); m_cursor ++; } } /* Deal other staff with updateStateFromInput (). */ updateStateFromInput (); update (); return TRUE; } gboolean TableEditor::processEditKey (guint keyval) { switch (keyval) { case IBUS_Delete: case IBUS_KP_Delete: removeCharAfter (); updateStateFromInput (); update (); return TRUE; case IBUS_BackSpace: removeCharBefore (); updateStateFromInput (); update (); return TRUE; } return FALSE; } gboolean TableEditor::processPageKey (guint keyval) { switch (keyval) { case IBUS_comma: if (m_config.commaPeriodPage ()) { pageUp (); return TRUE; } break; case IBUS_minus: if (m_config.minusEqualPage ()) { pageUp (); return TRUE; } break; case IBUS_bracketleft: if (m_config.squareBracketPage ()) { pageUp (); return TRUE; } break; case IBUS_period: if (m_config.commaPeriodPage ()) { pageDown (); return TRUE; } break; case IBUS_equal: if (m_config.minusEqualPage ()) { pageDown (); return TRUE; } break; case IBUS_bracketright: if (m_config.squareBracketPage ()) { pageDown (); return TRUE; } break; case IBUS_Up: case IBUS_KP_Up: cursorUp (); return TRUE; case IBUS_Down: case IBUS_KP_Down: cursorDown (); return TRUE; case IBUS_Page_Up: case IBUS_KP_Page_Up: pageUp (); return TRUE; case IBUS_Page_Down: case IBUS_KP_Page_Down: pageDown (); return TRUE; case IBUS_Escape: reset (); return TRUE; } return FALSE; } gboolean TableEditor::processLabelKey (guint keyval) { switch (keyval) { case '1' ... '9': return selectCandidateInPage (keyval - '1'); break; case '0': return selectCandidateInPage (9); break; } return FALSE; } gboolean TableEditor::processEnter (guint keyval) { if (keyval != IBUS_Return) return FALSE; if (m_text.length () == 0) return FALSE; Text text(m_text); commitText (text); reset (); return TRUE; } gboolean TableEditor::processSpace (guint keyval) { if (!(keyval == IBUS_space || keyval == IBUS_KP_Space)) return FALSE; guint cursor_pos = m_lookup_table.cursorPos (); return selectCandidate (cursor_pos); } void TableEditor::candidateClicked (guint index, guint button, guint state) { selectCandidateInPage (index); } gboolean TableEditor::selectCandidateInPage (guint index) { guint page_size = m_lookup_table.pageSize (); guint cursor_pos = m_lookup_table.cursorPos (); if (G_UNLIKELY (index >= page_size)) return FALSE; index += (cursor_pos / page_size) * page_size; return selectCandidate (index); } gboolean TableEditor::selectCandidate (guint index) { if (index >= m_lookup_table.size ()) return FALSE; IBusText *candidate = m_lookup_table.getCandidate (index); Text text (candidate); if (m_config.useCustomTable ()) { TableDatabase *table_database = &TableDatabase::userInstance (); int freq = 0; table_database->getPhraseInfo (text.text (), freq); freq += TABLE_DATABASE_ADD_FREQUENCY; table_database->updatePhrase (text.text (), freq); } commitText (text); reset (); return TRUE; } TableDatabase * TableEditor::getTableDatabase (void) { if (!m_config.useCustomTable ()) return &TableDatabase::systemInstance (); else return &TableDatabase::userInstance (); return NULL; } gboolean TableEditor::updateStateFromInput (void) { /* Do parse and candidates update here. */ /* prefix u double check here. */ if (m_text.empty ()) { m_preedit_text = ""; m_auxiliary_text = ""; m_cursor = 0; clearLookupTable (); return FALSE; } if ('u' != m_text[0] && 'U' != m_text[0]) { g_warning ("u is expected in m_text string.\n"); m_auxiliary_text = ""; clearLookupTable (); return FALSE; } m_auxiliary_text = m_text[0]; if (1 == m_text.length ()) { clearLookupTable (); const char * help_string = _("Please use \"hspnz\" to input."); if (m_config.useCustomTable ()) help_string = _("Please use table code to input."); int space_len = std::max ( 0, m_aux_text_len - (int) g_utf8_strlen (help_string, -1)); m_auxiliary_text.append(space_len, ' '); m_auxiliary_text += help_string; return TRUE; } m_auxiliary_text += " "; String prefix = m_text.substr (1); m_auxiliary_text += prefix; /* lookup table candidate fill here. */ TableDatabase *table_database = getTableDatabase (); std::vector characters; gboolean retval = table_database->listPhrases (prefix.c_str (), characters); if (!retval) return FALSE; clearLookupTable (); std::vector::iterator iter; for (iter = characters.begin (); iter != characters.end (); ++iter){ Text text(*iter); m_lookup_table.appendCandidate (text); } return TRUE; } /* Auxiliary Functions */ void TableEditor::pageUp (void) { if (G_LIKELY (m_lookup_table.pageUp ())) { update (); } } void TableEditor::pageDown (void) { if (G_LIKELY (m_lookup_table.pageDown ())) { update (); } } void TableEditor::cursorUp (void) { if (G_LIKELY (m_lookup_table.cursorUp ())) { update (); } } void TableEditor::cursorDown (void) { if (G_LIKELY (m_lookup_table.cursorDown ())) { update (); } } void TableEditor::update (void) { updateLookupTable (); updatePreeditText (); updateAuxiliaryText (); } void TableEditor::updateAll (void) { updateStateFromInput (); update (); } void TableEditor::reset (void) { m_text = ""; updateStateFromInput (); update (); } void TableEditor::clearLookupTable (void) { m_lookup_table.clear (); m_lookup_table.setPageSize (m_config.pageSize ()); m_lookup_table.setOrientation (m_config.orientation ()); } void TableEditor::updateLookupTable (void) { if (m_lookup_table.size ()){ Editor::updateLookupTableFast (m_lookup_table, TRUE); } else { hideLookupTable (); } } void TableEditor::updatePreeditText (void) { if (G_UNLIKELY (m_preedit_text.empty ())) { hidePreeditText (); return; } StaticText preedit_text (m_preedit_text); Editor::updatePreeditText (preedit_text, m_cursor, TRUE); } void TableEditor::updateAuxiliaryText (void) { if (G_UNLIKELY (m_auxiliary_text.empty ())) { hideAuxiliaryText (); return; } StaticText aux_text (m_auxiliary_text); Editor::updateAuxiliaryText (aux_text, TRUE); } gboolean TableEditor::removeCharBefore (void) { if (G_UNLIKELY (m_cursor <= 0)) { m_cursor = 0; return FALSE; } if (G_UNLIKELY (m_cursor > m_text.length ())) { m_cursor = m_text.length (); return FALSE; } m_text.erase (m_cursor - 1, 1); m_cursor = std::max (0, static_cast(m_cursor) - 1); return TRUE; } gboolean TableEditor::removeCharAfter (void) { if (G_UNLIKELY (m_cursor < 0)) { m_cursor = 0; return FALSE; } if (G_UNLIKELY (m_cursor >= m_text.length ())) { m_cursor = m_text.length (); return FALSE; } m_text.erase (m_cursor, 1); m_cursor = std::min (m_cursor, (guint) m_text.length ()); return TRUE; } }; ibus-libpinyin-1.16.1/src/PYEditor.h0000644000175000017500000001334214455173634012674 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_EDITOR_H_ #define __PY_EDITOR_H_ #include #include "PYSignal.h" #include "PYString.h" #include "PYUtil.h" #include "PYPEnhancedCandidates.h" namespace PY { class Text; class LookupTable; class PinyinProperties; class Config; class Editor; typedef std::shared_ptr EditorPtr; class TraditionalCandidates; class LuaTriggerCandidates; class LuaConverterCandidates; class EmojiCandidates; class EnglishCandidates; class Editor { friend class TraditionalCandidates; #ifdef IBUS_BUILD_LUA_EXTENSION friend class LuaTriggerCandidates; friend class LuaConverterCandidates; #endif friend class EmojiCandidates; friend class EnglishCandidates; public: Editor (PinyinProperties & prop, Config & config); virtual ~Editor (void); virtual gboolean processKeyEvent (guint keyval, guint keycode, guint modifiers); virtual void pageUp (void); virtual void pageDown (void); virtual void cursorUp (void); virtual void cursorDown (void); virtual void update (void); virtual void updateAll (void); virtual void reset (void); virtual void candidateClicked (guint index, guint button, guint state); const String & text (void) const { return m_text; } const guint cursor (void) const { return m_cursor; } void setText (const String & text, guint cursor) { m_text = text; m_cursor = cursor; } /* signals */ signal & signalCommitText (void) { return m_signal_commit_text; } signal & signalUpdatePreeditText (void) { return m_signal_update_preedit_text; } signal & signalShowPreeditText (void) { return m_signal_show_preedit_text; } signal & signalHidePreeditText (void) { return m_signal_hide_preedit_text; } signal & signalUpdateAuxiliaryText (void) { return m_signal_update_auxiliary_text; } signal & signalShowAuxiliaryText (void) { return m_signal_show_auxiliary_text; } signal & signalHideAuxiliaryText (void) { return m_signal_hide_auxiliary_text; } signal & signalUpdateLookupTable (void) { return m_signal_update_lookup_table; } signal & signalUpdateLookupTableFast (void) { return m_signal_update_lookup_table_fast; } signal & signalShowLookupTable (void) { return m_signal_show_lookup_table; } signal & signalHideLookupTable (void) { return m_signal_hide_lookup_table; } protected: /* methods */ void commitText (Text & text) const { m_signal_commit_text (text); } void updatePreeditText (Text & text, guint cursor, gboolean visible) const { m_signal_update_preedit_text (text, cursor, visible); } void showPreeditText (void) const { m_signal_show_preedit_text (); } void hidePreeditText (void) const { m_signal_hide_preedit_text (); } void updateAuxiliaryText (Text & text, gboolean visible) const { m_signal_update_auxiliary_text (text, visible); } void showAuxiliaryText (void) const { m_signal_show_auxiliary_text (); } void hideAuxiliaryText (void) const { m_signal_hide_auxiliary_text (); } void updateLookupTable (LookupTable & table, gboolean visible) const { m_signal_update_lookup_table (table, visible); } void updateLookupTableFast (LookupTable & table, gboolean visible) const { m_signal_update_lookup_table_fast (table, visible); } void showLookupTable (void) const { m_signal_show_lookup_table (); } void hideLookupTable (void) const { m_signal_hide_lookup_table (); } protected: virtual int selectCandidateInternal (EnhancedCandidate & candidate); virtual gboolean removeCandidateInternal (EnhancedCandidate & candidate); /* signals */ signal m_signal_commit_text; signal m_signal_update_preedit_text; signal m_signal_show_preedit_text; signal m_signal_hide_preedit_text; signal m_signal_update_auxiliary_text; signal m_signal_show_auxiliary_text; signal m_signal_hide_auxiliary_text; signal m_signal_update_lookup_table; signal m_signal_update_lookup_table_fast; signal m_signal_show_lookup_table; signal m_signal_hide_lookup_table; protected: String m_text; guint m_cursor; PinyinProperties & m_props; Config & m_config; }; }; #endif ibus-libpinyin-1.16.1/src/PYEnglishEditor.h0000644000175000017500000000462014737121766014207 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2010-2011 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_ENGLISH_EDITOR_ #define __PY_ENGLISH_EDITOR_ #include "PYEditor.h" #include "PYLookupTable.h" #include "PYEnglishDatabase.h" namespace PY { class EnglishDatabase; static const std::string EnglishSymbols = "`~!@*()+{}\\|:\"/<>?"; class EnglishEditor : public Editor { private: const float m_train_factor; public: EnglishEditor (PinyinProperties &props, Config & config); virtual ~EnglishEditor(); virtual gboolean processKeyEvent (guint keyval, guint keycode, guint modifers); virtual void pageUp (void); virtual void pageDown (void); virtual void cursorUp (void); virtual void cursorDown (void); virtual void update (void); virtual void updateAll (void); virtual void reset (void); virtual void candidateClicked (guint index, guint button, guint state); private: gboolean updateStateFromInput (void); void clearLookupTable (void); void updateLookupTable (void); void updatePreeditText (void); void updateAuxiliaryText (void); gboolean selectCandidateInPage (guint index); gboolean selectCandidate (guint index); gboolean processSpace (guint keyval); gboolean processEnter (guint keyval); gboolean removeCharBefore (void); gboolean removeCharAfter (void); gboolean processLabelKey(guint keyval); gboolean processEditKey(guint keyval); gboolean processPageKey(guint keyval); private: /* variables */ LookupTable m_lookup_table; String m_preedit_text; String m_auxiliary_text; EnglishDatabase *m_english_database; const static int m_aux_text_len = 50; }; }; #endif ibus-libpinyin-1.16.1/src/PYPointer.h0000664000175000017500000000352113672072346013064 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_POINTER_H_ #define __PY_POINTER_H_ #include namespace PY { template struct Pointer { public: Pointer (T *p = NULL) : m_p (NULL) { set (p); } ~Pointer (void) { set (NULL); } void set (T * p) { if (m_p) { g_object_unref (m_p); } m_p = p; if (p) { #if 0 g_debug ("%s, floating = %d",G_OBJECT_TYPE_NAME (p), g_object_is_floating (p)); #endif g_object_ref_sink (p); } } Pointer &operator = (T *p) { set (p); return *this; } Pointer &operator = (const Pointer & p) { set (p.m_p); return *this; } const T * operator-> (void) const { return m_p; } T * operator-> (void) { return m_p; } operator T * (void) const { return m_p; } operator gboolean (void) const { return m_p != NULL; } private: T *m_p; }; }; #endif ibus-libpinyin-1.16.1/src/PYConfig.h0000644000175000017500000002201414737121766012651 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_CONFIG_H_ #define __PY_CONFIG_H_ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include #include "PYUtil.h" #include "PYObject.h" namespace PY { typedef enum { DISPLAY_STYLE_TRADITIONAL, DISPLAY_STYLE_COMPACT, DISPLAY_STYLE_COMPATIBILITY } DisplayStyle; enum CloudInputSource{ CLOUD_INPUT_SOURCE_BAIDU, CLOUD_INPUT_SOURCE_GOOGLE, CLOUD_INPUT_SOURCE_GOOGLE_CN }; class Config { protected: Config (const std::string & name); virtual ~Config (void); public: std::string dictionaries (void) const { return m_dictionaries; } std::string luaConverter (void) const { return m_lua_converter; } pinyin_option_t option (void) const { return m_option & m_option_mask; } guint orientation (void) const { return m_orientation; } guint pageSize (void) const { return m_page_size; } DisplayStyle displayStyle (void) const { return m_display_style; } gboolean rememberEveryInput (void) const { return m_remember_every_input; } guint sortOption (void) const { return m_sort_option; } gboolean shiftSelectCandidate (void) const { return m_shift_select_candidate; } gboolean minusEqualPage (void) const { return m_minus_equal_page; } gboolean commaPeriodPage (void) const { return m_comma_period_page; } gboolean squareBracketPage (void) const { return m_square_bracket_page; } gboolean autoCommit (void) const { return m_auto_commit; } gboolean doublePinyin (void) const { return m_double_pinyin; } DoublePinyinScheme doublePinyinSchema (void) const { return m_double_pinyin_schema; } gboolean doublePinyinShowRaw (void) const { return m_double_pinyin_show_raw; } gboolean initChinese (void) const { return m_init_chinese; } gboolean initFull (void) const { return m_init_full; } gboolean initFullPunct (void) const { return m_init_full_punct; } gboolean initSimpChinese (void) const { return m_init_simp_chinese; } ZhuyinScheme bopomofoKeyboardMapping (void) const { return m_bopomofo_keyboard_mapping; } gint selectKeys (void) const { return m_select_keys; } gboolean guideKey (void) const { return m_guide_key; } gboolean auxiliarySelectKeyF (void) const { return m_auxiliary_select_key_f; } gboolean auxiliarySelectKeyKP (void) const { return m_auxiliary_select_key_kp; } gboolean enterKey (void) const { return m_enter_key; } gboolean luaExtension (void) const { return m_lua_extension; } gboolean englishInputMode (void) const { return m_english_input_mode; } gboolean tableInputMode (void) const { return m_table_input_mode; } gboolean useCustomTable (void) const { return m_use_custom_table; } gboolean emojiCandidate (void) const { return m_emoji_candidate; } gboolean englishCandidate (void) const { return m_english_candidate; } gboolean suggestionCandidate (void) const { return m_suggestion_candidate; } gboolean exportUserPhrase (void) const { return m_export_user_phrase; } gboolean exportBigramPhrase (void) const { return m_export_bigram_phrase; } std::string mainSwitch (void) const { return m_main_switch; } std::string letterSwitch (void) const { return m_letter_switch; } std::string punctSwitch (void) const { return m_punct_switch; } std::string bothSwitch (void) const { return m_both_switch; } std::string tradSwitch (void) const { return m_trad_switch; } std::string openccConfig (void) const { return m_opencc_config; } gint64 networkDictionaryStartTimestamp (void) const { return m_network_dictionary_start_timestamp; } gint64 networkDictionaryEndTimestamp (void) const { return m_network_dictionary_end_timestamp; } public: /* write option */ virtual gboolean luaConverter (std::string converter) { return FALSE; } virtual gboolean networkDictionaryStartTimestamp (gint64 timestamp) { return FALSE; } virtual gboolean networkDictionaryEndTimestamp (gint64 timestamp) { return FALSE; } public: /* cloud option */ gboolean enableCloudInput (void) const { return m_enable_cloud_input; } CloudInputSource cloudInputSource (void) const { return m_cloud_input_source; } guint cloudCandidatesNumber (void) const { return m_cloud_candidates_number; } guint cloudRequestDelayTime (void) const { return m_cloud_request_delay_time; } protected: bool read (const gchar * name, bool defval); gint read (const gchar * name, gint defval); std::string read (const gchar * name, const gchar * defval); gint64 read (const gchar * name, gint64 defval); void initDefaultValues (void); gboolean write (const gchar * name, bool val); gboolean write (const gchar * name, gint val); gboolean write (const gchar * name, const gchar * val); gboolean write (const gchar * name, gint64 val); virtual void readDefaultValues (void); virtual gboolean valueChanged (const std::string &schema_id, const std::string &name, GVariant *value); private: static void valueChangedCallback (GSettings *settings, const gchar *name, Config *self); protected: GSettings *m_settings; std::string m_schema_id; std::string m_dictionaries; std::string m_lua_converter; std::string m_opencc_config; pinyin_option_t m_option; pinyin_option_t m_option_mask; gint m_orientation; guint m_page_size; DisplayStyle m_display_style; gboolean m_remember_every_input; guint m_sort_option; gboolean m_shift_select_candidate; gboolean m_minus_equal_page; gboolean m_comma_period_page; gboolean m_square_bracket_page; gboolean m_auto_commit; gboolean m_double_pinyin; DoublePinyinScheme m_double_pinyin_schema; gboolean m_double_pinyin_show_raw; gboolean m_init_chinese; gboolean m_init_full; gboolean m_init_full_punct; gboolean m_init_simp_chinese; ZhuyinScheme m_bopomofo_keyboard_mapping; gint m_select_keys; gboolean m_guide_key; gboolean m_auxiliary_select_key_f; gboolean m_auxiliary_select_key_kp; gboolean m_enter_key; gboolean m_lua_extension; gboolean m_english_input_mode; gboolean m_table_input_mode; gboolean m_use_custom_table; gboolean m_emoji_candidate; gboolean m_english_candidate; gboolean m_suggestion_candidate; gboolean m_export_user_phrase; gboolean m_export_bigram_phrase; std::string m_main_switch; std::string m_letter_switch; std::string m_punct_switch; std::string m_both_switch; std::string m_trad_switch; gint64 m_network_dictionary_start_timestamp; gint64 m_network_dictionary_end_timestamp; gboolean m_enable_cloud_input; CloudInputSource m_cloud_input_source; guint m_cloud_candidates_number; guint m_cloud_request_delay_time; }; static inline bool normalizeGVariant (GVariant *value, bool defval) { if (value == NULL || g_variant_classify (value) != G_VARIANT_CLASS_BOOLEAN) { g_warn_if_reached (); return defval; } return g_variant_get_boolean (value); } static inline gint normalizeGVariant (GVariant *value, gint defval) { if (value == NULL || g_variant_classify (value) != G_VARIANT_CLASS_INT32) { g_warn_if_reached (); return defval; } return g_variant_get_int32 (value); } static inline std::string normalizeGVariant (GVariant *value, const std::string &defval) { if (value == NULL || g_variant_classify (value) != G_VARIANT_CLASS_STRING) { g_warn_if_reached (); return defval; } return g_variant_get_string (value, NULL); } static inline gint64 normalizeGVariant (GVariant *value, gint64 defval) { if (value == NULL || g_variant_classify (value) != G_VARIANT_CLASS_INT64) { g_warn_if_reached (); return defval; } return g_variant_get_int64 (value); } }; #endif ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.cc0000644000175000017500000001403614763733347015607 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2018 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "PYPLibPinyinCandidates.h" #include #include #include "PYConfig.h" #include "PYLibPinyin.h" #include "PYPPhoneticEditor.h" using namespace PY; gboolean LibPinyinCandidates::processCandidates (std::vector & candidates) { pinyin_instance_t *instance = m_editor->m_instance; guint len = 0; pinyin_get_n_candidate (instance, &len); for (guint i = 0; i < len; i++) { lookup_candidate_t * candidate = NULL; pinyin_get_candidate (instance, i, &candidate); lookup_candidate_type_t type; pinyin_get_candidate_type (instance, candidate, &type); const gchar * phrase_string = NULL; pinyin_get_candidate_string (instance, candidate, &phrase_string); EnhancedCandidate enhanced; switch (type) { case NBEST_MATCH_CANDIDATE: enhanced.m_candidate_type = CANDIDATE_NBEST_MATCH; break; case LONGER_CANDIDATE: enhanced.m_candidate_type = CANDIDATE_LONGER; if (pinyin_is_user_candidate (instance, candidate)) enhanced.m_candidate_type = CANDIDATE_LONGER_USER; break; case NORMAL_CANDIDATE: case ADDON_CANDIDATE: enhanced.m_candidate_type = CANDIDATE_NORMAL; if (pinyin_is_user_candidate (instance, candidate)) enhanced.m_candidate_type = CANDIDATE_USER; break; default: assert (FALSE); } enhanced.m_candidate_id = i; enhanced.m_display_string = phrase_string; candidates.push_back (enhanced); } return TRUE; } int LibPinyinCandidates::selectCandidate (EnhancedCandidate & enhanced) { pinyin_instance_t * instance = m_editor->m_instance; assert (CANDIDATE_NBEST_MATCH == enhanced.m_candidate_type || CANDIDATE_LONGER == enhanced.m_candidate_type || CANDIDATE_LONGER_USER == enhanced.m_candidate_type || CANDIDATE_NORMAL == enhanced.m_candidate_type || CANDIDATE_USER == enhanced.m_candidate_type); guint len = 0; pinyin_get_n_candidate (instance, &len); if (G_UNLIKELY (enhanced.m_candidate_id >= len)) return SELECT_CANDIDATE_ALREADY_HANDLED; guint lookup_cursor = m_editor->getLookupCursor (); lookup_candidate_t * candidate = NULL; pinyin_get_candidate (instance, enhanced.m_candidate_id, &candidate); gchar * str = NULL; if (CANDIDATE_NBEST_MATCH == enhanced.m_candidate_type) { /* because nbest match candidate starts from the beginning of user input. */ pinyin_choose_candidate (instance, 0, candidate); guint8 index = 0; pinyin_get_candidate_nbest_index(instance, candidate, &index); if (index != 0) pinyin_train (instance, index); pinyin_get_sentence (instance, index, &str); if (m_editor->m_config.rememberEveryInput ()) LibPinyinBackEnd::instance ().rememberUserInput (instance, str); LibPinyinBackEnd::instance ().modified (); g_free (str); return SELECT_CANDIDATE_COMMIT; } if (CANDIDATE_LONGER == enhanced.m_candidate_type || CANDIDATE_LONGER_USER == enhanced.m_candidate_type) { /* because longer candidate starts from the beginning of user input. */ pinyin_choose_candidate (instance, 0, candidate); LibPinyinBackEnd::instance ().modified (); return SELECT_CANDIDATE_COMMIT; } if (m_editor->m_config.sortOption () & SORT_WITHOUT_SENTENCE_CANDIDATE) { pinyin_choose_candidate (instance, 0, candidate); LibPinyinBackEnd::instance ().modified (); return SELECT_CANDIDATE_COMMIT; } lookup_cursor = pinyin_choose_candidate (instance, lookup_cursor, candidate); pinyin_guess_sentence (instance); if (lookup_cursor == m_editor->m_text.length ()) { pinyin_get_sentence (instance, 0, &str); enhanced.m_display_string = str; pinyin_train (instance, 0); if (m_editor->m_config.rememberEveryInput ()) LibPinyinBackEnd::instance ().rememberUserInput (instance, str); LibPinyinBackEnd::instance ().modified (); g_free (str); return SELECT_CANDIDATE_MODIFY_IN_PLACE|SELECT_CANDIDATE_COMMIT; } PinyinKeyPos *pos = NULL; pinyin_get_pinyin_key_rest (instance, lookup_cursor, &pos); guint16 begin = 0; pinyin_get_pinyin_key_rest_positions (instance, pos, &begin, NULL); /* The cursor is at the end of the text input. */ if (m_editor->m_cursor == m_editor->m_text.length ()) m_editor->m_lookup_cursor = begin; else m_editor->m_cursor = begin; return SELECT_CANDIDATE_UPDATE; } gboolean LibPinyinCandidates::removeCandidate (EnhancedCandidate & enhanced) { pinyin_instance_t * instance = m_editor->m_instance; if (enhanced.m_candidate_type != CANDIDATE_USER && enhanced.m_candidate_type != CANDIDATE_LONGER_USER) return FALSE; lookup_candidate_t * candidate = NULL; guint index = enhanced.m_candidate_id; pinyin_get_candidate (instance, index, &candidate); check_result (pinyin_is_user_candidate (instance, candidate)); pinyin_remove_user_candidate (instance, candidate); return TRUE; } ibus-libpinyin-1.16.1/src/PYUtil.h0000644000175000017500000000563414726512714012365 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_UTIL_H_ #define __PY_UTIL_H_ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #ifdef __GXX_EXPERIMENTAL_CXX0X__ # include #else # include # include namespace std { // import boost::shared_ptr to std namespace using boost::shared_ptr; // import boost::scoped_ptr to std namespace, and rename to unique_ptr // XXX: the unique_ptr can transfer the pointer ownership, // but scoped_ptr cannot. template class unique_ptr : public boost::scoped_ptr {}; }; #endif #if defined(NDEBUG) || defined(G_DISABLE_ASSERT) #define check_result(expr) expr #else #define check_result(expr) assert(expr) #endif #include namespace PY { // mask for Ctrl, Alt, Super, Hyper, Meta const guint CMSHM_MASK = IBUS_CONTROL_MASK | IBUS_MOD1_MASK | IBUS_SUPER_MASK | IBUS_HYPER_MASK | IBUS_META_MASK; // mask for Shift, Ctrl, Alt, Super, Hyper, Meta const guint SCMSHM_MASK = CMSHM_MASK | IBUS_SHIFT_MASK; inline guint cmshm_filter (guint modifiers) { return modifiers & CMSHM_MASK; } inline guint scmshm_filter (guint modifiers) { return modifiers & SCMSHM_MASK; } inline gboolean cmshm_test (guint modifiers, guint mask) { return cmshm_filter (modifiers) == mask; } inline gboolean scmshm_test (guint modifiers, guint mask) { return scmshm_filter (modifiers) == mask; } #if 0 class Uname { public: Uname (void) { uname (&m_buf); } const gchar *hostname (void) const { return m_buf.nodename; } private: struct utsname m_buf; }; class Hostname : public Uname { public: operator const gchar * (void) const { return hostname (); } }; class Env : public std::string { public: Env (const gchar *name) { gchar *str; str = std::getenv (name); assign (str != NULL ? str : ""); } operator const gchar *(void) const { return c_str(); } }; #endif }; #endif ibus-libpinyin-1.16.1/src/PYPunctEditor.h0000664000175000017500000000507713672072346013714 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * Copyright (c) 2010 BYVoid * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_PUNCT_EDITOR_ #define __PY_PUNCT_EDITOR_ #include #include "PYLookupTable.h" #include "PYEditor.h" namespace PY { class PunctEditor : public Editor { public: PunctEditor (PinyinProperties &props, Config & config); virtual gboolean processKeyEvent (guint keyval, guint keycode, guint modifiers); virtual void pageUp (void); virtual void pageDown (void); virtual void cursorUp (void); virtual void cursorDown (void); virtual void update (void); virtual void reset (void); virtual void candidateClicked (guint index, guint button, guint state); virtual gboolean processPunct (guint keyval, guint keycode, guint modifiers); virtual gboolean processSpace (guint keyval, guint keycode, guint modifiers); virtual gboolean insert (gchar ch); virtual void updateLookupTable (void); virtual void updateAuxiliaryText (void); virtual void updatePreeditText (void); virtual gboolean selectCandidate (guint i); virtual gboolean selectCandidateInPage (guint i); virtual void commit (const gchar *str); virtual void commit (void); virtual gboolean removeCharBefore (void); virtual gboolean removeCharAfter (void); virtual gboolean moveCursorLeft (void); virtual gboolean moveCursorRight (void); virtual gboolean moveCursorToBegin (void); virtual gboolean moveCursorToEnd (void); void fillLookupTable (void); void updatePunctCandidates (gchar ch); protected: enum { MODE_DISABLE, MODE_INIT, MODE_NORMAL, } m_punct_mode; LookupTable m_lookup_table; String m_buffer; std::vector m_selected_puncts; std::vector m_punct_candidates; }; }; #endif ibus-libpinyin-1.16.1/src/PYLibPinyin.cc0000644000175000017500000003722414654600254013500 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2011 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "PYLibPinyin.h" #include #include #include #include "PYString.h" #include "PYPConfig.h" #define LIBPINYIN_SAVE_TIMEOUT (5 * 60) using namespace PY; std::unique_ptr LibPinyinBackEnd::m_instance; static LibPinyinBackEnd libpinyin_backend; LibPinyinBackEnd::LibPinyinBackEnd () { m_timeout_id = 0; m_timer = g_timer_new (); m_pinyin_context = NULL; m_chewing_context = NULL; } LibPinyinBackEnd::~LibPinyinBackEnd () { g_timer_destroy (m_timer); if (m_timeout_id != 0) { g_source_remove (m_timeout_id); } if (m_pinyin_context) pinyin_fini(m_pinyin_context); m_pinyin_context = NULL; if (m_chewing_context) pinyin_fini(m_chewing_context); m_chewing_context = NULL; } pinyin_context_t * LibPinyinBackEnd::initPinyinContext (Config *config) { pinyin_context_t * context = NULL; gchar * userdir = g_build_filename (g_get_user_cache_dir (), "ibus", "libpinyin", NULL); int retval = g_mkdir_with_parents (userdir, 0700); if (retval) { g_free (userdir); userdir = NULL; } context = pinyin_init (LIBPINYIN_DATADIR, userdir); g_free (userdir); /* init network dictionary */ time_t start = config->networkDictionaryStartTimestamp (); time_t end = config->networkDictionaryEndTimestamp (); readNetworkDictionary (context, PKGDATADIR G_DIR_SEPARATOR_S "network.txt", start, end); /* save the timestamp */ config->networkDictionaryStartTimestamp (start); config->networkDictionaryEndTimestamp (end); /* load addon dictionaries */ String dicts = config->dictionaries (); gchar ** indices = g_strsplit_set (dicts, ";", -1); for (size_t i = 0; i < g_strv_length(indices); ++i) { int index = atoi (indices [i]); if (index <= 1) continue; pinyin_load_addon_phrase_library (context, index); } g_strfreev (indices); return context; } pinyin_instance_t * LibPinyinBackEnd::allocPinyinInstance () { Config * config = &PinyinConfig::instance (); if (NULL == m_pinyin_context) { m_pinyin_context = initPinyinContext (config); } setPinyinOptions (config); return pinyin_alloc_instance (m_pinyin_context); } void LibPinyinBackEnd::freePinyinInstance (pinyin_instance_t *instance) { pinyin_free_instance (instance); } pinyin_context_t * LibPinyinBackEnd::initChewingContext (Config *config) { pinyin_context_t * context = NULL; gchar * userdir = g_build_filename (g_get_user_cache_dir (), "ibus", "libbopomofo", NULL); int retval = g_mkdir_with_parents (userdir, 0700); if (retval) { g_free(userdir); userdir = NULL; } context = pinyin_init (LIBPINYIN_DATADIR, userdir); g_free(userdir); /* init network dictionary */ time_t start = config->networkDictionaryStartTimestamp (); time_t end = config->networkDictionaryEndTimestamp (); readNetworkDictionary (context, PKGDATADIR G_DIR_SEPARATOR_S "network.txt", start, end); /* save the timestamp */ config->networkDictionaryStartTimestamp (start); config->networkDictionaryEndTimestamp (end); /* load addon dictionaries */ const char *dicts = config->dictionaries ().c_str (); gchar ** indices = g_strsplit_set (dicts, ";", -1); for (size_t i = 0; i < g_strv_length(indices); ++i) { int index = atoi (indices [i]); if (index <= 1) continue; pinyin_load_addon_phrase_library (context, index); } g_strfreev (indices); return context; } pinyin_instance_t * LibPinyinBackEnd::allocChewingInstance () { Config *config = &BopomofoConfig::instance (); if (NULL == m_chewing_context) { m_chewing_context = initChewingContext (config); } setChewingOptions (config); return pinyin_alloc_instance (m_chewing_context); } void LibPinyinBackEnd::freeChewingInstance (pinyin_instance_t *instance) { pinyin_free_instance (instance); } void LibPinyinBackEnd::init (void) { g_assert (NULL == m_instance.get ()); LibPinyinBackEnd * backend = new LibPinyinBackEnd; m_instance.reset (backend); } void LibPinyinBackEnd::finalize (void) { m_instance.reset (); } gboolean LibPinyinBackEnd::setPinyinOptions (Config *config) { if (NULL == m_pinyin_context) return FALSE; DoublePinyinScheme scheme = config->doublePinyinSchema (); pinyin_set_double_pinyin_scheme (m_pinyin_context, scheme); pinyin_option_t options = config->option() | USE_RESPLIT_TABLE | USE_DIVIDED_TABLE; pinyin_set_options (m_pinyin_context, options); return TRUE; } gboolean LibPinyinBackEnd::setChewingOptions (Config *config) { if (NULL == m_chewing_context) return FALSE; ZhuyinScheme scheme = config->bopomofoKeyboardMapping (); pinyin_set_zhuyin_scheme (m_chewing_context, scheme); pinyin_option_t options = config->option() | USE_TONE; pinyin_set_options(m_chewing_context, options); return TRUE; } void LibPinyinBackEnd::modified (void) { /* Restart the timer */ g_timer_start (m_timer); if (m_timeout_id != 0) return; m_timeout_id = g_timeout_add_seconds (LIBPINYIN_SAVE_TIMEOUT, LibPinyinBackEnd::timeoutCallback, static_cast (this)); } gboolean LibPinyinBackEnd::importPinyinDictionary (const char *filename) { /* user phrase library should be already loaded here. */ FILE * dictfile = fopen (filename, "r"); if (NULL == dictfile) return FALSE; import_iterator_t * iter = pinyin_begin_add_phrases (m_pinyin_context, USER_DICTIONARY); if (NULL == iter) { fclose(dictfile); return FALSE; } char* linebuf = NULL; size_t size = 0; ssize_t read; while ((read = getline (&linebuf, &size, dictfile)) != -1) { if (0 == strlen (linebuf)) continue; if ( '\n' == linebuf[strlen (linebuf) - 1] ) { linebuf[strlen (linebuf) - 1] = '\0'; } gchar ** items = g_strsplit_set (linebuf, " \t", 3); guint len = g_strv_length (items); gchar * phrase = NULL, * pinyin = NULL; gint count = -1; if (2 == len || 3 == len) { phrase = items[0]; pinyin = items[1]; if (3 == len) count = atoi (items[2]); } else continue; pinyin_iterator_add_phrase (iter, phrase, pinyin, count); g_strfreev (items); } pinyin_end_add_phrases (iter); fclose (dictfile); pinyin_save (m_pinyin_context); return TRUE; } gboolean LibPinyinBackEnd::exportUserPhrase (FILE *dictfile) { export_iterator_t * iter = pinyin_begin_get_phrases (m_pinyin_context, USER_DICTIONARY); if (NULL == iter) return FALSE; /* use " " as the separator. */ while (pinyin_iterator_has_next_phrase (iter)) { gchar * phrase = NULL; gchar * pinyin = NULL; gint count = -1; check_result (pinyin_iterator_get_next_phrase (iter, &phrase, &pinyin, &count)); if (-1 == count) /* skip output the default count. */ fprintf (dictfile, "%s %s\n", phrase, pinyin); else /* output the count. */ fprintf (dictfile, "%s %s %d\n", phrase, pinyin, count); g_free (phrase); g_free (pinyin); } pinyin_end_get_phrases(iter); return TRUE; } gboolean LibPinyinBackEnd::exportBigramPhrase (FILE *dictfile) { bigram_export_iterator_t * iter = pinyin_begin_get_bigram_phrases (m_pinyin_context); if (NULL == iter) return FALSE; /* use " " as the separator. */ while (pinyin_bigram_iterator_has_next_phrase (iter)) { gchar * phrase = NULL; gchar * pinyin = NULL; gint count = -1; check_result (pinyin_bigram_iterator_get_next_phrase (iter, &phrase, &pinyin, &count)); if (-1 == count) /* skip output the default count. */ fprintf (dictfile, "%s %s\n", phrase, pinyin); else /* output the count. */ fprintf (dictfile, "%s %s %d\n", phrase, pinyin, count); g_free (phrase); g_free (pinyin); } pinyin_end_get_bigram_phrases(iter); return TRUE; } gboolean LibPinyinBackEnd::exportPinyinDictionary (const char *filename) { if (NULL == m_pinyin_context) return FALSE; /* user phrase library should be already loaded here. */ FILE * dictfile = fopen (filename, "w"); if (NULL == dictfile) return FALSE; if (PinyinConfig::instance ().exportUserPhrase ()) exportUserPhrase (dictfile); if (PinyinConfig::instance ().exportBigramPhrase ()) exportBigramPhrase (dictfile); fclose (dictfile); return TRUE; } gboolean LibPinyinBackEnd::clearPinyinUserData (const char *target) { if (NULL == m_pinyin_context) return FALSE; if (0 == strcmp ("all", target)) { pinyin_mask_out (m_pinyin_context, 0x0, 0x0); } else if (0 == strcmp ("user", target)) { /* clear addon dictionary. */ pinyin_mask_out (m_pinyin_context, PHRASE_INDEX_LIBRARY_MASK, PHRASE_INDEX_MAKE_TOKEN (ADDON_DICTIONARY, null_token)); /* clear user dictionary. */ pinyin_mask_out (m_pinyin_context, PHRASE_INDEX_LIBRARY_MASK, PHRASE_INDEX_MAKE_TOKEN (USER_DICTIONARY, null_token)); } else { g_warning ("unknown clear target: %s.\n", target); } /* clear network dictionary */ PinyinConfig::instance ().networkDictionaryStartTimestamp (0); PinyinConfig::instance ().networkDictionaryEndTimestamp (0); modified (); return TRUE; } gboolean LibPinyinBackEnd::rememberUserInput (pinyin_instance_t *instance, const gchar *phrase) { /* pre-check the incomplete pinyin keys, prepare pinyin string, remember user input. */ pinyin_remember_user_input (instance, phrase, -1); /* save later, will mark modified from pinyin/bopomofo editor. */ return TRUE; } gboolean LibPinyinBackEnd::rememberCloudInput (pinyin_instance_t *instance, const gchar *pinyin, const gchar *phrase) { pinyin_parse_more_full_pinyins (instance, pinyin); pinyin_remember_user_input (instance, phrase, -1); return TRUE; } gboolean LibPinyinBackEnd::timeoutCallback (gpointer data) { LibPinyinBackEnd *self = static_cast (data); /* Get the elapsed time since last modification of database. */ guint elapsed = (guint)g_timer_elapsed (self->m_timer, NULL); if (elapsed >= LIBPINYIN_SAVE_TIMEOUT && self->saveUserDB ()) { self->m_timeout_id = 0; return FALSE; } return TRUE; } gboolean LibPinyinBackEnd::saveUserDB (void) { if (m_pinyin_context) pinyin_save (m_pinyin_context); if (m_chewing_context) pinyin_save (m_chewing_context); return TRUE; } #define TIMESTAMP_LINE "# timestamp: %ld\n" bool LibPinyinBackEnd::readNetworkDictionary(pinyin_context_t * context, const char * filename, /* inout */ time_t & start, /* inout */ time_t & loaded) { time_t current = time (NULL); FILE * dictfile = fopen (filename, "r"); if (NULL == dictfile) { fprintf (stderr, "failed to open file: %s.\n", filename); return FALSE; } if (!checkNetworkDictionary (context, dictfile, start, loaded)) { fclose (dictfile); return FALSE; } fseek (dictfile, 0, SEEK_SET); /* read to the loaded time. */ forwardNetworkDictionary (dictfile, loaded); /* import the rest of network dictionary. */ bool retval = importRestNetworkDictionary (context, dictfile, loaded); fclose (dictfile); /* if network.txt only contains one time stamp entry */ if (start > loaded) loaded = start; if (retval) modified (); return TRUE; } bool LibPinyinBackEnd::clearNetworkDictionary (pinyin_context_t * context) { pinyin_mask_out (context, PHRASE_INDEX_LIBRARY_MASK, PHRASE_INDEX_MAKE_TOKEN (NETWORK_DICTIONARY, null_token)); modified (); return TRUE; } bool LibPinyinBackEnd::checkNetworkDictionary (pinyin_context_t * context, FILE * dictfile, /* inout */ time_t & start, /* inout */ time_t & loaded) { long stamp = 0; /* check the first line with start time. */ int retval = fscanf (dictfile, TIMESTAMP_LINE, &stamp); /* empty network dictionary. */ if (retval == EOF) { clearNetworkDictionary (context); return FALSE; } /* clear network dictionary if start time is changed. */ if (start != stamp) { clearNetworkDictionary (context); /* reset the time */ start = stamp; loaded = stamp - 1; } return TRUE; } bool LibPinyinBackEnd::forwardNetworkDictionary (FILE * dictfile, /* in */ time_t loaded) { char* linebuf = NULL; size_t size = 0; ssize_t read; while ((read = getline (&linebuf, &size, dictfile)) != -1) { if (0 == strlen (linebuf)) continue; if ('#' != linebuf[0]) continue; time_t stamp; sscanf (linebuf, TIMESTAMP_LINE, &stamp); if (loaded < stamp) break; } return TRUE; } bool LibPinyinBackEnd::importRestNetworkDictionary (pinyin_context_t * context, FILE * dictfile, /* out */ time_t & loaded) { bool retval = FALSE; import_iterator_t * iter = pinyin_begin_add_phrases (context, NETWORK_DICTIONARY); char* linebuf = NULL; size_t size = 0; ssize_t read; while ((read = getline (&linebuf, &size, dictfile)) != -1) { if (0 == strlen (linebuf)) continue; if ('#' == linebuf[0]) { sscanf (linebuf, TIMESTAMP_LINE, &loaded); continue; } if ( '\n' == linebuf[strlen (linebuf) - 1] ) { linebuf[strlen (linebuf) - 1] = '\0'; } gchar ** items = g_strsplit_set (linebuf, " \t", 3); guint len = g_strv_length (items); gchar * phrase = NULL, * pinyin = NULL; gint count = -1; if (2 == len || 3 == len) { phrase = items[0]; pinyin = items[1]; if (3 == len) count = atoi (items[2]); } else continue; pinyin_iterator_add_phrase (iter, phrase, pinyin, count); retval = TRUE; g_strfreev (items); } pinyin_end_add_phrases (iter); return retval; } ibus-libpinyin-1.16.1/src/PYPConfig.cc0000644000175000017500000007766714737121766013157 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "PYPConfig.h" #include #include #include #include "PYBus.h" #include "PYXMLUtil.h" #include "PYLibPinyin.h" #include "PYTableDatabase.h" #define USE_G_SETTINGS_LIST_KEYS 0 namespace PY { #define _(text) (dgettext (GETTEXT_PACKAGE, text)) #define N_(text) text const gchar * const CONFIG_CORRECT_PINYIN = "correct-pinyin"; const gchar * const CONFIG_FUZZY_PINYIN = "fuzzy-pinyin"; const gchar * const CONFIG_ORIENTATION = "lookup-table-orientation"; const gchar * const CONFIG_PAGE_SIZE = "lookup-table-page-size"; const gchar * const CONFIG_DISPLAY_STYLE = "display-style"; const gchar * const CONFIG_REMEMBER_EVERY_INPUT = "remember-every-input"; const gchar * const CONFIG_SORT_OPTION = "sort-candidate-option"; const gchar * const CONFIG_SHIFT_SELECT_CANDIDATE = "shift-select-candidate"; const gchar * const CONFIG_MINUS_EQUAL_PAGE = "minus-equal-page"; const gchar * const CONFIG_COMMA_PERIOD_PAGE = "comma-period-page"; const gchar * const CONFIG_SQUARE_BRACKET_PAGE = "square-bracket-page"; const gchar * const CONFIG_AUTO_COMMIT = "auto-commit"; const gchar * const CONFIG_DOUBLE_PINYIN = "double-pinyin"; const gchar * const CONFIG_DOUBLE_PINYIN_SCHEMA = "double-pinyin-schema"; const gchar * const CONFIG_DOUBLE_PINYIN_SHOW_RAW = "double-pinyin-show-raw"; const gchar * const CONFIG_INIT_CHINESE = "init-chinese"; const gchar * const CONFIG_INIT_FULL = "init-full"; const gchar * const CONFIG_INIT_FULL_PUNCT = "init-full-punct"; const gchar * const CONFIG_INIT_SIMP_CHINESE = "init-simplified-chinese"; const gchar * const CONFIG_DICTIONARIES = "dictionaries"; const gchar * const CONFIG_LUA_CONVERTER = "lua-converter"; const gchar * const CONFIG_OPENCC_CONFIG = "opencc-config"; const gchar * const CONFIG_BOPOMOFO_KEYBOARD_MAPPING = "bopomofo-keyboard-mapping"; const gchar * const CONFIG_SELECT_KEYS = "select-keys"; const gchar * const CONFIG_GUIDE_KEY = "guide-key"; const gchar * const CONFIG_AUXILIARY_SELECT_KEY_F = "auxiliary-select-key-f"; const gchar * const CONFIG_AUXILIARY_SELECT_KEY_KP = "auxiliary-select-key-kp"; const gchar * const CONFIG_ENTER_KEY = "enter-key"; const gchar * const CONFIG_LUA_EXTENSION = "lua-extension"; const gchar * const CONFIG_ENGLISH_INPUT_MODE = "english-input-mode"; const gchar * const CONFIG_TABLE_INPUT_MODE = "table-input-mode"; const gchar * const CONFIG_USE_CUSTOM_TABLE = "use-custom-table"; const gchar * const CONFIG_EMOJI_CANDIDATE = "emoji-candidate"; const gchar * const CONFIG_ENGLISH_CANDIDATE = "english-candidate"; const gchar * const CONFIG_SUGGESTION_CANDIDATE = "suggestion-candidate"; const gchar * const CONFIG_EXPORT_USER_PHRASE = "export-user-phrase"; const gchar * const CONFIG_EXPORT_BIGRAM_PHRASE = "export-bigram-phrase"; const gchar * const CONFIG_IMPORT_CUSTOM_TABLE = "import-custom-table"; const gchar * const CONFIG_EXPORT_CUSTOM_TABLE = "export-custom-table"; const gchar * const CONFIG_CLEAR_CUSTOM_TABLE = "clear-custom-table"; const gchar * const CONFIG_IMPORT_DICTIONARY = "import-dictionary"; const gchar * const CONFIG_EXPORT_DICTIONARY = "export-dictionary"; const gchar * const CONFIG_CLEAR_USER_DATA = "clear-user-data"; /* const gchar * const CONFIG_CTRL_SWITCH = "ctrl-switch"; */ const gchar * const CONFIG_MAIN_SWITCH = "main-switch"; const gchar * const CONFIG_LETTER_SWITCH = "letter-switch"; const gchar * const CONFIG_PUNCT_SWITCH = "punct-switch"; const gchar * const CONFIG_BOTH_SWITCH = "both-switch"; const gchar * const CONFIG_TRAD_SWITCH = "trad-switch"; const gchar * const CONFIG_NETWORK_DICTIONARY_START_TIMESTAMP = "network-dictionary-start-timestamp"; const gchar * const CONFIG_NETWORK_DICTIONARY_END_TIMESTAMP = "network-dictionary-end-timestamp"; const gchar * const CONFIG_INIT_ENABLE_CLOUD_INPUT = "enable-cloud-input"; const gchar * const CONFIG_CLOUD_INPUT_SOURCE = "cloud-input-source"; const gchar * const CONFIG_CLOUD_CANDIDATES_NUMBER = "cloud-candidates-number"; const gchar * const CONFIG_CLOUD_REQUEST_DELAY_TIME = "cloud-request-delay-time"; const pinyin_option_t PINYIN_DEFAULT_OPTION = PINYIN_INCOMPLETE | ZHUYIN_INCOMPLETE| PINYIN_CORRECT_ALL| 0; std::unique_ptr PinyinConfig::m_instance; std::unique_ptr BopomofoConfig::m_instance; LibPinyinConfig::LibPinyinConfig (const std::string & name) : Config (name) { m_settings = g_settings_new (m_schema_id.c_str ()); initDefaultValues (); g_signal_connect (m_settings, "changed", G_CALLBACK (valueChangedCallback), this); } LibPinyinConfig::~LibPinyinConfig (void) { g_object_unref (m_settings); m_settings = NULL; } gboolean LibPinyinConfig::luaConverter (std::string converter) { m_lua_converter = converter; return write (CONFIG_LUA_CONVERTER, converter.c_str ()); } gboolean LibPinyinConfig::networkDictionaryStartTimestamp (gint64 timestamp) { m_network_dictionary_start_timestamp = timestamp; return write (CONFIG_NETWORK_DICTIONARY_START_TIMESTAMP, timestamp); } gboolean LibPinyinConfig::networkDictionaryEndTimestamp (gint64 timestamp) { m_network_dictionary_end_timestamp = timestamp; return write (CONFIG_NETWORK_DICTIONARY_END_TIMESTAMP, timestamp); } void LibPinyinConfig::initDefaultValues (void) { m_option = PINYIN_DEFAULT_OPTION; m_option_mask = PINYIN_INCOMPLETE | ZHUYIN_INCOMPLETE | PINYIN_CORRECT_ALL; m_orientation = IBUS_ORIENTATION_HORIZONTAL; m_page_size = 5; m_display_style = DISPLAY_STYLE_TRADITIONAL; m_remember_every_input = FALSE; m_sort_option = SORT_BY_PHRASE_LENGTH | SORT_BY_PINYIN_LENGTH | SORT_BY_FREQUENCY; m_emoji_candidate = TRUE; m_english_candidate = TRUE; m_suggestion_candidate = FALSE; m_export_user_phrase = TRUE; m_export_bigram_phrase = TRUE; m_shift_select_candidate = FALSE; m_minus_equal_page = TRUE; m_comma_period_page = FALSE; m_auto_commit = FALSE; m_double_pinyin = FALSE; m_double_pinyin_schema = DOUBLE_PINYIN_DEFAULT; m_double_pinyin_show_raw = FALSE; m_init_chinese = TRUE; m_init_full = FALSE; m_init_full_punct = TRUE; m_init_simp_chinese = TRUE; m_bopomofo_keyboard_mapping = ZHUYIN_DEFAULT; m_dictionaries = ""; m_lua_converter = ""; m_opencc_config = "s2t.json"; m_main_switch = ""; m_letter_switch = ""; m_punct_switch = "period"; m_both_switch = ""; m_trad_switch = "f"; m_enter_key = TRUE; m_lua_extension = TRUE; m_english_input_mode = TRUE; m_table_input_mode = TRUE; m_use_custom_table = FALSE; m_network_dictionary_start_timestamp = 0; m_network_dictionary_end_timestamp = 0; m_enable_cloud_input = FALSE; m_cloud_candidates_number = 1; m_cloud_input_source = CLOUD_INPUT_SOURCE_BAIDU; m_cloud_request_delay_time = 600; } static const struct { const gchar * const name; guint option; } options [] = { { "incomplete-pinyin", PINYIN_INCOMPLETE|ZHUYIN_INCOMPLETE}, /* fuzzy pinyin */ { "fuzzy-pinyin-c-ch", PINYIN_AMB_C_CH }, { "fuzzy-pinyin-z-zh", PINYIN_AMB_Z_ZH }, { "fuzzy-pinyin-s-sh", PINYIN_AMB_S_SH }, { "fuzzy-pinyin-l-n", PINYIN_AMB_L_N }, { "fuzzy-pinyin-f-h", PINYIN_AMB_F_H }, { "fuzzy-pinyin-l-r", PINYIN_AMB_L_R }, { "fuzzy-pinyin-g-k", PINYIN_AMB_G_K }, { "fuzzy-pinyin-an-ang", PINYIN_AMB_AN_ANG }, { "fuzzy-pinyin-en-eng", PINYIN_AMB_EN_ENG }, { "fuzzy-pinyin-in-ing", PINYIN_AMB_IN_ING }, /* dynamic adjust */ { "dynamic-adjust", DYNAMIC_ADJUST }, }; static const struct{ gint sort_option_index; guint sort_option; } sort_options [] = { {0, SORT_BY_PHRASE_LENGTH | SORT_BY_FREQUENCY}, {1, SORT_BY_PHRASE_LENGTH | SORT_BY_PINYIN_LENGTH | SORT_BY_FREQUENCY}, {2, SORT_WITHOUT_SENTENCE_CANDIDATE | SORT_WITHOUT_LONGER_CANDIDATE | SORT_BY_PHRASE_LENGTH | SORT_BY_PINYIN_LENGTH | SORT_BY_FREQUENCY} }; static const struct{ gint display_style_index; DisplayStyle display_style; } display_style_options [] = { {0, DISPLAY_STYLE_TRADITIONAL}, {1, DISPLAY_STYLE_COMPACT}, {2, DISPLAY_STYLE_COMPATIBILITY} }; static const struct{ gint cloud_input_source_index; CloudInputSource cloud_input_source; } cloud_input_source_options [] = { {0, CLOUD_INPUT_SOURCE_BAIDU}, {1, CLOUD_INPUT_SOURCE_GOOGLE}, {2, CLOUD_INPUT_SOURCE_GOOGLE_CN} }; void LibPinyinConfig::readDefaultValues (void) { #if USE_G_SETTINGS_LIST_KEYS /* read all values together */ initDefaultValues (); gchar **keys = g_settings_list_keys (m_settings); g_return_if_fail (keys != NULL); for (gchar **iter = keys; *iter != NULL; ++iter) { gchar *name = *iter; /* skip signals here. */ if (0 == strcmp(CONFIG_IMPORT_CUSTOM_TABLE, name)) continue; if (0 == strcmp(CONFIG_EXPORT_CUSTOM_TABLE, name)) continue; if (0 == strcmp(CONFIG_CLEAR_CUSTOM_TABLE, name)) continue; if (0 == strcmp(CONFIG_IMPORT_DICTIONARY, name)) continue; if (0 == strcmp(CONFIG_EXPORT_DICTIONARY, name)) continue; if (0 == strcmp(CONFIG_CLEAR_USER_DATA, name)) continue; GVariant *value = g_settings_get_value (m_settings, name); valueChanged (m_schema_id, name, value); g_variant_unref (value); } g_strfreev (keys); #else /* others */ m_orientation = read (CONFIG_ORIENTATION, 0); if (m_orientation != IBUS_ORIENTATION_VERTICAL && m_orientation != IBUS_ORIENTATION_HORIZONTAL) { m_orientation = IBUS_ORIENTATION_HORIZONTAL; g_warn_if_reached (); } m_page_size = read (CONFIG_PAGE_SIZE, 5); if (m_page_size > 10) { m_page_size = 5; g_warn_if_reached (); } gint index = read (CONFIG_DISPLAY_STYLE, 0); m_display_style = DISPLAY_STYLE_TRADITIONAL; for (guint i = 0; i < G_N_ELEMENTS (display_style_options); i++) { if (index == display_style_options[i].display_style_index) { /* set display style option. */ m_display_style = display_style_options[i].display_style; } } m_remember_every_input = read (CONFIG_REMEMBER_EVERY_INPUT, false); index = read (CONFIG_SORT_OPTION, 0); m_sort_option = SORT_BY_PHRASE_LENGTH | SORT_BY_PINYIN_LENGTH | SORT_BY_FREQUENCY; for (guint i = 0; i < G_N_ELEMENTS (sort_options); i++) { if (index == sort_options[i].sort_option_index) { /* set sort option. */ m_sort_option = sort_options[i].sort_option; } } m_emoji_candidate = read (CONFIG_EMOJI_CANDIDATE, true); m_english_candidate = read (CONFIG_ENGLISH_CANDIDATE, true); m_suggestion_candidate = read (CONFIG_SUGGESTION_CANDIDATE, false); m_dictionaries = read (CONFIG_DICTIONARIES, ""); m_opencc_config = read (CONFIG_OPENCC_CONFIG, "s2t.json"); m_main_switch = read (CONFIG_MAIN_SWITCH, ""); m_letter_switch = read (CONFIG_LETTER_SWITCH, ""); m_punct_switch = read (CONFIG_PUNCT_SWITCH, "period"); m_both_switch = read (CONFIG_BOTH_SWITCH, ""); m_trad_switch = read (CONFIG_TRAD_SWITCH, "f"); m_network_dictionary_start_timestamp = read (CONFIG_NETWORK_DICTIONARY_START_TIMESTAMP, (gint64) 0); m_network_dictionary_end_timestamp = read (CONFIG_NETWORK_DICTIONARY_END_TIMESTAMP, (gint64) 0); /* fuzzy pinyin */ if (read (CONFIG_FUZZY_PINYIN, false)) m_option_mask |= PINYIN_AMB_ALL; else m_option_mask &= ~PINYIN_AMB_ALL; /* read values */ for (guint i = 0; i < G_N_ELEMENTS (options); i++) { if (read (options[i].name, (options[i].option & PINYIN_DEFAULT_OPTION) != 0)) { m_option |= options[i].option; } else { m_option &= ~options[i].option; } } m_enable_cloud_input = read (CONFIG_INIT_ENABLE_CLOUD_INPUT, false); /* set cloud input source option. */ index = read (CONFIG_CLOUD_INPUT_SOURCE, 0); m_cloud_input_source = CLOUD_INPUT_SOURCE_BAIDU; for (guint i = 0; i < G_N_ELEMENTS (cloud_input_source_options); i++) { if (index == cloud_input_source_options[i].cloud_input_source_index) { m_cloud_input_source = cloud_input_source_options[i].cloud_input_source; } } m_cloud_candidates_number = read (CONFIG_CLOUD_CANDIDATES_NUMBER, 1); if (m_cloud_candidates_number > 10 || m_cloud_candidates_number < 1) { m_cloud_candidates_number = 1; g_warn_if_reached (); } m_cloud_request_delay_time = read (CONFIG_CLOUD_REQUEST_DELAY_TIME, 600); if (m_cloud_request_delay_time > 2000 || m_cloud_request_delay_time < 200) { m_cloud_request_delay_time = 600; g_warn_if_reached (); } #endif } gboolean LibPinyinConfig::valueChanged (const std::string &schema_id, const std::string &name, GVariant *value) { if (m_schema_id != schema_id) return FALSE; /* lookup table page size */ if (CONFIG_ORIENTATION == name) { m_orientation = normalizeGVariant (value, IBUS_ORIENTATION_HORIZONTAL); if (m_orientation != IBUS_ORIENTATION_VERTICAL && m_orientation != IBUS_ORIENTATION_HORIZONTAL) { m_orientation = IBUS_ORIENTATION_HORIZONTAL; g_warn_if_reached (); } } else if (CONFIG_PAGE_SIZE == name) { m_page_size = normalizeGVariant (value, 5); if (m_page_size > 10) { m_page_size = 5; g_warn_if_reached (); } } else if (CONFIG_DISPLAY_STYLE == name) { const gint index = normalizeGVariant (value, 0); m_display_style = DISPLAY_STYLE_TRADITIONAL; for (guint i = 0; i < G_N_ELEMENTS (display_style_options); i++) { if (index == display_style_options[i].display_style_index) { /* set display style option. */ m_display_style = display_style_options[i].display_style; } } } else if (CONFIG_REMEMBER_EVERY_INPUT == name) { m_remember_every_input = normalizeGVariant (value, false); } else if (CONFIG_SORT_OPTION == name) { const gint index = normalizeGVariant (value, 0); m_sort_option = SORT_BY_PHRASE_LENGTH | SORT_BY_PINYIN_LENGTH | SORT_BY_FREQUENCY; for (guint i = 0; i < G_N_ELEMENTS (sort_options); i++) { if (index == sort_options[i].sort_option_index) { /* set sort option. */ m_sort_option = sort_options[i].sort_option; } } } else if (CONFIG_EMOJI_CANDIDATE == name) { m_emoji_candidate = normalizeGVariant (value, true); } else if (CONFIG_ENGLISH_CANDIDATE == name) { m_english_candidate = normalizeGVariant (value, true); } else if (CONFIG_SUGGESTION_CANDIDATE == name) { m_suggestion_candidate = normalizeGVariant (value, false); } else if (CONFIG_DICTIONARIES == name) { m_dictionaries = normalizeGVariant (value, std::string ("")); } else if (CONFIG_OPENCC_CONFIG == name) { m_opencc_config = normalizeGVariant (value, std::string ("s2t.json")); } else if (CONFIG_MAIN_SWITCH == name) { m_main_switch = normalizeGVariant (value, std::string ("")); } else if (CONFIG_LETTER_SWITCH == name) { m_letter_switch = normalizeGVariant (value, std::string ("")); } else if (CONFIG_PUNCT_SWITCH == name) { m_punct_switch = normalizeGVariant (value, std::string ("period")); } else if (CONFIG_BOTH_SWITCH == name) { m_both_switch = normalizeGVariant (value, std::string ("")); } else if (CONFIG_TRAD_SWITCH == name) { m_trad_switch = normalizeGVariant (value, std::string ("f")); } else if (CONFIG_NETWORK_DICTIONARY_START_TIMESTAMP == name) { m_network_dictionary_start_timestamp = normalizeGVariant (value, (gint64) 0); } else if (CONFIG_NETWORK_DICTIONARY_END_TIMESTAMP == name) { m_network_dictionary_end_timestamp = normalizeGVariant (value, (gint64) 0); } /*cloud input*/ else if (CONFIG_INIT_ENABLE_CLOUD_INPUT == name) { m_enable_cloud_input = normalizeGVariant (value, false); } else if (CONFIG_CLOUD_INPUT_SOURCE == name) { const gint index = normalizeGVariant (value, 0); m_cloud_input_source = CLOUD_INPUT_SOURCE_BAIDU; /* set cloud input source option. */ for (guint i = 0; i < G_N_ELEMENTS (cloud_input_source_options); i++) { if (index == cloud_input_source_options[i].cloud_input_source_index) { m_cloud_input_source = cloud_input_source_options[i].cloud_input_source; } } } else if (CONFIG_CLOUD_CANDIDATES_NUMBER == name) { m_cloud_candidates_number = normalizeGVariant (value, 1); if (m_cloud_candidates_number > 10 || m_cloud_candidates_number < 1) { m_cloud_candidates_number = 1; g_warn_if_reached (); } } else if (CONFIG_CLOUD_REQUEST_DELAY_TIME == name) { m_cloud_request_delay_time = read (CONFIG_CLOUD_REQUEST_DELAY_TIME, 600); if (m_cloud_request_delay_time > 2000 || m_cloud_request_delay_time < 200) { m_cloud_request_delay_time = 600; g_warn_if_reached (); } } /* fuzzy pinyin */ else if (CONFIG_FUZZY_PINYIN == name) { if (normalizeGVariant (value, false)) m_option_mask |= PINYIN_AMB_ALL; else m_option_mask &= ~PINYIN_AMB_ALL; } else { for (guint i = 0; i < G_N_ELEMENTS (options); i++) { if (G_LIKELY (options[i].name != name)) continue; if (normalizeGVariant (value, (options[i].option & PINYIN_DEFAULT_OPTION) != 0)) m_option |= options[i].option; else m_option &= ~options[i].option; return TRUE; } return FALSE; } return TRUE; } void LibPinyinConfig::valueChangedCallback (GSettings *settings, const gchar *name, LibPinyinConfig *self) { gchar * property = NULL; g_object_get (settings, "schema-id", &property, NULL); std::string schema_id (property); g_free (property); if (self->m_schema_id != schema_id) return; GVariant * value = g_settings_get_value (settings, name); self->valueChanged (self->m_schema_id, name, value); g_variant_unref (value); if (self->m_schema_id == "com.github.libpinyin.ibus-libpinyin.libpinyin") LibPinyinBackEnd::instance ().setPinyinOptions (self); if (self->m_schema_id == "com.github.libpinyin.ibus-libpinyin.libbopomofo") LibPinyinBackEnd::instance ().setChewingOptions (self); } static const struct { const gchar * const name; guint option; } pinyin_options [] = { /* correct */ { "correct-pinyin-gn-ng", PINYIN_CORRECT_GN_NG }, { "correct-pinyin-mg-ng", PINYIN_CORRECT_MG_NG }, { "correct-pinyin-iou-iu", PINYIN_CORRECT_IOU_IU }, { "correct-pinyin-uei-ui", PINYIN_CORRECT_UEI_UI }, { "correct-pinyin-uen-un", PINYIN_CORRECT_UEN_UN }, { "correct-pinyin-ue-ve", PINYIN_CORRECT_UE_VE }, { "correct-pinyin-v-u", PINYIN_CORRECT_V_U }, { "correct-pinyin-on-ong", PINYIN_CORRECT_ON_ONG }, }; /* Here are the double pinyin keyboard scheme mapping table. */ static const struct{ gint double_pinyin_keyboard; DoublePinyinScheme scheme; } double_pinyin_schemes [] = { {0, DOUBLE_PINYIN_MS}, {1, DOUBLE_PINYIN_ZRM}, {2, DOUBLE_PINYIN_ABC}, {3, DOUBLE_PINYIN_ZIGUANG}, {4, DOUBLE_PINYIN_PYJJ}, {5, DOUBLE_PINYIN_XHE} }; PinyinConfig::PinyinConfig () : LibPinyinConfig ("com.github.libpinyin.ibus-libpinyin.libpinyin") { } void PinyinConfig::init () { if (m_instance.get () == NULL) { m_instance.reset (new PinyinConfig ()); m_instance->readDefaultValues (); } } void PinyinConfig::readDefaultValues (void) { LibPinyinConfig::readDefaultValues (); #if !USE_G_SETTINGS_LIST_KEYS /* double pinyin */ m_double_pinyin = read (CONFIG_DOUBLE_PINYIN, false); const gint map = read (CONFIG_DOUBLE_PINYIN_SCHEMA, 0); m_double_pinyin_schema = DOUBLE_PINYIN_DEFAULT; for (guint i = 0; i < G_N_ELEMENTS (double_pinyin_schemes); i++) { if (map == double_pinyin_schemes[i].double_pinyin_keyboard) { /* set double pinyin scheme. */ m_double_pinyin_schema = double_pinyin_schemes[i].scheme; } } m_double_pinyin_show_raw = read (CONFIG_DOUBLE_PINYIN_SHOW_RAW, false); /* init states */ m_init_chinese = read (CONFIG_INIT_CHINESE, true); m_init_full = read (CONFIG_INIT_FULL, false); m_init_full_punct = read (CONFIG_INIT_FULL_PUNCT, true); m_init_simp_chinese = read (CONFIG_INIT_SIMP_CHINESE, true); /* other */ m_shift_select_candidate = read (CONFIG_SHIFT_SELECT_CANDIDATE, false); m_minus_equal_page = read (CONFIG_MINUS_EQUAL_PAGE, true); m_comma_period_page = read (CONFIG_COMMA_PERIOD_PAGE, false); m_square_bracket_page = read (CONFIG_SQUARE_BRACKET_PAGE, false); m_auto_commit = read (CONFIG_AUTO_COMMIT, false); m_lua_extension = read (CONFIG_LUA_EXTENSION, true); m_english_input_mode = read (CONFIG_ENGLISH_INPUT_MODE, true); m_table_input_mode = read (CONFIG_TABLE_INPUT_MODE, true); m_use_custom_table = read (CONFIG_USE_CUSTOM_TABLE, false); /* export phrases */ m_export_user_phrase = read (CONFIG_EXPORT_USER_PHRASE, true); m_export_bigram_phrase = read (CONFIG_EXPORT_BIGRAM_PHRASE, true); /* lua */ m_lua_converter = read (CONFIG_LUA_CONVERTER, ""); /* correct pinyin */ if (read (CONFIG_CORRECT_PINYIN, true)) m_option_mask |= PINYIN_CORRECT_ALL; else m_option_mask &= ~PINYIN_CORRECT_ALL; /* read values */ for (guint i = 0; i < G_N_ELEMENTS (pinyin_options); i++) { if (read (pinyin_options[i].name, (pinyin_options[i].option & PINYIN_DEFAULT_OPTION) != 0)) m_option |= pinyin_options[i].option; else m_option &= ~pinyin_options[i].option; } #endif } gboolean PinyinConfig::valueChanged (const std::string &schema_id, const std::string &name, GVariant *value) { if (m_schema_id != schema_id) return FALSE; if (LibPinyinConfig::valueChanged (schema_id, name, value)) return TRUE; /* double pinyin */ if (CONFIG_DOUBLE_PINYIN == name) m_double_pinyin = normalizeGVariant (value, false); else if (CONFIG_DOUBLE_PINYIN_SCHEMA == name) { const gint map = normalizeGVariant (value, 0); m_double_pinyin_schema = DOUBLE_PINYIN_DEFAULT; for (guint i = 0; i < G_N_ELEMENTS (double_pinyin_schemes); i++) { if (map == double_pinyin_schemes[i].double_pinyin_keyboard) { /* set double pinyin scheme. */ m_double_pinyin_schema = double_pinyin_schemes[i].scheme; } } } else if (CONFIG_DOUBLE_PINYIN_SHOW_RAW == name) m_double_pinyin_show_raw = normalizeGVariant (value, false); /* init states */ else if (CONFIG_INIT_CHINESE == name) m_init_chinese = normalizeGVariant (value, true); else if (CONFIG_INIT_FULL == name) m_init_full = normalizeGVariant (value, true); else if (CONFIG_INIT_FULL_PUNCT == name) m_init_full_punct = normalizeGVariant (value, true); else if (CONFIG_INIT_SIMP_CHINESE == name) m_init_simp_chinese = normalizeGVariant (value, true); /* others */ else if (CONFIG_SHIFT_SELECT_CANDIDATE == name) m_shift_select_candidate = normalizeGVariant (value, false); else if (CONFIG_MINUS_EQUAL_PAGE == name) m_minus_equal_page = normalizeGVariant (value, true); else if (CONFIG_COMMA_PERIOD_PAGE == name) m_comma_period_page = normalizeGVariant (value, false); else if (CONFIG_SQUARE_BRACKET_PAGE == name) m_square_bracket_page = normalizeGVariant (value, false); else if (CONFIG_LUA_CONVERTER == name) m_lua_converter = normalizeGVariant (value, std::string ("")); else if (CONFIG_AUTO_COMMIT == name) m_auto_commit = normalizeGVariant (value, false); else if (CONFIG_LUA_EXTENSION == name) m_lua_extension = normalizeGVariant (value, true); else if (CONFIG_ENGLISH_INPUT_MODE == name) m_english_input_mode = normalizeGVariant (value, true); else if (CONFIG_TABLE_INPUT_MODE == name) m_table_input_mode = normalizeGVariant (value, true); else if (CONFIG_USE_CUSTOM_TABLE == name) m_use_custom_table = normalizeGVariant (value, false); else if (CONFIG_EXPORT_USER_PHRASE == name) m_export_user_phrase = normalizeGVariant (value, true); else if (CONFIG_EXPORT_BIGRAM_PHRASE == name) m_export_bigram_phrase = normalizeGVariant (value, true); else if (CONFIG_IMPORT_CUSTOM_TABLE == name) { std::string filename = normalizeGVariant (value, std::string("")); if (!filename.empty ()) { TableDatabase::userInstance ().importTable (filename.c_str ()); show_message (_("The table file is imported."), NULL); } } else if (CONFIG_EXPORT_CUSTOM_TABLE == name) { std::string filename = normalizeGVariant (value, std::string("")); if (!filename.empty ()) { TableDatabase::userInstance ().exportTable (filename.c_str ()); show_message (_("The table file is exported."), NULL); } } else if (CONFIG_CLEAR_CUSTOM_TABLE == name) { std::string target = normalizeGVariant (value, std::string("")); if (target == "user") TableDatabase::userInstance ().clearTable (); } else if (CONFIG_IMPORT_DICTIONARY == name) { std::string filename = normalizeGVariant (value, std::string("")); if (!filename.empty ()) { LibPinyinBackEnd::instance ().importPinyinDictionary (filename.c_str ()); show_message (_("The pinyin dictionary file is imported."), NULL); } } else if (CONFIG_EXPORT_DICTIONARY == name) { std::string filename = normalizeGVariant (value, std::string("")); if (!filename.empty ()) { LibPinyinBackEnd::instance ().exportPinyinDictionary (filename.c_str ()); show_message (_("The pinyin dictionary file is exported."), NULL); } } else if (CONFIG_CLEAR_USER_DATA == name) { std::string target = normalizeGVariant (value, std::string("")); LibPinyinBackEnd::instance ().clearPinyinUserData(target.c_str ()); } /* correct pinyin */ else if (CONFIG_CORRECT_PINYIN == name) { if (normalizeGVariant (value, true)) m_option_mask |= PINYIN_CORRECT_ALL; else m_option_mask &= ~PINYIN_CORRECT_ALL; } else { for (guint i = 0; i < G_N_ELEMENTS (pinyin_options); i++) { if (G_LIKELY (pinyin_options[i].name != name)) continue; if (normalizeGVariant (value, (pinyin_options[i].option & PINYIN_DEFAULT_OPTION) != 0)) m_option |= pinyin_options[i].option; else m_option &= ~pinyin_options[i].option; return TRUE; } return FALSE; } return TRUE; } /* Here are the chewing keyboard scheme mapping table. */ static const struct { gint bopomofo_keyboard; ZhuyinScheme scheme; } chewing_schemes [] = { {0, ZHUYIN_STANDARD}, {1, ZHUYIN_GINYIEH}, {2, ZHUYIN_ETEN}, {3, ZHUYIN_IBM} }; BopomofoConfig::BopomofoConfig () : LibPinyinConfig ("com.github.libpinyin.ibus-libpinyin.libbopomofo") { } void BopomofoConfig::init () { if (m_instance.get () == NULL) { m_instance.reset (new BopomofoConfig ()); m_instance->readDefaultValues (); } } void BopomofoConfig::readDefaultValues (void) { LibPinyinConfig::readDefaultValues (); #if !USE_G_SETTINGS_LIST_KEYS /* init states */ m_init_chinese = read (CONFIG_INIT_CHINESE, true); m_init_full = read (CONFIG_INIT_FULL, false); m_init_full_punct = read (CONFIG_INIT_FULL_PUNCT, true); m_init_simp_chinese = read (CONFIG_INIT_SIMP_CHINESE, false); const gint map = read (CONFIG_BOPOMOFO_KEYBOARD_MAPPING, 0); m_bopomofo_keyboard_mapping = ZHUYIN_DEFAULT; for (guint i = 0; i < G_N_ELEMENTS (chewing_schemes); i++) { if (map == chewing_schemes[i].bopomofo_keyboard) { /* set chewing scheme. */ m_bopomofo_keyboard_mapping = chewing_schemes[i].scheme; } } m_select_keys = read (CONFIG_SELECT_KEYS, 0); if (m_select_keys >= 9) m_select_keys = 0; m_guide_key = read (CONFIG_GUIDE_KEY, 1); m_auxiliary_select_key_f = read (CONFIG_AUXILIARY_SELECT_KEY_F, 1); m_auxiliary_select_key_kp = read (CONFIG_AUXILIARY_SELECT_KEY_KP, 1); m_enter_key = read (CONFIG_ENTER_KEY, true); #endif } gboolean BopomofoConfig::valueChanged (const std::string &schema_id, const std::string &name, GVariant *value) { if (m_schema_id != schema_id) return FALSE; if (LibPinyinConfig::valueChanged (schema_id, name, value)) return TRUE; /* init states */ if (CONFIG_INIT_CHINESE == name) m_init_chinese = normalizeGVariant (value, true); else if (CONFIG_INIT_FULL == name) m_init_full = normalizeGVariant (value, true); else if (CONFIG_INIT_FULL_PUNCT == name) m_init_full_punct = normalizeGVariant (value, true); else if (CONFIG_INIT_SIMP_CHINESE == name) m_init_simp_chinese = normalizeGVariant (value, false); else if (CONFIG_BOPOMOFO_KEYBOARD_MAPPING == name) { const gint map = normalizeGVariant (value, 0); m_bopomofo_keyboard_mapping = ZHUYIN_DEFAULT; for (guint i = 0; i < G_N_ELEMENTS (chewing_schemes); i++) { if (map == chewing_schemes[i].bopomofo_keyboard) { /* set chewing scheme. */ m_bopomofo_keyboard_mapping = chewing_schemes[i].scheme; } } } else if (CONFIG_SELECT_KEYS == name) { m_select_keys = normalizeGVariant (value, 0); if (m_select_keys >= 9) m_select_keys = 0; } else if (CONFIG_GUIDE_KEY == name) m_guide_key = normalizeGVariant (value, true); else if (CONFIG_AUXILIARY_SELECT_KEY_F == name) m_auxiliary_select_key_f = normalizeGVariant (value, true); else if (CONFIG_AUXILIARY_SELECT_KEY_KP == name) m_auxiliary_select_key_kp = normalizeGVariant (value, true); else if (CONFIG_ENTER_KEY == name) m_enter_key = normalizeGVariant (value, true); else return FALSE; return TRUE; } }; ibus-libpinyin-1.16.1/src/PYHalfFullConverter.cc0000664000175000017500000000624313672072346015173 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "PYHalfFullConverter.h" namespace PY { const guint HalfFullConverter::m_table[][3] = { { 0x0020, 0x3000, 1 }, { 0x0021, 0xFF01, 94 }, { 0x00A2, 0xFFE0, 2 }, { 0x00A5, 0xFFE5, 1 }, { 0x00A6, 0xFFE4, 1 }, { 0x00AC, 0xFFE2, 1 }, { 0x00AF, 0xFFE3, 1 }, { 0x20A9, 0xFFE6, 1 }, { 0xFF61, 0x3002, 1 }, { 0xFF62, 0x300C, 2 }, { 0xFF64, 0x3001, 1 }, { 0xFF65, 0x30FB, 1 }, { 0xFF66, 0x30F2, 1 }, { 0xFF67, 0x30A1, 1 }, { 0xFF68, 0x30A3, 1 }, { 0xFF69, 0x30A5, 1 }, { 0xFF6A, 0x30A7, 1 }, { 0xFF6B, 0x30A9, 1 }, { 0xFF6C, 0x30E3, 1 }, { 0xFF6D, 0x30E5, 1 }, { 0xFF6E, 0x30E7, 1 }, { 0xFF6F, 0x30C3, 1 }, { 0xFF70, 0x30FC, 1 }, { 0xFF71, 0x30A2, 1 }, { 0xFF72, 0x30A4, 1 }, { 0xFF73, 0x30A6, 1 }, { 0xFF74, 0x30A8, 1 }, { 0xFF75, 0x30AA, 2 }, { 0xFF77, 0x30AD, 1 }, { 0xFF78, 0x30AF, 1 }, { 0xFF79, 0x30B1, 1 }, { 0xFF7A, 0x30B3, 1 }, { 0xFF7B, 0x30B5, 1 }, { 0xFF7C, 0x30B7, 1 }, { 0xFF7D, 0x30B9, 1 }, { 0xFF7E, 0x30BB, 1 }, { 0xFF7F, 0x30BD, 1 }, { 0xFF80, 0x30BF, 1 }, { 0xFF81, 0x30C1, 1 }, { 0xFF82, 0x30C4, 1 }, { 0xFF83, 0x30C6, 1 }, { 0xFF84, 0x30C8, 1 }, { 0xFF85, 0x30CA, 6 }, { 0xFF8B, 0x30D2, 1 }, { 0xFF8C, 0x30D5, 1 }, { 0xFF8D, 0x30D8, 1 }, { 0xFF8E, 0x30DB, 1 }, { 0xFF8F, 0x30DE, 5 }, { 0xFF94, 0x30E4, 1 }, { 0xFF95, 0x30E6, 1 }, { 0xFF96, 0x30E8, 6 }, { 0xFF9C, 0x30EF, 1 }, { 0xFF9D, 0x30F3, 1 }, { 0xFFA0, 0x3164, 1 }, { 0xFFA1, 0x3131, 30 }, { 0xFFC2, 0x314F, 6 }, { 0xFFCA, 0x3155, 6 }, { 0xFFD2, 0x315B, 9 }, { 0xFFE9, 0x2190, 4 }, { 0xFFED, 0x25A0, 1 }, { 0xFFEE, 0x25CB, 1 }, }; gunichar HalfFullConverter::toFull (gunichar ch) { for (guint i = 0; i < G_N_ELEMENTS (m_table); i++) { if (G_UNLIKELY (ch < m_table[i][0])) return ch; if (G_UNLIKELY (ch < m_table[i][0] + m_table[i][2])) return ch - m_table[i][0] + m_table[i][1]; } return ch; } gunichar HalfFullConverter::toHalf (gunichar ch) { for (guint i = 0; i < G_N_ELEMENTS (m_table); i++) { if (G_LIKELY (ch < m_table[i][1])) continue; if (G_LIKELY (ch >= m_table[i][1] + m_table[i][2])) continue; return ch - m_table[i][1] + m_table[i][0]; } return ch; } }; ibus-libpinyin-1.16.1/src/PYFallbackEditor.cc0000664000175000017500000002045014556135552014451 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "PYFallbackEditor.h" #include "PYHalfFullConverter.h" #include "PYPinyinProperties.h" namespace PY { inline gboolean FallbackEditor::processPunctForSimplifiedChinese (guint keyval, guint keycode, guint modifiers) { switch (keyval) { case '`': commit ("·"); return TRUE; case '~': commit ("~"); return TRUE; case '!': commit ("!"); return TRUE; // case '@': // case '#': case '$': commit ("¥"); return TRUE; // case '%': case '^': commit ("……"); return TRUE; // case '&': // case '*': case '(': commit ("("); return TRUE; case ')': commit (")"); return TRUE; // case '-': case '_': commit ("——"); return TRUE; // case '=': // case '+': case '[': commit ("【"); return TRUE; case ']': commit ("】"); return TRUE; case '{': commit ("『"); return TRUE; case '}': commit ("』"); return TRUE; case '\\': commit ("、"); return TRUE; // case '|': case ';': commit (";"); return TRUE; case ':': commit (":"); return TRUE; case '\'': commit (m_quote ? "‘" : "’"); m_quote = !m_quote; return TRUE; case '"': commit (m_double_quote ? "“" : "”"); m_double_quote = !m_double_quote; return TRUE; case ',': if (m_prev_committed_char >= '0' && m_prev_committed_char <= '9') { m_prev_committed_char = keyval; return FALSE; } else { commit (","); return TRUE; } case '.': if (m_prev_committed_char >= '0' && m_prev_committed_char <= '9') { m_prev_committed_char = keyval; return FALSE; } else { commit ("。"); return TRUE; } case '<': commit ("《"); return TRUE; case '>': commit ("》"); return TRUE; // case '/': case '?': commit ("?"); return TRUE; } return FALSE; } inline gboolean FallbackEditor::processPunctForTraditionalChinese (guint keyval, guint keycode, guint modifiers) { switch (keyval) { case '~': commit ("~"); return TRUE; case '!': commit ("!"); return TRUE; // case '@': // case '#': case '$': commit ("¥"); return TRUE; // case '%': case '^': commit ("……"); return TRUE; // case '&': // case '*': case '(': commit ("("); return TRUE; case ')': commit (")"); return TRUE; // case '-': case '_': commit ("——"); return TRUE; // case '=': // case '+': case '[': commit ("「"); return TRUE; case ']': commit ("」"); return TRUE; case '{': commit ("『"); return TRUE; case '}': commit ("』"); return TRUE; case '\\': commit ("、"); return TRUE; // case '|': case ';': commit (";"); return TRUE; case ':': commit (":"); return TRUE; case '\'': commit (m_quote ? "‘" : "’"); m_quote = !m_quote; return TRUE; case '"': commit (m_double_quote ? "“" : "”"); m_double_quote = !m_double_quote; return TRUE; case ',': if (m_prev_committed_char >= '0' && m_prev_committed_char <= '9') { m_prev_committed_char = keyval; return FALSE; } else { commit (","); return TRUE; } case '.': if (m_prev_committed_char >= '0' && m_prev_committed_char <= '9') { m_prev_committed_char = keyval; return FALSE; } else { commit ("。"); return TRUE; } case '<': commit ("《"); return TRUE; case '>': commit ("》"); return TRUE; case '?': commit ("?"); return TRUE; } return FALSE; } inline gboolean FallbackEditor::processPunct (guint keyval, guint keycode, guint modifiers) { guint cmshm_modifiers = cmshm_filter (modifiers); /* check ctrl, alt, hyper, supper masks */ if (cmshm_modifiers != 0) return FALSE; /* English mode */ if (G_UNLIKELY (!m_props.modeChinese ())) { if (G_UNLIKELY (m_props.modeFull ())) commit (HalfFullConverter::toFull (keyval)); else return FALSE; return TRUE; } else { /* Chinese mode */ if (m_props.modeFullPunct ()) { if (m_props.modeSimp ()) { if (processPunctForSimplifiedChinese (keyval, keycode, modifiers)) return TRUE; } else { if (processPunctForTraditionalChinese (keyval, keycode, modifiers)) return TRUE; } } if (m_props.modeFull ()) commit (HalfFullConverter::toFull (keyval)); else return FALSE; } return TRUE; } gboolean FallbackEditor::processKeyEvent (guint keyval, guint keycode, guint modifiers) { if (modifiers & IBUS_MOD4_MASK) return FALSE; gboolean retval = FALSE; modifiers &= (IBUS_CONTROL_MASK | IBUS_MOD1_MASK | IBUS_SUPER_MASK | IBUS_HYPER_MASK | IBUS_META_MASK); switch (keyval) { /* numbers */ case IBUS_KP_0 ... IBUS_KP_9: keyval = keyval - IBUS_KP_0 + IBUS_0; case IBUS_0 ... IBUS_9: /* letters */ case IBUS_a ... IBUS_z: case IBUS_A ... IBUS_Z: if (modifiers == 0) { if (!m_props.modeFull ()) { m_prev_committed_char = keyval; return FALSE; } commit (HalfFullConverter::toFull (keyval)); retval = TRUE; } break; /* punct */ case IBUS_exclam ... IBUS_slash: case IBUS_colon ... IBUS_at: case IBUS_bracketleft ... IBUS_quoteleft: case IBUS_braceleft ... IBUS_asciitilde: retval = processPunct (keyval, keycode, modifiers); break; case IBUS_KP_Equal: retval = processPunct ('=', keycode, modifiers); break; case IBUS_KP_Multiply: retval = processPunct ('*', keycode, modifiers); break; case IBUS_KP_Add: retval = processPunct ('+', keycode, modifiers); break; #if 0 case IBUS_KP_Separator: retval = processPunct (IBUS_separator, keycode, modifiers); break; #endif case IBUS_KP_Subtract: retval = processPunct ('-', keycode, modifiers); break; case IBUS_KP_Decimal: retval = FALSE; break; case IBUS_KP_Divide: retval = processPunct ('/', keycode, modifiers); break; /* space */ case IBUS_KP_Space: keyval = IBUS_space; case IBUS_space: if (modifiers == 0) { if (!m_props.modeFull ()) { m_prev_committed_char = keyval; return FALSE; } commit (" "); retval = TRUE; } break; /* others */ default: break; } if (!retval) m_prev_committed_char = keyval; return retval; } void FallbackEditor::reset (void) { m_quote = TRUE; m_double_quote = TRUE; m_prev_committed_char = 0; } }; ibus-libpinyin-1.16.1/src/PYPSuggestionEditor.cc0000644000175000017500000002223714737121766015227 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2018 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "PYPSuggestionEditor.h" #include #include "PYConfig.h" #include "PYLibPinyin.h" #include "PYPinyinProperties.h" using namespace PY; SuggestionEditor::SuggestionEditor (PinyinProperties &props, Config & config) : Editor (props, config), m_suggestion_candidates (this), #ifdef IBUS_BUILD_LUA_EXTENSION m_lua_trigger_candidates (this), m_lua_converter_candidates (this), #endif m_traditional_candidates (this, config) { /* use m_text to store the prefix string. */ m_text = ""; m_cursor = 0; m_instance = LibPinyinBackEnd::instance ().allocPinyinInstance (); } SuggestionEditor::~SuggestionEditor (void) { LibPinyinBackEnd::instance ().freePinyinInstance (m_instance); m_instance = NULL; } #ifdef IBUS_BUILD_LUA_EXTENSION gboolean SuggestionEditor::setLuaPlugin (IBusEnginePlugin *plugin) { m_lua_trigger_candidates.setLuaPlugin (plugin); m_lua_converter_candidates.setLuaPlugin (plugin); return TRUE; } #endif gboolean SuggestionEditor::processKeyEvent (guint keyval, guint keycode, guint modifiers) { if (modifiers & IBUS_MOD4_MASK) return FALSE; //IBUS_SHIFT_MASK is removed. modifiers &= (IBUS_CONTROL_MASK | IBUS_MOD1_MASK | IBUS_SUPER_MASK | IBUS_HYPER_MASK | IBUS_META_MASK | IBUS_LOCK_MASK); if (modifiers) return FALSE; // handle enter here. if (keyval == IBUS_Return) return FALSE; // no suggestion candidates. if (m_lookup_table.size () == 0) return FALSE; //handle page/cursor up/down here. if (processPageKey (keyval)) return TRUE; //handle label key select here. if (processLabelKey (keyval)) return TRUE; if (processSpace (keyval)) return TRUE; return FALSE; } gboolean SuggestionEditor::processPageKey (guint keyval) { switch (keyval) { case IBUS_comma: if (m_config.commaPeriodPage ()) { pageUp (); return TRUE; } break; case IBUS_minus: if (m_config.minusEqualPage ()) { pageUp (); return TRUE; } break; case IBUS_bracketleft: if (m_config.squareBracketPage ()) { pageUp (); return TRUE; } break; case IBUS_period: if (m_config.commaPeriodPage ()) { pageDown (); return TRUE; } break; case IBUS_equal: if (m_config.minusEqualPage ()) { pageDown (); return TRUE; } break; case IBUS_bracketright: if (m_config.squareBracketPage ()) { pageDown (); return TRUE; } break; case IBUS_Up: case IBUS_KP_Up: cursorUp (); return TRUE; case IBUS_Down: case IBUS_KP_Down: cursorDown (); return TRUE; case IBUS_Page_Up: case IBUS_KP_Page_Up: pageUp (); return TRUE; case IBUS_Page_Down: case IBUS_KP_Page_Down: pageDown (); return TRUE; case IBUS_Escape: reset (); return TRUE; } return FALSE; } gboolean SuggestionEditor::processLabelKey (guint keyval) { switch (keyval) { case '1' ... '9': return selectCandidateInPage (keyval - '1'); break; case '0': return selectCandidateInPage (9); break; } return FALSE; } gboolean SuggestionEditor::processSpace (guint keyval) { if (!(keyval == IBUS_space || keyval == IBUS_KP_Space)) return FALSE; guint cursor_pos = m_lookup_table.cursorPos (); return selectCandidate (cursor_pos); } void SuggestionEditor::candidateClicked (guint index, guint button, guint state) { selectCandidateInPage (index); reset (); } gboolean SuggestionEditor::selectCandidateInPage (guint index) { guint page_size = m_lookup_table.pageSize (); guint cursor_pos = m_lookup_table.cursorPos (); if (G_UNLIKELY (index >= page_size)) return FALSE; index += (cursor_pos / page_size) * page_size; return selectCandidate (index); } gboolean SuggestionEditor::selectCandidate (guint index) { if (G_UNLIKELY (index >= m_candidates.size ())) return FALSE; EnhancedCandidate & candidate = m_candidates[index]; int action = selectCandidateInternal (candidate); if (action & SELECT_CANDIDATE_COMMIT) { Text text (candidate.m_display_string); commitText (text); } if (action & SELECT_CANDIDATE_UPDATE) update (); return TRUE; } /* Auxiliary Functions */ void SuggestionEditor::pageUp (void) { if (G_LIKELY (m_lookup_table.pageUp ())) { updateLookupTableFast (); updatePreeditText (); updateAuxiliaryText (); } } void SuggestionEditor::pageDown (void) { if (G_LIKELY (m_lookup_table.pageDown ())) { updateLookupTableFast (); updatePreeditText (); updateAuxiliaryText (); } } void SuggestionEditor::cursorUp (void) { if (G_LIKELY (m_lookup_table.cursorUp ())) { updateLookupTableFast (); updatePreeditText (); updateAuxiliaryText (); } } void SuggestionEditor::cursorDown (void) { if (G_LIKELY (m_lookup_table.cursorDown ())) { updateLookupTableFast (); updatePreeditText (); updateAuxiliaryText (); } } void SuggestionEditor::update (void) { pinyin_guess_predicted_candidates_with_punctuations (m_instance, m_text); updateLookupTable (); updatePreeditText (); updateAuxiliaryText (); } void SuggestionEditor::reset (void) { m_text = ""; update (); } void SuggestionEditor::updateLookupTableFast (void) { Editor::updateLookupTableFast (m_lookup_table, TRUE); } void SuggestionEditor::updateLookupTable (void) { m_lookup_table.clear (); m_lookup_table.setPageSize (m_config.pageSize ()); m_lookup_table.setOrientation (m_config.orientation ()); updateCandidates (); fillLookupTable (); if (m_lookup_table.size ()){ Editor::updateLookupTableFast (m_lookup_table, TRUE); } else { hideLookupTable (); /* clean up prefix */ m_text = ""; } } gboolean SuggestionEditor::updateCandidates (void) { m_candidates.clear (); m_suggestion_candidates.processCandidates (m_candidates); if (!m_props.modeSimp ()) m_traditional_candidates.processCandidates (m_candidates); #ifdef IBUS_BUILD_LUA_EXTENSION m_lua_trigger_candidates.processCandidates (m_candidates); std::string converter = m_config.luaConverter (); if (!converter.empty ()) { m_lua_converter_candidates.setConverter (converter.c_str ()); m_lua_converter_candidates.processCandidates (m_candidates); } #endif return TRUE; } gboolean SuggestionEditor::fillLookupTable () { for (guint i = 0; i < m_candidates.size (); i++) { EnhancedCandidate & candidate = m_candidates[i]; Text text (candidate.m_display_string); /* no user candidate in suggestion editor. */ assert (CANDIDATE_USER != candidate.m_candidate_type); m_lookup_table.appendCandidate (text); } return TRUE; } int SuggestionEditor::selectCandidateInternal (EnhancedCandidate & candidate) { switch (candidate.m_candidate_type) { case CANDIDATE_PREDICTED_BIGRAM: case CANDIDATE_PREDICTED_PREFIX: case CANDIDATE_PREDICTED_PUNCTUATION: return m_suggestion_candidates.selectCandidate (candidate); case CANDIDATE_TRADITIONAL_CHINESE: return m_traditional_candidates.selectCandidate (candidate); #ifdef IBUS_BUILD_LUA_EXTENSION case CANDIDATE_LUA_TRIGGER: return m_lua_trigger_candidates.selectCandidate (candidate); case CANDIDATE_LUA_CONVERTER: return m_lua_converter_candidates.selectCandidate (candidate); #endif default: assert (FALSE); } } void SuggestionEditor::updatePreeditText (void) { if (G_UNLIKELY (m_preedit_text.empty ())) { hidePreeditText (); return; } StaticText preedit_text (m_preedit_text); Editor::updatePreeditText (preedit_text, m_cursor, TRUE); } void SuggestionEditor::updateAuxiliaryText (void) { if (G_UNLIKELY (m_auxiliary_text.empty ())) { hideAuxiliaryText (); return; } StaticText aux_text (m_auxiliary_text); Editor::updateAuxiliaryText (aux_text, TRUE); } ibus-libpinyin-1.16.1/src/PYMain.cc0000644000175000017500000002123214726721264012464 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifdef HAVE_CONFIG_H # include "config.h" #endif #include #include #include #include #include "PYEngine.h" #include "PYPointer.h" #include "PYBus.h" #include "PYConfig.h" #include "PYPConfig.h" #include "PYLibPinyin.h" #ifdef IBUS_BUILD_ENGLISH_INPUT_MODE #include "PYEnglishDatabase.h" #endif #ifdef IBUS_BUILD_TABLE_INPUT_MODE #include "PYTableDatabase.h" #endif #include "PYXMLUtil.h" #ifdef ENABLE_LIBNOTIFY #include #endif using namespace PY; #define N_(text) text static Pointer factory; /* options */ static gboolean ibus = FALSE; static gboolean xml = FALSE; static gboolean verbose = FALSE; static void show_version_and_quit (void) { g_print ("%s - Version %s\n", g_get_application_name (), VERSION); exit (EXIT_SUCCESS); } static const GOptionEntry entries[] = { { "version", 'V', G_OPTION_FLAG_NO_ARG, G_OPTION_ARG_CALLBACK, (gpointer) show_version_and_quit, "Show the application's version.", NULL }, { "ibus", 'i', 0, G_OPTION_ARG_NONE, &ibus, "component is executed by ibus", NULL }, { "xml", 'x', 0, G_OPTION_ARG_NONE, &xml, "list engines", NULL }, { "verbose", 'v', 0, G_OPTION_ARG_NONE, &verbose, "verbose", NULL }, { NULL }, }; static void ibus_disconnected_cb (IBusBus *bus, gpointer user_data) { g_debug ("bus disconnected"); ibus_quit (); } static void start_component (void) { Pointer component; ibus_init (); Bus bus; if (!bus.isConnected ()) { g_warning ("Can not connect to ibus!"); exit (0); } if (!ibus_bus_get_config (bus)) { g_warning ("IBus config component is not ready!"); exit (0); } LibPinyinBackEnd::init (); PinyinConfig::init (); BopomofoConfig::init (); #ifdef IBUS_BUILD_ENGLISH_INPUT_MODE EnglishDatabase::init (); #endif #ifdef IBUS_BUILD_TABLE_INPUT_MODE TableDatabase::init (); #endif g_signal_connect ((IBusBus *)bus, "disconnected", G_CALLBACK (ibus_disconnected_cb), NULL); component = ibus_component_new ("org.freedesktop.IBus.Libpinyin", N_("Libpinyin input method"), VERSION, "GPL", "Peng Wu ", "https://github.com/libpinyin/ibus-libpinyin", "", "ibus-libpinyin"); ibus_component_add_engine (component, ibus_engine_desc_new ("libpinyin-debug", N_("Intelligent Pinyin (debug)"), N_("Intelligent Pinyin input method (debug)"), "zh_CN", "GPL", "Peng Huang \n" "Peng Wu \n" "BYVoid ", PKGDATADIR "/icons/ibus-pinyin.svg", "us")); ibus_component_add_engine (component, ibus_engine_desc_new ("libbopomofo-debug", N_("Bopomofo (debug)"), N_("Bopomofo input method (debug)"), "zh_TW", "GPL", "BYVoid \n" "Peng Wu \n" "Peng Huang ", PKGDATADIR "/icons/ibus-bopomofo.svg", "us")); factory = ibus_factory_new (ibus_bus_get_connection (bus)); if (ibus) { ibus_factory_add_engine (factory, "libpinyin", IBUS_TYPE_PINYIN_ENGINE); ibus_factory_add_engine (factory, "libbopomofo", IBUS_TYPE_PINYIN_ENGINE); ibus_bus_request_name (bus, "org.freedesktop.IBus.Libpinyin", 0); } else { ibus_factory_add_engine (factory, "libpinyin-debug", IBUS_TYPE_PINYIN_ENGINE); ibus_factory_add_engine (factory, "libbopomofo-debug", IBUS_TYPE_PINYIN_ENGINE); ibus_bus_register_component (bus, component); } ibus_main (); } #include static void sigterm_cb (int sig) { LibPinyinBackEnd::finalize (); #ifdef ENABLE_LIBNOTIFY notify_uninit(); #endif ::exit (EXIT_FAILURE); } static void atexit_cb (void) { LibPinyinBackEnd::finalize (); #ifdef ENABLE_LIBNOTIFY notify_uninit(); #endif } static void print_engine_xml (void) { gboolean success = FALSE; gchar * content = NULL; /* check the user engines.xml first. */ gchar * user_config = g_build_filename (g_get_user_config_dir (), "ibus", "libpinyin", "engines.xml", NULL); gchar * system_config = g_build_filename (PKGDATADIR, "default.xml", NULL); /* if not, print the default.xml and exit. */ if (!g_file_test (user_config, G_FILE_TEST_IS_REGULAR)) { if (!g_file_test (system_config, G_FILE_TEST_IS_REGULAR)) { g_free (system_config); g_free (user_config); return; } content = load_file_content (system_config); printf ("%s", content); g_free (content); g_free (system_config); g_free (user_config); return; } /* if the engines.xml exists, compare the version of two xml files. */ gchar * system_version = NULL; success = parse_engine_version (system_config, &system_version); gchar * user_version = NULL; success = success && parse_engine_version (user_config, &user_version); success = success && 0 == g_strcmp0 (system_version, user_version); g_free (system_version); g_free (user_version); if (success) { content = load_file_content (user_config); printf ("%s", content); g_free (content); g_free (system_config); g_free (user_config); return; } /* if the version mis-match, create the new engines.xml by ibus-setup-libpinyin. */ g_spawn_command_line_sync (LIBEXECDIR"/ibus-setup-libpinyin resync-engine", NULL, NULL, NULL, NULL); /* print the user engines.xml. */ if (g_file_test (user_config, G_FILE_TEST_IS_REGULAR)) { content = load_file_content (user_config); printf ("%s", content); g_free (content); g_free (system_config); g_free (user_config); return; } } int main (gint argc, gchar **argv) { GError *error = NULL; GOptionContext *context; setlocale (LC_ALL, ""); bindtextdomain(GETTEXT_PACKAGE, LOCALEDIR); bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); textdomain(GETTEXT_PACKAGE); context = g_option_context_new ("- ibus pinyin engine component"); g_option_context_add_main_entries (context, entries, "ibus-libpinyin"); if (!g_option_context_parse (context, &argc, &argv, &error)) { g_print ("Option parsing failed: %s\n", error->message); exit (-1); } if (xml) { print_engine_xml (); return 0; } ::signal (SIGTERM, sigterm_cb); ::signal (SIGINT, sigterm_cb); atexit (atexit_cb); #ifdef ENABLE_LIBNOTIFY if (!notify_init("ibus-libpinyin")) { g_error("notify_init failed"); exit(1); } #endif start_component (); return 0; } ibus-libpinyin-1.16.1/src/libpinyin.inputmethod.xml.in0000644000175000017500000000123714767166744016521 org.freedesktop.IBus.Libpinyin Libpinyin Component @LIBEXECDIR@/ibus-engine-libpinyin --ibus 1.16.1 Peng Wu <alexepico@gmail.com> GPL https://github.com/libpinyin/ibus-libpinyin ibus-libpinyin ~/.config/ibus/libpinyin/engines.xml @PKGDATADIR@/default.xml ibus-libpinyin-1.16.1/src/PYPunctEditor.cc0000644000175000017500000003720314556135763014051 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * Copyright (c) 2010 BYVoid * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include "PYConfig.h" #include "PYPunctEditor.h" namespace PY { #include "PYPunctTable.h" PunctEditor::PunctEditor (PinyinProperties & props, Config & config) : Editor (props, config), m_punct_mode (MODE_DISABLE), m_lookup_table (m_config.pageSize ()) { } gboolean PunctEditor::insert (gchar ch) { switch (m_punct_mode) { case MODE_DISABLE: { g_assert (ch == IBUS_grave); g_assert (m_cursor == 0); m_text.insert (m_cursor++, ch); m_punct_mode = MODE_INIT; updatePunctCandidates (0); m_selected_puncts.clear (); m_selected_puncts.insert (m_selected_puncts.begin (), m_punct_candidates[0]); update (); } break; case MODE_INIT: { m_text.clear (); m_selected_puncts.clear (); m_cursor = 0; } case MODE_NORMAL: { m_text.insert (m_cursor, ch); updatePunctCandidates (ch); m_punct_mode = MODE_NORMAL; if (m_punct_candidates.size () > 0) { m_selected_puncts.insert (m_selected_puncts.begin () + m_cursor, m_punct_candidates[0]); } m_cursor ++; update (); } break; default: g_assert_not_reached (); } return TRUE; } inline gboolean PunctEditor::processSpace (guint keyval, guint keycode, guint modifiers) { if (m_punct_mode != MODE_INIT && m_punct_mode != MODE_NORMAL) return FALSE; if (cmshm_filter (modifiers) != 0) return TRUE; commit (); return TRUE; } gboolean PunctEditor::processPunct (guint keyval, guint keycode, guint modifiers) { if (cmshm_filter (modifiers) != 0) return TRUE; if (m_punct_mode == MODE_DISABLE) { if (keyval == IBUS_grave) { insert (keyval); return TRUE; } } g_assert (m_punct_mode == MODE_INIT || m_punct_mode == MODE_NORMAL); switch (keyval) { case IBUS_grave: /* ` */ case IBUS_asciitilde: /* ~ */ case IBUS_exclam: /* ~ */ case IBUS_at: /* @ */ case IBUS_numbersign: /* # */ case IBUS_dollar: /* $ */ case IBUS_percent: /* % */ case IBUS_asciicircum: /* ^ */ case IBUS_ampersand: /* & */ case IBUS_asterisk: /* * */ case IBUS_parenleft: /* ( */ case IBUS_parenright: /* ) */ case IBUS_minus: /* - */ case IBUS_underscore: /* _ */ case IBUS_equal: /* = */ case IBUS_plus: /* + */ case IBUS_bracketleft: /* [ */ case IBUS_bracketright: /* ] */ case IBUS_braceleft: /* { */ case IBUS_braceright: /* } */ case IBUS_backslash: /* \ */ case IBUS_bar: /* | */ case IBUS_colon: /* : */ case IBUS_semicolon: /* ; */ case IBUS_apostrophe: /* ' */ case IBUS_quotedbl: /* " */ case IBUS_comma: /* , */ case IBUS_period: /* . */ case IBUS_less: /* < */ case IBUS_greater: /* > */ case IBUS_slash: /* / */ case IBUS_question: /* ? */ case IBUS_0...IBUS_9: case IBUS_a...IBUS_z: case IBUS_A...IBUS_Z: return insert (keyval); default: return FALSE; } } gboolean PunctEditor::processKeyEvent (guint keyval, guint keycode, guint modifiers) { if (modifiers & IBUS_MOD4_MASK) return FALSE; modifiers &= (IBUS_SHIFT_MASK | IBUS_CONTROL_MASK | IBUS_MOD1_MASK | IBUS_SUPER_MASK | IBUS_HYPER_MASK | IBUS_META_MASK | IBUS_LOCK_MASK); switch (keyval) { case IBUS_space: return processSpace (keyval, keycode, modifiers); case IBUS_Return: case IBUS_KP_Enter: commit (m_text); return TRUE; case IBUS_Escape: reset (); return TRUE; case IBUS_BackSpace: removeCharBefore (); return TRUE; case IBUS_Delete: case IBUS_KP_Delete: removeCharAfter (); return TRUE; case IBUS_Left: case IBUS_KP_Left: moveCursorLeft (); return TRUE; case IBUS_Right: case IBUS_KP_Right: moveCursorRight (); return TRUE; case IBUS_Home: case IBUS_KP_Home: moveCursorToBegin (); return TRUE; case IBUS_End: case IBUS_KP_End: moveCursorToEnd (); return TRUE; case IBUS_Up: case IBUS_KP_Up: cursorUp (); return TRUE; case IBUS_Down: case IBUS_KP_Down: cursorDown (); return TRUE; case IBUS_Page_Up: case IBUS_KP_Page_Up: pageUp (); return TRUE; case IBUS_Page_Down: case IBUS_KP_Page_Down: case IBUS_Tab: pageDown (); return TRUE; default: return processPunct(keyval, keycode, modifiers); } } void PunctEditor::pageUp (void) { if (G_LIKELY (m_lookup_table.pageUp ())) { m_selected_puncts[m_cursor - 1] = m_punct_candidates[m_lookup_table.cursorPos ()]; updateLookupTableFast (m_lookup_table, TRUE); updatePreeditText (); updateAuxiliaryText (); } } void PunctEditor::pageDown (void) { if (G_LIKELY (m_lookup_table.pageDown ())) { m_selected_puncts[m_cursor - 1] = m_punct_candidates[m_lookup_table.cursorPos ()]; updateLookupTableFast (m_lookup_table, TRUE); updatePreeditText (); updateAuxiliaryText (); } } void PunctEditor::cursorUp (void) { if (G_LIKELY (m_lookup_table.cursorUp ())) { m_selected_puncts[m_cursor - 1] = m_punct_candidates[m_lookup_table.cursorPos ()]; updateLookupTableFast (m_lookup_table, TRUE); updatePreeditText (); updateAuxiliaryText (); } } void PunctEditor::cursorDown (void) { if (G_LIKELY (m_lookup_table.size () && m_lookup_table.cursorDown ())) { m_selected_puncts[m_cursor - 1] = m_punct_candidates[m_lookup_table.cursorPos ()]; updateLookupTableFast (m_lookup_table, TRUE); updatePreeditText (); updateAuxiliaryText (); } } gboolean PunctEditor::moveCursorLeft (void) { if (G_UNLIKELY (m_cursor == 0)) return FALSE; m_cursor --; if (m_cursor == 0) { m_punct_candidates.clear (); fillLookupTable (); } else { updatePunctCandidates (m_text[m_cursor - 1]); /* restore cursor pos */ std::vector::iterator it; it = std::find (m_punct_candidates.begin (), m_punct_candidates.end (), m_selected_puncts[m_cursor - 1]); if (it != m_punct_candidates.end ()) m_lookup_table.setCursorPos (it - m_punct_candidates.begin ()); } update(); return TRUE; } gboolean PunctEditor::moveCursorRight (void) { if (G_UNLIKELY (m_cursor == m_text.length ())) return FALSE; m_cursor ++; updatePunctCandidates (m_text[m_cursor - 1]); /* restore cursor pos */ std::vector::iterator it; it = std::find (m_punct_candidates.begin (), m_punct_candidates.end (), m_selected_puncts[m_cursor - 1]); if (it != m_punct_candidates.end ()) m_lookup_table.setCursorPos (it - m_punct_candidates.begin ()); update(); return TRUE; } gboolean PunctEditor::moveCursorToBegin (void) { if (G_UNLIKELY (m_cursor == 0)) return FALSE; g_assert (m_punct_mode == MODE_INIT || m_punct_mode == MODE_NORMAL); m_cursor = 0; m_punct_candidates.clear (); fillLookupTable (); update (); return TRUE; } gboolean PunctEditor::moveCursorToEnd (void) { if (G_UNLIKELY (m_cursor == m_text.length ())) return FALSE; g_assert (m_punct_mode == MODE_NORMAL); m_cursor = m_text.length (); updatePunctCandidates (m_text[m_cursor - 1]); /* restore cursor pos */ std::vector::iterator it; it = std::find (m_punct_candidates.begin (), m_punct_candidates.end (), m_selected_puncts[m_cursor - 1]); if (it != m_punct_candidates.end ()) m_lookup_table.setCursorPos (it - m_punct_candidates.begin ()); update(); return TRUE; } gboolean PunctEditor::removeCharBefore (void) { if (G_UNLIKELY (m_cursor == 0)) return FALSE; m_cursor --; m_selected_puncts.erase (m_selected_puncts.begin () + m_cursor); m_text.erase (m_cursor, 1); if (m_text.empty()) { reset (); } else { if (m_cursor > 0) { updatePunctCandidates (m_text[m_cursor - 1]); /* restore cursor pos */ std::vector::iterator it; it = std::find (m_punct_candidates.begin (), m_punct_candidates.end (), m_selected_puncts[m_cursor - 1]); if (it != m_punct_candidates.end ()) m_lookup_table.setCursorPos (it - m_punct_candidates.begin ()); } else { m_punct_candidates.clear (); fillLookupTable (); } } update(); return TRUE; } gboolean PunctEditor::removeCharAfter (void) { if (G_UNLIKELY (m_cursor == m_text.length ())) return FALSE; m_selected_puncts.erase (m_selected_puncts.begin () + m_cursor); m_text.erase (m_cursor, 1); if (m_text.empty()) { reset (); } update(); return TRUE; } void PunctEditor::reset (void) { m_punct_mode = MODE_DISABLE; m_selected_puncts.clear (); m_punct_candidates.clear (); fillLookupTable (); Editor::reset (); } void PunctEditor::candidateClicked (guint index, guint button, guint state) { selectCandidateInPage(index); } inline void PunctEditor::commit (const gchar *str) { StaticText text(str); commitText (text); reset (); } void PunctEditor::commit (void) { m_buffer.clear (); for (std::vector::iterator it = m_selected_puncts.begin (); it != m_selected_puncts.end (); it++) { m_buffer << *it; } commit (m_buffer); } inline gboolean PunctEditor::selectCandidate (guint i) { switch (m_punct_mode) { case MODE_INIT: { g_assert (m_cursor == 1); m_lookup_table.setCursorPos (i); m_selected_puncts[m_cursor - 1] = m_punct_candidates[i]; commit (); return TRUE; } case MODE_NORMAL: { m_lookup_table.setCursorPos (i); m_selected_puncts[m_cursor - 1] = m_punct_candidates[i]; /* if it is the last punct, commit the result */ if (m_cursor == m_text.length ()) { commit (); } else { moveCursorRight (); } return TRUE; } default: g_assert_not_reached (); } return FALSE; } inline gboolean PunctEditor::selectCandidateInPage (guint i) { guint page_size = m_lookup_table.pageSize (); guint cursor_pos = m_lookup_table.cursorPos (); if (G_UNLIKELY (i >= page_size)) return FALSE; i += (cursor_pos / page_size) * page_size; return selectCandidate (i); } void PunctEditor::update (void) { updateLookupTable (); updatePreeditText (); updateAuxiliaryText (); } void PunctEditor::fillLookupTable (void) { m_lookup_table.clear (); m_lookup_table.setPageSize (m_config.pageSize ()); m_lookup_table.setOrientation (m_config.orientation ()); for (std::vector::iterator it = m_punct_candidates.begin (); it != m_punct_candidates.end (); it++) { StaticText text (*it); // text.appendAttribute (IBUS_ATTR_TYPE_FOREGROUND, 0x004466, 0, -1); m_lookup_table.appendCandidate (text); } } void PunctEditor::updateLookupTable (void) { if (m_lookup_table.size ()) { Editor::updateLookupTable (m_lookup_table, TRUE); } else { hideLookupTable (); } } static int punct_cmp (const void *p1, const void *p2) { const gint s1 = (gint)(glong) p1; const gchar *s2 = **(gchar ***) p2; return s1 - s2[0]; } void PunctEditor::updatePunctCandidates (gchar ch) { const gchar *** brs; const gchar ** res; m_punct_candidates.clear(); brs = (const gchar ***) std::bsearch (reinterpret_cast(ch), punct_table, G_N_ELEMENTS (punct_table), sizeof(punct_table[0]), punct_cmp); if (brs != NULL) { for (res = (*brs) + 1; *res != NULL; ++res) { m_punct_candidates.push_back (*res); } } fillLookupTable (); } void PunctEditor::updateAuxiliaryText (void) { switch (m_punct_mode) { case MODE_DISABLE: hideAuxiliaryText (); break; case MODE_INIT: { m_buffer = "`"; StaticText aux_text (m_buffer); Editor::updateAuxiliaryText (aux_text, TRUE); } break; case MODE_NORMAL: { if (m_cursor == 0) { hideAuxiliaryText (); } else { m_buffer.clear (); for (String::iterator i = m_text.begin (); i != m_text.end (); ++i) { if (i - m_text.begin () == (gint) m_cursor) m_buffer << '|'; m_buffer << *i; } if (m_text.end () - m_text.begin () == (gint) m_cursor) m_buffer << '|'; StaticText aux_text (m_buffer); Editor::updateAuxiliaryText (aux_text, TRUE); } } break; default: g_assert_not_reached (); } } void PunctEditor::updatePreeditText (void) { switch (m_punct_mode) { case MODE_DISABLE: hidePreeditText (); break; case MODE_INIT: { m_buffer = m_punct_candidates[m_lookup_table.cursorPos ()]; StaticText preedit_text (m_buffer); /* underline */ preedit_text.appendAttribute (IBUS_ATTR_TYPE_UNDERLINE, IBUS_ATTR_UNDERLINE_SINGLE, 0, -1); Editor::updatePreeditText (preedit_text, m_cursor, TRUE); } break; case MODE_NORMAL: { m_buffer.clear (); for (std::vector::iterator it = m_selected_puncts.begin (); it != m_selected_puncts.end (); it++) { m_buffer << *it; } StaticText preedit_text (m_buffer); /* underline */ preedit_text.appendAttribute (IBUS_ATTR_TYPE_UNDERLINE, IBUS_ATTR_UNDERLINE_SINGLE, 0, -1); Editor::updatePreeditText (preedit_text, m_cursor, TRUE); } break; default: g_assert_not_reached (); } } }; ibus-libpinyin-1.16.1/src/PYXMLUtil.cc0000644000175000017500000001462614740357241013103 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2024 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "PYXMLUtil.h" #include #include #ifdef ENABLE_LIBNOTIFY #include #endif namespace PY { struct EngineXMLVersion{ gboolean in_version_tag; /* There are two versions in the XML file, only keep the first version here. */ gchar * first_version; }; static void engine_parser_start_element (GMarkupParseContext *context, const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values, gpointer user_data, GError **error); static void engine_parser_end_element (GMarkupParseContext *context, const gchar *element_name, gpointer user_data, GError **error); static void engine_parser_characters (GMarkupParseContext *context, const gchar *text, gsize text_len, gpointer user_data, GError **error); static void engine_parser_passthrough (GMarkupParseContext *context, const gchar *passthrough_text, gsize text_len, gpointer user_data, GError **error); static void engine_parser_error (GMarkupParseContext *context, GError *error, gpointer user_data); /* * Parser */ static const GMarkupParser engine_xml_parser = { engine_parser_start_element, engine_parser_end_element, engine_parser_characters, engine_parser_passthrough, engine_parser_error }; struct EngineXMLFile{ gboolean in_version_tag; gchar * first_version; }; static void engine_parser_start_element (GMarkupParseContext *context, const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values, gpointer user_data, GError **error) { EngineXMLFile * xmlfile = (EngineXMLFile *) user_data; if (0 == strcmp(element_name, "version")) xmlfile->in_version_tag = TRUE; } static void engine_parser_end_element (GMarkupParseContext *context, const gchar *element_name, gpointer user_data, GError **error) { EngineXMLFile * xmlfile = (EngineXMLFile *) user_data; if (0 == strcmp(element_name, "version")) xmlfile->in_version_tag = FALSE; } static void engine_parser_characters (GMarkupParseContext *context, const gchar *text, gsize text_len, gpointer user_data, GError **error) { EngineXMLFile * xmlfile = (EngineXMLFile *) user_data; if (xmlfile->in_version_tag && xmlfile->first_version == NULL) xmlfile->first_version = g_strdup(text); } static void engine_parser_passthrough (GMarkupParseContext *context, const gchar *passthrough_text, gsize text_len, gpointer user_data, GError **error) { } static void engine_parser_error (GMarkupParseContext *context, GError *error, gpointer user_data) { g_printerr ("ERROR: %s\n", error->message); } gchar * load_file_content(const gchar * filename) { gboolean success = FALSE; GError *error = NULL; GFile *file = NULL; char *data = NULL; gsize len = 0; file = g_file_new_for_path (filename); success = g_file_load_contents (file, NULL, &data, &len, NULL, &error); g_object_unref (file); return data; } gboolean parse_engine_version(const char * filename, gchar ** version) { GMarkupParseContext *context = NULL; gboolean success = FALSE; GError *error = NULL; GFile *file = NULL; char *data = NULL; gsize len = 0; EngineXMLFile xmlfile; memset(&xmlfile, 0, sizeof(EngineXMLFile)); file = g_file_new_for_path (filename); success = g_file_load_contents (file, NULL, &data, &len, NULL, &error); g_object_unref (file); context = g_markup_parse_context_new (&engine_xml_parser, G_MARKUP_DEFAULT_FLAGS, &xmlfile, NULL); success = g_markup_parse_context_parse (context, data, len, NULL); g_markup_parse_context_free (context); g_free (data); *version = xmlfile.first_version; return TRUE; } void show_message(const char* summary, const char* details) { #ifdef ENABLE_LIBNOTIFY NotifyNotification* notice = notify_notification_new (summary, details, NULL); notify_notification_show (notice, NULL); g_object_unref (notice); #else if (details == NULL) g_message ("%s\n", summary); else g_message ("%s\n%s\n", summary, details); #endif } }; ibus-libpinyin-1.16.1/src/PYHalfFullConverter.h0000664000175000017500000000214113672072346015026 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_HALF_FULL_CONVERTER_H_ #define __PY_HALF_FULL_CONVERTER_H_ #include namespace PY { class HalfFullConverter { public: static gunichar toFull (gunichar ch); static gunichar toHalf (gunichar ch); private: const static guint m_table[][3]; }; }; #endif ibus-libpinyin-1.16.1/src/PYConfig.cc0000644000175000017500000001176414737121766013021 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "PYConfig.h" #include "PYTypes.h" #include "PYBus.h" namespace PY { Config::Config (const std::string & name) : m_schema_id (name) { m_settings = NULL; initDefaultValues (); } Config::~Config (void) { } void Config::initDefaultValues (void) { m_orientation = IBUS_ORIENTATION_HORIZONTAL; m_page_size = 5; m_display_style = DISPLAY_STYLE_TRADITIONAL; m_remember_every_input = FALSE; m_sort_option = SORT_BY_PHRASE_LENGTH | SORT_BY_PINYIN_LENGTH | SORT_BY_FREQUENCY; m_shift_select_candidate = FALSE; m_minus_equal_page = TRUE; m_comma_period_page = FALSE; m_square_bracket_page = FALSE; m_auto_commit = FALSE; m_double_pinyin = FALSE; m_double_pinyin_schema = DOUBLE_PINYIN_DEFAULT; m_double_pinyin_show_raw = FALSE; m_init_chinese = TRUE; m_init_full = FALSE; m_init_full_punct = TRUE; m_init_simp_chinese = TRUE; m_dictionaries = ""; m_lua_converter = ""; m_opencc_config = "s2t.json"; m_main_switch = ""; m_letter_switch = ""; m_punct_switch = "period"; m_both_switch = ""; m_trad_switch = "f"; m_enter_key = TRUE; m_lua_extension = TRUE; m_english_input_mode = TRUE; m_table_input_mode = TRUE; m_use_custom_table = FALSE; m_emoji_candidate = TRUE; m_english_candidate = TRUE; m_suggestion_candidate = FALSE; m_export_user_phrase = TRUE; m_export_bigram_phrase = TRUE; m_network_dictionary_start_timestamp = 0; m_network_dictionary_end_timestamp = 0; m_enable_cloud_input = FALSE; m_cloud_candidates_number = 1; m_cloud_input_source = CLOUD_INPUT_SOURCE_BAIDU; m_cloud_request_delay_time = 600; } void Config::readDefaultValues (void) { } bool Config::read (const gchar * name, bool defval) { GVariant *value = NULL; if ((value = g_settings_get_value (m_settings, name)) != NULL) { if (g_variant_classify (value) == G_VARIANT_CLASS_BOOLEAN) return g_variant_get_boolean (value); } g_warn_if_reached (); return defval; } gint Config::read (const gchar * name, gint defval) { GVariant *value = NULL; if ((value = g_settings_get_value (m_settings, name)) != NULL) { if (g_variant_classify (value) == G_VARIANT_CLASS_INT32) return g_variant_get_int32 (value); } g_warn_if_reached (); return defval; } std::string Config::read (const gchar * name, const gchar * defval) { GVariant *value = NULL; if ((value = g_settings_get_value (m_settings, name)) != NULL) { if (g_variant_classify (value) == G_VARIANT_CLASS_STRING) return g_variant_get_string (value, NULL); } g_warn_if_reached (); return defval; } gint64 Config::read (const gchar * name, gint64 defval) { GVariant *value = NULL; if ((value = g_settings_get_value (m_settings, name)) != NULL) { if (g_variant_classify (value) == G_VARIANT_CLASS_INT64) return g_variant_get_int64 (value); } g_warn_if_reached (); return defval; } gboolean Config::write (const gchar * name, bool val) { return g_settings_set_boolean (m_settings, name, val); } gboolean Config::write (const gchar * name, gint val) { return g_settings_set_int (m_settings, name, val); } gboolean Config::write (const gchar * name, const gchar * val) { return g_settings_set_string (m_settings, name, val); } gboolean Config::write (const gchar * name, gint64 val) { return g_settings_set_int64 (m_settings, name, val); } gboolean Config::valueChanged (const std::string &schema_id, const std::string &name, GVariant *value) { return FALSE; } void Config::valueChangedCallback (GSettings *settings, const gchar *name, Config *self) { gchar * property = NULL; g_object_get (settings, "schema-id", &property, NULL); std::string schema_id (property); g_free (property); GVariant * value = g_settings_get_value (settings, name); self->valueChanged (schema_id, name, value); g_variant_unref (value); } }; ibus-libpinyin-1.16.1/src/PYBus.h0000664000175000017500000000224413672072346012176 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_BUS_H_ #define __PY_BUS_H_ #include #include "PYObject.h" namespace PY { class Bus : Object { public: Bus (void) : Object (ibus_bus_new ()) { } bool isConnected (void) { return ibus_bus_is_connected (*this); } operator IBusBus * (void) const { return get (); } }; }; #endif ibus-libpinyin-1.16.1/src/PYPLuaConverterCandidates.cc0000664000175000017500000000703214004413525016300 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2018 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "PYPLuaConverterCandidates.h" #include #include "PYString.h" #include "PYConfig.h" #include "PYPPhoneticEditor.h" using namespace PY; LuaConverterCandidates::LuaConverterCandidates (Editor *editor) { m_editor = editor; } gboolean LuaConverterCandidates::setLuaPlugin (IBusEnginePlugin * plugin) { m_lua_plugin = plugin; return TRUE; } gboolean LuaConverterCandidates::setConverter (const char * lua_function_name) { return ibus_engine_plugin_set_converter (m_lua_plugin, lua_function_name); } gboolean LuaConverterCandidates::processCandidates (std::vector & candidates) { if (!m_lua_plugin) return FALSE; m_candidates.clear (); const char * converter = ibus_engine_plugin_get_converter (m_lua_plugin); if (NULL == converter) return FALSE; for (guint i = 0; i < candidates.size (); i++) { EnhancedCandidate & enhanced = candidates[i]; m_candidates.push_back (enhanced); enhanced.m_candidate_type = CANDIDATE_LUA_CONVERTER; enhanced.m_candidate_id = i; int num = ibus_engine_plugin_call (m_lua_plugin, converter, enhanced.m_display_string.c_str ()); if (1 == num) { gchar * string = ibus_engine_plugin_get_nth_result (m_lua_plugin, 0); enhanced.m_display_string = string; g_free (string); } ibus_engine_plugin_clear_results (m_lua_plugin); } return TRUE; } int LuaConverterCandidates::selectCandidate (EnhancedCandidate & enhanced) { guint id = enhanced.m_candidate_id; assert (CANDIDATE_LUA_CONVERTER == enhanced.m_candidate_type); const char * converter = ibus_engine_plugin_get_converter (m_lua_plugin); assert (NULL != converter); if (G_UNLIKELY (id >= m_candidates.size ())) return SELECT_CANDIDATE_ALREADY_HANDLED; int action = m_editor->selectCandidateInternal (m_candidates[id]); if (action & SELECT_CANDIDATE_MODIFY_IN_PLACE) { int num = ibus_engine_plugin_call (m_lua_plugin, converter, enhanced.m_display_string.c_str ()); if (1 == num) { gchar * string = ibus_engine_plugin_get_nth_result (m_lua_plugin, 0); enhanced.m_display_string = string; g_free (string); } ibus_engine_plugin_clear_results (m_lua_plugin); } return action; } gboolean LuaConverterCandidates::removeCandidate (EnhancedCandidate & enhanced) { guint id = enhanced.m_candidate_id; assert (CANDIDATE_LUA_CONVERTER == enhanced.m_candidate_type); if (G_UNLIKELY (id >= m_candidates.size ())) return FALSE; return m_editor->removeCandidateInternal (m_candidates[id]); } ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.cc0000644000175000017500000002500114531532426014616 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * Copyright (c) 2010 BYVoid * Copyright (c) 2011 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "PYPBopomofoEngine.h" #include #include #include "PYPunctEditor.h" #include "PYPBopomofoEditor.h" #include "PYFallbackEditor.h" #include "PYPSuggestionEditor.h" #include "PYConfig.h" #include "PYPConfig.h" using namespace PY; /* constructor */ BopomofoEngine::BopomofoEngine (IBusEngine *engine) : Engine (engine), m_props (BopomofoConfig::instance ()), m_prev_pressed_key (IBUS_VoidSymbol), m_input_mode (MODE_INIT), m_need_update (FALSE), m_fallback_editor (new FallbackEditor (m_props, BopomofoConfig::instance())) { gint i; /* create editors */ m_editors[MODE_INIT].reset (new BopomofoEditor (m_props, BopomofoConfig::instance ())); m_editors[MODE_PUNCT].reset (new PunctEditor (m_props, BopomofoConfig::instance ())); m_editors[MODE_SUGGESTION].reset (new SuggestionEditor (m_props, BopomofoConfig::instance ())); m_props.signalUpdateProperty ().connect (std::bind (&BopomofoEngine::updateProperty, this, _1)); for (i = MODE_INIT; i < MODE_LAST; i++) { connectEditorSignals (m_editors[i]); } connectEditorSignals (m_fallback_editor); } /* destructor */ BopomofoEngine::~BopomofoEngine (void) { } /* keep synced with pinyin engine. */ gboolean BopomofoEngine::processAccelKeyEvent (guint keyval, guint keycode, guint modifiers) { std::string accel; pinyin_accelerator_name (keyval, modifiers, accel); /* Safe Guard for empty key. */ if ("" == accel) return FALSE; /* check Shift or Ctrl + Release hotkey, * and then ignore other Release key event */ if (modifiers & IBUS_RELEASE_MASK) { /* press and release keyval are same, * and no other key event between the press and release key event */ gboolean triggered = FALSE; if (m_prev_pressed_key == keyval) { if (BopomofoConfig::instance ().mainSwitch () == accel) { triggered = TRUE; } } if (triggered) { if (!m_editors[MODE_INIT]->text ().empty ()) { Text text (m_editors[MODE_INIT]->text ()); commitText (text); m_editors[MODE_INIT]->reset (); } if (!m_editors[MODE_SUGGESTION]->text ().empty ()) m_editors[MODE_SUGGESTION]->reset (); m_props.toggleModeChinese (); return FALSE; } if (m_input_mode == MODE_INIT && m_editors[MODE_INIT]->text ().empty ()) { /* If it is in init mode, and no any previous input text, * we will let client applications to handle release key event */ return FALSE; } else { /* Always return FALSE for the IBUS_RELEASE_MASK. */ return FALSE; } } /* Toggle full/half Letter Mode */ if (BopomofoConfig::instance ().letterSwitch () == accel) { m_props.toggleModeFull (); m_prev_pressed_key = keyval; return TRUE; } /* Toggle full/half Punct Mode */ if (BopomofoConfig::instance ().punctSwitch () == accel) { m_props.toggleModeFullPunct (); m_prev_pressed_key = keyval; return TRUE; } /* Toggle both full/half Mode */ if (BopomofoConfig::instance ().bothSwitch () == accel) { if (m_props.modeFull () != m_props.modeFullPunct ()) { m_props.toggleModeFull (); m_prev_pressed_key = keyval; return TRUE; } m_props.toggleModeFull (); m_props.toggleModeFullPunct (); m_prev_pressed_key = keyval; return TRUE; } /* Toggle simp/trad Chinese Mode */ if (BopomofoConfig::instance ().tradSwitch () == accel) { m_props.toggleModeSimp (); m_prev_pressed_key = keyval; return TRUE; } return FALSE; } gboolean BopomofoEngine::processKeyEvent (guint keyval, guint keycode, guint modifiers) { gboolean retval = FALSE; if (contentIsPassword ()) return retval; if (processAccelKeyEvent (keyval, keycode, modifiers)) return TRUE; /* assume release key event is handled in processAccelKeyEvent. */ if (modifiers & IBUS_RELEASE_MASK) return FALSE; if (m_props.modeChinese ()) { /* return from MODE_SUGGESTION to normal input. */ if (m_input_mode == MODE_SUGGESTION) { /* only accept input to select candidate. */ if (IBUS_Escape == keyval) { m_editors[m_input_mode]->reset (); m_input_mode = MODE_INIT; m_editors[m_input_mode]->reset (); /* m_editors[m_input_mode]->update (); */ return TRUE; } retval = m_editors[m_input_mode]->processKeyEvent (keyval, keycode, modifiers); if (retval) { goto out; } else { m_editors[m_input_mode]->reset (); m_input_mode = MODE_INIT; } } if (G_UNLIKELY (m_input_mode == MODE_INIT && m_editors[MODE_INIT]->text ().empty () && cmshm_filter (modifiers) == 0 && keyval == IBUS_grave)){ /* if BopomofoEditor is empty and get a grave key, * switch current editor to PunctEditor */ if (m_props.modeFullPunct ()) m_input_mode = MODE_PUNCT; } retval = m_editors[m_input_mode]->processKeyEvent (keyval, keycode, modifiers); if (G_UNLIKELY (retval && m_input_mode != MODE_INIT && m_editors[m_input_mode]->text ().empty ())) m_input_mode = MODE_INIT; } if (G_UNLIKELY (!retval)) retval = m_fallback_editor->processKeyEvent (keyval, keycode, modifiers); out: /* needed for SuggestionEditor */ if (m_need_update) { m_editors[m_input_mode]->update (); m_need_update = FALSE; } /* store ignored key event by editors */ m_prev_pressed_key = retval ? IBUS_VoidSymbol : keyval; return retval; } void BopomofoEngine::focusIn (void) { registerProperties (m_props.properties ()); } void BopomofoEngine::focusOut (void) { Engine::focusOut (); reset (); } void BopomofoEngine::reset (void) { m_prev_pressed_key = IBUS_VoidSymbol; m_input_mode = MODE_INIT; for (gint i = 0; i < MODE_LAST; i++) { m_editors[i]->reset (); } m_fallback_editor->reset (); } void BopomofoEngine::enable (void) { m_props.reset (); } void BopomofoEngine::disable (void) { } void BopomofoEngine::pageUp (void) { m_editors[m_input_mode]->pageUp (); } void BopomofoEngine::pageDown (void) { m_editors[m_input_mode]->pageDown (); } void BopomofoEngine::cursorUp (void) { m_editors[m_input_mode]->cursorUp (); } void BopomofoEngine::cursorDown (void) { m_editors[m_input_mode]->cursorDown (); } inline void BopomofoEngine::showSetupDialog (void) { g_spawn_command_line_async (LIBEXECDIR"/ibus-setup-libpinyin libbopomofo", NULL); } gboolean BopomofoEngine::propertyActivate (const gchar *prop_name, guint prop_state) { const static std::string setup ("setup"); if (m_props.propertyActivate (prop_name, prop_state)) { return TRUE; } else if (setup == prop_name) { showSetupDialog (); return TRUE; } return FALSE; } void BopomofoEngine::candidateClicked (guint index, guint button, guint state) { m_editors[m_input_mode]->candidateClicked (index, button, state); } void BopomofoEngine::commitText (Text & text) { Engine::commitText (text); if (m_input_mode != MODE_INIT && m_input_mode != MODE_SUGGESTION) { m_input_mode = MODE_INIT; } else if (BopomofoConfig::instance ().suggestionCandidate ()) { m_input_mode = MODE_SUGGESTION; m_editors[m_input_mode]->setText (text.text (), 0); m_need_update = TRUE; } else { m_input_mode = MODE_INIT; } #if 1 /* handle "+.+" here */ if (text.text ()) static_cast (m_fallback_editor.get ())->setPrevCommittedChar (*text.text ()); else static_cast (m_fallback_editor.get ())->setPrevCommittedChar (0); #endif } void BopomofoEngine::connectEditorSignals (EditorPtr editor) { editor->signalCommitText ().connect ( std::bind (&BopomofoEngine::commitText, this, _1)); editor->signalUpdatePreeditText ().connect ( std::bind (&BopomofoEngine::updatePreeditText, this, _1, _2, _3)); editor->signalShowPreeditText ().connect ( std::bind (&BopomofoEngine::showPreeditText, this)); editor->signalHidePreeditText ().connect ( std::bind (&BopomofoEngine::hidePreeditText, this)); editor->signalUpdateAuxiliaryText ().connect ( std::bind (&BopomofoEngine::updateAuxiliaryText, this, _1, _2)); editor->signalShowAuxiliaryText ().connect ( std::bind (&BopomofoEngine::showAuxiliaryText, this)); editor->signalHideAuxiliaryText ().connect ( std::bind (&BopomofoEngine::hideAuxiliaryText, this)); editor->signalUpdateLookupTable ().connect ( std::bind (&BopomofoEngine::updateLookupTable, this, _1, _2)); editor->signalUpdateLookupTableFast ().connect ( std::bind (&BopomofoEngine::updateLookupTableFast, this, _1, _2)); editor->signalShowLookupTable ().connect ( std::bind (&BopomofoEngine::showLookupTable, this)); editor->signalHideLookupTable ().connect ( std::bind (&BopomofoEngine::hideLookupTable, this)); } ibus-libpinyin-1.16.1/src/PYPCloudCandidates.cc0000644000175000017500000005557614556323543014767 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2018 linyu Xu * Copyright (c) 2020 Weixuan XIAO * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "PYPCloudCandidates.h" #include "PYString.h" #include "PYConfig.h" #include "PYPPhoneticEditor.h" #include "PYPPinyinEditor.h" #include "PYLibPinyin.h" #include #include #include #include using namespace PY; /* enable to choose the cloud candidate after 100ms. */ #define CANDIDATE_SENSITIVE_TIMEWAIT 0.1 enum CandidateResponseParserError { PARSER_NOERR, PARSER_INVALID_DATA, PARSER_BAD_FORMAT, PARSER_NO_CANDIDATE, PARSER_NETWORK_ERROR, PARSER_UNKNOWN }; static const std::string CANDIDATE_CLOUD_PREFIX = "☁"; typedef struct { guint event_id; SoupMessage *message; GCancellable *cancel_message; gchar requested_pinyin[MAX_PINYIN_LEN + 1]; CloudCandidates *cloud_candidates; } CloudAsyncRequestUserData; class CloudCandidatesResponseParser { public: CloudCandidatesResponseParser (CloudInputSource input_source) : m_input_source (input_source) {} virtual ~CloudCandidatesResponseParser () {} virtual gchar *getRequestString (const gchar *pinyin, gint number) = 0; virtual guint parse (GInputStream *stream) = 0; virtual std::vector &getStringCandidates () { return m_candidates; } protected: std::vector m_candidates; const CloudInputSource m_input_source; }; class CloudCandidatesResponseJsonParser : public CloudCandidatesResponseParser { public: CloudCandidatesResponseJsonParser (CloudInputSource input_source) : CloudCandidatesResponseParser (input_source) { m_parser = json_parser_new (); } virtual ~CloudCandidatesResponseJsonParser () { /* free json parser object if necessary */ if (m_parser) { g_object_unref (m_parser); m_parser = NULL; } } guint parse (GInputStream *stream) { GError **error = NULL; if (!stream) return PARSER_NETWORK_ERROR; /* parse Json from input steam */ if (!json_parser_load_from_stream (m_parser, stream, NULL, error) || error != NULL) { g_input_stream_close (stream, NULL, error); /* Close stream to release libsoup connection */ return PARSER_BAD_FORMAT; } g_input_stream_close (stream, NULL, error); /* Close stream to release libsoup connection */ return parseJsonResponse (json_parser_get_root (m_parser)); } protected: JsonParser *m_parser; virtual guint parseJsonResponse (JsonNode *root) = 0; }; class GoogleCloudCandidatesResponseJsonParser : public CloudCandidatesResponseJsonParser { protected: guint parseJsonResponse (JsonNode *root) { /* clear the last result */ m_candidates.clear (); if (!JSON_NODE_HOLDS_ARRAY (root)) return PARSER_BAD_FORMAT; /* validate Google source and the structure of response */ JsonArray *google_root_array = json_node_get_array (root); /** * declare variables to refer to structures in the result * a typical cloud candidate response from Google is: * [ <- google_root_array * "SUCCESS", <- google_response_status * [ <- google_response_array * [ <- google_result_array * "ceshi", <- google_candidate_annotation * ["测试"], <- google_candidate_array * [], * { * "annotation":["ce shi"], * "candidate_type":[0], * "lc":["16 16"] * } * ] <- google_result_array end * ] <- google_response_array end * ] <- google_root_array end */ const gchar *google_response_status; JsonArray *google_response_array; JsonArray *google_result_array; const gchar *google_candidate_annotation; JsonArray *google_candidate_array; guint result_counter; /* validate google_root_array length */ if (json_array_get_length (google_root_array) <= 1) return PARSER_INVALID_DATA; /* get and validate google_response_status */ google_response_status = json_array_get_string_element (google_root_array, 0); if (g_strcmp0 (google_response_status, "SUCCESS")) return PARSER_INVALID_DATA; /* get google_response_array */ google_response_array = json_array_get_array_element (google_root_array, 1); /* validate google_response_array length */ if (json_array_get_length (google_response_array) < 1) return PARSER_INVALID_DATA; /* get google_result_array */ google_result_array = json_array_get_array_element (google_response_array, 0); /* get and validate google_candidate_annotation */ google_candidate_annotation = json_array_get_string_element (google_result_array, 0); if (!google_candidate_annotation) return PARSER_INVALID_DATA; /* get google_candidate_array */ google_candidate_array = json_array_get_array_element (google_result_array, 1); /* there should be at least one candidate */ result_counter = json_array_get_length (google_candidate_array); if (result_counter < 1) return PARSER_NO_CANDIDATE; /* put all parsed candidates into m_candidates array of parser instance */ for (guint i = 0; i < result_counter; ++i) { std::string candidate = json_array_get_string_element (google_candidate_array, i); m_candidates.push_back (candidate); } return PARSER_NOERR; } public: gchar *getRequestString (const gchar *pinyin, gint number) { assert (m_input_source == CLOUD_INPUT_SOURCE_GOOGLE || m_input_source == CLOUD_INPUT_SOURCE_GOOGLE_CN); const char *GOOGLE_URL_TEMPLATE = NULL; if (m_input_source == CLOUD_INPUT_SOURCE_GOOGLE) GOOGLE_URL_TEMPLATE = "https://www.google.com/inputtools/request?ime=pinyin&text=%s&num=%d"; else if (m_input_source == CLOUD_INPUT_SOURCE_GOOGLE_CN) GOOGLE_URL_TEMPLATE = "https://www.google.cn/inputtools/request?ime=pinyin&text=%s&num=%d"; return g_strdup_printf (GOOGLE_URL_TEMPLATE, pinyin, number); } public: GoogleCloudCandidatesResponseJsonParser (CloudInputSource input_source) : CloudCandidatesResponseJsonParser (input_source) {} }; class BaiduCloudCandidatesResponseJsonParser : public CloudCandidatesResponseJsonParser { private: guint parseJsonResponse (JsonNode *root) { /* clear the last result */ m_candidates.clear (); if (!JSON_NODE_HOLDS_OBJECT (root)) return PARSER_BAD_FORMAT; /* validate Baidu source and the structure of response */ JsonObject *baidu_root_object = json_node_get_object (root); /** * declare variables to refer to structures in the result * a typical cloud candidate response from Baidu is: * { <- baidu_root_object * "errmsg":"", * "errno":"0", * "result": * [ <- baidu_result_array * [ <- baidu_candidate_array * [ <- baidu_candidate * "测试", * 5, * { * "pinyin":"ce'shi", * "type":"IMEDICT" * } * ] <- baidu_candidate end * ], <- baidu_candidate_array end * "ce'shi" <- baidu_candidate_annotation * ], <- baidu_result_array end * "status":"T" <- baidu_response_status * } <- baidu_root_object end */ const gchar *baidu_response_status; JsonArray *baidu_result_array; JsonArray *baidu_candidate_array; const gchar *baidu_candidate_annotation; guint result_counter; /* get and validate baidu_response_status */ if (!json_object_has_member (baidu_root_object, "status")) return PARSER_INVALID_DATA; baidu_response_status = json_object_get_string_member (baidu_root_object, "status"); if (g_strcmp0 (baidu_response_status, "T")) return PARSER_INVALID_DATA; /* get baidu_result_array */ if (!json_object_has_member (baidu_root_object, "result")) return PARSER_INVALID_DATA; baidu_result_array = json_object_get_array_member (baidu_root_object, "result"); /* get baidu_candidate_array and baidu_candidate_annotation */ if (json_array_get_length (baidu_result_array) < 2) return PARSER_INVALID_DATA; baidu_candidate_array = json_array_get_array_element (baidu_result_array, 0); baidu_candidate_annotation = json_array_get_string_element (baidu_result_array, 1); /* validate baidu_candidate_annotation */ if (!baidu_candidate_annotation) return PARSER_INVALID_DATA; /* there should be at least one candidate */ result_counter = json_array_get_length (baidu_candidate_array); if (result_counter < 1) return PARSER_NO_CANDIDATE; /* visit all baidu_candidate */ for (guint i = 0; i < result_counter; ++i) { std::string candidate; JsonArray *baidu_candidate = json_array_get_array_element (baidu_candidate_array, i); /* confirm the candidate exists in this baidu_candidate */ if (json_array_get_length (baidu_candidate) < 1) break; else candidate = json_array_get_string_element (baidu_candidate, 0); /* put all parsed candidates into m_candidates array of parser instance */ m_candidates.push_back (candidate); } return PARSER_NOERR; } public: gchar *getRequestString (const gchar *pinyin, gint number) { assert (m_input_source == CLOUD_INPUT_SOURCE_BAIDU); const char *BAIDU_URL_TEMPLATE = "https://olime.baidu.com/py?input=%s&inputtype=py&bg=0&ed=%d&result=hanzi&resultcoding=utf-8&ch_en=1&clientinfo=web&version=1"; return g_strdup_printf (BAIDU_URL_TEMPLATE, pinyin, number); } public: BaiduCloudCandidatesResponseJsonParser (CloudInputSource input_source) : CloudCandidatesResponseJsonParser (input_source) {} }; CloudCandidates::CloudCandidates (PhoneticEditor * editor) : m_input_mode(FullPinyin) { m_session = soup_session_new (); m_editor = editor; m_source_event_id = 0; m_message = NULL; m_cancel_message = NULL; m_input_source = CLOUD_INPUT_SOURCE_BAIDU; m_parser = NULL; resetCloudResponseParser (); m_timer = g_timer_new (); } CloudCandidates::~CloudCandidates () { if (m_timer) { g_timer_destroy (m_timer); m_timer = NULL; } if (m_source_event_id != 0) { g_source_remove (m_source_event_id); m_source_event_id = 0; } if (m_message) { g_cancellable_cancel (m_cancel_message); m_message = NULL; } if (m_session) { g_object_unref (m_session); m_session = NULL; } if (m_parser) { delete m_parser; m_parser = NULL; } } void CloudCandidates::resetCloudResponseParser () { CloudInputSource input_source = m_editor->m_config.cloudInputSource (); /* m_parser is initialized and not changed */ if (m_parser && m_input_source == input_source) return; /* cloud input option is changed */ if (m_parser) { delete m_parser; m_parser = NULL; } m_input_source = input_source; if (input_source == CLOUD_INPUT_SOURCE_BAIDU) m_parser = new BaiduCloudCandidatesResponseJsonParser (input_source); else if (input_source == CLOUD_INPUT_SOURCE_GOOGLE || input_source == CLOUD_INPUT_SOURCE_GOOGLE_CN) m_parser = new GoogleCloudCandidatesResponseJsonParser (input_source); } gboolean CloudCandidates::processCandidates (std::vector & candidates) { /* refer pinyin retrieved in full pinyin mode */ String full_pinyin_text; /* find the first position after n-gram candidates */ std::vector::iterator pos, iter; /* check the length of candidates */ if (0 == candidates.size ()) return FALSE; /* no candidate */ const String & display_string = candidates[0].m_display_string; if (display_string.utf8Length () < CLOUD_MINIMUM_UTF8_TRIGGER_LENGTH) { m_last_requested_pinyin = ""; return FALSE; /* do not request because there is only one character */ } resetCloudResponseParser (); /* cache the candidates in the first page */ m_candidate_cache.clear (); /* search the first non-ngram candidate position */ for (pos = candidates.begin (); pos != candidates.end (); ++pos) { if (CANDIDATE_NBEST_MATCH != pos->m_candidate_type && CANDIDATE_LONGER != pos->m_candidate_type && CANDIDATE_LONGER_USER != pos->m_candidate_type) break; m_candidate_cache.insert (pos->m_display_string); } for (iter = pos; iter != candidates.end (); ++iter) { /* only check the duplicated candidates in the first page */ if (m_editor->m_config.pageSize () == m_candidate_cache.size ()) break; /* skip the cloud candidate */ if (CANDIDATE_CLOUD_INPUT == iter->m_candidate_type) continue; m_candidate_cache.insert (iter->m_display_string); } /* neither double pinyin mode nor bopomofo mode */ if (m_input_mode == FullPinyin) full_pinyin_text = m_editor->m_text; else full_pinyin_text = getFullPinyin (); if (m_last_requested_pinyin == full_pinyin_text) { /* do not request again and update cached ones */ for (int i = 0; i < m_candidates.size (); ++i){ EnhancedCandidate candidate = m_candidates[i]; std::string & display_string = candidate.m_display_string; std::set::iterator iter = m_candidate_cache.find (display_string); /* skip the already existed candidate */ if (iter != m_candidate_cache.end ()) continue; /* insert cloud prefix */ candidate.m_display_string = CANDIDATE_CLOUD_PREFIX + display_string; candidates.insert (pos, candidate); ++pos; } /* enable to choose cloud candidate after short period */ g_timer_start (m_timer); return TRUE; } m_candidates.clear (); delayedCloudAsyncRequest (full_pinyin_text); return TRUE; } int CloudCandidates::selectCandidate (EnhancedCandidate & enhanced) { assert (CANDIDATE_CLOUD_INPUT == enhanced.m_candidate_type); if (g_timer_elapsed (m_timer, NULL) < CANDIDATE_SENSITIVE_TIMEWAIT) return SELECT_CANDIDATE_ALREADY_HANDLED; g_timer_stop (m_timer); if (enhanced.m_candidate_id < m_candidates.size ()) { enhanced.m_display_string = m_candidates[enhanced.m_candidate_id].m_display_string; /* remember the cloud input */ if (m_editor->m_config.rememberEveryInput ()) LibPinyinBackEnd::instance ().rememberCloudInput (m_editor->m_instance, m_last_requested_pinyin.c_str (), enhanced.m_display_string.c_str ()); LibPinyinBackEnd::instance ().modified (); /* modify in-place and commit */ return SELECT_CANDIDATE_COMMIT | SELECT_CANDIDATE_MODIFY_IN_PLACE; } return SELECT_CANDIDATE_ALREADY_HANDLED; } void CloudCandidates::delayedCloudAsyncRequest (const gchar* pinyin) { gpointer user_data; CloudAsyncRequestUserData *data; /* cancel the latest timer, if applied */ if (m_source_event_id != 0) g_source_remove (m_source_event_id); /* allocate memory for a CloudAsyncRequestUserData instance to take more callback user data */ user_data = g_malloc (sizeof(CloudAsyncRequestUserData)); data = static_cast (user_data); strncpy (data->requested_pinyin, pinyin, MAX_PINYIN_LEN); data->requested_pinyin[MAX_PINYIN_LEN] = '\0'; data->cloud_candidates = this; /* record the latest timer */ m_source_event_id = g_timeout_add (m_editor->m_config.cloudRequestDelayTime (), delayedCloudAsyncRequestCallBack, user_data); data->event_id = m_source_event_id; data->message = NULL; data->cancel_message = NULL; } gboolean CloudCandidates::delayedCloudAsyncRequestCallBack (gpointer user_data) { CloudAsyncRequestUserData *data = static_cast (user_data); if (!data) return FALSE; CloudCandidates *cloud_candidates = data->cloud_candidates; if (!cloud_candidates) return FALSE; /* only send with a latest timer */ if (data->event_id == cloud_candidates->m_source_event_id) { cloud_candidates->m_source_event_id = 0; cloud_candidates->cloudAsyncRequest (user_data); } return FALSE; } void CloudCandidates::cloudAsyncRequest (gpointer user_data) { guint number = m_editor->m_config.cloudCandidatesNumber (); CloudAsyncRequestUserData *data = static_cast (user_data); /* cache the last request string */ m_last_requested_pinyin = data->requested_pinyin; gchar *query_request = m_parser->getRequestString (data->requested_pinyin, number); /* cancel message if there is a pending one */ if (m_message) { g_cancellable_cancel (m_cancel_message); m_message = NULL; } m_cancel_message = g_cancellable_new (); data->cancel_message = m_cancel_message; SoupMessage *m_message = soup_message_new ("GET", query_request); soup_session_send_async (m_session, m_message, SOUP_MESSAGE_PRIORITY_NORMAL, m_cancel_message, cloudResponseCallBack, user_data); data->message = m_message; /* free url string */ if (query_request) g_free(query_request); } void CloudCandidates::cloudResponseCallBack (GObject *source_object, GAsyncResult *result, gpointer user_data) { GInputStream *stream = soup_session_send_finish (SOUP_SESSION (source_object), result, NULL); CloudAsyncRequestUserData *data = static_cast (user_data); CloudCandidates *cloud_candidates = data->cloud_candidates; /* process results */ cloud_candidates->processCloudResponse (stream, cloud_candidates->m_editor->m_candidates, data->requested_pinyin); cloud_candidates->updateLookupTable (); /* clean up message */ g_object_unref (data->message); cloud_candidates->m_message = NULL; /* clean up cancellable */ g_object_unref (data->cancel_message); cloud_candidates->m_cancel_message = NULL; g_free (user_data); } void CloudCandidates::cloudSyncRequest (const gchar* pinyin, std::vector & candidates) { guint number = m_editor->m_config.cloudCandidatesNumber (); gchar *query_request = m_parser->getRequestString (pinyin, number); SoupMessage *msg = soup_message_new ("GET", query_request); GInputStream *stream = soup_session_send (m_session, msg, NULL, NULL); processCloudResponse (stream, candidates, pinyin); /* free msg */ g_object_unref (msg); /* free url string */ if (query_request) g_free(query_request); } gboolean CloudCandidates::processCloudResponse (GInputStream *stream, std::vector & candidates, const gchar * requested_pinyin) { guint retval = m_parser->parse (stream); m_candidates.clear (); if (retval != PARSER_NOERR) return FALSE; if (m_last_requested_pinyin == requested_pinyin) { /* update to the cached candidates list */ std::vector & string_candidates = m_parser->getStringCandidates (); for (guint i = 0; i < string_candidates.size (); ++i) { EnhancedCandidate candidate; /* insert candidate without prefix in m_candidates */ candidate.m_candidate_type = CANDIDATE_CLOUD_INPUT; candidate.m_candidate_id = i; candidate.m_display_string = string_candidates[i]; m_candidates.push_back (candidate); } return TRUE; } return FALSE; } void CloudCandidates::updateLookupTable () { LookupTable & lookup_table = m_editor->m_lookup_table; /* retrieve cursor position in lookup table */ guint cursor = lookup_table.cursorPos (); /* update cached cloud input candidates */ m_editor->updateCandidates (); /* regenerate lookup table */ lookup_table.clear (); m_editor->fillLookupTable (); /* recover cursor position in lookup table */ if (cursor < lookup_table.size ()) lookup_table.setCursorPos (cursor); /* notify ibus */ if (lookup_table.size ()) m_editor->updateLookupTableFast (); else m_editor->hideLookupTable (); } String CloudCandidates::getFullPinyin () { String buffer; gchar * aux_text = NULL; gchar * pinyin_text = NULL; gchar * pinyin_text_with_quote = NULL; gchar** tempArray = NULL; /* get full pinyin auxiliary text */ pinyin_get_full_pinyin_auxiliary_text (m_editor->m_instance, m_editor->m_cursor, &aux_text); /* remove tone and cursor */ tempArray = g_strsplit_set (aux_text, "|12345", -1); pinyin_text = g_strjoinv ("", tempArray); g_strfreev (tempArray); /* remove space */ pinyin_text = g_strstrip(pinyin_text); /* replace space with quote */ tempArray = g_strsplit_set (pinyin_text, " ", -1); pinyin_text_with_quote = g_strjoinv ("'", tempArray); buffer << pinyin_text_with_quote; g_strfreev (tempArray); /* free */ g_free(aux_text); g_free(pinyin_text); g_free(pinyin_text_with_quote); return buffer; } ibus-libpinyin-1.16.1/src/PYXMLUtil.h0000644000175000017500000000220514726715641012741 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2024 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_XML_UTIL_H_ #define __PY_XML_UTIL_H_ #ifdef HAVE_CONFIG_H # include #endif #include namespace PY { gchar * load_file_content(const gchar * filename); gboolean parse_engine_version(const char * filename, gchar ** version); void show_message(const char* summary, const char* details); }; #endif ibus-libpinyin-1.16.1/src/PYPPinyinEngine.h0000644000175000017500000000546514455173634014171 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * Copyright (c) 2011 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_LIB_PINYIN_PINYIN_ENGINE_H_ #define __PY_LIB_PINYIN_PINYIN_ENGINE_H_ #ifdef IBUS_BUILD_LUA_EXTENSION #include "lua-plugin.h" #endif #include "PYEngine.h" #include "PYPinyinProperties.h" namespace PY { class PinyinEngine : public Engine { public: PinyinEngine (IBusEngine *engine); ~PinyinEngine (void); //virtual functions gboolean processAccelKeyEvent (guint keyval, guint keycode, guint modifiers); gboolean processKeyEvent (guint keyval, guint keycode, guint modifiers); void focusIn (void); void focusOut (void); void reset (void); void enable (void); void disable (void); void pageUp (void); void pageDown (void); void cursorUp (void); void cursorDown (void); gboolean propertyActivate (const gchar *prop_name, guint prop_state); void candidateClicked (guint index, guint button, guint state); private: #ifdef IBUS_BUILD_LUA_EXTENSION gboolean initLuaPlugin (void); gboolean loadLuaScript (const char * filename); #endif gboolean processPunct (guint keyval, guint keycode, guint modifiers); void showSetupDialog (void); void connectEditorSignals (EditorPtr editor); void commitText (Text & text); private: PinyinProperties m_props; guint m_prev_pressed_key; enum { MODE_INIT = 0, // init mode MODE_PUNCT, // punct mode MODE_RAW, // raw mode MODE_ENGLISH, // press v into English input mode MODE_TABLE, // press u into table input mode MODE_EXTENSION, // press i into extension input mode MODE_SUGGESTION, // suggestion mode MODE_LAST, } m_input_mode; gboolean m_need_update; gboolean m_double_pinyin; EditorPtr m_editors[MODE_LAST]; EditorPtr m_fallback_editor; #ifdef IBUS_BUILD_LUA_EXTENSION Pointer m_lua_plugin; #endif }; }; #endif ibus-libpinyin-1.16.1/src/PYPEnglishCandidates.h0000644000175000017500000000271214455173634015136 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2021 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_LIB_PINYIN_ENGLISH_CANDIDATES_H_ #define __PY_LIB_PINYIN_ENGLISH_CANDIDATES_H_ #include "PYPointer.h" #include "PYEditor.h" #include "PYPEnhancedCandidates.h" #include "PYEnglishDatabase.h" namespace PY{ class Editor; class EnglishCandidates : public EnhancedCandidates { public: EnglishCandidates (Editor *editor); public: gboolean processCandidates (std::vector & candidates); int selectCandidate (EnhancedCandidate & enhanced); gboolean removeCandidate (EnhancedCandidate & enhanced); protected: EnglishDatabase *m_english_database; private: const float m_train_factor; }; }; #endif ibus-libpinyin-1.16.1/src/PYEngine.h0000664000175000017500000000741013672072346012652 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_ENGINE_H_ #define __PY_ENGINE_H_ #include #include "PYPointer.h" #include "PYLookupTable.h" #include "PYProperty.h" #include "PYEditor.h" namespace PY { #define IBUS_TYPE_PINYIN_ENGINE \ (PY::ibus_pinyin_engine_get_type ()) GType ibus_pinyin_engine_get_type (void); class Engine { public: Engine (IBusEngine *engine); virtual ~Engine (void); gboolean contentIsPassword(); // virtual functions virtual gboolean processKeyEvent (guint keyval, guint keycode, guint modifiers) = 0; virtual void focusIn (void) = 0; virtual void focusOut (void); #if IBUS_CHECK_VERSION (1, 5, 4) virtual void setContentType (guint purpose, guint hints); #endif virtual void reset (void) = 0; virtual void enable (void) = 0; virtual void disable (void) = 0; virtual void pageUp (void) = 0; virtual void pageDown (void) = 0; virtual void cursorUp (void) = 0; virtual void cursorDown (void) = 0; virtual gboolean propertyActivate (const gchar *prop_name, guint prop_state) = 0; virtual void candidateClicked (guint index, guint button, guint state) = 0; protected: void commitText (Text & text) const { ibus_engine_commit_text (m_engine, text); } void updatePreeditText (Text & text, guint cursor, gboolean visible) const { ibus_engine_update_preedit_text (m_engine, text, cursor, visible); } void showPreeditText (void) const { ibus_engine_show_preedit_text (m_engine); } void hidePreeditText (void) const { ibus_engine_hide_preedit_text (m_engine); } void updateAuxiliaryText (Text & text, gboolean visible) const { ibus_engine_update_auxiliary_text (m_engine, text, visible); } void showAuxiliaryText (void) const { ibus_engine_show_auxiliary_text (m_engine); } void hideAuxiliaryText (void) const { ibus_engine_hide_auxiliary_text (m_engine); } void updateLookupTable (LookupTable &table, gboolean visible) const { ibus_engine_update_lookup_table (m_engine, table, visible); } void updateLookupTableFast (LookupTable &table, gboolean visible) const { ibus_engine_update_lookup_table_fast (m_engine, table, visible); } void showLookupTable (void) const { ibus_engine_show_lookup_table (m_engine); } void hideLookupTable (void) const { ibus_engine_hide_lookup_table (m_engine); } void registerProperties (PropList & props) const { ibus_engine_register_properties (m_engine, props); } void updateProperty (Property & prop) const { ibus_engine_update_property (m_engine, prop); } protected: Pointer m_engine; // engine pointer #if IBUS_CHECK_VERSION (1, 5, 4) IBusInputPurpose m_input_purpose; #endif }; gboolean pinyin_accelerator_name(guint keyval, guint modifiers, std::string & name); }; #endif ibus-libpinyin-1.16.1/src/PYFallbackEditor.h0000664000175000017500000000422213672072346014311 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_FALLBACK_EDITOR_ #define __PY_FALLBACK_EDITOR_ #include "PYText.h" #include "PYEditor.h" namespace PY { class FallbackEditor : public Editor { public: FallbackEditor (PinyinProperties &props, Config & config) : Editor (props, config), m_quote (TRUE), m_double_quote (TRUE), m_prev_committed_char (0) { } gboolean processKeyEvent (guint keyval, guint keycode, guint modifiers); void reset (void); void setPrevCommittedChar (gunichar ch) { m_prev_committed_char = ch; } private: void commit (gchar ch) { gchar str[2] = {ch, 0}; StaticText text (str); commitText (text); } void commit (gunichar ch) { Text text (ch); commitText (text); } void commit (const gchar *str) { StaticText text (str); commitText (text); } void commit (const String &str) { commit ((const gchar *)str); } gboolean processPunct (guint keyval, guint keycode, guint modifiers); gboolean processPunctForSimplifiedChinese (guint keyval, guint keycode, guint modifiers); gboolean processPunctForTraditionalChinese (guint keyval, guint keycode, guint modifiers); private: gboolean m_quote; gboolean m_double_quote; gunichar m_prev_committed_char; }; }; #endif ibus-libpinyin-1.16.1/src/PYPBopomofoEditor.cc0000644000175000017500000002603114763733347014657 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2011 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "PYPBopomofoEditor.h" #include "PYConfig.h" #include "PYLibPinyin.h" #include "PYPinyinProperties.h" #include "PYSimpTradConverter.h" #include "PYHalfFullConverter.h" using namespace PY; const static gchar * bopomofo_select_keys[] = { "1234567890", "asdfghjkl;", "1qaz2wsxed", "asdfzxcvgb", "1234qweras", "aoeu;qjkix", "aoeuhtnsid", "aoeuidhtns", "qweasdzxcr" }; BopomofoEditor::BopomofoEditor (PinyinProperties & props, Config & config) : PhoneticEditor (props, config), m_select_mode (FALSE) { m_instance = LibPinyinBackEnd::instance ().allocChewingInstance (); #ifdef ENABLE_CLOUD_INPUT_MODE m_cloud_candidates.setInputMode (Bopomofo); #endif } BopomofoEditor::~BopomofoEditor (void) { LibPinyinBackEnd::instance ().freeChewingInstance (m_instance); m_instance = NULL; } void BopomofoEditor::reset (void) { m_select_mode = FALSE; PhoneticEditor::reset (); } gboolean BopomofoEditor::insert (gint ch) { /* is full */ if (G_UNLIKELY (m_text.length () >= MAX_PINYIN_LEN)) return TRUE; m_text.insert (m_cursor++, ch); m_lookup_cursor = 0; updatePinyin (); update (); return TRUE; } gboolean BopomofoEditor::processGuideKey (guint keyval, guint keycode, guint modifiers) { if (!m_config.guideKey ()) return FALSE; if (G_UNLIKELY (cmshm_filter (modifiers) != 0)) return FALSE; if (G_LIKELY (m_select_mode)) return FALSE; if (G_UNLIKELY (keyval == IBUS_space)) { m_select_mode = TRUE; update (); return TRUE; } return FALSE; } gboolean BopomofoEditor::processAuxiliarySelectKey (guint keyval, guint keycode, guint modifiers) { if (G_UNLIKELY (cmshm_filter (modifiers) != 0)) return FALSE; guint i; switch (keyval) { case IBUS_KP_0: i = 9; if (!m_config.auxiliarySelectKeyKP ()) return FALSE; break; case IBUS_KP_1 ... IBUS_KP_9: i = keyval - IBUS_KP_1; if (!m_config.auxiliarySelectKeyKP ()) return FALSE; break; case IBUS_F1 ... IBUS_F10: i = keyval - IBUS_F1; if (!m_config.auxiliarySelectKeyF ()) return FALSE; break; default: return FALSE; } m_select_mode = TRUE; selectCandidateInPage (i); update (); return TRUE; } gboolean BopomofoEditor::processSelectKey (guint keyval, guint keycode, guint modifiers) { if (G_UNLIKELY (!m_text)) return FALSE; if (G_LIKELY (!m_select_mode && ((modifiers & IBUS_MOD1_MASK) == 0))) return FALSE; const gchar * pos = NULL; const gchar * keys = bopomofo_select_keys[m_config.selectKeys ()]; for ( const gchar * p = keys; *p; ++p ) { if ( *p == keyval ) pos = p; } if (pos == NULL) return FALSE; m_select_mode = TRUE; guint i = pos - keys; selectCandidateInPage (i); update (); return TRUE; } gboolean BopomofoEditor::processBopomofo (guint keyval, guint keycode, guint modifiers) { if (G_UNLIKELY (cmshm_filter (modifiers) != 0)) return m_text ? TRUE : FALSE; gchar ** symbols = NULL; if (!pinyin_in_chewing_keyboard (m_instance, keyval, &symbols)) return FALSE; g_strfreev (symbols); if (keyval == IBUS_space) return FALSE; m_select_mode = FALSE; return insert (keyval); } gboolean BopomofoEditor::processKeyEvent (guint keyval, guint keycode, guint modifiers) { if (modifiers & IBUS_MOD4_MASK) return FALSE; modifiers &= (IBUS_SHIFT_MASK | IBUS_CONTROL_MASK | IBUS_MOD1_MASK | IBUS_SUPER_MASK | IBUS_HYPER_MASK | IBUS_META_MASK | IBUS_LOCK_MASK); if (G_UNLIKELY (processGuideKey (keyval, keycode, modifiers))) return TRUE; if (G_UNLIKELY (processSelectKey (keyval, keycode, modifiers))) return TRUE; if (G_UNLIKELY (processAuxiliarySelectKey (keyval, keycode, modifiers))) return TRUE; if (G_LIKELY (processBopomofo (keyval, keycode, modifiers))) return TRUE; switch (keyval) { case IBUS_space: m_select_mode = TRUE; return processSpace (keyval, keycode, modifiers); case IBUS_Return: case IBUS_KP_Enter: /* no user input */ if (m_text.empty ()) return FALSE; if (m_config.enterKey ()) commit (); else { Text text (m_text.c_str ()); commitText (text); } reset (); return TRUE; case IBUS_Up: case IBUS_KP_Up: case IBUS_Down: case IBUS_KP_Down: case IBUS_Page_Up: case IBUS_KP_Page_Up: case IBUS_Page_Down: case IBUS_KP_Page_Down: case IBUS_Tab: m_select_mode = TRUE; return PhoneticEditor::processFunctionKey (keyval, keycode, modifiers); case IBUS_BackSpace: case IBUS_Delete: case IBUS_KP_Delete: case IBUS_Left: case IBUS_KP_Left: case IBUS_Right: case IBUS_KP_Right: case IBUS_Home: case IBUS_KP_Home: case IBUS_End: case IBUS_KP_End: m_select_mode = FALSE; return PhoneticEditor::processFunctionKey (keyval, keycode, modifiers); default: return PhoneticEditor::processFunctionKey (keyval, keycode, modifiers); } return FALSE; } void BopomofoEditor::updateLookupTableLabel (void) { String labels = bopomofo_select_keys[m_config.selectKeys ()]; size_t len = MIN (labels.length (), m_config.pageSize ()); for (size_t i = 0; i < len; ++i) { String label = (gchar) labels[i]; Text text (label); m_lookup_table.setLabel (i, text); } } void BopomofoEditor::updateLookupTable (void) { // needed by updatePreeditText updateCandidates (); if (!m_select_mode) { hideLookupTable (); return; } m_lookup_table.clear (); fillLookupTable (); updateLookupTableLabel (); if (m_lookup_table.size()) { Editor::updateLookupTable (m_lookup_table, TRUE); } else { hideLookupTable (); } } void BopomofoEditor::updatePinyin (void) { if (G_UNLIKELY (m_text.empty ())) { m_pinyin_len = 0; /* TODO: check whether to replace "" with NULL. */ pinyin_parse_more_chewings (m_instance, ""); pinyin_guess_sentence (m_instance); return; } m_pinyin_len = pinyin_parse_more_chewings (m_instance, m_text.c_str ()); pinyin_guess_sentence (m_instance); } void BopomofoEditor::commit (const gchar *str) { if (G_UNLIKELY (m_text.empty ())) return; m_buffer.clear (); /* sentence candidate */ m_buffer << str; /* text after pinyin */ const gchar *p = m_text.c_str() + m_pinyin_len; while (*p != '\0') { gchar ** symbols = NULL; if (pinyin_in_chewing_keyboard (m_instance, *p, &symbols)) { g_assert (1 == g_strv_length (symbols)); m_buffer << symbols[0]; g_strfreev (symbols); } else { if (G_UNLIKELY (m_props.modeFull ())) { m_buffer.appendUnichar (HalfFullConverter::toFull (*p)); } else { m_buffer << *p; } } ++p; } Text text (m_buffer.c_str ()); commitText (text); reset(); } void BopomofoEditor::updatePreeditText () { if (DISPLAY_STYLE_COMPACT == m_config.displayStyle () || DISPLAY_STYLE_COMPATIBILITY == m_config.displayStyle ()) return; guint num = 0; pinyin_get_n_candidate (m_instance, &num); /* preedit text = guessed sentence + un-parsed pinyin text */ if (G_UNLIKELY (m_text.empty () || 0 == num)) { hidePreeditText (); return; } m_buffer.clear (); /* probe nbest match candidate */ lookup_candidate_type_t type; lookup_candidate_t * candidate = NULL; pinyin_get_candidate (m_instance, 0, &candidate); pinyin_get_candidate_type (m_instance, candidate, &type); gchar * sentence = NULL; if (NBEST_MATCH_CANDIDATE == type) { pinyin_get_sentence (m_instance, 0, &sentence); m_buffer< * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_LIB_PINYIN_DOUBLE_PINYIN_EDITOR_H_ #define __PY_LIB_PINYIN_DOUBLE_PINYIN_EDITOR_H_ #include "PYPPinyinEditor.h" namespace PY { class DoublePinyinEditor : public PinyinEditor { public: DoublePinyinEditor (PinyinProperties & props, Config & config); ~DoublePinyinEditor (void); gboolean insert (gint ch); /* override virtual functions */ gboolean processKeyEvent (guint keyval, guint keycode, guint modifiers); void reset (void); protected: /* TODO: to be implemented. */ virtual void updateAuxiliaryText (void); virtual void updatePinyin (void); }; }; #endif ibus-libpinyin-1.16.1/src/PYPPhoneticEditor.h0000644000175000017500000001111214763733347014504 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2011 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_LIB_PINYIN_BASE_EDITOR_H_ #define __PY_LIB_PINYIN_BASE_EDITOR_H_ #ifdef IBUS_BUILD_LUA_EXTENSION #include "lua-plugin.h" #endif #include #include #include "PYLookupTable.h" #include "PYEditor.h" #include "PYPEnhancedCandidates.h" #include "PYPLibPinyinCandidates.h" #include "PYPTradCandidates.h" #ifdef IBUS_BUILD_ENGLISH_INPUT_MODE #include "PYPEnglishCandidates.h" #endif #ifdef IBUS_BUILD_LUA_EXTENSION #include "PYPLuaTriggerCandidates.h" #include "PYPLuaConverterCandidates.h" #endif #include "PYPEmojiCandidates.h" #ifdef ENABLE_CLOUD_INPUT_MODE #include "PYPCloudCandidates.h" #endif namespace PY { class PhoneticEditor : public Editor { friend class LibPinyinCandidates; friend class CloudCandidates; public: PhoneticEditor (PinyinProperties & props, Config & config); virtual ~PhoneticEditor (); public: /* virtual functions */ virtual void pageUp (void); virtual void pageDown (void); virtual void cursorUp (void); virtual void cursorDown (void); virtual void update (void); virtual void updateAll (void); virtual void reset (void); virtual void candidateClicked (guint index, guint button, guint state); virtual gboolean processKeyEvent (guint keyval, guint keycode, guint modifiers); virtual gboolean processSpace (guint keyval, guint keycode, guint modifiers); virtual gboolean processFunctionKey (guint keyval, guint keycode, guint modifiers); virtual void updateLookupTable (); virtual void updateLookupTableFast (); virtual gboolean updateCandidates (); virtual gboolean fillLookupTable (); virtual void commit (const gchar *str) = 0; #ifdef IBUS_BUILD_LUA_EXTENSION gboolean setLuaPlugin (IBusEnginePlugin *plugin); #endif protected: virtual int selectCandidateInternal (EnhancedCandidate & candidate); virtual gboolean removeCandidateInternal (EnhancedCandidate & candidate); gboolean selectCandidate (guint i); gboolean selectCandidateInPage (guint i); void directCommit (const gchar *str); void commit () { selectCandidate (0); } guint getPinyinCursor (void); guint getLookupCursor (void); /* inline functions */ /* pure virtual functions */ virtual gboolean insert (gint ch) = 0; virtual gboolean removeCharBefore (void); virtual gboolean removeCharAfter (void); virtual gboolean removeWordBefore (void); virtual gboolean removeWordAfter (void); virtual gboolean moveCursorLeft (void); virtual gboolean moveCursorRight (void); virtual gboolean moveCursorLeftByWord (void); virtual gboolean moveCursorRightByWord (void); virtual gboolean moveCursorToBegin (void); virtual gboolean moveCursorToEnd (void); virtual void updateAuxiliaryText (void) = 0; virtual void updatePreeditText (void) = 0; virtual void updatePinyin (void) = 0; guint getCursorLeftByWord (void); guint getCursorRightByWord (void); /* varibles */ guint m_pinyin_len; LookupTable m_lookup_table; guint m_lookup_cursor; String m_buffer; /* use LibPinyinBackEnd here. */ pinyin_instance_t *m_instance; /* use EnhancedCandidates here. */ std::vector m_candidates; /* several EnhancedCandidates providers. */ LibPinyinCandidates m_libpinyin_candidates; #ifdef IBUS_BUILD_LUA_EXTENSION LuaTriggerCandidates m_lua_trigger_candidates; LuaConverterCandidates m_lua_converter_candidates; #endif EmojiCandidates m_emoji_candidates; #ifdef IBUS_BUILD_ENGLISH_INPUT_MODE EnglishCandidates m_english_candidates; #endif TraditionalCandidates m_traditional_candidates; #ifdef ENABLE_CLOUD_INPUT_MODE CloudCandidates m_cloud_candidates; #endif }; }; #endif ibus-libpinyin-1.16.1/src/PYPEnhancedCandidates.h0000644000175000017500000000461414703102551015237 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2018 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_LIB_PINYIN_ENHANCED_CANDIDATES_H_ #define __PY_LIB_PINYIN_ENHANCED_CANDIDATES_H_ #include #include #include namespace PY { enum CandidateType { CANDIDATE_NBEST_MATCH = 1, CANDIDATE_LONGER, CANDIDATE_LONGER_USER, /* not included with user candidate */ CANDIDATE_NORMAL, /* both normal candidate and user candidate */ CANDIDATE_USER, CANDIDATE_PREDICTED_BIGRAM, CANDIDATE_PREDICTED_PREFIX, CANDIDATE_TRADITIONAL_CHINESE, CANDIDATE_LUA_TRIGGER, CANDIDATE_LUA_CONVERTER, CANDIDATE_CLOUD_INPUT, CANDIDATE_EMOJI, CANDIDATE_ENGLISH, CANDIDATE_PREDICTED_PUNCTUATION }; enum SelectCandidateAction { SELECT_CANDIDATE_ALREADY_HANDLED = 0x0, /* commit the text without change. */ SELECT_CANDIDATE_COMMIT = 0x1, /* modify the current candidate in place */ SELECT_CANDIDATE_MODIFY_IN_PLACE = 0x2, /* need to call update method in class Editor. */ SELECT_CANDIDATE_UPDATE = 0x4, /* commit the text without append the rest input after the pinyin */ SELECT_CANDIDATE_DIRECT_COMMIT = 0x8 }; struct EnhancedCandidate { CandidateType m_candidate_type; guint m_candidate_id; std::string m_display_string; }; template class EnhancedCandidates { public: gboolean processCandidates (std::vector & candidates); int selectCandidate (EnhancedCandidate & enhanced); gboolean removeCandidate (EnhancedCandidate & enhanced); protected: /* will call selectCandidateInternal method of class IEditor. */ IEditor *m_editor; }; }; #endif ibus-libpinyin-1.16.1/src/PYPPinyinEngine.cc0000644000175000017500000004756214737432406014331 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * Copyright (c) 2011 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "PYPPinyinEngine.h" #include #include #include #include "PYConfig.h" #include "PYPConfig.h" #include "PYPunctEditor.h" #include "PYRawEditor.h" #ifdef IBUS_BUILD_LUA_EXTENSION #include "PYExtEditor.h" #endif #ifdef IBUS_BUILD_ENGLISH_INPUT_MODE #include "PYEnglishEditor.h" #endif #ifdef IBUS_BUILD_TABLE_INPUT_MODE #include "PYTableEditor.h" #endif #include "PYPFullPinyinEditor.h" #include "PYPDoublePinyinEditor.h" #include "PYFallbackEditor.h" #include "PYPSuggestionEditor.h" using namespace PY; /* constructor */ PinyinEngine::PinyinEngine (IBusEngine *engine) : Engine (engine), m_props (PinyinConfig::instance ()), m_prev_pressed_key (IBUS_VoidSymbol), m_input_mode (MODE_INIT), m_need_update (FALSE), m_fallback_editor (new FallbackEditor (m_props, PinyinConfig::instance ())) { gint i; #ifdef IBUS_BUILD_LUA_EXTENSION initLuaPlugin (); #endif m_double_pinyin = PinyinConfig::instance ().doublePinyin (); if (m_double_pinyin) { DoublePinyinEditor *editor = new DoublePinyinEditor (m_props, PinyinConfig::instance ()); m_editors[MODE_INIT].reset (editor); #ifdef IBUS_BUILD_LUA_EXTENSION editor->setLuaPlugin (m_lua_plugin); #endif } else { FullPinyinEditor *editor = new FullPinyinEditor (m_props, PinyinConfig::instance ()); m_editors[MODE_INIT].reset (editor); #ifdef IBUS_BUILD_LUA_EXTENSION editor->setLuaPlugin (m_lua_plugin); #endif } #ifdef IBUS_BUILD_LUA_EXTENSION m_props.setLuaPlugin (m_lua_plugin); m_props.appendLuaConverter (); #endif m_editors[MODE_PUNCT].reset (new PunctEditor (m_props, PinyinConfig::instance ())); m_editors[MODE_RAW].reset (new RawEditor (m_props, PinyinConfig::instance ())); #ifdef IBUS_BUILD_LUA_EXTENSION { ExtEditor *editor = new ExtEditor (m_props, PinyinConfig::instance ()); m_editors[MODE_EXTENSION].reset (editor); editor->setLuaPlugin (m_lua_plugin); } #else m_editors[MODE_EXTENSION].reset (new Editor (m_props, PinyinConfig::instance ())); #endif #ifdef IBUS_BUILD_ENGLISH_INPUT_MODE m_editors[MODE_ENGLISH].reset (new EnglishEditor (m_props, PinyinConfig::instance ())); #else m_editors[MODE_ENGLISH].reset (new Editor (m_props, PinyinConfig::instance ())); #endif #ifdef IBUS_BUILD_TABLE_INPUT_MODE m_editors[MODE_TABLE].reset (new TableEditor (m_props, PinyinConfig::instance ())); #else m_editors[MODE_TABLE].reset (new Editor (m_props, PinyinConfig::instance ())); #endif { SuggestionEditor *editor = new SuggestionEditor (m_props, PinyinConfig::instance ()); m_editors[MODE_SUGGESTION].reset (editor); #ifdef IBUS_BUILD_LUA_EXTENSION editor->setLuaPlugin (m_lua_plugin); #endif } m_props.signalUpdateProperty ().connect (std::bind (&PinyinEngine::updateProperty, this, _1)); for (i = MODE_INIT; i < MODE_LAST; i++) { connectEditorSignals (m_editors[i]); } connectEditorSignals (m_fallback_editor); } /* destructor */ PinyinEngine::~PinyinEngine (void) { } #ifdef IBUS_BUILD_LUA_EXTENSION gboolean PinyinEngine::initLuaPlugin (void) { m_lua_plugin = ibus_engine_plugin_new (); loadLuaScript ( ".." G_DIR_SEPARATOR_S "lua" G_DIR_SEPARATOR_S "base.lua")|| loadLuaScript (PKGDATADIR G_DIR_SEPARATOR_S "base.lua"); gchar * path = g_build_filename (g_get_user_config_dir (), "ibus", "libpinyin", "user.lua", NULL); loadLuaScript(path); g_free(path); return TRUE; } gboolean PinyinEngine::loadLuaScript (const char * filename) { return !ibus_engine_plugin_load_lua_script (m_lua_plugin, filename); } #endif /* keep synced with bopomofo engine. */ gboolean PinyinEngine::processAccelKeyEvent (guint keyval, guint keycode, guint modifiers) { std::string accel; pinyin_accelerator_name (keyval, modifiers, accel); /* Safe Guard for empty key. */ if ("" == accel) return FALSE; /* check Shift or Ctrl + Release hotkey, * and then ignore other Release key event */ if (modifiers & IBUS_RELEASE_MASK) { /* press and release keyval are same, * and no other key event between the press and release key event */ gboolean triggered = FALSE; if (m_prev_pressed_key == keyval) { if (PinyinConfig::instance ().mainSwitch () == accel) { triggered = TRUE; } } if (triggered) { if (!m_editors[MODE_INIT]->text ().empty ()) { Text text (m_editors[MODE_INIT]->text ()); commitText (text); m_editors[MODE_INIT]->reset (); } if (!m_editors[MODE_TABLE]->text ().empty ()) m_editors[MODE_TABLE]->reset (); if (!m_editors[MODE_SUGGESTION]->text ().empty ()) m_editors[MODE_SUGGESTION]->reset (); if (m_input_mode != MODE_ENGLISH && m_input_mode != MODE_EXTENSION) { m_input_mode = MODE_INIT; m_props.toggleModeChinese (); } return FALSE; } if (m_input_mode == MODE_INIT && m_editors[MODE_INIT]->text ().empty ()) { /* If it is in init mode, and no any previous input text, * we will let client applications to handle release key event */ return FALSE; } else { /* Always return FALSE for the IBUS_RELEASE_MASK. */ return FALSE; } } /* Toggle full/half Letter Mode */ if (PinyinConfig::instance ().letterSwitch () == accel) { m_props.toggleModeFull (); m_prev_pressed_key = keyval; return TRUE; } /* Toggle full/half Punct Mode */ if (PinyinConfig::instance ().punctSwitch () == accel) { m_props.toggleModeFullPunct (); m_prev_pressed_key = keyval; return TRUE; } /* Toggle both full/half Mode */ if (PinyinConfig::instance ().bothSwitch () == accel) { if (m_props.modeFull () != m_props.modeFullPunct ()) { m_props.toggleModeFull (); m_prev_pressed_key = keyval; return TRUE; } m_props.toggleModeFull (); m_props.toggleModeFullPunct (); m_prev_pressed_key = keyval; return TRUE; } /* Toggle simp/trad Chinese Mode */ if (PinyinConfig::instance ().tradSwitch () == accel) { m_props.toggleModeSimp (); m_prev_pressed_key = keyval; return TRUE; } return FALSE; } gboolean PinyinEngine::processKeyEvent (guint keyval, guint keycode, guint modifiers) { gboolean retval = FALSE; if (contentIsPassword ()) return retval; if (processAccelKeyEvent (keyval, keycode, modifiers)) return TRUE; /* assume release key event is handled in processAccelKeyEvent. */ if (modifiers & IBUS_RELEASE_MASK) return FALSE; if (m_props.modeChinese ()) { /* return from MODE_SUGGESTION to normal input. */ if (m_input_mode == MODE_SUGGESTION) { /* only accept input to select candidate. */ if (IBUS_Escape == keyval) { m_editors[m_input_mode]->reset (); m_input_mode = MODE_INIT; m_editors[m_input_mode]->reset (); /* m_editors[m_input_mode]->update ();*/ return TRUE; } retval = m_editors[m_input_mode]->processKeyEvent (keyval, keycode, modifiers); if (retval) { goto out; } else { m_editors[m_input_mode]->reset (); m_input_mode = MODE_INIT; } } /* handle normal input. */ if (m_input_mode == MODE_INIT && (cmshm_filter (modifiers) == 0)) { const String & text = m_editors[MODE_INIT]->text (); if (text.empty ()) { switch (keyval) { case IBUS_grave: if (m_props.modeFullPunct ()) m_input_mode = MODE_PUNCT; break; #ifdef IBUS_BUILD_LUA_EXTENSION case IBUS_i: if (!PinyinConfig::instance ().luaExtension ()) break; // for full pinyin if (PinyinConfig::instance ().doublePinyin ()) break; m_input_mode = MODE_EXTENSION; break; case IBUS_I: if (!PinyinConfig::instance ().luaExtension ()) break; // for double pinyin if (!PinyinConfig::instance ().doublePinyin ()) break; // for Caps Lock if (modifiers & IBUS_LOCK_MASK) break; m_input_mode = MODE_EXTENSION; break; #endif #ifdef IBUS_BUILD_ENGLISH_INPUT_MODE case IBUS_v: if (!PinyinConfig::instance ().englishInputMode ()) break; // for full pinyin if (PinyinConfig::instance ().doublePinyin ()) break; m_input_mode = MODE_ENGLISH; break; case IBUS_V: if (!PinyinConfig::instance ().englishInputMode ()) break; // for double pinyin if (!PinyinConfig::instance ().doublePinyin ()) break; // for Caps Lock if (modifiers & IBUS_LOCK_MASK) break; m_input_mode = MODE_ENGLISH; break; #endif #ifdef IBUS_BUILD_TABLE_INPUT_MODE case IBUS_u: if (!PinyinConfig::instance ().tableInputMode ()) break; // for full pinyin if (PinyinConfig::instance ().doublePinyin ()) break; m_input_mode = MODE_TABLE; break; case IBUS_U: if (!PinyinConfig::instance ().tableInputMode ()) break; // for double pinyin if (!PinyinConfig::instance ().doublePinyin ()) break; // for Caps Lock if (modifiers & IBUS_LOCK_MASK) break; m_input_mode = MODE_TABLE; break; #endif } #ifdef IBUS_BUILD_ENGLISH_INPUT_MODE // for full pinyin if ((IBUS_A <= keyval && keyval<= IBUS_Z) && PinyinConfig::instance ().englishInputMode () && !PinyinConfig::instance ().doublePinyin ()) { // for Caps Lock if (!(modifiers & IBUS_LOCK_MASK)) { m_input_mode = MODE_ENGLISH; m_editors[m_input_mode]->setText ("v", 1); } } #endif } else { #ifdef IBUS_BUILD_ENGLISH_INPUT_MODE // for english mode switch with symbol key if (keyval <= std::numeric_limits::max() && g_unichar_ispunct (keyval) && (EnglishSymbols.find(keyval) != std::string::npos || /* For full pinyin, "'" is used. */ (PinyinConfig::instance ().doublePinyin () && IBUS_apostrophe == keyval) || /* Use square brackets to flip page */ (!PinyinConfig::instance ().squareBracketPage () && (IBUS_bracketleft == keyval || IBUS_bracketright == keyval)) || /* For double pinyin, ";" is used. */ (!PinyinConfig::instance ().doublePinyin () && IBUS_semicolon == keyval)) && m_input_mode == MODE_INIT && PinyinConfig::instance ().englishInputMode ()) { String text; if (!PinyinConfig::instance ().doublePinyin ()) text = "v"; // full pinyin else text = "V"; // double pinyin text += m_editors[m_input_mode]->text (); guint cursor = m_editors[m_input_mode]->cursor () + 1; /* insert the new symbol char here. */ text.insert(cursor, keyval); cursor += 1; m_editors[m_input_mode]->setText ("", 0); m_input_mode = MODE_ENGLISH; m_editors[m_input_mode]->setText (text, cursor); Editor * editor = m_editors[m_input_mode].get (); m_editors[m_input_mode]->updateAll (); return TRUE; } #endif #ifdef IBUS_BUILD_TABLE_INPUT_MODE // for table mode switch with tab key if (keyval == IBUS_Tab && m_input_mode == MODE_INIT && PinyinConfig::instance ().tableInputMode ()) { String text; if (!PinyinConfig::instance ().doublePinyin ()) text = "u"; // full pinyin else text = "U"; // double pinyin text += m_editors[m_input_mode]->text (); guint cursor = m_editors[m_input_mode]->cursor () + 1; m_editors[m_input_mode]->setText ("", 0); m_input_mode = MODE_TABLE; m_editors[m_input_mode]->setText (text, cursor); Editor * editor = m_editors[m_input_mode].get (); m_editors[m_input_mode]->updateAll (); return TRUE; } #endif } } retval = m_editors[m_input_mode]->processKeyEvent (keyval, keycode, modifiers); if (G_UNLIKELY (retval && m_input_mode != MODE_INIT && m_editors[m_input_mode]->text ().empty ())) m_input_mode = MODE_INIT; if (G_UNLIKELY (!retval && m_input_mode == MODE_SUGGESTION)) m_input_mode = MODE_INIT; } if (G_UNLIKELY (!retval)) retval = m_fallback_editor->processKeyEvent (keyval, keycode, modifiers); out: /* needed for SuggestionEditor */ if (m_need_update) { m_editors[m_input_mode]->update (); m_need_update = FALSE; } /* store ignored key event by editors */ m_prev_pressed_key = retval ? IBUS_VoidSymbol : keyval; return retval; } void PinyinEngine::focusIn (void) { /* TODO: check memory leak here, * or switch full/double pinyin when pinyin config is changed.*/ if (PinyinConfig::instance ().doublePinyin ()) { if (!m_double_pinyin) { DoublePinyinEditor *editor = new DoublePinyinEditor (m_props, PinyinConfig::instance ()); m_editors[MODE_INIT].reset (editor); #ifdef IBUS_BUILD_LUA_EXTENSION editor->setLuaPlugin (m_lua_plugin); #endif connectEditorSignals (m_editors[MODE_INIT]); } m_double_pinyin = TRUE; } else { if (m_double_pinyin) { FullPinyinEditor *editor = new FullPinyinEditor (m_props, PinyinConfig::instance ()); m_editors[MODE_INIT].reset (editor); #ifdef IBUS_BUILD_LUA_EXTENSION editor->setLuaPlugin (m_lua_plugin); #endif connectEditorSignals (m_editors[MODE_INIT]); } m_double_pinyin = FALSE; } registerProperties (m_props.properties ()); } void PinyinEngine::focusOut (void) { Engine::focusOut (); reset (); } void PinyinEngine::reset (void) { m_prev_pressed_key = IBUS_VoidSymbol; m_input_mode = MODE_INIT; for (gint i = 0; i < MODE_LAST; i++) { m_editors[i]->reset (); } m_fallback_editor->reset (); } void PinyinEngine::enable (void) { m_props.reset (); } void PinyinEngine::disable (void) { } void PinyinEngine::pageUp (void) { m_editors[m_input_mode]->pageUp (); } void PinyinEngine::pageDown (void) { m_editors[m_input_mode]->pageDown (); } void PinyinEngine::cursorUp (void) { m_editors[m_input_mode]->cursorUp (); } void PinyinEngine::cursorDown (void) { m_editors[m_input_mode]->cursorDown (); } inline void PinyinEngine::showSetupDialog (void) { g_spawn_command_line_async (LIBEXECDIR"/ibus-setup-libpinyin libpinyin", NULL); } gboolean PinyinEngine::propertyActivate (const char *prop_name, guint prop_state) { const static String setup ("setup"); if (m_props.propertyActivate (prop_name, prop_state)) { return TRUE; } else if (setup == prop_name) { showSetupDialog (); return TRUE; } return FALSE; } void PinyinEngine::candidateClicked (guint index, guint button, guint state) { m_editors[m_input_mode]->candidateClicked (index, button, state); } void PinyinEngine::commitText (Text & text) { Engine::commitText (text); if (m_input_mode != MODE_INIT && m_input_mode != MODE_SUGGESTION) { m_input_mode = MODE_INIT; } else if (PinyinConfig::instance ().suggestionCandidate ()) { m_input_mode = MODE_SUGGESTION; m_editors[m_input_mode]->setText (text.text (), 0); m_need_update = TRUE; } else { m_input_mode = MODE_INIT; } #if 1 /* handle "+.+" here */ if (text.text ()) static_cast (m_fallback_editor.get ())->setPrevCommittedChar (*text.text ()); else static_cast (m_fallback_editor.get ())->setPrevCommittedChar (0); #endif } void PinyinEngine::connectEditorSignals (EditorPtr editor) { editor->signalCommitText ().connect ( std::bind (&PinyinEngine::commitText, this, _1)); editor->signalUpdatePreeditText ().connect ( std::bind (&PinyinEngine::updatePreeditText, this, _1, _2, _3)); editor->signalShowPreeditText ().connect ( std::bind (&PinyinEngine::showPreeditText, this)); editor->signalHidePreeditText ().connect ( std::bind (&PinyinEngine::hidePreeditText, this)); editor->signalUpdateAuxiliaryText ().connect ( std::bind (&PinyinEngine::updateAuxiliaryText, this, _1, _2)); editor->signalShowAuxiliaryText ().connect ( std::bind (&PinyinEngine::showAuxiliaryText, this)); editor->signalHideAuxiliaryText ().connect ( std::bind (&PinyinEngine::hideAuxiliaryText, this)); editor->signalUpdateLookupTable ().connect ( std::bind (&PinyinEngine::updateLookupTable, this, _1, _2)); editor->signalUpdateLookupTableFast ().connect ( std::bind (&PinyinEngine::updateLookupTableFast, this, _1, _2)); editor->signalShowLookupTable ().connect ( std::bind (&PinyinEngine::showLookupTable, this)); editor->signalHideLookupTable ().connect ( std::bind (&PinyinEngine::hideLookupTable, this)); } ibus-libpinyin-1.16.1/src/PYRawEditor.h0000664000175000017500000000206113672072346013342 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_RAW_EDITOR_ #define __PY_RAW_EDITOR_ #include "PYEditor.h" namespace PY { class RawEditor : public Editor { public: RawEditor (PinyinProperties &props, Config & config) : Editor (props, config) { } }; }; #endif ibus-libpinyin-1.16.1/src/PYPBopomofoEngine.h0000644000175000017500000000514014455173634014471 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * Copyright (c) 2010 BYVoid * Copyright (c) 2011 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_LIB_PINYIN_BOPOMOFO_ENGINE_H_ #define __PY_LIB_PINYIN_BOPOMOFO_ENGINE_H_ #include "PYEngine.h" #include "PYPinyinProperties.h" namespace PY { class BopomofoEngine : public Engine { public: BopomofoEngine (IBusEngine *engine); ~BopomofoEngine (void); // virtual functions gboolean processAccelKeyEvent (guint keyval, guint keycode, guint modifiers); gboolean processKeyEvent (guint keyval, guint keycode, guint modifiers); void focusIn (void); void focusOut (void); void reset (void); void enable (void); void disable (void); void pageUp (void); void pageDown (void); void cursorUp (void); void cursorDown (void); gboolean propertyActivate (const gchar *prop_name, guint prop_state); void candidateClicked (guint index, guint button, guint state); private: gboolean processPunct (guint keyval, guint keycode, guint modifiers); private: void showSetupDialog (void); void connectEditorSignals (EditorPtr editor); private: void commitText (Text & text); private: PinyinProperties m_props; guint m_prev_pressed_key; enum { MODE_INIT = 0, // init mode MODE_PUNCT, // punct mode #if 0 MODE_RAW, // raw mode MODE_ENGLISH, // press v into English input mode MODE_TABLE, // press u into table input mode MODE_EXTENSION, // press i into extension input mode #endif MODE_SUGGESTION, // suggestion mode MODE_LAST, } m_input_mode; gboolean m_need_update; EditorPtr m_editors[MODE_LAST]; EditorPtr m_fallback_editor; }; }; #endif ibus-libpinyin-1.16.1/src/Makefile.in0000644000175000017500000036522714767166740013113 # Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # vim:set noet ts=4: # # ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus # # Copyright (c) 2008-2010 Peng Huang # VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ libexec_PROGRAMS = ibus-engine-libpinyin$(EXEEXT) @IBUS_BUILD_LUA_EXTENSION_TRUE@am__append_1 = \ @IBUS_BUILD_LUA_EXTENSION_TRUE@ PYExtEditor.cc \ @IBUS_BUILD_LUA_EXTENSION_TRUE@ PYPLuaTriggerCandidates.cc \ @IBUS_BUILD_LUA_EXTENSION_TRUE@ PYPLuaConverterCandidates.cc \ @IBUS_BUILD_LUA_EXTENSION_TRUE@ $(NULL) @ENABLE_CLOUD_INPUT_MODE_TRUE@am__append_2 = \ @ENABLE_CLOUD_INPUT_MODE_TRUE@ PYPCloudCandidates.h \ @ENABLE_CLOUD_INPUT_MODE_TRUE@ $(NULL) @ENABLE_CLOUD_INPUT_MODE_TRUE@am__append_3 = \ @ENABLE_CLOUD_INPUT_MODE_TRUE@ PYPCloudCandidates.cc \ @ENABLE_CLOUD_INPUT_MODE_TRUE@ $(NULL) @IBUS_BUILD_TABLE_INPUT_MODE_TRUE@am__append_4 = \ @IBUS_BUILD_TABLE_INPUT_MODE_TRUE@ PYTableDatabase.cc \ @IBUS_BUILD_TABLE_INPUT_MODE_TRUE@ PYTableEditor.cc \ @IBUS_BUILD_TABLE_INPUT_MODE_TRUE@ $(NULL) @IBUS_BUILD_ENGLISH_INPUT_MODE_TRUE@am__append_5 = \ @IBUS_BUILD_ENGLISH_INPUT_MODE_TRUE@ PYEnglishDatabase.cc \ @IBUS_BUILD_ENGLISH_INPUT_MODE_TRUE@ PYEnglishEditor.cc \ @IBUS_BUILD_ENGLISH_INPUT_MODE_TRUE@ PYPEnglishCandidates.cc \ @IBUS_BUILD_ENGLISH_INPUT_MODE_TRUE@ $(NULL) @HAVE_BOOST_TRUE@am__append_6 = \ @HAVE_BOOST_TRUE@ @BOOST_CPPFLAGS@ \ @HAVE_BOOST_TRUE@ $(NULL) @HAVE_BOOST_FALSE@am__append_7 = \ @HAVE_BOOST_FALSE@ -std=c++0x \ @HAVE_BOOST_FALSE@ $(NULL) @IBUS_BUILD_LUA_EXTENSION_TRUE@am__append_8 = \ @IBUS_BUILD_LUA_EXTENSION_TRUE@ @LUA_CFLAGS@ \ @IBUS_BUILD_LUA_EXTENSION_TRUE@ -DIBUS_BUILD_LUA_EXTENSION \ @IBUS_BUILD_LUA_EXTENSION_TRUE@ -I$(top_srcdir)/lua/ \ @IBUS_BUILD_LUA_EXTENSION_TRUE@ $(NULL) @IBUS_BUILD_LUA_EXTENSION_TRUE@am__append_9 = \ @IBUS_BUILD_LUA_EXTENSION_TRUE@ @LUA_LIBS@ \ @IBUS_BUILD_LUA_EXTENSION_TRUE@ -L../lua/ \ @IBUS_BUILD_LUA_EXTENSION_TRUE@ -lpylua \ @IBUS_BUILD_LUA_EXTENSION_TRUE@ $(NULL) @ENABLE_CLOUD_INPUT_MODE_TRUE@am__append_10 = \ @ENABLE_CLOUD_INPUT_MODE_TRUE@ @LIBSOUP_CFLAGS@ \ @ENABLE_CLOUD_INPUT_MODE_TRUE@ @JSONGLIB_CFLAGS@ \ @ENABLE_CLOUD_INPUT_MODE_TRUE@ -DENABLE_CLOUD_INPUT_MODE \ @ENABLE_CLOUD_INPUT_MODE_TRUE@ $(NULL) @ENABLE_CLOUD_INPUT_MODE_TRUE@am__append_11 = \ @ENABLE_CLOUD_INPUT_MODE_TRUE@ @LIBSOUP_LIBS@ \ @ENABLE_CLOUD_INPUT_MODE_TRUE@ @JSONGLIB_LIBS@ \ @ENABLE_CLOUD_INPUT_MODE_TRUE@ $(NULL) @IBUS_BUILD_ENGLISH_INPUT_MODE_TRUE@am__append_12 = \ @IBUS_BUILD_ENGLISH_INPUT_MODE_TRUE@ -DIBUS_BUILD_ENGLISH_INPUT_MODE \ @IBUS_BUILD_ENGLISH_INPUT_MODE_TRUE@ $(NULL) @IBUS_BUILD_TABLE_INPUT_MODE_TRUE@am__append_13 = \ @IBUS_BUILD_TABLE_INPUT_MODE_TRUE@ -DIBUS_BUILD_TABLE_INPUT_MODE \ @IBUS_BUILD_TABLE_INPUT_MODE_TRUE@ $(NULL) @ENABLE_LIBNOTIFY_TRUE@am__append_14 = \ @ENABLE_LIBNOTIFY_TRUE@ @LIBNOTIFY_CFLAGS@ \ @ENABLE_LIBNOTIFY_TRUE@ -DENABLE_LIBNOTIFY \ @ENABLE_LIBNOTIFY_TRUE@ $(NULL) @ENABLE_LIBNOTIFY_TRUE@am__append_15 = \ @ENABLE_LIBNOTIFY_TRUE@ @LIBNOTIFY_LIBS@ \ @ENABLE_LIBNOTIFY_TRUE@ $(NULL) subdir = src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/as-version.m4 \ $(top_srcdir)/m4/boost.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = libpinyin.inputmethod.xml.in \ default.inputmethod.xml.in CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(libexecdir)" \ "$(DESTDIR)$(componentdir)" "$(DESTDIR)$(enginedir)" PROGRAMS = $(libexec_PROGRAMS) am__ibus_engine_libpinyin_SOURCES_DIST = PYConfig.cc PYEditor.cc \ PYEngine.cc PYFallbackEditor.cc PYHalfFullConverter.cc \ PYMain.cc PYPinyinProperties.cc PYPunctEditor.cc \ PYSimpTradConverter.cc PYPConfig.cc PYLibPinyin.cc \ PYPPhoneticEditor.cc PYPPinyinEditor.cc PYPFullPinyinEditor.cc \ PYPDoublePinyinEditor.cc PYPBopomofoEditor.cc \ PYPPinyinEngine.cc PYPBopomofoEngine.cc \ PYPLibPinyinCandidates.cc PYPTradCandidates.cc \ PYPSuggestionEditor.cc PYPSuggestionCandidates.cc \ PYPEmojiCandidates.cc PYXMLUtil.cc PYExtEditor.cc \ PYPLuaTriggerCandidates.cc PYPLuaConverterCandidates.cc \ PYPCloudCandidates.cc PYTableDatabase.cc PYTableEditor.cc \ PYEnglishDatabase.cc PYEnglishEditor.cc \ PYPEnglishCandidates.cc PYBus.h PYConfig.h PYEditor.h \ PYEngine.h PYExtEditor.h PYFallbackEditor.h \ PYHalfFullConverter.h PYLookupTable.h PYObject.h \ PYPinyinProperties.h PYPointer.h PYProperty.h PYPunctEditor.h \ PYRawEditor.h PYSignal.h PYSimpTradConverter.h PYString.h \ PYText.h PYTypes.h PYUtil.h PYTableDatabase.h PYTableEditor.h \ PYEnglishDatabase.h PYEnglishEditor.h PYPEnglishCandidates.h \ PYLibPinyin.h PYPPhoneticEditor.h PYPPinyinEditor.h \ PYPFullPinyinEditor.h PYPDoublePinyinEditor.h \ PYPBopomofoEditor.h PYPPinyinEngine.h PYPBopomofoEngine.h \ PYPConfig.h PYPEnhancedCandidates.h PYPLibPinyinCandidates.h \ PYPTradCandidates.h PYPLuaTriggerCandidates.h \ PYPLuaConverterCandidates.h PYPSuggestionEditor.h \ PYPSuggestionCandidates.h PYPEmojiTable.h PYPEmojiCandidates.h \ PYXMLUtil.h PYPCloudCandidates.h PYPunctTable.h \ PYSimpTradConverterTable.h @IBUS_BUILD_LUA_EXTENSION_TRUE@am__objects_1 = ibus_engine_libpinyin-PYExtEditor.$(OBJEXT) \ @IBUS_BUILD_LUA_EXTENSION_TRUE@ ibus_engine_libpinyin-PYPLuaTriggerCandidates.$(OBJEXT) \ @IBUS_BUILD_LUA_EXTENSION_TRUE@ ibus_engine_libpinyin-PYPLuaConverterCandidates.$(OBJEXT) @ENABLE_CLOUD_INPUT_MODE_TRUE@am__objects_2 = ibus_engine_libpinyin-PYPCloudCandidates.$(OBJEXT) @IBUS_BUILD_TABLE_INPUT_MODE_TRUE@am__objects_3 = ibus_engine_libpinyin-PYTableDatabase.$(OBJEXT) \ @IBUS_BUILD_TABLE_INPUT_MODE_TRUE@ ibus_engine_libpinyin-PYTableEditor.$(OBJEXT) @IBUS_BUILD_ENGLISH_INPUT_MODE_TRUE@am__objects_4 = ibus_engine_libpinyin-PYEnglishDatabase.$(OBJEXT) \ @IBUS_BUILD_ENGLISH_INPUT_MODE_TRUE@ ibus_engine_libpinyin-PYEnglishEditor.$(OBJEXT) \ @IBUS_BUILD_ENGLISH_INPUT_MODE_TRUE@ ibus_engine_libpinyin-PYPEnglishCandidates.$(OBJEXT) am__objects_5 = ibus_engine_libpinyin-PYConfig.$(OBJEXT) \ ibus_engine_libpinyin-PYEditor.$(OBJEXT) \ ibus_engine_libpinyin-PYEngine.$(OBJEXT) \ ibus_engine_libpinyin-PYFallbackEditor.$(OBJEXT) \ ibus_engine_libpinyin-PYHalfFullConverter.$(OBJEXT) \ ibus_engine_libpinyin-PYMain.$(OBJEXT) \ ibus_engine_libpinyin-PYPinyinProperties.$(OBJEXT) \ ibus_engine_libpinyin-PYPunctEditor.$(OBJEXT) \ ibus_engine_libpinyin-PYSimpTradConverter.$(OBJEXT) \ ibus_engine_libpinyin-PYPConfig.$(OBJEXT) \ ibus_engine_libpinyin-PYLibPinyin.$(OBJEXT) \ ibus_engine_libpinyin-PYPPhoneticEditor.$(OBJEXT) \ ibus_engine_libpinyin-PYPPinyinEditor.$(OBJEXT) \ ibus_engine_libpinyin-PYPFullPinyinEditor.$(OBJEXT) \ ibus_engine_libpinyin-PYPDoublePinyinEditor.$(OBJEXT) \ ibus_engine_libpinyin-PYPBopomofoEditor.$(OBJEXT) \ ibus_engine_libpinyin-PYPPinyinEngine.$(OBJEXT) \ ibus_engine_libpinyin-PYPBopomofoEngine.$(OBJEXT) \ ibus_engine_libpinyin-PYPLibPinyinCandidates.$(OBJEXT) \ ibus_engine_libpinyin-PYPTradCandidates.$(OBJEXT) \ ibus_engine_libpinyin-PYPSuggestionEditor.$(OBJEXT) \ ibus_engine_libpinyin-PYPSuggestionCandidates.$(OBJEXT) \ ibus_engine_libpinyin-PYPEmojiCandidates.$(OBJEXT) \ ibus_engine_libpinyin-PYXMLUtil.$(OBJEXT) $(am__objects_1) \ $(am__objects_2) $(am__objects_3) $(am__objects_4) am__objects_6 = am__objects_7 = $(am__objects_6) am_ibus_engine_libpinyin_OBJECTS = $(am__objects_5) $(am__objects_7) \ $(am__objects_6) $(am__objects_6) ibus_engine_libpinyin_OBJECTS = $(am_ibus_engine_libpinyin_OBJECTS) am__DEPENDENCIES_1 = ibus_engine_libpinyin_DEPENDENCIES = $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = ibus_engine_libpinyin_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__maybe_remake_depfiles = depfiles am__depfiles_remade = ./$(DEPDIR)/ibus_engine_libpinyin-PYConfig.Po \ ./$(DEPDIR)/ibus_engine_libpinyin-PYEditor.Po \ ./$(DEPDIR)/ibus_engine_libpinyin-PYEngine.Po \ ./$(DEPDIR)/ibus_engine_libpinyin-PYEnglishDatabase.Po \ ./$(DEPDIR)/ibus_engine_libpinyin-PYEnglishEditor.Po \ ./$(DEPDIR)/ibus_engine_libpinyin-PYExtEditor.Po \ ./$(DEPDIR)/ibus_engine_libpinyin-PYFallbackEditor.Po \ ./$(DEPDIR)/ibus_engine_libpinyin-PYHalfFullConverter.Po \ ./$(DEPDIR)/ibus_engine_libpinyin-PYLibPinyin.Po \ ./$(DEPDIR)/ibus_engine_libpinyin-PYMain.Po \ ./$(DEPDIR)/ibus_engine_libpinyin-PYPBopomofoEditor.Po \ ./$(DEPDIR)/ibus_engine_libpinyin-PYPBopomofoEngine.Po \ ./$(DEPDIR)/ibus_engine_libpinyin-PYPCloudCandidates.Po \ ./$(DEPDIR)/ibus_engine_libpinyin-PYPConfig.Po \ ./$(DEPDIR)/ibus_engine_libpinyin-PYPDoublePinyinEditor.Po \ ./$(DEPDIR)/ibus_engine_libpinyin-PYPEmojiCandidates.Po \ ./$(DEPDIR)/ibus_engine_libpinyin-PYPEnglishCandidates.Po \ ./$(DEPDIR)/ibus_engine_libpinyin-PYPFullPinyinEditor.Po \ ./$(DEPDIR)/ibus_engine_libpinyin-PYPLibPinyinCandidates.Po \ ./$(DEPDIR)/ibus_engine_libpinyin-PYPLuaConverterCandidates.Po \ ./$(DEPDIR)/ibus_engine_libpinyin-PYPLuaTriggerCandidates.Po \ ./$(DEPDIR)/ibus_engine_libpinyin-PYPPhoneticEditor.Po \ ./$(DEPDIR)/ibus_engine_libpinyin-PYPPinyinEditor.Po \ ./$(DEPDIR)/ibus_engine_libpinyin-PYPPinyinEngine.Po \ ./$(DEPDIR)/ibus_engine_libpinyin-PYPSuggestionCandidates.Po \ ./$(DEPDIR)/ibus_engine_libpinyin-PYPSuggestionEditor.Po \ ./$(DEPDIR)/ibus_engine_libpinyin-PYPTradCandidates.Po \ ./$(DEPDIR)/ibus_engine_libpinyin-PYPinyinProperties.Po \ ./$(DEPDIR)/ibus_engine_libpinyin-PYPunctEditor.Po \ ./$(DEPDIR)/ibus_engine_libpinyin-PYSimpTradConverter.Po \ ./$(DEPDIR)/ibus_engine_libpinyin-PYTableDatabase.Po \ ./$(DEPDIR)/ibus_engine_libpinyin-PYTableEditor.Po \ ./$(DEPDIR)/ibus_engine_libpinyin-PYXMLUtil.Po am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(ibus_engine_libpinyin_SOURCES) DIST_SOURCES = $(am__ibus_engine_libpinyin_SOURCES_DIST) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } DATA = $(component_DATA) $(engine_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` am__DIST_COMMON = $(srcdir)/Makefile.in \ $(srcdir)/default.inputmethod.xml.in.in \ $(srcdir)/libpinyin.inputmethod.xml.in.in \ $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BOOST_CPPFLAGS = @BOOST_CPPFLAGS@ BOOST_ROOT = @BOOST_ROOT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CLOUD_INPUT_MODE = @CLOUD_INPUT_MODE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ CTAGS = @CTAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENV = @ENV@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GIO2_CFLAGS = @GIO2_CFLAGS@ GIO2_LIBS = @GIO2_LIBS@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ IBUS_CFLAGS = @IBUS_CFLAGS@ IBUS_LIBS = @IBUS_LIBS@ ICON_PROP_KEY_XML = @ICON_PROP_KEY_XML@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ JSONGLIB_CFLAGS = @JSONGLIB_CFLAGS@ JSONGLIB_LIBS = @JSONGLIB_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@ LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@ LIBOBJS = @LIBOBJS@ LIBPINYIN_CFLAGS = @LIBPINYIN_CFLAGS@ LIBPINYIN_DATADIR = @LIBPINYIN_DATADIR@ LIBPINYIN_LIBS = @LIBPINYIN_LIBS@ LIBS = @LIBS@ LIBSOUP_CFLAGS = @LIBSOUP_CFLAGS@ LIBSOUP_LIBS = @LIBSOUP_LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OPENCC_CFLAGS = @OPENCC_CFLAGS@ OPENCC_LIBS = @OPENCC_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PACKAGE_VERSION_MAJOR = @PACKAGE_VERSION_MAJOR@ PACKAGE_VERSION_MICRO = @PACKAGE_VERSION_MICRO@ PACKAGE_VERSION_MINOR = @PACKAGE_VERSION_MINOR@ PACKAGE_VERSION_NANO = @PACKAGE_VERSION_NANO@ PACKAGE_VERSION_RELEASE = @PACKAGE_VERSION_RELEASE@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PYTHON = @PYTHON@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SQLITE3 = @SQLITE3@ SQLITE_CFLAGS = @SQLITE_CFLAGS@ SQLITE_LIBS = @SQLITE_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gsettingsschemadir = @gsettingsschemadir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ ibus_engine_libpinyin_built_c_sources = \ $(NULL) ibus_engine_libpinyin_built_h_sources = \ PYPunctTable.h \ PYSimpTradConverterTable.h \ $(NULL) ibus_engine_libpinyin_c_sources = PYConfig.cc PYEditor.cc PYEngine.cc \ PYFallbackEditor.cc PYHalfFullConverter.cc PYMain.cc \ PYPinyinProperties.cc PYPunctEditor.cc PYSimpTradConverter.cc \ $(NULL) PYPConfig.cc PYLibPinyin.cc PYPPhoneticEditor.cc \ PYPPinyinEditor.cc PYPFullPinyinEditor.cc \ PYPDoublePinyinEditor.cc PYPBopomofoEditor.cc \ PYPPinyinEngine.cc PYPBopomofoEngine.cc \ PYPLibPinyinCandidates.cc PYPTradCandidates.cc \ PYPSuggestionEditor.cc PYPSuggestionCandidates.cc \ PYPEmojiCandidates.cc PYXMLUtil.cc $(NULL) $(am__append_1) \ $(am__append_3) $(am__append_4) $(am__append_5) ibus_engine_libpinyin_h_sources = PYBus.h PYConfig.h PYEditor.h \ PYEngine.h PYExtEditor.h PYFallbackEditor.h \ PYHalfFullConverter.h PYLookupTable.h PYObject.h \ PYPinyinProperties.h PYPointer.h PYProperty.h PYPunctEditor.h \ PYRawEditor.h PYSignal.h PYSimpTradConverter.h PYString.h \ PYText.h PYTypes.h PYUtil.h PYTableDatabase.h PYTableEditor.h \ PYEnglishDatabase.h PYEnglishEditor.h PYPEnglishCandidates.h \ PYLibPinyin.h PYPPhoneticEditor.h PYPPinyinEditor.h \ PYPFullPinyinEditor.h PYPDoublePinyinEditor.h \ PYPBopomofoEditor.h PYPPinyinEngine.h PYPBopomofoEngine.h \ PYPConfig.h PYPEnhancedCandidates.h PYPLibPinyinCandidates.h \ PYPTradCandidates.h PYPLuaTriggerCandidates.h \ PYPLuaConverterCandidates.h PYPSuggestionEditor.h \ PYPSuggestionCandidates.h PYPEmojiTable.h PYPEmojiCandidates.h \ PYXMLUtil.h $(NULL) $(am__append_2) ibus_engine_libpinyin_SOURCES = \ $(ibus_engine_libpinyin_c_sources) \ $(ibus_engine_libpinyin_h_sources) \ $(ibus_engine_libpinyin_built_c_sources) \ $(ibus_engine_libpinyin_built_h_sources) \ $(NULL) ibus_engine_libpinyin_CXXFLAGS = @IBUS_CFLAGS@ @SQLITE_CFLAGS@ \ @LIBPINYIN_CFLAGS@ @OPENCC_CFLAGS@ \ -DGETTEXT_PACKAGE=\"@GETTEXT_PACKAGE@\" \ -DLOCALEDIR=\"$(localedir)\" -DPKGDATADIR=\"$(pkgdatadir)\" \ -DLIBEXECDIR=\"$(libexecdir)\" $(NULL) $(am__append_6) \ $(am__append_7) \ -DLIBPINYIN_DATADIR=\"@LIBPINYIN_DATADIR@\/data\" $(NULL) \ $(am__append_8) $(am__append_10) $(am__append_12) \ $(am__append_13) $(am__append_14) ibus_engine_libpinyin_LDADD = @IBUS_LIBS@ @SQLITE_LIBS@ \ @LIBPINYIN_LIBS@ @OPENCC_LIBS@ $(NULL) $(am__append_9) \ $(am__append_11) $(am__append_15) BUILT_SOURCES = \ $(ibus_engine_built_c_sources) \ $(ibus_engine_built_h_sources) \ $(NULL) component_DATA = \ libpinyin.xml \ $(NULL) componentdir = @datadir@/ibus/component engine_DATA = \ default.xml \ $(NULL) enginedir = ${pkgdatadir} EXTRA_DIST = \ libpinyin.inputmethod.xml.in \ default.inputmethod.xml.in \ $(NULL) CLEANFILES = \ libpinyin.xml \ default.xml \ $(NULL) all: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) all-am .SUFFIXES: .SUFFIXES: .cc .lo .o .obj $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu src/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): libpinyin.inputmethod.xml.in: $(top_builddir)/config.status $(srcdir)/libpinyin.inputmethod.xml.in.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ default.inputmethod.xml.in: $(top_builddir)/config.status $(srcdir)/default.inputmethod.xml.in.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ install-libexecPROGRAMS: $(libexec_PROGRAMS) @$(NORMAL_INSTALL) @list='$(libexec_PROGRAMS)'; test -n "$(libexecdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(libexecdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(libexecdir)" || exit 1; \ fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p \ || test -f $$p1 \ ; then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' \ -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(libexecdir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(libexecdir)$$dir" || exit $$?; \ } \ ; done uninstall-libexecPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(libexec_PROGRAMS)'; test -n "$(libexecdir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' \ `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(libexecdir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(libexecdir)" && rm -f $$files clean-libexecPROGRAMS: @list='$(libexec_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list ibus-engine-libpinyin$(EXEEXT): $(ibus_engine_libpinyin_OBJECTS) $(ibus_engine_libpinyin_DEPENDENCIES) $(EXTRA_ibus_engine_libpinyin_DEPENDENCIES) @rm -f ibus-engine-libpinyin$(EXEEXT) $(AM_V_CXXLD)$(ibus_engine_libpinyin_LINK) $(ibus_engine_libpinyin_OBJECTS) $(ibus_engine_libpinyin_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibus_engine_libpinyin-PYConfig.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibus_engine_libpinyin-PYEditor.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibus_engine_libpinyin-PYEngine.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibus_engine_libpinyin-PYEnglishDatabase.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibus_engine_libpinyin-PYEnglishEditor.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibus_engine_libpinyin-PYExtEditor.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibus_engine_libpinyin-PYFallbackEditor.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibus_engine_libpinyin-PYHalfFullConverter.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibus_engine_libpinyin-PYLibPinyin.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibus_engine_libpinyin-PYMain.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibus_engine_libpinyin-PYPBopomofoEditor.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibus_engine_libpinyin-PYPBopomofoEngine.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibus_engine_libpinyin-PYPCloudCandidates.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibus_engine_libpinyin-PYPConfig.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibus_engine_libpinyin-PYPDoublePinyinEditor.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibus_engine_libpinyin-PYPEmojiCandidates.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibus_engine_libpinyin-PYPEnglishCandidates.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibus_engine_libpinyin-PYPFullPinyinEditor.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibus_engine_libpinyin-PYPLibPinyinCandidates.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibus_engine_libpinyin-PYPLuaConverterCandidates.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibus_engine_libpinyin-PYPLuaTriggerCandidates.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibus_engine_libpinyin-PYPPhoneticEditor.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibus_engine_libpinyin-PYPPinyinEditor.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibus_engine_libpinyin-PYPPinyinEngine.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibus_engine_libpinyin-PYPSuggestionCandidates.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibus_engine_libpinyin-PYPSuggestionEditor.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibus_engine_libpinyin-PYPTradCandidates.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibus_engine_libpinyin-PYPinyinProperties.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibus_engine_libpinyin-PYPunctEditor.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibus_engine_libpinyin-PYSimpTradConverter.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibus_engine_libpinyin-PYTableDatabase.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibus_engine_libpinyin-PYTableEditor.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibus_engine_libpinyin-PYXMLUtil.Po@am__quote@ # am--include-marker $(am__depfiles_remade): @$(MKDIR_P) $(@D) @echo '# dummy' >$@-t && $(am__mv) $@-t $@ am--depfiles: $(am__depfiles_remade) .cc.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cc.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cc.lo: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< ibus_engine_libpinyin-PYConfig.o: PYConfig.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYConfig.o -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYConfig.Tpo -c -o ibus_engine_libpinyin-PYConfig.o `test -f 'PYConfig.cc' || echo '$(srcdir)/'`PYConfig.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYConfig.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYConfig.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYConfig.cc' object='ibus_engine_libpinyin-PYConfig.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYConfig.o `test -f 'PYConfig.cc' || echo '$(srcdir)/'`PYConfig.cc ibus_engine_libpinyin-PYConfig.obj: PYConfig.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYConfig.obj -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYConfig.Tpo -c -o ibus_engine_libpinyin-PYConfig.obj `if test -f 'PYConfig.cc'; then $(CYGPATH_W) 'PYConfig.cc'; else $(CYGPATH_W) '$(srcdir)/PYConfig.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYConfig.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYConfig.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYConfig.cc' object='ibus_engine_libpinyin-PYConfig.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYConfig.obj `if test -f 'PYConfig.cc'; then $(CYGPATH_W) 'PYConfig.cc'; else $(CYGPATH_W) '$(srcdir)/PYConfig.cc'; fi` ibus_engine_libpinyin-PYEditor.o: PYEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYEditor.o -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYEditor.Tpo -c -o ibus_engine_libpinyin-PYEditor.o `test -f 'PYEditor.cc' || echo '$(srcdir)/'`PYEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYEditor.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYEditor.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYEditor.cc' object='ibus_engine_libpinyin-PYEditor.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYEditor.o `test -f 'PYEditor.cc' || echo '$(srcdir)/'`PYEditor.cc ibus_engine_libpinyin-PYEditor.obj: PYEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYEditor.obj -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYEditor.Tpo -c -o ibus_engine_libpinyin-PYEditor.obj `if test -f 'PYEditor.cc'; then $(CYGPATH_W) 'PYEditor.cc'; else $(CYGPATH_W) '$(srcdir)/PYEditor.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYEditor.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYEditor.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYEditor.cc' object='ibus_engine_libpinyin-PYEditor.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYEditor.obj `if test -f 'PYEditor.cc'; then $(CYGPATH_W) 'PYEditor.cc'; else $(CYGPATH_W) '$(srcdir)/PYEditor.cc'; fi` ibus_engine_libpinyin-PYEngine.o: PYEngine.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYEngine.o -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYEngine.Tpo -c -o ibus_engine_libpinyin-PYEngine.o `test -f 'PYEngine.cc' || echo '$(srcdir)/'`PYEngine.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYEngine.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYEngine.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYEngine.cc' object='ibus_engine_libpinyin-PYEngine.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYEngine.o `test -f 'PYEngine.cc' || echo '$(srcdir)/'`PYEngine.cc ibus_engine_libpinyin-PYEngine.obj: PYEngine.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYEngine.obj -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYEngine.Tpo -c -o ibus_engine_libpinyin-PYEngine.obj `if test -f 'PYEngine.cc'; then $(CYGPATH_W) 'PYEngine.cc'; else $(CYGPATH_W) '$(srcdir)/PYEngine.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYEngine.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYEngine.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYEngine.cc' object='ibus_engine_libpinyin-PYEngine.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYEngine.obj `if test -f 'PYEngine.cc'; then $(CYGPATH_W) 'PYEngine.cc'; else $(CYGPATH_W) '$(srcdir)/PYEngine.cc'; fi` ibus_engine_libpinyin-PYFallbackEditor.o: PYFallbackEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYFallbackEditor.o -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYFallbackEditor.Tpo -c -o ibus_engine_libpinyin-PYFallbackEditor.o `test -f 'PYFallbackEditor.cc' || echo '$(srcdir)/'`PYFallbackEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYFallbackEditor.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYFallbackEditor.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYFallbackEditor.cc' object='ibus_engine_libpinyin-PYFallbackEditor.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYFallbackEditor.o `test -f 'PYFallbackEditor.cc' || echo '$(srcdir)/'`PYFallbackEditor.cc ibus_engine_libpinyin-PYFallbackEditor.obj: PYFallbackEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYFallbackEditor.obj -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYFallbackEditor.Tpo -c -o ibus_engine_libpinyin-PYFallbackEditor.obj `if test -f 'PYFallbackEditor.cc'; then $(CYGPATH_W) 'PYFallbackEditor.cc'; else $(CYGPATH_W) '$(srcdir)/PYFallbackEditor.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYFallbackEditor.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYFallbackEditor.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYFallbackEditor.cc' object='ibus_engine_libpinyin-PYFallbackEditor.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYFallbackEditor.obj `if test -f 'PYFallbackEditor.cc'; then $(CYGPATH_W) 'PYFallbackEditor.cc'; else $(CYGPATH_W) '$(srcdir)/PYFallbackEditor.cc'; fi` ibus_engine_libpinyin-PYHalfFullConverter.o: PYHalfFullConverter.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYHalfFullConverter.o -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYHalfFullConverter.Tpo -c -o ibus_engine_libpinyin-PYHalfFullConverter.o `test -f 'PYHalfFullConverter.cc' || echo '$(srcdir)/'`PYHalfFullConverter.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYHalfFullConverter.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYHalfFullConverter.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYHalfFullConverter.cc' object='ibus_engine_libpinyin-PYHalfFullConverter.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYHalfFullConverter.o `test -f 'PYHalfFullConverter.cc' || echo '$(srcdir)/'`PYHalfFullConverter.cc ibus_engine_libpinyin-PYHalfFullConverter.obj: PYHalfFullConverter.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYHalfFullConverter.obj -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYHalfFullConverter.Tpo -c -o ibus_engine_libpinyin-PYHalfFullConverter.obj `if test -f 'PYHalfFullConverter.cc'; then $(CYGPATH_W) 'PYHalfFullConverter.cc'; else $(CYGPATH_W) '$(srcdir)/PYHalfFullConverter.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYHalfFullConverter.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYHalfFullConverter.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYHalfFullConverter.cc' object='ibus_engine_libpinyin-PYHalfFullConverter.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYHalfFullConverter.obj `if test -f 'PYHalfFullConverter.cc'; then $(CYGPATH_W) 'PYHalfFullConverter.cc'; else $(CYGPATH_W) '$(srcdir)/PYHalfFullConverter.cc'; fi` ibus_engine_libpinyin-PYMain.o: PYMain.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYMain.o -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYMain.Tpo -c -o ibus_engine_libpinyin-PYMain.o `test -f 'PYMain.cc' || echo '$(srcdir)/'`PYMain.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYMain.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYMain.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYMain.cc' object='ibus_engine_libpinyin-PYMain.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYMain.o `test -f 'PYMain.cc' || echo '$(srcdir)/'`PYMain.cc ibus_engine_libpinyin-PYMain.obj: PYMain.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYMain.obj -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYMain.Tpo -c -o ibus_engine_libpinyin-PYMain.obj `if test -f 'PYMain.cc'; then $(CYGPATH_W) 'PYMain.cc'; else $(CYGPATH_W) '$(srcdir)/PYMain.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYMain.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYMain.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYMain.cc' object='ibus_engine_libpinyin-PYMain.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYMain.obj `if test -f 'PYMain.cc'; then $(CYGPATH_W) 'PYMain.cc'; else $(CYGPATH_W) '$(srcdir)/PYMain.cc'; fi` ibus_engine_libpinyin-PYPinyinProperties.o: PYPinyinProperties.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPinyinProperties.o -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPinyinProperties.Tpo -c -o ibus_engine_libpinyin-PYPinyinProperties.o `test -f 'PYPinyinProperties.cc' || echo '$(srcdir)/'`PYPinyinProperties.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPinyinProperties.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPinyinProperties.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPinyinProperties.cc' object='ibus_engine_libpinyin-PYPinyinProperties.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPinyinProperties.o `test -f 'PYPinyinProperties.cc' || echo '$(srcdir)/'`PYPinyinProperties.cc ibus_engine_libpinyin-PYPinyinProperties.obj: PYPinyinProperties.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPinyinProperties.obj -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPinyinProperties.Tpo -c -o ibus_engine_libpinyin-PYPinyinProperties.obj `if test -f 'PYPinyinProperties.cc'; then $(CYGPATH_W) 'PYPinyinProperties.cc'; else $(CYGPATH_W) '$(srcdir)/PYPinyinProperties.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPinyinProperties.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPinyinProperties.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPinyinProperties.cc' object='ibus_engine_libpinyin-PYPinyinProperties.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPinyinProperties.obj `if test -f 'PYPinyinProperties.cc'; then $(CYGPATH_W) 'PYPinyinProperties.cc'; else $(CYGPATH_W) '$(srcdir)/PYPinyinProperties.cc'; fi` ibus_engine_libpinyin-PYPunctEditor.o: PYPunctEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPunctEditor.o -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPunctEditor.Tpo -c -o ibus_engine_libpinyin-PYPunctEditor.o `test -f 'PYPunctEditor.cc' || echo '$(srcdir)/'`PYPunctEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPunctEditor.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPunctEditor.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPunctEditor.cc' object='ibus_engine_libpinyin-PYPunctEditor.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPunctEditor.o `test -f 'PYPunctEditor.cc' || echo '$(srcdir)/'`PYPunctEditor.cc ibus_engine_libpinyin-PYPunctEditor.obj: PYPunctEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPunctEditor.obj -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPunctEditor.Tpo -c -o ibus_engine_libpinyin-PYPunctEditor.obj `if test -f 'PYPunctEditor.cc'; then $(CYGPATH_W) 'PYPunctEditor.cc'; else $(CYGPATH_W) '$(srcdir)/PYPunctEditor.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPunctEditor.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPunctEditor.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPunctEditor.cc' object='ibus_engine_libpinyin-PYPunctEditor.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPunctEditor.obj `if test -f 'PYPunctEditor.cc'; then $(CYGPATH_W) 'PYPunctEditor.cc'; else $(CYGPATH_W) '$(srcdir)/PYPunctEditor.cc'; fi` ibus_engine_libpinyin-PYSimpTradConverter.o: PYSimpTradConverter.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYSimpTradConverter.o -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYSimpTradConverter.Tpo -c -o ibus_engine_libpinyin-PYSimpTradConverter.o `test -f 'PYSimpTradConverter.cc' || echo '$(srcdir)/'`PYSimpTradConverter.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYSimpTradConverter.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYSimpTradConverter.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYSimpTradConverter.cc' object='ibus_engine_libpinyin-PYSimpTradConverter.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYSimpTradConverter.o `test -f 'PYSimpTradConverter.cc' || echo '$(srcdir)/'`PYSimpTradConverter.cc ibus_engine_libpinyin-PYSimpTradConverter.obj: PYSimpTradConverter.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYSimpTradConverter.obj -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYSimpTradConverter.Tpo -c -o ibus_engine_libpinyin-PYSimpTradConverter.obj `if test -f 'PYSimpTradConverter.cc'; then $(CYGPATH_W) 'PYSimpTradConverter.cc'; else $(CYGPATH_W) '$(srcdir)/PYSimpTradConverter.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYSimpTradConverter.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYSimpTradConverter.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYSimpTradConverter.cc' object='ibus_engine_libpinyin-PYSimpTradConverter.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYSimpTradConverter.obj `if test -f 'PYSimpTradConverter.cc'; then $(CYGPATH_W) 'PYSimpTradConverter.cc'; else $(CYGPATH_W) '$(srcdir)/PYSimpTradConverter.cc'; fi` ibus_engine_libpinyin-PYPConfig.o: PYPConfig.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPConfig.o -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPConfig.Tpo -c -o ibus_engine_libpinyin-PYPConfig.o `test -f 'PYPConfig.cc' || echo '$(srcdir)/'`PYPConfig.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPConfig.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPConfig.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPConfig.cc' object='ibus_engine_libpinyin-PYPConfig.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPConfig.o `test -f 'PYPConfig.cc' || echo '$(srcdir)/'`PYPConfig.cc ibus_engine_libpinyin-PYPConfig.obj: PYPConfig.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPConfig.obj -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPConfig.Tpo -c -o ibus_engine_libpinyin-PYPConfig.obj `if test -f 'PYPConfig.cc'; then $(CYGPATH_W) 'PYPConfig.cc'; else $(CYGPATH_W) '$(srcdir)/PYPConfig.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPConfig.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPConfig.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPConfig.cc' object='ibus_engine_libpinyin-PYPConfig.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPConfig.obj `if test -f 'PYPConfig.cc'; then $(CYGPATH_W) 'PYPConfig.cc'; else $(CYGPATH_W) '$(srcdir)/PYPConfig.cc'; fi` ibus_engine_libpinyin-PYLibPinyin.o: PYLibPinyin.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYLibPinyin.o -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYLibPinyin.Tpo -c -o ibus_engine_libpinyin-PYLibPinyin.o `test -f 'PYLibPinyin.cc' || echo '$(srcdir)/'`PYLibPinyin.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYLibPinyin.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYLibPinyin.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYLibPinyin.cc' object='ibus_engine_libpinyin-PYLibPinyin.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYLibPinyin.o `test -f 'PYLibPinyin.cc' || echo '$(srcdir)/'`PYLibPinyin.cc ibus_engine_libpinyin-PYLibPinyin.obj: PYLibPinyin.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYLibPinyin.obj -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYLibPinyin.Tpo -c -o ibus_engine_libpinyin-PYLibPinyin.obj `if test -f 'PYLibPinyin.cc'; then $(CYGPATH_W) 'PYLibPinyin.cc'; else $(CYGPATH_W) '$(srcdir)/PYLibPinyin.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYLibPinyin.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYLibPinyin.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYLibPinyin.cc' object='ibus_engine_libpinyin-PYLibPinyin.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYLibPinyin.obj `if test -f 'PYLibPinyin.cc'; then $(CYGPATH_W) 'PYLibPinyin.cc'; else $(CYGPATH_W) '$(srcdir)/PYLibPinyin.cc'; fi` ibus_engine_libpinyin-PYPPhoneticEditor.o: PYPPhoneticEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPPhoneticEditor.o -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPPhoneticEditor.Tpo -c -o ibus_engine_libpinyin-PYPPhoneticEditor.o `test -f 'PYPPhoneticEditor.cc' || echo '$(srcdir)/'`PYPPhoneticEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPPhoneticEditor.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPPhoneticEditor.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPPhoneticEditor.cc' object='ibus_engine_libpinyin-PYPPhoneticEditor.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPPhoneticEditor.o `test -f 'PYPPhoneticEditor.cc' || echo '$(srcdir)/'`PYPPhoneticEditor.cc ibus_engine_libpinyin-PYPPhoneticEditor.obj: PYPPhoneticEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPPhoneticEditor.obj -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPPhoneticEditor.Tpo -c -o ibus_engine_libpinyin-PYPPhoneticEditor.obj `if test -f 'PYPPhoneticEditor.cc'; then $(CYGPATH_W) 'PYPPhoneticEditor.cc'; else $(CYGPATH_W) '$(srcdir)/PYPPhoneticEditor.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPPhoneticEditor.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPPhoneticEditor.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPPhoneticEditor.cc' object='ibus_engine_libpinyin-PYPPhoneticEditor.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPPhoneticEditor.obj `if test -f 'PYPPhoneticEditor.cc'; then $(CYGPATH_W) 'PYPPhoneticEditor.cc'; else $(CYGPATH_W) '$(srcdir)/PYPPhoneticEditor.cc'; fi` ibus_engine_libpinyin-PYPPinyinEditor.o: PYPPinyinEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPPinyinEditor.o -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPPinyinEditor.Tpo -c -o ibus_engine_libpinyin-PYPPinyinEditor.o `test -f 'PYPPinyinEditor.cc' || echo '$(srcdir)/'`PYPPinyinEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPPinyinEditor.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPPinyinEditor.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPPinyinEditor.cc' object='ibus_engine_libpinyin-PYPPinyinEditor.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPPinyinEditor.o `test -f 'PYPPinyinEditor.cc' || echo '$(srcdir)/'`PYPPinyinEditor.cc ibus_engine_libpinyin-PYPPinyinEditor.obj: PYPPinyinEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPPinyinEditor.obj -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPPinyinEditor.Tpo -c -o ibus_engine_libpinyin-PYPPinyinEditor.obj `if test -f 'PYPPinyinEditor.cc'; then $(CYGPATH_W) 'PYPPinyinEditor.cc'; else $(CYGPATH_W) '$(srcdir)/PYPPinyinEditor.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPPinyinEditor.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPPinyinEditor.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPPinyinEditor.cc' object='ibus_engine_libpinyin-PYPPinyinEditor.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPPinyinEditor.obj `if test -f 'PYPPinyinEditor.cc'; then $(CYGPATH_W) 'PYPPinyinEditor.cc'; else $(CYGPATH_W) '$(srcdir)/PYPPinyinEditor.cc'; fi` ibus_engine_libpinyin-PYPFullPinyinEditor.o: PYPFullPinyinEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPFullPinyinEditor.o -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPFullPinyinEditor.Tpo -c -o ibus_engine_libpinyin-PYPFullPinyinEditor.o `test -f 'PYPFullPinyinEditor.cc' || echo '$(srcdir)/'`PYPFullPinyinEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPFullPinyinEditor.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPFullPinyinEditor.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPFullPinyinEditor.cc' object='ibus_engine_libpinyin-PYPFullPinyinEditor.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPFullPinyinEditor.o `test -f 'PYPFullPinyinEditor.cc' || echo '$(srcdir)/'`PYPFullPinyinEditor.cc ibus_engine_libpinyin-PYPFullPinyinEditor.obj: PYPFullPinyinEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPFullPinyinEditor.obj -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPFullPinyinEditor.Tpo -c -o ibus_engine_libpinyin-PYPFullPinyinEditor.obj `if test -f 'PYPFullPinyinEditor.cc'; then $(CYGPATH_W) 'PYPFullPinyinEditor.cc'; else $(CYGPATH_W) '$(srcdir)/PYPFullPinyinEditor.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPFullPinyinEditor.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPFullPinyinEditor.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPFullPinyinEditor.cc' object='ibus_engine_libpinyin-PYPFullPinyinEditor.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPFullPinyinEditor.obj `if test -f 'PYPFullPinyinEditor.cc'; then $(CYGPATH_W) 'PYPFullPinyinEditor.cc'; else $(CYGPATH_W) '$(srcdir)/PYPFullPinyinEditor.cc'; fi` ibus_engine_libpinyin-PYPDoublePinyinEditor.o: PYPDoublePinyinEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPDoublePinyinEditor.o -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPDoublePinyinEditor.Tpo -c -o ibus_engine_libpinyin-PYPDoublePinyinEditor.o `test -f 'PYPDoublePinyinEditor.cc' || echo '$(srcdir)/'`PYPDoublePinyinEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPDoublePinyinEditor.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPDoublePinyinEditor.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPDoublePinyinEditor.cc' object='ibus_engine_libpinyin-PYPDoublePinyinEditor.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPDoublePinyinEditor.o `test -f 'PYPDoublePinyinEditor.cc' || echo '$(srcdir)/'`PYPDoublePinyinEditor.cc ibus_engine_libpinyin-PYPDoublePinyinEditor.obj: PYPDoublePinyinEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPDoublePinyinEditor.obj -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPDoublePinyinEditor.Tpo -c -o ibus_engine_libpinyin-PYPDoublePinyinEditor.obj `if test -f 'PYPDoublePinyinEditor.cc'; then $(CYGPATH_W) 'PYPDoublePinyinEditor.cc'; else $(CYGPATH_W) '$(srcdir)/PYPDoublePinyinEditor.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPDoublePinyinEditor.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPDoublePinyinEditor.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPDoublePinyinEditor.cc' object='ibus_engine_libpinyin-PYPDoublePinyinEditor.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPDoublePinyinEditor.obj `if test -f 'PYPDoublePinyinEditor.cc'; then $(CYGPATH_W) 'PYPDoublePinyinEditor.cc'; else $(CYGPATH_W) '$(srcdir)/PYPDoublePinyinEditor.cc'; fi` ibus_engine_libpinyin-PYPBopomofoEditor.o: PYPBopomofoEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPBopomofoEditor.o -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPBopomofoEditor.Tpo -c -o ibus_engine_libpinyin-PYPBopomofoEditor.o `test -f 'PYPBopomofoEditor.cc' || echo '$(srcdir)/'`PYPBopomofoEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPBopomofoEditor.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPBopomofoEditor.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPBopomofoEditor.cc' object='ibus_engine_libpinyin-PYPBopomofoEditor.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPBopomofoEditor.o `test -f 'PYPBopomofoEditor.cc' || echo '$(srcdir)/'`PYPBopomofoEditor.cc ibus_engine_libpinyin-PYPBopomofoEditor.obj: PYPBopomofoEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPBopomofoEditor.obj -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPBopomofoEditor.Tpo -c -o ibus_engine_libpinyin-PYPBopomofoEditor.obj `if test -f 'PYPBopomofoEditor.cc'; then $(CYGPATH_W) 'PYPBopomofoEditor.cc'; else $(CYGPATH_W) '$(srcdir)/PYPBopomofoEditor.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPBopomofoEditor.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPBopomofoEditor.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPBopomofoEditor.cc' object='ibus_engine_libpinyin-PYPBopomofoEditor.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPBopomofoEditor.obj `if test -f 'PYPBopomofoEditor.cc'; then $(CYGPATH_W) 'PYPBopomofoEditor.cc'; else $(CYGPATH_W) '$(srcdir)/PYPBopomofoEditor.cc'; fi` ibus_engine_libpinyin-PYPPinyinEngine.o: PYPPinyinEngine.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPPinyinEngine.o -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPPinyinEngine.Tpo -c -o ibus_engine_libpinyin-PYPPinyinEngine.o `test -f 'PYPPinyinEngine.cc' || echo '$(srcdir)/'`PYPPinyinEngine.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPPinyinEngine.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPPinyinEngine.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPPinyinEngine.cc' object='ibus_engine_libpinyin-PYPPinyinEngine.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPPinyinEngine.o `test -f 'PYPPinyinEngine.cc' || echo '$(srcdir)/'`PYPPinyinEngine.cc ibus_engine_libpinyin-PYPPinyinEngine.obj: PYPPinyinEngine.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPPinyinEngine.obj -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPPinyinEngine.Tpo -c -o ibus_engine_libpinyin-PYPPinyinEngine.obj `if test -f 'PYPPinyinEngine.cc'; then $(CYGPATH_W) 'PYPPinyinEngine.cc'; else $(CYGPATH_W) '$(srcdir)/PYPPinyinEngine.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPPinyinEngine.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPPinyinEngine.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPPinyinEngine.cc' object='ibus_engine_libpinyin-PYPPinyinEngine.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPPinyinEngine.obj `if test -f 'PYPPinyinEngine.cc'; then $(CYGPATH_W) 'PYPPinyinEngine.cc'; else $(CYGPATH_W) '$(srcdir)/PYPPinyinEngine.cc'; fi` ibus_engine_libpinyin-PYPBopomofoEngine.o: PYPBopomofoEngine.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPBopomofoEngine.o -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPBopomofoEngine.Tpo -c -o ibus_engine_libpinyin-PYPBopomofoEngine.o `test -f 'PYPBopomofoEngine.cc' || echo '$(srcdir)/'`PYPBopomofoEngine.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPBopomofoEngine.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPBopomofoEngine.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPBopomofoEngine.cc' object='ibus_engine_libpinyin-PYPBopomofoEngine.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPBopomofoEngine.o `test -f 'PYPBopomofoEngine.cc' || echo '$(srcdir)/'`PYPBopomofoEngine.cc ibus_engine_libpinyin-PYPBopomofoEngine.obj: PYPBopomofoEngine.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPBopomofoEngine.obj -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPBopomofoEngine.Tpo -c -o ibus_engine_libpinyin-PYPBopomofoEngine.obj `if test -f 'PYPBopomofoEngine.cc'; then $(CYGPATH_W) 'PYPBopomofoEngine.cc'; else $(CYGPATH_W) '$(srcdir)/PYPBopomofoEngine.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPBopomofoEngine.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPBopomofoEngine.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPBopomofoEngine.cc' object='ibus_engine_libpinyin-PYPBopomofoEngine.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPBopomofoEngine.obj `if test -f 'PYPBopomofoEngine.cc'; then $(CYGPATH_W) 'PYPBopomofoEngine.cc'; else $(CYGPATH_W) '$(srcdir)/PYPBopomofoEngine.cc'; fi` ibus_engine_libpinyin-PYPLibPinyinCandidates.o: PYPLibPinyinCandidates.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPLibPinyinCandidates.o -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPLibPinyinCandidates.Tpo -c -o ibus_engine_libpinyin-PYPLibPinyinCandidates.o `test -f 'PYPLibPinyinCandidates.cc' || echo '$(srcdir)/'`PYPLibPinyinCandidates.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPLibPinyinCandidates.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPLibPinyinCandidates.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPLibPinyinCandidates.cc' object='ibus_engine_libpinyin-PYPLibPinyinCandidates.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPLibPinyinCandidates.o `test -f 'PYPLibPinyinCandidates.cc' || echo '$(srcdir)/'`PYPLibPinyinCandidates.cc ibus_engine_libpinyin-PYPLibPinyinCandidates.obj: PYPLibPinyinCandidates.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPLibPinyinCandidates.obj -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPLibPinyinCandidates.Tpo -c -o ibus_engine_libpinyin-PYPLibPinyinCandidates.obj `if test -f 'PYPLibPinyinCandidates.cc'; then $(CYGPATH_W) 'PYPLibPinyinCandidates.cc'; else $(CYGPATH_W) '$(srcdir)/PYPLibPinyinCandidates.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPLibPinyinCandidates.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPLibPinyinCandidates.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPLibPinyinCandidates.cc' object='ibus_engine_libpinyin-PYPLibPinyinCandidates.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPLibPinyinCandidates.obj `if test -f 'PYPLibPinyinCandidates.cc'; then $(CYGPATH_W) 'PYPLibPinyinCandidates.cc'; else $(CYGPATH_W) '$(srcdir)/PYPLibPinyinCandidates.cc'; fi` ibus_engine_libpinyin-PYPTradCandidates.o: PYPTradCandidates.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPTradCandidates.o -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPTradCandidates.Tpo -c -o ibus_engine_libpinyin-PYPTradCandidates.o `test -f 'PYPTradCandidates.cc' || echo '$(srcdir)/'`PYPTradCandidates.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPTradCandidates.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPTradCandidates.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPTradCandidates.cc' object='ibus_engine_libpinyin-PYPTradCandidates.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPTradCandidates.o `test -f 'PYPTradCandidates.cc' || echo '$(srcdir)/'`PYPTradCandidates.cc ibus_engine_libpinyin-PYPTradCandidates.obj: PYPTradCandidates.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPTradCandidates.obj -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPTradCandidates.Tpo -c -o ibus_engine_libpinyin-PYPTradCandidates.obj `if test -f 'PYPTradCandidates.cc'; then $(CYGPATH_W) 'PYPTradCandidates.cc'; else $(CYGPATH_W) '$(srcdir)/PYPTradCandidates.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPTradCandidates.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPTradCandidates.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPTradCandidates.cc' object='ibus_engine_libpinyin-PYPTradCandidates.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPTradCandidates.obj `if test -f 'PYPTradCandidates.cc'; then $(CYGPATH_W) 'PYPTradCandidates.cc'; else $(CYGPATH_W) '$(srcdir)/PYPTradCandidates.cc'; fi` ibus_engine_libpinyin-PYPSuggestionEditor.o: PYPSuggestionEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPSuggestionEditor.o -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPSuggestionEditor.Tpo -c -o ibus_engine_libpinyin-PYPSuggestionEditor.o `test -f 'PYPSuggestionEditor.cc' || echo '$(srcdir)/'`PYPSuggestionEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPSuggestionEditor.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPSuggestionEditor.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPSuggestionEditor.cc' object='ibus_engine_libpinyin-PYPSuggestionEditor.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPSuggestionEditor.o `test -f 'PYPSuggestionEditor.cc' || echo '$(srcdir)/'`PYPSuggestionEditor.cc ibus_engine_libpinyin-PYPSuggestionEditor.obj: PYPSuggestionEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPSuggestionEditor.obj -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPSuggestionEditor.Tpo -c -o ibus_engine_libpinyin-PYPSuggestionEditor.obj `if test -f 'PYPSuggestionEditor.cc'; then $(CYGPATH_W) 'PYPSuggestionEditor.cc'; else $(CYGPATH_W) '$(srcdir)/PYPSuggestionEditor.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPSuggestionEditor.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPSuggestionEditor.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPSuggestionEditor.cc' object='ibus_engine_libpinyin-PYPSuggestionEditor.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPSuggestionEditor.obj `if test -f 'PYPSuggestionEditor.cc'; then $(CYGPATH_W) 'PYPSuggestionEditor.cc'; else $(CYGPATH_W) '$(srcdir)/PYPSuggestionEditor.cc'; fi` ibus_engine_libpinyin-PYPSuggestionCandidates.o: PYPSuggestionCandidates.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPSuggestionCandidates.o -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPSuggestionCandidates.Tpo -c -o ibus_engine_libpinyin-PYPSuggestionCandidates.o `test -f 'PYPSuggestionCandidates.cc' || echo '$(srcdir)/'`PYPSuggestionCandidates.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPSuggestionCandidates.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPSuggestionCandidates.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPSuggestionCandidates.cc' object='ibus_engine_libpinyin-PYPSuggestionCandidates.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPSuggestionCandidates.o `test -f 'PYPSuggestionCandidates.cc' || echo '$(srcdir)/'`PYPSuggestionCandidates.cc ibus_engine_libpinyin-PYPSuggestionCandidates.obj: PYPSuggestionCandidates.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPSuggestionCandidates.obj -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPSuggestionCandidates.Tpo -c -o ibus_engine_libpinyin-PYPSuggestionCandidates.obj `if test -f 'PYPSuggestionCandidates.cc'; then $(CYGPATH_W) 'PYPSuggestionCandidates.cc'; else $(CYGPATH_W) '$(srcdir)/PYPSuggestionCandidates.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPSuggestionCandidates.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPSuggestionCandidates.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPSuggestionCandidates.cc' object='ibus_engine_libpinyin-PYPSuggestionCandidates.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPSuggestionCandidates.obj `if test -f 'PYPSuggestionCandidates.cc'; then $(CYGPATH_W) 'PYPSuggestionCandidates.cc'; else $(CYGPATH_W) '$(srcdir)/PYPSuggestionCandidates.cc'; fi` ibus_engine_libpinyin-PYPEmojiCandidates.o: PYPEmojiCandidates.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPEmojiCandidates.o -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPEmojiCandidates.Tpo -c -o ibus_engine_libpinyin-PYPEmojiCandidates.o `test -f 'PYPEmojiCandidates.cc' || echo '$(srcdir)/'`PYPEmojiCandidates.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPEmojiCandidates.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPEmojiCandidates.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPEmojiCandidates.cc' object='ibus_engine_libpinyin-PYPEmojiCandidates.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPEmojiCandidates.o `test -f 'PYPEmojiCandidates.cc' || echo '$(srcdir)/'`PYPEmojiCandidates.cc ibus_engine_libpinyin-PYPEmojiCandidates.obj: PYPEmojiCandidates.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPEmojiCandidates.obj -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPEmojiCandidates.Tpo -c -o ibus_engine_libpinyin-PYPEmojiCandidates.obj `if test -f 'PYPEmojiCandidates.cc'; then $(CYGPATH_W) 'PYPEmojiCandidates.cc'; else $(CYGPATH_W) '$(srcdir)/PYPEmojiCandidates.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPEmojiCandidates.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPEmojiCandidates.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPEmojiCandidates.cc' object='ibus_engine_libpinyin-PYPEmojiCandidates.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPEmojiCandidates.obj `if test -f 'PYPEmojiCandidates.cc'; then $(CYGPATH_W) 'PYPEmojiCandidates.cc'; else $(CYGPATH_W) '$(srcdir)/PYPEmojiCandidates.cc'; fi` ibus_engine_libpinyin-PYXMLUtil.o: PYXMLUtil.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYXMLUtil.o -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYXMLUtil.Tpo -c -o ibus_engine_libpinyin-PYXMLUtil.o `test -f 'PYXMLUtil.cc' || echo '$(srcdir)/'`PYXMLUtil.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYXMLUtil.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYXMLUtil.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYXMLUtil.cc' object='ibus_engine_libpinyin-PYXMLUtil.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYXMLUtil.o `test -f 'PYXMLUtil.cc' || echo '$(srcdir)/'`PYXMLUtil.cc ibus_engine_libpinyin-PYXMLUtil.obj: PYXMLUtil.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYXMLUtil.obj -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYXMLUtil.Tpo -c -o ibus_engine_libpinyin-PYXMLUtil.obj `if test -f 'PYXMLUtil.cc'; then $(CYGPATH_W) 'PYXMLUtil.cc'; else $(CYGPATH_W) '$(srcdir)/PYXMLUtil.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYXMLUtil.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYXMLUtil.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYXMLUtil.cc' object='ibus_engine_libpinyin-PYXMLUtil.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYXMLUtil.obj `if test -f 'PYXMLUtil.cc'; then $(CYGPATH_W) 'PYXMLUtil.cc'; else $(CYGPATH_W) '$(srcdir)/PYXMLUtil.cc'; fi` ibus_engine_libpinyin-PYExtEditor.o: PYExtEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYExtEditor.o -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYExtEditor.Tpo -c -o ibus_engine_libpinyin-PYExtEditor.o `test -f 'PYExtEditor.cc' || echo '$(srcdir)/'`PYExtEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYExtEditor.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYExtEditor.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYExtEditor.cc' object='ibus_engine_libpinyin-PYExtEditor.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYExtEditor.o `test -f 'PYExtEditor.cc' || echo '$(srcdir)/'`PYExtEditor.cc ibus_engine_libpinyin-PYExtEditor.obj: PYExtEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYExtEditor.obj -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYExtEditor.Tpo -c -o ibus_engine_libpinyin-PYExtEditor.obj `if test -f 'PYExtEditor.cc'; then $(CYGPATH_W) 'PYExtEditor.cc'; else $(CYGPATH_W) '$(srcdir)/PYExtEditor.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYExtEditor.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYExtEditor.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYExtEditor.cc' object='ibus_engine_libpinyin-PYExtEditor.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYExtEditor.obj `if test -f 'PYExtEditor.cc'; then $(CYGPATH_W) 'PYExtEditor.cc'; else $(CYGPATH_W) '$(srcdir)/PYExtEditor.cc'; fi` ibus_engine_libpinyin-PYPLuaTriggerCandidates.o: PYPLuaTriggerCandidates.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPLuaTriggerCandidates.o -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPLuaTriggerCandidates.Tpo -c -o ibus_engine_libpinyin-PYPLuaTriggerCandidates.o `test -f 'PYPLuaTriggerCandidates.cc' || echo '$(srcdir)/'`PYPLuaTriggerCandidates.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPLuaTriggerCandidates.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPLuaTriggerCandidates.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPLuaTriggerCandidates.cc' object='ibus_engine_libpinyin-PYPLuaTriggerCandidates.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPLuaTriggerCandidates.o `test -f 'PYPLuaTriggerCandidates.cc' || echo '$(srcdir)/'`PYPLuaTriggerCandidates.cc ibus_engine_libpinyin-PYPLuaTriggerCandidates.obj: PYPLuaTriggerCandidates.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPLuaTriggerCandidates.obj -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPLuaTriggerCandidates.Tpo -c -o ibus_engine_libpinyin-PYPLuaTriggerCandidates.obj `if test -f 'PYPLuaTriggerCandidates.cc'; then $(CYGPATH_W) 'PYPLuaTriggerCandidates.cc'; else $(CYGPATH_W) '$(srcdir)/PYPLuaTriggerCandidates.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPLuaTriggerCandidates.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPLuaTriggerCandidates.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPLuaTriggerCandidates.cc' object='ibus_engine_libpinyin-PYPLuaTriggerCandidates.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPLuaTriggerCandidates.obj `if test -f 'PYPLuaTriggerCandidates.cc'; then $(CYGPATH_W) 'PYPLuaTriggerCandidates.cc'; else $(CYGPATH_W) '$(srcdir)/PYPLuaTriggerCandidates.cc'; fi` ibus_engine_libpinyin-PYPLuaConverterCandidates.o: PYPLuaConverterCandidates.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPLuaConverterCandidates.o -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPLuaConverterCandidates.Tpo -c -o ibus_engine_libpinyin-PYPLuaConverterCandidates.o `test -f 'PYPLuaConverterCandidates.cc' || echo '$(srcdir)/'`PYPLuaConverterCandidates.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPLuaConverterCandidates.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPLuaConverterCandidates.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPLuaConverterCandidates.cc' object='ibus_engine_libpinyin-PYPLuaConverterCandidates.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPLuaConverterCandidates.o `test -f 'PYPLuaConverterCandidates.cc' || echo '$(srcdir)/'`PYPLuaConverterCandidates.cc ibus_engine_libpinyin-PYPLuaConverterCandidates.obj: PYPLuaConverterCandidates.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPLuaConverterCandidates.obj -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPLuaConverterCandidates.Tpo -c -o ibus_engine_libpinyin-PYPLuaConverterCandidates.obj `if test -f 'PYPLuaConverterCandidates.cc'; then $(CYGPATH_W) 'PYPLuaConverterCandidates.cc'; else $(CYGPATH_W) '$(srcdir)/PYPLuaConverterCandidates.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPLuaConverterCandidates.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPLuaConverterCandidates.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPLuaConverterCandidates.cc' object='ibus_engine_libpinyin-PYPLuaConverterCandidates.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPLuaConverterCandidates.obj `if test -f 'PYPLuaConverterCandidates.cc'; then $(CYGPATH_W) 'PYPLuaConverterCandidates.cc'; else $(CYGPATH_W) '$(srcdir)/PYPLuaConverterCandidates.cc'; fi` ibus_engine_libpinyin-PYPCloudCandidates.o: PYPCloudCandidates.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPCloudCandidates.o -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPCloudCandidates.Tpo -c -o ibus_engine_libpinyin-PYPCloudCandidates.o `test -f 'PYPCloudCandidates.cc' || echo '$(srcdir)/'`PYPCloudCandidates.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPCloudCandidates.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPCloudCandidates.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPCloudCandidates.cc' object='ibus_engine_libpinyin-PYPCloudCandidates.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPCloudCandidates.o `test -f 'PYPCloudCandidates.cc' || echo '$(srcdir)/'`PYPCloudCandidates.cc ibus_engine_libpinyin-PYPCloudCandidates.obj: PYPCloudCandidates.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPCloudCandidates.obj -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPCloudCandidates.Tpo -c -o ibus_engine_libpinyin-PYPCloudCandidates.obj `if test -f 'PYPCloudCandidates.cc'; then $(CYGPATH_W) 'PYPCloudCandidates.cc'; else $(CYGPATH_W) '$(srcdir)/PYPCloudCandidates.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPCloudCandidates.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPCloudCandidates.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPCloudCandidates.cc' object='ibus_engine_libpinyin-PYPCloudCandidates.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPCloudCandidates.obj `if test -f 'PYPCloudCandidates.cc'; then $(CYGPATH_W) 'PYPCloudCandidates.cc'; else $(CYGPATH_W) '$(srcdir)/PYPCloudCandidates.cc'; fi` ibus_engine_libpinyin-PYTableDatabase.o: PYTableDatabase.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYTableDatabase.o -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYTableDatabase.Tpo -c -o ibus_engine_libpinyin-PYTableDatabase.o `test -f 'PYTableDatabase.cc' || echo '$(srcdir)/'`PYTableDatabase.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYTableDatabase.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYTableDatabase.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYTableDatabase.cc' object='ibus_engine_libpinyin-PYTableDatabase.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYTableDatabase.o `test -f 'PYTableDatabase.cc' || echo '$(srcdir)/'`PYTableDatabase.cc ibus_engine_libpinyin-PYTableDatabase.obj: PYTableDatabase.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYTableDatabase.obj -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYTableDatabase.Tpo -c -o ibus_engine_libpinyin-PYTableDatabase.obj `if test -f 'PYTableDatabase.cc'; then $(CYGPATH_W) 'PYTableDatabase.cc'; else $(CYGPATH_W) '$(srcdir)/PYTableDatabase.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYTableDatabase.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYTableDatabase.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYTableDatabase.cc' object='ibus_engine_libpinyin-PYTableDatabase.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYTableDatabase.obj `if test -f 'PYTableDatabase.cc'; then $(CYGPATH_W) 'PYTableDatabase.cc'; else $(CYGPATH_W) '$(srcdir)/PYTableDatabase.cc'; fi` ibus_engine_libpinyin-PYTableEditor.o: PYTableEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYTableEditor.o -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYTableEditor.Tpo -c -o ibus_engine_libpinyin-PYTableEditor.o `test -f 'PYTableEditor.cc' || echo '$(srcdir)/'`PYTableEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYTableEditor.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYTableEditor.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYTableEditor.cc' object='ibus_engine_libpinyin-PYTableEditor.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYTableEditor.o `test -f 'PYTableEditor.cc' || echo '$(srcdir)/'`PYTableEditor.cc ibus_engine_libpinyin-PYTableEditor.obj: PYTableEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYTableEditor.obj -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYTableEditor.Tpo -c -o ibus_engine_libpinyin-PYTableEditor.obj `if test -f 'PYTableEditor.cc'; then $(CYGPATH_W) 'PYTableEditor.cc'; else $(CYGPATH_W) '$(srcdir)/PYTableEditor.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYTableEditor.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYTableEditor.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYTableEditor.cc' object='ibus_engine_libpinyin-PYTableEditor.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYTableEditor.obj `if test -f 'PYTableEditor.cc'; then $(CYGPATH_W) 'PYTableEditor.cc'; else $(CYGPATH_W) '$(srcdir)/PYTableEditor.cc'; fi` ibus_engine_libpinyin-PYEnglishDatabase.o: PYEnglishDatabase.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYEnglishDatabase.o -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYEnglishDatabase.Tpo -c -o ibus_engine_libpinyin-PYEnglishDatabase.o `test -f 'PYEnglishDatabase.cc' || echo '$(srcdir)/'`PYEnglishDatabase.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYEnglishDatabase.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYEnglishDatabase.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYEnglishDatabase.cc' object='ibus_engine_libpinyin-PYEnglishDatabase.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYEnglishDatabase.o `test -f 'PYEnglishDatabase.cc' || echo '$(srcdir)/'`PYEnglishDatabase.cc ibus_engine_libpinyin-PYEnglishDatabase.obj: PYEnglishDatabase.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYEnglishDatabase.obj -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYEnglishDatabase.Tpo -c -o ibus_engine_libpinyin-PYEnglishDatabase.obj `if test -f 'PYEnglishDatabase.cc'; then $(CYGPATH_W) 'PYEnglishDatabase.cc'; else $(CYGPATH_W) '$(srcdir)/PYEnglishDatabase.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYEnglishDatabase.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYEnglishDatabase.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYEnglishDatabase.cc' object='ibus_engine_libpinyin-PYEnglishDatabase.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYEnglishDatabase.obj `if test -f 'PYEnglishDatabase.cc'; then $(CYGPATH_W) 'PYEnglishDatabase.cc'; else $(CYGPATH_W) '$(srcdir)/PYEnglishDatabase.cc'; fi` ibus_engine_libpinyin-PYEnglishEditor.o: PYEnglishEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYEnglishEditor.o -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYEnglishEditor.Tpo -c -o ibus_engine_libpinyin-PYEnglishEditor.o `test -f 'PYEnglishEditor.cc' || echo '$(srcdir)/'`PYEnglishEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYEnglishEditor.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYEnglishEditor.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYEnglishEditor.cc' object='ibus_engine_libpinyin-PYEnglishEditor.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYEnglishEditor.o `test -f 'PYEnglishEditor.cc' || echo '$(srcdir)/'`PYEnglishEditor.cc ibus_engine_libpinyin-PYEnglishEditor.obj: PYEnglishEditor.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYEnglishEditor.obj -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYEnglishEditor.Tpo -c -o ibus_engine_libpinyin-PYEnglishEditor.obj `if test -f 'PYEnglishEditor.cc'; then $(CYGPATH_W) 'PYEnglishEditor.cc'; else $(CYGPATH_W) '$(srcdir)/PYEnglishEditor.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYEnglishEditor.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYEnglishEditor.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYEnglishEditor.cc' object='ibus_engine_libpinyin-PYEnglishEditor.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYEnglishEditor.obj `if test -f 'PYEnglishEditor.cc'; then $(CYGPATH_W) 'PYEnglishEditor.cc'; else $(CYGPATH_W) '$(srcdir)/PYEnglishEditor.cc'; fi` ibus_engine_libpinyin-PYPEnglishCandidates.o: PYPEnglishCandidates.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPEnglishCandidates.o -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPEnglishCandidates.Tpo -c -o ibus_engine_libpinyin-PYPEnglishCandidates.o `test -f 'PYPEnglishCandidates.cc' || echo '$(srcdir)/'`PYPEnglishCandidates.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPEnglishCandidates.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPEnglishCandidates.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPEnglishCandidates.cc' object='ibus_engine_libpinyin-PYPEnglishCandidates.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPEnglishCandidates.o `test -f 'PYPEnglishCandidates.cc' || echo '$(srcdir)/'`PYPEnglishCandidates.cc ibus_engine_libpinyin-PYPEnglishCandidates.obj: PYPEnglishCandidates.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -MT ibus_engine_libpinyin-PYPEnglishCandidates.obj -MD -MP -MF $(DEPDIR)/ibus_engine_libpinyin-PYPEnglishCandidates.Tpo -c -o ibus_engine_libpinyin-PYPEnglishCandidates.obj `if test -f 'PYPEnglishCandidates.cc'; then $(CYGPATH_W) 'PYPEnglishCandidates.cc'; else $(CYGPATH_W) '$(srcdir)/PYPEnglishCandidates.cc'; fi` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ibus_engine_libpinyin-PYPEnglishCandidates.Tpo $(DEPDIR)/ibus_engine_libpinyin-PYPEnglishCandidates.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='PYPEnglishCandidates.cc' object='ibus_engine_libpinyin-PYPEnglishCandidates.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ibus_engine_libpinyin_CXXFLAGS) $(CXXFLAGS) -c -o ibus_engine_libpinyin-PYPEnglishCandidates.obj `if test -f 'PYPEnglishCandidates.cc'; then $(CYGPATH_W) 'PYPEnglishCandidates.cc'; else $(CYGPATH_W) '$(srcdir)/PYPEnglishCandidates.cc'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-componentDATA: $(component_DATA) @$(NORMAL_INSTALL) @list='$(component_DATA)'; test -n "$(componentdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(componentdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(componentdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(componentdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(componentdir)" || exit $$?; \ done uninstall-componentDATA: @$(NORMAL_UNINSTALL) @list='$(component_DATA)'; test -n "$(componentdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(componentdir)'; $(am__uninstall_files_from_dir) install-engineDATA: $(engine_DATA) @$(NORMAL_INSTALL) @list='$(engine_DATA)'; test -n "$(enginedir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(enginedir)'"; \ $(MKDIR_P) "$(DESTDIR)$(enginedir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(enginedir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(enginedir)" || exit $$?; \ done uninstall-engineDATA: @$(NORMAL_UNINSTALL) @list='$(engine_DATA)'; test -n "$(enginedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(enginedir)'; $(am__uninstall_files_from_dir) ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-am all-am: Makefile $(PROGRAMS) $(DATA) installdirs: for dir in "$(DESTDIR)$(libexecdir)" "$(DESTDIR)$(componentdir)" "$(DESTDIR)$(enginedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-am install-exec: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) clean: clean-am clean-am: clean-generic clean-libexecPROGRAMS clean-libtool \ mostlyclean-am distclean: distclean-am -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYConfig.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYEditor.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYEngine.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYEnglishDatabase.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYEnglishEditor.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYExtEditor.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYFallbackEditor.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYHalfFullConverter.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYLibPinyin.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYMain.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPBopomofoEditor.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPBopomofoEngine.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPCloudCandidates.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPConfig.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPDoublePinyinEditor.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPEmojiCandidates.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPEnglishCandidates.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPFullPinyinEditor.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPLibPinyinCandidates.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPLuaConverterCandidates.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPLuaTriggerCandidates.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPPhoneticEditor.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPPinyinEditor.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPPinyinEngine.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPSuggestionCandidates.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPSuggestionEditor.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPTradCandidates.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPinyinProperties.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPunctEditor.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYSimpTradConverter.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYTableDatabase.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYTableEditor.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYXMLUtil.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-componentDATA install-engineDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-libexecPROGRAMS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYConfig.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYEditor.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYEngine.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYEnglishDatabase.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYEnglishEditor.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYExtEditor.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYFallbackEditor.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYHalfFullConverter.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYLibPinyin.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYMain.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPBopomofoEditor.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPBopomofoEngine.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPCloudCandidates.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPConfig.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPDoublePinyinEditor.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPEmojiCandidates.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPEnglishCandidates.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPFullPinyinEditor.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPLibPinyinCandidates.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPLuaConverterCandidates.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPLuaTriggerCandidates.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPPhoneticEditor.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPPinyinEditor.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPPinyinEngine.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPSuggestionCandidates.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPSuggestionEditor.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPTradCandidates.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPinyinProperties.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYPunctEditor.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYSimpTradConverter.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYTableDatabase.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYTableEditor.Po -rm -f ./$(DEPDIR)/ibus_engine_libpinyin-PYXMLUtil.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-componentDATA uninstall-engineDATA \ uninstall-libexecPROGRAMS .MAKE: all check install install-am install-exec install-strip .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ clean-generic clean-libexecPROGRAMS clean-libtool \ cscopelist-am ctags ctags-am distclean distclean-compile \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-componentDATA install-data install-data-am install-dvi \ install-dvi-am install-engineDATA install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-libexecPROGRAMS install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am uninstall-componentDATA \ uninstall-engineDATA uninstall-libexecPROGRAMS .PRECIOUS: Makefile PYPunctTable.h: $(AM_V_GEN) \ $(PYTHON) $(top_srcdir)/scripts/genpuncttable.py > $@ || \ ( $(RM) $@; exit 1 ) PYSimpTradConverterTable.h: $(AM_V_GEN) \ $(PYTHON) $(top_srcdir)/scripts/update-simptrad-table.py > $@ || \ ( $(RM) $@; exit 1 ) update-simptrad-table: $(RM) $(top_srcdir)/scripts/ZhConversion.* PYSimpTradConverterTable.h $(MAKE) -C $(top_srcdir)/scripts ZhConversion.py $(MAKE) PYSimpTradConverterTable.h %.xml: %.inputmethod.xml.in sed -e "s|\@LIBEXECDIR\@|$(libexecdir)|g" \ -e "s|\@PKGDATADIR\@|$(pkgdatadir)|g" \ $< > $@ test: ibus-engine-libpinyin $(ENV) \ G_DEBUG=fatal_criticals \ $(builddir)/ibus-engine-libpinyin # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ibus-libpinyin-1.16.1/src/libpinyin.inputmethod.xml.in.in0000644000175000017500000000124214726245750017110 org.freedesktop.IBus.Libpinyin Libpinyin Component @LIBEXECDIR@/ibus-engine-libpinyin --ibus @VERSION@ Peng Wu <alexepico@gmail.com> GPL https://github.com/libpinyin/ibus-libpinyin ibus-libpinyin ~/.config/ibus/libpinyin/engines.xml @PKGDATADIR@/default.xml ibus-libpinyin-1.16.1/src/PYLookupTable.h0000664000175000017500000000555613672072346013677 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_LOOKUP_TABLE_H_ #define __PY_LOOKUP_TABLE_H_ #include #include "PYObject.h" #include "PYText.h" namespace PY { class LookupTable : Object { public: LookupTable (guint page_size = 10, guint cursor_pos = 0, gboolean cursor_visible = TRUE, gboolean round = FALSE) : Object (ibus_lookup_table_new (page_size, cursor_pos, cursor_visible, round)) { } guint pageSize (void) { return ibus_lookup_table_get_page_size (*this); } guint orientation (void) { return ibus_lookup_table_get_orientation (*this); } guint cursorPos (void) { return ibus_lookup_table_get_cursor_pos (*this); } guint size (void) { return ibus_lookup_table_get_number_of_candidates (*this); } gboolean pageUp (void) { return ibus_lookup_table_page_up (*this); } gboolean pageDown (void) { return ibus_lookup_table_page_down (*this); } gboolean cursorUp (void) { return ibus_lookup_table_cursor_up (*this); } gboolean cursorDown (void) { return ibus_lookup_table_cursor_down (*this); } void setPageSize (guint size) { ibus_lookup_table_set_page_size (*this, size); } void setCursorPos (guint pos) { ibus_lookup_table_set_cursor_pos (*this, pos); } void setOrientation (gint orientation) { ibus_lookup_table_set_orientation (*this, orientation); } void clear (void) { ibus_lookup_table_clear (*this); } void setCursorVisable (gboolean visable){ ibus_lookup_table_set_cursor_visible (*this, visable); } void setLabel (guint index, IBusText *text) { ibus_lookup_table_set_label (*this, index, text); } void appendCandidate (IBusText *text) { ibus_lookup_table_append_candidate (*this, text); } void appendLabel (IBusText *text) { ibus_lookup_table_append_label (*this, text); } IBusText * getCandidate(guint index) { return ibus_lookup_table_get_candidate(*this, index); } operator IBusLookupTable * (void) const { return get (); } }; }; #endif ibus-libpinyin-1.16.1/src/PYPTradCandidates.h0000664000175000017500000000304213672072346014434 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2018 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_LIB_PINYIN_TRADITIONAL_CANDIDATES_H_ #define __PY_LIB_PINYIN_TRADITIONAL_CANDIDATES_H_ #include #include "PYPEnhancedCandidates.h" #include "PYConfig.h" #include "PYSimpTradConverter.h" namespace PY { class Editor; class TraditionalCandidates : public EnhancedCandidates { public: TraditionalCandidates (Editor *editor, Config & config) : m_converter(config) { m_editor = editor; } public: gboolean processCandidates (std::vector & candidates); int selectCandidate (EnhancedCandidate & enhanced); gboolean removeCandidate (EnhancedCandidate & enhanced); protected: std::vector m_candidates; SimpTradConverter m_converter; }; }; #endif ibus-libpinyin-1.16.1/src/PYSimpTradConverterTable.h0000644000175000017500000062770614455173634016050 static const gchar *simp_to_trad[][2] = { { "〇余", "〇餘" }, { "〇只", "〇隻" }, { "〇周后", "〇周後" }, { "一个", "一個" }, { "一个准", "一個準" }, { "一争两丑", "一爭兩醜" }, { "一伙", "一夥" }, { "一伙头", "一伙頭" }, { "一余", "一餘" }, { "一冲", "一衝" }, { "一准", "一準" }, { "一出剧", "一齣劇" }, { "一出喜剧", "一齣喜劇" }, { "一出好戏", "一齣好戲" }, { "一出子", "一齣子" }, { "一出悲剧", "一齣悲劇" }, { "一出戏", "一齣戲" }, { "一出电影", "一齣電影" }, { "一厘一毫", "一釐一毫" }, { "一发千钧", "一髮千鈞" }, { "一只", "一隻" }, { "一吊钱", "一吊錢" }, { "一周后", "一周後" }, { "一哄而散", "一鬨而散" }, { "一地里", "一地裡" }, { "一天后", "一天後" }, { "一天钟", "一天鐘" }, { "一干二净", "一乾二淨" }, { "一并", "一併" }, { "一扎", "一紮" }, { "一树百获", "一樹百穫" }, { "一物克一物", "一物剋一物" }, { "一碗面", "一碗麵" }, { "一锅面", "一鍋麵" }, { "丁丁当当", "丁丁當當" }, { "七个", "七個" }, { "七余", "七餘" }, { "七只", "七隻" }, { "七周后", "七周後" }, { "七天后", "七天後" }, { "七情六欲", "七情六慾" }, { "七扎", "七紮" }, { "万", "萬" }, { "万一只", "萬一只" }, { "万个", "萬個" }, { "万余", "萬餘" }, { "万历", "萬曆" }, { "万历史", "萬歷史" }, { "万只", "萬隻" }, { "万周后", "萬周後" }, { "万天后", "萬天後" }, { "万年历表", "萬年曆錶" }, { "万扎", "萬紮" }, { "万签插架", "萬籤插架" }, { "万象", "萬象" }, { "三个", "三個" }, { "三余", "三餘" }, { "三准", "三準" }, { "三出戏", "三齣戲" }, { "三只", "三隻" }, { "三周后", "三周後" }, { "三天后", "三天後" }, { "三征七辟", "三徵七辟" }, { "三扎", "三紮" }, { "三统历", "三統曆" }, { "三统历史", "三統歷史" }, { "上台面", "上檯面" }, { "上签", "上籤" }, { "上签了", "上簽了" }, { "上签写", "上簽寫" }, { "上签发", "上簽發" }, { "上签名", "上簽名" }, { "上签字", "上簽字" }, { "上签定", "上簽定" }, { "上签收", "上簽收" }, { "上签约", "上簽約" }, { "上签署", "上簽署" }, { "上签订", "上簽訂" }, { "上签证", "上簽證" }, { "上系上", "上繫上" }, { "上课钟", "上課鐘" }, { "下文里", "下文裡" }, { "下签", "下籤" }, { "下签了", "下簽了" }, { "下签写", "下簽寫" }, { "下签发", "下簽發" }, { "下签名", "下簽名" }, { "下签字", "下簽字" }, { "下签定", "下簽定" }, { "下签收", "下簽收" }, { "下签约", "下簽約" }, { "下签署", "下簽署" }, { "下签订", "下簽訂" }, { "下签证", "下簽證" }, { "下课钟", "下課鐘" }, { "不丑", "不醜" }, { "不卷", "不捲" }, { "不太准", "不太準" }, { "不好干预", "不好干預" }, { "不嫌母丑", "不嫌母醜" }, { "不寒而栗", "不寒而慄" }, { "不干不净", "不乾不淨" }, { "不干胶", "不乾膠" }, { "不托", "不託" }, { "不斗", "不鬥" }, { "不斗胆", "不斗膽" }, { "不断发", "不斷發" }, { "不谷", "不穀" }, { "不负所托", "不負所托" }, { "不通吊庆", "不通弔慶" }, { "不采", "不採" }, { "不采声", "不采聲" }, { "不食干腊", "不食乾腊" }, { "与", "與" }, { "丑丑", "醜醜" }, { "丑丫头", "醜丫頭" }, { "丑事", "醜事" }, { "丑人", "醜人" }, { "丑侪", "醜儕" }, { "丑八怪", "醜八怪" }, { "丑剌剌", "醜剌剌" }, { "丑剧", "醜劇" }, { "丑化", "醜化" }, { "丑史", "醜史" }, { "丑名", "醜名" }, { "丑吒", "醜吒" }, { "丑地", "醜地" }, { "丑声", "醜聲" }, { "丑声远播", "醜聲遠播" }, { "丑头怪脸", "醜頭怪臉" }, { "丑夷", "醜夷" }, { "丑女", "醜女" }, { "丑女效颦", "醜女效顰" }, { "丑奴儿", "醜奴兒" }, { "丑妇", "醜婦" }, { "丑媳", "醜媳" }, { "丑媳妇", "醜媳婦" }, { "丑小鸭", "醜小鴨" }, { "丑巴怪", "醜巴怪" }, { "丑徒", "醜徒" }, { "丑态", "醜態" }, { "丑恶", "醜惡" }, { "丑时", "丑時" }, { "丑末", "醜末" }, { "丑杂", "醜雜" }, { "丑样", "醜樣" }, { "丑死", "醜死" }, { "丑比", "醜比" }, { "丑毙了", "醜斃了" }, { "丑沮", "醜沮" }, { "丑男", "醜男" }, { "丑类", "醜類" }, { "丑脸", "醜臉" }, { "丑虏", "醜虜" }, { "丑行", "醜行" }, { "丑言", "醜言" }, { "丑诋", "醜詆" }, { "丑话", "醜話" }, { "丑语", "醜語" }, { "丑贼生", "醜賊生" }, { "丑辞", "醜辭" }, { "丑辱", "醜辱" }, { "丑逆", "醜逆" }, { "丑闻", "醜聞" }, { "丑陋", "醜陋" }, { "专", "專" }, { "专辑里", "專輯裡" }, { "世界杯", "世界盃" }, { "世纪里", "世紀裡" }, { "世纪钟", "世紀鐘" }, { "世纪钟表", "世紀鐘錶" }, { "业", "業" }, { "业余", "業餘" }, { "丛", "叢" }, { "丛林里", "叢林裡" }, { "东", "東" }, { "东冲西突", "東衝西突" }, { "东周钟", "東周鐘" }, { "东岳", "東嶽" }, { "东游", "東遊" }, { "丝", "絲" }, { "丝制", "絲製" }, { "丝发", "絲髮" }, { "丝发现", "絲發現" }, { "丝发生", "絲發生" }, { "丝恩发怨", "絲恩髮怨" }, { "丢", "丟" }, { "丢丑", "丟醜" }, { "两", "兩" }, { "两个", "兩個" }, { "两余", "兩餘" }, { "两出", "兩齣" }, { "两只", "兩隻" }, { "两周后", "兩周後" }, { "两天后", "兩天後" }, { "两扎", "兩紮" }, { "两杆", "兩桿" }, { "两虎共斗", "兩虎共鬥" }, { "两鼠斗穴", "兩鼠鬥穴" }, { "严", "嚴" }, { "严云农", "嚴云農" }, { "丧", "喪" }, { "丧钟", "喪鐘" }, { "个", "個" }, { "个中原因", "箇中原因" }, { "个中奥", "箇中奧" }, { "个中好手", "箇中好手" }, { "个中强手", "箇中強手" }, { "个中滋味", "箇中滋味" }, { "个中玄机", "箇中玄機" }, { "个中理由", "箇中理由" }, { "个中翘楚", "箇中翹楚" }, { "个中道理", "箇中道理" }, { "个中高手", "箇中高手" }, { "个旧市", "箇舊市" }, { "个月里", "個月裡" }, { "个里", "個裡" }, { "个钟", "個鐘" }, { "个钟表", "個鐘錶" }, { "中型钟", "中型鐘" }, { "中型钟表", "中型鐘錶" }, { "中型钟表面", "中型鐘表面" }, { "中型钟面", "中型鐘面" }, { "中岳", "中嶽" }, { "中文里", "中文裡" }, { "中断发", "中斷發" }, { "中签", "中籤" }, { "中签了", "中簽了" }, { "中签写", "中簽寫" }, { "中签发", "中簽發" }, { "中签名", "中簽名" }, { "中签字", "中簽字" }, { "中签定", "中簽定" }, { "中签收", "中簽收" }, { "中签约", "中簽約" }, { "中签署", "中簽署" }, { "中签订", "中簽訂" }, { "中签证", "中簽證" }, { "中风后", "中風後" }, { "丰", "豐" }, { "丰仪", "丰儀" }, { "丰台", "豐臺" }, { "丰度", "豐度" }, { "丰标", "丰標" }, { "丰标不凡", "丰標不凡" }, { "丰滨", "豐濱" }, { "丰滨乡", "豐濱鄉" }, { "丰韵", "丰韻" }, { "临", "臨" }, { "临潼斗宝", "臨潼鬥寶" }, { "丹棱", "丹稜" }, { "为", "為" }, { "为准", "為準" }, { "为鉴", "為鑑" }, { "主仆", "主僕" }, { "主干", "主幹" }, { "主钟差", "主鐘差" }, { "主钟曲线", "主鐘曲線" }, { "丽", "麗" }, { "举", "舉" }, { "举手表", "舉手表" }, { "乃系", "乃係" }, { "么", "麼" }, { "义", "義" }, { "义仆", "義僕" }, { "之余", "之餘" }, { "之子于归", "之子于歸" }, { "之征", "之徵" }, { "之托", "之託" }, { "之鉴", "之鑑" }, { "之钟", "之鐘" }, { "乌", "烏" }, { "乌兹冲锋枪", "烏茲衝鋒槍" }, { "乌冬面", "烏冬麵" }, { "乌发", "烏髮" }, { "乌苏里", "烏蘇里" }, { "乌龙面", "烏龍麵" }, { "乐", "樂" }, { "乐器钟", "樂器鐘" }, { "乐游原", "樂遊原" }, { "乔", "喬" }, { "乔岳", "喬嶽" }, { "九世之仇", "九世之讎" }, { "九个", "九個" }, { "九余", "九餘" }, { "九只", "九隻" }, { "九周后", "九周後" }, { "九天后", "九天後" }, { "九扎", "九紮" }, { "九谷", "九穀" }, { "习", "習" }, { "乡", "鄉" }, { "乡愿", "鄉愿" }, { "书", "書" }, { "书签", "書籤" }, { "书面", "書面" }, { "买", "買" }, { "买凶", "買兇" }, { "买断发", "買斷發" }, { "乱", "亂" }, { "乱哄哄", "亂鬨鬨" }, { "乱斗", "亂鬥" }, { "乾象历", "乾象曆" }, { "了望", "瞭望" }, { "了然", "瞭然" }, { "了然后", "了然後" }, { "了若指掌", "瞭若指掌" }, { "争", "爭" }, { "争奇斗妍", "爭奇鬥妍" }, { "争奇斗异", "爭奇鬥異" }, { "争奇斗艳", "爭奇鬥豔" }, { "争妍斗奇", "爭妍鬥奇" }, { "争妍斗艳", "爭妍鬥豔" }, { "争斗", "爭鬥" }, { "争红斗紫", "爭紅鬥紫" }, { "事有斗巧", "事有鬥巧" }, { "事里", "事裡" }, { "二不棱登", "二不稜登" }, { "二个", "二個" }, { "二余", "二餘" }, { "二只", "二隻" }, { "二周后", "二周後" }, { "二天后", "二天後" }, { "二缶钟惑", "二缶鐘惑" }, { "二虎相斗", "二虎相鬥" }, { "二里头", "二里頭" }, { "于", "於" }, { "于云鹤", "于雲鶴" }, { "于从濂", "于從濂" }, { "于会泳", "于會泳" }, { "于伟国", "于偉國" }, { "于余曲折", "于餘曲折" }, { "于光远", "于光遠" }, { "于冠华", "于冠華" }, { "于凤桐", "于鳳桐" }, { "于凤至", "于鳳至" }, { "于友泽", "于友澤" }, { "于双戈", "于雙戈" }, { "于台烟", "于台煙" }, { "于吉尔吉斯", "於吉爾吉斯" }, { "于吉林", "於吉林" }, { "于吉隆坡", "於吉隆坡" }, { "于和伟", "于和偉" }, { "于国桢", "于國楨" }, { "于坚", "于堅" }, { "于大宝", "于大寶" }, { "于天龙", "于天龍" }, { "于奇库杜克", "于奇庫杜克" }, { "于学忠", "于學忠" }, { "于宝轩", "于寶軒" }, { "于小伟", "于小偉" }, { "于尔岑", "于爾岑" }, { "于尔根", "于爾根" }, { "于尔里克", "于爾里克" }, { "于山国", "于山國" }, { "于山岛", "于山島" }, { "于帅", "于帥" }, { "于幼军", "于幼軍" }, { "于广洲", "于廣洲" }, { "于建嵘", "于建嶸" }, { "于志宁", "于志寧" }, { "于忠肃集", "于忠肅集" }, { "于成龙", "于成龍" }, { "于敏感", "於敏感" }, { "于斯达尔", "于斯達爾" }, { "于明涛", "于明濤" }, { "于来山", "于來山" }, { "于枫", "于楓" }, { "于树洁", "于樹潔" }, { "于根伟", "于根偉" }, { "于格林", "於格林" }, { "于格陵兰", "於格陵蘭" }, { "于格鲁", "於格魯" }, { "于汉超", "于漢超" }, { "于波特", "於波特" }, { "于泽尔", "于澤爾" }, { "于洪区", "于洪區" }, { "于涛", "于濤" }, { "于湘兰", "于湘蘭" }, { "于禁止", "於禁止" }, { "于荣光", "于榮光" }, { "于荫霖", "于蔭霖" }, { "于谦", "于謙" }, { "于谨", "于謹" }, { "于贝尔", "于貝爾" }, { "于赠", "于贈" }, { "于越南", "於越南" }, { "于越过", "於越過" }, { "于远伟", "于遠偉" }, { "于都县", "于都縣" }, { "于阗", "于闐" }, { "于震中", "於震中" }, { "于震前", "於震前" }, { "于震区", "於震區" }, { "于震后", "於震後" }, { "于震度", "於震度" }, { "于震灾", "於震災" }, { "于非暗", "于非闇" }, { "于韦斯屈莱", "于韋斯屈萊" }, { "于风政", "于風政" }, { "于默奥", "于默奧" }, { "亏", "虧" }, { "云", "雲" }, { "云为", "云為" }, { "云南个旧", "雲南箇舊" }, { "云吞", "雲吞" }, { "云吞面", "雲吞麵" }, { "云尔", "云爾" }, { "云游", "雲遊" }, { "云笈七签", "雲笈七籤" }, { "云里雾里", "雲裡霧裡" }, { "云须", "雲鬚" }, { "五个", "五個" }, { "五余", "五餘" }, { "五只", "五隻" }, { "五周后", "五周後" }, { "五天后", "五天後" }, { "五岳", "五嶽" }, { "五峰县", "五峯縣" }, { "五扎", "五紮" }, { "五脏", "五臟" }, { "五行生克", "五行生剋" }, { "五谷", "五穀" }, { "井干", "井幹" }, { "井里", "井裡" }, { "亘古", "亙古" }, { "亚", "亞" }, { "交哄", "交鬨" }, { "交托", "交託" }, { "交游", "交遊" }, { "产", "產" }, { "亩", "畝" }, { "京沈", "京瀋" }, { "亮丑", "亮醜" }, { "亮钟", "亮鐘" }, { "亲", "親" }, { "亵", "褻" }, { "人发指", "人髮指" }, { "人干的", "人幹的" }, { "人数只", "人數只" }, { "人数里", "人數裡" }, { "人欲", "人慾" }, { "人物志", "人物誌" }, { "亿", "億" }, { "亿个", "億個" }, { "亿余", "億餘" }, { "亿只", "億隻" }, { "亿周后", "億周後" }, { "亿天后", "億天後" }, { "什锦面", "什錦麵" }, { "仁贵", "仁貴" }, { "仅", "僅" }, { "仅余", "僅餘" }, { "仆人", "僕人" }, { "仆仆", "僕僕" }, { "仆从", "僕從" }, { "仆使", "僕使" }, { "仆僮", "僕僮" }, { "仆吏", "僕吏" }, { "仆固怀恩", "僕固懷恩" }, { "仆夫", "僕夫" }, { "仆妇", "僕婦" }, { "仆姑", "僕姑" }, { "仆婢", "僕婢" }, { "仆射", "僕射" }, { "仆少", "僕少" }, { "仆役", "僕役" }, { "仆憎", "僕憎" }, { "仆欧", "僕歐" }, { "仆程", "僕程" }, { "仆虽罢驽", "僕雖罷駑" }, { "仇隙", "讎隙" }, { "介胄", "介冑" }, { "从", "從" }, { "从仆", "從僕" }, { "从图里", "從圖裡" }, { "从山里", "從山裡" }, { "从里到外", "從裡到外" }, { "从里向外", "從裡向外" }, { "仑", "侖" }, { "仓", "倉" }, { "他干的", "他幹的" }, { "付托", "付託" }, { "仙游", "仙遊" }, { "代数里", "代數裡" }, { "代理发", "代理發" }, { "代码表", "代碼表" }, { "仪", "儀" }, { "仪征", "儀徵" }, { "仪范", "儀範" }, { "们", "們" }, { "们干的", "們幹的" }, { "件钟", "件鐘" }, { "价", "價" }, { "仿制", "仿製" }, { "伊东怜", "伊東怜" }, { "伊尔汗历表", "伊爾汗曆表" }, { "伊府面", "伊府麵" }, { "伊斯兰历", "伊斯蘭曆" }, { "伊斯兰历史", "伊斯蘭歷史" }, { "伊斯兰教历", "伊斯蘭教曆" }, { "伊斯兰教历史", "伊斯蘭教歷史" }, { "伊达里子", "伊達里子" }, { "伊适杰", "伊適杰" }, { "伊郁", "伊鬱" }, { "伐罪吊民", "伐罪弔民" }, { "休征", "休徵" }, { "众", "眾" }, { "优", "優" }, { "优游", "優遊" }, { "伙众", "夥眾" }, { "伙伴", "夥伴" }, { "伙友", "夥友" }, { "伙同", "夥同" }, { "伙头", "伙頭" }, { "伙计", "夥計" }, { "会", "會" }, { "会吊", "會弔" }, { "会干", "會幹" }, { "会干扰", "會干擾" }, { "会里", "會裡" }, { "伛", "傴" }, { "伞", "傘" }, { "伟", "偉" }, { "传", "傳" }, { "传位于四太子", "傳位于四太子" }, { "伤", "傷" }, { "伥", "倀" }, { "伦", "倫" }, { "伧", "傖" }, { "伪", "偽" }, { "伫", "佇" }, { "伴游", "伴遊" }, { "位准", "位準" }, { "住扎", "住紮" }, { "体", "體" }, { "体征", "體徵" }, { "体系", "體系" }, { "体范", "體範" }, { "体里", "體裡" }, { "余〇", "餘〇" }, { "余一", "餘一" }, { "余七", "餘七" }, { "余三", "餘三" }, { "余三胜", "余三勝" }, { "余下", "餘下" }, { "余业", "餘業" }, { "余九", "餘九" }, { "余事", "餘事" }, { "余二", "餘二" }, { "余五", "餘五" }, { "余人", "餘人" }, { "余众", "餘眾" }, { "余俗", "餘俗" }, { "余倍", "餘倍" }, { "余僇", "餘僇" }, { "余光", "餘光" }, { "余党", "餘黨" }, { "余八", "餘八" }, { "余六", "餘六" }, { "余兴", "餘興" }, { "余刃", "餘刃" }, { "余切", "餘切" }, { "余利", "餘利" }, { "余割", "餘割" }, { "余力", "餘力" }, { "余力为", "余力為" }, { "余勇", "餘勇" }, { "余十", "餘十" }, { "余味", "餘味" }, { "余响", "餘響" }, { "余喘", "餘喘" }, { "余四", "餘四" }, { "余地", "餘地" }, { "余墨", "餘墨" }, { "余声", "餘聲" }, { "余外", "餘外" }, { "余妙", "餘妙" }, { "余姚", "餘姚" }, { "余威", "餘威" }, { "余子", "餘子" }, { "余存", "餘存" }, { "余孽", "餘孽" }, { "余干", "餘干" }, { "余年", "餘年" }, { "余庆", "餘慶" }, { "余式", "餘式" }, { "余弦", "餘弦" }, { "余思", "餘思" }, { "余悸", "餘悸" }, { "余数", "餘數" }, { "余明", "餘明" }, { "余映", "餘映" }, { "余晖", "餘暉" }, { "余暇", "餘暇" }, { "余暨", "餘暨" }, { "余杭", "餘杭" }, { "余杯", "餘杯" }, { "余桃", "餘桃" }, { "余桶", "餘桶" }, { "余欢", "餘歡" }, { "余款", "餘款" }, { "余步", "餘步" }, { "余殃", "餘殃" }, { "余毒", "餘毒" }, { "余气", "餘氣" }, { "余江", "餘江" }, { "余沥", "餘瀝" }, { "余波", "餘波" }, { "余泽", "餘澤" }, { "余温", "餘溫" }, { "余烈", "餘烈" }, { "余烬", "餘燼" }, { "余热", "餘熱" }, { "余珍", "餘珍" }, { "余生", "餘生" }, { "余留", "餘留" }, { "余窍", "餘竅" }, { "余粮", "餘糧" }, { "余绪", "餘緒" }, { "余缺", "餘缺" }, { "余罪", "餘罪" }, { "余羡", "餘羨" }, { "余膏", "餘膏" }, { "余荫", "餘蔭" }, { "余蓄", "餘蓄" }, { "余裕", "餘裕" }, { "余角", "餘角" }, { "余论", "餘論" }, { "余貾", "餘貾" }, { "余责", "餘責" }, { "余辉", "餘輝" }, { "余辜", "餘辜" }, { "余部", "餘部" }, { "余酲", "餘酲" }, { "余量", "餘量" }, { "余闰", "餘閏" }, { "余闲", "餘閒" }, { "余零", "餘零" }, { "余震", "餘震" }, { "余霞", "餘霞" }, { "余音", "餘音" }, { "余韵", "餘韻" }, { "余项", "餘項" }, { "余额", "餘額" }, { "余风", "餘風" }, { "余食", "餘食" }, { "佛历", "佛曆" }, { "佛罗棱萨", "佛羅稜薩" }, { "佛钟", "佛鐘" }, { "作准", "作準" }, { "作品里", "作品裡" }, { "你夸", "你誇" }, { "佣", "傭" }, { "佣仆", "傭僕" }, { "佣钱", "佣錢" }, { "佣钿", "佣鈿" }, { "佥", "僉" }, { "佳肴", "佳餚" }, { "使其斗", "使其鬥" }, { "侍仆", "侍僕" }, { "依依不舍", "依依不捨" }, { "依托", "依託" }, { "侠", "俠" }, { "侣", "侶" }, { "侥", "僥" }, { "侥幸", "僥倖" }, { "侦", "偵" }, { "侧", "側" }, { "侨", "僑" }, { "侩", "儈" }, { "侪", "儕" }, { "侬", "儂" }, { "侵并", "侵併" }, { "保险柜", "保險柜" }, { "信托", "信託" }, { "信托贸易", "信托貿易" }, { "俣", "俁" }, { "俦", "儔" }, { "俨", "儼" }, { "俩", "倆" }, { "俪", "儷" }, { "俭", "儉" }, { "俭仆", "儉僕" }, { "俭朴", "儉樸" }, { "俭确之教", "儉确之教" }, { "修筑前", "修築前" }, { "修筑后", "修築後" }, { "修胡刀", "修鬍刀" }, { "俯冲", "俯衝" }, { "候复", "候覆" }, { "倚闲", "倚閑" }, { "倛丑", "倛醜" }, { "借以", "藉以" }, { "借助", "藉助" }, { "借口", "藉口" }, { "借寇兵", "藉寇兵" }, { "借手", "藉手" }, { "借故", "藉故" }, { "借机", "藉機" }, { "借此", "藉此" }, { "借由", "藉由" }, { "借箸代筹", "藉箸代籌" }, { "借资", "藉資" }, { "借鉴", "借鑑" }, { "倦游", "倦遊" }, { "债", "債" }, { "债累累", "債纍纍" }, { "倾", "傾" }, { "假发", "假髮" }, { "假发票", "假發票" }, { "假托", "假託" }, { "假里", "假裡" }, { "偎干", "偎乾" }, { "停停当当", "停停當當" }, { "停制", "停製" }, { "停征", "停徵" }, { "偬", "傯" }, { "偻", "僂" }, { "偾", "僨" }, { "偿", "償" }, { "傥", "儻" }, { "傧", "儐" }, { "储", "儲" }, { "傩", "儺" }, { "催并", "催併" }, { "傲游", "傲遊" }, { "傲霜斗雪", "傲霜鬥雪" }, { "傻里傻气", "傻裡傻氣" }, { "像赞", "像讚" }, { "僮仆", "僮僕" }, { "僵尸", "殭屍" }, { "儒略历", "儒略曆" }, { "儒略历史", "儒略歷史" }, { "儒略改革历", "儒略改革曆" }, { "儒略改革历史", "儒略改革歷史" }, { "儿", "兒" }, { "兀术", "兀朮" }, { "元凶", "元兇" }, { "兆个", "兆個" }, { "兆余", "兆餘" }, { "先进制造", "先進製造" }, { "先采", "先採" }, { "光致致", "光緻緻" }, { "克剥", "剋剝" }, { "克扣", "剋扣" }, { "克星", "剋星" }, { "克期", "剋期" }, { "克期间", "克期間" }, { "克死", "剋死" }, { "克薄", "剋薄" }, { "免征", "免徵" }, { "兑", "兌" }, { "兖", "兗" }, { "党", "黨" }, { "党怀英", "党懷英" }, { "党进", "党進" }, { "党项", "党項" }, { "入侵并", "入侵並" }, { "全干", "全乾" }, { "八个", "八個" }, { "八余", "八餘" }, { "八只", "八隻" }, { "八周后", "八周後" }, { "八天后", "八天後" }, { "八字胡", "八字鬍" }, { "八扎", "八紮" }, { "公仆", "公僕" }, { "公仔面", "公仔麵" }, { "公余", "公餘" }, { "公历", "公曆" }, { "公历史", "公歷史" }, { "公孙丑", "公孫丑" }, { "公寓里", "公寓裡" }, { "公干", "公幹" }, { "六个", "六個" }, { "六余", "六餘" }, { "六冲", "六衝" }, { "六只", "六隻" }, { "六周后", "六周後" }, { "六天后", "六天後" }, { "六扎", "六紮" }, { "六楼后座", "六樓后座" }, { "六谷", "六穀" }, { "兰", "蘭" }, { "兰溪市", "蘭谿市" }, { "共和历", "共和曆" }, { "共和历史", "共和歷史" }, { "关", "關" }, { "关系", "關係" }, { "关系列", "關系列" }, { "关系所", "關系所" }, { "关系科", "關系科" }, { "关系统", "關系統" }, { "兴", "興" }, { "其余", "其餘" }, { "典范", "典範" }, { "兹", "茲" }, { "养", "養" }, { "养脏", "養臟" }, { "兼并", "兼併" }, { "兽", "獸" }, { "兽欲", "獸慾" }, { "冁", "囅" }, { "内", "內" }, { "内制", "內製" }, { "内卷化", "內捲化" }, { "内哄", "內鬨" }, { "内斗", "內鬥" }, { "内脏", "內臟" }, { "内面包", "內面包" }, { "内面包的", "內面包的" }, { "冈", "岡" }, { "冉有仆", "冉有僕" }, { "册", "冊" }, { "冗余", "冗餘" }, { "写", "寫" }, { "写字台", "寫字檯" }, { "军", "軍" }, { "农", "農" }, { "农历", "農曆" }, { "农历史", "農歷史" }, { "农民历", "農民曆" }, { "农民历史", "農民歷史" }, { "冤仇", "冤讎" }, { "冥蒙", "冥濛" }, { "冬冬鼓", "鼕鼕鼓" }, { "冬游", "冬遊" }, { "冯", "馮" }, { "冰山里", "冰山裡" }, { "冲", "沖" }, { "冲上", "衝上" }, { "冲下", "衝下" }, { "冲倒", "衝倒" }, { "冲克", "衝剋" }, { "冲冠", "衝冠" }, { "冲冠发怒", "沖冠髮怒" }, { "冲决", "衝決" }, { "冲出", "衝出" }, { "冲击", "衝擊" }, { "冲到", "衝到" }, { "冲刺", "衝刺" }, { "冲力", "衝力" }, { "冲动", "衝動" }, { "冲劲", "衝勁" }, { "冲压", "衝壓" }, { "冲去", "衝去" }, { "冲口", "衝口" }, { "冲呀", "衝呀" }, { "冲啊", "衝啊" }, { "冲坚陷阵", "衝堅陷陣" }, { "冲垮", "衝垮" }, { "冲堂", "衝堂" }, { "冲天", "沖天" }, { "冲天炮", "衝天炮" }, { "冲头阵", "衝頭陣" }, { "冲州撞府", "衝州撞府" }, { "冲心", "衝心" }, { "冲掉", "衝掉" }, { "冲撞", "衝撞" }, { "冲散", "衝散" }, { "冲杀", "衝殺" }, { "冲来", "衝來" }, { "冲波", "衝波" }, { "冲浪", "衝浪" }, { "冲激", "衝激" }, { "冲然", "衝然" }, { "冲盹", "衝盹" }, { "冲着", "衝着" }, { "冲破", "衝破" }, { "冲程", "衝程" }, { "冲突", "衝突" }, { "冲线", "衝線" }, { "冲要", "衝要" }, { "冲起", "衝起" }, { "冲车", "衝車" }, { "冲过", "衝過" }, { "冲进", "衝進" }, { "冲量", "衝量" }, { "冲锋", "衝鋒" }, { "冲锋枪", "衝鋒鎗" }, { "冲陷", "衝陷" }, { "冲风", "衝風" }, { "决", "決" }, { "决斗", "決鬥" }, { "况", "況" }, { "冶游", "冶遊" }, { "冷面", "冷麵" }, { "冷面杀手", "冷面殺手" }, { "冻", "凍" }, { "净", "淨" }, { "净余", "淨餘" }, { "净发", "淨髮" }, { "凄", "淒" }, { "凄厉", "悽厲" }, { "凄怆", "悽愴" }, { "凄怨", "悽怨" }, { "凄恻", "悽惻" }, { "凄惋", "悽惋" }, { "凄惨", "悽慘" }, { "凄惶", "悽惶" }, { "凄戾", "悽戾" }, { "凄然", "悽然" }, { "凄美", "悽美" }, { "凄苦", "悽苦" }, { "凄酸", "悽酸" }, { "准不准", "準不準" }, { "准会", "準會" }, { "准例", "準例" }, { "准保", "準保" }, { "准保护", "准保護" }, { "准保释", "准保釋" }, { "准儿", "準兒" }, { "准军事", "準軍事" }, { "准决赛", "準決賽" }, { "准分子", "準分子" }, { "准则", "準則" }, { "准噶尔", "準噶爾" }, { "准备", "準備" }, { "准头", "準頭" }, { "准定", "準定" }, { "准平原", "準平原" }, { "准度", "準度" }, { "准式", "準式" }, { "准拟", "準擬" }, { "准拿督", "準拿督" }, { "准据", "準據" }, { "准新娘", "準新娘" }, { "准新郎", "準新郎" }, { "准时", "準時" }, { "准星", "準星" }, { "准是", "準是" }, { "准格尔", "準格爾" }, { "准点", "準點" }, { "准的", "準的" }, { "准直", "準直" }, { "准确", "準確" }, { "准线", "準線" }, { "准绳", "準繩" }, { "准话", "準話" }, { "准谱", "準譜" }, { "准货币", "準貨幣" }, { "凉", "涼" }, { "凉席", "涼蓆" }, { "凉面", "涼麵" }, { "凌蒙初", "凌濛初" }, { "减", "減" }, { "凑", "湊" }, { "凛", "凜" }, { "凝炼", "凝鍊" }, { "几", "幾" }, { "几个", "幾個" }, { "几净窗明", "几淨窗明" }, { "几出", "幾齣" }, { "几只", "幾隻" }, { "几周后", "幾周後" }, { "几天后", "幾天後" }, { "几进几出", "幾進幾出" }, { "凤", "鳳" }, { "凤凰于飞", "鳳凰于飛" }, { "凤梨干", "鳳梨乾" }, { "凫", "鳧" }, { "凭", "憑" }, { "凭借", "憑藉" }, { "凭准", "憑準" }, { "凭几", "憑几" }, { "凭吊", "憑弔" }, { "凭折", "憑摺" }, { "凭闲", "憑閑" }, { "凯", "凱" }, { "凶刀", "兇刀" }, { "凶器", "兇器" }, { "凶嫌", "兇嫌" }, { "凶巴巴", "兇巴巴" }, { "凶征", "凶徵" }, { "凶徒", "兇徒" }, { "凶恶", "兇惡" }, { "凶悍", "兇悍" }, { "凶手", "兇手" }, { "凶杀", "兇殺" }, { "凶枪", "兇槍" }, { "凶案", "兇案" }, { "凶横", "兇橫" }, { "凶残", "兇殘" }, { "凶犯", "兇犯" }, { "凶狠", "兇狠" }, { "凶猛", "兇猛" }, { "凶疑", "兇疑" }, { "凶相", "兇相" }, { "凶相毕露", "凶相畢露" }, { "凶险", "兇險" }, { "出丑", "出醜" }, { "出乖弄丑", "出乖弄醜" }, { "出乖露丑", "出乖露醜" }, { "出游", "出遊" }, { "击", "擊" }, { "击扑", "擊扑" }, { "击钟", "擊鐘" }, { "函数里", "函數裡" }, { "凿", "鑿" }, { "分半钟", "分半鐘" }, { "分多钟", "分多鐘" }, { "分子云", "分子雲" }, { "分子钟", "分子鐘" }, { "分钟", "分鐘" }, { "分钟里", "分鐘裡" }, { "刍", "芻" }, { "刑余", "刑餘" }, { "划", "劃" }, { "划一桨", "划一槳" }, { "划不来", "划不來" }, { "划为", "劃為" }, { "划了一会", "划了一會" }, { "划入", "劃入" }, { "划动", "划動" }, { "划得来", "划得來" }, { "划来划去", "划來划去" }, { "划桨", "划槳" }, { "划着独木舟", "划着獨木舟" }, { "划过", "划過" }, { "划进", "划進" }, { "划龙舟", "划龍舟" }, { "划龙船", "划龍船" }, { "刘", "劉" }, { "刘芸后", "劉芸后" }, { "则", "則" }, { "刚", "剛" }, { "刚干", "剛乾" }, { "刚雇", "剛僱" }, { "创", "創" }, { "创制", "創製" }, { "创获", "創穫" }, { "删", "刪" }, { "判断发", "判斷發" }, { "利欲", "利慾" }, { "别", "別" }, { "别扭", "彆扭" }, { "别拗", "彆拗" }, { "别气", "彆氣" }, { "别辟", "別闢" }, { "刭", "剄" }, { "刮了", "颳了" }, { "刮倒", "颳倒" }, { "刮大风", "颳大風" }, { "刮得", "颳得" }, { "刮胡", "刮鬍" }, { "刮走", "颳走" }, { "刮起", "颳起" }, { "刮起来", "刮起來" }, { "刮雪", "颳雪" }, { "刮风", "颳風" }, { "刮风后", "颳風後" }, { "到山里", "到山裡" }, { "制件", "製件" }, { "制作", "製作" }, { "制做", "製做" }, { "制冰", "製冰" }, { "制冷", "製冷" }, { "制冷机", "制冷機" }, { "制剂", "製劑" }, { "制发", "製發" }, { "制取", "製取" }, { "制品", "製品" }, { "制售", "製售" }, { "制图", "製圖" }, { "制备", "製備" }, { "制得", "製得" }, { "制成", "製成" }, { "制毒", "製毒" }, { "制汉字", "製漢字" }, { "制法", "製法" }, { "制浆", "製漿" }, { "制片", "製片" }, { "制版", "製版" }, { "制盐", "製鹽" }, { "制程", "製程" }, { "制糖", "製糖" }, { "制纸", "製紙" }, { "制药", "製藥" }, { "制衣", "製衣" }, { "制表键", "製表鍵" }, { "制贩", "製販" }, { "制造", "製造" }, { "制酒", "製酒" }, { "制钟", "制鐘" }, { "制铁", "製鐵" }, { "制革", "製革" }, { "制鞋", "製鞋" }, { "刹", "剎" }, { "刻半钟", "刻半鐘" }, { "刻多钟", "刻多鐘" }, { "刻钟", "刻鐘" }, { "刽", "劊" }, { "刿", "劌" }, { "剀", "剴" }, { "剂", "劑" }, { "剃发", "剃髮" }, { "剃胡", "剃鬍" }, { "剃须", "剃鬚" }, { "削发", "削髮" }, { "削面", "削麵" }, { "剐", "剮" }, { "剑", "劍" }, { "剖厘", "剖釐" }, { "剥", "剝" }, { "剥制", "剝製" }, { "剧", "劇" }, { "剩余", "剩餘" }, { "剪其发", "剪其髮" }, { "剪发", "剪髮" }, { "割舍", "割捨" }, { "力争上游", "力爭上遊" }, { "劝", "勸" }, { "办", "辦" }, { "办公台", "辦公檯" }, { "功勋", "功勳" }, { "加氢精制", "加氫精制" }, { "务", "務" }, { "劢", "勱" }, { "动", "動" }, { "劫余", "劫餘" }, { "励", "勵" }, { "劲", "勁" }, { "劳", "勞" }, { "势", "勢" }, { "勃郁", "勃鬱" }, { "勋", "勛" }, { "勋业", "勳業" }, { "勋劳", "勳勞" }, { "勋爵", "勳爵" }, { "勋章", "勳章" }, { "勋绩", "勳績" }, { "勤仆", "勤僕" }, { "勤朴", "勤樸" }, { "勾干", "勾幹" }, { "勾心斗角", "勾心鬥角" }, { "勾魂荡魄", "勾魂蕩魄" }, { "匀", "勻" }, { "包准", "包準" }, { "包制", "包製" }, { "包干", "包幹" }, { "包扎", "包紮" }, { "包谷", "包穀" }, { "匏系", "匏繫" }, { "北仑河", "北崙河" }, { "北回线", "北迴線" }, { "北回铁路", "北迴鐵路" }, { "北山索面", "北山索麵" }, { "北岳", "北嶽" }, { "匦", "匭" }, { "匪干", "匪幹" }, { "匮", "匱" }, { "区", "區" }, { "区里有", "區裡有" }, { "区里的", "區裡的" }, { "医", "醫" }, { "十个", "十個" }, { "十余", "十餘" }, { "十出", "十齣" }, { "十出击", "十出擊" }, { "十出头", "十出頭" }, { "十只", "十隻" }, { "十周后", "十周後" }, { "十天后", "十天後" }, { "十扎", "十紮" }, { "千个", "千個" }, { "千余", "千餘" }, { "千只", "千隻" }, { "千只够", "千只夠" }, { "千只足够", "千只足夠" }, { "千周后", "千周後" }, { "千回百折", "千迴百折" }, { "千回百转", "千迴百轉" }, { "千天后", "千天後" }, { "千扎", "千紮" }, { "千钧一发", "千鈞一髮" }, { "升州", "昇州" }, { "升平", "昇平" }, { "升阳", "昇陽" }, { "升高后", "升高後" }, { "半只", "半隻" }, { "半只够", "半只夠" }, { "半干", "半乾" }, { "华", "華" }, { "华严钟", "華嚴鐘" }, { "协", "協" }, { "协防", "協防" }, { "单", "單" }, { "单于", "單于" }, { "单单于", "單單於" }, { "单向", "單向" }, { "单干", "單幹" }, { "单打独斗", "單打獨鬥" }, { "卖", "賣" }, { "卖断发", "賣斷發" }, { "南京钟", "南京鐘" }, { "南京钟表", "南京鐘錶" }, { "南回线", "南迴線" }, { "南回铁路", "南迴鐵路" }, { "南宫适", "南宮适" }, { "南屏晚钟", "南屏晚鐘" }, { "南岳", "南嶽" }, { "南游", "南遊" }, { "博尔术", "博爾朮" }, { "博杰普尔", "博杰普爾" }, { "博采", "博採" }, { "占头筹", "佔頭籌" }, { "占毕", "佔畢" }, { "占高枝儿", "佔高枝兒" }, { "卢", "盧" }, { "卢棱伽", "盧稜伽" }, { "卤", "鹵" }, { "卤了", "滷了" }, { "卤五花", "滷五花" }, { "卤制", "滷製" }, { "卤味", "滷味" }, { "卤好", "滷好" }, { "卤子", "滷子" }, { "卤料", "滷料" }, { "卤水", "滷水" }, { "卤汁", "滷汁" }, { "卤湖", "滷湖" }, { "卤煮", "滷煮" }, { "卤牛", "滷牛" }, { "卤的", "滷的" }, { "卤肉", "滷肉" }, { "卤菜", "滷菜" }, { "卤虾", "滷蝦" }, { "卤蛋", "滷蛋" }, { "卤豆", "滷豆" }, { "卤面", "滷麵" }, { "卤鸡", "滷雞" }, { "卤鸭", "滷鴨" }, { "卤鹅", "滷鵝" }, { "卧", "臥" }, { "卧游", "臥遊" }, { "卫", "衛" }, { "卫后庄公", "衛後莊公" }, { "卫星钟", "衛星鐘" }, { "印制", "印製" }, { "印累绶若", "印纍綬若" }, { "印鉴", "印鑑" }, { "却", "卻" }, { "卵与石斗", "卵與石鬥" }, { "卷云", "捲雲" }, { "卷住", "捲住" }, { "卷儿", "捲兒" }, { "卷入", "捲入" }, { "卷动", "捲動" }, { "卷去", "捲去" }, { "卷发", "捲髮" }, { "卷发动", "卷發動" }, { "卷发售", "卷發售" }, { "卷发展", "卷發展" }, { "卷发布", "卷發布" }, { "卷发现", "卷發現" }, { "卷发生", "卷發生" }, { "卷发表", "卷發表" }, { "卷发起", "卷發起" }, { "卷叶蛾", "捲葉蛾" }, { "卷图", "捲圖" }, { "卷土重来", "捲土重來" }, { "卷地", "捲地" }, { "卷尺", "捲尺" }, { "卷尾猴", "捲尾猴" }, { "卷帘", "捲簾" }, { "卷心菜", "捲心菜" }, { "卷成", "捲成" }, { "卷曲", "捲曲" }, { "卷来", "捲來" }, { "卷款", "捲款" }, { "卷毛", "捲毛" }, { "卷烟", "捲菸" }, { "卷烟盒", "捲煙盒" }, { "卷瓣", "捲瓣" }, { "卷积云", "捲積雲" }, { "卷筒", "捲筒" }, { "卷纸", "捲紙" }, { "卷缩", "捲縮" }, { "卷舌", "捲舌" }, { "卷袖", "捲袖" }, { "卷走", "捲走" }, { "卷起", "捲起" }, { "卷轴", "捲軸" }, { "卷逃", "捲逃" }, { "卷铺盖", "捲鋪蓋" }, { "卷须", "卷鬚" }, { "卷风", "捲風" }, { "厂", "廠" }, { "厅", "廳" }, { "历", "歷" }, { "历书", "曆書" }, { "历元", "曆元" }, { "历史里", "歷史裡" }, { "历命", "曆命" }, { "历始", "曆始" }, { "历室", "曆室" }, { "历尾", "曆尾" }, { "历局", "曆局" }, { "历数书", "曆數書" }, { "历日", "曆日" }, { "历本", "曆本" }, { "历法", "曆法" }, { "历物之意", "厤物之意" }, { "历狱", "曆獄" }, { "历纪", "曆紀" }, { "历象", "曆象" }, { "厉", "厲" }, { "压", "壓" }, { "压制出", "壓製出" }, { "压制机", "壓製機" }, { "厌", "厭" }, { "厍", "厙" }, { "厕", "廁" }, { "厘改", "釐改" }, { "厘整", "釐整" }, { "厘正", "釐正" }, { "厘毫", "釐毫" }, { "厘清", "釐清" }, { "厘订", "釐訂" }, { "厘革", "釐革" }, { "原子钟", "原子鐘" }, { "原文里", "原文裡" }, { "原钟", "原鐘" }, { "厢", "廂" }, { "厣", "厴" }, { "厦", "廈" }, { "厨", "廚" }, { "厨余", "廚餘" }, { "厩", "廄" }, { "厮", "廝" }, { "厮斗", "廝鬥" }, { "去山里", "去山裡" }, { "县", "縣" }, { "县志", "縣誌" }, { "县里", "縣裡" }, { "参", "參" }, { "参数只", "參數只" }, { "参数里", "參數裡" }, { "参绥", "蔘綏" }, { "双", "雙" }, { "双折", "雙摺" }, { "双折射", "雙折射" }, { "双胜类", "雙胜類" }, { "双雕", "雙鵰" }, { "反冲", "反衝" }, { "反反复复", "反反覆覆" }, { "反复", "反覆" }, { "反复制", "反複製" }, { "反应制得", "反應製得" }, { "反朴归真", "反樸歸真" }, { "发", "發" }, { "发上冲冠", "髮上沖冠" }, { "发上指冠", "髮上指冠" }, { "发丝", "髮絲" }, { "发为血之本", "髮為血之本" }, { "发乳", "髮乳" }, { "发光可鉴", "髮光可鑑" }, { "发匪", "髮匪" }, { "发卷", "髮捲" }, { "发及腰", "髮及腰" }, { "发型", "髮型" }, { "发夹", "髮夾" }, { "发妻", "髮妻" }, { "发屋", "髮屋" }, { "发已霜白", "髮已霜白" }, { "发带", "髮帶" }, { "发干", "發乾" }, { "发廊", "髮廊" }, { "发式", "髮式" }, { "发引千钧", "髮引千鈞" }, { "发披肩", "髮披肩" }, { "发松", "發鬆" }, { "发根", "髮根" }, { "发油", "髮油" }, { "发漂", "髮漂" }, { "发状", "髮狀" }, { "发状况", "發狀況" }, { "发状态", "發狀態" }, { "发癣", "髮癬" }, { "发短心长", "髮短心長" }, { "发禁", "髮禁" }, { "发笺", "髮箋" }, { "发签", "發籤" }, { "发簪", "髮簪" }, { "发纱", "髮紗" }, { "发结", "髮結" }, { "发网菌", "髮網菌" }, { "发肤", "髮膚" }, { "发胶", "髮膠" }, { "发脚", "髮腳" }, { "发菜", "髮菜" }, { "发蜡", "髮蠟" }, { "发表", "發表" }, { "发踊冲冠", "髮踊沖冠" }, { "发辫", "髮辮" }, { "发钗", "髮釵" }, { "发长", "髮長" }, { "发际", "髮際" }, { "发雕", "髮雕" }, { "发霜", "髮霜" }, { "发面", "發麵" }, { "发饰", "髮飾" }, { "发髻", "髮髻" }, { "发鬓", "髮鬢" }, { "取舍", "取捨" }, { "受托", "受託" }, { "受雇", "受僱" }, { "变", "變" }, { "变丑", "變醜" }, { "变征", "變徵" }, { "叙", "敘" }, { "叠", "疊" }, { "叠席", "疊蓆" }, { "口干", "口乾" }, { "口干预", "口干預" }, { "口燥唇干", "口燥唇乾" }, { "口腹之欲", "口腹之慾" }, { "口里", "口裡" }, { "口钟", "口鐘" }, { "古书云", "古書云" }, { "古文里", "古文裡" }, { "古朴", "古樸" }, { "古柯咸", "古柯鹹" }, { "古语云", "古語云" }, { "古迹", "古蹟" }, { "古钟", "古鐘" }, { "古钟表", "古鐘錶" }, { "另辟", "另闢" }, { "叩钟", "叩鐘" }, { "只冲", "只衝" }, { "只占神问卜", "只占神問卜" }, { "只字", "隻字" }, { "只影", "隻影" }, { "只影响", "只影響" }, { "只手遮天", "隻手遮天" }, { "只眼", "隻眼" }, { "只言片语", "隻言片語" }, { "只身", "隻身" }, { "只身上无", "只身上無" }, { "只身上没", "只身上沒" }, { "只身为", "只身為" }, { "只身体", "只身體" }, { "只身后", "只身後" }, { "只身边", "只身邊" }, { "只采", "只採" }, { "只采声", "只采聲" }, { "叮叮当当", "叮叮噹噹" }, { "叮当", "叮噹" }, { "可紧可松", "可緊可鬆" }, { "可能干预", "可能干預" }, { "可鉴", "可鑑" }, { "台佟", "臺佟" }, { "台历", "檯曆" }, { "台历史", "台歷史" }, { "台子孙", "台子孫" }, { "台灯", "檯燈" }, { "台球", "檯球" }, { "台钟", "台鐘" }, { "台静农", "臺靜農" }, { "台面上", "檯面上" }, { "台面化", "檯面化" }, { "台风", "颱風" }, { "台风后", "颱風後" }, { "台风奖", "台風獎" }, { "台风稳健", "台風穩健" }, { "史鉴", "史鑑" }, { "叶", "葉" }, { "叶叶琴", "葉叶琴" }, { "叶阳后", "葉陽后" }, { "叶韵", "叶韻" }, { "号", "號" }, { "号志", "號誌" }, { "叹", "嘆" }, { "叽", "嘰" }, { "吁天", "籲天" }, { "吁求", "籲求" }, { "吁请", "籲請" }, { "吃姜", "吃薑" }, { "吃板刀面", "吃板刀麵" }, { "吃碗面", "吃碗麵" }, { "吃里扒外", "吃裡扒外" }, { "吃里爬外", "吃裡爬外" }, { "吃面", "吃麵" }, { "各类钟", "各類鐘" }, { "各辟", "各闢" }, { "合伙", "合夥" }, { "合准", "合準" }, { "合历", "合曆" }, { "合历史", "合歷史" }, { "合并", "合併" }, { "合采", "合採" }, { "吉凶庆吊", "吉凶慶弔" }, { "吉征", "吉徵" }, { "吊丧", "弔喪" }, { "吊卷", "弔卷" }, { "吊取", "弔取" }, { "吊古", "弔古" }, { "吊唁", "弔唁" }, { "吊喉", "弔喉" }, { "吊喭", "弔喭" }, { "吊头", "弔頭" }, { "吊奠", "弔奠" }, { "吊孝", "弔孝" }, { "吊客", "弔客" }, { "吊宴", "弔宴" }, { "吊影", "弔影" }, { "吊恤", "弔恤" }, { "吊慰", "弔慰" }, { "吊扣", "弔扣" }, { "吊拷", "弔拷" }, { "吊撒", "弔撒" }, { "吊文", "弔文" }, { "吊旗", "弔旗" }, { "吊民", "弔民" }, { "吊祭", "弔祭" }, { "吊纸", "弔紙" }, { "吊者大悦", "弔者大悅" }, { "吊脚儿事", "弔腳兒事" }, { "吊腰撒跨", "弔腰撒跨" }, { "吊膀子", "弔膀子" }, { "吊词", "弔詞" }, { "吊诡", "弔詭" }, { "吊谎", "弔謊" }, { "吊贺迎送", "弔賀迎送" }, { "吊钟", "吊鐘" }, { "吊问", "弔問" }, { "吊鹤", "弔鶴" }, { "同人志", "同人誌" }, { "同伙", "同夥" }, { "同余", "同餘" }, { "名单于", "名單於" }, { "后", "後" }, { "后丰", "后豐" }, { "后印", "後印" }, { "后发座", "后髮座" }, { "后发星系团", "后髮星系團" }, { "后台老板", "後台老板" }, { "后天", "後天" }, { "后海湾", "后海灣" }, { "后翼弃兵", "后翼棄兵" }, { "后苍", "后蒼" }, { "后面店", "後面店" }, { "吐哺捉发", "吐哺捉髮" }, { "吐哺握发", "吐哺握髮" }, { "向导", "嚮導" }, { "向往", "嚮往" }, { "向往时", "向往時" }, { "向往来", "向往來" }, { "向慕", "嚮慕" }, { "向迩", "嚮邇" }, { "吓", "嚇" }, { "吕", "呂" }, { "吕后", "呂后" }, { "吗", "嗎" }, { "吞并", "吞併" }, { "吟游", "吟遊" }, { "吣", "唚" }, { "吧台", "吧檯" }, { "吨", "噸" }, { "含齿戴发", "含齒戴髮" }, { "听", "聽" }, { "启", "啟" }, { "启发式", "啟發式" }, { "吴", "吳" }, { "吸干", "吸乾" }, { "吹干", "吹乾" }, { "呆致致", "呆緻緻" }, { "呆里呆气", "呆裡呆氣" }, { "告札", "告劄" }, { "告里", "告裡" }, { "呐", "吶" }, { "呒", "嘸" }, { "呓", "囈" }, { "呕", "嘔" }, { "呖", "嚦" }, { "呗", "唄" }, { "呗赞", "唄讚" }, { "员", "員" }, { "呙", "咼" }, { "呛", "嗆" }, { "呜", "嗚" }, { "周历", "周曆" }, { "周历史", "周歷史" }, { "周游", "週遊" }, { "周游列国", "周遊列國" }, { "呼吁", "呼籲" }, { "和制汉", "和製漢" }, { "和制英语", "和製英語" }, { "和奸", "和姦" }, { "咎征", "咎徵" }, { "咏", "詠" }, { "咕咕钟", "咕咕鐘" }, { "咙", "嚨" }, { "咚咚鼓", "鼕鼕鼓" }, { "咛", "嚀" }, { "咨议", "諮議" }, { "咨询", "諮詢" }, { "咪表", "咪錶" }, { "咬姜呷醋", "咬薑呷醋" }, { "咯当", "咯噹" }, { "咸卤", "鹹鹵" }, { "咸吃", "鹹吃" }, { "咸味", "鹹味" }, { "咸咸", "鹹鹹" }, { "咸嘴淡舌", "鹹嘴淡舌" }, { "咸土", "鹹土" }, { "咸度", "鹹度" }, { "咸得", "鹹得" }, { "咸批", "鹹批" }, { "咸水", "鹹水" }, { "咸汤", "鹹湯" }, { "咸派", "鹹派" }, { "咸海", "鹹海" }, { "咸淡", "鹹淡" }, { "咸湖", "鹹湖" }, { "咸湿", "鹹濕" }, { "咸潟", "鹹潟" }, { "咸猪", "鹹豬" }, { "咸甜", "鹹甜" }, { "咸的", "鹹的" }, { "咸类", "鹹類" }, { "咸粥", "鹹粥" }, { "咸肉", "鹹肉" }, { "咸菜", "鹹菜" }, { "咸菜干", "鹹菜乾" }, { "咸蛋", "鹹蛋" }, { "咸酥", "鹹酥" }, { "咸食", "鹹食" }, { "咸鱼", "鹹魚" }, { "咸鸭蛋", "鹹鴨蛋" }, { "哀吊", "哀弔" }, { "哀挽", "哀輓" }, { "品鉴", "品鑑" }, { "哄动", "鬨動" }, { "哄堂", "鬨堂" }, { "哄笑", "鬨笑" }, { "响", "響" }, { "响钟", "響鐘" }, { "哑", "啞" }, { "哒", "噠" }, { "哓", "嘵" }, { "哔", "嗶" }, { "哕", "噦" }, { "哗", "嘩" }, { "哗众", "譁眾" }, { "哗变", "譁變" }, { "哗噪", "譁噪" }, { "哗嚣", "譁囂" }, { "哗然", "譁然" }, { "哗笑", "譁笑" }, { "哙", "噲" }, { "哜", "嚌" }, { "哝", "噥" }, { "哟", "喲" }, { "哟喂", "喲喂" }, { "哪里", "哪裡" }, { "唁吊", "唁弔" }, { "唇干", "唇乾" }, { "唛", "嘜" }, { "唠", "嘮" }, { "唢", "嗩" }, { "唤", "喚" }, { "唱游", "唱遊" }, { "唾余", "唾餘" }, { "唾面自干", "唾面自乾" }, { "商历", "商曆" }, { "商历史", "商歷史" }, { "商标准许", "商標准許" }, { "啧", "嘖" }, { "啬", "嗇" }, { "啭", "囀" }, { "啮", "齧" }, { "啮合", "嚙合" }, { "啮虫", "囓蟲" }, { "啮齿类", "嚙齒類" }, { "啷当", "啷噹" }, { "啸", "嘯" }, { "喂", "餵" }, { "喂了一声", "喂了一聲" }, { "喂哟", "喂喲" }, { "喝干", "喝乾" }, { "喧哄", "喧鬨" }, { "喧哗", "喧譁" }, { "喧哗两成败", "喧嘩兩成敗" }, { "喷", "噴" }, { "喽", "嘍" }, { "喾", "嚳" }, { "嗫", "囁" }, { "嗳", "噯" }, { "嘉谷", "嘉穀" }, { "嘘", "噓" }, { "嘤", "嚶" }, { "嘱", "囑" }, { "嘱托", "囑託" }, { "嘴里", "嘴裡" }, { "噙齿戴发", "噙齒戴髮" }, { "噜", "嚕" }, { "噜苏", "嚕囌" }, { "噪诈", "譟詐" }, { "嚣", "囂" }, { "嚼谷", "嚼穀" }, { "四个", "四個" }, { "四余", "四餘" }, { "四出征收", "四出徵收" }, { "四分历", "四分曆" }, { "四分历史", "四分歷史" }, { "四只", "四隻" }, { "四周后", "四周後" }, { "四天后", "四天後" }, { "四扎", "四紮" }, { "四杆铁笔", "四桿鐵筆" }, { "四舍五入", "四捨五入" }, { "四舍六入", "四捨六入" }, { "四面钟", "四面鐘" }, { "回光返照", "迴光返照" }, { "回历", "回曆" }, { "回历史", "回歷史" }, { "回响", "迴響" }, { "回圈", "迴圈" }, { "回复中", "回覆中" }, { "回复你", "回覆你" }, { "回复帖子", "回覆帖子" }, { "回复意见", "回覆意見" }, { "回复说", "回覆說" }, { "回复邮件", "回覆郵件" }, { "回廊", "迴廊" }, { "回形夹", "迴形夾" }, { "回文序列", "迴文序列" }, { "回文数", "迴文數" }, { "回文构词", "迴文構詞" }, { "回文结构", "迴文結構" }, { "回文联", "迴文聯" }, { "回文诗", "迴文詩" }, { "回文锦", "迴文錦" }, { "回旋", "迴旋" }, { "回游", "回遊" }, { "回环", "迴環" }, { "回纹针", "迴紋針" }, { "回绕", "迴繞" }, { "回翔", "迴翔" }, { "回肠", "迴腸" }, { "回肠荡气", "迴腸盪氣" }, { "回荡", "迴蕩" }, { "回诵", "迴誦" }, { "回路", "迴路" }, { "回转", "迴轉" }, { "回递性", "迴遞性" }, { "回避", "迴避" }, { "回采", "回採" }, { "回銮", "迴鑾" }, { "回风", "迴風" }, { "团", "團" }, { "团子", "糰子" }, { "园", "園" }, { "园游会", "園遊會" }, { "园里", "園裡" }, { "困乏", "睏乏" }, { "困倦", "睏倦" }, { "困倦起来", "困倦起來" }, { "困兽之斗", "困獸之鬥" }, { "困兽犹斗", "困獸猶鬥" }, { "困斗", "困鬥" }, { "困觉", "睏覺" }, { "囱", "囪" }, { "围", "圍" }, { "囵", "圇" }, { "固征", "固徵" }, { "国", "國" }, { "国之桢干", "國之楨榦" }, { "国仇", "國讎" }, { "国历", "國曆" }, { "国历代", "國歷代" }, { "国历任", "國歷任" }, { "国历史", "國歷史" }, { "国历届", "國歷屆" }, { "国历来", "國歷來" }, { "国历经", "國歷經" }, { "国干网", "國幹網" }, { "图", "圖" }, { "图里的", "圖裡的" }, { "图鉴", "圖鑑" }, { "圆", "圓" }, { "圈里", "圈裡" }, { "土制", "土製" }, { "土索面", "土索麵" }, { "土里", "土裡" }, { "圣", "聖" }, { "圣人历", "聖人曆" }, { "圣后", "聖后" }, { "圣马尔谷日", "聖馬爾谷日" }, { "在山里", "在山裡" }, { "地丑德齐", "地醜德齊" }, { "地图里", "地圖裡" }, { "地心历表", "地心曆表" }, { "地志", "地誌" }, { "圹", "壙" }, { "场", "場" }, { "场里", "場裡" }, { "坏", "壞" }, { "坐台", "坐檯" }, { "坐台铁", "坐台鐵" }, { "坐如钟", "坐如鐘" }, { "坐钟", "坐鐘" }, { "坑里", "坑裡" }, { "块", "塊" }, { "坚", "堅" }, { "坚致", "堅緻" }, { "坛", "壇" }, { "坛坛罐罐", "罈罈罐罐" }, { "坛子", "罈子" }, { "坜", "壢" }, { "坝", "壩" }, { "坞", "塢" }, { "坟", "墳" }, { "坠", "墜" }, { "坤范", "坤範" }, { "坦荡", "坦蕩" }, { "坦荡荡", "坦蕩蕩" }, { "坱郁", "坱鬱" }, { "垂发", "垂髮" }, { "垂范", "垂範" }, { "垄", "壟" }, { "垆", "壚" }, { "型范", "型範" }, { "垒", "壘" }, { "垦", "墾" }, { "垦辟", "墾闢" }, { "垩", "堊" }, { "垫", "墊" }, { "垭", "埡" }, { "垲", "塏" }, { "埃及历", "埃及曆" }, { "埃及历史", "埃及歷史" }, { "埃及艳后", "埃及豔后" }, { "埃荣冲", "埃榮衝" }, { "城市里", "城市裡" }, { "城里", "城裡" }, { "埘", "塒" }, { "埙", "塤" }, { "埚", "堝" }, { "域里", "域裡" }, { "基准", "基準" }, { "基干", "基幹" }, { "堑", "塹" }, { "堕", "墮" }, { "堙淀", "堙澱" }, { "塞耳盗钟", "塞耳盜鐘" }, { "境里", "境裡" }, { "墓志", "墓誌" }, { "墓志铭", "墓志銘" }, { "墙", "牆" }, { "墙里", "牆裡" }, { "增辟", "增闢" }, { "墨沈", "墨瀋" }, { "壮", "壯" }, { "壮游", "壯遊" }, { "壮面", "壯麵" }, { "声", "聲" }, { "声母后", "聲母後" }, { "壳", "殼" }, { "壳里", "殼裡" }, { "壶", "壺" }, { "壶里", "壺裡" }, { "壹郁", "壹鬱" }, { "处", "處" }, { "备", "備" }, { "备注", "備註" }, { "复", "復" }, { "复习", "複習" }, { "复信", "覆信" }, { "复元音", "複元音" }, { "复写", "複寫" }, { "复决", "複決" }, { "复函数", "複函數" }, { "复分数", "複分數" }, { "复分析", "複分析" }, { "复分解", "複分解" }, { "复列", "複列" }, { "复利", "複利" }, { "复制", "複製" }, { "复印", "複印" }, { "复变函数", "複變函數" }, { "复句", "複句" }, { "复叶", "複葉" }, { "复合", "複合" }, { "复壁", "複壁" }, { "复始", "復始" }, { "复姓", "複姓" }, { "复字键", "複字鍵" }, { "复审", "覆審" }, { "复对数", "複對數" }, { "复平面", "複平面" }, { "复式", "複式" }, { "复数", "複數" }, { "复方", "複方" }, { "复本", "複本" }, { "复杂", "複雜" }, { "复查", "複查" }, { "复核", "覆核" }, { "复次", "複次" }, { "复比", "複比" }, { "复活节历表", "復活節曆表" }, { "复流", "複流" }, { "复测", "複測" }, { "复目", "複目" }, { "复眼", "複眼" }, { "复种", "複種" }, { "复穗", "複穗" }, { "复线", "複線" }, { "复色", "複色" }, { "复苏", "復甦" }, { "复议", "複議" }, { "复评", "複評" }, { "复诊", "複診" }, { "复词", "複詞" }, { "复试", "複試" }, { "复读机", "複讀機" }, { "复课", "複課" }, { "复赛", "複賽" }, { "复辅音", "複輔音" }, { "复述", "複述" }, { "复选", "複選" }, { "复钱", "複錢" }, { "复阅", "複閱" }, { "复音", "複音" }, { "复韵", "複韻" }, { "夏于乔", "夏于喬" }, { "夏历", "夏曆" }, { "夏历史", "夏歷史" }, { "夏游", "夏遊" }, { "外制", "外製" }, { "外强中干", "外強中乾" }, { "多丑", "多醜" }, { "多余", "多餘" }, { "多冲", "多衝" }, { "多出电影", "多齣電影" }, { "多只", "多隻" }, { "多只会", "多只會" }, { "多只须", "多只須" }, { "多周后", "多周後" }, { "多天后", "多天後" }, { "夜晚里", "夜晚裡" }, { "夜游", "夜遊" }, { "夜里", "夜裡" }, { "够", "夠" }, { "大丑", "大醜" }, { "大伙", "大夥" }, { "大伙儿", "大伙兒" }, { "大历", "大曆" }, { "大历史", "大歷史" }, { "大历险", "大歷險" }, { "大只", "大隻" }, { "大只会", "大只會" }, { "大周折", "大週摺" }, { "大型钟", "大型鐘" }, { "大型钟表", "大型鐘錶" }, { "大型钟表面", "大型鐘表面" }, { "大型钟面", "大型鐘面" }, { "大夸", "大誇" }, { "大干一", "大幹一" }, { "大批涌到", "大批湧到" }, { "大折儿", "大摺兒" }, { "大明历", "大明曆" }, { "大明历史", "大明歷史" }, { "大本钟", "大本鐘" }, { "大病初愈", "大病初癒" }, { "大目干连", "大目乾連" }, { "大笨钟", "大笨鐘" }, { "大衍历", "大衍曆" }, { "大衍历史", "大衍歷史" }, { "大赞", "大讚" }, { "大金发苔", "大金髮苔" }, { "大钟", "大鐘" }, { "大风后", "大風後" }, { "天主之仆", "天主之僕" }, { "天保历", "天保曆" }, { "天克地冲", "天克地衝" }, { "天历", "天曆" }, { "天历史", "天歷史" }, { "天后半", "天後半" }, { "天后天", "天後天" }, { "天后宫", "天后宮" }, { "天后来", "天後來" }, { "天地为范", "天地為範" }, { "天文历表", "天文曆表" }, { "天文学钟", "天文學鐘" }, { "天文钟", "天文鐘" }, { "天里", "天裡" }, { "太丑", "太醜" }, { "太仆", "太僕" }, { "太凶", "太兇" }, { "太初历", "太初曆" }, { "太初历史", "太初歷史" }, { "太阁", "太閤" }, { "头", "頭" }, { "头乱发", "頭亂髮" }, { "头发", "頭髮" }, { "头发动", "頭發動" }, { "头发展", "頭發展" }, { "头发现", "頭發現" }, { "头发生", "頭發生" }, { "头里", "頭裡" }, { "头长发", "頭長髮" }, { "夸下海口", "誇下海口" }, { "夸丽", "誇麗" }, { "夸了", "誇了" }, { "夸人", "誇人" }, { "夸他", "誇他" }, { "夸你", "誇你" }, { "夸别", "誇別" }, { "夸功", "誇功" }, { "夸口", "誇口" }, { "夸嘴", "誇嘴" }, { "夸多斗靡", "誇多鬥靡" }, { "夸大", "誇大" }, { "夸夸", "誇誇" }, { "夸夸其谈", "誇誇其談" }, { "夸奖", "誇獎" }, { "夸她", "誇她" }, { "夸姣", "誇姣" }, { "夸官", "誇官" }, { "夸容", "誇容" }, { "夸张", "誇張" }, { "夸强说会", "誇強說會" }, { "夸得", "誇得" }, { "夸成", "誇成" }, { "夸我", "誇我" }, { "夸才", "誇才" }, { "夸来夸去", "誇來誇去" }, { "夸毗", "誇毗" }, { "夸海口", "誇海口" }, { "夸示", "誇示" }, { "夸称", "誇稱" }, { "夸耀", "誇耀" }, { "夸胜道强", "誇勝道強" }, { "夸能", "誇能" }, { "夸能斗智", "誇能鬥智" }, { "夸脱", "夸脫" }, { "夸诞", "誇誕" }, { "夸诩", "誇詡" }, { "夸说", "誇說" }, { "夸赞", "誇讚" }, { "夸起", "誇起" }, { "夸辩", "誇辯" }, { "夸过", "誇過" }, { "夸饰", "誇飾" }, { "夹", "夾" }, { "夹衣", "袷衣" }, { "夹裙", "袷裙" }, { "夺", "奪" }, { "夺斗", "奪鬥" }, { "奁", "奩" }, { "奂", "奐" }, { "奇丑", "奇醜" }, { "奇勋", "奇勳" }, { "奇迹", "奇蹟" }, { "奋", "奮" }, { "奋斗", "奮鬥" }, { "奏折", "奏摺" }, { "奖", "獎" }, { "奖杯", "獎盃" }, { "奥", "奧" }, { "女仆", "女僕" }, { "奴仆", "奴僕" }, { "奸夫", "姦夫" }, { "奸妇", "姦婦" }, { "奸情", "姦情" }, { "奸杀", "姦殺" }, { "奸污", "姦污" }, { "奸淫", "姦淫" }, { "奸淫掳掠", "奸淫擄掠" }, { "好丑", "好醜" }, { "好凶", "好兇" }, { "好勇斗狠", "好勇鬥狠" }, { "好困", "好睏" }, { "好家伙", "好傢夥" }, { "好斗", "好鬥" }, { "好斗胆", "好斗膽" }, { "如果干", "如果幹" }, { "如饥似渴", "如饑似渴" }, { "妆", "妝" }, { "妆台", "妝檯" }, { "妇", "婦" }, { "妈", "媽" }, { "妖气冲天", "妖氣衝天" }, { "妩", "嫵" }, { "妪", "嫗" }, { "妫", "媯" }, { "姆万扎", "姆萬扎" }, { "委托", "委託" }, { "委托书", "委託書" }, { "姗", "姍" }, { "姜丝", "薑絲" }, { "姜啤", "薑啤" }, { "姜是老的辣", "薑是老的辣" }, { "姜末", "薑末" }, { "姜桂", "薑桂" }, { "姜母", "薑母" }, { "姜汁", "薑汁" }, { "姜汤", "薑湯" }, { "姜片", "薑片" }, { "姜糖", "薑糖" }, { "姜老辣", "薑老辣" }, { "姜茶", "薑茶" }, { "姜蓉", "薑蓉" }, { "姜还是老的辣", "薑還是老的辣" }, { "姜酮", "薑酮" }, { "姜饼", "薑餅" }, { "姜黄", "薑黃" }, { "姹", "奼" }, { "威棱", "威稜" }, { "娄", "婁" }, { "娅", "婭" }, { "娆", "嬈" }, { "娇", "嬌" }, { "娈", "孌" }, { "娱", "娛" }, { "娲", "媧" }, { "娴", "嫻" }, { "婢仆", "婢僕" }, { "婴", "嬰" }, { "婵", "嬋" }, { "婶", "嬸" }, { "媪", "媼" }, { "嫌凶", "嫌兇" }, { "嫌好道丑", "嫌好道醜" }, { "嫒", "嬡" }, { "嫔", "嬪" }, { "嫩姜", "嫩薑" }, { "嫱", "嬙" }, { "嬉游", "嬉遊" }, { "嬖幸", "嬖倖" }, { "嬴余", "嬴餘" }, { "嬷", "嬤" }, { "子里", "子裡" }, { "字母后", "字母後" }, { "字汇", "字彙" }, { "字码表", "字碼表" }, { "字里", "字裡" }, { "存折", "存摺" }, { "孙", "孫" }, { "孙杰", "孫杰" }, { "学", "學" }, { "学家", "學家" }, { "学里", "學裡" }, { "孪", "孿" }, { "宁", "寧" }, { "宇宙志", "宇宙誌" }, { "安沈铁路", "安瀋鐵路" }, { "宋王台", "宋王臺" }, { "宗周钟", "宗周鐘" }, { "官历", "官曆" }, { "官历史", "官歷史" }, { "官地为采", "官地為寀" }, { "定准", "定準" }, { "定制", "定製" }, { "宝", "寶" }, { "宝历", "寶曆" }, { "宝历史", "寶歷史" }, { "宝里宝气", "寶裡寶氣" }, { "宝鉴", "寶鑑" }, { "实", "實" }, { "实干", "實幹" }, { "实累累", "實纍纍" }, { "实验里", "實驗裡" }, { "宠", "寵" }, { "审", "審" }, { "审干", "審幹" }, { "宣泄", "宣洩" }, { "宦游", "宦遊" }, { "宪", "憲" }, { "宪法里", "憲法裡" }, { "宫", "宮" }, { "宫斗", "宮鬥" }, { "宫里", "宮裡" }, { "宴游", "宴遊" }, { "家丑", "家醜" }, { "家仆", "家僕" }, { "家伙", "傢伙" }, { "家里", "家裡" }, { "容范", "容範" }, { "宽", "寬" }, { "宽余", "寬餘" }, { "宽松", "寬鬆" }, { "宽松松", "寬鬆鬆" }, { "宾", "賓" }, { "寄托", "寄託" }, { "密致", "密緻" }, { "寇仇", "寇讎" }, { "寇准", "寇準" }, { "富余", "富餘" }, { "寒栗", "寒慄" }, { "寓禁于征", "寓禁於徵" }, { "寝", "寢" }, { "寡欲", "寡慾" }, { "寮采", "寮寀" }, { "寸发千金", "寸髮千金" }, { "对", "對" }, { "对不准", "對不準" }, { "对准", "對準" }, { "对准表", "對準錶" }, { "对准钟", "對準鐘" }, { "对准钟表", "對準鐘錶" }, { "对华发", "對華發" }, { "对折", "對摺" }, { "对着干", "對着幹" }, { "对表中", "對表中" }, { "对表扬", "對表揚" }, { "对表明", "對表明" }, { "对表演", "對表演" }, { "对表现", "對表現" }, { "对表达", "對表達" }, { "寺钟", "寺鐘" }, { "寻", "尋" }, { "导", "導" }, { "导游", "導遊" }, { "寿", "壽" }, { "寿面", "壽麵" }, { "封为后", "封為后" }, { "封面里", "封面裡" }, { "射雕", "射鵰" }, { "将", "將" }, { "小仆", "小僕" }, { "小只", "小隻" }, { "小只会", "小只會" }, { "小型钟", "小型鐘" }, { "小型钟表", "小型鐘錶" }, { "小型钟表面", "小型鐘表面" }, { "小型钟面", "小型鐘面" }, { "小时里", "小時裡" }, { "小米面", "小米麵" }, { "小鸟游", "小鳥遊" }, { "少采", "少採" }, { "尔", "爾" }, { "尔冬升", "爾冬陞" }, { "尘", "塵" }, { "尝", "嘗" }, { "尝粪", "嚐糞" }, { "尧", "堯" }, { "就范", "就範" }, { "就里", "就裡" }, { "尴", "尷" }, { "尸", "屍" }, { "尸居余气", "尸居餘氣" }, { "尸弃佛", "尸棄佛" }, { "尸禄", "尸祿" }, { "尸罗", "尸羅" }, { "尸罗精舍", "尸羅精舍" }, { "尸谏", "尸諫" }, { "尸鸠", "尸鳩" }, { "尽", "盡" }, { "尽先", "儘先" }, { "尽其所有", "儘其所有" }, { "尽可能", "儘可能" }, { "尽尽", "儘儘" }, { "尽快", "儘快" }, { "尽早", "儘早" }, { "尽是", "儘是" }, { "尽管", "儘管" }, { "尽自", "儘自" }, { "尽速", "儘速" }, { "尽量", "儘量" }, { "局促", "侷促" }, { "局蹐", "跼蹐" }, { "局躅", "跼躅" }, { "局里", "局裡" }, { "层", "層" }, { "屉", "屜" }, { "届", "屆" }, { "屋里", "屋裡" }, { "屏风后", "屏風後" }, { "属", "屬" }, { "属托", "屬託" }, { "屡", "屢" }, { "屡顾尔仆", "屢顧爾僕" }, { "屦", "屨" }, { "屯扎", "屯紮" }, { "屯里", "屯裡" }, { "山岳", "山嶽" }, { "山崩钟应", "山崩鐘應" }, { "山棱", "山稜" }, { "山羊胡", "山羊鬍" }, { "山里有", "山裡有" }, { "山里的", "山裡的" }, { "山重水复", "山重水複" }, { "屿", "嶼" }, { "岁", "歲" }, { "岁聿云暮", "歲聿云暮" }, { "岂", "豈" }, { "岖", "嶇" }, { "岗", "崗" }, { "岘", "峴" }, { "岚", "嵐" }, { "岛", "島" }, { "岫岩", "岫巖" }, { "岭", "嶺" }, { "岱岳", "岱嶽" }, { "岳岳", "嶽嶽" }, { "岳麓", "嶽麓" }, { "岿", "巋" }, { "峄", "嶧" }, { "峡", "峽" }, { "峤", "嶠" }, { "峥", "崢" }, { "峦", "巒" }, { "峰回", "峰迴" }, { "崂", "嶗" }, { "崃", "崍" }, { "崖姜", "崖薑" }, { "崭", "嶄" }, { "嵘", "嶸" }, { "嵝", "嶁" }, { "嶒棱", "嶒稜" }, { "巅", "巔" }, { "巡回", "巡迴" }, { "巡回医疗", "巡回醫療" }, { "巡游", "巡遊" }, { "工作台", "工作檯" }, { "左冲右突", "左衝右突" }, { "巧历", "巧曆" }, { "巧历史", "巧歷史" }, { "巧干", "巧幹" }, { "巨制", "巨製" }, { "巩", "鞏" }, { "巯", "巰" }, { "巴尔干", "巴爾幹" }, { "巴而术", "巴而朮" }, { "巷里", "巷裡" }, { "币", "幣" }, { "市里的", "市裡的" }, { "布谷", "布穀" }, { "布谷鸟", "布穀鳥" }, { "布谷鸟钟", "布穀鳥鐘" }, { "帅", "帥" }, { "师", "師" }, { "师范", "師範" }, { "希伯来历", "希伯來曆" }, { "希伯来历史", "希伯來歷史" }, { "帏", "幃" }, { "帐", "帳" }, { "帘", "簾" }, { "帜", "幟" }, { "带", "帶" }, { "带余", "帶餘" }, { "带发修行", "帶髮修行" }, { "带征", "帶徵" }, { "帧", "幀" }, { "席卷", "席捲" }, { "席子", "蓆子" }, { "帮", "幫" }, { "帱", "幬" }, { "帻", "幘" }, { "帼", "幗" }, { "幂", "冪" }, { "幅图里", "幅圖裡" }, { "干上", "幹上" }, { "干下去", "幹下去" }, { "干不了", "幹不了" }, { "干不成", "幹不成" }, { "干丝", "乾絲" }, { "干个", "幹個" }, { "干个够", "乾個夠" }, { "干么", "幹麼" }, { "干乔", "乾喬" }, { "干了", "幹了" }, { "干事", "幹事" }, { "干井", "乾井" }, { "干些", "幹些" }, { "干产", "乾產" }, { "干亲", "乾親" }, { "干什么", "幹什麼" }, { "干仗", "幹仗" }, { "干儿", "乾兒" }, { "干冰", "乾冰" }, { "干冷", "乾冷" }, { "干净", "乾淨" }, { "干凉", "乾涼" }, { "干刍", "乾芻" }, { "干刻版", "乾刻版" }, { "干剥剥", "乾剝剝" }, { "干办", "幹辦" }, { "干劲", "幹勁" }, { "干号", "乾號" }, { "干吏", "幹吏" }, { "干吗", "幹嗎" }, { "干呕", "乾嘔" }, { "干员", "幹員" }, { "干咳", "乾咳" }, { "干咽", "乾咽" }, { "干哕", "乾噦" }, { "干哥", "乾哥" }, { "干哭", "乾哭" }, { "干唱", "乾唱" }, { "干啥", "幹啥" }, { "干啼", "乾啼" }, { "干嘛", "幹嘛" }, { "干嚎", "乾嚎" }, { "干回付", "乾回付" }, { "干圆洁净", "乾圓潔淨" }, { "干坏事", "幹壞事" }, { "干坞", "乾塢" }, { "干大事", "幹大事" }, { "干头", "幹頭" }, { "干女儿", "乾女兒" }, { "干奴才", "乾奴才" }, { "干妈", "乾媽" }, { "干妹", "乾妹" }, { "干姊", "乾姊" }, { "干姐", "乾姐" }, { "干姜", "乾薑" }, { "干娘", "乾娘" }, { "干子", "乾子" }, { "干季", "乾季" }, { "干完", "幹完" }, { "干家", "幹家" }, { "干尸", "乾屍" }, { "干屎橛", "乾屎橛" }, { "干巴", "乾巴" }, { "干干", "乾乾" }, { "干干净净", "乾乾淨淨" }, { "干式", "乾式" }, { "干弟", "乾弟" }, { "干当", "幹當" }, { "干得", "幹得" }, { "干急", "乾急" }, { "干性", "乾性" }, { "干性油", "幹性油" }, { "干才", "幹才" }, { "干打雷", "乾打雷" }, { "干折", "乾折" }, { "干拌面", "乾拌麵" }, { "干掉", "幹掉" }, { "干探", "幹探" }, { "干撂台", "乾撂台" }, { "干撇下", "乾撇下" }, { "干擦", "乾擦" }, { "干支剌", "乾支剌" }, { "干支支", "乾支支" }, { "干料", "乾料" }, { "干旱", "乾旱" }, { "干暖", "乾暖" }, { "干材", "乾材" }, { "干村沙", "乾村沙" }, { "干杯", "乾杯" }, { "干果", "乾果" }, { "干枯", "乾枯" }, { "干柴", "乾柴" }, { "干柴烈火", "乾柴烈火" }, { "干校", "幹校" }, { "干梅", "乾梅" }, { "干死", "乾死" }, { "干池", "乾池" }, { "干沟", "乾溝" }, { "干没", "乾沒" }, { "干洗", "乾洗" }, { "干活", "幹活" }, { "干流", "幹流" }, { "干济", "幹濟" }, { "干涩", "乾澀" }, { "干涸", "乾涸" }, { "干渠", "乾渠" }, { "干渴", "乾渴" }, { "干湿", "乾濕" }, { "干漆", "乾漆" }, { "干灯盏", "乾燈盞" }, { "干热", "乾熱" }, { "干熬", "乾熬" }, { "干燥", "乾燥" }, { "干父之蛊", "幹父之蠱" }, { "干爸", "乾爸" }, { "干爹", "乾爹" }, { "干爽", "乾爽" }, { "干片", "乾片" }, { "干物", "乾物" }, { "干球温度", "幹球溫度" }, { "干甚么", "幹甚麼" }, { "干生受", "乾生受" }, { "干生子", "乾生子" }, { "干田", "乾田" }, { "干电", "乾電" }, { "干略", "幹略" }, { "干疥", "乾疥" }, { "干瘦", "乾瘦" }, { "干瘪", "乾癟" }, { "干瘾", "乾癮" }, { "干癣", "乾癬" }, { "干白儿", "乾白兒" }, { "干白葡萄酒", "乾白葡萄酒" }, { "干的事", "幹的事" }, { "干的好事", "幹的好事" }, { "干眼", "乾眼" }, { "干瞪眼", "乾瞪眼" }, { "干礼", "乾禮" }, { "干稿", "乾稿" }, { "干笑", "乾笑" }, { "干等", "乾等" }, { "干篾片", "乾篾片" }, { "干粉", "乾粉" }, { "干粮", "乾糧" }, { "干糇", "乾餱" }, { "干系", "干係" }, { "干红葡萄酒", "乾紅葡萄酒" }, { "干纲", "乾綱" }, { "干线", "幹線" }, { "干练", "幹練" }, { "干细胞", "幹細胞" }, { "干结", "乾結" }, { "干绷", "乾繃" }, { "干缺", "幹缺" }, { "干群关系", "幹群關係" }, { "干耗", "乾耗" }, { "干肉片", "乾肉片" }, { "干股", "乾股" }, { "干肥", "乾肥" }, { "干脆", "乾脆" }, { "干脆面", "乾脆麵" }, { "干花", "乾花" }, { "干苔", "乾苔" }, { "干茨腊", "乾茨臘" }, { "干茶钱", "乾茶錢" }, { "干草", "乾草" }, { "干菜", "乾菜" }, { "干营生", "幹營生" }, { "干落", "乾落" }, { "干薪", "乾薪" }, { "干虔", "乾虔" }, { "干蛊", "幹蠱" }, { "干血浆", "乾血漿" }, { "干衣", "乾衣" }, { "干裂", "乾裂" }, { "干警", "幹警" }, { "干贝", "乾貝" }, { "干货", "乾貨" }, { "干起来", "幹起來" }, { "干路", "幹路" }, { "干躁", "乾躁" }, { "干过", "幹過" }, { "干这", "幹這" }, { "干逼", "乾逼" }, { "干道", "幹道" }, { "干部", "幹部" }, { "干酪", "乾酪" }, { "干酵母", "乾酵母" }, { "干醋", "乾醋" }, { "干重", "乾重" }, { "干量", "乾量" }, { "干锅", "乾鍋" }, { "干阿奶", "乾阿奶" }, { "干雷", "乾雷" }, { "干霍乱", "乾霍亂" }, { "干面", "乾麵" }, { "干革命", "幹革命" }, { "干颡", "乾顙" }, { "干食", "乾食" }, { "干饭", "乾飯" }, { "干馆", "乾館" }, { "干馏", "乾餾" }, { "干鱼", "乾魚" }, { "干鲜", "乾鮮" }, { "平准", "平準" }, { "平平当当", "平平當當" }, { "年代里", "年代裡" }, { "年历", "年曆" }, { "年历史", "年歷史" }, { "年历次", "年歷次" }, { "年谷", "年穀" }, { "年里", "年裡" }, { "年里约", "年里約" }, { "年鉴", "年鑑" }, { "并", "並" }, { "并一不二", "併一不二" }, { "并为一体", "併為一體" }, { "并为一家", "併為一家" }, { "并入", "併入" }, { "并兼", "併兼" }, { "并到", "併到" }, { "并力", "併力" }, { "并发动", "並發動" }, { "并发型模式", "併發型模式" }, { "并发展", "並發展" }, { "并发布", "並發布" }, { "并发模式", "併發模式" }, { "并发现", "並發現" }, { "并发症", "併發症" }, { "并发表", "並發表" }, { "并发重症", "併發重症" }, { "并叠", "併疊" }, { "并合", "併合" }, { "并合并", "並合併" }, { "并名", "併名" }, { "并吞", "併吞" }, { "并吞下", "並吞下" }, { "并拢", "併攏" }, { "并查集", "併查集" }, { "并案", "併案" }, { "并科", "併科" }, { "并线", "併線" }, { "并网", "併網" }, { "并肩子", "併肩子" }, { "并行", "並行" }, { "并购", "併購" }, { "并集", "併集" }, { "并骨", "併骨" }, { "幸免", "倖免" }, { "幸存", "倖存" }, { "幸幸", "倖幸" }, { "幸运胡", "幸運鬍" }, { "广", "廣" }, { "广征", "廣徵" }, { "广播里", "廣播裡" }, { "广舍", "廣捨" }, { "庄", "莊" }, { "庄内地方", "庄內地方" }, { "庄里", "莊裡" }, { "庆", "慶" }, { "庆历", "慶曆" }, { "庆历史", "慶歷史" }, { "庆吊", "慶弔" }, { "床席", "床蓆" }, { "庐", "廬" }, { "庑", "廡" }, { "库", "庫" }, { "应", "應" }, { "应制得", "應制得" }, { "应征", "應徵" }, { "应钟", "應鐘" }, { "店里", "店裡" }, { "庙", "廟" }, { "庙里", "廟裡" }, { "府干", "府幹" }, { "府干扰", "府干擾" }, { "府干预", "府干預" }, { "庞", "龐" }, { "废", "廢" }, { "废后", "廢后" }, { "座钟", "座鐘" }, { "廪", "廩" }, { "延历", "延曆" }, { "建筑前", "建築前" }, { "建筑后", "建築後" }, { "开", "開" }, { "开发", "開發" }, { "开吊", "開弔" }, { "开哄", "開鬨" }, { "开封后", "開封後" }, { "开山辟谷", "開山闢谷" }, { "开征", "開徵" }, { "开辟", "開闢" }, { "开采", "開採" }, { "异", "異" }, { "弃", "棄" }, { "弃舍", "棄捨" }, { "弄丑", "弄醜" }, { "弄干", "弄乾" }, { "弄松", "弄鬆" }, { "弄脏胸", "弄髒胸" }, { "弄鬼吊猴", "弄鬼弔猴" }, { "弑", "弒" }, { "引发", "引發" }, { "引斗", "引鬥" }, { "弘历", "弘曆" }, { "弘历史", "弘歷史" }, { "张", "張" }, { "张三丰", "張三丰" }, { "张乐于张徐", "張樂于張徐" }, { "张勋", "張勳" }, { "张杰", "張杰" }, { "张柏芝", "張栢芝" }, { "弥", "彌" }, { "弥山遍野", "瀰山遍野" }, { "弥弥", "瀰瀰" }, { "弥漫", "瀰漫" }, { "弪", "弳" }, { "弯", "彎" }, { "弹", "彈" }, { "弹子台", "彈子檯" }, { "弹珠台", "彈珠檯" }, { "强", "強" }, { "强制", "強制" }, { "强制作用", "強制作用" }, { "强奸", "強姦" }, { "强干", "強幹" }, { "归", "歸" }, { "归余", "歸餘" }, { "归并", "歸併" }, { "当", "當" }, { "当准", "當準" }, { "当啷", "噹啷" }, { "当当", "噹噹" }, { "当当丁丁", "當當丁丁" }, { "当当网", "當當網" }, { "录", "錄" }, { "录制", "錄製" }, { "形单影只", "形單影隻" }, { "彦", "彥" }, { "影相吊", "影相弔" }, { "彻", "徹" }, { "往复式", "往復式" }, { "往日无仇", "往日無讎" }, { "往里", "往裡" }, { "征令", "徵令" }, { "征信", "徵信" }, { "征候", "徵候" }, { "征兆", "徵兆" }, { "征兵", "徵兵" }, { "征到", "徵到" }, { "征募", "徵募" }, { "征友", "徵友" }, { "征发", "徵發" }, { "征召", "徵召" }, { "征名责实", "徵名責實" }, { "征吏", "徵吏" }, { "征启", "徵啟" }, { "征咎", "徵咎" }, { "征圣", "徵聖" }, { "征地", "徵地" }, { "征士", "徵士" }, { "征婚", "徵婚" }, { "征实", "徵實" }, { "征庸", "徵庸" }, { "征引", "徵引" }, { "征得", "徵得" }, { "征怪", "徵怪" }, { "征才", "徵才" }, { "征招", "徵招" }, { "征收", "徵收" }, { "征效", "徵效" }, { "征文", "徵文" }, { "征求", "徵求" }, { "征状", "徵狀" }, { "征用", "徵用" }, { "征税", "徵稅" }, { "征稿", "徵稿" }, { "征答", "徵答" }, { "征结", "徵結" }, { "征聘", "徵聘" }, { "征训", "徵訓" }, { "征询", "徵詢" }, { "征调", "徵調" }, { "征象", "徵象" }, { "征购", "徵購" }, { "征车", "徵車" }, { "征辟", "徵辟" }, { "征迹", "徵跡" }, { "征选", "徵選" }, { "征逐", "徵逐" }, { "征集", "徵集" }, { "征风召雨", "徵風召雨" }, { "征验", "徵驗" }, { "径", "徑" }, { "待复", "待覆" }, { "很丑", "很醜" }, { "很准", "很準" }, { "很凶", "很兇" }, { "很干", "很乾" }, { "很松", "很鬆" }, { "律历志", "律曆志" }, { "徐干", "徐幹" }, { "徒托空言", "徒託空言" }, { "徕", "徠" }, { "得到回复", "得到回覆" }, { "得力干将", "得力幹將" }, { "御侮", "禦侮" }, { "御制", "御製" }, { "御寇", "禦寇" }, { "御寒", "禦寒" }, { "御岳山", "御嶽山" }, { "御敌", "禦敵" }, { "心余", "心餘" }, { "心系一", "心繫一" }, { "心系万", "心繫萬" }, { "心系世", "心繫世" }, { "心系东", "心繫東" }, { "心系两", "心繫兩" }, { "心系中", "心繫中" }, { "心系乔", "心繫喬" }, { "心系五", "心繫五" }, { "心系京", "心繫京" }, { "心系人", "心繫人" }, { "心系他", "心繫他" }, { "心系伊", "心繫伊" }, { "心系众", "心繫眾" }, { "心系传", "心繫傳" }, { "心系何", "心繫何" }, { "心系你", "心繫你" }, { "心系健", "心繫健" }, { "心系全", "心繫全" }, { "心系兰", "心繫蘭" }, { "心系农", "心繫农" }, { "心系功", "心繫功" }, { "心系动", "心繫動" }, { "心系募", "心繫募" }, { "心系北", "心繫北" }, { "心系十", "心繫十" }, { "心系千", "心繫千" }, { "心系南", "心繫南" }, { "心系台", "心繫台" }, { "心系和", "心繫和" }, { "心系哪", "心繫哪" }, { "心系唐", "心繫唐" }, { "心系嘱", "心繫囑" }, { "心系四", "心繫四" }, { "心系困", "心繫困" }, { "心系国", "心繫國" }, { "心系在", "心繫在" }, { "心系地", "心繫地" }, { "心系大", "心繫大" }, { "心系天", "心繫天" }, { "心系夫", "心繫夫" }, { "心系奥", "心繫奧" }, { "心系女", "心繫女" }, { "心系她", "心繫她" }, { "心系妇", "心繫婦" }, { "心系妻", "心繫妻" }, { "心系子", "心繫子" }, { "心系它", "心繫它" }, { "心系宣", "心繫宣" }, { "心系家", "心繫家" }, { "心系富", "心繫富" }, { "心系小", "心繫小" }, { "心系山", "心繫山" }, { "心系川", "心繫川" }, { "心系幼", "心繫幼" }, { "心系广", "心繫廣" }, { "心系彼", "心繫彼" }, { "心系德", "心繫德" }, { "心系您", "心繫您" }, { "心系慈", "心繫慈" }, { "心系我", "心繫我" }, { "心系摩", "心繫摩" }, { "心系故", "心繫故" }, { "心系新", "心繫新" }, { "心系日", "心繫日" }, { "心系昌", "心繫昌" }, { "心系晓", "心繫曉" }, { "心系曼", "心繫曼" }, { "心系林", "心繫林" }, { "心系母", "心繫母" }, { "心系民", "心繫民" }, { "心系江", "心繫江" }, { "心系汶", "心繫汶" }, { "心系沈", "心繫沈" }, { "心系沙", "心繫沙" }, { "心系泰", "心繫泰" }, { "心系浙", "心繫浙" }, { "心系港", "心繫港" }, { "心系湖", "心繫湖" }, { "心系澳", "心繫澳" }, { "心系灾", "心繫災" }, { "心系父", "心繫父" }, { "心系生", "心繫生" }, { "心系病", "心繫病" }, { "心系百", "心繫百" }, { "心系的", "心繫的" }, { "心系社", "心繫社" }, { "心系祖", "心繫祖" }, { "心系神", "心繫神" }, { "心系红", "心繫紅" }, { "心系美", "心繫美" }, { "心系群", "心繫群" }, { "心系老", "心繫老" }, { "心系舞", "心繫舞" }, { "心系英", "心繫英" }, { "心系茶", "心繫茶" }, { "心系西", "心繫西" }, { "心系贫", "心繫貧" }, { "心系输", "心繫輸" }, { "心系近", "心繫近" }, { "心系远", "心繫遠" }, { "心系选", "心繫選" }, { "心系重", "心繫重" }, { "心系长", "心繫長" }, { "心系阮", "心繫阮" }, { "心系震", "心繫震" }, { "心系非", "心繫非" }, { "心系风", "心繫風" }, { "心系香", "心繫香" }, { "心系高", "心繫高" }, { "心系麦", "心繫麥" }, { "心系黄", "心繫黃" }, { "心细如发", "心細如髮" }, { "心脏", "心臟" }, { "心脏痳痹", "心臟痲痺" }, { "心荡", "心蕩" }, { "心里", "心裡" }, { "心里面", "心裏面" }, { "心长发短", "心長髮短" }, { "必须", "必須" }, { "忆", "憶" }, { "忏", "懺" }, { "志哀", "誌哀" }, { "志喜", "誌喜" }, { "志庆", "誌慶" }, { "志异", "誌異" }, { "忙里", "忙裡" }, { "忙里偷闲", "忙裡偷閒" }, { "忠仆", "忠僕" }, { "忧", "憂" }, { "忧郁", "憂鬱" }, { "快冲", "快衝" }, { "快快当当", "快快當當" }, { "忾", "愾" }, { "怀", "懷" }, { "怀表", "懷錶" }, { "怀里", "懷裡" }, { "怀钟", "懷鐘" }, { "态", "態" }, { "怂", "慫" }, { "怃", "憮" }, { "怄", "慪" }, { "怅", "悵" }, { "怆", "愴" }, { "怎么干", "怎麼幹" }, { "怒发冲冠", "怒髮衝冠" }, { "怒气冲天", "怒氣衝天" }, { "怒火冲天", "怒火衝天" }, { "怜", "憐" }, { "思如泉涌", "思如泉湧" }, { "急冲而下", "急衝而下" }, { "性别扭曲", "性別扭曲" }, { "性征", "性徵" }, { "性欲", "性慾" }, { "怨气冲天", "怨氣衝天" }, { "怪里怪气", "怪裡怪氣" }, { "怫郁", "怫鬱" }, { "总", "總" }, { "总数只", "總數只" }, { "总数里", "總數裡" }, { "总裁制", "總裁制" }, { "怼", "懟" }, { "怿", "懌" }, { "恂栗", "恂慄" }, { "恋", "戀" }, { "恋恋不舍", "戀戀不捨" }, { "恒", "恆" }, { "恢复", "恢復" }, { "息交绝游", "息交絕遊" }, { "息谷", "息穀" }, { "恳", "懇" }, { "恳托", "懇託" }, { "恶", "惡" }, { "恶仆", "惡僕" }, { "恶心", "噁心" }, { "恶斗", "惡鬥" }, { "恶直丑正", "惡直醜正" }, { "恸", "慟" }, { "恹", "懨" }, { "恺", "愷" }, { "恻", "惻" }, { "恼", "惱" }, { "恽", "惲" }, { "悒郁", "悒鬱" }, { "悠悠荡荡", "悠悠蕩蕩" }, { "悠游", "悠遊" }, { "悠荡", "悠蕩" }, { "悦", "悅" }, { "悫", "愨" }, { "悬", "懸" }, { "悬挂", "懸掛" }, { "悬钟", "懸鐘" }, { "悭", "慳" }, { "悯", "憫" }, { "悲凄", "悲悽" }, { "悲郁", "悲鬱" }, { "悸栗", "悸慄" }, { "情欲", "情慾" }, { "惇朴", "惇樸" }, { "惊", "驚" }, { "惊栗", "驚慄" }, { "惊赞", "驚讚" }, { "惊钟", "驚鐘" }, { "惧", "懼" }, { "惨", "慘" }, { "惨淡", "慘澹" }, { "惩", "懲" }, { "惩忿窒欲", "懲忿窒欲" }, { "惫", "憊" }, { "惬", "愜" }, { "惭", "慚" }, { "惮", "憚" }, { "惯", "慣" }, { "惴栗", "惴慄" }, { "愈合", "癒合" }, { "意大利面", "意大利麵" }, { "意大利面临", "意大利面臨" }, { "愠", "慍" }, { "愤", "憤" }, { "愦", "憒" }, { "愿", "願" }, { "愿朴", "愿樸" }, { "慈溪", "慈谿" }, { "慌里慌张", "慌裡慌張" }, { "慑", "懾" }, { "懈松", "懈鬆" }, { "懑", "懣" }, { "懒", "懶" }, { "懔", "懍" }, { "懔栗", "懍慄" }, { "懿范", "懿範" }, { "戆", "戇" }, { "戋", "戔" }, { "戏", "戲" }, { "戏里", "戲裡" }, { "成于思", "成於思" }, { "戗", "戧" }, { "战", "戰" }, { "战天斗地", "戰天鬥地" }, { "战斗", "戰鬥" }, { "战栗", "戰慄" }, { "戬", "戩" }, { "戬谷", "戩穀" }, { "戯", "戱" }, { "戴发含齿", "戴髮含齒" }, { "户", "戶" }, { "房里", "房裡" }, { "所托", "所託" }, { "扁拟谷盗虫", "扁擬穀盜蟲" }, { "手冢治虫", "手塚治虫" }, { "手折", "手摺" }, { "手机里", "手機裡" }, { "手松", "手鬆" }, { "手游", "手遊" }, { "手表", "手錶" }, { "手表决", "手表決" }, { "手表态", "手表態" }, { "手表现", "手表現" }, { "手表达", "手表達" }, { "手里", "手裡" }, { "手里剑", "手裏劍" }, { "手链", "手鍊" }, { "才干", "才幹" }, { "才干扰", "才干擾" }, { "才干预", "才干預" }, { "扎上", "紮上" }, { "扎下", "紮下" }, { "扎囮", "紮囮" }, { "扎好", "紮好" }, { "扎实", "紮實" }, { "扎寨", "紮寨" }, { "扎带子", "紮帶子" }, { "扎成", "紮成" }, { "扎根", "紮根" }, { "扎紧", "紮緊" }, { "扎脚", "紮腳" }, { "扎营", "紮營" }, { "扎裹", "紮裹" }, { "扎诈", "紮詐" }, { "扎起", "紮起" }, { "扎铁", "紮鐵" }, { "扑", "撲" }, { "扑冬", "撲鼕" }, { "扑咚", "撲鼕" }, { "扑咚咚", "撲鼕鼕" }, { "扑挞", "扑撻" }, { "打出吊入", "打出弔入" }, { "打卡钟", "打卡鐘" }, { "打卤", "打滷" }, { "打干", "打幹" }, { "打干哕", "打乾噦" }, { "打斗", "打鬥" }, { "打断发", "打斷發" }, { "打谷", "打穀" }, { "打钟", "打鐘" }, { "打风后", "打風後" }, { "托买", "託買" }, { "托了", "託了" }, { "托事", "託事" }, { "托交", "託交" }, { "托付", "託付" }, { "托克逊", "託克遜" }, { "托卖", "託賣" }, { "托古讽今", "託古諷今" }, { "托名", "託名" }, { "托命", "託命" }, { "托咎", "託咎" }, { "托孤", "託孤" }, { "托庇", "託庇" }, { "托故", "託故" }, { "托梦", "託夢" }, { "托疾", "託疾" }, { "托病", "託病" }, { "托管", "託管" }, { "托管国", "托管國" }, { "托言", "託言" }, { "托词", "託詞" }, { "托身", "託身" }, { "托辞", "託辭" }, { "托过", "託過" }, { "托运", "託運" }, { "托里县", "託里縣" }, { "托附", "託附" }, { "执", "執" }, { "扩", "擴" }, { "扪", "捫" }, { "扫", "掃" }, { "扫荡", "掃蕩" }, { "扬", "揚" }, { "扯面", "扯麵" }, { "扰", "擾" }, { "扶余", "扶餘" }, { "批准确定", "批准確定" }, { "批复", "批覆" }, { "批斗", "批鬥" }, { "批注", "批註" }, { "扼肮", "搤肮" }, { "扼肮拊背", "搤肮拊背" }, { "抑郁", "抑鬱" }, { "抓奸", "抓姦" }, { "抗御", "抗禦" }, { "折冲", "折衝" }, { "折叠", "摺疊" }, { "折台", "摺檯" }, { "折奏", "摺奏" }, { "折子", "摺子" }, { "折子戏", "折子戲" }, { "折尺", "摺尺" }, { "折扇", "摺扇" }, { "折梯", "摺梯" }, { "折椅", "摺椅" }, { "折痕", "摺痕" }, { "折篷", "摺篷" }, { "折纸", "摺紙" }, { "折裙", "摺裙" }, { "抚", "撫" }, { "抛", "拋" }, { "抟", "摶" }, { "抠", "摳" }, { "抡", "掄" }, { "抢", "搶" }, { "抢注", "搶註" }, { "护", "護" }, { "护发", "護髮" }, { "护发展", "護發展" }, { "报", "報" }, { "披发", "披髮" }, { "披头散发", "披頭散髮" }, { "披榛采兰", "披榛採蘭" }, { "抱朴而长吟兮", "抱朴而長吟兮" }, { "抱素怀朴", "抱素懷樸" }, { "抵御", "抵禦" }, { "抵牾", "牴牾" }, { "抵触", "牴觸" }, { "抹干", "抹乾" }, { "抽公签", "抽公籤" }, { "抽干", "抽乾" }, { "抽签", "抽籤" }, { "抿发", "抿髮" }, { "拂钟无声", "拂鐘無聲" }, { "担", "擔" }, { "担仔面", "擔仔麵" }, { "担担面", "擔擔麵" }, { "拆伙", "拆夥" }, { "拈须", "拈鬚" }, { "拉克施尔德钟", "拉克施爾德鐘" }, { "拉纤", "拉縴" }, { "拉面", "拉麵" }, { "拉面无", "拉面無" }, { "拌面", "拌麵" }, { "拓朴", "拓樸" }, { "拔发", "拔髮" }, { "拔须", "拔鬚" }, { "拗别", "拗彆" }, { "拙朴", "拙樸" }, { "拚舍", "拚捨" }, { "拜托", "拜託" }, { "拟", "擬" }, { "拢", "攏" }, { "拣", "揀" }, { "拥", "擁" }, { "拦", "攔" }, { "拧", "擰" }, { "拧干", "擰乾" }, { "拨", "撥" }, { "拨谷", "撥穀" }, { "择", "擇" }, { "拭干", "拭乾" }, { "拳局", "拳跼" }, { "拼斗", "拼鬥" }, { "拾沈", "拾瀋" }, { "拿不准", "拿不準" }, { "拿准", "拿準" }, { "拿破仑", "拿破崙" }, { "挂", "掛" }, { "挂历", "掛曆" }, { "挂名", "掛名" }, { "挂钩", "掛鈎" }, { "挂面", "掛麵" }, { "挌斗", "挌鬥" }, { "挑斗", "挑鬥" }, { "挚", "摯" }, { "挛", "攣" }, { "挝", "撾" }, { "挞", "撻" }, { "挟", "挾" }, { "挠", "撓" }, { "挡", "擋" }, { "挢", "撟" }, { "挣", "掙" }, { "挤", "擠" }, { "挥", "揮" }, { "挥手表", "揮手表" }, { "挽曲", "輓曲" }, { "挽歌", "輓歌" }, { "挽联", "輓聯" }, { "挽词", "輓詞" }, { "挽诗", "輓詩" }, { "挽车", "輓車" }, { "挽输", "輓輸" }, { "挽辞", "輓辭" }, { "捆扎", "綑紮" }, { "捉奸", "捉姦" }, { "捉奸党", "捉奸黨" }, { "捉奸细", "捉奸細" }, { "捉奸贼", "捉奸賊" }, { "捍御", "捍禦" }, { "捏面人", "捏麵人" }, { "捞", "撈" }, { "捞干", "撈乾" }, { "捞面", "撈麵" }, { "损", "損" }, { "捡", "撿" }, { "换", "換" }, { "换只", "換隻" }, { "捣", "搗" }, { "捣鬼吊白", "搗鬼弔白" }, { "据", "據" }, { "据云", "據云" }, { "捵面", "捵麵" }, { "捶炼", "捶鍊" }, { "授勋", "授勳" }, { "授时历", "授時曆" }, { "排干", "排乾" }, { "排干部", "排幹部" }, { "排骨面", "排骨麵" }, { "掣签", "掣籤" }, { "推情准理", "推情準理" }, { "推托", "推託" }, { "推托之词", "推托之詞" }, { "掳", "擄" }, { "掴", "摑" }, { "掷", "擲" }, { "掸", "撣" }, { "掺", "摻" }, { "掼", "摜" }, { "提子干", "提子乾" }, { "提心吊胆", "提心弔膽" }, { "提摩太后书", "提摩太後書" }, { "提高后", "提高後" }, { "握发", "握髮" }, { "揩干", "揩乾" }, { "揪发", "揪髮" }, { "揪采", "揪採" }, { "揪须", "揪鬚" }, { "揭丑", "揭醜" }, { "揽", "攬" }, { "揿", "撳" }, { "搀", "攙" }, { "搁", "擱" }, { "搂", "摟" }, { "搅", "攪" }, { "搋面", "搋麵" }, { "搏斗", "搏鬥" }, { "搬斗", "搬鬥" }, { "搭伙", "搭夥" }, { "搭干铺", "搭乾鋪" }, { "携", "攜" }, { "摄", "攝" }, { "摄制", "攝製" }, { "摅", "攄" }, { "摆", "擺" }, { "摆钟", "擺鐘" }, { "摇", "搖" }, { "摈", "擯" }, { "摊", "攤" }, { "摧坚获丑", "摧堅獲醜" }, { "摭采", "摭採" }, { "摸棱", "摸稜" }, { "摸钟", "摸鐘" }, { "撄", "攖" }, { "撇吊", "撇弔" }, { "撑", "撐" }, { "撚须", "撚鬚" }, { "撞钟", "撞鐘" }, { "撞阵冲军", "撞陣衝軍" }, { "撤并", "撤併" }, { "撩斗", "撩鬥" }, { "撵", "攆" }, { "撷", "擷" }, { "撸", "擼" }, { "撺", "攛" }, { "擀面", "擀麵" }, { "操作钟", "操作鐘" }, { "擞", "擻" }, { "擢发", "擢髮" }, { "擦干", "擦乾" }, { "攒", "攢" }, { "支干", "支幹" }, { "支配欲", "支配慾" }, { "收获", "收穫" }, { "改征", "改徵" }, { "改采", "改採" }, { "放懞挣", "放懞掙" }, { "放松", "放鬆" }, { "放荡", "放蕩" }, { "政斗", "政鬥" }, { "敌", "敵" }, { "敌忾同仇", "敵愾同讎" }, { "教学钟", "教學鐘" }, { "教范", "教範" }, { "敛", "斂" }, { "敢干的", "敢幹的" }, { "散伙", "散夥" }, { "散荡", "散蕩" }, { "敦朴", "敦樸" }, { "敬挽", "敬輓" }, { "数", "數" }, { "数只", "數隻" }, { "数只会", "數只會" }, { "数只包括", "數只包括" }, { "数只可", "數只可" }, { "数只含", "數只含" }, { "数只在", "數只在" }, { "数只应", "數只應" }, { "数只是", "數只是" }, { "数只有", "數只有" }, { "数只比", "數只比" }, { "数只能", "數只能" }, { "数只限", "數只限" }, { "数只需", "數只需" }, { "数只须", "數只須" }, { "数天后", "數天後" }, { "数字钟", "數字鐘" }, { "数字钟表", "數字鐘錶" }, { "数罪并罚", "數罪併罰" }, { "敲钟", "敲鐘" }, { "整出剧", "整齣劇" }, { "整出戏", "整齣戲" }, { "整出电影", "整齣電影" }, { "整发用品", "整髮用品" }, { "整只", "整隻" }, { "整风后", "整風後" }, { "文学志", "文學誌" }, { "文征明", "文徵明" }, { "文思泉涌", "文思泉湧" }, { "斋", "齋" }, { "斓", "斕" }, { "斗不过", "鬥不過" }, { "斗丽", "鬥麗" }, { "斗了", "鬥了" }, { "斗争", "鬥爭" }, { "斗争斗合", "鬥爭鬥合" }, { "斗倒", "鬥倒" }, { "斗兽", "鬥獸" }, { "斗分子", "鬥分子" }, { "斗别气", "鬥彆氣" }, { "斗剑", "鬥劍" }, { "斗力", "鬥力" }, { "斗劲", "鬥勁" }, { "斗勇", "鬥勇" }, { "斗叠", "鬥疊" }, { "斗叶儿", "鬥葉兒" }, { "斗叶子", "鬥葉子" }, { "斗合", "鬥合" }, { "斗哄", "鬥鬨" }, { "斗嘴", "鬥嘴" }, { "斗地主", "鬥地主" }, { "斗垮", "鬥垮" }, { "斗士", "鬥士" }, { "斗头", "鬥頭" }, { "斗富", "鬥富" }, { "斗巧", "鬥巧" }, { "斗幌子", "鬥幌子" }, { "斗弄", "鬥弄" }, { "斗引", "鬥引" }, { "斗彩", "鬥彩" }, { "斗心眼", "鬥心眼" }, { "斗志", "鬥志" }, { "斗成", "鬥成" }, { "斗战", "鬥戰" }, { "斗打", "鬥打" }, { "斗批改", "鬥批改" }, { "斗技", "鬥技" }, { "斗文", "鬥文" }, { "斗斗", "鬥鬥" }, { "斗智", "鬥智" }, { "斗暴", "鬥暴" }, { "斗来斗去", "鬥來鬥去" }, { "斗武", "鬥武" }, { "斗殴", "鬥毆" }, { "斗气", "鬥氣" }, { "斗法", "鬥法" }, { "斗法会", "斗法會" }, { "斗牌", "鬥牌" }, { "斗牙拌齿", "鬥牙拌齒" }, { "斗牙斗齿", "鬥牙鬥齒" }, { "斗牛", "鬥牛" }, { "斗犀台", "鬥犀臺" }, { "斗犬", "鬥犬" }, { "斗狗", "鬥狗" }, { "斗狠", "鬥狠" }, { "斗百草", "鬥百草" }, { "斗眼", "鬥眼" }, { "斗私批修", "鬥私批修" }, { "斗而铸兵", "鬥而鑄兵" }, { "斗而铸锥", "鬥而鑄錐" }, { "斗胜", "鬥勝" }, { "斗脚", "鬥腳" }, { "斗舰", "鬥艦" }, { "斗艳", "鬥豔" }, { "斗茶", "鬥茶" }, { "斗草", "鬥草" }, { "斗蛐", "鬥蛐" }, { "斗蟋蟀", "鬥蟋蟀" }, { "斗话", "鬥話" }, { "斗败", "鬥敗" }, { "斗起", "鬥起" }, { "斗趣", "鬥趣" }, { "斗闲气", "鬥閒氣" }, { "斗闷", "鬥悶" }, { "斗雪红", "鬥雪紅" }, { "斗风", "鬥風" }, { "斗鱼", "鬥魚" }, { "斗鸡", "鬥雞" }, { "斗鸭", "鬥鴨" }, { "斗鹌鹑", "鬥鵪鶉" }, { "斗龙", "鬥龍" }, { "斩", "斬" }, { "斫雕为朴", "斫雕為樸" }, { "断", "斷" }, { "断发", "斷髮" }, { "断发文身", "斷髮文身" }, { "断发现", "斷發現" }, { "新历", "新曆" }, { "新历史", "新歷史" }, { "新干县", "新幹縣" }, { "新扎", "新紮" }, { "斲雕为朴", "斲雕為樸" }, { "方便面", "方便麵" }, { "方法里", "方法裡" }, { "施舍", "施捨" }, { "旁征博引", "旁徵博引" }, { "旁注", "旁註" }, { "旅游", "旅遊" }, { "旋回", "旋迴" }, { "旋松", "旋鬆" }, { "族里", "族裡" }, { "无", "無" }, { "无业游民", "無業游民" }, { "无余", "無餘" }, { "无征不信", "無徵不信" }, { "日历", "日曆" }, { "日历史", "日歷史" }, { "日心历表", "日心曆表" }, { "日志", "日誌" }, { "日里", "日裡" }, { "旧", "舊" }, { "旧历", "舊曆" }, { "旧历史", "舊歷史" }, { "旧游", "舊遊" }, { "旧表", "舊錶" }, { "旧钟", "舊鐘" }, { "旧钟表", "舊鐘錶" }, { "旱干", "旱乾" }, { "时", "時" }, { "时代里", "時代裡" }, { "时钟", "時鐘" }, { "时间不准", "時間不準" }, { "旷", "曠" }, { "昆仑", "崑崙" }, { "昆冈", "崑岡" }, { "昆剧", "崑劇" }, { "昆山", "崑山" }, { "昆嵛", "崑嵛" }, { "昆承湖", "崑承湖" }, { "昆曲", "崑曲" }, { "昆玉市", "崑玉市" }, { "昆腔", "崑腔" }, { "昆苏", "崑蘇" }, { "昆调", "崑調" }, { "昊天不吊", "昊天不弔" }, { "明征", "明徵" }, { "明目张胆", "明目張胆" }, { "明窗净几", "明窗淨几" }, { "明范", "明範" }, { "明鉴", "明鑑" }, { "昙", "曇" }, { "星历", "星曆" }, { "星历史", "星歷史" }, { "星期后", "星期後" }, { "星露谷物语", "星露谷物語" }, { "春游", "春遊" }, { "春香斗学", "春香鬥學" }, { "是发小", "是髮小" }, { "昵称", "暱稱" }, { "昼", "晝" }, { "显", "顯" }, { "显示表", "顯示錶" }, { "显示表头", "顯示表頭" }, { "显示表明", "顯示表明" }, { "显示表格", "顯示表格" }, { "显示表现", "顯示表現" }, { "显示表示", "顯示表示" }, { "显示表达", "顯示表達" }, { "显示表面", "顯示表面" }, { "显示钟", "顯示鐘" }, { "显示钟表", "顯示鐘錶" }, { "晃荡", "晃蕩" }, { "晋", "晉" }, { "晒", "曬" }, { "晒干", "曬乾" }, { "晒谷", "曬穀" }, { "晓", "曉" }, { "晔", "曄" }, { "晕", "暈" }, { "晖", "暉" }, { "晚钟", "晚鐘" }, { "晞发", "晞髮" }, { "晨钟", "晨鐘" }, { "普咚咚", "普鼕鼕" }, { "晾干", "晾乾" }, { "暂", "暫" }, { "暗地里", "暗地裡" }, { "暗斗", "暗鬥" }, { "暗沟里", "暗溝裡" }, { "暗里", "暗裡" }, { "暧", "曖" }, { "暴敛横征", "暴斂橫徵" }, { "曲尘", "麴塵" }, { "曲櫱", "麴櫱" }, { "曲秀才", "麴秀才" }, { "曲车", "麴車" }, { "曲道士", "麴道士" }, { "曲钱", "麴錢" }, { "曲霉", "麴黴" }, { "更仆难数", "更僕難數" }, { "更钟", "更鐘" }, { "更钟情", "更鍾情" }, { "更钟意", "更鍾意" }, { "更钟爱", "更鍾愛" }, { "曾朴", "曾樸" }, { "月历", "月曆" }, { "月历史", "月歷史" }, { "月球历表", "月球曆表" }, { "月里来", "月裡來" }, { "有事之无范", "有事之無範" }, { "有仆", "有僕" }, { "有余", "有餘" }, { "有准", "有準" }, { "有发头陀寺", "有髮頭陀寺" }, { "有只", "有隻" }, { "有只采", "有只採" }, { "有回复", "有回覆" }, { "有够赞", "有夠讚" }, { "有征", "有徵" }, { "有征战", "有征戰" }, { "有征讨", "有征討" }, { "有棱有角", "有稜有角" }, { "朝钟", "朝鐘" }, { "朝鲜于", "朝鮮於" }, { "朦胧", "朦朧" }, { "木偶戏扎", "木偶戲紮" }, { "木制", "木製" }, { "木材干馏", "木材乾餾" }, { "木梁", "木樑" }, { "木签", "木籤" }, { "木钟", "木鐘" }, { "未干", "未乾" }, { "未干预", "未干預" }, { "本出戏", "本齣戲" }, { "本征", "本徵" }, { "术", "術" }, { "术忽", "朮忽" }, { "术虎高", "朮虎高" }, { "术赤", "朮赤" }, { "朱卷", "硃卷" }, { "朱庆余", "朱慶餘" }, { "朱批", "硃批" }, { "朱理安历", "朱理安曆" }, { "朱理安历史", "朱理安歷史" }, { "朱砂", "硃砂" }, { "朱笔", "硃筆" }, { "朱谕", "硃諭" }, { "朴修斯", "樸修斯" }, { "朴厚", "樸厚" }, { "朴学", "樸學" }, { "朴实", "樸實" }, { "朴念仁", "樸念仁" }, { "朴拙", "樸拙" }, { "朴樕", "樸樕" }, { "朴父", "樸父" }, { "朴直", "樸直" }, { "朴素", "樸素" }, { "朴茨茅斯", "樸茨茅斯" }, { "朴讷", "樸訥" }, { "朴质", "樸質" }, { "朴鄙", "樸鄙" }, { "朴重", "樸重" }, { "朴野", "樸野" }, { "朴钝", "樸鈍" }, { "朴陋", "樸陋" }, { "朴马", "樸馬" }, { "朴鲁", "樸魯" }, { "机", "機" }, { "机械系", "機械系" }, { "机械表", "機械錶" }, { "机械钟", "機械鐘" }, { "机械钟表", "機械鐘錶" }, { "杀", "殺" }, { "杂", "雜" }, { "杂合面儿", "雜合麵兒" }, { "杂志", "雜誌" }, { "杂面", "雜麵" }, { "权", "權" }, { "权斗", "權鬥" }, { "杆枪", "桿槍" }, { "杆秤", "桿秤" }, { "杆菌", "桿菌" }, { "李连杰", "李連杰" }, { "材干", "材幹" }, { "村落发", "村落發" }, { "村里有", "村裡有" }, { "村里的", "村裡的" }, { "杜琪峰", "杜琪峯" }, { "杜老志道", "杜老誌道" }, { "杞宋无征", "杞宋無徵" }, { "束发", "束髮" }, { "杠", "槓" }, { "杠杆", "槓桿" }, { "杠毂", "杠轂" }, { "条", "條" }, { "条文里", "條文裡" }, { "来", "來" }, { "来栖", "來栖" }, { "杨", "楊" }, { "杨雅筑", "楊雅筑" }, { "杩", "榪" }, { "杯干", "杯乾" }, { "杯面", "杯麵" }, { "杰", "傑" }, { "杰伦", "杰倫" }, { "杰威尔", "杰威爾" }, { "松一口气", "鬆一口氣" }, { "松了", "鬆了" }, { "松些", "鬆些" }, { "松元音", "鬆元音" }, { "松动", "鬆動" }, { "松劲", "鬆勁" }, { "松化", "鬆化" }, { "松口", "鬆口" }, { "松口镇", "松口鎮" }, { "松喉", "鬆喉" }, { "松土", "鬆土" }, { "松宽", "鬆寬" }, { "松开", "鬆開" }, { "松开始", "松開始" }, { "松弛", "鬆弛" }, { "松快", "鬆快" }, { "松懈", "鬆懈" }, { "松手", "鬆手" }, { "松掉", "鬆掉" }, { "松散", "鬆散" }, { "松松地", "鬆鬆地" }, { "松柔", "鬆柔" }, { "松气", "鬆氣" }, { "松浮", "鬆浮" }, { "松溪县", "松谿縣" }, { "松紧", "鬆緊" }, { "松绑", "鬆綁" }, { "松缓", "鬆緩" }, { "松耦合", "鬆耦合" }, { "松脆", "鬆脆" }, { "松脱", "鬆脫" }, { "松蛋", "鬆蛋" }, { "松软", "鬆軟" }, { "松通", "鬆通" }, { "松饼", "鬆餅" }, { "板荡", "板蕩" }, { "极", "極" }, { "构", "構" }, { "林宏岳", "林宏嶽" }, { "林钟", "林鐘" }, { "林鹅峰", "林鵞峰" }, { "果子干", "果子乾" }, { "果干", "果乾" }, { "果累累", "果纍纍" }, { "枝干", "枝幹" }, { "枞", "樅" }, { "枢", "樞" }, { "枣", "棗" }, { "枥", "櫪" }, { "枨", "棖" }, { "枪", "槍" }, { "枪杆", "槍桿" }, { "枫", "楓" }, { "枭", "梟" }, { "枯干", "枯乾" }, { "架钟", "架鐘" }, { "某只", "某隻" }, { "染发", "染髮" }, { "染发生", "染發生" }, { "柜", "櫃" }, { "柜台", "櫃檯" }, { "柜里", "櫃裡" }, { "柠", "檸" }, { "查封后", "查封後" }, { "柳诒征", "柳詒徵" }, { "柽", "檉" }, { "栀", "梔" }, { "栅", "柵" }, { "标", "標" }, { "标准", "標準" }, { "标志", "標誌" }, { "标标致致", "標標致致" }, { "标注", "標註" }, { "标签", "標籤" }, { "标致", "標緻" }, { "栈", "棧" }, { "栉", "櫛" }, { "栉发工", "櫛髮工" }, { "栊", "櫳" }, { "栋", "棟" }, { "栌", "櫨" }, { "栎", "櫟" }, { "栏", "欄" }, { "树", "樹" }, { "树干", "樹幹" }, { "树林里", "樹林裡" }, { "栖", "棲" }, { "栗冽", "慄冽" }, { "栗栗", "慄慄" }, { "校准", "校準" }, { "样", "樣" }, { "样范", "樣範" }, { "格斗", "格鬥" }, { "格范", "格範" }, { "格里历", "格里曆" }, { "格里高利历", "格里高利曆" }, { "栾", "欒" }, { "桂圆干", "桂圓乾" }, { "框里", "框裡" }, { "桌历", "桌曆" }, { "桌历史", "桌歷史" }, { "桌游", "桌遊" }, { "桑干", "桑乾" }, { "桠", "椏" }, { "桡", "橈" }, { "桢", "楨" }, { "桢干", "楨幹" }, { "档", "檔" }, { "桤", "榿" }, { "桥", "橋" }, { "桦", "樺" }, { "桧", "檜" }, { "桨", "槳" }, { "桩", "樁" }, { "梁启超", "梁啓超" }, { "梦", "夢" }, { "梦游", "夢遊" }, { "梦里", "夢裡" }, { "梨干", "梨乾" }, { "梯冲", "梯衝" }, { "械斗", "械鬥" }, { "械系", "械繫" }, { "梼", "檮" }, { "检", "檢" }, { "棂", "欞" }, { "棉制", "棉製" }, { "棉里", "棉裡" }, { "棒子面", "棒子麵" }, { "棫朴", "棫樸" }, { "森林里", "森林裡" }, { "棱体", "稜體" }, { "棱台", "稜台" }, { "棱子", "稜子" }, { "棱层", "稜層" }, { "棱柱", "稜柱" }, { "棱棱", "稜稜" }, { "棱登", "稜登" }, { "棱等登", "稜等登" }, { "棱线", "稜線" }, { "棱缝", "稜縫" }, { "棱角", "稜角" }, { "棱锥", "稜錐" }, { "棱镜", "稜鏡" }, { "棺材里", "棺材裡" }, { "椁", "槨" }, { "植发", "植髮" }, { "椒面", "椒麵" }, { "椟", "櫝" }, { "椠", "槧" }, { "椢", "槶" }, { "椤", "欏" }, { "椭", "橢" }, { "椰枣干", "椰棗乾" }, { "楼", "樓" }, { "榄", "欖" }, { "榇", "櫬" }, { "榈", "櫚" }, { "榉", "櫸" }, { "榨干", "榨乾" }, { "槛", "檻" }, { "槟", "檳" }, { "槠", "櫧" }, { "模制", "模製" }, { "模棱", "模稜" }, { "模范", "模範" }, { "模范三军", "模范三軍" }, { "横", "橫" }, { "横亘", "橫亙" }, { "横冲", "橫衝" }, { "横峰县", "橫峯縣" }, { "横征暴敛", "橫徵暴斂" }, { "樯", "檣" }, { "樱", "櫻" }, { "樵采", "樵採" }, { "橥", "櫫" }, { "橱", "櫥" }, { "橹", "櫓" }, { "橼", "櫞" }, { "檩", "檁" }, { "欢", "歡" }, { "欤", "歟" }, { "欧", "歐" }, { "欧游", "歐遊" }, { "欲令智昏", "慾令智昏" }, { "欲壑难填", "慾壑難填" }, { "欲念", "慾念" }, { "欲海", "慾海" }, { "欲海难填", "欲海難填" }, { "欲火", "慾火" }, { "欲障", "慾障" }, { "欺蒙", "欺矇" }, { "歌钟", "歌鐘" }, { "正文里", "正文裡" }, { "武斗", "武鬥" }, { "歹斗", "歹鬥" }, { "死里求生", "死裡求生" }, { "死里逃生", "死裡逃生" }, { "歼", "殲" }, { "殁", "歿" }, { "殇", "殤" }, { "残", "殘" }, { "残余", "殘餘" }, { "殒", "殞" }, { "殓", "殮" }, { "殖谷", "殖穀" }, { "殚", "殫" }, { "殡", "殯" }, { "殴", "毆" }, { "殴斗", "毆鬥" }, { "殷师牛斗", "殷師牛鬥" }, { "殷鉴", "殷鑑" }, { "殿里", "殿裡" }, { "殿钟自鸣", "殿鐘自鳴" }, { "毁", "毀" }, { "毁钟为铎", "毀鐘為鐸" }, { "毂", "轂" }, { "母丑", "母醜" }, { "母范", "母範" }, { "每只", "每隻" }, { "毕", "畢" }, { "毙", "斃" }, { "毛发", "毛髮" }, { "毛姜", "毛薑" }, { "毡", "氈" }, { "毫厘", "毫釐" }, { "毫发", "毫髮" }, { "毵", "毿" }, { "氇", "氌" }, { "气", "氣" }, { "气冲斗牛", "氣沖斗牛" }, { "气郁", "氣鬱" }, { "氢", "氫" }, { "氤郁", "氤鬱" }, { "氩", "氬" }, { "氲", "氳" }, { "水准", "水準" }, { "水并流", "水併流" }, { "水来汤里去", "水來湯裡去" }, { "水表", "水錶" }, { "水里", "水裡" }, { "永历", "永曆" }, { "永历史", "永歷史" }, { "永志不忘", "永誌不忘" }, { "求知欲", "求知慾" }, { "求签", "求籤" }, { "汇", "匯" }, { "汇刊", "彙刊" }, { "汇算", "彙算" }, { "汇纂", "彙纂" }, { "汇辑", "彙輯" }, { "汉", "漢" }, { "汉弥登钟", "漢彌登鐘" }, { "江并流", "江併流" }, { "池里", "池裡" }, { "污蔑", "污衊" }, { "汤", "湯" }, { "汤下面", "湯下麵" }, { "汤卤", "汤滷" }, { "汤团", "湯糰" }, { "汤面", "湯麵" }, { "汹", "洶" }, { "汹涌", "洶湧" }, { "沈丹客运", "瀋丹客運" }, { "沈丹线", "瀋丹線" }, { "沈丹铁路", "瀋丹鐵路" }, { "沈丹高", "瀋丹高" }, { "沈北", "瀋北" }, { "沈吉", "瀋吉" }, { "沈大线", "瀋大線" }, { "沈大铁路", "瀋大鐵路" }, { "沈大高速", "瀋大高速" }, { "沈山线", "瀋山線" }, { "沈山铁路", "瀋山鐵路" }, { "沈州", "瀋州" }, { "沈抚", "瀋撫" }, { "沈水", "瀋水" }, { "沈河", "瀋河" }, { "沈海铁路", "瀋海鐵路" }, { "沈海高速", "瀋海高速" }, { "沈淀", "沈澱" }, { "沈郁", "沈鬱" }, { "沈阳", "瀋陽" }, { "沉淀", "沉澱" }, { "沉郁", "沉鬱" }, { "沙琅", "沙瑯" }, { "沙里淘金", "沙裡淘金" }, { "沟", "溝" }, { "沟谷", "溝谷" }, { "没", "沒" }, { "没事干", "沒事幹" }, { "没准", "沒準" }, { "没干", "沒幹" }, { "没干没净", "沒乾沒淨" }, { "没折至", "沒摺至" }, { "没样范", "沒樣範" }, { "沣", "灃" }, { "沤", "漚" }, { "沤郁", "漚鬱" }, { "沥", "瀝" }, { "沥干", "瀝乾" }, { "沦", "淪" }, { "沧", "滄" }, { "沩", "溈" }, { "沪", "滬" }, { "河岳", "河嶽" }, { "河里", "河裡" }, { "油斗", "油鬥" }, { "油泼面", "油潑麵" }, { "油面", "油麵" }, { "治愈", "治癒" }, { "沾化", "霑化" }, { "沾益", "霑益" }, { "沿溯", "沿泝" }, { "泄欲", "洩慾" }, { "泛游", "泛遊" }, { "泞", "濘" }, { "泡制", "泡製" }, { "泡面", "泡麵" }, { "波发藻", "波髮藻" }, { "波棱菜", "波稜菜" }, { "注上", "註上" }, { "注册", "註冊" }, { "注失", "註失" }, { "注定", "註定" }, { "注明", "註明" }, { "注标", "註標" }, { "注生娘娘", "註生娘娘" }, { "注疏", "註疏" }, { "注脚", "註腳" }, { "注解", "註解" }, { "注记", "註記" }, { "注译", "註譯" }, { "注释", "注釋" }, { "注里", "註裡" }, { "注销", "註銷" }, { "泪", "淚" }, { "泪如泉涌", "淚如泉湧" }, { "泪干", "淚乾" }, { "泱郁", "泱鬱" }, { "泳气钟", "泳氣鐘" }, { "泶", "澩" }, { "泷", "瀧" }, { "泸", "瀘" }, { "泺", "濼" }, { "泻", "瀉" }, { "泼", "潑" }, { "泽", "澤" }, { "泾", "涇" }, { "洁", "潔" }, { "洒", "灑" }, { "洗发", "洗髮" }, { "洗炼", "洗鍊" }, { "洗练", "洗鍊" }, { "洛钟东应", "洛鐘東應" }, { "洞里", "洞裡" }, { "洞里萨", "洞里薩" }, { "洪范", "洪範" }, { "洪钟", "洪鐘" }, { "洼", "窪" }, { "流征", "流徵" }, { "流荡", "流蕩" }, { "流风余俗", "流風餘俗" }, { "流风余韵", "流風餘韻" }, { "浃", "浹" }, { "浅", "淺" }, { "浅淀", "淺澱" }, { "浆", "漿" }, { "浇", "澆" }, { "浈", "湞" }, { "浊", "濁" }, { "测", "測" }, { "测不准", "測不準" }, { "浍", "澮" }, { "济", "濟" }, { "浏", "瀏" }, { "浑", "渾" }, { "浑个", "渾箇" }, { "浑朴", "渾樸" }, { "浒", "滸" }, { "浓", "濃" }, { "浓发", "濃髮" }, { "浔", "潯" }, { "浚县", "濬縣" }, { "浚州", "濬州" }, { "浩浩荡荡", "浩浩蕩蕩" }, { "浩荡", "浩蕩" }, { "浪游", "浪遊" }, { "浪荡", "浪蕩" }, { "浮夸", "浮誇" }, { "浮松", "浮鬆" }, { "浮荡", "浮蕩" }, { "海干", "海乾" }, { "海淀山后", "海淀山後" }, { "浸卤", "浸滷" }, { "涂", "塗" }, { "涂壮勋", "涂壯勳" }, { "涂尔干", "涂爾幹" }, { "涂敏恒", "涂敏恆" }, { "涂泽民", "涂澤民" }, { "涂绍煃", "涂紹煃" }, { "涂谨申", "涂謹申" }, { "涂长望", "涂長望" }, { "涂鸿钦", "涂鴻欽" }, { "涌上", "湧上" }, { "涌入", "湧入" }, { "涌出", "湧出" }, { "涌向", "湧向" }, { "涌来", "湧來" }, { "涌水", "湧水" }, { "涌泉", "湧泉" }, { "涌现", "湧現" }, { "涌起", "湧起" }, { "涌进", "湧進" }, { "涛", "濤" }, { "涝", "澇" }, { "涞", "淶" }, { "涟", "漣" }, { "涠", "潿" }, { "涡", "渦" }, { "涣", "渙" }, { "涤", "滌" }, { "润", "潤" }, { "涧", "澗" }, { "涨", "漲" }, { "涩", "澀" }, { "涩谷区", "澀谷區" }, { "涳蒙", "涳濛" }, { "涸干", "涸乾" }, { "淀山", "澱山" }, { "淀浦", "澱浦" }, { "淀淀", "澱澱" }, { "淀积", "澱積" }, { "淀粉", "澱粉" }, { "淀解物", "澱解物" }, { "淀谓之滓", "澱謂之滓" }, { "淋余土", "淋餘土" }, { "淑范", "淑範" }, { "淡蒙蒙", "淡濛濛" }, { "淫欲", "淫慾" }, { "淫荡", "淫蕩" }, { "淬炼", "淬鍊" }, { "深山何处钟", "深山何處鐘" }, { "深山里", "深山裡" }, { "淳朴", "淳樸" }, { "渊", "淵" }, { "渊淳岳峙", "淵淳嶽峙" }, { "渊里", "淵裡" }, { "渌", "淥" }, { "渍", "漬" }, { "渎", "瀆" }, { "渐", "漸" }, { "渑", "澠" }, { "渔", "漁" }, { "渖", "瀋" }, { "渗", "滲" }, { "渗漓", "滲灕" }, { "渠冲", "渠衝" }, { "温", "溫" }, { "温岚", "温嵐" }, { "温洛克期", "溫洛克期" }, { "港制", "港製" }, { "游丝", "遊絲" }, { "游乐", "遊樂" }, { "游了", "遊了" }, { "游人", "遊人" }, { "游仙", "遊仙" }, { "游伴", "遊伴" }, { "游侠", "遊俠" }, { "游兴", "遊興" }, { "游冶", "遊冶" }, { "游刃", "遊刃" }, { "游动", "遊動" }, { "游历", "遊歷" }, { "游园", "遊園" }, { "游子", "遊子" }, { "游学", "遊學" }, { "游客", "遊客" }, { "游宦", "遊宦" }, { "游山玩水", "遊山玩水" }, { "游廊", "遊廊" }, { "游必有方", "遊必有方" }, { "游憩", "遊憩" }, { "游戏", "遊戲" }, { "游戏里", "遊戲裡" }, { "游手好闲", "遊手好閒" }, { "游方", "遊方" }, { "游族网络", "遊族網絡" }, { "游星", "遊星" }, { "游春", "遊春" }, { "游民", "遊民" }, { "游河", "遊河" }, { "游猎", "遊獵" }, { "游玩", "遊玩" }, { "游目骋怀", "遊目騁懷" }, { "游离", "游離" }, { "游程", "遊程" }, { "游美学务", "遊美學務" }, { "游船", "遊船" }, { "游艇", "遊艇" }, { "游艺", "遊藝" }, { "游荡", "遊蕩" }, { "游行", "遊行" }, { "游街", "遊街" }, { "游览", "遊覽" }, { "游记", "遊記" }, { "游说", "遊說" }, { "游资", "遊資" }, { "游走", "遊走" }, { "游踪", "遊蹤" }, { "游轮", "遊輪" }, { "游逛", "遊逛" }, { "游错", "遊錯" }, { "游骑兵", "遊騎兵" }, { "游魂", "遊魂" }, { "湖南岳阳", "湖南岳陽" }, { "湖里", "湖裡" }, { "湖里区", "湖里區" }, { "湘累", "湘纍" }, { "湮郁", "湮鬱" }, { "湾", "灣" }, { "湿", "濕" }, { "溃", "潰" }, { "溅", "濺" }, { "溆", "漵" }, { "溟蒙", "溟濛" }, { "溲面", "溲麵" }, { "滃郁", "滃鬱" }, { "滑借", "滑藉" }, { "滗", "潷" }, { "滚", "滾" }, { "滞", "滯" }, { "滟", "灩" }, { "滠", "灄" }, { "满", "滿" }, { "满头洋发", "滿頭洋髮" }, { "满满当当", "滿滿當當" }, { "滢", "瀅" }, { "滤", "濾" }, { "滥", "濫" }, { "滦", "灤" }, { "滨", "濱" }, { "滨田里佳子", "濱田里佳子" }, { "滩", "灘" }, { "滩席", "灘蓆" }, { "滩涂", "灘涂" }, { "漂荡", "漂蕩" }, { "漓水", "灕水" }, { "漓江", "灕江" }, { "漓湘", "灕湘" }, { "漓然", "灕然" }, { "漕挽", "漕輓" }, { "漠里", "漠裡" }, { "漤", "灠" }, { "漫卷", "漫捲" }, { "漫游", "漫遊" }, { "潆", "瀠" }, { "潇", "瀟" }, { "潋", "瀲" }, { "潍", "濰" }, { "潜", "潛" }, { "潜意识里", "潛意識裡" }, { "潜水表", "潛水錶" }, { "潜水钟", "潛水鐘" }, { "潜水钟表", "潛水鐘錶" }, { "潭里", "潭裡" }, { "潮涌", "潮湧" }, { "潴", "瀦" }, { "澄江县", "澂江縣" }, { "澒蒙", "澒濛" }, { "澜", "瀾" }, { "澹台", "澹臺" }, { "澹荡", "澹蕩" }, { "激斗", "激鬥" }, { "濑", "瀨" }, { "濒", "瀕" }, { "灏", "灝" }, { "火山里", "火山裡" }, { "火并", "火併" }, { "火并非", "火並非" }, { "火折子", "火摺子" }, { "火签", "火籤" }, { "灭", "滅" }, { "灯", "燈" }, { "灰蒙", "灰濛" }, { "灰蒙蒙", "灰濛濛" }, { "灵", "靈" }, { "灵昆", "靈崑" }, { "灾", "災" }, { "灿", "燦" }, { "炀", "煬" }, { "炆面", "炆麵" }, { "炉", "爐" }, { "炒面", "炒麵" }, { "炖", "燉" }, { "炖制", "燉製" }, { "炜", "煒" }, { "炝", "熗" }, { "炮制", "炮製" }, { "炸酱面", "炸醬麵" }, { "点", "點" }, { "点个赞", "點個讚" }, { "点半钟", "點半鐘" }, { "点多钟", "點多鐘" }, { "点札", "點劄" }, { "点赞", "點讚" }, { "点里", "點裡" }, { "点里程", "點里程" }, { "点钟", "點鐘" }, { "炼", "煉" }, { "炼冶", "鍊冶" }, { "炼制", "煉製" }, { "炼句", "鍊句" }, { "炼字", "鍊字" }, { "炼师", "鍊師" }, { "炼度", "鍊度" }, { "炼形", "鍊形" }, { "炼气", "鍊氣" }, { "炼汞", "鍊汞" }, { "炼石", "鍊石" }, { "炼贫", "鍊貧" }, { "炼金术", "鍊金術" }, { "炽", "熾" }, { "烁", "爍" }, { "烂", "爛" }, { "烃", "烴" }, { "烘制", "烘製" }, { "烘干", "烘乾" }, { "烛", "燭" }, { "烟", "煙" }, { "烟卷", "煙捲" }, { "烟台", "煙臺" }, { "烤卤", "烤滷" }, { "烤干", "烤乾" }, { "烦", "煩" }, { "烧", "燒" }, { "烧干", "燒乾" }, { "烨", "燁" }, { "烩", "燴" }, { "烩面", "燴麵" }, { "烫", "燙" }, { "烫一个发", "燙一個髮" }, { "烫一次发", "燙一次髮" }, { "烫个发", "燙個髮" }, { "烫发", "燙髮" }, { "烫完发", "燙完髮" }, { "烫次发", "燙次髮" }, { "烫面", "燙麵" }, { "烬", "燼" }, { "烬余", "燼餘" }, { "热", "熱" }, { "烹制", "烹製" }, { "焕", "煥" }, { "焖", "燜" }, { "焘", "燾" }, { "焙干", "焙乾" }, { "煎面", "煎麵" }, { "照入签", "照入籤" }, { "照相干片", "照相乾片" }, { "煨干", "煨乾" }, { "煮制", "煮製" }, { "煮面", "煮麵" }, { "熏习", "薰習" }, { "熏心", "薰心" }, { "熏染", "薰染" }, { "熏沐", "薰沐" }, { "熏陶", "薰陶" }, { "熏风", "薰風" }, { "熏香", "薰香" }, { "熬制", "熬製" }, { "燎发", "燎髮" }, { "燕游", "燕遊" }, { "爆发", "爆發" }, { "爰定祥历", "爰定祥厤" }, { "爱", "愛" }, { "爱困", "愛睏" }, { "爱河里花子", "愛河里花子" }, { "爷", "爺" }, { "爽荡", "爽蕩" }, { "片言只语", "片言隻語" }, { "片里", "片裡" }, { "版图里", "版圖裡" }, { "版本里", "版本裡" }, { "牍", "牘" }, { "牙签", "牙籤" }, { "牛只", "牛隻" }, { "牛街庄", "牛街莊" }, { "牢里", "牢裡" }, { "牦", "氂" }, { "物欲", "物慾" }, { "牵", "牽" }, { "牵一发", "牽一髮" }, { "牵系", "牽繫" }, { "特制", "特製" }, { "特制订", "特制訂" }, { "特征", "特徵" }, { "牺", "犧" }, { "犊", "犢" }, { "状", "狀" }, { "犷", "獷" }, { "犹", "猶" }, { "狂并潮", "狂併潮" }, { "狈", "狽" }, { "狐借虎威", "狐藉虎威" }, { "狞", "獰" }, { "独", "獨" }, { "独裁制", "獨裁制" }, { "独辟蹊径", "獨闢蹊徑" }, { "狭", "狹" }, { "狮", "獅" }, { "狯", "獪" }, { "狰", "猙" }, { "狱", "獄" }, { "狱里", "獄裡" }, { "狲", "猻" }, { "猃", "獫" }, { "猎", "獵" }, { "猕", "獼" }, { "猛冲", "猛衝" }, { "猡", "玀" }, { "猪", "豬" }, { "猫", "貓" }, { "猬", "蝟" }, { "献", "獻" }, { "献丑", "獻醜" }, { "獭", "獺" }, { "玉历", "玉曆" }, { "玉历史", "玉歷史" }, { "王余鱼", "王餘魚" }, { "王鉴", "王鑑" }, { "玑", "璣" }, { "玛", "瑪" }, { "玮", "瑋" }, { "环", "環" }, { "环游", "環遊" }, { "现", "現" }, { "玺", "璽" }, { "珍肴", "珍餚" }, { "珐", "琺" }, { "珐琅", "琺瑯" }, { "珑", "瓏" }, { "班里", "班裡" }, { "珲", "琿" }, { "球台", "球檯" }, { "理一个发", "理一個髮" }, { "理一次发", "理一次髮" }, { "理个发", "理個髮" }, { "理发", "理髮" }, { "理发动", "理發動" }, { "理发展", "理發展" }, { "理发放", "理發放" }, { "理发现", "理發現" }, { "理发生", "理發生" }, { "理发表", "理發表" }, { "理完发", "理完髮" }, { "理次发", "理次髮" }, { "琏", "璉" }, { "琐", "瑣" }, { "琴钟", "琴鐘" }, { "琼", "瓊" }, { "瑞征", "瑞徵" }, { "瑶", "瑤" }, { "瑶签", "瑤籤" }, { "瑷", "璦" }, { "璎", "瓔" }, { "瓒", "瓚" }, { "瓮安", "甕安" }, { "瓯", "甌" }, { "瓷制", "瓷製" }, { "甜咸", "甜鹹" }, { "甜水面", "甜水麵" }, { "甜面酱", "甜麵醬" }, { "生力面", "生力麵" }, { "生华发", "生華髮" }, { "生发剂", "生髮劑" }, { "生发水", "生髮水" }, { "生发油", "生髮油" }, { "生发液", "生髮液" }, { "生发药", "生髮藥" }, { "生姜", "生薑" }, { "生物钟", "生物鐘" }, { "用法里", "用法裡" }, { "甩发", "甩髮" }, { "田里", "田裡" }, { "甲胄", "甲冑" }, { "电", "電" }, { "电冲", "電衝" }, { "电子制表", "電子製表" }, { "电子表格", "電子表格" }, { "电子钟", "電子鐘" }, { "电子钟表", "電子鐘錶" }, { "电影后", "電影後" }, { "电影里", "電影裡" }, { "电梯里", "電梯裡" }, { "电波钟", "電波鐘" }, { "电码表", "電碼表" }, { "电表", "電錶" }, { "电视台风", "電視台風" }, { "电视里", "電視裡" }, { "电钟", "電鐘" }, { "男仆", "男僕" }, { "画", "畫" }, { "画里", "畫裡" }, { "畅", "暢" }, { "畅游", "暢遊" }, { "界里", "界裡" }, { "留发", "留髮" }, { "留发展", "留發展" }, { "留发生", "留發生" }, { "留发行", "留發行" }, { "留长发", "留長髮" }, { "畴", "疇" }, { "疏松", "疏鬆" }, { "疑凶", "疑兇" }, { "疖", "癤" }, { "疗", "療" }, { "疟", "瘧" }, { "疠", "癘" }, { "疡", "瘍" }, { "疬", "癧" }, { "疮", "瘡" }, { "疯", "瘋" }, { "疲困", "疲睏" }, { "病余", "病餘" }, { "病征", "病徵" }, { "病愈", "病癒" }, { "症结", "癥結" }, { "痈", "癰" }, { "痉", "痙" }, { "痊愈", "痊癒" }, { "痒", "癢" }, { "痨", "癆" }, { "痪", "瘓" }, { "痫", "癇" }, { "痳", "痲" }, { "痳疯", "痳瘋" }, { "痳痹", "痳痺" }, { "瘅", "癉" }, { "瘗", "瘞" }, { "瘘", "瘺" }, { "瘪", "癟" }, { "瘫", "癱" }, { "瘾", "癮" }, { "瘿", "癭" }, { "癞", "癩" }, { "癣", "癬" }, { "癫", "癲" }, { "白净面皮", "白淨面皮" }, { "白发", "白髮" }, { "白发其事", "白發其事" }, { "白干儿", "白乾兒" }, { "白术", "白朮" }, { "白朴", "白樸" }, { "白粉面", "白粉麵" }, { "白里透红", "白裡透紅" }, { "白霉", "白黴" }, { "百个", "百個" }, { "百余", "百餘" }, { "百只", "百隻" }, { "百只够", "百只夠" }, { "百只足够", "百只足夠" }, { "百周后", "百周後" }, { "百天后", "百天後" }, { "百扎", "百紮" }, { "百拙千丑", "百拙千醜" }, { "百炼", "百鍊" }, { "百科里", "百科裡" }, { "百花历", "百花曆" }, { "百花历史", "百花歷史" }, { "百谷", "百穀" }, { "的个中", "的箇中" }, { "的发小", "的髮小" }, { "的回复", "的回覆" }, { "的图里", "的圖裡" }, { "的山里", "的山裡" }, { "的干将", "的幹將" }, { "的钟", "的鐘" }, { "的长发", "的長髮" }, { "皆准", "皆準" }, { "皆可作淀", "皆可作澱" }, { "皇历", "皇曆" }, { "皇历史", "皇歷史" }, { "皇极历", "皇極曆" }, { "皇极历史", "皇極歷史" }, { "皑", "皚" }, { "皓发", "皓髮" }, { "皮制", "皮製" }, { "皮松", "皮鬆" }, { "皮肤", "皮膚" }, { "皮里春秋", "皮裡春秋" }, { "皮里阳秋", "皮裡陽秋" }, { "皱", "皺" }, { "皱折", "皺摺" }, { "皲", "皸" }, { "盆吊", "盆弔" }, { "盈余", "盈餘" }, { "盏", "盞" }, { "盐", "鹽" }, { "盐余", "鹽餘" }, { "盐卤", "鹽滷" }, { "盐打怎么咸", "鹽打怎麼鹹" }, { "监", "監" }, { "监制", "監製" }, { "盒里", "盒裡" }, { "盖", "蓋" }, { "盗", "盜" }, { "盗采", "盜採" }, { "盗钟", "盜鐘" }, { "盘", "盤" }, { "盘回", "盤迴" }, { "盘里", "盤裡" }, { "盛赞", "盛讚" }, { "盲干", "盲幹" }, { "直冲", "直衝" }, { "相克", "相剋" }, { "相冲", "相衝" }, { "相并", "相併" }, { "相斗", "相鬥" }, { "盼复", "盼覆" }, { "看准", "看準" }, { "看法里", "看法裡" }, { "看钟", "看鐘" }, { "真丑", "真醜" }, { "真个", "真箇" }, { "真凶", "真兇" }, { "眦", "眥" }, { "眼干", "眼乾" }, { "眼眶里", "眼眶裡" }, { "眼睛里", "眼睛裡" }, { "眼里", "眼裡" }, { "睁", "睜" }, { "睐", "睞" }, { "睑", "瞼" }, { "睡游病", "睡遊病" }, { "瞄准", "瞄準" }, { "瞎蒙", "瞎矇" }, { "瞒", "瞞" }, { "瞩", "矚" }, { "瞩托", "矚託" }, { "瞳蒙", "瞳矇" }, { "矜夸", "矜誇" }, { "矫", "矯" }, { "短发", "短髮" }, { "短发生", "短發生" }, { "短须", "短鬚" }, { "石梁", "石樑" }, { "石英钟", "石英鐘" }, { "石英钟表", "石英鐘錶" }, { "石钟", "石鐘" }, { "矶", "磯" }, { "矾", "礬" }, { "矿", "礦" }, { "砀", "碭" }, { "码", "碼" }, { "码码表", "碼碼表" }, { "码表", "碼錶" }, { "码表示", "碼表示" }, { "研制", "研製" }, { "砖", "磚" }, { "砗", "硨" }, { "砚", "硯" }, { "砰当", "砰噹" }, { "破鉴", "破鑑" }, { "砺", "礪" }, { "砻", "礱" }, { "砻谷", "礱穀" }, { "砾", "礫" }, { "础", "礎" }, { "硕", "碩" }, { "硖", "硤" }, { "硗", "磽" }, { "硗确", "磽确" }, { "硬干", "硬幹" }, { "确", "確" }, { "确系", "確係" }, { "硷", "鹼" }, { "碍", "礙" }, { "碑志", "碑誌" }, { "碗里", "碗裡" }, { "碛", "磧" }, { "碜", "磣" }, { "碰钟", "碰鐘" }, { "碱", "鹼" }, { "磁制", "磁製" }, { "磨制", "磨製" }, { "磨炼", "磨鍊" }, { "磨面", "磨麵" }, { "磬钟", "磬鐘" }, { "示范", "示範" }, { "礼", "禮" }, { "礼赞", "禮讚" }, { "社里", "社裡" }, { "祝发", "祝髮" }, { "祝赞", "祝讚" }, { "神奈川冲浪里", "神奈川沖浪裏" }, { "神游", "神遊" }, { "神荼郁垒", "神荼鬱壘" }, { "神雕", "神鵰" }, { "祢", "禰" }, { "祭吊", "祭弔" }, { "祯", "禎" }, { "祷", "禱" }, { "祸", "禍" }, { "禀", "稟" }, { "禁欲", "禁慾" }, { "禁欲主义", "禁欲主義" }, { "禄", "祿" }, { "禅", "禪" }, { "离", "離" }, { "禾谷", "禾穀" }, { "秀发", "秀髮" }, { "秀发动", "秀發動" }, { "秀发展", "秀發展" }, { "秀发布", "秀發布" }, { "秀发村", "秀發村" }, { "秀发现", "秀發現" }, { "秀发生", "秀發生" }, { "秀发表", "秀發表" }, { "秀发起", "秀發起" }, { "私下里", "私下裡" }, { "私斗", "私鬥" }, { "私欲", "私慾" }, { "秃", "禿" }, { "秃发", "禿髮" }, { "秃妃之发", "禿妃之髮" }, { "秆", "稈" }, { "秋千", "鞦韆" }, { "秋游", "秋遊" }, { "种", "種" }, { "种师中", "种師中" }, { "种师道", "种師道" }, { "种谷", "種穀" }, { "科尼亚克期", "科尼亞克期" }, { "科范", "科範" }, { "秒钟", "秒鐘" }, { "秤杆", "秤桿" }, { "秦沈客运", "秦瀋客運" }, { "积", "積" }, { "积淀", "積澱" }, { "积谷", "積穀" }, { "积谷防饥", "積穀防饑" }, { "积郁", "積鬱" }, { "称", "稱" }, { "称帝后", "稱帝後" }, { "称赞", "稱讚" }, { "秽", "穢" }, { "稀松", "稀鬆" }, { "稆", "穭" }, { "程十发", "程十髮" }, { "税", "稅" }, { "稣", "穌" }, { "稳", "穩" }, { "稳健的台风", "穩健的台風" }, { "稳扎", "穩紮" }, { "稻谷", "稻穀" }, { "稽征", "稽徵" }, { "穆棱", "穆稜" }, { "穆罕默德历", "穆罕默德曆" }, { "穆罕默德历史", "穆罕默德歷史" }, { "穑", "穡" }, { "穷", "窮" }, { "穷发", "窮髮" }, { "穷追不舍", "窮追不捨" }, { "空余", "空餘" }, { "空荡", "空蕩" }, { "空荡荡", "空蕩蕩" }, { "空蒙", "空濛" }, { "空里", "空裡" }, { "空钟", "空鐘" }, { "窃", "竊" }, { "窃钟掩耳", "竊鐘掩耳" }, { "窍", "竅" }, { "窑", "窯" }, { "窒欲", "窒慾" }, { "窗帘", "窗簾" }, { "窗明几净", "窗明几淨" }, { "窜", "竄" }, { "窝", "窩" }, { "窝里", "窩裡" }, { "窝里斗", "窩裡鬥" }, { "窥", "窺" }, { "窦", "竇" }, { "窭", "窶" }, { "立范", "立範" }, { "竖", "豎" }, { "竞", "競" }, { "竞斗", "競鬥" }, { "童仆", "童僕" }, { "竹制", "竹製" }, { "竹席", "竹蓆" }, { "竹林之游", "竹林之遊" }, { "竹溪县", "竹谿縣" }, { "竹签", "竹籤" }, { "笃", "篤" }, { "笋", "筍" }, { "笋干", "筍乾" }, { "笑里藏刀", "笑裡藏刀" }, { "笔", "筆" }, { "笔杆", "筆桿" }, { "笔秃墨干", "筆禿墨乾" }, { "笕", "筧" }, { "笺", "箋" }, { "笼", "籠" }, { "笾", "籩" }, { "筑", "築" }, { "筑后", "筑後" }, { "筑阳", "筑陽" }, { "答复", "答覆" }, { "筚", "篳" }, { "筛", "篩" }, { "筝", "箏" }, { "筹", "籌" }, { "签", "簽" }, { "签押", "籤押" }, { "签条", "籤條" }, { "签诗", "籤詩" }, { "简", "簡" }, { "简并", "簡併" }, { "简朴", "簡樸" }, { "简短发", "簡短發" }, { "算准", "算準" }, { "算历", "算曆" }, { "算历史", "算歷史" }, { "管干", "管幹" }, { "箦", "簀" }, { "箧", "篋" }, { "箨", "籜" }, { "箩", "籮" }, { "箪", "簞" }, { "箫", "簫" }, { "箱里", "箱裡" }, { "篑", "簣" }, { "篓", "簍" }, { "篮", "籃" }, { "篱", "籬" }, { "簖", "籪" }, { "簸荡", "簸蕩" }, { "籁", "籟" }, { "米余", "米餘" }, { "米哈游", "米哈遊" }, { "米团", "米糰" }, { "米沈", "米瀋" }, { "米面", "米麵" }, { "籴", "糴" }, { "类", "類" }, { "籼", "秈" }, { "粗制", "粗製" }, { "粜", "糶" }, { "粝", "糲" }, { "粤", "粵" }, { "粪", "糞" }, { "粪秽蔑面", "糞穢衊面" }, { "粮", "糧" }, { "精准", "精準" }, { "精制", "精製" }, { "精干", "精幹" }, { "精松", "精鬆" }, { "精致", "精緻" }, { "精辟", "精闢" }, { "糁", "糝" }, { "糇", "餱" }, { "糊里糊涂", "糊裡糊塗" }, { "糕干", "糕乾" }, { "系上丝", "繫上絲" }, { "系上了", "繫上了" }, { "系上头", "繫上頭" }, { "系上安全", "繫上安全" }, { "系上红", "繫上紅" }, { "系上绳", "繫上繩" }, { "系上黑", "繫上黑" }, { "系为", "係為" }, { "系于", "繫於" }, { "系于一发", "繫於一髮" }, { "系列里", "系列裡" }, { "系到", "繫到" }, { "系囚", "繫囚" }, { "系心", "繫心" }, { "系念", "繫念" }, { "系怀", "繫懷" }, { "系恋", "繫戀" }, { "系指", "係指" }, { "系数", "係數" }, { "系着", "繫着" }, { "系紧", "繫緊" }, { "系累", "繫纍" }, { "系结", "繫結" }, { "系绳", "繫繩" }, { "系膜", "繫膜" }, { "系舟", "繫舟" }, { "系船", "繫船" }, { "系辞", "繫辭" }, { "系里", "系裡" }, { "系鞋带", "繫鞋帶" }, { "系风捕影", "繫風捕影" }, { "素发", "素髮" }, { "素发现", "素發現" }, { "素发生", "素發生" }, { "素发电", "素發電" }, { "素数里", "素數裡" }, { "素朴", "素樸" }, { "索面", "索麵" }, { "索马里", "索馬里" }, { "紧", "緊" }, { "紧致", "緊緻" }, { "紧追不舍", "緊追不捨" }, { "紫姜", "紫薑" }, { "累囚", "纍囚" }, { "累堆", "纍堆" }, { "累瓦结绳", "纍瓦結繩" }, { "累绁", "纍紲" }, { "累臣", "纍臣" }, { "絷", "縶" }, { "繁复", "繁複" }, { "繁钟", "繁鐘" }, { "纠", "糾" }, { "纡", "紆" }, { "纡余", "紆餘" }, { "纡回", "紆迴" }, { "纡郁", "紆鬱" }, { "红", "紅" }, { "红发", "紅髮" }, { "红后假说", "紅后假說" }, { "红绳系足", "紅繩繫足" }, { "红钟", "紅鐘" }, { "纣", "紂" }, { "纤", "纖" }, { "纤夫", "縴夫" }, { "纤手", "縴手" }, { "纤绳", "縴繩" }, { "纥", "紇" }, { "约", "約" }, { "级", "級" }, { "纨", "紈" }, { "纩", "纊" }, { "纪", "紀" }, { "纪历", "紀曆" }, { "纪历史", "紀歷史" }, { "纫", "紉" }, { "纬", "緯" }, { "纭", "紜" }, { "纯", "純" }, { "纯朴", "純樸" }, { "纰", "紕" }, { "纱", "紗" }, { "纲", "綱" }, { "纲鉴", "綱鑑" }, { "纳", "納" }, { "纳征", "納徵" }, { "纵", "縱" }, { "纵欲", "縱慾" }, { "纶", "綸" }, { "纷", "紛" }, { "纸", "紙" }, { "纸扎", "紙紮" }, { "纹", "紋" }, { "纺", "紡" }, { "纽", "紐" }, { "纾", "紓" }, { "线", "線" }, { "线图里", "線圖裡" }, { "绀", "紺" }, { "绁", "紲" }, { "绂", "紱" }, { "练", "練" }, { "组", "組" }, { "组里", "組裡" }, { "绅", "紳" }, { "细", "細" }, { "细不容发", "細不容髮" }, { "细如发", "細如髮" }, { "细炼", "細鍊" }, { "细致", "細緻" }, { "织", "織" }, { "终", "終" }, { "绉", "縐" }, { "绊", "絆" }, { "绋", "紼" }, { "绌", "絀" }, { "绍", "紹" }, { "绎", "繹" }, { "经", "經" }, { "经文里", "經文裡" }, { "经有云", "經有云" }, { "绐", "紿" }, { "绑", "綁" }, { "绑扎", "綁紮" }, { "绒", "絨" }, { "结", "結" }, { "结伙", "結夥" }, { "结伴同游", "結伴同遊" }, { "结余", "結餘" }, { "结发", "結髮" }, { "结发育", "結發育" }, { "结发表", "結發表" }, { "结扎", "結紮" }, { "绕", "繞" }, { "绗", "絎" }, { "绘", "繪" }, { "绘制", "繪製" }, { "给", "給" }, { "绚", "絢" }, { "绛", "絳" }, { "络", "絡" }, { "络腮胡", "絡腮鬍" }, { "绝", "絕" }, { "绞", "絞" }, { "绞干", "絞乾" }, { "统", "統" }, { "绠", "綆" }, { "绡", "綃" }, { "绢", "絹" }, { "绣", "繡" }, { "绥", "綏" }, { "绥棱", "綏稜" }, { "绦", "絛" }, { "继", "繼" }, { "绨", "綈" }, { "绩", "績" }, { "绪", "緒" }, { "绪余", "緒餘" }, { "绫", "綾" }, { "续", "續" }, { "绮", "綺" }, { "绯", "緋" }, { "绰", "綽" }, { "绱", "鞝" }, { "绲", "緄" }, { "绳", "繩" }, { "维", "維" }, { "维系", "維繫" }, { "维系统", "維系統" }, { "绵", "綿" }, { "绵亘", "綿亙" }, { "绶", "綬" }, { "绷", "繃" }, { "绷扒吊拷", "繃扒弔拷" }, { "绸", "綢" }, { "绺", "綹" }, { "绻", "綣" }, { "综", "綜" }, { "综合征", "綜合徵" }, { "绽", "綻" }, { "绾", "綰" }, { "绾发", "綰髮" }, { "绿", "綠" }, { "绿发", "綠髮" }, { "缀", "綴" }, { "缁", "緇" }, { "缂", "緙" }, { "缃", "緗" }, { "缄", "緘" }, { "缅", "緬" }, { "缆", "纜" }, { "缇", "緹" }, { "缈", "緲" }, { "缉", "緝" }, { "缉凶", "緝兇" }, { "缋", "繢" }, { "缌", "緦" }, { "缍", "綞" }, { "缎", "緞" }, { "缏", "緶" }, { "缑", "緱" }, { "缒", "縋" }, { "缓", "緩" }, { "缓冲", "緩衝" }, { "缓征", "緩徵" }, { "缔", "締" }, { "缕", "縷" }, { "编", "編" }, { "编余", "編餘" }, { "编制法", "編制法" }, { "编码表", "編碼表" }, { "编采", "編採" }, { "编钟", "編鐘" }, { "缗", "緡" }, { "缘", "緣" }, { "缙", "縉" }, { "缚", "縛" }, { "缛", "縟" }, { "缜", "縝" }, { "缜致", "縝緻" }, { "缝", "縫" }, { "缝制", "縫製" }, { "缝里", "縫裡" }, { "缟", "縞" }, { "缠", "纏" }, { "缠斗", "纏鬥" }, { "缡", "縭" }, { "缢", "縊" }, { "缣", "縑" }, { "缤", "繽" }, { "缥", "縹" }, { "缦", "縵" }, { "缧", "縲" }, { "缨", "纓" }, { "缩", "縮" }, { "缩栗", "縮慄" }, { "缩短发", "縮短發" }, { "缪", "繆" }, { "缫", "繅" }, { "缬", "纈" }, { "缭", "繚" }, { "缮", "繕" }, { "缯", "繒" }, { "缰", "韁" }, { "缱", "繾" }, { "缲", "繰" }, { "缳", "繯" }, { "缴", "繳" }, { "缵", "纘" }, { "罂", "罌" }, { "网", "網" }, { "网志", "網誌" }, { "网游", "網遊" }, { "网球台", "網球台" }, { "网站里", "網站裡" }, { "网里", "網裡" }, { "罗", "羅" }, { "罗马历", "羅馬曆" }, { "罗马历代", "羅馬歷代" }, { "罗马历史", "羅馬歷史" }, { "罚", "罰" }, { "罢", "罷" }, { "置言成范", "置言成範" }, { "罴", "羆" }, { "羁", "羈" }, { "羁系", "羈繫" }, { "美丑", "美醜" }, { "美发业", "美髮業" }, { "美发学", "美髮學" }, { "美发师", "美髮師" }, { "美发店", "美髮店" }, { "美发沙龙", "美髮沙龍" }, { "美发馆", "美髮館" }, { "美容美发", "美容美髮" }, { "羟", "羥" }, { "羡", "羨" }, { "羡余", "羨餘" }, { "群丑", "群醜" }, { "翕辟", "翕闢" }, { "翘", "翹" }, { "翱游", "翱遊" }, { "翻松", "翻鬆" }, { "翻涌", "翻湧" }, { "老仆", "老僕" }, { "老坛", "老罈" }, { "老姜", "老薑" }, { "老干", "老乾" }, { "老干部", "老幹部" }, { "老板", "老闆" }, { "老爷钟", "老爺鐘" }, { "老白干", "老白乾" }, { "考征", "考徵" }, { "考试制度", "考試制度" }, { "耍斗", "耍鬥" }, { "耕获", "耕穫" }, { "耧", "耬" }, { "耳余", "耳餘" }, { "耶律术烈", "耶律朮烈" }, { "耸", "聳" }, { "耻", "恥" }, { "聂", "聶" }, { "聊斋志异", "聊齋志異" }, { "聋", "聾" }, { "职", "職" }, { "聍", "聹" }, { "联", "聯" }, { "联系", "聯繫" }, { "聘雇", "聘僱" }, { "聚药雄蕊", "聚葯雄蕊" }, { "聩", "聵" }, { "聪", "聰" }, { "肃", "肅" }, { "肉丝面", "肉絲麵" }, { "肉干", "肉乾" }, { "肉松", "肉鬆" }, { "肉欲", "肉慾" }, { "肉羹面", "肉羹麵" }, { "肉面", "肉麵" }, { "肚里", "肚裡" }, { "肝脏", "肝臟" }, { "肝郁", "肝鬱" }, { "肠", "腸" }, { "肠脏", "腸臟" }, { "股栗", "股慄" }, { "肤", "膚" }, { "肮", "骯" }, { "肴羞", "餚羞" }, { "肴馔", "餚饌" }, { "肺脏", "肺臟" }, { "肾", "腎" }, { "肾脏", "腎臟" }, { "肿", "腫" }, { "胀", "脹" }, { "胁", "脅" }, { "胃脏", "胃臟" }, { "胃里", "胃裡" }, { "胆", "膽" }, { "背地里", "背地裡" }, { "胎发", "胎髮" }, { "胎发展", "胎發展" }, { "胎发生", "胎發生" }, { "胎发育", "胎發育" }, { "胜", "勝" }, { "胜键", "胜鍵" }, { "胡子", "鬍子" }, { "胡子婴", "胡子嬰" }, { "胡朴安", "胡樸安" }, { "胡梢", "鬍梢" }, { "胡渣", "鬍渣" }, { "胡里胡涂", "胡裡胡塗" }, { "胡须", "鬍鬚" }, { "胡髭", "鬍髭" }, { "胡髯", "鬍髯" }, { "胧", "朧" }, { "胪", "臚" }, { "胫", "脛" }, { "胰脏", "胰臟" }, { "胶", "膠" }, { "胶制", "膠製" }, { "胶卷", "膠捲" }, { "能干", "能幹" }, { "能干扰", "能干擾" }, { "能干预", "能干預" }, { "脉", "脈" }, { "脉冲", "脈衝" }, { "脍", "膾" }, { "脏", "髒" }, { "脏器", "臟器" }, { "脏胸", "臟胸" }, { "脏腑", "臟腑" }, { "脐", "臍" }, { "脑", "腦" }, { "脑干", "腦幹" }, { "脓", "膿" }, { "脔", "臠" }, { "脚", "腳" }, { "脚注", "腳註" }, { "脱", "脫" }, { "脱发", "脫髮" }, { "脱谷机", "脫穀機" }, { "脶", "腡" }, { "脸", "臉" }, { "脺脏", "脺臟" }, { "脾脏", "脾臟" }, { "腊", "臘" }, { "腊笔", "腊筆" }, { "腌", "醃" }, { "腌制", "醃製" }, { "腐余", "腐餘" }, { "腐干", "腐乾" }, { "腑脏", "腑臟" }, { "腕表", "腕錶" }, { "腭", "齶" }, { "腰里", "腰裡" }, { "腻", "膩" }, { "腼", "靦" }, { "腽", "膃" }, { "腾", "騰" }, { "腾冲", "騰衝" }, { "腾格里", "騰格里" }, { "腾涌", "騰湧" }, { "膑", "臏" }, { "膨松", "膨鬆" }, { "膵脏", "膵臟" }, { "臊子面", "臊子麵" }, { "臣仆", "臣僕" }, { "臧谷亡羊", "臧穀亡羊" }, { "自制", "自製" }, { "自制下来", "自制下來" }, { "自夸", "自誇" }, { "自干五", "自乾五" }, { "自然数里", "自然數裡" }, { "自由钟", "自由鐘" }, { "自觉自愿", "自覺自愿" }, { "臭气冲天", "臭氣衝天" }, { "致密", "緻密" }, { "舂谷", "舂穀" }, { "舆", "輿" }, { "舌叶音", "舌葉音" }, { "舌干唇焦", "舌乾唇焦" }, { "舍不得", "捨不得" }, { "舍入", "捨入" }, { "舍出", "捨出" }, { "舍去", "捨去" }, { "舍命", "捨命" }, { "舍堕", "捨墮" }, { "舍安就危", "捨安就危" }, { "舍实", "捨實" }, { "舍己为人", "捨己為人" }, { "舍己为公", "捨己為公" }, { "舍己为国", "捨己為國" }, { "舍己从人", "捨己從人" }, { "舍己救人", "捨己救人" }, { "舍弃", "捨棄" }, { "舍得", "捨得" }, { "舍我其谁", "捨我其誰" }, { "舍本逐末", "捨本逐末" }, { "舍死忘生", "捨死忘生" }, { "舍生", "捨生" }, { "舍短取长", "捨短取長" }, { "舍身", "捨身" }, { "舍车保帅", "捨車保帥" }, { "舍近求远", "捨近求遠" }, { "舒卷", "舒捲" }, { "舞台灯", "舞臺燈" }, { "舞台风格", "舞台風格" }, { "舣", "艤" }, { "航海历", "航海曆" }, { "航海历史", "航海歷史" }, { "舰", "艦" }, { "舰只", "艦隻" }, { "舱", "艙" }, { "船只", "船隻" }, { "船钟", "船鐘" }, { "舻", "艫" }, { "艰", "艱" }, { "色欲", "色慾" }, { "色长发", "色長髮" }, { "艳", "艷" }, { "艳后", "艷后" }, { "艺", "藝" }, { "节", "節" }, { "节余", "節餘" }, { "节欲", "節慾" }, { "节目里", "節目裡" }, { "芈", "羋" }, { "芒果干", "芒果乾" }, { "芗", "薌" }, { "芜", "蕪" }, { "芦", "蘆" }, { "花不要采", "花不要採" }, { "花哄", "花鬨" }, { "花盆里", "花盆裡" }, { "花药", "花葯" }, { "花菴词选", "花菴詞選" }, { "花钟", "花鐘" }, { "花马吊嘴", "花馬弔嘴" }, { "芸薹", "蕓薹" }, { "苁", "蓯" }, { "苇", "葦" }, { "苈", "藶" }, { "苋", "莧" }, { "苌", "萇" }, { "苍", "蒼" }, { "苍发", "蒼髮" }, { "苍术", "蒼朮" }, { "苍郁", "蒼鬱" }, { "苎", "苧" }, { "苏", "蘇" }, { "苏昆", "蘇崑" }, { "苏醒", "甦醒" }, { "苑里", "苑裡" }, { "苦干", "苦幹" }, { "苦斗", "苦鬥" }, { "苦里", "苦裡" }, { "苧", "薴" }, { "苧悴", "薴悴" }, { "苧烯", "薴烯" }, { "英文里", "英文裡" }, { "苹婆", "蘋婆" }, { "苹果", "蘋果" }, { "苹果干", "蘋果乾" }, { "茂都淀", "茂都澱" }, { "范亭", "範亭" }, { "范例", "範例" }, { "范围", "範圍" }, { "范字", "範字" }, { "范式", "範式" }, { "范性形变", "範性形變" }, { "范数", "範數" }, { "范文", "範文" }, { "范文澜", "范文瀾" }, { "范本", "範本" }, { "范畴", "範疇" }, { "范金", "範金" }, { "茅于轼", "茅于軾" }, { "茎", "莖" }, { "茎干", "莖幹" }, { "茏", "蘢" }, { "茑", "蔦" }, { "茔", "塋" }, { "茕", "煢" }, { "茧", "繭" }, { "茶余", "茶餘" }, { "茶面", "茶麵" }, { "荆", "荊" }, { "草丛里", "草叢裡" }, { "草席", "草蓆" }, { "荐", "薦" }, { "荐饥", "荐饑" }, { "荚", "莢" }, { "荛", "蕘" }, { "荜", "蓽" }, { "荞", "蕎" }, { "荞麦面", "蕎麥麵" }, { "荟", "薈" }, { "荠", "薺" }, { "荡", "盪" }, { "荡产", "蕩產" }, { "荡女", "蕩女" }, { "荡妇", "蕩婦" }, { "荡寇", "蕩寇" }, { "荡平", "蕩平" }, { "荡来荡去", "蕩來蕩去" }, { "荡气", "蕩氣" }, { "荡气回肠", "盪氣迴腸" }, { "荡涤", "蕩滌" }, { "荡漾", "蕩漾" }, { "荡然", "蕩然" }, { "荡舟", "蕩舟" }, { "荡船", "蕩船" }, { "荡荡", "蕩蕩" }, { "荣", "榮" }, { "荤", "葷" }, { "荥", "滎" }, { "荦", "犖" }, { "荦确", "犖确" }, { "荧", "熒" }, { "荧郁", "熒鬱" }, { "荨", "蕁" }, { "荩", "藎" }, { "荪", "蓀" }, { "荫", "蔭" }, { "荭", "葒" }, { "药", "藥" }, { "药签", "藥籤" }, { "药面儿", "藥麵兒" }, { "莅", "蒞" }, { "莜面", "莜麵" }, { "莪术", "莪朮" }, { "莱", "萊" }, { "莲", "蓮" }, { "莳", "蒔" }, { "莴", "萵" }, { "莶", "薟" }, { "获", "獲" }, { "获匪其丑", "獲匪其醜" }, { "莸", "蕕" }, { "莹", "瑩" }, { "莺", "鶯" }, { "莼", "蓴" }, { "莽荡", "莽蕩" }, { "菜坛", "菜罈" }, { "菜干", "菜乾" }, { "菜肴", "菜餚" }, { "菠棱菜", "菠稜菜" }, { "菠萝干", "菠蘿乾" }, { "萝", "蘿" }, { "萝卜", "蘿蔔" }, { "萝卜干", "蘿蔔乾" }, { "萤", "螢" }, { "营", "營" }, { "营干", "營幹" }, { "萦", "縈" }, { "萦回", "縈迴" }, { "萧", "蕭" }, { "萧参", "蕭蔘" }, { "萨", "薩" }, { "落发", "落髮" }, { "落腮胡", "落腮鬍" }, { "葡萄干", "葡萄乾" }, { "董氏封发", "董氏封髮" }, { "葱", "蔥" }, { "葱郁", "蔥鬱" }, { "蒇", "蕆" }, { "蒉", "蕢" }, { "蒋", "蔣" }, { "蒌", "蔞" }, { "蒙事", "矇事" }, { "蒙头转", "矇頭轉" }, { "蒙昧无知", "矇昧無知" }, { "蒙松雨", "濛鬆雨" }, { "蒙汜", "濛汜" }, { "蒙混", "矇混" }, { "蒙瞍", "矇瞍" }, { "蒙聩", "矇聵" }, { "蒙胧", "朦朧" }, { "蒙蒙细雨", "濛濛細雨" }, { "蒙雾", "濛霧" }, { "蒙雾露", "蒙霧露" }, { "蒙骗", "矇騙" }, { "蒙鸿", "濛鴻" }, { "蒜发", "蒜髮" }, { "蒲席", "蒲蓆" }, { "蒸制", "蒸製" }, { "蒸干", "蒸乾" }, { "蓄发", "蓄髮" }, { "蓄胡", "蓄鬍" }, { "蓄须", "蓄鬚" }, { "蓊郁", "蓊鬱" }, { "蓝", "藍" }, { "蓝淀", "藍澱" }, { "蓟", "薊" }, { "蓠", "蘺" }, { "蓣", "蕷" }, { "蓥", "鎣" }, { "蓦", "驀" }, { "蓬发", "蓬髮" }, { "蓬松", "蓬鬆" }, { "蓬松松", "蓬鬆鬆" }, { "蔂", "虆" }, { "蔷", "薔" }, { "蔹", "蘞" }, { "蔺", "藺" }, { "蔼", "藹" }, { "蕲", "蘄" }, { "蕴", "蘊" }, { "薄干", "薄幹" }, { "薄幸", "薄倖" }, { "薙发", "薙髮" }, { "薝卜", "薝蔔" }, { "薮", "藪" }, { "藏历", "藏曆" }, { "藏历史", "藏歷史" }, { "藏蒙歌儿", "藏矇歌兒" }, { "藓", "蘚" }, { "藤制", "藤製" }, { "藤席", "藤蓆" }, { "蘖", "櫱" }, { "虎斗", "虎鬥" }, { "虎须", "虎鬚" }, { "虏", "虜" }, { "虑", "慮" }, { "虚", "虛" }, { "虚夸", "虛誇" }, { "虫", "蟲" }, { "虮", "蟣" }, { "虮虱相吊", "蟣蝨相弔" }, { "虽", "雖" }, { "虾", "蝦" }, { "虾面", "蝦麵" }, { "虿", "蠆" }, { "蚀", "蝕" }, { "蚁", "蟻" }, { "蚁后", "蟻后" }, { "蚂", "螞" }, { "蚊动牛斗", "蚊動牛鬥" }, { "蚕", "蠶" }, { "蚬", "蜆" }, { "蛇发女妖", "蛇髮女妖" }, { "蛊", "蠱" }, { "蛋白发", "蛋白發" }, { "蛎", "蠣" }, { "蛏", "蟶" }, { "蛏干", "蟶乾" }, { "蛮", "蠻" }, { "蛮干", "蠻幹" }, { "蛰", "蟄" }, { "蛱", "蛺" }, { "蛲", "蟯" }, { "蛳", "螄" }, { "蛴", "蠐" }, { "蜂准", "蜂準" }, { "蜂涌", "蜂湧" }, { "蜕", "蛻" }, { "蜗", "蝸" }, { "蜜里调油", "蜜裡調油" }, { "蜡", "蠟" }, { "蝇", "蠅" }, { "蝈", "蟈" }, { "蝉", "蟬" }, { "蝎", "蠍" }, { "蝎谮", "蝎譖" }, { "蝼", "螻" }, { "蝾", "蠑" }, { "血余", "血餘" }, { "衅", "釁" }, { "衅钟", "釁鐘" }, { "行事历", "行事曆" }, { "行事历史", "行事歷史" }, { "行凶", "行兇" }, { "行家里手", "行家裡手" }, { "衔", "銜" }, { "衡鉴", "衡鑑" }, { "补", "補" }, { "补注", "補註" }, { "表停", "錶停" }, { "表冠", "錶冠" }, { "表带", "錶帶" }, { "表征", "表徵" }, { "表板", "錶板" }, { "表王", "錶王" }, { "表盘", "錶盤" }, { "表蒙子", "錶蒙子" }, { "表转", "錶轉" }, { "表速", "錶速" }, { "表针", "錶針" }, { "衬", "襯" }, { "衬里", "襯裡" }, { "衮", "袞" }, { "袄", "襖" }, { "袅", "裊" }, { "袋杆", "袋桿" }, { "袋表", "袋錶" }, { "袋里", "袋裡" }, { "袖里", "袖裡" }, { "袜", "襪" }, { "被卷回", "被捲回" }, { "被发佯狂", "被髮佯狂" }, { "被发入山", "被髮入山" }, { "被发左衽", "被髮左衽" }, { "被发缨冠", "被髮纓冠" }, { "被发阳狂", "被髮陽狂" }, { "被夸", "被誇" }, { "被废后", "被廢後" }, { "被系上", "被繫上" }, { "被里", "被裡" }, { "袭", "襲" }, { "裁制", "裁製" }, { "裁并", "裁併" }, { "装", "裝" }, { "装折", "裝摺" }, { "裆", "襠" }, { "裢", "褳" }, { "裣", "襝" }, { "裤", "褲" }, { "裥", "襉" }, { "褒赞", "褒讚" }, { "褛", "褸" }, { "褴", "襤" }, { "西历", "西曆" }, { "西历代", "西歷代" }, { "西历任", "西歷任" }, { "西历史", "西歷史" }, { "西历次", "西歷次" }, { "西周钟", "西周鐘" }, { "西岳", "西嶽" }, { "西昆", "西崑" }, { "西游", "西遊" }, { "要冲", "要衝" }, { "见", "見" }, { "见棱见角", "見稜見角" }, { "见素抱朴", "見素抱樸" }, { "见钟不打", "見鐘不打" }, { "观", "觀" }, { "观采", "觀採" }, { "规", "規" }, { "规划", "規劃" }, { "规范", "規範" }, { "觅", "覓" }, { "视", "視" }, { "觇", "覘" }, { "览", "覽" }, { "觉", "覺" }, { "觊", "覬" }, { "觋", "覡" }, { "觌", "覿" }, { "觎", "覦" }, { "觏", "覯" }, { "觐", "覲" }, { "觑", "覷" }, { "角抵", "角牴" }, { "角落发", "角落發" }, { "角落里", "角落裡" }, { "觚棱", "觚稜" }, { "觞", "觴" }, { "解发佯狂", "解髮佯狂" }, { "解封后", "解封後" }, { "解雇", "解僱" }, { "触", "觸" }, { "触须", "觸鬚" }, { "觯", "觶" }, { "言里", "言裡" }, { "誉", "譽" }, { "誊", "謄" }, { "謷丑", "謷醜" }, { "警世钟", "警世鐘" }, { "警报钟", "警報鐘" }, { "警示钟", "警示鐘" }, { "警钟", "警鐘" }, { "计", "計" }, { "计划", "計劃" }, { "计时表", "計時錶" }, { "订", "訂" }, { "订制", "訂製" }, { "讣", "訃" }, { "认", "認" }, { "认准", "認準" }, { "讥", "譏" }, { "讦", "訐" }, { "讧", "訌" }, { "讨", "討" }, { "让", "讓" }, { "讪", "訕" }, { "讫", "訖" }, { "训", "訓" }, { "议", "議" }, { "讯", "訊" }, { "记", "記" }, { "讲", "講" }, { "讳", "諱" }, { "讴", "謳" }, { "讵", "詎" }, { "讶", "訝" }, { "讷", "訥" }, { "许", "許" }, { "许愿起经", "許愿起經" }, { "讹", "訛" }, { "论", "論" }, { "论文里", "論文裡" }, { "讼", "訟" }, { "讽", "諷" }, { "设", "設" }, { "访", "訪" }, { "诀", "訣" }, { "证", "證" }, { "证谏", "証諫" }, { "诂", "詁" }, { "诃", "訶" }, { "评", "評" }, { "评断发", "評斷發" }, { "评注", "評註" }, { "评鉴", "評鑑" }, { "诅", "詛" }, { "识", "識" }, { "诈", "詐" }, { "诉", "訴" }, { "诊", "診" }, { "诋", "詆" }, { "诌", "謅" }, { "词", "詞" }, { "词余", "詞餘" }, { "词干", "詞幹" }, { "词汇", "詞彙" }, { "词里", "詞裡" }, { "诎", "詘" }, { "诏", "詔" }, { "译", "譯" }, { "译制", "譯製" }, { "译文里", "譯文裡" }, { "译注", "譯註" }, { "诒", "詒" }, { "诓", "誆" }, { "诔", "誄" }, { "诔赞", "誄讚" }, { "试", "試" }, { "试制", "試製" }, { "诖", "詿" }, { "诗", "詩" }, { "诗云", "詩云" }, { "诗余", "詩餘" }, { "诗赞", "詩讚" }, { "诗钟", "詩鐘" }, { "诘", "詰" }, { "诙", "詼" }, { "诚", "誠" }, { "诚征", "誠徵" }, { "诚朴", "誠樸" }, { "诛", "誅" }, { "诜", "詵" }, { "话", "話" }, { "话里有话", "話裡有話" }, { "诞", "誕" }, { "诟", "詬" }, { "诠", "詮" }, { "诡", "詭" }, { "询", "詢" }, { "诣", "詣" }, { "诤", "諍" }, { "该", "該" }, { "该钟", "該鐘" }, { "详", "詳" }, { "详征博引", "詳徵博引" }, { "详注", "詳註" }, { "诧", "詫" }, { "诨", "諢" }, { "诩", "詡" }, { "诫", "誡" }, { "诬", "誣" }, { "诬蔑", "誣衊" }, { "语", "語" }, { "语云", "語云" }, { "语有云", "語有云" }, { "语汇", "語彙" }, { "语法里", "語法裡" }, { "语里", "語裡" }, { "诮", "誚" }, { "误", "誤" }, { "诰", "誥" }, { "诱", "誘" }, { "诱奸", "誘姦" }, { "诲", "誨" }, { "诳", "誑" }, { "说", "說" }, { "说不准", "說不準" }, { "诵", "誦" }, { "诶", "誒" }, { "请", "請" }, { "请君入瓮", "請君入甕" }, { "请托", "請託" }, { "诸", "諸" }, { "诸余", "諸餘" }, { "诹", "諏" }, { "诺", "諾" }, { "读", "讀" }, { "诼", "諑" }, { "诽", "誹" }, { "课", "課" }, { "课余", "課餘" }, { "课征", "課徵" }, { "诿", "諉" }, { "谀", "諛" }, { "谁", "誰" }, { "谁干的", "誰幹的" }, { "谂", "諗" }, { "调", "調" }, { "调准", "調準" }, { "调制", "調製" }, { "调钟表", "調鐘錶" }, { "谄", "諂" }, { "谅", "諒" }, { "谆", "諄" }, { "谇", "誶" }, { "谈", "談" }, { "谈征", "談徵" }, { "谊", "誼" }, { "谋", "謀" }, { "谋干", "謀幹" }, { "谌", "諶" }, { "谍", "諜" }, { "谎", "謊" }, { "谏", "諫" }, { "谐", "諧" }, { "谑", "謔" }, { "谒", "謁" }, { "谓", "謂" }, { "谔", "諤" }, { "谕", "諭" }, { "谖", "諼" }, { "谗", "讒" }, { "谘", "諮" }, { "谙", "諳" }, { "谚", "諺" }, { "谛", "諦" }, { "谜", "謎" }, { "谝", "諞" }, { "谟", "謨" }, { "谠", "讜" }, { "谡", "謖" }, { "谢", "謝" }, { "谢华后", "謝華后" }, { "谢杰", "謝杰" }, { "谣", "謠" }, { "谤", "謗" }, { "谥", "諡" }, { "谦", "謙" }, { "谧", "謐" }, { "谨", "謹" }, { "谨愿", "謹愿" }, { "谩", "謾" }, { "谪", "謫" }, { "谫", "譾" }, { "谬", "謬" }, { "谬赞", "謬讚" }, { "谬采虚声", "謬採虛聲" }, { "谭", "譚" }, { "谮", "譖" }, { "谯", "譙" }, { "谰", "讕" }, { "谱", "譜" }, { "谲", "譎" }, { "谳", "讞" }, { "谴", "譴" }, { "谵", "譫" }, { "谶", "讖" }, { "谷仓", "穀倉" }, { "谷保家商", "穀保家商" }, { "谷圭", "穀圭" }, { "谷场", "穀場" }, { "谷城县", "穀城縣" }, { "谷壳", "穀殼" }, { "谷子", "穀子" }, { "谷日", "穀日" }, { "谷旦", "穀旦" }, { "谷梁", "穀梁" }, { "谷氨", "穀氨" }, { "谷物", "穀物" }, { "谷皮", "穀皮" }, { "谷神", "穀神" }, { "谷禄", "穀祿" }, { "谷米", "穀米" }, { "谷类", "穀類" }, { "谷粒", "穀粒" }, { "谷精草", "穀精草" }, { "谷胱", "穀胱" }, { "谷舱", "穀艙" }, { "谷苗", "穀苗" }, { "谷茬", "穀茬" }, { "谷草", "穀草" }, { "谷贱伤农", "穀賤傷農" }, { "谷贵饿农", "穀貴餓農" }, { "谷雨", "穀雨" }, { "谷食", "穀食" }, { "谷饶", "穀饒" }, { "豆干", "豆乾" }, { "豆腐干", "豆腐乾" }, { "象征", "象徵" }, { "贝", "貝" }, { "贞", "貞" }, { "负", "負" }, { "贡", "貢" }, { "财", "財" }, { "责", "責" }, { "贤", "賢" }, { "贤后", "賢后" }, { "败", "敗" }, { "账", "賬" }, { "货", "貨" }, { "质", "質" }, { "质数里", "質數裡" }, { "质朴", "質樸" }, { "贩", "販" }, { "贪", "貪" }, { "贪欲", "貪慾" }, { "贫", "貧" }, { "贬", "貶" }, { "购", "購" }, { "购买欲", "購買慾" }, { "购并", "購併" }, { "贮", "貯" }, { "贯", "貫" }, { "贰", "貳" }, { "贱", "賤" }, { "贲", "賁" }, { "贳", "貰" }, { "贴", "貼" }, { "贵", "貴" }, { "贵价", "貴价" }, { "贵干", "貴幹" }, { "贵征", "貴徵" }, { "贶", "貺" }, { "贷", "貸" }, { "贸", "貿" }, { "费", "費" }, { "费米面", "費米面" }, { "贺", "賀" }, { "贻", "貽" }, { "贻范", "貽範" }, { "贼", "賊" }, { "贽", "贄" }, { "贾", "賈" }, { "贾后", "賈后" }, { "贿", "賄" }, { "赀", "貲" }, { "赁", "賃" }, { "赂", "賂" }, { "赃", "贓" }, { "资", "資" }, { "赅", "賅" }, { "赆", "贐" }, { "赇", "賕" }, { "赈", "賑" }, { "赈饥", "賑饑" }, { "赉", "賚" }, { "赊", "賒" }, { "赋", "賦" }, { "赋范", "賦范" }, { "赌", "賭" }, { "赌台", "賭檯" }, { "赌后", "賭后" }, { "赌斗", "賭鬥" }, { "赍", "齎" }, { "赎", "贖" }, { "赏", "賞" }, { "赏赞", "賞讚" }, { "赐", "賜" }, { "赓", "賡" }, { "赔", "賠" }, { "赕", "賧" }, { "赖", "賴" }, { "赘", "贅" }, { "赘余", "贅餘" }, { "赙", "賻" }, { "赚", "賺" }, { "赛", "賽" }, { "赜", "賾" }, { "赝", "贗" }, { "赞", "贊" }, { "赞一个", "讚一個" }, { "赞不绝口", "讚不絕口" }, { "赞乐", "讚樂" }, { "赞佩", "讚佩" }, { "赞叹", "讚嘆" }, { "赞呗", "讚唄" }, { "赞岐", "讚岐" }, { "赞扬", "讚揚" }, { "赞歌", "讚歌" }, { "赞美", "讚美" }, { "赞羡", "讚羨" }, { "赞誉", "讚譽" }, { "赞许", "讚許" }, { "赞词", "讚詞" }, { "赞赏", "讚賞" }, { "赞辞", "讚辭" }, { "赞颂", "讚頌" }, { "赠", "贈" }, { "赡", "贍" }, { "赢", "贏" }, { "赢余", "贏餘" }, { "赣", "贛" }, { "赤术", "赤朮" }, { "赤绳系足", "赤繩繫足" }, { "赵", "趙" }, { "赵威后", "趙威后" }, { "赵惠后", "趙惠后" }, { "赵治勋", "趙治勳" }, { "赶", "趕" }, { "赶制", "趕製" }, { "赶面棍", "趕麵棍" }, { "起哄", "起鬨" }, { "超市里", "超市裡" }, { "超级杯", "超級盃" }, { "超赞", "超讚" }, { "趋", "趨" }, { "趱", "趲" }, { "趱干", "趲幹" }, { "足协杯", "足協盃" }, { "足总杯", "足總盃" }, { "趸", "躉" }, { "跃", "躍" }, { "跄", "蹌" }, { "跞", "躒" }, { "路图里", "路圖裡" }, { "路签", "路籤" }, { "跳荡", "跳蕩" }, { "践", "踐" }, { "跷", "蹺" }, { "跸", "蹕" }, { "跹", "躚" }, { "跻", "躋" }, { "踊", "踴" }, { "踌", "躊" }, { "踡局", "踡跼" }, { "踪", "蹤" }, { "踬", "躓" }, { "踯", "躑" }, { "蹑", "躡" }, { "蹒", "蹣" }, { "蹒局", "蹣跼" }, { "蹭棱子", "蹭稜子" }, { "蹰", "躕" }, { "蹿", "躥" }, { "躁郁", "躁鬱" }, { "躏", "躪" }, { "躜", "躦" }, { "身体发肤", "身體髮膚" }, { "躯", "軀" }, { "躯干", "軀幹" }, { "车", "車" }, { "车库里", "車庫裡" }, { "车站里", "車站裡" }, { "车里", "車裡" }, { "车里雅宾斯克", "車里雅賓斯克" }, { "轧", "軋" }, { "轨", "軌" }, { "轨范", "軌範" }, { "轩", "軒" }, { "轩辟", "軒闢" }, { "轫", "軔" }, { "转", "轉" }, { "转向", "轉向" }, { "转托", "轉託" }, { "转斗千里", "轉鬥千里" }, { "轭", "軛" }, { "轮", "輪" }, { "轮回", "輪迴" }, { "轮奸", "輪姦" }, { "软", "軟" }, { "轰", "轟" }, { "轲", "軻" }, { "轳", "轤" }, { "轴", "軸" }, { "轵", "軹" }, { "轶", "軼" }, { "轸", "軫" }, { "轹", "轢" }, { "轺", "軺" }, { "轻", "輕" }, { "轻松", "輕鬆" }, { "轻松松", "輕鬆鬆" }, { "轼", "軾" }, { "载", "載" }, { "轾", "輊" }, { "轿", "轎" }, { "辁", "輇" }, { "辂", "輅" }, { "较", "較" }, { "辄", "輒" }, { "辅", "輔" }, { "辆", "輛" }, { "辇", "輦" }, { "辈", "輩" }, { "辉", "輝" }, { "辊", "輥" }, { "辋", "輞" }, { "辍", "輟" }, { "辎", "輜" }, { "辏", "輳" }, { "辐", "輻" }, { "辑", "輯" }, { "输", "輸" }, { "辔", "轡" }, { "辕", "轅" }, { "辖", "轄" }, { "辗", "輾" }, { "辘", "轆" }, { "辙", "轍" }, { "辚", "轔" }, { "辞", "辭" }, { "辞汇", "辭彙" }, { "辟为", "闢為" }, { "辟佛", "闢佛" }, { "辟作", "闢作" }, { "辟划", "闢劃" }, { "辟土", "闢土" }, { "辟地", "闢地" }, { "辟室", "闢室" }, { "辟建", "闢建" }, { "辟田", "闢田" }, { "辟筑", "闢築" }, { "辟谣", "闢謠" }, { "辟谷", "辟穀" }, { "辟辟", "闢辟" }, { "辟邪以律", "闢邪以律" }, { "辣面", "辣麵" }, { "辩", "辯" }, { "辩斗", "辯鬥" }, { "辫", "辮" }, { "辫发", "辮髮" }, { "辰溪县", "辰谿縣" }, { "边", "邊" }, { "辽", "遼" }, { "辽沈", "遼瀋" }, { "达", "達" }, { "迁", "遷" }, { "迂回", "迂迴" }, { "过", "過" }, { "过水面", "過水麵" }, { "迈", "邁" }, { "运", "運" }, { "近日无仇", "近日無讎" }, { "返朴", "返樸" }, { "还", "還" }, { "还冲", "還衝" }, { "还采", "還採" }, { "这", "這" }, { "这么干", "這麼幹" }, { "这伙人", "這夥人" }, { "这出", "這齣" }, { "这出世", "這出世" }, { "这出乎", "這出乎" }, { "这出人", "這出人" }, { "这出版", "這出版" }, { "这出现", "這出現" }, { "这出生", "這出生" }, { "这出色", "這出色" }, { "这出身", "這出身" }, { "这出道", "這出道" }, { "这只", "這隻" }, { "这只不", "這只不" }, { "这只不过", "這只不過" }, { "这只会", "這只會" }, { "这只允", "這只允" }, { "这只包括", "這只包括" }, { "这只可", "這只可" }, { "这只在", "這只在" }, { "这只容", "這只容" }, { "这只应", "這只應" }, { "这只是", "這只是" }, { "这只比", "這只比" }, { "这只用", "這只用" }, { "这只能", "這只能" }, { "这只要", "這只要" }, { "这只采", "這只採" }, { "这只限", "這只限" }, { "这只需", "這只需" }, { "这只须", "這只須" }, { "这里", "這裡" }, { "这钟", "這鐘" }, { "进", "進" }, { "进两出", "進兩出" }, { "进制", "進制" }, { "远", "遠" }, { "远游", "遠遊" }, { "违", "違" }, { "连", "連" }, { "连三并四", "連三併四" }, { "连亘", "連亙" }, { "连发式", "連發式" }, { "连系", "連繫" }, { "连采", "連採" }, { "迟", "遲" }, { "迥然回异", "迥然迴異" }, { "迩", "邇" }, { "迳", "逕" }, { "迷蒙", "迷濛" }, { "迹", "跡" }, { "追凶", "追兇" }, { "退伙", "退夥" }, { "送钟", "送鐘" }, { "适", "適" }, { "逆钟", "逆鐘" }, { "逆钟向", "逆鐘向" }, { "逆风后", "逆風後" }, { "选", "選" }, { "选手表决", "選手表決" }, { "选手表明", "選手表明" }, { "选手表现", "選手表現" }, { "选手表示", "選手表示" }, { "选手表达", "選手表達" }, { "逊", "遜" }, { "逋发", "逋髮" }, { "逍遥游", "逍遙遊" }, { "透辟", "透闢" }, { "递", "遞" }, { "递回", "遞迴" }, { "通历", "通曆" }, { "通历史", "通歷史" }, { "通奸", "通姦" }, { "通心面", "通心麵" }, { "通鉴", "通鑑" }, { "逞凶斗狠", "逞兇鬥狠" }, { "造钟", "造鐘" }, { "逦", "邐" }, { "逻", "邏" }, { "逼并", "逼併" }, { "逾闲", "踰閑" }, { "遇风后", "遇風後" }, { "道范", "道範" }, { "道里区", "道裏區" }, { "遗", "遺" }, { "遗传钟", "遺傳鐘" }, { "遗范", "遺範" }, { "遗迹", "遺蹟" }, { "遥", "遙" }, { "遨游", "遨遊" }, { "遮丑", "遮醜" }, { "邀天之幸", "邀天之倖" }, { "邋里邋遢", "邋裡邋遢" }, { "邓", "鄧" }, { "邝", "鄺" }, { "邢台", "邢臺" }, { "那卷", "那捲" }, { "那只", "那隻" }, { "那只不过", "那只不過" }, { "那只会", "那只會" }, { "那只应", "那只應" }, { "那只须", "那只須" }, { "那里", "那裡" }, { "邬", "鄔" }, { "邮", "郵" }, { "邹", "鄒" }, { "邺", "鄴" }, { "邻", "鄰" }, { "郁伊", "鬱伊" }, { "郁勃", "鬱勃" }, { "郁卒", "鬱卒" }, { "郁南", "鬱南" }, { "郁垒", "鬱壘" }, { "郁堙不偶", "鬱堙不偶" }, { "郁塞", "鬱塞" }, { "郁律", "鬱律" }, { "郁悒", "鬱悒" }, { "郁愤", "鬱憤" }, { "郁抑", "鬱抑" }, { "郁挹", "鬱挹" }, { "郁朴", "郁樸" }, { "郁林", "鬱林" }, { "郁气", "鬱氣" }, { "郁江", "鬱江" }, { "郁沉沉", "鬱沉沉" }, { "郁泱", "鬱泱" }, { "郁火", "鬱火" }, { "郁热", "鬱熱" }, { "郁燠", "鬱燠" }, { "郁症", "鬱症" }, { "郁积", "鬱積" }, { "郁纡", "鬱紆" }, { "郁结", "鬱結" }, { "郁蒸", "鬱蒸" }, { "郁蓊", "鬱蓊" }, { "郁血", "鬱血" }, { "郁邑", "鬱邑" }, { "郁郁", "鬱郁" }, { "郁郁不乐", "鬱鬱不樂" }, { "郁郁不平", "鬱鬱不平" }, { "郁郁寡欢", "鬱鬱寡歡" }, { "郁郁而终", "鬱鬱而終" }, { "郁郁苍苍", "鬱鬱蒼蒼" }, { "郁郁葱葱", "鬱鬱蔥蔥" }, { "郁金", "鬱金" }, { "郁闭", "鬱閉" }, { "郁闷", "鬱悶" }, { "郁陶", "鬱陶" }, { "郁黑", "鬱黑" }, { "郊游", "郊遊" }, { "郏", "郟" }, { "郐", "鄶" }, { "郑", "鄭" }, { "郑凯云", "鄭凱云" }, { "郑苹如", "鄭蘋如" }, { "郓", "鄆" }, { "郘钟", "郘鐘" }, { "郦", "酈" }, { "郧", "鄖" }, { "部落发", "部落發" }, { "郸", "鄲" }, { "都市里", "都市裡" }, { "配制", "配製" }, { "配制饲料", "配制飼料" }, { "配图里", "配圖裡" }, { "酒坛", "酒罈" }, { "酒曲", "酒麴" }, { "酒气冲天", "酒氣衝天" }, { "酒肴", "酒餚" }, { "酒麹", "酒麴" }, { "酝", "醞" }, { "酥松", "酥鬆" }, { "酱", "醬" }, { "酸姜", "酸薑" }, { "酽", "釅" }, { "酾", "釃" }, { "酿", "釀" }, { "酿制", "釀製" }, { "醇朴", "醇樸" }, { "醋坛", "醋罈" }, { "采下", "採下" }, { "采为", "採為" }, { "采买", "採買" }, { "采伐", "採伐" }, { "采住", "採住" }, { "采信", "採信" }, { "采光", "採光" }, { "采到", "採到" }, { "采制", "採制" }, { "采办", "採辦" }, { "采区", "採區" }, { "采去", "採去" }, { "采取", "採取" }, { "采回", "採回" }, { "采在", "採在" }, { "采好", "採好" }, { "采录", "採錄" }, { "采得", "採得" }, { "采择", "採擇" }, { "采拾", "採拾" }, { "采挖", "採挖" }, { "采掘", "採掘" }, { "采摘", "採摘" }, { "采摭", "採摭" }, { "采撷", "採擷" }, { "采收", "採收" }, { "采料", "採料" }, { "采暖", "採暖" }, { "采树种", "採樹種" }, { "采样", "採樣" }, { "采桑", "採桑" }, { "采棉", "採棉" }, { "采樵人", "採樵人" }, { "采气", "採氣" }, { "采油", "採油" }, { "采煤", "採煤" }, { "采猎", "採獵" }, { "采珠", "採珠" }, { "采生折割", "採生折割" }, { "采用", "採用" }, { "采盐", "採鹽" }, { "采石", "採石" }, { "采石之战", "采石之戰" }, { "采石矶", "采石磯" }, { "采矿", "採礦" }, { "采砂", "採砂" }, { "采种", "採種" }, { "采空区", "採空區" }, { "采空采穗", "採空採穗" }, { "采纳", "採納" }, { "采给", "採給" }, { "采编", "採編" }, { "采花", "採花" }, { "采芹人", "採芹人" }, { "采茶", "採茶" }, { "采药", "採藥" }, { "采莲", "採蓮" }, { "采获", "採獲" }, { "采菊", "採菊" }, { "采薇", "採薇" }, { "采薪", "採薪" }, { "采血", "採血" }, { "采行", "採行" }, { "采补", "採補" }, { "采访", "採訪" }, { "采证", "採證" }, { "采购", "採購" }, { "采过", "採過" }, { "采运", "採運" }, { "采选", "採選" }, { "采金", "採金" }, { "采铁", "採鐵" }, { "采集", "採集" }, { "采风", "採風" }, { "采风问俗", "採風問俗" }, { "采食", "採食" }, { "释", "釋" }, { "里勾外连", "裡勾外連" }, { "里头", "裡頭" }, { "里层", "裡層" }, { "里屋", "裡屋" }, { "里带", "裡帶" }, { "里应外合", "裡應外合" }, { "里弦", "裡弦" }, { "里水镇", "裏水鎮" }, { "里海", "裏海" }, { "里海大学", "里海大學" }, { "里白", "裏白" }, { "里衣", "裡衣" }, { "里边", "裡邊" }, { "里运河", "裏運河" }, { "里通外国", "裡通外國" }, { "里通外敌", "裡通外敵" }, { "里铺", "里舖" }, { "里间", "裡間" }, { "里面", "裡面" }, { "里面包", "裡面包" }, { "重制", "重製" }, { "重复", "重複" }, { "重托", "重託" }, { "重游", "重遊" }, { "重罗面", "重羅麵" }, { "野姜", "野薑" }, { "野游", "野遊" }, { "量不准", "量不準" }, { "金仆姑", "金僕姑" }, { "金发", "金髮" }, { "金发放", "金發放" }, { "金圣叹", "金聖歎" }, { "金溪县", "金谿縣" }, { "金范", "金範" }, { "金表态", "金表態" }, { "金表扬", "金表揚" }, { "金表现", "金表現" }, { "金表达", "金表達" }, { "金装玉里", "金裝玉裡" }, { "金钟", "金鐘" }, { "金链", "金鍊" }, { "鉴", "鑒" }, { "鉴于", "鑑於" }, { "鉴别", "鑑別" }, { "鉴古", "鑑古" }, { "鉴定", "鑑定" }, { "鉴察", "鑑察" }, { "鉴往知来", "鑑往知來" }, { "鉴戒", "鑑戒" }, { "鉴湖", "鑑湖" }, { "鉴藏", "鑑藏" }, { "鉴证", "鑑證" }, { "鉴识", "鑑識" }, { "鉴谅", "鑑諒" }, { "鉴赏", "鑑賞" }, { "銮", "鑾" }, { "錾", "鏨" }, { "钆", "釓" }, { "钇", "釔" }, { "针", "針" }, { "钉", "釘" }, { "钊", "釗" }, { "钋", "釙" }, { "钌", "釕" }, { "钍", "釷" }, { "钏", "釧" }, { "钐", "釤" }, { "钒", "釩" }, { "钓", "釣" }, { "钔", "鍆" }, { "钕", "釹" }, { "钗", "釵" }, { "钙", "鈣" }, { "钛", "鈦" }, { "钜", "鉅" }, { "钝", "鈍" }, { "钞", "鈔" }, { "钟", "鍾" }, { "钟上", "鐘上" }, { "钟下", "鐘下" }, { "钟不", "鐘不" }, { "钟不扣不鸣", "鐘不扣不鳴" }, { "钟不撞不鸣", "鐘不撞不鳴" }, { "钟不敲不响", "鐘不敲不響" }, { "钟不空则哑", "鐘不空則啞" }, { "钟乳洞", "鐘乳洞" }, { "钟乳石", "鐘乳石" }, { "钟体", "鐘體" }, { "钟停", "鐘停" }, { "钟关", "鐘關" }, { "钟匠", "鐘匠" }, { "钟发音", "鐘發音" }, { "钟口", "鐘口" }, { "钟响", "鐘響" }, { "钟在寺里", "鐘在寺裡" }, { "钟塔", "鐘塔" }, { "钟壁", "鐘壁" }, { "钟声", "鐘聲" }, { "钟太", "鐘太" }, { "钟头", "鐘頭" }, { "钟好", "鐘好" }, { "钟山", "鐘山" }, { "钟左右", "鐘左右" }, { "钟差", "鐘差" }, { "钟座", "鐘座" }, { "钟形", "鐘形" }, { "钟形虫", "鐘形蟲" }, { "钟律", "鐘律" }, { "钟摆", "鐘擺" }, { "钟敲", "鐘敲" }, { "钟有", "鐘有" }, { "钟楼", "鐘樓" }, { "钟模", "鐘模" }, { "钟没", "鐘沒" }, { "钟漏", "鐘漏" }, { "钟点", "鐘點" }, { "钟王", "鐘王" }, { "钟琴", "鐘琴" }, { "钟的", "鐘的" }, { "钟盘", "鐘盤" }, { "钟相", "鐘相" }, { "钟磬", "鐘磬" }, { "钟纽", "鐘紐" }, { "钟罩", "鐘罩" }, { "钟腰", "鐘腰" }, { "钟花", "鐘花" }, { "钟螺", "鐘螺" }, { "钟行", "鐘行" }, { "钟表", "鐘錶" }, { "钟表停", "鐘錶停" }, { "钟表盘", "鐘錶盤" }, { "钟表速", "鐘錶速" }, { "钟表面", "鐘表面" }, { "钟被", "鐘被" }, { "钟调", "鐘調" }, { "钟身", "鐘身" }, { "钟速", "鐘速" }, { "钟陈列", "鐘陳列" }, { "钟面", "鐘面" }, { "钟顶", "鐘頂" }, { "钟鸣", "鐘鳴" }, { "钟鼎", "鐘鼎" }, { "钟鼓", "鐘鼓" }, { "钠", "鈉" }, { "钡", "鋇" }, { "钢", "鋼" }, { "钢之炼金术师", "鋼之鍊金術師" }, { "钢制", "鋼製" }, { "钣", "鈑" }, { "钤", "鈐" }, { "钥", "鑰" }, { "钦", "欽" }, { "钧", "鈞" }, { "钨", "鎢" }, { "钩", "鈎" }, { "钩心斗角", "鈎心鬥角" }, { "钪", "鈧" }, { "钫", "鈁" }, { "钬", "鈥" }, { "钭", "鈄" }, { "钮", "鈕" }, { "钯", "鈀" }, { "钰", "鈺" }, { "钱", "錢" }, { "钱范", "錢範" }, { "钱谷", "錢穀" }, { "钲", "鉦" }, { "钳", "鉗" }, { "钴", "鈷" }, { "钵", "缽" }, { "钶", "鈳" }, { "钸", "鈽" }, { "钹", "鈸" }, { "钺", "鉞" }, { "钻", "鑽" }, { "钼", "鉬" }, { "钽", "鉭" }, { "钾", "鉀" }, { "钿", "鈿" }, { "铀", "鈾" }, { "铁", "鐵" }, { "铁制", "鐵製" }, { "铁钟", "鐵鐘" }, { "铂", "鉑" }, { "铃", "鈴" }, { "铄", "鑠" }, { "铅", "鉛" }, { "铆", "鉚" }, { "铈", "鈰" }, { "铉", "鉉" }, { "铊", "鉈" }, { "铋", "鉍" }, { "铌", "鈮" }, { "铍", "鈹" }, { "铎", "鐸" }, { "铐", "銬" }, { "铑", "銠" }, { "铒", "鉺" }, { "铕", "銪" }, { "铖", "鋮" }, { "铗", "鋏" }, { "铙", "鐃" }, { "铛", "鐺" }, { "铜", "銅" }, { "铜制", "銅製" }, { "铜范", "銅範" }, { "铜钟", "銅鐘" }, { "铝", "鋁" }, { "铝制", "鋁製" }, { "铟", "銦" }, { "铠", "鎧" }, { "铡", "鍘" }, { "铢", "銖" }, { "铣", "銑" }, { "铤", "鋌" }, { "铥", "銩" }, { "铧", "鏵" }, { "铨", "銓" }, { "铩", "鎩" }, { "铪", "鉿" }, { "铫", "銚" }, { "铬", "鉻" }, { "铭", "銘" }, { "铮", "錚" }, { "铯", "銫" }, { "铯钟", "銫鐘" }, { "铰", "鉸" }, { "铱", "銥" }, { "铲", "鏟" }, { "铲出", "剷出" }, { "铲刈", "剷刈" }, { "铲头", "剷頭" }, { "铲平", "剷平" }, { "铲除", "剷除" }, { "铳", "銃" }, { "铴", "鐋" }, { "铵", "銨" }, { "银", "銀" }, { "银发", "銀髮" }, { "银朱", "銀硃" }, { "铷", "銣" }, { "铸", "鑄" }, { "铸钟", "鑄鐘" }, { "铹", "鐒" }, { "铺", "鋪" }, { "铼", "錸" }, { "铽", "鋱" }, { "链", "鏈" }, { "链表", "鍊表" }, { "铿", "鏗" }, { "销", "銷" }, { "锁", "鎖" }, { "锂", "鋰" }, { "锄", "鋤" }, { "锅", "鍋" }, { "锆", "鋯" }, { "锇", "鋨" }, { "锈", "鏽" }, { "锈病", "銹病" }, { "锉", "銼" }, { "锊", "鋝" }, { "锋", "鋒" }, { "锌", "鋅" }, { "锌制", "鋅製" }, { "锐", "銳" }, { "锑", "銻" }, { "锒", "鋃" }, { "锓", "鋟" }, { "锔", "鋦" }, { "锕", "錒" }, { "锖", "錆" }, { "锗", "鍺" }, { "错", "錯" }, { "锚", "錨" }, { "锛", "錛" }, { "锞", "錁" }, { "锟", "錕" }, { "锡", "錫" }, { "锢", "錮" }, { "锣", "鑼" }, { "锤", "錘" }, { "锤炼", "錘鍊" }, { "锥", "錐" }, { "锦", "錦" }, { "锦卤", "錦滷" }, { "锦绣花园", "錦綉花園" }, { "锨", "杴" }, { "锩", "錈" }, { "锬", "錟" }, { "锭", "錠" }, { "键", "鍵" }, { "锯", "鋸" }, { "锰", "錳" }, { "锱", "錙" }, { "锲", "鍥" }, { "锲而不舍", "鍥而不捨" }, { "锴", "鍇" }, { "锵", "鏘" }, { "锶", "鍶" }, { "锷", "鍔" }, { "锸", "鍤" }, { "锹", "鍬" }, { "锺", "鍾" }, { "锻", "鍛" }, { "锼", "鎪" }, { "锾", "鍰" }, { "镀", "鍍" }, { "镁", "鎂" }, { "镂", "鏤" }, { "镄", "鐨" }, { "镆", "鏌" }, { "镇", "鎮" }, { "镇里", "鎮裡" }, { "镉", "鎘" }, { "镊", "鑷" }, { "镌", "鐫" }, { "镍", "鎳" }, { "镏", "鎦" }, { "镐", "鎬" }, { "镑", "鎊" }, { "镒", "鎰" }, { "镓", "鎵" }, { "镔", "鑌" }, { "镖", "鏢" }, { "镗", "鏜" }, { "镘", "鏝" }, { "镙", "鏍" }, { "镛", "鏞" }, { "镜", "鏡" }, { "镜图里", "鏡圖裡" }, { "镝", "鏑" }, { "镞", "鏃" }, { "镟", "鏇" }, { "镡", "鐔" }, { "镢", "钁" }, { "镣", "鐐" }, { "镤", "鏷" }, { "镦", "鐓" }, { "镧", "鑭" }, { "镨", "鐠" }, { "镪", "鏹" }, { "镫", "鐙" }, { "镬", "鑊" }, { "镭", "鐳" }, { "镯", "鐲" }, { "镰", "鐮" }, { "镰仓", "鎌倉" }, { "镱", "鐿" }, { "镳", "鑣" }, { "镶", "鑲" }, { "长", "長" }, { "长几", "長几" }, { "长历", "長曆" }, { "长历史", "長歷史" }, { "长发公主", "長髮公主" }, { "长发妹", "長髮妹" }, { "长发姑娘", "長髮姑娘" }, { "长得丑", "長得醜" }, { "长须", "長鬚" }, { "门", "門" }, { "门吊儿", "門弔兒" }, { "门帘", "門帘" }, { "门里", "門裡" }, { "闩", "閂" }, { "闪", "閃" }, { "闫", "閆" }, { "闫怀礼", "閆懷禮" }, { "闭", "閉" }, { "问", "問" }, { "闯", "闖" }, { "闯炼", "闖鍊" }, { "闯荡", "闖蕩" }, { "闰", "閏" }, { "闱", "闈" }, { "闲", "閒" }, { "闲情逸致", "閒情逸緻" }, { "闲游", "閒遊" }, { "闲荡", "閒蕩" }, { "闲邪", "閑邪" }, { "闳", "閎" }, { "间", "間" }, { "间不容发", "間不容髮" }, { "间里", "間裡" }, { "闵", "閔" }, { "闵采尔", "閔採爾" }, { "闶", "閌" }, { "闷", "悶" }, { "闸", "閘" }, { "闹", "鬧" }, { "闹表", "鬧錶" }, { "闹钟", "鬧鐘" }, { "闺", "閨" }, { "闺范", "閨範" }, { "闻", "聞" }, { "闻风后", "聞風後" }, { "闼", "闥" }, { "闽", "閩" }, { "闾", "閭" }, { "阀", "閥" }, { "阁", "閣" }, { "阂", "閡" }, { "阃", "閫" }, { "阃范", "閫範" }, { "阄", "鬮" }, { "阅", "閱" }, { "阆", "閬" }, { "阈", "閾" }, { "阉", "閹" }, { "阊", "閶" }, { "阋", "鬩" }, { "阌", "閿" }, { "阍", "閽" }, { "阎", "閻" }, { "阏", "閼" }, { "阐", "闡" }, { "阑", "闌" }, { "阒", "闃" }, { "阔", "闊" }, { "阕", "闋" }, { "阖", "闔" }, { "阗", "闐" }, { "阙", "闕" }, { "阚", "闞" }, { "队", "隊" }, { "队里", "隊裡" }, { "防御", "防禦" }, { "防水表", "防水錶" }, { "防范", "防範" }, { "阳", "陽" }, { "阳历", "陽曆" }, { "阳历史", "陽歷史" }, { "阳春面", "陽春麵" }, { "阳谷", "陽穀" }, { "阴", "陰" }, { "阴历", "陰曆" }, { "阴历史", "陰歷史" }, { "阴干", "陰乾" }, { "阴沟里翻船", "陰溝裡翻船" }, { "阴郁", "陰鬱" }, { "阵", "陣" }, { "阶", "階" }, { "附注", "附註" }, { "际", "際" }, { "陆", "陸" }, { "陇", "隴" }, { "陈", "陳" }, { "陈升", "陳昇" }, { "陈有后", "陳有后" }, { "陈杰", "陳杰" }, { "陈炼", "陳鍊" }, { "陉", "陘" }, { "陕", "陝" }, { "院里", "院裡" }, { "陦", "隯" }, { "陧", "隉" }, { "陨", "隕" }, { "险", "險" }, { "陪吊", "陪弔" }, { "陶制", "陶製" }, { "隆准", "隆準" }, { "隆准许", "隆准許" }, { "随", "隨" }, { "隐", "隱" }, { "隐几", "隱几" }, { "隐占", "隱佔" }, { "隶", "隸" }, { "隽", "雋" }, { "难", "難" }, { "难舍", "難捨" }, { "雅范", "雅範" }, { "集团", "集團" }, { "集数里", "集數裡" }, { "集游法", "集遊法" }, { "集里", "集裡" }, { "雇人", "僱人" }, { "雇佣", "僱傭" }, { "雇农", "僱農" }, { "雇到", "僱到" }, { "雇工", "僱工" }, { "雇船", "僱船" }, { "雇请", "僱請" }, { "雇车", "僱車" }, { "雏", "雛" }, { "雕心雁爪", "鵰心雁爪" }, { "雕悍", "鵰悍" }, { "雕翎", "鵰翎" }, { "雕鹗", "鵰鶚" }, { "雠", "讎" }, { "雨蒙蒙", "雨濛濛" }, { "雪窗萤几", "雪窗螢几" }, { "雪里", "雪裡" }, { "雪里红", "雪裡紅" }, { "雪里蕻", "雪裡蕻" }, { "雳", "靂" }, { "零个", "零個" }, { "零余", "零餘" }, { "零只", "零隻" }, { "零周后", "零周後" }, { "零天后", "零天後" }, { "雾", "霧" }, { "雾里", "霧裡" }, { "霁", "霽" }, { "霁范", "霽範" }, { "震栗", "震慄" }, { "霉毒", "黴毒" }, { "霉气冲天", "霉氣衝天" }, { "霉素", "黴素" }, { "霉菌", "黴菌" }, { "霉黑", "黴黑" }, { "霉黧", "黴黧" }, { "霭", "靄" }, { "露丑", "露醜" }, { "青山一发", "青山一髮" }, { "青春斗", "青春鬥" }, { "青霉", "青黴" }, { "靓", "靚" }, { "静", "靜" }, { "非常准", "非常準" }, { "面人儿", "麵人兒" }, { "面制品", "麵製品" }, { "面包", "麵包" }, { "面包办", "面包辦" }, { "面包厢", "面包廂" }, { "面包围", "面包圍" }, { "面包扎", "面包紮" }, { "面包揽", "面包攬" }, { "面包着", "面包著" }, { "面包罗", "面包羅" }, { "面包装", "面包裝" }, { "面厂", "麵廠" }, { "面团", "麵團" }, { "面坊", "麵坊" }, { "面坯儿", "麵坯兒" }, { "面塑", "麵塑" }, { "面店", "麵店" }, { "面店铺", "面店鋪" }, { "面摊", "麵攤" }, { "面杖", "麵杖" }, { "面条", "麵條" }, { "面条目", "面條目" }, { "面汤", "麵湯" }, { "面浆", "麵漿" }, { "面点师", "麵點師" }, { "面疙瘩", "麵疙瘩" }, { "面皮", "麵皮" }, { "面码儿", "麵碼兒" }, { "面筋", "麵筋" }, { "面粉", "麵粉" }, { "面粉红", "面粉紅" }, { "面糊", "麵糊" }, { "面缸", "麵缸" }, { "面肺子", "麵肺子" }, { "面茶", "麵茶" }, { "面食", "麵食" }, { "面食饭", "面食飯" }, { "面饺", "麵餃" }, { "面饼", "麵餅" }, { "面馆", "麵館" }, { "靥", "靨" }, { "鞋里", "鞋裡" }, { "鞑", "韃" }, { "鞣制", "鞣製" }, { "鞭辟入里", "鞭辟入裡" }, { "鞯", "韉" }, { "韦", "韋" }, { "韦席", "韋蓆" }, { "韧", "韌" }, { "韩", "韓" }, { "韩制", "韓製" }, { "韩国制", "韓國製" }, { "韪", "韙" }, { "韫", "韞" }, { "韬", "韜" }, { "音不准", "音不準" }, { "音准", "音準" }, { "音声如钟", "音聲如鐘" }, { "韵", "韻" }, { "韶山冲", "韶山沖" }, { "页", "頁" }, { "页面", "頁面" }, { "顶", "頂" }, { "顶凶", "頂兇" }, { "顶多", "頂多" }, { "顷", "頃" }, { "顸", "頇" }, { "项", "項" }, { "项链", "項鍊" }, { "顺", "順" }, { "顺钟向", "順鐘向" }, { "顺风后", "順風後" }, { "须", "須" }, { "须发", "鬚髮" }, { "须叶藤", "鬚葉藤" }, { "须根", "鬚根" }, { "须根据", "須根據" }, { "须毛", "鬚毛" }, { "须生", "鬚生" }, { "须眉", "鬚眉" }, { "须胡", "鬚鬍" }, { "须须", "鬚鬚" }, { "须鲨", "鬚鯊" }, { "须鲸", "鬚鯨" }, { "顼", "頊" }, { "顽", "頑" }, { "顾", "顧" }, { "顿", "頓" }, { "颀", "頎" }, { "颁", "頒" }, { "颂", "頌" }, { "颂系", "頌繫" }, { "颂赞", "頌讚" }, { "颃", "頏" }, { "预", "預" }, { "预制", "預製" }, { "预报不准", "預報不準" }, { "颅", "顱" }, { "领", "領" }, { "领袖欲", "領袖慾" }, { "颇", "頗" }, { "颈", "頸" }, { "颈须", "頸鬚" }, { "颉", "頡" }, { "颊", "頰" }, { "颊须", "頰鬚" }, { "颌", "頜" }, { "颍", "潁" }, { "颏", "頦" }, { "颐", "頤" }, { "频", "頻" }, { "颓", "頹" }, { "颔", "頷" }, { "颖", "穎" }, { "颗", "顆" }, { "题", "題" }, { "颚", "顎" }, { "颛", "顓" }, { "颛顼历", "顓頊曆" }, { "颜", "顏" }, { "颜范", "顏範" }, { "额", "額" }, { "额征", "額徵" }, { "额我略历", "額我略曆" }, { "额我略历史", "額我略歷史" }, { "颞", "顳" }, { "颟", "顢" }, { "颠", "顛" }, { "颠颠仆仆", "顛顛仆仆" }, { "颡", "顙" }, { "颢", "顥" }, { "颤", "顫" }, { "颤栗", "顫慄" }, { "颦", "顰" }, { "颧", "顴" }, { "风", "風" }, { "风刮", "風颳" }, { "风卷残云", "風捲殘雲" }, { "风后", "風后" }, { "风土志", "風土誌" }, { "风干", "風乾" }, { "风物志", "風物誌" }, { "风范", "風範" }, { "风起云涌", "風起雲湧" }, { "风里", "風裡" }, { "飑", "颮" }, { "飒", "颯" }, { "飓", "颶" }, { "飕", "颼" }, { "飘", "飄" }, { "飘发", "飄髮" }, { "飘游", "飄遊" }, { "飘荡", "飄蕩" }, { "飘飘荡荡", "飄飄蕩蕩" }, { "飙", "飆" }, { "飞", "飛" }, { "飞刍挽粟", "飛芻輓粟" }, { "飞扎", "飛紮" }, { "飞行钟", "飛行鐘" }, { "食欲", "食慾" }, { "食面", "食麵" }, { "飨", "饗" }, { "餍", "饜" }, { "餐台", "餐檯" }, { "饥", "飢" }, { "饥寒", "饑寒" }, { "饥民", "饑民" }, { "饥渴", "饑渴" }, { "饥溺", "饑溺" }, { "饥荒", "饑荒" }, { "饥饱", "饑飽" }, { "饥馑", "饑饉" }, { "饧", "餳" }, { "饨", "飩" }, { "饩", "餼" }, { "饪", "飪" }, { "饫", "飫" }, { "饬", "飭" }, { "饭", "飯" }, { "饭后钟", "飯後鐘" }, { "饭团", "飯糰" }, { "饮", "飲" }, { "饯", "餞" }, { "饰", "飾" }, { "饱", "飽" }, { "饲", "飼" }, { "饴", "飴" }, { "饵", "餌" }, { "饶", "饒" }, { "饷", "餉" }, { "饺", "餃" }, { "饼", "餅" }, { "饼干", "餅乾" }, { "饽", "餑" }, { "饿", "餓" }, { "馀", "餘" }, { "馁", "餒" }, { "馄", "餛" }, { "馄饨面", "餛飩麵" }, { "馅", "餡" }, { "馆", "館" }, { "馆谷", "館穀" }, { "馆里", "館裡" }, { "馈", "饋" }, { "馊", "餿" }, { "馋", "饞" }, { "馍", "饃" }, { "馏", "餾" }, { "馐", "饈" }, { "馑", "饉" }, { "馒", "饅" }, { "馔", "饌" }, { "首出电影", "首齣電影" }, { "首发", "首發" }, { "首只", "首隻" }, { "首当其冲", "首當其衝" }, { "香干", "香乾" }, { "马", "馬" }, { "马回岭", "馬迴嶺" }, { "马干", "馬乾" }, { "马德钟", "馬德鐘" }, { "马斯垂克期", "馬斯垂克期" }, { "马格里布", "馬格里布" }, { "驭", "馭" }, { "驮", "馱" }, { "驯", "馴" }, { "驰", "馳" }, { "驱", "驅" }, { "驳", "駁" }, { "驴", "驢" }, { "驵", "駔" }, { "驶", "駛" }, { "驷", "駟" }, { "驸", "駙" }, { "驹", "駒" }, { "驺", "騶" }, { "驻", "駐" }, { "驻扎", "駐紮" }, { "驼", "駝" }, { "驽", "駑" }, { "驾", "駕" }, { "驿", "驛" }, { "骀", "駘" }, { "骀荡", "駘蕩" }, { "骁", "驍" }, { "骂", "罵" }, { "骄", "驕" }, { "骅", "驊" }, { "骆", "駱" }, { "骇", "駭" }, { "骈", "駢" }, { "骊", "驪" }, { "骋", "騁" }, { "验", "驗" }, { "骏", "駿" }, { "骐", "騏" }, { "骑", "騎" }, { "骒", "騍" }, { "骓", "騅" }, { "骖", "驂" }, { "骗", "騙" }, { "骘", "騭" }, { "骚", "騷" }, { "骛", "騖" }, { "骜", "驁" }, { "骝", "騮" }, { "骞", "騫" }, { "骟", "騸" }, { "骠", "驃" }, { "骡", "騾" }, { "骢", "驄" }, { "骣", "驏" }, { "骤", "驟" }, { "骥", "驥" }, { "骧", "驤" }, { "骨坛", "骨罈" }, { "骨干", "骨幹" }, { "骨灰坛", "骨灰罈" }, { "髅", "髏" }, { "髋", "髖" }, { "髌", "髕" }, { "高干", "高幹" }, { "高干扰", "高干擾" }, { "高干预", "高干預" }, { "髡发", "髡髮" }, { "髭胡", "髭鬍" }, { "髭须", "髭鬚" }, { "髯胡", "髯鬍" }, { "髼松", "髼鬆" }, { "鬅松", "鬅鬆" }, { "鬈发", "鬈髮" }, { "鬒发", "鬒髮" }, { "鬓", "鬢" }, { "鬓发", "鬢髮" }, { "鬼气冲天", "鬼氣衝天" }, { "魂牵梦系", "魂牽夢繫" }, { "魇", "魘" }, { "魉", "魎" }, { "魏征", "魏徵" }, { "魔表", "魔錶" }, { "鱼", "魚" }, { "鱼干", "魚乾" }, { "鱼松", "魚鬆" }, { "鱿", "魷" }, { "鲁", "魯" }, { "鲂", "魴" }, { "鲆", "鮃" }, { "鲇", "鯰" }, { "鲈", "鱸" }, { "鲋", "鮒" }, { "鲍", "鮑" }, { "鲎", "鱟" }, { "鲐", "鮐" }, { "鲑", "鮭" }, { "鲒", "鮚" }, { "鲔", "鮪" }, { "鲕", "鮞" }, { "鲚", "鱭" }, { "鲛", "鮫" }, { "鲜", "鮮" }, { "鲜于", "鮮于" }, { "鲞", "鯗" }, { "鲟", "鱘" }, { "鲠", "鯁" }, { "鲡", "鱺" }, { "鲢", "鰱" }, { "鲣", "鰹" }, { "鲤", "鯉" }, { "鲥", "鰣" }, { "鲦", "鰷" }, { "鲧", "鯀" }, { "鲨", "鯊" }, { "鲩", "鯇" }, { "鲫", "鯽" }, { "鲭", "鯖" }, { "鲮", "鯪" }, { "鲰", "鯫" }, { "鲱", "鯡" }, { "鲲", "鯤" }, { "鲳", "鯧" }, { "鲵", "鯢" }, { "鲶", "鯰" }, { "鲷", "鯛" }, { "鲸", "鯨" }, { "鲸须", "鯨鬚" }, { "鲻", "鯔" }, { "鲽", "鰈" }, { "鳃", "鰓" }, { "鳄", "鱷" }, { "鳅", "鰍" }, { "鳆", "鰒" }, { "鳇", "鰉" }, { "鳌", "鰲" }, { "鳍", "鰭" }, { "鳎", "鰨" }, { "鳏", "鰥" }, { "鳐", "鰩" }, { "鳓", "鰳" }, { "鳔", "鰾" }, { "鳕", "鱈" }, { "鳖", "鱉" }, { "鳗", "鰻" }, { "鳜", "鱖" }, { "鳝", "鱔" }, { "鳞", "鱗" }, { "鳟", "鱒" }, { "鳢", "鱧" }, { "鸟", "鳥" }, { "鸟栖", "鳥栖" }, { "鸠", "鳩" }, { "鸡", "雞" }, { "鸡丝", "雞絲" }, { "鸡丝面", "雞絲麵" }, { "鸡争鹅斗", "雞爭鵝鬥" }, { "鸡只", "雞隻" }, { "鸡吵鹅斗", "雞吵鵝鬥" }, { "鸡奸", "雞姦" }, { "鸡腿面", "雞腿麵" }, { "鸡蛋里挑骨头", "雞蛋裡挑骨頭" }, { "鸢", "鳶" }, { "鸣", "鳴" }, { "鸣钟", "鳴鐘" }, { "鸥", "鷗" }, { "鸦", "鴉" }, { "鸨", "鴇" }, { "鸩", "鴆" }, { "鸪", "鴣" }, { "鸫", "鶇" }, { "鸬", "鸕" }, { "鸭", "鴨" }, { "鸯", "鴦" }, { "鸱", "鴟" }, { "鸲", "鴝" }, { "鸳", "鴛" }, { "鸵", "鴕" }, { "鸶", "鷥" }, { "鸷", "鷙" }, { "鸸", "鴯" }, { "鸹", "鴰" }, { "鸺", "鵂" }, { "鸽", "鴿" }, { "鸾", "鸞" }, { "鸾鉴", "鸞鑑" }, { "鸿", "鴻" }, { "鸿范", "鴻範" }, { "鹁", "鵓" }, { "鹂", "鸝" }, { "鹃", "鵑" }, { "鹄", "鵠" }, { "鹄发", "鵠髮" }, { "鹅", "鵝" }, { "鹅准", "鵝準" }, { "鹆", "鵒" }, { "鹇", "鷳" }, { "鹈", "鵜" }, { "鹉", "鵡" }, { "鹊", "鵲" }, { "鹌", "鵪" }, { "鹎", "鵯" }, { "鹏", "鵬" }, { "鹑", "鶉" }, { "鹕", "鶘" }, { "鹗", "鶚" }, { "鹘", "鶻" }, { "鹚", "鶿" }, { "鹜", "鶩" }, { "鹞", "鷂" }, { "鹣", "鶼" }, { "鹤", "鶴" }, { "鹤发", "鶴髮" }, { "鹤吊", "鶴弔" }, { "鹤峰县", "鶴峯縣" }, { "鹦", "鸚" }, { "鹧", "鷓" }, { "鹨", "鷚" }, { "鹩", "鷯" }, { "鹪", "鷦" }, { "鹫", "鷲" }, { "鹬", "鷸" }, { "鹭", "鷺" }, { "鹰", "鷹" }, { "鹰雕", "鹰鵰" }, { "鹳", "鸛" }, { "鹾", "鹺" }, { "麟游", "麟遊" }, { "麦", "麥" }, { "麦面", "麥麵" }, { "麸", "麩" }, { "麹", "麴" }, { "麹霉", "麴黴" }, { "麻将席", "麻將蓆" }, { "麻酱面", "麻醬麵" }, { "黄", "黃" }, { "黄历", "黃曆" }, { "黄历史", "黃歷史" }, { "黄发", "黃髮" }, { "黄岩区", "黃巖區" }, { "黄岩县", "黃巖縣" }, { "黄干黑瘦", "黃乾黑瘦" }, { "黄曲毒素", "黃麴毒素" }, { "黄杰", "黃杰" }, { "黄白术", "黃白術" }, { "黄金表", "黃金表" }, { "黄钟", "黃鐘" }, { "黄钰筑", "黃鈺筑" }, { "黉", "黌" }, { "黑发", "黑髮" }, { "黑奴吁天录", "黑奴籲天錄" }, { "黑干将", "黑幹將" }, { "黑长发", "黑長髮" }, { "黩", "黷" }, { "黪", "黲" }, { "黾", "黽" }, { "鼋", "黿" }, { "鼍", "鼉" }, { "鼓噪", "鼓譟" }, { "鼓里", "鼓裡" }, { "鼗", "鞀" }, { "鼠曲草", "鼠麴草" }, { "鼹", "鼴" }, { "鼻准", "鼻準" }, { "齐", "齊" }, { "齐王舍牛", "齊王捨牛" }, { "齑", "齏" }, { "齿", "齒" }, { "齿危发秀", "齒危髮秀" }, { "齿落发白", "齒落髮白" }, { "龀", "齔" }, { "龃", "齟" }, { "龄", "齡" }, { "龅", "齙" }, { "龆", "齠" }, { "龇", "齜" }, { "龈", "齦" }, { "龉", "齬" }, { "龊", "齪" }, { "龋", "齲" }, { "龌", "齷" }, { "龙", "龍" }, { "龙卷", "龍捲" }, { "龙岩", "龍巖" }, { "龙斗虎伤", "龍鬥虎傷" }, { "龙眼干", "龍眼乾" }, { "龙须", "龍鬚" }, { "龙须面", "龍鬚麵" }, { "龚", "龔" }, { "龛", "龕" }, { "龟", "龜" }, { "龟鉴", "龜鑑" }, }; #define SIMP_TO_TRAD_MAX_LEN (6) ibus-libpinyin-1.16.1/src/PYPSuggestionCandidates.h0000664000175000017500000000245713672072346015702 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2018 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_LIB_PINYIN_SUGGESTION_CANDIDATES_H_ #define __PY_LIB_PINYIN_SUGGESTION_CANDIDATES_H_ #include "PYPEnhancedCandidates.h" namespace PY { class SuggestionEditor; class SuggestionCandidates : public EnhancedCandidates { public: SuggestionCandidates (SuggestionEditor *editor) { m_editor = editor; } public: gboolean processCandidates (std::vector & candidates); int selectCandidate (EnhancedCandidate & enhanced); }; }; #endif ibus-libpinyin-1.16.1/src/PYEngine.cc0000664000175000017500000003105113672072346013006 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "PYEngine.h" #include #include "PYPPinyinEngine.h" #include "PYPBopomofoEngine.h" namespace PY { /* code of engine class of GObject */ #define IBUS_PINYIN_ENGINE(obj) \ (G_TYPE_CHECK_INSTANCE_CAST ((obj), IBUS_TYPE_PINYIN_ENGINE, IBusPinyinEngine)) #define IBUS_PINYIN_ENGINE_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), IBUS_TYPE_PINYIN_ENGINE, IBusPinyinEngineClass)) #define IBUS_IS_PINYIN_ENGINE(obj) \ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), IBUS_TYPE_PINYIN_ENGINE)) #define IBUS_IS_PINYIN_ENGINE_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), IBUS_TYPE_PINYIN_ENGINE)) #define IBUS_PINYIN_ENGINE_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), IBUS_TYPE_PINYIN_ENGINE, IBusPinyinEngineClass)) typedef struct _IBusPinyinEngine IBusPinyinEngine; typedef struct _IBusPinyinEngineClass IBusPinyinEngineClass; struct _IBusPinyinEngine { IBusEngine parent; /* members */ Engine *engine; }; struct _IBusPinyinEngineClass { IBusEngineClass parent; }; /* functions prototype */ static void ibus_pinyin_engine_class_init (IBusPinyinEngineClass *klass); static void ibus_pinyin_engine_init (IBusPinyinEngine *pinyin); static GObject* ibus_pinyin_engine_constructor (GType type, guint n_construct_params, GObjectConstructParam *construct_params); static void ibus_pinyin_engine_destroy (IBusPinyinEngine *pinyin); static gboolean ibus_pinyin_engine_process_key_event (IBusEngine *engine, guint keyval, guint keycode, guint modifiers); static void ibus_pinyin_engine_focus_in (IBusEngine *engine); static void ibus_pinyin_engine_focus_out (IBusEngine *engine); #if IBUS_CHECK_VERSION (1, 5, 4) static void ibus_pinyin_engine_set_content_type (IBusEngine *engine, guint purpose, guint hints); #endif static void ibus_pinyin_engine_reset (IBusEngine *engine); static void ibus_pinyin_engine_enable (IBusEngine *engine); static void ibus_pinyin_engine_disable (IBusEngine *engine); #if 0 static void ibus_engine_set_cursor_location (IBusEngine *engine, gint x, gint y, gint w, gint h); static void ibus_pinyin_engine_set_capabilities (IBusEngine *engine, guint caps); #endif static void ibus_pinyin_engine_page_up (IBusEngine *engine); static void ibus_pinyin_engine_page_down (IBusEngine *engine); static void ibus_pinyin_engine_cursor_up (IBusEngine *engine); static void ibus_pinyin_engine_cursor_down (IBusEngine *engine); static void ibus_pinyin_engine_property_activate (IBusEngine *engine, const gchar *prop_name, guint prop_state); static void ibus_pinyin_engine_candidate_clicked (IBusEngine *engine, guint index, guint button, guint state); #if 0 static void ibus_pinyin_engine_property_show (IBusEngine *engine, const gchar *prop_name); static void ibus_pinyin_engine_property_hide (IBusEngine *engine, const gchar *prop_name); #endif G_DEFINE_TYPE (IBusPinyinEngine, ibus_pinyin_engine, IBUS_TYPE_ENGINE) static void ibus_pinyin_engine_class_init (IBusPinyinEngineClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); IBusObjectClass *ibus_object_class = IBUS_OBJECT_CLASS (klass); IBusEngineClass *engine_class = IBUS_ENGINE_CLASS (klass); object_class->constructor = ibus_pinyin_engine_constructor; ibus_object_class->destroy = (IBusObjectDestroyFunc) ibus_pinyin_engine_destroy; engine_class->process_key_event = ibus_pinyin_engine_process_key_event; engine_class->reset = ibus_pinyin_engine_reset; engine_class->enable = ibus_pinyin_engine_enable; engine_class->disable = ibus_pinyin_engine_disable; engine_class->focus_in = ibus_pinyin_engine_focus_in; engine_class->focus_out = ibus_pinyin_engine_focus_out; #if IBUS_CHECK_VERSION (1, 5, 4) engine_class->set_content_type = ibus_pinyin_engine_set_content_type; #endif engine_class->page_up = ibus_pinyin_engine_page_up; engine_class->page_down = ibus_pinyin_engine_page_down; engine_class->cursor_up = ibus_pinyin_engine_cursor_up; engine_class->cursor_down = ibus_pinyin_engine_cursor_down; engine_class->property_activate = ibus_pinyin_engine_property_activate; engine_class->candidate_clicked = ibus_pinyin_engine_candidate_clicked; } static void ibus_pinyin_engine_init (IBusPinyinEngine *pinyin) { if (g_object_is_floating (pinyin)) g_object_ref_sink (pinyin); // make engine sink } static GObject* ibus_pinyin_engine_constructor (GType type, guint n_construct_params, GObjectConstructParam *construct_params) { IBusPinyinEngine *engine; const gchar *name; engine = (IBusPinyinEngine *) G_OBJECT_CLASS (ibus_pinyin_engine_parent_class)->constructor ( type, n_construct_params, construct_params); name = ibus_engine_get_name ((IBusEngine *) engine); if (name) { if (std::strcmp (name, "libpinyin") == 0 || std::strcmp (name, "libpinyin-debug") == 0) { engine->engine = new PinyinEngine (IBUS_ENGINE (engine)); } if (std::strcmp (name, "libbopomofo") == 0 || std::strcmp (name, "libbopomofo-debug") == 0 ) { engine->engine = new BopomofoEngine (IBUS_ENGINE (engine)); } } else { engine->engine = new PinyinEngine (IBUS_ENGINE (engine)); } return (GObject *) engine; } static void ibus_pinyin_engine_destroy (IBusPinyinEngine *pinyin) { delete pinyin->engine; ((IBusObjectClass *) ibus_pinyin_engine_parent_class)->destroy ((IBusObject *)pinyin); } static gboolean ibus_pinyin_engine_process_key_event (IBusEngine *engine, guint keyval, guint keycode, guint modifiers) { IBusPinyinEngine *pinyin = (IBusPinyinEngine *) engine; return pinyin->engine->processKeyEvent (keyval, keycode, modifiers); } #if IBUS_CHECK_VERSION (1, 5, 4) static void ibus_pinyin_engine_set_content_type (IBusEngine *engine, guint purpose, guint hints) { IBusPinyinEngine *pinyin = (IBusPinyinEngine *) engine; return pinyin->engine->setContentType (purpose, hints); } #endif static void ibus_pinyin_engine_property_activate (IBusEngine *engine, const gchar *prop_name, guint prop_state) { IBusPinyinEngine *pinyin = (IBusPinyinEngine *) engine; pinyin->engine->propertyActivate (prop_name, prop_state); } static void ibus_pinyin_engine_candidate_clicked (IBusEngine *engine, guint index, guint button, guint state) { IBusPinyinEngine *pinyin = (IBusPinyinEngine *) engine; pinyin->engine->candidateClicked (index, button, state); } #define FUNCTION(name, Name) \ static void \ ibus_pinyin_engine_##name (IBusEngine *engine) \ { \ IBusPinyinEngine *pinyin = (IBusPinyinEngine *) engine; \ pinyin->engine->Name (); \ ((IBusEngineClass *) ibus_pinyin_engine_parent_class) \ ->name (engine); \ } FUNCTION(focus_in, focusIn) FUNCTION(focus_out, focusOut) FUNCTION(reset, reset) FUNCTION(enable, enable) FUNCTION(disable, disable) FUNCTION(page_up, pageUp) FUNCTION(page_down, pageDown) FUNCTION(cursor_up, cursorUp) FUNCTION(cursor_down, cursorDown) #undef FUNCTION Engine::Engine (IBusEngine *engine) : m_engine (engine) { #if IBUS_CHECK_VERSION (1, 5, 4) m_input_purpose = IBUS_INPUT_PURPOSE_FREE_FORM; #endif } gboolean Engine::contentIsPassword() { #if IBUS_CHECK_VERSION (1, 5, 4) return IBUS_INPUT_PURPOSE_PASSWORD == m_input_purpose; #else return FALSE; #endif } void Engine::focusOut (void) { #if IBUS_CHECK_VERSION (1, 5, 4) m_input_purpose = IBUS_INPUT_PURPOSE_FREE_FORM; #endif } #if IBUS_CHECK_VERSION(1, 5, 4) void Engine::setContentType (guint purpose, guint hints) { m_input_purpose = (IBusInputPurpose) purpose; } #endif Engine::~Engine (void) { } gboolean pinyin_accelerator_name(guint keyval, guint modifiers, std::string & name) { name = ""; /* Convert some key press to modifiers. */ switch (keyval) { case IBUS_KEY_Control_L: case IBUS_KEY_Control_R: modifiers |= IBUS_CONTROL_MASK; keyval = 0; break; case IBUS_KEY_Alt_L: case IBUS_KEY_Alt_R: modifiers |= IBUS_MOD1_MASK; keyval = 0; break; case IBUS_KEY_Shift_L: case IBUS_KEY_Shift_R: modifiers |= IBUS_SHIFT_MASK; keyval = 0; break; case IBUS_KEY_Meta_L: case IBUS_KEY_Meta_R: modifiers |= IBUS_META_MASK; keyval = 0; break; case IBUS_KEY_Super_L: case IBUS_KEY_Super_R: modifiers |= IBUS_SUPER_MASK; keyval = 0; break; case IBUS_KEY_Hyper_L: case IBUS_KEY_Hyper_R: modifiers |= IBUS_HYPER_MASK; keyval = 0; break; } /* Convert modifiers. */ if (modifiers & IBUS_CONTROL_MASK) name += ""; if (modifiers & IBUS_MOD1_MASK) name += ""; if (modifiers & IBUS_SHIFT_MASK) name += ""; if (modifiers & IBUS_META_MASK) name += ""; if (modifiers & IBUS_SUPER_MASK) name += ""; if (modifiers & IBUS_HYPER_MASK) name += ""; /* Convert keyval. */ if (keyval) { const gchar * symbol = ibus_keyval_name (ibus_keyval_to_lower (keyval)); name += symbol; } return TRUE; } }; ibus-libpinyin-1.16.1/src/PYPEmojiTable.h0000664000175000017500000022372013672364465013612 /* This file is generated by python scripts. Don't edit this file directly. */ #ifndef __PY_LIB_PINYIN_EMOJI_TABLE_H #define __PY_LIB_PINYIN_EMOJI_TABLE_H namespace PY{ typedef struct { const char * m_emoji_match; const char * m_emoji_string; } EmojiItem; const EmojiItem english_emoji_table[] = { "a" , "🅰", "ab" , "🆎", "abacus" , "🧮", "abc" , "🔤", "abcd" , "🔡", "access" , "♿", "actor" , "🧑‍🎤", "adore" , "🥰", "adult" , "🧑", "aerial" , "🚡", "afro" , "🦱", "aid" , "⛑", "alarm" , "⏰", "alien" , "👽", "alpaca" , "🦙", "amoeba" , "🦠", "anchor" , "⚓", "angel" , "😇", "angry" , "😡", "ant" , "🐜", "ape" , "🦧", "apple" , "🍎", "archer" , "🏹", "arctic" , "🐻‍❄", "arepa" , "🫓", "army" , "🪖", "arrow" , "💘", "art" , "🎭", "artist" , "🧑‍🎨", "ashes" , "⚱", "ask" , "🙏", "atm" , "🏧", "atom" , "⚛", "autumn" , "🥮", "axe" , "🪓", "b" , "🅱", "baby" , "👶", "back" , "🔙", "bacon" , "🥓", "badge" , "📛", "badger" , "🦡", "bag" , "👜", "bagel" , "🥯", "bait" , "🪤", "bakery" , "🥯", "bald" , "🦲", "ball" , "🏌", "ballet" , "🩰", "ballot" , "🗳", "bamboo" , "🎍", "banana" , "🍌", "banjo" , "🪕", "bank" , "🏦", "banner" , "🎋", "bar" , "🍫", "barber" , "💇", "basket" , "🧺", "bat" , "🦇", "bath" , "🛀", "beach" , "🏖", "beacon" , "🚨", "bead" , "🧿", "beads" , "📿", "bear" , "🐻", "beard" , "🧔", "bearer" , "🐍", "beat" , "🪘", "beauty" , "💇", "beaver" , "🦫", "bed" , "🛏", "bee" , "🐝", "beer" , "🍺", "beetle" , "🪲", "bell" , "🛎", "bento" , "🍱", "berry" , "🫐", "biceps" , "💪", "bike" , "🚵", "biking" , "🚴", "bikini" , "👙", "bill" , "💴", "bird" , "🪶", "birdie" , "🏸", "bison" , "🦬", "bisque" , "🦞", "black" , "🖤", "bleed" , "🩸", "blind" , "🧑‍🦯", "blond" , "👱", "blonde" , "👱‍♀", "blow" , "🍃", "blue" , "🫐", "blush" , "😊", "boar" , "🐗", "board" , "🛹", "boat" , "🚣", "body" , "👂", "bolt" , "🔩", "bomb" , "💣", "bone" , "🦴", "book" , "📔", "books" , "📚", "boom" , "💥", "boot" , "🥾", "bored" , "🥱", "boring" , "🪴", "bottle" , "🍼", "bow" , "🙇", "bowing" , "🙇‍♂", "bowl" , "🍜", "box" , "🍱", "boxing" , "🥊", "boy" , "👦", "brain" , "🧠", "bread" , "🍞", "break" , "💔", "breast" , "🤱", "breath" , "🫁", "brick" , "🧱", "bricks" , "🧱", "bride" , "👰", "bridge" , "🌉", "briefs" , "🩲", "bright" , "😎", "broken" , "💔", "bronze" , "🥉", "broom" , "🧹", "brown" , "🤎", "brush" , "🪥", "bubble" , "🧋", "bucket" , "🪣", "bug" , "🪲", "bulb" , "💡", "bull" , "🐂", "bullet" , "🚅", "bunny" , "🐰", "burger" , "🍔", "bus" , "🚌", "bust" , "👤", "butter" , "🧈", "button" , "🔼", "c" , "©", "cable" , "🚠", "cactus" , "🌵", "cake" , "🍥", "call" , "🤙", "camel" , "🐪", "camera" , "🤳", "can" , "🥫", "cancel" , "✖", "candle" , "🕯", "candy" , "🍬", "canoe" , "🛶", "cap" , "👲", "car" , "🚃", "card" , "♠", "care" , "💅", "carp" , "🎏", "carrot" , "🥕", "cart" , "🛒", "cask" , "🪣", "castle" , "🏯", "cat" , "😺", "catch" , "🪝", "cd" , "💿", "cell" , "📱", "cereal" , "🥣", "chain" , "⛓", "chains" , "⛓", "chair" , "💺", "chapel" , "💒", "charm" , "🧿", "chart" , "💹", "check" , "✅", "cheese" , "🫕", "chef" , "🧑‍🍳", "cherry" , "🌸", "chess" , "♟", "chest" , "🧰", "chick" , "🐣", "child" , "🧒", "chime" , "🎐", "chop" , "🥩", "church" , "⛪", "cinema" , "🎥", "circle" , "⏺", "circus" , "🎪", "citrus" , "🍋", "city" , "🏙", "cl" , "🆑", "claim" , "🛄", "clamp" , "🗜", "clap" , "👏", "claus" , "🎅", "claws" , "🦞", "clay" , "🧱", "clean" , "🪥", "climb" , "🪜", "clink" , "🍻", "clock" , "⌚", "closed" , "😚", "closet" , "🚾", "cloud" , "☁", "clover" , "🍀", "clown" , "🤡", "clue" , "🧩", "coat" , "🧥", "coder" , "🧑‍💻", "coffee" , "☕", "coffin" , "⚰", "cog" , "⚙", "coin" , "🪙", "cold" , "😅", "comet" , "☄", "comic" , "💢", "conga" , "🪘", "congee" , "🥣", "cook" , "🧑‍🍳", "cooked" , "🍚", "cookie" , "🍪", "cool" , "😎", "cop" , "👮", "cork" , "🍾", "corn" , "🌽", "couch" , "🛋", "couple" , "🧑‍🤝‍🧑", "cover" , "📔", "cow" , "🐮", "cowboy" , "🤠", "crab" , "🦀", "crayon" , "🖍", "cream" , "🍦", "credit" , "💳", "crook" , "🪝", "cross" , "🤞", "crown" , "👑", "crush" , "🥰", "cry" , "😢", "cup" , "🍵", "cupid" , "💘", "curl" , "📃", "curly" , "🦱", "curry" , "🍛", "curve" , "🪝", "cygnet" , "🦢", "dagger" , "🗡", "dairy" , "🧈", "dam" , "🦫", "dance" , "🕺", "dancer" , "👯", "danger" , "⚡", "dango" , "🍡", "dark" , "🌑", "dart" , "🎯", "dash" , "💨", "date" , "📅", "dazed" , "😳", "deaf" , "🧏", "death" , "💀", "deer" , "🦌", "demon" , "👿", "dental" , "🪥", "desert" , "🏜", "devil" , "👿", "dharma" , "☸", "dialog" , "💬", "diaper" , "🧷", "dice" , "🎲", "die" , "🎲", "diesel" , "⛽", "dim" , "🔅", "dish" , "📡", "disk" , "💽", "divide" , "➗", "diving" , "🦪", "diya" , "🪔", "dizzy" , "🥴", "djinn" , "🧞", "dna" , "🧬", "doctor" , "😷", "dodo" , "🦤", "dog" , "🐶", "doll" , "🪆", "dollar" , "💰", "donut" , "🍩", "door" , "🚪", "double" , "⏩", "doubt" , "🤷", "dove" , "🕊", "down" , "👇", "dragon" , "🐲", "dress" , "👗", "drink" , "🫖", "drop" , "☔", "drum" , "🪘", "duck" , "🦆", "dung" , "💩", "dupe" , "♟", "dusk" , "🌆", "dvd" , "📀", "eagle" , "🦅", "ear" , "👂", "earbud" , "🎧", "earth" , "🌍", "east" , "➡", "egg" , "🥚", "eight" , "🕗", "eject" , "⏏", "eleven" , "🕚", "elf" , "🧝", "email" , "✉", "emblem" , "🔱", "end" , "🔚", "engine" , "🚂", "entry" , "⛔", "euro" , "💶", "evil" , "🙈", "ewe" , "🐑", "eye" , "😄", "eyes" , "🤩", "face" , "🥸", "fairy" , "🧚", "family" , "👪", "farmer" , "🧑‍🌾", "fast" , "⏩", "father" , "🎅", "favor" , "🙇‍♂", "fax" , "📠", "fear" , "😨", "feet" , "🐾", "female" , "🐑", "fencer" , "🤺", "ferris" , "🎡", "ferry" , "⛴", "fever" , "🦟", "field" , "🏑", "file" , "📁", "filing" , "🗄", "film" , "🎞", "finger" , "🖐", "fire" , "🚒", "first" , "🥇", "fish" , "🐟", "fist" , "✊", "five" , "🕔", "flag" , "🏳‍⚧", "flame" , "🔥", "flash" , "📸", "flex" , "💪", "flight" , "🪶", "floor" , "🤣", "floppy" , "💾", "flower" , "💐", "fly" , "🪰", "fog" , "🌁", "foggy" , "🌁", "folder" , "📁", "fondue" , "🫕", "food" , "🫒", "foot" , "🦶", "fork" , "🍽", "four" , "🍀", "fox" , "🦊", "frame" , "🪟", "frames" , "🎞", "free" , "🆓", "french" , "🥐", "fried" , "🍤", "fries" , "🍟", "frog" , "🐸", "frown" , "🙁", "fruit" , "🍇", "frying" , "🍳", "fuel" , "⛽", "fuji" , "🗻", "full" , "💯", "game" , "🏐", "garden" , "🏡", "garlic" , "🧄", "gas" , "⛽", "gear" , "⚙", "geek" , "🤓", "gem" , "💎", "gene" , "🧬", "genie" , "🧞", "ghost" , "👻", "gift" , "🧧", "ginger" , "🦰", "girl" , "👧", "glass" , "🥛", "globe" , "🌍", "glove" , "🥎", "gloves" , "🧤", "glow" , "🌟", "goal" , "🥍", "goat" , "🐐", "goblin" , "👺", "gold" , "🪙", "golf" , "🏌", "good" , "🦸", "goofy" , "🤪", "grain" , "🌾", "grape" , "🍇", "grapes" , "🍇", "graph" , "💹", "grave" , "🪦", "gray" , "🦳", "green" , "💚", "grin" , "😀", "groom" , "🤵", "grow" , "🪴", "growth" , "💹", "guard" , "💂", "guide" , "🦮", "guitar" , "🎸", "gun" , "🔫", "gyro" , "🥙", "hair" , "👱", "halo" , "😇", "hammer" , "🔨", "hand" , "👋", "happy" , "🙋", "hashi" , "🥢", "hat" , "🤠", "head" , "🗣", "hear" , "🙉", "heart" , "🫀", "hearts" , "🥰", "heavy" , "🪨", "heel" , "👠", "hello" , "🫂", "helmet" , "🪖", "help" , "💁", "herb" , "🌿", "herd" , "🦬", "hero" , "🦸", "hidden" , "🥷", "hijab" , "🧕", "hike" , "🚶", "hiking" , "🥾", "hindu" , "🛕", "hippo" , "🦛", "hit" , "🎯", "hocho" , "🔪", "hockey" , "🏑", "hoist" , "🛗", "hold" , "🧑‍🤝‍🧑", "hole" , "🕳", "home" , "🏠", "honey" , "🍯", "hook" , "🪝", "hoop" , "🏀", "hooray" , "🙌", "horn" , "🥳", "horns" , "😈", "horse" , "🏇", "hot" , "🥵", "hotdog" , "🌭", "hotel" , "🛌", "house" , "🪴", "houses" , "🏘", "hug" , "🫂", "hump" , "🐪", "hurt" , "🤕", "hushed" , "😯", "hut" , "🛖", "i" , "ℹ", "ice" , "🍦", "id" , "🆔", "idea" , "💡", "ill" , "🤒", "imp" , "👿", "inbox" , "📥", "index" , "👈", "injury" , "🤕", "ink" , "🔏", "input" , "🔠", "insect" , "🪲", "inside" , "💠", "iron" , "🧇", "ironic" , "😼", "islam" , "🕌", "island" , "🏝", "jack" , "🎃", "jacket" , "🧥", "jeans" , "👖", "jewel" , "💎", "jiaozi" , "🥟", "jigsaw" , "🧩", "jockey" , "🏇", "joey" , "🦘", "joke" , "😜", "joker" , "🃏", "joy" , "😂", "judge" , "🧑‍⚖", "judo" , "🥋", "jug" , "🏺", "juggle" , "🤹", "juice" , "🥤", "jump" , "🦘", "kaaba" , "🕋", "kale" , "🥬", "karate" , "🥋", "kebab" , "🥙", "key" , "🔐", "kick" , "🦵", "kimono" , "👘", "king" , "👑", "kiss" , "😘", "kite" , "🪁", "kiwi" , "🥝", "kneel" , "🧎", "knife" , "🍽", "knit" , "🧶", "knobs" , "🎛", "knot" , "🪢", "koala" , "🐨", "lab" , "🧪", "label" , "🏷", "ladder" , "🪜", "lamp" , "🪔", "laptop" , "💻", "large" , "🦣", "lather" , "🧼", "latin" , "🔠", "laugh" , "😆", "lavash" , "🫓", "lazy" , "🦥", "leaf" , "🌿", "ledger" , "📒", "left" , "◀", "leg" , "🦵", "lemon" , "🍋", "letter" , "💌", "level" , "🎚", "lie" , "🤥", "life" , "🧬", "lift" , "🛗", "lifter" , "🏋", "light" , "🪶", "limb" , "🦵", "link" , "🖇", "lion" , "🦁", "lips" , "💋", "liquor" , "🥃", "litter" , "🚮", "lizard" , "🦎", "llama" , "🦙", "loaf" , "🍞", "lock" , "🔓", "locked" , "🔒", "locker" , "🛅", "log" , "🪵", "loop" , "➰", "lorry" , "🚛", "lotion" , "🧴", "loud" , "🔊", "love" , "😍", "low" , "🔅", "luck" , "🤞", "lumber" , "🪚", "lungs" , "🫁", "m" , "Ⓜ", "mad" , "😡", "mage" , "🧙", "maggot" , "🪰", "magic" , "🪄", "magnet" , "🧲", "mail" , "💌", "maize" , "🌽", "makeup" , "💄", "male" , "🐏", "man" , "👨", "mango" , "🥭", "map" , "🗺", "maple" , "🍁", "mark" , "❣", "marker" , "📑", "mask" , "😷", "mate" , "🧉", "math" , "➕", "maze" , "🌽", "meat" , "🍖", "medal" , "🎖", "medium" , "🔉", "meh" , "😐", "melon" , "🍈", "melted" , "🫕", "memo" , "📝", "men" , "👯‍♂", "mercy" , "🥺", "merman" , "🧜", "metal" , "🪙", "metro" , "🚇", "mic" , "🎙", "milk" , "🧋", "mining" , "⛏", "minus" , "➖", "mirror" , "🪞", "moai" , "🗿", "mobile" , "📱", "mode" , "📳", "molusc" , "🦑", "money" , "🪙", "monkey" , "🙈", "moon" , "🌑", "mortar" , "🧱", "mosque" , "🕌", "mother" , "🤶", "motor" , "🛵", "mouse" , "🐭", "mouth" , "😃", "movie" , "🎥", "moyai" , "🗿", "mug" , "🍺", "munch" , "😱", "muscle" , "💪", "museum" , "🖼", "music" , "🎼", "mute" , "🔇", "naan" , "🫓", "nail" , "💅", "name" , "📛", "nazar" , "🧿", "neck" , "🧣", "needle" , "🪡", "nerd" , "🤓", "net" , "🥅", "new" , "🆕", "news" , "📰", "ng" , "🆖", "nib" , "✒", "night" , "🌃", "nine" , "🕘", "ninja" , "🥷", "no" , "⛔", "noodle" , "🍜", "north" , "⬆", "nose" , "🥸", "not" , "⛔", "note" , "🎵", "notes" , "🎶", "nurse" , "🧑‍⚕", "nut" , "🥜", "o" , "⭕", "ocean" , "🌊", "oden" , "🍢", "off" , "📴", "ogre" , "👹", "oh" , "🙀", "oil" , "🛢", "old" , "🧓", "olive" , "🫒", "om" , "🕉", "on" , "🔛", "once" , "🔂", "one" , "🕐", "onion" , "🧅", "open" , "😃", "orange" , "🧡", "organ" , "🫀", "otter" , "🦦", "outbox" , "📤", "owl" , "🦉", "ox" , "🐂", "oyster" , "🦪", "pad" , "🗒", "paddle" , "🏓", "paella" , "🥘", "page" , "📃", "pager" , "📟", "pail" , "🪣", "palm" , "🤦", "pan" , "🍳", "panda" , "🐼", "pants" , "👖", "paper" , "📜", "parcel" , "📦", "park" , "🏞", "parlor" , "💇", "parrot" , "🦜", "part" , "〽", "party" , "🪅", "pasta" , "🍝", "pastry" , "🍥", "patrol" , "🚓", "pause" , "⏯", "paw" , "🐾", "pc" , "💻", "peace" , "🕊", "peach" , "🍑", "peahen" , "🦚", "peanut" , "🥜", "pear" , "🍐", "pearl" , "🧋", "pen" , "✒", "pencil" , "✏", "pepper" , "🫑", "person" , "🧑", "pest" , "🪰", "pester" , "🦡", "pet" , "🐶", "phone" , "🤳", "piano" , "🎹", "pick" , "⛏", "picket" , "🪧", "pickle" , "🥒", "pickup" , "🛻", "picnic" , "🧺", "pie" , "🥧", "piece" , "🧩", "pig" , "🐷", "pill" , "💊", "pilot" , "🧑‍✈", "pin" , "📌", "pine" , "🎍", "pink" , "🏳‍⚧", "pirate" , "🦜", "pistol" , "🔫", "pita" , "🫓", "pizza" , "🍕", "plane" , "🧑‍✈", "plant" , "🪴", "plate" , "🍽", "play" , "▶", "please" , "🙏", "plug" , "🔌", "plus" , "➕", "plush" , "🧸", "point" , "👈", "pole" , "💈", "police" , "👮", "polish" , "💅", "polo" , "🤽", "poo" , "💩", "poodle" , "🐩", "poop" , "💩", "popper" , "🎉", "porous" , "🧽", "post" , "🏣", "postal" , "📯", "pot" , "🫕", "potato" , "🥔", "pouch" , "👝", "pound" , "💷", "prawn" , "🍤", "pray" , "🙏", "prayer" , "🤲", "pretty" , "🦋", "pride" , "🏳‍🌈", "prince" , "🤴", "print" , "👣", "prize" , "🏆", "proof" , "🧾", "proud" , "🥲", "puck" , "🏒", "pulse" , "🫀", "pump" , "⛽", "punch" , "✊", "purple" , "💜", "purse" , "👛", "puzzle" , "🧩", "queen" , "👑", "quench" , "🧯", "quiet" , "🤫", "r" , "®", "rabbit" , "🐰", "racing" , "🏃‍♂", "radio" , "📻", "rage" , "😡", "rain" , "⛈", "raised" , "🤚", "ram" , "🐏", "ramen" , "🍜", "rat" , "🐀", "rays" , "☀", "razor" , "🪒", "record" , "⏺", "red" , "😡", "reload" , "🔃", "repeat" , "🔁", "resort" , "⛵", "rewind" , "⏪", "rhythm" , "🪘", "ribbon" , "💝", "rice" , "🌾", "right" , "▶", "ring" , "💍", "roach" , "🪳", "road" , "🛣", "robot" , "🤖", "rock" , "🪨", "rocket" , "🧑‍🚀", "roll" , "🥐", "rolled" , "🗞", "roller" , "🛼", "rope" , "🪢", "rose" , "🌹", "rugby" , "🏉", "ruler" , "📏", "rung" , "🪜", "rushed" , "😰", "russia" , "🪆", "sad" , "😢", "safety" , "🦺", "sake" , "🍶", "salad" , "🥗", "salon" , "💆", "salt" , "🧂", "sand" , "⌛", "sandal" , "👡", "santa" , "🎅", "sari" , "🥻", "sash" , "🎽", "sassy" , "💁", "saturn" , "🪐", "sauna" , "🧖", "saw" , "🪚", "sax" , "🎷", "scale" , "⚖", "scales" , "🧑‍⚖", "scared" , "😨", "scarf" , "🧣", "school" , "🏫", "score" , "💯", "scream" , "😱", "screw" , "🪛", "scroll" , "📜", "scuba" , "🤿", "sea" , "⛵", "seal" , "🦭", "search" , "🔍", "seat" , "💺", "second" , "🥈", "secure" , "🔐", "see" , "🙈", "selfie" , "🤳", "semi" , "🚛", "sent" , "📤", "set" , "📐", "seven" , "🕖", "sewing" , "🪡", "shake" , "🤝", "shaker" , "🧂", "shark" , "🦈", "sharp" , "🪒", "shave" , "🪒", "shaved" , "🍧", "shaven" , "🦲", "sheep" , "🐏", "shell" , "🐚", "shield" , "🛡", "shinto" , "⛩", "ship" , "⚓", "shirt" , "🎽", "shoe" , "👞", "shorts" , "🩳", "shot" , "🥃", "shower" , "🚿", "shrimp" , "🍤", "shrine" , "⛩", "shrug" , "🤷", "shush" , "🤫", "sick" , "😷", "sign" , "🪧", "signal" , "🚥", "silent" , "😶", "silver" , "🪙", "singer" , "🧑‍🎤", "sit" , "🪑", "six" , "🕕", "skate" , "🛼", "skewer" , "🍢", "ski" , "⛷", "skier" , "⛷", "skill" , "🤹", "skis" , "🎿", "skull" , "💀", "skunk" , "🦨", "sled" , "🛷", "sledge" , "🛷", "sleep" , "😪", "sleigh" , "🛷", "sleuth" , "🕵", "slice" , "🍕", "slider" , "🎚", "slot" , "🎰", "sloth" , "🦥", "slow" , "🦥", "sly" , "🦝", "small" , "🤪", "smile" , "😃", "smirk" , "😏", "snail" , "🐌", "snake" , "🐍", "snare" , "🪤", "sneeze" , "🤧", "snow" , "⛷", "soap" , "🧼", "soar" , "🪁", "sob" , "😭", "soccer" , "⚽", "socks" , "🧦", "soda" , "🥤", "soft" , "🍦", "solid" , "🪨", "soon" , "🔜", "sorry" , "🙇", "sos" , "🆘", "south" , "⬇", "sow" , "🐖", "space" , "🛰", "speak" , "🙊", "speech" , "💬", "speed" , "🚄", "spider" , "🕷", "spiny" , "🦔", "spiral" , "🐚", "split" , "🪓", "spock" , "🖖", "sponge" , "🧽", "spool" , "🧵", "spoon" , "🥄", "spots" , "🦒", "spy" , "🕵", "square" , "⏹", "squid" , "🦑", "staff" , "⚕", "stand" , "🧍", "star" , "🤩", "statue" , "🗽", "steak" , "🥩", "steam" , "🚂", "step" , "🪜", "stew" , "🍲", "stick" , "🍢", "stink" , "🦨", "stomp" , "🦶", "stone" , "🪨", "stop" , "🚏", "store" , "🏪", "straw" , "🧃", "string" , "🧵", "stripe" , "🦓", "studio" , "🎙", "stuffy" , "🧐", "subway" , "🚇", "suit" , "🕴", "sun" , "😎", "sunny" , "☀", "sunset" , "🌆", "sushi" , "🍣", "swan" , "🦢", "sweat" , "😅", "sweet" , "🍠", "swim" , "🏊", "swirl" , "🍥", "sword" , "🤺", "swords" , "⚔", "tabs" , "📑", "taco" , "🌮", "tada" , "🎉", "talk" , "🦜", "tamale" , "🫔", "tao" , "☯", "taoist" , "☯", "tape" , "📼", "target" , "🎯", "taste" , "😝", "taxi" , "🚕", "tea" , "🧋", "teacup" , "🍵", "teapot" , "🫖", "tear" , "🥲", "teeth" , "🪥", "teller" , "🏧", "temple" , "🛕", "ten" , "🕙", "tennis" , "🎾", "tent" , "⛺", "thanks" , "🫂", "third" , "🥉", "thirty" , "🕧", "thongs" , "🩴", "thread" , "🧵", "three" , "🕒", "thumb" , "👍", "tichel" , "🧕", "ticket" , "🎟", "tie" , "🪢", "tiger" , "🐯", "timber" , "🪵", "timer" , "⌛", "tipsy" , "🥴", "tired" , "😩", "tm" , "™", "toilet" , "🪠", "tomato" , "🍅", "tongue" , "😛", "tool" , "🪚", "tooth" , "🦷", "top" , "🎩", "tophat" , "🎩", "torch" , "🔦", "tower" , "🗼", "toy" , "🪀", "train" , "🚂", "tram" , "🚃", "trap" , "🪤", "travel" , "🧳", "tray" , "📤", "tree" , "🌲", "trend" , "📈", "trophy" , "🏆", "truck" , "🛻", "tshirt" , "👕", "tulip" , "🌷", "turban" , "👳", "turkey" , "🦃", "turtle" , "🐢", "tusk" , "🦣", "tuxedo" , "🤵", "tv" , "📺", "twelve" , "🕛", "twine" , "🪢", "twins" , "👬", "twist" , "🪢", "two" , "🕑", "ufo" , "👽", "undead" , "🧛", "unlock" , "🔓", "up" , "👆", "upward" , "📈", "urn" , "⚱", "v" , "✌", "vat" , "🪣", "veil" , "👰", "versus" , "🆚", "vest" , "🦺", "vhs" , "📼", "vice" , "🗜", "video" , "📻", "view" , "🪟", "violin" , "🎻", "virus" , "🦟", "vomit" , "🤢", "vs" , "🆚", "vulcan" , "🖖", "waffle" , "🧇", "walk" , "🚶", "wall" , "🧱", "waning" , "🌖", "watch" , "⌚", "water" , "🤽", "wave" , "👋", "waving" , "👋", "wavy" , "〰", "waxing" , "🌒", "wc" , "🚹", "weapon" , "🔪", "weary" , "😩", "web" , "🕸", "weight" , "🏋", "west" , "⬅", "whale" , "🐳", "wheel" , "🎡", "whew" , "😥", "whisky" , "🥃", "white" , "🤍", "whoops" , "🤭", "wicked" , "🖤", "wilted" , "🥀", "wind" , "🍃", "window" , "🪟", "wine" , "🍷", "wings" , "💸", "wink" , "😉", "wise" , "🦉", "wisent" , "🦬", "witch" , "🪄", "wizard" , "🪄", "wolf" , "🐺", "woman" , "👩", "women" , "👯‍♀", "won" , "😤", "wood" , "🪵", "wool" , "🦙", "woolly" , "🦣", "worker" , "🧑‍🏭", "world" , "🌍", "worm" , "🪱", "wrap" , "🌯", "wrench" , "🛠", "write" , "✍", "wry" , "😼", "x" , "✖", "yacht" , "⛵", "yang" , "☯", "yarn" , "🧶", "yawn" , "🥱", "yellow" , "💛", "yen" , "💴", "yin" , "☯", "yoga" , "🧘", "young" , "👶", "yum" , "😋", "yurt" , "🛖", "zap" , "⚡", "zebra" , "🦓", "zipper" , "🤐", "zodiac" , "👧", "zombie" , "🧟", "zzz" , "😴" }; const EmojiItem chinese_emoji_table[] = { "㵴火" , "🧯", "㵴火筒" , "🧯", "一" , "🕐", "一件头" , "🩲", "一堆屎" , "💩", "一杯奶" , "🥛", "一次" , "🔂", "一点" , "🕐", "一点半" , "🕜", "一百分" , "💯", "一群" , "🦬", "七" , "🕖", "七点" , "🕖", "七点半" , "🕢", "万圣节" , "🎃", "万字夹" , "📎", "万岁" , "🙌", "三" , "🕒", "三十" , "🕧", "三叉戟" , "🔱", "三叶草" , "☘", "三文治" , "🥪", "三点" , "🕒", "三点半" , "🕞", "三角尺" , "📐", "三角形" , "📐", "三角旗" , "🚩", "上" , "👆", "上升" , "💹", "上弦月" , "🌓", "上锁" , "🔒", "下" , "👇", "下弦月" , "🌗", "下跌" , "📉", "不" , "🙈", "不久" , "🔜", "不关心" , "🤷", "不准" , "⛔", "不可" , "⛔", "丑小鸭" , "🦢", "世界" , "🌍", "丘比特" , "💘", "业务" , "👨‍💼", "东" , "➡", "东京" , "🗼", "东北" , "↗", "东南" , "↘", "丝带" , "🎗", "两个心" , "💕", "两点" , "🕑", "两点半" , "🕝", "个人" , "💻", "中国帽" , "👲", "中心" , "🫀", "中性" , "🧒", "中指" , "🖕", "中暑" , "🥵", "中等" , "🔉", "中肤色" , "🏽", "串" , "🍡", "串烧" , "🍢", "丸子" , "🍡", "丹参树" , "🎋", "举手" , "✋", "举起" , "🤚", "举重" , "🏋", "举重者" , "🏋", "义肢" , "🦾", "乌蝇" , "🪰", "乐谱" , "🎼", "乒乓" , "🏓", "乒乓球" , "🏓", "乘" , "✖", "乘客" , "🛳", "乘法" , "✖", "九" , "🕘", "九点" , "🕘", "九点半" , "🕤", "乞嚏" , "🤧", "乞讨" , "🥺", "书" , "📔", "书包" , "🎒", "书呆子" , "🤓", "书签" , "📑", "乳制品" , "🧈", "乳房" , "🤱", "乳液" , "🧴", "乳液樽" , "🧴", "二" , "🕑", "二头肌" , "💪", "亏" , "🌖", "亏凸月" , "🌖", "云" , "☁", "五" , "🕔", "五点" , "🕔", "五点半" , "🕠", "亚洲" , "🌏", "亡灵" , "🧛", "交叉" , "🤞", "交叉旗" , "🎌", "交叉骨" , "☠", "交通" , "🚥", "亮度" , "🔅", "人" , "🧑‍🍼", "人马座" , "♐", "人鱼" , "🧜", "仓鼠" , "🐹", "仓鼠脸" , "🐹", "仙人掌" , "🌵", "仙子" , "🧚", "仪器" , "🎷", "仪式" , "🎑", "企" , "🧍", "企鹅" , "🐧", "会计" , "🧾", "传呼机" , "📟", "传真" , "📠", "传真机" , "📠", "伤心" , "😢", "低" , "🔅", "低手" , "🥎", "体操" , "🤸", "体育场" , "🏟", "佛教" , "☸", "佛法" , "☸", "佛法轮" , "☸", "侦探" , "🕵", "侧手翻" , "🤸", "便利店" , "🏪", "便当" , "🍱", "便条" , "📝", "俄罗斯" , "🪆", "保健员" , "🧑‍⚕", "保龄球" , "🎳", "信" , "💌", "信号" , "🚥", "信封" , "✉", "信用" , "💳", "信用卡" , "💳", "信箱" , "📫", "修甲" , "💅", "假扮" , "🥸", "停" , "🚏", "停止" , "🛑", "健康" , "🤧", "傍晚" , "🌆", "傻笑" , "😏", "傻笑脸" , "😏", "光" , "🪶", "光亮" , "☀", "光头" , "🦲", "光学" , "💽", "光环" , "😇", "光碟" , "💽", "免费" , "🈚", "兑换" , "💱", "兔" , "🐰", "兔耳" , "👯", "兔脸" , "🐰", "入场" , "🎟", "入场券" , "🎟", "八" , "🕗", "八点" , "🕗", "八点半" , "🕣", "八角形" , "🛑", "八角星" , "✳", "公" , "🐏", "公主" , "👸", "公事包" , "💼", "公仔" , "🪆", "公园" , "🏞", "公牛" , "🐂", "公羊" , "🐏", "公路" , "🛣", "公鸡" , "🐓", "六" , "🕕", "六点" , "🕕", "六点半" , "🕡", "关闭" , "📫", "兴奋" , "💖", "内" , "💠", "内衣" , "🩲", "冇位" , "🈵", "写字" , "✍", "军事" , "🪖", "军队" , "🪖", "农夫" , "🧑‍🌾", "农夫车" , "🛻", "冥想" , "🧘", "冬甩" , "🍩", "冰" , "🥶", "冰冷" , "😓", "冰块" , "🧊", "冰川" , "🐻‍❄", "冰球" , "🏒", "冲凉" , "🛀", "冷球" , "🧶", "冻" , "😅", "冻伤" , "🥶", "冻结" , "🥶", "凉鞋" , "🩴", "凋谢" , "🥀", "减" , "➖", "几何" , "🔴", "出发" , "🛫", "出汗" , "🥵", "击中" , "🎯", "刀" , "🍽", "分开" , "🪓", "分数" , "💯", "分类" , "🗂", "分量" , "🥃", "划艇" , "🚣", "初学者" , "🔰", "刨" , "🍧", "刨冰" , "🍧", "利" , "🪒", "利是" , "🧧", "利是封" , "🧧", "到达" , "🛬", "制服" , "🥋", "刷" , "🪥", "券" , "🎟", "刺" , "🦔", "刺猬" , "🦔", "刺绣" , "🪡", "剃刀" , "🪒", "剃头" , "🦲", "剃须" , "🪒", "剑" , "🤺", "剑击" , "🤺", "剔号" , "✅", "剧场" , "🎭", "剪" , "✂", "剪头发" , "💇‍♂", "剪影" , "🗣", "割" , "🈹", "办公室" , "👨‍💼", "加" , "➕", "勾" , "🪝", "包头" , "🧕", "包装" , "🎁", "包裹" , "📦", "匆忙" , "😰", "匕首" , "🗡", "化妆" , "💄", "化妆品" , "💅", "化学" , "⚗", "化学家" , "🧑‍🔬", "化疗" , "🦲", "北" , "⬆", "北极熊" , "🐻‍❄", "匙羮" , "🥄", "医生" , "😷", "医疗" , "🩸", "医药" , "💉", "医院" , "🏥", "匿名" , "🥸", "十" , "🕙", "十一" , "🕦", "十一点" , "🕚", "十二" , "🕛", "十二点" , "🕛", "十八岁" , "🔞", "十字架" , "⛪", "十点" , "🕙", "十点半" , "🕥", "升降机" , "🛗", "半" , "🚛", "协助" , "🐕‍🦺", "卒" , "🤌", "卒手指" , "🤌", "单车" , "🚴", "单轨" , "🚝", "卖点" , "🪝", "南" , "⬇", "南瓜" , "🎃", "博物馆" , "🖼", "卡" , "💳", "卡片" , "🗂", "卡片盒" , "📇", "卡车" , "🚒", "卫星" , "🛰", "卫生" , "🪥", "卫生间" , "🚹", "印" , "👣", "印度寺" , "🛕", "印度教" , "🕉", "危险" , "⚡", "卷" , "🧵", "卷发" , "🦱", "卷心菜" , "🥬", "卷曲" , "🦱", "卷曲圈" , "➰", "卷纸" , "🧻", "卷起" , "🗞", "卷页" , "📃", "卷饼" , "🌯", "压" , "🗜", "厌倦" , "🙀", "厕所" , "🚽", "厕所泵" , "🪠", "厕纸" , "🧻", "原子" , "⚛", "原子笔" , "🖊", "原驼" , "🦙", "厨师" , "🧑‍🍳", "厨房刀" , "🔪", "叉" , "🍽", "叉同刀" , "🍴", "双" , "⏸", "双子" , "♊", "双子座" , "👬", "双眼" , "👀", "双耳瓶" , "🏺", "双胞胎" , "👬", "双重" , "⏩", "双鱼座" , "🐟", "反射" , "🪃", "反射器" , "🪞", "反射镜" , "🪞", "反弹" , "🪃", "反手" , "🤚", "发件箱" , "📤", "发光" , "🌟", "发出" , "📩", "发动机" , "🚂", "发型师" , "💇", "发明家" , "🧑‍💻", "发烧" , "🦟", "发疯" , "😡", "发癫" , "😠", "发誓" , "🤬", "发送" , "📩", "取消" , "✖", "受伤" , "🤕", "口罩" , "😷", "口震" , "😱", "古典" , "🏛", "可" , "🉑", "台风" , "🌀", "叶" , "🌿", "号角" , "🥳", "合" , "🈴", "合埋" , "😚", "合手" , "🙏", "合格" , "🈴", "吊钟" , "🔔", "同情" , "😮", "同意" , "🤝", "名牌" , "📛", "向上" , "💹", "向下" , "⬇", "向右" , "🤜", "向左" , "🤛", "吓亲" , "😲", "吓惊" , "😯", "听" , "🙉", "听筒" , "🩺", "听障" , "🦻", "吸力" , "🧲", "吸气" , "🫁", "吸水" , "🧽", "吸烟" , "🚬", "吸血鬼" , "🧛", "吹" , "🍃", "吻" , "😘", "呕吐" , "🤢", "呕心" , "🤢", "员工" , "⚕", "呜咽" , "😭", "呢度" , "🈁", "呼" , "😥", "呼叫" , "🤭", "呼吸" , "🫁", "呼气" , "🫁", "咀唇" , "💋", "和平" , "🕊", "和服" , "👘", "咖哩" , "🍛", "咖哩饭" , "🍛", "咖啡" , "☕", "咧嘴笑" , "😁", "咪" , "🎙", "咪高峰" , "🎙", "哺乳" , "👨‍🍼", "哺育" , "🧑‍🍼", "唇印" , "💋", "唇膏" , "💄", "唔准" , "🙈", "唔吉利" , "🐈‍⬛", "唔好" , "🙈", "唔客气" , "😑", "唔开心" , "😒", "唔相信" , "🤦", "唵" , "🕉", "啄木鸟" , "🦜", "商业" , "🧑‍💼", "商人" , "👨‍🔧", "商店" , "🏪", "商标" , "™", "啡色" , "🤎", "啡色心" , "🤎", "啤酒" , "🍺", "啤酒杯" , "🍺", "啧水" , "🐳", "喂哺" , "🧑‍🍼", "喇叭" , "🔇", "喊" , "😢", "喊嘅脸" , "😢", "喷水池" , "⛲", "嗯" , "😋", "嘘" , "🤫", "嘘嘅脸" , "🤫", "嘟嘟鸟" , "🦤", "嘭嘭" , "‼", "嘲笑" , "🤌", "嘴" , "😃", "噢" , "🙀", "器官" , "🫀", "四" , "🍀", "四叶草" , "🍀", "四点" , "🕓", "四点半" , "🕟", "回力镖" , "🪃", "回带" , "◀", "团" , "🍙", "园丁" , "🧑‍🌾", "困惑" , "😖", "国王" , "👑", "图" , "💹", "图片" , "🖼", "图表" , "💹", "圆屋" , "🛖", "圆形" , "⏺", "圆碌碌" , "🙄", "圆禁钉" , "📍", "圈" , "➰", "圈套" , "🪝", "土星" , "🪐", "圣诞树" , "🎄", "圣诞节" , "🎅", "在" , "🔛", "地下" , "🤣", "地图" , "🗺", "地球" , "🌍", "地球仪" , "🌍", "地铁" , "🚇", "场所" , "🛐", "坏人" , "🦹", "坐" , "🪑", "块" , "🧩", "坚硬" , "🪨", "坟墓" , "🪦", "坠落" , "🌠", "垂直" , "⏸", "垃圾" , "🚮", "垃圾桶" , "🚮", "垒球" , "🥎", "垫" , "🗒", "城堡" , "🏯", "城市" , "🏙", "培养皿" , "🧫", "培育" , "🪴", "基因" , "🧬", "基点" , "⬆", "基点间" , "↗", "基督徒" , "⛪", "基督教" , "✝", "塔" , "🗼", "墓地" , "🪦", "墓碑" , "🪦", "墙" , "🧱", "增长" , "💹", "墨水" , "🔏", "墨西哥" , "🫔", "士兵" , "🪖", "士巴拿" , "🛠", "壳" , "🐚", "壶" , "🫖", "处女" , "👧", "处女座" , "♍", "夏日" , "🍹", "外卖盒" , "🥡", "外套" , "🧥", "外星" , "👽", "外星人" , "👽", "外框" , "❔", "外送盘" , "📤", "多动作" , "🤹", "多窿" , "🧽", "多谢" , "🫂", "夜晚" , "🌃", "大" , "🦣", "大卫" , "✡", "大厦" , "🏢", "大厨" , "👨‍🍳", "大声" , "🔊", "大声公" , "📢", "大头针" , "📌", "大桥" , "🌉", "大烛台" , "🕎", "大猩猩" , "🦍", "大羊驼" , "🦙", "大虾" , "🍤", "大象" , "🐘", "大阶" , "🔠", "大雾" , "🌁", "天使" , "😇", "天妇罗" , "🍤", "天房" , "🕋", "天气" , "🌡", "天父" , "🎅", "天真" , "😇", "天秤" , "⚖", "天秤座" , "⚖", "天线" , "📡", "天线棒" , "📶", "天蝎座" , "🦂", "天鹅" , "🦢", "太空" , "🛰", "太空人" , "🧑‍🚀", "太阳" , "😎", "太阳花" , "🌻", "夫妇" , "👭", "失望" , "😥", "头" , "🗣", "头发" , "🦳", "头巾" , "👳", "头晕" , "😵", "头盔" , "🪖", "奇异果" , "🥝", "奇怪" , "🤓", "奖" , "🏆", "奖杯" , "🏆", "奖牌" , "🎖", "奥布朗" , "🧚", "女" , "👱‍♀", "女人" , "👩", "女仔" , "👧", "女仙子" , "🧚‍♀", "女侦探" , "🕵‍♀", "女农夫" , "👩‍🌾", "女厕" , "🚺", "女厨师" , "👩‍🍳", "女士" , "👠", "女学生" , "👩‍🎓", "女巫" , "🪄", "女巫师" , "🧙‍♀", "女技工" , "👩‍🔧", "女教师" , "👩‍🏫", "女歌手" , "👩‍🎤", "女殭尸" , "🧟‍♀", "女法官" , "👩‍⚖", "女王" , "👑", "女精灵" , "🧝‍♀", "女装" , "👚", "女装帽" , "👒", "女装靴" , "👢", "女警察" , "👮‍♀", "女超人" , "🦸‍♀", "奶" , "🍼", "好" , "🦸", "好奇" , "🦝", "好累" , "😩", "好运" , "🧧", "好食" , "😋", "妈妈" , "🤶", "妖" , "👿", "姓名" , "📛", "姿势" , "🙇", "威士忌" , "🥃", "娃娃" , "🎎", "娥眉月" , "🌒", "娱乐" , "🚙", "娱乐家" , "🧑‍🎤", "婚礼" , "👰", "婴儿" , "👶", "嬲" , "😡", "嬲嘅脸" , "😠", "子午线" , "🌐", "子弹" , "🚅", "孔雀" , "🦚", "孕妇" , "🤰", "字母" , "🔠", "学校" , "🏫", "学生" , "🧑‍🎓", "孵化" , "🐣", "守卫员" , "💂", "安全" , "🦺", "安息" , "🪦", "安静" , "🔇", "完全" , "😲", "宗教" , "⛪", "宝石" , "💎", "宝藏" , "🪙", "实验" , "🥼", "实验室" , "🧪", "实验袍" , "🥼", "宠物" , "🐶", "客厅" , "💇", "客船" , "🛳", "害怕" , "😨", "家" , "🏠", "家庭" , "👪", "家禽" , "🍗", "寄信" , "💌", "寄存" , "🛅", "寄生虫" , "🪱", "密码" , "🔑", "富士" , "🗻", "富士山" , "🗻", "寒冷" , "🌨", "寒冷的" , "🏔", "对" , "🆚", "对唔住" , "🙇", "对话" , "💬", "寺庙" , "🛕", "导师" , "🧑‍🏫", "导盲" , "🦮", "导盲犬" , "🦮", "导航" , "🧭", "寿司" , "🍣", "封面" , "📔", "射击" , "🌠", "射手" , "🏹", "射手座" , "🏹", "射箭" , "🏹", "射线" , "☀", "小" , "🦐", "小丑" , "🤡", "小丑脸" , "🤡", "小天鹅" , "🦢", "小妖精" , "👺", "小屋" , "🛖", "小巴" , "🚐", "小提琴" , "🎻", "小教堂" , "💒", "小水滴" , "💧", "小童" , "🧒", "小精灵" , "🧝", "小量" , "🤏", "小阶" , "🔡", "小鸡" , "🐣", "尺度" , "🧑‍⚖", "尿片" , "🧷", "屋" , "🪴", "屎" , "💩", "山" , "🏔", "山地" , "🚵", "山羊" , "🐐", "山羊座" , "🐐", "岗位" , "🚩", "岛" , "🏝", "崇拜" , "🥰", "巡逻" , "🚓", "工业" , "🧑‍🏭", "工人" , "🧑‍🏭", "工具" , "🪚", "工具箱" , "🧰", "工厂" , "🧑‍🏭", "工程师" , "🧑‍🔬", "巨灵" , "🧞", "巨石" , "🪨", "巨蛇" , "🐍", "巨蟹座" , "🦀", "巫婆" , "🧙", "巫师" , "🪄", "巴士" , "🚌", "巴士站" , "🚏", "市场" , "💹", "布甸" , "🍮", "帆船" , "⛵", "帐单" , "💴", "帐篷" , "⛺", "帕克" , "🧚", "带" , "📼", "帮助" , "💁", "常青树" , "🌲", "帽" , "🤠", "干净" , "🪥", "平底镬" , "🍳", "平底鞋" , "🥿", "平行" , "🤹", "年青" , "👶", "幸运" , "🤞", "幻想" , "😇", "幼小" , "🌱", "幼苗" , "🌱", "庆祝" , "🪅", "床" , "🛏", "废纸篓" , "🗑", "度假村" , "⛵", "座位" , "💺", "座灯" , "🛋", "康加鼓" , "🪘", "建筑" , "👷", "建筑师" , "🧑‍💼", "建造" , "🏗", "开" , "🔓", "开会" , "🤝", "开发者" , "🧑‍💻", "开屏" , "🦚", "开玩笑" , "😜", "开花" , "🌸", "开酒塞" , "🍾", "弓" , "🏹", "弓箭" , "🏹", "张开" , "🖐", "弦月" , "🌒", "弦线" , "🪕", "弯" , "🪝", "弯曲" , "🪝", "录像机" , "📹", "录制" , "⏺", "录影带" , "📼", "录影机" , "📼", "录音室" , "🎙", "彗星" , "☄", "彩虹" , "🌈", "彩虹旗" , "🏳‍🌈", "影片" , "📻", "得" , "🉐", "微生物" , "🦠", "微笑" , "🥲", "德古拉" , "🧛", "徽章" , "🔱", "心" , "💌", "心脏" , "🫀", "心跳" , "🫀", "忌廉" , "🍦", "忍者" , "🥷", "忧心" , "😔", "快" , "⏩", "快乐" , "😂", "快到" , "🚔", "快艇" , "🚤", "快走" , "💨", "快进" , "⏩", "快速" , "💨", "念珠" , "📿", "怀孕" , "🤰", "怀疑" , "🤨", "怜悯" , "🥺", "怪物" , "💀", "恋爱" , "🥰", "恐布" , "😝", "恭喜" , "㊗", "恶魔" , "👿", "您好" , "🫂", "悬架" , "🚟", "情人" , "💝", "情侣" , "🧑‍🤝‍🧑", "情信" , "💌", "惊叫" , "😱", "惊恐" , "😨", "惊慌" , "😨", "惊讶" , "😯", "惧怕" , "😱", "想法" , "💡", "感动" , "🥲", "感叹号" , "‼", "感叹嘅" , "❣", "感激" , "🥲", "感谢" , "🙇‍♂", "愤怒" , "😡", "慢" , "🦥", "懒" , "🦥", "戏" , "🎞", "戏院" , "🎥", "成人" , "🧑", "成长" , "🪴", "我爱您" , "🤟", "戒指" , "💍", "战士" , "🪖", "战斗机" , "🥷", "房屋" , "🏚", "手" , "👋", "手势" , "🤌", "手卷" , "🫔", "手套" , "🥎", "手指" , "🤌", "手指公" , "👍", "手掌" , "🤦", "手提袋" , "👝", "手机" , "🤳", "手枪" , "🔫", "手球" , "🤾", "手瓜" , "💪", "手表" , "⌚", "手袋" , "👜", "手风琴" , "🪗", "手鼓" , "🪘", "扒" , "🥩", "打" , "✊", "打印机" , "🖨", "打喊露" , "🥱", "打开" , "🪟", "打开手" , "👐", "打扮" , "🧑‍🎄", "打气" , "📣", "打电话" , "🤙", "托盘" , "📤", "扣针" , "🧷", "扩音器" , "📣", "扫" , "🧹", "扫把" , "🧹", "扭" , "🪢", "扭歪" , "😼", "扭纹" , "🥨", "扳手" , "🛠", "批" , "🥧", "技工" , "🧑‍🔧", "技术" , "🤹", "投币口" , "🎰", "投票" , "🗳", "抗议" , "🪧", "折扣" , "🈹", "抢" , "🏴‍☠", "护士" , "🧑‍⚕", "护照" , "🛂", "护理" , "💅", "护符" , "🧿", "护镜" , "🥽", "报纸" , "📰", "抱抱" , "🫂", "抵达" , "🛬", "担心" , "😟", "拉丁" , "🔠", "拉链" , "🤐", "拉面" , "🍜", "拍子" , "🪘", "拍手" , "👏", "拍板" , "🎬", "拖" , "👭", "拖住" , "🧑‍🤝‍🧑", "拖头车" , "🚛", "拖拉机" , "🚜", "拖鞋" , "🥿", "招牌" , "💈", "拜拜" , "🫂", "拥抱" , "🫂", "拳击" , "🥊", "拳头" , "✊", "拳套" , "🥊", "持有人" , "🐍", "指" , "👈", "指南针" , "🧭", "指向" , "👈", "指甲" , "💅", "指甲油" , "💅", "按摩" , "💆", "按钮" , "🔼", "挑" , "⛏", "挥手" , "👋", "挥紧手" , "👋", "捏手" , "🤏", "捐血" , "🩸", "损伤" , "🤕", "换片" , "🚼", "掌" , "🐾", "掌印" , "🐾", "排球" , "🏐", "探热针" , "🤒", "接受" , "🉑", "接收" , "📨", "控制" , "🎛", "控制器" , "🎮", "提子" , "🍇", "提示" , "💁", "插头" , "🔌", "握" , "🤝", "握手" , "🤝", "握紧" , "✊", "揽" , "🤗", "搜寻" , "🔍", "搞笑" , "💢", "摇" , "🪀", "摇摇" , "🪀", "摇滚" , "🤘", "摔交" , "🤼", "摔交手" , "🤼", "摧毁" , "⚡", "摩天轮" , "🎡", "摩艾" , "🗿", "撅嘴" , "😡", "播放" , "▶", "收件盘" , "📥", "收件箱" , "📥", "收到" , "📲", "收据" , "🧾", "收费" , "🈶", "收集" , "🛻", "收音机" , "📻", "放低" , "📪", "放大" , "🔍", "放射性" , "☢", "放映机" , "📽", "放松" , "☺", "救护车" , "🚑", "救生衣" , "🦺", "教堂" , "⛪", "教师" , "👨‍🏫", "教授" , "🧑‍🏫", "散子" , "👛", "散子包" , "👛", "敬礼" , "🖖", "数字" , "🔢", "数学" , "➕", "数学家" , "👨‍🔬", "文件" , "📃", "文件夹" , "📁", "文化" , "🧫", "斑点" , "🦒", "斑马" , "🦓", "斧头" , "🪓", "斩" , "🪓", "新娘" , "👰", "新干线" , "🚄", "新月" , "🌑", "新月面" , "🌚", "新郎" , "🤵", "新闻" , "📰", "方位" , "🧭", "方便" , "🏪", "方向" , "⬆", "方格旗" , "🏁", "旅行" , "🧳", "旋转" , "💞", "旋风" , "🌪", "旗" , "🎏", "无" , "🈚", "无声" , "😶", "无头发" , "🦲", "无用" , "🪴", "无知" , "🤷", "无表情" , "😐", "无表达" , "😑", "无限" , "♾", "无限制" , "♾", "无障碍" , "🛗", "日元" , "💹", "日出" , "🌄", "日历" , "📅", "日圆" , "💴", "日式" , "🏣", "日期" , "📅", "日本" , "🍙", "日落" , "🌆", "旧" , "🗝", "旧锁匙" , "🗝", "早上" , "🌄", "早餐" , "🥣", "时钟" , "⌚", "时髦" , "💁", "昆虫" , "🪲", "明星" , "🤩", "明星脸" , "🤩", "星" , "💫", "星夜" , "🌃", "星座" , "👧", "星星" , "🌃", "显微镜" , "🔬", "晕" , "🥴", "晚上" , "🌉", "晚礼服" , "🤵", "景观" , "🪟", "晴朗" , "☀", "智力" , "🧠", "智慧" , "🦉", "暂停" , "⏯", "暗" , "🔅", "暴龙" , "🦖", "曱甴" , "🪳", "曲发" , "🦱", "曲奇" , "🍪", "曲棍球" , "🏑", "月" , "🌒", "月亮" , "🌑", "月经" , "🩸", "月费" , "🈷", "月饼" , "🥮", "有" , "🈶", "有雾" , "🌁", "服务" , "🐕‍🦺", "服务员" , "🛎", "服务费" , "🈂", "服装" , "👣", "望远镜" , "🔭", "木" , "🪓", "木头" , "🪵", "木屐" , "🩴", "木工" , "🪚", "木材" , "🪚", "木桶" , "🪣", "木锯" , "🪚", "未成年" , "🔞", "朱古力" , "🫕", "机动船" , "🛥", "机械人" , "🤖", "机械脚" , "🦿", "机械臂" , "🦾", "杂耍" , "🤹", "条" , "🍫", "条纹" , "🦓", "来" , "📨", "杯" , "🥛", "松树" , "🎍", "板" , "🛹", "板手" , "🔧", "板球" , "🏏", "果仁" , "🥜", "果汁" , "🥤", "果汁盒" , "🧃", "果汁酒" , "🥥", "枪" , "🎉", "枫叶" , "🍁", "枫树" , "🍁", "柑桔" , "🍊", "柑橘" , "🍋", "柔软" , "🔈", "柔道" , "🥋", "柜" , "🗄", "柠檬" , "🍋", "标志" , "🪧", "标签" , "📑", "标记" , "📑", "标语" , "🪧", "树" , "🌲", "树熊" , "🐨", "树獭" , "🦥", "栗子" , "🌰", "格子" , "🏁", "桃" , "🍑", "框架" , "🪟", "框画" , "🖼", "桌球" , "🎱", "桌面" , "🖥", "桑拿" , "🧖", "档案" , "📁", "档案柜" , "🗄", "桶" , "🛢", "梅花" , "♣", "梨" , "🍐", "梯" , "🪜", "梯级" , "🪜", "梳打" , "🥤", "检查" , "🛂", "棍" , "🥍", "棒" , "🍢", "棒型图" , "📊", "棒球" , "⚾", "棒球帽" , "🧢", "棕榈" , "🌴", "棕榈树" , "🌴", "棺材" , "⚰", "植物" , "🪴", "椰子" , "🥥", "榄球" , "🏉", "槿" , "🌺", "模式" , "📳", "横额" , "🎋", "樱花" , "🌸", "樽" , "🍼", "橄榄" , "🫒", "橙" , "🍊", "橙色" , "🧡", "橙色书" , "📙", "橙色心" , "🧡", "櫈" , "💺", "欧元" , "💶", "欧洲" , "🌍", "欧陆式" , "🏰", "歌手" , "🧑‍🎤", "歌记号" , "〽", "正义" , "👨‍⚖", "正方形" , "⏹", "步" , "🪜", "武器" , "🔪", "武术" , "🥋", "死" , "💀", "死亡" , "☠", "残月" , "🌘", "殡仪馆" , "⚱", "殭尸" , "🧟", "毒菌" , "🍄", "比坚尼" , "👙", "比赛" , "🏐", "比高包" , "🥯", "毕业" , "🧑‍🎓", "毕业帽" , "🎓", "毛绒" , "🧸", "气体" , "⛽", "气球" , "💬", "水" , "🤽", "水坝" , "🦫", "水晶" , "🔮", "水晶球" , "🔮", "水果" , "🥭", "水桶" , "🪣", "水泥" , "🧱", "水点" , "☔", "水牛" , "🦬", "水狸" , "🦫", "水球" , "🤽", "水瓶座" , "🏺", "水龟" , "🐢", "永远" , "♾", "求助" , "🆘", "汉堡包" , "🍔", "汗" , "😅", "汽球" , "🎈", "汽车" , "🚞", "沉默" , "😯", "沙" , "⌛", "沙发" , "🛋", "沙律" , "🥗", "沙漏" , "⏳", "沙漠" , "🏜", "沮丧" , "😔", "河马" , "🦛", "油" , "🛢", "油桶" , "🛢", "治疗师" , "🧑‍⚕", "治疗犬" , "🐕‍🦺", "泉" , "♨", "泊车" , "🅿", "法国" , "🥐", "法官" , "🧑‍⚖", "法式" , "🥖", "泡" , "🧋", "泡泡" , "💬", "泡菜" , "🥒", "波" , "🏌", "波板糖" , "🍭", "波浪" , "🌊", "注册" , "®", "注射" , "💉", "注释" , "🗒", "泳衣" , "🩱", "泳裤" , "🩲", "泵" , "⛽", "洋葱" , "🧅", "洗头水" , "🧴", "洗手间" , "🚹", "洗衫" , "🧺", "洞" , "⛳", "派对" , "🪅", "派对枪" , "🎉", "流动" , "📱", "流口水" , "🤤", "流星" , "🌠", "浅" , "🥘", "浅肤色" , "🏻", "浓汤" , "🦞", "浪漫" , "💒", "浮潜" , "🤿", "浴室" , "🪥", "浴缸" , "🛀", "海" , "⛵", "海关" , "🛃", "海洋" , "🌊", "海浪" , "🌊", "海滩" , "🏖", "海狮" , "🦭", "海盗" , "🦜", "海盗旗" , "🏴‍☠", "海绵" , "🧽", "海豚" , "🐬", "海豹" , "🦭", "海鲜" , "🍢", "海龟" , "🐢", "消闲" , "♟", "消防员" , "🧑‍🚒", "消防车" , "🧑‍🚒", "润肤霜" , "🧴", "深肤色" , "🏿", "清洁" , "🧹", "清真寺" , "🕌", "清酒" , "🍶", "渡船" , "⛴", "温度计" , "🌡", "温泉" , "♨", "游乐场" , "🎡", "游戏" , "🥌", "游戏杆" , "🕹", "游水" , "🏊", "游艇" , "⛵", "溅" , "💦", "溜冰" , "⛸", "溜冰鞋" , "🛼", "滑块" , "🎚", "滑板" , "🛹", "滑板车" , "🛵", "滑浪" , "🏄", "滑翔伞" , "🪂", "滑雪" , "⛷", "滑雪板" , "🏂", "滚动" , "📜", "滚筒" , "🎢", "滚轴" , "🛼", "满" , "🌕", "满分" , "💯", "满意" , "😆", "满月" , "🌕", "满月面" , "🌝", "滴汗" , "💦", "演员" , "🧑‍🎤", "漩涡" , "🍥", "漫画" , "💩", "潜水" , "🦪", "潜水镜" , "🤿", "澳洲" , "🪃", "火" , "🚒", "火山" , "🌋", "火焰" , "🔥", "火箭" , "🧑‍🚀", "火花" , "🎇", "火车" , "🚂", "火鸡" , "🦃", "灯" , "🚨", "灯泡" , "💡", "灯笼" , "🎃", "灯笼椒" , "🫑", "灯胆" , "💡", "灰烬" , "⚱", "灰色" , "🦳", "炖" , "🍲", "炮丈" , "🧨", "炸" , "🍤", "炸弹" , "💣", "炸药" , "🧨", "炸虾" , "🍤", "点" , "🕛", "烈酒" , "🥃", "烈酒㷴" , "🥃", "烘焙" , "🥯", "烛台" , "🕎", "烟肉" , "🥓", "烟花" , "🎆", "烤肉串" , "🥙", "烤饼" , "🫓", "烧焊" , "🥽", "烩" , "🍠", "烩番薯" , "🍠", "热" , "🥵", "热带" , "🦩", "热带鱼" , "🐠", "热狗" , "🌭", "热腾腾" , "♨", "热饮" , "☕", "热香饼" , "🥞", "煎" , "🍳", "煮熟" , "🍚", "煮食" , "🍳", "煲" , "🫕", "熄" , "🧯", "熊" , "🐻", "熊仔" , "🧸", "熊猫" , "🐼", "熊猫脸" , "🐼", "熊脸" , "🐻", "燃油" , "⛽", "燃油泵" , "⛽", "燕尾服" , "🤵‍♀", "燕麦" , "🥣", "爆发" , "🌋", "爆炸" , "🧨", "爆炸头" , "🤯", "爆谷" , "🍿", "爪" , "🦞", "爬" , "🪜", "爱" , "😍", "爱情" , "💌", "片" , "🍕", "片装" , "🍰", "版权" , "©", "牌" , "📛", "牙" , "🪥", "牙刷" , "🪥", "牙医" , "🦷", "牙科" , "🪥", "牙齿" , "🦷", "牛" , "🐮", "牛仔" , "🤠", "牛仔裤" , "👖", "牛女" , "🤠", "牛奶" , "🧋", "牛扒" , "🥩", "牛油" , "🧈", "牛油果" , "🥑", "牛脸" , "🐮", "牛角" , "😈", "牛角包" , "🥐", "牛角卷" , "🥐", "牧人" , "👨‍🌾", "犀牛" , "🦏", "犯罪" , "🦹", "犹太人" , "✡", "犹太教" , "🕍", "狂热" , "🥵", "狐狸" , "🦊", "狐狸脸" , "🦊", "狗" , "🐶", "狗脸" , "🐶", "狡猾" , "🦝", "独峰驼" , "🐪", "独木舟" , "🛶", "独角兽" , "🦄", "狮子" , "🦁", "狮子座" , "🦁", "狮子狗" , "🐩", "狮子脸" , "🦁", "狸" , "🦝", "狼" , "🐺", "狼脸" , "🐺", "猩猩" , "🦧", "猪" , "🐷", "猪公" , "🐗", "猪扒" , "🥩", "猪脸" , "🐷", "猪鼻" , "🐽", "猫" , "😺", "猫头鹰" , "🦉", "猫脸" , "🐱", "猿" , "🦧", "獭" , "🦦", "獾" , "🦡", "玉米" , "🌽", "王子" , "🤴", "玛黛茶" , "🧉", "玩" , "🎴", "玩具" , "🪀", "玫瑰" , "🌹", "环虫" , "🪱", "玻璃" , "🥃", "玻璃杯" , "🍸", "珍珠" , "🧋", "珠" , "🧿", "珠宝" , "💎", "班卓琴" , "🪕", "班戟" , "🥞", "球" , "🤾", "球场" , "🏑", "球拍" , "🏓", "球棒" , "🏏", "理发" , "💇", "瑜伽" , "🧘", "瑞士" , "🫕", "瓦肯式" , "🖖", "瓮" , "⚱", "甜" , "🍡", "甜品" , "🍡", "生命" , "🧬", "生姜" , "🦰", "生果" , "🍇", "生物" , "👹", "生物学" , "🧫", "生病" , "🤒", "生肖" , "⛎", "生菜" , "🥬", "生蚝" , "🦪", "用笔锁" , "🔏", "甲壳虫" , "🪲", "甲虫" , "🪲", "申" , "🈸", "申请" , "🈸", "电" , "🚃", "电力" , "⚡", "电单车" , "🏍", "电压" , "⚡", "电工" , "🧑‍🔧", "电影" , "🎥", "电池" , "🔋", "电筒" , "🔦", "电脑" , "💻", "电视机" , "📺", "电话" , "📱", "电车" , "🚃", "电邮" , "✉", "男" , "👱‍♂", "男人" , "👨", "男仔" , "👦", "男仙子" , "🧚‍♂", "男侦探" , "🕵‍♂", "男农夫" , "👨‍🌾", "男厕" , "🚹", "男厨师" , "👨‍🍳", "男士" , "👞", "男学生" , "👨‍🎓", "男巫" , "🧙", "男巫师" , "🧙‍♂", "男技工" , "👨‍🔧", "男教师" , "👨‍🏫", "男歌手" , "👨‍🎤", "男殭尸" , "🧟‍♂", "男法官" , "👨‍⚖", "男精灵" , "🧝‍♂", "男装鞋" , "👞", "男警察" , "👮‍♂", "男超人" , "🦸‍♂", "画画" , "🖌", "画笔" , "🖌", "画面" , "🎞", "番枧" , "🧼", "番枧盒" , "🧼", "番茄" , "🍅", "番薯" , "🍠", "疟疾" , "🦟", "疾病" , "🪰", "病" , "😷", "病毒" , "🦟", "痛苦" , "😬", "痢" , "😛", "登山者" , "🧗", "白兔" , "🐰", "白羊座" , "🐏", "白色" , "🤍", "白色心" , "🤍", "白色旗" , "🏳", "白花" , "💮", "白菜" , "🥬", "白领" , "🧑‍💼", "百" , "💯", "百撘卡" , "🃏", "的士" , "🚕", "皇冠" , "👑", "皮纳塔" , "🪅", "皱眉" , "☹", "盆栽" , "🪴", "盈" , "🌒", "盈凸月" , "🌔", "盐" , "🧂", "盐樽" , "🧂", "盒" , "🍱", "盒子" , "📥", "目标" , "🥍", "盲" , "👨‍🦯", "盲人" , "🧑‍🦯", "直升机" , "🚁", "直尺" , "📏", "直边" , "📏", "相机" , "🤳", "盾" , "🛡", "眨眼" , "😉", "眼" , "😄", "眼泪" , "🥲", "眼睛" , "🤩", "眼镜" , "🥸", "着上" , "🥿", "睇" , "🙈", "短裤" , "🩳", "石" , "🥌", "石头" , "🪨", "砂浆" , "🧱", "砂锅" , "🥘", "砌图" , "🧩", "砖" , "🧱", "破折号" , "〰", "破碎" , "💔", "硬币" , "🪙", "碌地" , "🤣", "碎" , "💔", "碗" , "🍜", "碟" , "🍽", "碰撞" , "💥", "磁力" , "🧭", "磁性" , "🧲", "磁石" , "🧲", "磁碟" , "💾", "礼物" , "🧧", "祈祷" , "🤲", "祝" , "㊗", "神奇" , "🧝", "神教" , "⛩", "神社" , "⛩", "祷告" , "📿", "禁" , "🈲", "禁止" , "🙈", "禁钉" , "📌", "离境" , "🛫", "禾束" , "🌾", "秋天" , "🥮", "科学" , "🧪", "科学家" , "🧑‍🔬", "秒表" , "⏱", "秘" , "㊙", "秘密" , "㊙", "秤" , "👨‍⚖", "穆斯林" , "🕌", "穗" , "🌾", "空" , "🈳", "空中" , "🚡", "空手道" , "🥋", "突起" , "🌔", "窗" , "🪟", "窝夫" , "🧇", "窿" , "🕳", "竖起" , "👍", "章鱼" , "🐙", "童话" , "👼", "竹" , "🎍", "竿" , "🎣", "笃笃" , "🛺", "笑" , "😆", "笑脸" , "😀", "笔" , "✒", "笔尖" , "✒", "笔记板" , "📋", "笔记簿" , "📔", "符号" , "❣", "第一" , "🥇", "第三" , "🥉", "第二" , "🥈", "筷子" , "🥢", "算盘" , "🧮", "箭" , "💘", "箭咀" , "📲", "箭头" , "🏹", "箭靶" , "🎯", "箱" , "🧰", "篮" , "🧺", "篮圈" , "🏀", "篮球" , "🏀", "簿记" , "🧾", "米" , "🌾", "米饼" , "🍘", "粉碎" , "🥰", "粗乘号" , "✖", "粗减号" , "➖", "粗剔号" , "✔", "粗加号" , "➕", "粗除号" , "➗", "粟米" , "🌽", "粟米饼" , "🫓", "粥" , "🥣", "粪便" , "💩", "粱龙" , "🦕", "糕点" , "🍥", "糖果" , "🍬", "索引" , "🗂", "紧张" , "💗", "紧急" , "🦺", "紫色" , "💜", "紫色心" , "💜", "累" , "😩", "累嘅脸" , "😫", "纠察" , "🪧", "纠缠" , "🦡", "红" , "😡", "红包" , "🧧", "红心" , "♥", "红色" , "🍎", "红色心" , "❤", "红苹果" , "🍎", "红萝卜" , "🥕", "红酒杯" , "🍷", "红面" , "🥵", "红鹤" , "🦩", "级别" , "🎚", "纪念" , "🎗", "纱丽" , "🥻", "纳扎尔" , "🧿", "纸" , "📜", "纸屑" , "🎊", "纸屑球" , "🎊", "纸巾" , "🧻", "纸币" , "💴", "纸牌" , "♠", "线" , "🧵", "线索" , "🧩", "组合" , "📐", "组装" , "🪆", "细" , "🤪", "细菌" , "🦠", "终极" , "🥏", "经理" , "🧑‍💼", "结" , "🪢", "结他" , "🎸", "结束" , "🔚", "绘画" , "🖼", "绝种" , "🦣", "绳" , "🪢", "绳球" , "🪢", "绵羊" , "🐏", "绷带" , "🤕", "绿色" , "💚", "绿色书" , "📗", "绿色心" , "💚", "缆" , "🚠", "缆车" , "🚠", "缝纫" , "🧵", "缝纫针" , "🪡", "缝线" , "🪡", "缝补" , "🪡", "缝针" , "🪡", "缸" , "🪣", "罐" , "🍯", "罐头" , "🥫", "网" , "🕸", "网球" , "🎾", "网球拍" , "🎾", "羊扒" , "🥩", "羊毛" , "🦣", "羊驼" , "🦙", "美人鱼" , "🧜", "美元" , "💵", "美容" , "💇", "美容店" , "💆", "美式" , "🏈", "美洲" , "🌎", "羽毛" , "🪶", "羽毛球" , "🏸", "翼" , "💸", "老" , "🦳", "老人" , "🧓", "老伯伯" , "👴", "老婆婆" , "👵", "老师" , "🧑‍🏫", "老年" , "🧓", "老虎" , "🐯", "老虎机" , "🎰", "老虎脸" , "🐯", "老鼠" , "🐭", "老鼠夹" , "🪤", "老鼠脸" , "🐭", "耕种" , "🧺", "耳仔" , "👂", "耳机" , "🎧", "耸肩" , "🤷", "聋" , "🧏", "聋人" , "🧏", "联锁" , "🧩", "肉" , "🍖", "肉丸" , "🧆", "肉块" , "🥩", "肉菜饭" , "🥘", "肉连⻣" , "🍖", "肌肉" , "💪", "肢" , "🦵", "肤色" , "🏻", "肩带" , "🎽", "肺" , "🫁", "背囊" , "🥾", "背心" , "🦺", "胜利" , "✌", "胡椒粉" , "🫑", "胶布" , "🩹", "胸像" , "👤", "脉冲" , "🫀", "脉动" , "💗", "脑" , "🧠", "脚" , "🦵", "脚印" , "👣", "脚掌" , "🦶", "脱落" , "🌳", "脸" , "😀", "脸红" , "😳", "腐烂" , "🪰", "腕龙" , "🦕", "腮红" , "😊", "自动化" , "🏧", "自拍" , "🤳", "自来水" , "🚰", "自然" , "😐", "自由" , "🗽", "自行车" , "🚳", "自豪" , "🥲", "臭" , "💩", "臭鼬" , "🦨", "舞蹈员" , "👯", "航班" , "🪶", "船" , "⚓", "艇" , "🚣", "色士风" , "🎷", "艺人" , "👨‍🎤", "艺术" , "🎭", "艺术家" , "👨‍🎨", "节奏" , "🪘", "节日" , "🥮", "芒果" , "🥭", "芝士" , "🫕", "芭蕾舞" , "🩰", "花" , "💐", "花园" , "🏡", "花束" , "💐", "花栗鼠" , "🐿", "花洒" , "🚿", "花环" , "🏵", "花生" , "🥜", "花纸牌" , "🎴", "苦恼" , "😧", "英镑" , "💷", "英雄" , "🦸", "苹果" , "🍎", "茄子" , "🍆", "茶" , "🧋", "茶壶" , "🫖", "茶杯" , "🍵", "草" , "🍀", "草蜢" , "🦗", "荒岛" , "🏝", "荒废" , "🏚", "药" , "😷", "药丸" , "💊", "莓" , "🫐", "莫伊" , "🗿", "菜" , "🥬", "菠萝" , "🍍", "菱形" , "🔶", "营" , "🈺", "营业" , "🈺", "落叶" , "🍁", "落叶树" , "🌳", "落雨" , "🌈", "葬礼" , "⚱", "葵扇" , "♠", "蒙古包" , "🛖", "蒜头" , "🧄", "蒸气" , "🍜", "蒸气房" , "🧖", "蒸汽" , "🚂", "蒸馏器" , "⚗", "蓝光" , "📀", "蓝色" , "🫐", "蓝色书" , "📘", "蓝色心" , "💙", "蓝莓" , "🫐", "蔬菜" , "🫑", "薄班戟" , "🥞", "薄饼" , "🫓", "薯仔" , "🥔", "薯条" , "🍟", "蘑菇" , "🍄", "虎头钳" , "🗜", "虫" , "🪱", "虾" , "🍤", "蚂蚁" , "🐜", "蚊" , "🦟", "蚝桶" , "🥡", "蚯蚓" , "🪱", "蛆" , "🪰", "蛇" , "🐍", "蛇夫座" , "🐍", "蛋" , "🥚", "蛋糕" , "🎂", "蜂蜜獾" , "🦡", "蜗牛" , "🐌", "蜘蛛" , "🕷", "蜘蛛网" , "🕸", "蜜瓜" , "🍈", "蜜糖" , "🍯", "蜜糖罐" , "🍯", "蜜蜂" , "🐝", "蜡烛" , "🕯", "蜡笔" , "🖍", "蜥蜴" , "🦎", "蝎子" , "🦂", "蝙蝠" , "🦇", "蝴蝶" , "🦋", "蝴蝶结" , "💝", "蝴蝶酥" , "🥨", "融" , "🫕", "螺" , "🐚", "螺丝" , "🪛", "螺丝批" , "🪛", "螺旋" , "🗒", "螺旋形" , "🐚", "螺栓" , "🔩", "螺母" , "🔩", "蟹" , "🦀", "血型" , "🅰", "血液" , "🩸", "行人" , "🚸", "行尸" , "🧟", "行山" , "🥾", "行山鞋" , "🥾", "行李" , "🧳", "行紧路" , "🚶", "行路" , "🚶", "表情" , "🙍", "表演" , "🎭", "衫" , "🎽", "袋" , "👝", "袋棍球" , "🥍", "袋鼠" , "🦘", "袜" , "🧦", "裁剪" , "🪡", "装配" , "👨‍🏭", "装饰" , "📔", "裇衫" , "👕", "裙" , "👗", "裤" , "👖", "西" , "⬅", "西兰花" , "🥦", "西北" , "↖", "西南" , "↙", "西瓜" , "🍉", "西装" , "🕴", "见证" , "👁‍🗨", "解锁" , "🔓", "警告" , "⚠", "警员" , "👮", "警官" , "👮", "警察" , "👮", "警报" , "⏰", "警示灯" , "🚨", "警车" , "🚓", "警车灯" , "🚨", "计数" , "🧮", "计时器" , "⌛", "训紧觉" , "😴", "训觉" , "😪", "讯号" , "📶", "讲" , "🙊", "讲价" , "🉐", "讲大话" , "🤥", "讲师" , "👨‍🏫", "讲野" , "💬", "讽刺" , "😼", "证据" , "🧾", "证明" , "🧾", "试味" , "😝", "试管" , "🧪", "试食" , "😋", "请" , "🙏", "谂野" , "🤔", "调味" , "🧄", "调味料" , "🧂", "调查员" , "🕵", "调皮" , "🦦", "调色板" , "🧑‍🎨", "谷物" , "🌾", "豹" , "🐆", "账簿" , "📒", "货币" , "💴", "货船" , "🎢", "货车" , "🛻", "质问" , "🤌", "购物" , "🛍", "购物袋" , "🛍", "购物车" , "🛒", "资讯" , "💁", "赏月" , "🎑", "赛跑" , "🏃‍♂", "赛跑衫" , "🎽", "赛车" , "🏎", "赛马" , "🏇", "赢" , "😤", "赢咗" , "😤", "赶上" , "🪝", "起重机" , "🛗", "超人" , "🦸", "超级" , "🦸", "趋势" , "💹", "足球" , "⚽", "跆拳道" , "🥋", "跑" , "💨", "跑步" , "🏃", "跑鞋" , "👟", "跪" , "🧎", "跪嘅人" , "🧎", "路" , "🛣", "跳" , "🦘", "跳伞" , "🪂", "跳动" , "💓", "跳舞" , "💃", "踏" , "🦶", "踢" , "🦵", "踩单车" , "🚴", "踫杯" , "🍻", "身份" , "🆔", "身体" , "👂", "车" , "🚃", "车厘子" , "🍒", "车站" , "🚉", "车辆" , "🚝", "轨迹球" , "🖲", "轮" , "🎡", "轮廓" , "☺", "轮椅" , "🧑‍🦼", "软" , "🧇", "软件" , "🧑‍💻", "软雪糕" , "🍦", "轰" , "💥", "轻铁" , "🚈", "较剪" , "✂", "辅助" , "🦾", "输入" , "🔠", "辣" , "🌶", "辣椒" , "🫑", "过山车" , "🎢", "过路" , "🚸", "运动" , "👟", "运动场" , "🎽", "运动鞋" , "👟", "返回" , "🔙", "进入" , "⛔", "进化" , "🧬", "远足" , "🚶", "连住" , "🖇", "连结" , "🔗", "迪亚" , "🪔", "迪亚灯" , "🪔", "迷茫" , "😕", "退出" , "⏏", "送礼" , "🎁", "送货" , "🚚", "送货车" , "🚚", "逆时针" , "🔄", "选框" , "☑", "透明" , "🪟", "通渠" , "🪠", "速度" , "🚄", "道" , "☯", "道教" , "☯", "道歉" , "🙇", "遗传学" , "🧬", "遮" , "🏖", "邋遢" , "🧐", "邪恶" , "🙈", "邪眼" , "🧿", "邮件" , "📧", "邮局" , "🏤", "邮政" , "🏣", "邮箱" , "📫", "郁金香" , "🌷", "部门" , "🏬", "酒" , "🍷", "酒吧" , "🍶", "酒塞" , "🍾", "酒店" , "🛌", "酱" , "🥯", "酷" , "😎", "醉" , "🥴", "醉嘅脸" , "🥴", "醒" , "😎", "采矿" , "⛏", "重" , "🪨", "重覆" , "🔁", "重量" , "⚖", "野牛" , "🦬", "野餐" , "🧺", "金" , "🪙", "金属" , "🪙", "金牌" , "🥇", "金牛座" , "🐂", "针" , "🪡", "针筒" , "💉", "针织" , "🧶", "钓鱼" , "🦦", "钓鱼竿" , "🎣", "钟" , "🛎", "钢琴" , "🎹", "钢笔" , "🖋", "钩针" , "🧶", "钮" , "🎛", "钱" , "🪙", "钱袋" , "💰", "钳" , "🗜", "钻石" , "💍", "铁" , "🧇", "铁路" , "🚂", "铁路车" , "🚃", "铃" , "🎐", "铅笔" , "✏", "铜" , "🥉", "铜牌" , "🥉", "银" , "🪙", "银河" , "🌌", "银牌" , "🥈", "银纸" , "💴", "银行" , "🏦", "链" , "⛓", "锁" , "🔓", "锁匙" , "🔐", "锅" , "🍲", "锚" , "⚓", "锤" , "🔨", "锤同挑" , "⚒", "键盘" , "🎹", "锯" , "🪚", "镜" , "🪞", "镜片" , "🔍", "长大" , "💗", "长条" , "🏮", "长毛象" , "🦣", "长牙" , "🦣", "长裤" , "👖", "长颈鹿" , "🦒", "长鼓" , "🪘", "门" , "🚪", "门券" , "🎫", "闩" , "📴", "闩埋" , "📕", "闪" , "💖", "闪光" , "📸", "闪嘅心" , "💖", "闪电" , "🌩", "闪电云" , "🌩", "闪耀" , "🌟", "闪闪" , "❇", "问" , "🙏", "问号" , "❓", "问题" , "⁉", "间尺" , "📏", "间谍" , "🕵", "闷" , "🪴", "闹钟" , "⏰", "防晒" , "🧴", "阳" , "☯", "阴" , "☯", "阴沉" , "🪐", "阴阳" , "☯", "阶砖" , "♦", "阿米巴" , "🦠", "陆龟" , "🐢", "降落" , "🛬", "降落伞" , "🪂", "除" , "➗", "陶醉" , "🥴", "陷阱" , "🪤", "隐形" , "🥷", "隐私" , "🔏", "障碍物" , "🚧", "雀" , "🦃", "雀仔" , "🐦", "雌性" , "🐑", "雌性猪" , "🐖", "雕像" , "🗽", "雨" , "⛈", "雨云" , "🌧", "雪" , "⛷", "雪云" , "🌨", "雪人" , "☃", "雪山" , "🏔", "雪橇" , "🛷", "雪糕" , "🍦", "雪花" , "❄", "雷电" , "⛈", "雷龙" , "🦕", "雾" , "🌫", "震动" , "📳", "震惊" , "🤯", "露营" , "🏕", "青瓜" , "🥒", "青色" , "🍏", "青苹果" , "🍏", "青蛙" , "🐸", "青蛙脸" , "🐸", "靓" , "🦩", "静" , "🤫", "静音" , "🔇", "非洲" , "🦱", "非饮用" , "🚱", "面" , "🥸", "面具" , "🥸", "面包" , "🍞", "面纱" , "🧕", "靴" , "🥾", "靴子" , "👢", "靶" , "🎯", "靶心" , "🎯", "鞋" , "👞", "鞠躬" , "🙏", "音乐" , "🎼", "音符" , "🎵", "页" , "📃", "顶帽" , "🎩", "顶部" , "🔝", "项链" , "📿", "顺时针" , "🔃", "须" , "🧔", "预言" , "🥠", "预订" , "🈯", "领取" , "🛄", "领呔" , "🪢", "颈" , "🧣", "颈巾" , "🧣", "风" , "🍃", "风筝" , "🪁", "风脸" , "🌬", "风铃" , "🎐", "飘动" , "🍃", "飞" , "🕊", "飞机" , "🧑‍✈", "飞机师" , "🧑‍✈", "飞碟" , "👽", "飞镖" , "🎯", "食物" , "🫒", "餐具" , "🥄", "饭" , "🍙", "饭团" , "🍙", "饮" , "🫖", "饮品" , "🍼", "饮水" , "🚰", "饮用" , "🚰", "饮管杯" , "🥤", "饮酒" , "🍶", "饵" , "🪤", "饺子" , "🥟", "饼" , "🍘", "馅料" , "🥧", "馅饼" , "🫓", "香烟" , "🚬", "香肠" , "🌭", "香草" , "🌿", "香蕉" , "🍌", "马" , "🏇", "马戏团" , "🎪", "马拉松" , "🏃", "马脸" , "🐴", "马蹄铁" , "🧲", "马骝" , "🙈", "马骝脸" , "🐵", "驼峰" , "🐪", "骄傲" , "🦚", "骆马" , "🦙", "骆驼" , "🐪", "骑单车" , "🚵‍♀", "骑师" , "🏇", "骨" , "🍖", "骨头" , "🦴", "骰子" , "🎲", "骷髅头" , "💀", "高压" , "⚡", "高尔夫" , "🏌", "高根鞋" , "👠", "高飞" , "🪁", "髪型屋" , "💈", "鬼" , "👻", "魅力" , "🧿", "魔术" , "🪄", "魔法棒" , "🪄", "魔鬼" , "👿", "鱼" , "🐟", "鱿鱼" , "🦑", "鲤鱼" , "🎏", "鲤鱼旗" , "🎏", "鲨鱼" , "🦈", "鲸鱼" , "🐳", "鳄鱼" , "🐊", "鳍" , "🐬", "鸡" , "🐔", "鸡仔" , "🐤", "鸡尾酒" , "🍸", "鸡泡鱼" , "🐡", "鸡肶" , "🍗", "鸢尾花" , "⚜", "鸣门卷" , "🍥", "鸭" , "🦆", "鸽" , "🕊", "鹰" , "🦅", "鹰嘴豆" , "🧆", "鹿" , "🦌", "麻雀" , "🀄", "黄昏" , "🌆", "黄色" , "💛", "黄色心" , "💛", "黎紧" , "🚍", "黑暗" , "🌑", "黑猫" , "🐈‍⬛", "黑色" , "🖤", "黑色心" , "🖤", "黑色旗" , "🏴", "鼓" , "🪘", "鼓棍" , "🥁", "鼠" , "🐀", "鼻" , "🥸", "齿轮" , "⚙", "龙" , "🐲", "龙卷风" , "🌀", "龙脸" , "🐲", "龙虾" , "🦞", "龙门" , "🥅" }; }; #endif ibus-libpinyin-1.16.1/src/PYEditor.cc0000644000175000017500000000713514556135411013026 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "PYText.h" #include "PYEditor.h" namespace PY { Editor::Editor (PinyinProperties & props, Config & config) : m_cursor (0), m_props (props), m_config (config) { } Editor::~Editor (void) { } gboolean Editor::processKeyEvent (guint keyval, guint keycode, guint modifiers) { if (modifiers & IBUS_MOD4_MASK) return FALSE; modifiers &= (IBUS_CONTROL_MASK | IBUS_MOD1_MASK | IBUS_SUPER_MASK | IBUS_HYPER_MASK | IBUS_META_MASK); /* ignore key events with some masks */ if (modifiers != 0) return TRUE; if (keyval >= IBUS_exclam && keyval <= IBUS_asciitilde) { /* char key */ m_text.insert (m_cursor++, keyval); update (); return TRUE; } else { /* control key */ if (!m_text) return FALSE; } switch (keyval) { case IBUS_BackSpace: if (m_cursor > 0) { m_text.erase (--m_cursor, 1); update (); } return TRUE; case IBUS_Delete: case IBUS_KP_Delete: if (m_cursor < m_text.length ()) { m_text.erase (m_cursor, 1); update (); } return TRUE; case IBUS_Left: case IBUS_KP_Left: if (!m_text) return FALSE; if (m_cursor > 0) { m_cursor --; update (); } return TRUE; case IBUS_Right: case IBUS_KP_Right: if (m_cursor < m_text.length ()) { m_cursor ++; update (); } return TRUE; case IBUS_space: case IBUS_Return: case IBUS_KP_Enter: { StaticText text (m_text); commitText (text); reset (); } return TRUE; case IBUS_Escape: reset (); return TRUE; default: return TRUE; } } void Editor::reset (void) { gboolean need_update = (m_cursor != 0 || !m_text.empty ()); m_cursor = 0; m_text = ""; if (need_update) update (); } void Editor::pageUp (void) { } void Editor::pageDown (void) { } void Editor::cursorUp (void) { } void Editor::cursorDown (void) { } void Editor::candidateClicked (guint index, guint button, guint state) { } void Editor::update (void) { if (m_text) { StaticText text (m_text); text.appendAttribute (IBUS_ATTR_TYPE_UNDERLINE, IBUS_ATTR_UNDERLINE_SINGLE, 0, -1); updatePreeditText (text, m_cursor, TRUE); } else { hidePreeditText (); } } void Editor::updateAll (void) { update (); } int Editor::selectCandidateInternal (EnhancedCandidate & candidate) { return SELECT_CANDIDATE_ALREADY_HANDLED; } gboolean Editor::removeCandidateInternal (EnhancedCandidate & candidate) { return FALSE; } }; ibus-libpinyin-1.16.1/src/PYPCloudCandidates.h0000644000175000017500000000574014455173634014617 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2018 linyu Xu * Copyright (c) 2020 Weixuan XIAO * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef __PY_LIB_PINYIN_ClOUD_CANDIDATES_H_ #define __PY_LIB_PINYIN_ClOUD_CANDIDATES_H_ #include "PYString.h" #include "PYPointer.h" #include "PYPEnhancedCandidates.h" #include #include #include #include #include #include #include "PYConfig.h" class CloudCandidatesResponseParser; namespace PY { #define BUFFERLENGTH 2048 #define CLOUD_MINIMUM_UTF8_TRIGGER_LENGTH 2 enum InputMode { FullPinyin = 0, DoublePinyin, Bopomofo }; class PhoneticEditor; class CloudCandidates : public EnhancedCandidates { public: CloudCandidates (PhoneticEditor *editor); ~CloudCandidates(); void setInputMode (InputMode mode) { m_input_mode = mode; } gboolean processCandidates (std::vector & candidates); int selectCandidate (EnhancedCandidate & enhanced); void cloudAsyncRequest (gpointer user_data); void cloudSyncRequest (const gchar* pinyin, std::vector & candidates); void delayedCloudAsyncRequest (const gchar* pinyin); void updateLookupTable (); guint m_source_event_id; SoupMessage *m_message; GCancellable *m_cancel_message; std::string m_last_requested_pinyin; private: static gboolean delayedCloudAsyncRequestCallBack (gpointer user_data); static void cloudResponseCallBack (GObject *object, GAsyncResult *result, gpointer user_data); gboolean processCloudResponse (GInputStream *stream, std::vector & candidates, const gchar *pinyin); /* get internal full pinyin representation */ String getFullPinyin (); void resetCloudResponseParser (); private: SoupSession *m_session; InputMode m_input_mode; CloudInputSource m_input_source; CloudCandidatesResponseParser *m_parser; GTimer *m_timer; protected: std::vector m_candidates; /* The candidate cache contains some candidates from libpinyin, use this cache to remove duplicated cloud candidates. */ std::set m_candidate_cache; }; }; #endif ibus-libpinyin-1.16.1/src/PYPinyinProperties.cc0000644000175000017500000002615214763755320015132 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "PYPinyinProperties.h" #include #include "PYText.h" #include "PYConfig.h" #ifdef IBUS_BUILD_LUA_EXTENSION #include "lua-plugin.h" #endif namespace PY { #define _(text) (dgettext (GETTEXT_PACKAGE, text)) #define N_(text) text PinyinProperties::PinyinProperties (Config & config) : m_config (config), m_mode_chinese (m_config.initChinese ()), m_mode_full (m_config.initFull ()), m_mode_full_punct (m_config.initFullPunct ()), m_mode_simp (m_config.initSimpChinese ()), m_prop_chinese ("InputMode", PROP_TYPE_NORMAL, StaticText (m_mode_chinese ? _("Chinese") : _("English")), m_mode_chinese ? PKGDATADIR"/icons/chinese.svg" : PKGDATADIR"/icons/english.svg", StaticText (m_mode_chinese ? _("Switch to English Mode") : _("Switch to Chinese Mode"))), m_prop_full ("mode.full", PROP_TYPE_NORMAL, StaticText (m_mode_full ? _("Full Width Letter") : _("Half Width Letter")), m_mode_full ? PKGDATADIR"/icons/full.svg" : PKGDATADIR"/icons/half.svg", StaticText (m_mode_full ? _("Switch to Half Width Letter Mode"): _("Switch to Full Width Letter Mode"))), m_prop_full_punct ("mode.full_punct", PROP_TYPE_NORMAL, StaticText (m_mode_full_punct ? _("Full Width Punct") : _("Half Width Punct")), m_mode_full_punct ? PKGDATADIR"/icons/full-punct.svg" : PKGDATADIR"/icons/half-punct.svg", StaticText (m_mode_full_punct ? _("Switch to Half Width Punctuation Mode"): _("Switch to Full Width Punctuation Mode"))), m_prop_simp ( "mode.simp", PROP_TYPE_NORMAL, StaticText (m_mode_simp ? _("Simplified Chinese") : _("Traditional Chinese")), m_mode_simp ? PKGDATADIR"/icons/simp-chinese.svg" : PKGDATADIR"/icons/trad-chinese.svg", StaticText (m_mode_simp ? _("Switch to Traditional Chinese Mode"): _("Switch to Simplfied Chinese Mode"))), m_prop_setup ("setup", PROP_TYPE_NORMAL, StaticText (_("Preferences")), "ibus-setup", StaticText (_("Preferences"))) { if (m_mode_chinese) m_prop_chinese.setSymbol(N_("中")); else m_prop_chinese.setSymbol(N_("英")); m_props.append (m_prop_chinese); m_props.append (m_prop_full); m_props.append (m_prop_full_punct); m_props.append (m_prop_simp); m_props.append (m_prop_setup); #ifdef IBUS_BUILD_LUA_EXTENSION m_prop_lua_converter = NULL; #endif } PinyinProperties::~PinyinProperties (void) { #ifdef IBUS_BUILD_LUA_EXTENSION if (m_prop_lua_converter) { delete m_prop_lua_converter; m_prop_lua_converter = NULL; } for (auto iter = m_props_lua_converter_vec.begin (); iter != m_props_lua_converter_vec.end (); ++iter) { delete *iter; } for (auto iter = m_lua_converter_names.begin (); iter != m_lua_converter_names.end (); ++iter) { delete *iter; } #endif } void PinyinProperties::toggleModeChinese (void) { m_mode_chinese = ! m_mode_chinese; m_prop_chinese.setLabel (m_mode_chinese ? _("Chinese") : _("English")); if (m_mode_chinese) m_prop_chinese.setSymbol(N_("中")); else m_prop_chinese.setSymbol(N_("英")); m_prop_chinese.setIcon (m_mode_chinese ? PKGDATADIR"/icons/chinese.svg" : PKGDATADIR"/icons/english.svg"); m_prop_chinese.setTooltip (m_mode_chinese ? _("Switch to English Mode") : _("Switch to Chinese Mode")); updateProperty (m_prop_chinese); m_prop_full_punct.setSensitive (m_mode_chinese); updateProperty (m_prop_full_punct); } void PinyinProperties::toggleModeFull (void) { m_mode_full = !m_mode_full; m_prop_full.setLabel (m_mode_full ? _("Full Width Letter") : _("Half Width Letter")); m_prop_full.setIcon (m_mode_full ? PKGDATADIR"/icons/full.svg" : PKGDATADIR"/icons/half.svg"); m_prop_full.setTooltip (m_mode_full ? _("Switch to Half Width Letter Mode"): _("Switch to Full Width Letter Mode")); updateProperty (m_prop_full); } void PinyinProperties::toggleModeFullPunct (void) { m_mode_full_punct = !m_mode_full_punct; m_prop_full_punct.setLabel (m_mode_full_punct ? _("Full Width Punct") : _("Half Width Punct")); m_prop_full_punct.setIcon (m_mode_full_punct ? PKGDATADIR"/icons/full-punct.svg" : PKGDATADIR"/icons/half-punct.svg"); m_prop_full_punct.setTooltip(m_mode_full_punct ? _("Switch to Half Width Punctuation Mode"): _("Switch to Full Width Punctuation Mode")); updateProperty (m_prop_full_punct); } void PinyinProperties::toggleModeSimp (void) { m_mode_simp = ! m_mode_simp; m_prop_simp.setLabel (m_mode_simp ? _("Simplified Chinese") : _("Traditional Chinese")); m_prop_simp.setIcon (m_mode_simp ? PKGDATADIR"/icons/simp-chinese.svg" : PKGDATADIR"/icons/trad-chinese.svg"); m_prop_simp.setTooltip(m_mode_simp ? _("Switch to Traditional Chinese Mode"): _("Switch to Simplfied Chinese Mode")); updateProperty (m_prop_simp); } void PinyinProperties::reset (void) { if (modeChinese () != m_config.initChinese ()) { toggleModeChinese (); } if (modeFull () != m_config.initFull ()) { toggleModeFull (); } if (modeFullPunct () != m_config.initFullPunct ()) { toggleModeFullPunct (); } if (modeSimp () != m_config.initSimpChinese ()) { toggleModeSimp (); } } gboolean PinyinProperties::propertyActivate (const gchar *prop_name, guint prop_state) { const static std::string mode_chinese ("InputMode"); const static std::string mode_full ("mode.full"); const static std::string mode_full_punct ("mode.full_punct"); const static std::string mode_simp ("mode.simp"); if (mode_chinese == prop_name) { toggleModeChinese (); return TRUE; } else if (mode_full == prop_name) { toggleModeFull (); return TRUE; } else if (mode_full_punct == prop_name) { toggleModeFullPunct (); return TRUE; } else if (mode_simp == prop_name) { toggleModeSimp (); return TRUE; } #ifdef IBUS_BUILD_LUA_EXTENSION const int len = strlen("LuaConverter."); if (0 == strncmp (prop_name, "LuaConverter.", len)) { toggleLuaConverter (len, prop_name, prop_state); return TRUE; } #endif return FALSE; } #ifdef IBUS_BUILD_LUA_EXTENSION gboolean PinyinProperties::setLuaPlugin (IBusEnginePlugin *plugin) { m_lua_plugin = plugin; return TRUE; } void PinyinProperties::toggleLuaConverter (const int prefix_len, const gchar *prop_name, guint prop_state) { if (prop_state == PROP_STATE_CHECKED) { std::string name = prop_name + prefix_len; if (name == "None") m_config.luaConverter (""); else m_config.luaConverter (name); } for (auto iter = m_props_lua_converter_vec.begin (); iter != m_props_lua_converter_vec.end (); ++iter) { Property *prop = *iter; if (0 == g_strcmp0 (prop->getKey (), prop_name)) { prop->setState ((IBusPropState) prop_state); updateProperty (*prop); } } } gboolean PinyinProperties::appendLuaConverter (void) { if (!m_lua_plugin) return FALSE; const GArray * converters = ibus_engine_plugin_get_available_converters (m_lua_plugin); if (converters->len == 0) return FALSE; m_prop_lua_converter = new Property ("LuaConverter", PROP_TYPE_MENU, StaticText (_("Lua Converter")), PKGDATADIR"/icons/lua-converter.svg", StaticText (_("Use the Lua Convertor"))); Property * prop = NULL; /* Add the None converter. */ prop = new Property ("LuaConverter.None", PROP_TYPE_RADIO, StaticText (_("None"))); if (m_config.luaConverter ().empty ()) prop->setState (PROP_STATE_CHECKED); m_props_lua_converter_vec.push_back (prop); m_props_lua_converter_list.append (*prop); /* Add the User Lua Converters. */ for (int i = 0; i < converters->len; i++) { lua_converter_t *converter = &g_array_index (converters, lua_converter_t, i); const gchar *name = converter->lua_function_name; gchar *key = g_strdup_printf ("LuaConverter.%s", name); m_lua_converter_names.push_back (key); prop = new Property (key, PROP_TYPE_RADIO, Text (converter->description)); if (!m_config.luaConverter ().empty () && m_config.luaConverter () == name) prop->setState (PROP_STATE_CHECKED); m_props_lua_converter_vec.push_back (prop); m_props_lua_converter_list.append (*prop); } m_prop_lua_converter->setSubProps (m_props_lua_converter_list); m_props.append (*m_prop_lua_converter); return TRUE; } #endif }; ibus-libpinyin-1.16.1/src/PYPLuaConverterCandidates.h0000664000175000017500000000312713672072346016157 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2018 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_LIB_PINYIN_LUA_CONVERTER_CANDIDATES_H_ #define __PY_LIB_PINYIN_LUA_CONVERTER_CANDIDATES_H_ #include "lua-plugin.h" #include #include "PYPointer.h" #include "PYPEnhancedCandidates.h" namespace PY { class Editor; class LuaConverterCandidates : public EnhancedCandidates { public: LuaConverterCandidates (Editor *editor); public: gboolean setLuaPlugin (IBusEnginePlugin * plugin); gboolean setConverter (const char * lua_function_name); gboolean processCandidates (std::vector & candidates); int selectCandidate (EnhancedCandidate & enhanced); gboolean removeCandidate (EnhancedCandidate & enhanced); protected: std::vector m_candidates; Pointer m_lua_plugin; }; }; #endif ibus-libpinyin-1.16.1/src/PYTableDatabase.h0000644000175000017500000000417714455173634014130 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2012 Peng Wu * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef __PY_TABLE_DATABASE_ #define __PY_TABLE_DATABASE_ #include #include #include #include #include "PYString.h" #include "PYUtil.h" namespace PY { class TableDatabase{ public: static void init (); static TableDatabase & systemInstance (void) { return *m_system_instance; } static TableDatabase & userInstance (void) { return *m_user_instance; } public: TableDatabase(); ~TableDatabase(); public: gboolean isDatabaseExisted(const char *filename); gboolean createDatabase(const char *filename); gboolean openDatabase(const char *filename, gboolean writable); gboolean listPhrases(const char *prefix, std::vector & phrases); gboolean getPhraseInfo(const char *phrase, int & freq); gboolean updatePhrase(const char *phrase, int freq); gboolean deletePhrase(const char *phrase, int freq); gboolean importTable (const char *filename); gboolean exportTable (const char *filename); gboolean clearTable (); private: gboolean executeSQL(sqlite3 *sqlite); private: sqlite3 *m_sqlite; String m_sql; private: static std::unique_ptr m_system_instance; static std::unique_ptr m_user_instance; }; }; #endif ibus-libpinyin-1.16.1/src/PYTableDatabase.cc0000644000175000017500000003107214764712036014256 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2012 Peng Wu * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "PYTableDatabase.h" namespace PY { std::unique_ptr TableDatabase::m_system_instance; std::unique_ptr TableDatabase::m_user_instance; void TableDatabase::init () { /* system table database */ if (m_system_instance.get () == NULL) { m_system_instance.reset (new TableDatabase ()); } gboolean result = m_system_instance->openDatabase (".." G_DIR_SEPARATOR_S "data" G_DIR_SEPARATOR_S "table.db", FALSE) || m_system_instance->openDatabase (PKGDATADIR G_DIR_SEPARATOR_S "db" G_DIR_SEPARATOR_S "table.db", FALSE); if (!result) g_warning ("can't open system table database.\n"); /* user table database */ if (m_user_instance.get () == NULL) { m_user_instance.reset (new TableDatabase ()); } gchar *path = g_build_filename (g_get_user_cache_dir (), "ibus", "libpinyin", "table-user.db", NULL); if (!m_user_instance->isDatabaseExisted (path)) result = m_user_instance->createDatabase (path); result = m_user_instance->openDatabase (path, TRUE); if (!result) g_warning ("can't open user table database.\n"); g_free (path); } TableDatabase::TableDatabase(){ m_sqlite = NULL; m_sql = ""; } TableDatabase::~TableDatabase(){ if (m_sqlite){ sqlite3_close (m_sqlite); m_sqlite = NULL; } m_sql = ""; } gboolean TableDatabase::isDatabaseExisted(const char *filename) { gboolean result = g_file_test(filename, G_FILE_TEST_IS_REGULAR); if (!result) return FALSE; sqlite3 *tmp_db = NULL; if (sqlite3_open_v2 (filename, &tmp_db, SQLITE_OPEN_READONLY, NULL) != SQLITE_OK){ return FALSE; } /* Check the desc table */ sqlite3_stmt *stmt = NULL; const char *tail = NULL; m_sql = "SELECT value FROM desc WHERE name = 'version';"; result = sqlite3_prepare_v2 (tmp_db, m_sql.c_str(), -1, &stmt, &tail); if (result != SQLITE_OK) return FALSE; result = sqlite3_step (stmt); if (result != SQLITE_ROW) return FALSE; result = sqlite3_column_type (stmt, 0); if (result != SQLITE_TEXT) return FALSE; const char *version = (const char *) sqlite3_column_text (stmt, 0); if (strcmp("1.12.0", version) != 0) return FALSE; result = sqlite3_finalize (stmt); g_assert (result == SQLITE_OK); sqlite3_close (tmp_db); return TRUE; } gboolean TableDatabase::createDatabase(const char *filename) { /* unlink the old database. */ gboolean retval = g_file_test (filename, G_FILE_TEST_IS_REGULAR); if (retval) { int result = g_unlink (filename); if (result == -1) return FALSE; } char *dirname = g_path_get_dirname (filename); g_mkdir_with_parents (dirname, 0700); g_free (dirname); sqlite3 *tmp_db = NULL; if (sqlite3_open_v2 (filename, &tmp_db, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL) != SQLITE_OK) { return FALSE; } /* Create DESCription table */ m_sql = "BEGIN TRANSACTION;\n"; m_sql << "CREATE TABLE IF NOT EXISTS desc (name TEXT PRIMARY KEY, value TEXT);\n"; m_sql << "INSERT OR IGNORE INTO desc VALUES ('version', '1.12.0');"; m_sql << "COMMIT;\n"; if (!executeSQL (tmp_db)) { sqlite3_close (tmp_db); return FALSE; } /* Create Schema */ m_sql = "CREATE TABLE IF NOT EXISTS phrases ( " "id INTEGER PRIMARY KEY NOT NULL," "tabkeys TEXT NOT NULL," "phrase TEXT NOT NULL," "freq INTEGER NOT NULL DEFAULT (10)" ");"; if (!executeSQL (tmp_db)) { sqlite3_close (tmp_db); return FALSE; } sqlite3_close (tmp_db); return TRUE; } /* Self-learning is only in user table database file. */ gboolean TableDatabase::openDatabase(const char *filename, gboolean writable) { int flags = SQLITE_OPEN_READONLY; if (writable) flags = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE; /* open system database. */ if (sqlite3_open_v2 (filename, &m_sqlite, flags, NULL) != SQLITE_OK) { m_sqlite = NULL; return FALSE; } return TRUE; } /* List the phrases in frequency and id order. */ gboolean TableDatabase::listPhrases(const char *prefix, std::vector & phrases){ sqlite3_stmt *stmt = NULL; const char *tail = NULL; phrases.clear (); /* list phrases */ const char *SQL_DB_LIST = "SELECT phrase FROM phrases " "WHERE tabkeys LIKE \"%s%\" GROUP by phrase " "ORDER BY LENGTH(phrase) ASC, SUM(freq) DESC, id ASC;"; m_sql.printf (SQL_DB_LIST, prefix); int result = sqlite3_prepare_v2 (m_sqlite, m_sql.c_str(), -1, &stmt, &tail); if (result != SQLITE_OK) return FALSE; result = sqlite3_step (stmt); while (result == SQLITE_ROW){ /* get the phrases. */ result = sqlite3_column_type (stmt, 0); if (result != SQLITE_TEXT) return FALSE; const char *phrase = (const char *)sqlite3_column_text (stmt, 0); phrases.push_back (phrase); result = sqlite3_step (stmt); } sqlite3_finalize (stmt); if (result != SQLITE_DONE) return FALSE; return TRUE; } gboolean TableDatabase::getPhraseInfo(const char *phrase, int & freq){ sqlite3_stmt *stmt = NULL; const char *tail = NULL; /* get phrase info */ const char *SQL_DB_SELECT = "SELECT freq FROM phrases WHERE phrase = \"%s\";"; m_sql.printf (SQL_DB_SELECT, phrase); int result = sqlite3_prepare_v2 (m_sqlite, m_sql.c_str (), -1, &stmt, &tail); g_assert (result == SQLITE_OK); result = sqlite3_step (stmt); if (result != SQLITE_ROW) return FALSE; result = sqlite3_column_type (stmt, 0); if (result != SQLITE_INTEGER) return FALSE; freq = sqlite3_column_int (stmt, 0); result = sqlite3_finalize (stmt); g_assert (result == SQLITE_OK); return TRUE; } gboolean TableDatabase::updatePhrase(const char *phrase, int freq){ const char *SQL_DB_UPDATE = "UPDATE phrases SET freq = \"%d\" WHERE phrase = \"%s\";"; m_sql.printf (SQL_DB_UPDATE, freq, phrase); gboolean retval = executeSQL (m_sqlite); return retval; } gboolean TableDatabase::deletePhrase(const char *phrase, int freq){ const char *SQL_DB_DELETE = "DELETE FROM phrases WHERE phrase = \"%s\";"; m_sql.printf (SQL_DB_DELETE, phrase); gboolean retval = executeSQL (m_sqlite); return retval; } gboolean TableDatabase::importTable (const char *filename){ /* Import the table into user database. */ sqlite3_stmt *stmt = NULL; const char *tail = NULL; FILE *input = fopen (filename, "r"); if (input == NULL) return FALSE; /* Get the next id, which is "MAX(id) + 1". */ const char *SQL_DB_SELECT = "SELECT MAX(id) FROM phrases;"; m_sql = SQL_DB_SELECT; int result = sqlite3_prepare_v2 (m_sqlite, m_sql.c_str (), -1, &stmt, &tail); if (result != SQLITE_OK) { fclose (input); return FALSE; } result = sqlite3_step (stmt); if (result != SQLITE_ROW) { fclose (input); return FALSE; } int id = 0; result = sqlite3_column_type (stmt, 0); if (result == SQLITE_INTEGER) id = sqlite3_column_int (stmt, 0); else if (result == SQLITE_NULL) id = 0; else g_warning ("Can't find id for user table database."); m_sql = "BEGIN TRANSACTION;"; if (!executeSQL (m_sqlite)) { fclose (input); return FALSE; } /* Open the table file with format: "tabkeys phrase freq". */ while (!feof (input)) { ++id; char tabkeys[256], phrase[256]; int freq = 10; fscanf (input, "%255s %255s %d\n", tabkeys, phrase, &freq); if (tabkeys[0] == '\0' || phrase[0] == '\0') break; const char *SQL_DB_REPLACE = "INSERT OR REPLACE INTO phrases (id, tabkeys, phrase, freq) " "VALUES (%d, \"%s\", \"%s\", %d);"; m_sql.printf (SQL_DB_REPLACE, id, tabkeys, phrase, freq); gboolean retval = executeSQL (m_sqlite); if (!retval) break; } m_sql = "COMMIT;"; if (!executeSQL (m_sqlite)) { fclose (input); return FALSE; } fclose (input); return TRUE; } gboolean TableDatabase::exportTable (const char *filename){ /* Export the content of user database. */ sqlite3_stmt *stmt = NULL; const char *tail = NULL; /* Get the content of phrases table by "id" order. */ const char *SQL_DB_SELECT = "SELECT tabkeys, phrase, freq FROM phrases " "ORDER BY id ASC;"; m_sql = SQL_DB_SELECT; int result = sqlite3_prepare_v2 (m_sqlite, m_sql.c_str (), -1, &stmt, &tail); if (result != SQLITE_OK) return FALSE; /* Write the table file with format: "tabkeys phrase freq". */ FILE *output = fopen (filename, "w"); if (output == NULL) return FALSE; result = sqlite3_step (stmt); while (result == SQLITE_ROW){ /* write one line. */ result = sqlite3_column_type (stmt, 0); if (result != SQLITE_TEXT) { fclose (output); return FALSE; } const char *tabkeys = (const char *)sqlite3_column_text (stmt, 0); result = sqlite3_column_type (stmt, 1); if (result != SQLITE_TEXT) { fclose (output); return FALSE; } const char *phrase = (const char *)sqlite3_column_text (stmt, 1); result = sqlite3_column_type (stmt, 2); if (result != SQLITE_INTEGER) { fclose (output); return FALSE; } const int freq = sqlite3_column_int (stmt, 2); fprintf (output, "%s\t%s\t%d\n", tabkeys, phrase, freq); result = sqlite3_step (stmt); } fclose (output); sqlite3_finalize (stmt); if (result != SQLITE_DONE) return FALSE; return TRUE; } gboolean TableDatabase::clearTable (){ const char *SQL_DB_DELETE = "DELETE FROM phrases;"; m_sql = SQL_DB_DELETE; gboolean retval = executeSQL (m_sqlite); return retval; } gboolean TableDatabase::executeSQL(sqlite3 *sqlite){ gchar *errmsg = NULL; if (sqlite3_exec (sqlite, m_sql.c_str (), NULL, NULL, &errmsg) != SQLITE_OK) { g_warning ("%s: %s", errmsg, m_sql.c_str()); sqlite3_free (errmsg); return FALSE; } m_sql.clear (); return TRUE; } #if 0 /* using static initializor to test table database here. */ static class TestTableDatabase{ public: TestTableDatabase (){ TableDatabase *db = new TableDatabase (); bool retval = db->isDatabaseExisted ("../data/table.db"); g_assert (retval); retval = db->openDatabase ("../data/table.db", FALSE); g_assert (retval); std::vector phrases; std::vector::iterator iter; db->listPhrases("hshshhh", phrases); printf ("characters:\t"); for (iter = phrases.begin(); iter != phrases.end(); ++iter) printf ("%s ", iter->c_str()); printf ("\n"); phrases.clear (); delete db; db = new TableDatabase (); if (!db->isDatabaseExisted ("table.db")) db->createDatabase ("table.db"); db->openDatabase ("table.db", TRUE); db->importTable ("table.txt"); db->exportTable ("export.txt"); db->listPhrases("a", phrases); printf ("characters:\t"); for (iter = phrases.begin(); iter != phrases.end(); ++iter) printf ("%s ", iter->c_str()); printf ("\n"); printf ("table database test ok.\n"); } } test_table_database; #endif }; ibus-libpinyin-1.16.1/src/PYEnglishDatabase.h0000644000175000017500000000412714455173634014465 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2021 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_ENGLISH_DATABASE_ #define __PY_ENGLISH_DATABASE_ #include #include #include #include "PYString.h" namespace PY{ class EnglishDatabase{ public: static void init (); static EnglishDatabase & instance (void) { return *m_instance; } public: EnglishDatabase(); ~EnglishDatabase(); gboolean isDatabaseExisted(const char *filename); gboolean createDatabase(const char *filename); gboolean openDatabase(const char *system_db, const char *user_db); gboolean hasWord(const char *word); gboolean listWords(const char *prefix, std::vector & words); gboolean getUserWordInfo(const char *word, float & freq); gboolean insertUserWord(const char *word, float freq); gboolean updateUserWord(const char *word, float freq); gboolean deleteUserWord(const char *word); gboolean train(const char *word, float delta); private: gboolean executeSQL(sqlite3 *sqlite); gboolean loadUserDB (void); gboolean saveUserDB (void); void modified (void); static gboolean timeoutCallback (gpointer data); private: sqlite3 *m_sqlite; String m_sql; const char *m_user_db; guint m_timeout_id; GTimer *m_timer; private: static std::unique_ptr m_instance; }; }; #endif ibus-libpinyin-1.16.1/src/PYPLuaTriggerCandidates.h0000664000175000017500000000277714004216664015616 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2018 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_LIB_PINYIN_LUA_TRIGGER_CANDIDATES_H_ #define __PY_LIB_PINYIN_LUA_TRIGGER_CANDIDATES_H_ #include "lua-plugin.h" #include "PYPointer.h" #include "PYPEnhancedCandidates.h" namespace PY { class Editor; class LuaTriggerCandidates : public EnhancedCandidates { public: LuaTriggerCandidates (Editor *editor); public: gboolean setLuaPlugin (IBusEnginePlugin *plugin); gboolean processCandidates (std::vector & candidates); int selectCandidate (EnhancedCandidate & enhanced); gboolean removeCandidate (EnhancedCandidate & enhanced); protected: std::vector m_candidates; Pointer m_lua_plugin; }; }; #endif ibus-libpinyin-1.16.1/src/PYPPinyinEditor.cc0000644000175000017500000002060414737121766014342 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2011 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "PYPPinyinEditor.h" #include "PYConfig.h" #include "PYPinyinProperties.h" #include "PYSimpTradConverter.h" #include "PYHalfFullConverter.h" #include "PYLibPinyin.h" using namespace PY; /* init static members*/ PinyinEditor::PinyinEditor (PinyinProperties & props, Config & config) : PhoneticEditor (props, config) { } /** * process pinyin */ inline gboolean PinyinEditor::processPinyin (guint keyval, guint keycode, guint modifiers) { if (G_UNLIKELY (cmshm_filter (modifiers) != 0)) return m_text ? TRUE : FALSE; return insert (keyval); } /** * process numbers */ inline gboolean PinyinEditor::processNumber (guint keyval, guint keycode, guint modifiers) { guint i; if (m_text.empty ()) return FALSE; modifiers = cmshm_filter (modifiers); switch (keyval) { case IBUS_0: case IBUS_KP_0: i = 9; break; case IBUS_1 ... IBUS_9: i = keyval - IBUS_1; break; case IBUS_KP_1 ... IBUS_KP_9: i = keyval - IBUS_KP_1; break; default: g_return_val_if_reached (FALSE); } if (modifiers == 0) selectCandidateInPage (i); update (); return TRUE; } inline gboolean PinyinEditor::processPunct (guint keyval, guint keycode, guint modifiers) { if (m_text.empty ()) return FALSE; if (cmshm_filter (modifiers) != 0) return TRUE; switch (keyval) { case IBUS_apostrophe: return insert (keyval); case IBUS_comma: if (m_config.commaPeriodPage ()) { pageUp (); return TRUE; } break; case IBUS_minus: if (m_config.minusEqualPage ()) { pageUp (); return TRUE; } break; case IBUS_bracketleft: if (m_config.squareBracketPage ()) { pageUp (); return TRUE; } break; case IBUS_period: if (m_config.commaPeriodPage ()) { pageDown (); return TRUE; } break; case IBUS_equal: if (m_config.minusEqualPage ()) { pageDown (); return TRUE; } break; case IBUS_bracketright: if (m_config.squareBracketPage ()) { pageDown (); return TRUE; } break; } if (m_config.autoCommit ()) { if (m_lookup_table.size ()) { selectCandidate (m_lookup_table.cursorPos ()); } commit (); return FALSE; } return FALSE; } inline gboolean PinyinEditor::processFunctionKey (guint keyval, guint keycode, guint modifiers) { if (m_text.empty ()) return FALSE; /* ignore numlock */ modifiers = cmshm_filter (modifiers); if (modifiers != 0 && modifiers != IBUS_CONTROL_MASK) return TRUE; /* process some cursor control keys */ if (modifiers == 0) { /* no modifiers. */ switch (keyval) { case IBUS_Shift_L: if (!m_config.shiftSelectCandidate ()) return FALSE; selectCandidateInPage (1); return TRUE; case IBUS_Shift_R: if (!m_config.shiftSelectCandidate ()) return FALSE; selectCandidateInPage (2); return TRUE; } } return PhoneticEditor::processFunctionKey (keyval, keycode, modifiers); } gboolean PinyinEditor::processKeyEvent (guint keyval, guint keycode, guint modifiers) { if (modifiers & IBUS_MOD4_MASK) return FALSE; modifiers &= (IBUS_SHIFT_MASK | IBUS_CONTROL_MASK | IBUS_MOD1_MASK | IBUS_SUPER_MASK | IBUS_HYPER_MASK | IBUS_META_MASK | IBUS_LOCK_MASK); switch (keyval) { /* letters */ case IBUS_a ... IBUS_z: return processPinyin (keyval, keycode, modifiers); case IBUS_0 ... IBUS_9: case IBUS_KP_0 ... IBUS_KP_9: return processNumber (keyval, keycode, modifiers); case IBUS_exclam ... IBUS_slash: case IBUS_colon ... IBUS_at: case IBUS_bracketleft ... IBUS_quoteleft: case IBUS_braceleft ... IBUS_asciitilde: return processPunct (keyval, keycode, modifiers); case IBUS_space: return processSpace (keyval, keycode, modifiers); default: return processFunctionKey (keyval, keycode, modifiers); } } void PinyinEditor::commit (const gchar *str) { if (G_UNLIKELY (m_text.empty ())) return; m_buffer.clear (); /* sentence candidate */ m_buffer << str; /* text after pinyin */ const gchar *p = m_text.c_str() + m_pinyin_len; if (G_UNLIKELY (m_props.modeFull ())) { while (*p != '\0') { m_buffer.appendUnichar (HalfFullConverter::toFull (*p++)); } } else { m_buffer << p; } Text text (m_buffer.c_str ()); commitText (text); reset(); } void PinyinEditor::updatePreeditText () { if (DISPLAY_STYLE_COMPACT == m_config.displayStyle () || DISPLAY_STYLE_COMPATIBILITY == m_config.displayStyle ()) return; guint num = 0; pinyin_get_n_candidate (m_instance, &num); /* preedit text = guessed sentence + un-parsed pinyin text */ if (G_UNLIKELY (m_text.empty () || 0 == num)) { hidePreeditText (); return; } m_buffer.clear (); /* for Legacy mode */ if (m_config.sortOption () & SORT_WITHOUT_SENTENCE_CANDIDATE) { hidePreeditText (); return; } /* probe nbest match candidate */ lookup_candidate_type_t type; lookup_candidate_t * candidate = NULL; pinyin_get_candidate (m_instance, 0, &candidate); pinyin_get_candidate_type (m_instance, candidate, &type); gchar * sentence = NULL; if (NBEST_MATCH_CANDIDATE == type) { pinyin_get_sentence (m_instance, 0, &sentence); m_buffer< libpinyin zh_CN GPL Peng Wu <alexepico@gmail.com> Peng Huang <shawn.p.huang@gmail.com> BYVoid <byvoid1@gmail.com> @PKGDATADIR@/icons/ibus-pinyin.svg default Intelligent Pinyin Intelligent Pinyin input method 99 @ICON_PROP_KEY_XML@ @LIBEXECDIR@/ibus-setup-libpinyin libpinyin @VERSION@ ibus-libpinyin libbopomofo zh_TW GPL Peng Wu <alexepico@gmail.com> Peng Huang <shawn.p.huang@gmail.com> BYVoid <byvoid1@gmail.com> @PKGDATADIR@/icons/ibus-bopomofo.svg default Bopomofo Bopomofo input method 98 @ICON_PROP_KEY_XML@ @LIBEXECDIR@/ibus-setup-libpinyin libbopomofo @VERSION@ ibus-libpinyin ibus-libpinyin-1.16.1/src/Makefile.am0000644000175000017500000001357714726715641013073 # vim:set noet ts=4: # # ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus # # Copyright (c) 2008-2010 Peng Huang # ## This program is free software: you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation, either version 3 of the License, or ## (at your option) any later version. ## ## This program 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 General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program. If not, see . libexec_PROGRAMS = ibus-engine-libpinyin ibus_engine_libpinyin_built_c_sources = \ $(NULL) ibus_engine_libpinyin_built_h_sources = \ PYPunctTable.h \ PYSimpTradConverterTable.h \ $(NULL) ibus_engine_libpinyin_c_sources = \ PYConfig.cc \ PYEditor.cc \ PYEngine.cc \ PYFallbackEditor.cc \ PYHalfFullConverter.cc \ PYMain.cc \ PYPinyinProperties.cc \ PYPunctEditor.cc \ PYSimpTradConverter.cc \ $(NULL) ibus_engine_libpinyin_h_sources = \ PYBus.h \ PYConfig.h \ PYEditor.h \ PYEngine.h \ PYExtEditor.h \ PYFallbackEditor.h \ PYHalfFullConverter.h \ PYLookupTable.h \ PYObject.h \ PYPinyinProperties.h \ PYPointer.h \ PYProperty.h \ PYPunctEditor.h \ PYRawEditor.h \ PYSignal.h \ PYSimpTradConverter.h \ PYString.h \ PYText.h \ PYTypes.h \ PYUtil.h \ PYTableDatabase.h \ PYTableEditor.h \ PYEnglishDatabase.h \ PYEnglishEditor.h \ PYPEnglishCandidates.h \ PYLibPinyin.h \ PYPPhoneticEditor.h \ PYPPinyinEditor.h \ PYPFullPinyinEditor.h \ PYPDoublePinyinEditor.h \ PYPBopomofoEditor.h \ PYPPinyinEngine.h \ PYPBopomofoEngine.h \ PYPConfig.h \ PYPEnhancedCandidates.h \ PYPLibPinyinCandidates.h \ PYPTradCandidates.h \ PYPLuaTriggerCandidates.h \ PYPLuaConverterCandidates.h \ PYPSuggestionEditor.h \ PYPSuggestionCandidates.h \ PYPEmojiTable.h \ PYPEmojiCandidates.h \ PYXMLUtil.h \ $(NULL) ibus_engine_libpinyin_c_sources += \ PYPConfig.cc \ PYLibPinyin.cc \ PYPPhoneticEditor.cc \ PYPPinyinEditor.cc \ PYPFullPinyinEditor.cc \ PYPDoublePinyinEditor.cc \ PYPBopomofoEditor.cc \ PYPPinyinEngine.cc \ PYPBopomofoEngine.cc \ PYPLibPinyinCandidates.cc \ PYPTradCandidates.cc \ PYPSuggestionEditor.cc \ PYPSuggestionCandidates.cc \ PYPEmojiCandidates.cc \ PYXMLUtil.cc \ $(NULL) if IBUS_BUILD_LUA_EXTENSION ibus_engine_libpinyin_c_sources += \ PYExtEditor.cc \ PYPLuaTriggerCandidates.cc \ PYPLuaConverterCandidates.cc \ $(NULL) endif if ENABLE_CLOUD_INPUT_MODE ibus_engine_libpinyin_h_sources += \ PYPCloudCandidates.h \ $(NULL) ibus_engine_libpinyin_c_sources += \ PYPCloudCandidates.cc \ $(NULL) endif if IBUS_BUILD_TABLE_INPUT_MODE ibus_engine_libpinyin_c_sources += \ PYTableDatabase.cc \ PYTableEditor.cc \ $(NULL) endif if IBUS_BUILD_ENGLISH_INPUT_MODE ibus_engine_libpinyin_c_sources += \ PYEnglishDatabase.cc \ PYEnglishEditor.cc \ PYPEnglishCandidates.cc \ $(NULL) endif ibus_engine_libpinyin_SOURCES = \ $(ibus_engine_libpinyin_c_sources) \ $(ibus_engine_libpinyin_h_sources) \ $(ibus_engine_libpinyin_built_c_sources) \ $(ibus_engine_libpinyin_built_h_sources) \ $(NULL) ibus_engine_libpinyin_CXXFLAGS = \ @IBUS_CFLAGS@ \ @SQLITE_CFLAGS@ \ @LIBPINYIN_CFLAGS@ \ @OPENCC_CFLAGS@ \ -DGETTEXT_PACKAGE=\"@GETTEXT_PACKAGE@\" \ -DLOCALEDIR=\"$(localedir)\" \ -DPKGDATADIR=\"$(pkgdatadir)\" \ -DLIBEXECDIR=\"$(libexecdir)\" \ $(NULL) if HAVE_BOOST ibus_engine_libpinyin_CXXFLAGS += \ @BOOST_CPPFLAGS@ \ $(NULL) else ibus_engine_libpinyin_CXXFLAGS += \ -std=c++0x \ $(NULL) endif ibus_engine_libpinyin_LDADD = \ @IBUS_LIBS@ \ @SQLITE_LIBS@ \ @LIBPINYIN_LIBS@ \ @OPENCC_LIBS@ \ $(NULL) ibus_engine_libpinyin_CXXFLAGS += \ -DLIBPINYIN_DATADIR=\"@LIBPINYIN_DATADIR@\/data\" \ $(NULL) if IBUS_BUILD_LUA_EXTENSION ibus_engine_libpinyin_CXXFLAGS += \ @LUA_CFLAGS@ \ -DIBUS_BUILD_LUA_EXTENSION \ -I$(top_srcdir)/lua/ \ $(NULL) endif if IBUS_BUILD_LUA_EXTENSION ibus_engine_libpinyin_LDADD += \ @LUA_LIBS@ \ -L../lua/ \ -lpylua \ $(NULL) endif if ENABLE_CLOUD_INPUT_MODE ibus_engine_libpinyin_CXXFLAGS += \ @LIBSOUP_CFLAGS@ \ @JSONGLIB_CFLAGS@ \ -DENABLE_CLOUD_INPUT_MODE \ $(NULL) endif if ENABLE_CLOUD_INPUT_MODE ibus_engine_libpinyin_LDADD += \ @LIBSOUP_LIBS@ \ @JSONGLIB_LIBS@ \ $(NULL) endif if IBUS_BUILD_ENGLISH_INPUT_MODE ibus_engine_libpinyin_CXXFLAGS += \ -DIBUS_BUILD_ENGLISH_INPUT_MODE \ $(NULL) endif if IBUS_BUILD_TABLE_INPUT_MODE ibus_engine_libpinyin_CXXFLAGS += \ -DIBUS_BUILD_TABLE_INPUT_MODE \ $(NULL) endif if ENABLE_LIBNOTIFY ibus_engine_libpinyin_CXXFLAGS += \ @LIBNOTIFY_CFLAGS@ \ -DENABLE_LIBNOTIFY \ $(NULL) ibus_engine_libpinyin_LDADD += \ @LIBNOTIFY_LIBS@ \ $(NULL) endif BUILT_SOURCES = \ $(ibus_engine_built_c_sources) \ $(ibus_engine_built_h_sources) \ $(NULL) component_DATA = \ libpinyin.xml \ $(NULL) componentdir = @datadir@/ibus/component engine_DATA = \ default.xml \ $(NULL) enginedir = ${pkgdatadir} EXTRA_DIST = \ libpinyin.inputmethod.xml.in \ default.inputmethod.xml.in \ $(NULL) CLEANFILES = \ libpinyin.xml \ default.xml \ $(NULL) PYPunctTable.h: $(AM_V_GEN) \ $(PYTHON) $(top_srcdir)/scripts/genpuncttable.py > $@ || \ ( $(RM) $@; exit 1 ) PYSimpTradConverterTable.h: $(AM_V_GEN) \ $(PYTHON) $(top_srcdir)/scripts/update-simptrad-table.py > $@ || \ ( $(RM) $@; exit 1 ) update-simptrad-table: $(RM) $(top_srcdir)/scripts/ZhConversion.* PYSimpTradConverterTable.h $(MAKE) -C $(top_srcdir)/scripts ZhConversion.py $(MAKE) PYSimpTradConverterTable.h %.xml: %.inputmethod.xml.in sed -e "s|\@LIBEXECDIR\@|$(libexecdir)|g" \ -e "s|\@PKGDATADIR\@|$(pkgdatadir)|g" \ $< > $@ test: ibus-engine-libpinyin $(ENV) \ G_DEBUG=fatal_criticals \ $(builddir)/ibus-engine-libpinyin ibus-libpinyin-1.16.1/src/PYEnglishDatabase.cc0000644000175000017500000003235214764715077014632 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2021 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "PYEnglishDatabase.h" #include #include namespace PY{ #define DB_BACKUP_TIMEOUT (60) std::unique_ptr EnglishDatabase::m_instance; void EnglishDatabase::init () { if (m_instance.get () == NULL) { m_instance.reset (new EnglishDatabase ()); } gchar *path = g_build_filename (g_get_user_cache_dir (), "ibus", "libpinyin", "english-user.db", NULL); gboolean result = m_instance->openDatabase (".." G_DIR_SEPARATOR_S "data" G_DIR_SEPARATOR_S "english.db", "english-user.db") || m_instance->openDatabase (PKGDATADIR G_DIR_SEPARATOR_S "db" G_DIR_SEPARATOR_S "english.db", path); if (!result) g_warning ("can't open English word list database.\n"); g_free (path); } EnglishDatabase::EnglishDatabase(){ m_sqlite = NULL; m_sql = ""; m_user_db = ""; m_timeout_id = 0; m_timer = g_timer_new (); } EnglishDatabase::~EnglishDatabase(){ g_timer_destroy (m_timer); if (m_timeout_id != 0) { saveUserDB (); g_source_remove (m_timeout_id); } if (m_sqlite){ sqlite3_close (m_sqlite); m_sqlite = NULL; } m_sql = ""; m_user_db = NULL; } gboolean EnglishDatabase::isDatabaseExisted(const char *filename) { gboolean result = g_file_test (filename, G_FILE_TEST_IS_REGULAR); if (!result) return FALSE; sqlite3 *tmp_db = NULL; if (sqlite3_open_v2 (filename, &tmp_db, SQLITE_OPEN_READONLY, NULL) != SQLITE_OK){ return FALSE; } /* Check the desc table */ sqlite3_stmt *stmt = NULL; const char *tail = NULL; m_sql = "SELECT value FROM desc WHERE name = 'version';"; result = sqlite3_prepare_v2 (tmp_db, m_sql.c_str(), -1, &stmt, &tail); if (result != SQLITE_OK) return FALSE; result = sqlite3_step (stmt); if (result != SQLITE_ROW) return FALSE; result = sqlite3_column_type (stmt, 0); if (result != SQLITE_TEXT) return FALSE; const char *version = (const char *) sqlite3_column_text (stmt, 0); if (strcmp("1.2.0", version ) != 0) return FALSE; result = sqlite3_finalize (stmt); g_assert (result == SQLITE_OK); sqlite3_close (tmp_db); return TRUE; } gboolean EnglishDatabase::createDatabase(const char *filename) { /* unlink the old database. */ gboolean retval = g_file_test (filename, G_FILE_TEST_IS_REGULAR); if (retval) { int result = g_unlink (filename); if (result == -1) return FALSE; } char *dirname = g_path_get_dirname (filename); g_mkdir_with_parents (dirname, 0700); g_free (dirname); sqlite3 *tmp_db = NULL; if (sqlite3_open_v2 (filename, &tmp_db, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL) != SQLITE_OK) { return FALSE; } /* Create DESCription table */ m_sql = "BEGIN TRANSACTION;\n"; m_sql << "CREATE TABLE IF NOT EXISTS desc (name TEXT PRIMARY KEY, value TEXT);\n"; m_sql << "INSERT OR IGNORE INTO desc VALUES ('version', '1.2.0');"; m_sql << "COMMIT;\n"; if (!executeSQL (tmp_db)) { sqlite3_close (tmp_db); return FALSE; } /* Create Schema */ m_sql = "CREATE TABLE IF NOT EXISTS english (" "word TEXT NOT NULL PRIMARY KEY," "freq FLOAT NOT NULL DEFAULT(0)" ");"; if (!executeSQL (tmp_db)) { sqlite3_close (tmp_db); return FALSE; } return TRUE; } gboolean EnglishDatabase::openDatabase(const char *system_db, const char *user_db){ if (!isDatabaseExisted (system_db)) return FALSE; if (!isDatabaseExisted (user_db)) { gboolean result = createDatabase (user_db); if (!result) return FALSE; } /* cache the user db name. */ m_user_db = user_db; /* do database attach here. :) */ if (sqlite3_open_v2 (system_db, &m_sqlite, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL) != SQLITE_OK) { m_sqlite = NULL; return FALSE; } #if 0 m_sql.printf (SQL_ATTACH_DB, user_db); if (!executeSQL (m_sqlite)) { sqlite3_close (m_sqlite); m_sqlite = NULL; return FALSE; } return TRUE; #endif return loadUserDB(); } gboolean EnglishDatabase::hasWord(const char *word){ sqlite3_stmt *stmt = NULL; const char *tail = NULL; /* match word */ const char *SQL_DB_MATCH = "SELECT word FROM english WHERE word = \"%s\" UNION ALL " "SELECT word FROM userdb.english WHERE word = \"%s\";"; m_sql.printf (SQL_DB_MATCH, word, word); int result = sqlite3_prepare_v2 (m_sqlite, m_sql.c_str(), -1, &stmt, &tail); if (result != SQLITE_OK) return FALSE; int count = 0; result = sqlite3_step (stmt); while (result == SQLITE_ROW) { /* count the match */ result = sqlite3_column_type (stmt, 0); if (result != SQLITE_TEXT) return FALSE; const char *text = (const char *)sqlite3_column_text (stmt, 0); g_assert (0 == strcmp (word, text)); ++count; result = sqlite3_step (stmt); } sqlite3_finalize (stmt); if (result != SQLITE_DONE) return FALSE; return count > 0; } /* List the words in freq order. */ gboolean EnglishDatabase::listWords(const char *prefix, std::vector & words){ sqlite3_stmt *stmt = NULL; const char *tail = NULL; words.clear (); /* list words */ const char *SQL_DB_LIST = "SELECT word FROM ( " "SELECT * FROM english UNION ALL SELECT * FROM userdb.english) " " WHERE word GLOB \"%s*\" GROUP BY word ORDER BY SUM(freq) DESC;"; m_sql.printf (SQL_DB_LIST, prefix); int result = sqlite3_prepare_v2 (m_sqlite, m_sql.c_str(), -1, &stmt, &tail); if (result != SQLITE_OK) return FALSE; result = sqlite3_step (stmt); while (result == SQLITE_ROW){ /* get the words. */ result = sqlite3_column_type (stmt, 0); if (result != SQLITE_TEXT) return FALSE; const char *word = (const char *)sqlite3_column_text (stmt, 0); words.push_back (word); result = sqlite3_step (stmt); } sqlite3_finalize (stmt); if (result != SQLITE_DONE) return FALSE; return TRUE; } /* Get the freq of user sqlite db. */ gboolean EnglishDatabase::getUserWordInfo(const char *word, float & freq){ sqlite3_stmt *stmt = NULL; const char *tail = NULL; /* get word info. */ const char *SQL_DB_SELECT = "SELECT freq FROM userdb.english WHERE word = \"%s\";"; m_sql.printf (SQL_DB_SELECT, word); int result = sqlite3_prepare_v2 (m_sqlite, m_sql.c_str(), -1, &stmt, &tail); g_assert (result == SQLITE_OK); result = sqlite3_step (stmt); if (result != SQLITE_ROW) return FALSE; result = sqlite3_column_type (stmt, 0); if (result != SQLITE_FLOAT) return FALSE; freq = sqlite3_column_double (stmt, 0); result = sqlite3_finalize (stmt); g_assert (result == SQLITE_OK); return TRUE; } /* Update the freq with delta value. */ gboolean EnglishDatabase::updateUserWord(const char *word, float freq){ const char *SQL_DB_UPDATE = "UPDATE userdb.english SET freq = \"%f\" WHERE word = \"%s\";"; m_sql.printf (SQL_DB_UPDATE, freq, word); gboolean retval = executeSQL (m_sqlite); modified (); return retval; } /* Insert the word into user db with the initial freq. */ gboolean EnglishDatabase::insertUserWord(const char *word, float freq){ const char *SQL_DB_INSERT = "INSERT INTO userdb.english (word, freq) VALUES (\"%s\", \"%f\");"; m_sql.printf (SQL_DB_INSERT, word, freq); gboolean retval = executeSQL (m_sqlite); modified (); return retval; } gboolean EnglishDatabase::deleteUserWord(const char *word){ const char *SQL_DB_DELETE = "DELETE FROM userdb.english WHERE word = \"%s\";"; m_sql.printf (SQL_DB_DELETE, word); gboolean retval = executeSQL (m_sqlite); modified (); return retval; } gboolean EnglishDatabase::executeSQL(sqlite3 *sqlite){ gchar *errmsg = NULL; if (sqlite3_exec (sqlite, m_sql.c_str (), NULL, NULL, &errmsg) != SQLITE_OK) { g_warning ("%s: %s", errmsg, m_sql.c_str()); sqlite3_free (errmsg); return FALSE; } m_sql.clear (); return TRUE; } gboolean EnglishDatabase::loadUserDB (void){ sqlite3 *userdb = NULL; /* Attach user database */ do { const char *SQL_ATTACH_DB = "ATTACH DATABASE ':memory:' AS userdb;"; m_sql.printf (SQL_ATTACH_DB); if (!executeSQL (m_sqlite)) break; /* Note: user db is always created by openDatabase. */ if (sqlite3_open_v2 ( m_user_db, &userdb, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL) != SQLITE_OK) break; sqlite3_backup *backup = sqlite3_backup_init (m_sqlite, "userdb", userdb, "main"); if (backup) { sqlite3_backup_step (backup, -1); sqlite3_backup_finish (backup); } sqlite3_close (userdb); return TRUE; } while (0); if (userdb) sqlite3_close (userdb); return FALSE; } gboolean EnglishDatabase::saveUserDB (void){ sqlite3 *userdb = NULL; String tmpfile = String(m_user_db) + "-tmp"; do { /* remove tmpfile if it exist */ g_unlink(tmpfile); if (sqlite3_open_v2 (tmpfile, &userdb, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL) != SQLITE_OK) break; sqlite3_backup *backup = sqlite3_backup_init (userdb, "main", m_sqlite, "userdb"); if (backup == NULL) break; sqlite3_backup_step (backup, -1); sqlite3_backup_finish (backup); sqlite3_close (userdb); g_rename(tmpfile, m_user_db); return TRUE; } while (0); if (userdb) sqlite3_close (userdb); g_unlink (tmpfile); return FALSE; } void EnglishDatabase::modified (void){ /* Restart the timer */ g_timer_start (m_timer); if (m_timeout_id != 0) return; m_timeout_id = g_timeout_add_seconds (DB_BACKUP_TIMEOUT, EnglishDatabase::timeoutCallback, static_cast (this)); } gboolean EnglishDatabase::timeoutCallback (gpointer data){ EnglishDatabase *self = static_cast (data); /* Get elapsed time since last modification of database. */ guint elapsed = (guint) g_timer_elapsed (self->m_timer, NULL); if (elapsed >= DB_BACKUP_TIMEOUT && self->saveUserDB ()) { self->m_timeout_id = 0; return FALSE; } return TRUE; } gboolean EnglishDatabase::train (const char *word, float delta) { float freq = 0; gboolean retval = getUserWordInfo (word, freq); if (retval) { freq += delta; updateUserWord (word, freq); } else { insertUserWord (word, delta); } return TRUE; } #if 0 /* using static initializor to test english database here. */ static class TestEnglishDatabase{ public: TestEnglishDatabase (){ EnglishDatabase *db = new EnglishDatabase (); bool retval = db->isDatabaseExisted ("/tmp/english-user.db"); g_assert (!retval); retval = db->createDatabase ("english-user.db"); g_assert (retval); retval = db->openDatabase ("english.db", "english-user.db"); g_assert (retval); retval = db->hasWord ("hello"); printf ("has word hello:%d\n", retval); float freq = 0; retval = db->getUserWordInfo ("hello", freq); printf ("word hello:%d, %f.\n", retval, freq); if (retval) { db->updateUserWord ("hello", 0.1); } else { db->insertUserWord ("hello", 0.1); } retval = db->hasWord ("hello"); printf ("has word hello:%d\n", retval); retval = db->getUserWordInfo ("hello", freq); printf ("word hello:%d, %f.\n", retval, freq); db->deleteUserWord ("hello"); freq = 0; retval = db->getUserWordInfo ("hello", freq); printf ("word hello:%d, %f.\n", retval, freq); retval = db->hasWord ("hello"); printf ("has word hello:%d\n", retval); printf ("english database test ok.\n"); } } test_english_database; #endif }; ibus-libpinyin-1.16.1/src/PYPTradCandidates.cc0000664000175000017500000000462613672072346014603 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2018 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "PYPTradCandidates.h" #include #include "PYString.h" #include "PYPPhoneticEditor.h" using namespace PY; gboolean TraditionalCandidates::processCandidates (std::vector & candidates) { m_candidates.clear (); String trad; for (guint i = 0; i < candidates.size (); i++) { EnhancedCandidate & enhanced = candidates[i]; m_candidates.push_back (enhanced); enhanced.m_candidate_type = CANDIDATE_TRADITIONAL_CHINESE; enhanced.m_candidate_id = i; trad.truncate (0); m_converter.simpToTrad (enhanced.m_display_string.c_str (), trad); enhanced.m_display_string = trad; } return TRUE; } int TraditionalCandidates::selectCandidate (EnhancedCandidate & enhanced) { guint id = enhanced.m_candidate_id; assert (CANDIDATE_TRADITIONAL_CHINESE == enhanced.m_candidate_type); if (G_UNLIKELY (id >= m_candidates.size ())) return SELECT_CANDIDATE_ALREADY_HANDLED; int action = m_editor->selectCandidateInternal (m_candidates[id]); if (action & SELECT_CANDIDATE_MODIFY_IN_PLACE) { String trad; m_converter.simpToTrad (m_candidates[id].m_display_string.c_str (), trad); enhanced.m_display_string = trad; } return action; } gboolean TraditionalCandidates::removeCandidate (EnhancedCandidate & enhanced) { guint id = enhanced.m_candidate_id; assert (CANDIDATE_TRADITIONAL_CHINESE == enhanced.m_candidate_type); if (G_UNLIKELY (id >= m_candidates.size ())) return FALSE; return m_editor->removeCandidateInternal (m_candidates[id]); } ibus-libpinyin-1.16.1/src/PYLibPinyin.h0000644000175000017500000000660614737122742013345 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2011 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_LIB_PINYIN_H_ #define __PY_LIB_PINYIN_H_ #include #include #include #include typedef struct _pinyin_context_t pinyin_context_t; typedef struct _pinyin_instance_t pinyin_instance_t; namespace PY { class Config; class LibPinyinBackEnd{ public: LibPinyinBackEnd (); virtual ~LibPinyinBackEnd (); gboolean setPinyinOptions (Config *config); gboolean setChewingOptions (Config *config); pinyin_context_t * initPinyinContext (Config *config); pinyin_context_t * initChewingContext (Config *config); pinyin_instance_t *allocPinyinInstance (); void freePinyinInstance (pinyin_instance_t *instance); pinyin_instance_t *allocChewingInstance (); void freeChewingInstance (pinyin_instance_t *instance); void modified (void); gboolean exportUserPhrase (FILE *dictfile); gboolean exportBigramPhrase (FILE *dictfile); gboolean importPinyinDictionary (const char *filename); gboolean exportPinyinDictionary (const char *filename); gboolean clearPinyinUserData (const char *target); gboolean rememberUserInput (pinyin_instance_t *instance, const gchar *phrase); gboolean rememberCloudInput (pinyin_instance_t *instance, const gchar *pinyin, const gchar *phrase); /* use static initializer in C++. */ static LibPinyinBackEnd & instance (void) { return *m_instance; } static void init (void); static void finalize (void); protected: bool readNetworkDictionary(pinyin_context_t * context, const char * filename, /* inout */ time_t & start, /* inout */ time_t & loaded); private: gboolean saveUserDB (void); static gboolean timeoutCallback (gpointer data); bool clearNetworkDictionary (pinyin_context_t * context); bool checkNetworkDictionary (pinyin_context_t * context, FILE * dictfile, /* inout */ time_t & start, /* inout */ time_t & loaded); bool forwardNetworkDictionary (FILE * dictfile, /* in */ time_t loaded); bool importRestNetworkDictionary (pinyin_context_t * context, FILE * dictfile, /* out */ time_t & loaded); private: /* libpinyin context */ pinyin_context_t *m_pinyin_context; pinyin_context_t *m_chewing_context; guint m_timeout_id; GTimer *m_timer; private: static std::unique_ptr m_instance; }; }; #endif ibus-libpinyin-1.16.1/src/PYPSuggestionCandidates.cc0000644000175000017500000000566314703102551016024 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2018 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "PYPSuggestionCandidates.h" #include #include #include "PYPSuggestionEditor.h" using namespace PY; gboolean SuggestionCandidates::processCandidates (std::vector & candidates) { pinyin_instance_t *instance = m_editor->m_instance; guint len = 0; pinyin_get_n_candidate (instance, &len); for (guint i = 0; i < len; i++) { lookup_candidate_t * candidate = NULL; pinyin_get_candidate (instance, i, &candidate); lookup_candidate_type_t type; pinyin_get_candidate_type (instance, candidate, &type); CandidateType candidate_type; switch (type) { case PREDICTED_BIGRAM_CANDIDATE: candidate_type = CANDIDATE_PREDICTED_BIGRAM; break; case PREDICTED_PREFIX_CANDIDATE: candidate_type = CANDIDATE_PREDICTED_PREFIX; break; case PREDICTED_PUNCTUATION_CANDIDATE: candidate_type = CANDIDATE_PREDICTED_PUNCTUATION; break; default: assert(FALSE); } const gchar * phrase_string = NULL; pinyin_get_candidate_string (instance, candidate, &phrase_string); EnhancedCandidate enhanced; enhanced.m_candidate_type = candidate_type; enhanced.m_candidate_id = i; enhanced.m_display_string = phrase_string; candidates.push_back (enhanced); } return TRUE; } int SuggestionCandidates::selectCandidate (EnhancedCandidate & enhanced) { pinyin_instance_t * instance = m_editor->m_instance; assert (CANDIDATE_PREDICTED_BIGRAM == enhanced.m_candidate_type || CANDIDATE_PREDICTED_PREFIX == enhanced.m_candidate_type || CANDIDATE_PREDICTED_PUNCTUATION == enhanced.m_candidate_type); guint len = 0; pinyin_get_n_candidate (instance, &len); if (G_UNLIKELY (enhanced.m_candidate_id >= len)) return SELECT_CANDIDATE_ALREADY_HANDLED; lookup_candidate_t * candidate = NULL; pinyin_get_candidate (instance, enhanced.m_candidate_id, &candidate); pinyin_choose_predicted_candidate (instance, candidate); return SELECT_CANDIDATE_COMMIT; } ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.h0000664000175000017500000000250713672072346014612 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2018 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_LIB_PINYIN_EMOJI_CANDIDATES_H_ #define __PY_LIB_PINYIN_EMOJI_CANDIDATES_H_ #include "PYPEnhancedCandidates.h" namespace PY { class Editor; class EmojiCandidates : public EnhancedCandidates { public: EmojiCandidates (Editor *editor); public: gboolean processCandidates (std::vector & candidates); int selectCandidate (EnhancedCandidate & enhanced); gboolean removeCandidate (EnhancedCandidate & enhanced); protected: EnhancedCandidate m_candidate; }; }; #endif ibus-libpinyin-1.16.1/src/PYTableEditor.h0000644000175000017500000000450714455173634013647 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2012 Peng Wu * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef __PY_TABLE_EDITOR_ #define __PY_TABLE_EDITOR_ #include "PYEditor.h" #include "PYLookupTable.h" #include "PYTableDatabase.h" namespace PY { class PinyinEngine; class TableEditor : public Editor { public: TableEditor (PinyinProperties &props, Config & config); virtual ~TableEditor (); virtual gboolean processKeyEvent (guint keyval, guint keycode, guint modifers); virtual void pageUp (void); virtual void pageDown (void); virtual void cursorUp (void); virtual void cursorDown (void); virtual void update (void); virtual void updateAll (void); virtual void reset (void); virtual void candidateClicked (guint index, guint button, guint state); private: TableDatabase *getTableDatabase (void); gboolean updateStateFromInput (void); void clearLookupTable (void); void updateLookupTable (void); void updatePreeditText (void); void updateAuxiliaryText (void); gboolean selectCandidateInPage (guint index); gboolean selectCandidate (guint index); gboolean processSpace (guint keyval); gboolean processEnter (guint keyval); gboolean removeCharBefore (void); gboolean removeCharAfter (void); gboolean processLabelKey (guint keyval); gboolean processEditKey (guint keyval); gboolean processPageKey (guint keyval); private: /* variables */ LookupTable m_lookup_table; String m_preedit_text; String m_auxiliary_text; const static int m_aux_text_len = 50; }; }; #endif ibus-libpinyin-1.16.1/src/PYEnglishEditor.cc0000644000175000017500000002446214737121766014353 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2010-2011 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "PYEnglishEditor.h" #include #include #include #include #include #include "PYConfig.h" #define _(text) (gettext(text)) namespace PY { EnglishEditor::EnglishEditor (PinyinProperties & props, Config &config) : Editor (props, config), m_train_factor (0.1) { m_english_database = & EnglishDatabase::instance (); } EnglishEditor::~EnglishEditor () { m_english_database = NULL; } gboolean EnglishEditor::processKeyEvent (guint keyval, guint keycode, guint modifiers) { if (modifiers & IBUS_MOD4_MASK) return FALSE; //IBUS_SHIFT_MASK is removed. modifiers &= (IBUS_CONTROL_MASK | IBUS_MOD1_MASK | IBUS_SUPER_MASK | IBUS_HYPER_MASK | IBUS_META_MASK | IBUS_LOCK_MASK); if (modifiers) return FALSE; //handle backspace/delete here. if (processEditKey (keyval)) return TRUE; //handle page/cursor up/down here. if (processPageKey (keyval)) return TRUE; //handle label key select here. if (processLabelKey (keyval)) return TRUE; if (processSpace (keyval)) return TRUE; if (processEnter (keyval)) return TRUE; m_cursor = std::min (m_cursor, (guint)m_text.length ()); /* Remember the input string. */ if (m_cursor == 0) { g_return_val_if_fail ('v' == keyval || 'V' == keyval, FALSE); m_text.insert (m_cursor, keyval); m_cursor ++; } else { g_return_val_if_fail ('v' == m_text[0] || 'V' == m_text[0], FALSE); if ((keyval >= 'a' && keyval <= 'z') || (keyval >= 'A' && keyval <= 'Z')) { m_text.insert (m_cursor, keyval); m_cursor ++; } if (keyval <= std::numeric_limits::max() && g_unichar_ispunct (keyval) && EnglishSymbols.find(keyval) != std::string::npos) { m_text.insert (m_cursor, keyval); m_cursor ++; } if (!m_config.squareBracketPage () && (IBUS_bracketleft == keyval || IBUS_bracketright == keyval)) { m_text.insert (m_cursor, keyval); m_cursor ++; } } /* Deal other staff with updateStateFromInput (). */ updateStateFromInput (); update (); return TRUE; } gboolean EnglishEditor::processEditKey (guint keyval) { switch (keyval) { case IBUS_Delete: case IBUS_KP_Delete: removeCharAfter (); updateStateFromInput (); update (); return TRUE; case IBUS_BackSpace: removeCharBefore (); updateStateFromInput (); update (); return TRUE; } return FALSE; } gboolean EnglishEditor::processPageKey (guint keyval) { switch (keyval) { case IBUS_comma: if (m_config.commaPeriodPage ()) { pageUp (); return TRUE; } break; case IBUS_minus: if (m_config.minusEqualPage ()) { pageUp (); return TRUE; } break; case IBUS_bracketleft: if (m_config.squareBracketPage ()) { pageUp (); return TRUE; } break; case IBUS_period: if (m_config.commaPeriodPage ()) { pageDown (); return TRUE; } break; case IBUS_equal: if (m_config.minusEqualPage ()) { pageDown (); return TRUE; } break; case IBUS_bracketright: if (m_config.squareBracketPage ()) { pageDown (); return TRUE; } break; case IBUS_Up: case IBUS_KP_Up: cursorUp (); return TRUE; case IBUS_Down: case IBUS_KP_Down: cursorDown (); return TRUE; case IBUS_Page_Up: case IBUS_KP_Page_Up: pageUp (); return TRUE; case IBUS_Page_Down: case IBUS_KP_Page_Down: pageDown (); return TRUE; case IBUS_Escape: reset (); return TRUE; } return FALSE; } gboolean EnglishEditor::processLabelKey (guint keyval) { switch (keyval) { case '1' ... '9': return selectCandidateInPage (keyval - '1'); break; case '0': return selectCandidateInPage (9); break; } return FALSE; } gboolean EnglishEditor::processEnter (guint keyval) { if (keyval != IBUS_Return) return FALSE; if (m_text.length () == 0) return FALSE; String word = m_text; word.erase (0, 1); Text text(word); commitText (text); m_english_database->train (word.c_str (), m_train_factor); reset (); return TRUE; } gboolean EnglishEditor::processSpace (guint keyval) { if (!(keyval == IBUS_space || keyval == IBUS_KP_Space)) return FALSE; if (m_text == "v" || m_text == "V") { reset (); return TRUE; } guint cursor_pos = m_lookup_table.cursorPos (); return selectCandidate (cursor_pos); } void EnglishEditor::candidateClicked (guint index, guint button, guint state) { selectCandidateInPage (index); } gboolean EnglishEditor::selectCandidateInPage (guint index) { guint page_size = m_lookup_table.pageSize (); guint cursor_pos = m_lookup_table.cursorPos (); if (G_UNLIKELY (index >= page_size)) return FALSE; index += (cursor_pos / page_size) * page_size; return selectCandidate (index); } gboolean EnglishEditor::selectCandidate (guint index) { if (index >= m_lookup_table.size ()) return FALSE; IBusText *candidate = m_lookup_table.getCandidate (index); Text text (candidate); commitText (text); m_english_database->train (candidate->text, m_train_factor); reset (); return TRUE; } gboolean EnglishEditor::updateStateFromInput (void) { /* Do parse and candidates update here. */ /* prefix v double check here. */ if (m_text.empty ()) { m_preedit_text = ""; m_auxiliary_text = ""; m_cursor = 0; clearLookupTable (); return FALSE; } if ('v' != m_text[0] && 'V' != m_text[0]) { g_warning ("v is expected in m_text string.\n"); m_auxiliary_text = ""; clearLookupTable (); return FALSE; } m_auxiliary_text = m_text[0]; if (1 == m_text.length ()) { clearLookupTable (); const char * help_string = _("Please input the English word."); int space_len = std::max ( 0, m_aux_text_len - (int) g_utf8_strlen (help_string, -1)); m_auxiliary_text.append (space_len, ' '); m_auxiliary_text += help_string; return TRUE; } m_auxiliary_text += " "; String prefix = m_text.substr (1); m_auxiliary_text += prefix; /* lookup table candidate fill here. */ std::vector words; gboolean retval = m_english_database->listWords (prefix.c_str (), words); if (!retval) return FALSE; clearLookupTable (); std::vector::iterator iter; for (iter = words.begin (); iter != words.end (); ++iter){ Text text (*iter); m_lookup_table.appendCandidate (text); } return TRUE; } /* Auxiliary Functions */ void EnglishEditor::pageUp (void) { if (G_LIKELY (m_lookup_table.pageUp ())) { update (); } } void EnglishEditor::pageDown (void) { if (G_LIKELY (m_lookup_table.pageDown ())) { update (); } } void EnglishEditor::cursorUp (void) { if (G_LIKELY (m_lookup_table.cursorUp ())) { update (); } } void EnglishEditor::cursorDown (void) { if (G_LIKELY (m_lookup_table.cursorDown ())) { update (); } } void EnglishEditor::update (void) { updateLookupTable (); updatePreeditText (); updateAuxiliaryText (); } void EnglishEditor::updateAll (void) { updateStateFromInput (); update (); } void EnglishEditor::reset (void) { m_text = ""; updateStateFromInput (); update (); } void EnglishEditor::clearLookupTable (void) { m_lookup_table.clear (); m_lookup_table.setPageSize (m_config.pageSize ()); m_lookup_table.setOrientation (m_config.orientation ()); } void EnglishEditor::updateLookupTable (void) { if (m_lookup_table.size ()) { Editor::updateLookupTableFast (m_lookup_table, TRUE); } else { hideLookupTable (); } } void EnglishEditor::updatePreeditText (void) { if (G_UNLIKELY (m_preedit_text.empty ())) { hidePreeditText (); return; } StaticText preedit_text (m_preedit_text); Editor::updatePreeditText (preedit_text, m_cursor, TRUE); } void EnglishEditor::updateAuxiliaryText (void) { if (G_UNLIKELY (m_auxiliary_text.empty ())) { hideAuxiliaryText (); return; } StaticText aux_text (m_auxiliary_text); Editor::updateAuxiliaryText (aux_text, TRUE); } gboolean EnglishEditor::removeCharBefore (void) { if (G_UNLIKELY (m_cursor <= 0)) { m_cursor = 0; return FALSE; } if (G_UNLIKELY (m_cursor > m_text.length ())) { m_cursor = m_text.length (); return FALSE; } m_text.erase (m_cursor - 1, 1); m_cursor = std::max (0, static_cast(m_cursor) - 1); return TRUE; } gboolean EnglishEditor::removeCharAfter (void) { if (G_UNLIKELY (m_cursor < 0)) { m_cursor = 0; return FALSE; } if (G_UNLIKELY (m_cursor >= m_text.length ())) { m_cursor = m_text.length (); return FALSE; } m_text.erase (m_cursor, 1); m_cursor = std::min (m_cursor, (guint) m_text.length ()); return TRUE; } }; ibus-libpinyin-1.16.1/src/PYPFullPinyinEditor.h0000664000175000017500000000265213672072346015030 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2011 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_LIB_PINYIN_FULL_PINYIN_EDITOR_H #define __PY_LIB_PINYIN_FULL_PINYIN_EDITOR_H #include "PYPPinyinEditor.h" namespace PY { class FullPinyinEditor : public PinyinEditor { public: FullPinyinEditor (PinyinProperties & props, Config & config); ~FullPinyinEditor (void); public: gboolean insert (gint ch); /* virtual functions */ virtual gboolean processKeyEvent (guint keyval, guint keycode, guint modifiers); virtual void reset (void); virtual void updateAuxiliaryText (void); protected: virtual void updatePinyin (void); virtual guint getLookupCursor (void); }; }; #endif ibus-libpinyin-1.16.1/src/PYPFullPinyinEditor.cc0000644000175000017500000001022014763733347015161 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2011 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "PYPFullPinyinEditor.h" #include "PYConfig.h" #include "PYLibPinyin.h" using namespace PY; FullPinyinEditor::FullPinyinEditor (PinyinProperties & props, Config & config) : PinyinEditor (props, config) { m_instance = LibPinyinBackEnd::instance ().allocPinyinInstance (); } FullPinyinEditor::~FullPinyinEditor (void) { LibPinyinBackEnd::instance ().freePinyinInstance (m_instance); m_instance = NULL; } void FullPinyinEditor::reset (void) { PinyinEditor::reset (); } gboolean FullPinyinEditor::insert (gint ch) { /* is full */ if (G_UNLIKELY (m_text.length () >= MAX_PINYIN_LEN)) return TRUE; #if 0 /* for i/u/v mode */ if (m_text.empty () && (ch == 'i' || ch == 'u' || ch == 'v')) return FALSE; #endif m_text.insert (m_cursor++, ch); m_lookup_cursor = 0; updatePinyin (); update (); return TRUE; } gboolean FullPinyinEditor::processKeyEvent (guint keyval, guint keycode, guint modifiers) { if (modifiers & IBUS_MOD4_MASK) return FALSE; /* handle 'A' - 'Z' key */ if (G_UNLIKELY (IBUS_A <= keyval && keyval <= IBUS_Z)) { if (cmshm_filter (modifiers) == 0) { if (m_text.empty ()) return FALSE; if (insert (keyval)) return TRUE; } } return PinyinEditor::processKeyEvent (keyval, keycode, modifiers); } void FullPinyinEditor::updatePinyin (void) { if (G_UNLIKELY (m_text.empty ())) { m_pinyin_len = 0; /* TODO: check whether to replace "" with NULL. */ pinyin_parse_more_full_pinyins (m_instance, ""); pinyin_guess_sentence (m_instance); return; } m_pinyin_len = pinyin_parse_more_full_pinyins (m_instance, m_text.c_str ()); pinyin_guess_sentence (m_instance); } void FullPinyinEditor::updateAuxiliaryText (void) { if (G_UNLIKELY (m_text.empty ())) { if (DISPLAY_STYLE_TRADITIONAL == m_config.displayStyle () || DISPLAY_STYLE_COMPATIBILITY == m_config.displayStyle ()) hideAuxiliaryText (); if (DISPLAY_STYLE_COMPACT == m_config.displayStyle ()) hidePreeditText (); return; } m_buffer.clear (); gchar * aux_text = NULL; pinyin_get_full_pinyin_auxiliary_text (m_instance, m_cursor, &aux_text); m_buffer << aux_text; g_free(aux_text); /* append rest text */ const gchar * p = m_text.c_str() + m_pinyin_len; m_buffer << p; StaticText text (m_buffer); if (DISPLAY_STYLE_TRADITIONAL == m_config.displayStyle () || DISPLAY_STYLE_COMPATIBILITY == m_config.displayStyle ()) Editor::updateAuxiliaryText (text, TRUE); if (DISPLAY_STYLE_COMPACT == m_config.displayStyle ()) Editor::updatePreeditText (text, 0, TRUE); } guint FullPinyinEditor::getLookupCursor (void) { guint lookup_cursor = getPinyinCursor (); /* as pinyin_get_pinyin_offset can't handle the last "'" characters, strip the string to work around it here. */ String stripped = m_text; size_t pos = stripped.find_last_not_of ("'") + 1; if (pos < stripped.length ()) stripped.erase (pos); /* show candidates when pinyin cursor is at end. */ if (lookup_cursor == stripped.length ()) lookup_cursor = 0; return lookup_cursor; } ibus-libpinyin-1.16.1/src/PYPinyinProperties.h0000644000175000017500000000563314763755320014775 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_PINYIN_PROPERTIES_H_ #define __PY_PINYIN_PROPERTIES_H_ #include "PYSignal.h" #include "PYProperty.h" #include #include G_BEGIN_DECLS typedef struct _IBusEnginePlugin IBusEnginePlugin; G_END_DECLS namespace PY { class Config; class PinyinProperties { public: PinyinProperties (Config & config); virtual ~PinyinProperties (void); void toggleModeChinese (void); void toggleModeFull (void); void toggleModeFullPunct (void); void toggleModeSimp (void); void reset (void); gboolean modeChinese (void) const { return m_mode_chinese; } gboolean modeFull (void) const { return m_mode_full; } gboolean modeFullPunct (void) const { return m_mode_full_punct; } gboolean modeSimp (void) const { return m_mode_simp; } PropList & properties (void) { return m_props; } gboolean propertyActivate (const gchar *prop_name, guint prop_state); signal & signalUpdateProperty (void) { return m_signal_update_property; } private: void updateProperty (Property & prop) const { m_signal_update_property (prop); } signal m_signal_update_property; private: Config & m_config; gboolean m_mode_chinese; gboolean m_mode_full; gboolean m_mode_full_punct; gboolean m_mode_simp; /* properties */ Property m_prop_chinese; Property m_prop_full; Property m_prop_full_punct; Property m_prop_simp; Property m_prop_setup; PropList m_props; #ifdef IBUS_BUILD_LUA_EXTENSION Pointer m_lua_plugin; Property *m_prop_lua_converter; std::vector m_props_lua_converter_vec; std::vector m_lua_converter_names; PropList m_props_lua_converter_list; public: gboolean setLuaPlugin (IBusEnginePlugin *plugin); void toggleLuaConverter (const int prefix_len, const gchar *prop_name, guint prop_state); gboolean appendLuaConverter (void); #endif }; }; #endif ibus-libpinyin-1.16.1/src/PYPLibPinyinCandidates.h0000664000175000017500000000254413672072346015445 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2018 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_LIB_PINYIN_LIB_PINYIN_CANDIDATES_H_ #define __PY_LIB_PINYIN_LIB_PINYIN_CANDIDATES_H_ #include "PYPEnhancedCandidates.h" namespace PY { class PhoneticEditor; class LibPinyinCandidates : public EnhancedCandidates { public: LibPinyinCandidates (PhoneticEditor *editor) { m_editor = editor; } public: gboolean processCandidates (std::vector & candidates); int selectCandidate (EnhancedCandidate & enhanced); gboolean removeCandidate (EnhancedCandidate & enhanced); }; }; #endif ibus-libpinyin-1.16.1/src/PYObject.h0000664000175000017500000000244413672072346012655 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_OBJECT_H_ #define __PY_OBJECT_H_ #include #include "PYPointer.h" namespace PY { class Object { protected: template Object (T *p) : m_p ((GObject *)p) { g_assert (get () != NULL); } operator GObject * (void) const { return m_p; } template T * get (void) const { return (T *) (GObject *) m_p; } private: Pointer m_p; }; }; #endif ibus-libpinyin-1.16.1/src/PYTypes.h0000664000175000017500000000171713672072346012555 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_TYPES_H_ #define __PY_TYPES_H_ #include namespace PY { #define MAX_UTF8_LEN 6 #define MAX_PHRASE_LEN 16 }; #endif ibus-libpinyin-1.16.1/src/PYExtEditor.cc0000644000175000017500000005524214737121766013522 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include "PYConfig.h" #include "PYPointer.h" #include "PYLookupTable.h" #include "PYEditor.h" #include "PYExtEditor.h" namespace PY { static const char * numbers [2][10] = { {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖",}, {"〇", "一", "二", "三", "四", "五", "六", "七", "八", "九",}, }; struct unit_t{ const char * unit_zh_name; // Chinese Character const int digits; // Position in string. const bool persist; // Whether to force eating zero and force inserting into result string. }; static unit_t units_simplified[] ={ {"兆", 12, true}, {"亿", 8, true}, {"万", 4, true}, {"千", 3, false}, {"百", 2, false}, {"十", 1, false}, {"", 0, true}, }; static unit_t units_traditional[] ={ {"兆", 12, true}, {"亿", 8, true}, {"万", 4, true}, {"仟", 3, false}, {"佰", 2, false}, {"拾", 1, false}, {"", 0, true}, }; static const std::string simplest_cn_number(gint64 num) { std::string result = ""; if ( num == 0 ) result = numbers[1][0]; while (num > 0) { int remains = num % 10; num = num / 10; result = std::string ( numbers[1][remains] ) + result; } return result; } static inline const std::string translate_to_longform(gint64 num, const char * number[10], unit_t units[], int units_len) { std::string result = ""; int cur_pos = -1; bool eat_zero = false; while (num > 0) { int remains = num % 10; num = num / 10; cur_pos ++; std::string unit = ""; int pos = cur_pos; size_t i = 6; while ( pos > 0 ) { for ( i = 0; i < units_len; ++i) { pos = pos % units[i].digits; if ( pos == 0 ) break; } } if ( units[i].persist ) { result = std::string (units[i].unit_zh_name) + result; eat_zero = true; } if ( remains == 0){ if ( eat_zero ) continue; result = std::string (number[0]) + result; eat_zero = true; continue; }else{ eat_zero = false; } if (num == 0 && remains == 1 && i == 5) result = std::string (units[i].unit_zh_name) + result; else if (units[i].persist) result = std::string (number[remains]) + result; else result = std::string (number[remains]) + std::string (units[i].unit_zh_name) + result; } return result; } static const std::string simplified_number(gint64 num) { return translate_to_longform(num, numbers[1], units_simplified, G_N_ELEMENTS(units_simplified)); } static const std::string traditional_number(gint64 num) { if ( 0 == num ) return numbers[0][0]; return translate_to_longform(num, numbers[0], units_traditional, G_N_ELEMENTS(units_traditional)); } /* Write digit/alpha/none Label generator here. * foreach (results): 1, from get_retval; 2..n from get_retvals. */ ExtEditor::ExtEditor (PinyinProperties & props, Config & config) : Editor (props, config), m_mode (LABEL_NONE), m_result_num (0), m_candidate (NULL), m_candidates (NULL) { } gboolean ExtEditor::setLuaPlugin (IBusEnginePlugin *plugin) { m_lua_plugin = plugin; return TRUE; } gboolean ExtEditor::processKeyEvent (guint keyval, guint keycode, guint modifiers) { if (modifiers & IBUS_MOD4_MASK) return FALSE; //IBUS_SHIFT_MASK is removed. modifiers &= (IBUS_CONTROL_MASK | IBUS_MOD1_MASK | IBUS_SUPER_MASK | IBUS_HYPER_MASK | IBUS_META_MASK | IBUS_LOCK_MASK); if ( modifiers ) return FALSE; //handle backspace/delete here. if (processEditKey (keyval)) return TRUE; //handle page/cursor up/down here. if (processPageKey (keyval)) return TRUE; //handle label key select here. if (processLabelKey (keyval)) return TRUE; if (processSpace (keyval)) return TRUE; if (processEnter (keyval)) return TRUE; m_cursor = std::min (m_cursor, (guint)m_text.length ()); /* Remember the input string. */ switch (m_cursor) { case 0: //Empty input string. { g_return_val_if_fail ( 'i' == keyval || 'I' == keyval, FALSE); if ( 'i' == keyval || 'I' == keyval) { m_text.insert (m_cursor, keyval); m_cursor++; } } break; case 1 ... 2: // Only contains 'i' or 'I' in input string. { g_return_val_if_fail ( 'i' == m_text[0] || 'I' == m_text[0], FALSE); if ( isalnum (keyval) ) { m_text.insert (m_cursor, keyval); m_cursor++; } } break; default: //Here is the appended argment. { g_return_val_if_fail ( 'i' == m_text[0] || 'I' == m_text[0], FALSE); if (isprint (keyval)) { m_text.insert (m_cursor, keyval); m_cursor++; } } break; } /* Deal other staff with updateStateFromInput (). */ updateStateFromInput (); update (); return TRUE; } gboolean ExtEditor::processEditKey (guint keyval) { switch (keyval) { case IBUS_Delete: case IBUS_KP_Delete: removeCharAfter (); updateStateFromInput (); update (); return TRUE; case IBUS_BackSpace: removeCharBefore (); updateStateFromInput (); update (); return TRUE; } return FALSE; } gboolean ExtEditor::processPageKey (guint keyval) { switch (keyval) { //For "2000-10-10" and "16:30" input. case IBUS_comma: if (m_config.commaPeriodPage ()) { pageUp (); return TRUE; } break; #if 0 case IBUS_minus: if (m_config.minusEqualPage ()) { pageUp (); return TRUE; } break; #endif case IBUS_bracketleft: if (m_config.squareBracketPage ()) { pageUp (); return TRUE; } break; #if 0 //For "2.5" input. case IBUS_period: if (m_config.commaPeriodPage ()) { pageDown (); return TRUE; } break; #endif case IBUS_equal: if (m_config.minusEqualPage ()) { pageDown (); return TRUE; } break; case IBUS_bracketright: if (m_config.squareBracketPage ()) { pageDown (); return TRUE; } break; case IBUS_Up: case IBUS_KP_Up: cursorUp (); return TRUE; case IBUS_Down: case IBUS_KP_Down: cursorDown (); return TRUE; case IBUS_Page_Up: case IBUS_KP_Page_Up: pageUp (); return TRUE; case IBUS_Page_Down: case IBUS_KP_Page_Down: pageDown (); return TRUE; case IBUS_Escape: reset (); return TRUE; } return FALSE; } gboolean ExtEditor::processLabelKey (guint keyval) { //According to enum ExtEditorLabelMode. switch (m_mode) { case LABEL_LIST_DIGIT: switch (keyval) { case '1' ... '9': return selectCandidateInPage (keyval - '1'); break; case '0': return selectCandidateInPage (9); break; } break; case LABEL_LIST_NUMBERS: case LABEL_LIST_ALPHA: switch (keyval) { case 'a' ... 'k': return selectCandidateInPage (keyval - 'a'); break; case 'A' ... 'K': return selectCandidateInPage (keyval - 'A'); break; } break; default: break; } return FALSE; } gboolean ExtEditor::processSpace (guint keyval) { if (!(keyval == IBUS_space || keyval == IBUS_KP_Space)) return FALSE; guint cursor_pos = m_lookup_table.cursorPos (); switch (m_mode) { case LABEL_LIST_NUMBERS: selectCandidate (cursor_pos); break; case LABEL_LIST_COMMANDS: case LABEL_LIST_DIGIT: case LABEL_LIST_ALPHA: case LABEL_LIST_NONE: selectCandidate (cursor_pos); break; case LABEL_LIST_SINGLE: g_return_val_if_fail (cursor_pos == 0 , FALSE); selectCandidate (cursor_pos); break; default: break; } return TRUE; } gboolean ExtEditor::processEnter(guint keyval) { if (keyval != IBUS_Return) return FALSE; if (m_text.length () == 0) return FALSE; Text text(m_text); commitText (text); reset (); return TRUE; } void ExtEditor::pageUp (void) { if (G_LIKELY(m_lookup_table.pageUp ())) { update (); } } void ExtEditor::pageDown (void) { if (G_LIKELY(m_lookup_table.pageDown ())) { update (); } } gboolean ExtEditor::removeCharBefore (void) { if (G_UNLIKELY( m_cursor <= 0 )) { m_cursor = 0; return FALSE; } if (G_UNLIKELY( m_cursor > m_text.length () )) { m_cursor = m_text.length (); return FALSE; } m_text.erase (m_cursor - 1, 1); m_cursor = std::max (0, static_cast(m_cursor) - 1); return TRUE; } gboolean ExtEditor::removeCharAfter (void) { if (G_UNLIKELY( m_cursor < 0 )) { m_cursor = 0; return FALSE; } if (G_UNLIKELY( m_cursor >= m_text.length () )) { m_cursor = m_text.length (); return FALSE; } m_text.erase (m_cursor, 1); m_cursor = std::min (m_cursor, (guint)m_text.length ()); return TRUE; } void ExtEditor::cursorUp (void) { if (G_LIKELY (m_lookup_table.cursorUp ())) { update (); } } void ExtEditor::cursorDown (void) { if (G_LIKELY (m_lookup_table.cursorDown ())) { update (); } } void ExtEditor::update (void) { updateLookupTable (); updatePreeditText (); updateAuxiliaryText (); } void ExtEditor::updateAll (void) { updateStateFromInput (); update (); } void ExtEditor::reset (void) { m_text = ""; updateStateFromInput (); update (); } void ExtEditor::candidateClicked (guint index, guint button, guint state) { selectCandidateInPage (index); } gboolean ExtEditor::selectCandidateInPage (guint index) { guint page_size = m_lookup_table.pageSize (); guint cursor_pos = m_lookup_table.cursorPos (); if (G_UNLIKELY(index >= page_size)) return FALSE; index += (cursor_pos / page_size) * page_size; return selectCandidate (index); } gboolean ExtEditor::selectCandidate (guint index) { switch (m_mode) { case LABEL_LIST_NUMBERS: { if ( index >= m_lookup_table.size() ) return FALSE; IBusText * candidate = m_lookup_table.getCandidate(index); Text text(candidate); commitText(text); reset(); return TRUE; } break; case LABEL_LIST_COMMANDS: { std::string prefix = m_text.substr (1, 2); int len = prefix.length (); const char * prefix_str = prefix.c_str (); const GArray * commands = ibus_engine_plugin_get_available_commands (m_lua_plugin); int match_count = -1; for (int i = 0; i < static_cast(commands->len); ++i) { lua_command_t * command = &g_array_index (commands, lua_command_t, i); if ( strncmp (prefix_str, command->command_name, len) == 0 ) { match_count++; } if ( match_count == static_cast(index) ) { m_text.clear (); m_text = "i"; m_text += command->command_name; m_cursor = m_text.length (); break; } } updateStateFromInput (); update (); } return TRUE; break; case LABEL_LIST_DIGIT: case LABEL_LIST_ALPHA: case LABEL_LIST_NONE: { g_return_val_if_fail (m_result_num > 1, FALSE); g_return_val_if_fail (static_cast(index) < m_result_num, FALSE); const lua_command_candidate_t * candidate = g_array_index (m_candidates, lua_command_candidate_t *, index); if ( candidate->content ) { Text text (candidate->content); commitText (text); m_text.clear (); } else if (candidate->suggest) { m_text += candidate->suggest; m_cursor += strlen(candidate->suggest); } updateStateFromInput (); update (); } return TRUE; break; case LABEL_LIST_SINGLE: { g_return_val_if_fail (m_result_num == 1, FALSE); g_return_val_if_fail (index == 0, FALSE); if ( m_candidate->content ) { Text text (m_candidate->content); commitText (text); m_text.clear (); } else if (m_candidate->suggest) { m_text += m_candidate->suggest; } updateStateFromInput (); update (); return TRUE; } break; default: break; } return FALSE; } bool ExtEditor::updateStateFromInput (void) { /* Do parse and candidates update here. */ /* prefix i double check here. */ if ( !m_text.length () ) { m_preedit_text = ""; m_auxiliary_text = ""; m_cursor = 0; clearLookupTable (); return FALSE; } if ( 'i' != m_text[0] && 'I' != m_text[0] ) { g_warning ("'i' or 'I' is expected in m_text string.\n"); return FALSE; } m_auxiliary_text = m_text[0]; m_mode = LABEL_LIST_COMMANDS; if ( 1 == m_text.length () ) { fillCommandCandidates (); return true; } /* Check m_text len, and update auxiliary string meanwhile. * 1. only "i", dispatch to fillCommandCandidates (void). * 2. "i" with one charactor, * dispatch to fillCommandCandidates (std::string). * 3. "i" with two charactor or more, * dispatch to fillCommand (std::string, const char * argument). */ if ( isalpha (m_text[1])) { m_mode = LABEL_LIST_COMMANDS; if ( m_text.length () == 2) { fillCommandCandidates (m_text.substr (1,1).c_str ()); m_auxiliary_text += " "; m_auxiliary_text += m_text.substr (1, 1); return true; } else if ( m_text.length () >= 3) { std::string command_name = m_text.substr (1,2); m_auxiliary_text += " "; m_auxiliary_text += m_text.substr (1,2); const char * argment = NULL; std::string arg = ""; if (m_text.length () > 3) { arg = m_text.substr (3); argment = arg.c_str (); m_auxiliary_text += " "; m_auxiliary_text += argment; } /* finish auxiliary text computing here. */ const lua_command_t * command = ibus_engine_plugin_lookup_command (m_lua_plugin, command_name.c_str ()); if ( NULL == command) { m_mode = LABEL_NONE; clearLookupTable (); m_lookup_table.clear (); return FALSE; } if ( command->help ){ int space_len = std::max ( 0, m_aux_text_len - (int) g_utf8_strlen (command->help, -1) - 2 /* length of "[...]" */); m_auxiliary_text.append(space_len, ' '); m_auxiliary_text += "["; m_auxiliary_text += command->help; m_auxiliary_text += "]"; } std::string label = command->leading; if ( "digit" == label ) m_mode = LABEL_LIST_DIGIT; else if ( "alpha" == label ) m_mode = LABEL_LIST_ALPHA; else m_mode = LABEL_LIST_NONE; fillCommand (command_name, argment); } } else if ( isdigit (m_text[1]) ) { m_mode = LABEL_LIST_NUMBERS; std::string number = m_text.substr(1); m_auxiliary_text += " "; m_auxiliary_text += number; //Generate Chinese number. gint64 num = atoll (number.c_str ()); fillChineseNumber (num); } return true; } bool ExtEditor::fillCommandCandidates (void) { return fillCommandCandidates (""); } bool ExtEditor::fillCommandCandidates (std::string prefix) { clearLookupTable (); /* fill candidates here. */ int len = prefix.length (); const char * prefix_str = prefix.c_str (); const GArray * commands = ibus_engine_plugin_get_available_commands (m_lua_plugin); int count = -1; for ( int i = 0; i < static_cast(commands->len); ++i) { lua_command_t * command = &g_array_index (commands, lua_command_t, i); if ( strncmp (prefix_str, command->command_name, len) == 0) { count++; std::string candidate = command->command_name; candidate += "."; candidate += command->description; m_lookup_table.setLabel (count, Text ("")); m_lookup_table.appendCandidate (Text (candidate)); } } return true; } bool ExtEditor::fillCommand (std::string command_name, const char * argument) { const lua_command_t * command = ibus_engine_plugin_lookup_command (m_lua_plugin, command_name.c_str ()); if ( NULL == command ) return false; if ( m_result_num != 0) { if ( m_result_num == 1) { ibus_engine_plugin_free_candidate ((lua_command_candidate_t *)m_candidate); m_candidate = NULL; }else{ for ( int i = 0; i < m_result_num; ++i) { const lua_command_candidate_t * candidate = g_array_index (m_candidates, lua_command_candidate_t *, i); ibus_engine_plugin_free_candidate ((lua_command_candidate_t *)candidate); } g_array_free (m_candidates, TRUE); m_candidates = NULL; } m_result_num = 0; g_assert (m_candidates == NULL && m_candidate == NULL); } m_result_num = ibus_engine_plugin_call (m_lua_plugin, command->lua_function_name, argument); if ( 1 == m_result_num ) m_mode = LABEL_LIST_SINGLE; clearLookupTable (); //Generate labels according to m_mode if ( LABEL_LIST_DIGIT == m_mode ) { for ( int i = 1; i <= 10; ++i ) m_lookup_table.setLabel ( i - 1, Text (i - 1 + '1') ); } if ( LABEL_LIST_ALPHA == m_mode) { for ( int i = 1; i <= 10; ++i ) m_lookup_table.setLabel ( i - 1, Text (i - 1 + 'a') ); } if ( LABEL_LIST_NONE == m_mode || LABEL_LIST_SINGLE == m_mode) { for ( int i = 1; i <= 10; ++i) m_lookup_table.setLabel ( i - 1, Text ("")); } //Generate candidates std::string result; if ( 1 == m_result_num ) { m_candidate = ibus_engine_plugin_get_retval (m_lua_plugin); result = ""; if ( m_candidate->content ) { result = m_candidate->content; if (strstr (result.c_str (), "\n")) result = "(字符画)"; } if ( m_candidate->suggest && m_candidate-> help ) { result += m_candidate->suggest; result += " "; result += "["; result += m_candidate->help; result += "]"; } m_lookup_table.appendCandidate (Text (result)); }else if (m_result_num > 1) { m_candidates = ibus_engine_plugin_get_retvals (m_lua_plugin); for ( int i = 0; i < m_result_num; ++i) { const lua_command_candidate_t * candidate = g_array_index (m_candidates, lua_command_candidate_t *, i); result = ""; if ( candidate->content ) { result = candidate->content; if (strstr (result.c_str (), "\n")) result = "(字符画)"; } if ( candidate->suggest && candidate-> help ) { result += candidate->suggest; result += " "; result += "["; result += candidate->help; result += "]"; } m_lookup_table.appendCandidate (Text (result)); } } return true; } bool ExtEditor::fillChineseNumber(gint64 num) { clearLookupTable(); if ( LABEL_LIST_NUMBERS == m_mode) { for ( int i = 1; i <= 10; ++i ) m_lookup_table.setLabel ( i - 1, Text (i - 1 + 'a') ); } std::string result = simplified_number(num); if ( !result.empty() ){ Text text(result); m_lookup_table.appendCandidate(text); } result = traditional_number(num); if ( !result.empty() ){ Text text(result); m_lookup_table.appendCandidate(text); } result = simplest_cn_number(num); if ( !result.empty() ){ Text text(result); m_lookup_table.appendCandidate(text); } return TRUE; } void ExtEditor::clearLookupTable (void) { m_lookup_table.clear (); m_lookup_table.setPageSize (m_config.pageSize ()); m_lookup_table.setOrientation (m_config.orientation ()); } void ExtEditor::updateLookupTable (void) { if (m_lookup_table.size ()) { Editor::updateLookupTableFast (m_lookup_table, TRUE); } else { hideLookupTable (); } } void ExtEditor::updatePreeditText (void) { if ( G_UNLIKELY(m_preedit_text.empty ()) ) { hidePreeditText (); return; } StaticText preedit_text (m_preedit_text); Editor::updatePreeditText (preedit_text, m_cursor, TRUE); } void ExtEditor::updateAuxiliaryText (void) { if ( G_UNLIKELY(m_auxiliary_text.empty ()) ) { hideAuxiliaryText (); return; } StaticText aux_text (m_auxiliary_text); Editor::updateAuxiliaryText (aux_text, TRUE); } }; ibus-libpinyin-1.16.1/src/PYPDoublePinyinEditor.cc0000644000175000017500000001027014763733347015476 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2011 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "PYPDoublePinyinEditor.h" #include "PYConfig.h" #include "PYLibPinyin.h" using namespace PY; /* * c in 'a' ... 'z' => id = c - 'a' * c == ';' => id = 26 * else => id = -1 */ #define ID(c) \ ((c >= IBUS_a && c <= IBUS_z) ? c - IBUS_a : (c == IBUS_semicolon ? 26 : -1)) #define IS_ALPHA(c) \ ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) DoublePinyinEditor::DoublePinyinEditor ( PinyinProperties & props, Config & config) : PinyinEditor (props, config) { m_instance = LibPinyinBackEnd::instance ().allocPinyinInstance (); #ifdef ENABLE_CLOUD_INPUT_MODE m_cloud_candidates.setInputMode (DoublePinyin); #endif } DoublePinyinEditor::~DoublePinyinEditor (void) { LibPinyinBackEnd::instance ().freePinyinInstance (m_instance); m_instance = NULL; } gboolean DoublePinyinEditor::insert (gint ch) { /* is full */ if (G_UNLIKELY (m_text.length () >= MAX_PINYIN_LEN)) return TRUE; gint id = ID (ch); if (id == -1) { /* it is not available ch */ return FALSE; } #if 0 if (G_UNLIKELY (m_text.empty () && ID_TO_SHENG (id) == PINYIN_ID_VOID)) { return FALSE; } #endif m_text.insert (m_cursor++, ch); m_lookup_cursor = 0; updatePinyin (); update (); return TRUE; } void DoublePinyinEditor::reset (void) { PinyinEditor::reset (); } gboolean DoublePinyinEditor::processKeyEvent (guint keyval, guint keycode, guint modifiers) { if (modifiers & IBUS_MOD4_MASK) return FALSE; /* handle ';' key */ if (G_UNLIKELY (keyval == IBUS_semicolon)) { if (cmshm_filter (modifiers) == 0) { if (m_text.empty ()) return FALSE; if (insert (keyval)) return TRUE; } } return PinyinEditor::processKeyEvent (keyval, keycode, modifiers); } void DoublePinyinEditor::updatePinyin (void) { if (G_UNLIKELY (m_text.empty ())) { m_pinyin_len = 0; /* TODO: check whether to replace "" with NULL. */ pinyin_parse_more_double_pinyins (m_instance, ""); pinyin_guess_sentence(m_instance); return; } m_pinyin_len = pinyin_parse_more_double_pinyins (m_instance, m_text.c_str ()); pinyin_guess_sentence (m_instance); } void DoublePinyinEditor::updateAuxiliaryText (void) { if (G_UNLIKELY (m_text.empty ())) { if (DISPLAY_STYLE_TRADITIONAL == m_config.displayStyle () || DISPLAY_STYLE_COMPATIBILITY == m_config.displayStyle ()) hideAuxiliaryText (); if (DISPLAY_STYLE_COMPACT == m_config.displayStyle ()) hidePreeditText (); return; } m_buffer.clear (); if (m_config.doublePinyinShowRaw ()) { m_buffer << m_text; } else { gchar * aux_text = NULL; pinyin_get_double_pinyin_auxiliary_text (m_instance, m_cursor, &aux_text); m_buffer << aux_text; g_free(aux_text); /* append rest text */ const gchar * p = m_text.c_str() + m_pinyin_len; m_buffer << p; } StaticText text (m_buffer); if (DISPLAY_STYLE_TRADITIONAL == m_config.displayStyle () || DISPLAY_STYLE_COMPATIBILITY == m_config.displayStyle ()) Editor::updateAuxiliaryText (text, TRUE); if (DISPLAY_STYLE_COMPACT == m_config.displayStyle ()) Editor::updatePreeditText (text, 0, TRUE); } ibus-libpinyin-1.16.1/src/PYPPhoneticEditor.cc0000644000175000017500000003775414763733347014666 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2011 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "PYPPhoneticEditor.h" #include #include "PYConfig.h" #include "PYPinyinProperties.h" using namespace PY; /* init static members */ PhoneticEditor::PhoneticEditor (PinyinProperties &props, Config &config) : Editor (props, config), m_pinyin_len (0), m_lookup_table (m_config.pageSize ()), m_lookup_cursor (0), m_libpinyin_candidates (this), #ifdef IBUS_BUILD_LUA_EXTENSION m_lua_trigger_candidates (this), m_lua_converter_candidates (this), #endif m_emoji_candidates (this), #ifdef ENABLE_CLOUD_INPUT_MODE m_cloud_candidates(this), #endif #ifdef IBUS_BUILD_ENGLISH_INPUT_MODE m_english_candidates (this), #endif m_traditional_candidates (this, config) { } PhoneticEditor::~PhoneticEditor (){ } #ifdef IBUS_BUILD_LUA_EXTENSION gboolean PhoneticEditor::setLuaPlugin (IBusEnginePlugin *plugin) { m_lua_trigger_candidates.setLuaPlugin (plugin); m_lua_converter_candidates.setLuaPlugin (plugin); return TRUE; } #endif gboolean PhoneticEditor::processSpace (guint keyval, guint keycode, guint modifiers) { if (!m_text) return FALSE; if (cmshm_filter (modifiers) != 0) return TRUE; if (m_lookup_table.size () != 0) { selectCandidate (m_lookup_table.cursorPos ()); update (); } else { commit (); } return TRUE; } gboolean PhoneticEditor::processFunctionKey (guint keyval, guint keycode, guint modifiers) { if (m_text.empty ()) return FALSE; /* ignore numlock */ modifiers = cmshm_filter (modifiers); if (modifiers != 0 && modifiers != IBUS_CONTROL_MASK) return TRUE; /* process some cursor control keys */ if (modifiers == 0) { /* no modifiers. */ switch (keyval) { case IBUS_Return: case IBUS_KP_Enter: { Text text (m_text.c_str ()); commitText (text); reset (); return TRUE; } case IBUS_BackSpace: removeCharBefore (); return TRUE; case IBUS_Delete: case IBUS_KP_Delete: removeCharAfter (); return TRUE; case IBUS_Left: case IBUS_KP_Left: moveCursorLeft (); return TRUE; case IBUS_Right: case IBUS_KP_Right: moveCursorRight (); return TRUE; case IBUS_Home: case IBUS_KP_Home: moveCursorToBegin (); return TRUE; case IBUS_End: case IBUS_KP_End: moveCursorToEnd (); return TRUE; case IBUS_Up: case IBUS_KP_Up: cursorUp (); return TRUE; case IBUS_Down: case IBUS_KP_Down: cursorDown (); return TRUE; case IBUS_Page_Up: case IBUS_KP_Page_Up: pageUp (); return TRUE; case IBUS_Page_Down: case IBUS_KP_Page_Down: case IBUS_Tab: pageDown (); return TRUE; case IBUS_Escape: reset (); return TRUE; default: return FALSE; } } else { /* ctrl key pressed. */ switch (keyval) { case IBUS_BackSpace: removeWordBefore (); return TRUE; case IBUS_Delete: case IBUS_KP_Delete: removeWordAfter (); return TRUE; case IBUS_Left: case IBUS_KP_Left: moveCursorLeftByWord (); return TRUE; case IBUS_Right: case IBUS_KP_Right: moveCursorRightByWord (); return TRUE; /* remove user phrase */ case IBUS_D: { guint index = m_lookup_table.cursorPos (); if (index < m_candidates.size () && removeCandidateInternal (m_candidates[index])) { updatePinyin (); update (); } return TRUE; } default: return FALSE; } } return FALSE; } gboolean PhoneticEditor::processKeyEvent (guint keyval, guint keycode, guint modifiers) { if (modifiers & IBUS_MOD4_MASK) return FALSE; return FALSE; } void PhoneticEditor::updateLookupTableFast (void) { Editor::updateLookupTableFast (m_lookup_table, TRUE); } void PhoneticEditor::updateLookupTable (void) { m_lookup_table.clear (); updateCandidates (); fillLookupTable (); if (m_lookup_table.size()) { Editor::updateLookupTable (m_lookup_table, TRUE); } else { hideLookupTable (); } } gboolean PhoneticEditor::updateCandidates (void) { m_candidates.clear (); m_libpinyin_candidates.processCandidates (m_candidates); if (m_config.emojiCandidate ()) m_emoji_candidates.processCandidates (m_candidates); #ifdef IBUS_BUILD_LUA_EXTENSION m_lua_trigger_candidates.processCandidates (m_candidates); std::string converter = m_config.luaConverter (); if (!converter.empty ()) { m_lua_converter_candidates.setConverter (converter.c_str ()); m_lua_converter_candidates.processCandidates (m_candidates); } #endif #ifdef ENABLE_CLOUD_INPUT_MODE /* keep me behind the other kinds of candidates which are inserted after n-gram candidates */ if(m_config.enableCloudInput ()) m_cloud_candidates.processCandidates (m_candidates); #endif if (!m_props.modeSimp ()) m_traditional_candidates.processCandidates (m_candidates); #ifdef IBUS_BUILD_ENGLISH_INPUT_MODE if (m_config.englishCandidate ()) m_english_candidates.processCandidates (m_candidates); #endif return TRUE; } gboolean PhoneticEditor::fillLookupTable (void) { String word; for (guint i = 0; i < m_candidates.size (); i++) { EnhancedCandidate & candidate = m_candidates[i]; word = candidate.m_display_string; Text text (word); /* show user candidate as blue. */ if (CANDIDATE_USER == candidate.m_candidate_type) text.appendAttribute (IBUS_ATTR_TYPE_FOREGROUND, 0x000000ef, 0, -1); m_lookup_table.appendCandidate (text); } return TRUE; } void PhoneticEditor::pageUp (void) { if (G_LIKELY (m_lookup_table.pageUp ())) { updateLookupTableFast (); updatePreeditText (); updateAuxiliaryText (); } } void PhoneticEditor::pageDown (void) { if (G_LIKELY(m_lookup_table.pageDown ())) { updateLookupTableFast (); updatePreeditText (); updateAuxiliaryText (); } } void PhoneticEditor::cursorUp (void) { if (G_LIKELY (m_lookup_table.cursorUp ())) { updateLookupTableFast (); updatePreeditText (); updateAuxiliaryText (); } } void PhoneticEditor::cursorDown (void) { if (G_LIKELY (m_lookup_table.cursorDown ())) { updateLookupTableFast (); updatePreeditText (); updateAuxiliaryText (); } } void PhoneticEditor::candidateClicked (guint index, guint button, guint state) { selectCandidateInPage (index); } void PhoneticEditor::reset (void) { m_pinyin_len = 0; m_lookup_table.clear (); pinyin_reset (m_instance); Editor::reset (); } void PhoneticEditor::update (void) { guint lookup_cursor = getLookupCursor (); /* The lookup cursor is not moved here. */ if (m_config.sortOption () & SORT_WITHOUT_SENTENCE_CANDIDATE) lookup_cursor = 0; pinyin_guess_candidates (m_instance, lookup_cursor, m_config.sortOption ()); updateLookupTable (); updatePreeditText (); updateAuxiliaryText (); } void PhoneticEditor::updateAll (void) { updatePinyin (); update (); } guint PhoneticEditor::getPinyinCursor () { /* Translate cursor position to pinyin position. */ size_t pinyin_cursor = 0; pinyin_get_pinyin_offset (m_instance, m_cursor, &pinyin_cursor); return pinyin_cursor; } guint PhoneticEditor::getLookupCursor (void) { guint pinyin_cursor = getPinyinCursor (); /* show candidates when pinyin cursor is at the end. */ if (m_cursor == m_text.length ()) return m_lookup_cursor; return pinyin_cursor; } int PhoneticEditor::selectCandidateInternal (EnhancedCandidate & candidate) { switch (candidate.m_candidate_type) { case CANDIDATE_NBEST_MATCH: case CANDIDATE_LONGER: case CANDIDATE_LONGER_USER: case CANDIDATE_NORMAL: case CANDIDATE_USER: return m_libpinyin_candidates.selectCandidate (candidate); case CANDIDATE_TRADITIONAL_CHINESE: return m_traditional_candidates.selectCandidate (candidate); #ifdef IBUS_BUILD_ENGLISH_INPUT_MODE case CANDIDATE_ENGLISH: return m_english_candidates.selectCandidate (candidate); #endif #ifdef ENABLE_CLOUD_INPUT_MODE case CANDIDATE_CLOUD_INPUT: return m_cloud_candidates.selectCandidate (candidate); #endif #ifdef IBUS_BUILD_LUA_EXTENSION case CANDIDATE_LUA_TRIGGER: return m_lua_trigger_candidates.selectCandidate (candidate); case CANDIDATE_LUA_CONVERTER: return m_lua_converter_candidates.selectCandidate (candidate); #endif case CANDIDATE_EMOJI: return m_emoji_candidates.selectCandidate (candidate); default: assert (FALSE); } } gboolean PhoneticEditor::removeCandidateInternal (EnhancedCandidate & candidate) { switch (candidate.m_candidate_type) { case CANDIDATE_NBEST_MATCH: case CANDIDATE_LONGER: case CANDIDATE_LONGER_USER: case CANDIDATE_NORMAL: case CANDIDATE_USER: return m_libpinyin_candidates.removeCandidate (candidate); case CANDIDATE_TRADITIONAL_CHINESE: return m_traditional_candidates.removeCandidate (candidate); #ifdef IBUS_BUILD_ENGLISH_INPUT_MODE case CANDIDATE_ENGLISH: return m_english_candidates.removeCandidate (candidate); #endif #ifdef IBUS_BUILD_LUA_EXTENSION case CANDIDATE_LUA_TRIGGER: return m_lua_trigger_candidates.removeCandidate (candidate); case CANDIDATE_LUA_CONVERTER: return m_lua_converter_candidates.removeCandidate (candidate); #endif case CANDIDATE_EMOJI: return m_emoji_candidates.removeCandidate (candidate); default: assert (FALSE); } } #if 0 gboolean PhoneticEditor::selectCandidate (guint i) { guint len = 0; pinyin_get_n_candidate (m_instance, &len); if (G_UNLIKELY (i >= len)) return FALSE; guint lookup_cursor = getLookupCursor (); lookup_candidate_t * candidate = NULL; pinyin_get_candidate (m_instance, i, &candidate); lookup_candidate_type_t type; pinyin_get_candidate_type (m_instance, candidate, &type); if (NBEST_MATCH_CANDIDATE == type) { /* as nbest match candidate starts from the beginning of user input. */ pinyin_choose_candidate (m_instance, 0, candidate); guint8 index = 0; pinyin_get_candidate_nbest_index(m_instance, candidate, &index); commit (index); return TRUE; } lookup_cursor = pinyin_choose_candidate (m_instance, lookup_cursor, candidate); pinyin_guess_sentence (m_instance); if (lookup_cursor == m_text.length ()) { commit (); return TRUE; } PinyinKeyPos *pos = NULL; pinyin_get_pinyin_key_rest (m_instance, lookup_cursor, &pos); guint16 begin = 0; pinyin_get_pinyin_key_rest_positions (m_instance, pos, &begin, NULL); m_cursor = begin; update (); return TRUE; } #endif gboolean PhoneticEditor::selectCandidate (guint index) { if (G_UNLIKELY (index >= m_candidates.size ())) return FALSE; EnhancedCandidate & candidate = m_candidates[index]; int action = selectCandidateInternal (candidate); if (action & SELECT_CANDIDATE_COMMIT) commit (candidate.m_display_string.c_str ()); if (action & SELECT_CANDIDATE_UPDATE) update (); if (action & SELECT_CANDIDATE_DIRECT_COMMIT) directCommit (candidate.m_display_string.c_str ()); return TRUE; } gboolean PhoneticEditor::selectCandidateInPage (guint i) { guint page_size = m_lookup_table.pageSize (); guint cursor_pos = m_lookup_table.cursorPos (); if (G_UNLIKELY (i >= page_size)) return FALSE; i += (cursor_pos / page_size) * page_size; return selectCandidate (i); } void PhoneticEditor::directCommit (const gchar *str) { if (G_UNLIKELY (m_text.empty ())) return; Text text (str); commitText (text); reset(); } gboolean PhoneticEditor::removeCharBefore (void) { if (G_UNLIKELY (m_cursor == 0)) return FALSE; m_cursor --; m_lookup_cursor = 0; m_text.erase (m_cursor, 1); updatePinyin (); update (); return TRUE; } gboolean PhoneticEditor::removeCharAfter (void) { if (G_UNLIKELY (m_cursor == m_text.length ())) return FALSE; m_text.erase (m_cursor, 1); m_lookup_cursor = 0; updatePinyin (); update (); return TRUE; } gboolean PhoneticEditor::moveCursorLeft (void) { if (G_UNLIKELY (m_cursor == 0)) return FALSE; m_cursor --; m_lookup_cursor = 0; update (); return TRUE; } gboolean PhoneticEditor::moveCursorRight (void) { if (G_UNLIKELY (m_cursor == m_text.length ())) return FALSE; m_cursor ++; m_lookup_cursor = 0; update (); return TRUE; } gboolean PhoneticEditor::moveCursorToBegin (void) { if (G_UNLIKELY (m_cursor == 0)) return FALSE; m_cursor = 0; m_lookup_cursor = 0; update (); return TRUE; } gboolean PhoneticEditor::moveCursorToEnd (void) { if (G_UNLIKELY (m_cursor == m_text.length ())) return FALSE; m_cursor = m_text.length (); m_lookup_cursor = 0; update (); return TRUE; } /* move cursor by word functions */ guint PhoneticEditor::getCursorLeftByWord (void) { size_t offset = 0; pinyin_get_pinyin_offset (m_instance, m_cursor, &offset); size_t cursor = 0; pinyin_get_left_pinyin_offset(m_instance, offset, &cursor); return cursor; } guint PhoneticEditor::getCursorRightByWord (void) { size_t offset = 0; pinyin_get_pinyin_offset (m_instance, m_cursor, &offset); size_t cursor = 0; pinyin_get_right_pinyin_offset(m_instance, offset, &cursor); return cursor; } gboolean PhoneticEditor::removeWordBefore (void) { if (G_UNLIKELY (m_cursor == 0)) return FALSE; guint cursor = getCursorLeftByWord (); m_text.erase (cursor, m_cursor - cursor); m_cursor = cursor; m_lookup_cursor = 0; updatePinyin (); update (); return TRUE; } gboolean PhoneticEditor::removeWordAfter (void) { if (G_UNLIKELY (m_cursor == m_text.length ())) return FALSE; guint cursor = getCursorRightByWord (); m_text.erase (m_cursor, cursor - m_cursor); m_lookup_cursor = 0; updatePinyin (); update (); return TRUE; } gboolean PhoneticEditor::moveCursorLeftByWord (void) { if (G_UNLIKELY (m_cursor == 0)) return FALSE; guint cursor = getCursorLeftByWord (); m_cursor = cursor; m_lookup_cursor = 0; update (); return TRUE; } gboolean PhoneticEditor::moveCursorRightByWord (void) { if (G_UNLIKELY (m_cursor == m_text.length ())) return FALSE; guint cursor = getCursorRightByWord (); m_cursor = cursor; m_lookup_cursor = 0; update (); return TRUE; } ibus-libpinyin-1.16.1/src/PYPPinyinEditor.h0000664000175000017500000000337113672072346014204 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2011 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_LIB_PINYIN_PINYIN_EDITOR_H_ #define __PY_LIB_PINYIN_PINYIN_EDITOR_H_ #include "PYPPhoneticEditor.h" namespace PY { #define MAX_PINYIN_LEN 64 class Config; class PinyinEditor : public PhoneticEditor { public: PinyinEditor (PinyinProperties & props, Config & config); protected: gboolean processPinyin (guint keyval, guint keycode, guint modifiers); gboolean processNumber (guint keyval, guint keycode, guint modifiers); gboolean processPunct (guint keyval, guint keycode, guint modifiers); gboolean processFunctionKey (guint keyval, guint keycode, guint modifiers); virtual void updateAuxiliaryText (void) = 0; virtual void updateLookupTable (void); virtual void updatePreeditText (void); virtual gboolean processKeyEvent (guint keyval, guint keycode, guint modifiers); virtual void updatePinyin (void) = 0; virtual void commit (const gchar *str); using PhoneticEditor::commit; }; }; #endif ibus-libpinyin-1.16.1/src/PYPBopomofoEditor.h0000664000175000017500000000371213672072346014515 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2011 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_LIB_PINYIN_BOPOMOFO_EDITOR_H_ #define __PY_LIB_PINYIN_BOPOMOFO_EDITOR_H_ #include "PYPPhoneticEditor.h" namespace PY { class Config; #define MAX_PINYIN_LEN 64 class BopomofoEditor : public PhoneticEditor { public: BopomofoEditor (PinyinProperties & props, Config & config); virtual ~BopomofoEditor (void); protected: String bopomofo; gboolean m_select_mode; gboolean processGuideKey (guint keyval, guint keycode, guint modifiers); gboolean processAuxiliarySelectKey (guint keyval, guint keycode, guint modifiers); gboolean processSelectKey (guint keyval, guint keycode, guint modifiers); gboolean processBopomofo (guint keyval, guint keycode, guint modifiers); gboolean processKeyEvent (guint keyval, guint keycode, guint modifiers); void updateLookupTableLabel (); virtual void updateLookupTable (); virtual void updatePreeditText (); virtual void updateAuxiliaryText (); virtual void updatePinyin (void); virtual void commit (const gchar *str); using PhoneticEditor::commit; void reset (); gboolean insert (gint ch); }; }; #endif ibus-libpinyin-1.16.1/src/PYPConfig.h0000644000175000017500000000556714735672521013005 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_LIBPINYIN_CONFIG_H_ #define __PY_LIBPINYIN_CONFIG_H_ #ifdef HAVE_CONFIG_H # include #endif #include #include #include "PYUtil.h" #include "PYObject.h" #include "PYConfig.h" #include namespace PY { class LibPinyinConfig : public Config { protected: LibPinyinConfig (const std::string & name); virtual ~LibPinyinConfig (void); public: virtual gboolean luaConverter (std::string converter); virtual gboolean networkDictionaryStartTimestamp (gint64 timestamp); virtual gboolean networkDictionaryEndTimestamp (gint64 timestamp); protected: void initDefaultValues (void); virtual void readDefaultValues (void); virtual gboolean valueChanged (const std::string &schema_id, const std::string &name, GVariant *value); private: static void valueChangedCallback (GSettings *settings, const gchar *name, LibPinyinConfig *self); protected: }; /* PinyinConfig */ class PinyinConfig : public LibPinyinConfig { public: static void init (); static PinyinConfig & instance (void) { return *m_instance; } protected: PinyinConfig (); virtual void readDefaultValues (void); virtual gboolean valueChanged (const std::string &schema_id, const std::string &name, GVariant *value); private: static std::unique_ptr m_instance; }; /* Bopomof Config */ class BopomofoConfig : public LibPinyinConfig { public: static void init (); static BopomofoConfig & instance (void) { return *m_instance; } protected: BopomofoConfig (); virtual void readDefaultValues (void); virtual gboolean valueChanged (const std::string &schema_id, const std::string &name, GVariant *value); private: static std::unique_ptr m_instance; }; }; #endif ibus-libpinyin-1.16.1/src/default.inputmethod.xml.in0000644000175000017500000000245714767166744016155 libpinyin zh_CN GPL Peng Wu <alexepico@gmail.com> Peng Huang <shawn.p.huang@gmail.com> BYVoid <byvoid1@gmail.com> @PKGDATADIR@/icons/ibus-pinyin.svg default Intelligent Pinyin Intelligent Pinyin input method 99 InputMode @LIBEXECDIR@/ibus-setup-libpinyin libpinyin 1.16.1 ibus-libpinyin libbopomofo zh_TW GPL Peng Wu <alexepico@gmail.com> Peng Huang <shawn.p.huang@gmail.com> BYVoid <byvoid1@gmail.com> @PKGDATADIR@/icons/ibus-bopomofo.svg default Bopomofo Bopomofo input method 98 InputMode @LIBEXECDIR@/ibus-setup-libpinyin libbopomofo 1.16.1 ibus-libpinyin ibus-libpinyin-1.16.1/src/PYSimpTradConverter.h0000664000175000017500000000222313672072346015055 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_SIMP_TRAD_CONVERTER_H_ #define __PY_SIMP_TRAD_CONVERTER_H_ #include #include "PYConfig.h" namespace PY { class String; class SimpTradConverter { public: SimpTradConverter(Config & config) : m_config(config) {} void simpToTrad (const gchar *in, String &out); private: Config & m_config; }; }; #endif ibus-libpinyin-1.16.1/src/PYSimpTradConverter.cc0000664000175000017500000001005313672072346015213 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * Copyright (c) 2010 BYVoid * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifdef HAVE_CONFIG_H # include "config.h" #endif #include "PYSimpTradConverter.h" #ifdef HAVE_OPENCC # include #else # include # include #endif #include "PYTypes.h" #include "PYString.h" namespace PY { #ifdef HAVE_OPENCC class opencc { public: opencc (const char* configFileName) { m_cc = opencc_open (configFileName); g_assert (m_cc != NULL); } ~opencc (void) { opencc_close(m_cc); } void convert (const gchar *in, String &out) { char * converted = opencc_convert_utf8 (m_cc, in, -1); g_assert (converted != NULL); out = converted; opencc_convert_utf8_free (converted); } private: opencc_t m_cc; }; void SimpTradConverter::simpToTrad (const gchar *in, String &out) { static opencc opencc(m_config.openccConfig().c_str()); opencc.convert (in, out); } #else static gint _xcmp (const gchar *p1, const gchar *p2, const gchar *str) { for (;;) { // both reach end if (p1 == p2 && *str == '\0') return 0; // p1 reaches end if (p1 == p2) return -1; // str reaches end if (*str == '\0') return 1; if (*p1 < *str) return -1; if (*p1 > *str) return 1; p1 ++; str ++; }; } static gint _cmp (gconstpointer p1, gconstpointer p2) { const gchar **pp = (const gchar **) p1; const gchar **s2 = (const gchar **) p2; return _xcmp (pp[0], pp[1], s2[0]); } #include "PYSimpTradConverterTable.h" void SimpTradConverter::simpToTrad (const gchar *in, String &out) { const gchar *pend; const gchar *pp[2]; glong len; glong begin; if (!g_utf8_validate (in, -1 , NULL)) { g_warning ("\%s\" is not an utf8 string!", in); g_assert_not_reached (); } begin = 0; pend = in + std::strlen (in); len = g_utf8_strlen (in, -1); // length in charactoers pp[0] = in; while (pp[0] != pend) { glong slen = std::min (len - begin, (glong) SIMP_TO_TRAD_MAX_LEN); // the length of sub string in character pp[1] = g_utf8_offset_to_pointer (pp[0], slen); // the end of sub string for (;;) { const gchar **result; result = (const gchar **) std::bsearch (pp, simp_to_trad, G_N_ELEMENTS (simp_to_trad), sizeof (simp_to_trad[0]), _cmp); if (result != NULL) { // found item in table, // append the trad to out and adjust pointers out << result[1]; pp[0] = pp[1]; begin += slen; break; } if (slen == 1) { // if only one character left, // append origin character to out and adjust pointers out.append (pp[0], pp[1] - pp[0]); pp[0] = pp[1]; begin += 1; break; } // if more than on characters left, // adjust pp[1] to previous character pp[1] = g_utf8_prev_char (pp[1]); slen--; } } } #endif } ibus-libpinyin-1.16.1/src/PYText.h0000664000175000017500000000400113672072346012362 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_TEXT_H_ #define __PY_TEXT_H_ #include #include #include "PYObject.h" namespace PY { class Text : Object { public: Text (IBusText *text) : Object (text) { } Text (const gchar *str) : Object (ibus_text_new_from_string (str)) { } Text (const std::string & str) : Object (ibus_text_new_from_string (str.c_str ())) { } Text (gunichar ch) : Object (ibus_text_new_from_unichar (ch)) { } void appendAttribute (guint type, guint value, guint start, guint end) { ibus_text_append_attribute (get (), type, value, start, end); } const gchar *text (void) const { return get ()->text; } operator IBusText * (void) const { return get (); } }; class StaticText : public Text { public: StaticText (const gchar *str) : Text (ibus_text_new_from_static_string (str)) { } StaticText (const std::string & str) : Text (ibus_text_new_from_static_string (str.c_str ())) { } StaticText (gunichar ch) : Text (ch) { } operator IBusText * (void) const { return Text::operator IBusText * (); } }; }; #endif ibus-libpinyin-1.16.1/src/PYString.h0000664000175000017500000000717113672072346012717 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_STRING_H_ #define __PY_STRING_H_ #include #include #include namespace PY { class String : public std::string { public: String () : std::string () { } String (const gchar *str) : std::string (str) { } String (const std::string &str) : std::string (str) { } /* TODO: remove the following line later. */ G_DEPRECATED String (gint len) : std::string () { reserve (len); } String (const gchar ch) : std::string (1, ch) { } String & printf (const gchar *fmt, ...) { gchar *str; va_list args; va_start (args, fmt); str = g_strdup_vprintf (fmt, args); va_end (args); assign (str); g_free (str); return *this; } String & appendPrintf (const gchar *fmt, ...) { gchar *str; va_list args; va_start (args, fmt); str = g_strdup_vprintf (fmt, args); va_end (args); append (str); g_free (str); return *this; } String & appendUnichar (gunichar ch) { gchar str[12]; gint len; len = g_unichar_to_utf8 (ch, str); str[len] = 0; append (str); return *this; } String & insert (gint i, gchar ch) { std::string::insert (i, 1, ch); return *this; } String & truncate (guint index) { erase(index); return *this; } gsize utf8Length (void) const { return g_utf8_strlen (c_str(), -1); } String & operator<< (gint i) { return appendPrintf ("%d", i); } String & operator<< (guint i) { return appendPrintf ("%u", i); } String & operator<< (const gchar ch) { append (1, ch); return *this; } String & operator<< (const gchar *str) { append (str); return *this; } String & operator<< (const gunichar *wstr) { gchar *str; GError *error; str = g_ucs4_to_utf8 (wstr, -1, NULL, NULL, &error); if (str == NULL) { g_warning ("convert ucs4 to utf8 failed: %s", error->message); g_error_free (error); } else { append (str); g_free (str); } return *this; } gchar operator[] (gint i) { return std::string::operator[] (i); } String & operator<< (const std::string &str) { return operator<< (str.c_str ()); } String & operator<< (const String &str) { return operator<< ((const gchar *)str); } String & operator= (const gchar * str) { assign (str); return *this; } operator const gchar *(void) const { return this->c_str (); } operator gboolean (void) const { return ! empty (); } }; }; #endif ibus-libpinyin-1.16.1/src/PYPLuaTriggerCandidates.cc0000644000175000017500000000772514455173634015761 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2018 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "PYPLuaTriggerCandidates.h" #include #include "PYString.h" #include "PYConfig.h" #include "PYPPhoneticEditor.h" using namespace PY; static const int MAXIMUM_NUM = 10; LuaTriggerCandidates::LuaTriggerCandidates (Editor *editor) { m_editor = editor; } gboolean LuaTriggerCandidates::setLuaPlugin (IBusEnginePlugin *plugin) { m_lua_plugin = plugin; return TRUE; } gboolean LuaTriggerCandidates::processCandidates (std::vector & candidates) { if (!m_lua_plugin) return FALSE; m_candidates.clear (); std::vector::iterator pos; for (pos = candidates.begin (); pos != candidates.end (); ++pos) { if (CANDIDATE_NBEST_MATCH != pos->m_candidate_type && CANDIDATE_LONGER != pos->m_candidate_type && CANDIDATE_LONGER_USER != pos->m_candidate_type) break; } const char * lua_function_name = NULL; const char * text = m_editor->m_text; gchar * string = NULL; EnhancedCandidate enhanced; enhanced.m_candidate_type = CANDIDATE_LUA_TRIGGER; if (ibus_engine_plugin_match_input (m_lua_plugin, text, &lua_function_name)) { int num = ibus_engine_plugin_call (m_lua_plugin, lua_function_name, text); num = std::min (num, MAXIMUM_NUM); for (int i = 0; i < num; ++i) { string = ibus_engine_plugin_get_nth_result (m_lua_plugin, i); enhanced.m_display_string = string; enhanced.m_candidate_id = i; g_free (string); candidates.insert (pos, enhanced); m_candidates.push_back (enhanced); } ibus_engine_plugin_clear_results (m_lua_plugin); return TRUE; } else { int num_in_page = std::min (m_editor->m_config.pageSize (), (guint)candidates.size ()); for (int j = 0; j < num_in_page; ++j) { text = candidates[j].m_display_string.c_str (); if (ibus_engine_plugin_match_candidate (m_lua_plugin, text, &lua_function_name)) { int num = ibus_engine_plugin_call (m_lua_plugin, lua_function_name, text); num = std::min (num, MAXIMUM_NUM); for (int i = 0; i < num; ++i) { string = ibus_engine_plugin_get_nth_result (m_lua_plugin, i); enhanced.m_display_string = string; enhanced.m_candidate_id = i; g_free (string); candidates.insert (pos, enhanced); m_candidates.push_back (enhanced); } ibus_engine_plugin_clear_results (m_lua_plugin); return TRUE; } } } return FALSE; } int LuaTriggerCandidates::selectCandidate (EnhancedCandidate & enhanced) { assert (CANDIDATE_LUA_TRIGGER == enhanced.m_candidate_type); assert (enhanced.m_candidate_id < m_candidates.size ()); return SELECT_CANDIDATE_COMMIT; } gboolean LuaTriggerCandidates::removeCandidate (EnhancedCandidate & enhanced) { assert (CANDIDATE_LUA_TRIGGER == enhanced.m_candidate_type); assert (enhanced.m_candidate_id < m_candidates.size ()); return FALSE; } ibus-libpinyin-1.16.1/src/PYPSuggestionEditor.h0000664000175000017500000000567513672072346015076 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2018 Peng Wu * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef __PY_LIB_PINYIN_SUGGESTION_EDITOR_ #define __PY_LIB_PINYIN_SUGGESTION_EDITOR_ #include #include "PYEditor.h" #include "PYLookupTable.h" #include "PYPSuggestionCandidates.h" #include "PYPTradCandidates.h" #ifdef IBUS_BUILD_LUA_EXTENSION #include "PYPLuaTriggerCandidates.h" #include "PYPLuaConverterCandidates.h" #endif namespace PY { class SuggestionEditor : public Editor { friend class SuggestionCandidates; public: SuggestionEditor (PinyinProperties &props, Config & config); virtual ~SuggestionEditor (); virtual gboolean processKeyEvent (guint keyval, guint keycode, guint modifers); virtual void pageUp (void); virtual void pageDown (void); virtual void cursorUp (void); virtual void cursorDown (void); virtual void update (void); virtual void reset (void); virtual void candidateClicked (guint index, guint button, guint state); #ifdef IBUS_BUILD_LUA_EXTENSION gboolean setLuaPlugin (IBusEnginePlugin *plugin); #endif protected: virtual int selectCandidateInternal (EnhancedCandidate & candidate); private: void updateLookupTable (void); void updateLookupTableFast (); gboolean updateCandidates (); gboolean fillLookupTable (); void updatePreeditText (void); void updateAuxiliaryText (void); gboolean selectCandidateInPage (guint index); gboolean selectCandidate (guint index); gboolean processSpace (guint keyval); gboolean processLabelKey (guint keyval); gboolean processPageKey (guint keyval); private: /* variables */ LookupTable m_lookup_table; String m_preedit_text; String m_auxiliary_text; /* use LibPinyinBackEnd here. */ pinyin_instance_t *m_instance; /* use EnhancedCandidates here. */ std::vector m_candidates; /* several EnhancedCandidates providers. */ SuggestionCandidates m_suggestion_candidates; #ifdef IBUS_BUILD_LUA_EXTENSION LuaTriggerCandidates m_lua_trigger_candidates; LuaConverterCandidates m_lua_converter_candidates; #endif TraditionalCandidates m_traditional_candidates; }; }; #endif ibus-libpinyin-1.16.1/src/PYProperty.h0000644000175000017500000000603014737672630013271 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_PROPERTY_H_ #define __PY_PROPERTY_H_ #include #include "PYObject.h" #include "PYText.h" namespace PY { class Property : public Object { public: Property (const gchar *key, IBusPropType type = PROP_TYPE_NORMAL, IBusText *label = NULL, const gchar *icon = NULL, IBusText *tooltip = NULL, gboolean sensitive = TRUE, gboolean visible = TRUE, IBusPropState state = PROP_STATE_UNCHECKED, IBusPropList *props = NULL) : Object (ibus_property_new (key, type, label, icon, tooltip, sensitive, visible, state, props)) { } const gchar * getKey (void) { return ibus_property_get_key (get ()); } void setLabel (IBusText *text) { ibus_property_set_label (get (), text); } void setLabel (const gchar *text) { setLabel (Text (text)); } void setIcon (const gchar *icon) { ibus_property_set_icon (get (), icon); } void setSymbol (IBusText *text) { ibus_property_set_symbol (get (), text); } void setSymbol (const gchar *text) { setSymbol (Text (text)); } void setSensitive (gboolean sensitive) { ibus_property_set_sensitive (get (), sensitive); } void setTooltip (IBusText *text) { ibus_property_set_tooltip (get (), text); } void setTooltip (const gchar *text) { setTooltip (Text (text)); } void setState (IBusPropState state) { ibus_property_set_state (get (), state); } void setSubProps (IBusPropList *props) { ibus_property_set_sub_props (get (), props); } operator IBusProperty * (void) const { return get (); } }; class PropList : Object { public: PropList (void) : Object (ibus_prop_list_new ()) { } void append (Property &prop) { ibus_prop_list_append (get (), prop); } operator IBusPropList * (void) const { return get (); } }; }; #endif ibus-libpinyin-1.16.1/src/PYPEmojiCandidates.cc0000644000175000017500000000722214455173634014747 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2018 Peng Wu * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "PYPEmojiCandidates.h" #include #include #include #include "PYPPhoneticEditor.h" #include "PYConfig.h" #include "PYPEmojiTable.h" using namespace PY; EmojiCandidates::EmojiCandidates (Editor *editor) { m_editor = editor; } static bool compare_match_less_than (const EmojiItem & lhs, const EmojiItem & rhs) { return 0 > std::strcmp (lhs.m_emoji_match, rhs.m_emoji_match); } static bool search_emoji (const EmojiItem * emojis, guint emojis_len, const char * match, std::string & emoji) { const EmojiItem item = {match, NULL}; std::pair range; range = std::equal_range (emojis, emojis + emojis_len, item, compare_match_less_than); guint range_len = range.second - range.first; assert(range_len <= 1); if (range_len == 1) { const EmojiItem * index = range.first; emoji = index->m_emoji_string; return true; } return false; } gboolean EmojiCandidates::processCandidates (std::vector & candidates) { EnhancedCandidate enhanced; enhanced.m_candidate_type = CANDIDATE_EMOJI; enhanced.m_candidate_id = 0; std::vector::iterator pos; for (pos = candidates.begin (); pos != candidates.end (); ++pos) { if (CANDIDATE_NBEST_MATCH != pos->m_candidate_type && CANDIDATE_LONGER != pos->m_candidate_type && CANDIDATE_LONGER_USER != pos->m_candidate_type) break; } std::string emoji; if (search_emoji (english_emoji_table, G_N_ELEMENTS (english_emoji_table), m_editor->m_text, emoji)) { enhanced.m_display_string = emoji; candidates.insert (pos, enhanced); return TRUE; } else { int num = std::min (m_editor->m_config.pageSize () - 1, (guint)candidates.size ()); for (int i = 0; i < num; ++i) { String text = candidates[i].m_display_string; if (search_emoji (chinese_emoji_table, G_N_ELEMENTS (chinese_emoji_table), text, emoji)) { enhanced.m_display_string = emoji; candidates.insert (pos, enhanced); return TRUE; } } } return FALSE; } int EmojiCandidates::selectCandidate (EnhancedCandidate & enhanced) { assert (CANDIDATE_EMOJI == enhanced.m_candidate_type); assert (0 == enhanced.m_candidate_id); return SELECT_CANDIDATE_COMMIT; } gboolean EmojiCandidates::removeCandidate (EnhancedCandidate & enhanced) { assert (CANDIDATE_EMOJI == enhanced.m_candidate_type); assert (0 == enhanced.m_candidate_id); return FALSE; } ibus-libpinyin-1.16.1/src/PYPunctTable.h0000664000175000017500000001372213650242676013512 static const gchar * const puncts[] = { "", "·", ",", "。", "「", "」", "、", ":", ";", "?", "!", NULL, "!", "!", "﹗", "‼", "⁉", NULL, "\"", "“", "”", """, NULL, "#", "#", "﹟", "♯", NULL, "$", "$", "€", "﹩", "¢", "£", "¥", NULL, "%", "%", "﹪", "‰", "‱", "㏙", "㏗", NULL, "&", "&", "﹠", NULL, "'", "、", "‘", "’", NULL, "(", "(", "︵", "﹙", NULL, ")", ")", "︶", "﹚", NULL, "*", "*", "×", "※", "╳", "﹡", "⁎", "⁑", "⁂", "⌘", NULL, "+", "+", "±", "﹢", NULL, ",", ",", "、", "﹐", "﹑", NULL, "-", "…", "—", "-", "¯", "﹉", " ̄", "﹊", "ˍ", "–", "‥", NULL, ".", "。", "·", "‧", "﹒", ".", NULL, "/", "/", "÷", "↗", "↙", "∕", NULL, "0", "0", "0", NULL, "1", "1", "1", NULL, "2", "2", "2", NULL, "3", "3", "3", NULL, "4", "4", "4", NULL, "5", "5", "5", NULL, "6", "6", "6", NULL, "7", "7", "7", NULL, "8", "8", "8", NULL, "9", "9", "9", NULL, ":", ":", "︰", "﹕", NULL, ";", ";", "﹔", NULL, "<", "<", "〈", "《", "︽", "︿", "﹤", NULL, "=", "=", "≒", "≠", "≡", "≦", "≧", "﹦", NULL, ">", ">", "〉", "》", "︾", "﹀", "﹥", NULL, "?", "?", "﹖", "⁇", "⁈", NULL, "@", "@", "⊕", "⊙", "㊣", "﹫", "◉", "◎", NULL, "A", "A", "A", NULL, "B", "B", "B", NULL, "C", "C", "C", NULL, "D", "D", "D", NULL, "E", "E", "E", NULL, "F", "F", "F", NULL, "G", "G", "G", NULL, "H", "H", "H", NULL, "I", "I", "I", NULL, "J", "J", "J", NULL, "K", "K", "K", NULL, "L", "L", "L", NULL, "M", "M", "M", NULL, "N", "N", "N", NULL, "O", "O", "O", NULL, "P", "P", "P", NULL, "Q", "Q", "Q", NULL, "R", "R", "R", NULL, "S", "S", "S", NULL, "T", "T", "T", NULL, "U", "U", "U", NULL, "V", "V", "V", NULL, "W", "W", "W", NULL, "X", "X", "X", NULL, "Y", "Y", "Y", NULL, "Z", "Z", "Z", NULL, "[", "「", "[", "『", "【", "「", "︻", "﹁", "﹃", NULL, "\\", "\", "↖", "↘", "﹨", NULL, "]", "」", "]", "』", "】", "」", "︼", "﹂", "﹄", NULL, "^", "︿", "〈", "《", "︽", "﹤", "<", NULL, "_", "_", "╴", "←", "→", NULL, "`", "‵", "′", NULL, "a", "a", "a", NULL, "b", "b", "b", NULL, "c", "c", "c", NULL, "d", "d", "d", NULL, "e", "e", "e", NULL, "f", "f", "f", NULL, "g", "g", "g", NULL, "h", "h", "h", NULL, "i", "i", "i", NULL, "j", "j", "j", NULL, "k", "k", "k", NULL, "l", "l", "l", NULL, "m", "m", "m", NULL, "n", "n", "n", NULL, "o", "o", "o", NULL, "p", "p", "p", NULL, "q", "q", "q", NULL, "r", "r", "r", NULL, "s", "s", "s", NULL, "t", "t", "t", NULL, "u", "u", "u", NULL, "v", "v", "v", NULL, "w", "w", "w", NULL, "x", "x", "x", NULL, "y", "y", "y", NULL, "z", "z", "z", NULL, "{", "{", "︷", "﹛", "〔", "﹝", "︹", NULL, "|", "|", "↑", "↓", "∣", "∥", "︱", "︳", "︴", "¦", NULL, "}", "}", "︸", "﹜", "〕", "﹞", "︺", NULL, "~", "~", "﹋", "﹌", NULL, }; static const gchar * const * const punct_table[] = { &puncts[0], // "" &puncts[12], // "!" &puncts[18], // "\"" &puncts[23], // "#" &puncts[28], // "$" &puncts[36], // "%" &puncts[44], // "&" &puncts[48], // "'" &puncts[53], // "(" &puncts[58], // ")" &puncts[63], // "*" &puncts[74], // "+" &puncts[79], // "," &puncts[85], // "-" &puncts[97], // "." &puncts[104], // "/" &puncts[111], // "0" &puncts[115], // "1" &puncts[119], // "2" &puncts[123], // "3" &puncts[127], // "4" &puncts[131], // "5" &puncts[135], // "6" &puncts[139], // "7" &puncts[143], // "8" &puncts[147], // "9" &puncts[151], // ":" &puncts[156], // ";" &puncts[160], // "<" &puncts[168], // "=" &puncts[177], // ">" &puncts[185], // "?" &puncts[191], // "@" &puncts[200], // "A" &puncts[204], // "B" &puncts[208], // "C" &puncts[212], // "D" &puncts[216], // "E" &puncts[220], // "F" &puncts[224], // "G" &puncts[228], // "H" &puncts[232], // "I" &puncts[236], // "J" &puncts[240], // "K" &puncts[244], // "L" &puncts[248], // "M" &puncts[252], // "N" &puncts[256], // "O" &puncts[260], // "P" &puncts[264], // "Q" &puncts[268], // "R" &puncts[272], // "S" &puncts[276], // "T" &puncts[280], // "U" &puncts[284], // "V" &puncts[288], // "W" &puncts[292], // "X" &puncts[296], // "Y" &puncts[300], // "Z" &puncts[304], // "[" &puncts[314], // "\\" &puncts[320], // "]" &puncts[330], // "^" &puncts[338], // "_" &puncts[344], // "`" &puncts[348], // "a" &puncts[352], // "b" &puncts[356], // "c" &puncts[360], // "d" &puncts[364], // "e" &puncts[368], // "f" &puncts[372], // "g" &puncts[376], // "h" &puncts[380], // "i" &puncts[384], // "j" &puncts[388], // "k" &puncts[392], // "l" &puncts[396], // "m" &puncts[400], // "n" &puncts[404], // "o" &puncts[408], // "p" &puncts[412], // "q" &puncts[416], // "r" &puncts[420], // "s" &puncts[424], // "t" &puncts[428], // "u" &puncts[432], // "v" &puncts[436], // "w" &puncts[440], // "x" &puncts[444], // "y" &puncts[448], // "z" &puncts[452], // "{" &puncts[460], // "|" &puncts[471], // "}" &puncts[479], // "~" }; ibus-libpinyin-1.16.1/src/PYExtEditor.h0000644000175000017500000000560314455173634013356 /* vim:set et ts=4 sts=4: * * ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus * * Copyright (c) 2008-2010 Peng Huang * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __PY_EXT_EDITOR_ #define __PY_EXT_EDITOR_ #include "lua-plugin.h" namespace PY { class ExtEditor : public Editor { public: ExtEditor (PinyinProperties & props, Config & config); virtual gboolean processKeyEvent (guint keyval, guint keycode, guint modifiers); virtual void pageUp (void); virtual void pageDown (void); virtual void cursorUp (void); virtual void cursorDown (void); virtual void update (void); virtual void updateAll (void); virtual void reset (void); virtual void candidateClicked (guint index, guint button, guint state); gboolean setLuaPlugin (IBusEnginePlugin *plugin); private: bool updateStateFromInput (void); /* Fill lookup table, and update preedit string. */ bool fillCommandCandidates (void); bool fillCommandCandidates (std::string prefix); bool fillCommand (std::string command_name, const char * argument); bool fillChineseNumber(gint64 num); /* Auxiliary functions for lookup table */ void clearLookupTable (void); void updateLookupTable (void); gboolean selectCandidateInPage (guint index); gboolean selectCandidate (guint index); void updatePreeditText (void); void updateAuxiliaryText (void); gboolean processEditKey (guint keyval); gboolean processPageKey (guint keyval); gboolean processLabelKey (guint keyval); gboolean processSpace (guint keyval); gboolean processEnter (guint keyval); gboolean removeCharBefore (void); gboolean removeCharAfter (void); enum LabelMode{ LABEL_NONE, LABEL_LIST_NUMBERS, LABEL_LIST_COMMANDS, LABEL_LIST_NONE, LABEL_LIST_DIGIT, LABEL_LIST_ALPHA, LABEL_LIST_SINGLE, LABEL_LAST, }; LabelMode m_mode; Pointer m_lua_plugin; String m_preedit_text; String m_auxiliary_text; LookupTable m_lookup_table; //saved lua extension call results. int m_result_num; const lua_command_candidate_t * m_candidate; GArray * m_candidates; const static int m_aux_text_len = 50; }; }; #endif ibus-libpinyin-1.16.1/py-compile0000755000175000017500000001216214767166740012246 #!/bin/sh # py-compile - Compile a Python program scriptversion=2021-02-27.01; # UTC # Copyright (C) 2000-2021 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program 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 General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . if test -z "$PYTHON"; then PYTHON=python fi me=py-compile usage_error () { echo "$me: $*" >&2 echo "Try '$me --help' for more information." >&2 exit 1 } basedir= destdir= while test $# -ne 0; do case "$1" in --basedir) if test $# -lt 2; then usage_error "option '--basedir' requires an argument" else basedir=$2 fi shift ;; --destdir) if test $# -lt 2; then usage_error "option '--destdir' requires an argument" else destdir=$2 fi shift ;; -h|--help) cat <<\EOF Usage: py-compile [--help] [--version] [--basedir DIR] [--destdir DIR] FILES..." Byte compile some python scripts FILES. Use --destdir to specify any leading directory path to the FILES that you don't want to include in the byte compiled file. Specify --basedir for any additional path information you do want to be shown in the byte compiled file. Example: py-compile --destdir /tmp/pkg-root --basedir /usr/share/test test.py test2.py Report bugs to . EOF exit $? ;; -v|--version) echo "$me $scriptversion" exit $? ;; --) shift break ;; -*) usage_error "unrecognized option '$1'" ;; *) break ;; esac shift done files=$* if test -z "$files"; then usage_error "no files given" fi # if basedir was given, then it should be prepended to filenames before # byte compilation. if test -z "$basedir"; then pathtrans="path = file" else pathtrans="path = os.path.join('$basedir', file)" fi # if destdir was given, then it needs to be prepended to the filename to # byte compile but not go into the compiled file. if test -z "$destdir"; then filetrans="filepath = path" else filetrans="filepath = os.path.normpath('$destdir' + os.sep + path)" fi python_major=`$PYTHON -V 2>&1 | sed -e 's/.* //;s/\..*$//;1q'` if test -z "$python_major"; then echo "$me: could not determine $PYTHON major version, guessing 3" >&2 python_major=3 fi # The old way to import libraries was deprecated. if test "$python_major" -le 2; then import_lib=imp import_test="hasattr(imp, 'get_tag')" import_call=imp.cache_from_source import_arg2=', False' # needed in one call and not the other else import_lib=importlib import_test="hasattr(sys.implementation, 'cache_tag')" import_call=importlib.util.cache_from_source import_arg2= fi $PYTHON -c " import sys, os, py_compile, $import_lib files = '''$files''' sys.stdout.write('Byte-compiling python modules...\n') for file in files.split(): $pathtrans $filetrans if not os.path.exists(filepath) or not (len(filepath) >= 3 and filepath[-3:] == '.py'): continue sys.stdout.write(file) sys.stdout.flush() if $import_test: py_compile.compile(filepath, $import_call(filepath), path) else: py_compile.compile(filepath, filepath + 'c', path) sys.stdout.write('\n')" || exit $? # this will fail for python < 1.5, but that doesn't matter ... $PYTHON -O -c " import sys, os, py_compile, $import_lib # pypy does not use .pyo optimization if hasattr(sys, 'pypy_translation_info'): sys.exit(0) files = '''$files''' sys.stdout.write('Byte-compiling python modules (optimized versions) ...\n') for file in files.split(): $pathtrans $filetrans if not os.path.exists(filepath) or not (len(filepath) >= 3 and filepath[-3:] == '.py'): continue sys.stdout.write(file) sys.stdout.flush() if $import_test: py_compile.compile(filepath, $import_call(filepath$import_arg2), path) else: py_compile.compile(filepath, filepath + 'o', path) sys.stdout.write('\n')" 2>/dev/null || exit $? # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: ibus-libpinyin-1.16.1/COPYING0000664000175000017500000010451313672072346011271 GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program 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 General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . ibus-libpinyin-1.16.1/ChangeLog0000664000175000017500000143270514767172144012023 commit e4d3e58eafe0b17dd298f3f1de5ca359e37aa04c Author: Peng Wu Date: 2025-03-21 12:38:29 +0800 Bump version 1.16.1 M configure.ac commit c09a8e7655e77ca84e52b5ce638198235b603c4b Author: Peng Wu Date: 2025-03-21 12:37:53 +0800 Update NEWS M NEWS commit 6ca84a9acc1a3bea7530965cd393835c8e42668d Author: Peng Wu Date: 2025-03-14 10:59:41 +0800 Fix some warnings in the code M src/PYEnglishDatabase.cc M src/PYTableDatabase.cc commit 4b1150480d26f9ae39e8f9e6f0b7de1c7eae8ec7 Author: Peng Wu Date: 2025-03-11 14:36:29 +0800 Refactor PinyinProperties::propertyActivate method M src/PYPinyinProperties.cc M src/PYPinyinProperties.h commit bbf2962050bccb4267b7d75af01c6f652b4e9ecb Author: Peng Wu Date: 2025-03-06 13:12:30 +0800 Fix the lookup cursor for the pinyin candidates M src/PYPBopomofoEditor.cc M src/PYPDoublePinyinEditor.cc M src/PYPFullPinyinEditor.cc M src/PYPLibPinyinCandidates.cc M src/PYPPhoneticEditor.cc M src/PYPPhoneticEditor.h commit 3ca9dfa36553daba4658ea1d2525ad65825f7bde Author: Peng Wu Date: 2025-02-10 12:08:30 +0800 Update NEWS M NEWS commit 00beb5ad0369a1c5aa550f84ef5ece2fca1bacf9 Author: Peng Wu Date: 2025-02-10 12:05:57 +0800 Bump version 1.16.0 M configure.ac commit 0a5435fa28a88b853747f1ca6347213e6503d97d Author: Peng Wu Date: 2025-01-13 11:00:00 +0800 Fix PinyinProperties::propertyActivate method M src/PYPinyinProperties.cc commit b0ce1ef904484642874bafad180ed3a805009cad Author: Weblate Translation Memory Date: 2025-01-09 09:49:29 +0100 Translated using Weblate (Georgian) Currently translated at 54.4% (97 of 178 strings) Translation: ibus-libpinyin/main Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/main/ka/ M po/ka.po commit 9321796b6999a2fdd7ea7ea422e755a0dfe9beb8 Author: Peng Wu Date: 2025-01-09 09:49:29 +0100 Translated using Weblate (Chinese (Simplified) (zh_CN)) Currently translated at 100.0% (178 of 178 strings) Translation: ibus-libpinyin/main Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/main/zh_CN/ M po/zh_CN.po commit 2cce114b1054375f19be00f9e6a5bebd0bc92135 Author: Mike FABIAN Date: 2025-01-09 09:49:29 +0100 Translated using Weblate (German) Currently translated at 100.0% (178 of 178 strings) Translation: ibus-libpinyin/main Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/main/de/ M po/de.po commit 24f0a9d0cc22611454221bd5b76f4d6f8c693e3d Author: Yuri Chornoivan Date: 2025-01-09 09:49:29 +0100 Translated using Weblate (Ukrainian) Currently translated at 100.0% (178 of 178 strings) Translation: ibus-libpinyin/main Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/main/uk/ M po/uk.po commit 0619e3261c6627f5e23f298ebb8d6fd8bcf52035 Author: Peng Wu Date: 2025-01-09 15:17:22 +0800 Fix PinyinProperties::propertyActivate method M src/PYPinyinProperties.cc M src/PYProperty.h commit 2c247e278a91bac283472e5ec6d42176768c26f7 Author: Peng Wu Date: 2025-01-09 14:42:25 +0800 Fix PYPinyinProperties.cc M src/PYPinyinProperties.cc commit f10300906d9c5d856ccb5e6a5191090304f1d25d Author: Peng Wu Date: 2025-01-09 12:16:37 +0800 Update NEWS M NEWS commit 185e5d54d4f5f3df985446bd6fbde9f88d075a8b Author: Peng Wu Date: 2025-01-09 11:46:00 +0800 Fix PinyinEngine::processKeyEvent method M src/PYPPinyinEngine.cc commit 17bcdb18708fba5c91c0b37b5dde321ef16aa068 Author: Peng Wu Date: 2025-01-08 11:58:26 +0800 Update po files M po/ca.po M po/cs.po M po/de.po M po/el.po M po/es.po M po/fr.po M po/ibus-libpinyin.pot M po/ka.po M po/pt_BR.po M po/ru.po M po/si.po M po/uk.po M po/zh_CN.po M po/zh_HK.po M po/zh_TW.po commit 01210878081b4e351a755b7b74e0675199d1420e Author: Biswapriyo Nath Date: 2025-01-06 15:27:02 +0000 Fix compiler error with clang 19 M src/PYLibPinyin.h commit bab868cd3684c98feed4b788654efd5445ea5e80 Author: Peng Wu Date: 2025-01-07 11:45:23 +0800 Support square bracket page option M src/PYEnglishEditor.cc M src/PYEnglishEditor.h M src/PYExtEditor.cc M src/PYPPinyinEditor.cc M src/PYPPinyinEngine.cc M src/PYPSuggestionEditor.cc M src/PYTableEditor.cc commit 419f189e2aa0e0b48a201481d2e7f864ae0ca574 Author: Peng Wu Date: 2025-01-07 11:42:21 +0800 Update class Config M src/PYConfig.cc M src/PYConfig.h M src/PYPConfig.cc commit 3c83f1d96c9d9a84b5b27229eab62eced59f6141 Author: Peng Wu Date: 2025-01-07 11:40:43 +0800 Update main2.py M setup/main2.py commit bc39c6fbd8c4f2c2a5f34dc4b9f6474253d57b35 Author: Peng Wu Date: 2025-01-07 11:41:26 +0800 Update ibus-libpinyin-preferences.ui M setup/ibus-libpinyin-preferences.ui commit 7470e747a0e8770acf537e4ea3399913ca09c7c7 Author: Peng Wu Date: 2025-01-07 11:39:58 +0800 Update com.github.libpinyin.ibus-libpinyin.gschema.xml M data/com.github.libpinyin.ibus-libpinyin.gschema.xml commit 0a97f06d13d98c9b3bc0bafa92931b9868810c40 Author: Peng Wu Date: 2025-01-03 13:35:44 +0800 Bump version 1.15.94 M configure.ac commit 46df8429b99342e8b6fb890775ddcbbd86320084 Author: Peng Wu Date: 2025-01-03 13:09:55 +0800 Update class PinyinEngine M src/PYPPinyinEngine.cc commit 171d585e63dc75cf9c7de7ea1577d87490f4f3c4 Author: Peng Wu Date: 2025-01-03 13:08:37 +0800 Update class PinyinProperties M src/PYPinyinProperties.cc M src/PYPinyinProperties.h commit b50d207620c2849f09f28380631f643a6455a61b Author: Peng Wu Date: 2025-01-03 13:07:51 +0800 Update class Property M src/PYProperty.h commit 05e33257927fba0e19f4d1409013b324a4517a92 Author: Peng Wu Date: 2025-01-03 13:06:05 +0800 Write luaConverter method M src/PYConfig.h M src/PYPConfig.cc M src/PYPConfig.h commit 3e326ef1b20fe523cd60da8eccec40f62da2ada4 Author: Peng Wu Date: 2025-01-03 13:04:34 +0800 Update ibus_engine_plugin_set_converter function M lua/lua-plugin.c commit a5908b54351072241a5c259543f7d428069306af Author: Peng Wu Date: 2025-01-03 13:03:04 +0800 Update Makefile.am M data/icons/Makefile.am commit 917e68be324bd033cd4c0319a4f41946f2202a3f Author: Peng Wu Date: 2025-01-03 13:01:53 +0800 Import lua-converter.svg A data/icons/lua-converter.svg commit b03de1e2da68faa183e7b9bff00019f51d4816c3 Author: Peng Wu Date: 2024-12-23 05:40:04 +0100 Translated using Weblate (Chinese (Simplified) (zh_CN)) Currently translated at 100.0% (174 of 174 strings) Translation: ibus-libpinyin/main Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/main/zh_CN/ M po/zh_CN.po commit b95496cd804d954e86eeac159b6590e36e221e52 Author: Temuri Doghonadze Date: 2024-12-23 05:40:04 +0100 Translated using Weblate (Georgian) Currently translated at 55.1% (96 of 174 strings) Translation: ibus-libpinyin/main Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/main/ka/ M po/ka.po commit 661322eddb90b8796650558a505849d8f8954817 Author: Mike FABIAN Date: 2024-12-23 05:40:04 +0100 Translated using Weblate (German) Currently translated at 100.0% (174 of 174 strings) Translation: ibus-libpinyin/main Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/main/de/ M po/de.po commit 391ec0df95d0e529f637a4bcbeae3d19c841d6bd Author: Yuri Chornoivan Date: 2024-12-23 05:40:04 +0100 Translated using Weblate (Ukrainian) Currently translated at 100.0% (174 of 174 strings) Translation: ibus-libpinyin/main Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/main/uk/ M po/uk.po commit 1b58b689f2972aea82551659135968739e0a7c7c Author: Weblate Date: 2024-12-16 04:31:17 +0100 Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: ibus-libpinyin/main Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/main/ M po/ca.po M po/cs.po M po/de.po M po/el.po M po/es.po M po/fr.po M po/ka.po M po/pt_BR.po M po/ru.po M po/si.po M po/uk.po M po/zh_CN.po M po/zh_HK.po M po/zh_TW.po commit bf05c65d887ce48d5623fe7ec464d76442edc0ed Author: Peng Wu Date: 2024-12-16 11:33:10 +0800 Update ibus-libpinyin.pot M po/ibus-libpinyin.pot commit c02ff10c721b042282b9db034436e3a2ef0325ae Author: Peng Wu Date: 2024-12-16 11:26:58 +0800 Update POTFILES.in M po/POTFILES.in commit ec7a7174048c965a3c8e7655b8052dea5477b3a4 Author: Weblate Date: 2024-09-08 15:38:29 +0200 Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: ibus-libpinyin/main Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/main/ M po/de.po M po/el.po M po/es.po M po/fr.po M po/ka.po M po/ru.po M po/uk.po commit eb9cc96b4cbe338fb4073bfe6bb056bab3c6e254 Author: Giannis Antypas Date: 2024-09-08 15:38:29 +0200 Translated using Weblate (Greek) Currently translated at 13.1% (22 of 167 strings) Translation: ibus-libpinyin/main Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/main/el/ Added translation using Weblate (Greek) M po/LINGUAS A po/el.po commit 17d0943822e6f1dcff6c40392f1b293eb5c32847 Author: Peng Wu Date: 2024-12-13 11:00:17 +0800 Update PYMain.cc M src/PYMain.cc commit 021758ac36d4cbac591ac00e2d873200b232c702 Author: Peng Wu Date: 2024-12-13 10:51:51 +0800 Fix show_message usage M src/PYPConfig.cc commit 12803f984db8f65a494cb89bad6811d44043e3d2 Author: Peng Wu Date: 2024-12-13 10:45:20 +0800 Update make-check.yml M .github/workflows/make-check.yml commit d85ad74524cbbc5260d4e2fd5745d01eaceed771 Author: Peng Wu Date: 2024-12-13 10:25:21 +0800 Init libnotify M src/PYMain.cc commit a857787b938a3bdd96776b7fc71223c2f18c0f89 Author: Peng Wu Date: 2024-12-13 10:24:16 +0800 Use show_message function M src/PYPConfig.cc commit db736f56f35909a2d652656a044a72302481a429 Author: Peng Wu Date: 2024-12-13 10:21:26 +0800 Write show_message function M src/PYXMLUtil.cc M src/PYXMLUtil.h commit 0c430a76f005b34f360e58ae2455de66b4dcd95b Author: Peng Wu Date: 2024-12-13 10:20:17 +0800 Update src/Makefile.am M src/Makefile.am commit 9472a50303f434221f298fd0daa601053113ad48 Author: Peng Wu Date: 2024-12-13 10:19:44 +0800 Update configure.ac M configure.ac commit a7c3f19ffff8cdf6f69f11b395bf438dbf1a5fea Author: Peng Wu Date: 2024-12-11 15:06:46 +0800 Bump version 1.15.93 M configure.ac commit d92cc93e9b56fce21df9574bdb67139bb1acff4e Author: Peng Wu Date: 2024-12-10 16:12:31 +0800 Update Makefile.am M setup/Makefile.am M src/Makefile.am commit f83bad19822b4e0a53bd8c0c27be94256d34425f Author: Peng Wu Date: 2024-12-10 16:12:05 +0800 Support xml option M src/PYMain.cc commit 877493e68c47b827d3d823b0ce64695db42e390e Author: Peng Wu Date: 2024-12-10 16:11:21 +0800 Write parse_engine_version function A src/PYXMLUtil.cc A src/PYXMLUtil.h commit 6fdd4f2110f5f4d06f133e5041971916c8fb6cfe Author: Peng Wu Date: 2024-12-03 10:36:38 +0800 Update main2.py M setup/main2.py commit cce110f3d31031fc5fbbea2f54277def1ee6e4c2 Author: Peng Wu Date: 2024-12-03 10:35:32 +0800 Write enginefile.py A setup/enginefile.py commit cf16040d4a7db02412e0ec63184ef63e66179ebc Author: Peng Wu Date: 2024-12-03 10:34:20 +0800 Update ibus-libpinyin-preferences.ui M setup/ibus-libpinyin-preferences.ui commit cfdc88bb7c194d7b22dfefdf13f15c9f57e12836 Author: Peng Wu Date: 2024-10-31 11:50:05 +0800 Update libpinyin.xml A src/default.inputmethod.xml.in.in A src/libpinyin.inputmethod.xml.in.in D src/libpinyin.xml.in.in commit aac9a2c9a7a3b7f9767fb3df271fca0ea2017c8b Author: Peng Wu Date: 2024-10-31 11:48:49 +0800 Update Makefile.am M configure.ac M src/Makefile.am commit c94eef9976be804a947ffdcd3b5c4b78f976c8ac Author: Peng Wu Date: 2024-10-31 11:47:54 +0800 Update ibus-libpinyin-preferences.ui M setup/ibus-libpinyin-preferences.ui commit 8fb1deb5afead53e7f8c95f434e8deb217375f64 Author: Peng Wu Date: 2024-10-31 11:47:02 +0800 Update com.github.libpinyin.ibus-libpinyin.gschema.xml M data/com.github.libpinyin.ibus-libpinyin.gschema.xml commit 0a754842779ce40ef5018af854569df54c6ab8ad Author: Peng Wu Date: 2024-10-23 16:21:48 +0800 Fix about icon M setup/main2.py commit c361a1e52164c7bf6be1e15b5b2c2f77e0bbd63d Author: Peng Wu Date: 2024-10-23 16:20:32 +0800 Update ibus-libpinyin-preferences.ui M setup/ibus-libpinyin-preferences.ui commit 63f16aa80745e56913f9a8eaea07c24dc72b06cd Author: Peng Wu Date: 2024-10-14 10:47:02 +0800 Update NEWS M NEWS commit 4d8d08847d1a68464733ea04fd1c1d2cf5fd5c6c Author: Peng Wu Date: 2024-10-12 11:32:39 +0800 Use pinyin_guess_predicted_candidates_with_punctuations function M src/PYPEnhancedCandidates.h M src/PYPSuggestionCandidates.cc M src/PYPSuggestionEditor.cc commit 01a5926c2053fd800927a513a4fe6802d77862d1 Author: Peng Wu Date: 2024-10-12 11:21:08 +0800 Bump version 1.15.92 M configure.ac commit fd936ad0cc3ad4786dd6a5f9fd8a0fb04761dab8 Author: Peng Wu Date: 2024-09-23 11:10:59 +0800 Fix resource leak M lua/lua-ext-console.c M src/PYTableDatabase.cc commit cf67e92af0a9a8953eaa708312520f6f8481678e Author: ZhaoQiang Date: 2024-09-19 19:11:20 +0800 Revert python3 version checking to 3.2 M configure.ac commit 5b794d456383be5faa1be65701aeec5170cbc3a7 Author: Zhijie Yang Date: 2024-09-06 01:27:14 +0200 fix(wordlist): remove some words M data/wordlist commit 1a88675516d9fd155d4055d13355c66b7d5757e6 Author: Peng Wu Date: 2024-08-07 13:01:43 +0800 Fix LibPinyinBackEnd::exportPinyinDictionary method M src/PYLibPinyin.cc commit e9935e4a3f4e7393a007e23468ab11d95edd54b6 Author: Peng Wu Date: 2024-08-02 15:03:30 +0800 Bump version 1.15.91 M configure.ac commit d634f9c353e254aa9c7dc4a5883b7d57f3072a39 Author: Peng Wu Date: 2024-08-01 12:16:52 +0800 Refactor LibPinyinBackEnd::exportPinyinDictionary method M src/PYLibPinyin.cc M src/PYLibPinyin.h commit 656820c931ddecacbaf6a6872baccdd1043c6894 Author: Peng Wu Date: 2024-07-30 13:49:50 +0800 Update PinyinConfig M src/PYConfig.cc M src/PYConfig.h M src/PYPConfig.cc commit a8b13a41315360238b459021a6a3c0de12af68cb Author: Peng Wu Date: 2024-07-30 12:45:52 +0800 Update com.github.libpinyin.ibus-libpinyin.gschema.xml M data/com.github.libpinyin.ibus-libpinyin.gschema.xml commit 1e37dd13d9f50812961edaefa7be97954946710e Author: Peng Wu Date: 2024-07-25 13:56:49 +0800 Update NEWS M NEWS commit 30d07aa285a896c7b0b25cff3a242ebc374421a0 Author: Peng Wu Date: 2024-07-25 13:55:56 +0800 Bump version 1.15.8 M configure.ac commit f6c0271964fb821c800ef1a5c452dedc0c48b679 Author: Peng Wu Date: 2024-05-27 12:12:21 +0800 Update opencc-config to use s2tw.json M data/com.github.libpinyin.ibus-libpinyin.gschema.xml commit a1aad11c16d95be9e6660bcc89007af5395634fc Author: Shun Wang Date: 2024-04-28 21:42:39 +0800 Update the Copyright year in setup dialog M po/ca.po M po/cs.po M po/de.po M po/es.po M po/fr.po M po/ibus-libpinyin.pot M po/ka.po M po/pt_BR.po M po/ru.po M po/si.po M po/uk.po M po/zh_CN.po M po/zh_HK.po M po/zh_TW.po M setup/ibus-libpinyin-preferences.ui M setup/main2.py commit 49bb44333c8128b3d987d7b5f41263280e5a3d7b Author: Peng Wu Date: 2024-04-10 13:45:59 +0800 Fix lua plugin M lua/lua-plugin-init.c commit f9df7676987e71855b41728a8168e1c5665d01b2 Author: Titor8115 Date: 2024-02-17 10:55:06 +0800 GtkDialog "type-hint" changed to dialog the dialog window should be hinted as dialog so window managers such as tiling wm is able to know the approprate window state M setup/ibus-libpinyin-preferences.ui commit 1a0dd87cbb49511ef52f03153daa99ce6fa0c3bd Author: Damien Pou Date: 2024-01-16 14:37:08 +0100 Translated using Weblate (French) Currently translated at 100.0% (167 of 167 strings) Translation: ibus-libpinyin/main Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/main/fr/ M po/fr.po commit d88c0a3011f6dfa587e768f2ce7e024d843727c8 Author: Peng Wu Date: 2024-01-31 10:01:42 +0800 Update NEWS M NEWS commit 1c69ff8d50adee23c9cc45f4b59977efa53ac9fc Author: Peng Wu Date: 2024-01-31 09:58:24 +0800 Bump version 1.15.7 M configure.ac commit 312d3908da8dc50b27b2100152beff73a8bef534 Author: Peng Wu Date: 2024-01-31 09:52:08 +0800 Fix getRequestString method M src/PYPCloudCandidates.cc commit f91bbc04cd0ac0651575c8964e8ed6fc585eafe2 Author: Peng Wu Date: 2024-01-30 17:37:51 +0800 Fix processKeyEvent methods again M src/PYEditor.cc M src/PYEnglishEditor.cc M src/PYExtEditor.cc M src/PYFallbackEditor.cc M src/PYPDoublePinyinEditor.cc M src/PYPFullPinyinEditor.cc M src/PYPPhoneticEditor.cc M src/PYPPinyinEditor.cc M src/PYPSuggestionEditor.cc M src/PYPunctEditor.cc M src/PYTableEditor.cc commit 5fe4e0f08cf1bf4199900d35383eacee197c08a7 Author: Peng Wu Date: 2024-01-26 10:52:20 +0800 Fix processKeyEvent method M src/PYPBopomofoEditor.cc commit cf33a2c289f7676a36954bdcf700a9d0086d6886 Author: Florian Weimer Date: 2024-01-21 14:35:27 +0100 Lua plugin: Add pointer casts for C89 compatibility This addresses a build failure with GCC 14. M lua/lua-plugin-init.c commit f19b22952c084823e68fea61c9125fe41c224c2a Author: Peng Wu Date: 2023-12-15 12:26:42 +0800 Update NEWS M NEWS commit 54567daeccce435cc796da5706e413ae8ac98f42 Author: Peng Wu Date: 2023-12-15 12:25:33 +0800 Bump version 1.15.6 M configure.ac commit 48269b7667a124af29d41f2be4e21a00e2f3fa80 Author: Peng Wu Date: 2023-12-06 12:01:34 +0800 Fix processAccelKeyEvent method M src/PYPBopomofoEngine.cc M src/PYPPinyinEngine.cc commit fb2ace4ba4cace96e10d85970c42a7ebc04070ae Author: Peng Wu Date: 2023-11-27 14:12:27 +0800 Bump version 1.15.5 M configure.ac commit d393aa7d088fab8b5a07250d80d4f0e9ee4040d1 Author: Peng Wu Date: 2023-11-27 14:10:21 +0800 Update NEWS M NEWS commit 850274a6b1e34df4dcfd2911cf1a2b23ca0b72ac Author: Peng Wu Date: 2023-09-27 12:02:49 +0800 Fix class LibPinyinBackEnd M src/PYLibPinyin.cc commit fbeefffb66a88dc95902f3683e62e5c6e39e6ce5 Author: Peng Wu Date: 2023-09-26 11:14:35 +0800 Update libpinyin.appdata.xml M data/libpinyin.appdata.xml commit a4135b9cc686f2c269d535dba2602ebd112aca75 Author: Mike FABIAN Date: 2023-07-28 18:21:06 +0200 Translated using Weblate (German) Currently translated at 100.0% (167 of 167 strings) Translation: ibus-libpinyin/main Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/main/de/ M po/de.po commit 80c949e9d6a2c2bb6bd486ff25ed7da7801ecc60 Author: Peng Wu Date: 2023-09-04 12:56:24 +0800 Update NEWS M NEWS commit 14f03c819a8daf82a0e09caadf69930b6d9bb803 Author: Peng Wu Date: 2023-08-28 09:32:08 +0800 Update network.txt again M data/network.txt commit 0f1a5b62493f115c36f63571763835818343d5a0 Author: Peng Wu Date: 2023-08-24 14:26:05 +0800 Update network.txt M data/network.txt commit f2dbbc238c008f20285536866ff5b5f931299eda Author: Peng Wu Date: 2023-08-23 15:26:15 +0800 Fix Caps Lock for English mode M src/PYPPinyinEngine.cc commit f67adf924e4a9cc3b06c30ede8602bd0931798d7 Author: Peng Wu Date: 2023-07-17 16:18:51 +0800 Update make-check.yml M .github/workflows/make-check.yml commit 7540cc2da6fa0e284bd3123199934fbb2d7d7f33 Author: Peng Wu Date: 2023-06-16 12:19:31 +0800 Port ibus-libpinyin to use libsoup3 M src/PYPCloudCandidates.cc M src/PYPCloudCandidates.h commit 2769ae5534a4a6c0480270ca1c42777a03eb7ab3 Author: Peng Wu Date: 2023-06-16 12:19:02 +0800 Bump version 1.15.4 M configure.ac commit 60cfb354472ac56072b65f54a114c5630ca98426 Author: grimst Date: 2023-05-31 07:20:45 +0200 Translated using Weblate (French) Currently translated at 98.2% (164 of 167 strings) Translation: ibus-libpinyin/main Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/main/fr/ M po/fr.po commit 6bd6a5388525b96577db0eabbf85c344345c7da5 Author: Rafael Fontenelle Date: 2023-05-31 07:20:45 +0200 Translated using Weblate (Portuguese (Brazil)) Currently translated at 50.8% (85 of 167 strings) Translation: ibus-libpinyin/main Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/main/pt_BR/ M po/pt_BR.po commit 6678170748576c0ecfdbf7dd13134aa8518b594b Author: Emilio Herrera Date: 2023-05-31 07:20:44 +0200 Translated using Weblate (Spanish) Currently translated at 94.6% (158 of 167 strings) Translation: ibus-libpinyin/main Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/main/es/ M po/es.po commit 94fe103246750d40b613e51640250d1af4cbfa3b Author: Temuri Doghonadze Date: 2023-05-31 07:20:44 +0200 Translated using Weblate (Georgian) Currently translated at 56.8% (95 of 167 strings) Translation: ibus-libpinyin/main Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/main/ka/ Translated using Weblate (Georgian) Currently translated at 56.2% (94 of 167 strings) Translation: ibus-libpinyin/main Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/main/ka/ Translated using Weblate (Georgian) Currently translated at 53.2% (89 of 167 strings) Translation: ibus-libpinyin/main Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/main/ka/ Translated using Weblate (Georgian) Currently translated at 43.1% (72 of 167 strings) Translation: ibus-libpinyin/main Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/main/ka/ Translated using Weblate (Georgian) Currently translated at 42.5% (71 of 167 strings) Translation: ibus-libpinyin/main Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/main/ka/ Added translation using Weblate (Georgian) M po/LINGUAS A po/ka.po commit c68cf2afda47cf8aca35178072d0770e22254e46 Author: Peng Wu Date: 2023-06-01 10:39:44 +0800 Update NEWS M NEWS commit 240348e4b6bfd531e959b8f91f76b1e7acc7c70a Author: Peng Wu Date: 2023-05-26 13:05:30 +0800 Fix FullPinyinEditor::insert method M src/PYPFullPinyinEditor.cc commit 78b57203ff1788908d1ef0a55fa4c2c5ca98fd37 Author: Peng Wu Date: 2023-05-24 09:38:13 +0800 Bump version 1.15.3 M configure.ac commit 82e7cb0d8e00720a3abfb833327e37ee132016be Author: Peng Wu Date: 2023-04-07 12:07:12 +0800 Fix English mode in Full Pinyin M src/PYEnglishEditor.h M src/PYPPinyinEngine.cc commit efd72e9b24632eb528b9b4cd4a0dc71364e1708e Author: Peng Wu Date: 2023-03-07 14:36:08 +0800 Update NEWS M NEWS commit e29f9a0a241f63875933fb1f266ce1bbe35fa45e Author: Peng Wu Date: 2023-03-07 14:34:40 +0800 Bump version 1.15.2 M configure.ac commit 50ecf33a932a93e3432e8359bbc15ff21f89266a Author: Peng Wu Date: 2023-03-06 13:57:00 +0800 Update english.awk M data/english.awk commit 96042887815b4700c7cafa64cf88942af438ea98 Author: Dominique Leuenberger Date: 2023-02-24 13:38:56 +0100 build: fix awk scripts to work properly when used againts sqlite 3.41.0 The SQL standard requires double-quotes around identifiers and single-quotes around string literals. For example: "this is a legal SQL column name" 'this is an SQL string literal' With sqlite 3.41.0, this is being enforced on the CLI M data/english.awk M data/table.awk commit 80bab3368b692acc25957e2649568fda640c4356 Author: Peng Wu Date: 2023-02-21 09:07:29 +0800 Update NEWS M NEWS commit 015b17a0ad9eebfe5532c1031148c64dccd372b1 Author: Peng Wu Date: 2023-02-21 09:06:49 +0800 Bump version 1.15.1 M configure.ac commit 7a7c547a312b00e8e28dde2b010e0db027637162 Author: Peng Wu Date: 2023-01-31 09:55:23 +0800 Fix PinyinEditor::processNumber method M src/PYPPinyinEditor.cc commit 95abb11ee598169fcc329c8055ea31fc57a047f7 Author: Peng Wu Date: 2023-01-03 17:34:10 +0800 Update NEWS M NEWS commit 485efb9522a377b9c0bfe93720c1f33e5e3f1685 Author: Peng Wu Date: 2023-01-03 17:32:43 +0800 Bump version 1.15.0 M configure.ac commit d948bf58ddb39da8a6988962a73ba1f6dbf238fa Author: Peng Wu Date: 2022-11-24 18:23:46 +0800 Fix English symbols M src/PYEnglishEditor.h M src/PYPPinyinEngine.cc commit f7cdfd73867ad85f97eb87dced5ca32be4e99ab3 Author: Peng Wu Date: 2022-11-18 15:04:22 +0800 Use Fedora rawhide container image M .github/workflows/make-check.yml commit 56ba7839c3794f7ec22c38e5c3e78bd0443efc7a Author: Peng Wu Date: 2022-10-28 11:19:14 +0800 Bump version 1.14.92 M configure.ac commit ec4a563617272e2d1741069492dd3351618eaf9d Author: Peng Wu Date: 2022-10-26 15:20:44 +0800 Fix SuggestionEditor::candidateClicked method M src/PYPSuggestionEditor.cc commit 6f90b44df7126506c2162bce3b58b1c8ff9851c7 Author: Peng Wu Date: 2022-10-12 15:15:13 +0800 Update updatePreeditText method for Legacy mode M src/PYPPinyinEditor.cc commit 0fe1edb310b9aaffbd7e02b3a57ecec89c955891 Author: Peng Wu Date: 2022-10-12 15:02:48 +0800 Update NEWS M NEWS commit 3d8d297a6fc427ff5f688ca3c5df6e5ce1c344db Author: Peng Wu Date: 2022-10-12 14:57:40 +0800 Update configure.ac M configure.ac commit d7217bcfa7cf24dfda0ef5bc3c0c0fe000d2f806 Author: Peng Wu Date: 2022-10-09 13:32:26 +0800 Add updateAll method to class Editor M src/PYEditor.cc M src/PYEditor.h M src/PYEnglishEditor.cc M src/PYEnglishEditor.h M src/PYExtEditor.cc M src/PYExtEditor.h M src/PYPPhoneticEditor.cc M src/PYPPhoneticEditor.h M src/PYPPinyinEngine.cc M src/PYTableEditor.cc M src/PYTableEditor.h commit eb6b45f7a4cd52fdbe23e0539e5119b43f7a281a Author: Peng Wu Date: 2022-09-26 14:30:18 +0800 Bump version 1.14.91 M configure.ac commit 13181349a6a481bcf3898a4f41178dafe25a79f8 Author: Peng Wu Date: 2022-09-26 14:25:43 +0800 Support Legacy mode M src/PYPConfig.cc M src/PYPLibPinyinCandidates.cc M src/PYPPhoneticEditor.cc commit d88ecd60db2942ca05d21b65158d257568556d27 Author: Peng Wu Date: 2022-09-26 14:24:09 +0800 Update setup dialog M setup/ibus-libpinyin-preferences.ui commit b43c17a148e467e7177ee03f146269c7e8de6032 Author: Peng Wu Date: 2022-09-26 12:21:15 +0800 Improve longer candidates M src/PYPCloudCandidates.cc M src/PYPEmojiCandidates.cc M src/PYPEnglishCandidates.cc M src/PYPLibPinyinCandidates.cc M src/PYPLuaTriggerCandidates.cc commit e856577e1d77719d6001db79f3149e1f537d0aaf Author: Peng Wu Date: 2022-09-23 16:40:24 +0800 Update m_sort_option variable M src/PYConfig.cc M src/PYConfig.h M src/PYPConfig.cc commit abd006be68be04509801ca5ff52d759f9d21c724 Author: Peng Wu Date: 2022-09-23 16:33:49 +0800 Improve Suggestion candidates M src/PYPEnhancedCandidates.h M src/PYPSuggestionCandidates.cc M src/PYPSuggestionEditor.cc commit 98f7e43b3bfe69f6cbcd2e7c2479c8cac503f580 Author: Peng Wu Date: 2022-09-23 16:19:10 +0800 Support longer candidates M src/PYPEnhancedCandidates.h M src/PYPLibPinyinCandidates.cc M src/PYPPhoneticEditor.cc commit 38e61f5b2164996244280a92d40b84ad6f54a457 Author: Peng Wu Date: 2022-09-23 12:55:49 +0800 Improve English candidates M src/PYPEnglishCandidates.cc commit b641bd0881edfc975f997dca5305326ac1fbf5f0 Author: Peng Wu Date: 2022-09-15 12:12:03 +0800 bump version 1.13.1 M configure.ac commit c1c0a2b9020ac70bf6487197251dbf210a05ed67 Author: Peng Wu Date: 2022-09-15 11:35:49 +0800 Update NEWS M NEWS commit ac6681b860583fafeb8e4593aac97f93328bd882 Author: Peng Wu Date: 2022-09-09 16:40:10 +0800 Fix gettext usage M setup/main2.py commit 2cc7ad11be7c60aac27ca05d297a56144714331a Author: Peng Wu Date: 2022-08-20 10:22:26 +0800 Update NEWS M NEWS commit 86a5da9fcb5157523049c0fdd28a9dc894b4e469 Author: Peng Wu Date: 2022-08-20 10:19:57 +0800 bump version 1.13.0 M configure.ac commit 442967878e8b791c8fe12908f6a9e1dc6ed16c82 Author: Peng Wu Date: 2022-08-11 09:46:43 +0800 Update NEWS M NEWS commit 345a778f867a3421a6d7b2581758e2e23d0748d5 Author: Peng Wu Date: 2022-08-10 14:27:15 +0800 bump version 1.12.92 M configure.ac commit fa548f562a97a4662c5910bb98b75eb3e3334e2e Author: Zhangyuan Nie Date: 2022-08-05 03:27:32 -0400 migrate create_valid_hanzi.py to python 3 M data/db/android/README M data/db/android/create_valid_hanzi.py M data/db/android/valid_hanzi.py commit 92f3d9e0e99098cbf8c1923eed29ec6d203fb38b Author: Zhangyuan Nie Date: 2022-08-05 02:57:35 -0400 fix gitignore M .gitignore A scripts/.gitignore M setup/.gitignore M src/.gitignore commit 86316ab613e23e11334a20136985265ccd4d26d1 Author: Zhangyuan Nie Date: 2022-08-05 02:53:25 -0400 move make targets for ZhConversion to scripts dir M Makefile.am M configure.ac A scripts/Makefile.am M scripts/update-simptrad-table.py M src/Makefile.am commit 44d0d909e023429c2c1367539038fe5fb6beffed Author: Zhangyuan Nie Date: 2022-08-05 01:44:47 -0400 update PYSimpTradConverterTable.h M src/PYSimpTradConverterTable.h commit 353530b6502d4027d7af8e4b43f1869e1ec51159 Author: Zhangyuan Nie Date: 2022-08-05 01:43:33 -0400 fix update-simptrad-table.py compatibility M scripts/update-simptrad-table.py commit 3fe89d77bff39c23c9ad72843fc71035faf7d0c7 Author: Zhangyuan Nie Date: 2022-08-05 01:23:44 -0400 update ZhConversion.php url in Makefile M src/Makefile.am commit 45a8d8f5a4b438c377a82af0a616280287eb1b1b Author: Zhangyuan Nie Date: 2022-08-05 01:09:02 -0400 remove gensimptradtable.py D scripts/gensimptradtable.py D scripts/sctc.py commit c544f22f1fe09d56e0e014613172ae887099ebf7 Author: Zhangyuan Nie Date: 2022-08-05 01:00:55 -0400 migrate genpuncttable.py to python 3 M scripts/genpuncttable.py commit 698498b8da71d9ba0f770de418b9c361779857fc Author: Zhangyuan Nie Date: 2022-08-04 23:36:50 -0400 update python version to 3.7 M configure.ac M setup/main2.py commit c1ff04dea4889988a44cd19b08b49594b3601302 Author: Peng Wu Date: 2022-06-23 10:01:03 +0800 Update strokes M data/strokes commit 9c97823ace101bf1b72b848e3c3d317c1fb162be Author: Peng Wu Date: 2022-06-13 09:35:29 +0800 Update strokes M data/strokes commit 35e9bd1812f65a40a067b0271c6bb481b9c6d3c8 Author: Peng Wu Date: 2022-06-08 11:41:16 +0800 Fix class ExtEditor M src/PYExtEditor.cc commit 41a395397ef19352504b0d194cd57b9fc01b8209 Author: Peng Wu Date: 2022-05-30 12:03:44 +0800 Use check_result macro M src/PYLibPinyin.cc M src/PYPLibPinyinCandidates.cc M src/PYPunctEditor.cc M src/PYUtil.h commit a8def492d1c7c1b4e25f4bd23378c57139829f43 Author: Peng Wu Date: 2022-05-27 11:17:32 +0800 Write check_result macro M src/PYUtil.h commit 11a75d2429760bdc291bf82e385110f418b14610 Author: Peng Wu Date: 2022-05-19 09:46:31 +0800 Fixes class PunctEditor M src/PYPunctEditor.cc commit 109de24d222478edaae4cadcdf31e0aec89b44ee Author: Peng Wu Date: 2022-05-06 16:38:48 +0800 Update make-check.yml M .github/workflows/make-check.yml commit 37860481044afd21821988240878642bdec6d796 Author: Mike FABIAN Date: 2022-04-13 09:16:59 +0200 Translated using Weblate (German) Currently translated at 100.0% (167 of 167 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/de/ M po/de.po commit 34efdfb37685d7ea2f2f9a9221046890bc06c2dd Author: Yuri Chornoivan Date: 2022-04-13 09:16:58 +0200 Translated using Weblate (Ukrainian) Currently translated at 100.0% (167 of 167 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/uk/ M po/uk.po commit dc771372714c4139812a9c9d16e90346ea4521d8 Author: Peng Wu Date: 2022-04-13 09:16:58 +0200 Translated using Weblate (Chinese (Simplified) (zh_CN)) Currently translated at 100.0% (167 of 167 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/zh_CN/ M po/zh_CN.po commit 5e4814bb606baab72189bfb74f7c38c1a6133c3a Author: Peng Wu Date: 2022-04-12 15:08:38 +0800 Update po files M po/ca.po M po/cs.po M po/de.po M po/es.po M po/fr.po M po/pt_BR.po M po/ru.po M po/si.po M po/uk.po M po/zh_CN.po M po/zh_HK.po M po/zh_TW.po commit 5d2e7c439dc13120f4409227e844c0e052fd29b1 Author: Peng Wu Date: 2022-04-12 15:07:34 +0800 Update ibus-libpinyin.pot M po/ibus-libpinyin.pot commit 695aeb7c3b40320d54eba3df9495f18dc43ad5b1 Author: Mike FABIAN Date: 2022-04-05 09:17:07 +0200 Translated using Weblate (German) Currently translated at 100.0% (166 of 166 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/de/ M po/de.po commit 8d33534f3139c08f44ecc049472494f12b2d4add Author: Yuri Chornoivan Date: 2022-04-05 09:17:07 +0200 Translated using Weblate (Ukrainian) Currently translated at 100.0% (166 of 166 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/uk/ M po/uk.po commit 1feb1044284743396646cdd651d6058bbb447a5c Author: Peng Wu Date: 2022-04-05 09:17:07 +0200 Translated using Weblate (Chinese (Simplified) (zh_CN)) Currently translated at 100.0% (166 of 166 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/zh_CN/ M po/zh_CN.po commit 9740c48016cdb6dc9ee62ea85b40629c0c5c0784 Author: Peng Wu Date: 2022-04-12 13:48:15 +0800 Update main2.py M setup/main2.py commit f4d3dae36707036c2e8fad7ec69f58836d0943b0 Author: Peng Wu Date: 2022-04-12 13:37:10 +0800 Update ibus-libpinyin-preferences.ui M setup/ibus-libpinyin-preferences.ui commit a029555de877591a4e6502c01d4a338fe9c79591 Author: Peng Wu Date: 2022-04-12 12:15:03 +0800 Add double-pinyin-show-raw option M src/PYConfig.cc M src/PYConfig.h M src/PYPConfig.cc M src/PYPDoublePinyinEditor.cc commit 337c1494d01365fca7d35bd67cb471bdcb9f8bbd Author: Peng Wu Date: 2022-04-12 11:34:19 +0800 Update com.github.libpinyin.ibus-libpinyin.gschema.xml M data/com.github.libpinyin.ibus-libpinyin.gschema.xml commit 03381c95d8c4a4958e1f0d7a3760a0ee71e8be55 Author: Peng Wu Date: 2022-04-11 15:37:08 +0800 Update main2.py M setup/main2.py commit 3501b7d64c79a08746dc81fe2dfe0605414cd332 Author: Peng Wu Date: 2022-04-11 15:34:46 +0800 Update ibus-libpinyin-preferences.ui M setup/ibus-libpinyin-preferences.ui commit eb8a420dbe6f5589d89ea8c50d218a625a3de406 Author: Peng Wu Date: 2022-04-11 15:30:38 +0800 Rename show-suggestion option to suggestion-candidate option M src/PYConfig.cc M src/PYConfig.h M src/PYPBopomofoEngine.cc M src/PYPConfig.cc M src/PYPPinyinEngine.cc commit 701dbb101164f608b86354960a5e4d258eed390b Author: Peng Wu Date: 2022-04-11 15:17:54 +0800 Update com.github.libpinyin.ibus-libpinyin.gschema.xml M data/com.github.libpinyin.ibus-libpinyin.gschema.xml commit bfe728057bbb84fd36b4f3867aebb8f4a16f51e2 Author: Peng Wu Date: 2022-04-11 15:14:53 +0800 Update main2.py M setup/main2.py commit 01e300d239182e21fc6ad3ac60057dd08b2312ba Author: Peng Wu Date: 2022-04-11 15:06:08 +0800 Update ibus-libpinyin-preferences.ui M setup/ibus-libpinyin-preferences.ui commit 8de48eef341d2894b4d5ea6ee8a8fe8eaf53520f Author: Peng Wu Date: 2022-04-11 14:29:44 +0800 Add English candidates option M src/PYConfig.cc M src/PYConfig.h M src/PYPConfig.cc M src/PYPPhoneticEditor.cc commit 276c943916535faff124e43503edc3d05c83cdd7 Author: Peng Wu Date: 2022-04-11 14:13:54 +0800 Update com.github.libpinyin.ibus-libpinyin.gschema.xml M data/com.github.libpinyin.ibus-libpinyin.gschema.xml commit 91c39c3e8feebba7562712e0a01d8f4737629124 Author: Peng Wu Date: 2022-04-06 11:16:49 +0800 Fix English candidates M src/PYPPhoneticEditor.cc commit dd11c57797e13e215559f5cfc2200f244df118e4 Author: Peng Wu Date: 2022-03-31 15:05:06 +0800 Update po files M po/ca.po M po/cs.po M po/de.po M po/es.po M po/fr.po M po/pt_BR.po M po/ru.po M po/si.po M po/uk.po M po/zh_CN.po M po/zh_HK.po M po/zh_TW.po commit 33777e24db13e59f068a61a505b8594a9d735237 Author: Peng Wu Date: 2022-03-31 15:04:37 +0800 Update ibus-libpinyin.pot M po/ibus-libpinyin.pot commit d1a41ff904c129a2ac53c8d84e6876b59a7c7b12 Author: Peng Wu Date: 2022-03-31 15:03:57 +0800 Update ibus-libpinyin-preferences.ui M setup/ibus-libpinyin-preferences.ui commit 04ba8f07a4dd7e7d2176737f5f17db240ff58159 Author: Yuri Chornoivan Date: 2022-03-31 08:55:43 +0200 Translated using Weblate (Ukrainian) Currently translated at 100.0% (166 of 166 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/uk/ M po/uk.po commit 8b05a153b1720e6717838c10b4c63bbf115be36d Author: Peng Wu Date: 2022-03-31 07:29:27 +0200 Translated using Weblate (Chinese (Simplified) (zh_CN)) Currently translated at 100.0% (166 of 166 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/zh_CN/ Translated using Weblate (Chinese (Simplified) (zh_CN)) Currently translated at 100.0% (166 of 166 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/zh_CN/ M po/zh_CN.po commit d8bd7e0fc6238fd3583349698a175f1197a497d9 Author: Peng Wu Date: 2022-03-31 12:26:49 +0800 Update po files M po/ca.po M po/cs.po M po/de.po M po/es.po M po/fr.po M po/pt_BR.po M po/ru.po M po/si.po M po/uk.po M po/zh_CN.po M po/zh_HK.po M po/zh_TW.po commit edc953860a0d8375d0b66d5fcce02177099f5835 Author: Peng Wu Date: 2022-03-31 12:25:06 +0800 Update ibus-libpinyin-preferences.ui M setup/ibus-libpinyin-preferences.ui commit 8d1ba9cf49d56fe3f8a768b62f341d4d07d3d076 Author: Peng Wu Date: 2022-03-31 12:06:21 +0800 Update ibus-libpinyin.pot M po/ibus-libpinyin.pot commit 0c27bb16a9c1e76301e3fd0e0f854e26e1a83a2f Author: Dingzhong Chen Date: 2021-09-17 09:05:01 +0200 Translated using Weblate (Chinese (Simplified) (zh_CN)) Currently translated at 100.0% (156 of 156 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/zh_CN/ M po/zh_CN.po commit bbb962fc95271b563089b8e6c1ef576f47bd116d Author: Hela Basa Date: 2021-09-17 09:05:01 +0200 Translated using Weblate (Sinhala) Currently translated at 1.2% (2 of 156 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/si/ M po/si.po commit 7f6cb240f22caae3920fb5a7d6f0a45d0c1d9220 Author: Liu Tao Date: 2021-09-17 09:05:01 +0200 Translated using Weblate (Chinese (Simplified) (zh_CN)) Currently translated at 100.0% (156 of 156 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/zh_CN/ M po/zh_CN.po commit 541439836d9f1e4dc1ac852a741f2d5b678318e1 Author: Emilio Herrera Date: 2021-09-17 09:05:01 +0200 Translated using Weblate (Spanish) Currently translated at 100.0% (156 of 156 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/es/ M po/es.po commit 4491df69487217c7d7706cb50cc08ef796e4e549 Author: Peng Wu Date: 2022-03-29 11:06:27 +0800 Fix commit issue in class EnglishCandidates M src/PYPEnglishCandidates.cc M src/PYPEnhancedCandidates.h M src/PYPPhoneticEditor.cc M src/PYPPhoneticEditor.h commit 65b0919d45ea36b51f89881341f05fadaf60a846 Author: Peng Wu Date: 2022-03-29 10:53:48 +0800 Fix some crash M src/PYPEnglishCandidates.cc M src/PYPPinyinEngine.cc commit c851bb9c8ebe013406e8933a13b74ccd2a33fff5 Author: Peng Wu Date: 2022-03-25 09:59:50 +0800 Update NEWS M NEWS commit 17e869890137201dcfb2db2bd0d4d6c3d8875387 Author: Peng Wu Date: 2022-03-25 09:19:24 +0800 Fix typos M setup/main2.py commit 0de2c0906b401cb2be72df978fece68f8f703b0d Author: Peng Wu Date: 2022-03-25 08:56:37 +0800 bump version 1.12.91 M configure.ac commit 19d845b68726822781dca7d2ab0c09fdeb8d34af Author: Peng Wu Date: 2022-03-25 08:54:57 +0800 Update PinyinEngine::processKeyEvent method M src/PYPPinyinEngine.cc M src/PYTableEditor.h commit 1c3d9630c2c336b3e88221fa599161c1461f2e7e Author: Peng Wu Date: 2022-03-24 11:53:04 +0800 Update ibus-libpinyin-preferences.ui M setup/ibus-libpinyin-preferences.ui commit 91cf009f7c1437d5584e9b0a4b76bad6c172481a Author: Peng Wu Date: 2022-03-23 15:10:26 +0800 Update setup/main2.py M setup/main2.py commit 4052925c79413ee5ef13ed199738bdfd7f25e291 Author: Peng Wu Date: 2022-03-22 15:55:09 +0800 Update ibus-libpinyin-preferences.ui M setup/ibus-libpinyin-preferences.ui commit aab3d506c83a9eed4c9c795181576946317a83d2 Author: Peng Wu Date: 2022-03-21 15:34:51 +0800 Update PinyinConfig::valueChanged method M src/PYPConfig.cc M src/PYTableDatabase.cc commit 2b07bef9cf7cb35ca81a15fa347edc6de6d6d122 Author: Peng Wu Date: 2022-03-18 14:46:43 +0800 Write class TableDatabase M src/PYTableDatabase.cc M src/PYTableEditor.cc commit c18c197c67e694e52424c37d8f1da04f29728511 Author: Peng Wu Date: 2022-03-16 14:57:00 +0800 Write TableDatabase::init method M src/PYEnglishDatabase.cc M src/PYEnglishEditor.cc M src/PYMain.cc M src/PYTableDatabase.cc M src/PYTableEditor.cc M src/PYTableEditor.h commit 55a3c4fc4a34a53b330f3882c4fcb2731ef8fa8f Author: Peng Wu Date: 2022-03-15 11:21:31 +0800 Update src/Makefile.am M src/Makefile.am commit ebd1a9f0c14998ab74440ed45140d95562de8e80 Author: Peng Wu Date: 2022-03-15 11:05:51 +0800 Write class TableDatabase A src/PYTableDatabase.cc A src/PYTableDatabase.h M src/PYTableEditor.cc M src/PYTableEditor.h commit 221b22d45c2e7d51ebe01b2531de273b7ad67d0f Author: Peng Wu Date: 2022-03-14 15:28:22 +0800 Update TableDatabase in progress M src/PYTableEditor.cc commit f98f9f346e0858d088777ed09d0a4b841c46e23a Author: Peng Wu Date: 2022-03-14 15:27:41 +0800 Update table.awk M data/table.awk commit e859c29ae07bda7d3736e6ff105eea907e0409b0 Author: Peng Wu Date: 2022-03-10 14:48:52 +0800 Write class TableEditor in progress M src/PYTableEditor.cc M src/PYTableEditor.h commit 9d9c55e6b188de74c907d1f80ad265119b874821 Author: Peng Wu Date: 2022-03-10 14:48:03 +0800 Update table.awk M data/table.awk commit 2795cecf4574a2c2932151ac748df3f0ff88d8c5 Author: Peng Wu Date: 2022-02-23 14:36:17 +0800 Update class TableDatabase M src/PYTableEditor.cc M src/PYTableEditor.h commit 8462e8e3d0c19304dce26748f56aa43c5b9681ce Author: Peng Wu Date: 2022-02-21 13:03:58 +0800 Add use-custom-table options M src/PYConfig.cc M src/PYConfig.h M src/PYPConfig.cc commit dcf2720ea28ecb1cbf97bb6e69dcc0968cf9820e Author: Peng Wu Date: 2022-02-21 11:11:47 +0800 Fix warnings M src/PYPPhoneticEditor.h commit 4d51bb42be0e032dca2eb74b25472516f36bd389 Author: Peng Wu Date: 2022-02-21 11:06:36 +0800 Update com.github.libpinyin.ibus-libpinyin.gschema.xml M data/com.github.libpinyin.ibus-libpinyin.gschema.xml commit d0d81da03e37386e7d7cc0ffd531819211171a8f Author: Peng Wu Date: 2022-02-18 09:18:08 +0800 Rename strokes table to phrases table M data/table.awk M src/PYTableEditor.cc commit 4547f1ac36a94efbdef2433b74c81ff108c694a2 Author: Peng Wu Date: 2022-02-16 11:55:12 +0800 Rename stroke to table M configure.ac M data/Makefile.am M data/com.github.libpinyin.ibus-libpinyin.gschema.xml R100 data/strokes.awk data/table.awk M po/POTFILES.in M src/Makefile.am M src/PYConfig.cc M src/PYConfig.h M src/PYPBopomofoEngine.h M src/PYPConfig.cc M src/PYPPinyinEngine.cc M src/PYPPinyinEngine.h commit bc55364c88d09b49a1fd0590d17734f3efa204db Author: Peng Wu Date: 2022-02-16 09:59:07 +0800 Rename StrokeEditor to TableEditor M src/PYTableEditor.cc M src/PYTableEditor.h commit 07a27a2b11c0d931eb288734d8f561dc559b8e9f Author: Peng Wu Date: 2022-02-15 17:01:39 +0800 Rename files R100 src/PYStrokeEditor.cc src/PYTableEditor.cc R100 src/PYStrokeEditor.h src/PYTableEditor.h commit d9ec5ae7aa0dc69c437aaaa0d686d5a2faaec826 Author: Peng Wu Date: 2022-02-15 10:44:23 +0800 Enable English mode for Full Pinyin M src/PYEnglishDatabase.cc M src/PYPPinyinEngine.cc commit 6cd62db2c298597a8ed77a0f21994839880ed320 Author: Peng Wu Date: 2022-02-14 15:58:24 +0800 Update wordlist M data/wordlist commit 70d961f29943ed09590a5a7a06f349b36e87ce96 Author: Peng Wu Date: 2022-02-14 10:31:24 +0800 Write m_english_candidates M src/PYPEnglishCandidates.cc M src/PYPPhoneticEditor.cc M src/PYPPhoneticEditor.h commit 7268c80fb9025e791f01894a73836d7238e0221e Author: Peng Wu Date: 2022-02-14 09:40:12 +0800 Fix compile M src/Makefile.am M src/PYEditor.h M src/PYPEnglishCandidates.cc M src/PYPEnglishCandidates.h commit d9a1080415671082f4c575885c7b5b9ae031e9ea Author: Peng Wu Date: 2022-02-11 13:04:13 +0800 Write class EnglishCandidates A src/PYPEnglishCandidates.cc M src/PYPEnglishCandidates.h commit 56e94842886333d88d41fa02a1cfac83782330fb Author: Peng Wu Date: 2022-01-29 10:25:32 +0800 Write class EnglishDatabase M src/PYEnglishDatabase.cc M src/PYEnglishDatabase.h M src/PYEnglishEditor.cc M src/PYEnglishEditor.h commit fc9b42ddbfbb75740d5d959e2e34eed3609a73dd Author: Peng Wu Date: 2022-01-19 14:05:40 +0800 Write PYPEnglishCandidates.h A src/PYPEnglishCandidates.h M src/PYPEnhancedCandidates.h commit bf64c60c2212a504a76c6f4777839547d99ed878 Author: Peng Wu Date: 2022-01-18 10:56:05 +0800 Fix compile M src/Makefile.am M src/PYEnglishDatabase.cc M src/PYEnglishDatabase.h M src/PYEnglishEditor.cc M src/PYEnglishEditor.h M src/PYMain.cc commit 787875a45559952ff65aa8ea608659aedf41f138 Author: Peng Wu Date: 2022-01-14 10:55:58 +0800 Write PYEnglishDatabase.cc A src/PYEnglishDatabase.cc M src/PYEnglishDatabase.h M src/PYEnglishEditor.cc commit 24f0a6add6e92ba1ebf4e480250c0f0ffc2f427c Author: Peng Wu Date: 2022-01-14 10:31:43 +0800 Write PYEnglishDatabase.h A src/PYEnglishDatabase.h commit fd750ba2d288227bf7aef00d7126a4d1acb5ed7b Author: Peng Wu Date: 2022-01-11 14:34:10 +0800 Change default value for comma-period-page option M data/com.github.libpinyin.ibus-libpinyin.gschema.xml M src/PYConfig.cc M src/PYPConfig.cc commit 09b8f11aea70284a65d35b2709e1867e0637e0ec Author: Peng Wu Date: 2021-12-13 11:43:03 +0800 Create make-check.yml A .github/workflows/make-check.yml commit dd9b85f7b4ad4dd065620ae2917bc7af0b71c7dd Author: Peng Wu Date: 2021-12-01 14:12:39 +0800 Update PinyinConfig M src/PYConfig.cc M src/PYConfig.h M src/PYPConfig.cc M src/PYPPinyinEngine.cc commit beebf2fce913581a127d0ce6aff0848967c2a364 Author: Peng Wu Date: 2021-12-01 14:00:23 +0800 Update ibus-libpinyin.gschema.xml M data/com.github.libpinyin.ibus-libpinyin.gschema.xml commit 2c006b596068271f2b8b890af1400f518c66d547 Author: Peng Wu Date: 2021-12-01 13:42:58 +0800 bump version 1.12.2 M configure.ac commit 36d86b09414f51ad7303f598930e454404eada09 Author: Peng Wu Date: 2021-11-01 14:37:16 +0800 Fix processFunctionKey method M src/PYPPhoneticEditor.cc commit 6a5f55445e630c3ee78cb451d00c64e86f59c9e1 Author: Peng Wu Date: 2021-06-28 12:59:42 +0800 Update NEWS M NEWS commit be28b3a410251d9d78265da7723c8372dc5c8594 Author: Peng Wu Date: 2021-05-17 15:15:26 +0800 Remember cloud input M src/PYLibPinyin.cc M src/PYLibPinyin.h M src/PYPCloudCandidates.cc M src/PYPLibPinyinCandidates.cc commit be97321b6dd700796f97697428a14a26b234eadd Author: Peng Wu Date: 2021-05-11 09:58:22 +0800 Improve cloud candidate M src/PYPCloudCandidates.cc M src/PYPCloudCandidates.h commit 4bd9e2247ce9df235daffc14b570c7bc7ea41368 Author: Peng Wu Date: 2021-05-06 11:04:23 +0800 Update LINGUAS M po/LINGUAS commit f69aff4e59af855a6c1631af65f3216f9b50be54 Author: Gunnar Hjalmarsson Date: 2021-04-30 12:42:12 +0200 Rename pt-BR.po to pt_BR.po R100 po/pt-BR.po po/pt_BR.po commit 0818f2034c128258069c6812969a3ef194ed71c0 Author: Hela Basa Date: 2021-03-03 21:58:12 +0100 Added translation using Weblate (Sinhala) M po/LINGUAS A po/si.po commit 3c9a1c782bdec4f057cf1ed6dd8ee16cd707e9b0 Author: Dingzhong Chen Date: 2021-03-03 21:58:12 +0100 Translated using Weblate (Chinese (Simplified) (zh_CN)) Currently translated at 100.0% (156 of 156 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/zh_CN/ Translated using Weblate (Chinese (Simplified) (zh_CN)) Currently translated at 100.0% (156 of 156 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/zh_CN/ Translated using Weblate (Chinese (Simplified) (zh_CN)) Currently translated at 100.0% (156 of 156 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/zh_CN/ Translated using Weblate (Chinese (Simplified) (zh_CN)) Currently translated at 100.0% (156 of 156 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/zh_CN/ M po/zh_CN.po commit 8f7899bf11b3c06eada4aa94ed0fd4817dc9f680 Author: Weblate Date: 2021-03-03 21:58:12 +0100 Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/ M po/de.po M po/es.po M po/fr.po M po/uk.po commit 1edb80cb35594c97a098c56648c48a3afe11f158 Author: Julien Humbert Date: 2021-03-03 21:58:11 +0100 Translated using Weblate (French) Currently translated at 100.0% (156 of 156 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/fr/ Translated using Weblate (French) Currently translated at 100.0% (156 of 156 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/fr/ M po/fr.po commit 48522d4d46949516256641913f1c68217e573450 Author: Hollow Man Date: 2021-03-21 15:56:03 +0800 Change deprecated glib function g_atexit() into atexit() Signed-off-by: Hollow Man M src/PYMain.cc commit 330ba5b289eec7670aa82244ed9064d8bc6d537b Author: Peng Wu Date: 2021-01-28 11:59:17 +0800 Support Compatibility display style M src/PYConfig.h M src/PYPBopomofoEditor.cc M src/PYPConfig.cc M src/PYPDoublePinyinEditor.cc M src/PYPFullPinyinEditor.cc M src/PYPPinyinEditor.cc commit 39c7da6eb672d89ea240e336bdea1546eaf85f46 Author: Peng Wu Date: 2021-01-28 10:52:52 +0800 Update ibus-libpinyin-preferences.ui M setup/ibus-libpinyin-preferences.ui commit 4c095052b2242975342fed034e39ed1b5c0caaef Author: Peng Wu Date: 2021-01-28 10:46:05 +0800 bump version 1.12.1 M configure.ac commit 9f86e50121d85c8dc40b23a3ff7af4bbe01bdc9f Author: Peng Wu Date: 2021-01-28 10:44:58 +0800 Extend lua trigger feature to support multiple results M src/PYPLuaConverterCandidates.cc M src/PYPLuaTriggerCandidates.cc M src/PYPLuaTriggerCandidates.h commit b8d700607ea7a6d27cc9c7ab9d4f9901bd40997c Author: Peng Wu Date: 2021-01-27 15:29:36 +0800 Update Lua Plugin API M lua/lua-ext-console.c M lua/lua-plugin.c M lua/lua-plugin.h commit dcf8e13c6921e4d8a39ec9bf33263fd37616560c Author: Peng Wu Date: 2021-01-20 09:42:14 +0800 Fixes insert method M src/PYPFullPinyinEditor.cc commit 840217748fea4de8f6a68378fd0465fe7aa810d7 Author: Peng Wu Date: 2021-01-11 13:30:22 +0800 Fixes Caps Lock issue in double pinyin mode M src/PYPPinyinEngine.cc commit 31f12260abd9f384105d76f2f184584307f06c8e Author: Peng Wu Date: 2020-12-15 14:56:40 +0800 Update NEWS M NEWS commit 8fb0ca4fa7bf9db3e5fb6c2fb713a3b0d4ab1ae4 Author: Peng Wu Date: 2020-12-15 14:54:47 +0800 bump version 1.12.0 M configure.ac commit 9b00002f464bc66c55bcfeaf2ab0e1ca5e2a4f1e Author: Peng Wu Date: 2020-11-23 10:58:22 +0800 Fixes import/export pinyin dictionary M setup/main2.py M src/PYPConfig.cc commit a7a048ecf430664711c26f7fedca4470adb0fcc0 Author: Adolfo Jayme Barrientos Date: 2020-10-16 20:30:19 +0200 Translated using Weblate (Spanish) Currently translated at 98.7% (154 of 156 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/es/ M po/es.po commit d2167a3dcdfd11d78149ace92ab745d0c345f10f Author: Emilio Herrera Date: 2020-10-16 20:30:19 +0200 Translated using Weblate (Spanish) Currently translated at 83.9% (131 of 156 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/es/ M po/es.po commit 3206261d58711d7c42baca5ba680758a708f4bf9 Author: Peng Wu Date: 2020-10-22 11:09:14 +0800 Update NEWS M NEWS commit da68617e606b60a019b025921d0f7af78149701e Author: Peng Wu Date: 2020-10-15 16:21:18 +0800 Improve clearPinyinUserData method M src/PYLibPinyin.cc commit c346468fdf9ef8f7f6c8acd0dc54b976b1dafd14 Author: Peng Wu Date: 2020-09-29 11:33:27 +0800 Fixes import/export dictionary in setup dialog M setup/main2.py commit bc063522f2945776cf3c70d33ba32dc31d1d603f Author: Peng Wu Date: 2020-09-28 10:28:17 +0800 Save user pinyin data after import the dictionary M src/PYLibPinyin.cc commit 0d46fe7842c179bc4b2ad88a27ddeed9d0af9220 Author: Peng Wu Date: 2020-09-25 10:27:19 +0800 refactor class CloudCandidates M src/PYPCloudCandidates.cc commit 117d390aea32de451a497b5f1bc1d9391f123079 Author: Peng Wu Date: 2020-09-25 10:24:57 +0800 Use enum CloudInputSource M src/PYConfig.h M src/PYPCloudCandidates.cc M src/PYPCloudCandidates.h M src/PYPConfig.cc commit 2823391970f8f6798340fdce8e514cc239054dd0 Author: Peng Wu Date: 2020-09-25 09:26:52 +0800 Update setup dialog M setup/ibus-libpinyin-preferences.ui commit df0c1ab351127618b0016b06803ca1a5fb2a65ca Author: Peng Wu Date: 2020-09-25 09:20:53 +0800 Add another cloud input source M src/PYConfig.h M src/PYPCloudCandidates.cc commit 0492fc31565ebd35f6ac14769203bdce752f8d7a Author: Peng Wu Date: 2020-09-24 15:04:30 +0800 Update base.lua M lua/base.lua commit eea3b45a2400d09092b1d5f15c07225249249e7d Author: Peng Wu Date: 2020-09-23 15:49:35 +0800 Fixes CloudCandidates::updateLookupTable method M src/PYPCloudCandidates.cc commit 7ecb3750e81e791fa554f34a745cbd1384b45ea0 Author: Peng Wu Date: 2020-09-23 12:09:54 +0800 drop CloudCandidatesResponseParser::getAnnotation method M src/PYPCloudCandidates.cc commit 55f095629bb76cad1b8381e715fc69ed4167f9eb Author: Peng Wu Date: 2020-09-23 09:47:55 +0800 Fixes CloudCandidates::processCandidates method M src/PYPCloudCandidates.cc commit f09dc5f280bc81f50221da464f6cd943652eac16 Author: Peng Wu Date: 2020-09-23 09:44:33 +0800 Use GTimer in class CloudCandidates M src/PYPCloudCandidates.cc M src/PYPCloudCandidates.h commit ad280ed7c07eb0a39c23c1274fc40cf2f2213e2a Author: Peng Wu Date: 2020-09-22 16:06:42 +0800 Update cloud candidate input design M src/PYPCloudCandidates.cc M src/PYPCloudCandidates.h commit 91643cabc8fd54fcccf2255138f8f840621cd944 Author: Peng Wu Date: 2020-09-22 12:18:30 +0800 fixes initPinyinContext method M src/PYLibPinyin.cc commit abcb6d5eb7736207e8af6ceaa1ce2f0a993a852b Author: Peng Wu Date: 2020-09-22 12:10:01 +0800 fixes CloudCandidates crash M src/PYPCloudCandidates.cc M src/PYPCloudCandidates.h commit 0e6091ca1e3577db003698f5696dff65ef2118c3 Author: Peng Wu Date: 2020-09-22 11:01:48 +0800 improve cloudAsyncRequest method M src/PYPCloudCandidates.cc M src/PYPCloudCandidates.h commit db9d9d43f8db12426e26abb0940bf4ddb7f408c3 Author: Peng Wu Date: 2020-09-21 16:10:45 +0800 refactor class CloudCandidates M src/PYPCloudCandidates.cc M src/PYPCloudCandidates.h commit 2ab5cf72ffe5d71c3bb182fec7b78133991beedd Author: Peng Wu Date: 2020-09-21 15:37:18 +0800 refactor m_parser variable in class CloudCandidates M src/PYConfig.cc M src/PYConfig.h M src/PYPCloudCandidates.cc M src/PYPCloudCandidates.h M src/PYPConfig.cc commit 5bb4e1afcb01dcd2aa90702cd3268b22589f8d66 Author: hillwoodroc Date: 2020-09-19 21:31:43 +0800 Update network.txt M data/network.txt commit 6f832e07df279b4938354e2b96190845dc6b5b45 Author: Mike FABIAN Date: 2020-09-17 09:29:26 +0200 Translated using Weblate (German) Currently translated at 100.0% (156 of 156 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/de/ M po/de.po commit 34b539e0281d228b8caf4357f71aa4159d913605 Author: Yuri Chornoivan Date: 2020-09-17 09:29:26 +0200 Translated using Weblate (Ukrainian) Currently translated at 100.0% (156 of 156 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/uk/ M po/uk.po commit b5e1bba4b7bc25821bfa87bb0cc8791ff39b97b2 Author: Hillwood Yang Date: 2020-09-16 04:58:11 +0200 Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (156 of 156 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/zh_TW/ Translated using Weblate (Chinese (Hong Kong)) Currently translated at 100.0% (156 of 156 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/zh_HK/ Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (156 of 156 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/zh_CN/ M po/zh_CN.po M po/zh_HK.po M po/zh_TW.po commit a3d639e96fe07c93da079c2c48c29cd8743ea3bf Author: Peng Wu Date: 2020-09-16 04:58:11 +0200 Translated using Weblate (Chinese (Simplified)) Currently translated at 99.3% (155 of 156 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/zh_CN/ Translated using Weblate (Chinese (Simplified)) Currently translated at 97.4% (152 of 156 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/zh_CN/ Translated using Weblate (Chinese (Simplified)) Currently translated at 97.4% (152 of 156 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/zh_CN/ M po/zh_CN.po commit a7419c778cf9f482e79767087ed4fda7a17b9d9b Author: Weblate Date: 2020-09-16 04:58:11 +0200 Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/ M po/ca.po M po/cs.po M po/de.po M po/es.po M po/fr.po M po/pt-BR.po M po/ru.po M po/uk.po M po/zh_CN.po M po/zh_HK.po M po/zh_TW.po commit c8345ac3e82f198a6e511b7413ada962b12d799c Author: Harry Chen Date: 2020-09-16 04:58:10 +0200 Translated using Weblate (Chinese (Simplified)) Currently translated at 96.7% (151 of 156 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/zh_CN/ M po/zh_CN.po commit 695078f427be1d717f9b2341838a499eb1f8e812 Author: Mike FABIAN Date: 2020-09-16 04:58:10 +0200 Translated using Weblate (German) Currently translated at 100.0% (156 of 156 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/de/ Translated using Weblate (German) Currently translated at 100.0% (156 of 156 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/de/ Translated using Weblate (German) Currently translated at 100.0% (156 of 156 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/de/ M po/de.po commit cd19dd55588b5d03311b912c8ecdb292b46b4f96 Author: Yuri Chornoivan Date: 2020-09-16 04:58:10 +0200 Translated using Weblate (Ukrainian) Currently translated at 100.0% (156 of 156 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/uk/ Translated using Weblate (Ukrainian) Currently translated at 100.0% (156 of 156 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/uk/ Translated using Weblate (Ukrainian) Currently translated at 100.0% (156 of 156 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/uk/ M po/uk.po commit 1ae4b59228d65dfcb632e44d8d87082bb6d62797 Author: Weblate Date: 2020-09-16 04:58:10 +0200 Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/ M po/ca.po M po/cs.po M po/de.po M po/es.po M po/fr.po M po/pt-BR.po M po/ru.po M po/uk.po M po/zh_CN.po M po/zh_HK.po M po/zh_TW.po commit 2d08e64f7157becd52ff1c0fec5f190c87365f33 Author: Hillwood Yang Date: 2020-09-16 04:58:09 +0200 Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (150 of 150 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/zh_TW/ Translated using Weblate (Chinese (Simplified)) Currently translated at 98.6% (150 of 152 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/zh_CN/ Translated using Weblate (Chinese (Simplified)) Currently translated at 98.0% (149 of 152 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/zh_CN/ M po/zh_CN.po M po/zh_TW.po commit 9caeca5e27c291e4fb2ef76ebeead67c4d413714 Author: Yuri Chornoivan Date: 2020-09-16 04:58:09 +0200 Translated using Weblate (Ukrainian) Currently translated at 100.0% (150 of 150 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/uk/ M po/uk.po commit 5c43657b8c950a1dc659e7ca2069be47ada6324d Author: Xiao Weixuan Date: 2020-09-16 04:58:08 +0200 Translated using Weblate (French) Currently translated at 91.3% (137 of 150 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/fr/ M po/fr.po commit a5d4234bea35b16393aef3cdd4aef02bfa9365e4 Author: Emilio Herrera Date: 2020-09-16 04:58:08 +0200 Translated using Weblate (Spanish) Currently translated at 100.0% (136 of 136 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/es/ M po/es.po commit 4ec2c1c8453b885922991af407c4f1f44952e0d4 Author: Harry Chen Date: 2020-09-16 04:58:08 +0200 Translated using Weblate (Chinese (Simplified)) Currently translated at 98.0% (149 of 152 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/zh_CN/ M po/zh_CN.po commit c4e77276f74c6051a97b1639d390678ce1bbd7f0 Author: hillwoodroc Date: 2020-09-10 12:03:46 +0800 Update network.txt M data/network.txt commit 63274edc8271d60e0b50ab01cffae7ffeba8edac Author: Peng Wu Date: 2020-09-14 11:27:54 +0800 Update gschema XML M data/com.github.libpinyin.ibus-libpinyin.gschema.xml commit b6a2247e92b7ccf503d1d691976b7777dbb47620 Author: Peng Wu Date: 2020-09-13 12:36:42 +0800 Update ibus-libpinyin.pot M po/ibus-libpinyin.pot commit 330653ec32c1fd74770f1e1f52cf5bc0f08bbe78 Author: Peng Wu Date: 2020-09-13 12:34:25 +0800 Update setup dialog M setup/ibus-libpinyin-preferences.ui commit 0b5b3a6538656a908666fef09e83cb9b34fbcf48 Author: Peng Wu Date: 2020-09-08 14:19:18 +0800 Update ibus-libpinyin.pot M po/ibus-libpinyin.pot commit 9227873475e7ce0573d48fc8fe4b00781cc6edc0 Author: Peng Wu Date: 2020-09-08 14:13:47 +0800 Hide cloud option in setup dialog M configure.ac M setup/config.py.in M setup/main2.py commit a478d650ff5429e338268c6d5f6e4c44e8334426 Author: Peng Wu Date: 2020-09-07 16:07:09 +0800 Update main2.py for emoji candidate M setup/main2.py commit d9b4fd856e57a3785c91e360805603130d5fbc34 Author: Peng Wu Date: 2020-09-07 16:06:12 +0800 Update setup dialog for emoji candidate M setup/ibus-libpinyin-preferences.ui commit 17068e1da358b7a6ca78375a01bd572956433755 Author: Peng Wu Date: 2020-09-07 14:54:08 +0800 Fixes Emoji Candidates M src/PYPEmojiCandidates.cc commit 38ace884661e521990fc117ffa5a197173853527 Author: hillwoodroc Date: 2020-09-07 12:34:34 +0800 Update ibus-libpinyin-preferences.ui: Add Cloud Input Authors M setup/ibus-libpinyin-preferences.ui commit d6c950ec717fb417fc2871e03801349e3b065a76 Author: Inokinoki Date: 2020-09-01 10:26:12 +0200 Enable Cloud Input for Double Pinyin and Bopomofo M src/PYPBopomofoEditor.cc M src/PYPDoublePinyinEditor.cc commit 04aa7f052d2d911349c79cae6d922e3f65d24752 Author: Inokinoki Date: 2020-09-01 10:25:14 +0200 Enable Cloud Input for Full Pinyin mode Co-authored-by: lianna07 M configure.ac M src/Makefile.am M src/PYPPhoneticEditor.cc M src/PYPPhoneticEditor.h commit 3de68dd731aeae11e1930a1f25ecdad3b2cc50d8 Author: Inokinoki Date: 2020-09-01 10:22:36 +0200 Add Cloud Input configuration items in setup UI Co-authored-by: lianna07 Co-authored-by: Peng Wu M setup/ibus-libpinyin-preferences.ui M setup/main2.py commit ad748051706038cf4178be3f0cdbdd209fa02742 Author: Inokinoki Date: 2020-09-01 10:18:19 +0200 Add Cloud Input configurations Co-authored-by: lianna07 Co-authored-by: Peng Wu M data/com.github.libpinyin.ibus-libpinyin.gschema.xml M src/PYConfig.cc M src/PYConfig.h M src/PYPConfig.cc commit beae287d141c111ac18ccfd5ddf7afa1f23a8945 Author: Inokinoki Date: 2020-09-01 10:09:31 +0200 Add Cloud Input implementation This implementation adds Cloud Input feature with delayed request and asynchronous request. - Support Full Pinyin and Double Pinyin modes - Support Bopomofo mode Co-authored-by: lianna07 Co-authored-by: Peng Wu A src/PYPCloudCandidates.cc A src/PYPCloudCandidates.h commit afd6134ebdd7d01383f79763e574fab0a227307d Author: Peng Wu Date: 2020-08-28 11:31:54 +0800 bump version 1.11.94 M configure.ac commit 2ee257c73388df89b4f5966c882d8047a896f9b2 Author: Peng Wu Date: 2020-08-28 11:30:31 +0800 restore mainSwitch shortcut key M src/PYPPinyinEngine.cc commit 24f673d6480ce15fc7f37af848f149e0a366d18a Author: Peng Wu Date: 2020-08-25 15:32:24 +0800 update NEWS M NEWS commit b5f4fb8872d5cad3e9771d296d8ef83c29234b8f Author: Emilio Herrera Date: 2020-08-24 17:29:18 +0200 Translated using Weblate (Spanish) Currently translated at 100.0% (136 of 136 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/es/ M po/es.po commit 033a8ca044f4c75986cdcff7bc827a8b7e039ccb Author: Mike FABIAN Date: 2020-08-24 17:29:18 +0200 Translated using Weblate (German) Currently translated at 100.0% (150 of 150 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/de/ Added translation using Weblate (German) M po/LINGUAS A po/de.po commit 5b0f0288a3ae5d2e747696296535430ddc24a494 Author: Hillwood Yang Date: 2020-08-24 17:29:17 +0200 Translated using Weblate (Chinese (Hong Kong)) Currently translated at 75.6% (115 of 152 strings) Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/zh_HK/ M po/zh_HK.po commit 74acade82207a1d358f4bdc4c29735fe8f0488f6 Author: Peng Wu Date: 2020-08-21 12:11:33 +0800 fixes processAccelKeyEvent method M src/PYPPinyinEngine.cc commit 584dc7037ecc1d1c305d175bca6ddd5c8e3d8d81 Author: Weblate Date: 2020-08-11 06:40:11 +0200 Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/ M po/ca.po M po/cs.po M po/es.po M po/fr.po M po/pt-BR.po M po/ru.po M po/uk.po M po/zh_CN.po M po/zh_HK.po M po/zh_TW.po commit 10f113940c03f6b9b86071011281605f3f3f42ec Author: Weblate Date: 2020-08-11 06:39:57 +0200 Update translation files Updated by "Update LINGUAS file" hook in Weblate. Translation: ibus-libpinyin/master Translate-URL: https://translate.fedoraproject.org/projects/ibus-libpinyin/master/ M po/LINGUAS commit 9cb895957a1040c536c0d6342cc71cc9cfa7217e Author: Peng Wu Date: 2020-08-10 16:12:45 +0800 import ibus-libpinyin.pot A po/ibus-libpinyin.pot commit 8faeee14d547d932d111908f48c0895909c7e677 Author: Peng Wu Date: 2020-08-10 16:00:06 +0800 import po files A po/cs.po A po/es.po A po/pt-BR.po A po/uk.po commit e2c7237de7086d197cb9897c223a9e60fb9813c1 Author: Peng Wu Date: 2020-07-29 13:34:39 +0800 fixes readNetworkDictionary method M src/PYLibPinyin.cc commit ad0f4f3419c0652fb18c5f20b3fd94244ed7553c Author: Peng Wu Date: 2020-07-28 14:06:20 +0800 use modified method instead of pinyin_save function M src/PYLibPinyin.cc commit 0f9bfcb1320465116aaaeaa290ec80c0b86cb81d Author: Peng Wu Date: 2020-07-28 13:05:05 +0800 Restore Bopomofo Editor M src/PYPBopomofoEditor.cc M src/PYPPhoneticEditor.cc commit 318aea3862c6dbc382ccca6c7ea75c198e28b75e Author: Peng Wu Date: 2020-07-27 10:47:14 +0800 fixes mainSwitch shortcut key M src/PYPPinyinEngine.cc commit 8b38d6cdad15a9d21976ed783cf7ba945385e16e Author: Peng Wu Date: 2020-07-27 10:29:22 +0800 fixes PYLibPinyin.cc M src/PYLibPinyin.cc commit 7bf1a089547be9add7cb01a5e7b45806031f99ff Author: Peng Wu Date: 2020-07-23 15:58:51 +0800 fixes Network Dictionary M src/PYLibPinyin.cc commit f4570dd9d1694e676c49984233ecc4f68719dde3 Author: Peng Wu Date: 2020-07-23 15:22:02 +0800 update com.github.libpinyin.ibus-libpinyin.gschema.xml M data/com.github.libpinyin.ibus-libpinyin.gschema.xml commit 49cbae6d9a9df24fa73dc55a684e52d8fcdd0dcf Author: Peng Wu Date: 2020-07-21 15:27:45 +0800 init network dictionary M src/PYLibPinyin.cc commit 035d5fdda849c2b1d369fbfcb6ebe705ca2c3221 Author: Peng Wu Date: 2020-06-23 14:22:38 +0800 support network dictionary timestamp in GSettings M src/PYConfig.cc M src/PYConfig.h M src/PYPConfig.cc M src/PYPConfig.h commit dc67c6437dd2f3a5790c7065f03631a123e144db Author: Peng Wu Date: 2020-06-19 15:10:49 +0800 write readNetworkDictionary method M src/PYLibPinyin.cc M src/PYLibPinyin.h commit 8d7e340b73caa3033040e229cc6198357a127823 Author: Peng Wu Date: 2020-06-18 14:42:44 +0800 update gschema.xml M data/com.github.libpinyin.ibus-libpinyin.gschema.xml commit 296f5b22a8f86da8cd8409301bd161c394776147 Author: Peng Wu Date: 2020-06-16 16:07:02 +0800 import network.txt M data/Makefile.am A data/network.txt commit ac395bd59da86505b1ee00f3edd64f03f654aa33 Author: Peng Wu Date: 2020-07-21 13:02:53 +0800 Fixes Bopomofo Editor M src/PYPBopomofoEditor.cc M src/PYPPhoneticEditor.cc commit f3faeeff3fbe3bf9e30ed4461c2c8d0466966e56 Author: Peng Wu Date: 2020-07-06 09:59:05 +0800 fixes lmyoslib.c M lua/lmyoslib.c commit 45bdf39e41a41fe4cc7f087948eec461145cfb5c Author: Peng Wu Date: 2020-06-17 16:51:54 +0800 update PYPEmojiTable.h M src/PYPEmojiTable.h commit 59785f2de60591fe738f79bb6fbc46d9737bb556 Author: Peng Wu Date: 2020-06-17 16:20:24 +0800 update extract_emoji.py M scripts/extract_emoji.py commit db96866788ab60ce94d329b118443c2e9aed6dd9 Author: Peng Wu Date: 2020-04-23 15:43:28 +0800 update Makefile.am M Makefile.am M data/Makefile.am M data/db/android/Makefile.am M lua/Makefile.am M m4/Makefile.am M setup/Makefile.am M src/Makefile.am commit 9aac9382caa1a034aa86e253241fe3a56b02844d Author: Peng Wu Date: 2020-04-23 15:38:08 +0800 use GPLv3+ license M lua/lua-ext-console.c M lua/lua-plugin-init.c M lua/lua-plugin.c M lua/lua-plugin.h M lua/test-lua-plugin.c M src/PYBus.h M src/PYConfig.cc M src/PYConfig.h M src/PYEditor.cc M src/PYEditor.h M src/PYEngine.cc M src/PYEngine.h M src/PYEnglishEditor.cc M src/PYEnglishEditor.h M src/PYExtEditor.cc M src/PYExtEditor.h M src/PYFallbackEditor.cc M src/PYFallbackEditor.h M src/PYHalfFullConverter.cc M src/PYHalfFullConverter.h M src/PYLibPinyin.cc M src/PYLibPinyin.h M src/PYLookupTable.h M src/PYMain.cc M src/PYObject.h M src/PYPBopomofoEditor.cc M src/PYPBopomofoEditor.h M src/PYPBopomofoEngine.cc M src/PYPBopomofoEngine.h M src/PYPConfig.cc M src/PYPConfig.h M src/PYPDoublePinyinEditor.cc M src/PYPDoublePinyinEditor.h M src/PYPEmojiCandidates.cc M src/PYPEmojiCandidates.h M src/PYPEnhancedCandidates.h M src/PYPFullPinyinEditor.cc M src/PYPFullPinyinEditor.h M src/PYPLibPinyinCandidates.cc M src/PYPLibPinyinCandidates.h M src/PYPLuaConverterCandidates.cc M src/PYPLuaConverterCandidates.h M src/PYPLuaTriggerCandidates.cc M src/PYPLuaTriggerCandidates.h M src/PYPPhoneticEditor.cc M src/PYPPhoneticEditor.h M src/PYPPinyinEditor.cc M src/PYPPinyinEditor.h M src/PYPPinyinEngine.cc M src/PYPPinyinEngine.h M src/PYPSuggestionCandidates.cc M src/PYPSuggestionCandidates.h M src/PYPSuggestionEditor.cc M src/PYPTradCandidates.cc M src/PYPTradCandidates.h M src/PYPinyinProperties.cc M src/PYPinyinProperties.h M src/PYPointer.h M src/PYProperty.h M src/PYPunctEditor.cc M src/PYPunctEditor.h M src/PYRawEditor.h M src/PYSignal.h M src/PYSimpTradConverter.cc M src/PYSimpTradConverter.h M src/PYString.h M src/PYText.h M src/PYTypes.h M src/PYUtil.h commit 215418a204ef83cfed6c90a5ce092cadd4a95d5f Author: Peng Wu Date: 2020-04-23 14:55:19 +0800 update COPYING M COPYING commit 1e9f1f343f4c098fc9619364233e905182eba9bb Author: Peng Wu Date: 2020-04-13 14:45:42 +0800 update appdatadir M data/Makefile.am commit f026d3f074786482f1b00b19811838b9535a99bb Author: Peng Wu Date: 2020-04-13 14:43:16 +0800 bump version 1.11.93 M configure.ac commit 79046a6fcb1fcb7c8d316ab958264f9b23837c9d Author: Peng Wu Date: 2020-03-27 12:08:19 +0800 fixes ExtEditor M src/PYExtEditor.cc commit 117b8c6752650317be76ab007cb1018a2d0a2d34 Author: Peng Wu Date: 2020-03-19 16:26:32 +0800 update NEWS M NEWS commit 585388b542bbfcda2859911754e68ea3b884b083 Author: Peng Wu Date: 2020-03-19 16:24:49 +0800 bump version 1.11.92 M configure.ac commit a804ecd6b3109c08a10b72cc88ae56b48fc8e5d0 Author: Peng Wu Date: 2020-03-19 16:21:50 +0800 update po files M po/zh_CN.po M po/zh_HK.po M po/zh_TW.po commit d1b8f40c7e2081405873726c931e328e0d025087 Author: Peng Wu Date: 2020-03-19 16:09:37 +0800 fixes desktop.in files M data/ibus-setup-libbopomofo.desktop.in M data/ibus-setup-libpinyin.desktop.in commit bfd577a0006ba09b8d9d4e42f513eae06118a4c3 Author: Peng Wu Date: 2020-03-19 15:20:12 +0800 update NEWS M NEWS commit a168a1abb609c9d570d9e94ce82f417ed0b55e28 Author: hollowman6 Date: 2020-03-03 09:26:07 +0000 update po files M po/ca.po M po/fr.po M po/ru.po M po/zh_CN.po M po/zh_HK.po M po/zh_TW.po commit 8c65964af7d214ff2ba700b341c9adc80de860e7 Author: hollowman6 Date: 2020-03-03 09:17:49 +0000 Fix grammar errors in code M setup/ibus-libpinyin-preferences.ui M setup/keyboardshortcut.py M setup/shortcuteditor.py M src/PYEnglishEditor.cc commit 107e405d72e0bb09112b82d3cfef51e29f0119cd Author: hillwoodroc Date: 2020-03-03 15:18:59 +0800 Update translations. M po/ca.po M po/fr.po M po/ru.po M po/zh_CN.po M po/zh_HK.po M po/zh_TW.po commit 88a365e47f50224120e5399116bf89664ead2df4 Author: Peng Wu Date: 2020-03-03 10:32:17 +0800 update ibus-libpinyin-preferences.ui M setup/ibus-libpinyin-preferences.ui commit dd855e663aa79095287ac8f0cb333e676936edc7 Author: Peng Wu Date: 2020-03-03 10:04:17 +0800 update po files M po/ca.po M po/fr.po M po/ru.po M po/zh_CN.po M po/zh_HK.po M po/zh_TW.po commit 915f2ff1d5f58b43ef2167a94e3060c342f7abe7 Author: Peng Wu Date: 2020-02-26 16:18:53 +0800 fixes memory leak in pinyin_get_sentence call M src/PYPBopomofoEditor.cc M src/PYPLibPinyinCandidates.cc M src/PYPPinyinEditor.cc commit 7be9b52ba5ef951d48de960d36d0c015d7d50cd8 Author: Peng Wu Date: 2020-01-08 14:49:01 +0800 fixes punct mode M src/PYPBopomofoEngine.cc M src/PYPPinyinEngine.cc commit 682a15b906cc8696510d5c888db66827770a94ef Author: Peng Wu Date: 2019-12-26 11:59:42 +0800 update NEWS M NEWS commit 79cd627e0342c7e6f5f17cd3295c7c83a4c39ac3 Author: Peng Wu Date: 2019-12-26 11:56:27 +0800 update ChangeLog M ChangeLog M NEWS commit 362e5a9dc697decd93382dd66507d4838800cbf9 Author: Peng Wu Date: 2019-12-19 15:00:01 +0800 write removeCandidate method M src/PYPEmojiCandidates.cc M src/PYPEmojiCandidates.h M src/PYPLuaConverterCandidates.cc M src/PYPLuaConverterCandidates.h M src/PYPLuaTriggerCandidates.cc M src/PYPLuaTriggerCandidates.h M src/PYPTradCandidates.cc M src/PYPTradCandidates.h commit 503de9a7f203eb3d98f1313e5e0acd2ad77be2a7 Author: Peng Wu Date: 2019-12-19 14:59:57 +0800 write removeCandidateInternal method M src/PYEditor.cc M src/PYEditor.h M src/PYPEnhancedCandidates.h M src/PYPLibPinyinCandidates.cc M src/PYPLibPinyinCandidates.h M src/PYPPhoneticEditor.cc M src/PYPPhoneticEditor.h commit 2b2fdb2a1d948eab46fdca289fd5f579af078ff8 Author: Peng Wu Date: 2019-12-19 14:59:53 +0800 fixes compact display style M src/PYPBopomofoEditor.cc M src/PYPDoublePinyinEditor.cc M src/PYPFullPinyinEditor.cc commit dca9d262c84ee234f2be75b8589d666aece3dd06 Author: Peng Wu Date: 2019-12-19 14:59:48 +0800 add display style option to setup dialog M setup/main2.py commit 383604078235c0c87c23f00e24da8c7919f942ca Author: Peng Wu Date: 2019-12-19 14:59:44 +0800 update ibus-libpinyin-preferences.ui M setup/ibus-libpinyin-preferences.ui commit de84d3eb000e333d9bd4b1d6a3d40c9040ca8bad Author: Peng Wu Date: 2019-12-19 14:59:39 +0800 support display style option M src/PYPBopomofoEditor.cc M src/PYPConfig.cc M src/PYPDoublePinyinEditor.cc M src/PYPFullPinyinEditor.cc M src/PYPPinyinEditor.cc commit 584cdae8db5b3b64063ce692f431b1945e1e13e4 Author: Peng Wu Date: 2019-12-19 14:59:34 +0800 fixes Makefile.am M data/Makefile.am commit f20a610b7f08fb0a3b95bf0022e8e85c8f0f0747 Author: Peng Wu Date: 2019-12-19 14:59:28 +0800 bump version 1.11.91 M configure.ac commit 555abcaf3aef847456d7b86ed2bde57b6ddc62c1 Author: Peng Wu Date: 2019-12-19 14:59:22 +0800 add display style option M src/PYConfig.cc M src/PYConfig.h M src/PYPConfig.cc commit 99efd06f6b6a71a9d49cbc85e48ca338cde50da9 Author: Peng Wu Date: 2019-12-19 14:59:10 +0800 fixes lua plugin warnings M lua/lua-plugin.c commit d6afa093cdb453579e4fc4035b9b8137a44c8e3d Author: Peng Wu Date: 2019-12-19 14:58:15 +0800 Update com.github.libpinyin.ibus-libpinyin.gschema.xml M data/com.github.libpinyin.ibus-libpinyin.gschema.xml commit 8889ab2e3574a781404ebcec1504594ed28ea79a Author: Peng Wu Date: 2019-12-03 14:23:02 +0800 fixes desktop file for ibus-libpinyin setup dialog M data/Makefile.am commit 2ab63bd24f091315fecfc9ccd0495a6832ec327c Author: Peng Wu Date: 2019-12-03 14:07:17 +0800 Use Python 3.2 M configure.ac commit 17121ad1dbc8c9be44d449c2d79179cdd90f6d7c Author: Peng Wu Date: 2019-11-29 13:23:16 +0800 fixes comma handling M src/PYFallbackEditor.cc commit 592b628000d9b58bb714ff9232d7d2ddf814cacf Author: Peng Wu Date: 2019-11-21 14:45:28 +0800 fixes period handling again M src/PYFallbackEditor.cc commit 1eb70ce12bed9d6b53c02ac8693ec52abe1d0216 Author: Peng Wu Date: 2019-11-20 19:12:47 +0800 fixes period handling M src/PYFallbackEditor.cc M src/PYPPinyinEditor.cc commit 6ee1cb7b37225f953ba611e6e16b82d36c02acf5 Author: Peng Wu Date: 2019-09-09 11:08:10 +0800 fixes EnglishEditor again M src/PYEnglishEditor.cc commit 981127a67d429262cf11257f98b4937f7461288c Author: Peng Wu Date: 2019-09-06 15:19:22 +0800 fixes EnglishEditor M src/PYEnglishEditor.cc commit 75806735002f940927648b5abd04a4b6704518fc Author: Ting-Wei Lan Date: 2019-08-28 15:58:30 +0800 don't use sed -i sed -i is a non-standard feature which may have different syntax or meaning depending on the implementation. It is better to use a temporary file instead of relying on a sed command implementing the feature in the same way as GNU sed. M data/Makefile.am commit 197e1b6c16608956141cd3668d35e4c22d18027e Author: Peng Wu Date: 2019-07-26 17:41:12 +0800 fixes crash in clearPinyinUserData method M src/PYLibPinyin.cc commit 86cd6d89193b2137f6ad622e1b6939ae2677fc1b Author: Peng Wu Date: 2019-05-09 15:02:14 +0800 fixes desktop files M data/Makefile.am commit d28daf1b85a0e52b2bfb7c82e901dce60df34cde Author: Peng Wu Date: 2019-05-09 14:27:55 +0800 add both-switch option M data/com.github.libpinyin.ibus-libpinyin.gschema.xml M setup/shortcuteditor.py M src/PYConfig.cc M src/PYConfig.h M src/PYPBopomofoEngine.cc M src/PYPConfig.cc M src/PYPPinyinEngine.cc commit 27103d833d0aa6e572bd769695447ff4162269a5 Author: Peng Wu Date: 2019-05-07 14:49:49 +0800 update ChangeLog M ChangeLog commit 2328a50d678a6fd737057b57f593f67ea10744df Author: Peng Wu Date: 2019-04-29 16:39:27 +0800 fixes SuggestionEditor M src/PYPSuggestionEditor.cc commit dcd9f98ae004cfb1270d472adc9cafcca0e625da Author: Peng Wu Date: 2019-03-07 17:41:11 +0800 Use gettext M Makefile.am M configure.ac M data/Makefile.am R100 data/ibus-setup-libbopomofo.desktop.in.in data/ibus-setup-libbopomofo.desktop.in R100 data/ibus-setup-libpinyin.desktop.in.in data/ibus-setup-libpinyin.desktop.in M m4/Makefile.am M po/Makevars M po/POTFILES.in M po/POTFILES.skip commit 730847008beb5af220c0a9b1b5c713ba23560984 Author: Peng Wu Date: 2019-02-19 16:44:16 +0800 add emoji-candidate option M data/com.github.libpinyin.ibus-libpinyin.gschema.xml M src/PYConfig.cc M src/PYConfig.h M src/PYPConfig.cc M src/PYPPhoneticEditor.cc commit 8ff8a7027673b036a4e4eb2d927abc20ec21cc26 Author: Peng Wu Date: 2019-02-19 16:32:56 +0800 bump version 1.11.1 M configure.ac commit 9b15d6b86ad84cee5c86c9e27fd24107c6eab89f Author: Peng Wu Date: 2019-01-15 11:57:09 +0800 update ChangeLog M ChangeLog commit f7723fe9a30ea73f6308437e3fa83a140fdf0c02 Author: Peng Wu Date: 2019-01-15 11:50:31 +0800 bump version 1.11.0 M configure.ac commit 7c565e402369eaa82790b9f2550ec11ffd87e7ab Author: Peng Wu Date: 2019-01-13 19:16:06 +0800 fixes typo M src/PYFallbackEditor.cc commit 9a1474c0e4972fa4d7c53e19ac939f6d3faacc69 Author: Peng Wu Date: 2019-01-11 15:41:11 +0800 fixes keypad decimal M src/PYFallbackEditor.cc commit a0a9fd6b1deb4384ac7ca8ce0bc35c98d1193339 Author: Peng Wu Date: 2019-01-11 09:59:06 +0800 fixes updateCandidates method M src/PYPPhoneticEditor.cc commit 052273cbf8f046eb7442bc036823934a68754eb9 Author: Peng Wu Date: 2019-01-09 14:31:56 +0800 bump version 1.10.93 M configure.ac commit 742fdb83a12f5238c0cab3d6ff6b6227c260e2f9 Author: Peng Wu Date: 2019-01-04 12:45:16 +0800 update GSettings xml M data/com.github.libpinyin.ibus-libpinyin.gschema.xml commit d5e38a036b85a011db6a251c814a2f2ee768e6cd Author: Peng Wu Date: 2019-01-04 12:42:09 +0800 minor fixes M src/PYPConfig.cc commit 42b2a4c1fbef71dadc97d0a820d96db977393495 Author: Marcin Mielniczuk Date: 2018-12-27 16:56:18 +0100 Support configurable opencc config M data/com.github.libpinyin.ibus-libpinyin.gschema.xml M src/PYConfig.cc M src/PYConfig.h M src/PYPConfig.cc M src/PYPPhoneticEditor.cc M src/PYPSuggestionEditor.cc M src/PYPTradCandidates.cc M src/PYPTradCandidates.h M src/PYSimpTradConverter.cc M src/PYSimpTradConverter.h commit dd4699124dbaacf5119092d82c090917b78a5f1a Author: Peng Wu Date: 2018-11-15 10:58:18 +0800 update english-user.db path M src/PYEnglishEditor.cc commit b780a46a6914de95a77c4296ddcb45e01e2bfd64 Author: ZhaoQiang Date: 2018-11-14 12:19:49 +0800 Update PYPEmojiCandidates.cc: change strcmp to use c++ library. M src/PYPEmojiCandidates.cc commit be40c06eb53f4832cc741c09b58e2afa5d8f2ce4 Author: DevilApp <35273268+DevilApp@users.noreply.github.com> Date: 2018-11-11 18:45:21 +0100 Fixed french translation I have updated the outdated french translation and fixed some language errors. Now there's some strings left. M po/fr.po commit 0401ff95be8f8b906d7a79feded7482c4172b28f Author: Peng Wu Date: 2018-10-31 13:18:22 +0800 fixes lua build M src/PYEngine.cc M src/PYPPhoneticEditor.cc M src/PYPPhoneticEditor.h M src/PYPPinyinEngine.cc M src/PYPPinyinEngine.h M src/PYPSuggestionEditor.cc M src/PYPSuggestionEditor.h commit 17ec73fad0f05cb23c2213ddc0ec2b798bbe6ab3 Author: Peng Wu Date: 2018-10-26 10:39:11 +0800 fixes updatePreeditText method M src/PYPBopomofoEditor.cc M src/PYPPinyinEditor.cc commit 09ea48d54d1dca187ec6ab558ec8a2ce60b3ac1a Author: Peng Wu Date: 2018-10-24 15:38:43 +0800 update ChangeLog M ChangeLog commit f64d4eaec11484ab973181d407795da43be901bb Author: Peng Wu Date: 2018-10-24 15:33:12 +0800 bump version 1.10.92 M configure.ac commit fabf5bf312567fd451c6481ad39e9efcf80f0fe4 Author: Peng Wu Date: 2018-10-23 10:49:49 +0800 update PYSimpTradConverterTable.h M src/PYSimpTradConverterTable.h commit 850975607a761f566b78d31efe4bef622088a977 Author: Peng Wu Date: 2018-10-23 10:48:32 +0800 update Makefile.am M src/Makefile.am commit b4f0705661a3458423bab03234cc2a06285735b8 Author: Peng Wu Date: 2018-10-22 17:18:31 +0800 update php_2_py.php M scripts/php_2_py.php commit 6716c315210920b2f1e7b3ef816052d051ab19dd Author: Peng Wu Date: 2018-10-22 17:05:31 +0800 update update-simptrad-table.py for python3 M scripts/update-simptrad-table.py commit f3863de494c7de92f2e18728f0d52fb20828138c Author: Peng Wu Date: 2018-10-17 16:01:29 +0800 fixes Enter handling M src/PYPPhoneticEditor.cc commit f93aa7cd0bd1b0db87b6daa234df5a59dde5c766 Author: Peng Wu Date: 2018-10-11 14:43:31 +0800 update ChangeLog M ChangeLog commit de60aced6e50e94fbaf1cc77eb9638c6609580b3 Author: Peng Wu Date: 2018-10-11 11:05:20 +0800 update configure.ac M configure.ac commit d43f8cabdbe3a0a47b8bbea05c95f26bfaac0517 Author: Peng Wu Date: 2018-09-27 16:49:30 +0800 enable emoji candidates M src/PYPPhoneticEditor.cc M src/PYPPhoneticEditor.h commit 1ef1a6c3683980ce73e25bb3a61fbef97a603240 Author: Peng Wu Date: 2018-09-27 16:23:42 +0800 fixes compile M src/PYEditor.h M src/PYPEmojiCandidates.cc commit 2b2233e88bf8c54f30aed33dbb5aacc8331ecd53 Author: Peng Wu Date: 2018-09-27 16:23:35 +0800 update Makefile.am M src/Makefile.am commit deb237fc43e05732ff865653d3949f5a6e5f9abf Author: Peng Wu Date: 2018-09-27 16:15:03 +0800 write PYPEmojiCandidates.cc M src/PYPEmojiCandidates.cc M src/PYPEmojiCandidates.h commit 2744a5808b1c2d7a5b0daa1e203447f9e81e9556 Author: Peng Wu Date: 2018-09-27 14:04:41 +0800 import PYPEmojiTable.h A src/PYPEmojiTable.h commit bc1e3e194c6a4eb67030261461cfa922df7b1a51 Author: Peng Wu Date: 2018-09-27 14:02:30 +0800 begin to write PYPEmojiCandidates.cc A src/PYPEmojiCandidates.cc commit b8213e99026adc69dd889774e214e1c9b965371b Author: Peng Wu Date: 2018-09-25 15:32:17 +0800 import PYPEmojiCandidates.h A src/PYPEmojiCandidates.h commit 44724fda947dd7a0c4a3d7f569521205cd04fcfd Author: Peng Wu Date: 2018-09-21 18:47:19 +0800 add comments M scripts/extract_emoji.py commit 09838ef2cc7dee4fa32935564825325199478477 Author: Peng Wu Date: 2018-09-21 17:47:28 +0800 import PYPEmojiTable.h.in A scripts/PYPEmojiTable.h.in commit 4b6017c2149b1f1ca1f7ec3260310da9dbf40260 Author: Peng Wu Date: 2018-09-21 17:46:59 +0800 import extract_emoji.py A scripts/extract_emoji.py commit 78c7636176951a8528dc9e2793d32a42680e434a Author: Peng Wu Date: 2018-09-14 14:48:18 +0800 commit m_text when switch input mode M src/PYPBopomofoEngine.cc M src/PYPPinyinEngine.cc commit f4d792986e5d52e6104d0e9ab159a8197608667d Author: Peng Wu Date: 2018-09-14 14:34:26 +0800 fixes English Editor M src/PYEnglishEditor.cc commit bd60f5bb77aa093119cd691dfe880d7040039f70 Author: Peng Wu Date: 2018-09-10 14:50:49 +0800 fixes Bopomofo Editor M src/PYPBopomofoEditor.cc commit 4e763225c1cb1fc9876c785bd5217a8bb6f5619f Author: Peng Wu Date: 2018-09-10 14:04:14 +0800 fixes rememberUserInput method M src/PYPBopomofoEditor.cc M src/PYPLibPinyinCandidates.cc M src/PYPPinyinEditor.cc commit 76942e76aa48f174abf17fc8c9673ce986ed00dc Author: 7535 <40716445+7535@users.noreply.github.com> Date: 2018-08-14 21:23:05 +0800 fix typo "restart" in Chinese is "重启", not "重起". M po/zh_CN.po commit f9d594707455656554c4f98fe033e745f614614b Author: Graham Ramsey Date: 2018-06-26 21:23:04 +0100 fix broken boost with latest GCC versions - get up to date boost.m4 the version of boost.m4 used in the project is out of date - it does not work with latest GCC this means the ./configure step falls over when 'boost' is selected. this file is unmodified from latest upstream source https://github.com/tsuna/boost.m4/commits/master/build-aux/boost.m4 M m4/boost.m4 commit 96307d95a49078c7bb645ae60c216cafb431f8a9 Author: Peng Wu Date: 2018-06-27 11:44:25 +0800 fixes processKeyEvent method M src/PYPBopomofoEngine.cc M src/PYPPinyinEngine.cc commit 76318b525e8dd4635ac628d184dc6186c9bee966 Author: Peng Wu Date: 2018-06-25 17:18:07 +0800 fixes processAccelKeyEvent method M src/PYPBopomofoEngine.cc M src/PYPPinyinEngine.cc commit 8355dc8878f25c5ea7d39c2c1ca382f26e6a747e Author: Peng Wu Date: 2018-06-25 15:37:56 +0800 fixes SuggestionEditor M src/PYPSuggestionEditor.cc commit 7497983f85bc9f4c80837bc36346477dbd9e3c2f Author: Peng Wu Date: 2018-06-25 13:58:12 +0800 update m_show_suggestion M src/PYConfig.cc M src/PYPConfig.cc commit 20dab8b5e2f389fb0f581b3a9574c800de49fa96 Author: Peng Wu Date: 2018-06-25 13:56:07 +0800 update gschema xml M data/com.github.libpinyin.ibus-libpinyin.gschema.xml commit 84b4fd5a6345e5ef042549affaa10973156c10d1 Author: Peng Wu Date: 2018-06-25 11:27:07 +0800 write m_need_update variable M src/PYPBopomofoEngine.cc M src/PYPBopomofoEngine.h M src/PYPPinyinEngine.cc M src/PYPPinyinEngine.h commit e6438371f64fcf3791f37e30f9a66f6282276961 Author: Peng Wu Date: 2018-06-25 11:23:42 +0800 write updateLookupTableFast method of class SuggestionEditor M src/PYPSuggestionEditor.cc M src/PYPSuggestionEditor.h commit 0cb05c62b4e518abb2fc8a833f06c460bad9932e Author: Peng Wu Date: 2018-06-22 18:51:26 +0800 fixes SuggestionEditor M src/PYPBopomofoEngine.cc M src/PYPPhoneticEditor.cc M src/PYPPinyinEngine.cc commit a10813d0a4ccb8306923f6f7e6edac5b92f9ba31 Author: Peng Wu Date: 2018-06-22 18:06:25 +0800 fixes typos M src/PYPPinyinEngine.cc M src/PYPSuggestionEditor.cc commit 7128295dfc35233b52f511f00ab6920e8905ec76 Author: Peng Wu Date: 2018-06-22 13:28:18 +0800 drop SELECT_CANDIDATE_MODIFY_IN_PLACE_AND_COMMIT M src/PYPEnhancedCandidates.h M src/PYPLibPinyinCandidates.cc M src/PYPLuaConverterCandidates.cc M src/PYPTradCandidates.cc commit f17ae41890b16121f9498c5bb2336137feab781d Author: Peng Wu Date: 2018-06-22 13:24:47 +0800 update selectCandidate method M src/PYEditor.cc M src/PYEditor.h M src/PYPBopomofoEngine.cc M src/PYPEnhancedCandidates.h M src/PYPLibPinyinCandidates.cc M src/PYPLibPinyinCandidates.h M src/PYPLuaConverterCandidates.cc M src/PYPLuaConverterCandidates.h M src/PYPLuaTriggerCandidates.cc M src/PYPLuaTriggerCandidates.h M src/PYPPhoneticEditor.cc M src/PYPPhoneticEditor.h M src/PYPPinyinEngine.cc M src/PYPSuggestionCandidates.cc M src/PYPSuggestionCandidates.h M src/PYPSuggestionEditor.cc M src/PYPSuggestionEditor.h M src/PYPTradCandidates.cc M src/PYPTradCandidates.h commit ba9f507566d0b7acd48a9e0b3a1c4ffda383b922 Author: Peng Wu Date: 2018-06-22 10:17:04 +0800 re-factor code M src/PYPBopomofoEngine.cc M src/PYPPhoneticEditor.cc M src/PYPPinyinEngine.cc M src/PYPSuggestionEditor.cc commit 1337055235e122bde9cb56b2fecf022329b6d587 Author: Peng Wu Date: 2018-06-21 18:38:25 +0800 update base.lua M lua/base.lua commit 02f6a064f70c3e51beec0faac437ae991b67d82d Author: Peng Wu Date: 2018-06-20 18:02:23 +0800 fixes typo M src/PYPPinyinEngine.cc commit be45838329507fd662914af816ff514f115dc5de Author: Peng Wu Date: 2018-06-20 17:00:39 +0800 fixes warning M src/PYPPhoneticEditor.cc M src/PYPPhoneticEditor.h M src/PYPSuggestionEditor.h commit e4a2fe0b514d63b2721f4f65608f362a15237456 Author: Peng Wu Date: 2018-06-20 16:37:14 +0800 update setup dialog M setup/main2.py commit d459b349a0f61781dae9f13ab16da285063f751e Author: Peng Wu Date: 2018-06-20 16:33:20 +0800 update ibus-libpinyin-preferences.ui M setup/ibus-libpinyin-preferences.ui commit 622b55b3fa8736d4e4c357945c57075967cba894 Author: Peng Wu Date: 2018-06-20 15:18:04 +0800 write setLuaPlugin method M lua/lua-plugin.h M src/PYEngine.cc M src/PYExtEditor.cc M src/PYExtEditor.h M src/PYPLuaConverterCandidates.cc M src/PYPLuaConverterCandidates.h M src/PYPLuaTriggerCandidates.cc M src/PYPLuaTriggerCandidates.h M src/PYPPhoneticEditor.cc M src/PYPPhoneticEditor.h M src/PYPPinyinEngine.cc M src/PYPPinyinEngine.h M src/PYPSuggestionEditor.cc M src/PYPSuggestionEditor.h commit 6ead074c8939c9530c5f841e7b2a0987267766e5 Author: Peng Wu Date: 2018-06-19 16:25:46 +0800 fixes compile M src/PYEditor.h M src/PYPEnhancedCandidates.h M src/PYPLibPinyinCandidates.h M src/PYPLuaConverterCandidates.cc M src/PYPLuaConverterCandidates.h M src/PYPLuaTriggerCandidates.cc M src/PYPLuaTriggerCandidates.h M src/PYPPhoneticEditor.h M src/PYPSuggestionCandidates.cc M src/PYPSuggestionCandidates.h M src/PYPTradCandidates.h commit d0d1622c759e73e0a8bb4763ca8f8fb6a98224a2 Author: Peng Wu Date: 2018-06-19 16:13:47 +0800 write class SuggestionEditor M src/PYPSuggestionEditor.cc M src/PYPSuggestionEditor.h commit be71008ef85648271c24a93f43f27423c17b5c21 Author: Peng Wu Date: 2018-06-19 15:29:40 +0800 write PYPSuggestionCandidates.cc A src/PYPSuggestionCandidates.cc commit fdf152d8b27763dfeb12dc654c5068acc8a69cae Author: Peng Wu Date: 2018-06-19 15:20:52 +0800 update Makefile.am M src/Makefile.am commit f1baf78b9ea8d971759537daa56f09338624220e Author: Peng Wu Date: 2018-06-19 15:08:09 +0800 write PYPSuggestionCandidates.h M src/PYPEnhancedCandidates.h A src/PYPSuggestionCandidates.h commit b242c46a26297c2523a864f5d734fbc39bf99bff Author: Peng Wu Date: 2018-06-19 14:24:05 +0800 write class SuggestionEditor M src/PYPLuaConverterCandidates.cc M src/PYPLuaTriggerCandidates.cc M src/PYPPhoneticEditor.h M src/PYPSuggestionEditor.cc M src/PYPSuggestionEditor.h commit 915d484a05b3482a9638ba54075ab71888444448 Author: Peng Wu Date: 2018-06-19 12:07:57 +0800 update commitText method M src/PYPBopomofoEngine.cc M src/PYPPinyinEngine.cc commit 001aeae58e4d165b5885f29b257589aece8af1f5 Author: Peng Wu Date: 2018-06-15 18:17:18 +0800 update gschema xml M data/com.github.libpinyin.ibus-libpinyin.gschema.xml commit 1b5b31a1b51c6fd29c68c385fee7af69b6fcb310 Author: Peng Wu Date: 2018-06-15 17:19:20 +0800 fixes lua converter M src/PYPPhoneticEditor.cc commit 313647e5c8bf9301cafe53743c411a7cf167b539 Author: Peng Wu Date: 2018-06-15 16:04:25 +0800 begin to write class SuggestionEditor A src/PYPSuggestionEditor.cc M src/PYPSuggestionEditor.h commit ea4784475c1491c9eb6fd0eec454588f2333ce75 Author: Peng Wu Date: 2018-06-15 16:02:18 +0800 support suggestion mode in BopomofoEngine M src/PYPBopomofoEngine.cc commit 6eed8c257e9c5870fcd32aa8eedf01ce7bec6613 Author: Peng Wu Date: 2018-06-15 16:02:00 +0800 support suggestion mode in PinyinEngine M src/PYPPinyinEngine.cc commit 43f0846c494b5bf1b759905ee1d2dc2c2de02059 Author: Peng Wu Date: 2018-06-15 11:55:43 +0800 update Makefile.am M src/Makefile.am commit 1cc1fe8b7b7d70e611f3e74d56cca8f1c837ed4e Author: Peng Wu Date: 2018-06-15 11:52:36 +0800 use IBUS_BUILD_LUA_EXTENSION M src/PYPBopomofoEngine.cc M src/PYPBopomofoEngine.h M src/PYPPhoneticEditor.cc M src/PYPPhoneticEditor.h M src/PYPPinyinEngine.cc commit 766a1322395e32286930a62b9f66033a0d8d637c Author: Peng Wu Date: 2018-06-15 11:36:12 +0800 fixes lua memory leak M lua/lua-plugin.c M lua/lua-plugin.h M src/PYPLuaConverterCandidates.cc M src/PYPLuaTriggerCandidates.cc commit 89e6d4c522217278ac24d5f4cfc38162a267c9a3 Author: Peng Wu Date: 2018-06-14 16:16:08 +0800 write PYPSuggestionEditor.h A src/PYPSuggestionEditor.h commit 7216bcd03777defa253f2c70eeda364f345970dc Author: Peng Wu Date: 2018-06-14 15:53:43 +0800 add option show suggestion M src/PYConfig.cc M src/PYConfig.h M src/PYPConfig.cc commit 94e9584b8b81cdcb4bce15ab58e83001bd085192 Author: Peng Wu Date: 2018-06-14 15:21:29 +0800 add option lua converter M src/PYConfig.cc M src/PYConfig.h M src/PYPConfig.cc M src/PYPPhoneticEditor.cc commit b706eb6d35a6ba4fd33e2aeea5325e2db82cb9fe Author: Peng Wu Date: 2018-06-14 15:09:40 +0800 bump version 1.10.91 M configure.ac commit e25fc8e6e7dcc3f05cb1c530077fd911d26d7cf2 Author: Peng Wu Date: 2018-06-14 15:08:03 +0800 use lua converter M lua/lua-plugin.c M src/PYPPhoneticEditor.cc commit 44abb976b536a604916f0cc1738c49c4babf129d Author: Peng Wu Date: 2018-06-14 15:07:02 +0800 update gschema xml M data/com.github.libpinyin.ibus-libpinyin.gschema.xml commit 6715c04f36bf7194bbfe38cc29314b0efd2eeb46 Author: Peng Wu Date: 2018-06-13 16:18:13 +0800 update class PhoneticEditor M src/PYPLuaTriggerCandidates.cc M src/PYPPhoneticEditor.cc M src/PYPPhoneticEditor.h commit e7da2e05d080a7496e0d27281dde66eeb569930f Author: Peng Wu Date: 2018-06-13 16:11:03 +0800 write class LuaConverterCandidates A src/PYPLuaConverterCandidates.cc M src/PYPLuaConverterCandidates.h commit e5f39e8907cbb59b84f570dda9adba9706fa98b7 Author: Peng Wu Date: 2018-06-13 15:56:39 +0800 update Makefile.am M src/Makefile.am commit 78dbd77ee0bf15dcab4f72b1cd4733d54ad55867 Author: Peng Wu Date: 2018-06-13 15:42:24 +0800 write class LuaTriggerCandidates M src/PYPEnhancedCandidates.h A src/PYPLuaTriggerCandidates.cc M src/PYPLuaTriggerCandidates.h M src/PYPPhoneticEditor.h commit 4b9d8723f13108be4e2da91d72db9f32b9177e4f Author: Peng Wu Date: 2018-06-13 15:41:05 +0800 update Makefile.am M src/Makefile.am commit 654173627c7d973dacd3ab874b05e3d4d722f507 Author: Peng Wu Date: 2018-06-13 15:00:01 +0800 update PYExtEditor.* M src/PYExtEditor.cc M src/PYExtEditor.h commit f8f84eb3d12c1913fa342871cf1a6568ac3a75c0 Author: Peng Wu Date: 2018-06-12 16:47:44 +0800 rename ibus_engine_plugin_get_result_string to ibus_engine_plugin_get_first_result M lua/lua-ext-console.c M lua/lua-plugin.c M lua/lua-plugin.h commit e7a6091b44fe4a932a2f4637313ff36ae03e119b Author: Peng Wu Date: 2018-06-12 16:19:14 +0800 update lua-ext-console.c M lua/lua-ext-console.c commit bb51fd16c244a5e93add5ad9df2fb21460fb4032 Author: Peng Wu Date: 2018-06-12 15:57:46 +0800 define lua candidates header A src/PYPLuaConverterCandidates.h A src/PYPLuaTriggerCandidates.h commit 4821c9acb8fb76c27d7fdbd3e3bacb1af4015122 Author: Peng Wu Date: 2018-06-12 14:52:26 +0800 fixes crash M lua/lua-plugin-init.c commit 21efde045adb52ef5341b567ec0d76e06d822105 Author: Peng Wu Date: 2018-06-11 13:46:38 +0800 update comments M src/PYPEnhancedCandidates.h M src/PYPPinyinEngine.cc M src/PYPPinyinEngine.h commit 7b485605d696bb96a6024d22a259336dcd16fb72 Author: Peng Wu Date: 2018-06-08 16:16:05 +0800 update lua-plugin-init.c M lua/lua-plugin-init.c M lua/lua-plugin.c commit 41b283aeed897d5ea23ce2a60b9470472b2d492c Author: Peng Wu Date: 2018-06-08 15:44:21 +0800 update lua-plugin.c M lua/lua-plugin.c M lua/lua-plugin.h commit 184a264f3eb4436ff2377b7db498cd321a339393 Author: Peng Wu Date: 2018-06-07 17:52:12 +0800 fixes crash M src/PYPPhoneticEditor.cc M src/PYPTradCandidates.cc commit 24cd9ed4274d9a7a7a25862537d08b8e83be30bf Author: Peng Wu Date: 2018-06-07 15:07:31 +0800 update lua-plugin.h M lua/lua-plugin.c M lua/lua-plugin.h commit c2e1912687bf89c6b0d8bb9529998f775e95ea51 Author: Peng Wu Date: 2018-06-06 17:17:42 +0800 re-factor updatePreeditText method M src/PYLibPinyin.cc M src/PYPBopomofoEditor.cc M src/PYPPinyinEditor.cc commit e9cb1572f84785cada0e5434d1b992ba1298b1a4 Author: Peng Wu Date: 2018-06-06 16:57:42 +0800 re-factor commit method M src/PYLibPinyin.cc M src/PYLibPinyin.h M src/PYPBopomofoEditor.cc M src/PYPBopomofoEditor.h M src/PYPPhoneticEditor.cc M src/PYPPhoneticEditor.h M src/PYPPinyinEditor.cc M src/PYPPinyinEditor.h commit de688e73654da6a7ace797f35e34275daa4980d3 Author: Peng Wu Date: 2018-06-06 16:11:45 +0800 re-factor selectCandidate method M src/PYPBopomofoEditor.cc M src/PYPPhoneticEditor.cc commit 927d3e23a6b8ee30b26b9fe8203c5fc4e56baf52 Author: Peng Wu Date: 2018-06-06 15:11:10 +0800 re-factor fillLookupTable method M src/PYPPhoneticEditor.cc M src/PYPTradCandidates.cc commit fa7d7df55f7e2894742851068b39735992cca51d Author: Peng Wu Date: 2018-06-06 15:08:50 +0800 update PYString.h M src/PYString.h commit e0d134cb400b563f65bd9de36b5391a34b9e308c Author: Peng Wu Date: 2018-06-04 17:20:12 +0800 re-factor LibPinyinCandidates M src/PYPEnhancedCandidates.h M src/PYPLibPinyinCandidates.cc M src/PYPPhoneticEditor.cc M src/PYPPhoneticEditor.h commit 2720cbc52c5e31d4b4a0ad193c6ae369fcd0c5b2 Author: Peng Wu Date: 2018-06-01 12:47:39 +0800 fixes compile M src/PYPEnhancedCandidates.h M src/PYPLibPinyinCandidates.cc M src/PYPLibPinyinCandidates.h M src/PYPPhoneticEditor.h M src/PYPTradCandidates.cc M src/PYPTradCandidates.h commit c8a4d19615cd59345ca40f52b1ceefe8914ae700 Author: Peng Wu Date: 2018-06-01 12:23:07 +0800 update Makefile.am M src/Makefile.am commit f04c1c1fc48323e887180ac83efd7b9d378a732e Author: Peng Wu Date: 2018-05-29 16:38:29 +0800 write class TraditionalCandidates M src/PYPEnhancedCandidates.h M src/PYPPhoneticEditor.h A src/PYPTradCandidates.cc A src/PYPTradCandidates.h commit 48e0fe774d08fc0f0efeaa5184923958d134a86e Author: Peng Wu Date: 2018-05-28 16:26:28 +0800 write class LibPinyinCandidates A src/PYPLibPinyinCandidates.cc M src/PYPLibPinyinCandidates.h commit 21afd8f83a2223b213c64bff15e9d7e65614e5bd Author: Peng Wu Date: 2018-05-25 16:27:01 +0800 begin to write class LibPinyinCandidates M src/PYPEnhancedCandidates.h A src/PYPLibPinyinCandidates.h M src/PYPPhoneticEditor.h commit d45f68868b4a4be003364761e456cbc372a758f3 Author: Peng Wu Date: 2018-05-24 16:16:04 +0800 begin to write class EnhancedCandidates A src/PYPEnhancedCandidates.h M src/PYPPhoneticEditor.h commit 0361867fc9f16f544d5b6e5ffc3cd13a486aa8fb Author: Peng Wu Date: 2018-04-17 13:13:13 +0800 update ChangeLog M ChangeLog commit 3def832ad5301cf35b669a0a1212673cb69eb812 Author: Peng Wu Date: 2018-04-17 13:09:52 +0800 bump version 1.10.0 M configure.ac commit 5501f15ee691269fdd8fff9b638dc67f59e33fd1 Author: Peng Wu Date: 2018-04-10 14:21:07 +0800 bump version 1.9.92 M configure.ac commit 07bb19a4c19fefbacd5054d30def6a6928591ac0 Author: Peng Wu Date: 2018-04-10 14:19:54 +0800 update gsettings xml M data/com.github.libpinyin.ibus-libpinyin.gschema.xml commit eabf11f2ac92d90f19ad53d567460ff25cb1ff99 Author: Peng Wu Date: 2018-04-10 14:12:34 +0800 change default value for candidate sort option M src/PYConfig.cc M src/PYPConfig.cc commit 20b3cebd3393d827a20c617e78be04f23181fec2 Author: Peng Wu Date: 2018-03-16 16:09:14 +0800 fixes Shift key M src/PYPBopomofoEngine.cc M src/PYPPinyinEngine.cc commit 535dc74babeadf5e7826acd92c7aaa5c78f4647e Author: Peng Wu Date: 2018-03-15 17:55:30 +0800 fixes m_select_mode for Bopomofo Editor M src/PYPBopomofoEditor.cc commit 9619fac3d1fcc6f85e6bd0a6022989a0a4fe57ad Author: Peng Wu Date: 2018-03-15 16:14:34 +0800 fixes String usage M src/PYEnglishEditor.cc M src/PYExtEditor.cc M src/PYStrokeEditor.cc commit 8b52e709e857297b28fc76e9034f799538a42f5b Author: Peng Wu Date: 2018-03-15 16:12:16 +0800 fixes candidates label M src/PYPBopomofoEditor.cc M src/PYPBopomofoEditor.h commit c3fd3646a3b4c6509840accb050f338f71035f6a Author: Peng Wu Date: 2018-03-15 16:09:24 +0800 update class String M src/PYEditor.cc M src/PYString.h commit 279a9da2cad9e0f5ee7c20f8a132b074eae67f34 Author: Peng Wu Date: 2018-03-15 15:29:30 +0800 fixes enter key M src/PYPBopomofoEditor.cc commit 942ba12b23960db691f092a76dd559f79931d675 Author: Peng Wu Date: 2018-03-14 14:12:26 +0800 clean up class Config M src/PYConfig.cc M src/PYConfig.h M src/PYPConfig.cc commit aaf56dbfdf4c71af439d9987f53816d33e7a64da Author: Peng Wu Date: 2018-03-14 14:03:34 +0800 fixes crash M src/PYPConfig.cc commit c1a836c812e4627db5ba4de50cc8bddbeba1d100 Author: Peng Wu Date: 2018-03-13 14:49:19 +0800 use GSettings in class Config M src/PYConfig.cc M src/PYConfig.h M src/PYMain.cc M src/PYPConfig.cc M src/PYPConfig.h commit 490ad011a162e4867a6ba044f07e7cace7207ae1 Author: Peng Wu Date: 2018-03-13 13:41:32 +0800 use GSettings in setup dialog M setup/main2.py M setup/shortcuteditor.py commit 84c420e0ec0f2f4a16f0a4e99be3a68114b9ebc5 Author: Peng Wu Date: 2018-03-12 14:46:42 +0800 update ChangeLog M ChangeLog commit 0455c2e3425ff5c54a11380ff51a0a55f15c3afb Author: Peng Wu Date: 2018-03-12 14:45:56 +0800 update autotools M configure.ac M data/Makefile.am commit 4696471d4386079ee0ca4aefbc4ab773549b6a1c Author: Peng Wu Date: 2018-03-12 14:37:04 +0800 import com.github.libpinyin.ibus-libpinyin.gschema.xml A data/com.github.libpinyin.ibus-libpinyin.gschema.xml commit d125871eb9b855e2f8d9e2a845d9c0a284b26618 Author: Peng Wu Date: 2018-02-24 10:35:26 +0800 fixes comments M src/PYPPinyinEngine.cc commit f80b1fbf06ffe89a15ad74d7c0c4e8b4aa4ec1c2 Author: Peng Wu Date: 2018-02-23 15:54:25 +0800 enable English and Stroke Editor for Double Pinyin M src/PYEnglishEditor.cc M src/PYExtEditor.cc M src/PYExtEditor.h M src/PYPPinyinEngine.cc M src/PYStrokeEditor.cc commit 28fa26af3d5680253e7a47953801add0e44118bf Author: Peng Wu Date: 2018-02-23 15:21:49 +0800 fixes LyX shortcut issue in class FallbackEditor M src/PYFallbackEditor.cc commit eb90e12e30741acff3dc5e66ce0763a1c363d4c3 Author: Peng Wu Date: 2018-02-08 16:32:28 +0800 update ChangeLog M ChangeLog commit d620270e169326292e9adb40a06bc02f2cb21a84 Author: Peng Wu Date: 2018-02-08 16:31:08 +0800 bump version 1.9.91 M configure.ac commit dbb5a52ab59b82062dfb34ac725fcea66bf3e6e9 Author: Peng Wu Date: 2018-01-16 15:54:45 +0800 update src/Makefile.am M src/Makefile.am commit 3736e74f698e7cb16879a405963cd0a53cdd1dd0 Author: Peng Wu Date: 2018-01-16 15:50:12 +0800 remove phrases.txt D src/phrases.txt commit 288777275f7c092f8a9731c16e6187ec996b0586 Author: Peng Wu Date: 2018-01-04 16:57:17 +0800 update ChangeLog M ChangeLog commit 53b7d0d67b0c6350e2707b67458ca4c82ac4413f Author: Peng Wu Date: 2018-01-04 16:56:37 +0800 bump version 1.9.3 M configure.ac commit b282d7d5008ac2528c9a024a37e1f122094326e7 Author: Peng Wu Date: 2018-01-04 16:52:43 +0800 update po files M po/ca.po M po/fr.po M po/ru.po M po/zh_CN.po M po/zh_HK.po M po/zh_TW.po commit 80bef99ca10b75a0f1d129804feef6afeeb86664 Author: Peng Wu Date: 2018-01-04 16:50:20 +0800 update POTFILES.in M po/POTFILES.in commit 35e291c31da2f3b85d5f39bb96933b9a66a646a4 Author: Peng Wu Date: 2018-01-04 16:47:42 +0800 update config.py.in M setup/config.py.in commit 7dcbc13e007fab6de8f501f0415815889cb28066 Author: Peng Wu Date: 2018-01-03 16:42:01 +0800 update libpinyin.xml.in.in M src/libpinyin.xml.in.in commit 53b5d4de6c8732da113f56efdd1e0e9b797d8591 Author: Peng Wu Date: 2017-09-01 13:28:40 +0800 fixes compile for Lua 5.1 M lua/lua-ext-console.c M lua/lua-plugin-init.c M lua/lua-plugin.c M lua/test-lua-plugin.c commit 5e2c5aa0d01cd103159dba976cbf05d47e28e7bf Author: Peng Wu Date: 2017-08-29 16:46:13 +0800 bump version 1.9.2 M configure.ac commit 26955ddf1336e23dbc6641462c02f3f16a6b648e Author: Peng Wu Date: 2017-08-29 10:34:12 +0800 update ChangeLog M ChangeLog commit 8882bce91bdc944bc7b6e028c239fc049c69c0cd Author: Peng Wu Date: 2017-08-28 16:14:24 +0800 fixes LibPinyinConfig::valueChangedCallback method M src/PYPConfig.cc commit ccc79dad636f04c7b4b5678da2d792e57d876c7c Author: Peng Wu Date: 2017-08-24 17:11:26 +0800 update ChangeLog M ChangeLog commit d5c8136ffc338cec61754c574069f433870e1cd1 Author: Peng Wu Date: 2017-08-24 14:04:38 +0800 update zh_CN.po M po/zh_CN.po commit 1e5e0e280bd8f9bb8b7507c3fe2dc7819e659b3e Author: Peng Wu Date: 2017-08-24 14:02:03 +0800 update po M po/ca.po M po/fr.po M po/ru.po M po/zh_CN.po M po/zh_HK.po M po/zh_TW.po commit 992a2f929a6ef609424db178e4b4d1c1b52dd2b4 Author: Anyist Date: 2017-08-19 22:42:37 +0800 Fix two symbols in TC mode M src/PYFallbackEditor.cc commit c34c490ebc1230149d435bfcc6dd3225884006c5 Author: Peng Wu Date: 2017-08-22 16:32:25 +0800 support sort_candidate_option for setup dialog M setup/main2.py M src/PYPConfig.cc commit 240ccefef75dd320d04fd085e4f02566c102ff26 Author: Peng Wu Date: 2017-08-22 15:58:27 +0800 update ibus-libpinyin-preferences.ui M setup/ibus-libpinyin-preferences.ui commit bd16f6dc33c52a5c11170feb034f6a1e76c863d1 Author: Peng Wu Date: 2017-08-22 15:40:47 +0800 bump version 1.9.1 M configure.ac commit 6effa275c837ea1347c1df93855bf7f296579fdb Author: Peng Wu Date: 2017-08-18 14:21:07 +0800 use sort option for pinyin_guess_candidates function M src/PYConfig.cc M src/PYConfig.h M src/PYPConfig.cc M src/PYPFullPinyinEditor.cc M src/PYPFullPinyinEditor.h M src/PYPPhoneticEditor.cc commit 724747e301a1f99939a5f0c9db18ac851242e44a Author: Peng Wu Date: 2017-04-20 15:52:53 +0800 bump version 1.9.0 M ChangeLog M configure.ac commit f48da29797b7ed75ab7708e6fe39dbe11132d09b Author: Peng Wu Date: 2017-03-07 14:39:04 +0800 bump version 1.8.92 M configure.ac commit e8f2a020e3ec33a6608d72463c3e70ccc7652461 Author: Peng Wu Date: 2017-03-07 14:37:32 +0800 update ChangeLog M ChangeLog commit 6e87817cf1987df4cff71aa33b27811beb93c630 Author: Peng Wu Date: 2017-02-27 13:35:46 +0800 update setup dialog M setup/main2.py M setup/shortcuteditor.py commit 042d8199dce1ed5623c7ed6d58cd6e5683e6fcd8 Author: Peng Wu Date: 2017-02-27 13:27:20 +0800 update dconf key name again M src/PYPConfig.cc commit 3e3259164b8fab57e0ef604cc23c33a1e7841ce6 Author: Peng Wu Date: 2017-02-15 15:49:18 +0800 update ChangeLog M ChangeLog commit 013938531cde6ad2f9b36462eca1ba4fe2e1f486 Author: Peng Wu Date: 2017-02-10 15:34:26 +0800 bump version 1.8.91 M configure.ac commit b6fa9a62daaec6374d352ed5e4066e7b105a92c9 Author: Peng Wu Date: 2017-02-10 15:27:55 +0800 use libpinyin 1.9.91 M src/PYLibPinyin.cc M src/PYLibPinyin.h M src/PYPBopomofoEditor.cc M src/PYPBopomofoEditor.h M src/PYPPhoneticEditor.cc M src/PYPPhoneticEditor.h M src/PYPPinyinEditor.cc M src/PYPPinyinEditor.h commit 9b70b77d73333486fce7d598749d2431d5cbdb12 Author: Peng Wu Date: 2017-01-11 10:39:24 +0800 fixes a typo M setup/main2.py commit 0871fa0eb228af0abee03421f91256a779de4316 Author: Peng Wu Date: 2017-01-11 10:33:23 +0800 fixes main2.py M setup/main2.py commit 3d713493579c1c916684a3e0af6deff75cf22c7d Author: Peng Wu Date: 2017-01-11 10:08:21 +0800 re-factor translate_to_longform function M src/PYExtEditor.cc commit 21078d55d0601632ac57ec1a646a93241ba4fefa Author: Peng Wu Date: 2016-12-28 13:52:44 +0800 bump version 1.8.2 M configure.ac commit dcebc24f2b67ffd8525fd4312ef45f1750055f9d Author: Peng Wu Date: 2016-12-28 13:51:24 +0800 fixes a typo M setup/main2.py commit 27aa99000d3a49ff690694dbb4c3f5cc2eff0767 Author: Peng Wu Date: 2016-12-23 13:23:25 +0800 fixes localedir option for configure M setup/main2.py M src/Makefile.am M src/PYMain.cc commit 58353eb49f56ce43d7cdbb73c01aafa37a44b715 Author: Peng Wu Date: 2016-12-22 15:38:45 +0800 use icon_prop_key property M configure.ac M src/libpinyin.xml.in.in commit 304f93870f0d2fc7b0880c9465e2585bf200dd4e Author: Peng Wu Date: 2016-12-22 14:38:23 +0800 fixes a typo M src/PYPConfig.cc commit 02917a75f72a98813374fe6dac995ffef27f53b6 Author: Peng Wu Date: 2016-12-22 14:03:50 +0800 update setup scripts M setup/main2.py M setup/shortcuteditor.py commit 5532c292f7cbd59d1cb62fb61e500bfedea9e718 Author: Peng Wu Date: 2016-12-22 12:56:15 +0800 update dconf key name M src/PYPConfig.cc commit a11191192d5a6c38259a1e1b59afb69d2ce210c6 Author: Peng Wu Date: 2016-11-30 12:24:39 +0800 update desktop files M data/ibus-setup-libbopomofo.desktop.in.in M data/ibus-setup-libpinyin.desktop.in.in commit 7d7c396be1f496d1cf5cef84f919975244c5d367 Author: Peng Wu Date: 2016-11-30 10:11:58 +0800 bump version 1.8.1 M configure.ac commit 56dd1d83570ff8c73e61c5a0cbc6b59881d19f3b Author: Peng Wu Date: 2016-11-30 10:10:02 +0800 update ChangeLog M ChangeLog commit 56137e73d7152585475fcfb3bb70593e81e20a64 Author: Peng Wu Date: 2016-11-29 10:40:17 +0800 fixes setup dialog M setup/Makefile.am M src/PYPBopomofoEngine.cc M src/PYPPinyinEngine.cc M src/libpinyin.xml.in.in commit 25bfb3fb9c99babfdff30c0912f474c059b1461a Author: Peng Wu Date: 2016-11-14 14:53:04 +0800 update main2.py M setup/main2.py M setup/shortcuteditor.py commit 42a137c7444db2fa221e118d9e7206a32d0be121 Author: Peng Wu Date: 2016-11-14 14:22:58 +0800 update PYPConfig.cc M src/PYPConfig.cc commit 0303fd3ab567c08b2e98886e11fda5387b5ba1e3 Author: Peng Wu Date: 2016-11-14 14:11:24 +0800 use libpinyin config namespace M setup/main2.py M src/PYPConfig.cc commit 77c560f2a8b8889c01e1f1627b2262c1e7d91912 Author: Peng Wu Date: 2016-09-07 12:53:23 +0800 use libpinyin 1.6.0 M configure.ac commit 6518ce23ca097f1353d862c94a5cf1459955ad5e Author: Peng Wu Date: 2016-09-06 15:15:19 +0800 bump version 1.8.0 M configure.ac commit 87ba6518a32e16d5080a986708b26417573ace1b Author: Peng Wu Date: 2016-09-05 14:46:38 +0800 update ChangeLog M ChangeLog commit 3918b17d54f807b4643737f08c202751c8358131 Author: Peng Wu Date: 2016-08-31 15:08:06 +0800 fixes main2.py M setup/main2.py commit ccc1176a25c3ffb94079ae38c40f475d2b1f839c Author: Peng Wu Date: 2016-08-08 16:13:30 +0800 fixes updatePreeditText methods M src/PYPBopomofoEditor.cc M src/PYPPinyinEditor.cc commit efaff649a8621801e77613035fca50c371ba334e Author: Peng Wu Date: 2016-08-08 13:08:56 +0800 fixes getLookupCursor method M src/PYPFullPinyinEditor.cc M src/PYPFullPinyinEditor.h M src/PYPPhoneticEditor.cc commit a8f282b9e3843022cc80f8aa36d6f51e0a4f8860 Author: Peng Wu Date: 2016-08-02 13:42:29 +0800 bump version 1.7.92 M configure.ac commit 98162ec3b4c2ada13a6482bc07b035b06b2494f5 Author: Peng Wu Date: 2016-08-02 13:19:43 +0800 use libpinyin 1.5.92 M configure.ac commit 836be38da7c108288a922d85f1d212b5ef518a6d Author: Peng Wu Date: 2016-07-25 14:12:01 +0800 work around getLookupCursor M src/PYPPhoneticEditor.cc commit b2819139121d302ea1c86eac1c5dbc22f1f70b22 Author: Peng Wu Date: 2016-07-21 16:16:01 +0800 use g_assert instead of assert M src/PYLibPinyin.cc M src/PYPBopomofoEditor.cc M src/PYPPinyinEditor.cc commit 4b4d5d200bf6ab4287ad1ab1c98a986abc11b19c Author: Peng Wu Date: 2016-07-21 15:39:53 +0800 fixes compile M src/PYLibPinyin.cc M src/PYPPinyinEditor.cc commit 7f05038b522db86e966be4bd0c34c4c5c4dd266f Author: Peng Wu Date: 2016-07-21 13:16:05 +0800 add assert checks M src/PYLibPinyin.cc M src/PYPBopomofoEditor.cc M src/PYPPinyinEditor.cc commit 5b5e43db425969d28082e904947b5eb5b5039c31 Author: Peng Wu Date: 2016-07-20 12:25:39 +0800 update pinyin_get_character_offset call M src/PYPBopomofoEditor.cc M src/PYPPinyinEditor.cc commit 049b282689790b23efd95d9ae7ecbe5b30aba4e0 Author: Peng Wu Date: 2016-07-18 15:15:28 +0800 use ibus 1.5.11 M configure.ac commit ac63a9737c418d562f971c07d697ae0fb3e9b7a2 Author: Peng Wu Date: 2016-07-18 14:44:59 +0800 drop gdk-3.0 depends M configure.ac M src/Makefile.am M src/PYEngine.cc commit deb96075e0fe9021f8fab16de612f3c4a8dc2d5e Author: Peng Wu Date: 2016-07-12 13:32:40 +0800 support extension editor in double pinyin M src/PYExtEditor.cc M src/PYPPinyinEngine.cc commit 4f5d41b82b9fe2b76b642f89c32f3992fcd82319 Author: Peng Wu Date: 2016-07-11 16:31:45 +0800 fixes some typos M src/PYPPhoneticEditor.cc commit d91305ed078ae547912e1d130409921594fab704 Author: Peng Wu Date: 2016-07-11 10:35:35 +0800 fixes a typo M src/PYPPhoneticEditor.cc commit 31eb478d9a2745f5c3aec459ea4aa64dbb381c67 Author: Peng Wu Date: 2016-07-08 12:47:21 +0800 use pinyin_remove_user_candidate function M src/PYPPhoneticEditor.cc commit a913febc474c878dbb04c04205022beddfd8e8f3 Author: Peng Wu Date: 2016-07-06 14:39:24 +0800 fixes auxiliary text M src/PYPBopomofoEditor.cc M src/PYPDoublePinyinEditor.cc M src/PYPFullPinyinEditor.cc commit 573d7c64eacf4f8d98a2937cdda52a528c888a48 Author: Peng Wu Date: 2016-07-04 14:45:46 +0800 bump version 1.7.91 M configure.ac commit 1b5818e46068c9f3b7858b9c6dd7cb390691ef4a Author: Peng Wu Date: 2016-07-04 14:43:31 +0800 fixes lua M lua/lua-plugin-init.c M lua/lua-plugin.c commit ed7159efd0c86b2ed22c0ddceecda90b49d764a8 Author: Peng Wu Date: 2016-07-04 14:35:42 +0800 port code to use libpinyin 1.5.91 M src/PYLibPinyin.cc M src/PYPPhoneticEditor.cc commit fbbb593328a437bb5f7e35f43c3a5838852566ae Author: Peng Wu Date: 2016-06-29 10:32:58 +0800 use pinyin_get_*_auxiliary_text functions M src/PYPBopomofoEditor.cc M src/PYPDoublePinyinEditor.cc M src/PYPFullPinyinEditor.cc commit e361ed422efb606e7da2f72a068c7730107d7163 Author: Peng Wu Date: 2016-06-29 10:18:33 +0800 use pinyin_get_character_offset function M src/PYPBopomofoEditor.cc M src/PYPPinyinEditor.cc M src/PYPPinyinEditor.h commit 45b381ae37d5223b0b6ca24acd852a90291bb34e Author: Peng Wu Date: 2016-06-28 16:43:43 +0800 use libpinyin 1.5.91 M configure.ac commit b8f479255bb36a85aada85537ee7e37a9f2e233b Author: Peng Wu Date: 2016-06-23 14:20:30 +0800 update class PhoneticEditor M src/PYPPhoneticEditor.cc commit 5e1ee95409c71542b8bb6dff4f88b27d9bc279cf Author: Peng Wu Date: 2016-06-22 14:55:42 +0800 begin to use libpinyin 1.5.91 M src/PYPFullPinyinEditor.cc M src/PYPPhoneticEditor.cc commit 5c016872462c1843849650d9f2147c9ca9e00bee Author: Peng Wu Date: 2016-05-09 14:23:17 +0800 Fixes FallbackEditor M src/PYFallbackEditor.cc commit 429cc899b778a472f52f8b59ee1f439729246b65 Author: Peng Wu Date: 2016-04-12 10:42:44 +0800 fixes leak M src/PYLibPinyin.cc commit 5c0158fed5d62a1c995c36486328c577d1b1d194 Author: Peng Wu Date: 2016-01-26 13:47:27 +0800 fixes selectCandidate method M src/PYPPhoneticEditor.cc commit cda8daf5018023c11e3668e47b3c72a3da5d3999 Author: Peng Wu Date: 2015-12-17 14:51:46 +0800 bump version 1.7.4 M configure.ac commit 7a712b44bfe2e25741311ef82cd9fb4b53c35757 Author: Peng Wu Date: 2015-12-15 13:50:08 +0800 update configure.ac M configure.ac commit 28bbe2b3b8079736c16b58e8b44c72282b004eb3 Author: Peng Wu Date: 2015-12-14 16:59:49 +0800 fixes m_bopomofo_keyboard_mapping option again M src/PYPConfig.cc commit 0faf54eb96f18008cfb5d086da98f096c235408b Author: Peng Wu Date: 2015-12-14 16:58:11 +0800 Revert "fixes m_bopomofo_keyboard_mapping option" This reverts commit 9f197c3f4c675129e308de24e9be9e6f48756ba8. M src/PYPConfig.cc commit 9f197c3f4c675129e308de24e9be9e6f48756ba8 Author: Peng Wu Date: 2015-12-14 15:43:03 +0800 fixes m_bopomofo_keyboard_mapping option M src/PYPConfig.cc commit 5fd31ab36c26496e397a745ea2287e92570a84fb Author: Peng Wu Date: 2015-11-05 16:09:03 +0800 fixes warning M src/PYExtEditor.cc commit 4bb5fc19c0829053acd29619de59a85a73e03676 Author: Peng Wu Date: 2015-10-17 11:37:17 +0800 use pinyin_in_chewing_keyboard method M src/PYPBopomofoEditor.cc commit 1a19b3abb86129797d20ba3116428deaaa87df4c Author: Peng Wu Date: 2015-10-17 11:12:48 +0800 bump version 1.7.3 M configure.ac commit 328631e0957a48cd98bf3809ba0a221d1172904f Author: Peng Wu Date: 2015-10-17 11:11:46 +0800 use libpinyin 1.2.91 M src/PYConfig.h M src/PYLibPinyin.cc M src/PYPBopomofoEditor.cc M src/PYPConfig.cc commit 0c854b51dadbb18fb5e74eb3d7c744807a5ec312 Merge: 7e1ffb4 b22ad2c Author: Peng Wu Date: 2015-10-09 13:33:25 +0800 Merge branch 'rbuj-catalan' commit b22ad2c9abd4e5ef9c3d36af6ecc4d94c6b7f27c Author: Robert Antoni Buj Gelonch Date: 2015-10-01 21:21:28 +0200 add Catalan M po/LINGUAS A po/ca.po commit 7e1ffb4672eed63f1cba4759cd37d7435523afb6 Merge: 5e4e6a7 b322cce Author: Peng Wu Date: 2015-07-20 13:29:53 +0800 Merge branch 'obache-neatsrc' commit b322cce4d1e3dd97a1648c1a20de570b88bb61a2 Author: OBATA Akio Date: 2015-07-19 17:23:31 +0900 Fix for Lua 5.2 API change (luaL_register is deprecated) M lua/lmyoslib.c M lua/lua-plugin-init.c commit 5e4e6a748e981a6f58beaa526821bae87deb02fa Author: Peng Wu Date: 2015-07-06 16:38:16 +0800 update zh_CN.po M po/zh_CN.po commit a9ea56c0eb63f2c9ece62fe3b3708cf82c98b48a Author: Peng Wu Date: 2015-07-06 16:33:31 +0800 update po files M po/fr.po M po/ru.po M po/zh_CN.po M po/zh_HK.po M po/zh_TW.po commit 85d4ed3468461d561d03284cc845c528c1167a3a Author: Peng Wu Date: 2015-06-18 15:22:21 +0800 update clearPinyinUserData method M src/PYLibPinyin.cc commit 69612371321a99da008f76d36900c00b057c0242 Author: Peng Wu Date: 2015-06-17 09:28:38 +0800 update m_dictionaries M src/PYConfig.cc M src/PYPConfig.cc commit df6f428187ff0e69660a70e9fe9e70f04f003144 Author: Peng Wu Date: 2015-06-17 09:26:39 +0800 use pinyin_load_addon_phrase_library function M src/PYLibPinyin.cc commit e21aa4a6f06ac4c48788319ba130661277c2c2c0 Author: Peng Wu Date: 2015-06-17 09:24:49 +0800 update setup dialog M setup/dicttreeview.py commit 7fffe99bae099e88f0cc449890df67ce4b00c8b6 Author: Peng Wu Date: 2015-06-17 09:24:21 +0800 bump version 1.7.2 M configure.ac commit 70046d49a86b96623219e25939b79f0d7b567b53 Author: Peng Wu Date: 2015-04-03 11:31:01 +0800 fixes a typo M data/Makefile.am commit 6f7105a552ebb05e84edd90478bbe63db8e4a5d9 Author: Peng Wu Date: 2015-03-30 15:04:56 +0800 update data/Makefile.am M data/Makefile.am commit 29f7dcf44fe7bc6b559c153aca372d2aded7d82a Author: Peng Wu Date: 2015-03-30 14:56:58 +0800 add libpinyin.appdata.xml A data/libpinyin.appdata.xml commit 00d38b58116984d12602cfdccfcde55c2d440b25 Author: Peng Wu Date: 2015-03-25 11:37:26 +0800 bump version 1.7.1 M configure.ac commit cc5b6765c3ce22fc7876a48c2ffc292cae6aceb0 Author: Peng Wu Date: 2015-03-09 13:21:40 +0800 fixes default values M src/PYConfig.cc M src/PYPConfig.cc commit e64b6ec09ec934e506d566174ac6524c61336228 Author: Peng Wu Date: 2015-03-06 15:34:43 +0800 fixes shortcut keys in setup dialog M setup/main2.py M setup/shortcuteditor.py commit 8000186a322806b37d1a5557d023f745a21c55b7 Author: Peng Wu Date: 2015-03-04 11:14:24 +0800 Update ChangeLog M ChangeLog commit fc6682d1ea8accc2b190d634d15780657b26f01c Author: Peng Wu Date: 2015-03-04 11:13:55 +0800 bump version 1.7.0 M configure.ac commit 7735432908764b8ff0e5444279692ea8c2aaec55 Author: Peng Wu Date: 2015-02-28 13:38:05 +0800 select the first item in shortcut editor M setup/shortcuteditor.py commit 29157570ceaade11ed51fbc45a48e952ef1eae6e Merge: a7c391b b4b9180 Author: Peng Wu Date: 2015-02-27 12:00:51 +0800 Merge branch 'encukou-py3' commit b4b9180050dea96c2f522f11d7a20d05fde1e698 Merge: a7c391b 5b2ca65 Author: Peng Wu Date: 2015-02-27 10:57:26 +0800 Merge branch 'py3' of git://github.com/encukou/ibus-libpinyin into encukou-py3 commit a7c391bbd323d4fa6c7b87bca0c59fa2885aa143 Author: Peng Wu Date: 2015-02-06 16:09:31 +0800 fixes configure.ac M configure.ac commit c9ab489393ad2729786d4679bb3213613d240ba3 Author: Peng Wu Date: 2015-02-03 14:40:56 +0800 use version 1.6.99 M configure.ac commit 5b2ca650b21d60a481e861ce998d2a0bbd2fb64d Author: Petr Viktorin Date: 2015-02-02 10:39:36 +0100 Enable running setup scripts with Python 3 The default uses 'python'. To use 'python3', ./configure --with-python=python3 M configure.ac M setup/dicttreeview.py M setup/ibus-setup-libpinyin.in M setup/main2.py commit 7aa61731fd317d6dfd1ccb21f599a49c04d53469 Author: Peng Wu Date: 2015-02-02 15:30:48 +0800 update zh_CN.po M po/zh_CN.po commit f54906d7b7da9a9ff5428ae36de38ded290caa6a Author: Peng Wu Date: 2015-02-02 14:38:32 +0800 update po M po/fr.po M po/ru.po M po/zh_CN.po M po/zh_HK.po M po/zh_TW.po commit b5544805d45955392d6eedda6eef7831f84085f3 Author: Peng Wu Date: 2015-01-30 08:58:16 +0800 fixes setup dialog M setup/main2.py commit 89c7ba0666772f5d92fecb2b433d500c2a0c51d0 Author: Peng Wu Date: 2015-01-27 15:59:36 +0800 update main2.py M setup/main2.py commit b3a40e01b7f60a26e61a0c728b489c0023a68ebe Author: Peng Wu Date: 2015-01-27 15:34:10 +0800 update setup dialog UI M setup/ibus-libpinyin-preferences.ui commit 37ec389207a5a9764df6f668ae7a0ff265cd116a Author: Peng Wu Date: 2015-01-27 15:09:04 +0800 update class LibPinyinConfig to support export user phrases M src/PYPConfig.cc commit 2445fbdb8f5f8300d3670249fbf6095a72c343b5 Author: Peng Wu Date: 2015-01-23 13:01:06 +0800 write exportPinyinDictionary method M src/PYLibPinyin.cc M src/PYLibPinyin.h commit 1bc034eaa38e56c9b9fc0151b9d56cfe3912af29 Author: Peng Wu Date: 2015-01-16 13:32:40 +0800 work around setup dialog for fedora 21 M setup/main2.py commit c3a39b80316afe1e870773d5550af66acb601ebf Author: Peng Wu Date: 2014-12-30 13:37:28 +0800 fixes a typo M src/PYSimpTradConverter.cc commit b04d6793de65fa815737b5eb9a1db92a74bcf81f Author: Peng Wu Date: 2014-12-25 13:10:57 +0800 use opencc 1.0 M configure.ac M src/PYSimpTradConverter.cc commit 159039266a6b9530b9aad1362a8471aa80ea67fb Author: Peng Wu Date: 2014-12-24 13:13:45 +0800 fixes a small issue in rememberUserInput M src/PYLibPinyin.cc commit 448c4cd67e317a62d953574d19175fc8ee811450 Author: Peng Wu Date: 2014-12-19 11:03:15 +0800 fixes autoCommit option M src/PYPPinyinEditor.cc commit a82e92a592a6b776fca5442fe4f70e18276e1c4a Author: Peng Wu Date: 2014-12-18 15:34:10 +0800 update main2.py M setup/main2.py commit f97f6ef00b628a91b951ef8c20ec892555e8b781 Author: Peng Wu Date: 2014-12-18 15:24:49 +0800 update setup ui M setup/ibus-libpinyin-preferences.ui commit 52e0838d30e6ae539b3eb00ae01f6b25925db697 Author: Peng Wu Date: 2014-12-18 15:17:36 +0800 fixes setup/Makefile.am M po/POTFILES.in M setup/Makefile.am commit 84d1ce1d9ed8dd92c0434234a2964098133a7f88 Author: Peng Wu Date: 2014-12-18 13:39:44 +0800 fixes processAccelKeyEvent method M src/PYPBopomofoEngine.cc M src/PYPPinyinEngine.cc commit de6b1f956fec426ba45f3ec371e5ce802070fd67 Author: Peng Wu Date: 2014-12-18 11:29:36 +0800 write rememberUserInput method M src/PYLibPinyin.cc M src/PYLibPinyin.h M src/PYPBopomofoEditor.cc M src/PYPPinyinEditor.cc commit b33cb8b01df86ed635b372f9c171996b0432fa2e Author: Peng Wu Date: 2014-12-16 13:43:22 +0800 refine code style M src/PYConfig.h M src/PYPConfig.cc commit cb73f581e5e8d33a681caf89dfb4bf76a77db370 Author: Peng Wu Date: 2014-12-16 13:32:32 +0800 add remember every input option to class Config M src/PYConfig.cc M src/PYConfig.h M src/PYPConfig.cc commit 5d2c9654c565d1eb59e9e752d54cee65c7c4f4f0 Author: Peng Wu Date: 2014-12-09 15:48:45 +0800 update main2.py M setup/main2.py commit fe59091e056383505cc4a509ffba57c968f9d4df Author: Peng Wu Date: 2014-12-09 13:54:22 +0800 update setup dialog M setup/ibus-libpinyin-preferences.ui commit 3d24724aaacd1068339a0331b48dcf7d8473d3da Author: Peng Wu Date: 2014-12-09 13:11:43 +0800 remove the ctrl switch option M src/PYConfig.cc M src/PYConfig.h M src/PYPConfig.cc commit 7e0498f497d1bbafa52933b1ad3d0ce0c54eaab4 Author: Peng Wu Date: 2014-12-08 15:41:43 +0800 refine code style M src/PYPBopomofoEngine.cc M src/PYPPinyinEngine.cc commit 1f68a74635ab683263e275ba63b77f4007ba6634 Author: Peng Wu Date: 2014-12-08 14:45:50 +0800 support four customized shortcut keys M src/PYFallbackEditor.cc M src/PYPBopomofoEngine.cc M src/PYPBopomofoEngine.h M src/PYPPinyinEngine.cc M src/PYPPinyinEngine.h commit 76d62fd53b46fe6935eec9c0eefe0617d5d7f0b7 Author: Peng Wu Date: 2014-12-08 13:34:28 +0800 update base.lua for lua 5.2 M lua/base.lua commit 8cba9ed83fe4d02b76e224862ca85ce014592b80 Author: Peng Wu Date: 2014-12-08 11:21:29 +0800 use luaL_requiref for lua 5.2 M lua/lua-plugin-init.c commit 3b2635f417d93f5e26d1ef8439441700d55d4d83 Author: Peng Wu Date: 2014-12-05 14:15:49 +0800 write pinyin_accelerator_name function M configure.ac M src/Makefile.am M src/PYEngine.cc M src/PYEngine.h commit 5d445470457a3bbf3684ef782410ce9cafac57e3 Author: Peng Wu Date: 2014-12-02 14:20:51 +0800 add four new config keys M src/PYConfig.h M src/PYPConfig.cc commit 43beca819b9e4ab2f71b6cde4e085525df088719 Author: Peng Wu Date: 2014-12-02 14:16:26 +0800 update setup dialog M setup/shortcuteditor.py commit 795027d140d75c11b1476de4d36b7226a98c6e74 Author: Peng Wu Date: 2014-11-28 16:43:38 +0800 integrate with the setup dialog M setup/main2.py M setup/shortcuteditor.py commit 489c90ec6ca084fc1223bb1f9181a215e3eb2495 Author: Peng Wu Date: 2014-11-28 13:58:59 +0800 update setup dialog M setup/ibus-libpinyin-preferences.ui commit 81a84ccbf568b74ed61aeaa8e4977ac89d1aeb8e Author: Peng Wu Date: 2014-11-27 17:43:40 +0800 import shortcuteditor.py M setup/keyboardshortcut.py A setup/shortcuteditor.py commit 028425606c60348f25a4d9c9efca5ade89869b27 Author: Peng Wu Date: 2014-11-26 16:59:03 +0800 import keyboardshortcut.py A setup/keyboardshortcut.py commit 82b89ae4b01f353664a44e833829f1633ffdfdd2 Author: Peng Wu Date: 2014-11-05 10:53:58 +0800 disable lookup table lazy candidate fill M src/PYPPhoneticEditor.cc M src/PYPPhoneticEditor.h commit 1bbb6ca2a0240ab98510fe8a5f470d0a47b382af Author: Peng Wu Date: 2014-09-19 17:25:57 +0800 fixes lua script loads M src/PYExtEditor.cc commit 471752e4519fa4f5785cfb454f1c24f747717d89 Author: Peng Wu Date: 2014-08-19 14:29:57 +0800 use pinyin_get_pinyin_key_rest_offset function M src/PYPPhoneticEditor.cc commit f53b1287772ff4d7589f4c4b3847c7a74ee293ef Author: Peng Wu Date: 2014-07-15 13:19:52 +0800 fixes memory leak M src/PYLibPinyin.cc commit d44a0cbedb562c2e1926c765cdd4735be68db9b6 Author: Peng Wu Date: 2014-07-15 11:14:05 +0800 use macro USER_DICTIONARY M src/PYLibPinyin.cc commit 10969d4f8abf0559c2748d3f1a518c9e487f0e86 Author: Peng Wu Date: 2014-06-13 15:55:25 +0800 fixes a typo M src/PYMain.cc commit 7a98868d07581655b7a11c84005ec9cef7d50539 Author: Peng Wu Date: 2014-05-21 09:46:16 +0800 remove LibPinyin* class prefix M src/PYEngine.cc M src/PYLibPinyin.cc M src/PYMain.cc M src/PYPBopomofoEditor.cc M src/PYPBopomofoEditor.h M src/PYPBopomofoEngine.cc M src/PYPBopomofoEngine.h M src/PYPConfig.cc M src/PYPConfig.h M src/PYPDoublePinyinEditor.cc M src/PYPDoublePinyinEditor.h M src/PYPFullPinyinEditor.cc M src/PYPFullPinyinEditor.h M src/PYPPhoneticEditor.cc M src/PYPPhoneticEditor.h M src/PYPPinyinEditor.cc M src/PYPPinyinEditor.h M src/PYPPinyinEngine.cc M src/PYPPinyinEngine.h commit 7813d0b1711f08b0164242499c6ac02d30fab966 Author: Peng Wu Date: 2014-04-29 12:30:15 +0800 improves m_bopomofo_keyboard_mapping read M src/PYConfig.h M src/PYLibPinyin.cc M src/PYPConfig.cc commit ad0e422ceaafe4fcddfc579d2061d93a6e711ab0 Author: Peng Wu Date: 2014-04-29 11:02:20 +0800 improves m_double_pinyin_schema read M src/PYConfig.cc M src/PYConfig.h M src/PYLibPinyin.cc M src/PYPConfig.cc commit f3b0fa4f04a06036c5cc177969a58c73e8e7c5b5 Author: Peng Wu Date: 2014-04-28 15:19:22 +0800 fixes a typo M src/PYPFullPinyinEditor.cc commit a8e650a6ef1392c23f7d6f8f141fc7638fd1f9fa Author: Peng Wu Date: 2014-04-24 14:56:53 +0800 bump version 1.7.0 M configure.ac commit e44396eab964540aeb26cf8428aa5d02609df520 Author: Peng Wu Date: 2014-04-24 14:45:52 +0800 update version number M configure.ac commit 904ffe389825f1b9eae0765586560b7afb7efa35 Author: Peng Wu Date: 2014-04-23 16:29:04 +0800 re-factor code M src/PYConfig.cc M src/PYConfig.h M src/PYPConfig.cc commit f31155bf3ebadac7c4124009e8b571c1778f3692 Author: Peng Wu Date: 2014-04-23 16:27:22 +0800 format code M src/PYLibPinyin.cc M src/PYLibPinyin.h commit 8d553e0c189d65a935fd5169f06b3a2e0380b013 Author: Peng Wu Date: 2014-04-22 15:23:26 +0800 fixes a typo M src/PYPBopomofoEditor.h commit 4c898f1bade4dff01c37b5d196f4ec2e2c014ecd Author: Peng Wu Date: 2014-04-22 11:07:12 +0800 fixes compile M src/PYConfig.h commit 9491bb452e240592ca91b0ef783837e4967e2a59 Author: Peng Wu Date: 2014-04-21 14:11:35 +0800 fixes a typo M src/PYPPhoneticEditor.cc commit 9fea44f3726e1cc606bc09c23c4fb9a0ffd0cbfb Author: Peng Wu Date: 2014-04-10 15:25:42 +0800 use type pinyin_option_t M src/PYConfig.h M src/PYPConfig.cc commit e0862317264a4c117caee7e7151b7e4d9e9bcc65 Author: Peng Wu Date: 2014-03-24 14:15:13 +0800 fixes a typo M src/PYPPhoneticEditor.h commit 4982c9f9095d53c0c7537b6b852ee41ae8fe0e71 Author: Peng Wu Date: 2014-02-17 16:45:14 +0800 move logics to class PYEngine M src/PYEngine.cc M src/PYEngine.h M src/PYPBopomofoEngine.cc M src/PYPBopomofoEngine.h M src/PYPPinyinEngine.cc M src/PYPPinyinEngine.h commit a8dbbd654f6eb34df4176cb873399b4c02b536ee Author: Peng Wu Date: 2014-01-26 15:05:05 +0800 rename Intelligent Bopomofo to Bopomofo M src/PYMain.cc M src/libpinyin.xml.in.in commit aba1516229c018439459e0e20995e91c3aa6ea53 Author: Peng Wu Date: 2014-01-26 14:58:27 +0800 drop uuid deps M configure.ac M src/Makefile.am M src/PYUtil.h commit 432bf196a90313273490b683bfae8f128cf52018 Author: Peng Wu Date: 2014-01-26 13:29:11 +0800 update main2.py M setup/main2.py commit 225a070bc7fd90d749f06a2e3156f2e9cf6b88e2 Author: Peng Wu Date: 2014-01-16 13:21:16 +0800 re-factor setup dialog M setup/Makefile.am M setup/config.py.in M setup/ibus-setup-libpinyin.in M setup/main2.py commit 56a35844deb56eb2705de79494834253f60c95f6 Author: Peng Wu Date: 2014-01-03 12:32:20 +0800 remove PYRegex.h M src/Makefile.am D src/PYRegex.h commit e6ea82938c6f06d03109da94da6f313c399737e6 Author: Peng Wu Date: 2013-12-12 12:38:21 +0800 drop IBUS_BUILD_LIBPINYIN macro M configure.ac M src/Makefile.am M src/PYEngine.cc M src/PYMain.cc M src/PYPConfig.cc commit 5e6708be79ff90cf483bfc66e30437d5019404a0 Author: Peng Wu Date: 2013-11-11 15:38:35 +0800 fixes pinyin properties M src/PYPinyinProperties.cc commit 737fdaa6a118729e20378245dbb8af0c142fa187 Author: Peng Wu Date: 2013-10-23 16:42:41 +0800 bump version 1.6.92 M configure.ac commit e1ecc3bf821c88d9edab471e70b556e029072c32 Author: Peng Wu Date: 2013-10-23 16:35:41 +0800 update ibus requires M configure.ac commit 69f50424ba5be49c4b31543df7bd7970361d4753 Author: Peng Wu Date: 2013-10-10 15:48:29 +0800 support setContentType method M src/PYEngine.cc M src/PYEngine.h M src/PYPBopomofoEngine.cc M src/PYPBopomofoEngine.h M src/PYPPinyinEngine.cc M src/PYPPinyinEngine.h commit cf8ab7d8e76ed70c182c7588cfe1ebbce8e5174b Author: Peng Wu Date: 2013-10-08 10:45:35 +0800 remove pyxdg depends M setup/main2.py commit c42d0a870697e95301deabe0bcb770a68649c81d Author: Peng Wu Date: 2013-07-31 10:53:14 +0800 fixes lua 5.2 compile M lua/lua-plugin-init.c M lua/lua-plugin.c commit 9ef836117508d9c0c938f57a5ffa5ffca7eb2e7b Author: Peng Wu Date: 2013-07-26 13:03:44 +0800 Update the symbol of the ibus indicator M src/PYPinyinProperties.cc M src/PYProperty.h commit 7f0ae3f5d0bbaf1b5fe2ab8b0a22892a2d9a1167 Author: Peng Wu Date: 2013-04-24 15:45:32 +0800 update libpinyin requires M configure.ac commit 9ab87c1a3a7f46c5b3d7f347d5654b29dc4789e8 Author: Peng Wu Date: 2013-04-24 13:49:46 +0800 re-factor base.lua M lua/base.lua commit 925f881e940d4573926f7ce224a5b81c4b35ffa3 Author: Peng Wu Date: 2013-04-21 12:27:43 +0800 fixes dictionaries option M setup/main2.py M src/PYConfig.cc M src/PYPConfig.cc commit 5a6804db067ec7eeaface324f2bff3067399eb1f Author: Peng Wu Date: 2013-04-21 12:24:36 +0800 Revert "change config key name" This reverts commit ee79a7dcfbf7a9d32802e5555eceeaf7db485bff. M setup/main2.py M src/PYPConfig.cc commit 78bb55af56ff09fe61573cb3b778f0a4e8326c73 Author: Peng Wu Date: 2013-03-22 15:03:19 +0800 fixes compile M src/PYLibPinyin.cc M src/PYPBopomofoEditor.cc M src/PYPConfig.cc M src/PYPFullPinyinEditor.cc M src/PYPPhoneticEditor.cc commit d375107f4c4118ecc4f74cb11e5372a42e8554b5 Author: Peng Wu Date: 2013-03-22 14:29:19 +0800 update double pinyin editor M src/PYPDoublePinyinEditor.cc commit 9e7d2f34f4f21db9914b63bd837a7c7371148238 Author: Peng Wu Date: 2013-03-22 14:21:57 +0800 update full pinyin editor M src/PYPBopomofoEditor.cc M src/PYPFullPinyinEditor.cc commit 2f153759c57835aa30908ae0d43dda1f942bdfac Author: Peng Wu Date: 2013-03-22 14:09:53 +0800 update pinyin editor M src/PYPPinyinEditor.cc commit 88176ebec678099baa5b768e862ea2b41fdfc5ba Author: Peng Wu Date: 2013-03-22 14:03:00 +0800 update bopomofo editor M src/PYPBopomofoEditor.cc commit 4d0be214c08f8f7a9dc8c5a4262b3b2bc8d0d04f Author: Peng Wu Date: 2013-03-22 13:54:48 +0800 update phonetic editor M src/PYPPhoneticEditor.cc M src/PYPPhoneticEditor.h commit acf1ab4a9370c36232d839193fc57be03ea6fd1a Author: Peng Wu Date: 2013-03-20 14:38:06 +0800 bump version 1.6.91 M configure.ac commit 20a82553205a1510a8aca475f99181a7c26d5233 Author: Peng Wu Date: 2013-03-15 15:16:05 +0800 fixes setup dialog M po/fr.po M po/ru.po M po/zh_CN.po M po/zh_HK.po M po/zh_TW.po M setup/ibus-libpinyin-preferences.ui commit ee79a7dcfbf7a9d32802e5555eceeaf7db485bff Author: Peng Wu Date: 2013-03-15 09:38:25 +0800 change config key name M setup/main2.py M src/PYPConfig.cc commit 331f4f497389679fa076cccf603c82b697b993d1 Author: Peng Wu Date: 2013-03-14 14:23:39 +0800 add using namespace pinyin M src/PYLibPinyin.cc M src/PYPConfig.cc commit b1739851231248dba52d01b9bfb5d58318958b5f Author: Peng Wu Date: 2013-03-11 13:23:12 +0800 bump version 1.5.92 M configure.ac commit 4c38e5cf9b9d48203f0d57432e8076c08653b134 Author: Peng Wu Date: 2013-03-11 10:49:17 +0800 remove special phrases M po/POTFILES.in D src/PYDynamicSpecialPhrase.cc D src/PYDynamicSpecialPhrase.h D src/PYSpecialPhrase.cc D src/PYSpecialPhrase.h D src/PYSpecialPhraseTable.cc D src/PYSpecialPhraseTable.h commit 6a448d5b60e5c9f7240d4149c3a81a0df439d275 Author: Peng Wu Date: 2013-03-11 10:44:21 +0800 re-factor ExtEditor M src/Makefile.am M src/PYExtEditor.cc commit ab4961ecf5ea99b08454c011295687153d75cc04 Author: Peng Wu Date: 2013-03-05 11:01:14 +0800 update base.lua M lua/base.lua commit a7b0bfdb1f0c194c2a47d498c1dd09709d2a893b Author: Peng Wu Date: 2013-03-01 17:04:33 +0800 fixes download url M ibus-libpinyin.spec.in commit f08f381646c6d8af4bbc084eac764f46fa476f8e Author: Peng Wu Date: 2013-02-28 14:51:24 +0800 fixes getLookupCursor Fixed: When some wrong pinyin input entered, the lookup candidates disappeared. M src/PYPPhoneticEditor.cc commit 68e7eea7b622633b14dd9b129e69eec4d2b28869 Author: Peng Wu Date: 2013-02-27 10:50:47 +0800 update main2.py M setup/main2.py commit 294deae4df18f98f5ae9646e57ead1783b59d727 Author: Peng Wu Date: 2013-02-26 11:43:51 +0800 update zh_CN.po M po/zh_CN.po commit b6df84c7f4cf2fca1fe6549394e4014d41d42cfb Author: Peng Wu Date: 2013-02-26 11:25:35 +0800 update po M po/fr.po M po/ru.po M po/zh_CN.po M po/zh_HK.po M po/zh_TW.po commit 93f1187b708a5c1c4ae1cdea70caf0e3930dd6d4 Author: Peng Wu Date: 2013-02-20 16:04:07 +0800 update zh_CN.po M po/zh_CN.po commit 23cbd1bb810e6fe00230ead06163156caf9bb9e8 Author: Peng Wu Date: 2013-02-20 16:03:56 +0800 polish UI M setup/ibus-libpinyin-preferences.ui commit b52f16d606cf8245b3278bfd81605d78d8186820 Author: Peng Wu Date: 2013-02-20 12:10:23 +0800 fixes gettext M setup/dicttreeview.py M setup/main2.py commit e88fd94817b3b1bbd8b2498dcb402e5b828497bd Author: Peng Wu Date: 2013-02-20 11:22:22 +0800 fixes typo M setup/dicttreeview.py M src/PYLibPinyin.cc commit 9e2bb399070a472741e1f61878d743c6a8699e07 Author: Peng Wu Date: 2013-02-20 11:18:43 +0800 update zh_CN.po M po/zh_CN.po commit 2253829331e021bb5237d0bcbffce973132aaa5f Author: Peng Wu Date: 2013-02-20 11:08:35 +0800 update po M po/fr.po M po/ru.po M po/zh_CN.po M po/zh_HK.po M po/zh_TW.po commit b30d259c0cd2c4f844048fa315b453d3b03af6bd Author: Peng Wu Date: 2013-02-20 10:54:32 +0800 update dictionaries M setup/dicttreeview.py M setup/main2.py M src/PYConfig.cc M src/PYLibPinyin.cc M src/PYPConfig.cc commit 4dc12953941dcc034bcbe680d529d24b88f79ddd Author: Peng Wu Date: 2013-02-18 17:55:29 +0800 polish UI M setup/ibus-libpinyin-preferences.ui commit 9376f6734fc10a1bd3e9dc2f90c06ec0a11a846a Author: Peng Wu Date: 2013-02-18 15:48:19 +0800 fixes setup/config.py M configure.ac M setup/Makefile.am M setup/config.py.in commit 9f63583210bb383ab97c803fd57ede8c6d866bf0 Author: Peng Wu Date: 2013-02-17 13:39:57 +0800 add edit user lua to main2.py M setup/main2.py commit 7ada59965b475434c5a5e6f62d13cabfde278fc8 Author: Peng Wu Date: 2013-02-17 13:24:28 +0800 add user data to main2.py M setup/main2.py commit 2c176006b90fb6d6593a39a778ed7e1a98eabbe4 Author: Peng Wu Date: 2013-02-17 12:08:47 +0800 add user data page to setup dialog M setup/ibus-libpinyin-preferences.ui commit 0763b3456c64f52c710636af63de5bdc6a836753 Author: Peng Wu Date: 2013-02-17 09:37:17 +0800 fixes code style M src/PYLibPinyin.cc commit 47f65d95f3e003f415a47b586bd35cb3662c6f73 Author: Peng Wu Date: 2013-02-16 11:39:54 +0800 load user phrase library M src/PYLibPinyin.cc commit 42206b463d1f14a68763b38f2b4835a5638fa845 Author: Peng Wu Date: 2013-02-08 11:17:27 +0800 fixes a typo M src/PYLibPinyin.cc M src/PYPConfig.cc commit 79529dea8225187a0ab1c0d4c87ad558760322d5 Author: Peng Wu Date: 2013-02-08 11:04:28 +0800 write importPinyinDictionary M src/PYLibPinyin.cc M src/PYLibPinyin.h M src/PYPConfig.cc commit 42fdd95eeea6e72f65fe74e356b6ab96bc95666c Author: Peng Wu Date: 2013-02-08 10:29:05 +0800 write clearPinyinUserData M src/PYConfig.cc M src/PYLibPinyin.cc M src/PYLibPinyin.h M src/PYPConfig.cc commit 00b1261817b55f04531bcac76191b27f796ab1ea Author: Peng Wu Date: 2013-02-08 09:27:29 +0800 add user.lua M lua/Makefile.am A lua/user.lua M src/PYExtEditor.cc M src/PYLibPinyin.cc commit 522546c64bfaff53450b4d161c6acf4b8cd8a2be Author: Peng Wu Date: 2013-02-07 14:03:55 +0800 fixes bug M setup/config.py.in M setup/main2.py commit 4b26bca531a13aec957d0568f7d1696ce6a04d52 Author: Peng Wu Date: 2013-02-07 11:44:41 +0800 update autoconf M configure.ac M setup/Makefile.am M setup/config.py.in commit 10375d1dc8c3943d7520129e14be05873e920f7d Author: Peng Wu Date: 2013-02-07 10:54:47 +0800 rename version.py to config.py M configure.ac M setup/Makefile.am R100 setup/version.py.in setup/config.py.in commit f9cdfed43599195c3cf6f08d6592bfea68a4e8d2 Author: Peng Wu Date: 2013-01-31 12:58:53 +0800 re-write base.lua M lua/base.lua commit 986dde375354d440cba768f560616d3560aa3e58 Author: Peng Wu Date: 2013-01-21 10:58:03 +0800 update libpinyin requires M configure.ac commit 2590ca94ac12bb7f77a037805e0b31efae725e38 Author: Peng Wu Date: 2013-01-14 12:25:41 +0800 add setup tag to libpinyin.xml.in.in M src/libpinyin.xml.in.in commit af9f69bc861f1e5c3c86fc725ba4e60d412af4f9 Author: Peng Wu Date: 2013-01-04 12:10:21 +0800 translate zh_CN.po M po/zh_CN.po commit 8d41b065cc41a4c9be553243d91608db5358efb2 Author: Peng Wu Date: 2013-01-04 12:08:09 +0800 update po M po/fr.po M po/ru.po M po/zh_CN.po M po/zh_HK.po M po/zh_TW.po commit 0a5381930f89bd3985adc12a98eff0968669d9ad Author: Peng Wu Date: 2012-12-31 17:17:30 +0800 update zh_CN.po M po/zh_CN.po commit aaefef05e73e277ce671efa9650a1bc28778c0f3 Author: Peng Wu Date: 2012-12-31 16:27:39 +0800 fixes a typo M setup/ibus-libpinyin-preferences.ui commit e763afd31774a5654329f54426c699fb52d9a6eb Author: Peng Wu Date: 2012-12-31 11:47:43 +0800 fixes a bug M src/PYPConfig.cc commit 8b08105163e9b3a59e808ea2fa8a4607648f9ae6 Author: Peng Wu Date: 2012-12-31 11:39:37 +0800 update python code M setup/main2.py commit 2ef7bc5542c068cde5e41693d4ed1ebb449b6581 Author: Peng Wu Date: 2012-12-31 11:19:58 +0800 update setup ui M setup/ibus-libpinyin-preferences.ui commit 8868b88483de6f92b8c7f35604540f30c2dd6816 Author: Peng Wu Date: 2012-12-31 11:02:52 +0800 add ctrl switch to bopomofo engine M src/PYPBopomofoEngine.cc commit 96ab2c13f03aee400def935e4ff0e9c68fe17b07 Author: Peng Wu Date: 2012-12-31 10:54:52 +0800 add ctrl switch to pinyin engine M src/PYPPinyinEngine.cc commit 477e9add7c6a009cc7a03077eddace878832b172 Author: Peng Wu Date: 2012-12-31 10:43:58 +0800 add ctrl switch to config M src/PYConfig.cc M src/PYConfig.h M src/PYPConfig.cc commit ac92c9c2ebe039af25391e4f115cc690ddd28eea Author: Peng Wu Date: 2012-12-18 17:03:46 +0800 update zh_CN.po M po/zh_CN.po commit 1fd93e0c66736ff961220cf0dfcc84ba583132ac Author: Peng Wu Date: 2012-12-18 16:35:15 +0800 update po M po/fr.po M po/ru.po M po/zh_CN.po M po/zh_HK.po M po/zh_TW.po commit 4a1bfc62e076a2b8c1026fd91d8bfcd3c35e36f0 Author: Peng Wu Date: 2012-12-18 11:17:57 +0800 fixes autogen.sh M autogen.sh commit e1f9e271092e07381afc2abe3f767f10435765e2 Author: Peng Wu Date: 2012-12-17 16:03:31 +0800 fixes letter labels M src/PYPinyinProperties.cc commit 382c9a706be19c3b4466afba8b964d50ece5c254 Author: Peng Wu Date: 2012-12-17 13:33:31 +0800 improves property labels M src/PYPinyinProperties.cc M src/PYProperty.h commit 6d70508e192367a1007dc6f10aed8ca3d3a25da9 Author: Peng Wu Date: 2012-12-05 12:24:17 +0800 bump version 1.5.91 M configure.ac commit 241bac9ba834573c25db72c44bff9d118a4ffe9f Author: Peng Wu Date: 2012-12-05 12:03:21 +0800 fixes get_pinyin_string M src/PYPDoublePinyinEditor.cc M src/PYPFullPinyinEditor.cc M src/PYPPinyinEditor.cc commit 938f2649b75efb3f0b72f3af7567ad8198d17147 Author: Peng Wu Date: 2012-12-05 12:00:51 +0800 fixes get_chewing_string M src/PYPBopomofoEditor.cc commit 9adfcbc7784845e324b84fb51bbfcc2c502e5b20 Author: Peng Wu Date: 2012-11-26 17:35:51 +0800 fixes symbol icon again M src/libpinyin.xml.in.in commit 409a626442945e4a4a10b9c31e2fc62fb5d248a0 Author: Peng Wu Date: 2012-11-26 16:58:37 +0800 fixes symbol icons M src/libpinyin.xml.in.in commit 1b6227451d5f7bdc5e8362eb4a77e941dbd83ef5 Author: Peng Wu Date: 2012-10-15 10:25:42 +0800 bump version 1.4.93 M configure.ac commit bd326aaa08a7af7917364e4acc63a6430e24b955 Author: Peng Wu Date: 2012-10-09 11:35:24 +0800 fixes bopomofo icon M src/libpinyin.xml.in.in commit cbef61619838758394a80a23fef064c73453fe4a Author: Peng Wu Date: 2012-10-08 13:46:05 +0800 detect libpinyin datadir M configure.ac M src/Makefile.am M src/PYLibPinyin.cc commit 05a4b696ecf2267e766f918c123756ff98e45df3 Author: Peng Wu Date: 2012-09-17 13:16:32 +0800 bump version 1.4.92 M configure.ac commit c9a90d9d324fd288a193d21ada62a06371a7ea01 Author: Peng Wu Date: 2012-09-17 12:00:02 +0800 fixes ';' in double pinyin M src/PYPDoublePinyinEditor.cc commit f8ec408bf992813ae1a20969e61a70bcaafa36a3 Author: Peng Wu Date: 2012-09-17 10:49:56 +0800 add symbol to libpinyin.xml.in.in M src/libpinyin.xml.in.in commit f6e4cd727a3fb4b12eaf6c020bccc977eafdfaf2 Author: Peng Wu Date: 2012-08-16 12:21:22 +0800 add libpinyin depends M configure.ac commit 38141a7f7b5e0a356bd8f9eb645c37320de75c1d Author: Peng Wu Date: 2012-08-13 13:32:14 +0800 fixes automake M po/POTFILES.in M setup/Makefile.am commit 12416774ba7dcd09d878bfd3aed493f2020c033e Author: Peng Wu Date: 2012-08-13 11:00:47 +0800 bump version 1.4.91 M configure.ac commit 96208d94b8fad1c51aac0984b18973fdb2d61231 Author: Peng Wu Date: 2012-08-10 13:39:51 +0800 fixes PYPConfig.cc M src/PYPConfig.cc commit b851547fe10ab112dbfbc303dd893f9f23d01d97 Author: Peng Wu Date: 2012-08-10 13:08:25 +0800 update setup code M setup/dicttreeview.py M setup/main2.py commit bd3dd5c576f10a43bf2aa42c7ebbce94eeb64c4c Author: Peng Wu Date: 2012-08-10 13:06:46 +0800 update setup ui M setup/ibus-libpinyin-preferences.ui commit 7b8ce834ecdcc68ad04362dc7dd1e6462772e907 Author: Peng Wu Date: 2012-08-09 15:44:56 +0800 add dicttreeview.py A setup/dicttreeview.py commit f3c0b69355f68f2bcd00f48211489c17d912f85d Author: Peng Wu Date: 2012-08-09 13:07:36 +0800 add m_dictionaries M src/PYConfig.cc M src/PYPConfig.cc commit 451b86fca949ee74cfec8e3494a096ea6fa7519a Author: Peng Wu Date: 2012-08-09 11:29:29 +0800 fixes processEnter M src/PYEnglishEditor.cc M src/PYStrokeEditor.cc commit c0b417a3a10b853cb030e1e8fd1c0c138f2ab801 Author: Peng Wu Date: 2012-08-08 16:52:03 +0800 add dictionaries option M src/PYConfig.h M src/PYLibPinyin.cc commit 2249b3cbdb13c3465b03b55e74eeea85f8612dcc Author: Peng Wu Date: 2012-08-08 16:26:17 +0800 update PYLibPinyin.* M src/PYLibPinyin.cc M src/PYLibPinyin.h commit 4a830d6660e877fd879e9b4ae55c4fda9a2087aa Author: Peng Wu Date: 2012-08-08 16:16:59 +0800 add init context M src/PYLibPinyin.cc M src/PYLibPinyin.h commit 9735999a0e80463c4489aad21770731ebd54a368 Author: Peng Wu Date: 2012-08-08 15:36:30 +0800 polish setup ui M setup/ibus-libpinyin-preferences.ui commit 1699997011a77354b7698fd9da2e8ee992785aff Author: Peng Wu Date: 2012-08-08 14:34:50 +0800 add dynamic adjust option M setup/main2.py M src/PYConfig.cc M src/PYLibPinyin.cc M src/PYPConfig.cc commit 068cd92477704ac43454e723a1c34e438280a592 Author: Peng Wu Date: 2012-08-08 14:36:57 +0800 clean up PYConfig.cc M src/PYConfig.cc commit 756f0d4107067160029bf96d758fb2956f4b1c34 Author: Peng Wu Date: 2012-08-08 14:02:53 +0800 update setup ui M setup/ibus-libpinyin-preferences.ui commit 9e993c55add75e2702486b9e46faa2ba5847d95d Author: Peng Wu Date: 2012-08-06 11:00:57 +0800 bump version 1.4.2 M configure.ac commit ba61017002ab815aa398adb5d24b0626e22ff64e Author: Peng Wu Date: 2012-08-06 10:23:09 +0800 fixes PYPConfig.cc M src/PYConfig.cc M src/PYPConfig.cc commit 3300a9085afbb30ea8ee00642b0e6c6c6fa8a164 Author: Peng Wu Date: 2012-08-06 09:34:42 +0800 clean up PYTypes.h M src/PYConfig.cc M src/PYTypes.h commit cae24c0a0508024dad2092552740a635a5ec8ac2 Author: Peng Wu Date: 2012-08-03 18:27:49 +0800 clean PYTypes.h M src/PYTypes.h commit 29a835c2c155397ae53759647809d0579f80b7f1 Author: Peng Wu Date: 2012-08-03 15:28:42 +0800 use DYNAMIC_ADJUST M src/PYLibPinyin.cc commit 64056479636f9d28d2f56036ebd86e6448401d11 Author: Peng Wu Date: 2012-08-03 11:20:13 +0800 fixes processFunctionKey M src/PYPPhoneticEditor.cc commit b30095a04e11dca7d377d6938f27d1a04a56e128 Author: Peng Wu Date: 2012-08-03 11:11:27 +0800 fixes getCursorLeftByWord M src/PYPPhoneticEditor.cc commit b4e468ed1cf74b3050a04d5cdf8422acc8118b23 Author: Peng Wu Date: 2012-08-02 16:07:23 +0800 fixes make distcheck M data/Makefile.am M po/POTFILES.in M po/POTFILES.skip commit fc5600bf52ddf7bc272544f7a96ea3b44717ed3c Author: Peng Wu Date: 2012-08-02 14:51:58 +0800 add desktop files M data/Makefile.am A data/ibus-setup-libbopomofo.desktop.in.in A data/ibus-setup-libpinyin.desktop.in.in commit 07ae7e85a27089238363c23c83e89b7c6f5393b6 Author: Peng Wu Date: 2012-08-02 11:24:39 +0800 polish aux text M src/PYEnglishEditor.cc M src/PYEnglishEditor.h M src/PYStrokeEditor.cc M src/PYStrokeEditor.h commit 88e6f403b0ed6a4eb33737c642d12b6fd462531b Author: Peng Wu Date: 2012-07-26 12:50:06 +0800 enable stroke editor M src/Makefile.am M src/PYPPinyinEngine.cc M src/PYPPinyinEngine.h commit 82f7ed8fe4f108fc5408708fa3dad6b29fc15448 Author: Peng Wu Date: 2012-07-26 12:29:42 +0800 write stroke editor M src/PYEnglishEditor.cc M src/PYStrokeEditor.cc commit e11dd04794b63a956cc388e9a6494b29ad026545 Author: Peng Wu Date: 2012-07-24 15:31:27 +0800 begin to write stroke editor M src/PYEnglishEditor.cc M src/PYStrokeEditor.cc commit 513c1bef69ad0813f31bf9b8cf0287bb266035ef Author: Peng Wu Date: 2012-07-23 13:18:55 +0800 update autoconf for stroke editor M configure.ac M src/Makefile.am M src/PYStrokeEditor.cc commit e4ddf0f70d56628e7a1cbfba521a0120c6447c4c Author: Peng Wu Date: 2012-07-23 13:08:43 +0800 polish code M src/PYEnglishEditor.h commit 5f944897168d6e4c25579752a459900480c27d6d Author: Peng Wu Date: 2012-07-23 13:08:27 +0800 add PYStrokeEditor.h A src/PYStrokeEditor.h commit 95cdd2bc87d74a4c908e2f91f1907ab353f77c59 Author: Peng Wu Date: 2012-07-23 11:31:39 +0800 update Makefile.am M data/Makefile.am commit ed5fb85f0ac78119761e92c2d038961e17b637d8 Author: Peng Wu Date: 2012-07-20 15:43:59 +0800 refine english editor M src/PYEnglishEditor.cc commit a1d11baae9a76eb690ca87e7e4a28e9d8295d99b Author: Peng Wu Date: 2012-07-20 15:42:36 +0800 write stroke database A src/PYStrokeEditor.cc commit 33073d91c1de88d161ba2251647f516dde21bd34 Author: Peng Wu Date: 2012-07-20 10:08:49 +0800 add strokes A data/strokes commit 007a7871e4b6c0e7beb90ceba1abdd439eb2329b Author: Peng Wu Date: 2012-07-18 17:24:55 +0800 write strokes.awk M data/english.awk A data/strokes.awk commit 47e41081fcc385894c8aa2694fdad41db65db42e Author: Peng Wu Date: 2012-07-16 14:02:02 +0800 update lua test case M lua/test.lua commit 3a689ab38ca4d73b54df2475592a1839102c5344 Author: Peng Wu Date: 2012-07-16 13:51:36 +0800 write register_converter M lua/lua-plugin-init.c commit dcdf9813c13856403142da5044ff6b51e2e2737d Author: Peng Wu Date: 2012-07-16 13:43:13 +0800 write int_to_hex_string M lua/lua-plugin-init.c commit 6a422d70a223a059393432ff45f7c1c3b1b44ae0 Author: Peng Wu Date: 2012-07-16 13:24:15 +0800 write utf8/utf16 conversion M lua/lua-plugin-init.c commit 9634aef4f33bca66f1634f305860131c22c722ac Author: Peng Wu Date: 2012-07-10 14:00:14 +0800 fixes selectCandidate for full pinyin M src/PYPPhoneticEditor.cc commit 2d8a65fdcefe0a8809740adb86f3d45d8c454793 Author: Peng Wu Date: 2012-07-09 15:50:04 +0800 fixes updatePinyin M src/PYPBopomofoEditor.cc M src/PYPDoublePinyinEditor.cc M src/PYPFullPinyinEditor.cc M src/PYPPhoneticEditor.cc commit a727155dc7dfeac0ac52e89c101003b9b2481a86 Author: Peng Wu Date: 2012-07-09 13:29:18 +0800 use divided table for full pinyin M src/PYLibPinyin.cc commit 87c19323a056947e42b573e92dfd4e29e320d99b Author: Peng Wu Date: 2012-07-09 13:20:15 +0800 improves full pinyin mode M src/PYPFullPinyinEditor.cc M src/PYPFullPinyinEditor.h commit 155103f5528d450c05c8639c64c8fef2cb9e52bd Author: Peng Wu Date: 2012-07-09 13:11:45 +0800 fixes selectCandidate M src/PYPPhoneticEditor.cc commit a742f0e61a9cc81ee14f5d66070bede4a737fa18 Author: Peng Wu Date: 2012-07-04 15:19:05 +0800 uses pinyin_load_phrase_library M src/PYLibPinyin.cc commit e16682240d6df8777a7b6605811258b5ec71cec1 Author: Peng Wu Date: 2012-07-04 13:19:47 +0800 fixes fillLookupTableByPage M src/PYPPhoneticEditor.cc commit 26b0d48bdb4fdefea795862c9a58acdb9cfb1b96 Author: Peng Wu Date: 2012-07-04 10:44:04 +0800 fixes fillLookupTableByPage M src/PYPPhoneticEditor.cc commit 0cb429b5bfa96f19705bf8ada56efdd2a0876a33 Author: Peng Wu Date: 2012-07-04 10:35:38 +0800 fixes reset M src/PYPPhoneticEditor.cc commit 3f74c3c61b3ea4b0fe13dfe3555477fc68c5d673 Author: Peng Wu Date: 2012-07-04 10:23:56 +0800 fixes fillLookupTableByPage M src/PYPPhoneticEditor.cc commit 268b6cb3d7be7ccbf1a38afcfc2220fab00077d7 Author: Peng Wu Date: 2012-07-04 10:13:09 +0800 fixes getPinyinCursor M src/PYPPhoneticEditor.cc commit c4476db5b591139c3c9c0f388be87459d550ec81 Author: Peng Wu Date: 2012-07-03 16:28:17 +0800 bump version 1.4.1 M configure.ac commit c28adc1cd6758b61d8f2a07eff9d8d9c9ea9f2a4 Author: Peng Wu Date: 2012-07-03 11:31:10 +0800 update to use libpinyin 0.7.x M src/PYPPhoneticEditor.cc M src/PYPPhoneticEditor.h commit ae458c78989739e3b97fc1bfe6a1e0191d6d8607 Author: Peng Wu Date: 2012-06-13 11:00:58 +0800 update ibus-libpinyin.spec.in M ibus-libpinyin.spec.in commit 6605d6974c2f7de659b5374d3bf45af4cdeaf36d Author: Peng Wu Date: 2012-06-12 14:05:43 +0800 update fsf address M Makefile.am M configure.ac M data/Makefile.am M data/db/android/Makefile.am M lua/Makefile.am M m4/Makefile.am M setup/Makefile.am M setup/ibus-setup-libpinyin.in M setup/main2.py M setup/version.py.in M src/Makefile.am commit 171bce8e19fb2035108a12dc5b8be1e57dc710dc Author: Peng Wu Date: 2012-06-12 14:02:30 +0800 update fsf address M lua/lua-ext-console.c M lua/lua-plugin-init.c M lua/lua-plugin.c M lua/lua-plugin.h M lua/test-lua-plugin.c M src/PYBus.h M src/PYConfig.cc M src/PYConfig.h M src/PYDynamicSpecialPhrase.cc M src/PYDynamicSpecialPhrase.h M src/PYEditor.cc M src/PYEditor.h M src/PYEngine.cc M src/PYEngine.h M src/PYEnglishEditor.cc M src/PYEnglishEditor.h M src/PYExtEditor.cc M src/PYExtEditor.h M src/PYFallbackEditor.cc M src/PYFallbackEditor.h M src/PYHalfFullConverter.cc M src/PYHalfFullConverter.h M src/PYLibPinyin.cc M src/PYLibPinyin.h M src/PYLookupTable.h M src/PYMain.cc M src/PYObject.h M src/PYPBopomofoEditor.cc M src/PYPBopomofoEditor.h M src/PYPBopomofoEngine.cc M src/PYPBopomofoEngine.h M src/PYPConfig.cc M src/PYPConfig.h M src/PYPDoublePinyinEditor.cc M src/PYPDoublePinyinEditor.h M src/PYPFullPinyinEditor.cc M src/PYPFullPinyinEditor.h M src/PYPPhoneticEditor.cc M src/PYPPhoneticEditor.h M src/PYPPinyinEditor.cc M src/PYPPinyinEditor.h M src/PYPPinyinEngine.cc M src/PYPPinyinEngine.h M src/PYPinyinProperties.cc M src/PYPinyinProperties.h M src/PYPointer.h M src/PYProperty.h M src/PYPunctEditor.cc M src/PYPunctEditor.h M src/PYRawEditor.h M src/PYRegex.h M src/PYSignal.h M src/PYSimpTradConverter.cc M src/PYSimpTradConverter.h M src/PYSpecialPhrase.cc M src/PYSpecialPhrase.h M src/PYSpecialPhraseTable.cc M src/PYSpecialPhraseTable.h M src/PYString.h M src/PYText.h M src/PYTypes.h M src/PYUtil.h commit 729a9fc188632ee58122de88e64d72550578057b Author: Peng Wu Date: 2012-06-11 12:59:08 +0800 update main2.py M setup/main2.py commit acace0e530b29b2f07b492a88fed118ebafd5c7e Author: Peng Wu Date: 2012-06-08 11:27:12 +0800 update spec.in M ibus-libpinyin.spec.in commit 78b8e5284f4770a4ee23a4347c29f3f31df16ce9 Author: Peng Wu Date: 2012-06-07 17:57:39 +0800 update spec.in M ibus-libpinyin.spec.in commit 1e93f257c2b68ecc25e0dcf38918a1fbd928b753 Author: Peng Wu Date: 2012-06-07 17:43:31 +0800 clean up files D codereview.settings commit 2e391876b1916294d176ba21e8921d5f027547ee Author: Peng Wu Date: 2012-06-07 11:54:45 +0800 remove debian D debian/changelog.in D debian/compat D debian/control D debian/copyright D debian/docs D debian/ibus-pinyin.lintian-overrides D debian/rules D debian/source/format D debian/watch commit d6a87b8924d8831de6bae4b0496514e8be2ea20e Author: Peng Wu Date: 2012-06-06 14:19:38 +0800 update README M README commit 652087dca8a13b108a7d1062c422454414750b12 Author: Peng Wu Date: 2012-06-06 14:17:32 +0800 update PYMain.cc M src/PYMain.cc commit c321d2159117fcad1913d1610097e32d2880a69a Author: Peng Wu Date: 2012-06-06 14:02:27 +0800 update configure.ac M configure.ac commit ffca46c0df2a6795b16a4798f0cece3c0058370c Author: Peng Wu Date: 2012-06-06 13:51:17 +0800 update scripts M setup/main2.py M setup/version.py.in commit ec434b4976ec46df7220443e9fed0e09e27f501e Author: Peng Wu Date: 2012-06-06 13:49:41 +0800 update lua M lua/lua-ext-console.c M lua/lua-plugin-init.c commit 4de6472ff2009b4bceb73258d29ced2a0ca9cb52 Author: Peng Wu Date: 2012-06-06 13:48:00 +0800 update Makefile.am M Makefile.am M data/Makefile.am M data/db/android/Makefile.am M data/icons/Makefile.am M lua/Makefile.am M m4/Makefile.am M setup/Makefile.am M src/Makefile.am commit 68f5fd1e62b513dd1aeec7c3fae7e18b8ebaec09 Author: Peng Wu Date: 2012-06-06 13:45:47 +0800 update lua M lua/lua-ext-console.c M lua/lua-plugin-init.c M lua/lua-plugin.c M lua/lua-plugin.h M lua/test-lua-plugin.c commit 1c9a7295dcc1da382bf83a516f39a0e36ccfc4c8 Author: Peng Wu Date: 2012-06-06 13:45:12 +0800 update src M src/PYBus.h M src/PYConfig.cc M src/PYConfig.h M src/PYDynamicSpecialPhrase.cc M src/PYDynamicSpecialPhrase.h M src/PYEditor.cc M src/PYEditor.h M src/PYEngine.cc M src/PYEngine.h M src/PYEnglishEditor.cc M src/PYEnglishEditor.h M src/PYExtEditor.cc M src/PYExtEditor.h M src/PYFallbackEditor.cc M src/PYFallbackEditor.h M src/PYHalfFullConverter.cc M src/PYHalfFullConverter.h M src/PYLibPinyin.cc M src/PYLibPinyin.h M src/PYLookupTable.h M src/PYMain.cc M src/PYObject.h M src/PYPBopomofoEditor.cc M src/PYPBopomofoEditor.h M src/PYPBopomofoEngine.cc M src/PYPBopomofoEngine.h M src/PYPConfig.cc M src/PYPConfig.h M src/PYPDoublePinyinEditor.cc M src/PYPDoublePinyinEditor.h M src/PYPFullPinyinEditor.cc M src/PYPFullPinyinEditor.h M src/PYPPhoneticEditor.cc M src/PYPPhoneticEditor.h M src/PYPPinyinEditor.cc M src/PYPPinyinEditor.h M src/PYPPinyinEngine.cc M src/PYPPinyinEngine.h M src/PYPinyinProperties.cc M src/PYPinyinProperties.h M src/PYPointer.h M src/PYProperty.h M src/PYPunctEditor.cc M src/PYPunctEditor.h M src/PYRawEditor.h M src/PYRegex.h M src/PYSignal.h M src/PYSimpTradConverter.cc M src/PYSimpTradConverter.h M src/PYSpecialPhrase.cc M src/PYSpecialPhrase.h M src/PYSpecialPhraseTable.cc M src/PYSpecialPhraseTable.h M src/PYString.h M src/PYText.h M src/PYTypes.h M src/PYUtil.h commit 550c0d82cdff8b53b934c0a0c78f58244de96553 Author: Peng Wu Date: 2012-06-06 13:35:31 +0800 update fr.po M po/fr.po commit e6cadcf945641a3c940174b9f07791b0a4011442 Author: Peng Huang Date: 2012-03-22 10:45:45 -0400 Add French translation from Jiehong Ma BUG=None TEST=Make Review URL: https://codereview.appspot.com/5865049 M AUTHORS M po/LINGUAS A po/fr.po commit e72e8bed3624942615fa478b071f211c96af3186 Author: Peng Wu Date: 2012-06-06 11:07:31 +0800 clean db D src/main.db commit 82cc031c6537d55c84722ad420e431dc71eefecd Author: Peng Wu Date: 2012-06-06 11:02:54 +0800 clean android db D data/db/Makefile.am D data/db/android/id.py D data/db/android/pydict.py D data/db/create_index.sql commit 149eb1967a2b7da86e934c79fa6d62cb673bf885 Author: Peng Wu Date: 2012-06-06 11:00:07 +0800 clean scripts D scripts/id.py D scripts/pydict.py D scripts/pyutil.py commit 949bfb012c97a71435e627ed48b4f2205a6a7d39 Author: Peng Wu Date: 2012-06-06 10:38:08 +0800 clean scripts D scripts/bopomofo.py D scripts/double.py D scripts/genbopomofokeyboard.py D scripts/genpytable.py commit 4d8398255acc7556bb45c34cd2cb77dbe6d2ae3e Author: Peng Wu Date: 2012-06-06 10:32:53 +0800 remove scripts D scripts/addheader.py D scripts/header commit 928a7cce363dee8b42452bc0cf99c6070c6d4626 Author: Peng Wu Date: 2012-06-06 10:29:27 +0800 clean up scripts D data/db/android/create_db.py D scripts/Makefile D scripts/create_db.py D scripts/create_index.py D scripts/create_unique_index.py commit eb35544148080f975b82ba279653cf9e4e7c589a Author: Peng Wu Date: 2012-06-04 09:21:36 +0800 update *.po M po/ru.po M po/zh_CN.po M po/zh_HK.po M po/zh_TW.po commit 5226ce8b3e72f2ed3727e10ac21477ebdba1a0c1 Author: Peng Wu Date: 2012-06-04 09:19:00 +0800 update main2.py M setup/main2.py commit 2bd60050bde533846bab6d63e585430aaa9e418b Author: Peng Wu Date: 2012-06-01 17:39:23 +0800 fixes ibus-setup-libpinyin.in M setup/ibus-setup-libpinyin.in commit f07ef4416614262dd9d144b762aad7f908166b54 Author: Peng Wu Date: 2012-06-01 15:47:06 +0800 update Makefile.am M Makefile.am commit db0dfc0fae8de7b3cf83746dc8a082c9fcf7ec3f Author: Peng Wu Date: 2012-06-01 15:46:31 +0800 remove googlecode_upload.py D tools/googlecode_upload.py commit 5940250360c06324be9e31bd1072328137a47a51 Author: Peng Wu Date: 2012-06-01 15:00:58 +0800 fixes rpm build M autogen.sh M ibus-libpinyin.spec.in M setup/Makefile.am commit 2bff621cb26a6141ed5e28f92d20452ec771aea4 Author: Peng Wu Date: 2012-06-01 13:03:05 +0800 remove PYBopomofo.h M src/Makefile.am D src/PYBopomofo.h commit 1fdda7f796bbf8c953a6ff9b64c68fdeb9044cf0 Author: Peng Wu Date: 2012-06-01 11:56:47 +0800 update ibus pathname M src/PYMain.cc M src/libpinyin.xml.in.in commit 61f47b0dcedffe35b984c873dc7b35b5ab4c448b Author: Peng Wu Date: 2012-06-01 11:49:18 +0800 update .gitignore M .gitignore commit 4aa64d6ac11b9e5aafaa404469c5550ffb1321f5 Author: Peng Wu Date: 2012-06-01 11:43:44 +0800 update ibus-libpinyin.spec.in M ibus-libpinyin.spec.in commit e73f59fef83b3076ccc163a239d3e36566b315d2 Author: Peng Wu Date: 2012-06-01 11:29:18 +0800 update Makefile.am M Makefile.am M src/Makefile.am commit ce965dca5d815cedac1858fd1db6f542177f01b3 Author: Peng Wu Date: 2012-06-01 11:24:35 +0800 update configure.ac M configure.ac R100 ibus-pinyin.spec.in ibus-libpinyin.spec.in R100 src/pinyin.xml.in.in src/libpinyin.xml.in.in commit b20cb8d0a3f921672f18236aa8ba12ab9d0cc292 Author: Peng Wu Date: 2012-05-31 11:13:46 +0800 remove old files D src/PYPhrase.h D src/PYPhraseArray.h D src/PYPinyinArray.h commit d3fd64168da469875adb5de72ca482582fa7e4db Author: Peng Wu Date: 2012-05-31 11:13:33 +0800 update Makefile.am M src/Makefile.am commit c54cf0915b71e6424097b762056df1e437a9ef6e Author: Peng Wu Date: 2012-05-30 14:50:51 +0800 fixes build M configure.ac M po/POTFILES.in commit 75852ad1e28e031a618eb698b1b0f1797ac2b7b9 Author: Peng Wu Date: 2012-05-30 14:49:04 +0800 update setup/Makefile.am M setup/Makefile.am commit 8b830a632196f887cbbab85a21c0f83f74fa4bb9 Author: Peng Wu Date: 2012-05-30 14:47:21 +0800 clean old files D setup/ibus-pinyin-preferences.ui D setup/ibus-setup-pinyin.in D setup/main.py commit 8c08f5a4696d102467ebdbdada09265b2903035a Author: Peng Wu Date: 2012-05-30 14:26:23 +0800 update po/POTFILES.in M po/POTFILES.in commit fd503af86b179da3f9457cb64554a86015e15ce5 Author: Peng Wu Date: 2012-05-30 14:23:53 +0800 update po/POTFILES.in M po/POTFILES.in commit 0ae300af8c4a1c05a3f51cb49e36b6e51eb6964d Author: Peng Wu Date: 2012-05-30 14:20:12 +0800 update src/Makefile.am M src/Makefile.am commit 0f9a8b59a5b06e054fd732cef30167f7f03ce554 Author: Peng Wu Date: 2012-05-30 14:11:11 +0800 remove open-phrase db D data/db/open-phrase/Makefile.am commit 8856391c70074bbaa834a06c9f0651825f8c7689 Author: Peng Wu Date: 2012-05-30 14:10:00 +0800 Revert "remove android db and open-phrase db" This reverts commit f422b98164096cf038008e4c3788cbfbbb651a89. A data/db/Makefile.am A data/db/android/Makefile.am A data/db/android/README A data/db/android/create_db.py A data/db/android/create_valid_hanzi.py A data/db/android/id.py A data/db/android/pydict.py A data/db/android/rawdict_utf16_65105_freq.txt A data/db/android/valid_hanzi.py A data/db/android/valid_utf16.txt A data/db/create_index.sql A data/db/open-phrase/Makefile.am commit 945aaccfbcc49ee35d6102a63afd495f16c291a2 Author: Peng Wu Date: 2012-05-30 14:02:42 +0800 update ibus-pinyin.spec.in M Makefile.am M ibus-pinyin.spec.in M po/POTFILES.skip commit c6086e369c9cbc2c19757301971e3d1e7f0e854d Author: Peng Wu Date: 2012-05-30 13:58:27 +0800 update configure.ac M configure.ac commit f422b98164096cf038008e4c3788cbfbbb651a89 Author: Peng Wu Date: 2012-05-30 13:56:53 +0800 remove android db and open-phrase db D data/db/Makefile.am D data/db/android/Makefile.am D data/db/android/README D data/db/android/create_db.py D data/db/android/create_valid_hanzi.py D data/db/android/id.py D data/db/android/pydict.py D data/db/android/rawdict_utf16_65105_freq.txt D data/db/android/valid_hanzi.py D data/db/android/valid_utf16.txt D data/db/create_index.sql D data/db/open-phrase/Makefile.am commit 9a90fbabfdbd988db6a021fda90bc986a74eee37 Author: Peng Wu Date: 2012-05-30 13:55:44 +0800 update Makefile.am M data/Makefile.am commit 12eef51db34a6e1e1071c7cdd4a6512c37a5cd9b Author: Peng Wu Date: 2012-05-30 13:54:55 +0800 clean up pinyin.xml.in.in M src/pinyin.xml.in.in commit 84a75bd8a0b3139a96fe32408210083f4d35847c Author: Peng Wu Date: 2012-05-30 13:53:45 +0800 update Makefile.am M src/Makefile.am commit 02d8d300157556f3b1db41d7affdddaa5f1b32e1 Author: Peng Wu Date: 2012-05-30 13:52:19 +0800 remove old files D src/PYBopomofoKeyboard.h commit b5175e393b0e6d8106201f5b0d470f70c12fd8c5 Author: Peng Wu Date: 2012-05-30 13:51:34 +0800 update Makefile.am M src/Makefile.am commit 3d61124c8a180b6044c5ec11c2fbb55b4c72ce74 Author: Peng Wu Date: 2012-05-30 13:50:21 +0800 remove old files M src/PYConfig.cc D src/PYDoublePinyinTable.h D src/PYPinyinParserTable.h commit c9f554219d36a74ecc7d9de36bac935c73bc0306 Author: Peng Wu Date: 2012-05-30 13:47:20 +0800 fixes compile M src/PYConfig.cc M src/PYMain.cc commit 22f04155f71ff5d4e9d003bf98296acde385bacc Author: Peng Wu Date: 2012-05-30 13:46:07 +0800 clean up PYConfig.h/cc M src/PYConfig.cc M src/PYConfig.h commit 6c791870980d208623893b727394607b5300ac3e Author: Peng Wu Date: 2012-05-30 13:41:35 +0800 clean up PYMain.cc M src/PYMain.cc commit 7862a2683f6358e7b04c3a94a14e9abebe0570be Author: Peng Wu Date: 2012-05-30 13:39:18 +0800 fixes compile M src/PYEngine.cc M src/PYMain.cc commit 692728d5de414766be9faf81d298facec4cc94b2 Author: Peng Wu Date: 2012-05-30 13:32:41 +0800 update Makefile.am M src/Makefile.am commit 0be5dc6e762d622c3d0662a6f4d1d54f26b187ed Author: Peng Wu Date: 2012-05-30 13:31:29 +0800 remove old files D src/PYBopomofoEditor.cc D src/PYBopomofoEditor.h D src/PYBopomofoEngine.cc D src/PYBopomofoEngine.h D src/PYDoublePinyinEditor.cc D src/PYDoublePinyinEditor.h D src/PYFullPinyinEditor.cc D src/PYFullPinyinEditor.h commit 08e18cd2e90d748b191d974768d7c77c7dc00de6 Author: Peng Wu Date: 2012-05-30 13:30:16 +0800 update Makefile.am M src/Makefile.am commit 8496189f89f5d25624f63459803225419904444b Author: Peng Wu Date: 2012-05-30 13:27:00 +0800 remove old files D src/PYDatabase.cc D src/PYDatabase.h D src/PYPhoneticEditor.cc D src/PYPhoneticEditor.h D src/PYPhraseEditor.cc D src/PYPhraseEditor.h D src/PYPinyinEditor.cc D src/PYPinyinEditor.h D src/PYPinyinEngine.cc D src/PYPinyinEngine.h D src/PYPinyinParser.cc D src/PYPinyinParser.h commit 3717bfcf2b5334c4d5800cb2239ab33410e7c26a Author: Peng Wu Date: 2012-04-17 12:45:47 +0800 update pinyin_choose_candidate M src/PYPPhoneticEditor.cc commit 7a2b74326e066f4672207199971c9ce41dc31a39 Author: Peng Wu Date: 2012-04-10 10:48:36 +0800 fixes commit in bopomofo editor M src/PYPBopomofoEditor.cc commit 0ff6dabf0a1c0e5678487d8d273b21e2a1c65ff0 Author: Peng Wu Date: 2012-04-01 14:52:28 +0800 polish setup ui M setup/ibus-libpinyin-preferences.ui M setup/main2.py commit 26067f84fb3793e9559f60d3caf70404dad99458 Author: Peng Wu Date: 2012-03-27 12:14:16 +0800 update setup ui M setup/ibus-libpinyin-preferences.ui commit 1cf2c71ff9612ddbea6b2c3f69ffb773ec1f242a Author: Peng Wu Date: 2012-03-27 11:59:38 +0800 update libpinyin setup M setup/main2.py M src/PYPConfig.cc commit c8990ccfce7a17aeaf91a72dfa585e60a71192a6 Author: Peng Wu Date: 2012-03-26 14:00:26 +0800 update setup ui M setup/ibus-libpinyin-preferences.ui commit fbe55876db048bc375c99d0b7fa7dc023061d0b9 Author: Peng Wu Date: 2012-03-26 13:58:35 +0800 update setup dialog M configure.ac M setup/Makefile.am A setup/ibus-setup-libpinyin.in M setup/main2.py M src/PYPBopomofoEngine.cc M src/PYPPinyinEngine.cc commit d093c2d0837266fe21ff01016819dd4e2bfdd83c Author: Peng Wu Date: 2012-03-26 13:50:28 +0800 update main.py M setup/main.py M setup/main2.py commit 0774ffed825adcf4cc3c1f9112be478a2be48918 Author: Peng Wu Date: 2012-03-26 12:07:01 +0800 fork setup ui A setup/ibus-libpinyin-preferences.ui A setup/main2.py commit 17a3ca51fccbbda4520be38ebbdc8f45673ffdff Author: Peng Wu Date: 2012-03-20 15:45:58 +0800 remove ibus dconf work around M src/PYConfig.cc M src/PYPConfig.cc commit e352759e39907c1f6152bade4d1559d31916a0e2 Author: Peng Wu Date: 2012-02-15 15:17:38 +0800 fixes pinyin.xml.in.in M src/pinyin.xml.in.in commit de0ae3f9568f3d139a0790f23d2cba948d1180cf Author: Peng Wu Date: 2012-02-15 13:32:19 +0800 clean pinyin.xml.in.in M src/pinyin.xml.in.in commit 3ccb1e9dadc52dcaa31f7f8cce9edac8a6b3d498 Author: Peng Wu Date: 2012-02-09 11:09:40 +0800 update pinyin.xml M src/pinyin.xml.in.in commit e485aee4d5f1c0eb6abd6562f296e7dee3e92f3e Author: Peng Wu Date: 2012-02-07 11:38:04 +0800 use enter key to commit english word M src/PYPPhoneticEditor.cc commit 6565bdd3842e44647e007319b192193b36d396b2 Author: Peng Wu Date: 2012-01-30 10:49:57 +0800 fixes process bopomofo M src/PYPBopomofoEditor.cc commit 48aa7a0e16f876464e0162db13c2162f12052e33 Author: Peng Wu Date: 2012-01-30 10:36:27 +0800 fixes chewing options M src/PYLibPinyin.cc commit ddee3cc2d3154d7715261aa5d0b7593b8ab0cd73 Author: Peng Wu Date: 2012-01-29 10:30:43 +0800 enable libbopomofo M src/pinyin.xml.in.in commit 6566626d54e59afbf32ada25e0ca32f0f7eda045 Author: Peng Wu Date: 2012-01-29 10:20:35 +0800 fixes PYConfig.cc M src/PYConfig.cc M src/PYPConfig.cc commit f6b0dc8ef534ce7c514c99ba1706e91b1ce0b2fb Author: Peng Wu Date: 2012-01-16 13:31:27 +0800 fixes +.+ M src/PYPBopomofoEngine.cc M src/PYPPinyinEngine.cc commit 37d46d80dd635e916549bb035a90be16cb433ade Author: Peng Wu Date: 2012-01-14 10:38:12 +0800 use USE_RESPLIT_TABLE M src/PYLibPinyin.cc commit e2139d4027af85160748af525f4d624f4b236347 Author: Peng Wu Date: 2012-01-05 12:46:08 +0800 fixes PY::Config M src/PYConfig.cc commit 4bbebc9dd00b98304232e12231548dd78782d6c7 Author: Peng Wu Date: 2011-12-29 18:06:46 +0800 fixes crash M src/PYPPinyinEditor.cc commit 998401f0c4c239fe6e804ab7b403b19c151fd13f Author: Peng Wu Date: 2011-12-28 14:39:53 +0800 work around gsettings M src/PYPConfig.cc commit e944e7d63af8152b20bffdd4ddeb3bd7fa786e31 Author: Peng Wu Date: 2011-12-27 18:59:07 +0800 fixes code style M src/PYLibPinyin.cc M src/PYMain.cc M src/PYPConfig.h commit 27b889202f81006fb16566b4f460fd353a5ff689 Author: Peng Wu Date: 2011-12-27 14:05:04 +0800 fixes crash M src/PYPBopomofoEditor.cc M src/PYPFullPinyinEditor.cc commit 9d175347f6bbe6b1655c34fee71fb7aad3b24e31 Author: Peng Wu Date: 2011-12-27 10:47:15 +0800 fixes PYConfig M src/PYConfig.cc M src/PYPConfig.cc commit 163b21e23f0621e6cfaf424b914aa33bda891294 Author: Peng Wu Date: 2011-12-22 10:54:11 +0800 switch to LibPinyin*Config M src/PYLibPinyin.cc M src/PYMain.cc M src/PYPBopomofoEngine.cc M src/PYPPinyinEngine.cc commit 98118c2e9ef40e1ce33806a03d206a0e6027e65f Author: Peng Wu Date: 2011-12-21 12:53:51 +0800 update bopomofo editor M src/PYPBopomofoEditor.cc M src/PYPBopomofoEditor.h M src/PYPDoublePinyinEditor.cc M src/PYPFullPinyinEditor.cc commit e0af17eacda954dadaf84c474e6dedd707986f80 Author: Peng Wu Date: 2011-12-20 17:28:48 +0800 use new parsers M src/Makefile.am M src/PYPBopomofoEditor.cc M src/PYPDoublePinyinEditor.cc M src/PYPFullPinyinEditor.cc M src/PYPPhoneticEditor.cc M src/PYPPhoneticEditor.h M src/PYPPinyinEditor.cc commit fa92d8b0c2100ed37983f1bd210695d16ce9182b Author: Peng Wu Date: 2011-12-20 17:05:00 +0800 forked PY::Config M src/PYLibPinyin.cc M src/PYLibPinyin.h commit 904ce4a5ade3e04c063081b549b75efafad73f56 Author: Peng Wu Date: 2011-12-20 16:42:41 +0800 add LibPinyin Config M src/Makefile.am A src/PYPConfig.cc A src/PYPConfig.h commit 31abb4ac2825319bd33bd9f6748cc4627ab5311e Author: Peng Wu Date: 2011-11-25 15:23:41 +0800 fixes process space in libpinyin phonetic editor M src/PYPPhoneticEditor.cc commit 092b927577798f6e4742c6a0d8e98fcd4d30adea Author: Peng Wu Date: 2011-11-22 10:54:35 +0800 fixes pinyin yunmu 'v' handle M src/PYPFullPinyinEditor.cc commit 0fb453ad10c68a4a4462c1e163afd5825696d9d3 Author: Peng Wu Date: 2011-11-14 14:23:10 +0800 fixes fill candidates M src/PYPPhoneticEditor.cc commit 3fbb80c187f3dc4b7296d838a78a054fe82d3266 Author: Peng Wu Date: 2011-11-08 14:14:48 +0800 fixes first candidate M src/PYPPhoneticEditor.cc commit 4052c696561ff06e74029cd1ec43355295e15e8c Author: Peng Wu Date: 2011-11-08 13:14:34 +0800 remove duplicated candidates M src/PYPPhoneticEditor.cc commit 705c791f5c535bc02c349c6ea686d6b69db6b559 Author: Peng Wu Date: 2011-11-08 13:03:31 +0800 clean code M src/PYPPhoneticEditor.cc commit 7a10a4c189f8f28333c4bd8857a9bba4fd009a59 Author: Peng Wu Date: 2011-11-07 15:09:46 +0800 show the rest of guessed sentence M src/PYPPhoneticEditor.cc commit 2db3c83f7ed2dbcba3c579cfe9963577eaf58a59 Author: Peng Wu Date: 2011-11-07 14:50:54 +0800 add get lookup cursor function M src/PYPPhoneticEditor.cc M src/PYPPhoneticEditor.h commit 4b12c07f98d9e0cb437034ad5215b9001e98321e Author: Peng Wu Date: 2011-11-07 14:40:06 +0800 fixes select candidate M src/PYPPhoneticEditor.cc commit d51411dd4f9e728c68ccdf9949198fa6f16b753f Author: Peng Wu Date: 2011-11-07 14:22:19 +0800 show guessed sentence in lookup table M src/PYPPhoneticEditor.cc commit 266f166b84f396dac50f4cdc4106527a635ade4b Author: Peng Wu Date: 2011-11-07 13:39:58 +0800 remove cursor by word functions M src/PYPBopomofoEditor.cc M src/PYPPinyinEditor.cc commit b068207b550f53309f5950ee14a2124224c36841 Author: Peng Wu Date: 2011-11-07 13:33:28 +0800 copy move cursor by word functions M src/PYPPhoneticEditor.cc commit 9ea1f7abfe470fd0b2f4832eee612e98d62072b4 Author: Peng Wu Date: 2011-11-07 13:14:06 +0800 update header M src/PYPBopomofoEditor.h M src/PYPPhoneticEditor.h M src/PYPPinyinEditor.h commit c17b5a6fba9af303e7d8c1d8a2575aeccc6fe596 Author: Peng Wu Date: 2011-11-07 12:53:41 +0800 fixes 'hon' auto correction M src/PYPFullPinyinEditor.cc commit 1aa1e525b824b52795fdd84551077f4fdd1d3982 Author: Peng Wu Date: 2011-11-03 13:19:12 +0800 add compile flags M configure.ac M src/Makefile.am M src/PYConfig.cc M src/PYEngine.cc M src/PYMain.cc commit ff59fc1cc01c973d43cef4365293b906690c6481 Author: Peng Wu Date: 2011-11-03 11:31:05 +0800 fixes select candidate M src/PYPPhoneticEditor.cc commit ad473e4b6d938b5e4cba72ecb49a4e5cc756cb4a Author: Peng Wu Date: 2011-10-31 11:18:09 +0800 improves pinyin.xml M src/pinyin.xml.in.in commit 8c9b93ed7da9df14257b6f8d555a8b5a6defccae Author: Peng Wu Date: 2011-10-27 11:36:59 +0800 hide bopomofo M src/pinyin.xml.in.in commit 59b266d410cedb70f2b8b2aa8c1619184b2fb0ee Author: Peng Wu Date: 2011-10-26 10:10:58 +0800 add save support M src/PYLibPinyin.cc M src/PYLibPinyin.h M src/PYPBopomofoEditor.cc M src/PYPPinyinEditor.cc commit 4d6a548b773ab5d59641208b5668a000287075d3 Author: Peng Wu Date: 2011-10-25 14:36:36 +0800 add user data directory support M src/PYLibPinyin.cc commit a83024ca7e24c5a1bd3054f7824d985e2f67bbf8 Author: Peng Wu Date: 2011-10-25 14:11:13 +0800 update pinyin.xml.in.in M src/pinyin.xml.in.in commit 5250368d8b054195b68388fe9675778f582f28ed Author: Peng Wu Date: 2011-10-11 11:14:18 +0800 fixes choose candidate M src/PYPPhoneticEditor.cc commit 84ba51d4a668b8b6d7f93f2c142b9def4c1fba09 Author: Peng Wu Date: 2011-10-10 17:30:39 +0800 fixes space handle M src/PYPPhoneticEditor.cc M src/PYPPinyinEditor.cc commit f93acc44b3cc2c14ed739c9a70ca2538dd970789 Author: Peng Wu Date: 2011-10-10 15:25:20 +0800 fixes commit/reset M src/PYPPhoneticEditor.cc commit 4b6fb2b018f52b1af75fa8aebb629497fef5a07f Author: Peng Wu Date: 2011-10-10 14:08:17 +0800 add update when select candidate M src/PYPBopomofoEditor.cc M src/PYPPhoneticEditor.cc M src/PYPPinyinEditor.cc commit bb096fc88fdfb03deb8e29f0865676f540ce3669 Author: Peng Wu Date: 2011-10-10 13:08:27 +0800 update main.py M setup/main.py commit c8ca05ddaeb49f990ce486ad66b2d0eb84c57b7c Author: Peng Wu Date: 2011-10-08 19:01:16 +0800 fixes update preedit text M src/PYPBopomofoEditor.cc M src/PYPPinyinEditor.cc commit 68542b98d00d853e4a697a037905e10bc4671d5d Author: Peng Wu Date: 2011-10-08 18:53:12 +0800 add to pinyin.xml.in.in M src/pinyin.xml.in.in commit 6a11e90a42cbca5c4a0990b5af780a61e4770d1e Author: Peng Wu Date: 2011-10-08 11:40:11 +0800 fixes chewing editor M src/PYEngine.cc M src/PYPBopomofoEditor.cc commit c22d0d6a24c969821e60f624fd93b1851fc334ab Author: Peng Wu Date: 2011-10-08 11:29:03 +0800 fixes double pinyin M src/PYPDoublePinyinEditor.cc M src/PYPFullPinyinEditor.cc commit 4f6d9fdb5723b7d9141524dfcb3c049ee37a2ed7 Author: Peng Wu Date: 2011-10-08 10:37:40 +0800 fixes full editor M src/PYPFullPinyinEditor.cc M src/PYPPhoneticEditor.cc M src/PYPPinyinEngine.cc commit 4f1d32d049a3769fb09b43dc130353a1f1b8766b Author: Peng Wu Date: 2011-10-08 10:11:35 +0800 add engines M src/PYMain.cc commit 1e18f80266808ba71138775d73244abff6f2fdd7 Author: Peng Wu Date: 2011-10-08 10:03:26 +0800 alloc/free pinyin instance M src/PYMain.cc M src/PYPBopomofoEditor.cc M src/PYPDoublePinyinEditor.cc M src/PYPDoublePinyinEditor.h M src/PYPFullPinyinEditor.cc M src/PYPPinyinEditor.h commit 1e7522cfd85fbf7ed2ef512ae8f093039f7a699d Author: Peng Wu Date: 2011-10-07 13:05:20 +0800 write PYConfig M src/PYConfig.cc commit e5870dfe0dc3a85182b8f92322ac25127de10af5 Author: Peng Wu Date: 2011-10-07 12:53:14 +0800 write libpinyin backend M src/PYLibPinyin.cc commit fd1f18c48e6fbec50e8c908552c446c60363a94b Author: Peng Wu Date: 2011-09-30 10:54:25 +0800 add lazy init M src/PYLibPinyin.cc M src/PYLibPinyin.h commit 5eafd4293c651be31bd1fdc8e406f8db48dcd8af Author: Peng Wu Date: 2011-09-30 10:30:11 +0800 add show setup M src/PYPBopomofoEngine.cc M src/PYPPinyinEngine.cc commit 4de98d738a224f4e7a72e01c2be24d280fbb4f3a Author: Peng Wu Date: 2011-09-29 15:08:52 +0800 add libpinyin engines to PYEngine.cc M src/PYEngine.cc commit 6438ef7044c5d6d5e6e187dfd7d5c57deb601e8c Author: Peng Wu Date: 2011-09-29 14:59:44 +0800 add PYPBopomofoEngine.cc M src/Makefile.am A src/PYPBopomofoEngine.cc commit 08242f69f3740431d0fadc352fbcad7535827eb1 Author: Peng Wu Date: 2011-09-29 13:46:48 +0800 add PYPBopomofoEngine.h M src/Makefile.am A src/PYPBopomofoEngine.h commit b35d3416c2ea19f1ec33b622db3968f1c78804e2 Author: Peng Wu Date: 2011-09-29 11:03:50 +0800 re-factor libpinyin backend M src/PYLibPinyin.cc M src/PYLibPinyin.h M src/PYMain.cc commit 5c5f74abcc1f29a8da8c66dbb9db9a58dbb4cf4a Author: Peng Wu Date: 2011-09-29 10:28:25 +0800 fixes libpinyin pinyin engine M src/PYPPinyinEngine.cc commit 6a7e7ef94cc3e457fcd81bb9988ff83a9e1c9406 Author: Peng Wu Date: 2011-09-28 17:51:56 +0800 polish code M src/PYPPinyinEngine.cc M src/PYPPinyinEngine.h commit a06c8ad7f26ca41a2c52bd824bed0fc0461ba58b Author: Peng Wu Date: 2011-09-28 17:35:18 +0800 re-factor pinyin editor M src/PYPPinyinEditor.cc M src/PYPPinyinEditor.h commit b7042d52ffb286de6231a43b3c53947a78c19155 Author: Peng Wu Date: 2011-09-28 17:30:41 +0800 write bopomofo editor M src/PYPBopomofoEditor.cc M src/PYPBopomofoEditor.h M src/PYPPhoneticEditor.cc M src/PYPPhoneticEditor.h commit 1de241261875c35144a0a732849e057bc9bcc962 Author: Peng Wu Date: 2011-09-28 17:09:11 +0800 add libpinyin pinyin engine M src/Makefile.am A src/PYPPinyinEngine.cc commit 3497f64da0b6b6e7ffb85769b05e49f04221b08f Author: Peng Wu Date: 2011-09-28 15:08:11 +0800 add PYPPinyinEngine.h M src/Makefile.am A src/PYPPinyinEngine.h commit 80723f3558c00e6f5008434ae8c568fdcf0ac8e4 Author: Peng Wu Date: 2011-09-26 15:33:00 +0800 add libpinyin pinyin/chewing scheme options M src/PYLibPinyin.cc M src/PYLibPinyin.h commit 57911c37fc0f515d7459e1c7e95ce356bb0d9f66 Author: Peng Wu Date: 2011-09-23 14:44:10 +0800 add set chewing options M src/PYLibPinyin.cc M src/PYLibPinyin.h commit 809905b63d340e823190625ccd82a248fe66e2b8 Author: Peng Wu Date: 2011-09-22 15:49:29 +0800 fixes Makefile.am M src/Makefile.am M src/PYPBopomofoEditor.cc commit 567aec11de7f8df43a12deda4227ebd975ef6d2e Author: Peng Wu Date: 2011-09-22 15:31:06 +0800 remove m_pinyins M src/PYPBopomofoEditor.cc M src/PYPDoublePinyinEditor.cc M src/PYPFullPinyinEditor.cc M src/PYPPhoneticEditor.cc M src/PYPPhoneticEditor.h commit aea71c5a524cb814cb1697ed4b97a944eb899db6 Author: Peng Wu Date: 2011-09-22 15:18:37 +0800 write bopomofo editor M src/PYPBopomofoEditor.cc M src/PYPPinyinEditor.cc commit 3b2103d9293ce891f4b47173f60b194916046b18 Author: Peng Wu Date: 2011-09-22 15:00:11 +0800 write bopomofo editor in progress M src/PYPBopomofoEditor.cc M src/PYPPinyinEditor.h commit 204a6f858e9a2e6577f78d2368474d048b643098 Author: Peng Wu Date: 2011-09-22 14:35:40 +0800 begin to write bopomofo editor M src/PYPBopomofoEditor.cc M src/PYPBopomofoEditor.h M src/PYPPhoneticEditor.h M src/PYPPinyinEditor.h commit cb25a0b9ee36d12d09ef9a0644888bfd2066252a Author: Peng Wu Date: 2011-09-22 14:24:09 +0800 write double pinyin editor M src/PYPDoublePinyinEditor.cc M src/PYPDoublePinyinEditor.h M src/PYPFullPinyinEditor.cc M src/PYPPinyinEditor.cc commit dde9caeb198ab9756555ac8e040090941e53abba Author: Peng Wu Date: 2011-09-21 14:52:09 +0800 add update pinyin M src/PYPDoublePinyinEditor.cc M src/PYPDoublePinyinEditor.h M src/PYPFullPinyinEditor.cc commit 490d506672590d37242cbb45cc8ec871d6f23137 Author: Peng Wu Date: 2011-09-21 14:18:36 +0800 move cursor edit funcs to pinyin editor M src/PYPDoublePinyinEditor.h M src/PYPFullPinyinEditor.cc M src/PYPFullPinyinEditor.h M src/PYPPinyinEditor.cc M src/PYPPinyinEditor.h commit 05035a2ca103c6dc795bcd810df7fba86f22f8a7 Author: Peng Wu Date: 2011-09-21 14:02:14 +0800 begin to add double pinyin editor M src/Makefile.am A src/PYPDoublePinyinEditor.cc commit 1bf1279f74ca5eb26e1250d862d5c6d722cc10f6 Author: Peng Wu Date: 2011-09-21 12:22:55 +0800 add update aux text func for full pinyin M src/PYPFullPinyinEditor.cc M src/PYPFullPinyinEditor.h M src/PYPPinyinEditor.cc M src/PYPPinyinEditor.h commit 9d968ec9eb391d26b1762dfeae1699e92a4e6614 Author: Peng Wu Date: 2011-09-21 11:39:17 +0800 re-factor full pinyin editor M src/PYPFullPinyinEditor.cc M src/PYPFullPinyinEditor.h commit 45fc184f99a90c32d282732b5adf1199b219016c Author: Peng Wu Date: 2011-09-21 11:25:58 +0800 use pinyin pos M src/PYPPhoneticEditor.cc M src/PYPPinyinEditor.cc commit c692d73e9a7953f785dfc6b75b458d2056baa717 Author: Peng Wu Date: 2011-09-21 10:34:46 +0800 use m_pinyin_poses in full pinyin editor M src/PYPFullPinyinEditor.cc commit 0af6961241de8fe55420ae3196582ccf3a7a883e Author: Peng Wu Date: 2011-09-21 10:14:49 +0800 write full pinyin editor in progress M src/PYPFullPinyinEditor.cc commit a71b5e486260f98e527d6fe9b538a1af2089b6ed Author: Peng Wu Date: 2011-09-20 16:12:46 +0800 add char edit M src/PYPFullPinyinEditor.cc commit 48297caeed02607f0f124510d488d71e69b8e303 Author: Peng Wu Date: 2011-09-20 13:52:05 +0800 write update pinyin M src/PYPFullPinyinEditor.cc M src/PYPFullPinyinEditor.h commit acca31ee1da743f2f4850eb6562dba73aa9c6a7d Author: Peng Wu Date: 2011-09-19 16:26:42 +0800 begin to write libpinyin full pinyin editor M src/Makefile.am A src/PYPFullPinyinEditor.cc commit 009663c6c618612a022bfb4cb9dd422e439f573f Author: Peng Wu Date: 2011-09-19 16:10:48 +0800 write pinyin editor in progress M src/PYPPhoneticEditor.h M src/PYPPinyinEditor.cc commit a65345601ddcc396d0742c9c46164b8acf567d2b Author: Peng Wu Date: 2011-09-16 17:31:56 +0800 add m_pinyin_len back M src/PYPPhoneticEditor.cc M src/PYPPhoneticEditor.h commit a7516b6b7dd80fb57fb8b5db176f907584975b4c Author: Peng Wu Date: 2011-09-16 15:51:12 +0800 clean up libpinyin bopomofo editor M src/PYPBopomofoEditor.cc commit d8fc6ba5611fd6bb00282446a71da970c249695a Author: Peng Wu Date: 2011-09-16 15:43:35 +0800 refactor libpinyin phonetic editor M src/PYPPhoneticEditor.cc M src/PYPPhoneticEditor.h commit 48e7bb8f1db150e6e0ea4b76e1d28d7f349c432d Author: Peng Wu Date: 2011-09-15 15:19:49 +0800 remove special phrase M src/PYPPhoneticEditor.cc M src/PYPPhoneticEditor.h commit c79a32bd545251896d6bc02f27235669abe86774 Author: Peng Wu Date: 2011-09-14 17:49:47 +0800 add set options to libpinyin back end M src/PYLibPinyin.cc M src/PYLibPinyin.h commit 979bbe6338cf796d97953b0a95d13fc00f0bf650 Author: Peng Wu Date: 2011-09-08 18:02:51 +0800 begin to write libpinyin backend M src/Makefile.am A src/PYLibPinyin.cc M src/PYLibPinyin.h commit 4e279112646c10657191b8529d0b96d15a9d14dd Author: Peng Wu Date: 2011-09-08 15:13:17 +0800 add libpinyin deps M configure.ac M src/Makefile.am M src/PYPPhoneticEditor.h commit e9f90e33c992e4c463235862acd20a5329381f8e Author: Peng Wu Date: 2011-09-05 17:13:31 +0800 fixes compile M src/Makefile.am M src/PYPBopomofoEditor.cc M src/PYPBopomofoEditor.h commit 3799224a7f951a40b47f202e428d1d390b53fd25 Author: Peng Wu Date: 2011-09-05 16:59:49 +0800 begin to write bopomofo editor A src/PYPBopomofoEditor.cc A src/PYPBopomofoEditor.h commit 9d7be99bc520bd98cf52fa88f947f3787e411fde Author: Peng Wu Date: 2011-09-02 16:49:00 +0800 begin to write pinyin editor M src/PYPPinyinEditor.cc commit f8dca3a01a6f976fd41a13bb01dac6ab8134eb0f Author: Peng Wu Date: 2011-09-02 15:49:13 +0800 rename base editor M src/Makefile.am M src/PYPDoublePinyinEditor.h M src/PYPFullPinyinEditor.h M src/PYPPhoneticEditor.cc M src/PYPPhoneticEditor.h A src/PYPPinyinEditor.cc M src/PYPPinyinEditor.h commit 2a351f4f7a5ac32459b94622340de901561b9764 Author: Peng Wu Date: 2011-09-02 15:39:31 +0800 add libpinyin pinyin editor header A src/PYPPinyinEditor.h commit 6294d7dd68f2a3a9d17830bf6c4768af6a374cd1 Author: Peng Wu Date: 2011-09-02 15:26:21 +0800 rename files R100 src/PYLibPinyinDoublePinyinEditor.h src/PYPDoublePinyinEditor.h R100 src/PYLibPinyinFullPinyinEditor.h src/PYPFullPinyinEditor.h R100 src/PYLibPinyinBaseEditor.cc src/PYPPhoneticEditor.cc R100 src/PYLibPinyinBaseEditor.h src/PYPPhoneticEditor.h commit 18a7fac7337e7f6d1ec953454cd26ec8a99525b1 Author: Peng Wu Date: 2011-09-02 14:30:11 +0800 begin to write concrete pinyin editors A src/PYLibPinyinDoublePinyinEditor.h A src/PYLibPinyinFullPinyinEditor.h commit 5e4d1aba9a99203f8cf664ef0ac6a00368bf8623 Author: Peng Wu Date: 2011-09-02 10:34:06 +0800 add special phrases handle in libpinyin base editor M src/PYLibPinyinBaseEditor.cc M src/PYLibPinyinBaseEditor.h commit d14c7c5cef6f21421fe0bc19b1179b202f416e3b Author: Peng Wu Date: 2011-09-01 15:51:53 +0800 fixes compile M src/Makefile.am M src/PYLibPinyinBaseEditor.cc M src/PYLibPinyinBaseEditor.h commit 772a6b8cb77f01f1832ea25c88db6d9d9d4f3ab9 Author: Peng Wu Date: 2011-09-01 15:13:09 +0800 begin to write libpinyin base editor A src/PYLibPinyinBaseEditor.cc M src/PYLibPinyinBaseEditor.h commit e5da1763d6db253ae4f89880974dfa094ca43c92 Author: Peng Wu Date: 2011-09-01 13:02:24 +0800 rename editor header R100 src/PYPinyinBaseEditor.h src/PYLibPinyinBaseEditor.h commit 7a74baf03f6bdf37d033efa6a66feab936ab255b Author: Peng Wu Date: 2011-09-01 11:24:02 +0800 rename editor class M src/PYLibPinyin.h M src/PYPinyinBaseEditor.h commit 2fcee36056380fa72fcfab98f55508151b068e1c Author: Peng Wu Date: 2011-08-30 18:24:02 +0800 begin to write libpinyin backend singleton A src/PYLibPinyin.h commit 4d0b70d57a872931404868ec3eafd9ae0e5b4441 Author: Peng Wu Date: 2011-08-29 14:14:46 +0800 begin to integrate A src/PYPinyinBaseEditor.h commit 0e658c782158a8973bd2e6f3ae6c627daf7d191a Author: Peng Huang Date: 2011-12-20 22:19:56 -0500 Bump version for 1.4.0 release. BUG=None TEST=make distcheck Review URL: http://codereview.appspot.com/5498057 M configure.ac commit b88b7d0e6a53576ee38424412ade2550c7323ad8 Author: Peng Huang Date: 2011-10-28 14:11:33 -0400 Fix some issues which may cause crash likely. BUG=http://code.google.com/p/ibus/issues/detail?id=1325 TEST=Manually Review URL: http://codereview.appspot.com/5298065 M src/PYEnglishEditor.cc M src/PYEnglishEditor.h commit f736b49d4e0e424bf8fd2ef1786bec4539a066eb Author: Peng Huang Date: 2011-10-26 11:15:36 -0400 Exit if config component is not ready instead of crash. BUG=crash when ibus config is not ready TEST=Linux desktop Review URL: http://codereview.appspot.com/5321054 M src/PYMain.cc commit cb5afea67473240d73f0c359c7dc6e553f87da14 Author: Peng Huang Date: 2011-07-05 13:09:29 -0400 Use ibus_config_get_values () to improve performance. BUG=http://crosbug.com/16287 TEST=Linux desktop Review URL: http://codereview.appspot.com/4670044 M configure.ac M src/PYConfig.cc M src/PYConfig.h commit 47bc0ca6978131de085f27d988a0f135474b6062 Author: Peng Huang Date: 2011-06-02 08:30:49 -0400 Fix a build warning. BUG=Build wanring TEST=Manually Review URL: http://codereview.appspot.com/4528117 M src/PYPunctEditor.cc commit d89313116374fb647df89cba0aee8002a0750308 Author: Peng Huang Date: 2011-05-27 10:47:13 -0400 Fix make distcheck errors. BUG=make distcheck failed TEST=Manually Review URL: http://codereview.appspot.com/4551054 M configure.ac M data/Makefile.am M data/db/android/Makefile.am M data/db/open-phrase/Makefile.am commit 6a6469f3c85d3a60ee68e074ac3c6b854b837753 Author: Peng Huang Date: 2011-05-03 10:07:25 -0400 Fixed build errors in Ubuntu 11.04 and get distribution codename from /etc/lsb-release. BUG=None TEST=Linux desktop Review URL: http://codereview.appspot.com/4428083 M Makefile.am M src/PYConfig.cc M src/PYDatabase.cc commit a16d70e01a441193c6bb8a38d7cf093a7ebed19c Author: Peng Wu Date: 2011-04-22 07:31:53 -0400 add English Editor to speed up English input BUG=none TEST=build fine Review URL: http://codereview.appspot.com/4200041 Patch from Peng Wu . M configure.ac M data/Makefile.am A data/english.awk M src/Makefile.am A src/PYEnglishEditor.cc A src/PYEnglishEditor.h M src/PYExtEditor.cc M src/PYPinyinEngine.cc M src/PYPinyinEngine.h commit d85a24507314194f1597c4c5d6c460408fcd3a9e Author: Peng Huang Date: 2011-03-21 13:00:05 -0400 Add auto correct "on" => "ong", and combine some fuzzy pinyin options to save flag bits. BUG=none TEST=Linux desktop Review URL: http://codereview.appspot.com/4273085 M data/db/android/Makefile.am M data/db/open-phrase/Makefile.am M scripts/genpytable.py M setup/ibus-pinyin-preferences.ui M setup/main.py M src/Makefile.am M src/PYConfig.cc M src/PYPinyinParserTable.h M src/PYTypes.h commit 5d68b85c32049841ad1ac6220c6b03a528da7662 Author: Peng Huang Date: 2011-02-18 09:15:24 -0500 Update PYSimpTradConverterTable.h from wikipedia BUG=none TEST=manual Review URL: http://codereview.appspot.com/4190049 M scripts/update-simptrad-table.py M src/PYSimpTradConverterTable.h commit f60c85749674f38b8e5fee222cd89fcc46ba2688 Author: Peng Huang Date: 2011-02-07 11:33:37 -0500 Storing user database to disk, if engine idles more than 60 seconds. BUG=none TEST=manual Review URL: http://codereview.appspot.com/4127050 M src/PYDatabase.cc M src/PYDatabase.h commit a142d959cdba0406a2c614fadfa9367803c31286 Author: Peng Huang Date: 2011-01-18 10:12:40 -0500 Do not handle release key events, if engine is in init mode. Most application only process key press events, but some process key release events. This change will let Pinyin engine to ignore some release events in init mode, and let applications have chance to get release key events. BUG=none TEST=Test within Ubuntu 10.10 Review URL: http://codereview.appspot.com/3975042 M src/PYBopomofoEngine.cc M src/PYPinyinEngine.cc commit 15b9b66b013ee83974b3ae16a76983cc10e9dbe8 Author: Peng Huang Date: 2010-11-24 16:53:36 +0900 Use in memory user database to improve performance. I found pinyin's performance is very low when system IO load is big. So I let pinyin use im memory user database to improve the performance, and write the database to the harddisk in 60 seconds or when engine exits. BUG=none TEST=manual Review URL: http://codereview.appspot.com/3303041 M src/PYDatabase.cc M src/PYDatabase.h M src/PYMain.cc M src/PYString.h commit f067b7a651cf24f7234441a31c0f88191cb74a42 Author: Peng Wu Date: 2010-11-12 15:06:09 +0800 add author M setup/ibus-pinyin-preferences.ui M src/pinyin.xml.in.in commit e6f36dbffa9da69fd3819ce21ac7504f50b055e7 Author: Peng Huang Date: 2010-11-04 16:26:18 +0900 Fix deb build errors. M Makefile.am M debian/control commit a17468d8ade1df427ca204605f608b9e4ab67b50 Author: Peng Huang Date: 2010-10-29 09:31:05 +0900 Change default ubunut serie to mavreick M Makefile.am commit 9b655b630a50e9cd7a9415f07b2ddb4348b2db64 Author: Peng Huang Date: 2010-10-29 09:28:48 +0900 Bump version to 1.3.99 M configure.ac commit 16a3b3d689de672efc1ed8eb4604160cd38d7302 Author: Peng Huang Date: 2010-10-22 20:36:54 +0900 Fix build errors with ibus-1.4 M configure.ac M debian/control commit ead9afe09d8e580bc2abb3556cf778c0a29c243c Author: phuang Date: 2010-10-18 22:02:33 +0900 Fix some errors when build debian packages. M Makefile.am M debian/control M debian/rules commit 2924d05cf008f7c7794d4f4b65940a70ba2247bd Author: Peng Huang Date: 2010-07-12 18:14:46 +0800 Fix problem with ibus-2.0 M configure.ac M src/PYConfig.cc M src/PYConfig.h commit bcf86cbf44e2a9658fda42724ed066f3f05ced79 Author: Yuren Ju Date: 2010-10-20 18:49:33 +0800 added simp. chinese and hong kang translation M po/zh_CN.po M po/zh_HK.po commit d43d04a9b92f7abd719cf3da666c23eee43fb67c Author: Yuren Ju Date: 2010-10-20 18:44:23 +0800 add options for enter key, original feature is commit original english text, new feature is commit first candidate phrase M po/zh_TW.po M setup/ibus-pinyin-preferences.ui M setup/main.py M src/PYBopomofoEditor.cc M src/PYConfig.cc M src/PYConfig.h commit 5a0ba0b751abe079fad8bc90316501cd489f50e6 Author: Yuren Ju Date: 2010-10-11 17:07:25 +0800 use , & 。 instead of 《 & 》 for traditional chinese user M src/PYFallbackEditor.cc commit a0b31c7a250cfa7af1b52056a1d1ada81b22a455 Author: Peng Huang Date: 2010-09-27 14:09:07 +0800 Add option --disable-boost to support build without boost When build without boost, ibus-pinyin will use smart pointer from c++0x and use the signal templates embedded instead of boost::signals2. BUG=chromium-os:5055 TEST=manual Review URL: http://codereview.appspot.com/2205044 M configure.ac M src/Makefile.am M src/PYBopomofoEngine.cc M src/PYConfig.cc M src/PYConfig.h M src/PYDatabase.cc M src/PYDatabase.h M src/PYEditor.h M src/PYEngine.cc M src/PYExtEditor.cc M src/PYPhraseEditor.h M src/PYPinyinEngine.cc M src/PYPunctEditor.cc M src/PYPunctEditor.h M src/PYSignal.h M src/PYSpecialPhraseTable.h M src/PYUtil.h commit 27c2f7ea0ef69094db2dfc009bb661276fc90227 Author: Peng Huang Date: 2010-09-27 10:10:33 +0800 Add codereview.settings. This is for us to use codereview.appspot.com for code reviews. Instructions to use codereview.appspot.com: 1. Get depot_tools and add PATH to the directory http://dev.chromium.org/developers/how-tos/depottools 2. In your local IBus git repository, % git checkout master % git checkout -b somefix make changes % git cl upload do code reviews at codereview.appspot.com once it's done, run "git cl push" if you can commit. otherwise, ask committers to commit on behalf. Add target for build debian packages. BUG=none TEST=build fine Review URL: http://codereview.appspot.com/2229048 M Makefile.am A codereview.settings commit eb321b4ad179d0f30a6bbf08bcc8e793a0c29f19 Author: Peng Huang Date: 2010-09-06 10:43:20 +0800 release 1.3.11 M configure.ac commit 895bd567cbf353927839647303fa58e12a3ab5e1 Author: Peng Huang Date: 2010-09-06 10:41:04 +0800 Fix make distcheck errors. M po/POTFILES.in M po/ru.po M po/zh_CN.po M po/zh_HK.po M po/zh_TW.po M src/Makefile.am commit ff252da6d8603fcf3679a369a63ceb731f2caeb7 Author: Yusuke Sato Date: 2010-05-11 11:33:05 +0900 Tiny modification to m4/boost.m4. Pass $CXXFLAGS to $ac_cpp to make cross-compilation of ibus-pinyin easy. BUG=none TEST=ran emerge-x86-generic -a ibus-pinyin. Review URL: http://codereview.chromium.org/2045008 M m4/boost.m4 commit 8fef79fdf46eb0c9a342c76f79b613540dbf6632 Author: Peng Huang Date: 2010-08-23 09:54:49 +0800 Remove sqlite3 in create_db.py M data/db/android/create_db.py commit e47965d40f5cf56b15c10aca74fff0e3739c988d Author: Peng Huang Date: 2010-08-14 06:43:29 +0800 Remove duplicated EXTRA_DIST value in lua/Makefile.am M lua/Makefile.am commit f3f325b0603ed635d076a5e6430164b2c72b21da Author: Peng Huang Date: 2010-08-13 16:20:01 +0800 Add PY prefix of all file names to avoid name conflict on some file system than is case insensitive. M src/Makefile.am R100 src/Bopomofo.h src/PYBopomofo.h R099 src/BopomofoEditor.cc src/PYBopomofoEditor.cc R098 src/BopomofoEditor.h src/PYBopomofoEditor.h R097 src/BopomofoEngine.cc src/PYBopomofoEngine.cc R097 src/BopomofoEngine.h src/PYBopomofoEngine.h R099 src/BopomofoKeyboard.h src/PYBopomofoKeyboard.h R098 src/Bus.h src/PYBus.h R099 src/Config.cc src/PYConfig.cc R099 src/Config.h src/PYConfig.h R099 src/Database.cc src/PYDatabase.cc R097 src/Database.h src/PYDatabase.h R099 src/DoublePinyinEditor.cc src/PYDoublePinyinEditor.cc R098 src/DoublePinyinEditor.h src/PYDoublePinyinEditor.h R100 src/DoublePinyinTable.h src/PYDoublePinyinTable.h R099 src/DynamicSpecialPhrase.cc src/PYDynamicSpecialPhrase.cc R098 src/DynamicSpecialPhrase.h src/PYDynamicSpecialPhrase.h R098 src/Editor.cc src/PYEditor.cc R098 src/Editor.h src/PYEditor.h R099 src/Engine.cc src/PYEngine.cc R097 src/Engine.h src/PYEngine.h R099 src/ExtEditor.cc src/PYExtEditor.cc R100 src/ExtEditor.h src/PYExtEditor.h R098 src/FallbackEditor.cc src/PYFallbackEditor.cc R098 src/FallbackEditor.h src/PYFallbackEditor.h R098 src/FullPinyinEditor.cc src/PYFullPinyinEditor.cc R098 src/FullPinyinEditor.h src/PYFullPinyinEditor.h R098 src/HalfFullConverter.cc src/PYHalfFullConverter.cc R100 src/HalfFullConverter.h src/PYHalfFullConverter.h R098 src/LookupTable.h src/PYLookupTable.h R097 src/Main.cc src/PYMain.cc R098 src/Object.h src/PYObject.h R098 src/PhoneticEditor.cc src/PYPhoneticEditor.cc R096 src/PhoneticEditor.h src/PYPhoneticEditor.h R098 src/Phrase.h src/PYPhrase.h R097 src/PhraseArray.h src/PYPhraseArray.h R096 src/PhraseEditor.cc src/PYPhraseEditor.cc R097 src/PhraseEditor.h src/PYPhraseEditor.h R098 src/PinyinArray.h src/PYPinyinArray.h R098 src/PinyinEditor.cc src/PYPinyinEditor.cc R098 src/PinyinEditor.h src/PYPinyinEditor.h R097 src/PinyinEngine.cc src/PYPinyinEngine.cc R097 src/PinyinEngine.h src/PYPinyinEngine.h R099 src/PinyinParser.cc src/PYPinyinParser.cc R097 src/PinyinParser.h src/PYPinyinParser.h R100 src/PinyinParserTable.h src/PYPinyinParserTable.h R098 src/PinyinProperties.cc src/PYPinyinProperties.cc R097 src/PinyinProperties.h src/PYPinyinProperties.h R100 src/Pointer.h src/PYPointer.h R098 src/Property.h src/PYProperty.h R099 src/PunctEditor.cc src/PYPunctEditor.cc R098 src/PunctEditor.h src/PYPunctEditor.h R100 src/PunctTable.h src/PYPunctTable.h R097 src/RawEditor.h src/PYRawEditor.h R100 src/Regex.h src/PYRegex.h R098 src/Signal.h src/PYSignal.h R097 src/SimpTradConverter.cc src/PYSimpTradConverter.cc R100 src/SimpTradConverter.h src/PYSimpTradConverter.h R100 src/SimpTradConverterTable.h src/PYSimpTradConverterTable.h R096 src/SpecialPhrase.cc src/PYSpecialPhrase.cc R100 src/SpecialPhrase.h src/PYSpecialPhrase.h R096 src/SpecialPhraseTable.cc src/PYSpecialPhraseTable.cc R100 src/SpecialPhraseTable.h src/PYSpecialPhraseTable.h R100 src/String.h src/PYString.h R098 src/Text.h src/PYText.h R100 src/Types.h src/PYTypes.h R099 src/Util.h src/PYUtil.h commit a32d2b4d5194559b4601cf7e2c65ddc68bdf13e3 Author: Peng Huang Date: 2010-08-17 13:15:52 +0900 change the default fuzzy settings M setup/main.py M src/Config.cc commit 20f31c8b18cefce89a8ce4b1c790f5aa37442a65 Author: Peng Huang Date: 2010-08-06 10:45:40 +0800 Release 1.3.10 M configure.ac commit dea6dd8336caa9d76a64b69343d43a65312c6df4 Author: BYVoid Date: 2010-07-27 22:01:25 +0800 Use ucs4_t API of OpenCC. M src/SimpTradConverter.cc commit ca206af4c2d9a0b312e3154f57cd4cf8d53bb845 Author: BYVoid Date: 2010-07-27 22:00:47 +0800 Fix some default punct mappings in traditional Chinese M src/FallbackEditor.cc commit fb788847f855c0aa4b51797a4049c487fdd80a79 Author: Peng Huang Date: 2010-07-20 08:59:15 +0800 Refine coding style and update AUTHORS M AUTHORS M src/DoublePinyinTable.h commit 4577dca3f1680445177f270dfc63c70af1e0f3d2 Author: Peng Huang Date: 2010-07-16 14:24:07 +0800 Release 1.3.9 M configure.ac commit f2b7ff6d4eca3b9a6ca284575ff1cbce9d7d0c30 Merge: d4eb78f f850d40 Author: Peng Huang Date: 2010-07-16 14:02:10 +0800 Merge remote branch 'epic/master' commit f850d40f939175382e7b801d6b16b4651820c448 Author: Peng Wu Date: 2010-07-14 13:40:53 +0800 fixes error when make distcheck. M lua/Makefile.am M lua/test-lua-plugin.c M src/Makefile.am commit d4eb78f97a6bf7a6a6aedbca7b13ca20b6e7cdb2 Merge: a05cf80 d604684 Author: Peng Huang Date: 2010-07-09 15:36:04 +0800 Merge remote branch 'epic/master' commit a05cf80fa3cf602dee0a3ddead14d2e646d6b2f9 Author: Peng Huang Date: 2010-07-09 15:35:41 +0800 Fix build problem in ppa M configure.ac M debian/control M debian/rules M lua/Makefile.am commit d6046846b0f5214ed61d92fe8e98b02bb87767d2 Author: Peng Wu Date: 2010-07-09 11:42:01 +0800 only enable lua extension when use single pinyin. M src/PinyinEngine.cc commit 826497eb99e46cc6aa6e4b23b3a94be1e04fe0d1 Author: Peng Wu Date: 2010-07-08 13:43:29 +0800 fixes autoconf bug. M configure.ac commit 15925b00c1d119dd343f3bb6c6532bc36df70c03 Author: Peng Wu Date: 2010-07-06 13:55:32 +0800 add lua version check. M configure.ac commit c4cbd703027566205b9dc4dfef6316717746f097 Author: Peng Wu Date: 2010-07-06 12:49:10 +0800 fixes ExtEditor compile. M src/Makefile.am commit 6cc8818cf72cbe7b56c6394030c6256178e71d28 Author: Peng Wu Date: 2010-07-06 12:42:15 +0800 fixes ubuntu build. M configure.ac commit 1ab6137e03e3d63968544e318d74ff36b807a611 Author: Peng Wu Date: 2010-07-06 11:22:44 +0800 fixes a typo. M configure.ac commit 0d928e4d3300f7dfb4969c7e662d006ff2f73502 Author: Peng Huang Date: 2010-07-06 10:46:46 +0800 Use opencc M debian/control M debian/rules M src/SimpTradConverter.cc commit f46a3755384fb6dab200d42c059d3d9ec6ebbbf3 Author: BYVoid Date: 2010-07-05 16:29:48 +0800 Revert to OpenCC C language API M src/SimpTradConverter.cc commit 4b0a1b6d39fa13a401c70b3ed1f3d293904e8b45 Author: BYVoid Date: 2010-06-22 16:42:18 +0800 Use Constant of C++ wrapper of OpenCC instead of macro M src/SimpTradConverter.cc commit 47fea81343591499c2949b8c691af037c94539ff Author: BYVoid Date: 2010-06-18 13:54:33 +0800 Add error handler for call of OpenCC M src/SimpTradConverter.cc commit a09afd5445915f69bec2d374d9145aa6596978c2 Author: BYVoid Date: 2010-06-18 13:49:58 +0800 Fix call of OpenCC M src/SimpTradConverter.cc commit 9821b99fb1cfd1925e04e00e5b04184398ffcf0c Author: Peng Huang Date: 2010-07-05 15:31:03 +0800 Disable lua extension by default M Makefile.am M configure.ac M lua/Makefile.am commit 97dd325909f7f8293ce8651a6c04d9ae0b912a00 Author: Peng Wu Date: 2010-07-01 16:27:54 +0800 fixes traditional number. M src/DynamicSpecialPhrase.cc commit 3e35a3aaf06ddb063c04293fc3faa5402119ea60 Author: Peng Wu Date: 2010-07-01 16:17:19 +0800 adding lua-extension flags. M configure.ac M src/BopomofoEngine.cc M src/Makefile.am M src/PinyinEngine.cc commit 0bf5e528bef93ab20ab0c05ca62f5fc0032eaab4 Author: Peng Wu Date: 2010-07-01 15:32:36 +0800 add lua extension compile flags. M configure.ac M lua/Makefile.am commit 008393c40013869af5a8d8c4de618e232ee42dc4 Author: Peng Wu Date: 2010-07-01 11:55:52 +0800 fixes compile errors. M src/DynamicSpecialPhrase.cc M src/ExtEditor.cc commit f754d164d05cc38832837ee75337cd9da8247ca0 Author: Peng Wu Date: 2010-07-01 11:46:59 +0800 re-factor chinese number code. M src/DynamicSpecialPhrase.cc M src/DynamicSpecialPhrase.h M src/ExtEditor.cc commit 607a7ec4e9c67155d931fa66f5d13cb04d986f20 Author: Peng Wu Date: 2010-07-01 10:36:39 +0800 remove some warnings. M lua/lua-plugin-init.c commit e594be88108d50445e7521f69c95bf217c779a8c Author: Peng Wu Date: 2010-07-01 10:32:40 +0800 fixes translation. M src/ExtEditor.cc commit daaebd3d854f4cdaac268a6bf616137eb735ae55 Author: Peng Wu Date: 2010-06-29 15:26:32 +0800 add comments. M src/ExtEditor.cc commit f9f1ef9451a64a1d303bdd3cba8a3f617cb97b4a Author: Peng Wu Date: 2010-06-29 15:21:34 +0800 fixes huge number. M src/ExtEditor.cc M src/ExtEditor.h commit e02cb1929119ef62eb9e570d2e530ad9c7513985 Author: Peng Wu Date: 2010-06-29 14:50:10 +0800 fixes aux text. M src/ExtEditor.cc M src/LookupTable.h commit 00533c453e8ab19099ee0e093bdd7e91c94df77f Author: Peng Wu Date: 2010-06-29 14:34:09 +0800 fixes compile errors. M src/ExtEditor.cc M src/ExtEditor.h commit a19742702ef27a9f56205534a8172eb9dc894cb2 Author: Peng Wu Date: 2010-06-29 14:17:28 +0800 add Chinese Number Gen code M src/ExtEditor.cc commit 35e87ecdaa28b59607d1570cf87c94ec8ea9d47e Author: Peng Wu Date: 2010-06-23 15:54:13 +0800 re-factor include headers. M lua/lua-ext-console.c M lua/lua-plugin-init.c M lua/lua-plugin.c M lua/lua-plugin.h M lua/test-lua-plugin.c M src/ExtEditor.cc commit 9af65cb9b6503020450caa14276f42421239ba43 Author: Peng Wu Date: 2010-06-23 15:31:58 +0800 fixes strlen. M src/ExtEditor.cc commit fc845a6adc93589000f2cbff2dff60d33706927c Author: Peng Wu Date: 2010-06-23 10:48:29 +0800 fixes help display on aux text. M src/ExtEditor.cc M src/ExtEditor.h commit 83a549ad0dd6872fcea509df02666b5cb6488324 Author: Peng Wu Date: 2010-06-22 18:08:00 +0800 fixes space and m_cursor handles. M src/ExtEditor.cc commit 263e1ae756cb07e0c95417e78e478bfa21c05a30 Author: Peng Wu Date: 2010-06-22 15:41:46 +0800 fixes return key. fixes lua script load path. M src/ExtEditor.cc commit 8bb3778bc49ed59114f23f0f80cac738e24e6e0e Author: Peng Wu Date: 2010-06-22 15:16:15 +0800 fixes digit labels gen. fixes label key '0' to '9'. M lua/lua-plugin-init.c M src/ExtEditor.cc commit 44202f0e3ba96da80197c6ad9a00073015ae7df9 Author: Peng Wu Date: 2010-06-22 15:13:09 +0800 add lua command help hint. M src/ExtEditor.cc commit f0a5cb8020b9689774ce420aa24a66b54dd4d4b5 Author: Peng Wu Date: 2010-06-22 15:08:19 +0800 add enter key press handle. M src/ExtEditor.cc M src/ExtEditor.h commit e64172c40521e34edeb9ee0aae19de1f0b1a05cd Author: Peng Huang Date: 2010-06-22 10:43:36 +0800 refine code M src/ExtEditor.h commit d8c519eea5f4c21c8158db57a8bac44078708f7e Author: Peng Huang Date: 2010-06-22 10:40:44 +0800 Refine code and fix some warnings M src/ExtEditor.cc M src/ExtEditor.h M src/String.h commit a3f8f98c1c743389ffb2a5e0199cab0fb774c0d7 Author: Peng Wu Date: 2010-06-22 10:37:01 +0800 re-factor ExtEditor header. M lua/lua-plugin.h M src/ExtEditor.cc M src/ExtEditor.h commit e453b7ecacde36925771326a3eb23380dd3007c1 Author: Peng Wu Date: 2010-06-21 15:17:48 +0800 fixes m_cursor computing. M src/ExtEditor.cc commit 804df27528b7328b62b3a30f11e65b948f7691d1 Author: Peng Wu Date: 2010-06-21 14:19:35 +0800 add license for lua ext mode. M lua/lua-ext-console.c M lua/lua-plugin-init.c M lua/lua-plugin.c M lua/lua-plugin.h M lua/test-lua-plugin.c commit 34bbe4c76b28368411cf921705c8c62fd4da975a Author: Peng Wu Date: 2010-06-21 14:17:21 +0800 fixes label M src/ExtEditor.cc commit 7841b9d8c603911f5f09e75914f7272f367c22ac Author: Peng Wu Date: 2010-06-21 13:34:12 +0800 fixes base.lua path. M lua/Makefile.am M src/ExtEditor.cc commit 5f70f6792d22758e37f2875db716ad5a2fefb6da Author: Peng Wu Date: 2010-06-21 13:21:47 +0800 add stripped oslib for lua ext. M lua/Makefile.am A lua/lmyoslib.c M lua/lua-ext-console.c M lua/lua-plugin-init.c M lua/lua-plugin.c M lua/lua-plugin.h commit 0f0a0be50b9946429b06357d9f729bbfc358c109 Author: Peng Wu Date: 2010-06-21 13:06:01 +0800 add base.lua A lua/base.lua commit ac1476aabed3efb8c96f45c3eac225ece5376394 Author: Peng Wu Date: 2010-06-18 15:58:01 +0800 fixes compile warnings. M src/ExtEditor.cc commit 1d8521a263f5f83dba2135890833978d246a773d Author: Peng Wu Date: 2010-06-18 13:37:56 +0800 re-factor code. M src/ExtEditor.cc commit fad30945d4f755f4fb5c83c72dacd08d45b827db Author: Peng Wu Date: 2010-06-18 13:07:51 +0800 re-order code sequence. M src/ExtEditor.cc commit 3bf430a7b99edf7445e770e8a810aa3a1c39900a Author: Peng Wu Date: 2010-06-18 12:54:18 +0800 fixes include header. M src/ExtEditor.cc M src/ExtEditor.h commit 083a07dcd61b744d126398a737055928cbfd5778 Author: Peng Huang Date: 2010-06-18 11:37:25 +0800 Fix build errors. M src/ExtEditor.cc M src/ExtEditor.h commit f1944e652c6e4c73b87193c7e8cc82ccb0c35ddd Merge: f1f9363 4009394 Author: Peng Huang Date: 2010-06-18 11:25:15 +0800 Merge remote branch 'epico/lua-plugin' into lua-plugin Conflicts: src/ExtEditor.cc src/ExtEditor.h src/LookupTable.h src/Makefile.am src/PinyinEngine.cc commit 40093940e25ada4c0cf3c258ab49e9ebd32bbc65 Author: Peng Wu Date: 2010-06-18 11:08:36 +0800 fixes multi-line candidate content. M src/ExtEditor.cc commit 870e428c52a32c071d82a580e67dc88d64bbe848 Author: Peng Wu Date: 2010-06-18 11:01:22 +0800 fixes riqi and shijian. M src/ExtEditor.cc commit 7ce996a6aed9d6ce75e31c9a4f9eba73bdd10f14 Author: Peng Wu Date: 2010-06-18 10:45:16 +0800 fixes some typos. M src/ExtEditor.cc commit 62da73fd21c498281f4d9e7bca96db3a96609b14 Author: Peng Wu Date: 2010-06-17 15:17:27 +0800 add label and space key handle. M src/ExtEditor.cc commit d0cf9237364a52aac30ae06bcb8dadf75e02b3ef Author: Peng Wu Date: 2010-06-17 13:07:20 +0800 write select candidate. M src/ExtEditor.cc M src/ExtEditor.h commit f1f93631962b46a8a2744796ebbb9fdc74c981ff Author: Peng Huang Date: 2010-06-17 00:02:11 +0800 Add er in xhe double pinyin schema M scripts/pydict.py M src/DoublePinyinTable.h commit 4894ed5d2db043eff4c9bc4f0fa54093a8b63444 Author: Peng Huang Date: 2010-06-15 00:12:30 +0800 Use gint8 for pinyin id in double pinyin table M scripts/double.py M src/DoublePinyinEditor.cc M src/DoublePinyinTable.h commit 9dbe241f90e55ec7114de2d3352e795841bd2802 Author: Peng Huang Date: 2010-06-14 23:47:36 +0800 Update configure.ac M configure.ac commit b6a3f1fec76b01269677f1b237b6d9cc08317957 Author: Peng Huang Date: 2010-06-14 23:44:27 +0800 Refine code M src/SimpTradConverter.cc commit b41c08e8c74c3995db7ae0b3745d91a2c4195194 Author: Peng Huang Date: 2010-06-14 13:54:25 +0800 Use utf8 string encode M scripts/update-simptrad-table.py M src/PinyinParser.cc M src/SimpTradConverter.cc M src/SimpTradConverterTable.h commit 139a45ffcaa7c09f4003e86b805d3c4bf3f7d406 Author: Peng Huang Date: 2010-06-14 11:09:21 +0800 Add --enable-opencc option M configure.ac commit eb0d395403b53372dbffca12c08107527822f303 Author: Peng Huang Date: 2010-06-13 16:03:08 +0800 refine code M src/DoublePinyinTable.h M src/DynamicSpecialPhrase.h M src/SimpTradConverter.h commit 970b3c307810159b53310ecc741f7683d8f6ec0e Author: Peng Huang Date: 2010-06-13 15:38:36 +0800 Add XiaoHe double pinyin schema M po/ru.po M po/zh_CN.po M po/zh_HK.po M po/zh_TW.po M scripts/double.py M scripts/pydict.py M setup/ibus-pinyin-preferences.ui M src/Config.cc M src/DoublePinyinEditor.cc M src/DoublePinyinTable.h commit b8e83906f859da4e1d31fa7502a94afcfe07504f Author: Peng Huang Date: 2010-06-11 17:26:10 +0800 Improve performance of SimpTradConvert M src/SimpTradConverter.cc commit 90ef953d8523738c8f5be4181a38063095a74ee5 Author: BYVoid Date: 2010-06-10 22:28:04 +0800 Use C++ API of OpenCC M src/SimpTradConverter.cc commit c6fd949534e2ff0e98018327f7f1ff1313a51285 Author: BYVoid Date: 2010-06-10 12:51:13 +0800 Print message when an error occurs in opencc_convert M src/SimpTradConverter.cc commit 957d49989b7a48ad1488168bc1a5fc2a7e7121de Author: Peng Huang Date: 2010-06-10 13:34:18 +0800 Set release = 0 M configure.ac commit 99e5cbcd24fa135cd146e0340875ca994fd08c88 Author: Peng Huang Date: 2010-06-10 07:56:54 +0800 Add class OpenCC to encapsulate opencc M src/SimpTradConverter.cc commit 36e523c6ec97311a4cb73c6c5d713de99cd88656 Merge: 63777ac 26b03fd Author: BYVoid Date: 2010-06-09 22:38:08 +0800 Merge from origin commit 26b03fd0eb5bcc7203ab22fcf5dd050cc63b81c4 Author: Peng Huang Date: 2010-06-09 22:29:31 +0800 Refine some code. M src/SimpTradConverter.cc commit 63777acd3aa2537a7a5f79c62ec3e0ae9c44a169 Author: Peng Huang Date: 2010-06-09 22:29:31 +0800 Refine some code. M src/SimpTradConverter.cc commit 1502908f965cf9327497a2fc672e1b3e9aa2c5f6 Merge: 7beb2b2 6c84399 Author: Peng Huang Date: 2010-06-09 22:14:58 +0800 Merge remote branch 'byvoid/opencc' into opencc Conflicts: src/SimpTradConverter.cc commit 7beb2b25ed9e38aa9ce1dcaf6a1a62a787e7db25 Author: Peng Huang Date: 2010-06-09 22:12:48 +0800 Fix build warnings M src/SimpTradConverter.cc commit 6c84399193cbde0ad740eb114c3463336fa67ef4 Author: BYVoid Date: 2010-06-09 21:20:55 +0800 Modified interface of opencc in SimpTradConveter M src/SimpTradConverter.cc commit e6084e309c5fbeff0def79b04c4fb1e17ddd2e13 Author: Peng Wu Date: 2010-06-09 15:38:40 +0800 refactor code. M src/ExtEditor.cc M src/ExtEditor.h commit 89a3b85e366defaf3bae44173be7e7091939ea41 Author: BYVoid Date: 2010-06-09 14:44:22 +0800 Fix opencc API M src/SimpTradConverter.cc commit ccff065a241ad0b30a5a36e2933a76ba6a0c5402 Author: Peng Wu Date: 2010-06-09 14:33:16 +0800 add some code. M src/ExtEditor.cc M src/ExtEditor.h commit 9fd12b0354161edc98fe39ebf8b6aa4e9269f3f3 Author: Peng Wu Date: 2010-06-09 10:51:59 +0800 refactor key handling. M src/ExtEditor.cc M src/ExtEditor.h commit bb48dfc2d26dfc4fe8bbdf85115f39186906cab2 Author: Peng Huang Date: 2010-06-09 07:56:40 +0800 Use opencc M configure.ac M src/Makefile.am M src/SimpTradConverter.cc M src/SimpTradConverter.h commit 749b90a893831fd542b371393e988fe5e916a214 Author: Peng Wu Date: 2010-06-07 16:48:49 +0800 add backspace/delete key handles. M src/ExtEditor.cc commit 35000f739315aa55123ba1599e04878f578366f1 Author: Peng Wu Date: 2010-06-07 16:22:35 +0800 add key handles. M src/ExtEditor.cc M src/ExtEditor.h commit e92b6f27040f75a102d8b5aa25c8e1d301ce5800 Author: Peng Wu Date: 2010-06-07 14:49:26 +0800 add cursor up/down and page up/down function. M src/ExtEditor.cc M src/ExtEditor.h commit c4701aac1131854cf9db31e80ca18c146d3c4c8e Author: Peng Wu Date: 2010-06-07 11:00:35 +0800 rename sendLookupTable to updateLookupTable. M src/ExtEditor.cc M src/ExtEditor.h commit 5ae0d6290c9cbd7d7bbef065d8eb9ab7ad7ac728 Author: BYVoid Date: 2010-06-05 17:14:36 +0800 Fix a bug of Traditional Chinese translation M po/zh_HK.po M po/zh_TW.po commit d27091f290d3f0a135500565db5b1027336fe815 Author: Peng Huang Date: 2010-06-05 09:15:21 +0800 Remove some debug output M setup/main.py commit 317efbfb9472b4696895baa2b771ba7a8eea681c Author: Peng Huang Date: 2010-06-05 09:14:58 +0800 Move php_2_py.php to scripts/ R100 src/php_2_py.php scripts/php_2_py.php M src/Makefile.am commit dacee4558562dd4c64f97fbbcd825c41672b9942 Author: Peng Huang Date: 2010-06-05 09:07:59 +0800 Refine some code M src/BopomofoEditor.cc commit 0479700cde6a86fce05a233f6db7ed5b0991baca Author: Peng Huang Date: 2010-06-05 08:21:05 +0800 Update label of one property M po/ru.po M po/zh_CN.po M po/zh_HK.po M po/zh_TW.po M src/PinyinProperties.cc commit 77d9c68257fbc8de007b1524239d9bdb39346655 Author: Peng Huang Date: 2010-06-05 07:38:04 +0800 Fix some build warning and verify some config item. M src/Bopomofo.h M src/BopomofoEditor.cc M src/Config.cc commit 52442871862a6558cf616601b97c7bd57d00d12a Author: BYVoid Date: 2010-06-04 15:33:15 +0800 Update translation po files M po/ru.po M po/zh_CN.po M po/zh_HK.po M po/zh_TW.po commit 8a23fe6b8b4f5028887d797db25ad2aac13d8747 Author: BYVoid Date: 2010-06-04 15:07:13 +0800 Disabled Custom of SelectKey M setup/ibus-pinyin-preferences.ui M setup/main.py M src/Bopomofo.h M src/BopomofoEditor.cc M src/Config.cc M src/Config.h commit 38b97ecdf29a66709a9aa284cd065a99dca30a5e Author: BYVoid Date: 2010-06-02 14:30:20 +0800 Update Config & Preferences UI for BopomofoEditor M setup/ibus-pinyin-preferences.ui M setup/main.py M src/BopomofoEditor.cc M src/BopomofoEditor.h M src/Config.cc M src/Config.h commit 8afcc64f37944b3e8f31b9df1e3058fcbdb1479c Author: BYVoid Date: 2010-06-01 20:56:56 +0800 Improved user interaction of BopomofoEditor M src/BopomofoEditor.cc M src/BopomofoEditor.h M src/LookupTable.h M src/PhoneticEditor.cc M src/PhoneticEditor.h commit da7738330638e147deeef0fc53684249c51f494f Author: Peng Huang Date: 2010-06-05 07:28:26 +0800 Reduce dependency among header files. M src/BopomofoEditor.cc M src/BopomofoEditor.h M src/BopomofoEngine.cc M src/Config.cc M src/Config.h M src/Database.cc M src/Database.h M src/DoublePinyinEditor.cc M src/DoublePinyinEditor.h M src/DynamicSpecialPhrase.cc M src/Editor.cc M src/Editor.h M src/ExtEditor.h M src/FallbackEditor.cc M src/FallbackEditor.h M src/FullPinyinEditor.cc M src/FullPinyinEditor.h M src/PhoneticEditor.cc M src/PhoneticEditor.h M src/PhraseEditor.cc M src/PhraseEditor.h M src/PinyinEditor.cc M src/PinyinEditor.h M src/PinyinEngine.cc M src/PinyinProperties.cc M src/PinyinProperties.h M src/PunctEditor.cc M src/PunctEditor.h M src/RawEditor.h M src/SpecialPhrase.h M src/SpecialPhraseTable.cc M src/SpecialPhraseTable.h commit f01adcdb0a4df396e7c2388f39dff70d1319c098 Author: Peng Huang Date: 2010-06-02 21:52:59 +0800 Add --version -V option M src/Database.cc M src/Database.h M src/Main.cc M src/SpecialPhrase.cc commit 984ce06e5c96603ce3d2edbee008c0df9b8328b1 Author: Peng Huang Date: 2010-05-31 10:56:20 +0800 Refine coding style M src/PhraseEditor.h M src/PinyinProperties.h M src/Pointer.h M src/Regex.h commit c1d6020cf3333b264937ac44132d82e4591adeba Author: Peng Huang Date: 2010-05-31 08:07:39 +0800 Update README M README commit 9fc7711231bc4734541b50087b813e598a6813db Author: Peng Huang Date: 2010-05-30 21:53:34 +0800 Refine coding style M src/Bus.h M src/Property.h commit 502b8e814fe1aa59c7f607a04c363ef0c03e476f Author: Peng Huang Date: 2010-05-30 21:39:08 +0800 Use inline function and const value to replace some macors. M src/BopomofoEditor.cc M src/BopomofoEngine.cc M src/DoublePinyinEditor.cc M src/FallbackEditor.cc M src/PhoneticEditor.cc M src/PinyinEditor.cc M src/PinyinEngine.cc M src/PunctEditor.cc M src/Util.h commit 9211cbcd3d580cf96a2bea7d8dd3ec8beefca9a7 Author: Peng Huang Date: 2010-05-30 21:04:22 +0800 Refine coding style M src/BopomofoEngine.cc M src/BopomofoEngine.h M src/Config.cc M src/Config.h M src/Database.h M src/Editor.h M src/Engine.h M src/FallbackEditor.h M src/LookupTable.h M src/Object.h M src/PhoneticEditor.h M src/Phrase.h M src/PhraseEditor.h M src/PinyinArray.h M src/PinyinEditor.h M src/PinyinEngine.cc M src/PinyinEngine.h M src/PinyinParser.h M src/PinyinProperties.h M src/SpecialPhrase.h M src/String.h M src/Text.h M src/Util.h commit 44f4960fb84fbb3643d523932bc8612bff5ff18c Author: Peng Huang Date: 2010-05-30 14:55:37 +0800 Move python script files to scripts folder R098 src/update-simptrad-table.py scripts/update-simptrad-table.py R100 src/valid_hanzi.py scripts/valid_hanzi.py M src/Makefile.am D src/sctc.py commit 6b29ccd6523cf87c75d9f2327f930ea94a4e35a0 Author: Peng Huang Date: 2010-05-30 14:45:37 +0800 Fix special phrases option problem in Bopomofo engine. M src/PhoneticEditor.cc M src/SpecialPhraseTable.cc commit 89bb1454a7b7b228170605ffb1d9ee6eecbaa869 Author: BYVoid Date: 2010-05-30 12:12:48 +0800 Optimize dependence of headers M src/BopomofoEngine.cc M src/DynamicSpecialPhrase.cc M src/Engine.cc M src/Engine.h M src/PhoneticEditor.h M src/PinyinEngine.cc M src/PinyinParser.cc M src/PinyinProperties.cc M src/PunctEditor.cc M src/PunctEditor.h M src/SimpTradConverter.cc M src/SpecialPhraseTable.cc M src/SpecialPhraseTable.h commit 89340fe814c2fbf5648b7a3f84cb5ef7bb4e370c Author: Peng Huang Date: 2010-05-29 17:21:25 +0800 Release 1.3.8 M configure.ac commit 25227863e045a89e5a8aa3c626318dcae6bde895 Author: Peng Huang Date: 2010-05-29 11:18:39 +0800 Do not call readDefaultValues in constructor function. M src/Config.cc commit 3950e439f487e88dc519344b24871ebac96e7d86 Author: Peng Huang Date: 2010-05-29 08:22:00 +0800 Write default value to config, if the value does not exist M src/Config.cc commit 700bc273d43b3e9df401defc3a27a2ac86e7b2f4 Author: Peng Huang Date: 2010-05-29 05:51:27 +0800 Remove inline modifier for some functions M src/PhoneticEditor.cc commit e775fe8869e3f294e26bf672306922c907d8589e Author: Peng Huang Date: 2010-05-29 05:42:40 +0800 Add "·" in PunctTable M scripts/punct.py M src/PunctTable.h commit 80d4092bc0f83b0cf9a0292b44fa033cf411fc54 Author: Peng Huang Date: 2010-05-29 05:42:14 +0800 Fix problem in PunctEditor. M src/PunctEditor.cc commit e19ff554f28ed03f01423ff7d9ca6f9bac18f978 Author: Peng Huang Date: 2010-05-28 14:53:48 +0800 Release 1.3.7 M configure.ac commit 4f41efbd5eebba8c9b09c1b46f27a51cbfb13254 Author: Peng Huang Date: 2010-05-28 14:44:01 +0800 Disable special phrases by default in bopomofo engine M src/Config.cc commit ad860b1d8f7a4838e850881cc7111ec9604ec171 Author: Peng Huang Date: 2010-05-28 14:41:32 +0800 Reset engine status when enable again M src/BopomofoEngine.h M src/PinyinEngine.h M src/PinyinProperties.cc M src/PinyinProperties.h commit 701c14239112acd27d0d440f3ea0f21d33d415e1 Author: Peng Huang Date: 2010-05-28 14:30:38 +0800 Refine Config M src/Config.cc commit aa48377217d099e073caa4a85debd871f01bc93e Merge: c1b1a2e 0a9d1b4 Author: Peng Huang Date: 2010-05-28 14:21:04 +0800 Merge remote branch 'byvoid/master' commit c1b1a2e6f38ebfec473b430c1aa3ee692e3b76ec Author: Peng Huang Date: 2010-05-28 14:15:35 +0800 Use different default config values for Pinyin and Bopomofo M src/Config.cc M src/Config.h commit 0a9d1b485c22f30c0023df78ec892cb1d42770a8 Author: BYVoid Date: 2010-05-28 14:00:12 +0800 Update Chinese translation M po/zh_CN.po M po/zh_HK.po M po/zh_TW.po commit 54ffd76da5dfb02f4f67950c59c55d2ee85eaee0 Author: Peng Huang Date: 2010-05-28 10:09:57 +0800 Use const gchar * const M src/Config.cc commit 0862e8bcb0ce7a5a7471f1e503f6fff053662f69 Author: Peng Huang Date: 2010-05-28 10:08:41 +0800 Use const gchar * to replace macros M src/Config.cc commit e21253f31aa2149a92e0cef06f543e1c00f5817e Author: Peng Huang Date: 2010-05-27 13:51:21 +0800 Switch to Chinese mode when enable M src/BopomofoEngine.h M src/PinyinEngine.h commit ba89d9ef399ce61a63929d44773153191fa71412 Author: Peng Huang Date: 2010-05-27 10:33:16 +0800 Add debian/changelog.in M Makefile.am A debian/changelog.in commit 69247ae60b786af9125390a0b5f9def4107935e8 Author: Peng Huang Date: 2010-05-27 10:16:50 +0800 Fix build error in converting void * to int. M src/BopomofoEditor.cc commit c9850205a602b5d36172d13ee5c2a9ccb02d418e Author: BYVoid Date: 2010-05-26 15:49:50 +0800 Fix a bug of bsearch while converting keyval to Bopomofo M src/BopomofoEditor.cc commit 6d232faeef299048a2d2d4f02aa36614a40e4cc0 Author: Peng Huang Date: 2010-05-26 13:21:34 +0800 Add ppa target for generate debian source packages. M Makefile.am M configure.ac D debian/changelog M debian/control commit 0ba1b74b141c445832c64a17945830aa2da277ee Author: Peng Huang Date: 2010-05-26 10:39:59 +0800 Update po files. M po/zh_CN.po M po/zh_TW.po commit 177313343f4122342cfccccc5e0d7b8e977875f9 Author: Peng Huang Date: 2010-05-25 17:00:54 +0800 Update po files. M po/ru.po M po/zh_CN.po M po/zh_HK.po M po/zh_TW.po commit a4c5ebefd2fea0ccc140d2ee08f08e7a46a4d8e8 Author: BYVoid Date: 2010-05-25 16:52:33 +0800 Correct some labels M setup/ibus-pinyin-preferences.ui commit b02483cd38e62fbca46a52d9348322088fd6f9b1 Merge: a72b309 72fa95d Author: Peng Huang Date: 2010-05-25 16:30:40 +0800 Merge remote branch 'byvoid/fallbackeditor' commit 72fa95d9454d021a645426e5e7ae7a7ba510251f Author: BYVoid Date: 2010-05-25 16:28:26 +0800 Add Traditional Chinese mode punct for FallbackEditor M src/FallbackEditor.cc M src/FallbackEditor.h commit a72b309c8b890362fe679533a9286415759f9e50 Author: Peng Huang Date: 2010-05-25 16:22:28 +0800 Change some variables' name. M src/Makefile.am commit 4d5e9f2ea2475df2e8fa33a0bdd2561e89060214 Author: Peng Huang Date: 2010-05-25 15:45:42 +0800 Fix make distcheck errors. M src/Makefile.am commit 9f495b05abf522fea51fcea341c425d1a9a73e52 Author: Peng Huang Date: 2010-05-25 13:29:22 +0800 Update po files and adjust ui M po/ru.po M po/zh_CN.po M po/zh_HK.po M po/zh_TW.po M setup/ibus-pinyin-preferences.ui commit f39251e51b09d8b386a903a67dd3cf65dbadf296 Author: Peng Huang Date: 2010-05-25 12:58:50 +0800 Adjust the setup interface. M setup/ibus-pinyin-preferences.ui M setup/main.py commit 6f088990f755857ec1d8f2e0ccc9794aee0fbb23 Author: Peng Huang Date: 2010-05-24 14:21:31 +0800 Use boost::scoped_ptr to maintain Config instances. M src/Config.cc M src/Config.h commit 839285e57e76ddf94b6c77233ed6296ebead2a8c Author: Peng Huang Date: 2010-05-24 13:41:24 +0800 Refine coding style and use guint8 in BopomofoKeyboard.h M scripts/genbopomofokeyboard.py M src/Bopomofo.h M src/BopomofoKeyboard.h M src/Makefile.am commit 9258379bbdaedc5ab48688303d13df8ef4446f9d Author: Peng Huang Date: 2010-05-24 10:05:50 +0800 Use const gchar * to replase std::string for static strings. M src/Config.cc commit e034dcfa68d6652d0a85d7a476db3faf97a70076 Author: Peng Huang Date: 2010-05-24 08:48:00 +0800 Refine modifiers test code for Ctrl + Shift + F M src/BopomofoEngine.cc M src/PinyinEngine.cc M src/Util.h commit 19bb8989b043c292ab22523733bac2ef127f80d2 Merge: c95380c 8b7ac7c Author: Peng Huang Date: 2010-05-24 07:29:27 +0800 Merge remote branch 'byvoid/st_switch_hotkey' commit c95380ca00b797431c8d5b8fdb7ed0bb0773df40 Author: BYVoid Date: 2010-05-23 21:01:53 +0800 Fix a bug on Config & Enable Bopomofo specialized settings M setup/main.py M src/BopomofoEditor.cc M src/Config.cc M src/Config.h M src/PhoneticEditor.cc commit 8b7ac7c654eeaccf1fb45fcca6088eed537bad2b Author: BYVoid Date: 2010-05-23 20:18:45 +0800 Add hotkey Ctrl + Shift + F to toggle simp/trad Chinese input mode M src/BopomofoEngine.cc M src/PinyinEngine.cc commit 11f83b7110549559aa0741fc054aaeb2b2f1f164 Author: Peng Huang Date: 2010-05-23 17:37:09 +0800 Launch setup with different arguments in PinyinEngine & BopomofoEngine M src/BopomofoEngine.cc M src/PinyinEngine.cc commit 86649ed500fc5ce607a2cd36101bc9fc9d749ae6 Author: Peng Huang Date: 2010-05-23 17:35:03 +0800 Use pinyin setup as default M setup/main.py commit 82f0c59bf63523f6c5255ade681a3e43bfc1af2c Author: Peng Huang Date: 2010-05-23 17:07:41 +0800 Add test-pinyin and test-bopomofo targets M setup/Makefile.am commit 83e194de430e70ca46034016f2b172e5ac8a2aeb Author: BYVoid Date: 2010-05-23 17:04:49 +0800 Reorganize setup User Interface M setup/ibus-pinyin-preferences.ui M setup/main.py commit b4e80d22b99d42afdc5067738129910877160704 Merge: 163587a f9a90e8 Author: Peng Huang Date: 2010-05-23 12:48:45 +0800 Merge remote branch 'byvoid/PhoneticEditor' into config Conflicts: src/BopomofoEditor.cc src/Editor.h src/PinyinEditor.cc commit 163587a5185b137df364194d862a671019e3528c Author: Peng Huang Date: 2010-05-23 11:59:06 +0800 Separate Config to PinyinConfig and BopomofoConfig M src/BopomofoEditor.cc M src/BopomofoEditor.h M src/BopomofoEngine.cc M src/Config.cc M src/Config.h M src/DoublePinyinEditor.cc M src/DoublePinyinEditor.h M src/Editor.cc M src/Editor.h M src/ExtEditor.cc M src/ExtEditor.h M src/FallbackEditor.h M src/FullPinyinEditor.cc M src/FullPinyinEditor.h M src/Main.cc M src/PhraseEditor.cc M src/PhraseEditor.h M src/PinyinEditor.cc M src/PinyinEditor.h M src/PinyinEngine.cc M src/PinyinProperties.cc M src/PinyinProperties.h M src/PunctEditor.cc M src/PunctEditor.h M src/RawEditor.h M src/SpecialPhraseTable.cc commit f9a90e87c0de01909659b5c134bd8d0fc5fd14b1 Author: BYVoid Date: 2010-05-23 12:30:57 +0800 Add abstract class PhoneticEditor M src/BopomofoEditor.cc M src/BopomofoEditor.h M src/BopomofoEngine.cc M src/DoublePinyinEditor.cc M src/Editor.h M src/FallbackEditor.cc M src/Makefile.am A src/PhoneticEditor.cc A src/PhoneticEditor.h M src/PinyinEditor.cc M src/PinyinEditor.h M src/PinyinEngine.cc M src/PunctEditor.cc M src/Util.h commit d30c3eb38d344234f0c2b4c64b7ade8fe32be667 Author: Peng Huang Date: 2010-05-23 08:11:09 +0800 Add BopomofoKeyboard.h in Makefile.am M src/Makefile.am commit 97e6b06bfbff6e97f34927abfb68ca787a04e81c Author: BYVoid Date: 2010-05-20 16:20:08 +0800 Add keyboard mappings for Bopomofo A scripts/genbopomofokeyboard.py M src/BopomofoEditor.cc M src/BopomofoEditor.h A src/BopomofoKeyboard.h commit 2850ed99948e24996e494ca85e4520b28eb6e7c9 Author: Peng Huang Date: 2010-05-20 14:12:59 +0800 PunctEditor.c: reset editor, when commit some text to application M src/PunctEditor.cc commit 7b9b5d6855992dc5115e1ba16a1c12ed708328b2 Author: Peng Huang Date: 2010-05-20 13:03:28 +0800 Refine coding style M src/Bopomofo.h M src/BopomofoEngine.h M src/Database.h M src/Engine.h M src/ExtEditor.h M src/FallbackEditor.h M src/PinyinEngine.h M src/PinyinParser.h M src/PunctEditor.h M src/RawEditor.h M src/Types.h commit 01b5e9f5177b1f2c98ddbc80c4d120a775ea2f8d Author: Peng Huang Date: 2010-05-20 13:00:21 +0800 Add copyright header in some python file M setup/main.py M setup/version.py.in commit 7bde3870c152ed24d81a53fbcb658ec223e35f52 Author: Peng Huang Date: 2010-05-20 12:56:48 +0800 Remove WideString.h D src/WideString.h commit f52e95706d705509320a84c9cc3383ac3adf7027 Author: Peng Huang Date: 2010-05-20 12:54:10 +0800 Add BYVoid in copyright header for some files M src/Bopomofo.h M src/BopomofoEditor.cc M src/BopomofoEditor.h M src/BopomofoEngine.cc M src/BopomofoEngine.h M src/PunctEditor.cc M src/PunctEditor.h commit b1a91ad39f89efcaeb7bd01c3877b7fea0e6d1c7 Author: Peng Huang Date: 2010-05-20 12:49:05 +0800 Add copyright header A scripts/addheader.py A scripts/header M src/Bopomofo.h M src/BopomofoEditor.cc M src/BopomofoEditor.h M src/BopomofoEngine.cc M src/BopomofoEngine.h M src/Bus.h M src/Config.cc M src/Config.h M src/Database.cc M src/Database.h M src/DoublePinyinEditor.cc M src/DoublePinyinEditor.h M src/DoublePinyinTable.h M src/DynamicSpecialPhrase.cc M src/DynamicSpecialPhrase.h M src/Editor.cc M src/Editor.h M src/Engine.cc M src/Engine.h M src/ExtEditor.cc M src/ExtEditor.h M src/FallbackEditor.cc M src/FallbackEditor.h M src/FullPinyinEditor.cc M src/FullPinyinEditor.h M src/HalfFullConverter.cc M src/HalfFullConverter.h M src/LookupTable.h M src/Main.cc M src/Object.h M src/Phrase.h M src/PhraseArray.h M src/PhraseEditor.cc M src/PhraseEditor.h M src/PinyinArray.h M src/PinyinEditor.cc M src/PinyinEditor.h M src/PinyinEngine.cc M src/PinyinEngine.h M src/PinyinParser.cc M src/PinyinParser.h M src/PinyinProperties.cc M src/PinyinProperties.h M src/Pointer.h M src/Property.h M src/PunctEditor.cc M src/PunctEditor.h M src/RawEditor.h M src/Regex.h M src/Signal.h M src/SimpTradConverter.cc M src/SimpTradConverter.h M src/SpecialPhrase.cc M src/SpecialPhrase.h M src/SpecialPhraseTable.cc M src/SpecialPhraseTable.h M src/String.h M src/Text.h M src/Types.h M src/Util.h M src/WideString.h commit d52ce00ad6718933db0df16451a8ea0a9e15e505 Author: Peng Huang Date: 2010-05-20 11:07:30 +0800 Adjust Phrase struct M src/Database.cc M src/Phrase.h commit db8a93b8dfce99abfd827f34d20abbeff2538d7b Author: Peng Huang Date: 2010-05-20 10:18:49 +0800 Adjust struct Pinyin M scripts/genpytable.py M src/Database.cc M src/PinyinParserTable.h M src/Types.h commit e50e58a4739793c72ff50ddd9965ad1488b3eacc Author: Peng Huang Date: 2010-05-20 10:03:36 +0800 Use guint8 for pinyin id M src/Phrase.h commit 1c29151417b47765f1ecd4beffda2f9f4d3cfa9a Author: Peng Huang Date: 2010-05-19 22:27:48 +0800 Set CFLAGS and CXXFLAGS in distcheck M Makefile.am commit 1639e147b1f247ff7e81799f125d4cd9d2f0435c Author: Peng Huang Date: 2010-05-19 22:04:47 +0800 Remove slots in Engines. M src/BopomofoEngine.cc M src/BopomofoEngine.h M src/PinyinEngine.cc M src/PinyinEngine.h commit 5b3ed4eedf0163cf87e697675805e0a73ea974c2 Author: Peng Huang Date: 2010-05-19 21:55:49 +0800 Use StaticText M src/PunctEditor.cc commit f276b2072f2c9b2b344a673486bb7907d7c8ac44 Author: Peng Huang Date: 2010-05-19 21:43:56 +0800 Refine coding style M src/Phrase.h commit b7afcc3ca1e9a7efac29f7f10da008b6ec052a91 Author: Peng Huang Date: 2010-05-19 21:43:39 +0800 Use guint8 for pinyin id M src/Types.h commit bfbc50af2a613232cec8dd4e776c0ac0e433688b Author: Peng Huang Date: 2010-05-19 17:29:49 +0800 Fix build errors in NetBSD M src/PinyinEditor.cc commit b9a2255b4478ec5ab3d3793462e89fc98a498393 Author: Peng Huang Date: 2010-05-19 13:39:10 +0800 Update Copyright information M Makefile.am M configure.ac M data/Makefile.am M data/db/Makefile.am M data/db/android/Makefile.am M data/db/open-phrase/Makefile.am M data/icons/Makefile.am M m4/Makefile.am M po/ru.po M po/zh_CN.po M po/zh_HK.po M po/zh_TW.po M setup/Makefile.am M setup/ibus-pinyin-preferences.ui M src/Makefile.am commit 5293d9fa8c71471c8fa7e94b05e4ea7bfdff2538 Author: Peng Huang Date: 2010-05-19 13:21:00 +0800 Clear the lookup table when cursor == 0 M src/PunctEditor.cc commit ca5db95f90da616c7a9db0a57a2e9ae0a77d7dc0 Author: Peng Huang Date: 2010-05-19 12:58:55 +0800 Do not use color for candidates of PunctEditor M src/PunctEditor.cc commit f23f898e21418421bd59b9d58cbb328dacded57c Author: Peng Huang Date: 2010-05-19 12:45:27 +0800 Fix some bugs in PunctEditor M src/PunctEditor.cc commit 4eb4f42bfa5b456e6fc176bfde4fb1bc4cbb78bd Author: Peng Huang Date: 2010-05-19 12:08:45 +0800 Fix crash when move curso in pinyin "pi'ao" M src/PinyinParser.cc commit ed0651e5dba02d4629811aad85eedb85ad9d1700 Author: Peng Huang Date: 2010-05-19 11:19:27 +0800 Improve punct editor. M src/LookupTable.h M src/PunctEditor.cc M src/PunctEditor.h commit b987eef1b9d4768f3ea458189afb660afdc704cb Author: Peng Wu Date: 2010-05-18 15:12:10 +0800 change fillCommandCandidates behaviour. M src/ExtEditor.cc commit 5dba4f1d3e7eb38c85d550d71f36f63c5b17496a Author: Peng Wu Date: 2010-05-18 14:57:15 +0800 rename ibus_engine_plugin_free part 2. M src/ExtEditor.cc commit f5a9d67dbcd11d289c84ed8cbd5dee82d0f6afe4 Author: Peng Wu Date: 2010-05-18 14:56:01 +0800 rename ibus_engine_plugin_free. M lua/lua-plugin.c M lua/lua-plugin.h commit f29d0e8c70bd9a7744be7dfe3e79a71e20f07f05 Author: Peng Wu Date: 2010-05-18 14:54:23 +0800 add fill candidates. M src/ExtEditor.cc commit 9702be36351fbf1cd7a7be2a6bd27415880c3b9a Author: Peng Wu Date: 2010-05-17 16:08:09 +0800 add update auxiliary and fill candidates label according to m_mode. M src/ExtEditor.cc commit 717ec8f7335511d33a2a0f054bb1eb141c945a79 Author: Peng Wu Date: 2010-05-13 18:56:13 +0800 add aux and preedit text. M src/ExtEditor.cc commit 6d36d1133befbd5dc4e62ba7443222c45027a6f3 Author: Peng Wu Date: 2010-05-12 17:03:55 +0800 fixes retval of function processKeyEvent. M src/ExtEditor.cc commit a63bb1b2052afb203783d50eb41e6801d14710ae Author: Peng Wu Date: 2010-05-12 16:46:27 +0800 enable ext mode in pinyin engine. M src/PinyinEngine.cc commit f52a8aaf5a8fada6a2b2e203dd50c1aaa27037b5 Author: Peng Wu Date: 2010-05-12 16:45:28 +0800 rename m_input to m_text and m_cursor_pos to m_cursor. M src/ExtEditor.cc M src/ExtEditor.h commit 64f12372db7e24af20d000d399d73d74a2667c35 Author: Peng Wu Date: 2010-05-12 13:44:25 +0800 clean up code. M src/ExtEditor.cc commit 539d0d0bb455ebc79477a4adc3c51520c95beec0 Author: Peng Wu Date: 2010-05-11 19:03:11 +0800 refact code into updateStateFromInput and fixes compiling errors. M src/ExtEditor.cc M src/ExtEditor.h commit 4a56a37823f7cf93a89f9fea0afedcdbe3ce69d1 Author: Peng Wu Date: 2010-05-11 14:48:25 +0800 add m_cursor_pos. M src/ExtEditor.cc M src/ExtEditor.h commit cedc8d5c6968deae7936a59a608184d91edd5121 Author: Peng Wu Date: 2010-05-10 15:56:32 +0800 begin to implement input logic for ibus-pinyin lua module. M src/ExtEditor.cc M src/ExtEditor.h commit 2f0cb527ea398e0ee8debe86231fd20a0e12d30f Author: Peng Wu Date: 2010-05-07 12:55:13 +0800 add const modifier. M lua/lua-ext-console.c M lua/lua-plugin.h commit d3df4ef4811c8a6ef1c5660b8e63d4d916b0369a Author: Peng Wu Date: 2010-05-07 12:53:36 +0800 add const modifier. M src/ExtEditor.cc commit 209d06b04a13247ffd31895e9e87d59c25fd3b2d Author: Peng Wu Date: 2010-05-07 12:51:24 +0800 refactor lua plugin interface. M lua/lua-ext-console.c M lua/lua-plugin.c M lua/lua-plugin.h commit e63b0016502ff2f535894006c67364ed8fa48ef0 Author: Peng Wu Date: 2010-05-07 11:15:20 +0800 begin to modify lua plugin. M lua/lua-plugin.h commit 31a21dbb7c449813d61459a1a232dbbd0b576d1e Author: Peng Wu Date: 2010-05-07 11:12:27 +0800 begin to write input logic. M src/ExtEditor.cc M src/ExtEditor.h commit e2295b71251476650fb376a3d973c53e0c319bdc Author: Peng Wu Date: 2010-05-06 16:24:28 +0800 add fillCommandCandidates(string) implementation. M src/ExtEditor.cc commit 5cf2d6572742d095af07c84182fb3ae4e96f7602 Author: Peng Wu Date: 2010-05-05 15:05:11 +0800 define ExtEditor interface. M src/ExtEditor.cc M src/ExtEditor.h commit 695cd737ebf281f6a030ec22707a6717df455614 Author: Peng Wu Date: 2010-05-05 11:21:14 +0800 add appendLabel for LookupTable. M src/LookupTable.h commit 233b0a7bc8f74d2e14996364998db8ef3c2e747b Author: Peng Wu Date: 2010-05-05 11:18:10 +0800 add comments M src/ExtEditor.cc M src/ExtEditor.h commit 1e1e7075b63f56117c9e7646ac78efa8d4adeb31 Author: Peng Wu Date: 2010-05-04 15:23:17 +0800 define ext editor interface. M src/ExtEditor.cc M src/ExtEditor.h commit c498c0a73b72be8d1dc3a492e88ce52246ec8d67 Author: Peng Wu Date: 2010-05-04 13:37:29 +0800 begin to integrate lua ext. M src/ExtEditor.h M src/Makefile.am commit f49a84c21e00e023a2732aea6156e5727b373618 Author: Peng Wu Date: 2010-04-23 14:13:01 +0800 dump all arguments for register_trigger. M lua/lua-plugin-init.c commit 090a378d1b42c5d72615b5d4a7c3bf93d99a2078 Author: Peng Wu Date: 2010-04-20 16:01:29 +0800 remove lua_plugin_retrieve_plugin declaration on lua-plugin.h M lua/lua-plugin.h commit 3e179a84e4e08b19b2bff856b1af8f8c6fefb35e Author: Peng Wu Date: 2010-04-20 15:57:27 +0800 do some clean up on lua-plugin.h M lua/lua-plugin.c M lua/lua-plugin.h M lua/test-lua-plugin.c commit 077892da6d8545bb487ff58e79b1d5a9d892ca0c Author: Peng Wu Date: 2010-04-20 15:53:21 +0800 fixes Makefile.am M lua/Makefile.am commit 0ec7c3edfd6ec32aaf6cd37e745568a82bf9e565 Author: Peng Wu Date: 2010-04-20 15:48:43 +0800 add lua-ext-console.c M lua/Makefile.am A lua/lua-ext-console.c M lua/lua-plugin.c M lua/lua-plugin.h commit bdc0c91efa8dd6532ad550b46cf3a3756c7662dc Author: Peng Wu Date: 2010-04-16 16:36:08 +0800 add ibus_engine_plugin_get_candidate and enhance ibus_engine_plugin_get_retval. M lua/lua-plugin.c commit f2411d43bf3a5433930c57809a386703ea31f50f Author: Peng Wu Date: 2010-04-16 16:00:43 +0800 add ibus_engine_plugin_call. M lua/lua-plugin.c M lua/lua-plugin.h commit 560cdb15c6c238252d49c362a631de35d05713c2 Author: Peng Wu Date: 2010-04-16 14:10:04 +0800 write ibus_engine_plugin_load_lua_script. M lua/lua-plugin.c M lua/lua-plugin.h M lua/test-lua-plugin.c commit 7cf2505a5790195814e05e4a26f40fe8319d5e67 Author: Peng Wu Date: 2010-04-14 17:56:47 +0800 lua extension (ime.register_command) in progress. M lua/lua-plugin-init.c M lua/lua-plugin.c M lua/lua-plugin.h commit aae2c566368ddd45a60b47a4b571f845d7a19b01 Author: Peng Wu Date: 2010-04-13 16:31:03 +0800 re-factor lua-plugin interface. M lua/lua-plugin.h commit c3bc5bd52879a85a7a6bfd4e2baefbe7cf37bc01 Author: Peng Wu Date: 2010-04-13 15:55:07 +0800 ime register command in progress. M lua/lua-plugin-init.c M lua/lua-plugin.c M lua/lua-plugin.h M lua/test-lua-plugin.c commit 604d367fc223e142617b93f550dc7aa10f859848 Author: Peng Wu Date: 2010-04-11 15:29:11 +0800 code cleanup. M lua/lua-plugin.c M lua/test-lua-plugin.c commit 25776642382b9e780e197b9f85aeb5aeb7852c7b Author: Peng Wu Date: 2010-04-11 15:26:30 +0800 refactor lua-plugin M lua/lua-plugin.c M lua/lua-plugin.h M lua/test-lua-plugin.c commit 83ae73bf667347973ce53f8124a64310b00b0805 Author: Peng Wu Date: 2010-04-11 15:10:41 +0800 refactor lua-plugin gobject interface. M lua/lua-plugin-init.c M lua/lua-plugin.c M lua/lua-plugin.h commit 7505cd8f7c7298f6db1dc1ad665b082810234944 Author: Peng Wu Date: 2010-04-11 15:01:11 +0800 add gobject interface for lua-plugin. M lua/Makefile.am M lua/lua-plugin-init.c A lua/lua-plugin.c M lua/lua-plugin.h M lua/test-lua-plugin.c commit 07351a7e974d192a1b93679d518be75cb764fdd2 Author: Peng Wu Date: 2010-04-11 13:43:52 +0800 add comment. M lua/lua-plugin-init.c commit fc07e4c1311e9ed7702fac1f0bd6882804d1a362 Author: Peng Wu Date: 2010-04-07 14:52:32 +0800 change isnil to isnone. M lua/lua-plugin-init.c commit d6d3f471888f57f0f5758189da1573cb5d93931f Author: Peng Wu Date: 2010-04-07 14:28:53 +0800 add arguments check. M lua/lua-plugin-init.c commit 693daa8e9d463ffae61b398243ec97c89fd896eb Author: Peng Wu Date: 2010-04-07 14:04:46 +0800 sketch for ime_register_trigger, begin to write ime_register_command. M lua/lua-plugin-init.c commit c27eacbbed0415fd97bf5521b430ffe54802646f Author: Peng Wu Date: 2010-04-07 11:06:11 +0800 interface changed to lua_plugin_context. M lua/lua-plugin.h commit 55e2c5679defc8184a0ba69f31fbf4d77d5eae8f Author: Peng Wu Date: 2010-04-06 16:50:28 +0800 add table check in join_string. M lua/lua-plugin-init.c M lua/test.lua commit f0caf8ca6f53961952bae84b678dce76762b4ed3 Author: Peng Wu Date: 2010-04-06 15:17:52 +0800 change ime_join_string behavior. M lua/lua-plugin-init.c commit a3987f2e2a8fea3916ee410a3679bdf3d57b4188 Author: Peng Wu Date: 2010-04-06 13:22:12 +0800 change ime_join_string implementation. M lua/lua-plugin-init.c M lua/test.lua commit bfee085f2be86e3bd16a96c8dd70c3cc937852b1 Author: Peng Wu Date: 2010-04-06 12:53:36 +0800 change tolstring to checklstring. M lua/lua-plugin-init.c M lua/test-lua-plugin.c M lua/test.lua commit 113f004efdbf39ef37a1758b862117b38ba4fedf Author: Peng Wu Date: 2010-04-01 16:34:21 +0800 begin lua-plugin integration. M lua/lua-plugin.h M lua/test-lua-plugin.c commit 870473405c70bb592d80cbe291acf1470dc5468e Author: Peng Wu Date: 2010-03-31 17:45:59 +0800 add some test cases and safe arguments check. M lua/lua-plugin-init.c M lua/test.lua commit 3295f6ac1d2b7232926840b1285703eae93f2573 Author: Peng Wu Date: 2010-03-30 15:48:28 +0800 add more test case. M lua/test.lua commit 1a65af9f22a58dd4534fcfe9142cfd4fe0162626 Author: Peng Wu Date: 2010-03-30 15:35:46 +0800 add ime.parse_mapping func. M lua/lua-plugin-init.c M lua/test.lua commit 43c4d46425e43907570ca09d880a9f03a90a419c Author: Peng Wu Date: 2010-03-29 18:51:18 +0800 add more test case and fixes join_string with empty table. M lua/lua-plugin-init.c M lua/test.lua commit c99ffc77af565bbe84981fa8b9fd881a21dd5f42 Author: Peng Huang Date: 2010-03-31 10:54:40 +0800 Integrate lua M Makefile.am M configure.ac A lua/Makefile.am commit 8f63f9f3362e97377bcad584ecb5fb4ac75d5223 Author: Peng Wu Date: 2010-03-26 17:33:20 +0800 add new test cases for split/join. M lua/lua-plugin-init.c M lua/test.lua commit 0bcdae428741bd8e12692df0cb3f93efb76fdd8e Author: Peng Wu Date: 2010-03-25 15:37:32 +0800 add split_string function. M lua/lua-plugin-init.c commit 43b0f21525db609c86800064f176f95cf3e49be1 Author: Peng Wu Date: 2010-03-24 14:43:47 +0800 the initial ime_join_string implement and add lua_pop for trim_string functions. M lua/lua-plugin-init.c commit a1a3c7e061376b6426c12f29b4131785a27e943b Author: Peng Wu Date: 2010-03-22 10:00:22 +0800 change luaL_checklstring to lua_tolstring. M lua/lua-plugin-init.c M lua/test.lua commit 9235290adcd1ca1a7c1de6bafc1a275f677aa01f Author: Peng Wu Date: 2010-03-15 18:00:30 +0800 add some check on IME_TRIM_PRECHECK. M lua/lua-plugin-init.c commit c6705a7f4e28568ad42a479d0f41d854f0e111d2 Author: Peng Wu Date: 2010-03-15 17:28:52 +0800 add retval to lua_plugin_fini. M lua/lua-plugin-init.c commit d77fa9a821620d1b645394ab7871bd99232882a9 Author: Peng Wu Date: 2010-03-15 17:03:13 +0800 change to pushliteral in ime_get_version. M lua/lua-plugin-init.c commit 38e3513af3026135910647a5b09eee6b51d04a3c Author: Peng Wu Date: 2010-03-15 16:06:18 +0800 refactor code for checking condition. M lua/lua-plugin-init.c commit 5ce8a5206d8778a6513b74ccf3a3421cc86b6d4c Author: Peng Wu Date: 2010-03-15 15:54:45 +0800 add ime.trim*. M lua/lua-plugin-init.c commit ea36603015ab31469aa59eff8ee09880d006f83d Author: Peng Wu Date: 2010-03-11 10:45:43 +0800 lua plugin hello world is ok. M lua/lua-plugin-init.c A lua/lua-plugin.h A lua/test-lua-plugin.c A lua/test.lua commit a00e941af1ecef13149d8ca2adfbfca3b6725f26 Author: Peng Wu Date: 2010-03-09 18:38:14 +0800 initial code for lua plugin. A lua/lua-plugin-init.c commit 1737c1be0c98d5f17bef6fca5151de0a4278f04b Author: Peng Huang Date: 2010-05-19 08:10:39 +0800 Add some half chars in PunctTable M scripts/punct.py M src/BopomofoEngine.cc M src/PinyinEngine.h M src/PunctTable.h commit 41b2b52a009f38f47df37bb58f7e76a8ecfba013 Author: Peng Huang Date: 2010-05-19 08:10:08 +0800 Add PunctMode in PinyinEngine. M src/PinyinEngine.cc commit dd2ae1fb20d75f8f248effc6803f833ad80d0d3a Author: Peng Huang Date: 2010-05-18 20:50:13 +0800 Unify the coding style M src/BopomofoEditor.cc M src/PinyinParser.cc commit 3ceab924f440a0537caf89c8328fa5d78f3b3a2c Author: BYVoid Date: 2010-05-19 00:33:22 +0800 Fix a bug of Bopomofo parse M src/BopomofoEditor.cc M src/PinyinParser.cc commit 670cf5d77a038114579c461234832d1032bdda29 Author: BYVoid Date: 2010-05-18 22:27:09 +0800 Fix a bug of displaying tone characters in BopomofoEditor M setup/ibus-pinyin-preferences.ui M src/BopomofoEditor.cc M src/Main.cc M src/pinyin.xml.in.in commit 142b740249c74f0c6352c774fc7c44debeafb631 Author: BYVoid Date: 2010-05-18 20:26:20 +0800 Add zh_TW & zh_HK language support M po/LINGUAS M po/ru.po M po/zh_CN.po A po/zh_HK.po A po/zh_TW.po commit 35cfad6072d4fb875f7406cdee89ea91e11f93c0 Author: Peng Huang Date: 2010-05-18 19:11:33 +0800 Add BYVoid in AUTHORS M AUTHORS M src/Main.cc M src/pinyin.xml.in.in commit bdca1d82764a747e9869f63f3040ef3edfc8333e Author: Peng Huang Date: 2010-05-18 19:11:13 +0800 Remove CustomPhrases in POTFILES M po/POTFILES.in commit 51438d761eb28fc9c19efc7eef82681ebdc86e65 Merge: 28d811b c5aefb2 Author: Peng Huang Date: 2010-05-17 10:41:11 +0800 Merge branch 'bopomofo' Conflicts: ibus-pinyin.spec.in commit c5aefb2ca27010474d12032f51be840c92ed4770 Author: Peng Huang Date: 2010-05-17 10:01:31 +0800 Add Bopomof in spec file. M ibus-pinyin.spec.in commit d153239dd1681837f445719cacca045a43c9d877 Author: Peng Huang Date: 2010-05-17 10:01:11 +0800 register properties in focusIn M src/BopomofoEngine.cc M src/BopomofoEngine.h M src/Engine.h M src/PinyinEngine.h commit 90bb72d5cea0f36397d477251e89ef7e6f627ddc Author: Peng Huang Date: 2010-05-17 09:53:55 +0800 Reset PunctEditor when press Esc M src/PunctEditor.cc commit b46bb4bd7443dcdef7fb790fde5138b9f9f36007 Author: Peng Huang Date: 2010-05-17 09:47:52 +0800 Include PunctTable.h in tarball M src/Makefile.am commit 70c8b03d0e5112fc1fcd9fcc557ff5714767c8bd Author: Peng Huang Date: 2010-05-17 07:23:36 +0800 Do not allow input chars more than 2 M src/Main.cc M src/PunctEditor.cc commit 9e4631290f6c40a74ba1403644b8536fe065ca91 Author: Peng Huang Date: 2010-05-17 07:17:20 +0800 Refine some code. M src/PunctEditor.cc commit acf0cdaca6d0c75359f90f4a888c6c99fc47c49b Author: Peng Huang Date: 2010-05-17 07:12:59 +0800 Fix the order of punct_table M scripts/punct.py M src/PunctEditor.cc M src/PunctTable.h commit 8df3e417526b436fadfb7eeced6bde5cc24577e0 Author: BYVoid Date: 2010-05-16 23:02:07 +0800 implement PunctEditor for BopomofoEngine M src/BopomofoEditor.cc M src/PunctEditor.cc M src/PunctEditor.h commit af19867e06534726ed91ab6c7b17bc5214ac53fa Author: Peng Huang Date: 2010-05-16 13:01:27 +0800 Add PunctEditor.h A src/PunctEditor.h commit b3ac1d2c04008c989c215b2ff3e9f84585bc76ce Author: Peng Huang Date: 2010-05-16 12:57:00 +0800 Add PunctTable in Makefile.am M src/Makefile.am commit 40b35c83033ba26a661731f44405280ed91bd48a Author: Peng Huang Date: 2010-05-16 12:42:22 +0800 Add PunctTable.h A scripts/genpuncttable.py M src/PunctEditor.cc A src/PunctTable.h commit 3cd7a8f7f2741d966fa9bea2dcaced4376c2e277 Author: Peng Huang Date: 2010-05-16 11:45:58 +0800 Add punct.py A scripts/punct.py commit bb8f130fb94108cb1fa6863d14e1b2cd165a1594 Author: Peng Huang Date: 2010-05-16 09:33:59 +0800 Add MODE_PUNCT in BopomofoEngine M src/BopomofoEngine.cc M src/BopomofoEngine.h M src/Makefile.am A src/PunctEditor.cc commit ea3c000a332c8dd67147f479e1fdc13747d560c2 Author: Peng Huang Date: 2010-05-16 09:16:48 +0800 Fix two build warnings. M src/BopomofoEditor.cc commit 98e590baa65b9fb133f71994877cd2068c505d7f Author: Peng Huang Date: 2010-05-16 08:42:44 +0800 Refine coding style in Database.cc M src/Database.cc commit 28d811bfa3676d1f96ec7b366caedececb6cc60b Author: Peng Huang Date: 2010-05-14 21:32:40 +0800 Remove PinyinParserTable.h.open-phrase D src/PinyinParserTable.h.open-phrase commit 301be52c7bc6c15fb7d41ce4d8d1330ec8af737e Author: Peng Huang Date: 2010-05-14 19:25:42 +0800 Add bopomofo icon M data/icons/Makefile.am A data/icons/ibus-bopomofo.svg M src/Main.cc M src/pinyin.xml.in.in commit 3537d0592fdf92a900c285980255aba39440a7e8 Author: Peng Huang Date: 2010-05-14 16:58:40 +0800 Add date string in version for testing M configure.ac commit ef13f112bc1a9a837bc116abe691670dd2c73f20 Author: BYVoid Date: 2010-05-14 17:26:35 +0800 Add Input mode/Select mode for Bopomofo M src/BopomofoEditor.cc M src/BopomofoEditor.h M src/BopomofoEngine.cc M src/PinyinParser.cc commit 6b4b7a6a082851ac734de624602dd4e7d013ab95 Author: BYVoid Date: 2010-05-14 10:55:49 +0800 Allow multiple tone character M src/BopomofoEditor.cc commit 35e5f6a5e90dde1b3683774247a4d9bb304bcc3c Author: Peng Huang Date: 2010-05-14 10:44:01 +0800 Create BopomofoEngine A src/BopomofoEngine.cc A src/BopomofoEngine.h M src/Engine.cc M src/Engine.h M src/Makefile.am M src/PinyinEngine.cc M src/PinyinEngine.h commit c18e74986fb1e608e313497d3b3914ab22a4854b Author: Peng Huang Date: 2010-05-13 19:15:39 +0800 Make bopomofo as a separate input engine. M src/BopomofoEditor.cc M src/Engine.cc M src/Engine.h M src/Main.cc M src/PinyinEngine.cc M src/PinyinEngine.h M src/pinyin.xml.in.in commit 44eb3a3beaaf8a9ee66a633783b3e6dd03a9e1f1 Author: BYVoid Date: 2010-05-13 17:41:57 +0800 Bopomofo M src/BopomofoEditor.cc M src/BopomofoEditor.h M src/PinyinEditor.cc M src/PinyinEngine.cc M src/PinyinParser.cc M src/PinyinParser.h commit 98dae8ce422354031a82d940b1e2a4086bfb621d Author: Peng Huang Date: 2010-05-13 16:19:49 +0800 Refine some descriptions in spec file M ibus-pinyin.spec.in commit a360dbe761107cd98530c24f2c115dd5c7613dca Author: BYVoid Date: 2010-05-13 11:18:30 +0800 add Bopomofo Support A src/Bopomofo.h A src/BopomofoEditor.cc A src/BopomofoEditor.h M src/Makefile.am M src/PinyinEditor.cc M src/PinyinEditor.h M src/PinyinEngine.cc M src/PinyinParser.cc M src/PinyinParser.h M src/PinyinParserTable.h commit 5a3d87178bf076bd7d2e59ff53d5eb49f36f3a1a Author: Peng Huang Date: 2010-05-12 20:44:00 +0800 Use wchar_t for bopomofo M scripts/genpytable.py M src/PinyinParserTable.h M src/Types.h commit e37e15be51cab2dfe85785b17a4707c09de402cd Author: Peng Huang Date: 2010-05-12 17:34:38 +0800 Generate some fuzzy bopomofo M scripts/bopomofo.py M scripts/genpytable.py M src/PinyinParserTable.h commit 0fe0c8fdb5c2ce9090394034a505427b1aeab176 Author: Peng Huang Date: 2010-05-12 15:35:56 +0800 Generate PinyinParserTable with bopomofo A scripts/bopomofo.py M scripts/genpytable.py M src/PinyinParserTable.h M src/Types.h commit dbd5b6db458766db85d25e26303c2ad8490f0d53 Author: Peng Huang Date: 2010-05-11 15:00:23 +0800 Remove unused classes D src/CustomPhrase.cc D src/CustomPhrase.h M src/Makefile.am commit 5aaa19db584a081a1aa33b020e9151a582beaa6b Author: Peng Huang Date: 2010-05-10 16:27:19 +0800 Does not include SimpTradConverter.h M src/PinyinEngine.cc commit 1eddfed90792799379b7fb17f4f29c493ba062c9 Author: Peng Huang Date: 2010-05-10 15:49:57 +0800 Drop indexes before create indexes. M data/db/create_index.sql commit 3bdcd64dec6955fae09a828ae72e50ddd4fce84f Author: Peng Huang Date: 2010-05-10 15:32:25 +0800 Create index if not exists M data/db/create_index.sql commit 875cfae16797f441fa60dc9976fdf34ff8f40007 Author: Peng Huang Date: 2010-05-07 22:26:36 +0800 Refine rpm packages: ibus-pinyin be split into ibus-pinyin, -db-android and -db-open-phrase. M ibus-pinyin.spec.in commit 724c443b776ded963d3804c2468a8b260bbebd1e Author: Peng Huang Date: 2010-05-03 15:47:58 +0800 Add macro DOUBLE_PINYIN_ZGPY M src/DoublePinyinTable.h commit 1e1a3dcf395ef25860af696ed99528bfc1a33091 Author: Peng Huang Date: 2010-05-03 15:41:13 +0800 Release 1.3.5 M configure.ac commit 0e1f4a854482344e08fecbed9efe404063158d74 Author: Peng Huang Date: 2010-05-03 15:08:59 +0800 Fix problem in parse double pinyin M src/DoublePinyinEditor.cc M src/PinyinParser.cc commit 26b0f41caafe71d918d4c77a3f68fd31afd9436c Author: Peng Huang Date: 2010-05-03 14:24:24 +0800 Add MS double pinyin back M src/DoublePinyinTable.h commit d3724f8e4698acee7505e0270ef4723a160d0d59 Author: Peng Huang Date: 2010-05-02 20:20:34 +0800 support correct: van => uan, vn => un, ven=>un, vang => uang M scripts/genpytable.py M setup/ibus-pinyin-preferences.ui M src/Config.cc M src/PinyinParserTable.h M src/Types.h commit 8ee87ff84b8832ffa38a5b750f0c53dd3dabf3ae Author: Peng Huang Date: 2010-05-02 18:58:57 +0800 Support correct jv,qv,xv,yv to ju,qu,xu,yu M configure.ac M scripts/genpytable.py M setup/ibus-pinyin-preferences.ui M setup/main.py M src/Config.cc M src/DoublePinyinEditor.cc M src/DoublePinyinTable.h M src/PinyinParserTable.h M src/Types.h commit 9f34b7fd069299791a3dff1a205014a4b42759e8 Author: Peng Huang Date: 2010-04-28 18:48:11 +0800 Refine python script M src/update-simptrad-table.py commit 65303df35cc8db82810faa24235d6728234ee895 Author: Peng Huang Date: 2010-04-28 17:47:41 +0800 Add sctc A src/sctc.py M src/update-simptrad-table.py commit fdf98223a7219a698d0795b8acfa2064999061be Author: Peng Huang Date: 2010-04-25 20:28:31 +0800 Use macro VERION M src/Main.cc commit 67bfe008d98d8ee9b916956f2c0705a41aad65b5 Author: Peng Huang Date: 2010-04-25 16:37:27 +0800 Refine coding style M src/Signal.h commit 9221dcd2a12dff8d01190b31e5b620b8d653930c Author: Peng Huang Date: 2010-04-25 10:03:00 +0800 Refine coding style M src/Main.cc commit 9f52877a68de2552e636e2ce5571cad6f7f28953 Author: Peng Huang Date: 2010-04-24 16:03:43 +0800 Clear editor, when user presses Shift to switch En/Ch mode M src/PinyinEditor.cc M src/PinyinEngine.cc commit bc3df925397856d5110552dbc98a7867afb02d11 Author: Peng Huang Date: 2010-04-24 15:38:09 +0800 add assert in Object.h M src/Object.h commit c9d7cd3ce501e7134692c51b3ba42e2eb079b312 Author: Peng Huang Date: 2010-04-24 15:31:13 +0800 Fix half and full punch problem M src/FallbackEditor.cc M src/FallbackEditor.h M src/PinyinEngine.cc M src/Text.h commit 0bb27ab4b07716102e7c86c103a88476e74335f1 Author: Peng Huang Date: 2010-04-20 15:30:02 +0800 Add libboost-dev >= 1.39 in debian build script M debian/control commit f4b43ed2e2957f27c5a92db8b21aed28c3a7f0b8 Author: Peng Huang Date: 2010-04-20 11:00:41 +0800 Use libboost to replace sigc++ M debian/control commit ae017a35e8055b002f87d5ba0a9f62d7a874e911 Author: Peng Huang Date: 2010-04-16 12:45:21 +0800 Does not need swig M debian/control commit 05f37204f748e0093506bd2293d16a2de5e47cdf Author: Peng Huang Date: 2010-04-16 12:43:00 +0800 Update debian from Li Daobing's repository M debian/changelog M debian/control M debian/rules A debian/source/format commit a33abc5b604a056f7c8adb66ce72d3407014d0fd Author: Peng Huang Date: 2010-04-20 14:01:56 +0800 Check boost::signals2 in configure.ac M configure.ac M src/Makefile.am M src/Signal.h commit 27ad7fcaacf9ff6e2d6c026ca9a659502b2fca72 Author: Peng Huang Date: 2010-04-20 08:38:06 +0800 Fix typo in phrases.txt M src/phrases.txt commit bd5261752efc27558d4ccc46498faaf1d6955cd4 Author: Peng Huang Date: 2010-04-19 15:12:03 +0800 Does not use typedef any more M src/Phrase.h M src/Types.h commit 1454d9f1192bbc42f3ed70a7c220fdef56c1cb8c Author: Peng Huang Date: 2010-04-19 14:52:07 +0800 Use tab for page down M src/PinyinEditor.cc M src/String.h commit 37e2dce77ff0c0a48fd51e74a19179e9044fb536 Author: Peng Huang Date: 2010-04-19 13:35:30 +0800 Use std::string to replace String M src/Editor.h M src/Text.h M src/Util.h commit 9eaf10e010931ad4f3b4249957ce29633492e8b8 Author: Peng Huang Date: 2010-04-19 12:09:45 +0800 Reset m_prev_commited_char in FallbackEditor M src/FallbackEditor.cc commit 1433c8fc3a9a92d2da0f04d565e954ba3b366590 Author: Peng Huang Date: 2010-04-19 11:54:38 +0800 Remove unused code M src/PinyinEngine.cc M src/PinyinEngine.h commit 812c0178fc27969f371eb0e5d373141ab2efe9ee Author: Peng Huang Date: 2010-04-19 11:16:36 +0800 Remove StaticString M src/Config.cc M src/Config.h M src/PinyinEngine.cc M src/PinyinProperties.cc M src/Util.h commit 15e5b18dfea9b6d66d39bf486070c6a33ffd6227 Author: Peng Huang Date: 2010-04-19 11:03:05 +0800 Remove PinyinEnginePtr M src/Engine.cc M src/PinyinEngine.h commit cbbfa1fbec89ab312fc132c465404b8c0da754aa Author: Peng Huang Date: 2010-04-18 12:27:37 +0800 Use Object as the base class to replace Pointer. M src/Bus.h M src/Config.cc M src/Config.h M src/LookupTable.h M src/Main.cc M src/Makefile.am A src/Object.h M src/PinyinEngine.cc M src/PinyinEngine.h M src/PinyinProperties.cc M src/Property.h M src/Text.h commit 319924aa7ea5bb9cce557d0c474ac5d641f78dbb Author: Peng Huang Date: 2010-04-18 11:03:24 +0800 Remove debug output M src/Pointer.h commit a417506b1cd0e2987745a925053160ff8182ecaa Author: Peng Huang Date: 2010-04-17 20:11:46 +0800 Use struct M src/Pointer.h M src/Signal.h commit 2bb3f4dda26efcdcd93fcae0b2e5983a324272aa Author: Peng Huang Date: 2010-04-17 19:39:58 +0800 Generate ChangeLog from git during make dist M Makefile.am commit 414466300e91073a3af1f8c43024f8aeb454954d Author: Peng Huang Date: 2010-04-17 17:01:37 +0800 Use boost::shared_ptr to manage object instance. M src/Database.cc M src/Database.h M src/Editor.h M src/Engine.cc M src/PhraseEditor.cc M src/PhraseEditor.h M src/PinyinEngine.cc M src/PinyinEngine.h M src/SpecialPhrase.cc M src/SpecialPhrase.h M src/SpecialPhraseTable.cc M src/SpecialPhraseTable.h commit 30b4b372c2c4bad09c6ae94ebbd5b00e57ee9adf Author: Peng Huang Date: 2010-04-17 10:38:13 +0800 Use boost::signals2 to replace sigc++, do not need sigc++ library in runtime M configure.ac M ibus-pinyin.spec.in A m4/boost.m4 M src/Editor.h M src/Makefile.am M src/PinyinEngine.cc M src/PinyinProperties.h A src/Signal.h commit 8a0155f9c840cc4ee50dad97a13337d3fe5eb1a7 Author: Peng Huang Date: 2010-04-16 09:14:48 +0800 Refine code. M src/DynamicSpecialPhrase.cc M src/SimpTradConverterTable.h M src/update-simptrad-table.py commit 9218f1c22be21ea5199d1c180435071892d5faaa Author: Peng Huang Date: 2010-04-15 20:49:09 +0800 Fix build error on NetBSD and does not call localtime every time. M src/DynamicSpecialPhrase.cc M src/DynamicSpecialPhrase.h commit ed642f7341bca83d39297a99905fb152bde4a66e Author: Peng Huang Date: 2010-04-15 15:38:25 +0800 Update comments in phrases.txt M src/phrases.txt commit 406baa0f95f084e897db8845e407503bdcff6d6c Author: Peng Huang Date: 2010-04-15 15:34:28 +0800 Fix copy phrases.txt error M setup/main.py commit fb08ff9bc55513b58f31a298c27dcf57a4d4196a Merge: 9e5ecb8 035bec8 Author: Peng Huang Date: 2010-04-15 15:26:31 +0800 Merge remote branch 'origin/master' commit 9e5ecb8182be4e5a7c91cb92e9c5c64ed63fe8a2 Author: Peng Huang Date: 2010-04-15 15:24:26 +0800 Add special phrases in setup ui M po/ru.po M po/zh_CN.po M setup/ibus-pinyin-preferences.ui M setup/main.py M src/Config.cc M src/Config.h M src/SpecialPhraseTable.cc M src/phrases.txt commit 547f5f2edf23027731a3e9f13f2de60a32224c9f Author: Peng Huang Date: 2010-04-15 13:11:40 +0800 Update the phrases.txt location M po/ru.po M po/zh_CN.po M setup/ibus-pinyin-preferences.ui M setup/main.py M src/SpecialPhraseTable.cc commit 035bec8a9f02ffa9fd6354439799f45ef8de5e53 Author: Peng Huang Date: 2010-04-15 13:11:40 +0800 Update the phrases.txt location M src/SpecialPhraseTable.cc commit 5b2e8ff3ea0efa7e44eafef1a697683f3f06fdf5 Author: Peng Huang Date: 2010-04-15 12:21:47 +0800 Don't include WideString.h in Makefile.am M src/Makefile.am commit 593375cfeaee95ff25778c06c784900a95301ec0 Author: Peng Huang Date: 2010-04-15 12:09:35 +0800 Add clear of SpecialPhraseTable M po/POTFILES.in M src/DynamicSpecialPhrase.cc M src/DynamicSpecialPhrase.h M src/Makefile.am M src/SpecialPhrase.cc M src/SpecialPhrase.h M src/SpecialPhraseTable.cc M src/SpecialPhraseTable.h commit 3543873912a94b38853769c4bb9c81264a54337b Author: Peng Huang Date: 2010-04-15 11:30:25 +0800 Fix make distcheck errors. M po/POTFILES.in M src/Makefile.am commit 1b161011fb6aa5f2197fe83d8e310bc44586de5d Author: Peng Huang Date: 2010-04-15 11:15:53 +0800 Remove some unused code M src/DynamicSpecialPhrase.cc M src/SpecialPhraseTable.cc commit e84345b5d8bd1ce1aa0ffe4d2910b38581f4b7b9 Author: Peng Huang Date: 2010-04-15 11:13:04 +0800 Update phrases.txt M src/phrases.txt commit 98f2c717f5c7d0d532e5ee53c55370bff01e3b33 Author: Peng Huang Date: 2010-04-15 11:02:07 +0800 Split SpecialTable.{h, cc} A src/DynamicSpecialPhrase.cc A src/DynamicSpecialPhrase.h M src/Makefile.am M src/PinyinEditor.h R094 src/SpecialTable.cc src/SpecialPhrase.cc A src/SpecialPhrase.h A src/SpecialPhraseTable.cc R052 src/SpecialTable.h src/SpecialPhraseTable.h commit ade4b089f5f5974e070f59941c70376b72921219 Author: Peng Huang Date: 2010-04-15 10:38:36 +0800 Comment the lunar phrase M src/phrases.txt commit d48cbf22c71b41ea14d7fb4e58dc24153ca1331a Author: Peng Huang Date: 2010-04-15 08:30:32 +0800 Fix several bugs in SpecialTable M src/SpecialTable.cc M src/phrases.txt commit 10eeeed063f31e9c83de4b3860e65774cd725964 Author: Peng Huang Date: 2010-04-15 07:39:04 +0800 Install phrases.txt M configure.ac M ibus-pinyin.spec.in M src/Makefile.am M src/PinyinEditor.cc M src/phrases.txt commit 884385c71d3fc63a11b01d08e69fce8ba5a9c3f4 Author: Peng Huang Date: 2010-04-15 07:23:56 +0800 Remove some unused code. M src/Makefile.am commit b64e42f4000785e38a83322a381fe6dd98d347cd Author: Peng Huang Date: 2010-04-14 22:29:31 +0800 Load phrases.txt from home dir & pkgdata dir M src/SpecialTable.cc A src/phrases.txt D src/special_phrases commit 9118f465a155b230435ace53e4ecb196964b4548 Author: Peng Huang Date: 2010-04-14 19:24:35 +0800 Update special table. M src/SpecialTable.cc M src/special_phrases commit 1b09a2d9d16d805c1b9ad8a5d35178f75441e3dc Author: Peng Huang Date: 2010-04-14 19:05:34 +0800 Change special_phrases format M src/SpecialTable.cc M src/special_phrases commit 15ae23dc3b5d07f94a3846a52489975b6b2f6b58 Author: Peng Huang Date: 2010-04-14 18:33:30 +0800 Fix commit special phrases issue M src/PinyinEditor.cc commit ab506536d10fc7d965241eff64cf261c6e7c8f06 Author: Peng Huang Date: 2010-04-14 18:28:13 +0800 Support load special phrases from file. M src/SpecialTable.cc M src/special_phrases commit c608cfe155df89906b7c37fc42e8f910ad91914a Author: Peng Huang Date: 2010-04-14 17:48:00 +0800 Convert to unix format M src/special_phrases commit cfa46f77f2a451bffd1cba71b95382ded6d6efeb Author: Peng Huang Date: 2010-04-14 17:47:35 +0800 Add special_phrases M src/Regex.h M src/SpecialTable.cc A src/special_phrases commit 1ad5b89b18fe5a67334bff423ceaf129109d2c98 Author: Peng Huang Date: 2010-04-14 15:10:49 +0800 Use cstdlib to replace stdlib.h M src/Util.h commit 68fce9f627c524412f6b07a22810230c9befbbd5 Author: Peng Huang Date: 2010-04-14 11:25:39 +0800 Update SimpTradConverterTable.h from wikipedia M src/SimpTradConverterTable.h commit b3ea7266a0b491dfe727e1ebfa3cedc70da30276 Author: Peng Huang Date: 2010-04-14 11:19:09 +0800 Use cheaders M src/Database.cc M src/Engine.cc M src/Phrase.h M src/PinyinEngine.cc M src/PinyinParser.cc M src/SimpTradConverter.cc commit b113c8be8ca9b8d5f4b44ee991012d1513e29236 Author: Peng Huang Date: 2010-04-14 11:04:28 +0800 Support some dynamic special phrases M src/PinyinEditor.cc M src/SpecialTable.cc commit 06ae4e4984c1fea0ef0154ac94e8ebba2af7140a Author: Peng Huang Date: 2010-04-13 22:17:43 +0800 Show auxiliary text correctly with special phrase. M src/PinyinEditor.cc M src/PinyinEditor.h commit ccf66d9244a59e2830b71abe2d9b9ce007aff52a Author: Peng Huang Date: 2010-04-13 21:21:49 +0800 Refactory PinyinParser M src/DoublePinyinEditor.cc M src/DoublePinyinEditor.h M src/FullPinyinEditor.cc M src/FullPinyinEditor.h M src/PinyinEditor.cc M src/PinyinEditor.h M src/PinyinParser.h commit 4707357783c1bcf44cfab5d7915182f38f231398 Author: Peng Huang Date: 2010-04-13 17:41:38 +0800 Refine code M src/Database.cc M src/Database.h M src/PhraseEditor.cc M src/PhraseEditor.h M src/PinyinEditor.cc M src/PinyinEditor.h M src/SpecialTable.cc M src/SpecialTable.h commit 11da825e682f1341b97cdb9f5482d6293338888a Author: Peng Huang Date: 2010-04-13 16:18:29 +0800 Add a special phrase. M src/SpecialTable.cc commit fdf8943c8a0745f208e715e96d4dd6162e9e7e81 Author: Peng Huang Date: 2010-04-13 15:54:57 +0800 Enable special phrases in double pinyin M src/DoublePinyinEditor.cc M src/FullPinyinEditor.cc M src/PinyinEditor.cc M src/PinyinEditor.h commit 3f394df7cf47f4287d886463f2a5e94c4f658d57 Author: Peng Huang Date: 2010-04-12 20:27:04 +0800 Support special phrases M src/DoublePinyinEditor.cc M src/Editor.cc M src/FullPinyinEditor.cc M src/PhraseEditor.h M src/PinyinEditor.cc M src/PinyinEditor.h M src/SpecialTable.cc M src/SpecialTable.h commit 28b5b9d35ae884e37f45ec213e6b884517d32c56 Author: Peng Huang Date: 2010-04-12 17:40:45 +0800 Fix configure problem in MacOSX M configure.ac commit 058446491c9480ef1fab9e02c7f4b089cb71dcf2 Author: Peng Huang Date: 2010-04-12 16:19:38 +0800 Refine uuid checking in libc and libuuid M configure.ac M src/Makefile.am M src/Util.h commit 9c9f091e7af575254e8fa8aff84bc8de981ef7fa Author: Peng Huang Date: 2010-04-12 07:34:40 +0800 Use lower format uuid M src/Util.h commit ee0f3b1dde90c200df91b3b03a3c1ae3ffcb8fa6 Author: Peng Huang Date: 2010-04-12 06:45:50 +0800 Fix compile errors in FreeBSD and NetBSD. M configure.ac M src/Util.h commit 447efa4d8e3b5b4958780d6d70273a1e754982f7 Author: Peng Huang Date: 2010-04-12 06:38:55 +0800 Do not use strnlen any more. M src/PinyinParser.cc commit 29c97aebdcdb7009d7cdc97e5b70d6818af22427 Author: Peng Huang Date: 2010-04-11 08:32:32 +0800 Release 1.3.2 M configure.ac commit 8e7c53a4a90944f33c9e8a280e6a43a30085bfbc Author: Peng Huang Date: 2010-04-11 08:24:48 +0800 Check program sqlite3 in configure M configure.ac M data/db/android/Makefile.am commit 384604e049b7fff31b06ab2e715dc6a46cd21291 Author: Peng Huang Date: 2010-04-11 08:15:43 +0800 Removce some debug output M src/Database.cc M src/SimpTradConverter.cc commit 35374ff6a33cb02a95c03c3d3a20a62e7217a366 Author: Peng Huang Date: 2010-04-10 20:16:24 +0800 Refine code M src/Database.cc M src/Phrase.h commit 3c28f607c3d81378e102fd7ea20744e301e7b191 Author: Peng Huang Date: 2010-04-10 19:52:41 +0800 Do not prefetch tables. M src/Database.cc commit de1000ba701981b4d803dad7865ab8e31ec13d13 Author: Peng Huang Date: 2010-04-10 08:00:36 +0800 Refine code. M src/SimpTradConverter.cc commit d2fc360725280ca7ef4b8608377f4bf27ef19b9d Author: Peng Huang Date: 2010-04-09 16:59:30 +0800 Remove HashTable.h D src/HashTable.h M src/Makefile.am commit e0f0c97df02cb3fbaffb11b59340b2656e0e9277 Author: Peng Huang Date: 2010-04-09 08:51:22 +0800 Remove empty line M src/Main.cc commit 80bbe996748d29faec361794bb7290870bc7a649 Author: Peng Huang Date: 2010-04-09 08:35:33 +0800 Refine some code. M src/Database.cc M src/Database.h M src/String.h commit 8f076b93a1bda49d91a5aa0902b3ce19cf0c283d Author: Peng Huang Date: 2010-04-09 07:22:49 +0800 Return references for signals M src/Editor.h commit 8d68ce7e97e4d822c0ea3d7e938ed5a6e581c7e6 Author: Peng Huang Date: 2010-04-08 18:30:55 +0800 Remove Array.h D src/Array.h M src/Makefile.am commit 1496b0a56bbd45cdafa44934a73e026b19593dae Author: Peng Huang Date: 2010-04-08 18:29:59 +0800 Does not use Array anymore M src/Database.cc M src/DoublePinyinEditor.cc M src/FullPinyinEditor.cc M src/PhraseArray.h M src/PhraseEditor.cc M src/PhraseEditor.h M src/PinyinArray.h M src/PinyinParser.cc M src/WideString.h commit 5817602139905bd82a9cf9d14811d2ed08ded672 Author: Peng Huang Date: 2010-04-08 15:33:34 +0800 Refine code M src/Database.cc M src/Database.h commit 7d53bd778bcb4ce47a6b99ca01cb3a12f1cc73ee Author: Peng Huang Date: 2010-04-08 15:07:18 +0800 Update po files. M po/ru.po M po/zh_CN.po commit 706a1ba1acdb338cbb3b022a1581123b08920afb Author: Peng Huang Date: 2010-04-08 15:03:52 +0800 Refine some code M src/Util.h commit b11ffca250e50c2968eff626696496f74c6d98ea Author: Peng Huang Date: 2010-04-08 14:45:29 +0800 Refine code. M src/Array.h M src/Database.cc M src/DoublePinyinEditor.cc M src/FullPinyinEditor.cc M src/Phrase.h M src/PhraseEditor.cc M src/PhraseEditor.h M src/PinyinEditor.cc M src/PinyinEditor.h M src/PinyinEngine.cc M src/PinyinParser.cc M src/String.h commit f8f97605d124b0c3cc128477cd7f9aba994f6906 Author: Peng Huang Date: 2010-04-08 14:44:13 +0800 Use pinyin-debug as engine name if debug mode M src/Main.cc commit 09f6296294a63284e673873cacf9ddd460b4787c Author: Peng Huang Date: 2010-04-06 19:21:43 +0800 only output warning if sqlite api return failed. M src/Database.cc commit 7be63665482a9912abd0c535144fa335a8752da1 Author: Peng Huang Date: 2010-04-06 19:14:04 +0800 Refine some code. M src/FullPinyinEditor.cc M src/PinyinParser.cc commit 4e9d34c0420416abc8a0de656808699ff4a4ed7f Author: Peng Huang Date: 2010-04-06 17:54:10 +0800 reorder options M src/Config.cc commit 33dfec2fce74cb9107bd66c82b10c8f4214239c9 Author: Peng Huang Date: 2010-04-06 17:42:19 +0800 Refine code of class Conditions M src/Database.cc commit f21c6030382dfe65ac982e52291b7b496d08e120 Author: Peng Huang Date: 2010-04-06 17:25:02 +0800 Optimize some loops. M src/Database.cc commit 40b9e8911d184e91c454f2e78b72110cc5ff021d Author: Peng Huang Date: 2010-04-06 17:24:25 +0800 Remove debug output. M src/Text.h commit e0be555919b224198fcb643c712b7ce5278b45ba Author: Peng Huang Date: 2010-04-06 16:44:33 +0800 Only store prev pressed key if the keyevent is ignored by editors. M src/PinyinEngine.cc M src/PinyinEngine.h commit 205db5838a28fc594086aa129c6b186c39e42b36 Author: Peng Huang Date: 2010-04-05 17:25:14 +0800 Release 1.3.1 M configure.ac commit 0ec8339d6ee6984b491ddde78e6f0b3fc4fa97da Author: Peng Huang Date: 2010-04-05 17:24:14 +0800 Use update_lookup_table_fast M src/PinyinEditor.cc M src/PinyinEngine.cc commit f87705de00c5acd669957f002d38fd3c8d8e28a0 Author: Peng Huang Date: 2010-04-05 16:04:27 +0800 Fix some problems M src/Array.h M src/Database.cc M src/Database.h M src/PhraseEditor.cc M src/PhraseEditor.h M src/PinyinEditor.cc M src/PinyinEngine.cc M src/Text.h commit 11013e93069ba8dba07da3256d6fd71e8a1c2b23 Author: Peng Huang Date: 2010-04-05 13:17:09 +0800 Fix some problems. M src/Database.cc M src/PhraseEditor.cc M src/PhraseEditor.h M src/PinyinEditor.cc commit 5ffc5af22bce48f4a113e2205cd0a059b753a540 Author: Peng Huang Date: 2010-04-05 10:44:08 +0800 Optimize database query M src/Database.cc M src/PhraseEditor.cc M src/PhraseEditor.h M src/PinyinEditor.cc commit 937f048ec16f01b5eaeed04f947e10b23a92c7c6 Author: Peng Huang Date: 2010-04-05 10:30:56 +0800 Modify test target M src/Makefile.am commit 21da4073bbcf9a59913fd09bbe442deef284e204 Author: Peng Huang Date: 2010-04-05 08:30:34 +0800 Refactory Database M src/Database.cc M src/Database.h M src/PhraseEditor.cc commit 9ea30d33b9b720dbcd6cf507dbdf0128cbc3ba84 Author: Peng Huang Date: 2010-04-05 07:15:26 +0800 Refactory Database class M src/Database.cc M src/Database.h commit 1f2e8fd251ed8ee8315b0a4560e9e89cfe0b2d9e Author: Peng Huang Date: 2010-04-04 23:27:31 +0800 Optimize lookup table logic M src/LookupTable.h M src/PinyinEditor.cc M src/PinyinEditor.h commit 25c77d2176c5eee69149dbb3b6ed0f96b30912c1 Author: Peng Huang Date: 2010-04-04 22:24:32 +0800 Always unselectCandidates before move cursor M src/PinyinEditor.cc commit e470a4fffcc4d3ea1a0b85347ab284dde4738ad7 Author: Peng Huang Date: 2010-04-04 13:08:13 +0800 unselectCandidates before move cursor left or remove char before cursor M src/PhraseEditor.h M src/PinyinEditor.cc commit 1072ff8709f18469c7723858fdf97818ac62beae Author: Peng Huang Date: 2010-04-04 12:50:52 +0800 Does not update lookup table, when remove chars after cursor. M src/FullPinyinEditor.cc commit 5b84d10844e82be9bd21b6bd3fc98f6dad1b7d41 Author: Peng Huang Date: 2010-04-03 11:44:17 +0800 Show candidates in correct colour. M src/PhraseEditor.h commit c14fbdda03d9fd5e53bf840916f8cef09e977593 Author: Peng Huang Date: 2010-04-03 11:33:36 +0800 Update lookup table before preedit text and aux text to avoid crash M src/PinyinEditor.cc commit fecbae61279b9b25b303575cadcb4cbdaa34cf3f Author: Peng Huang Date: 2010-03-31 17:36:29 +0800 Quit to initial mode when the editor is empty M src/PinyinEngine.cc commit 34578e3c1a0720333e94f1ca276fc9f21d236b7c Author: Peng Huang Date: 2010-03-31 12:43:57 +0800 Fix make check problems. M po/POTFILES.skip commit c59f1ced318cb06441c29f9e0971ee9fef99d5ff Author: Peng Huang Date: 2010-03-27 17:21:50 +0800 Fix build warnings M src/DoublePinyinEditor.cc M src/PhraseEditor.cc M src/PinyinEditor.cc M src/PinyinEditor.h M src/Types.h commit fb8a36b64df6f48ae95f68ceb58e204e388f070f Author: Peng Huang Date: 2010-03-26 11:35:56 +0800 Bump version to 1.3.0 M configure.ac commit c4ff5531597501a63a1f2b1fc7c6edeea7af2e56 Author: Peng Huang Date: 2010-03-26 12:29:57 +0800 Fix rpm build errors M ibus-pinyin.spec.in M src/DoublePinyinEditor.cc commit 7b1597153b3aec71d328731112fb89e122960a40 Author: Peng Huang Date: 2010-03-26 11:17:03 +0800 Remove pot file. D po/ibus-pinyin.pot commit ee09ef872e775f7e7097cef96b0d3de6d65d3de0 Author: Peng Huang Date: 2010-03-26 11:08:32 +0800 Adjust setup UI M po/ibus-pinyin.pot M po/ru.po M po/zh_CN.po M setup/ibus-pinyin-preferences.ui commit 090dd34a67d4dfa5d0546c5bd05bc1cf27d9cc5b Author: Peng Huang Date: 2010-03-25 19:35:30 +0800 Add option - Show raw input of Double Pinyin M po/ibus-pinyin.pot M po/ru.po M po/zh_CN.po M setup/ibus-pinyin-preferences.ui M setup/main.py M src/Config.cc M src/Config.h M src/DoublePinyinEditor.cc commit 1b3ffa8d9368078b9cc4a2c4515f3330f554f906 Author: Peng Huang Date: 2010-03-25 19:10:24 +0800 Add option - orientation of candidates M po/ibus-pinyin.pot M po/ru.po M po/zh_CN.po M setup/ibus-pinyin-preferences.ui M setup/main.py M src/Config.cc M src/Config.h M src/DoublePinyinEditor.cc M src/LookupTable.h M src/PinyinEditor.cc commit cfcabb9b9483cb6a9d954a5e189c2a5212b315bd Author: Peng Huang Date: 2010-03-25 16:56:16 +0800 Fix bug when use Ctrl+Backspace to remove word in double pinyin M src/DoublePinyinEditor.cc commit e193cc8a2cb74a94dc30e201eb76a0a9d939a097 Author: Peng Huang Date: 2010-03-25 14:01:09 +0800 Use G_DEFINE_TYPE to make code simple M src/Engine.cc commit e46e050a07680ba4b944502f35c4c0ad3c6fd774 Author: Peng Huang Date: 2010-03-24 23:37:10 +0800 clean ZhConversion.* M src/Makefile.am commit 9bedb474e6dc36620a1c3da27b4a6f8c3b7f9b4a Author: Peng Huang Date: 2010-03-24 23:33:16 +0800 Remove some unused code. M src/PhraseEditor.cc commit 25bcc654cbd14cbdddecc725540239bbce1d2684 Author: Peng Huang Date: 2010-03-24 11:27:15 +0800 Show raw input in double pinyin M src/DoublePinyinEditor.cc M src/DoublePinyinEditor.h M src/PinyinEditor.cc M src/PinyinEditor.h commit a4174ee888c622d1a1a49a9acd6f7f4504b11806 Author: Peng Huang Date: 2010-03-24 11:04:22 +0800 Add some log message M src/Database.cc commit db0adc56b80b99042ec4446261e345d3a5634a0b Author: Peng Huang Date: 2010-03-24 10:58:55 +0800 Use svn to get ZhConversion.php from wikipedia svn repository M src/Makefile.am commit 28537612f243ca03a30ec74d8142232b70c51d45 Author: Peng Huang Date: 2010-03-24 10:50:37 +0800 Add make target update-simptrad-table M src/Makefile.am commit 1931a870082ac9312d63b1ebc616f9697b5ac00b Author: Peng Huang Date: 2010-03-24 10:40:42 +0800 Disable CONFIG_REVERSE_FIRST_CANDIDATE M src/PhraseEditor.cc commit 5fdfb6cd25f67dd70e9275bb396975150f08f20c Author: Peng Huang Date: 2010-03-24 10:33:27 +0800 Make build output looks better M data/db/open-phrase/Makefile.am commit 55439c14d7fac09c52d9d84e38e270978b6dc038 Author: Peng Huang Date: 2010-03-24 10:21:24 +0800 Remove unused code M src/DoublePinyinEditor.cc commit a475efbee8d7a77dbd48c4519acd7434f9bfcafb Author: Peng Huang Date: 2010-03-23 19:15:39 +0800 Trace 'a', 'e', 'o' as PINYIN_ID_ZERO in double pinyin M src/DoublePinyinEditor.cc M src/DoublePinyinTable.h commit edde50a74d387c0b4301e8e4f6f11fb05db9f3d8 Author: Peng Huang Date: 2010-03-23 17:14:19 +0800 make build output looks better M data/db/android/Makefile.am M src/Makefile.am commit f7762c5207535c21d6f5c83bef8436653c7d0f56 Author: Peng Huang Date: 2010-03-22 21:16:27 +0800 Use AM_SILENT_RULES M configure.ac commit 71812a3b94c86340f1fedbb08a3ecf84b2daae5e Author: Peng Huang Date: 2010-03-22 17:00:31 +0800 Add a new logic to generate the first candidate M src/PhraseEditor.cc commit 48d6d17217165a1858d53d4fe97054045f845b15 Author: Peng Huang Date: 2010-03-22 15:09:07 +0800 Avoid pinyin > MAX_PHRASE_LEN M src/DoublePinyinEditor.cc commit 5ec3728d4479634f07bf9484ce08e0c063d8bf3f Author: Peng Huang Date: 2010-03-22 15:05:37 +0800 Adjust functions' order M src/DoublePinyinEditor.cc commit 910ffd54303ebcc1c2957cc06aa8bd106be34141 Author: Peng Huang Date: 2010-03-22 14:37:29 +0800 Refactory double pinyin to make code simplier M src/Array.h M src/DoublePinyinEditor.cc M src/DoublePinyinEditor.h commit 9d297615b72eb2441f5cdcaa560b21d8ba314fa3 Author: Peng Huang Date: 2010-03-17 04:37:28 +0800 Put the setup dialog in center of screen M setup/ibus-pinyin-preferences.ui commit f64aee5b081c37cad3c04dae616f5680b1e54aeb Author: Peng Huang Date: 2010-03-18 12:22:53 +0800 Fix bug in double pinyin M src/DoublePinyinEditor.cc commit 9f28f25476175252d1a74db667acfc2fef0c9bc7 Author: Peng Huang Date: 2010-03-18 12:16:09 +0800 Fix auto commit problem in double pinyin M src/DoublePinyinEditor.cc commit f88af11c2dba110350a4b8c794c2754c57c6d953 Author: Peng Huang Date: 2010-03-18 10:50:16 +0800 Refine the macro M src/DoublePinyinEditor.cc commit 50124cb3085c75a50b602cb5738db8f9bc2e11af Author: Peng Huang Date: 2010-03-18 10:44:32 +0800 Use macro to replace inline function M src/DoublePinyinEditor.cc commit f4bf29f7c41edb63ba2687342b763f8b3b90256e Author: Peng Huang Date: 2010-03-16 04:54:45 +0800 Ignore puncts in double pinyin M src/DoublePinyinEditor.cc commit 9222a2be0bec112eaa0f37b544408380d17f5b78 Author: Peng Huang Date: 2010-03-16 04:08:48 +0800 Limit pinyin <= MAX_PHRASE_LEN in double pinyin M src/DoublePinyinEditor.cc commit 0f184b6073c28275c967727bf1abf3e8d52b488d Author: Peng Huang Date: 2010-03-17 19:33:08 +0800 Ignore all chars if preedit is too long. M src/DoublePinyinEditor.cc M src/FullPinyinEditor.cc commit 7ca770df020c57febc9dfa23184c2de47532fac8 Author: Peng Huang Date: 2010-03-17 19:28:52 +0800 Fix bug in double pinyin M src/DoublePinyinEditor.cc M src/DoublePinyinEditor.h M src/PinyinEditor.cc commit 84fe2739b3d5197731038cc95e65f8c771953335 Author: Peng Huang Date: 2010-03-16 10:13:37 +0800 Display correct version in setup ui M configure.ac M po/POTFILES.in M po/ibus-pinyin.pot M po/ru.po M po/zh_CN.po M setup/Makefile.am M setup/ibus-pinyin-preferences.ui M setup/main.py A setup/version.py.in commit f1673ae973bcb1375c233b8b8551fd256d5b0f2d Author: Peng Huang Date: 2010-03-16 10:00:44 +0800 Add a spece between pinyin and non-pinyin in aux text M src/PinyinEditor.cc commit 098ffd9a2881b27af60ccec1c21879a83f544074 Author: Peng Huang Date: 2010-03-16 09:56:34 +0800 Unify coding style M src/DoublePinyinEditor.cc commit 72e1d4d6bc20f7470dd8db05397ddf914660765f Author: Peng Huang Date: 2010-03-16 09:54:26 +0800 Fix bug when move cursor left with double pinyin M src/DoublePinyinEditor.cc commit 5e68579df521289278dfb30957de3e2f8856ccfe Author: Peng Huang Date: 2010-03-15 18:34:24 +0800 Make incomplete pinyin configurable with double pinyin M setup/main.py commit 9fab244066a91f3b8ab5f14a03cf89510cd7dc35 Author: Peng Huang Date: 2010-03-15 18:22:10 +0800 Update preedit text in DoublePinyin M src/DoublePinyinEditor.cc commit 6b34c5989e5dd385011d2907f46730d7773d22b4 Author: Peng Huang Date: 2010-03-15 13:07:39 +0800 Implement Double PinYin M src/DoublePinyinEditor.cc M src/DoublePinyinEditor.h M src/PinyinEditor.h commit 144f1424a3a9c7825e88932949a10158b969e73d Author: Peng Huang Date: 2010-03-15 11:25:05 +0800 Store last commit text M src/PinyinEngine.cc M src/PinyinEngine.h M src/Text.h commit 07cc0da14d42bd1544617e7af961242c0932da16 Author: Peng Huang Date: 2010-03-10 15:54:24 +0800 Auto swith mode when user press www. http: xxx@ M src/Editor.cc M src/Editor.h M src/Makefile.am M src/PinyinEditor.cc M src/PinyinEngine.cc M src/PinyinEngine.h M src/Pointer.h commit b8d4fa27411735b1889f111ab82d959a6804acb5 Author: Peng Huang Date: 2010-03-08 17:49:55 +0800 Update SimpTradConverterTable.h from wikipedia M src/SimpTradConverterTable.h commit 78346c5a993222f50239c5d9bd28e7b363a7c429 Author: Peng Huang Date: 2010-03-08 17:48:00 +0800 Fix bug in toHalf M src/HalfFullConverter.cc commit 3997433c29479bf41380fc9d94800801a2ab1241 Author: Peng Huang Date: 2010-03-08 13:43:59 +0800 Remove some unused variables. M src/PinyinEngine.cc M src/PinyinEngine.h commit cf35e158e2ff2ce862bd54101bf616bb63fb29f2 Author: Peng Huang Date: 2010-03-08 12:06:13 +0800 Fix problem in FallbackEditor. M src/FallbackEditor.cc commit 6fa5284c44abff5fb4ddb193db9069e5585faca8 Author: Peng Huang Date: 2010-03-08 12:06:02 +0800 Add G_DEBUG env in make test M src/Makefile.am commit 928073165da6d9cc55ee8728912bb56c9141f008 Author: Peng Huang Date: 2010-03-02 14:03:28 +0800 Process other keys on KeyPad M src/FallbackEditor.cc commit 5c2708b82fe9bab7740c707036e77d991adb9bf3 Author: Peng Huang Date: 2010-03-02 13:47:23 +0800 Process IBUS_KP_0 ... IBUS_KP_9 as IBUS_0 ... IBUS_9 M src/FallbackEditor.cc commit 981760a963ca82a3cd9fde77a303e4745e3e293b Author: Peng Huang Date: 2010-02-13 17:11:41 +0800 Fix comment M src/PinyinEngine.cc commit d8329f5a207efaa020eaa484fd9ec56b7ed75ce2 Author: Peng Huang Date: 2010-02-12 23:49:01 +0800 Add ExtEditor.cc A src/ExtEditor.cc M src/ExtEditor.h M src/Makefile.am commit 16c742c8193da82959077dc743a965ca3008d5b0 Author: Peng Huang Date: 2010-02-12 17:21:22 +0800 Fix typo in comment M src/PinyinEngine.cc commit 9f4d0fcbe34d9f0c3d8f2aadd117974b36174030 Author: Peng Huang Date: 2010-02-12 17:07:00 +0800 Add some comments M src/PinyinEngine.cc commit 3c1b478b282d796639deb210c97a2b495d029f70 Author: Peng Huang Date: 2010-02-12 16:41:50 +0800 Add ExtEditor.h A src/ExtEditor.h M src/Makefile.am M src/PinyinEngine.cc M src/PinyinEngine.h commit d558a8e641d15d88805ababdd3e8d571233d8ee4 Author: Peng Huang Date: 2010-02-12 15:15:40 +0800 Fix chinese mode issues. M src/PinyinEngine.cc commit 64182077becb35474b9c75bc56991370a987e955 Author: Peng Huang Date: 2010-02-11 14:12:09 +0800 Fix problem of auto commit M src/PinyinEditor.cc commit 1e3f4faf7a1df27006ce5a52bf0c783c0e1706f0 Author: Peng Huang Date: 2010-02-11 13:34:41 +0800 Clean up code M src/PinyinEditor.cc M src/PinyinEngine.h commit 4ea6d5cc18adf9b76059589d7c0265c117e7a8e0 Author: Peng Huang Date: 2010-02-11 13:10:09 +0800 Handle some punct keys M src/PinyinEditor.cc commit 4b2cc678eec06c9da0a5a185100f919557bfc2ae Author: Peng Huang Date: 2010-02-11 12:50:17 +0800 Do not pass Release key event to editors. M src/DoublePinyinEditor.cc M src/Editor.cc M src/FallbackEditor.cc M src/PinyinEditor.cc M src/PinyinEngine.cc M src/PinyinEngine.h commit 30a249a7c58ffe379c02d0c4057dd5ac7d164c2b Author: Peng Huang Date: 2010-02-11 12:32:30 +0800 Add FallbackEditor A src/FallbackEditor.cc A src/FallbackEditor.h M src/Makefile.am M src/PinyinEngine.cc M src/PinyinEngine.h commit 50ef4dce7f948d13fb9dc46396bc414017738c48 Author: Peng Huang Date: 2010-02-10 14:25:38 +0800 Update po files. M po/ibus-pinyin.pot M po/ru.po M po/zh_CN.po commit 96fcc6938e31a0f4bbe19f0f8ebe8fa84bb64006 Author: Peng Huang Date: 2010-02-10 14:23:12 +0800 Update POTFILES.in M po/POTFILES.in commit 200aed6bb7a53d76cabe4559dfc43bf0005fdda3 Author: Peng Huang Date: 2010-02-10 14:13:36 +0800 Show auxiliary text correctly. M src/PinyinEditor.cc commit c4e6359b3f46c125d5e7d65428cbdfe8be2d3683 Author: Peng Huang Date: 2010-02-10 13:40:34 +0800 Update SimpTradConverterTable from wikipedia M src/SimpTradConverterTable.h commit dc4b853b45f05ba7c5da721538da5cc1495a340b Author: Peng Huang Date: 2010-02-10 13:32:53 +0800 Handle ';' in DoublePinyinEditor. M src/DoublePinyinEditor.cc M src/DoublePinyinEditor.h M src/FullPinyinEditor.cc commit 0e7dcb67c0762883c0976650e536e4748a580fd4 Author: Peng Huang Date: 2010-02-10 13:11:42 +0800 Remove some unused code. M src/PinyinEngine.h commit 67ec52a9391bc31840f12eb29cdb1829997c33f0 Author: Peng Huang Date: 2010-02-10 12:58:40 +0800 Add wordlist A data/wordlist commit 6db692b129f7648371cbcf427a19dc7b153064e6 Author: Peng Huang Date: 2010-02-10 12:55:28 +0800 Move _() to PinyinProperties.cc M src/PinyinProperties.cc M src/PinyinProperties.h commit 86681649085508eebbce4d2a39d29a061fa99523 Author: Peng Huang Date: 2010-02-10 12:53:37 +0800 Implement candidateClicked method M src/Editor.cc M src/Editor.h M src/PinyinEditor.cc M src/PinyinEditor.h M src/PinyinEngine.cc commit a6ec9cf51f8ddcf3f295ebe8f74b1c3a53248fae Author: Peng Huang Date: 2010-02-07 13:25:35 +0800 Refactory classes, and use sigc++ to make code clear. M configure.ac M src/DoublePinyinEditor.cc M src/DoublePinyinEditor.h A src/Editor.cc A src/Editor.h M src/FullPinyinEditor.cc M src/FullPinyinEditor.h M src/Makefile.am M src/PhraseEditor.cc M src/PhraseEditor.h M src/PinyinArray.h M src/PinyinEditor.cc M src/PinyinEditor.h M src/PinyinEngine.cc M src/PinyinEngine.h A src/PinyinProperties.cc A src/PinyinProperties.h M src/RawEditor.h M src/Text.h commit efa0c8f199b0e058b3cc5f88f0d6e20c382570b3 Author: Peng Huang Date: 2010-02-02 10:01:19 +0800 Fix problem when use '0' to select 10th candidate M src/PinyinEngine.cc commit 9db3894d2b02e0e7e28955bf8564dcf5e1240624 Author: Peng Huang Date: 2010-01-26 21:27:16 +0800 Exit if can not connect to ibus M src/Bus.h M src/Main.cc commit 7c8dc0f92d59d0657b4edf42c03410e81bc1a8cd Author: Peng Huang Date: 2010-01-19 13:22:03 +0800 Add local.db M src/Database.cc commit d43b51fcf3ff9f9d4f0b95db10f242018b3e1bc7 Author: Peng Huang Date: 2010-01-18 16:41:22 +0800 Remove SIMP_TO_TRAD_NR M src/SimpTradConverter.cc M src/SimpTradConverterTable.h M src/update-simptrad-table.py commit 2adb75fd7849d94019a36a13fbd3196ff707aea3 Author: Peng Huang Date: 2010-01-18 16:39:58 +0800 Fix genpytable.py M scripts/genpytable.py M src/PinyinParser.cc M src/PinyinParserTable.h commit 56518df0f50db706a9331b04c1b866c7de0fd814 Author: Peng Huang Date: 2010-01-18 16:24:02 +0800 Fix fuzzy and auto correct problem with 'rve rue' M scripts/genpytable.py M src/PinyinParser.cc M src/PinyinParserTable.h commit ea33ab8c6312d9cad4f371b61e276cb82ac8bf3d Author: Peng Huang Date: 2010-01-18 16:22:25 +0800 Add option auto correct "ue -> ve" M setup/ibus-pinyin-preferences.ui M setup/main.py commit 9c2e615dd98273c4344e93bb9058a79eb224daea Author: Peng Huang Date: 2010-01-18 16:08:57 +0800 Fix a typo. M src/Config.cc commit 722857195c111dbe41dc240747e73720999d5017 Author: Peng Huang Date: 2010-01-18 14:50:21 +0800 Use lve, nve to replace lue, nue M scripts/genpytable.py M scripts/pydict.py M src/Config.cc M src/PinyinParserTable.h M src/Types.h commit abf357f7fb4db64b0487ebd1e1fff83670d27a16 Author: Peng Huang Date: 2010-01-18 13:11:56 +0800 Update SimpTradConverterTable.h M src/SimpTradConverterTable.h commit 742bd5e1c74a19bf89b3bb9965dbd95d5a202e5f Author: Peng Huang Date: 2010-01-13 13:19:33 +0800 Add intltool in rpm spec file. M ibus-pinyin.spec.in commit e8e197527ba0271f9fc440c60253a904c8006bd6 Author: Peng Huang Date: 2010-01-04 10:01:03 +0800 Open user db in EXCLUSIVE mode. M src/Database.cc commit d2f9f35a38c313449a2a1d40ea082d6b7a1f03b6 Author: Peng Huang Date: 2010-01-04 09:38:33 +0800 Use PERSIST journal mode for better performance. M src/Database.cc commit 0168e6e8d18455557e3412aef86f1d74cd643e9d Author: Peng Huang Date: 2010-01-04 09:33:52 +0800 Remove some duplicate code. M src/Database.cc commit 5255574afea895f997c0c2dcca69826cb311c4cd Author: Peng Huang Date: 2010-01-04 08:27:42 +0800 Remove unused code. M src/Database.h commit 1d75209df049d6440d231ea400012a4b3b37f162 Author: Peng Huang Date: 2010-01-04 08:25:41 +0800 Optimize sqlite for better performance. M src/Database.cc commit 209e5a877991fd8e2c31b51dfd6a155df08da208 Merge: ee861c1 8a49985 Author: Peng Huang Date: 2010-01-01 19:20:05 +0800 Merge branch 'stl' commit ee861c1028911ab2bee572dd27dfab8d6408604f Author: Peng Huang Date: 2010-01-01 19:18:22 +0800 Ignore number key if with some modifiers. M src/PinyinEngine.cc commit 8a49985b01eb5d4a0c9dc6d4d0b94046ebb4db1d Author: Peng Huang Date: 2009-12-31 14:20:49 +0800 Use *_LDADD replace *_LDFLAGS M src/Makefile.am commit c65c97a970ad103389c757e4752b9988c03891dd Author: Peng Huang Date: 2009-12-29 15:34:13 +0800 Fix appendUnicode problem. M src/String.h commit 88df593befb03975149ddeea4a548b36e84d8c18 Author: Peng Huang Date: 2009-12-29 15:22:55 +0800 Remvoe set method of PinyinSegment M src/PinyinArray.h M src/PinyinParser.cc commit 151dc92a5abf86addc6457b2a955104820228968 Author: Peng Huang Date: 2009-12-29 15:20:12 +0800 Refine code. M src/PinyinArray.h commit 01834cf05d5a58a3e0e90292de7da26840e08b7e Author: Peng Huang Date: 2009-12-29 14:06:34 +0800 Fix coding style problem M src/String.h commit ed6dae4ecd54c6c3d13e3d90d1e6258b2e3b6e4a Author: Peng Huang Date: 2009-12-29 13:46:58 +0800 Remove some unused code. M src/Array.h commit d7546ce273582eb2d349488e6dccac0fbeed888b Author: Peng Huang Date: 2009-12-29 13:46:20 +0800 Remove some unused code. M src/PinyinParser.cc M src/WideString.h commit e4eb144538957ce5fc5e0291838e152898985243 Author: Peng Huang Date: 2009-12-29 13:36:40 +0800 Remove some unused code. M src/Array.h commit 66f093415d482a94243d0cca3f17168b749cf04a Author: Peng Huang Date: 2009-12-29 13:34:22 +0800 Replace GArray with std::vector M src/Array.h M src/Database.cc M src/FullPinyinEditor.cc M src/PhraseEditor.cc M src/PinyinArray.h M src/PinyinEngine.cc commit 8aecb7ba7a5470691599994847e1175bf65f1710 Author: Peng Huang Date: 2009-12-29 10:10:48 +0800 Remove unused code. M src/String.h commit 665e60b1c8efc84148fd76beeb28762ef066a048 Author: Peng Huang Date: 2009-12-29 09:51:01 +0800 Reserve for String M src/String.h commit 5515a1fd092a80abba2ba81d6e4aa8fd214563f8 Author: Peng Huang Date: 2009-12-28 21:23:17 +0800 Implement Env util class M src/Database.cc M src/Util.h commit ccf8268c2e532dd89c19ad3dd6b92aef562c1e66 Author: Peng Huang Date: 2009-12-28 21:22:51 +0800 Reimplement operator<< (const gunichar *wstr) M src/String.h commit 5ddd4d2ce16ddd812762db37bd13907c0ed7b604 Author: Peng Huang Date: 2009-12-28 18:12:00 +0800 Replase GString with std::string M src/Database.cc M src/Database.h M src/String.h commit 42dcb9d9848eb180fc9a19a533084025681e32bf Author: Peng Huang Date: 2009-12-28 17:06:26 +0800 Use STL to replace some class in Database M src/Database.cc M src/Database.h M src/PhraseEditor.h commit 001c65de561863bf73fc1a34092d437bfe897d15 Author: Peng Huang Date: 2010-01-01 19:09:26 +0800 Overide operator-> of Prointer M src/Pointer.h commit fa82e9bdf2dfc8406b4309a0617efd4bb7f85774 Author: Peng Huang Date: 2009-12-28 14:30:37 +0800 Add Some source files. A src/CustomPhrase.cc A src/CustomPhrase.h A src/HashTable.h M src/Makefile.am commit 4728ea9371fd8db91d971f1bfaf404c0437081c2 Author: Peng Huang Date: 2009-12-13 08:35:10 +0800 Create databases' indexes in build time. M ibus-pinyin.spec.in commit 34a762ae03bf4840f98aed803ca71ad870072ca4 Author: Peng Huang Date: 2009-12-08 16:07:07 +0800 Fix make distcheck errors. A po/POTFILES.skip commit e738d2c6534ff31601b2d7abca550155fa214c8b Author: Peng Huang Date: 2009-12-08 14:05:59 +0800 Remove some unused code. M src/Engine.cc commit 615fffda8783d711532e9a348e078567e0d37c01 Author: Peng Huang Date: 2009-11-30 08:38:01 +0800 Fix numpad problem. M src/PinyinEngine.cc commit df3078be38802ab9a97272fc3a735f8c942ff9c5 Author: Peng Huang Date: 2009-10-28 13:03:14 +0800 WIP. M src/FullPinyinEditor.cc M src/PinyinEditor.cc M src/PinyinEditor.h M src/PinyinEngine.cc commit 445ad900614e3357effa765fe868670ad7dd437d Author: Peng Huang Date: 2009-10-28 11:48:56 +0800 Add new constructors. M src/Array.h M src/String.h commit 9b9cd44eb4a3fe4d5e0b2b96ff221e9cc4255c68 Author: Peng Huang Date: 2009-10-18 11:58:06 +0800 Add RawEditor.h M src/Makefile.am M src/PinyinEngine.cc M src/PinyinEngine.h A src/RawEditor.h commit b7b1c191e0431859370a71b8be713dd9616b7e29 Merge: ee65708 5bc41f0 Author: Peng Huang Date: 2009-10-16 14:08:06 +0800 Merge branch 'master' of github.com:phuang/ibus-pinyin commit 5bc41f03f51755020b26a76881aa88fdf5b1d9dc Author: Peng Huang Date: 2009-10-14 14:30:27 +0800 Update ru.po from Alexey Kotlyarov M po/ru.po commit ee6570805dc8dca0c29ade184fb3192095e34280 Merge: 987f18c 6f15555 Author: Peng Huang Date: 2009-10-13 08:39:42 +0800 Merge branch 'master' of github.com:phuang/ibus-pinyin commit 6f1555521ec77221492ef8e2e41be62d8f9349e3 Author: Peng Huang Date: 2009-10-13 08:34:00 +0800 Update po files. M po/ibus-pinyin.pot M po/ru.po M po/zh_CN.po commit f7bc5d6e04aaddb25974dd54118386104b740929 Author: Peng Huang Date: 2009-10-13 08:32:08 +0800 Add ru.po from koterpillar M AUTHORS M po/LINGUAS A po/ru.po commit 987f18cb2223057084e7867e931861b834f92eea Author: Peng Huang Date: 2009-10-12 09:02:11 +0800 Add Regex.h in Makefile.am M src/Makefile.am commit 543a8eac21b9d5322f74362f09fe93c979121477 Author: Peng Huang Date: 2009-10-12 06:20:45 +0800 Add Regex.h M src/FullPinyinEditor.cc M src/PinyinEditor.cc M src/PinyinEditor.h A src/Regex.h commit aa521b442eb37158c55ea361eeb7272575bbbd87 Author: Peng Huang Date: 2009-10-11 19:16:34 +0800 Add some methods define M src/PinyinEngine.cc M src/PinyinEngine.h commit aa091d372671bb95fe2faf336630df0a332ada56 Author: Peng Huang Date: 2009-10-11 19:13:13 +0800 Add some comments M src/PinyinEngine.h commit b1a7b427774f6682eb4f9b0165d3bcdc90468c91 Author: Peng Huang Date: 2009-10-11 19:11:23 +0800 Define several input modes M src/PinyinEngine.cc M src/PinyinEngine.h commit 5c976eb12117b83d4b66b126f7f4f67efee00e3b Author: Peng Huang Date: 2009-10-11 16:46:24 +0800 Add m_prev_pressed_key_result to trace last pressed key result M src/PinyinEngine.cc M src/PinyinEngine.h commit 9e0cb3d79dcbed222f206f015b6186f93c17e1c0 Author: Peng Huang Date: 2009-10-11 15:52:04 +0800 Fix problem click number key, and number greater than current page size. M src/PinyinEngine.cc commit 46cecc7c264af982b0fee9e59398965fb6cee117 Author: Peng Huang Date: 2009-10-11 15:31:32 +0800 Update header of zh_CN.po M po/zh_CN.po commit e035410d2a8f92101feeedff56f70c5e91a5cffc Author: Peng Huang Date: 2009-10-10 16:13:28 +0800 Use ibus-setup icon M src/Main.cc M src/PinyinEngine.cc commit 560a2b3d108aa91fc4c86bd219937abaec9314ac Author: Peng Huang Date: 2009-10-10 13:58:47 +0800 Refine autogen.sh M autogen.sh commit 30f49d24befdaa71dc6225407c8fdcc86b6c5680 Author: Peng Huang Date: 2009-10-10 10:39:32 +0800 WIP. M .gitignore M po/.gitignore M src/main.db commit 0d8ba7a632e07464d9a73d38823c19991ae11aff Author: Peng Huang Date: 2009-10-10 10:36:37 +0800 Add BR libuuid-devel M ibus-pinyin.spec.in commit 764f98a14c972f6fedbd656097d308c31879668e Author: Peng Huang Date: 2009-10-10 07:50:53 +0800 Use XDG cache dir for database M src/Database.cc commit ffe7331c5a67eb51d0225f94bb7ba8133c060213 Author: Peng Huang Date: 2009-10-10 07:30:08 +0800 Change database dir to ~/.config/ibus/pinyin M src/Database.cc commit c407e80f90182c09914639681de968abf01c8be6 Author: Peng Huang Date: 2009-10-10 07:10:42 +0800 Change gtk version of ui file. M setup/ibus-pinyin-preferences.ui commit 8b3a7e9dbfa097c594cc31c55c04ab72661ef033 Author: Peng Huang Date: 2009-10-10 07:07:11 +0800 Use gnome-autogen and update zh_CN.po M autogen.sh M configure.ac M po/POTFILES.in M po/ibus-pinyin.pot M po/zh_CN.po commit d78465f9eb4fa032888b60c9ecf6a6c744f2ecd8 Author: Peng Huang Date: 2009-10-10 06:34:55 +0800 Rename glade to ui M po/POTFILES.in M po/ibus-pinyin.pot M setup/Makefile.am R100 setup/ibus-pinyin-preferences.glade setup/ibus-pinyin-preferences.ui M setup/main.py commit a7c655fc1e9d2818054ab92b7f5a74c274ae3897 Author: Peng Huang Date: 2009-10-09 21:16:13 +0800 Support using mouse to select candidate. M src/Engine.cc M src/PinyinEngine.cc M src/PinyinEngine.h commit 77268496348665c01a68871496b80723fd819c22 Author: Peng Huang Date: 2009-10-09 09:59:54 +0800 Update sumbol links M src/valid_hanzi.py commit 2a95b4199d6e13385d752e79086398867ae852c5 Author: Peng Huang Date: 2009-10-09 07:06:11 +0800 Rename simple pinyin to incomplete pinyin M po/ibus-pinyin.pot M po/zh_CN.po M setup/ibus-pinyin-preferences.glade M setup/main.py M src/Config.cc M src/FullPinyinEditor.cc M src/PinyinParserTable.h M src/Types.h commit 4ccb9ab33199c07aac25b8e017d01adb7fa512b5 Author: Peng Huang Date: 2009-10-08 13:07:29 +0800 Rename database google to android M Makefile.am M configure.ac M data/db/Makefile.am R092 data/db/google/Makefile.am data/db/android/Makefile.am R100 data/db/google/README data/db/android/README R100 data/db/google/create_db.py data/db/android/create_db.py R100 data/db/google/create_valid_hanzi.py data/db/android/create_valid_hanzi.py R100 data/db/google/id.py data/db/android/id.py R100 data/db/google/pydict.py data/db/android/pydict.py R100 data/db/google/rawdict_utf16_65105_freq.txt data/db/android/rawdict_utf16_65105_freq.txt R100 data/db/google/valid_hanzi.py data/db/android/valid_hanzi.py R100 data/db/google/valid_utf16.txt data/db/android/valid_utf16.txt M ibus-pinyin.spec.in M src/Database.cc commit 5bdcee961d675d69e078845c7be6739649eb2b31 Author: Peng Huang Date: 2009-10-08 11:16:29 +0800 Test input argument of selectCandidate M src/PhraseEditor.cc commit 6d895ea960f921afc12904b9ce11972368656e2e Author: Peng Huang Date: 2009-10-08 08:34:24 +0800 Fix script error in fedora 12 M src/php_2_py.php commit 2e1f5a55499603b85b50c60bc5a830fc8a3fb9bd Author: Peng Huang Date: 2009-10-07 21:49:14 +0800 Fix a typo M src/PinyinEngine.cc commit 091e73e98f0e2ff711cedb6a94bb740ae2121da7 Author: Peng Huang Date: 2009-10-07 07:37:47 +0800 Remove some commented code. M src/PinyinEngine.cc commit bb9e10a51f1c024e994c107a3183fbb9c0772027 Author: Peng Huang Date: 2009-10-07 07:14:54 +0800 Update zh_CN.po M po/ibus-pinyin.pot M po/zh_CN.po commit 366ba41b91ca6b49651354b97887ab510969af74 Author: Peng Huang Date: 2009-10-07 07:06:08 +0800 Add configure option to choice if showing candidates in traditional Chinese. M setup/ibus-pinyin-preferences.glade M setup/main.py M src/Config.cc M src/Config.h M src/PinyinEngine.cc commit 7fecc5539e7b08ce598541689458dc42e009f7b2 Author: Peng Huang Date: 2009-10-06 15:21:07 +0800 Refine some messages. M data/db/Makefile.am commit 796b42579b4d448cc4ff0a634456cd98fff53524 Author: Peng Huang Date: 2009-10-06 15:16:25 +0800 Remove ZhConversion.php ZhConversion.py D src/ZhConversion.php D src/ZhConversion.py commit 90a6303589d02a5f867e7d946fecaaf8cb9fdafb Author: Peng Huang Date: 2009-10-06 15:15:45 +0800 Add target to create ZhConversion.{php, py} M src/Makefile.am commit 84eddcfa8bcb893d6835843d1263602a44484dea Author: Peng Huang Date: 2009-10-06 15:05:41 +0800 Rename scirpt name M data/db/google/Makefile.am R100 data/db/google/create_db_from_google.py data/db/google/create_db.py commit 2d6b56f3ba73c16d9ca2ec2d24ec112905a6396f Author: Peng Huang Date: 2009-10-06 15:03:34 +0800 Fix make distcheck errors. M Makefile.am M data/db/google/Makefile.am M data/db/google/create_db_from_google.py M data/db/google/create_valid_hanzi.py A data/db/google/valid_hanzi.py M po/ibus-pinyin.pot M po/zh_CN.po T src/valid_hanzi.py commit 169d23ca9644f0d62b6d8f084f356ee18874ef65 Author: Peng Huang Date: 2009-10-06 14:47:45 +0800 Only display traditional Chinese preedit & auxiliary text M src/PhraseEditor.cc M src/PhraseEditor.h M src/PinyinEngine.cc M src/PinyinEngine.h commit 95f5e3ffa0d9492fedf6a7fdafb5c2d927ff5684 Author: Peng Huang Date: 2009-10-06 13:42:52 +0800 Add Makefile.am in data/db/google A data/db/google/Makefile.am commit 51aa686a911461292d28f6c15fd90565eab926d2 Author: Peng Huang Date: 2009-10-06 11:18:53 +0800 Reimplement Simp to Trad A data/db/google/create_valid_hanzi.py M src/PinyinEngine.cc M src/SimpTradConverter.cc M src/SimpTradConverterTable.h M src/String.h D src/Unihan_Variants.txt A src/ZhConversion.php A src/ZhConversion.py A src/php_2_py.php M src/update-simptrad-table.py A src/valid_hanzi.py commit 5fcba789bfa30a67ee652ebb137a169a3a006212 Author: Peng Huang Date: 2009-10-05 18:30:50 +0800 Add android git url M data/db/google/README commit 5aca064041820dd12db6905859ed677741f3fbb8 Author: Peng Huang Date: 2009-10-05 18:05:45 +0800 Add PinyinParserTable.h SimpTradConverterTable.h M src/.gitignore M src/Makefile.am A src/PinyinParserTable.h A src/SimpTradConverterTable.h commit 28aeb79317f5cefa316fe351e7b0ebacbff07eb0 Author: Peng Huang Date: 2009-10-05 17:54:27 +0800 Generate SimpTradConvertTable.h from Unihan M src/Makefile.am A src/Unihan_Variants.txt A src/update-simptrad-table.py commit e1fca2997da77309316446dc4b79314f7de5ed59 Author: Peng Huang Date: 2009-10-05 16:45:18 +0800 Add PinyinParserTable.h.open-phrase A src/PinyinParserTable.h.open-phrase commit 746f8db61544ba27269fa33f27fdecbc3246d0cb Author: Peng Huang Date: 2009-10-05 16:42:16 +0800 Refine code M scripts/genpytable.py commit 6f7acc02db4afa26082da5a561e01299f00be7ee Author: Peng Huang Date: 2009-10-05 16:26:29 +0800 Remove unused function M src/PinyinParser.cc commit 3a9b172b0a8f22686fe7c8e13fbbc547087450dd Author: Peng Huang Date: 2009-10-05 16:17:30 +0800 Adjust freq of google database M data/db/google/create_db_from_google.py commit efa62ef0960cbebeb38110d9fc95f895da1d2a59 Author: Peng Huang Date: 2009-10-05 15:52:57 +0800 Add create_index.sql in data/db A data/db/create_index.sql commit 7a755bd0134e600586dbd53186553bdfb5ebc0dc Author: Peng Huang Date: 2009-10-05 15:52:31 +0800 Remove create_index.sql in data D data/create_index.sql commit 4518b8d196b6cd0f0c50f77bc99c808e3da434ee Author: Peng Huang Date: 2009-10-05 15:42:14 +0800 Check if maindb exist before open it. M src/Database.cc commit 7692e2d59ccf5d7419e499366ff548dbc42bc803 Author: Peng Huang Date: 2009-10-05 14:53:43 +0800 Fix symbol link M src/main.db commit 3b45d3f4db14e9db2f49241c637fe93494020a76 Author: Peng Huang Date: 2009-10-05 14:51:38 +0800 Fix rpm build problems. M data/db/google/create_db_from_google.py M data/db/open-phrase/Makefile.am M ibus-pinyin.spec.in commit 1ab8d3eaf4230c61ea4a78752334f99bac904621 Author: Peng Huang Date: 2009-10-05 14:38:24 +0800 Fix problem in install-data-hook M data/db/Makefile.am M data/db/open-phrase/Makefile.am commit 746b31da492ab63120655f287fc56b8fb26584eb Author: Peng Huang Date: 2009-10-05 14:24:55 +0800 Use google.db, if open-phrase.db does not exist. M Makefile.am M configure.ac M data/Makefile.am R100 data/google/create_index.sql data/create_index.sql A data/db/Makefile.am R100 data/google/README data/db/google/README R100 data/google/create_db_from_google.py data/db/google/create_db_from_google.py A data/db/google/id.py A data/db/google/pydict.py R100 data/google/rawdict_utf16_65105_freq.txt data/db/google/rawdict_utf16_65105_freq.txt R100 data/google/valid_utf16.txt data/db/google/valid_utf16.txt A data/db/open-phrase/Makefile.am D data/google/id.py D data/google/pydict.py M src/Database.cc commit 66834d7005c5ef6f176b5b081d8b76973ff7605e Author: Peng Huang Date: 2009-10-05 14:00:40 +0800 WIP. M configure.ac M data/Makefile.am commit 05f27be4de0df3c59236badf44f1434b7b79d142 Author: Peng Huang Date: 2009-10-05 13:27:09 +0800 WIP. M data/google/create_db_from_google.py A data/google/create_index.sql commit a412a978ff08503a85c73c5a67e627a53b6bf03d Author: Peng Huang Date: 2009-10-05 13:23:30 +0800 WIP. R098 data/google/createdb.py data/google/create_db_from_google.py A data/google/id.py A data/google/pydict.py commit 26235d24107158b0c200f9a3a6caa78b23ce68fd Author: Peng Huang Date: 2009-10-05 13:18:19 +0800 Add script for creating db from google pinyin data A data/google/createdb.py M scripts/id.py commit f0d700e8dfc3610eb577d57bb937ef7188b5e436 Author: Peng Huang Date: 2009-10-05 13:15:30 +0800 Add README A data/google/README commit 23183f101caabd187af61dea8e19e527302d0b1d Author: Peng Huang Date: 2009-10-05 12:58:03 +0800 Add phrases dict from Android Pinyin IME A data/google/rawdict_utf16_65105_freq.txt A data/google/valid_utf16.txt commit 55cef919009b93a3a5204ceb6a846a8040209005 Author: Peng Huang Date: 2009-10-05 12:02:12 +0800 Refine coding style M scripts/pydict.py commit 9d6249684c8d6497100a62e74603e9317b2aaf2a Author: Peng Huang Date: 2009-10-05 12:01:26 +0800 Update pydict.py M scripts/pydict.py commit 81070b09ca9a8bec2ab76006aa049f460904e23a Author: Peng Huang Date: 2009-10-05 11:54:20 +0800 Move all scripts to $top_srcdir/scripts D data/scripts/pydict.py M po/zh_CN.po R100 data/scripts/Makefile scripts/Makefile R100 data/scripts/create_db.py scripts/create_db.py R100 data/scripts/create_index.py scripts/create_index.py R100 data/scripts/create_unique_index.py scripts/create_unique_index.py R100 data/scripts/double.py scripts/double.py R100 src/scripts/genpytable.py scripts/genpytable.py R100 src/scripts/gensimptradtable.py scripts/gensimptradtable.py R100 data/scripts/id.py scripts/id.py R100 src/scripts/pydict.py scripts/pydict.py R100 data/scripts/pyutil.py scripts/pyutil.py R100 src/scripts/sctc.py scripts/sctc.py M src/Makefile.am commit d866b6b936220d6f3f95a24a0d3c762186134ba6 Author: Peng Huang Date: 2009-10-05 09:25:33 +0800 Modify the logic of processing capital letters M src/PinyinEngine.cc M src/PinyinEngine.h commit 765dc6e1768bb1314b454481132315f6ed28d042 Author: Peng Huang Date: 2009-10-05 08:54:04 +0800 Input upper letters correctly M src/PinyinEngine.cc commit 63d516ed5897fb9de3259c52cb6b00c873fec6ab Author: Peng Huang Date: 2009-10-03 21:41:39 +0800 Input currect with keypad M src/PinyinEngine.cc commit d0f38189ad1a0171be6e2196b0403c44f52a0b46 Author: Peng Huang Date: 2009-10-02 19:51:11 +0800 refine coding style M src/WideString.h commit 1756fd7996a9fc6af873b8cee9ff6af8991fcce5 Author: Peng Huang Date: 2009-10-02 19:49:07 +0800 Fix build warning M src/Database.cc commit 5af19efc0e13f928769ee7255ef5ed1b840b2d9a Author: Peng Huang Date: 2009-10-02 08:21:09 +0800 Fix auto commit problem. M src/PinyinEngine.cc commit 60cfd20aa525f1245565f45801ea2a678f147f62 Author: Peng Huang Date: 2009-10-02 08:00:02 +0800 Refine sql M src/Database.cc commit 1997e24f2e3b11ac567d9cea43149d3dd1f7a0ec Author: Peng Huang Date: 2009-10-02 07:57:20 +0800 Add executeSQL method. M src/Database.cc M src/Database.h commit bebf306e96c28f8fcec10a76d6b58e8becfff06f Author: Peng Huang Date: 2009-10-02 07:31:43 +0800 Process punctuations correctly M src/PinyinEngine.cc commit 6958d5b6c9dfbf973566bf41a0ff8dd003e7e2e3 Author: Peng Huang Date: 2009-10-01 16:14:21 +0800 Add some inline comments M src/Database.cc commit 92241be43b67d99328281d222a1b52663ea1a5a3 Author: Peng Huang Date: 2009-10-01 16:09:31 +0800 Tuning sqlite database for better performance. M src/Database.cc commit fe526abc18ee805ebb6e5d396dccc5967c19c2c2 Author: Peng Huang Date: 2009-10-01 12:09:44 +0800 Update project url M ibus-pinyin.spec.in commit 5fac3733f4e76bde305153b6559288b100105184 Author: Peng Huang Date: 2009-10-01 12:04:53 +0800 Update .gitignore files M .gitignore A data/.gitignore M data/Makefile.am M po/.gitignore A po/ibus-pinyin.pot A setup/.gitignore A src/.gitignore commit e3710c25e02180b3f684af509f8b272f5d32438b Author: Peng Huang Date: 2009-10-01 11:45:35 +0800 unify help message M configure.ac commit 7b77b901d96e9fed80efc4074dec64c81373ed86 Author: Peng Huang Date: 2009-10-01 09:52:47 +0800 Add upload target M Makefile.am commit 4f27c1a24bf44e294abdba9b2d9729247fa75c14 Author: Peng Huang Date: 2009-10-01 09:46:01 +0800 Add googlecode upload script A tools/googlecode_upload.py commit eaaf6a123092e316bebcf2a1d597fd216921c10a Author: Peng Huang Date: 2009-10-01 09:17:34 +0800 Use g_strlcpy and g_strlcat to avoid buffer overflow M src/Database.cc M src/Phrase.h M src/PinyinParser.cc commit 2ef56713a13c750257203182cea398f1309b8ede Author: Peng Huang Date: 2009-10-01 09:11:08 +0800 Use strncat correctly M src/Phrase.h commit fb8659454f750c14b8b3f2ea695fe40d7f152cd1 Author: Peng Huang Date: 2009-10-01 08:46:56 +0800 Process keys on keypad correctly M src/PinyinEngine.cc commit c0f86e9a34e82bb41858b80c530cf3df38e6153b Author: Peng Huang Date: 2009-10-01 08:11:59 +0800 Fix build error with sqlite 3.5 M src/Database.cc commit f30f9f83239bdafedf5fa64c33eec27dfb12ea20 Author: Peng Huang Date: 2009-10-01 07:48:46 +0800 Fix double pinyin problems. M src/DoublePinyinEditor.cc M src/PinyinParser.cc commit a949d50a4fca0d3d12024220a4a6e2f5c1646a45 Author: Peng Huang Date: 2009-09-30 22:38:40 +0800 Add --disable-pinyin-database argument of ./configure M configure.ac M data/Makefile.am commit 458d3dd50ec8dbec2237b5c796f65044d7bd79e6 Author: Peng Huang Date: 2009-09-30 22:08:47 +0800 Refine coding style M src/PinyinEngine.cc commit 894b06bf59417ae6f05b40d5cdb1c53076bc4512 Author: Peng Huang Date: 2009-09-30 22:06:49 +0800 Commit full width space, only if in full mode M src/PinyinEngine.cc M src/PinyinEngine.h commit 1caefa8402499902e5b89b2763c2ab5e75b06e37 Author: Peng Huang Date: 2009-09-30 19:46:22 +0800 Fix fuzzy pinyin problem with ian <=> iang M src/Config.cc M src/Types.h commit 02413c97d10f845d9daa90425a132b90b87d7d9b Author: Peng Huang Date: 2009-09-30 19:33:01 +0800 Fix ch c fuzzy pinyin problem M src/Types.h commit 52e791f2cdd5d12c36698308c6ef35c5c7352218 Author: Peng Huang Date: 2009-09-30 16:55:15 +0800 Fix segment fault of fuzzy pinyin M src/Database.h commit 5323e2385f36f72405d4ceffa24c2bb1bd2e9a84 Author: Peng Huang Date: 2009-09-30 13:59:06 +0800 Import debian packaging scripts from Ubuntu A debian/changelog A debian/compat A debian/control A debian/copyright A debian/docs A debian/ibus-pinyin.lintian-overrides A debian/rules A debian/watch commit 714143ad7539df66860607a316e36e1b7155d1dd Author: Peng Huang Date: 2009-09-30 07:50:21 +0800 Fix commi problem M src/PhraseEditor.h M src/PinyinEngine.cc commit eac3c4057934617567288069fc7515177e175322 Author: Peng Huang Date: 2009-09-29 19:31:38 +0800 Show preedit text correctly M src/PinyinEngine.cc commit 7d2aeda8396d1c617ae2c0336f9fe8a384da6ead Author: Peng Huang Date: 2009-09-29 19:22:56 +0800 Update preedit and auxiliary text format M src/PinyinEngine.cc commit ca6793524c34c754709bf1126827b6d142d53bcb Author: Peng Huang Date: 2009-09-29 17:13:48 +0800 Fix some bugs M src/PinyinEngine.cc commit 53501ecd68dd46aa97413adeab38e2cbfdfe610c Author: Peng Huang Date: 2009-09-29 16:54:56 +0800 Add Typing and Editing modes M src/PinyinEngine.cc M src/PinyinEngine.h commit 6e126f3b96183a4820a2c5db374b16af92d27f5f Author: Peng Huang Date: 2009-09-29 16:19:28 +0800 Use ' ' replace '\'' in pinyin string M src/PinyinEngine.cc commit 47bfea10eca0449551c930efaaa389263b749ff1 Author: Peng Huang Date: 2009-09-29 16:01:23 +0800 Update zh_CN.po M po/zh_CN.po commit 8f598fd6296df0d24916a030631e2967bc9dddcf Author: Peng Huang Date: 2009-09-29 15:56:02 +0800 Fix some bugs. M src/Array.h M src/PinyinArray.h M src/PinyinEngine.cc commit b3423070d9b267eb8c3755ca8a865250845aad5c Author: Peng Huang Date: 2009-09-29 15:34:12 +0800 Also set the foreground color of the highlight candidate in preedit text M src/PinyinEngine.cc commit 6fc3c5aae690b2f4c1170dbcf890a43f8adf5f0c Author: Peng Huang Date: 2009-09-29 15:27:01 +0800 Hide auxiliary text if no candidates M src/PinyinEditor.h M src/PinyinEngine.cc commit 9d66a329785cabc2aea5dc6501e03fe7df20a805 Author: Peng Huang Date: 2009-09-29 14:42:07 +0800 Adjust preedit text dynamically M src/Array.h M src/DoublePinyinEditor.cc M src/PinyinArray.h M src/PinyinEngine.cc M src/PinyinParser.cc commit 699336c050105398d36940b4db9ba55beb04a517 Author: Peng Huang Date: 2009-09-29 13:47:05 +0800 Show unselected pinyin in preedit text M src/PinyinEngine.cc M src/PinyinEngine.h commit 80a09d4cda14d6294d7d6849af1e21eacad73c86 Author: Peng Huang Date: 2009-09-29 08:53:16 +0800 Use operator += of phrase M src/Database.cc commit b75395ca94f913b964c43066875fdbfb0b488041 Author: Peng Huang Date: 2009-09-29 08:28:25 +0800 Refactory PhraseEditor M src/Makefile.am M src/Phrase.h M src/PhraseArray.h M src/PhraseEditor.cc M src/PhraseEditor.h M src/PinyinEngine.cc M src/Types.h commit 1101d1d38fb5c78be0cf92893888804da6afc2a6 Merge: 06f2ebb 5b5fa82 Author: Peng Huang Date: 2009-09-29 07:53:53 +0800 Merge branch '1.2.99' of git@github.com:phuang/ibus-pinyin into 1.2.99 commit 5b5fa823cd1ccc656ad28323e19d3e6edb3afb4d Author: Peng Huang Date: 2009-09-29 07:52:04 +0800 Add Phrase.h A src/Phrase.h commit 06f2ebbe03b12c27b22beb6bff51a94e598d64a8 Author: Peng Huang Date: 2009-09-29 06:56:13 +0800 Add some comments M src/FullPinyinEditor.cc commit b02b9e47675ed2dcc8486faacada1b4a582056a3 Author: Peng Huang Date: 2009-09-28 16:03:23 +0800 Press space to select highlight candidate M src/PinyinEngine.cc M src/PinyinEngine.h commit b7196b0435b8d4ccd61d06fe7df275c1f580d107 Author: Peng Huang Date: 2009-09-28 07:13:22 +0800 Commit half width '.' after half width numbers M src/PinyinEngine.cc M src/PinyinEngine.h commit ba136a3846ed111cfabb05b47c16c8a9c393b8fe Author: Peng Huang Date: 2009-09-28 07:04:42 +0800 Reset before commit text to application. M src/PinyinEngine.cc commit 6b097b4ca7bca4ac328c3296d5dc3a2f7c078215 Author: Peng Huang Date: 2009-09-27 16:48:25 +0800 Refine coding style M src/Database.h commit 54f0169827e813747e6f295e12d13099b36d7bb1 Author: Peng Huang Date: 2009-09-27 16:47:22 +0800 Use get replace operator [] M src/Database.h commit 8965a486d163828f7283a0b9ac3b83a56d6a0cef Author: Peng Huang Date: 2009-09-27 16:43:30 +0800 Refectory conditions M src/Database.cc M src/Database.h commit ae26cda94d9ffc2df06414284a6e09bf24da2d0d Merge: 38c62f3 347d456 Author: Peng Huang Date: 2009-09-27 14:46:23 +0800 Merge branch '1.2.99' of github.com:phuang/ibus-pinyin into 1.2.99 commit 347d4564f6015e32887a537861b2d5f6d3f31fb2 Author: Peng Huang Date: 2009-09-26 07:37:49 +0800 Support WideString in String M src/String.h M src/WideString.h commit d94521ce1bf8405f0fd46a1050704dba050024f2 Author: Peng Huang Date: 2009-09-26 07:28:55 +0800 Add WideString M src/Array.h M src/Makefile.am M src/PinyinEngine.cc A src/WideString.h commit 38c62f348c03a8b715a8baa12eedcd75c68eafc7 Author: Peng Huang Date: 2009-09-25 17:18:50 +0800 Reset in focusOut M src/DoublePinyinEditor.cc M src/FullPinyinEditor.cc M src/FullPinyinEditor.h M src/PinyinEngine.h commit cc46aa7c24252c17d213655e4dd9ea07682672de Author: Peng Huang Date: 2009-09-25 16:19:10 +0800 Change author info M AUTHORS M Makefile.am M configure.ac M data/Makefile.am M data/icons/Makefile.am M data/scripts/pydict.py M data/scripts/pyutil.py M ibus-pinyin.spec.in M m4/Makefile.am M po/Makevars M po/zh_CN.po M setup/Makefile.am M setup/ibus-setup-pinyin.in M src/Makefile.am M src/special_table commit 9e2d1632f9a7b512457a4ee276bf1ed824de6903 Author: Peng Huang Date: 2009-09-25 13:43:13 +0800 Implement auto commit. M setup/ibus-pinyin-preferences.glade M src/PinyinEngine.cc commit 1b7a439abe24cd350a0332c632302b78a3d99853 Author: Peng Huang Date: 2009-09-25 12:27:00 +0800 Use ? : operator M src/PinyinEngine.cc commit 077a9b9ede0f64fdf54e2d3801a8a34cbb7b6543 Author: Peng Huang Date: 2009-09-25 11:40:49 +0800 Update zh_CN.po M po/zh_CN.po commit b4041c918a42a6f26d190fd9009800bc12c42548 Author: Peng Huang Date: 2009-09-25 11:37:10 +0800 Implement shift select candidate M setup/ibus-pinyin-preferences.glade M setup/main.py M src/Config.cc M src/Config.h M src/PinyinEngine.cc commit a0ee977ca23b41650f841089e1f184787324b22a Author: Peng Huang Date: 2009-09-25 10:45:48 +0800 Adjust the setup ui M setup/ibus-pinyin-preferences.glade commit 348bf0203d58e22c64ef3e91fee2cc279c1af0aa Author: Peng Huang Date: 2009-09-25 10:36:06 +0800 Delay update of page size M setup/ibus-pinyin-preferences.glade commit 6bc7522f638b1d7f80d7c2706a62369a578505a1 Author: Peng Huang Date: 2009-09-25 10:34:01 +0800 Use HScale widget for page size M setup/ibus-pinyin-preferences.glade M setup/main.py commit 15cd217742d7c773867e067eed8d6de8af4af297 Author: Peng Huang Date: 2009-09-25 10:22:08 +0800 Adjust preferences dialog M po/zh_CN.po M setup/ibus-pinyin-preferences.glade commit 4e2273761ef1fb1b56ee63f582b0c6d6ffd230bc Author: Peng Huang Date: 2009-09-25 09:59:51 +0800 Hide some unused options. M setup/ibus-pinyin-preferences.glade commit 83b156c8854c87dbf01a0a8bb1e69d900873eabf Author: Peng Huang Date: 2009-09-25 08:15:41 +0800 Fix some typos Update zh_CN.po M po/zh_CN.po M setup/ibus-pinyin-preferences.glade commit 3fdf13e54e1e8c2ef417baa40f0c954a6cf8d2e3 Author: Peng Huang Date: 2009-09-24 15:58:56 +0800 Add assert in simpToTrad M src/SimpTradConverter.cc commit 64cc8d82fb927baa0d0fdd14bfd0a295b9ff22c0 Author: Peng Huang Date: 2009-09-24 15:48:09 +0800 Refine coding style M src/Text.h commit 32820f777a5bbc94ca9e521db545d264f973f62f Author: Peng Huang Date: 2009-09-24 15:20:33 +0800 Clean up icons M data/icons/full-punct.svg M data/icons/full.svg M data/icons/half-punct.svg commit 27bab03f8813af661371d23706ed3a410228830a Author: Peng Huang Date: 2009-09-24 15:16:45 +0800 Clean up icons M data/icons/simp-chinese.svg M data/icons/trad-chinese.svg commit 15dd100c26f19308f5824142defb3a1ba38aa350 Author: Peng Huang Date: 2009-09-24 14:59:06 +0800 StaticText use Text as parent class. M src/PinyinEngine.cc M src/Text.h commit 613a80f34fcfffc559a0abf0252b187f18199c9b Author: Peng Huang Date: 2009-09-24 14:41:06 +0800 Remove unused variables. M src/Makefile.am commit 94d850c70fd078dabfa8dea39112f95db545f99b Author: Peng Huang Date: 2009-09-24 14:30:13 +0800 Use name SimpTrad table M src/scripts/gensimptradtable.py R081 src/scripts/map.py src/scripts/sctc.py commit 4ce8b5db3be34deefc8785d9e9602142a1761c1f Author: Peng Huang Date: 2009-09-24 11:54:41 +0800 Fix some typos. M setup/ibus-pinyin-preferences.glade M setup/main.py commit 0f6dbec1e15bac3a115c8a0736ae894c6584b329 Author: Peng Huang Date: 2009-09-24 11:46:53 +0800 Add configure for Simplified/Traditional Chinese M po/zh_CN.po M setup/ibus-pinyin-preferences.glade M setup/main.py M src/Config.cc M src/Config.h M src/PinyinEngine.cc commit fc6e52a1619b3cd92c0de9960ab11370ca3d683b Author: Peng Huang Date: 2009-09-24 11:28:53 +0800 Add icons for simplified/traditional chinese M data/icons/Makefile.am A data/icons/simp-chinese.svg A data/icons/trad-chinese.svg M src/PinyinEngine.cc commit 902cee398e046244a992061b417efd0a72ed6d7b Author: Peng Huang Date: 2009-09-24 08:38:19 +0800 Add Traditional Chinese support M po/zh_CN.po M src/LookupTable.h M src/PinyinEngine.cc M src/PinyinEngine.h M src/Text.h commit 4560e4d77aed235f98041864b83d95c49ff542d9 Author: Peng Huang Date: 2009-09-23 20:12:57 +0800 WIP. M src/PinyinEngine.cc M src/PinyinEngine.h commit b5ed6295724e9b69350e661587f46d3bcfda49d8 Author: Peng Huang Date: 2009-09-23 20:04:28 +0800 Implement SimTradConverter M src/SimpTradConverter.cc M src/SimpTradConverter.h M src/scripts/gensimptradtable.py commit 13e14bc02147d5575ee7e29c24286e349af00933 Author: Peng Huang Date: 2009-09-23 17:13:42 +0800 Add SimpTradConverter. M po/zh_CN.po M src/Makefile.am M src/PinyinParser.cc A src/SimpTradConverter.cc A src/SimpTradConverter.h M src/scripts/genpytable.py A src/scripts/gensimptradtable.py A src/scripts/map.py commit 34d0c0da7958579b241b5a51851ed18e1fc81ed9 Author: Peng Huang Date: 2009-09-23 16:16:10 +0800 Add Shift+Shace & Control+. shortcuts M src/PinyinEngine.cc commit 820b19b3f9c80bfd56a1b0a3e1ee05f95d8cdf5f Author: Peng Huang Date: 2009-09-23 13:42:49 +0800 Remove zh_CN.gmo D po/zh_CN.gmo commit 7ab0dd288d917a5c588af4134320c32c13b9d801 Author: Peng Huang Date: 2009-09-23 13:39:45 +0800 Fix build errors. M Makefile.am A data/scripts/Makefile M src/scripts/genpytable.py commit 9bc6ab1d2816b790c87885a426e9cda053be7050 Author: Peng Huang Date: 2009-09-23 13:31:09 +0800 Remove all files from .gitignore. M .gitignore commit 998c9299f04a4756ff8a08ab3448b3f7860b9fe0 Author: Peng Huang Date: 2009-09-23 13:30:02 +0800 Import c version pinyin engine M AUTHORS M Makefile.am M README M autogen.sh M configure.ac R055 icons/Makefile.am data/Makefile.am A data/icons/Makefile.am R100 icons/chinese.svg data/icons/chinese.svg R100 icons/english.svg data/icons/english.svg R100 icons/full-punct.svg data/icons/full-punct.svg R100 icons/full-letter.svg data/icons/full.svg R100 icons/half-punct.svg data/icons/half-punct.svg R100 icons/half-letter.svg data/icons/half.svg R100 icons/ibus-pinyin.svg data/icons/ibus-pinyin.svg A data/scripts/create_db.py A data/scripts/create_index.py A data/scripts/create_unique_index.py A data/scripts/double.py A data/scripts/id.py R100 engine/pydict.py data/scripts/pydict.py R100 engine/pyutil.py data/scripts/pyutil.py D debian/README.Debian D debian/changelog D debian/compat D debian/control D debian/copyright D debian/cron.d.ex D debian/dirs D debian/docs D debian/emacsen-install.ex D debian/emacsen-remove.ex D debian/emacsen-startup.ex D debian/ibus-pinyin-default.ex D debian/ibus-pinyin.doc-base.EX D debian/init.d.ex D debian/init.d.lsb.ex D debian/manpage.1.ex D debian/manpage.sgml.ex D debian/manpage.xml.ex D debian/menu.ex D debian/postinst.ex D debian/postrm.ex D debian/preinst.ex D debian/prerm.ex D debian/rules D debian/watch.ex D engine/Makefile.am D engine/factory.py D engine/ibus-engine-pinyin.in D engine/main.py D engine/pinyin.py D engine/pycreatedb.py D engine/pyparser.py D engine/pysqlitedb.py D engine/special_phrase D engine/specialphrase.py D engine/specialtable.py M ibus-pinyin.spec.in M po/LINGUAS M po/POTFILES.in D po/ja.po A po/zh_CN.gmo M po/zh_CN.po M setup/Makefile.am A setup/ibus-pinyin-preferences.glade M setup/ibus-setup-pinyin.in M setup/main.py D setup/pydict.py D setup/setup.glade A src/Array.h A src/Bus.h A src/Config.cc A src/Config.h A src/Database.cc A src/Database.h A src/DoublePinyinEditor.cc A src/DoublePinyinEditor.h A src/DoublePinyinTable.h A src/Engine.cc A src/Engine.h A src/FullPinyinEditor.cc A src/FullPinyinEditor.h A src/HalfFullConverter.cc A src/HalfFullConverter.h A src/LookupTable.h A src/Main.cc A src/Makefile.am A src/PhraseArray.h A src/PhraseEditor.cc A src/PhraseEditor.h A src/PinyinArray.h A src/PinyinEditor.cc A src/PinyinEditor.h A src/PinyinEngine.cc A src/PinyinEngine.h A src/PinyinParser.cc A src/PinyinParser.h A src/Pointer.h A src/Property.h A src/SpecialTable.cc A src/SpecialTable.h A src/String.h A src/Text.h A src/Types.h A src/Util.h A src/main.db R072 engine/pinyin.xml.in.in src/pinyin.xml.in.in A src/scripts/genpytable.py A src/scripts/pydict.py R099 engine/special_table src/special_table commit 9911013dd7e4edc7c295dad24121309b1fda5718 Author: Peng Huang Date: 2009-09-19 15:10:21 +0800 Update some strings. M po/ja.po M po/zh_CN.po M setup/setup.glade commit 60dd01654c82899a97156a99bfa34c3514b8a078 Author: Peng Huang Date: 2009-09-15 13:35:17 +0800 Disable FuzzyPinyin in engine.py M engine/pinyin.py commit ce469a0c93a3cb71c079a76b5b0de48b68f5ca00 Author: Peng Huang Date: 2009-09-15 13:29:41 +0800 Display English candidates in correct color. M engine/pinyin.py commit 775d1ea766876016294bcc01a2df38107803928a Author: Peng Huang Date: 2009-06-12 14:57:19 +0800 Handle mouse click on lookup table. M engine/pinyin.py commit 58db26f7ba33a59f9f98669e929d3b4c43e778d4 Author: Peng Huang Date: 2009-08-21 12:23:58 +0800 Call bindtextdomain M setup/Makefile.am M setup/ibus-setup-pinyin.in M setup/main.py commit 531eaf2badafb45afdfd28f9148cdc7e3db30331 Author: Peng Huang Date: 2009-08-03 15:02:59 +0800 Reset preedit when press CapsLock key. M engine/pinyin.py commit 8500e2894bd02b64e3f39eb36c450c2b32070b73 Author: Peng Huang Date: 2009-07-23 17:10:05 +0800 Show origin input when enable ShuangPin M engine/pinyin.py commit 92eb30242e44b1924a3bf0818b315a51275c19f3 Author: Peng Huang Date: 2009-06-14 14:50:43 +0800 Modify process_key_event method & bump the version M configure.ac M engine/pinyin.py commit e3103262badb9b9784354c78ec9bb4a499b736c5 Author: Peng Huang Date: 2009-05-26 07:55:28 +0800 Only ask confirm when values changed. M setup/main.py commit 39cf7c6a88046faa81afba16024736a5ad09c80e Author: Peng Huang Date: 2009-05-26 07:53:26 +0800 Center the about string M setup/setup.glade commit 4d081ef806c95cf3d8ea9cdb2765c561ac4c26a0 Author: Peng Huang Date: 2009-05-26 07:51:39 +0800 Show About page in setup dialog M setup/setup.glade commit 9bbb69a2b3e69d1bbe4a86887d1506cba5bb88af Author: Peng Huang Date: 2009-05-25 14:01:09 +0800 Raise setup dialog when click setup icon. M engine/pinyin.py M setup/main.py commit ab99791ab560e0d1c0e806e7d708a6db121691bf Author: Peng Huang Date: 2009-05-25 13:25:58 +0800 Hide some page in setup dialog. M setup/setup.glade commit 1d7c4cc697322fc8cbd21f3fe0b49cd41c563dde Author: Huang Peng Date: 2009-03-03 11:37:08 +0800 Try to cover errors when user_db is locked. M engine/pinyin.py commit 9b2c20c8946f40928e89601f7ab7dd471a70a730 Author: Huang Peng Date: 2009-03-03 11:00:13 +0800 Remove some INDEX on py_phrase table to reduce the size of db file. And refine coding style. M engine/pysqlitedb.py commit 638416babf296f7f131de0c8b07221fa519cb929 Author: Huang Peng Date: 2009-02-24 17:19:48 +0800 Replace priority with rank. M engine/pinyin.xml.in.in commit ad6cffb02a0a50338fb9ded8996c446ec6d172dc Author: Huang Peng Date: 2009-02-24 16:41:03 +0800 Add priority in pinyin.xml. M engine/pinyin.xml.in.in commit 0867f5388828b3e82ff175a23e679fe8e2617d4d Author: Huang Peng Date: 2009-02-18 19:34:53 +0800 Fix problem when generate xml. M engine/pinyin.xml.in.in commit a135c88d75f76711683993abaa040c03ba7a39f5 Author: Peng Huang Date: 2009-02-12 11:15:22 +0800 Fix issue 254: Start pinyin setup failed when click setup property on language panel. M engine/ibus-engine-pinyin.in M engine/pinyin.py commit 1e04cf629ec734a17b2e2bff05af56654a2f78fe Author: Huang Peng Date: 2009-02-06 09:55:37 +0800 Fix problem when generate pinyin.xml M configure.ac M engine/Makefile.am R085 engine/pinyin.xml.in engine/pinyin.xml.in.in M po/ja.po M po/zh_CN.po commit aaaa4768ecd33ee3f44b38fb29af7813c374f77f Author: Huang Peng Date: 2009-02-05 16:01:26 +0800 Migrate to ibus-1.1. M configure.ac M engine/Makefile.am M engine/factory.py M engine/ibus-engine-pinyin.in M engine/main.py D engine/pinyin.engine.in M engine/pinyin.py A engine/pinyin.xml.in M ibus-pinyin.spec.in M po/ja.po M po/zh_CN.po M setup/Makefile.am M setup/main.py commit fc2075852ca2fcce099625ecd524e0eadf38999f Author: Huang Peng Date: 2008-10-07 10:34:14 +0800 Disable user db optimizing. M setup/main.py M setup/setup.glade commit dc8bfa8aa8116b4182834bc5eea854575fec1fce Author: Huang Peng Date: 2008-10-04 10:35:07 +0800 Fix `make distcheck` error. M po/POTFILES.in commit 37d4be2d30fa8a2fd3a0bd39c9f7a8fbb155a1dc Author: Huang Peng Date: 2008-10-04 09:00:10 +0800 WIP. M engine/factory.py commit efdd39ea3e2e3d72da1921649454a75fb975318e Author: Huang Peng Date: 2008-10-03 17:29:02 +0800 Change config interface. M engine/pinyin.py M setup/main.py commit 4a0616f128ffead2a461600a0068d1495a03a21f Author: Huang Peng Date: 2008-09-25 13:55:01 +0800 Use pinyin-database-0.1.10.6.tar.bz2 M ibus-pinyin.spec.in commit 0892216bb1e017e9990f8ad6a86af5bc332632de Author: Huang Peng Date: 2008-09-15 20:32:11 +0800 Use pinyin-database-0.1.10.6.tar.bz2. M engine/Makefile.am commit 6a77264baf1037c9ab7950408f3456b177aef326 Author: Huang Peng Date: 2008-09-15 20:31:42 +0800 Change arguments of pycreatedb.py. M engine/pycreatedb.py commit 9cc7eb4d128cce38aa989b8d90e7404f0fa6a36b Author: Huang Peng Date: 2008-09-15 20:06:17 +0800 Refine coding style. M engine/pycreatedb.py commit 4293565d5ffac5938248e5c787ec11ebbf5e5a88 Author: Huang Peng Date: 2008-09-15 12:23:41 +0800 Fix some typoes. M engine/pinyin.py commit 196168b440f8cf160e23fd05d0663886e6f0aac3 Author: Huang Peng Date: 2008-09-15 02:56:52 +0800 Add Half punctuations feature by Jiahua Huang . M engine/pinyin.py M engine/pysqlitedb.py M po/ja.po M po/zh_CN.po M setup/main.py M setup/setup.glade commit e253a5d1a5cd03fa4d2bddb30d842122f2d1adcf Author: Huang Peng Date: 2008-09-12 07:50:28 +0800 Import debian packing files by 一叶 . A debian/README.Debian A debian/changelog A debian/compat A debian/control A debian/copyright A debian/cron.d.ex A debian/dirs A debian/docs A debian/emacsen-install.ex A debian/emacsen-remove.ex A debian/emacsen-startup.ex A debian/ibus-pinyin-default.ex A debian/ibus-pinyin.doc-base.EX A debian/init.d.ex A debian/init.d.lsb.ex A debian/manpage.1.ex A debian/manpage.sgml.ex A debian/manpage.xml.ex A debian/menu.ex A debian/postinst.ex A debian/postrm.ex A debian/preinst.ex A debian/prerm.ex A debian/rules A debian/watch.ex commit 992d809adc9bb6e37ea68832868c2b0c405aed89 Author: Huang Peng Date: 2008-09-07 09:01:33 +0800 Hide fuzzy pinyin detial configure. M setup/setup.glade commit 9a4a296fef26a1729f7bb6da6a16a415ac39aa51 Author: Huang Peng Date: 2008-09-07 08:37:49 +0800 Hide fuzzy pinyin detial configure. M setup/setup.glade commit 26b7d6814d1d973b9cd227cdef8529aa402f6cf7 Author: Huang Peng Date: 2008-09-01 21:10:16 +0800 Update after process_key event. M engine/pinyin.py commit d7f72b5b9bb422b2eb2bec860ca8fc0bbaf1a12f Author: Huang Peng Date: 2008-08-31 11:50:38 +0800 Fix SpellCheck problems. M engine/pinyin.py commit 836819899a7b57428a50b475df20e41284832ef9 Author: Huang Peng Date: 2008-08-30 12:42:58 +0800 Add ja.po. A po/ja.po commit 778f3dc3f41040e9bfb9babb669605a6cfa1bf27 Author: Huang Peng Date: 2008-08-30 07:54:11 +0800 Translate engine name. M engine/factory.py M po/zh_CN.po commit 8ad05ac166e1e76d98c3eb15aee601eb56f2f8c2 Author: Huang Peng Date: 2008-08-29 07:23:42 +0800 Add Japanese translation by UTUMI Hirosi . M AUTHORS M po/LINGUAS commit 4fdfbb9cd8810b0621969ab823eecb3d7df7f4d7 Author: Huang Peng Date: 2008-08-25 13:59:13 +0800 Enable maintainer-mode. M configure.ac commit 6a3129c439a01cee7f8753618b36438b5014bcd8 Author: Huang Peng Date: 2008-08-22 12:03:02 +0800 Add Name.zh. M engine/pinyin.engine.in commit c35d180957dbf38a50d78b13a6acf0e2a27ef76a Author: Huang Peng Date: 2008-08-19 08:55:24 +0800 Refine code. M engine/pinyin.py commit ee5648bce5eac608e457504a605dea256469ad1c Author: Huang Peng Date: 2008-08-17 21:48:30 +0800 Fix problem when press LeftArrow with preedit. M engine/pinyin.py commit cfffb78b2c215fe9a4a729bee4ec1777c2324f69 Author: Huang Peng Date: 2008-08-17 08:24:51 +0800 Fix wrong path. M engine/pinyin.py commit 8a156d44015074655f3809b8fa9f5ed8cbb2604f Author: Huang Peng Date: 2008-08-15 12:17:29 +0800 Install ibus-setup-pinyin in bindir. M ibus-pinyin.spec.in M setup/Makefile.am commit 5aa6bf8b1ede1b38457cb5b5b5d92e4a41b1ce6f Author: Huang Peng Date: 2008-08-13 23:21:34 +0800 Remove unused sources files from POFILES.in. M po/POTFILES.in M po/zh_CN.po commit 559fb4a8497386c8a2f5684a58883fba432b6ae4 Author: Huang Peng Date: 2008-08-13 23:16:43 +0800 Use path to replace text. M icons/english.svg M icons/ibus-pinyin.svg commit f9d4c97799dc475a80cbebfaa9ec589e3e67b188 Author: Huang Peng Date: 2008-08-13 23:11:46 +0800 Add i18n support in spec file. M ibus-pinyin.spec.in commit 85b1ca77319a394977ca94f2f8c4e7a3f3cae68f Author: Huang Peng Date: 2008-08-13 23:08:46 +0800 Add zh_CN.po A po/zh_CN.po commit b8979fddf87da82a6a34cf57848be66ebe9393da Author: Huang Peng Date: 2008-08-13 22:54:13 +0800 i18n WIP. A po/LINGUAS M po/POTFILES.in commit d2d44a33909d71c5602a7bb7a9358b4eb089a1f0 Author: Huang Peng Date: 2008-08-13 18:28:49 +0800 Ignore NumLock mask. M engine/pinyin.py commit daff2154050c95f71a09664db4d9fd635612a097 Author: Huang Peng Date: 2008-08-13 16:01:57 +0800 Install ibus-engine-pinyin in @bindir@ M configure.ac M engine/Makefile.am M engine/pinyin.engine.in M ibus-pinyin.spec.in commit 8421a297e4e612558816377fc0c480b151b77081 Author: Huang Peng Date: 2008-08-11 01:16:22 +0800 optimize lookup_table transport performance. M engine/pinyin.py commit f72efe3a0d6a75e75fa23687586d3741c383b485 Author: Huang Peng Date: 2008-08-09 08:33:01 +0800 Refine coding style. M configure.ac commit c60fc3e24fa5bce8362487733004f444a1c9ccc2 Author: Huang Peng Date: 2008-08-08 17:22:01 +0800 Modify for fedora packaging review. M ibus-pinyin.spec.in commit 65ece255cd9d2e6d7ae8951a7f4e232406d568c2 Author: Huang Peng Date: 2008-08-08 15:13:10 +0800 Use GPLv2. M COPYING commit 4ec9e409834694cfe68fb83d5594d52209f79828 Author: Huang Peng Date: 2008-08-08 13:16:53 +0800 Refine doc. M README M ibus-pinyin.spec.in commit 6b59ed7ee0dc0e87e45e86c2677c5ecb1f418b42 Author: Huang Peng Date: 2008-08-08 09:41:24 +0800 Fix problems reported by rpmlint M Makefile.am M README M engine/Makefile.am M ibus-pinyin.spec.in commit 59a0e164ed3c807bc77e38e2f63068151fc5f68a Author: Huang Peng Date: 2008-08-07 19:26:14 +0800 Set tooltip for setup property. M engine/pinyin.py commit 275b8af0d38a3f3f8b2f167f6d32302880d09ddb Author: Huang Peng Date: 2008-08-06 14:29:19 +0800 Fix rpm problem. M engine/Makefile.am M engine/pinyin.engine.in M engine/pysqlitedb.py M ibus-pinyin.spec.in commit f9993e15e8554d1a6076b45319448b235343a266 Author: Huang Peng Date: 2008-08-05 21:18:56 +0800 Do not update ui duing English input mode. M engine/pinyin.py commit b7fda37131e221e42e4bd06f835d4c12bd82fcb1 Author: Huang Peng Date: 2008-08-05 18:09:12 +0800 Group item in full-punct.svg M icons/full-punct.svg commit a03c7edf5d96e2026ac865adcb09129e4bc2f59e Author: Huang Peng Date: 2008-08-05 18:08:03 +0800 Edit full-punct.svg. M icons/full-punct.svg commit 3fcd03547de68bcab9e3a5c84f30c78bded9fe43 Author: Huang Peng Date: 2008-08-05 11:25:32 +0800 Implement setup button in lanuage panel. M engine/pinyin.py commit 017b9ae582d12c6cc3a63b097577e3307f851b71 Author: Huang Peng Date: 2008-08-05 10:56:45 +0800 Get install location from $IBUS_PINYIN_LOCATION. M engine/Makefile.am M engine/factory.py M engine/pinyin.py M icons/Makefile.am commit 0fe97edd530b363b858d6e59731d2dcc85b55ba5 Author: Huang Peng Date: 2008-08-05 10:46:55 +0800 Get install location from $IBUS_PINYIN_LOCATION. M engine/Makefile.am M engine/ibus-engine-pinyin.in M engine/pinyin.py M engine/pysqlitedb.py M engine/specialphrase.py M engine/specialtable.py commit c85a12d8233a0de3c54bb75d1b8cea3d9b71c550 Author: Huang Peng Date: 2008-08-02 21:38:12 +0800 Disable GBK by default. M engine/pinyin.py M setup/main.py commit b8cc28392439f2ef89a8082b58e3abe993b719e3 Author: Huang Peng Date: 2008-08-02 16:38:32 +0800 Remove autoheader in autogen.sh. M autogen.sh commit 1cb0d2c1cbba0e5304db32d7242136f11575511a Author: Huang Peng Date: 2008-08-02 16:24:55 +0800 Download py.db from SCIM-Python project. M engine/Makefile.am commit 7f9640ee1fa7e6a404b63378163964ff0f46c90f Author: Huang Peng Date: 2008-07-31 20:27:08 +0800 WIP. M setup/main.py commit bd0b9b00f32a6e89ae02957d8bd87dc233b4bf6d Author: Huang Peng Date: 2008-07-31 19:48:57 +0800 Refine coding style. M setup/main.py commit 50a7676aa97b84719ffb16369052a9557c961dbf Author: Huang Peng Date: 2008-07-31 19:47:43 +0800 WIP. M setup/main.py M setup/setup.glade commit 4b70c60463cf791ebc820ba3740ed375bf348737 Author: Huang Peng Date: 2008-07-31 19:33:05 +0800 WIP. M setup/Makefile.am M setup/main.py commit ff2f5eb3c770d5bdacd919af0bcfac7fd7768107 Author: Huang Peng Date: 2008-07-31 19:28:59 +0800 Add a symbol link to ../engine/pydict.py A setup/pydict.py commit efcdfd3ffb3cc7c6eb6f20246aea3f7bb7133e50 Author: Huang Peng Date: 2008-07-31 18:11:25 +0800 Change static methods' name. M engine/factory.py M engine/pinyin.py commit 8532f6aacdbef9532b5b0143150c724ee246a66b Author: Huang Peng Date: 2008-07-31 17:01:59 +0800 Remove __init__.py. D setup/__init__.py commit 7c79ccacf56185c830b48c63fb1b57f4efb1a4cc Author: Huang Peng Date: 2008-07-31 16:28:52 +0800 WIP. M configure.ac M setup/Makefile.am A setup/ibus-setup-pinyin.in commit 882ca1c1a07e69d26b54f97d64b9898e2e315433 Author: Huang Peng Date: 2008-07-31 16:25:39 +0800 Add setup. M Makefile.am M configure.ac M engine/Makefile.am M engine/ibus-engine-pinyin.in A setup/Makefile.am A setup/__init__.py A setup/main.py A setup/setup.glade commit d5c39aac7b5999c6aa69dc72dad2ee0b1751ad8e Author: Huang Peng Date: 2008-07-31 16:13:12 +0800 Use ibus config schema. M engine/factory.py M engine/pinyin.py commit 6d2815e09ef2d068fa44d1dcfa5412631d64f235 Author: Huang Peng Date: 2008-07-31 13:13:36 +0800 Update UI before commit string. M engine/pinyin.py commit dc5047095aeaeae36b8f256fcac488e5ec8d02c8 Author: Huang Peng Date: 2008-07-31 13:03:18 +0800 Rename IBus to Bus. M engine/main.py commit fe89bf6474e902e26c14ea1a9fb1ae0671148ebb Author: Huang Peng Date: 2008-07-31 12:11:12 +0800 WIP. M engine/main.py commit 0d482d9d91b8013da8ad4fc9f7173d97a292eb39 Author: Huang Peng Date: 2008-07-28 14:29:47 +0800 Use IBus replace Connection. M engine/factory.py M engine/main.py commit 94039b8d966944bfa41435087bdd962124a8073a Author: Huang Peng Date: 2008-07-25 17:01:57 +0800 Use ibus.Connection to replace dbus.Connection M engine/main.py commit ffedf87ed82fadb762a00b1793c1c67ced06ed39 Author: Huang Peng Date: 2008-07-25 15:27:23 +0800 focus_in engine when enable. M engine/pinyin.py commit 4fd33361000bfcf80a549e1ba494277993fbf0fa Author: Huang Peng Date: 2008-07-25 11:15:39 +0800 Fix properties' problem when focus_in & focus_out M engine/pinyin.py commit 28bc29b4fdf65eb17628d4c5746ba5fe7583973d Author: Huang Peng Date: 2008-07-25 10:45:34 +0800 Check english if preedit is not empty. M engine/pinyin.py commit fb131cea327cb7e8d52eff4ecdd5a87b922e51ce Author: Huang Peng Date: 2008-07-24 13:31:19 +0800 Add shadown for icons. M icons/chinese.svg M icons/english.svg M icons/full-letter.svg M icons/full-punct.svg M icons/half-letter.svg M icons/half-punct.svg M icons/ibus-pinyin.svg commit bd67973a8e455647142636ac44f6c5d557fd889b Author: Huang Peng Date: 2008-07-24 13:01:32 +0800 Update pinyin icon. M icons/ibus-pinyin.svg commit ef7ec3481fab16f16ff9a0d09de6d439f617b270 Author: Huang Peng Date: 2008-07-24 12:59:46 +0800 Create new icons. M engine/factory.py M engine/pinyin.py M icons/Makefile.am A icons/chinese.svg A icons/english.svg A icons/full-letter.svg A icons/full-punct.svg A icons/half-letter.svg A icons/half-punct.svg commit cf110cb4094370ef59e42feef31407a6608ff8b9 Author: Huang Peng Date: 2008-07-23 16:09:06 +0800 Save data in ~/ibus/pinyin M engine/pysqlitedb.py commit 4395775c092ecad7e701f8f78ce0312aa0c343c0 Author: Huang Peng Date: 2008-07-22 22:34:02 +0800 WIP M engine/pinyin.py commit 0683bc7fdffe14e3d3370fd04a53926cbcb7ffa7 Author: Huang Peng Date: 2008-07-22 14:57:09 +0800 Add DBUS_DEBUG=true. M engine/Makefile.am commit c5f3a3f327f2ad5f34e1382a2df695ae86889cb3 Author: Huang Peng Date: 2008-07-22 12:50:38 +0800 WIP. M engine/pinyin.py commit 7c614c07c36c929caedabbb2b5ddd1cef0af67cb Author: Huang Peng Date: 2008-07-20 12:55:56 +0800 Enhance performance. M engine/pinyin.py commit 5ae43a9abd1775ab09775ef70799832bcce18dd4 Author: Huang Peng Date: 2008-07-20 07:37:42 +0800 Fix some typos. M engine/pinyin.py commit 74aaa879e95a05f63dce14e32439c01394cf1a4c Author: Huang Peng Date: 2008-07-20 07:37:03 +0800 Remove engine.py D engine/engine.py commit 3074f2ffba196c78b408f313cc2bc967b22e9ab1 Author: Huang Peng Date: 2008-07-18 16:54:22 +0800 Fix bug. M engine/Makefile.am M engine/pinyin.engine.in commit 09c183f51cd1e52109d5481d5191952faa893dc4 Merge: 39e0598 2cd5821 Author: Huang Peng Date: 2008-07-18 16:47:07 +0800 Merge commit 'tmpl/master' into temp Conflicts: configure.ac engine/Makefile.am engine/engine.py engine/factory.py engine/main.py commit 2cd58216d71607f7ee417a30fab016015e3b7025 Author: Huang Peng Date: 2008-07-18 16:40:51 +0800 Add enchant.engine.in. M configure.ac M engine/Makefile.am A engine/enchant.engine.in commit 39e0598679d369c2fae73929d8c098dfeb1b4202 Author: Huang Peng Date: 2008-07-18 16:35:55 +0800 Make page_{up,down} & cursor_{up,down} work. M engine/pinyin.py commit cd59896a961cf8edacbbdacd9a56c6f06fe3c333 Author: Huang Peng Date: 2008-07-18 16:25:50 +0800 WIP. M engine/pinyin.py commit 8f2318497a4e3e054ab549c4e29554ef4033252c Author: Huang Peng Date: 2008-07-18 16:18:03 +0800 Fix a bug when create KeyEvent object. M engine/pinyin.py commit 087557c33f2185c7866629e6729e5d428d93ec66 Author: Huang Peng Date: 2008-07-18 13:49:34 +0800 Add __invalidate function. M engine/factory.py M engine/pinyin.py commit 98051a45d3643233da16904dcd8c4a73727bbc0b Author: Huang Peng Date: 2008-07-18 13:39:23 +0800 Remove engine.py. M engine/Makefile.am D engine/engine.py commit 036f8e7a4805003bd84fb74934de9bd65efd2b72 Author: Huang Peng Date: 2008-07-18 11:31:09 +0800 WIP. M engine/factory.py M engine/main.py M engine/pinyin.py commit 08ed60f18bf97aa81ae63da4e162dfb008bb5f69 Author: Huang Peng Date: 2008-07-18 10:59:00 +0800 WIP. M engine/pinyin.py commit b97883b6daaaa5185d48bc0d6d9b61a19f71da4b Author: Huang Peng Date: 2008-07-18 10:45:14 +0800 Add LANG=en_US in test task. M engine/Makefile.am commit b5282fef3d73c78b956ba755bfeb2ffe30e15ecf Author: Huang Peng Date: 2008-07-18 10:40:35 +0800 Refactory Engine & EngineFactory. M engine/engine.py M engine/factory.py M engine/main.py commit 2d61073e078d64ba1393034113f0ef7b349223a5 Author: Huang Peng Date: 2008-07-17 07:44:51 +0800 Rename ibus-engine-enchant.in to ibus-engine-pinyin.in M configure.ac M engine/Makefile.am R100 engine/ibus-engine-enchant.in engine/ibus-engine-pinyin.in commit 84965105c3d8b689d53bb00f4da778401921a4a5 Author: Huang Peng Date: 2008-07-16 22:46:06 +0800 WIP. A engine/pinyin.py A engine/special_phrase A engine/special_table A engine/specialphrase.py A engine/specialtable.py commit ceb12f46eaad2c186f0334369a62f3f19c76e9fb Author: Huang Peng Date: 2008-07-16 22:20:37 +0800 Add pycreatedb.py M engine/Makefile.am A engine/pycreatedb.py commit de72e8c5172d8b52391b8d02f576ded5e958a968 Author: Huang Peng Date: 2008-07-16 22:16:50 +0800 Add pysqlitedb.py M engine/Makefile.am A engine/pysqlitedb.py commit 2ff9d96200b0d905520c913ef3c652bf9e8b8e00 Author: Huang Peng Date: 2008-07-16 19:44:22 +0800 refine coding style. M engine/pydict.py M engine/pyparser.py M engine/pyutil.py commit efddab95f00292f4ffe69fbcc71055c4d1abbdb3 Author: Huang Peng Date: 2008-07-16 19:43:10 +0800 Replace tap with spaces. M engine/pydict.py M engine/pyparser.py M engine/pyutil.py commit 0239c6260e1f155122d18412142a1e4cb1eea0db Author: Huang Peng Date: 2008-07-16 19:42:10 +0800 Add pyutil.py M engine/Makefile.am A engine/pyutil.py commit 375f483fb28c88d443232576ff83bae74ac816c6 Author: Huang Peng Date: 2008-07-16 19:40:45 +0800 Add pyparser.py M engine/Makefile.am A engine/pyparser.py commit 9a4965b22dedf93de263ffe65da07632baf2f4ba Author: Huang Peng Date: 2008-07-16 19:38:25 +0800 Add pydict.py M engine/Makefile.am M engine/factory.py M engine/main.py A engine/pydict.py commit 85b2059354c5cb53dae32b675d988079391a312a Author: Huang Peng Date: 2008-07-15 17:05:53 +0800 Change vim settings and replace tab with spaces. M engine/engine.py M engine/factory.py M engine/main.py commit 0a5aa6c5a7cee64a9327aa6c615f98dcebc0763f Author: Huang Peng Date: 2008-07-15 17:05:17 +0800 Change vim settings and replace tab with spaces. M engine/engine.py M engine/factory.py M engine/main.py commit bdd57e9ca4fd3eb300706e975e10ba9a70d46dc3 Merge: 9294f79 1c4769d Author: Huang Peng Date: 2008-07-15 13:45:55 +0800 Merge commit 'tmpl/master' commit 1c4769d2d09646449ff5349cb047f99d7dcfc3e8 Author: Huang Peng Date: 2008-07-15 13:45:36 +0800 Fix a typo. M engine/factory.py commit 9294f791411fdfcd666cfdc1e30ae339024b9dcc Merge: 7c00eb9 41fd717 Author: Huang Peng Date: 2008-07-15 13:44:29 +0800 Merge commit 'tmpl/master' commit 41fd717f3b26c1e337e3d92f78f67c9a79926818 Author: Huang Peng Date: 2008-07-15 13:42:15 +0800 Refine coding style M engine/engine.py M engine/factory.py M engine/main.py commit 7c00eb9e07f6a6ae093d772900415fe0d94585de Author: Huang Peng Date: 2008-07-04 11:22:09 +0800 Add exec in shell launch script. M engine/ibus-engine-enchant.in commit 406ee586236520b70aee9e247828bae2f94b1d8b Author: Huang Peng Date: 2008-07-04 11:20:59 +0800 Add exec in shell launch script. M engine/ibus-engine-enchant.in commit add0371bc27ecfc6555cde544d6792fc7273b9ad Author: Huang Peng Date: 2008-07-02 18:38:45 +0800 Add Destroy functions. M engine/engine.py M engine/factory.py commit cf49f79e427188914c2a425df05b066a3fb33b6e Author: Huang Peng Date: 2008-07-02 17:44:51 +0800 Create PinYin project from template. M .gitignore M Makefile.am M configure.ac M engine/Makefile.am R097 ibus-tmpl.spec.in ibus-pinyin.spec.in M icons/Makefile.am R078 icons/ibus-enchant.svg icons/ibus-pinyin.svg commit 7d8b4502603d38e023e9eba90a2a8391fded6edc Author: Huang Peng Date: 2008-07-02 17:20:00 +0800 Use @PACKAGE_NAME@ to replace ibus-tmpl M ibus-tmpl.spec.in commit 26e5a0081d754ef1f1a52cc1a4c8cbfbac4f4551 Author: Huang Peng Date: 2008-07-02 17:16:57 +0800 Change header in icons/Makefile.am M icons/Makefile.am commit 3f3eecb73dfbdfca91d3bf7ae60ea8c7b41dd9bd Author: Huang Peng Date: 2008-07-02 17:12:20 +0800 define package_name macro. M Makefile.am M configure.ac commit f6303d37775aff4c1087bea9da91345a5c849afd Author: Huang Peng Date: 2008-06-29 16:48:38 +0800 Add icon. M Makefile.am M configure.ac M engine/factory.py M ibus-tmpl.spec.in A icons/Makefile.am A icons/ibus-enchant.svg commit b741f5db502727dfe40d4087019c882a85d96f9f Author: Huang Peng Date: 2008-06-29 16:18:54 +0800 Use GPLv2. M Makefile.am M configure.ac M engine/Makefile.am M engine/engine.py M engine/factory.py M engine/ibus-engine-enchant.in M engine/main.py M ibus-tmpl.spec.in M m4/Makefile.am commit 1e9f9787283d449fe7446a9fa19924c964980180 Author: Huang Peng Date: 2008-06-29 16:10:36 +0800 Add a template engine - enchant. M Makefile.am M configure.ac A engine/Makefile.am A engine/engine.py A engine/factory.py A engine/ibus-engine-enchant.in A engine/main.py M ibus-tmpl.spec.in commit 058ff8eec8aa8a7e5e8e7b404f2f47d87456bfaa Author: Huang Peng Date: 2008-06-29 15:57:07 +0800 Import IBus template project. A .gitignore A AUTHORS A COPYING A ChangeLog A Makefile.am A NEWS A README A autogen.sh A configure.ac A ibus-tmpl.spec.in A m4/.gitignore A m4/Makefile.am A m4/as-version.m4 A po/.gitignore A po/Makevars A po/POTFILES.in ibus-libpinyin-1.16.1/config.rpath0000755000175000017500000004421613440165257012544 #! /bin/sh # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # # Copyright 1996-2015 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit , 1996 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # # The first argument passed to this file is the canonical host specification, # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld # should be set by the caller. # # The set of defined variables is at the end of this script. # Known limitations: # - On IRIX 6.5 with CC="cc", the run time search patch must not be longer # than 256 bytes, otherwise the compiler driver will dump core. The only # known workaround is to choose shorter directory names for the build # directory and/or the installation directory. # All known linkers require a '.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a shrext=.so host="$1" host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` # Code taken from libtool.m4's _LT_CC_BASENAME. for cc_temp in $CC""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` # Code taken from libtool.m4's _LT_COMPILER_PIC. wl= if test "$GCC" = yes; then wl='-Wl,' else case "$host_os" in aix*) wl='-Wl,' ;; mingw* | cygwin* | pw32* | os2* | cegcc*) ;; hpux9* | hpux10* | hpux11*) wl='-Wl,' ;; irix5* | irix6* | nonstopux*) wl='-Wl,' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in ecc*) wl='-Wl,' ;; icc* | ifort*) wl='-Wl,' ;; lf95*) wl='-Wl,' ;; nagfor*) wl='-Wl,-Wl,,' ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) wl='-Wl,' ;; ccc*) wl='-Wl,' ;; xl* | bgxl* | bgf* | mpixl*) wl='-Wl,' ;; como) wl='-lopt=' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ F* | *Sun*Fortran*) wl= ;; *Sun\ C*) wl='-Wl,' ;; esac ;; esac ;; newsos6) ;; *nto* | *qnx*) ;; osf3* | osf4* | osf5*) wl='-Wl,' ;; rdos*) ;; solaris*) case $cc_basename in f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) wl='-Qoption ld ' ;; *) wl='-Wl,' ;; esac ;; sunos4*) wl='-Qoption ld ' ;; sysv4 | sysv4.2uw2* | sysv4.3*) wl='-Wl,' ;; sysv4*MP*) ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) wl='-Wl,' ;; unicos*) wl='-Wl,' ;; uts4*) ;; esac fi # Code taken from libtool.m4's _LT_LINKER_SHLIBS. hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no case "$host_os" in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. # Unlike libtool, we use -rpath here, not --rpath, since the documented # option of GNU ld is called -rpath, not --rpath. hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' case "$host_os" in aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no fi ;; amigaos*) case "$host_cpu" in powerpc) ;; m68k) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then : else ld_shlibs=no fi ;; haiku*) ;; interix[3-9]*) hardcode_direct=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; netbsd*) ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs=no elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' else ld_shlibs=no fi ;; esac ;; sunos4*) hardcode_direct=yes ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then hardcode_libdir_flag_spec= fi else case "$host_os" in aix3*) # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac fi hardcode_direct=yes hardcode_libdir_separator=':' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct=unsupported hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac fi # Begin _LT_AC_SYS_LIBPATH_AIX. echo 'int main () { return 0; }' > conftest.c ${CC} ${LDFLAGS} conftest.c -o conftest aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` fi if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib" fi rm -f conftest.c conftest # End _LT_AC_SYS_LIBPATH_AIX. if test "$aix_use_runtimelinking" = yes; then hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' else hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" fi fi ;; amigaos*) case "$host_cpu" in powerpc) ;; m68k) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; bsdi[45]*) ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec=' ' libext=lib ;; darwin* | rhapsody*) hardcode_direct=no if { case $cc_basename in ifort*) true;; *) test "$GCC" = yes;; esac; }; then : else ld_shlibs=no fi ;; dgux*) hardcode_libdir_flag_spec='-L$libdir' ;; freebsd2.[01]*) hardcode_direct=yes hardcode_minus_L=yes ;; freebsd* | dragonfly*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; hpux9*) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; hpux10*) if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_direct=no ;; *) hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; netbsd*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; newsos6) hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; *nto* | *qnx*) ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then hardcode_libdir_flag_spec='${wl}-rpath,$libdir' else case "$host_os" in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) hardcode_libdir_flag_spec='-R$libdir' ;; *) hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; osf3*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) if test "$GCC" = yes; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else # Both cc and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi hardcode_libdir_separator=: ;; solaris*) hardcode_libdir_flag_spec='-R$libdir' ;; sunos4*) hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes ;; sysv4) case $host_vendor in sni) hardcode_direct=yes # is this really true??? ;; siemens) hardcode_direct=no ;; motorola) hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac ;; sysv4.3*) ;; sysv4*MP*) if test -d /usr/nec; then ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) ;; sysv5* | sco3.2v5* | sco5v6*) hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator=':' ;; uts4*) hardcode_libdir_flag_spec='-L$libdir' ;; *) ld_shlibs=no ;; esac fi # Check dynamic linker characteristics # Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER. # Unlike libtool.m4, here we don't care about _all_ names of the library, but # only about the one the linker finds when passed -lNAME. This is the last # element of library_names_spec in libtool.m4, or possibly two of them if the # linker has special search rules. library_names_spec= # the last element of library_names_spec in libtool.m4 libname_spec='lib$name' case "$host_os" in aix3*) library_names_spec='$libname.a' ;; aix[4-9]*) library_names_spec='$libname$shrext' ;; amigaos*) case "$host_cpu" in powerpc*) library_names_spec='$libname$shrext' ;; m68k) library_names_spec='$libname.a' ;; esac ;; beos*) library_names_spec='$libname$shrext' ;; bsdi[45]*) library_names_spec='$libname$shrext' ;; cygwin* | mingw* | pw32* | cegcc*) shrext=.dll library_names_spec='$libname.dll.a $libname.lib' ;; darwin* | rhapsody*) shrext=.dylib library_names_spec='$libname$shrext' ;; dgux*) library_names_spec='$libname$shrext' ;; freebsd[23].*) library_names_spec='$libname$shrext$versuffix' ;; freebsd* | dragonfly*) library_names_spec='$libname$shrext' ;; gnu*) library_names_spec='$libname$shrext' ;; haiku*) library_names_spec='$libname$shrext' ;; hpux9* | hpux10* | hpux11*) case $host_cpu in ia64*) shrext=.so ;; hppa*64*) shrext=.sl ;; *) shrext=.sl ;; esac library_names_spec='$libname$shrext' ;; interix[3-9]*) library_names_spec='$libname$shrext' ;; irix5* | irix6* | nonstopux*) library_names_spec='$libname$shrext' case "$host_os" in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; *) libsuff= shlibsuff= ;; esac ;; esac ;; linux*oldld* | linux*aout* | linux*coff*) ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) library_names_spec='$libname$shrext' ;; knetbsd*-gnu) library_names_spec='$libname$shrext' ;; netbsd*) library_names_spec='$libname$shrext' ;; newsos6) library_names_spec='$libname$shrext' ;; *nto* | *qnx*) library_names_spec='$libname$shrext' ;; openbsd*) library_names_spec='$libname$shrext$versuffix' ;; os2*) libname_spec='$name' shrext=.dll library_names_spec='$libname.a' ;; osf3* | osf4* | osf5*) library_names_spec='$libname$shrext' ;; rdos*) ;; solaris*) library_names_spec='$libname$shrext' ;; sunos4*) library_names_spec='$libname$shrext$versuffix' ;; sysv4 | sysv4.3*) library_names_spec='$libname$shrext' ;; sysv4*MP*) library_names_spec='$libname$shrext' ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) library_names_spec='$libname$shrext' ;; tpf*) library_names_spec='$libname$shrext' ;; uts4*) library_names_spec='$libname$shrext' ;; esac sed_quote_subst='s/\(["`$\\]\)/\\\1/g' escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` shlibext=`echo "$shrext" | sed -e 's,^\.,,'` escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' < # ## This program is free software: you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation, either version 3 of the License, or ## (at your option) any later version. ## ## This program 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 General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program. If not, see . if IBUS_BUILD_LUA_EXTENSION LUADIR=lua endif SUBDIRS = \ data \ $(LUADIR) \ scripts \ src \ setup \ m4 \ po \ $(NULL) DISTCHECK_CONFIGURE_FLAGS = \ CFLAGS='-g3 -O3 -Wall' \ CXXFLAGS='-g3 -O3 -Wall' \ $(NULL) ACLOCAL_AMFLAGS = -I m4 EXTRA_DIST = config.rpath \ autogen.sh \ ibus-libpinyin.spec.in \ $(NULL) noinst_DIST = \ $(NULL) DISTCLEANFILES = \ po/stamp-it \ $(NULL) dist-hook: if test -d .git ; then \ git log --name-status --date=iso > $(distdir)/ChangeLog ; \ fi rpm: dist @PACKAGE_NAME@.spec rpmbuild -bb \ --define "_sourcedir `pwd`" \ --define "_builddir `pwd`/rpm" \ --define "_srcrpmdir `pwd`/rpm" \ --define "_rpmdir `pwd`/rpm" \ --define "_specdir `pwd`" \ @PACKAGE_NAME@.spec srpm: dist @PACKAGE_NAME@.spec rpmbuild -bs \ --define "_sourcedir `pwd`" \ --define "_builddir `pwd`/rpm" \ --define "_srcrpmdir `pwd`/rpm" \ --define "_rpmdir `pwd`/rpm" \ --define "_specdir `pwd`" \ @PACKAGE_NAME@.spec .PHONY: debian/changelog debian/changelog: $(AM_V_GEN) \ ( \ . /etc/lsb-release; \ date=`date -R`; \ version=@VERSION@; \ serie=$(serie); \ if test -z "$$serie"; then \ serie=$$DISTRIB_CODENAME; \ fi; \ if test -z "$$release"; then \ release=1; \ fi; \ s=`cat debian/changelog.in`; \ eval "echo \"$${s}\""; \ ) > $@ ppa: dist debian/changelog $(AM_V_GEN) \ ( \ mkdir ppa; \ cp $(distdir).tar.gz ppa/@PACKAGE_NAME@_@PACKAGE_VERSION@.orig.tar.gz ; \ cd ppa; \ tar zxvf ../$(distdir).tar.gz ; \ cd $(distdir); \ cp -a ../../debian . ; \ cd debian; \ debuild -S -sa ; \ ) dpkg: dist debian/changelog $(AM_V_GEN) \ ( \ mkdir ppa; \ cd ppa; \ tar zxvf ../$(distdir).tar.gz ; \ cd $(distdir); \ cp -a ../../debian . ; \ cd debian; \ debuild -b -uc -us; \ ) clean-rpm: $(RM) -r "`uname -i`" clean-local: clean-rpm ibus-libpinyin-1.16.1/data/0000755000175000017500000000000014767172143011223 5ibus-libpinyin-1.16.1/data/strokes0000644000175000017500000244076214455173634012577 一 1 h 16785590 丨 2 s 33559226 亅 3 s 33560760 丿 4 p 33563818 丶 5 n 33569900 乀 6 n 33557672 乁 7 n 33567775 乙 8 z 16785652 乚 9 z 33567592 乛 10 z 0 二 11 hh 16777405 丁 12 hs 16778778 丅 13 hs 33566865 十 14 hs 16784018 丆 15 hp 0 厂 16 hp 16778220 丂 17 hz 33559339 七 18 hz 16783159 匚 19 hz 16779104 匸 20 hz 33566785 丄 21 sh 33565085 刂 22 ss 33556784 卜 23 sn 16777668 冂 24 sz 33560469 亻 25 ps 33563288 乂 26 pn 16785682 人 27 pn 16782697 入 28 pn 16782786 八 29 pn 16777433 九 30 pz 16781158 儿 31 pz 16777380 几 32 pz 16780702 勹 33 pz 33554917 匕 34 pz 16777719 亠 35 nh 33565814 冫 36 nh 33555182 丷 37 np 0 冖 38 nz 33561362 讠 39 nz 33568111 刁 40 zh 16778902 丩 41 zs 33560498 了 42 zs 16782109 凵 43 zs 16780320 卩 44 zs 33560398 阝 45 zs 33557742 乃 46 zp 16781768 刀 47 zp 16778690 力 48 zp 16782357 乄 49 zn 33566225 厶 50 zn 33564779 又 51 zn 16786099 廴 52 zn 33567613 乜 53 zz 16781716 巜 54 zz 33559221 三 55 hhh 16783562 亍 56 hhs 16778481 于 57 hhs 16786146 干 58 hhs 16779876 亏 59 hhz 16780490 亐 60 hhz 33568625 土 61 hsh 16784511 士 62 hsh 16784082 工 63 hsh 16780029 扌 64 hsh 33565249 卄 65 hss 16781902 艹 66 hss 16777949 才 67 hsp 16777897 下 68 hsn 16785071 寸 69 hsn 16778087 丌 70 hps 16780660 廾 71 hps 16780036 丈 72 hpn 16786680 大 73 hpn 16778592 兀 74 hpz 16784650 尢 75 hpz 16784727 与 76 hzh 16786167 万 77 hzp 16781567 夨 78 hzn 33569077 弋 79 hzn 16785670 上 80 shh 16783866 小 81 spn 16785227 凣 82 spz 33557425 口 83 szh 16780421 囗 84 szh 16784775 山 85 szs 16783827 巾 86 szs 16780564 千 87 phs 16783272 乇 88 phz 16784551 乞 89 phz 16783233 川 90 pss 16778494 亿 91 psz 16785717 彳 92 pps 16778431 彡 93 ppp 33565020 凢 94 ppz 33557423 亼 95 pnh 33559887 个 96 pns 16779990 乊 97 pnp 0 亽 98 pnn 0 亾 99 pnz 33566356 兦 100 pnz 33566353 亇 101 pzs 16779992 犭 102 pzp 33564563 丸 103 pzn 16784700 久 104 pzn 16781156 么 105 pzn 16781380 凡 106 pzn 16779084 勺 107 pzn 16783886 及 108 pzn 16780753 夂 109 pzn 33569745 夊 110 pzn 33564889 夕 111 pzn 16784937 饣 112 pzz 33564803 丬 113 nhs 33563490 广 114 nhp 16780192 亡 115 nhz 16784731 门 116 nsz 16781520 丫 117 nps 16785748 义 118 npn 16785683 氵 119 nnh 33565474 忄 120 nns 33566596 宀 121 nnz 33561386 之 122 nzn 16786880 辶 123 nzn 33556610 彐 124 zhh 33559956 卂 125 zhs 33566614 尸 126 zhp 16784002 己 127 zhz 16780764 已 128 zhz 16785664 巳 129 zhz 16783680 弓 130 zhz 16780017 卫 131 zsh 16784824 子 132 zsh 16786516 孑 133 zsh 16781095 孒 134 zsh 33560743 屮 135 zss 16778251 卪 136 zsn 33560399 孓 137 zsn 16781298 也 138 zsz 16785991 女 139 zph 16781974 乆 140 zpn 33560510 刃 141 zpn 16782707 刄 142 zpn 33563300 飞 143 zpn 16779136 劜 144 zpz 33568061 习 145 znh 16785003 叉 146 znn 16778115 彑 147 zzh 33559957 纟 148 zzh 33561363 马 149 zzh 16781370 乡 150 zzp 16785162 幺 151 zzn 16785929 巛 152 zzz 33556493 亖 153 hhhh 33564812 丰 154 hhhs 16779207 王 155 hhsh 16784730 亓 156 hhps 16783212 井 157 hhps 16780628 开 158 hhps 16780287 天 159 hhpn 16784439 夫 160 hhpn 16779245 元 161 hhpz 16786266 无 162 hhpz 16784626 韦 163 hhzs 16784778 专 164 hhzn 16787049 云 165 hhzn 16786336 弌 166 hhzn 16785593 耂 167 hshp 0 圡 168 hshn 33566051 丐 169 hshz 16779863 圠 170 hshz 33568048 扎 171 hshz 16786361 廿 172 hssh 16781906 艺 173 hssz 16785697 木 174 hspn 16781732 朩 175 hspn 33563671 乤 176 hsnz 0 五 177 hszh 16784640 巿 178 hszs 16779303 帀 179 hszs 33568956 邒 180 hszs 33565837 支 181 hszn 16786878 丏 182 hszz 16781684 厅 183 hphs 16784380 卅 184 hpss 16783552 不 185 hpsn 16777870 冇 186 hpsz 16781451 仄 187 hppn 16786442 太 188 hpnn 16784225 犬 189 hpnn 16783512 区 190 hpnz 16777414 历 191 hpzp 16782351 厷 192 hpzn 33558917 友 193 hpzn 16786087 尤 194 hpzn 16786060 歹 195 hpzn 16778597 匹 196 hpzz 16782994 厄 197 hpzz 16777360 辷 198 hnzn 0 车 199 hzhs 16778248 戸 200 hzhp 16779603 巨 201 hzhz 16781250 牙 202 hzsp 16785759 屯 203 hzsz 16784543 戈 204 hzpn 16779947 兂 205 hzpz 33568993 旡 206 hzpz 16780812 比 207 hzpz 16777728 互 208 hzzh 16779609 切 209 hzzp 16783388 瓦 210 hzzn 16784687 卝 211 shsh 33559529 止 212 shsh 16786925 攴 213 shzn 33563820 少 214 spnp 16783887 尐 215 spnn 33559781 冃 216 szhh 33560996 冄 217 szhh 33563249 日 218 szhh 16782761 曰 219 szhh 16786297 中 220 szhs 16786820 円 221 szsh 16786274 乢 222 szsz 33558705 內 223 szpn 16781818 内 224 szpn 16781819 冈 225 szpn 16779911 水 226 szpn 16784168 罓 227 szpn 33558760 贝 228 szpn 16777575 见 229 szpz 16780961 禸 230 szzn 16782753 午 231 phhs 16784635 手 232 phhs 16783985 牛 233 phhs 16781944 毛 234 phhz 16781442 气 235 phhz 16783246 壬 236 phsh 16782699 牜 237 phsh 33556176 升 238 phps 16783963 夭 239 phpn 16785926 攵 240 phpn 33563821 长 241 phzn 16778210 仁 242 pshh 16782698 什 243 pshs 16783940 仃 244 pshs 16778787 片 245 pshz 16783040 仆 246 pssn 16783071 仈 247 pspn 16777437 仇 248 pspz 16778359 仉 249 pspz 16786679 化 250 pspz 16779629 屲 251 pszs 33558707 币 252 pszs 16777730 仂 253 pszp 16782104 仍 254 pszp 16782725 仅 255 pszn 16780577 仏 256 pszn 16779235 斤 257 pphs 16780560 爪 258 ppsn 16786696 丯 259 ppps 33560436 戶 260 ppzh 33558264 反 261 ppzn 16779089 仐 262 pnhs 33564641 兮 263 pnhz 16784960 刈 264 pnss 16785666 介 265 pnps 16781131 仌 266 pnpn 33555183 从 267 pnpn 16777989 父 268 pnpn 16779310 爻 269 pnpn 16785943 乥 270 pnpz 0 仑 271 pnpz 16782609 尣 272 pnpz 33566350 爫 273 pnnp 33562043 仒 274 pnnn 0 今 275 pnnz 16780561 凶 276 pnzs 16785301 分 277 pnzp 16779169 乏 278 pnzn 16779053 公 279 pnzn 16780019 仓 280 pnzz 16777934 勻 281 pzhh 33568913 月 282 pzhh 16786299 卆 283 pzhs 16786538 厃 284 pzhp 33566450 氏 285 pzhz 16784045 勿 286 pzpp 16784676 勽 287 pzpn 33554964 匁 288 pzpn 0 欠 289 pzpn 16783317 风 290 pzpn 16779218 勼 291 pzpz 33560506 匂 292 pzpz 0 丹 293 pznh 16778623 匀 294 pznh 16786325 乌 295 pzzh 16784599 卬 296 pzzs 16777286 凤 297 pzzn 16779231 勾 298 pzzn 16780046 厹 299 pzzn 16783436 殳 300 pzzn 16784102 卞 301 nhsn 16777816 亣 302 nhps 33565537 六 303 nhpn 16782524 文 304 nhpn 16784842 亢 305 nhpz 16780338 方 306 nhzp 16779110 闩 307 nszh 16784156 火 308 nppn 16779827 兯 309 npzs 0 为 310 npzn 16784766 斗 311 nnhs 16778765 忆 312 nnsz 16785723 灬 313 nnnn 33555399 计 314 nzhs 16780798 订 315 nzhs 16778799 户 316 nzhp 16779602 礻 317 nzsn 33565335 讣 318 nzsn 16779348 认 319 nzpn 16782718 冗 320 nzpz 16782747 冘 321 nzpz 16785513 讥 322 nzpz 16780694 心 323 nznn 16784890 丮 324 zhhs 16780759 肀 325 zhhs 33568732 尹 326 zhhp 16785523 卐 327 zhsh 33566343 夬 328 zhpn 16780149 尺 329 zhpn 16778412 弖 330 zhzh 33558257 弔 331 zhzs 33557091 引 332 zhzs 16785521 丑 333 zshh 16778367 卍 334 zshs 16784723 爿 335 zshp 33563492 孔 336 zshz 16780415 巴 337 zshz 16777439 队 338 zspn 16778992 阞 339 zszp 16782098 収 340 zszn 16783983 丒 341 zpnh 16778368 刅 342 zpnn 33556511 办 343 zpnn 16777498 夃 344 zpzn 33558984 以 345 znpn 16785662 允 346 znpz 16786344 予 347 znzs 16786145 邓 348 znzs 16778732 劝 349 znzp 16783523 厸 350 znzn 33562338 双 351 znzn 16784164 毌 352 zzsh 33559128 书 353 zzsn 16784090 毋 354 zzph 16784622 乣 355 zznz 33557160 幻 356 zznz 16779690 弍 357 hhhzn 16777398 玉 358 hhshn 16786217 玊 359 hhshn 33564864 匞 360 hhshz 33560272 玌 361 hhshz 33564423 刊 362 hhsss 16780304 未 363 hhspn 16784814 末 364 hhspn 16781571 示 365 hhspn 16784055 击 366 hhszs 16780712 邗 367 hhszs 16779384 邘 368 hhszs 16786148 丼 369 hhpsn 16778636 戋 370 hhzpn 16780870 圢 371 hshhs 33565842 打 372 hshhs 16778582 巧 373 hshhz 16783380 正 374 hshsh 16786798 圤 375 hshsn 33563833 扑 376 hshsn 16783069 卉 377 hshps 16779773 圦 378 hshpn 0 扒 379 hshpn 16777431 扖 380 hshpn 0 圥 381 hshpz 33563021 扏 382 hshpz 33564412 凷 383 hshzs 33559495 卭 384 hshzs 33564363 壭 385 hshzs 0 邛 386 hshzs 16783407 功 387 hshzp 16780023 扐 388 hshzp 16782101 扔 389 hshzp 16782722 去 390 hshzn 16783490 払 391 hshzn 16777743 甘 392 hsshh 16779871 艼 393 hsshs 33565826 世 394 hsshz 16784049 丗 395 hsssh 33565325 卌 396 hssss 16785035 艾 397 hsspn 16777251 艽 398 hsspz 33560292 芁 399 hsspz 33560293 古 400 hsszh 16780110 节 401 hsszs 16781076 艻 402 hsszp 16782102 艿 403 hsszp 16781770 芀 404 hsszp 33565980 本 405 hspnh 16777595 术 406 hspnn 16784130 札 407 hspnz 16786600 朰 408 hspnz 0 朮 409 hspzn 16787002 刌 410 hsnss 33555820 辻 411 hsnzn 0 可 412 hszhs 16780379 叵 413 hszhz 16782953 匝 414 hszsz 16786360 丙 415 hszpn 16777692 厈 416 hphhs 33554494 圧 417 hphsh 16785747 左 418 hphsh 16786584 厉 419 hphzp 16782353 丕 420 hpsnh 16782993 右 421 hpszh 16786103 石 422 hpszh 16778668 布 423 hpszs 16777877 厇 424 hpphz 33569477 夳 425 hpnhh 33565585 夲 426 hpnhs 33555025 夰 427 hpnps 33558793 冭 428 hpnnn 33565591 夯 429 hpnzp 16779416 厺 430 hpnzn 33564519 达 431 hpnnzn 16778590 戊 432 hpzpn 16784648 龙 433 hpzpn 16782166 犮 434 hpznn 33554804 匛 435 hpznz 33560519 平 436 hnphs 16782981 灭 437 hnppn 16781722 乬 438 hzhzz 0 巪 439 hzhzz 0 轧 440 hzshz 16779850 东 441 hzspn 16778738 匜 442 hzszz 16785615 劢 443 hzpzp 16781387 戉 444 hzzpn 16786300 卡 445 shhsn 16780285 仧 446 shhpn 33556023 北 447 shhpz 16777570 凸 448 shszh 16784494 占 449 shszh 16786632 歺 450 shpzn 33554681 卢 451 shzhp 16782536 业 452 ssnph 16785996 旧 453 sszhh 16781173 帅 454 spszs 16784153 归 455 spzhh 16780199 氺 456 snhpn 33565475 且 457 szhhh 16783389 旦 458 szhhh 16778665 目 459 szhhh 16781748 叮 460 szhhs 16778788 叶 461 szhhs 16786012 曱 462 szhhs 33568849 甲 463 szhhs 16780852 申 464 szhhs 16783925 号 465 szhhz 16779437 电 466 szhhz 16778884 田 467 szhsh 16784444 由 468 szhsh 16786062 卟 469 szhsn 16777873 只 470 szhpn 16786893 叭 471 szhpn 16777438 史 472 szhpn 16784041 叺 473 szhpn 33556380 央 474 szhpn 16785887 兄 475 szhpz 16785297 叱 476 szhpz 16778440 叽 477 szhpz 16780714 叼 478 szhzh 16778911 叩 479 szhzs 16780428 叫 480 szhzs 16781068 另 481 szhzp 16782273 叧 482 szhzp 33559072 叨 483 szhzp 16778696 叻 484 szhzp 16782108 叹 485 szhzn 16784266 亗 486 szshh 33564925 冉 487 szshh 16782672 甴 488 szshh 33569314 帄 489 szshs 33556918 屵 490 szshp 33554679 冊 491 szssh 33555596 皿 492 szssh 16781621 罒 493 szssh 33566363 冋 494 szszh 33560470 凹 495 szszh 16777290 邖 496 szszs 33565024 屴 497 szszp 16782345 屶 498 szszp 0 屷 499 szszp 0 囚 500 szpnh 16783441 四 501 szpzh 16783678 囙 502 szzhh 33567542 囘 503 szzhz 33558491 冎 504 szzsz 33559070 囜 505 szznh 33561665 钅 506 phhhz 33559643 玍 507 phhsh 33558683 生 508 phhsh 16783960 失 509 phhpn 16784001 矢 510 phhpn 16784040 氕 511 phhzp 16783065 乍 512 phshh 16786608 尓 513 phspn 16777387 禾 514 phspn 16779473 刋 515 phpss 33564204 叐 516 phpzn 33554810 刉 517 phzss 33559934 仨 518 pshhh 16783546 仠 519 pshhs 33558743 丘 520 pshsh 16783411 仕 521 pshsh 16784075 仜 522 pshsh 33558135 付 523 pshsn 16779353 仗 524 pshpn 16786690 代 525 pshzn 16778615 仩 526 psshh 33565094 仦 527 psspn 33556064 仙 528 psszs 16785089 仟 529 psphs 16783289 仛 530 psphz 33555894 仡 531 psphz 16779960 仢 532 pspzn 33556976 仫 533 pspzn 33561492 伋 534 pspzn 16780718 们 535 psnsz 16781521 仪 536 psnpn 16785644 白 537 pszhh 16777464 仔 538 pszsh 16786380 他 539 pszsz 16784196 仞 540 pszpn 16782720 仭 541 pszpn 33563322 斥 542 pphsn 16778433 卮 543 pphzz 16786882 瓜 544 ppznn 16780132 仝 545 pnhsh 16784354 仺 546 pnhzh 33555555 尒 547 pnspn 16777386 仚 548 pnszs 16785090 屳 549 pnszs 33566884 乎 550 pnphs 16779566 丛 551 pnpnh 16777984 令 552 pnnzn 16782264 込 553 pnnzn 0 用 554 pzhhs 16786047 甩 555 pzhhz 16784152 肊 556 pzhhz 33567946 印 557 pzhzs 16785533 氐 558 pzhzn 16778803 乐 559 pzspn 16782100 尔 560 pzspn 16777388 句 561 pzszh 16780045 叴 562 pzszh 33564441 凧 563 pzszs 0 匆 564 pzppn 16777972 犰 565 pzppz 16783434 匃 566 pzpnz 33558699 册 567 pzpzh 16777958 卯 568 pzpzs 16781450 匇 569 pzpzn 0 犯 570 pzpzz 16779100 匄 571 pznhz 33558700 处 572 pznsn 16778464 外 573 pznsn 16784693 処 574 pznpz 16778472 冬 575 pznnn 16778743 鸟 576 pznzh 16781913 夘 577 pznzs 16781447 邜 578 pznzs 0 务 579 pznzp 16784666 夗 580 pznzz 16786288 刍 581 pzzhh 16778446 饤 582 pzzhs 33556937 包 583 pzzhz 16777523 饥 584 pzzpz 16780679 主 585 nhhsh 16787016 冮 586 nhhsh 33558768 市 587 nhszs 16784042 庁 588 nhphs 16784379 庂 589 nhppn 33569079 庀 590 nhppz 16783025 疒 591 nhpnh 16778516 邝 592 nhpzs 16780483 広 593 nhpzn 16777263 立 594 nhnph 16782372 冯 595 nhzzh 16779226 邙 596 nhzzs 16781422 玄 597 nhzzn 16785409 氷 598 nszpn 16777688 闪 599 nszpn 16783840 兰 600 nphhh 16782026 半 601 nphhs 16777496 汀 602 nnhhs 16784376 汁 603 nnhhs 16786879 汅 604 nnhhz 33561404 汇 605 nnhhz 16779772 乧 606 nnhsz 0 头 607 nnhpn 16784367 汃 608 nnhpn 33555155 汄 609 nnhpn 33569078 氿 610 nnhpz 16780218 汈 611 nnhzh 33557076 氻 612 nnhzp 33562134 汉 613 nnhzn 16779398 氾 614 nnhzz 16779096 忊 615 nnshs 33556940 忇 616 nnszp 33562138 忉 617 nnszp 16778695 宁 618 nnzhs 16781843 穴 619 nnzpn 16785438 宂 620 nnzpz 33563369 它 621 nnzpz 16784194 宄 622 nnzpz 16780224 讦 623 nzhhs 16781108 讧 624 nzhsh 16779529 讨 625 nzhsn 16784317 戹 626 nzhpz 33554656 写 627 nzhzh 16785265 让 628 nzshh 16782687 衤 629 nzspn 33567742 礼 630 nzsnz 16782313 冚 631 nzszs 33559318 讪 632 nzszs 16783854 讫 633 nzphz 16783256 讬 634 nzphz 16784555 训 635 nzpss 16785481 必 636 nznpn 16777771 议 637 nznpn 16785715 讯 638 nzzhs 16785482 记 639 nzzhz 16780803 永 640 nzzpn 16786037 讱 641 nzzpn 33563313 司 642 zhszh 16783662 叏 643 zhszn 33559083 凥 644 zhppz 33560563 尻 645 zhppz 16780342 尼 646 zhppz 16781858 民 647 zhzhz 16781602 弗 648 zhzps 16779266 邔 649 zhzzs 33564046 弘 650 zhzzn 16779516 疋 651 zshpn 16783026 阢 652 zshpz 33566245 叾 653 zsszh 0 出 654 zsszs 16778444 阡 655 zsphs 16783268 阣 656 zsphz 33567866 辽 657 zsnzn 16782461 阠 658 zszhs 33565155 阤 659 zszsz 16784560 氶 660 zszpn 33569590 氹 661 zszpn 33556770 奵 662 zphhs 33556920 邚 663 zphzs 33563410 奶 664 zphzp 16781769 奴 665 zphzn 16781954 丱 666 zpssh 16780173 尕 667 zpspn 16779853 加 668 zpszh 16780832 召 669 zpszh 16783894 皮 670 zpszn 16783018 辸 671 zpnzn 33563328 边 672 zpnzn 16777803 辺 673 zpnzn 16777804 孕 674 zpzsh 16786350 发 675 zpznn 16779050 圣 676 znhsh 16783975 对 677 znhsn 16778999 弁 678 znhps 16777811 厼 679 znspn 0 台 680 znszh 16784223 癶 681 znppn 33555071 矛 682 znzsp 16781443 纠 683 zzhzs 16781152 驭 684 zzhzn 16786210 母 685 zznhn 16781730 幼 686 zznzp 16786096 丝 687 zzzzh 16783645 廵 688 zzzzn 33567500 弎 689 hhhhzn 16783563 弐 690 hhhhzn 16777399 匡 691 hhhshz 16780467 耒 692 hhhspn 16782123 邦 693 hhhpzs 16777507 玎 694 hhshhs 16778785 兲 695 hhshpn 33565927 玐 696 hhshpn 33554789 玑 697 hhshpz 16780692 玏 698 hhshzp 33562136 丟 699 hhshzn 33557159 式 700 hhshzn 16784044 迀 701 hhsnzn 33558726 迂 702 hhsnzn 16786107 幵 703 hhphhs 16780889 刑 704 hhpsss 16784911 邢 705 hhpszs 16784918 邞 706 hhpnzs 33557644 刓 707 hhpzss 16784699 戎 708 hhpzpn 16782728 邧 709 hhpzzs 16786281 忈 710 hhnznn 33563290 动 711 hhznzp 16778754 迃 712 hhznzn 33568576 圩 713 hshhhs 16784761 扜 714 hshhhs 33568573 扞 715 hshhhs 16779400 圬 716 hshhhz 16784595 扝 717 hshhhz 33559445 圭 718 hshhsh 16780196 扗 719 hshhsh 33568987 扛 720 hshhsh 16779907 圷 721 hshhsn 0 寺 722 hshhsn 16783682 扙 723 hshhpn 33569417 扤 724 hshhpz 16784655 圵 725 hshshh 33556769 卋 726 hshssh 33565341 吉 727 hshszh 16780716 扣 728 hshszh 16780425 圸 729 hshszs 0 圲 730 hshphs 33564132 扦 731 hshphs 16783274 圪 732 hshphz 16779948 圫 733 hshphz 33568704 托 734 hshphz 16784553 扢 735 hshphz 16780098 扥 736 hshphz 33566122 考 737 hshphz 16780343 圳 738 hshpss 16786784 老 739 hshppz 16782083 圴 740 hshpzn 33565100 圾 741 hshpzn 16780668 巩 742 hshpzn 16780034 扚 743 hshpzn 33557077 执 744 hshpzn 16786907 扱 745 hshpzn 16784963 圹 746 hshnhp 16780479 扩 747 hshnhp 16780549 扪 748 hshnsz 16781518 赱 749 hshnpn 16786483 扫 750 hshzhh 16783587 扟 751 hshzhs 33565161 圮 752 hshzhz 16783023 圯 753 hshzhz 16785619 地 754 hshzsz 16778721 扡 755 hshzsz 16778417 场 756 hshzpp 16778205 扬 757 hshzpp 16785901 扨 758 hshzpn 33563307 扠 759 hshznn 16778113 耳 760 hsshhh 16777390 芉 761 hsshhs 33558724 芋 762 hsshhs 16786219 芌 763 hsshhz 33568739 芏 764 hsshsh 33557210 芐 765 hsshsn 33566870 共 766 hsshpn 16780038 芖 767 hsshpn 33569816 芅 768 hsshzn 33567941 芇 769 hssszs 33561387 芊 770 hssphs 16783280 芃 771 hsspzn 16782932 芄 772 hsspzn 16784703 芍 773 hsspzn 16783883 芕 774 hsspzn 33564893 芨 775 hsspzn 16780696 芒 776 hssnhz 16781421 亚 777 hssnph 16785753 芝 778 hssnzn 16786884 芎 779 hsszhz 16785300 芑 780 hsszhz 16783239 芓 781 hsszsh 33569202 芆 782 hssznn 33555898 芗 783 hsszzp 16785165 朾 784 hspnhs 16784384 朽 785 hspnhz 16785318 朴 786 hspnsn 16783058 朲 787 hspnpn 33563282 朳 788 hspnpn 16777429 杁 789 hspnpn 0 朹 790 hspnpz 33564411 机 791 hspnpz 16780666 朼 792 hspnpz 33555226 朻 793 hspnzs 33560500 朷 794 hspnzp 33556785 朸 795 hspnzp 33562579 权 796 hspnzn 16783501 过 797 hsnnzn 16780259 亘 798 hszhhh 16779999 臣 799 hszhsz 16778276 吏 800 hszhpn 16782329 再 801 hszshh 16786382 襾 802 hszssh 16785773 覀 803 hszssh 33566700 朿 804 hszspn 16778021 両 805 hszszs 16782436 协 806 hszpnn 16785251 西 807 hszpzh 16784967 亙 808 hsznnh 33558879 攰 809 hsznzp 33559199 压 810 hphshn 16785752 厌 811 hphpnn 16785875 厍 812 hphzhs 16783918 厊 813 hphzsp 33568039 戌 814 hphzpn 16783492 在 815 hpshsh 16786381 有 816 hpszhh 16786081 百 817 hpszhh 16777469 乭 818 hpszhz 33565293 存 819 hpszsh 16778084 而 820 hpszss 16777374 页 821 hpszpn 16786004 匠 822 hpphsz 16780993 夸 823 hpnhhz 16780442 圶 824 hpnhsh 33564116 夺 825 hpnhsn 16779025 夶 826 hpnhpn 33555225 夵 827 hpnspn 33568140 夻 828 hpnszh 0 夼 829 hpnpss 33559519 灰 830 hpnppn 16779746 戍 831 hpnzpn 16784128 匢 832 hpzppz 33558180 尥 833 hpzpzn 33562839 列 834 hpznss 16782479 死 835 hpznpz 16783663 成 836 hpzzpn 16778299 匟 837 hnhpzz 16780335 夹 838 hnphpn 16780824 夷 839 hzhzpn 16785620 轨 840 hzshpz 16780220 邪 841 hzspzs 16785258 邨 842 hzszzs 33555817 攷 843 hzphpn 16780345 尧 844 hzphpz 16785940 划 845 hzpnss 16779620 迈 846 hzpnzn 16781389 毕 847 hzpzhs 16777777 至 848 hznhsh 16786982 瓧 849 hzznhs 33565306 邷 850 hzznzs 33566286 尗 851 shhspn 33565391 丠 852 shhpzh 33564384 此 853 shshpz 16778014 乩 854 shszhz 16780680 贞 855 shszpn 16786741 虍 856 shzphz 16779565 师 857 sphszs 16783998 尘 858 spnhsh 16778266 尖 859 spnhpn 16780873 劣 860 spnpzp 16782488 光 861 snphpz 16780187 当 862 snpzhh 16778671 吁 863 szhhhs 16785331 早 864 szhhhs 16786413 旪 865 szhhhs 33567174 叿 866 szhhsh 33558090 吐 867 szhhsh 16784510 吋 868 szhhsn 16778086 吓 869 szhhsn 16779479 旯 870 szhhpz 16781989 旫 871 szhhzp 33565971 曳 872 szhhzp 16786011 虫 873 szhshn 16778337 曲 874 szhssh 16783468 团 875 szhsph 16784521 団 876 szhsnh 16784522 吅 877 szhszh 33567371 同 878 szhszh 16784336 吕 879 szhszh 16782642 吊 880 szhszs 16778914 吀 881 szhphs 33561437 吃 882 szhphz 16778373 吒 883 szhphz 16786594 因 884 szhpnh 16785502 吸 885 szhpzn 16784946 吖 886 szhnps 16777218 吇 887 szhzsh 33569194 吔 888 szhzsz 33568386 吗 889 szhzzh 16781362 吆 890 szhzzn 16785925 屽 891 szshhs 33557873 屸 892 szshsh 33562238 屼 893 szshpz 16784662 屿 894 szshzh 16786173 屾 895 szsszs 33565166 岀 896 szsszs 33556419 屹 897 szsphz 16785695 岁 898 szspzn 16783755 岋 899 szspzn 33554684 岌 900 szspzn 16780740 帆 901 szspzn 16779060 辿 902 szsnzn 16778149 回 903 szszhh 16779763 屺 904 szszhz 16783237 岂 905 szszhz 16783238 屻 906 szszpn 33563310 岃 907 szszpn 0 则 908 szpnss 16786426 刚 909 szpnss 16779904 氼 910 szpnpn 33561736 网 911 szpnpn 16784733 肉 912 szpnpn 16782758 凼 913 szpnzs 33556781 囝 914 szzshh 16780932 囡 915 szzphh 16781781 钆 916 phhhzz 16779852 钇 917 phhhzz 16785657 年 918 phhshs 16781891 朱 919 phhspn 16786987 缶 920 phhszs 16779240 劧 921 phhszp 33569758 刏 922 phhzss 33559780 氘 923 phhzps 16778691 気 924 phhzpn 16783247 氖 925 phhzzp 16781765 先 926 phshpz 16785077 牝 927 phshpz 16782973 牞 928 phshzp 33560501 丢 929 phshzn 16778947 廷 930 phshzn 16784395 舌 931 phsszh 16783900 竹 932 phsphs 16787011 迁 933 phsnzn 16783287 圱 934 phphsh 33564130 乔 935 phpnps 16783370 迄 936 phznzn 16783257 毎 937 phzzsh 16781501 仹 938 pshhhs 33557597 仼 939 pshhsh 33566357 伕 940 pshhpn 33557635 伟 941 pshhzs 16784784 伝 942 pshhzn 16786328 传 943 pshhzn 16778495 乒 944 pshshp 16782975 乓 945 pshshn 16782873 休 946 pshspn 16785307 伍 947 pshszh 16784629 伂 948 pshszs 33563569 伎 949 pshszn 16780771 伓 950 pshpsn 33554966 伏 951 pshpnn 16779262 伛 952 pshpnz 16786169 伖 953 pshpzn 33565687 优 954 pshpzn 16786048 伌 955 pshpzz 33554461 臼 956 pshzhh 16781175 伡 957 pshzhs 33556067 佢 958 pshzhz 16781231 伢 959 pshzsp 16785758 伅 960 pshzsz 33557280 伐 961 pshzpn 16779052 仳 962 pshzpz 16783029 仾 963 pshzzh 33556952 佤 964 pshzzn 16784686 延 965 pshzzn 16785822 仯 966 psspnp 33556065 仲 967 psszhs 16786838 伣 968 psszpz 33566986 仵 969 psphhs 16784646 件 970 psphhs 16780967 任 971 psphsh 16782700 仸 972 psphpn 33568351 伤 973 psphzp 16783859 伥 974 psphzn 16778198 伒 975 pspphs 33559673 乑 976 pspppn 33569641 仮 977 psppzn 16779984 价 978 pspnps 16780866 伦 979 pspnpz 16782605 仱 980 pspnnz 33559733 份 981 pspnzp 16779202 伀 982 pspnzn 16786819 伧 983 pspnzz 16777928 仴 984 pspzhh 33566349 伜 985 pspzhs 16778068 华 986 pspzhs 16779624 伆 987 pspzpp 33566240 伨 988 pspznh 33567506 仰 989 pspzzs 16785918 伇 990 pspzzn 33567852 伩 991 psnhpn 33566610 伉 992 psnhpz 16780334 仿 993 psnhzp 16779124 伙 994 psnppn 16779824 伪 995 psnpzn 16784789 伫 996 psnnzh 16787023 伔 997 psnzpz 33556113 伈 998 psnznn 16784895 自 999 pszhhh 16786533 伊 1000 pszhhp 16785592 癿 1001 pszhhz 33564317 甶 1002 pszhsh 33557666 伬 1003 pszhpn 33556358 伄 1004 pszhzs 33557089 血 1005 pszssh 16785264 向 1006 pszszh 16785186 囟 1007 pszpnh 16784901 似 1008 psznpn 16783667 伃 1009 psznzs 33567316 后 1010 pphszh 16779551 邤 1011 pphszs 33566595 劤 1012 pphszp 33559692 行 1013 ppshhs 16779420 彴 1014 ppspzn 16787108 彶 1015 ppspzn 33559865 彵 1016 ppszsz 33566155 甪 1017 ppzhhs 16782564 舟 1018 ppznhn 16786841 全 1019 pnhhsh 16783506 会 1020 pnhhzn 16779770 杀 1021 pnhspn 16783797 合 1022 pnhszh 16779985 兆 1023 pnhzpn 16786700 企 1024 pnshsh 16783229 氽 1025 pnszpn 16781918 汆 1026 pnszpn 33555758 乯 1027 pnphsz 0 众 1028 pnpnpn 16786834 爷 1029 pnpnzs 16785988 伞 1030 pnnphs 16783568 兇 1031 pnzspz 33567247 邠 1032 pnzpzs 16777675 兊 1033 pnznpz 33557253 创 1034 pnzzss 16778507 刖 1035 pzhhss 16786302 肌 1036 pzhhpz 16780690 肍 1037 pzhhpz 33564424 肋 1038 pzhhzp 16782097 凨 1039 pzhhzn 33557591 凩 1040 pzhspn 0 朵 1041 pzhspn 16779029 杂 1042 pzhspn 16786367 夙 1043 pzhpzn 16783696 危 1044 pzhpzz 16784751 氒 1045 pzhzhs 33560716 凪 1046 pzshsh 0 旨 1047 pzszhh 16786934 旬 1048 pzszhh 16785474 旭 1049 pzszhh 16785386 旮 1050 pzszhh 16779849 负 1051 pzszpn 16779331 犴 1052 pzphhs 16777278 犲 1053 pzphsp 33555904 犵 1054 pzpphz 16781112 刎 1055 pzppss 16784849 犱 1056 pzppzn 33559923 犳 1057 pzppzn 33570035 犷 1058 pzpnhp 16780193 匈 1059 pzpnzs 16785296 乮 1060 pzpzsz 0 犸 1061 pzpzzh 16781374 刐 1062 pznhss 33556704 夅 1063 pznhzs 33560270 舛 1064 pznhzs 16778500 各 1065 pznszh 16779989 名 1066 pznszh 16781625 灳 1067 pznppn 33558475 多 1068 pznpzn 16779019 奿 1069 pznzph 33557443 凫 1070 pznzpz 16779300 争 1071 pzzhhs 16786801 邬 1072 pzzhzs 16784605 色 1073 pzzshz 16783598 饦 1074 pzzphz 33566123 饧 1075 pzzzpp 16784278 冴 1076 nhhzsp 33558280 冱 1077 nhhzzh 16779612 壮 1078 nhshsh 16787071 冲 1079 nhszhs 16778333 妆 1080 nhszph 16787066 冰 1081 nhszpn 16777691 庄 1082 nhphsh 16787065 庆 1083 nhphpn 16783154 亦 1084 nhpspn 16785712 庅 1085 nhppzn 33561200 刘 1086 nhpnss 16782498 齐 1087 nhpnps 16783199 交 1088 nhpnpn 16781017 次 1089 nhpzpn 16778018 衣 1090 nhpzpn 16785599 邟 1091 nhpzzs 33559337 劥 1092 nhpzzp 33559410 产 1093 nhnphp 16778187 决 1094 nhzhpn 16781319 吂 1095 nhzszh 33560936 巟 1096 nhzpsz 16779702 亥 1097 nhzppn 16779369 邡 1098 nhzpzs 16779107 充 1099 nhznpz 16778327 妄 1100 nhzzph 16784741 闫 1101 nszhhh 16785821 闬 1102 nszhhs 33557892 闭 1103 nszhsp 16777786 问 1104 nszszh 16784857 闯 1105 nszzzh 16778517 羊 1106 nphhhs 16785905 并 1107 nphhps 16777709 关 1108 nphhpn 16780154 米 1109 nphspn 16781660 屰 1110 nphzsp 33561742 灯 1111 nppnhs 16778728 灲 1112 nppnss 33567092 灮 1113 nppnpz 33559133 邩 1114 nppnzs 33558625 灱 1115 nppnzp 33567091 州 1116 npnsns 16786852 弚 1117 npzhzs 33566074 汗 1118 nnhhhs 16779383 汙 1119 nnhhhs 16784600 汚 1120 nnhhhz 16784601 污 1121 nnhhhz 16784603 江 1122 nnhhsh 16780975 汢 1123 nnhhsh 0 汏 1124 nnhhpn 33556668 汕 1125 nnhszs 16783846 汘 1126 nnhphs 33564140 汑 1127 nnhphz 33566118 汔 1128 nnhphz 16783250 汌 1129 nnhpss 33556508 汋 1130 nnhpzn 16787103 汍 1131 nnhpzn 16784701 汎 1132 nnhpzn 16779098 汐 1133 nnhpzn 16784952 汣 1134 nnhpzn 0 汲 1135 nnhpzn 16780733 汷 1136 nnhpzn 33569623 汒 1137 nnhnhz 33560963 汛 1138 nnhzhs 16785478 汜 1139 nnhzhz 16783670 汓 1140 nnhzsh 33564413 池 1141 nnhzsz 16778397 汝 1142 nnhzph 16782778 汤 1143 nnhzpp 16784269 汊 1144 nnhznn 16778131 忓 1145 nnshhs 33558727 忖 1146 nnshsn 16778085 忕 1147 nnshpn 33556682 忏 1148 nnsphs 16778193 忔 1149 nnsphz 33564100 忛 1150 nnspzn 33557422 忣 1151 nnspzn 33559898 忙 1152 nnsnhz 16781424 忋 1153 nnszhz 33558698 忚 1154 nnszsz 33566722 兴 1155 nnphpn 16784907 宇 1156 nnzhhs 16786174 守 1157 nnzhsn 16783986 宅 1158 nnzphz 16786618 穵 1159 nnzpnz 16784680 宆 1160 nnzzhz 33564366 字 1161 nnzzsh 16786527 安 1162 nnzzph 16777264 讲 1163 nzhhps 16780991 讳 1164 nzhhzs 16779787 讴 1165 nzhpnz 16777420 军 1166 nzhzhs 16781336 讵 1167 nzhzhz 16781240 讶 1168 nzhzsp 16785776 祁 1169 nzsnzs 16783196 礽 1170 nzsnzp 16782723 肎 1171 nzszhh 33559397 讷 1172 nzszpn 16781815 许 1173 nzphhs 16779597 讹 1174 nzpspz 16777328 论 1175 nzpnpz 16782608 讻 1176 nzpnzs 33567249 讼 1177 nzpnzn 16783622 农 1178 nzpzpn 16781830 讽 1179 nzpzpn 16779229 邥 1180 nzpzzs 33565186 设 1181 nzpzzn 16783920 访 1182 nznhzp 16779122 诀 1183 nzzhpn 16781321 聿 1184 zhhhhs 16786213 寻 1185 zhhhsn 16784894 帇 1186 zhhszs 33561799 那 1187 zhhpzs 16781749 夛 1188 zhhpzn 33557293 艮 1189 zhhzpn 16779997 厾 1190 zhshzn 33557163 迅 1191 zhsnzn 16785483 刔 1192 zhpnss 33560717 尽 1193 zhpnnn 16780570 迉 1194 zhpnzn 33564016 弙 1195 zhzhhs 33566179 导 1196 zhzhsn 16778706 异 1197 zhzhps 16785665 弜 1198 zhzzhz 33560271 弛 1199 zhzzsz 16778394 妀 1200 zhzzph 33559917 阱 1201 zshhps 16780624 阮 1202 zshhpz 16782794 孙 1203 zshspn 16783764 阫 1204 zshpsn 33563557 阨 1205 zshpzz 16777344 阵 1206 zshzhs 16786785 孖 1207 zshzsh 16786495 阰 1208 zshzpz 33563729 阯 1209 zsshsh 16786921 阳 1210 zsszhh 16785897 阥 1211 zsszpn 33554490 阩 1212 zsphps 33565207 收 1213 zsphpn 16783981 阪 1214 zsppzn 16777490 阶 1215 zspnps 16781072 阴 1216 zspzhh 16785491 艸 1217 zspzss 16777948 阬 1218 zsnhpz 16780402 防 1219 zsnhzp 16779112 阦 1220 zsnppn 33568245 阧 1221 zsnnhs 33556896 乪 1222 zszhsh 33561565 丞 1223 zszpnh 16778300 阭 1224 zsznpz 33568918 迆 1225 zsznzn 33567810 奸 1226 zphhhs 16780890 妅 1227 zphhsh 33558116 朶 1228 zphspn 16779030 如 1229 zphszh 16782770 奾 1230 zphszs 33566887 奷 1231 zphphs 33564151 奼 1232 zphphz 33555889 奺 1233 zphpzn 33560513 妁 1234 zphpzn 16784184 妇 1235 zphzhh 16779345 妃 1236 zphzhz 16779132 好 1237 zphzsh 16779438 她 1238 zphzsz 16784193 奻 1239 zphzph 33561547 妈 1240 zphzzh 16781360 乫 1241 zpszhz 33560015 刕 1242 zpzpzp 33562460 劦 1243 zpzpzp 16785257 戏 1244 znhzpn 16785032 羽 1245 znhznh 16786179 乨 1246 znszhz 33565311 贠 1247 znszpn 33568794 观 1248 znszpz 16780161 牟 1249 znphhs 16781595 欢 1250 znpzpn 16779650 买 1251 znnhpn 16781384 厽 1252 znznzn 33562185 叒 1253 znznzn 33563463 纡 1254 zzhhhs 16786106 红 1255 zzhhsh 16779528 纣 1256 zzhhsn 16786867 驮 1257 zzhhpn 16779040 纤 1258 zzhphs 16783324 纥 1259 zzhphz 16779956 驯 1260 zzhpss 16785467 约 1261 zzhpzn 16786296 级 1262 zzhpzn 16780744 纨 1263 zzhpzn 16784705 纩 1264 zzhnhp 16780484 纪 1265 zzhzhz 16780763 驰 1266 zzhzsz 16778398 纫 1267 zzhzpn 16782719 糸 1268 zznspn 16781677 糹 1269 zznnnn 33564792 巡 1270 zzznzn 16785471 匤 1271 hhhshnz 33564450 寿 1272 hhhphsn 16783997 玕 1273 hhshhhs 16779880 玗 1274 hhshhhs 16786147 玒 1275 hhshhsh 33558120 弄 1276 hhshhps 16781836 玙 1277 hhshhzh 33568627 玔 1278 hhshpss 16778506 玓 1279 hhshpzn 16778860 玖 1280 hhshpzn 16781160 麦 1281 hhshpzn 16781388 迋 1282 hhshnzn 16784742 玘 1283 hhshzhz 33564047 玚 1284 hhshzpp 33556035 玛 1285 hhshzzh 16781371 攼 1286 hhsphpn 33558718 坓 1287 hhpshsh 33566642 形 1288 hhpsppp 16784913 进 1289 hhpsnzn 16780600 戒 1290 hhpszpn 16781120 吞 1291 hhpnszh 16784535 迗 1292 hhpnnzn 33554637 坖 1293 hhpzhsh 33559958 远 1294 hhpznzn 16786287 违 1295 hhzsnzn 16784776 韧 1296 hhzszpn 16782721 刬 1297 hhzpnss 16778179 运 1298 hhznnzn 16786356 抂 1299 hshhhsh 16780474 扶 1300 hshhhpn 16779282 坃 1301 hshhhpz 33567473 抏 1302 hshhhpz 33566308 抚 1303 hshhhpz 16779316 坛 1304 hshhhzn 16784244 抎 1305 hshhhzn 33568923 抟 1306 hshhhzn 16784520 镸 1307 hshhhzn 33556015 技 1308 hshhszn 16780791 坏 1309 hshhpsn 16779645 抔 1310 hshhpsn 16782961 抠 1311 hshhpnz 16780419 坜 1312 hshhpzp 16782343 扰 1313 hshhpzn 16782691 抜 1314 hshhpzn 16777443 扼 1315 hshhpzz 16777358 拒 1316 hshhzhz 16781243 坉 1317 hshhzsz 33557288 扽 1318 hshhzsz 16779011 找 1319 hshhzpn 16786697 批 1320 hshhzpz 16782998 坘 1321 hshhzzh 33556984 瓨 1322 hshhzzn 33558138 址 1323 hshshsh 16786922 扯 1324 hshshsh 16778249 走 1325 hshshpn 16786482 抄 1326 hshspnp 16778235 抇 1327 hshszhh 33558228 坝 1328 hshszpn 16777457 抐 1329 hshszpn 33561518 汞 1330 hshszpn 16780032 贡 1331 hshszpn 16780037 抙 1332 hshphhs 33563653 抍 1333 hshphps 33569593 坆 1334 hshphpn 16779182 扷 1335 hshphpn 33554602 攻 1336 hshphpn 16780018 扸 1337 hshpshz 33566695 赤 1338 hshpspn 16778427 圻 1339 hshpphs 16783194 折 1340 hshpphs 16783903 抓 1341 hshppsn 16787044 坂 1342 hshppzn 16777491 扳 1343 hshppzn 16777483 圿 1344 hshpnps 33560038 扴 1345 hshpnps 33560043 抡 1346 hshpnpz 16782603 扵 1347 hshpnnn 33568620 坅 1348 hshpnnz 33563889 扲 1349 hshpnnz 33564182 坋 1350 hshpnzp 16779196 扮 1351 hshpnzp 16777497 抸 1352 hshpnzn 33568960 抢 1353 hshpnzz 16783343 抈 1354 hshpzhh 16786308 坁 1355 hshpzhz 33569753 扺 1356 hshpzhz 16783205 孝 1357 hshpzsh 16785235 圽 1358 hshpzpp 33561161 坎 1359 hshpzpn 16780314 扻 1360 hshpzpn 16786531 均 1361 hshpznh 16781331 坍 1362 hshpznh 16784235 抣 1363 hshpznh 0 坞 1364 hshpzzh 16784653 抑 1365 hshpzzs 16785705 抛 1366 hshpzzp 16782885 坄 1367 hshpzzn 33565809 抅 1368 hshpzzn 33560552 投 1369 hshpzzn 16784369 抃 1370 hshnhsn 16777819 坟 1371 hshnhpn 16779184 抆 1372 hshnhpn 16784856 坑 1373 hshnhpz 16780404 抗 1374 hshnhpz 16780337 坊 1375 hshnhzp 16779105 灻 1376 hshnppn 33556394 抖 1377 hshnnhs 16778764 护 1378 hshnzhp 16779610 坈 1379 hshnzpz 33559406 壱 1380 hshnzpz 16785610 売 1381 hshnzpz 16781390 壳 1382 hshnzpz 16780375 抌 1383 hshnzpz 16786772 志 1384 hshnznn 16786972 抋 1385 hshnznn 33563904 块 1386 hshzhpn 16780452 抉 1387 hshzhpn 16781311 択 1388 hshzhpn 16786435 扭 1389 hshzshh 16781945 声 1390 hshzshp 16783968 把 1391 hshzshz 16777450 报 1392 hshzszn 16777550 刦 1393 hshznss 33560381 拟 1394 hshznpn 16781875 抁 1395 hshznpz 33568154 却 1396 hshznzs 16783532 抒 1397 hshznzs 16784098 刧 1398 hshznzp 16781091 劫 1399 hshznzp 16781109 毐 1400 hshzzph 16777241 抝 1401 hshzznz 33554587 芈 1402 hsshhhs 16781661 耴 1403 hsshhhz 33569467 茾 1404 hsshhps 0 芙 1405 hsshhpn 16779287 芜 1406 hsshhpz 16784620 芫 1407 hsshhpz 16785814 苇 1408 hsshhzs 16784799 邯 1409 hsshhzs 16779385 芸 1410 hsshhzn 16786339 芾 1411 hsshszs 16779163 芰 1412 hsshszn 16780802 芣 1413 hsshpsn 16779238 苈 1414 hsshpzp 16782371 苃 1415 hsshpzn 33568548 苉 1416 hsshpzz 33563753 苊 1417 hsshpzz 33554700 苣 1418 hsshzhz 16781247 芽 1419 hsshzsp 16785765 芚 1420 hsshzsz 16784544 芘 1421 hsshzpz 16777758 苆 1422 hsshzzp 0 芷 1423 hssshsh 16786931 芮 1424 hssszpn 16782810 苋 1425 hssszpz 16779672 芞 1426 hssphhz 33564048 芼 1427 hssphhz 16781439 芺 1428 hssphpn 33554588 苌 1429 hssphzn 16778214 芢 1430 hsspshh 33563287 花 1431 hsspspz 16779617 芿 1432 hsspszp 16782726 芹 1433 hsspphs 16783113 苅 1434 hsspnss 33567983 芥 1435 hsspnps 16779868 苁 1436 hsspnpn 16777980 芲 1437 hsspnpz 33558294 芩 1438 hsspnnz 16783112 芬 1439 hsspnzp 16779174 苍 1440 hsspnzz 16777933 芪 1441 hsspzhz 33564008 芴 1442 hsspzpp 16784668 芡 1443 hsspzpn 16783323 芟 1444 hsspzzn 16783831 芶 1445 hsspzzn 33558952 苄 1446 hssnhsn 16777826 芠 1447 hssnhpn 33566545 苀 1448 hssnhpz 33557912 芳 1449 hssnhzp 16779109 严 1450 hssnphp 16785799 苂 1451 hssnppn 33567575 苎 1452 hssnnzh 16781538 芦 1453 hssnzhp 16782546 芯 1454 hssnznn 16784888 劳 1455 hssnzzp 16782078 芛 1456 hsszhhp 33566458 芵 1457 hsszhpn 33560774 克 1458 hsszhpz 16780386 芤 1459 hsszshz 16780420 芭 1460 hsszshz 16777436 苏 1461 hsszpnn 16783690 苡 1462 hssznpn 16785660 芧 1463 hssznzs 16785376 杅 1464 hspnhhs 16786126 杆 1465 hspnhhs 16779873 杇 1466 hspnhhz 16784597 杜 1467 hspnhsh 16778974 杠 1468 hspnhsh 16779908 杢 1469 hspnhsh 0 材 1470 hspnhsp 16777898 村 1471 hspnhsn 16778082 杕 1472 hspnhpn 16778856 杖 1473 hspnhpn 16786684 杌 1474 hspnhpz 16784652 杤 1475 hspnhzp 0 杙 1476 hspnhzn 16785689 杏 1477 hspnszh 16784924 杣 1478 hspnszs 0 杄 1479 hspnphs 33564136 杔 1480 hspnphz 33566119 杚 1481 hspnphz 33559020 杊 1482 hspnpss 33567486 杉 1483 hspnppp 16783798 巫 1484 hspnpnh 16784608 杋 1485 hspnpzn 33557407 杓 1486 hspnpzn 16777835 杦 1487 hspnpzn 33565021 极 1488 hspnpzn 16780738 杧 1489 hspnnhz 33560946 杛 1490 hspnzhz 33558911 杞 1491 hspnzhz 16783234 杍 1492 hspnzsh 33569198 李 1493 hspnzsh 16782314 杝 1494 hspnzsz 16785626 杨 1495 hspnzpp 16785900 杒 1496 hspnzpn 33563306 杈 1497 hspnznn 16778111 杩 1498 hspnzzh 16781369 求 1499 hsnhpnn 16783426 忑 1500 hsnnznn 16784321 孛 1501 hsnzzsh 16777578 車 1502 hszhhhs 33556070 甫 1503 hszhhsn 16779307 匣 1504 hszhhsz 16785055 更 1505 hszhhpn 16780007 亜 1506 hszhssh 16785774 束 1507 hszhspn 16784136 吾 1508 hszhszh 16784614 叓 1509 hszhszn 33565366 豆 1510 hszhnph 16778772 戓 1511 hszhzpn 33558812 迊 1512 hszsnzn 33568961 两 1513 hszpnpn 16782437 邴 1514 hszpnzs 16777701 酉 1515 hszpzhh 16786082 丽 1516 hsznszn 16782282 医 1517 hphhpnz 16785597 辰 1518 hphhzpn 16778274 厐 1519 hphpzpn 33563520 励 1520 hphzpzp 16782367 兏 1521 hpshhpz 33556013 丣 1522 hpshzzh 33568533 奀 1523 hpsnhpn 33554715 邳 1524 hpsnhzs 16783001 否 1525 hpsnszh 16779239 还 1526 hpsnnzn 16779363 矴 1527 hpszhhs 33556942 矵 1528 hpszhss 33557086 厑 1529 hpszhpz 0 矶 1530 hpszhpz 16780709 劯 1531 hpszhzp 33569868 厏 1532 hpphshh 33569331 厎 1533 hppzhzn 16786928 夽 1534 hpnhhzn 33568936 奁 1535 hpnhpnz 16782391 奆 1536 hpnhzhz 33560689 夾 1537 hpnpnpn 33560013 迏 1538 hpnnnzn 33565915 迖 1539 hpnnnzn 33565548 夿 1540 hpnzshz 33554786 尪 1541 hpzhhsh 16784728 尫 1542 hpzhhsh 33566352 尨 1543 hpzpppn 16781417 豕 1544 hpzpppn 16784036 尬 1545 hpzpnps 16779854 歼 1546 hpznphs 16780892 来 1547 hnphspn 16782002 亊 1548 hnpzhhs 33565353 忒 1549 hnznnzn 16784322 连 1550 hzhsnzn 16782403 欤 1551 hzhpzpn 16786118 轩 1552 hzshhhs 16785396 轪 1553 hzshhpn 33556671 轫 1554 hzshzpn 16782714 迓 1555 hzspnzn 16785777 迍 1556 hzsznzn 16787088 坒 1557 hzpzhsh 16777742 匥 1558 hznhpsz 33557400 瓩 1559 hzznphs 33564163 坙 1560 hzzzhsh 33559717 巠 1561 hzzzhsh 33559731 邶 1562 shhhzzs 16777585 忐 1563 shhnznn 16784257 步 1564 shshspp 16777882 卤 1565 shszpnh 16782552 卣 1566 shszzhh 16786084 邺 1567 ssnphzs 16786008 児 1568 sszhhpz 16777381 坚 1569 ssznhsh 16780882 盀 1570 snszssh 33564053 肖 1571 snpszhh 16785239 旰 1572 szhhhhs 16779901 旱 1573 szhhhhs 16779415 旴 1574 szhhhhs 16785350 盯 1575 szhhhhs 16778789 呈 1576 szhhhsh 16778301 圼 1577 szhhhsh 33561808 刞 1578 szhhhss 33564514 时 1579 szhhhsn 16784031 咞 1580 szhhhps 33566924 吴 1581 szhhhpn 16784613 呋 1582 szhhhpn 16779246 旲 1583 szhhhpn 33565582 貝 1584 szhhhpn 33555001 呒 1585 szhhhpz 16779313 見 1586 szhhhpz 33560203 助 1587 szhhhzp 16787032 县 1588 szhhhzn 16785152 呍 1589 szhhhzn 33558082 囯 1590 szhhshh 16780271 里 1591 szhhshh 16782319 呓 1592 szhhssz 16785686 呆 1593 szhhspn 16777234 旵 1594 szhhszs 33555984 吱 1595 szhhszn 16786490 囲 1596 szhhpsh 16784334 吥 1597 szhhpsn 33563651 吠 1598 szhhpnn 16779152 呔 1599 szhhpnn 33556655 呕 1600 szhhpnz 16777416 园 1601 szhhpzh 16786285 呖 1602 szhhpzp 16782342 吰 1603 szhhpzn 16779562 旳 1604 szhhpzn 33557034 昅 1605 szhhpzn 33560373 呃 1606 szhhpzz 16777350 旷 1607 szhhnhp 16780486 围 1608 szhhzsh 16784780 呀 1609 szhhzsp 16785750 吨 1610 szhhzsz 16779002 妟 1611 szhhzph 33568210 旸 1612 szhhzpp 16785913 曵 1613 szhhzpn 33568440 吡 1614 szhhzpz 16777721 囩 1615 szhhznh 33568951 咓 1616 szhhzzn 33566285 町 1617 szhshhs 16778780 甼 1618 szhshhs 33556919 甹 1619 szhshhz 33563682 足 1620 szhshpn 16786541 虬 1621 szhshnz 16783431 邮 1622 szhshzs 16786073 男 1623 szhshzp 16781782 廸 1624 szhshzn 16778830 困 1625 szhspnh 16780546 吵 1626 szhspnp 16778232 迚 1627 szhsnzn 0 肙 1628 szhszhh 16786252 串 1629 szhszhs 16778504 吶 1630 szhszpn 16781756 呐 1631 szhszpn 16781757 呗 1632 szhszpn 16777474 员 1633 szhszpn 16786267 呙 1634 szhszpn 33559249 吘 1635 szhphhs 33554773 吽 1636 szhphhs 16777422 呏 1637 szhphps 16783964 呚 1638 szhphpn 33564081 吪 1639 szhpspz 16777323 囨 1640 szhpsnh 33563775 呂 1641 szhpszh 33563191 听 1642 szhpphs 16784375 吤 1643 szhpnps 33560435 吟 1644 szhpnnz 16785508 吩 1645 szhpnzp 16779171 呛 1646 szhpnzz 16783337 別 1647 szhpzss 33555430 吻 1648 szhpzpp 16784851 吹 1649 szhpzpn 16778519 呁 1650 szhpznh 33560813 呜 1651 szhpzzh 16784602 吺 1652 szhpzzn 33556887 呅 1653 szhnhpn 33561018 吭 1654 szhnhpz 16779418 吙 1655 szhnppn 33567436 呌 1656 szhnnhs 33560344 吣 1657 szhnznn 33563902 吚 1658 szhzhhp 33567739 吳 1659 szhzhpn 33566196 吷 1660 szhzhpn 16778558 呉 1661 szhzhpn 16784615 呎 1662 szhzhpn 16778416 吲 1663 szhzhzs 16783943 吜 1664 szhzshh 33556299 吧 1665 szhzshz 16777428 吼 1666 szhzshz 16779548 邑 1667 szhzshz 16785706 囤 1668 szhzszh 16779017 别 1669 szhzpss 16777863 吮 1670 szhznpz 16784174 岍 1671 szshhps 16783281 岏 1672 szshhpz 33566307 帏 1673 szshhzs 16784760 岐 1674 szshszn 16783208 岖 1675 szshpnz 16783456 岠 1676 szshzhz 33560654 岈 1677 szshzsp 33566832 囬 1678 szsshhh 33558492 刪 1679 szsshss 33565018 岗 1680 szsszpn 16779912 汖 1681 szsszpn 33563480 岘 1682 szsszpz 16785147 岆 1683 szsphpn 33568336 帐 1684 szsphzn 16786681 岓 1685 szspphs 33563997 岅 1686 szsppzn 33554871 岕 1687 szspnps 33560456 岑 1688 szspnnz 16777962 岒 1689 szspnnz 33564184 岎 1690 szspnzp 33557533 帉 1691 szspnzp 33557524 岄 1692 szspzhh 33568870 岉 1693 szspzpp 33566258 岚 1694 szspzpn 16782029 岇 1695 szspzzs 33554545 帎 1696 szsnzpz 33556718 兕 1697 szszhpz 16783669 岜 1698 szszshz 33554791 帊 1699 szszshz 33563472 囦 1700 szszpnh 33568785 囮 1701 szpspzh 16777332 坔 1702 szpnhsh 33557002 财 1703 szpnhsp 16777896 冏 1704 szpnszh 16781139 呇 1705 szpnszh 16783231 囧 1706 szpnszh 33560493 囵 1707 szpnpzh 16782610 囫 1708 szpzpph 16779589 觃 1709 szpzzsh 33568215 囥 1710 sznhpzh 16780341 図 1711 sznnpnh 16784507 针 1712 phhhzhs 16786751 钉 1713 phhhzhs 16778784 钊 1714 phhhzss 16786693 钋 1715 phhhzsn 16782946 钌 1716 phhhzzs 16782468 吿 1717 phhsszh 33558803 迕 1718 phhsnzn 16784644 劮 1719 phhpnzp 33567963 毜 1720 phhzspn 0 氙 1721 phhzszs 16785074 氚 1722 phhzpss 16778492 毝 1723 phhzppp 0 牡 1724 phshhsh 16781725 告 1725 phshszh 16779943 牤 1726 phshnhz 33560934 牠 1727 phshzsz 16784192 我 1728 phshzpn 16784865 牣 1729 phshzpn 16782712 乱 1730 phsszhz 16782601 利 1731 phspnss 16782334 秂 1732 phspnpn 33563289 禿 1733 phspnpz 16784492 秃 1734 phspnpz 16784493 秀 1735 phspnzp 16785326 私 1736 phspnzn 16783659 忎 1737 phsnznn 33563291 呑 1738 phpnszh 33566104 岙 1739 phpnszs 33554604 每 1740 phzznhn 16781502 佅 1741 pshhspn 33560884 佞 1742 pshhzph 16781849 佂 1743 pshshsh 33569578 兵 1744 pshshpn 16777689 邱 1745 pshshzs 16783419 佉 1746 pshshzn 16783450 佄 1747 pshsshh 33557824 伳 1748 pshsshz 33567197 估 1749 pshsszh 16780068 体 1750 pshspnh 16784421 何 1751 pshszhs 16779460 佐 1752 pshphsh 16786583 伾 1753 pshpsnh 16782996 佑 1754 pshpszh 16786095 佦 1755 pshpszh 0 佈 1756 pshpszs 16777880 伻 1757 pshnphs 16777603 佧 1758 psshhsn 16780286 佔 1759 psshszh 33569389 攸 1760 pssphpn 16786050 伹 1761 psszhhh 33564453 但 1762 psszhhh 16778648 伸 1763 psszhhs 16783927 伷 1764 psszhsh 33569679 佃 1765 psszhsh 16778887 伿 1766 psszhpn 33567883 佒 1767 psszhpn 33568233 佀 1768 psszhzh 33564799 伵 1769 psszpzh 33567326 佚 1770 psphhpn 16785690 作 1771 psphshh 16786577 伯 1772 pspszhh 16777637 伱 1773 pspnspn 33561716 佡 1774 pspnszs 16783570 伶 1775 pspnnzn 16782240 佣 1776 pspzhhs 16786019 低 1777 pspzhzn 16778806 你 1778 pspzspn 16781870 佝 1779 pspzszh 16780040 佟 1780 pspznnn 16784343 佨 1781 pspzzhz 0 住 1782 psnhhsh 16787026 位 1783 psnhnph 16784818 伭 1784 psnhzzn 33567397 伴 1785 psnphhs 16777495 佇 1786 psnnzhs 33569921 佗 1787 psnnzpz 16784566 佖 1788 psnznpn 33555268 皁 1789 pszhhhs 16786421 身 1790 pszhhhp 16783933 皂 1791 pszhhhz 16786423 臫 1792 pszhhhz 33560337 皀 1793 pszhhpz 16777715 皃 1794 pszhhpz 16781463 劰 1795 pszhhzp 33561188 廹 1796 pszhhzn 16782958 伺 1797 pszhszh 16778019 伲 1798 pszhppz 33561717 兎 1799 pszhpzn 33566053 佛 1800 pszhzps 16779234 伮 1801 pszphzn 33561854 伽 1802 pszpszh 16779846 佋 1803 pszpszh 33565112 佊 1804 pszpszn 33555228 囪 1805 pszppnh 33555653 囱 1806 pszpznh 16777982 佁 1807 psznszh 33554450 乕 1808 pphhszs 33558248 近 1809 pphsnzn 16780598 巵 1810 pphzshz 33569716 彺 1811 ppshhsh 33566354 彻 1812 ppshzzp 16778252 彸 1813 ppspnzn 16786823 役 1814 ppspzzn 16785696 坕 1815 ppsnhsh 33559716 彷 1816 ppsnhzp 16779120 辵 1817 pppshpn 33556609 返 1818 ppznnzn 16779090 佘 1819 pnhhspn 16783901 余 1820 pnhhspn 16786132 希 1821 pnhpszs 16784933 佥 1822 pnhnnph 16783273 兌 1823 pnszhpz 33557254 釆 1824 pnphspn 16777827 坐 1825 pnpnhsh 16786588 谷 1826 pnpnszh 16780092 尦 1827 pnpzpzn 33562840 寽 1828 pnnphsn 33563228 孚 1829 pnnpzsh 16779275 妥 1830 pnnpzph 16784575 豸 1831 pnnpzpp 16786955 含 1832 pnnzszh 16779381 刢 1833 pnnznss 33562386 邻 1834 pnnznzs 16782212 坌 1835 pnzphsh 16777599 弅 1836 pnzphps 33557538 岔 1837 pnzpszs 16778132 肝 1838 pzhhhhs 16779881 肟 1839 pzhhhhz 16784874 肚 1840 pzhhhsh 16778969 肛 1841 pzhhhsh 16779914 肘 1842 pzhhhsn 16786859 肐 1843 pzhhphz 16779954 肜 1844 pzhhppp 16782738 肑 1845 pzhhpzn 33557021 肒 1846 pzhhpzn 33558371 肞 1847 pzhhnpn 33555860 迌 1848 pzhhnzn 33560026 肔 1849 pzhhzsz 33567836 肗 1850 pzhhzph 33563415 肠 1851 pzhhzpp 16778212 肕 1852 pzhhzpn 16782717 凬 1853 pzhszhh 33557592 匉 1854 pzhnphs 16782919 帋 1855 pzhzszs 33569746 邸 1856 pzhznzs 16778838 龟 1857 pzszhhz 16780206 甸 1858 pzszhsh 16778885 奂 1859 pzszhpn 16779685 免 1860 pzszhpz 16781688 邭 1861 pzszhzs 33560657 劬 1862 pzszhzp 16783479 狂 1863 pzphhsh 16780475 狇 1864 pzphspn 33561488 犻 1865 pzphszs 33555124 犾 1866 pzphpnn 33567574 犹 1867 pzphpzn 16786077 犽 1868 pzphzsp 33568035 狆 1869 pzpszhs 16786837 狈 1870 pzpszpn 16777586 狅 1871 pzpphsh 33563913 犿 1872 pzpnhsn 33558355 犺 1873 pzpnhpz 16780340 狄 1874 pzpnppn 16778823 飏 1875 pzpnzpp 16785911 角 1876 pzpzhhs 16781044 删 1877 pzpzhss 16783820 狃 1878 pzpzshh 16781948 犼 1879 pzpzshz 33558167 狁 1880 pzpznpz 16786347 鸠 1881 pzpznzh 16781147 夆 1882 pznhhhs 16779221 条 1883 pznhspn 16784465 彤 1884 pznhppp 16784344 卵 1885 pznpzsn 16782600 灸 1886 pznnppn 16781159 斘 1887 pznnnhs 33565216 岛 1888 pznzszs 16778703 邹 1889 pzzhhzs 16786476 刨 1890 pzzhzss 16777545 饨 1891 pzzhzsz 16784541 迎 1892 pzzsnzn 16785577 饩 1893 pzzphhz 16785038 饪 1894 pzzphsh 16782713 饫 1895 pzzphpn 16786207 饬 1896 pzzphzp 16778429 饭 1897 pzzppzn 16779099 饮 1898 pzzpzpn 16785525 系 1899 pzznspn 16780816 言 1900 nhhhszh 16785794 訁 1901 nhhhszh 33568081 冹 1902 nhhpznn 33557725 冻 1903 nhhzspn 16778755 状 1904 nhshpnn 16787070 亩 1905 nhszhsh 16781727 况 1906 nhszhpz 16780485 亨 1907 nhszhzs 16779499 庑 1908 nhphhpz 16784619 庒 1909 nhphshn 0 床 1910 nhphspn 16778515 庋 1911 nhphszn 16780225 库 1912 nhphzhs 16780437 庌 1913 nhphzsp 33568040 庉 1914 nhphzsz 16779013 庇 1915 nhphzpz 16777756 亪 1916 nhpspnn 0 庍 1917 nhppphs 33554851 庎 1918 nhppnps 33560454 庈 1919 nhppnnz 16783109 疔 1920 nhpnhhs 16778786 対 1921 nhpnhsn 16779000 疕 1922 nhpnhpz 16777724 疖 1923 nhpnhzs 16781079 疗 1924 nhpnhzs 16782459 疓 1925 nhpnhzp 33561534 吝 1926 nhpnszh 16782226 彣 1927 nhpnppp 33566541 应 1928 nhpnnph 16785553 冷 1929 nhpnnzn 16782150 这 1930 nhpnnzn 16786737 庐 1931 nhpnzhp 16782544 斈 1932 nhpnzsh 33567444 応 1933 nhpnznn 16785557 乲 1934 nhpzpnz 0 序 1935 nhpznzs 16785373 迒 1936 nhpznzn 16779422 冸 1937 nhnphhs 33563505 竍 1938 nhnphhs 33565219 辛 1939 nhnphhs 16784885 竌 1940 nhnphpz 33556481 杗 1941 nhzhspn 16781419 冺 1942 nhzhzhz 33561258 肓 1943 nhzszhh 16779701 弃 1944 nhznhps 16783243 冶 1945 nhznszh 16785992 忘 1946 nhznznn 16784743 闰 1947 nszhhsh 16782817 闱 1948 nszhhzs 16784779 闲 1949 nszhspn 16785110 闳 1950 nszhpzn 16779535 间 1951 nszszhh 16780906 闵 1952 nsznhpn 16781623 闶 1953 nsznhpz 16780332 闷 1954 nsznznn 16781515 羌 1955 nphhhpz 16783341 判 1956 nphhpss 16782864 兑 1957 npszhpz 16778995 灴 1958 nppnhsh 16779523 灶 1959 nppnhsh 16786420 灷 1960 nppnhps 33569973 灿 1961 nppnszs 16777925 灹 1962 nppnphz 33569339 灼 1963 nppnpzn 16787109 灺 1964 nppnzsz 16785275 炀 1965 nppnzpp 16785903 弟 1966 npzhzsp 16778850 沣 1967 nnhhhhs 16779213 汪 1968 nnhhhsh 16784729 汧 1969 nnhhhps 16783275 汫 1970 nnhhhps 33563938 沅 1971 nnhhhpz 16786273 沄 1972 nnhhhzn 16786332 沐 1973 nnhhspn 16781741 沛 1974 nnhhszs 16782911 沞 1975 nnhhszs 33568959 汥 1976 nnhhszn 33569706 沔 1977 nnhhszz 16781694 汰 1978 nnhhpnn 16784227 汱 1979 nnhhpnn 33564560 沤 1980 nnhhpnz 16777417 沥 1981 nnhhpzp 16782362 汯 1982 nnhhpzn 33558113 沋 1983 nnhhpzn 33568513 洰 1984 nnhhzhz 33560634 沌 1985 nnhhzsz 16779014 沘 1986 nnhhzpz 16777725 沍 1987 nnhhzzh 16779608 沏 1988 nnhhzzp 16783174 沚 1989 nnhshsh 16786929 沙 1990 nnhspnp 16783803 汨 1991 nnhszhh 16781672 汩 1992 nnhszhh 16780099 沖 1993 nnhszhs 16778330 汭 1994 nnhszpn 16782806 汻 1995 nnhphhs 33558250 汼 1996 nnhphhs 33561841 汽 1997 nnhphhz 16783253 沃 1998 nnhphpn 16784872 沜 1999 nnhpshz 33563504 沎 2000 nnhpspz 33558655 沂 2001 nnhpphs 16785627 沠 2002 nnhppsn 33562915 汳 2003 nnhppzn 16777817 沦 2004 nnhpnpz 16782607 汵 2005 nnhpnnz 33558752 汹 2006 nnhpnzs 16785299 汾 2007 nnhpnzp 16779188 泛 2008 nnhpnzn 16779103 沧 2009 nnhpnzz 16777931 汦 2010 nnhpzhz 33556335 泲 2011 nnhpzsp 16780765 沕 2012 nnhpzpp 16784663 沨 2013 nnhpzpn 33557585 汮 2014 nnhpznh 33560793 沒 2015 nnhpzzn 33561027 沟 2016 nnhpzzn 16780041 没 2017 nnhpzzn 16781488 汴 2018 nnhnhsn 16777818 汶 2019 nnhnhpn 16784855 沆 2020 nnhnhpz 16779423 汸 2021 nnhnhzp 33557457 沩 2022 nnhnpzn 16784774 沪 2023 nnhnzhp 16779611 沈 2024 nnhnzpz 16783946 沉 2025 nnhnzpz 16778273 沁 2026 nnhnznn 16783126 決 2027 nnhzhpn 33560757 沢 2028 nnhzhpn 16786436 沑 2029 nnhzshh 33563385 泐 2030 nnhzszp 16782105 泤 2031 nnhznpn 33564822 沇 2032 nnhznpz 16785842 汿 2033 nnhznzs 33567340 忹 2034 nnshhsh 33559517 忨 2035 nnshhpz 33566348 怃 2036 nnshhpz 16784628 忶 2037 nnshhzn 33558603 忮 2038 nnshszn 16786980 怀 2039 nnshpsn 16779636 忲 2040 nnshpnn 33565594 怄 2041 nnshpnz 16777426 忧 2042 nnshpzn 16786057 怇 2043 nnshzhz 33560626 忳 2044 nnshzsz 16784547 忡 2045 nnsszhs 16778335 忤 2046 nnsphhs 16784645 忾 2047 nnsphhz 16780303 怅 2048 nnsphzn 16778224 忻 2049 nnspphs 16784892 忦 2050 nnspnps 33568437 忴 2051 nnspnnz 33564192 忷 2052 nnspnzs 33567250 忪 2053 nnspnzn 16783614 怆 2054 nnspnzz 16778518 忰 2055 nnspzhs 33555815 忯 2056 nnspzhz 33556354 忺 2057 nnspzpn 16785093 忭 2058 nnsnhsn 16777829 忟 2059 nnsnhpn 33561239 忼 2060 nnsnhpz 33557899 忱 2061 nnsnzpz 16778277 快 2062 nnszhpn 16780460 忸 2063 nnszshh 16781949 忬 2064 nnsznzs 33568764 労 2065 nnpnzzp 16782079 宑 2066 nnzhhps 33559738 完 2067 nnzhhpz 16784704 宋 2068 nnzhspn 16783621 宊 2069 nnzhpnn 33560019 宏 2070 nnzhpzn 16779527 宐 2071 nnzsznh 33567794 牢 2072 nnzphhs 16782074 宒 2073 nnzphhz 33570003 宎 2074 nnzphpn 33568337 究 2075 nnzpnpz 16781150 穷 2076 nnzpnzp 16783403 宍 2077 nnznhpn 33563394 灾 2078 nnznppn 16786373 良 2079 nzhhzpn 16782429 证 2080 nzhshsh 16786817 诂 2081 nzhsszh 16780106 诃 2082 nzhszhs 16779453 戻 2083 nzhphpn 16784425 启 2084 nzhpszh 16783230 帍 2085 nzhpszs 33558256 戺 2086 nzhpzhz 16784054 评 2087 nzhnphs 16782985 补 2088 nzspnsn 16777874 初 2089 nzspnzp 16778442 社 2090 nzsnhsh 16783912 礿 2091 nzsnpzn 16786306 祀 2092 nzsnzhz 16783668 祂 2093 nzsnzsz 16784190 祃 2094 nzsnzzh 16781376 冝 2095 nzszhhh 33567799 诅 2096 nzszhhh 16786547 识 2097 nzszhpn 16784027 诇 2098 nzszszh 33567255 诈 2099 nzphshh 16786614 诉 2100 nzpphsn 16783716 罕 2101 nzpnhhs 16779392 诊 2102 nzpnppp 16786776 诋 2103 nzpzhzn 16778839 诌 2104 nzpzzhh 16786851 邲 2105 nznpnzs 16777766 吢 2106 nznnszh 33563901 词 2107 nzzhszh 16778011 诎 2108 nzzsszs 16783464 诏 2109 nzzpszh 16786710 诐 2110 nzzpszn 16777775 译 2111 nzznhhs 16785730 诒 2112 nzznszh 16785640 君 2113 zhhpszh 16781330 灵 2114 zhhnppn 16782248 即 2115 zhhznzs 16780734 层 2116 zhphhzn 16777967 杘 2117 zhphspn 33556389 屁 2118 zhphzpz 16783031 尿 2119 zhpszpn 16781919 屃 2120 zhpszpn 33566790 尾 2121 zhpphhz 16784790 迟 2122 zhpnnzn 16778407 局 2123 zhpzszh 16781205 戼 2124 zhzhszh 16781449 弡 2125 zhzhzhz 33560725 刡 2126 zhzhzss 16781615 改 2127 zhzphpn 16779862 攺 2128 zhzphpn 33567828 张 2129 zhzphzn 16786664 刜 2130 zhzpsss 16779267 弞 2131 zhzpzpn 33565177 忌 2132 zhznznn 16780808 弝 2133 zhzzshz 16777454 际 2134 zshhspn 16780778 陆 2135 zshhszs 16782521 阷 2136 zshshsh 33556170 阹 2137 zshshzn 16783448 阿 2138 zshszhs 16777219 陃 2139 zshszpn 33555194 壯 2140 zshphsh 16787072 孜 2141 zshphpn 16786496 妝 2142 zshpzph 33569979 陇 2143 zshpzpn 16782174 孞 2144 zshnznn 33566617 陈 2145 zshzspn 16778271 岊 2146 zshzszs 16781104 阽 2147 zsshszh 16778886 妛 2148 zsshzph 33556318 阻 2149 zsszhhh 16786544 阼 2150 zsphshh 16786586 陁 2151 zsphzsz 16784564 附 2152 zspshsn 16779333 坠 2153 zspnhsh 16787081 阾 2154 zspnnzn 33562450 阺 2155 zspzhzn 33556980 陀 2156 zsnnzpz 16784563 阸 2157 zsnzhpz 33554655 陂 2158 zszpszn 16777557 陉 2159 zsznhsh 16780637 妦 2160 zphhhhs 33557584 妌 2161 zphhhps 33559760 妍 2162 zphhhps 16785805 妋 2163 zphhhpn 33557641 妧 2164 zphhhpz 33568814 妩 2165 zphhhpz 16784642 妘 2166 zphhhzn 33568906 姉 2167 zphhszs 16786519 妓 2168 zphhszn 16780795 妚 2169 zphhpsn 33563553 妪 2170 zphhpnz 16786225 姖 2171 zphhzhz 33560665 妣 2172 zphhzpz 16777726 呄 2173 zphsszh 33558832 妙 2174 zphspnp 16781714 妕 2175 zphszhs 33569646 妠 2176 zphszpn 33561520 妊 2177 zphphsh 16782716 妖 2178 zphphpn 16785934 妡 2179 zphpphs 33566594 妎 2180 zphpnps 33567219 妗 2181 zphpnnz 16780592 妢 2182 zphpnzp 33557547 妐 2183 zphpnzn 33569626 姂 2184 zphpnzn 33557377 姊 2185 zphpzsp 16786520 妏 2186 zphnhpn 33566569 妔 2187 zphnhpz 33559409 妨 2188 zphnhzp 16779115 妫 2189 zphnpzn 16780207 妒 2190 zphnzhp 16778976 妉 2191 zphnzpz 33556699 妜 2192 zphzhpn 33568875 妞 2193 zphzshh 16781943 妑 2194 zphzshz 33563467 姒 2195 zphznpn 16783676 妤 2196 zphznzs 16786149 努 2197 zphznzp 16781958 刟 2198 zpszhss 33560547 卲 2199 zpszhzs 16783888 邵 2200 zpszhzs 16783891 劭 2201 zpszhzp 16783890 盁 2202 zpszssh 33567699 忍 2203 zpnnznn 16782705 刭 2204 znhshss 16780623 劲 2205 znhshzp 16780595 甬 2206 znszhhs 16786036 刣 2207 znszhss 33569613 邰 2208 znszhzs 16784219 矣 2209 znphhpn 16785661 夋 2210 znpnpzn 33564596 鸡 2211 znpznzh 16780663 纬 2212 zzhhhzs 16784795 纭 2213 zzhhhzn 16786337 驱 2214 zzhhpnz 16783452 纮 2215 zzhhpzn 16779530 纯 2216 zzhhzsz 16778548 纰 2217 zzhhzpz 16777727 纱 2218 zzhspnp 16783805 驲 2219 zzhszhh 33563397 纲 2220 zzhszpn 16779916 纳 2221 zzhszpn 16781762 纴 2222 zzhphsh 16782696 纵 2223 zzhpnpn 16786469 驳 2224 zzhpnpn 16777648 纶 2225 zzhpnpz 16780160 纷 2226 zzhpnzp 16779175 纸 2227 zzhpzhz 16786932 纹 2228 zzhnhpn 16784844 纺 2229 zzhnhzp 16779121 纻 2230 zzhnnzh 16787036 驴 2231 zzhnzhp 16782638 纼 2232 zzhzhzs 33567605 纽 2233 zzhzshh 16781947 纾 2234 zzhznzs 16784103 糺 2235 zznnnnz 33560505 災 2236 zzznppn 33568976 邼 2237 hhhshzzs 33559511 劻 2238 hhhshzzp 16780471 耓 2239 hhhspnhs 33565824 奉 2240 hhhpnhhs 16779230 玤 2241 hhshhhhs 16777609 玨 2242 hhshhhsh 33560773 玞 2243 hhshhhpn 16779252 玩 2244 hhshhhpz 16784706 玮 2245 hhshhhzs 16784796 环 2246 hhshhpsn 16779669 玡 2247 hhshhzsp 16785775 玭 2248 hhshhzpz 33563737 珁 2249 hhshhzzn 33555705 武 2250 hhshshzn 16784639 青 2251 hhshszhh 16783134 靑 2252 hhshszsh 33563910 责 2253 hhshszpn 16786427 现 2254 hhshszpz 16785151 玝 2255 hhshphhs 33566233 玫 2256 hhshphpn 16781490 玠 2257 hhshpnps 16781127 玪 2258 hhshpnnz 33560109 玢 2259 hhshpnzp 16777676 玜 2260 hhshpnzn 33558124 玱 2261 hhshpnzz 33564233 玥 2262 hhshpzhh 16786312 表 2263 hhshpzpn 16777856 玬 2264 hhshpznh 33556711 玣 2265 hhshnhsn 33555376 玟 2266 hhshnhpn 16781606 玦 2267 hhshzhpn 16781315 玧 2268 hhshznpz 33568927 甙 2269 hhsshhzn 16778599 盂 2270 hhsszssh 16786154 郉 2271 hhphhszs 33566646 汬 2272 hhpsszpn 33559737 烎 2273 hhpsnppn 33567577 刱 2274 hhpszpnn 16778508 忝 2275 hhpnsnnn 16784456 昋 2276 hhpnszhh 33559195 规 2277 hhpnszpz 16780210 匦 2278 hhzshpzz 16780216 拝 2279 hshhhhhs 16777477 抹 2280 hshhhspn 16781361 抺 2281 hshhhspn 33561144 長 2282 hshhhzpn 16778208 刲 2283 hshhshss 16780489 卦 2284 hshhshsn 16780140 邽 2285 hshhshzs 16780209 劸 2286 hshhshzp 33566282 抾 2287 hshhshzn 33564469 坩 2288 hshhsshh 16779875 拑 2289 hshhsshh 16783307 抴 2290 hshhsshz 33567968 邿 2291 hshhsnzs 16784012 坷 2292 hshhszhs 16780358 抲 2293 hshhszhs 33557974 抦 2294 hshhszpn 33555197 坯 2295 hshhpsnh 16782997 抷 2296 hshhpsnh 33563717 坧 2297 hshhpszh 33569728 拓 2298 hshhpszh 16784210 抪 2299 hshhpszs 33563825 垅 2300 hshhpzpn 33562263 拢 2301 hshhpzpn 16782176 坺 2302 hshhpznn 33554799 拔 2303 hshhpznn 16777446 拋 2304 hshhpzzp 33563531 坪 2305 hshhnphs 16782980 抨 2306 hshhnphs 16782925 拣 2307 hshhzzpn 16780933 拤 2308 hshshhsn 33564109 坫 2309 hshshszh 16778891 拈 2310 hshshszh 16781890 垆 2311 hshshzhp 16782540 尭 2312 hshsshpz 33568303 坥 2313 hshszhhh 33564457 坦 2314 hshszhhh 16784254 抯 2315 hshszhhh 33569308 担 2316 hshszhhh 16778632 坤 2317 hshszhhs 16780533 抻 2318 hshszhhs 16778260 押 2319 hshszhhs 16785754 抽 2320 hshszhsh 16778346 坱 2321 hshszhpn 16785889 抧 2322 hshszhpn 33569759 抰 2323 hshszhpn 33568275 拀 2324 hshszhpz 33556477 郆 2325 hshszhzs 33559891 劼 2326 hshszhzp 16781113 拐 2327 hshszhzp 16780146 抩 2328 hshszshh 33565599 坰 2329 hshszszh 16781135 垇 2330 hshszszh 33554553 垁 2331 hshphhpn 33569808 抶 2332 hshphhpn 16778434 拃 2333 hshphshh 33569324 拖 2334 hshphzsz 16784557 坵 2335 hshpshsh 16783415 拞 2336 hshpshsh 33556993 坿 2337 hshpshsn 33557763 拊 2338 hshpshsn 16779320 拍 2339 hshpszhh 16782836 者 2340 hshpszhh 16786729 顶 2341 hshpszpn 16778791 坼 2342 hshpphsn 16778253 拆 2343 hshpphsn 16778138 乴 2344 hshpphsz 33567442 坬 2345 hshppznn 33559074 坴 2346 hshpnhsh 16782525 垀 2347 hshpnphs 33558189 抮 2348 hshpnppp 33569546 夌 2349 hshpnpzn 16782233 坽 2350 hshpnnzn 33562415 拎 2351 hshpnnzn 16782230 拥 2352 hshpzhhs 16786031 坻 2353 hshpzhzn 16778399 抵 2354 hshpzhzn 16778836 坸 2355 hshpzszh 33558972 拘 2356 hshpzszh 16781194 拠 2357 hshpznpz 16781196 势 2358 hshpznzp 16784070 垉 2359 hshpzzhz 33563535 抱 2360 hshpzzhz 16777551 拄 2361 hshnhhsh 16787022 拡 2362 hshnhpzn 16780553 垃 2363 hshnhnph 16781983 拉 2364 hshnhnph 16781986 拦 2365 hshnphhh 16782034 坢 2366 hshnphhs 33563499 幸 2367 hshnphhs 16784926 拌 2368 hshnphhs 16777502 坾 2369 hshnnzhs 33569931 拧 2370 hshnnzhs 16781848 坹 2371 hshnnzpn 33567463 坨 2372 hshnnzpz 16784568 抭 2373 hshnnzpz 33568343 拕 2374 hshnnzpz 33566129 坭 2375 hshzhppz 16781859 抳 2376 hshzhppz 33561725 垊 2377 hshzhzhz 0 抿 2378 hshzhzhz 16781620 坲 2379 hshzhzps 33557622 拂 2380 hshzhzps 16779293 拙 2381 hshzsszs 16787095 拁 2382 hshzpszh 33560024 招 2383 hshzpszh 16786695 坡 2384 hshzpszn 16782944 披 2385 hshzpszn 16783000 拨 2386 hshzpznn 16777630 择 2387 hshznhhs 16786438 弆 2388 hshznhps 33560610 拚 2389 hshznhps 16782869 坮 2390 hshznszh 33565559 抬 2391 hshznszh 16784218 迲 2392 hshznnzn 0 刼 2393 hshznzpn 33560388 亞 2394 hshzzhsh 16785767 坶 2395 hshzznhn 33561479 拇 2396 hshzznhn 16781729 坳 2397 hshzznzp 16777288 拗 2398 hshzznzp 16781951 耵 2399 hsshhhhs 16778779 刵 2400 hsshhhss 16777402 其 2401 hsshhhpn 16780683 耶 2402 hsshhhzs 16785984 取 2403 hsshhhzn 16783486 苿 2404 hsshhspn 33566517 茉 2405 hsshhspn 16781568 苷 2406 hsshsshh 16779885 苦 2407 hsshsszh 16780435 苯 2408 hsshspnh 16777597 昔 2409 hsshszhh 16784936 苛 2410 hsshszhs 16780370 苪 2411 hsshszpn 16777705 苤 2412 hsshpsnh 16783007 若 2413 hsshpszh 16782826 茂 2414 hsshpzpn 16781453 茏 2415 hsshpzpn 16782156 茇 2416 hsshpznn 16777440 苹 2417 hsshnphs 16782989 炗 2418 hsshnppn 33559135 迣 2419 hsshznzn 16786976 苝 2420 hssshhpz 33563577 苫 2421 hssshszh 16783836 苜 2422 hssszhhh 16781746 苴 2423 hssszhhh 16781198 苖 2424 hssszhsh 33556973 苗 2425 hssszhsh 16781703 英 2426 hssszhpn 16785558 苢 2427 hssszhzh 33567843 苒 2428 hssszshh 16782673 苘 2429 hssszszh 16783150 苬 2430 hssszpnh 33564439 苼 2431 hssphhsh 33565226 苵 2432 hssphhpn 33557155 苲 2433 hssphshh 33569334 茊 2434 hsspshsh 33569162 茌 2435 hsspshsh 16778392 苻 2436 hsspshsn 16779301 苮 2437 hsspsszs 33566898 苩 2438 hsspszhh 33555137 苽 2439 hssppznn 33558998 苶 2440 hsspnspn 16781921 苸 2441 hsspnphs 33558201 苓 2442 hsspnnzn 16782262 苚 2443 hsspzhhs 33568490 茚 2444 hsspzhzs 16785532 茋 2445 hsspzhzn 33556979 苟 2446 hsspzszh 16780052 茐 2447 hsspzppn 0 茆 2448 hsspzpzs 16781446 苳 2449 hsspznnn 16778746 茑 2450 hsspznzh 16781911 茒 2451 hsspznzs 0 苑 2452 hsspznzz 16786295 苞 2453 hsspzzhz 16777531 苙 2454 hssnhnph 16782375 范 2455 hssnnhzz 16779091 苧 2456 hssnnzhs 33561684 茓 2457 hssnnzpn 33567439 茔 2458 hssnzhsh 16785561 苾 2459 hssnznpn 16777794 茕 2460 hssnzzhs 16783399 直 2461 hsszhhhh 16786917 苨 2462 hsszhppz 33561729 苠 2463 hsszhzhz 16781610 苐 2464 hsszhzsp 33565883 茀 2465 hsszhzps 16779259 苰 2466 hsszhzzn 33558139 茁 2467 hsszsszs 16787096 苕 2468 hsszpszh 16783884 茄 2469 hsszpszh 16780819 茎 2470 hssznhsh 16780604 苔 2471 hssznszh 16784215 茅 2472 hssznzsp 16781434 苺 2473 hsszznhn 16781493 苭 2474 hsszznzp 33568349 枉 2475 hspnhhsh 16784736 枅 2476 hspnhhps 33559804 枎 2477 hspnhhpn 33557690 杬 2478 hspnhhpz 33568801 枟 2479 hspnhhzn 16786355 林 2480 hspnhspn 16782205 杮 2481 hspnhszs 33554992 枝 2482 hspnhszn 16786883 杯 2483 hspnhpsn 16777562 枤 2484 hspnhpnn 0 枢 2485 hspnhpnz 16784100 枥 2486 hspnhpzp 16782361 枙 2487 hspnhpzz 16777361 柜 2488 hspnhzhz 16780241 枒 2489 hspnhzsp 16785762 杶 2490 hspnhzsz 16778540 枇 2491 hspnhzpz 16783015 枑 2492 hspnhzzh 33558275 杫 2493 hspnshsh 33564804 杪 2494 hspnspnp 16781707 杳 2495 hspnszhh 16785966 枏 2496 hspnszhh 33561549 枘 2497 hspnszpn 16782809 枧 2498 hspnszpz 33560164 杵 2499 hspnphhs 16778469 杽 2500 hspnphhs 33556301 枆 2501 hspnphhz 33560979 枡 2502 hspnphps 33556899 枖 2503 hspnphpn 33568292 枚 2504 hspnphpn 16781487 枨 2505 hspnphzn 16778312 杹 2506 hspnpspz 33558329 析 2507 hspnpphs 16784971 枛 2508 hspnppsn 33569451 板 2509 hspnppzn 16777493 枍 2510 hspnpnhz 33567947 來 2511 hspnpnpn 33561947 枞 2512 hspnpnpn 16777978 枔 2513 hspnpnnz 33567493 枌 2514 hspnpnzp 16779189 松 2515 hspnpnzn 16783610 枩 2516 hspnpnzn 33564713 柉 2517 hspnpnzn 33555352 枪 2518 hspnpnzz 16783345 枂 2519 hspnpzhh 33568868 枠 2520 hspnpzhs 0 柹 2521 hspnpzsp 33565372 杴 2522 hspnpzpn 16785080 枫 2523 hspnpzpn 16779215 枃 2524 hspnpznh 33568904 枬 2525 hspnpznh 33561550 枊 2526 hspnpzzs 33554550 杸 2527 hspnpzzn 16784092 构 2528 hspnpzzn 16780058 杭 2529 hspnnhpz 16779421 枋 2530 hspnnhzp 16779106 枓 2531 hspnnnhs 16778763 杰 2532 hspnnnnn 16781101 述 2533 hspnnnzn 16784146 枦 2534 hspnnzhp 33562976 枕 2535 hspnnzpz 16786773 杺 2536 hspnnznn 33566607 杻 2537 hspnzshh 16778369 杷 2538 hspnzshz 16777462 杼 2539 hspnznzs 16787030 丧 2540 hsnphzpn 16783573 刯 2541 hszhhhss 33558875 軋 2542 hszhhhsz 33558681 東 2543 hszhhspn 33556850 乶 2544 hszhhsnz 33557721 或 2545 hszhhzpn 16779830 画 2546 hszhshzs 16779630 叀 2547 hszhshzn 33558565 卧 2548 hszhszsn 16784871 臥 2549 hszhszpn 33566590 臤 2550 hszhszzn 33564162 忢 2551 hszhnznn 33566267 事 2552 hszhzhhs 16784063 尀 2553 hszhzhsn 33563634 刺 2554 hszspnss 16778020 兩 2555 hszspnpn 16782440 枣 2556 hszspnnn 16786410 雨 2557 hszsnnnn 16786183 廼 2558 hszpzhzn 33561536 協 2559 hszpzpzp 33567153 卖 2560 hsznnhpn 16781386 厓 2561 hphshhsh 16777238 厔 2562 hphznhsh 16786961 矸 2563 hpszhhhs 16779886 矼 2564 hpszhhsh 16783347 矹 2565 hpszhhpz 33566271 郁 2566 hpszhhzs 16786229 矺 2567 hpszhphz 33566130 矻 2568 hpszhphz 16780434 矽 2569 hpszhpzn 16784997 矾 2570 hpszhpzn 16779087 砐 2571 hpszhpzn 33554647 矿 2572 hpszhnhp 16780487 矷 2573 hpszhzsh 33569208 砀 2574 hpszhzpp 16778682 码 2575 hpszhzzh 16781368 靣 2576 hpszszhh 33561415 厕 2577 hpszpnss 16777959 厒 2578 hpphhszs 33559384 奈 2579 hpnhhspn 16781778 刳 2580 hpnhhzss 16780429 郀 2581 hpnhhzzs 33559448 奔 2582 hpnhshps 16777593 奇 2583 hpnhszhs 16780670 匼 2584 hpnhszhz 33554525 奄 2585 hpnszhhz 16785835 奋 2586 hpnszhsh 16779197 奃 2587 hpnpzhzn 33556945 奅 2588 hpnpzpzs 33563544 态 2589 hpnnnznn 16784224 瓯 2590 hpnzhzzn 16777421 欧 2591 hpnzpzpn 16777413 殴 2592 hpnzpzzn 16777419 豖 2593 hpzppnpn 16778477 垄 2594 hpzpnhsh 16782175 劽 2595 hpznsszp 33562875 殀 2596 hpznphpn 16785967 歽 2597 hpznpphs 33569475 歾 2598 hpznpzpp 16781577 歿 2599 hpznpzzn 33561176 殁 2600 hpznpzzn 16781578 郕 2601 hpzzpnzs 16778317 刾 2602 hnphpnss 33555717 郏 2603 hnphpnzs 16780847 疌 2604 hzhhshpn 33561822 妻 2605 hzhhszph 16783176 轰 2606 hzhsznzn 16779511 顷 2607 hzhpszpn 16783148 转 2608 hzshhhzn 16787055 轭 2609 hzshhpzz 16777355 斩 2610 hzshpphs 16786648 轮 2611 hzshpnpz 16782606 软 2612 hzshpzpn 16782796 旾 2613 hzszszhh 33556561 戔 2614 hzpnhzpn 33560081 枈 2615 hzpzhspn 33555293 兓 2616 hzpzhzpz 33565160 毞 2617 hzpzphhz 33563743 炁 2618 hzpznnnn 33564085 到 2619 hznhshss 16778708 郅 2620 hznhshzs 16786968 鸢 2621 hznpznzh 16786248 瓲 2622 hzznhzsz 0 瓱 2623 hzznphhz 0 瓪 2624 hzznppzn 33554874 瓰 2625 hzznpnzp 0 非 2626 shhhshhh 16779130 叔 2627 shhspnzn 16784105 歧 2628 shshhszn 16783201 歫 2629 shshhzhz 33560645 歨 2630 shshshpn 33555463 歩 2631 shshspnp 16777884 肯 2632 shshszhh 16780398 齿 2633 shshpnzs 16778419 些 2634 shshpzhh 16785244 羋 2635 shsshhhs 33561336 卓 2636 shszhhhs 16787105 奌 2637 shszhhpn 33557050 迠 2638 shszhnzn 33556100 卥 2639 shszppnh 33566689 肻 2640 shnzszhh 33559398 虎 2641 shzphzpz 16779595 虏 2642 shzphzzp 16782550 肾 2643 ssznszhh 16783957 贤 2644 ssznszpn 16785094 尙 2645 spnszszh 33565090 毟 2646 spnpphhz 0 尚 2647 snpszszh 16783869 坣 2648 snpnzhsh 33565647 盰 2649 szhhhhhs 33558746 盱 2650 szhhhhhs 16785349 旺 2651 szhhhhsh 16784744 具 2652 szhhhhpn 16781234 昊 2653 szhhhhpn 16779440 昙 2654 szhhhhzn 16784238 呩 2655 szhhhspn 33565348 味 2656 szhhhspn 16784826 杲 2657 szhhhspn 16779938 果 2658 szhhhspn 16780278 昁 2659 szhhhszs 33554974 盵 2660 szhhhphz 16783260 昃 2661 szhhhppn 16786441 盳 2662 szhhhnhz 33560956 昛 2663 szhhhzhz 33560629 旽 2664 szhhhzsz 16784539 昆 2665 szhhhzpz 16780527 咑 2666 szhhshhs 16778573 国 2667 szhhshnh 16780273 呿 2668 szhhshzn 16783454 咁 2669 szhhsshh 16779879 呭 2670 szhhsshz 33567920 哎 2671 szhhsspn 16777230 咕 2672 szhhsszh 16780074 呠 2673 szhhspnh 16782918 畃 2674 szhhspzn 33567484 迧 2675 szhhsnzn 33556143 冐 2676 szhhszhh 33560997 昌 2677 szhhszhh 16778195 昍 2678 szhhszhh 33567374 門 2679 szhhszhh 33561067 呵 2680 szhhszhs 16777222 咂 2681 szhhszsz 16786362 畅 2682 szhhszpp 16778228 旿 2683 szhhphhs 33566239 咗 2684 szhhphsh 33569289 昇 2685 szhhphps 16783958 呸 2686 szhhpsnh 16782897 咘 2687 szhhpszs 33555469 昕 2688 szhhpphs 16784879 昄 2689 szhhppzn 16777488 昑 2690 szhhpnnz 16783122 昐 2691 szhhpnzp 33557526 昖 2692 szhhpnzn 33568086 明 2693 szhhpzhh 16781627 昒 2694 szhhpzpp 33558179 易 2695 szhhpzpp 16785672 咙 2696 szhhpzpn 16782165 欥 2697 szhhpzpn 33568699 昀 2698 szhhpznh 16786326 昂 2699 szhhpzzs 16777285 旻 2700 szhhnhpn 16781611 旼 2701 szhhnhpn 16781613 昗 2702 szhhnhpn 33569076 昉 2703 szhhnhzp 16779117 昘 2704 szhhnhzp 33557465 呯 2705 szhhnphs 33563688 炅 2706 szhhnppn 16780236 炚 2707 szhhnppn 33559137 昈 2708 szhhnzhp 33558254 咔 2709 szhshhsn 16780284 畀 2710 szhshhps 16777739 畁 2711 szhshhps 33555256 囸 2712 szhshshh 33563399 呫 2713 szhshszh 16786634 甽 2714 szhshpss 16783519 畂 2715 szhshpzn 33562946 虰 2716 szhshnhs 16778783 甿 2717 szhshnhz 16781530 虲 2718 szhshnsn 0 虮 2719 szhshnpz 16780682 虯 2720 szhshnzs 33564420 虭 2721 szhshnzp 33557079 迪 2722 szhshnzn 16778828 典 2723 szhsshpn 16778880 固 2724 szhsszhh 16780125 忠 2725 szhsnznn 16786828 呾 2726 szhszhhh 33556637 咀 2727 szhszhhh 16781216 呷 2728 szhszhhs 16779847 呻 2729 szhszhhs 16783930 呺 2730 szhszhhz 16785210 黾 2731 szhszhhz 16781542 丳 2732 szhszhps 16778180 呮 2733 szhszhpn 33564083 咉 2734 szhszhpn 33568235 呪 2735 szhszhpz 33569688 咒 2736 szhszhpz 16786865 郘 2737 szhszhzs 33563202 呥 2738 szhszshh 33563246 呬 2739 szhszpzh 16782247 呹 2740 szhphhpn 33567930 咋 2741 szhphshh 16786370 咊 2742 szhphspn 33557997 咐 2743 szhpshsn 16779347 咃 2744 szhpszsz 33566124 呱 2745 szhppznn 16780072 呼 2746 szhpnphs 16779569 呤 2747 szhpnnzn 16782246 呧 2748 szhpzhzn 16778833 呴 2749 szhpzszh 16785342 咚 2750 szhpznnn 16778742 鸣 2751 szhpznzh 16781629 咆 2752 szhpzzhz 16782889 呟 2753 szhnhzzn 33564559 咛 2754 szhnnzhs 16781844 咜 2755 szhnnzpz 33569340 呝 2756 szhnzhpz 33554471 咇 2757 szhnznpn 16777865 咏 2758 szhnzzpn 16786040 呞 2759 szhzhszh 33565270 呢 2760 szhzhppz 16781816 呡 2761 szhzhzhz 16784853 咈 2762 szhzhzps 16779283 咄 2763 szhzsszs 16779021 呶 2764 szhzphzn 16781805 咖 2765 szhzpszh 16779848 咍 2766 szhznszh 16779356 呣 2767 szhzznhn 33561209 呦 2768 szhzznzp 16786052 咝 2769 szhzzzzh 33564777 帓 2770 szshhspn 33560856 岵 2771 szshsszh 16779613 岢 2772 szshszhs 16780378 岸 2773 szshphhs 16777279 岯 2774 szshpsnh 33563555 岩 2775 szshpszh 16785813 帗 2776 szshpznn 16779265 岼 2777 szshnphs 0 岽 2778 szshzspn 16778745 岾 2779 szsshszh 0 帖 2780 szsshszh 16784481 罖 2781 szsshpnn 0 罗 2782 szsshpzn 16782612 岿 2783 szsspzhh 16780494 岨 2784 szsszhhh 16783457 岬 2785 szsszhhs 16780858 岫 2786 szsszhsh 16785325 峀 2787 szsszhsh 33567280 岟 2788 szsszhpn 33568273 帜 2789 szsszhpn 16786940 岲 2790 szsszhpz 33559533 帙 2791 szsphhpn 16786937 岝 2792 szsphshh 16786620 岞 2793 szsphshh 33569298 岴 2794 szspshsh 33564467 岶 2795 szspszhh 33563645 帕 2796 szspszhh 16782834 岭 2797 szspnnzn 16782252 岺 2798 szspnnzn 33562433 岻 2799 szspzhzn 33556351 岣 2800 szspzszh 16780050 峁 2801 szspzpzs 33560988 刿 2802 szspznss 16780232 峂 2803 szspznnn 33565787 岦 2804 szsnhnph 33562624 岤 2805 szsnnzpn 33567467 岮 2806 szsnnzpz 33566146 廻 2807 szszhhzn 33558494 迥 2808 szszhnzn 16781144 岷 2809 szszhzhz 16781607 剀 2810 szszhzss 16780292 岪 2811 szszhzps 33557698 凯 2812 szszhzpz 16780299 岧 2813 szszpszh 16784470 岹 2814 szszpszh 33565985 岥 2815 szszpszn 33555073 帔 2816 szszpszn 16782907 峄 2817 szsznhhs 16785720 峅 2818 szsznhps 0 岰 2819 szszznzp 33568546 囷 2820 szphspnh 16781342 囶 2821 szpnhshh 16780272 沓 2822 szpnszhh 16778587 沝 2823 szpnszpn 33569989 败 2824 szpnphpn 16777473 账 2825 szpnphzn 16786682 贩 2826 szpnppzn 16779094 贬 2827 szpnpnzn 16777807 购 2828 szpnpzzn 16780055 贮 2829 szpnnnzh 16787024 囹 2830 szpnnznh 16782271 沀 2831 szpnznzs 33567341 图 2832 szpznnnh 16784509 岡 2833 sznphszs 33558767 罔 2834 sznphnhz 16784734 囻 2835 szzhzhzh 33559269 咼 2836 szzszszh 16780258 囼 2837 szznszhh 33565561 钍 2838 phhhzhsh 16784512 钎 2839 phhhzphs 16783282 钏 2840 phhhzpss 16778505 钐 2841 phhhzppp 16783830 钑 2842 phhhzpzn 33559877 钒 2843 phhhzpzn 16779078 钓 2844 phhhzpzn 16778917 钔 2845 phhhznsz 16781519 钕 2846 phhhzzph 16781976 钖 2847 phhhzzpp 33565911 钗 2848 phhhzznn 16778137 邾 2849 phhspnzs 16786992 制 2850 phhszsss 16786944 缷 2851 phhszszs 33567198 幷 2852 phhpphhs 33555209 知 2853 phhpnszh 16786892 迭 2854 phhpnnzn 16778945 氜 2855 phhzszhh 33563395 氝 2856 phhzszpn 16781766 氛 2857 phhzpnzp 16779170 忥 2858 phhznznn 33566825 迮 2859 phshhnzn 16786439 牫 2860 phshhzpn 33558816 垂 2861 phshsshh 16778529 牪 2862 phshphhs 33568200 牦 2863 phshphhz 16781438 牧 2864 phshphpn 16781740 牬 2865 phshpzsp 33554991 物 2866 phshpzpp 16784657 牨 2867 phshnhpz 33558762 牥 2868 phshnhzp 33557456 乖 2869 phsshhpz 16780144 刮 2870 phsszhss 16780128 舏 2871 phsszhzs 33560508 秆 2872 phspnhhs 16779894 和 2873 phspnszh 16779464 秈 2874 phspnszs 16785087 秊 2875 phspnphs 33561756 秅 2876 phspnphz 33555879 秇 2877 phspnpzn 33567986 季 2878 phspnzsh 16780785 秄 2879 phspnzsh 33569205 委 2880 phspnzph 16784802 竺 2881 phnphnhh 16787012 竻 2882 phnphnzp 33562141 秉 2883 phzhhspn 16777703 迤 2884 phzsznzn 16785642 侙 2885 pshhshzn 33556399 侀 2886 pshhpsss 16784916 佳 2887 pshshhsh 16780829 侍 2888 pshshhsn 16784064 佶 2889 pshshszh 16780736 岳 2890 pshshszs 16786316 侤 2891 pshshphz 0 佬 2892 pshshppz 16782088 佴 2893 pshsshhh 16777404 供 2894 pshsshpn 16780022 姇 2895 pshsnzph 33557650 使 2896 pshszhpn 16784038 侢 2897 pshszshh 33568989 価 2898 pshszssh 16780863 佰 2899 pshpszhh 16777468 侑 2900 pshpszhh 16786097 侟 2901 pshpszsh 33560213 侕 2902 pshpszss 33554732 侉 2903 pshpnhhz 33559466 例 2904 pshpznss 16782355 侠 2905 pshnphpn 16785063 臾 2906 pshzhhpn 16786164 兒 2907 pshzhhpz 33554728 侇 2908 pshzhzpn 16785628 侥 2909 pshzphpz 16781041 版 2910 pshzppzn 16777492 侄 2911 pshznhsh 16786910 垈 2912 pshznhsh 0 岱 2913 pshznszs 16778611 帒 2914 pshznszs 33556660 郔 2915 pshzznzs 16785820 佌 2916 psshshpz 16778013 侦 2917 psshszpn 16786754 侊 2918 pssnphpz 33559134 侗 2919 psszhszh 16778753 侣 2920 psszhszh 16782650 侃 2921 psszhpsz 16780317 佪 2922 psszszhh 16779640 侧 2923 psszpnss 16777960 侏 2924 psphhspn 16786991 侁 2925 psphshpz 16783931 凭 2926 psphshpz 16782987 侹 2927 psphshzn 33565847 佸 2928 psphsszh 16779822 侨 2929 psphpnps 16783376 侐 2930 pspszssh 16785374 侜 2931 psppznhn 16786849 佺 2932 pspnhhsh 16783508 侩 2933 pspnhhzn 16780456 佮 2934 pspnhszh 33558840 佻 2935 pspnhzpn 16784462 佾 2936 pspnszhh 16785699 佩 2937 pspzhszs 16782909 佹 2938 pspzhpzz 16780223 侚 2939 pspzszhh 33567515 货 2940 pspzszpn 16779832 佭 2941 pspznhzs 33567042 佫 2942 pspznszh 16779483 佲 2943 pspznszh 33561267 俢 2944 pspznppp 33567265 侈 2945 pspznpzn 16778421 隹 2946 psnhhhsh 16778059 侂 2947 psnhpphz 16784554 侪 2948 psnhpnps 16778140 佼 2949 psnhpnpn 16781039 佽 2950 psnhpzpn 16778024 依 2951 psnhpzpn 16785604 侅 2952 psnhzppn 16779858 侫 2953 psnhzzph 33561690 佯 2954 psnphhhs 16785902 併 2955 psnphhps 16777708 侎 2956 psnphspn 33561337 侘 2957 psnnzphz 16778133 侒 2958 psnnzzph 33554495 侬 2959 psnzpzpn 16781831 侓 2960 pszhhhhs 33563049 郋 2961 pszhhhzs 33566719 帛 2962 pszhhszs 16777634 卑 2963 pszhhphs 16777559 的 2964 pszhhpzn 16778722 迫 2965 pszhhnzn 16782843 佷 2966 pszhhzpn 16779505 侭 2967 pszhpnnn 16780576 阜 2968 pszhzhhs 16779330 卹 2969 pszsshzs 33567339 侞 2970 pszphszh 33563416 侔 2971 psznphhs 16781598 质 2972 pphsszpn 16786941 斦 2973 pphspphs 33567571 欣 2974 pphspzpn 16784880 郈 2975 pphszhzs 16779558 劶 2976 pphszhzp 33559428 征 2977 ppshshsh 16786800 徂 2978 ppsszhhh 16778033 徃 2979 ppsphhsh 33566365 彾 2980 ppspnnzn 33562451 彽 2981 ppspzhzn 16778808 往 2982 ppsnhhsh 16784735 爬 2983 ppsnzshz 16782830 彿 2984 ppszhzps 33557686 彼 2985 ppszpszn 16777722 径 2986 ppsznhsh 16780647 所 2987 ppzhpphs 16783791 郍 2988 ppznhnzs 33561868 舠 2989 ppznhnzp 16778692 瓝 2990 ppznnpzn 33554926 佱 2991 pnhhshsh 33557382 舍 2992 pnhhsszh 16783906 金 2993 pnhhsnph 16780562 釒 2994 pnhhsnph 0 刽 2995 pnhhznss 16780231 郐 2996 pnhhznzs 16780458 舎 2997 pnhshszh 16783907 刹 2998 pnhspnss 16778130 侖 2999 pnhszhss 33563114 命 3000 pnhszhzs 16781640 郃 3001 pnhszhzs 16779979 肴 3002 pnhpszhh 16785954 郄 3003 pnhpznzs 16785044 肏 3004 pnszpnpn 16777951 斧 3005 pnpnpphs 16779318 怂 3006 pnpnnznn 16783615 爸 3007 pnpnzshz 16777455 尩 3008 pnpzhhsh 33566351 籴 3009 pnnphspn 16778818 采 3010 pnnphspn 16777908 觅 3011 pnnpszpz 16781675 受 3012 pnnpnzzn 16783993 爭 3013 pnnpzhhs 16786795 乳 3014 pnnpzshz 16782779 侌 3015 pnnzhhzn 33567537 飠 3016 pnnzhhzn 33564820 贪 3017 pnnzszpn 16784231 欦 3018 pnnzpzpn 33564128 念 3019 pnnznznn 16781905 瓫 3020 pnzphzzn 33563584 贫 3021 pnzpszpn 16782965 攽 3022 pnzpphpn 16777482 炃 3023 pnzpnppn 33557543 忿 3024 pnzpnznn 16779203 枀 3025 pnznhspn 33564710 瓮 3026 pnznhzzn 16784594 忩 3027 pnznnznn 33555652 戗 3028 pnzzhzpn 16783332 肨 3029 pzhhhhhs 33563530 肼 3030 pzhhhhps 16780633 肤 3031 pzhhhhpn 16779253 朊 3032 pzhhhhpz 16782792 肺 3033 pzhhhszs 16779162 肢 3034 pzhhhszn 16786885 肧 3035 pzhhhpsn 33563554 肰 3036 pzhhhpnn 33563242 肽 3037 pzhhhpnn 16784229 肬 3038 pzhhhpzn 16786072 肱 3039 pzhhhpzn 16780027 肫 3040 pzhhhzsz 16787087 肶 3041 pzhhhzpz 33563738 肿 3042 pzhhszhs 16786832 肭 3043 pzhhszpn 16781761 胀 3044 pzhhphzn 16786689 肵 3045 pzhhpphs 16780596 肸 3046 pzhhpnhs 16785043 肹 3047 pzhhpnhz 33566815 肣 3048 pzhhpnnz 33563881 朌 3049 pzhhpnzp 33554857 朋 3050 pzhhpzhh 16782928 胏 3051 pzhhpzsp 16786521 肳 3052 pzhhpzpp 33566564 肷 3053 pzhhpzpn 33564201 股 3054 pzhhpzzn 16780103 肮 3055 pzhhnhpz 16777284 肪 3056 pzhhnhzp 16779116 肥 3057 pzhhzshz 16779140 服 3058 pzhhzszn 16779261 胁 3059 pzhhzpnn 16785261 周 3060 pzhshszh 16786845 剁 3061 pzhspnss 16779039 凮 3062 pzhpszhh 33557593 昏 3063 pzhzszhh 16779804 迩 3064 pzspnnzn 16777396 郇 3065 pzszhhzs 16779671 鱼 3066 pzszhshh 16786140 兔 3067 pzszhpzn 16784514 狋 3068 pzphhspn 33561704 匋 3069 pzphhszs 16784306 狜 3070 pzphsszh 33559037 狉 3071 pzphpsnh 16783002 狘 3072 pzphzzpn 16786319 臽 3073 pzpshzhh 33567025 狙 3074 pzpszhhh 16781195 狚 3075 pzpszhhh 33556746 狎 3076 pzpszhhs 16785065 狌 3077 pzpphhsh 33565218 狏 3078 pzpphzsz 33566147 曶 3079 pzppszhh 33558200 狛 3080 pzppszhh 33568564 狐 3081 pzpppznn 16779587 狑 3082 pzppnnzn 33562439 忽 3083 pzppnznn 16779574 狝 3084 pzppzspn 16781656 狗 3085 pzppzszh 16780051 狍 3086 pzppzzhz 33563538 匌 3087 pzpnhszh 33558824 狞 3088 pzpnnzhs 16781846 狖 3089 pzpnnzpn 16786101 狔 3090 pzpzhppz 33561707 狒 3091 pzpzhzps 16779166 狓 3092 pzpzpszn 16783004 狕 3093 pzpzznzp 33568348 肦 3094 pznhpnzp 33554862 咎 3095 pznsnszh 16781168 迯 3096 pznsnnzn 33565724 备 3097 pznszhsh 16777571 夝 3098 pznphhsh 33563919 匊 3099 pznphspn 16781201 卶 3100 pznpznzs 33565349 炙 3101 pznnnppn 16786963 枭 3102 pznzhspn 16785215 妴 3103 pznzzzph 33568830 饯 3104 pzzhhzpn 16780954 饰 3105 pzzphszs 16784061 饱 3106 pzzpzzhz 16777538 饲 3107 pzzzhszh 16783671 饳 3108 pzzzsszs 33557349 饴 3109 pzzznszh 16783672 迬 3110 nhhshnzn 33566374 冽 3111 nhhpznss 16782489 变 3112 nhsspnzn 16777828 京 3113 nhszhspn 16780613 享 3114 nhszhzsh 16785181 冼 3115 nhphshpz 16783973 庞 3116 nhphpzpn 16782878 店 3117 nhpshszh 16778892 夜 3118 nhpspznn 16785997 庘 3119 nhpszhhs 33568025 庙 3120 nhpszhsh 16781715 府 3121 nhppshsn 16779317 底 3122 nhppzhzn 16778835 庝 3123 nhppznnn 33565781 庖 3124 nhppzzhz 16782891 疞 3125 nhpnhhhz 33567301 疘 3126 nhpnhhsh 16779913 疛 3127 nhpnhhsn 33569668 疜 3128 nhpnhhsn 33566871 疟 3129 nhpnhhzh 16781981 疠 3130 nhpnhhzp 16782359 冾 3131 nhpnhszh 33566855 疝 3132 nhpnhszs 16783850 疙 3133 nhpnhphz 16779955 疚 3134 nhpnhpzn 16781169 疡 3135 nhpnhzpp 16785908 斉 3136 nhpnpshh 16780793 剂 3137 nhpnpsss 16780776 卒 3138 nhpnpnhs 16778040 郊 3139 nhpnpnzs 16781019 効 3140 nhpnpnzp 16785240 忞 3141 nhpnnznn 16781609 兖 3142 nhpnznpz 16785839 庚 3143 nhpzhhpn 16780004 废 3144 nhpzpznn 16779160 净 3145 nhpzzhhs 16780648 乵 3146 nhnphhsz 33568151 竎 3147 nhnphhps 33557783 咅 3148 nhnphszh 33563658 竏 3149 nhnphphs 33565220 妾 3150 nhnphzph 16783396 冿 3151 nhzhhhhs 33560113 盲 3152 nhzszhhh 16781427 瓬 3153 nhzphzzn 33557477 放 3154 nhzpphpn 16779125 斻 3155 nhzpphpz 33557911 刻 3156 nhzppnss 16780385 斺 3157 nhzppnps 33567234 於 3158 nhzppnnn 16784606 郂 3159 nhzppnzs 33558691 劾 3160 nhzppnzp 16779472 育 3161 nhznszhh 16786227 氓 3162 nhzzhzhz 16781416 闸 3163 nszszhhs 16786604 闹 3164 nsznhszs 16781814 劷 3165 nphhhpzp 33568257 郱 3166 nphhpszs 33563703 奍 3167 nphhpnps 0 郑 3168 nphhpnzs 16786818 券 3169 nphhpnzp 16783522 劵 3170 nphhpnzp 33560697 卷 3171 nphhpnzz 16781266 並 3172 nphssnph 16777706 籵 3173 nphspnhs 16779077 籶 3174 nphspnpz 33565165 单 3175 npszhhhs 16778156 炐 3176 nppnhhhs 33563529 炜 3177 nppnhhzs 16784793 炑 3178 nppnhspn 33561482 炋 3179 nppnhpsn 33563714 炬 3180 nppnhzhz 16781238 炖 3181 nppnhzsz 16779015 炒 3182 nppnspnp 16778246 炇 3183 nppnphpn 33563640 炛 3184 nppnpspz 33559138 炘 3185 nppnpphs 16784884 炍 3186 nppnppzn 33563503 炌 3187 nppnpnps 33559305 炂 3188 nppnpnzn 33569625 炝 3189 nppnpnzz 16783356 炊 3190 nppnpzpn 16778520 炈 3191 nppnpzzn 33567943 炞 3192 nppnnhsn 33555372 炆 3193 nppnnhpn 33566543 炕 3194 nppnnhpz 16780336 炎 3195 nppnnppn 16785806 炏 3196 nppnnppn 33559306 炓 3197 nppnnnhs 33562846 炉 3198 nppnnzhp 16782543 炔 3199 nppnzhpn 16780238 炄 3200 nppnzshh 33561846 沫 3201 nnhhhspn 16781584 沬 3202 nnhhhspn 16781510 沶 3203 nnhhhspn 33567804 浅 3204 nnhhhzpn 16783312 泟 3205 nnhhshsh 33556184 泋 3206 nnhhshps 33558568 法 3207 nnhhshzn 16779057 泔 3208 nnhhsshh 16779884 泄 3209 nnhhsshz 16785289 沽 3210 nnhhsszh 16780079 泍 3211 nnhhspnh 33555024 沭 3212 nnhhspnn 16784141 河 3213 nnhhszhs 16779468 沰 3214 nnhhpszh 16784556 泷 3215 nnhhpzpn 16782173 沷 3216 nnhhpznn 16779292 泙 3217 nnhhnphs 16782986 泧 3218 nnhhzzpn 33568885 沾 3219 nnhshszh 16786639 泸 3220 nnhshzhp 16782548 乷 3221 nnhspnpz 33564987 沮 3222 nnhszhhh 16781221 泪 3223 nnhszhhh 16782143 泹 3224 nnhszhhh 33556751 油 3225 nnhszhsh 16786076 沺 3226 nnhszhsh 16784450 泱 3227 nnhszhpn 16785894 況 3228 nnhszhpz 33559535 泂 3229 nnhszszh 16781143 泅 3230 nnhszpnh 16783439 泗 3231 nnhszpzh 16783677 泩 3232 nnhphhsh 16783967 泆 3233 nnhphhpn 16785724 泎 3234 nnhphshh 33570039 沲 3235 nnhphzsz 16778404 泭 3236 nnhpshsn 16779258 泊 3237 nnhpszhh 16777657 泝 3238 nnhpphsn 16783717 泒 3239 nnhppznn 16780084 泘 3240 nnhpnphs 33558194 沴 3241 nnhpnppp 16782368 泠 3242 nnhpnnzn 16782263 泜 3243 nnhpzhzn 16786890 沵 3244 nnhpzspn 33562632 泺 3245 nnhpzspn 16777661 沿 3246 nnhpzszh 16785816 泃 3247 nnhpzszh 33558953 泖 3248 nnhpzpzs 16781452 泈 3249 nnhpznnn 33569627 泡 3250 nnhpzzhz 16782886 注 3251 nnhnhhsh 16787039 泣 3252 nnhnhnph 16783259 泫 3253 nnhnhzzn 16785431 泮 3254 nnhnphhs 16782871 泞 3255 nnhnnzhs 16781850 泬 3256 nnhnnzpn 33567469 沱 3257 nnhnnzpz 16778403 泻 3258 nnhnzhzh 16785295 泌 3259 nnhnznpn 16777773 泳 3260 nnhnzzpn 16786045 泀 3261 nnhzhszh 33564781 泥 3262 nnhzhppz 16781867 泦 3263 nnhzhppz 33560603 泯 3264 nnhzhzhz 16781622 沸 3265 nnhzhzps 16779161 泓 3266 nnhzhzzn 16779534 泏 3267 nnhzsszs 33556482 沼 3268 nnhzpszh 16786698 泇 3269 nnhzpszh 33560025 波 3270 nnhzpszn 16777629 泼 3271 nnhzpznn 16782948 泽 3272 nnhznhhs 16786440 泾 3273 nnhznhsh 16780621 治 3274 nnhznszh 16786967 泑 3275 nnhzznzp 16786088 怽 3276 nnshhspn 0 怔 3277 nnshshsh 16786793 怯 3278 nnshshzn 16783392 怈 3279 nnshsshz 33567853 怙 3280 nnshsszh 16779600 怵 3281 nnshspnn 16778476 怲 3282 nnshszpn 16777693 怌 3283 nnshpsnh 33563705 怖 3284 nnshpszs 16777878 怦 3285 nnshnphs 16782920 怴 3286 nnshzzpn 33567325 怗 3287 nnsshszh 16784482 怚 3288 nnsszhhh 16781224 怛 3289 nnsszhhh 16778576 怞 3290 nnsszhsh 16786861 怏 3291 nnsszhpn 16785920 怾 3292 nnsszhpn 0 怳 3293 nnsszhpz 16779730 怬 3294 nnsszpzh 33566781 性 3295 nnsphhsh 16784922 怢 3296 nnsphhpn 33566018 怍 3297 nnsphshh 16786585 怕 3298 nnspszhh 16782835 怜 3299 nnspnnzn 16782389 怟 3300 nnspzhzn 33556997 怐 3301 nnspzszh 33559429 怉 3302 nnspzzhz 33554929 怰 3303 nnsnhzzn 33567418 怑 3304 nnsnphhs 33554875 怭 3305 nnsnznpn 16777736 怺 3306 nnsnzzpn 0 怩 3307 nnszhppz 16781855 怋 3308 nnszhzhz 33561219 怫 3309 nnszhzps 16779155 怓 3310 nnszphzn 33561577 怊 3311 nnszpszh 33556039 怶 3312 nnszpszn 33563709 怿 3313 nnsznhhs 16785681 怪 3314 nnsznhsh 16780148 怡 3315 nnsznszh 16785617 怮 3316 nnszznzp 33568493 畄 3317 nnpszhsh 33562895 鼡 3318 nnppzhhs 16784115 峃 3319 nnpnzszs 33567447 学 3320 nnpnzzsh 16785437 実 3321 nnzhhhpn 16784024 宝 3322 nnzhhshn 16777539 宗 3323 nnzhhspn 16786460 定 3324 nnzhshpn 16778798 宕 3325 nnzhpszh 16778687 宠 3326 nnzhpzpn 16778339 宜 3327 nnzszhhh 16785632 审 3328 nnzszhhs 16783947 宙 3329 nnzszhsh 16786866 官 3330 nnzszhzh 16780155 穻 3331 nnzpnhhs 33568575 空 3332 nnzpnhsh 16780411 帘 3333 nnzpnszs 16782388 穸 3334 nnzpnpzn 16784965 穹 3335 nnzpnzhz 16783404 迱 3336 nnzpznzn 33566150 宛 3337 nnzpznzz 16784718 宔 3338 nnznhhsh 33569905 实 3339 nnznnhpn 16784023 宓 3340 nnznznpn 16781674 宖 3341 nnzzhzzn 33558123 诓 3342 nzhhhshz 16780473 诔 3343 nzhhhspn 16782135 试 3344 nzhhshzn 16784076 剆 3345 nzhhznss 33563134 郎 3346 nzhhznzs 16782060 勆 3347 nzhhznzp 33562063 诖 3348 nzhshhsh 16780142 诗 3349 nzhshhsn 16784014 诘 3350 nzhshszh 16781115 戾 3351 nzhphpnn 16782338 肩 3352 nzhpszhh 16780896 房 3353 nzhpnhzp 16779113 诙 3354 nzhpnppn 16779754 戽 3355 nzhpnnhs 16779604 诚 3356 nzhpzzpn 16778319 郓 3357 nzhzshzs 16786357 衦 3358 nzspnhhs 33558737 衧 3359 nzspnhhs 33568615 衬 3360 nzspnhsn 16778282 衫 3361 nzspnppp 16783826 衱 3362 nzspnpzn 33559862 衪 3363 nzspnzsz 33567787 衩 3364 nzspnznn 16778129 祆 3365 nzsnhhpn 16785076 祎 3366 nzsnhhzs 33567741 祉 3367 nzsnshsh 16786924 祌 3368 nzsnszhs 33556241 视 3369 nzsnszpz 16784071 祍 3370 nzsnphsh 0 祅 3371 nzsnphpn 16785927 祈 3372 nzsnpphs 16783198 祄 3373 nzsnpnps 33567201 祇 3374 nzsnpzhz 16783197 祋 3375 nzsnpzzn 33565381 祊 3376 nzsnnhzp 16777604 诛 3377 nzphhspn 16786994 诜 3378 nzphshpz 16783936 话 3379 nzphsszh 16779634 诞 3380 nzpshzzn 16778662 诟 3381 nzpphszh 16780065 诠 3382 nzpnhhsh 16783515 罙 3383 nzpnhspn 33561302 诡 3384 nzpzhpzz 16780227 瓭 3385 nzpzhzzn 33556716 询 3386 nzpzszhh 16785472 诣 3387 nzpzszhh 16785736 沊 3388 nzpzszpn 33556736 诤 3389 nzpzzhhs 16786809 该 3390 nznhzppn 16779860 详 3391 nznphhhs 16785177 冞 3392 nznphspn 16781652 诧 3393 nznnzphz 16778134 诨 3394 nznzhzhs 16779820 诩 3395 nzznhznh 16785361 建 3396 zhhhhszn 16780968 肃 3397 zhhspspn 16783708 录 3398 zhhsnhpn 16782573 隶 3399 zhhsnhpn 16782369 帚 3400 zhhnzszs 16786858 孠 3401 zhszhzsh 33564802 屆 3402 zhphshzs 33560443 屉 3403 zhphsshz 16784427 居 3404 zhphsszh 16781183 屇 3405 zhpszhsh 16784440 届 3406 zhpszhsh 16781125 刷 3407 zhpszsss 16784147 鸤 3408 zhppznzh 33565264 迡 3409 zhppznzn 33561749 屄 3410 zhpnnzpn 16777713 屈 3411 zhpzsszs 16783449 矤 3412 zhzphhpn 33565190 弣 3413 zhzpshsn 16779306 弧 3414 zhzppznn 16779576 弤 3415 zhzpzhzn 16778831 弥 3416 zhzpzspn 16781644 弦 3417 zhznhzzn 16785095 弢 3418 zhzzsszn 16784295 弨 3419 zhzzpszh 16778230 弪 3420 zhzznhsh 16780635 承 3421 zshhhzpn 16778309 孟 3422 zshszssh 16781550 陋 3423 zshszpnz 16782196 牀 3424 zshphspn 16778513 狀 3425 zshphpnn 33569983 戕 3426 zshphzpn 16783330 陌 3427 zshpszhh 16781575 陏 3428 zshpszhh 33557344 斨 3429 zshppphs 16783344 孤 3430 zshppznn 16780070 陓 3431 zshpnhhz 33566183 孢 3432 zshpzzhz 16777525 陕 3433 zshnphpn 16783838 孡 3434 zshznszh 33565558 旹 3435 zsshszhh 16784032 亟 3436 zsszhznh 16780743 陎 3437 zsphhspn 33565382 陒 3438 zspzhpzz 33559177 降 3439 zspznhzs 16780996 陊 3440 zspznpzn 33557343 函 3441 zsnhpnzs 16779390 陔 3442 zsnhzppn 16779857 限 3443 zszhhzpn 16785139 卺 3444 zszpnhzz 16780572 乸 3445 zszzznhn 33561501 妹 3446 zphhhspn 16781511 妺 3447 zphhhspn 16781586 姃 3448 zphhshsh 33569586 姏 3449 zphhsshh 33564188 姑 3450 zphhsszh 16780083 妸 3451 zphhszhs 33554612 妬 3452 zphhpszh 33557213 妭 3453 zphhpznn 33554803 刴 3454 zphspnss 33557340 妲 3455 zphszhhh 16778589 姐 3456 zphszhhh 16781118 妽 3457 zphszhhs 33565169 妯 3458 zphszhsh 16786857 姎 3459 zphszhpn 33568237 姌 3460 zphszshh 33563254 姍 3461 zphszssh 33565028 姓 3462 zphphhsh 16784930 妷 3463 zphphhpn 33567971 妰 3464 zphphshh 33570033 姀 3465 zphphspn 33558007 姈 3466 zphpnnzn 33562435 妳 3467 zphpzspn 16781771 姁 3468 zphpzszh 16785358 姗 3469 zphpzpzh 16783834 妵 3470 zphnhhsh 16784372 妶 3471 zphnhzzn 33567403 姅 3472 zphnphhs 16777499 妼 3473 zphnznpn 33555314 妮 3474 zphzhppz 16781851 姄 3475 zphzhzhz 33561234 妱 3476 zphzpszh 33569428 始 3477 zphznszh 16784039 帑 3478 zphznszs 16784288 弩 3479 zphznzhz 16781956 孥 3480 zphznzsh 16781953 驽 3481 zphznzzh 16781955 姆 3482 zphzznhn 16781728 虱 3483 zpszhshn 16784006 迢 3484 zpszhnzn 16784471 迦 3485 zpszhnzn 16780838 巶 3486 zpszhzhz 33569432 妿 3487 zpszhzph 33554613 驾 3488 zpszhzzh 16780862 皯 3489 zpsznhhs 33558741 迳 3490 znhshnzn 16780656 叁 3491 znhpnhhh 16783565 参 3492 znhpnppp 16777915 迨 3493 znszhnzn 16778616 劺 3494 znphhszp 33561210 癷 3495 znppnhhs 0 艰 3496 znzhhzpn 16780887 亝 3497 znznznhh 33564002 叕 3498 znznznzn 33562650 线 3499 zzhhhzpn 16785153 绀 3500 zzhhsshh 16779899 绁 3501 zzhhsshz 16785288 绂 3502 zzhhpznn 16779294 练 3503 zzhhzzpn 16782425 彔 3504 zzhsnhpn 16782572 组 3505 zzhszhhh 16786546 驵 3506 zzhszhhh 16786401 绅 3507 zzhszhhs 16783934 细 3508 zzhszhsh 16785045 织 3509 zzhszhpn 16786888 驶 3510 zzhszhpn 16784037 驷 3511 zzhszpzh 16783673 驸 3512 zzhpshsn 16779341 陑 3513 zzhpszss 16777382 驹 3514 zzhpzszh 16781187 终 3515 zzhpznnn 16786827 绉 3516 zzhpzzhh 16786872 驺 3517 zzhpzzhh 16786473 驻 3518 zzhnhhsh 16787029 绊 3519 zzhnphhs 16777501 驼 3520 zzhnnzpz 16784569 绋 3521 zzhzhzps 16779295 绌 3522 zzhzsszs 16778483 绍 3523 zzhzpszh 16783892 绎 3524 zzhznhhs 16785729 驿 3525 zzhznhhs 16785700 经 3526 zzhznhsh 16780620 绐 3527 zzhznszh 16778613 骀 3528 zzhznszh 16778608 贯 3529 zzshszpn 16780172 毑 3530 zznhnzsz 33569290 糽 3531 zznnnnhs 33569595 糾 3532 zznnnnzs 33560507 糼 3533 zznnnnzp 33558921 糿 3534 zznnnnzp 33568570 孧 3535 zznzpzsh 0 甾 3536 zzzszhsh 16786372 砉 3537 hhhshpszh 16779616 耔 3538 hhhspnzsh 16786514 契 3539 hhhszphpn 16783249 贰 3540 hhhszpnzn 16777400 奏 3541 hhhpnhhpn 16786484 春 3542 hhhpnszhh 16778537 帮 3543 hhhpzsszs 16777504 珏 3544 hhshhhshn 16781324 珐 3545 hhshhshzn 16779058 玵 3546 hhshhsshh 33554505 玴 3547 hhshhsshz 33567969 珂 3548 hhshhszhs 16780365 珑 3549 hhshhpzpn 16782169 玶 3550 hhshhnphs 16782984 玷 3551 hhshshszh 16778894 珇 3552 hhshszhhh 16786548 玾 3553 hhshszhhs 33560070 珅 3554 hhshszhhs 33565170 珃 3555 hhshszshh 33563253 珄 3556 hhshphhsh 33565217 玳 3557 hhshpshzn 16778612 珀 3558 hhshpszhh 16782957 顸 3559 hhshpszpn 16779376 珍 3560 hhshpnppp 16786760 玲 3561 hhshpnnzn 16782254 珎 3562 hhshpzspn 16786761 玽 3563 hhshpzszh 33558961 珊 3564 hhshpzpzh 16783833 珋 3565 hhshpzpzs 33562939 玸 3566 hhshpzzhz 33557700 玹 3567 hhshnhzzn 33567406 珌 3568 hhshnznpn 16777774 珉 3569 hhshzhzhz 33561236 玿 3570 hhshzpszh 33565103 珈 3571 hhshzpszh 16780836 玻 3572 hhshzpszn 16777626 珆 3573 hhshznszh 33567809 毒 3574 hhshzznhn 16778962 型 3575 hhpssshsh 16784917 沗 3576 hhpnsnhpn 33563510 匧 3577 hhpnpnpnz 33564324 兘 3578 hhpzznszh 33565309 韨 3579 hhzshpznn 33557706 垹 3580 hshhhhpzs 33554892 挷 3581 hshhhhpzs 33554894 拭 3582 hshhhshzn 16784083 垚 3583 hshhshhsh 16785950 壵 3584 hshhshhsh 33569984 挂 3585 hshhshhsh 16780136 封 3586 hshhshhsn 16779204 持 3587 hshhshhsn 16778391 奊 3588 hshhshhzn 33567148 拮 3589 hshhshszh 16781117 拷 3590 hshhshphz 16780348 挕 3591 hshhsshhh 33557117 垬 3592 hshhsshpn 33558130 拱 3593 hshhsshpn 16780035 垭 3594 hshhssnph 16777365 挜 3595 hshhssnph 33568046 挝 3596 hshhsnnzn 16784860 垣 3597 hshhszhhh 16786280 挋 3598 hshhszhsz 33569553 拺 3599 hshhszspn 33555606 拪 3600 hshhszpzh 33564164 拵 3601 hshhpszsh 33566114 项 3602 hshhpszpn 16785189 垮 3603 hshhpnhhz 16780444 挎 3604 hshhpnhhz 16780445 拻 3605 hshhpnppn 33558486 垯 3606 hshhpnnzn 16778593 挞 3607 hshhpnnzn 16784201 挒 3608 hshhpznss 33562851 城 3609 hshhpzzpn 16778314 挟 3610 hshhnphpn 16785247 挗 3611 hshhzhzpn 33560721 捓 3612 hshhzspzs 33568376 挠 3613 hshhzphpz 16781801 垤 3614 hshhznhsh 16778938 挃 3615 hshhznhsh 33569769 垰 3616 hshshhhsn 0 挊 3617 hshshhhsn 33562268 政 3618 hshshphpn 16786816 赴 3619 hshshpnsn 16779340 赵 3620 hshshpnpn 16786704 赳 3621 hshshpnzs 16781149 赲 3622 hshshpnzp 33562599 贲 3623 hshssszpn 16777592 挘 3624 hshspnpzp 0 垙 3625 hshsnphpz 33559136 挄 3626 hshsnphpz 33559627 垱 3627 hshsnpzhh 33556778 挡 3628 hshsnpzhh 16778678 拽 3629 hshszhhzp 16787046 垌 3630 hshszhszh 33556873 挏 3631 hshszhszh 33556864 捛 3632 hshszhszh 33563193 壴 3633 hshszhnph 33569910 迼 3634 hshszhnzn 33560428 哉 3635 hshszhzpn 16786374 垲 3636 hshszszhz 16780296 挺 3637 hshphshzn 16784398 括 3638 hshphsszh 16780133 挢 3639 hshphpnps 16781033 垘 3640 hshpshpnn 33557693 埏 3641 hshpshzzn 16785818 挻 3642 hshpshzzn 33565019 拰 3643 hshpsphsh 33561667 郝 3644 hshpspnzs 16779439 垍 3645 hshpszhhh 33559980 乽 3646 hshpszhhz 0 垖 3647 hshpszhzh 33557238 垧 3648 hshpszszh 33560471 垢 3649 hshpphszh 16780060 垳 3650 hshppshhs 0 挀 3651 hshpppzpn 33555144 耇 3652 hshppzszh 16780047 耉 3653 hshppzszh 33558956 拴 3654 hshpnhhsh 16784157 垥 3655 hshpnhszh 33567168 拾 3656 hshpnhszh 16784034 垗 3657 hshpnhzpn 16786706 挑 3658 hshpnhzpn 16784459 巬 3659 hshpzhhpn 0 垛 3660 hshpzhspn 16779031 挆 3661 hshpzhspn 33557315 垝 3662 hshpzhpzz 16780226 指 3663 hshpzszhh 16786920 垫 3664 hshpznhsh 16778893 垎 3665 hshpznszh 33559383 挌 3666 hshpznszh 16779964 垑 3667 hshpznpzn 33556372 拸 3668 hshpznpzn 33556379 埩 3669 hshpzzhhs 33569588 挣 3670 hshpzzhhs 16786794 挤 3671 hshnhpnps 16780758 挍 3672 hshnhpnpn 16781050 垴 3673 hshnhpnzs 33561604 挔 3674 hshnhpzpn 33563187 垓 3675 hshnhzppn 16779859 垟 3676 hshnphhhs 16785907 垪 3677 hshnphhps 0 拼 3678 hshnphhps 16782964 垨 3679 hshnnzhsn 33565252 垞 3680 hshnnzphz 16778122 挓 3681 hshnnzphz 16786595 挖 3682 hshnnzpnz 16784677 垵 3683 hshnnzzph 33554515 按 3684 hshnnzzph 16777274 挥 3685 hshnzhzhs 16779740 垏 3686 hshzhhhhs 33563046 挦 3687 hshzhhhsn 16785096 挪 3688 hshzhhpzs 16781963 垠 3689 hshzhhzpn 16785515 拫 3690 hshzhhzpn 16779494 拯 3691 hshzszpnh 16786814 逇 3692 hshzsznzn 33557281 巭 3693 hshzphhpn 0 垜 3694 hshzphspn 33557327 挅 3695 hshzphspn 33557314 拹 3696 hshzpzpzp 33567176 挧 3697 hshznhznh 0 叝 3698 hshznzszn 33559896 拶 3699 hshzzzpzn 16786365 某 3700 hsshhhspn 16781601 甚 3701 hsshhhpnz 16783953 荆 3702 hsshhpsss 16780605 荊 3703 hsshhpsss 33559714 茙 3704 hsshhpzpn 33563334 茥 3705 hsshshhsh 16780488 荖 3706 hsshshppz 33562112 茿 3707 hsshshpzn 33569882 茸 3708 hsshsshhh 16782729 荁 3709 hsshszhhh 16779664 革 3710 hsshszhhs 16779973 茞 3711 hsshszhsz 16778267 茦 3712 hsshszspn 16777952 茜 3713 hsshszpzh 16783315 茬 3714 hsshpshsh 16778117 荐 3715 hsshpszsh 16780947 荋 3716 hsshpszss 33554726 荂 3717 hsshpnhhz 33559463 荙 3718 hsshpnnzn 33556630 巷 3719 hsshpnzhz 16779424 荗 3720 hsshpnzpn 33565424 茢 3721 hsshpznss 16782481 荿 3722 hsshpzzpn 33556209 荚 3723 hsshnphpn 16780841 枼 3724 hsshzhspn 33568430 荑 3725 hsshzhzpn 16784412 贳 3726 hsshzszpn 16784053 荛 3727 hsshzphpz 16782689 荜 3728 hsshzpzhs 16777749 荎 3729 hsshznhsh 33556331 茮 3730 hssshhspn 33560288 茈 3731 hssshshpz 16777999 茪 3732 hsssnphpz 33559132 带 3733 hsssnzszs 16778601 草 3734 hssszhhhs 16777947 茰 3735 hssszhhpn 33568597 茧 3736 hssszhshn 16780914 茼 3737 hssszhszh 16784339 莒 3738 hssszhszh 16781219 茵 3739 hssszhpnh 16785492 茴 3740 hssszszhh 16779758 荝 3741 hssszpnss 33555589 茱 3742 hssphhspn 16786988 莛 3743 hssphshzn 16784392 荞 3744 hssphpnps 16781011 茠 3745 hsspshspn 16785308 茯 3746 hsspshpnn 16779270 茷 3747 hsspshzpn 16777441 莚 3748 hsspshzzn 16785809 茽 3749 hsspsszhs 33569638 荏 3750 hsspsphsh 16782703 茩 3751 hsspphszh 33558957 荇 3752 hssppshhs 16784923 荃 3753 hsspnhhsh 16783502 荟 3754 hsspnhhzn 16779779 茶 3755 hsspnhspn 16778118 荅 3756 hsspnhszh 16778581 荕 3757 hsspzhhzp 33559640 荀 3758 hsspzszhh 16785462 荈 3759 hsspznhzs 16778501 茖 3760 hsspznszh 16779965 茗 3761 hsspznszh 16781628 茤 3762 hsspznpzn 33557295 荘 3763 hssnhshsh 16787063 荠 3764 hssnhpnps 16780784 茭 3765 hssnhpnpn 16781005 茨 3766 hssnhpzpn 16778001 荒 3767 hssnhzpsz 16779700 荄 3768 hssnhzppn 16779855 茺 3769 hssnhznpz 33556240 垩 3770 hssnphhsh 16777364 荓 3771 hssnphhps 33563685 茳 3772 hssnnhhsh 16780972 茫 3773 hssnnhnhz 16781418 荡 3774 hssnnhzpp 16778685 荢 3775 hssnnzhhs 0 茡 3776 hssnnzzsh 33569210 荌 3777 hssnnzzph 33554527 荣 3778 hssnzhspn 16782733 荤 3779 hssnzhzhs 16779807 荥 3780 hssnzszpn 16784914 荦 3781 hssnzphhs 16782633 荧 3782 hssnznppn 16785570 茟 3783 hsszhhhhs 33568695 荨 3784 hsszhhhsn 16783297 乹 3785 hsszhhhsz 33558721 茛 3786 hsszhhzpn 16779998 瓳 3787 hsszhhzzn 33558242 故 3788 hsszhphpn 16780116 荩 3789 hsszhpnnn 16780587 胡 3790 hsszhpzhh 16779588 兙 3791 hsszhpzhs 33565292 剋 3792 hsszhpzss 33559380 勀 3793 hsszhpzzp 33559389 勊 3794 hsszhpzzp 33559390 怘 3795 hsszhnznn 33558258 荪 3796 hsszshspn 16783765 荍 3797 hsszsphpn 16783982 荫 3798 hsszspzhh 16785495 茹 3799 hsszphszh 16782764 茘 3800 hsszpzpzp 33562556 荔 3801 hsszpzpzp 16782341 南 3802 hssznphhs 16781783 荬 3803 hssznnhpn 33560874 荭 3804 hsszzhhsh 16779522 荮 3805 hsszzhhsn 33569690 药 3806 hsszzhpzn 16785975 茲 3807 hsszznzzn 33569172 枺 3808 hspnhhspn 33561190 柰 3809 hspnhhspn 16781780 标 3810 hspnhhspn 16777830 栈 3811 hspnhhzpn 16786652 柾 3812 hspnhshsh 33560543 枿 3813 hspnhshps 16781936 桏 3814 hspnhshzs 33564359 柑 3815 hspnhsshh 16779883 枻 3816 hspnhsshz 16785716 枯 3817 hspnhsszh 16780431 栉 3818 hspnhsszs 16781087 枾 3819 hspnhspsh 33565361 柯 3820 hspnhszhs 16780371 柄 3821 hspnhszpn 16777702 柸 3822 hspnhpsnh 16782900 柘 3823 hspnhpszh 16786736 柨 3824 hspnhpszs 33563829 栊 3825 hspnhpzpn 16782155 柭 3826 hspnhpznn 33555076 柩 3827 hspnhpznz 16781174 枰 3828 hspnhnphs 16782983 栋 3829 hspnhzspn 16778749 桒 3830 hspnshspn 33564653 枮 3831 hspnshszh 33566893 栌 3832 hspnshzhp 16782530 柤 3833 hspnszhhh 16786597 查 3834 hspnszhhh 16778126 柦 3835 hspnszhhh 33556749 査 3836 hspnszhhh 16778127 相 3837 hspnszhhh 16785173 柙 3838 hspnszhhs 16785066 柛 3839 hspnszhhs 33565172 枵 3840 hspnszhhz 16785217 柚 3841 hspnszhsh 16786080 枳 3842 hspnszhpn 16786886 柍 3843 hspnszhpn 33568236 柷 3844 hspnszhpz 16787042 枴 3845 hspnszhzp 16780145 柺 3846 hspnszhzp 16780147 柟 3847 hspnszshh 16781788 柵 3848 hspnszssh 33569344 柶 3849 hspnszpzh 16783681 栍 3850 hspnphhsh 0 柣 3851 hspnphhpn 16786914 柞 3852 hspnphshh 16786593 柇 3853 hspnphspn 33558010 柂 3854 hspnphzsz 16785638 柎 3855 hspnpshsn 16779256 柏 3856 hspnpszhh 16777471 柝 3857 hspnpphsn 16784582 栃 3858 hspnpphzp 16782326 栀 3859 hspnpphzz 16786874 柧 3860 hspnppznn 33558995 柗 3861 hspnpnszh 33564717 柃 3862 hspnpnnzn 16782257 柢 3863 hspnpzhzn 16778841 栎 3864 hspnpzspn 16782072 枸 3865 hspnpzszh 16780043 栅 3866 hspnpzpzh 16783819 柳 3867 hspnpzpzs 16782518 柊 3868 hspnpznnn 33569628 栁 3869 hspnpznzs 33562932 桞 3870 hspnpznzs 0 枹 3871 hspnpzzhz 16777529 柱 3872 hspnnhhsh 16787040 柿 3873 hspnnhszs 16784084 柆 3874 hspnnhnph 33561901 栏 3875 hspnnphhh 16782018 柈 3876 hspnnphhs 16777500 柠 3877 hspnnnzhs 16781847 柼 3878 hspnnnzpn 33568327 柁 3879 hspnnnzpz 16779042 怸 3880 hspnnnznn 16784947 柲 3881 hspnnznpn 16777788 栐 3882 hspnnzzpn 33568466 柌 3883 hspnzhszh 33555707 柅 3884 hspnzhppz 16781873 柫 3885 hspnzhzps 33555333 柮 3886 hspnzsszs 16779044 枷 3887 hspnzpszh 16780834 柖 3888 hspnzpszh 33569430 柀 3889 hspnzpszn 33555234 柽 3890 hspnznhsh 16778297 树 3891 hspnznhsn 16784129 枱 3892 hspnznszh 33555702 柕 3893 hspnznzsp 33561009 栂 3894 hspnzznhn 33561014 柪 3895 hspnzznzp 33554555 怷 3896 hspznnznn 33566679 郣 3897 hsnzzshzs 33555136 勃 3898 hsnzzshzp 16777655 軌 3899 hszhhhspz 33559189 郙 3900 hszhhsnzs 16779322 郠 3901 hszhhpnzs 16780015 匽 3902 hszhhzphz 16785832 専 3903 hszhshhsn 16787048 剌 3904 hszhspnss 16781988 栆 3905 hszhspnnn 0 勅 3906 hszhspnzp 16778437 畐 3907 hszhszhsh 33555263 郚 3908 hszhszhzs 16784625 剅 3909 hszhnphss 33562287 郖 3910 hszhnphzs 33556890 垔 3911 hszsshhsh 16785498 要 3912 hszsshzph 16785932 酊 3913 hszpzhhhs 16778781 迺 3914 hszpzhnzn 16781772 郦 3915 hsznsznzs 16782379 柬 3916 hsznphspn 16780935 厙 3917 hphszhhhs 33565148 咸 3918 hphszhzpn 16785106 厖 3919 hphpzpppn 16782877 威 3920 hphzphzpn 16784745 歪 3921 hpsnhshsh 16784691 盃 3922 hpsnszssh 16777565 甭 3923 hpsnpzhhs 16777607 研 3924 hpszhhhps 16785798 砆 3925 hpszhhhpn 16779242 頁 3926 hpszhhhpn 33568391 砖 3927 hpszhhhzn 16787050 厘 3928 hpszhhshh 16782293 砈 3929 hpszhhpzz 33561869 迶 3930 hpszhhnzn 33568567 砗 3931 hpszhhzhs 16778247 厚 3932 hpszhhzsh 16779557 砑 3933 hpszhhzsp 16785771 砘 3934 hpszhhzsz 33557283 砒 3935 hpszhhzpz 16782992 砌 3936 hpszhhzzp 16783244 砙 3937 hpszhhzzn 33563484 砋 3938 hpszhshsh 33569747 砂 3939 hpszhspnp 16783795 泵 3940 hpszhszpn 16777616 砅 3941 hpszhszpn 16782327 砚 3942 hpszhszpz 16785861 厛 3943 hpszhpphs 33565829 斫 3944 hpszhpphs 16787111 砎 3945 hpszhpnps 33560433 砛 3946 hpszhpnnz 0 砏 3947 hpszhpnzp 33557525 砭 3948 hpszhpnzn 16777796 砕 3949 hpszhpzhs 16783745 砍 3950 hpszhpzpn 16780311 砜 3951 hpszhpzpn 33557570 砃 3952 hpszhpznh 16778618 砓 3953 hpszhpzzn 33569464 砇 3954 hpszhnhpn 33561217 砊 3955 hpszhnhpz 33559334 砄 3956 hpszhzhpn 33560710 面 3957 hpszsshhh 16781699 耐 3958 hpszsshsn 16781773 耎 3959 hpszsshpn 16782793 耏 3960 hpszssppp 16777376 耍 3961 hpszsszph 16784148 奎 3962 hpnhshhsh 16780504 耷 3963 hpnhsshhh 16778571 厗 3964 hpnhnphhs 33565875 郟 3965 hpnpnpnzs 33560053 奓 3966 hpnpznpzn 16783896 奒 3967 hpnnhzppn 33559286 盇 3968 hpnnszssh 33558011 羍 3969 hpnnphhhs 33565529 昚 3970 hpnnpszhh 33565195 牵 3971 hpnnzphhs 16783276 鸥 3972 hpnzpznzh 16777412 虺 3973 hpzszhshn 16779747 卼 3974 hpzpzhpzz 16784661 尯 3975 hpzpzhpzz 33559571 残 3976 hpznhhzpn 16777917 迾 3977 hpznssnzn 33562883 姴 3978 hpznsszph 33562880 殂 3979 hpznszhhh 16778034 殃 3980 hpznszhpn 16785890 殅 3981 hpznphhsh 33565215 殇 3982 hpznphzpp 16783862 殄 3983 hpznpnppp 16784455 殆 3984 hpznznszh 16778609 尮 3985 hpzzphspn 33557339 轱 3986 hzshhsszh 33558991 轲 3987 hzshhszhs 16780357 轳 3988 hzshshzhp 16782538 轴 3989 hzshszhsh 16786855 轵 3990 hzshszhpn 16786927 轶 3991 hzshphhpn 16785693 匨 3992 hzshphshz 33555556 轷 3993 hzshpnphs 33558188 轸 3994 hzshpnppp 16786771 轹 3995 hzshpzspn 16782348 轺 3996 hzshzpszh 16785948 轻 3997 hzshznhsh 16783135 匩 3998 hzsshhshz 33559505 鸦 3999 hzsppznzh 16785746 虿 4000 hzpszhshn 16778143 皆 4001 hzpzpszhh 16781077 毖 4002 hzpznznpn 16777778 剄 4003 hzzzhshss 33559736 勁 4004 hzzzhshzp 33559697 韭 4005 shhhshhhh 16781161 背 4006 shhpzszhh 16777566 呰 4007 shshpzszh 33569200 茍 4008 shshpzszh 16780048 姕 4009 shshpzzph 33569189 貞 4010 shszhhhpn 33569524 战 4011 shszhhzpn 16786653 敁 4012 shszhshzn 16778870 觇 4013 shszhszpz 16778150 点 4014 shszhnnnn 16778882 虐 4015 shzphzhzh 16781980 临 4016 ssphnszsh 16782199 览 4017 ssphnszpz 16782042 竖 4018 ssznnhnph 16784144 尜 4019 spnhpnspn 33558679 尛 4020 spnspnspn 33560840 省 4021 spnpszhhh 16783971 削 4022 snpszhhss 16785204 尝 4023 snpnzhhzn 16778203 盽 4024 szhhhhhhs 33557599 盶 4025 szhhhhhpz 33568833 眃 4026 szhhhhhzn 33568892 哐 4027 szhhhhshz 16780472 昧 4028 szhhhhspn 16781505 昩 4029 szhhhhspn 33561153 眄 4030 szhhhhszz 16781682 狊 4031 szhhhhpnn 33560600 眍 4032 szhhhhpnz 33559421 盹 4033 szhhhhzsz 16779007 昰 4034 szhhhshsh 33565330 是 4035 szhhhshpn 16784052 昻 4036 szhhhshzs 33554540 郢 4037 szhhhshzs 16785585 昮 4038 szhhhshzp 33569140 眇 4039 szhhhspnp 16781704 昞 4040 szhhhszpn 33555188 昺 4041 szhhhszpn 16777694 眊 4042 szhhhphhz 16781455 盺 4043 szhhhpphs 33566599 眅 4044 szhhhppzn 16782848 盻 4045 szhhhpnhz 16784996 則 4046 szhhhpnss 33569055 昦 4047 szhhhpnps 33557944 郥 4048 szhhhpnzs 33555011 盼 4049 szhhhpnzp 16782872 眨 4050 szhhhpnzn 16786605 眀 4051 szhhhpzhh 33561262 眂 4052 szhhhpzhz 33565318 昜 4053 szhhhpzpp 16785896 昽 4054 szhhhpzpn 16782161 盷 4055 szhhhpznh 33565943 盿 4056 szhhhnhpn 33561245 眆 4057 szhhhnhzp 33557464 眈 4058 szhhhnzpz 16778620 県 4059 szhhhzspn 16785133 哇 4060 szhhshhsh 16784683 咭 4061 szhhshszh 33559812 咾 4062 szhhshppz 16782089 哋 4063 szhhshzsz 16778723 咠 4064 szhhsshhh 16783175 咡 4065 szhhsshhh 16777406 哄 4066 szhhsshpn 16779514 哑 4067 szhhssnph 16785755 显 4068 szhhssnph 16785117 冒 4069 szhhszhhh 16781465 咺 4070 szhhszhhh 16785416 閂 4071 szhhszhhh 33565452 閁 4072 szhhszhhp 33560862 映 4073 szhhszhpn 16785586 禺 4074 szhhszshn 16786153 昷 4075 szhhszssh 33566520 哂 4076 szhhszpzh 16783949 星 4077 szhhphhsh 16784904 甠 4078 szhhphhsh 33563920 昳 4079 szhhphhpn 16778928 昨 4080 szhhphshh 16786581 咟 4081 szhhpszhh 33558660 哊 4082 szhhpszhh 33568563 咵 4083 szhhpnhhz 33559468 昣 4084 szhhpnppp 33569533 咴 4085 szhhpnppn 33558482 哒 4086 szhhpnnzn 16778574 昤 4087 szhhpnnzn 16782236 昫 4088 szhhpzszh 16785362 曷 4089 szhhpzpnz 16779477 昴 4090 szhhpzpzs 16781448 咧 4091 szhhpznss 16782476 昸 4092 szhhpznnn 33556848 昿 4093 szhhnhpzn 33559524 昱 4094 szhhnhnph 16786194 昡 4095 szhhnhzzn 16785419 昹 4096 szhhnzzpn 33554449 昵 4097 szhhzhppz 16781878 昲 4098 szhhzhzps 33557502 咦 4099 szhhzhzpn 16785634 昢 4100 szhhzsszs 33563567 哓 4101 szhhzphpz 16785221 昭 4102 szhhzpszh 16786691 哔 4103 szhhzpzhs 16777776 咥 4104 szhhznhsh 16778939 昪 4105 szhhznhps 33555365 畊 4106 szhshhhps 33558883 畉 4107 szhshhhpn 33557675 畎 4108 szhshhpnn 16783520 畏 4109 szhshhzpn 16784819 毗 4110 szhshhzpz 16783020 毘 4111 szhshhzpz 16783021 趴 4112 szhshshpn 16782829 呲 4113 szhshshpz 33555680 冑 4114 szhshszhh 33569693 胃 4115 szhshszhh 16784833 胄 4116 szhshszhh 16786871 贵 4117 szhshszpn 16780230 畋 4118 szhshphpn 16784446 畈 4119 szhshppzn 16779097 界 4120 szhshpnps 16781126 畍 4121 szhshpnps 33560444 畇 4122 szhshpznh 16786329 虶 4123 szhshnhhs 33568574 虷 4124 szhshnhhs 16779877 虹 4125 szhshnhsh 16779524 虾 4126 szhshnhsn 16785050 虽 4127 szhszhshn 16783731 虴 4128 szhshnphz 33569472 虼 4129 szhshnphz 16779991 虳 4130 szhshnpzn 33557013 虻 4131 szhshnnhz 16781534 蚁 4132 szhshnnpn 16785656 虸 4133 szhshnzsh 33569201 虵 4134 szhshnzsz 16783902 思 4135 szhshnznn 16783646 蚂 4136 szhshnzzh 16781359 盅 4137 szhsszssh 16786826 咣 4138 szhsnphpz 16780188 咢 4139 szhszhhhz 16777363 剈 4140 szhszhhss 33568781 品 4141 szhszhszh 16782971 哃 4142 szhszhszh 33565788 咽 4143 szhszhpnh 16785786 迵 4144 szhszhnzn 33565795 骂 4145 szhszhzzh 16781377 哕 4146 szhszspzn 33558569 剐 4147 szhszpnss 16780134 郧 4148 szhszpnzs 16786342 勋 4149 szhszpnzp 16785453 哖 4150 szhphhshs 0 咮 4151 szhphhspn 16786869 咶 4152 szhphsszh 16779647 咻 4153 szhpshspn 16785315 唌 4154 szhpshzzn 33566905 哗 4155 szhpspzhs 16779618 咱 4156 szhpszhhh 16786368 囿 4157 szhpszhhh 16786104 咿 4158 szhpszhhp 16785605 响 4159 szhpszszh 16785182 哘 4160 szhppshhs 0 哌 4161 szhpppzpn 33558993 哙 4162 szhpnhhzn 16780459 哈 4163 szhpnhszh 16779354 咷 4164 szhpnhzpn 16784315 哚 4165 szhpzhspn 16779035 咰 4166 szhpzszhh 33565451 哅 4167 szhpzpnzs 33558087 哛 4168 szhpzpnzp 0 咯 4169 szhpznszh 16779957 哆 4170 szhpznpzn 16779023 哜 4171 szhnhpnps 16780810 咬 4172 szhnhpnpn 16785971 咳 4173 szhnhzppn 16779357 咩 4174 szhnphhhs 16781717 咲 4175 szhnphhpn 33567132 咪 4176 szhnphspn 16781642 咤 4177 szhnnzphz 16786611 咹 4178 szhnnzzph 33554693 哝 4179 szhnzpzpn 16781834 哪 4180 szhzhhpzs 16781754 哏 4181 szhzhhzpn 33558876 哞 4182 szhznphhs 16781592 哟 4183 szhzzhpzn 16786014 峙 4184 szshshhsn 16784077 峔 4185 szshshppz 33561472 峘 4186 szshszhhh 33558193 峟 4187 szshpszhh 33568566 帞 4188 szshpszhh 33561151 峏 4189 szshpszss 33554750 耑 4190 szshpszss 33557219 峚 4191 szshpnhsh 33561373 炭 4192 szshpnppn 16784264 峛 4193 szshpznss 33562537 峢 4194 szshpznss 33562538 峸 4195 szshpzzpn 33556229 峡 4196 szshnphpn 16785068 峓 4197 szshzhzpn 16785641 峫 4198 szshzspzs 33568384 峣 4199 szshzphpz 16785960 峌 4200 szshznhsh 33557148 峠 4201 szsshhhsn 0 廽 4202 szsshhhzn 33558495 罘 4203 szsshhpsn 16779237 帧 4204 szsshszpn 16786743 罚 4205 szsshnzss 16779055 峒 4206 szsszhszh 16778756 峝 4207 szsszhszh 33556880 峤 4208 szsphpnps 16781067 峑 4209 szspnhhsh 33564550 峆 4210 szspnhszh 33557975 峇 4211 szspnhszh 16780366 帢 4212 szspnhszh 16783263 峜 4213 szspnshsh 33559820 峗 4214 szspzhpzz 33566469 峞 4215 szspzhpzz 16780514 峋 4216 szspzszhh 16785454 峈 4217 szspznszh 33563171 峉 4218 szspznszh 33554614 峥 4219 szspzzhhs 16786810 峕 4220 szsnhszhh 33565304 峧 4221 szsnhpnpn 33560303 峐 4222 szsnhzppn 33558694 帡 4223 szsnphhps 16782978 峖 4224 szsnnzzph 33554498 峍 4225 szszhhhhs 33563059 迴 4226 szszhhnzn 16779764 峎 4227 szszhhzpn 33562083 贱 4228 szpnhhzpn 16780944 沯 4229 szpnhpszh 33569000 贴 4230 szpnshszh 16784483 畓 4231 szpnszhsh 0 贶 4232 szpnszhpz 16780478 泴 4233 szpnszssh 33559130 圀 4234 szpnnhzph 16780262 贻 4235 szpnznszh 16785622 骨 4236 szznzszhh 16780077 幽 4237 szznzznzs 16786053 钚 4238 phhhshpsn 16777885 钘 4239 phhhzhhps 33560105 钙 4240 phhhzhshz 16779867 钛 4241 phhhzhpnn 16784228 钜 4242 phhhzhzhz 16781237 钝 4243 phhhzhzsz 16779016 钞 4244 phhhzspnp 16778237 钟 4245 phhhzszhs 16786824 钠 4246 phhhzszpn 16781760 钡 4247 phhhzszpn 16777583 钢 4248 phhhzszpn 16779915 钣 4249 phhhzppzn 16777494 钤 4250 phhhzpnnz 16783301 钥 4251 phhhzpzhh 16785978 钦 4252 phhhzpzpn 16783101 钧 4253 phhhzpznh 16781337 钨 4254 phhhzpzzh 16784604 钩 4255 phhhzpzzn 16780042 钪 4256 phhhznhpz 16780339 钫 4257 phhhznhzp 16779108 钬 4258 phhhznppn 16779823 钭 4259 phhhznnhs 16784371 钮 4260 phhhzzshh 16781946 钯 4261 phhhzzshz 16777451 卸 4262 phhshshzs 16785274 乗 4263 phhsshspn 16778304 缸 4264 phhszshsh 16779905 拜 4265 phhphhhhs 16777476 看 4266 phhpszhhh 16780305 矩 4267 phhpnhzhz 16781223 矨 4268 phhpnphpn 33567723 怣 4269 phhpnnznn 33568498 矧 4270 phhpnzhzs 16783950 氞 4271 phhzhszpn 0 毡 4272 phhzshszh 16786641 氠 4273 phhzszhhs 33565154 氡 4274 phhzpznnn 16778739 氟 4275 phhzzhzps 16779268 氢 4276 phhzznhsh 16783131 牯 4277 phshhsszh 16780100 牱 4278 phshhszhs 33559355 怎 4279 phshhnznn 16786444 牰 4280 phshszhsh 33568556 郜 4281 phshszhzs 16779944 勂 4282 phshszhzp 33557937 牭 4283 phshszpzh 33564805 牲 4284 phshphhsh 16783965 牴 4285 phshpzhzn 16778834 选 4286 phshpznzn 16785414 牳 4287 phshzznhn 16781726 适 4288 phsszhnzn 16784043 臿 4289 phspshzhh 16778128 秐 4290 phspnhhzn 33568911 秓 4291 phspnhszn 33569714 秬 4292 phspnhzhz 16781251 秕 4293 phspnhzpz 16777729 秒 4294 phspnspnp 16781710 香 4295 phspnszhh 16785166 种 4296 phspnszhs 16786833 秏 4297 phspnphhz 16779451 秗 4298 phspnphpn 33568758 秎 4299 phspnpnzp 33557566 秖 4300 phspnpzhz 33569715 秭 4301 phspnpzsp 16786523 秔 4302 phspnnhpz 33559730 秋 4303 phspnnppn 16783421 科 4304 phspnnnhs 16780368 重 4305 phszhhshh 16778338 复 4306 phszhhpzn 16779327 竽 4307 phnphnhhs 16786163 竿 4308 phnphnhhs 16779887 笁 4309 phnphnhsh 33569875 竼 4310 phnphnpzn 33563618 笂 4311 phnphnpzn 0 笈 4312 phnphnpzn 16780715 笀 4313 phnphnnhz 33560935 竾 4314 phnphnzsz 16778409 笃 4315 phnphnzzh 16778965 勄 4316 phzznhnzp 33561259 俦 4317 pshhhphsn 16778363 段 4318 pshhhpzzn 16778989 侾 4319 pshshpzsh 33557919 俧 4320 pshshnznn 0 俨 4321 pshssnphp 16785852 俅 4322 pshsnhpnn 16783438 怤 4323 pshsnnznn 33557636 侼 4324 pshsnzzsh 33555125 俥 4325 pshszhhhs 33556071 俌 4326 pshszhhsn 33557727 便 4327 pshszhhpn 16777825 俉 4328 pshszhszh 33566212 侸 4329 pshszhnph 33565435 俩 4330 pshszpnpn 16782385 俪 4331 pshsznszn 16782380 侲 4332 pshphhzpn 33569562 俖 4333 pshpsnszh 33563479 俠 4334 pshpnpnpn 33566862 俫 4335 pshnphspn 33561955 舁 4336 pshzhhhps 16786110 帠 4337 pshzhhszs 33567864 叟 4338 pshzhhszn 16783641 垡 4339 pshzpnhsh 33557374 柋 4340 pshznhspn 33556680 贷 4341 pshznszpn 16778604 牉 4342 pshznphhs 33563501 牮 4343 pshznphhs 16780953 牊 4344 pshzzpszh 33565101 俓 4345 pshzzzhsh 16780652 顺 4346 psshpszpn 16784178 修 4347 psspznppp 16785316 俏 4348 pssnpszhh 16783385 侱 4349 psszhhhsh 33556235 俣 4350 psszhhhpn 16786182 俔 4351 psszhhhpz 16785154 俚 4352 psszhhshh 16782321 保 4353 psszhhspn 16777541 俜 4354 psszhshhz 16782976 促 4355 psszhshpn 16778045 侽 4356 psszhshzp 33561553 侶 4357 psszhpszh 33563200 俁 4358 psszhzhpn 33568679 俋 4359 psszhzshz 33567990 侺 4360 psszspnnz 33565204 俈 4361 psphshszh 33559460 俄 4362 psphshzpn 16777329 俐 4363 psphspnss 16782374 俬 4364 psphspnzn 33564790 侮 4365 psphzznhn 16784643 俆 4366 pspnhhspn 33565384 俙 4367 pspnhpszs 33566721 俭 4368 pspnhnnph 16780936 侳 4369 pspnpnhsh 33555850 俗 4370 pspnpnszh 16783691 俘 4371 pspnnpzsh 16779298 俀 4372 pspnnpzph 33566096 俛 4373 pspzszhpz 16781698 俇 4374 pspzphhsh 33559520 係 4375 pspzznspn 33566817 信 4376 psnhhhszh 16784902 侻 4377 psnpszhpz 33566128 俤 4378 psnpzhzsp 33565919 俒 4379 psnnzhhpz 33558612 俕 4380 psnnzhspn 33564652 俍 4381 psnzhhzpn 33562066 皇 4382 pszhhhhsh 16779714 鳬 4383 pszhhhzpz 33557707 皍 4384 pszhhhzzs 33559874 泉 4385 pszhhszpn 16783513 敀 4386 pszhhphpn 33555091 侰 4387 pszhhpszh 33560488 皈 4388 pszhhppzn 16780203 卽 4389 pszhhpzzs 33559868 鬼 4390 pszhhpzzn 16780217 侵 4391 pszhhnzzn 16783103 皅 4392 pszhhzshz 33563465 禹 4393 pszhszshn 16786178 侯 4394 pszhphhpn 16779545 侷 4395 pszhpzszh 33560595 峊 4396 pszhzhszs 33557782 帥 4397 pszhzhszs 33565448 追 4398 pszhzhnzn 16787076 衂 4399 pszsshzpn 33561889 逈 4400 pszszhnzn 33560475 怹 4401 pszsznznn 16784233 俑 4402 psznszhhs 16786044 俟 4403 psznphhpn 16783225 俊 4404 psznpnpzn 16781351 盾 4405 pphsszhhh 16779018 垕 4406 pphszhhsh 16779556 逅 4407 pphszhnzn 16779549 衎 4408 ppshhshhs 16780323 徍 4409 ppshshhsh 33566279 待 4410 ppshshhsn 16778595 徔 4411 ppshssnzn 0 徆 4412 ppshszpzh 33566702 徊 4413 ppsszszhh 16779641 徇 4414 ppspzszhh 16785479 徉 4415 ppsnphhhs 16785904 爮 4416 ppsnpzzhz 33563532 衍 4417 ppsnnhhhs 16785838 律 4418 ppszhhhhs 16782660 很 4419 ppszhhzpn 16779495 後 4420 ppszznpzn 16779554 须 4421 ppphpszpn 16785344 乺 4422 ppzhpphsz 0 舡 4423 ppznhnhsh 16778496 舢 4424 ppznhnszs 16783821 舤 4425 ppznhnpzn 33557399 舣 4426 ppznhnnpn 16785649 叙 4427 pnhhspnzn 16785383 釓 4428 pnhhsnphz 33558682 釔 4429 pnhhsnphz 33567842 剎 4430 pnhspnnss 33555886 俞 4431 pnhszhhss 16786157 弇 4432 pnhszhhps 16785823 兪 4433 pnhszhhzz 33565425 郗 4434 pnhpszszs 16778386 剑 4435 pnhnnphss 16780948 侴 4436 pnhzshhss 33556305 逃 4437 pnhzpnnzn 16784304 剉 4438 pnpnhshss 16778104 俎 4439 pnpnszhhh 16786549 爼 4440 pnpnszhhh 33569233 卻 4441 pnpnszhzs 16783533 郤 4442 pnpnszhzs 16785047 爰 4443 pnnphhpzn 16786263 爯 4444 pnnpszshh 33556168 郛 4445 pnnpzshzs 16779299 食 4446 pnnzhhzpn 16784030 瓴 4447 pnnznhzzn 16782269 兺 4448 pnzpszhpz 0 盆 4449 pnzpszssh 16782917 鸧 4450 pnzzpznzh 33555549 胠 4451 pzhhhshzn 16783466 朑 4452 pzhhhsshz 0 胢 4453 pzhhhszhs 33559359 胚 4454 pzhhhpsnh 16782899 胧 4455 pzhhhpzpn 16782172 胈 4456 pzhhhpznn 33554807 胓 4457 pzhhhnphs 33563699 胨 4458 pzhhhzspn 33556884 胩 4459 pzhhshhsn 33559284 胋 4460 pzhhshszh 33565939 胪 4461 pzhhshzhp 16782547 胆 4462 pzhhszhhh 16778640 胂 4463 pzhhszhhs 16778261 胛 4464 pzhhszhhs 16780860 胑 4465 pzhhszhpn 16786889 胦 4466 pzhhszhpn 16785892 胜 4467 pzhhphhsh 16783966 胅 4468 pzhhphhpn 33557147 胙 4469 pzhhphshh 16786592 胣 4470 pzhhphzsz 33567844 胕 4471 pzhhpshsn 33557785 胉 4472 pzhhpszhh 33555129 胍 4473 pzhhppznn 16780131 胗 4474 pzhhpnppp 16786763 朎 4475 pzhhpnnzn 33562377 胝 4476 pzhhpzhzn 16786891 朐 4477 pzhhpzszh 16783470 胞 4478 pzhhpzzhz 16777530 胘 4479 pzhhnhzzn 33566936 胖 4480 pzhhnphhs 16782858 脉 4481 pzhhnzzpn 16781385 胒 4482 pzhhzhppz 33561747 胇 4483 pzhhzhzps 33557516 朏 4484 pzhhzsszs 16779142 胫 4485 pzhhznhsh 16780655 胎 4486 pzhhznszh 16784214 胟 4487 pzhhzznhn 33561473 鸨 4488 pzhspznzh 16777536 匍 4489 pzhszhhsn 16783074 矦 4490 pzhpphhpn 33558163 負 4491 pzszhhhpn 33557774 迿 4492 pzszhhnzn 16785486 敂 4493 pzszhphpn 33559432 斪 4494 pzszhpphs 33560556 欨 4495 pzszhpzpn 16785336 勉 4496 pzszhpzzp 16781697 奐 4497 pzszpnhpn 33558399 狨 4498 pzphhpzpn 16782745 狤 4499 pzphshszh 33559900 狫 4500 pzphshppz 16782092 狟 4501 pzphszhhh 16779674 狭 4502 pzphnphpn 16785069 狮 4503 pzpsphszs 16784015 独 4504 pzpszhshn 16778964 風 4505 pzpszhshn 16779214 狪 4506 pzpszhszh 33565757 狦 4507 pzpszsshh 33565031 狧 4508 pzpphsszh 16784211 狿 4509 pzppshzzn 33568134 甮 4510 pzpppzhhs 33557615 狯 4511 pzppnhhzn 16779628 狣 4512 pzppnhzpn 33569455 怱 4513 pzppnnznn 16777973 狥 4514 pzppzszhh 16785484 狢 4515 pzppznszh 33557938 狰 4516 pzppzzhhs 16786812 狡 4517 pzpnhpnpn 16781047 飐 4518 pzpnshszh 33569381 飑 4519 pzpnpzzhz 16777847 狩 4520 pzpnnzhsn 16783994 狱 4521 pzpnzhpnn 16786244 觓 4522 pzpzhhszs 33560503 觔 4523 pzpzhhszp 16780563 狠 4524 pzpzhhzpn 16779496 狲 4525 pzpzshspn 16783768 訄 4526 pznhhhszh 33564400 訇 4527 pznhhhszh 16779509 胊 4528 pznhpzszh 16783481 胐 4529 pznhzsszs 33559450 逄 4530 pznhzsnzn 16782875 昝 4531 pznsnszhh 16786384 迻 4532 pznpznnzn 16785647 夈 4533 pznnphspn 0 粂 4534 pznnphspn 0 贸 4535 pznzpszpn 16781458 怨 4536 pznzznznn 16786289 急 4537 pzzhhnznn 16780724 饵 4538 pzzhsshhh 16777392 饶 4539 pzzhzphpz 16782690 炰 4540 pzzhznnnn 16782893 蚀 4541 pzzszhshn 16784022 饷 4542 pzzpszszh 16785179 饸 4543 pzzpnhszh 33557990 饹 4544 pzzpznszh 33562143 饺 4545 pzznhpnpn 16781037 饻 4546 pzznhpzpn 33566697 胤 4547 pzznszhhz 16785536 饼 4548 pzznphhps 16777697 訂 4549 nhhhszhhs 33556931 計 4550 nhhhszhhs 33559933 訃 4551 nhhhszhsn 33557739 訅 4552 nhhhszhpz 33564401 訆 4553 nhhhszhzs 33560338 殶 4554 nhhshpzzn 33569936 凁 4555 nhhszhspn 33565437 峦 4556 nhsspnszs 16782598 変 4557 nhsspnpzn 16777812 弯 4558 nhsspnzhz 16784694 孪 4559 nhsspnzsh 16782596 娈 4560 nhsspnzph 16782413 将 4561 nhspznhsn 16780970 奖 4562 nhspznhpn 16780984 亰 4563 nhszhhspn 33559728 畒 4564 nhszhshpn 33561467 畆 4565 nhszhshzn 33561465 亯 4566 nhszhszhh 33563591 哀 4567 nhszhpzpn 16777228 亭 4568 nhszhnzhs 16784393 亮 4569 nhszhnzpz 16782447 庤 4570 nhphshhsn 16786966 度 4571 nhphsshzn 16778978 庢 4572 nhphznhsh 33569820 庛 4573 nhpshshpz 33555683 亱 4574 nhpsszhhh 33568424 弈 4575 nhpspnhps 16785668 奕 4576 nhpspnhpn 16785687 帟 4577 nhpspnszs 16785675 迹 4578 nhpspnnzn 16780710 庭 4579 nhpphshzn 16784394 庥 4580 nhppshspn 16785314 庣 4581 nhppnhzpn 33565970 凃 4582 nhpnhhspn 33566036 疬 4583 nhpnhhpzp 16782366 疣 4584 nhpnhhpzn 16786071 疨 4585 nhpnhhzsp 33566834 疪 4586 nhpnhhzpz 33555306 彥 4587 nhpnhpppp 33568195 疥 4588 nhpnhpnps 16781128 疭 4589 nhpnhpnpn 33569144 疺 4590 nhpnhpnzn 33557376 疮 4591 nhpnhpnzz 16778512 疩 4592 nhpnhpzhs 33555802 疧 4593 nhpnhpzhz 16784978 庡 4594 nhpnhpzpn 33567838 疯 4595 nhpnhpzpn 16779216 疫 4596 nhpnhpzzn 16785714 疢 4597 nhpnhnppn 16778286 疦 4598 nhpnhzhpn 33560772 疤 4599 nhpnhzshz 16777435 兗 4600 nhpnszhpz 33568147 庠 4601 nhpnphhhs 16785175 庰 4602 nhpnphhps 33555198 凂 4603 nhpzszhpz 33561042 垐 4604 nhpzpnhsh 33555696 咨 4605 nhpzpnszh 16786504 姿 4606 nhpzpnzph 16786513 亲 4607 nhnphhspn 16783102 攱 4608 nhnphhszn 33559173 竑 4609 nhnphhpzn 16779533 竗 4610 nhnphspnp 33561432 音 4611 nhnphszhh 16785504 竒 4612 nhnphszhs 33559818 竓 4613 nhnphphhz 33565221 竔 4614 nhnphphps 33565222 彦 4615 nhnphpppp 16785872 竕 4616 nhnphpnzp 33565223 飒 4617 nhnphpzpn 16783554 竐 4618 nhnphpzzn 33556483 帝 4619 nhnpnzszs 16778849 衁 4620 nhzpszssh 16779698 斾 4621 nhzpphszs 33563575 斿 4622 nhzpphzsh 16786078 施 4623 nhzpphzsz 16784011 乻 4624 nhzppnnnz 0 旀 4625 nhzpznspn 0 玅 4626 nhzznspnp 16781713 闺 4627 nszhshhsh 16780212 闻 4628 nszhsshhh 16784847 闼 4629 nszhpnnzn 16784212 闽 4630 nszszhshn 16781624 闾 4631 nszszhszh 16782641 闿 4632 nszszszhz 16780291 阀 4633 nszpshzpn 16779051 阁 4634 nszpznszh 16779963 阂 4635 nsznhzppn 16779455 差 4636 nphhhphsh 16777998 羏 4637 nphhhpppp 33567045 养 4638 nphhhpnps 16785916 羗 4639 nphhhpzzn 33564230 美 4640 nphhshhpn 16781499 羑 4641 nphhshpzn 16786085 姜 4642 nphhshzph 16780981 迸 4643 nphhpsnzn 16777617 剏 4644 nphhpszpn 33556515 叛 4645 nphhpppzn 16782870 帣 4646 nphhpnszs 16781271 送 4647 nphhpnnzn 16783619 巻 4648 nphhpnzhz 16781268 弮 4649 nphhpnzhz 16783493 籿 4650 nphspnhsn 33555822 类 4651 nphspnhpn 16782140 粀 4652 nphspnhpn 33569421 籼 4653 nphspnszs 16785081 粁 4654 nphspnphs 16783278 籷 4655 nphspnphz 33569474 籺 4656 nphspnphz 33567162 迷 4657 nphspnnzn 16781657 籸 4658 nphspnzhs 16783929 籽 4659 nphspnzsh 16786517 娄 4660 nphspnzph 16782180 籹 4661 nphspnzph 16781975 籾 4662 nphspnzpn 33561700 前 4663 nphszhhss 16783293 酋 4664 nphszpzhh 16783428 首 4665 nphpszhhh 16783987 逆 4666 nphzspnzn 16781877 兹 4667 nphzznzzn 16778005 总 4668 npszhnznn 16786464 炡 4669 nppnhshsh 33569584 炢 4670 nppnhspnn 33569889 炣 4671 nppnhszhs 33559371 炳 4672 nppnhszpn 16777700 炻 4673 nppnhpszh 33565302 炦 4674 nppnhpznn 33554802 炼 4675 nppnhzzpn 16782424 炶 4676 nppnshszh 33557814 炟 4677 nppnszhhh 33556642 炠 4678 nppnszhhs 33566854 畑 4679 nppnszhsh 33565930 炴 4680 nppnszhpn 33568276 炽 4681 nppnszhpn 16778436 炾 4682 nppnszhpz 33563697 炯 4683 nppnszszh 16781141 炸 4684 nppnphshh 16786601 秌 4685 nppnphspn 33564396 炧 4686 nppnphzsz 33557355 炿 4687 nppnppznh 0 烀 4688 nppnpnphs 33558190 炩 4689 nppnpnnzn 33562454 烁 4690 nppnpzspn 16784187 炵 4691 nppnpznnn 33556852 炮 4692 nppnpzzhz 16782892 炷 4693 nppnnhhsh 16787034 炫 4694 nppnnhzzn 16785428 烂 4695 nppnnphhh 16782045 炨 4696 nppnnnzpz 33557356 炥 4697 nppnzhzps 33557697 炪 4698 nppnzsszs 33570030 炤 4699 nppnzpszh 16786707 烃 4700 nppnznhsh 16780634 炲 4701 nppnznszh 33565575 剃 4702 npzhzspss 16784426 為 4703 npzzznnnn 33566416 洭 4704 nnhhhhshz 33559506 洡 4705 nnhhhhspn 33562168 洼 4706 nnhhshhsh 16784679 洔 4707 nnhhshhsn 33569748 洁 4708 nnhhshszh 16781086 洘 4709 nnhhshphz 33559340 洱 4710 nnhhsshhh 16777389 洪 4711 nnhhsshpn 16779518 洹 4712 nnhhszhhh 16779662 洅 4713 nnhhszshh 33569252 洓 4714 nnhhszspn 33564064 洒 4715 nnhhszpzh 16783547 洦 4716 nnhhpszhh 33563636 洧 4717 nnhhpszhh 16784788 洊 4718 nnhhpszsh 16780937 洏 4719 nnhhpszss 16777375 洿 4720 nnhhpnhhz 16784596 洃 4721 nnhhpnppn 33558464 洌 4722 nnhhpznss 16782477 浃 4723 nnhhnphpn 16780825 柒 4724 nnhhzhspn 16783181 洟 4725 nnhhzhzpn 16785616 浇 4726 nnhhzphpz 16781007 洷 4727 nnhhznhsh 33569783 泚 4728 nnhshshpz 16778017 浈 4729 nnhshszpn 16778302 浉 4730 nnhsphszs 16784004 洸 4731 nnhsnphpz 16780185 洩 4732 nnhszhhzp 16785268 浊 4733 nnhszhshn 16787102 浀 4734 nnhszhssh 33564507 洞 4735 nnhszhszh 16778750 洇 4736 nnhszhpnh 33567522 洄 4737 nnhszszhh 16779757 测 4738 nnhszpnss 16777953 洙 4739 nnhphhspn 16786984 洗 4740 nnhphshpz 16785012 涏 4741 nnhphshzn 33565844 活 4742 nnhphsszh 16779821 洑 4743 nnhpshpnn 16779264 浌 4744 nnhpshzpn 0 涎 4745 nnhpshzzn 16785103 洎 4746 nnhpszhhh 16780772 洢 4747 nnhpszhhp 16785595 洫 4748 nnhpszssh 16785363 洉 4749 nnhpphszh 33558168 洐 4750 nnhppshhs 33566637 派 4751 nnhpppzpn 16782844 洀 4752 nnhppznhn 33569651 洤 4753 nnhpnhhsh 33564530 浍 4754 nnhpnhhzn 16779623 洽 4755 nnhpnhszh 16783264 洮 4756 nnhpnhzpn 16784308 洕 4757 nnhpnszhh 33567523 染 4758 nnhpzhspn 16782674 洬 4759 nnhpzhpzn 33564841 洈 4760 nnhpzhpzz 33566398 洵 4761 nnhpzszhh 16785461 洶 4762 nnhpzpnzs 33567246 洚 4763 nnhpznhzs 16780992 洛 4764 nnhpznszh 16782631 洺 4765 nnhpznszh 16781630 浄 4766 nnhpzzhhs 16780636 乼 4767 nnhnhhshz 0 洂 4768 nnhnhpspn 33567850 浏 4769 nnhnhpnss 16782501 济 4770 nnhnhpnps 16780760 洨 4771 nnhnhpnpn 16785199 浐 4772 nnhnhnphp 16778181 洋 4773 nnhnphhhs 16785895 洴 4774 nnhnphhps 16777613 浂 4775 nnhnphhpn 33567886 洣 4776 nnhnphspn 33561325 洲 4777 nnhnpnsns 16786843 洝 4778 nnhnnzzph 33554523 浑 4779 nnhnzhzhs 16779814 浒 4780 nnhnzphhs 16779596 浓 4781 nnhnzpzpn 16781827 津 4782 nnhzhhhhs 16780555 浔 4783 nnhzhhhsn 16785465 泿 4784 nnhzhhzpn 33567582 浕 4785 nnhzhpnnn 33559684 洆 4786 nnhzszpnh 33556192 洳 4787 nnhzphszh 16782785 洠 4788 nnhznphhs 33561202 恇 4789 nnshhhshz 16780469 恜 4790 nnshhshzn 33556391 恸 4791 nnshhznzp 16784363 恃 4792 nnshshhsn 16784056 恄 4793 nnshshszh 33566791 恅 4794 nnshshppz 33562109 恾 4795 nnshssnhz 33560949 恒 4796 nnshszhhh 16779503 恓 4797 nnshszpzh 16784954 恆 4798 nnshsznnh 33558902 恹 4799 nnshphpnn 16778454 恠 4800 nnshpshsh 16780150 恗 4801 nnshpnhhz 33558186 恢 4802 nnshpnppn 16779745 恞 4803 nnshzhzpn 33567785 恎 4804 nnshznhsh 33557126 恍 4805 nnssnphpz 16779733 恫 4806 nnsszhszh 16778752 恛 4807 nnsszszhh 16779759 恺 4808 nnsszszhz 16780295 恻 4809 nnsszpnss 16777957 恬 4810 nnsphsszh 16784448 恘 4811 nnspshspn 33564388 恤 4812 nnspszssh 16785367 恦 4813 nnspszszh 33567067 恮 4814 nnspnhhsh 33564540 恰 4815 nnspnhszh 16783265 恡 4816 nnspnhpzn 33562361 恌 4817 nnspnhzpn 16784460 恱 4818 nnspnznpz 33568865 恑 4819 nnspzhpzz 16780219 恂 4820 nnspzszhh 16785464 恉 4821 nnspzszhh 16786923 恟 4822 nnspzpnzs 16785298 恪 4823 nnspznszh 16780387 恀 4824 nnspznpzn 33556362 恔 4825 nnsnhpnpn 16785234 恼 4826 nnsnhpnzs 16781811 恲 4827 nnsnphhps 33563588 恽 4828 nnsnzhzhs 16786353 恨 4829 nnszhhzpn 16779497 恊 4830 nnszpzpzp 33567149 恈 4831 nnsznphhs 33561204 举 4832 nnphpnhhs 16781213 単 4833 nnpszhhhs 16778157 栄 4834 nnpnzhspn 16782727 泶 4835 nnpnzszpn 33567452 觉 4836 nnpnzszpz 16781064 宣 4837 nnzhszhhh 16785399 宦 4838 nnzhszhsz 16779693 宥 4839 nnzhpszhh 16786098 宬 4840 nnzhpzzpn 16778313 室 4841 nnzhznhsh 16784067 宫 4842 nnzszhszh 16780025 宪 4843 nnzphshpz 16785149 穽 4844 nnzpnhhps 16780627 穼 4845 nnzpnhspn 33564702 突 4846 nnzpnhpnn 16784491 穿 4847 nnzpnhzsp 16778493 窀 4848 nnzpnhzsz 16787086 宨 4849 nnzpnhzpn 33565996 窃 4850 nnzpnhzzp 16783394 窂 4851 nnzpnphhs 16782075 穾 4852 nnzpnphpn 33568361 窆 4853 nnzpnpnzn 16777810 客 4854 nnzpznszh 16780390 宩 4855 nnznphspn 33565316 叜 4856 nnznppnzn 33564749 诪 4857 nzhhhphsn 16786854 诫 4858 nzhhpszpn 16781132 冠 4859 nzhhpzhsn 16780157 郞 4860 nzhhzpnzs 16782061 诬 4861 nzhspnpnh 16784609 軍 4862 nzhszhhhs 16781341 语 4863 nzhszhszh 16786184 扂 4864 nzhpshszh 33557061 扁 4865 nzhpszhss 16777809 扃 4866 nzhpszszh 16781133 衭 4867 nzspnhhpn 16779248 袆 4868 nzspnhhzs 16779748 衼 4869 nzspnhszn 33569708 衵 4870 nzspnszhh 16782759 衻 4871 nzspnszhh 33563234 衶 4872 nzspnszhs 33569644 衲 4873 nzspnszpn 16781758 衽 4874 nzspnphsh 16782715 袄 4875 nzspnphpn 16777307 衸 4876 nzspnpnps 33567217 衿 4877 nzspnpnnz 16780558 衯 4878 nzspnpnzp 33557532 衳 4879 nzspnpnzn 33569622 衹 4880 nzspnpzhz 16783204 袀 4881 nzspnpznh 33560795 袇 4882 nzspnpznh 33563237 衴 4883 nzspnnzpz 33556709 袂 4884 nzspnzhpn 16781508 祙 4885 nzsnhhspn 33561053 祛 4886 nzsnhshzn 16783451 祜 4887 nzsnhsszh 16779607 祏 4888 nzsnhpszh 16784020 祐 4889 nzsnhpszh 16786094 祓 4890 nzsnhpznn 16779274 祖 4891 nzsnszhhh 16786545 神 4892 nzsnszhhs 16783939 祝 4893 nzsnszhpz 16787028 祑 4894 nzsnphhpn 33569797 祚 4895 nzsnphshh 16786590 祔 4896 nzsnpshsn 16779335 诮 4897 nzsnpszhh 16783387 祗 4898 nzsnpzhzn 16786881 祢 4899 nzsnpzspn 16781648 祕 4900 nzsnnznpn 16781670 祠 4901 nzsnzhszh 16778004 祒 4902 nzsnzpszh 33565975 误 4903 nzszhhhpn 16784674 诰 4904 nzphshszh 16779945 诱 4905 nzphspnzp 16786102 诲 4906 nzphzznhn 16779799 冟 4907 nzpszhhpz 33565356 诳 4908 nzpzphhsh 16780476 鸩 4909 nzpzpznzh 16786782 说 4910 nznpszhpz 16784173 昶 4911 nzzpnszhh 16778218 诵 4912 nzznszhhs 16783623 诶 4913 nzznphhpn 16777231 郡 4914 zhhpszhzs 16781352 垦 4915 zhhzpnhsh 16780397 退 4916 zhhzpnnzn 16784531 既 4917 zhhznhzpz 16780813 叚 4918 zhshhzhzn 33560071 屍 4919 zhphpznpz 33565268 屋 4920 zhphznhsh 16784598 屌 4921 zhpszhszs 16778912 昼 4922 zhpnszhhh 16786862 咫 4923 zhpnszhpn 16786930 屏 4924 zhpnphhps 16777695 屎 4925 zhpnphspn 16784035 弭 4926 zhzhsshhh 16781658 弫 4927 zhzhszhsz 33569535 昬 4928 zhzhzszhh 16779805 敃 4929 zhzhzphpn 16781616 盄 4930 zhzsszssh 33569429 费 4931 zhzpsszpn 16779156 巺 4932 zhzzhzhpn 33567521 陦 4933 zshhhphsn 33569802 陡 4934 zshshshpn 16778762 逊 4935 zshspnnzn 16785476 陣 4936 zshszhhhs 33569557 陠 4937 zshszhhsn 33563822 韋 4938 zshszhhzs 33566419 陙 4939 zshphhzpn 33556568 牁 4940 zshphszhs 16780354 眉 4941 zshpszhhh 16781470 胥 4942 zshpnszhh 16785348 陜 4943 zshpnpnpn 16783839 陝 4944 zshpnpnpn 33565035 孩 4945 zshnhzppn 16779359 孨 4946 zshzshzsh 33561741 巼 4947 zshzszhpz 0 陛 4948 zshzpzhsh 16777748 陘 4949 zshzzzhsh 33566643 陟 4950 zsshshspp 16786950 陗 4951 zssnpszhh 33564304 陧 4952 zsszhhhsh 16781929 陨 4953 zsszhszpn 16786345 凾 4954 zsszhznzs 33557838 芔 4955 zsszspzss 16779784 欪 4956 zsszspzpn 33556464 陞 4957 zsphpshsh 33565210 除 4958 zspnhhspn 16778451 险 4959 zspnhnnph 16785121 陥 4960 zspzsszhh 16785142 埅 4961 zsnhzphsh 33557462 院 4962 zsnnzhhpz 16786293 巹 4963 zszpnhzhz 33559668 陖 4964 zsznpnpzn 33560816 姸 4965 zphhhphhs 33568131 娀 4966 zphhhpzpn 16783607 娃 4967 zphhshhsh 16784685 姞 4968 zphhshszh 16780755 姥 4969 zphhshppz 16782091 娂 4970 zphhsshpn 33558091 娅 4971 zphhssnph 16785769 姮 4972 zphhszhhh 16779508 姫 4973 zphhszhsz 16786778 姷 4974 zphhpszhh 33568568 姱 4975 zphhpnhhz 16780443 娍 4976 zphhpzzpn 33556195 姨 4977 zphhzhzpn 16785643 娆 4978 zphhzphpz 16782688 姪 4979 zphhznhsh 33569743 姯 4980 zphsnphpz 33559142 姛 4981 zphszhszh 33565801 帤 4982 zphszhszs 33563402 姻 4983 zphszhpnh 16785505 姩 4984 zphphhshs 33561758 姝 4985 zphphhspn 16784106 姺 4986 zphphshpz 16785132 娗 4987 zphphshzn 33556932 姡 4988 zphphsszh 33559633 娇 4989 zphphpnps 16781002 娫 4990 zphpshzzn 33568089 姙 4991 zphpsphsh 33563319 姠 4992 zphpszszh 33565093 娰 4993 zphpsznpn 33564796 姤 4994 zphpphszh 16780066 姾 4995 zphpnhhsh 33564556 姶 4996 zphpnhszh 33568172 姚 4997 zphpnhzpn 16785959 姵 4998 zphpzhszs 33563580 姽 4999 zphpzhpzz 16780228 姰 5000 zphpzszhh 33560806 姳 5001 zphpznszh 33561283 姼 5002 zphpznpzn 33556381 婙 5003 zphpzzhhs 33559753 姣 5004 zphnhpnpn 16781022 姟 5005 zphnhzppn 33558695 姘 5006 zphnphhps 16782963 姹 5007 zphnnzphz 16778135 姲 5008 zphnnzzph 33568225 娜 5009 zphzhhpzs 16781755 姧 5010 zphzphhhs 33560122 姦 5011 zphzphzph 33560121 姢 5012 zphznszhh 33560678 拏 5013 zphznphhs 16781752 怒 5014 zphznnznn 16781959 架 5015 zpszhhspn 16780864 贺 5016 zpszhszpn 16779481 毠 5017 zpszhphhz 33560027 欩 5018 zpszhpzpn 33556041 飛 5019 zpnppzpns 16779135 姭 5020 zpzpzpzph 33567018 盈 5021 zpznszssh 16785575 怼 5022 znhsnnznn 16778993 羾 5023 znhznhhsh 33558943 羿 5024 znhznhhps 16785718 貟 5025 znszhhhpn 33568810 覌 5026 znszhhhpz 33559090 枲 5027 znszhhspn 16785021 勇 5028 znszhhszp 16786042 勈 5029 znszhhszp 33568482 瓵 5030 znszhhzzn 33567816 炱 5031 znszhnppn 16784220 怠 5032 znszhnznn 16778600 癸 5033 znppnhhpn 16780222 発 5034 znppnhhpz 16779048 癹 5035 znppnpzzn 33563626 蚤 5036 znnszhshn 16786411 柔 5037 znzsphspn 16782756 敄 5038 znzspphpn 33566250 矜 5039 znzsppnnz 16780163 垒 5040 znznznhsh 16782132 绑 5041 zzhhhhpzs 16777513 绒 5042 zzhhhpzpn 16782743 结 5043 zzhhshszh 16781083 绔 5044 zzhhpnhhz 16780440 绕 5045 zzhhzphpz 16782692 骁 5046 zzhhzphpz 16785211 绖 5047 zzhhznhsh 33557149 骃 5048 zzhszhpnh 33567535 骄 5049 zzhphpnps 16781014 骅 5050 zzhpspzhs 16779625 绗 5051 zzhppshhs 33557913 绘 5052 zzhpnhhzn 16779791 给 5053 zzhpnhszh 16779994 绚 5054 zzhpzszhh 16785430 彖 5055 zzhpzpppn 16784523 绛 5056 zzhpznhzs 16780999 络 5057 zzhpznszh 16782095 骆 5058 zzhpznszh 16782634 绝 5059 zzhpzzshz 16781326 绞 5060 zzhnhpnpn 16781046 骇 5061 zzhnhzppn 16779368 统 5062 zzhnhznpz 16784361 骈 5063 zzhnphhps 16783047 骉 5064 zzhzzhzzh 33555402 蚃 5065 zzpszhshn 33567052 紆 5066 zznnnnhhs 33568572 紅 5067 zznnnnhsh 33558092 紂 5068 zznnnnhsn 33569673 紇 5069 zznnnnphz 33558810 紃 5070 zznnnnpss 16785459 約 5071 zznnnnpzn 33568289 紈 5072 zznnnnpzn 33566302 級 5073 zznnnnpzn 33559842 紀 5074 zznnnnzhz 33559930 紉 5075 zznnnnzpn 33563301 紁 5076 zznnnnznn 33555883 耕 5077 hhhspnhhps 16780000 耘 5078 hhhspnhhzn 16786327 耟 5079 hhhspnhzhz 33560630 耖 5080 hhhspnspnp 33556062 耗 5081 hhhspnphhz 16779441 耙 5082 hhhspnzshz 16777453 艳 5083 hhhspzzshz 16785873 栔 5084 hhhszphspn 16783245 洯 5085 hhhszpszpn 33560385 挈 5086 hhhszpphhs 16783391 恝 5087 hhhszpnznn 16780842 泰 5088 hhhpnsnhpn 16784230 秦 5089 hhhpnphspn 16783120 珡 5090 hhshhhshpn 16783118 珪 5091 hhshhshhsh 16780211 珯 5092 hhshhshppz 0 珥 5093 hhshhsshhh 16777395 珙 5094 hhshhsshpn 16780033 珬 5095 hhshhphzpn 33567364 珛 5096 hhshhpszhh 16785328 珔 5097 hhshhpszsh 16780962 顼 5098 hhshhpszpn 16785345 珹 5099 hhshhpzzpn 33556230 琊 5100 hhshhzspzs 33568028 玼 5101 hhshshshpz 16778015 珖 5102 hhshsnphpz 16780190 珰 5103 hhshsnpzhh 33556757 郬 5104 hhshszhhzs 33563916 珚 5105 hhshszhpnh 33568079 珠 5106 hhshphhspn 16786996 珤 5107 hhshphhszs 33554942 珗 5108 hhshphshpz 33566896 珽 5109 hhshphshzn 16784401 珦 5110 hhshpszszh 33567073 珩 5111 hhshppshhs 16779507 珘 5112 hhshppznhn 33569659 珨 5113 hhshpnhszh 33566863 珧 5114 hhshpnhzpn 16785961 珮 5115 hhshpzhszs 16782913 珟 5116 hhshpzhpzn 33564882 珣 5117 hhshpzszhh 16785473 珞 5118 hhshpznszh 16782637 琤 5119 hhshpzzhhs 16778288 珓 5120 hhshnhpnpn 16781065 珫 5121 hhshnhznpz 33556247 珜 5122 hhshnphhhs 33568261 班 5123 hhshnphhsh 16777487 珱 5124 hhshnnpzph 33567668 珲 5125 hhshnzhzhs 16779756 珒 5126 hhshzhhhhs 33559648 珢 5127 hhshzhhzpn 33559403 敖 5128 hhshzpphpn 16777294 珕 5129 hhshzpzpzp 33562651 珝 5130 hhshznhznh 33567313 素 5131 hhshzznspn 16783698 冓 5132 hhsshszshh 16780059 匿 5133 hhsshpszhz 16781879 祘 5134 hhspnhhspn 33564888 唜 5135 hhspnszhpz 0 栞 5136 hhphhshspn 33559309 蚕 5137 hhpnszhshn 16777918 顽 5138 hhpzhpszpn 16784702 盏 5139 hhzpnszssh 16786651 匪 5140 hshhhshhhz 16779143 挵 5141 hshhhshhps 33562270 髟 5142 hshhhznppp 16777851 镹 5143 hshhhznpzn 33560512 捇 5144 hshhshpspn 33558639 恚 5145 hshhshnznn 16779778 埖 5146 hshhsspspz 0 捞 5147 hshhssnzzp 16782070 栽 5148 hshhspnzpn 16786371 捄 5149 hshhsnhpnn 16781164 挬 5150 hshhsnzzsh 33555086 捙 5151 hshhszhhhs 33567901 埔 5152 hshhszhhsn 16777886 捕 5153 hshhszhhsn 16777872 埂 5154 hshhszhhpn 16780013 挭 5155 hshhszhhpn 33558893 捒 5156 hshhszhspn 33564721 捂 5157 hshhszhszh 16784633 馬 5158 hshhsznnnn 16781373 振 5159 hshhphhzpn 16786783 埉 5160 hshhpnpnpn 33560049 挾 5161 hshhpnpnpn 33560037 载 5162 hshhzshzpn 16786378 挳 5163 hshhzzzhsh 33559405 埗 5164 hshshshspp 16777887 捗 5165 hshshshspp 16777881 赶 5166 hshshpnhhs 16779891 赸 5167 hshshpnszs 33565060 起 5168 hshshpnzhz 16783236 枽 5169 hshsshhspn 33568431 盐 5170 hshsnszssh 16785819 捎 5171 hshsnpszhh 16783874 垾 5172 hshszhhhhs 33557889 捍 5173 hshszhhhhs 16779399 埕 5174 hshszhhhsh 16778316 挰 5175 hshszhhhsh 33556201 捏 5176 hshszhhhsh 16781920 埘 5177 hshszhhhsn 16784029 垻 5178 hshszhhhpn 33554830 貢 5179 hshszhhhpn 33558942 垷 5180 hshszhhhpz 33567013 挸 5181 hshszhhhpz 33560137 捑 5182 hshszhhhzn 33565145 埋 5183 hshszhhshh 16781383 捚 5184 hshszhhshh 33569346 捜 5185 hshszhhszn 16783629 捉 5186 hshszhshpn 16787092 捆 5187 hshszhspnh 16780540 埍 5188 hshszhszhh 33567432 捐 5189 hshszhszhh 16781262 埙 5190 hshszhszpn 16785404 埚 5191 hshszhszpn 16780260 损 5192 hshszhszpn 16783771 欯 5193 hshszhpzpn 33566734 袁 5194 hshszhpzpn 16786272 挹 5195 hshszhzshz 16785680 捌 5196 hshszhzpss 16777430 埁 5197 hshszspnnz 33555618 埛 5198 hshszpnszh 33560472 捁 5199 hshphshszh 33560059 挿 5200 hshphszhhs 16778110 耊 5201 hshphznhsh 33557113 挴 5202 hshphzznhn 33561037 捠 5203 hshpshshpn 33554888 都 5204 hshpszhhzs 16778759 埑 5205 hshpphshsh 33569488 哲 5206 hshpphsszh 16786728 逝 5207 hshpphsnzn 16784050 娎 5208 hshpphszph 33567187 耆 5209 hshppzszhh 16783185 耄 5210 hshppzphhz 16781454 捈 5211 hshpnhhspn 33566021 勎 5212 hshpnhshzp 33563060 捡 5213 hshpnhnnph 16780921 挩 5214 hshpnszhpz 33565471 挫 5215 hshpnpnhsh 16778103 埒 5216 hshpnnphsn 16782492 埓 5217 hshpnnphsn 33562876 捋 5218 hshpnnphsn 16782611 垺 5219 hshpnnpzsh 33563556 捊 5220 hshpnnpzsh 33563652 挼 5221 hshpnnpzph 33561876 换 5222 hshpzszhpn 16779687 挽 5223 hshpzszhpz 16784710 埆 5224 hshpzpzhhs 16783539 捔 5225 hshpzpzhhs 33560744 埄 5226 hshpznhhhs 33563614 捀 5227 hshpznhhhs 33557575 贽 5228 hshpznszpn 16786947 挚 5229 hshpznphhs 16786938 热 5230 hshpznnnnn 16782695 恐 5231 hshpznnznn 16780414 捣 5232 hshpznzszs 16778700 垿 5233 hshnhpznzs 16785377 垶 5234 hshnhnphhs 33566631 捝 5235 hshnpszhpz 33565473 烖 5236 hshnppnzpn 33568977 挮 5237 hshnpzhzsp 33565891 挱 5238 hshnnhspnp 33564954 垸 5239 hshnnzhhpz 33558377 捖 5240 hshnnzhhpz 33558359 埌 5241 hshnzhhzpn 16782069 壶 5242 hshnzssnph 16779592 捃 5243 hshzhhpszh 16781345 埐 5244 hshzhhnzzn 33559647 揤 5245 hshzhhznzs 33559899 捤 5246 hshzhpphhz 0 挶 5247 hshzhpzszh 16781204 埇 5248 hshznszhhs 16786043 捅 5249 hshznszhhs 16784357 唟 5250 hshznszhpz 0 盍 5251 hshznszssh 16779474 埃 5252 hshznphhpn 16777229 挨 5253 hshznphhpn 16777225 埈 5254 hshznpnpzn 33560827 捘 5255 hshznpnpzn 16786576 紥 5256 hshzzznspn 33569313 耺 5257 hsshhhhhzn 33568898 耾 5258 hsshhhhpzn 33558103 聀 5259 hsshhhhzpn 33569725 耻 5260 hsshhhshsh 16778413 耼 5261 hsshhhszhh 33556695 毦 5262 hsshhhphhz 33554758 剘 5263 hsshhhpnss 33563981 耹 5264 hsshhhpnnz 33563871 聁 5265 hsshhhpnzp 0 耿 5266 hsshhhnppn 16780008 耽 5267 hsshhhnzpz 16778624 恥 5268 hsshhhnznn 33556365 郰 5269 hsshhhznzs 16786479 聂 5270 hsshhhznzn 16781924 羐 5271 hsshhshpzn 33568542 華 5272 hsshhsshhs 33558315 荴 5273 hsshshhhpn 33557640 莏 5274 hsshshspnp 33564956 莰 5275 hsshshpzpn 16780318 荺 5276 hsshshpznh 33568902 茝 5277 hsshsszhsz 16778142 荰 5278 hsshspnhsh 33557209 莕 5279 hsshspnszh 16784927 莁 5280 hsshspnpnh 33566204 莍 5281 hsshsnhpnn 33564425 荸 5282 hsshsnzzsh 16777717 莗 5283 hsshszhhhs 33556069 剒 5284 hsshszhhss 33555846 莆 5285 hsshszhhsn 16779315 莄 5286 hsshszhhpn 33558895 荳 5287 hsshszhnph 16778773 莤 5288 hsshszpzhh 33568517 莀 5289 hsshphhzpn 33556127 鄀 5290 hsshpszhzs 16782818 恭 5291 hsshpnsnnn 16780020 拲 5292 hsshpnphhs 33558937 莢 5293 hsshpnpnpn 33560047 莽 5294 hsshpnnhps 16781431 莱 5295 hsshnphspn 16782006 莲 5296 hsshzhsnzn 16782399 莖 5297 hsshzzzhsh 33559725 荹 5298 hssshshspp 33555466 帯 5299 hssshnzszs 16778602 莦 5300 hsssnpszhh 16783877 莳 5301 hssszhhhsn 16784026 茣 5302 hssszhhhpn 33566194 莫 5303 hssszhhhpn 16781585 莧 5304 hssszhhhpz 33567008 莇 5305 hssszhhhzp 33569933 荲 5306 hssszhhshh 33556472 莡 5307 hssszhshpn 33555849 莮 5308 hssszhshzp 33561551 莴 5309 hssszhszpn 16784864 荶 5310 hssszhpnnz 33567563 莂 5311 hssszhzpss 33555432 莔 5312 hssszpnszh 16781535 莪 5313 hssphshzpn 16777327 莉 5314 hssphspnss 16782354 莠 5315 hssphspnzp 16786086 莓 5316 hssphzznhn 16781485 荷 5317 hsspshszhs 16779462 莜 5318 hsspssphpn 33556968 莋 5319 hsspsphshh 16780739 莅 5320 hsspsnhnph 16782350 莵 5321 hsspszhpzn 33566035 菦 5322 hsspphsnzn 33563887 荼 5323 hsspnhhspn 16784503 莃 5324 hsspnhpszs 33566701 莶 5325 hsspnhnnph 33562721 莝 5326 hsspnpnhsh 16778107 莩 5327 hsspnnpzsh 16779289 荽 5328 hsspnnpzph 16783730 莟 5329 hsspnnzszh 33557882 莬 5330 hsspzszhpz 33561408 获 5331 hsspzphpnn 16779838 莸 5332 hsspzphpzn 16786075 荻 5333 hsspzpnppn 16778820 莥 5334 hsspzpzshh 33556303 莑 5335 hsspznhhhs 33557582 莘 5336 hssnhnphhs 16783932 莣 5337 hssnhznznn 33566378 晋 5338 hssnphszhh 16780585 恶 5339 hssnphnznn 16777335 莌 5340 hssnpszhpz 33557308 莯 5341 hssnnhhspn 33561485 菃 5342 hssnnhhzhz 33564497 莎 5343 hssnnhspnp 16783781 莈 5344 hssnnhpzzn 33561180 莐 5345 hssnnhnzpz 33556131 莞 5346 hssnnzhhpz 16780156 莹 5347 hssnzhhshn 16785574 莨 5348 hssnzhhzpn 16782058 莺 5349 hssnzpznzh 16785555 真 5350 hsszhhhhpn 16786742 倝 5351 hsszhhhspn 33558748 莙 5352 hsszhhpszh 16781335 莭 5353 hsszhhznzs 16781110 畞 5354 hsszhshpzn 33561469 巸 5355 hsszhszzhz 33567817 荱 5356 hsszhpphhz 33566448 尅 5357 hsszhpzhsn 16780381 兛 5358 hsszhpzphs 33564141 鸪 5359 hsszhpznzh 16780067 莊 5360 hsszshphsh 33569978 莻 5361 hsszpszhpz 0 荵 5362 hsszpnnznn 16782704 荾 5363 hssznpnpzn 33564891 莼 5364 hsszzhhzsz 16778549 框 5365 hspnhhhshz 16780468 梆 5366 hspnhhhpzs 16777506 桟 5367 hspnhhhzpn 16786659 栻 5368 hspnhhshzn 16778425 柡 5369 hspnhhszpn 33568485 桂 5370 hspnhshhsh 16780234 桔 5371 hspnhshszh 16781096 栲 5372 hspnhshphz 16780344 栳 5373 hspnhshppz 16782084 栮 5374 hspnhsshhh 33554744 栱 5375 hspnhsshpn 16780031 桠 5376 hspnhssnph 16777334 郴 5377 hspnhspnzs 16778264 桓 5378 hspnhszhhh 16779665 栕 5379 hspnhszhsz 33569502 栜 5380 hspnhszspn 33564838 栖 5381 hspnhszpzh 16783162 栢 5382 hspnhpszhh 33554837 栯 5383 hspnhpszhh 33568708 栫 5384 hspnhpszsh 16780940 栭 5385 hspnhpszss 16777377 桍 5386 hspnhpnhhz 33559444 栵 5387 hspnhpznss 16782336 桋 5388 hspnhzhzpn 16785623 桡 5389 hspnhzphpz 16781804 桎 5390 hspnhznhsh 16786905 桛 5391 hspnshhhsn 0 桢 5392 hspnshszpn 16786747 桄 5393 hspnsnphpz 16780186 档 5394 hspnsnpzhh 16778681 栧 5395 hspnszhhzp 33567868 桐 5396 hspnszhszh 16784340 梠 5397 hspnszhszh 16782649 栶 5398 hspnszhpnh 33567526 桤 5399 hspnszszhz 16783172 株 5400 hspnphhspn 16786985 梃 5401 hspnphshzn 16784400 栝 5402 hspnphsszh 16780126 桥 5403 hspnphpnps 16783372 栴 5404 hspnphpznh 16786626 栿 5405 hspnpshpnn 33557671 桕 5406 hspnpshzhh 16781166 栰 5407 hspnpshzpn 33557368 梴 5408 hspnpshzzn 16778147 栣 5409 hspnpsphsh 33563293 桦 5410 hspnpspzhs 16779633 桘 5411 hspnpszhzh 33556544 桖 5412 hspnpszssh 33567461 桁 5413 hspnppshhs 16779419 栓 5414 hspnpnhhsh 16784155 桧 5415 hspnpnhhzn 16780235 桃 5416 hspnpnhzpn 16784309 郲 5417 hspnpnpnzs 33561957 勑 5418 hspnpnpnzp 33556405 桅 5419 hspnpzhpzz 16784767 栒 5420 hspnpzszhh 16785460 栺 5421 hspnpzszhh 33569752 栙 5422 hspnpznhzs 33567040 桝 5423 hspnpznhzs 0 格 5424 hspnpznszh 16779950 栘 5425 hspnpznpzn 33556326 棦 5426 hspnpzzhhs 33556186 栬 5427 hspnpzzshz 33569260 栤 5428 hspnnhszpn 33555205 桩 5429 hspnnhphsh 16787064 校 5430 hspnnhpnpn 16781051 栨 5431 hspnnhpzpn 33555716 核 5432 hspnnhzppn 16779458 样 5433 hspnnphhhs 16785921 栟 5434 hspnnphhps 16777591 栚 5435 hspnnphhpn 33569554 栦 5436 hspnnpnsns 33556270 桜 5437 hspnnnpzph 16785547 桉 5438 hspnnnzzph 16777261 桪 5439 hspnzhhhsn 33566606 梛 5440 hspnzhhpzs 33561867 根 5441 hspnzhhzpn 16779995 桗 5442 hspnzphspn 33557322 栛 5443 hspnzpzpzp 33562560 栩 5444 hspnznhznh 16785353 桙 5445 hspnznphhs 33561208 桚 5446 hspnzzzpzn 33568998 逑 5447 hsnhpnnnzn 16783423 索 5448 hsnzzznspn 16783790 軒 5449 hszhhhshhs 33567388 軑 5450 hszhhhshpn 33556681 軏 5451 hszhhhshpz 16784671 軎 5452 hszhhhsszh 33566510 軕 5453 hszhhhsszs 33565029 軓 5454 hszhhhspzn 33557447 連 5455 hszhhhsnzn 33562681 軐 5456 hszhhhszhs 33567014 軔 5457 hszhhhszpn 33563317 尃 5458 hszhhsnhsn 16779241 逋 5459 hszhhsnnzn 16777866 彧 5460 hszhhzpppn 16786205 曺 5461 hszhshszhh 33555574 哥 5462 hszhshszhs 16779961 恵 5463 hszhshnznn 16779782 速 5464 hszhspnnzn 16783697 逜 5465 hszhszhnzn 33566244 鬲 5466 hszhsznphs 16779966 豇 5467 hszhnphhsh 16780974 逗 5468 hszhnphnzn 16778769 剚 5469 hszhzhhsss 16786528 栗 5470 hszsshhspn 16782331 贾 5471 hszsshszpn 16780093 覂 5472 hszsshpnzn 16779228 敇 5473 hszspnphpn 33555587 酐 5474 hszpzhhhhs 16779874 酑 5475 hszpzhhhhs 33568662 酎 5476 hszpzhhhsn 16786864 酌 5477 hszpzhhpzn 16787104 逎 5478 hszpzhhnzn 33564403 配 5479 hszpzhhzhz 16782908 酏 5480 hszpzhhzsz 16785624 彨 5481 hsznsznppp 33556316 逦 5482 hsznsznnzn 16782312 翅 5483 hsznznhznh 16778438 辱 5484 hphhzpnhsn 16782780 唇 5485 hphhzpnszh 16778541 厝 5486 hphsshszhh 16778106 烕 5487 hphnppnzpn 33561454 厞 5488 hpshhhshhh 33557513 孬 5489 hpsnzphzsh 16779646 砡 5490 hpszhhhshn 33568697 砞 5491 hpszhhhspn 33561152 夏 5492 hpszhhhpzn 16785072 砝 5493 hpszhhshzn 16779056 砹 5494 hpszhhsspn 16777247 砵 5495 hpszhhspnh 16777618 砢 5496 hpszhhszhs 16780352 砸 5497 hpszhhszsz 16786366 砺 5498 hpszhhphzp 16782337 砳 5499 hpszhhpszh 16782099 砰 5500 hpszhhnphs 16782923 砧 5501 hpszhshszh 16786744 砯 5502 hpszhsnzpn 33563675 砠 5503 hpszhszhhh 16783447 砷 5504 hpszhszhhs 16783926 砟 5505 hpszhphshh 16786579 砤 5506 hpszhphzsz 33566134 砶 5507 hpszhpszhh 33563638 砼 5508 hpszhpnhsh 16784338 砱 5509 hpszhpnnzn 33562393 砽 5510 hpszhpzhhs 0 砥 5511 hpszhpzhzn 16778832 砾 5512 hpszhpzspn 16782339 砲 5513 hpszhpzzhz 16782895 砫 5514 hpszhnhhsh 16787014 砿 5515 hpszhnhpzn 33559525 砬 5516 hpszhnhnph 16781987 砣 5517 hpszhnnzpz 16784559 砨 5518 hpszhnzhpz 33554653 砩 5519 hpszhzhzps 16779154 础 5520 hpszhzsszs 16778466 破 5521 hpszhzpszn 16782954 硁 5522 hpszhznhsh 16780403 唘 5523 hpszhznszh 33564032 砪 5524 hpszhzznhn 33561464 恧 5525 hpszssnznn 16781978 厜 5526 hpphshsshh 16786556 原 5527 hppszhhspn 16786279 套 5528 hpnhshhhzn 16784318 剞 5529 hpnhszhsss 16780676 剦 5530 hpnszhhzss 33568074 眘 5531 hpnnpszhhh 33565194 豗 5532 hpzhpzpppn 16779744 匫 5533 hpzppszhhz 33558181 逐 5534 hpzpppnnzn 16787001 剢 5535 hpzppnpnss 33570019 砻 5536 hpzpnhpszh 16782159 烮 5537 hpznssnppn 0 烈 5538 hpznssnnnn 16782491 殊 5539 hpznphhspn 16784095 殈 5540 hpznpszssh 16785346 殉 5541 hpznpzszhh 16785480 盋 5542 hpznnszssh 16777627 肂 5543 hpznzhhhhs 33564808 翃 5544 hpznznhznh 16779531 顾 5545 hpzzhpszpn 16780118 郪 5546 hzhhszphzs 16783183 轼 5547 hzshhhshzn 16784062 轾 5548 hzshhznhsh 16786957 轿 5549 hzshphpnps 16781055 辀 5550 hzshppznhn 16786847 辁 5551 hzshpnhhsh 16783509 辂 5552 hzshpznszh 16782579 较 5553 hzshnhpnpn 16781056 鸫 5554 hzspnpznzh 16778740 顿 5555 hzszhpszpn 16779012 趸 5556 hzpszhshpn 16779006 剗 5557 hzpnhzpnss 16778182 毙 5558 hzpzhpznpz 16777781 粊 5559 hzpznphspn 33555295 致 5560 hznhshphpn 16786983 貣 5561 hznszhhhpn 33565734 晉 5562 hznznhszhh 33559682 袃 5563 hzzpnhpzpn 33555909 瓸 5564 hzznhpszhh 0 逕 5565 hzzzhshnzn 33559746 剕 5566 shhhshhhss 33557508 鬥 5567 shhshhhshs 33556894 敊 5568 shhspnshzn 33556469 歭 5569 shshhshhsn 33556336 歬 5570 shshppznhn 33564178 龀 5571 shshpnzspz 16778283 柴 5572 shshpzhspn 16778141 赀 5573 shshpzszpn 16786493 桌 5574 shszhhhspn 16787093 逌 5575 shszzhhnzn 16786059 卨 5576 shszzszszh 33567212 鸬 5577 shzhppznzh 16782531 虔 5578 shzphznhpn 16783294 虑 5579 shzphznznn 16782656 监 5580 ssphnszssh 16780904 丵 5581 ssnphnphhs 33570014 紧 5582 ssznzznspn 16780568 覍 5583 spnszhhhpz 33555371 帰 5584 spzhhnzszs 16780197 逍 5585 snpszhhnzn 16785195 党 5586 snpnzszhpz 16778680 眎 5587 szhhhhhspn 33565321 眛 5588 szhhhhhspn 16781503 眜 5589 szhhhhhspn 33561150 眐 5590 szhhhhshsh 16786792 眪 5591 szhhhhszpn 33555191 眬 5592 szhhhhpzpn 33562224 眓 5593 szhhhhzzpn 33558631 晆 5594 szhhhshhsh 33559552 時 5595 szhhhshhsn 16784019 哢 5596 szhhhshhps 16782178 唛 5597 szhhhshpzn 16781375 逞 5598 szhhhshnzn 16778322 畢 5599 szhhhsshhs 33555274 晎 5600 szhhhsshpn 33558145 晅 5601 szhhhszhhh 16785394 眒 5602 szhhhszhhs 33565153 眏 5603 szhhhszhpn 33568230 眖 5604 szhhhszhpz 33559522 晒 5605 szhhhszpzh 16783818 眣 5606 szhhhphhpn 16778926 晇 5607 szhhhpnhhz 33559464 財 5608 szhhhpnhsp 33555485 眕 5609 szhhhpnppp 16786767 貤 5610 szhhhpnzsz 16785633 眡 5611 szhhhpzhzn 33556944 眗 5612 szhhhpzszh 33560545 覎 5613 szhhhpzzsh 33568205 晟 5614 szhhhpzzpn 16778307 晠 5615 szhhhpzzpn 33556205 眩 5616 szhhhnhzzn 16785420 眫 5617 szhhhnphhs 33561326 眝 5618 szhhhnnzhs 33569897 眿 5619 szhhhnzzpn 33560883 眤 5620 szhhhzhppz 33567766 眠 5621 szhhhzhzhz 16781678 晓 5622 szhhhzphpz 16785228 眧 5623 szhhhzpszh 33556053 晊 5624 szhhhznhsh 33569754 眙 5625 szhhhznszh 16778423 眑 5626 szhhhzznzp 16785964 唗 5627 szhhshshpn 33556892 唝 5628 szhhshszpn 33558938 哧 5629 szhhshpspn 16778388 哳 5630 szhhshpphs 16786598 哮 5631 szhhshpzsh 16785224 唞 5632 szhhshnnhs 33556893 唠 5633 szhhssnzzp 16782073 鸭 5634 szhhspznzh 16785749 晃 5635 szhhsnphpz 16779731 晄 5636 szhhsnphpz 33558833 哱 5637 szhhsnzzsh 33555013 冔 5638 szhhszhhhs 16785356 唓 5639 szhhszhhhs 33556066 閅 5640 szhhszhhhs 33561068 哺 5641 szhhszhhsn 16777875 哽 5642 szhhszhhpn 16780016 閃 5643 szhhszhhpn 33565038 閄 5644 szhhszhhpn 33558653 唖 5645 szhhszhssh 33554651 唔 5646 szhhszhszh 16784611 晍 5647 szhhszhszh 33565770 哣 5648 szhhszhnph 33563660 唡 5649 szhhszpnpn 33562784 唒 5650 szhhszpzhh 33561457 晔 5651 szhhpspzhs 16786000 晌 5652 szhhpszszh 16783867 晑 5653 szhhpszszh 33567049 晀 5654 szhhpnhzpn 33565995 晁 5655 szhhpnhzpn 16778242 唊 5656 szhhpnpnpn 33560030 剔 5657 szhhpzppss 16784404 哤 5658 szhhpzpppn 16781425 曻 5659 szhhpznhzs 33565225 晈 5660 szhhnhpnpn 33560313 晐 5661 szhhnhzppn 33558684 晏 5662 szhhnnzzph 16785868 晕 5663 szhhnzhzhs 16786323 晖 5664 szhhnzhzhs 16779743 鸮 5665 szhhzpznzh 16785201 哶 5666 szhshshhhs 33561439 趶 5667 szhshshhhs 33559459 趷 5668 szhshshphz 16779470 趵 5669 szhshshpzn 16777553 趿 5670 szhshshpzn 33564094 畕 5671 szhshszhsh 33560245 畘 5672 szhshszshh 33561546 畖 5673 szhshppznn 33566277 畛 5674 szhshpnppp 16786770 畟 5675 szhshpnpzn 16777955 蚌 5676 szhshnhhhs 16777518 蚟 5677 szhshnhhsh 33566355 蚈 5678 szhshnhhps 16783279 蚨 5679 szhshnhhpn 16779288 蚖 5680 szhshnhhpz 33568806 蚞 5681 szhshnhspn 33561483 蚑 5682 szhshnhszn 33563995 蚘 5683 szhshnhpzn 16779760 蚅 5684 szhshnhpzz 33554683 蚷 5685 szhshnhzhz 33560660 蚜 5686 szhshnhzsp 16785763 蚍 5687 szhshnhzpz 16783016 蚎 5688 szhshnszhh 33568873 蚦 5689 szhshnszhh 33563240 蚛 5690 szhshnszhs 33569647 蚋 5691 szhshnszpn 16782808 蚬 5692 szhshnszpz 16785126 畔 5693 szhshnphhs 16782866 蚝 5694 szhshnphhz 16778026 蚚 5695 szhshnpphs 33564001 蚧 5696 szhshnpnps 16781129 蚥 5697 szhshnpnpn 33557723 蚙 5698 szhshnpnnz 33564185 蚡 5699 szhshnpnzp 16779190 蚣 5700 szhshnpnzn 16780024 蚏 5701 szhshnpzhh 33568874 蚔 5702 szhshnpzhz 16778402 蚐 5703 szhshnpznh 33560799 蚒 5704 szhshnpznh 33563238 蚊 5705 szhshnnhpn 16784843 蚢 5706 szhshnnhpz 33557908 蚄 5707 szhshnnhzp 33557458 蚪 5708 szhshnnnhs 16778766 蚇 5709 szhshnzhpn 33556369 蚗 5710 szhshnzhpn 33560766 蚓 5711 szhshnzhzs 16785528 蚆 5712 szhshnzshz 33563466 哨 5713 szhsnpszhh 16783893 唢 5714 szhsnpszpn 16783789 哻 5715 szhszhhhhs 33557896 員 5716 szhszhhhpn 16786284 唄 5717 szhszhhhpn 33554846 哯 5718 szhszhhhpz 33567019 哩 5719 szhszhhshh 16782274 圃 5720 szhszhhsnh 16783086 哭 5721 szhszhhpnn 16780433 戙 5722 szhszhhzpn 33556866 哫 5723 szhszhshpn 16786543 圄 5724 szhszhszhh 16786165 唈 5725 szhszhzshz 16785667 哵 5726 szhszhzpss 33554793 哠 5727 szhphshszh 33557970 哦 5728 szhphshzpn 16777330 唎 5729 szhphspnss 16782328 唀 5730 szhphspnzp 33568550 哬 5731 szhpshszhs 33558021 唕 5732 szhpszhhhs 33569039 唣 5733 szhpszhhhz 16786416 唋 5734 szhpnhhspn 33566050 唏 5735 szhpnhpszs 16784934 欭 5736 szhpnhpzpn 33567872 恩 5737 szhpnhnznn 16777368 盎 5738 szhpnszssh 16777287 唑 5739 szhpnpnhsh 16784047 唂 5740 szhpnpnszh 33559002 鸯 5741 szhpnpznzh 16785888 哷 5742 szhpnnphsn 33562139 哹 5743 szhpnnpzsh 33557627 哸 5744 szhpnnpzph 33564898 唅 5745 szhpnnzszh 16779372 唤 5746 szhpzszhpn 16779682 圂 5747 szhpzpppnh 16779817 唙 5748 szhpzpnppn 33556959 唃 5749 szhpzpzhhs 33559003 唁 5750 szhnhhhszh 16785856 哼 5751 szhnhszhzs 16779500 唥 5752 szhnhpnnzn 0 唴 5753 szhnphhhpz 33564253 哾 5754 szhnpszhpz 33565494 唦 5755 szhnnhspnp 33558965 唍 5756 szhnnzhhpz 33566312 哰 5757 szhnnzphhs 16782081 哴 5758 szhnzhhzpn 33562798 唚 5759 szhzhhnzzn 16783125 唧 5760 szhzhhznzs 16780665 啊 5761 szhzshszhs 16777220 唨 5762 szhzsszhhh 33569232 唉 5763 szhznphhpn 16777224 唆 5764 szhznpnpzn 16783775 帱 5765 szshhhphsn 16778353 崋 5766 szshhsshhs 16779619 崁 5767 szshshpzpn 16780310 崂 5768 szshssnzzp 16782071 峬 5769 szshszhhsn 33555445 峺 5770 szshszhhpn 33558900 峿 5771 szshszhszh 16784627 豈 5772 szshszhnph 33559292 帪 5773 szshphhzpn 33569503 峽 5774 szshpnpnpn 16785070 崃 5775 szshnphspn 16782000 逥 5776 szsshhhnzn 33558488 罡 5777 szsshhshsh 16779909 罢 5778 szsshhshzn 16777459 罟 5779 szsshhsszh 16780097 眔 5780 szsshsppnn 33556649 罝 5781 szsshszhhh 16781185 罛 5782 szsshppznn 16780069 罜 5783 szsshnhhsh 33569903 罠 5784 szsshzhzhz 16781604 罞 5785 szsshznzsp 33560976 峭 5786 szssnpszhh 16783386 帩 5787 szssnpszhh 33564303 峴 5788 szsszhhhpz 33567022 埊 5789 szsszpnhsh 33557028 峼 5790 szsphshszh 33557972 峨 5791 szsphshzpn 16777331 峩 5792 szsphshzpn 33554640 峲 5793 szsphspnss 33562540 峳 5794 szspssphpn 33568525 崄 5795 szspnhnnph 16785115 峪 5796 szspnpnszh 16786242 崅 5797 szspzpzhhs 33564572 峯 5798 szspznhhhs 33557594 峰 5799 szspznhhhs 16779219 訔 5800 szsnhhhszh 33567552 峷 5801 szsnhnphhs 33565173 帨 5802 szsnpszhpz 16784170 峵 5803 szsnnzhpzn 33558140 崀 5804 szsnzhhzpn 16782063 峮 5805 szszhhpszh 33564597 圆 5806 szszhszpnh 16786258 觊 5807 szszhzszpz 16780807 峻 5808 szsznpnpzn 16781356 贼 5809 szpnhhpzpn 16786443 贿 5810 szpnhpszhh 16779771 赂 5811 szpnpznszh 16782570 赃 5812 szpnnhphsh 16786399 赅 5813 szpnnhzppn 16779856 赆 5814 szpnzhpnnn 16780584 圁 5815 sznhhhszhh 33567550 剛 5816 sznphszsss 33558761 剮 5817 szzszszhss 33559069 钰 5818 phhhzhhshn 16786226 钱 5819 phhhzhhzpn 16783304 钲 5820 phhhzhshsh 16786802 钳 5821 phhhzhsshh 16783305 钴 5822 phhhzhsszh 16780078 钵 5823 phhhzhspnh 16777625 钶 5824 phhhzhszhs 16777319 钷 5825 phhhzhszhz 16782947 钸 5826 phhhzhpszs 16777869 钹 5827 phhhzhpznn 16777444 钺 5828 phhhzhzzpn 16779788 钻 5829 phhhzshszh 16786551 钼 5830 phhhzszhhh 16781745 钽 5831 phhhzszhhh 16778660 钾 5832 phhhzszhhs 16780859 钿 5833 phhhzszhsh 16778896 铀 5834 phhhzszhsh 16786079 铁 5835 phhhzphhpn 16784487 铂 5836 phhhzpszhh 16777654 铃 5837 phhhzpnnzn 16782258 铄 5838 phhhzpzspn 16784188 铅 5839 phhhzpzszh 16783288 铆 5840 phhhzpzpzs 16782517 铇 5841 phhhzpzzhz 33554961 铈 5842 phhhznhszs 16784073 铉 5843 phhhznhzzn 16785429 铊 5844 phhhznnzpz 16783905 铋 5845 phhhznznpn 16777772 铌 5846 phhhzzhppz 16781865 铍 5847 phhhzzpszn 16783003 铎 5848 phhhzznhhs 16779027 眚 5849 phhshszhhh 16783972 甡 5850 phhshphhsh 16783924 缻 5851 phhszshzzn 33557630 缼 5852 phhszspzpn 33564569 缹 5853 phhszsnnnn 33557629 缺 5854 phhszszhpn 16783526 毧 5855 phhzhhpzpn 16782744 氩 5856 phhzhssnph 16785772 毢 5857 phhzhszpzh 33564624 氥 5858 phhzhszpzh 16784940 氤 5859 phhzszhpnh 16785490 毨 5860 phhzphshpz 33566974 毥 5861 phhzpzszhh 33567498 氦 5862 phhznhzppn 16779367 氧 5863 phhznphhhs 16785914 毩 5864 phhznphspn 33560604 氣 5865 phhznphspn 16783248 氨 5866 phhznnzzph 16777259 毪 5867 phhzznphhs 33561462 特 5868 phshhshhsn 16784319 牺 5869 phshhszpzh 16784966 郵 5870 phshsshhzs 33568526 造 5871 phshszhnzn 16786415 牷 5872 phshpnhhsh 16783507 牸 5873 phshnnzzsh 16786530 埀 5874 phsshhpzhh 16778532 乘 5875 phsshhpzpn 16778305 敌 5876 phsszhphpn 16778815 舐 5877 phsszhpzhz 16784046 秣 5878 phspnhhspn 16781590 秙 5879 phspnhsszh 33559461 秫 5880 phspnhspnn 16784112 秠 5881 phspnhpsnh 16783006 秡 5882 phspnhpznn 33554811 秤 5883 phspnhnphs 16778325 秥 5884 phspnshszh 33561757 租 5885 phspnszhhh 16786535 秞 5886 phspnszhsh 33568524 秧 5887 phspnszhpn 16785893 积 5888 phspnszhpn 16780708 盉 5889 phspnszssh 33558012 秩 5890 phspnphhpn 16786978 秨 5891 phspnphshh 33569286 秝 5892 phspnphspn 33562655 秢 5893 phspnpnnzn 33562443 秪 5894 phspnpzhzn 16786894 称 5895 phspnpzspn 16778287 剓 5896 phspnpzpzp 33562477 秚 5897 phspnnphhs 33554884 秘 5898 phspnnznpn 16777780 秜 5899 phspnzhppz 33561708 秛 5900 phspnzpszn 33563721 透 5901 phspnzpnzn 16784374 秮 5902 phspnznszh 33565581 谸 5903 phppnpnszh 33564134 笄 5904 phnphnhhps 16780658 笎 5905 phnphnhhpz 16786260 笌 5906 phnphnhzsp 33568029 笓 5907 phnphnhzpz 33563725 笍 5908 phnphnszpn 33569994 笕 5909 phnphnszpz 16780910 笔 5910 phnphnphhz 16777718 笑 5911 phnphnphpn 16785232 笊 5912 phnphnppsn 16786699 笅 5913 phnphnpnpn 33567107 笒 5914 phnphnpnnz 33555610 笫 5915 phnphnpzsp 16785618 笏 5916 phnphnpzpp 16779599 笉 5917 phnphnpznh 33569531 笇 5918 phnphnnhsn 33564887 笐 5919 phnphnnhpz 16779903 笋 5920 phnphnzhhp 16783769 笆 5921 phnphnzshz 16777427 笖 5922 phnphnznpn 33567820 俸 5923 pshhhpnhhs 16779233 倵 5924 pshhshshzn 33566222 倩 5925 pshhshszhh 16783319 债 5926 pshhshszpn 16786623 俵 5927 pshhshpzpn 16777859 倀 5928 pshshhhzpn 33555998 偖 5929 pshshpszhh 33556076 倰 5930 pshshpnpzn 33562210 倖 5931 pshshnphhs 16784921 屔 5932 pshshzhppz 33561696 俹 5933 pshshzzhsh 33568067 倛 5934 pshsshhhpn 33563944 倻 5935 pshsshhhzs 16785985 借 5936 pshsshszhh 16781121 偌 5937 pshsshpszh 16782821 偀 5938 pshssszhpn 33567649 值 5939 pshsszhhhh 16786903 値 5940 pshsszhhhz 16786899 倈 5941 pshspnpnpn 33561933 倯 5942 pshspnpnzn 33564708 烋 5943 pshspnnnnn 16785220 恷 5944 pshspnnznn 0 倲 5945 pshszhhspn 33556847 倳 5946 pshszhzhhs 33569213 倆 5947 pshszspnpn 33562676 倷 5948 pshpnhhspn 33561537 倴 5949 pshpnhshps 33555022 倚 5950 pshpnhszhs 16785648 俺 5951 pshpnszhhz 16777273 倢 5952 pshzhhshpn 16781090 郳 5953 pshzhhpzzs 16781868 倾 5954 pshzhpszpn 16783133 俴 5955 pshzpnhzpn 16780965 倒 5956 pshznhshss 16778698 俳 5957 psshhhshhh 16782842 俶 5958 psshhspnzn 16778487 倬 5959 psshszhhhs 16787091 俿 5960 psshzphzpz 33556356 條 5961 psspznhspn 33565983 倏 5962 psspznhpnn 16784086 脩 5963 psspznszhh 16785309 倐 5964 psspznnppn 33565376 倘 5965 pssnpszszh 16784289 俱 5966 psszhhhhpn 16781197 倶 5967 psszhhhhpn 16781182 倮 5968 psszhhhspn 33563150 倱 5969 psszhhhzpz 33558607 們 5970 psszhhszhh 33561060 倡 5971 psszhhszhh 16778225 倎 5972 psszhsshpn 33565922 個 5973 psszhsszhh 33558870 候 5974 psszhphhpn 16779552 倂 5975 psphhpphhs 33555204 倁 5976 psphhpnszh 33569701 栠 5977 psphshhspn 33563292 倕 5978 psphshsshh 33556537 赁 5979 psphshszpn 16782228 恁 5980 psphshnznn 16781820 俰 5981 psphspnszh 33558676 倭 5982 psphspnzph 16784862 倪 5983 pspshzhhpz 16781856 倠 5984 pspsnhhhsh 33567287 俾 5985 pspszhhphs 16777569 俽 5986 pspphspzpn 33566600 倽 5987 pspnhhsszh 33564999 倫 5988 pspnhszhss 33563109 倹 5989 pspnhszhpn 33560138 倄 5990 pspnhpszhh 33568294 倸 5991 pspnnphspn 16777902 倊 5992 pspnznnznn 33569137 倗 5993 pspzhhpzhh 33563599 俷 5994 pspzhhzshz 16779168 倜 5995 pspzhshszh 16784423 倃 5996 pspznsnszh 33560515 俻 5997 pspznszhsh 33555016 隼 5998 psnhhhshhs 16783773 隽 5999 psnhhhshzp 16781280 隻 6000 psnhhhshzn 33569713 倞 6001 psnhszhspn 33559748 俯 6002 psnhppshsn 16779324 倅 6003 psnhpnpnhs 16778066 俲 6004 psnhpnpnzp 33567136 倍 6005 psnhnphszh 16777572 倿 6006 psnhnphzph 0 倣 6007 psnhzpphpn 16779118 俼 6008 psnhznszhh 33568770 倦 6009 psnphhpnzz 16781272 倓 6010 psnppnnppn 33565603 倧 6011 psnnzhhspn 33569102 倌 6012 psnnzszhzh 16780152 倥 6013 psnnzpnhsh 16780410 倇 6014 psnnzpznzz 33566311 皌 6015 pszhhhhspn 33561181 臬 6016 pszhhhhspn 16781940 健 6017 pszhhhhszn 16780952 臭 6018 pszhhhhpnn 16778372 射 6019 pszhhhphsn 16783909 皋 6020 pszhhhpnhs 16779924 躬 6021 pszhhhpzhz 16780026 息 6022 pszhhhnznn 16784961 島 6023 pszhhhzszs 33556803 畠 6024 pszhhszhsh 0 郫 6025 pszhhphszs 16783022 皊 6026 pszhhpnnzn 33562422 烏 6027 pszhhznnnn 16784607 倨 6028 pszhphsszh 16781226 倔 6029 pszhpzsszs 16781289 師 6030 pszhzhhszs 16784000 衃 6031 pszsshhpsn 33563552 欰 6032 pszsshpzpn 33567288 衄 6033 pszsshzshh 16781977 恖 6034 pszpnhnznn 33564623 逓 6035 pphhszsnzn 16778845 颀 6036 pphshpszpn 16780395 衏 6037 ppshhpzhhs 33568842 徒 6038 ppshshshpn 16784505 徕 6039 ppshnphspn 16782004 衐 6040 ppshzhzhhs 0 虒 6041 ppshzphzpz 16783650 徑 6042 ppshzzzhsh 33559761 徏 6043 ppsshshspp 33569813 徎 6044 ppsszhhhsh 33556234 徐 6045 ppspnhhspn 16785351 垼 6046 ppspzznhsh 33567976 従 6047 ppsnphshpn 16777987 殷 6048 ppzhhzpzzn 16785785 舦 6049 ppznhnhpnn 33565583 舭 6050 ppznhnhzpz 33555223 舯 6051 ppznhnszhs 33569615 舰 6052 ppznhnszpz 16780943 舧 6053 ppznhnppzn 33557401 舨 6054 ppznhnppzn 16777489 舩 6055 ppznhnpnzn 33556494 舱 6056 ppznhnpnzz 16777929 般 6057 ppznhnpzzn 16777481 航 6058 ppznhnnhpz 16779417 舫 6059 ppznhnnhzp 16779119 舮 6060 ppznhnnzhp 33562965 舥 6061 ppznhnzshz 33563464 瓞 6062 ppznnphhpn 16778943 瓟 6063 ppznnpzzhz 33563539 峹 6064 pnhhspnszs 16784508 途 6065 pnhhspnnzn 16784497 釘 6066 pnhhsnphhs 33556921 針 6067 pnhhsnphhs 33569530 釗 6068 pnhhsnphss 33569431 釙 6069 pnhhsnphsn 33562653 釞 6070 pnhhsnphpn 33569741 釟 6071 pnhhsnphpn 33554792 釚 6072 pnhhsnphpz 33564437 釠 6073 pnhhsnphpz 33563100 釕 6074 pnhhsnphzs 33562836 釖 6075 pnhhsnphzp 33556788 釛 6076 pnhhsnphzp 33558019 釢 6077 pnhhsnphzp 33561535 殺 6078 pnhspnpzzn 33564991 敆 6079 pnhszhshzn 33558834 拿 6080 pnhszhphhs 16781753 剣 6081 pnhszhpnss 16780951 欱 6082 pnhszhpzpn 33566867 郩 6083 pnhpszhhzs 33567113 釜 6084 pnpnhhsnph 16779323 釡 6085 pnpnhhsnph 33557733 夎 6086 pnpnhshpzn 33569292 耸 6087 pnpnhsshhh 16783616 逧 6088 pnpnszhnzn 0 爹 6089 pnpnpznpzn 16778921 舀 6090 pnnppshzhh 16785963 爱 6091 pnnpnzhpzn 16777246 豻 6092 pnnpzpphhs 16777276 豺 6093 pnnpzpphsp 16778139 豹 6094 pnnpzpppzn 16777548 奚 6095 pnnpzznhpn 16784955 鬯 6096 pnnnnnzspz 16778226 倉 6097 pnnzhhpszh 33555548 飣 6098 pnnzhhznhs 16778800 飤 6099 pnnzhhznpn 33564823 飢 6100 pnnzhhznpz 33559825 衾 6101 pnnznhpzpn 16783098 鸰 6102 pnnznpznzh 16782238 颁 6103 pnzphpszpn 16777484 蚠 6104 pnzpszhshn 33557546 颂 6105 pnznhpszpn 16783620 毤 6106 pnznpzphhz 33566162 翁 6107 pnznznhznh 16784585 胿 6108 pzhhhshhsh 33559170 胹 6109 pzhhhpszss 16777385 胯 6110 pzhhhpnhhz 16780447 脄 6111 pzhhhpnppn 33561015 胰 6112 pzhhhzhzpn 16785645 胵 6113 pzhhhznhsh 33569850 胱 6114 pzhhsnphpz 16780191 胴 6115 pzhhszhszh 16778757 胭 6116 pzhhszhpnh 16785791 朒 6117 pzhhszpnpn 33561888 脌 6118 pzhhphhshs 0 脡 6119 pzhhphshzn 16784396 脠 6120 pzhhpshzzn 33555914 胻 6121 pzhhppshhs 33566654 脈 6122 pzhhpppzpn 33560877 脍 6123 pzhhpnhhzn 16780450 脎 6124 pzhhpnhspn 33564609 朓 6125 pzhhpnhzpn 16784473 脆 6126 pzhhpzhpzz 16778067 脂 6127 pzhhpzszhh 16786875 胸 6128 pzhhpzpnzs 16785302 胮 6129 pzhhpznhzs 33563511 胳 6130 pzhhpznszh 16779962 脃 6131 pzhhpzzshz 33555792 脏 6132 pzhhnhphsh 16786397 脐 6133 pzhhnhpnps 16783187 胶 6134 pzhhnhpnpn 16781027 脑 6135 pzhhnhpnzs 16781808 胲 6136 pzhhnhzppn 16779861 羘 6137 pzhhnphhhs 33569020 胼 6138 pzhhnphhps 16783048 朕 6139 pzhhnphhpn 16786781 脒 6140 pzhhnphspn 33561323 胺 6141 pzhhnnzzph 16777283 脓 6142 pzhhnzpzpn 16781825 脇 6143 pzhhzpzpzp 16785245 郮 6144 pzhshszhzs 33569662 匎 6145 pzhpnszhhz 33554519 鸱 6146 pzhznpznzh 16778375 虓 6147 pzshzphzpz 16785206 玺 6148 pzspnhhshn 16785022 眞 6149 pzszhhhzpn 16786740 鱽 6150 pzszhshhzp 33556787 鸲 6151 pzszhpznzh 16783473 烉 6152 pzszpnnppn 33558412 逛 6153 pzphhshnzn 16780194 狾 6154 pzphshpphs 33569856 狹 6155 pzphpnpnpn 33566864 狵 6156 pzphpzpppn 33560957 狴 6157 pzphzpzhsh 16777789 猂 6158 pzpszhhhhs 33557856 狽 6159 pzpszhhhpn 33555018 狸 6160 pzpszhhshh 16782308 狷 6161 pzpszhszhh 16781282 猁 6162 pzpphspnss 16782324 狳 6163 pzppnhhspn 16786162 狶 6164 pzppnhpszs 16785027 猃 6165 pzppnhnnph 16785114 狺 6166 pzpnhhhszh 16785520 猐 6167 pzpnphhhpz 33564225 逖 6168 pzpnppnnzn 16784422 猀 6169 pzpnnhspnp 33564982 狼 6170 pzpnzhhzpn 16782062 胷 6171 pzpnzsszhh 33567251 觙 6172 pzpzhhspzn 33559895 卿 6173 pzpzhhznzs 16783136 峱 6174 pzpzshhszs 16781800 狻 6175 pzpznpnpzn 16783723 逢 6176 pznhhhsnzn 16779224 脁 6177 pznhpnhzpn 33565997 桀 6178 pznhzshspn 16781094 夞 6179 pznsnszhpz 0 洜 6180 pznszhszpn 33563160 敋 6181 pznszhphpn 33558835 鸵 6182 pznzhnnzpz 16784561 留 6183 pznzpszhsh 16782503 袅 6184 pznznhpzpn 16781915 眢 6185 pznzzszhhh 16786247 盌 6186 pznzzszssh 33566333 鸳 6187 pznzzpznzh 16786249 皱 6188 pzzhhzpszn 16786870 饽 6189 pzzhsnzzsh 16777621 饾 6190 pzzhszhnph 33556906 芻 6191 pzzsppzzsp 33556439 饿 6192 pzzphshzpn 16777359 馀 6193 pzzpnhhspn 16786141 馁 6194 pzzpnnpzph 16781817 馂 6195 pzzznpnpzn 33560824 凊 6196 nhhhshszhh 16780651 訏 6197 nhhhszhhhs 16785334 訐 6198 nhhhszhhhs 33560375 訌 6199 nhhhszhhsh 33558093 討 6200 nhhhszhhsn 33565726 訕 6201 nhhhszhszs 33565046 訖 6202 nhhhszhphz 33564065 託 6203 nhhhszhphz 33566116 訓 6204 nhhhszhpss 33567504 訉 6205 nhhhszhpzn 33557435 訋 6206 nhhhszhpzn 33557090 訙 6207 nhhhszhpzn 33567505 訯 6208 nhhhszhpzn 33564604 這 6209 nhhhszhnzn 16786733 訊 6210 nhhhszhzhs 33567502 記 6211 nhhhszhzhz 33559942 訑 6212 nhhhszhzsz 16785614 訒 6213 nhhhszhzpn 16782708 訍 6214 nhhhszhznn 33555884 凌 6215 nhhshpnpzn 16782260 凇 6216 nhhspnpnzn 16783611 凍 6217 nhhszhhspn 33556878 凄 6218 nhhzhhszph 16783178 衺 6219 nhhzsppzpn 33567163 栾 6220 nhsspnhspn 16782594 挛 6221 nhsspnphhs 16782592 恋 6222 nhsspnnznn 16782417 桨 6223 nhspznhspn 16780987 浆 6224 nhspznszpn 16780973 衰 6225 nhszhhpzpn 16784151 恴 6226 nhszhhnznn 33556818 畝 6227 nhszhshpzn 33561468 凅 6228 nhszhsszhh 16780122 剠 6229 nhszhspnss 33563921 勍 6230 nhszhspnzp 16783144 衷 6231 nhszhspzpn 16786822 畗 6232 nhszhszhsh 33556629 高 6233 nhszhszszh 16779929 亳 6234 nhszhnzphz 16777653 郭 6235 nhszhzshzs 16780261 庪 6236 nhphshhszn 33559185 庨 6237 nhphshpzsh 33564267 席 6238 nhphsshszs 16785001 庫 6239 nhphszhhhs 33559457 庯 6240 nhphszhhsn 33555444 庮 6241 nhphszpzhh 33568545 庬 6242 nhphpzpppn 16781430 准 6243 nhpsnhhhsh 16787090 庩 6244 nhppnhhspn 33566034 座 6245 nhppnpnhsh 16786591 症 6246 nhpnhhshsh 16786806 疳 6247 nhpnhhsshh 16779882 疶 6248 nhpnhhsshz 16785287 凎 6249 nhpnhhsnph 33558757 疴 6250 nhpnhhszhs 16780363 病 6251 nhpnhhszpn 16777710 痁 6252 nhpnhshszh 16778898 斊 6253 nhpnhsshhh 33559975 疸 6254 nhpnhszhhh 16778594 疽 6255 nhpnhszhhh 16781192 疻 6256 nhpnhszhpn 33569762 疾 6257 nhpnhphhpn 16780748 痄 6258 nhpnhphshh 16778406 斋 6259 nhpnhpszss 16786616 疹 6260 nhpnhpnppp 16786775 痈 6261 nhpnhpzhhs 16786028 疷 6262 nhpnhpzhzn 33564012 痀 6263 nhpnhpzszh 33560558 疼 6264 nhpnhpznnn 16784328 疱 6265 nhpnhpzzhz 16782896 疰 6266 nhpnhnhhsh 33569935 痃 6267 nhpnhnhzzn 33566932 痆 6268 nhpnhzhppz 33561746 疿 6269 nhpnhzhzps 16779164 痂 6270 nhpnhzpszh 16780835 疲 6271 nhpnhzpszn 16783019 痉 6272 nhpnhznhsh 16780650 蚉 6273 nhpnszhshn 33566544 剤 6274 nhpnpshhss 16780786 脊 6275 nhpnpnszhh 16780717 效 6276 nhpnpnphpn 16785233 凈 6277 nhpnnpzhhs 16780649 离 6278 nhpnzsszzn 16782301 衮 6279 nhpnznpzpn 16780245 紊 6280 nhpnzznspn 16784848 唐 6281 nhpzhhsszh 16784273 凋 6282 nhpzhshszh 16778909 颃 6283 nhpzhpszpn 16779910 栥 6284 nhpzpnhspn 33569168 瓷 6285 nhpzpnhzzn 16778012 资 6286 nhpzpnszpn 16786494 恣 6287 nhpzpnnznn 16786529 凉 6288 nhnhszhspn 16782434 站 6289 nhnphshszh 16786661 竜 6290 nhnphszhhz 16782170 剖 6291 nhnphszhss 16782959 竞 6292 nhnphszhpz 16780653 部 6293 nhnphszhzs 16777889 勏 6294 nhnphszhzp 33555474 竛 6295 nhnphpnnzn 33562442 竘 6296 nhnphpzszh 33560623 竝 6297 nhnphnhnph 33555184 竚 6298 nhnphnnzhs 33569943 旁 6299 nhnpnznhzp 16782880 旆 6300 nhzpphhszs 16782912 旊 6301 nhzpphhzzn 33557474 旄 6302 nhzpphphhz 16781440 旂 6303 nhzpphpphs 16783215 旅 6304 nhzpphpzpn 16782651 旃 6305 nhzpphpznh 16786640 欬 6306 nhzppnpzpn 16780301 畜 6307 nhzznszhsh 16778480 玆 6308 nhzznnhzzn 16786499 阃 6309 nszszhspnh 16780538 阄 6310 nszpzszhhz 16781145 訚 6311 nsznhhhszh 16785506 阅 6312 nsznpszhpz 16786298 阆 6313 nsznzhhzpn 16782051 羒 6314 nphhhppnzp 33557544 羖 6315 nphhhppzzn 16780102 羞 6316 nphhhpzshh 16785313 羓 6317 nphhhpzshz 33554790 羙 6318 nphhshnppn 33558784 羔 6319 nphhshnnnn 16779926 恙 6320 nphhshnznn 16785923 瓶 6321 nphhpshzzn 16782988 剙 6322 nphhpszpnn 33556535 桊 6323 nphhpnhspn 16781274 拳 6324 nphhpnphhs 16783518 牶 6325 nphhpnphhs 33564566 勌 6326 nphhpnzzzp 33560676 粏 6327 nphspnhpnn 33565589 粔 6328 nphspnhzhz 16781236 粃 6329 nphspnhzpz 16777723 粆 6330 nphspnspnp 33564988 粍 6331 nphspnphhz 33562496 敉 6332 nphspnphpn 16781659 粄 6333 nphspnppzn 33554870 粉 6334 nphspnpnzp 16779193 粋 6335 nphspnpzhs 16778074 粅 6336 nphspnpzpp 33566257 粇 6337 nphspnnhpz 33559328 料 6338 nphspnnnhs 16782474 粐 6339 nphspnnzhp 0 粎 6340 nphspnzhpn 33556371 粌 6341 nphspnzhzs 33567598 粈 6342 nphspnzshh 33563392 粑 6343 nphspnzshz 16777434 桇 6344 nphszhhspn 33563406 益 6345 nphpnszssh 16785726 兼 6346 nphzhhsspn 16780891 朔 6347 nphzsppzhh 16784181 欮 6348 nphzsppzpn 33560730 郸 6349 npszhhhszs 16778634 烒 6350 nppnhhshzn 33565365 烓 6351 nppnhshhsh 16784758 烤 6352 nppnhshphz 16780347 烘 6353 nppnhsshpn 16779515 烡 6354 nppnhsshpn 33559141 烵 6355 nppnhsspzn 33570043 烞 6356 nppnhspnsn 33563648 烜 6357 nppnhszhhh 16785417 烥 6358 nppnhszhsz 0 烠 6359 nppnhpszhh 33558504 烦 6360 nppnhpszpn 16779085 烣 6361 nppnhpnppn 33558483 烧 6362 nppnhzphpz 16783880 烛 6363 nppnszhshn 16787009 烔 6364 nppnszhszh 16784352 焒 6365 nppnszhszh 0 烟 6366 nppnszhpnh 16785789 烍 6367 nppnphshpz 33566972 烶 6368 nppnphshzn 33565848 烌 6369 nppnpshspn 33567263 烻 6370 nppnpshzzn 33565032 烨 6371 nppnpspzhs 16786009 烅 6372 nppnpszssh 33567357 烆 6373 nppnppshhs 33566645 烐 6374 nppnppznhn 33569658 烇 6375 nppnpnhhsh 33564567 烩 6376 nppnpnhhzn 16779796 烚 6377 nppnpnhszh 33566861 烑 6378 nppnpnhzpn 33568325 烙 6379 nppnpznszh 16782094 烄 6380 nppnnhpnpn 33560331 烗 6381 nppnnhzppn 33559308 烊 6382 nppnnphhhs 16785910 烪 6383 nppnnphhpn 0 剡 6384 nppnnppnss 16783847 郯 6385 nppnnppnzs 16784250 烢 6386 nppnnnzphz 33569499 烬 6387 nppnzhpnnn 16780602 递 6388 npzhzspnzn 16778844 涛 6389 nnhhhhphsn 16784300 浾 6390 nnhhshpspn 33556178 浙 6391 nnhhshpphs 16786734 涍 6392 nnhhshpzsh 33567094 涜 6393 nnhhshnzpz 33557179 淽 6394 nnhhssshsh 33569768 淓 6395 nnhhssnhzp 16779111 涝 6396 nnhhssnzzp 16782076 洍 6397 nnhhsszhsz 33564795 涁 6398 nnhhspnppp 33565202 浗 6399 nnhhsnhpnn 33564414 浡 6400 nnhhsnzzsh 16777644 浦 6401 nnhhszhhsn 16783088 浭 6402 nnhhszhhpn 16780002 涑 6403 nnhhszhspn 16783709 浯 6404 nnhhszhszh 33566202 浢 6405 nnhhszhnph 33556905 酒 6406 nnhhszpzhh 16781157 浱 6407 nnhhphhzpn 33556570 浹 6408 nnhhpnpnpn 33560018 浝 6409 nnhhpzpppn 33560945 涞 6410 nnhhnphspn 16782005 涟 6411 nnhhzhsnzn 16782397 浳 6412 nnhhznszhh 33567927 涇 6413 nnhhzzzhsh 33559723 涉 6414 nnhshshspp 16783917 逤 6415 nnhspnpnzn 33564981 娑 6416 nnhspnpzph 16783776 消 6417 nnhsnpszhh 16785212 涆 6418 nnhszhhhhs 33557875 浧 6419 nnhszhhhsh 33567715 涅 6420 nnhszhhhsh 16781934 洖 6421 nnhszhhhpn 33566193 浿 6422 nnhszhhhpn 33563572 涀 6423 nnhszhhhpz 33567001 浬 6424 nnhszhhshh 16782315 涠 6425 nnhszhhzsh 16784772 涄 6426 nnhszhshhz 33563662 浞 6427 nnhszhshpn 16787106 涃 6428 nnhszhspnh 33559624 涓 6429 nnhszhszhh 16781263 涡 6430 nnhszhszpn 16780257 涢 6431 nnhszhszpn 33568907 浥 6432 nnhszhzshz 16785691 涔 6433 nnhszspnnz 16777963 浻 6434 nnhszpnszh 33566174 浩 6435 nnhphshszh 16779444 涐 6436 nnhphshzpn 33554632 浰 6437 nnhphspnss 16782344 海 6438 nnhphzznhn 16779364 浜 6439 nnhpshshpn 16777505 浟 6440 nnhpssphpn 33568505 涖 6441 nnhpsnhnph 33562613 垽 6442 nnhpphshsh 33567632 峾 6443 nnhpphsszs 33567548 涂 6444 nnhpnhhspn 16784504 浠 6445 nnhpnhpszs 16784958 涗 6446 nnhpnszhpz 33565481 浴 6447 nnhpnpnszh 16786211 浖 6448 nnhpnnphsn 33562862 浮 6449 nnhpnnpzsh 16779279 浽 6450 nnhpnnpzph 16783729 浛 6451 nnhpnnzszh 33558720 涣 6452 nnhpzszhpn 16779692 浼 6453 nnhpzszhpz 16781497 浲 6454 nnhpznhhhs 33557607 涤 6455 nnhpznhspn 16778822 浵 6456 nnhpznhppp 33565773 涥 6457 nnhnhszhzs 0 流 6458 nnhnhznpsz 16782500 润 6459 nnhnszhhsh 16782816 涧 6460 nnhnszszhh 16780958 涚 6461 nnhnpszhpz 33565482 涕 6462 nnhnpzhzsp 16784432 浺 6463 nnhnnsszhs 33556245 浣 6464 nnhnnzhhpz 16779689 浨 6465 nnhnnzhspn 33562030 涋 6466 nnhnnzhpnn 33566011 浤 6467 nnhnnzhpzn 16779521 浶 6468 nnhnnzphhs 33562096 浪 6469 nnhnzhhzpn 16782067 涙 6470 nnhnzhphpn 16782142 浫 6471 nnhnzpnhhs 33557848 涒 6472 nnhzhhpszh 16784537 浸 6473 nnhzhhnzzn 16780590 浘 6474 nnhzhpphhz 33566444 涨 6475 nnhzhzphzn 16786678 烫 6476 nnhzppnppn 16784293 涩 6477 nnhzpnshsh 16783599 涊 6478 nnhzpnnznn 16781897 涌 6479 nnhznszhhs 16786039 涘 6480 nnhznphhpn 16783675 浚 6481 nnhznpnpzn 16781347 悈 6482 nnshhpszpn 33560453 悖 6483 nnshsnzzsh 16777581 悑 6484 nnshszhhsn 33555468 悚 6485 nnshszhspn 16783617 悟 6486 nnshszhszh 16784665 悏 6487 nnshpnpnpn 33564336 悂 6488 nnshzpzhsh 33555214 悭 6489 nnsssznhsh 16783286 悄 6490 nnssnpszhh 16783363 悍 6491 nnsszhhhhs 16779403 悜 6492 nnsszhhhsh 16778324 悮 6493 nnsszhhhpn 16784667 悓 6494 nnsszhhhpz 33564212 悝 6495 nnsszhhshh 16780491 悃 6496 nnsszhspnh 16780541 悁 6497 nnsszhszhh 16781279 悞 6498 nnsszhzhpn 33566261 悒 6499 nnsszhzshz 16785707 悎 6500 nnsphshszh 33557955 悧 6501 nnsphspnss 33562626 悔 6502 nnsphzznhn 16779765 悇 6503 nnspnhhspn 33568736 悕 6504 nnspnhpszs 33566706 悅 6505 nnspnszhpz 33568871 悗 6506 nnspzszhpz 33560905 悙 6507 nnsnhszhzs 33558059 悋 6508 nnsnhpnszh 33562365 悯 6509 nnsnsznhpn 16781619 悦 6510 nnsnpszhpz 16786313 悌 6511 nnsnpzhzsp 16784429 悩 6512 nnsnnppnzs 16781812 悢 6513 nnsnzhhzpn 33562081 悀 6514 nnsznszhhs 33568477 悛 6515 nnsznpnpzn 16783494 挙 6516 nnphpnphhs 16781211 鸴 6517 nnpnzpznzh 33567440 害 6518 nnzhhhsszh 16779370 宼 6519 nnzhhpzzph 33559437 宯 6520 nnzhshpzsh 33567100 宽 6521 nnzhssszpz 16780461 宧 6522 nnzhsszhsz 16785635 宸 6523 nnzhphhzpn 16778275 家 6524 nnzhpzpppn 16780833 宵 6525 nnzsnpszhh 16785216 宲 6526 nnzszhhspn 33554937 宺 6527 nnzszhhpsz 33558458 宴 6528 nnzszhhzph 16785880 宮 6529 nnzszhpszh 33558915 宾 6530 nnzpshshpn 16777679 宱 6531 nnzpsphshh 33569342 窍 6532 nnzpnhshhz 16783381 窉 6533 nnzpnhszpn 33555196 窅 6534 nnzpnszhhh 16785968 窄 6535 nnzpnphshh 16786619 宷 6536 nnzpnphspn 33565187 窊 6537 nnzpnppznn 16784681 容 6538 nnzpnpnszh 16782741 窌 6539 nnzpnpzpzs 16781057 窎 6540 nnzpnpznzh 33557099 窇 6541 nnzpnpzzhz 33554923 窋 6542 nnzpnzsszs 16787006 窈 6543 nnzpnzznzp 16785969 剜 6544 nnzpznzzss 16784697 宰 6545 nnznhnphhs 16786379 宭 6546 nnzzhhpszh 33564601 案 6547 nnzzphhspn 16777275 宻 6548 nnzznnpszs 33561366 请 6549 nzhhshszhh 16783151 冦 6550 nzhhpzshzn 33559436 冡 6551 nzhhpzpppn 33561106 朗 6552 nzhhznpzhh 16782064 欴 6553 nzhhznpzpn 33562050 诸 6554 nzhshpszhh 16786998 冣 6555 nzhsshhhzn 33560655 诹 6556 nzhsshhhzn 16786481 诺 6557 nzhsshpszh 16781972 冧 6558 nzhspnhspn 0 读 6559 nzhsznnhpn 16778777 扄 6560 nzhppszszh 33565087 扅 6561 nzhppznpzn 33567776 扆 6562 nzhpnhpzpn 16785650 肁 6563 nzhpzhhhhs 33569445 冢 6564 nzhpzppnpn 16786831 诼 6565 nzhpzppnpn 16787120 扇 6566 nzhpznhznh 16783824 诽 6567 nzshhhshhh 16779151 袜 6568 nzspnhhspn 16784690 袪 6569 nzspnhshzn 16783458 袣 6570 nzspnhsshz 33567957 袔 6571 nzspnhszhs 33558042 袏 6572 nzspnhphsh 33569297 袥 6573 nzspnhpszh 33566125 袚 6574 nzspnhpznn 16777623 袩 6575 nzspnshszh 33555916 袒 6576 nzspnszhhh 16784255 袓 6577 nzspnszhhh 33560618 袖 6578 nzspnszhsh 16785324 袡 6579 nzspnszshh 33563239 袟 6580 nzspnphhpn 16786964 袮 6581 nzspnphspn 0 袘 6582 nzspnphzsz 33567798 袝 6583 nzspnpshsn 33557773 袙 6584 nzspnpszhh 33563473 袗 6585 nzspnpnppp 16786774 袊 6586 nzspnpnnzn 33562452 袛 6587 nzspnpzhzn 33556949 袧 6588 nzspnpzszh 33559425 袍 6589 nzspnpzzhz 16782890 袨 6590 nzspnnhzzn 33567428 袢 6591 nzspnnphhs 16782868 袕 6592 nzspnnnzpn 33567466 袉 6593 nzspnnnzpz 33557353 袐 6594 nzspnnznpn 33555297 袦 6595 nzspnzsszs 33561521 袑 6596 nzspnzpszh 33565114 被 6597 nzspnzpszn 16777584 袯 6598 nzspnzpznn 33555122 袎 6599 nzspnzznzp 33568364 祮 6600 nzsnhshszh 33558804 祬 6601 nzsnhznhsh 33569707 祯 6602 nzsnshszpn 16786748 祩 6603 nzsnphhspn 33569928 祣 6604 nzsnphpzpn 33563196 祫 6605 nzsnpnhszh 16785059 祧 6606 nzsnpnhzpn 16784461 祪 6607 nzsnpzhpzz 33559179 祥 6608 nzsnnphhhs 16785174 祤 6609 nzsnznhznh 33568664 课 6610 nzszhhhspn 16780391 冥 6611 nzszhhnhpn 16781636 诿 6612 nzphspnzph 16784808 谀 6613 nzpshzhhpn 16786109 谁 6614 nzpsnhhhsh 16783923 隺 6615 nzpsnhhhsh 33558047 谂 6616 nzpnnznznn 16783941 调 6617 nzpzhshszh 16778913 冤 6618 nzpzszhpzn 16786253 谄 6619 nzpzpshzhh 16778175 谅 6620 nznhszhspn 16782442 谆 6621 nznhszhzsh 16787085 谇 6622 nznhpnpnhs 16783744 谈 6623 nznppnnppn 16784237 谊 6624 nznnzszhhh 16785669 谉 6625 nznnzszhhs 33565175 書 6626 zhhhshszhh 33565387 剥 6627 zhhsnhpnss 16777526 帬 6628 zhhpszhszs 33564598 恳 6629 zhhzpnnznn 16780394 堲 6630 zhhznzshsh 16780725 叞 6631 zhphhspnzn 33566513 展 6632 zhphsshzpn 16786646 剧 6633 zhphsszhss 16781233 屒 6634 zhphphhzpn 33556120 屑 6635 zhpsnpszhh 16785271 屓 6636 zhpszhhhpn 33566792 屗 6637 zhpphhzhsn 0 屘 6638 zhpphhzzsh 16781402 屐 6639 zhpppshszn 16780674 屖 6640 zhpnhnphhs 33566685 屙 6641 zhpzshszhs 16777318 弬 6642 zhzhsszhsz 33567770 弳 6643 zhzhzzzhsh 33559750 弰 6644 zhzsnpszhh 16783871 弲 6645 zhzszhszhh 33567376 弱 6646 zhznhzhznh 16782820 陚 6647 zshhshshzn 33557755 陼 6648 zshshpszhh 16787019 陸 6649 zshshpnhsh 16782526 陵 6650 zshshpnpzn 16782249 陬 6651 zshsshhhzn 16786472 孭 6652 zshszhhhpn 33561438 陳 6653 zshszhhspn 33556121 娿 6654 zshszhszph 33554611 勐 6655 zshszsshzp 16781548 弉 6656 zshphshhps 33569025 奘 6657 zshphshhpn 16786402 娤 6658 zshphshzph 33569976 陭 6659 zshpnhszhs 33567744 疍 6660 zshpnszhhh 33556737 牂 6661 zshpnphhhs 16786398 孫 6662 zshpzznspn 16783766 陫 6663 zsshhhshhh 33563558 蚩 6664 zsshszhshn 16778382 祟 6665 zsszshhspn 16783751 陲 6666 zsphshsshh 16778527 陹 6667 zsphpsszhh 33565213 陮 6668 zspsnhhhsh 33557256 陴 6669 zspszhhphs 16783014 陯 6670 zspnhszhss 33563112 険 6671 zspnhszhpn 16785124 陰 6672 zspnnzhhzn 33567530 陶 6673 zspzphhszs 16784311 陷 6674 zspzpshzhh 16785143 陱 6675 zspznphspn 33560584 陪 6676 zsnhnphszh 16782903 脀 6677 zszpnhszhh 33556190 烝 6678 zszpnhnnnn 16786808 娡 6679 zphhshnznn 33569776 婲 6680 zphhsspspz 0 姬 6681 zphhsszhsz 16780706 娔 6682 zphhsszhpz 33559376 娕 6683 zphhszhspn 33561961 娪 6684 zphhszhszh 33566195 娠 6685 zphhphhzpn 16778268 娝 6686 zphhpsnszh 33563551 娏 6687 zphhpzpppn 33560940 娙 6688 zphhzzzhsh 33559404 娋 6689 zphsnpszhh 33565108 娨 6690 zphszhhhhs 33566988 娱 6691 zphszhhhpn 16786121 娊 6692 zphszhhhpz 33566979 娌 6693 zphszhhshh 16782311 娉 6694 zphszhshhz 16782974 娖 6695 zphszhshpn 33556592 娚 6696 zphszhshzp 33561542 娟 6697 zphszhszhh 16781256 娲 6698 zphszhszpn 16784678 挐 6699 zphszhphhs 16781750 恕 6700 zphszhnznn 16784135 娛 6701 zphszhzhpn 33568586 娯 6702 zphszhzhpn 16786119 娥 6703 zphphshzpn 16777322 娳 6704 zphphspnss 33562576 娒 6705 zphphzznhn 33561463 娦 6706 zphpshshpn 33563665 娐 6707 zphpnnpzsh 33557634 娞 6708 zphpnnpzph 33564890 娢 6709 zphpnnzszh 33557820 娩 6710 zphpzszhpz 16781687 娮 6711 zphnhhhszh 33568090 娴 6712 zphnszhspn 16785097 娧 6713 zphnpszhpz 33566097 娣 6714 zphnpzhzsp 16778851 娘 6715 zphnzhhzpn 16781907 娓 6716 zphzhpphhz 16784783 婀 6717 zphzshszhs 16777317 恏 6718 zphzshnznn 33557940 砮 6719 zphznhpszh 16781957 娭 6720 zphznphhpn 33554434 哿 6721 zpszhhszhs 16779988 皰 6722 zpsznpzzhz 33563548 脅 6723 zpzpzpszhh 33567139 脋 6724 zpzpzpszhh 33567140 奙 6725 znhpnszhhz 33555027 畚 6726 znhpnszhsh 16777596 翄 6727 znhznhhszn 33556404 翀 6728 znhznhszhs 16778334 毣 6729 znhznhphhz 33561491 翂 6730 znhznhpnzp 33557536 翆 6731 znhznhpzhs 33555808 通 6732 znszhhsnzn 16784331 能 6733 znszhhpzpz 16781824 圅 6734 znsznphhsh 33557817 逘 6735 znphhpnnzn 33567821 难 6736 znpsnhhhsh 16781787 逡 6737 znpnpznnzn 16783541 预 6738 znzshpszpn 16786215 矝 6739 znzsppnnzn 33562342 務 6740 znzsppznzp 33566266 斚 6741 znznnznnhs 33560066 桑 6742 znznznhspn 16783574 剟 6743 znznznznss 16779020 绠 6744 zzhhszhhpn 16780014 骊 6745 zzhhsznszn 16782291 剝 6746 zzhsnhpnss 33555068 绡 6747 zzhsnpszhh 16785223 骋 6748 zzhszhshhz 16778323 绢 6749 zzhszhszhh 16781281 绣 6750 zzhphspnzp 16785329 验 6751 zzhpnhnnph 16785877 绤 6752 zzhpnpnszh 33566823 绥 6753 zzhpnnpzph 16783738 绦 6754 zzhpznhspn 16784302 骍 6755 zzhnhnphhs 16784908 继 6756 zzhnphspnz 16780814 绨 6757 zzhnpzhzsp 16784420 骎 6758 zzhzhhnzzn 33563862 骏 6759 zzhznpnpzn 16781349 郷 6760 zzpzhhznzs 16785172 紜 6761 zznnnnhhzn 33568895 紑 6762 zznnnnhpsn 16779236 紎 6763 zznnnnhpnn 33569163 紌 6764 zznnnnhpzn 33564402 紘 6765 zznnnnhpzn 16779517 純 6766 zznnnnhzsz 16778542 紕 6767 zznnnnhzpz 33563707 紗 6768 zznnnnspnp 33564983 納 6769 zznnnnszpn 33561504 紝 6770 zznnnnphsh 33563302 紤 6771 zznnnnpphs 33560509 紒 6772 zznnnnpnps 33560434 紟 6773 zznnnnpnnz 16780554 紛 6774 zznnnnpnzp 33557528 紣 6775 zznnnnpzhs 33555795 紙 6776 zznnnnpzhz 33569749 紋 6777 zznnnnnhpn 33566534 紡 6778 zznnnnnhzp 33557466 紏 6779 zznnnnnnhs 33565817 紞 6780 zznnnnnzpz 16778635 紖 6781 zznnnnzhzs 33567586 紐 6782 zznnnnzshh 33561843 紦 6783 zznnnnzshz 33554785 紓 6784 zznnnnznzs 33565377 邕 6785 zzzszhzshz 16786022 鸶 6786 zzzzhpznzh 16783649 彗 6787 hhhshhhszhh 16779775 剨 6788 hhhshpszhss 33558646 耝 6789 hhhspnszhhh 33556422 耜 6790 hhhspnszhzh 16783664 耞 6791 hhhspnzpszh 16780821 耚 6792 hhhspnzpszn 33563708 耛 6793 hhhspnznszh 33556328 焘 6794 hhhphsnnnnn 16778707 邫 6795 hhhpszhzshz 33554891 舂 6796 hhhpnpshzhh 16778326 琎 6797 hhshhhpsnzn 33559639 球 6798 hhshhsnhpnn 16783422 珸 6799 hhshhszhszh 33566216 琏 6800 hhshhzhsnzn 16782406 琑 6801 hhshsnpszhh 33564959 琐 6802 hhshsnpszpn 16783788 珵 6803 hhshszhhhsh 33556227 珼 6804 hhshszhhhpn 33555017 責 6805 hhshszhhhpn 33569065 現 6806 hhshszhhhpz 16785157 理 6807 hhshszhhshh 16782310 珿 6808 hhshszhshpn 33556619 琄 6809 hhshszhszhh 33564557 琌 6810 hhshszspnnz 33562376 珴 6811 hhshphshzpn 33554641 琍 6812 hhshphspnss 33562550 琇 6813 hhshphspnzp 16785321 琁 6814 hhshphzshpn 16785407 珻 6815 hhshphzznhn 33561035 琋 6816 hhshpnhpszs 33566675 琈 6817 hhshpnnpzsh 33557657 琀 6818 hhshpnnzszh 16779379 琒 6819 hhshpznhhhs 0 麸 6820 hhshpznhhpn 16779254 琂 6821 hhshnhhhszh 33568082 珳 6822 hhshnhpnppp 33566555 琉 6823 hhshnhznpsz 16782497 琷 6824 hhshnphhhpz 33564578 珶 6825 hhshnpzhzsp 16778866 琓 6826 hhshnnzhhpz 33566304 琅 6827 hhshnzhhzpn 16782050 珺 6828 hhshzhhpszh 16781355 匭 6829 hhszhhhspzz 33559172 貮 6830 hhszhhhpnzn 33554755 規 6831 hhpnszhhhpz 33559159 埲 6832 hshhhhpnhhs 33555053 捧 6833 hshhhhpnhhs 16782940 埥 6834 hshhhshszhh 33556185 掅 6835 hshhhshszhh 33563940 掭 6836 hshhhpnsnnn 33565965 瓺 6837 hshhhznhzzn 33556025 镺 6838 hshhhznphpn 33554585 掁 6839 hshhshhhzpn 33556210 掛 6840 hshhshhshsn 33559076 堵 6841 hshhshpszhh 16778966 堎 6842 hshhshpnpzn 16782151 掕 6843 hshhshpnpzn 33562424 埡 6844 hshhshzzhsh 33554705 掗 6845 hshhshzzhsh 16785766 掑 6846 hshhsshhhpn 33563994 揶 6847 hshhsshhhzs 16785989 掫 6848 hshhsshhhzn 16786474 措 6849 hshhsshszhh 16778108 掿 6850 hshhsshpszh 16781969 描 6851 hshhssszhsh 16781702 埴 6852 hshhsszhhhh 16786916 埬 6853 hshhszhhspn 33556855 域 6854 hshhszhhzpn 16786238 掝 6855 hshhszhhzpn 33558659 掚 6856 hshhszspnpn 33562789 堐 6857 hshhphshhsh 33568030 捱 6858 hshhphshhsh 16777227 捺 6859 hshhpnhhspn 16781759 捹 6860 hshhpnhshps 33555037 埼 6861 hshhpnhszhs 16783228 掎 6862 hshhpnhszhs 16780762 埯 6863 hshhpnszhhz 33554517 掩 6864 hshhpnszhhz 16785847 捷 6865 hshhzhhshpn 16781102 捿 6866 hshhzhhszph 33563951 捯 6867 hshhznhshss 33556789 排 6868 hshshhhshhh 16782839 埱 6869 hshshhspnzn 33565398 掓 6870 hshshhspnzn 33565395 焉 6871 hshshhznnnn 16785779 掯 6872 hshshshszhh 16780400 掉 6873 hshshszhhhs 16778916 赻 6874 hshshpnspnp 33566961 赾 6875 hshshpnpphs 33563892 赺 6876 hshshpnpnnz 33563876 赿 6877 hshshpnpzhz 33556338 趀 6878 hshshpnpzsp 33555682 赼 6879 hshshpnpzpn 33555681 赹 6880 hshshpnpznh 33564364 赽 6881 hshshpnzhpn 33560758 掳 6882 hshshzphzzp 16782557 毮 6883 hshspnpphhz 0 埫 6884 hshsnpszszh 33556260 埧 6885 hshszhhhhpn 16781248 堁 6886 hshszhhhspn 33559362 捰 6887 hshszhhhspn 16784867 堒 6888 hshszhhhzpz 0 掍 6889 hshszhhhzpz 33559229 掴 6890 hshszhhshnh 16780270 捫 6891 hshszhhszhh 33561066 埸 6892 hshszhhpzpp 16785740 掦 6893 hshszhhpzpp 33565912 掲 6894 hshszhhpzpz 16781081 捵 6895 hshszhsshpn 33556149 堌 6896 hshszhsszhh 16780113 堓 6897 hshszshphhs 33554522 堈 6898 hshsznphszs 16779902 掆 6899 hshsznphszs 33558764 堝 6900 hshszzszszh 33559244 埵 6901 hshphshsshh 16779036 捶 6902 hshphshsshh 16778528 捼 6903 hshphspnzph 16781964 逰 6904 hshphzshnzn 33568500 捳 6905 hshpshshszs 33568866 堄 6906 hshpshzhhpz 16781876 掜 6907 hshpshzhhpz 33567837 赦 6908 hshpspnphpn 16783916 赥 6909 hshpspnpzpn 33566691 赧 6910 hshpspnzszn 16781791 堆 6911 hshpsnhhhsh 16778991 推 6912 hshpsnhhhsh 16784524 頂 6913 hshpszhhhpn 33556922 埤 6914 hshpszhhphs 16777567 捭 6915 hshpszhhphs 16777467 埠 6916 hshpszhzhhs 16777888 梊 6917 hshpphshspn 16778859 晢 6918 hshpphsszhh 16786714 掀 6919 hshpphspzpn 16785082 烲 6920 hshpphsnppn 33556103 焎 6921 hshpphsnnnn 33567188 悊 6922 hshpphsnznn 16783173 耈 6923 hshppzpzszh 33558955 捨 6924 hshpnhhsszh 33565131 捦 6925 hshpnhhsnph 33563873 埶 6926 hshpnhshpzn 16785739 逵 6927 hshpnhshnzn 16780502 埨 6928 hshpnhszhss 33563126 掄 6929 hshpnhszhss 33563101 掵 6930 hshpnhszhzs 0 埰 6931 hshpnnphspn 16777912 採 6932 hshpnnphspn 16777906 授 6933 hshpnnpnzzn 16783992 掙 6934 hshpnnpzhhs 33569583 埝 6935 hshpnnznznn 33561773 捻 6936 hshpnnznznn 16781895 捴 6937 hshpnznnznn 33569130 堋 6938 hshpzhhpzhh 16777611 掤 6939 hshpzhhpzhh 16777690 捪 6940 hshpzhzszhh 33561226 教 6941 hshpzshphpn 16781010 堍 6942 hshpzszhpzn 16784513 掏 6943 hshpzphhszs 16784299 埳 6944 hshpzpshzhh 16780319 掐 6945 hshpzpshzhh 16783262 掬 6946 hshpznphspn 16781191 鸷 6947 hshpznpznzh 16786945 掠 6948 hshnhszhspn 16782666 埻 6949 hshnhszhzsh 33559254 掂 6950 hshnhpshszh 16778873 掖 6951 hshnhpspznn 16785987 捬 6952 hshnhppshsn 33557719 掋 6953 hshnhppzhzn 33556989 埣 6954 hshnhpnpnhs 33564933 捽 6955 hshnhpnpnhs 16786540 掶 6956 hshnhpzhhpn 0 培 6957 hshnhnphszh 16782905 掊 6958 hshnhnphszh 16782960 接 6959 hshnhnphzph 16781080 堉 6960 hshnhznszhh 16786187 執 6961 hshnphhspzn 33569744 逹 6962 hshnphhsnzn 16778580 掷 6963 hshnphhpnzs 16786887 埢 6964 hshnphhpnzz 33560681 捲 6965 hshnphhpnzz 16781265 掽 6966 hshnphssnph 16782943 掸 6967 hshnpszhhhs 16778639 埮 6968 hshnppnnppn 33565643 掞 6969 hshnppnnppn 16783851 埞 6970 hshnnzhshpn 33556951 掟 6971 hshnnzhshpn 33556938 捾 6972 hshnnzszhzh 33566588 埪 6973 hshnnzpnhsh 33559418 控 6974 hshnnzpnhsh 16780417 埦 6975 hshnnzpznzz 33566336 捥 6976 hshnnzpznzz 16784725 壸 6977 hshnzhssnph 16780544 捩 6978 hshnzhphpnn 16782485 掮 6979 hshnzhpszhh 16783303 壷 6980 hshnzszhssh 33558243 堔 6981 hshnzpnhspn 33556107 探 6982 hshnzpnhspn 16784263 殻 6983 hshnzpzpzzn 16780373 悫 6984 hshnzpznznn 16783535 揵 6985 hshzhhhhszn 16783309 埭 6986 hshzhhsnhpn 16778617 捸 6987 hshzhhsnhpn 33566010 埽 6988 hshzhhnzszs 16783589 掃 6989 hshzhhnzszs 33564667 据 6990 hshzhphsszh 16781186 堀 6991 hshzhpzsszs 16781285 掘 6992 hshzhpzsszs 16781312 掹 6993 hshzshszssh 0 殸 6994 hshzshppzzn 16783155 逺 6995 hshzpspnnzn 33568827 掺 6996 hshznhpnppp 16778148 掻 6997 hshznszhshn 33564664 掇 6998 hshznznznzn 16779022 堊 6999 hshzzhshhsh 33554645 掼 7000 hshzzshszpn 16780179 聇 7001 hsshhhhshsh 33569579 职 7002 hsshhhszhpn 16786904 聃 7003 hsshhhszshh 16778625 聅 7004 hsshhhphhpn 33556087 菶 7005 hsshhhpnhhs 16777610 基 7006 hsshhhpnhsh 16780711 聄 7007 hsshhhpnppp 33569537 聆 7008 hsshhhpnnzn 16782243 卙 7009 hsshhhpnzhs 33559854 勘 7010 hsshhhpnzzp 16780309 聊 7011 hsshhhpzpzs 16782451 聍 7012 hsshhhnnzhs 16781842 聉 7013 hsshhhzsszs 33566276 埾 7014 hsshhhznhsh 33560671 娶 7015 hsshhhznzph 16783484 聈 7016 hsshhhzznzp 33568536 菁 7017 hsshhshszhh 16780617 甛 7018 hsshhphsszh 33565929 菾 7019 hsshhpnsnnn 16784451 萇 7020 hsshshhhzpn 33556007 菝 7021 hsshshhpznn 16777447 菗 7022 hsshshszhsh 33556294 著 7023 hsshshpszhh 16787027 菱 7024 hsshshpnpzn 16782268 菢 7025 hsshshpzzhz 16777554 菈 7026 hsshshnhnph 33561902 萔 7027 hsshshzpszh 33565972 萚 7028 hsshshznhhs 33566160 萁 7029 hsshsshhhpn 16780657 菆 7030 hsshsshhhzn 16786478 菻 7031 hsshspnhspn 16782225 菥 7032 hsshspnpphs 33566723 萊 7033 hsshspnpnpn 33561934 菘 7034 hsshspnpnzn 16783612 蒁 7035 hsshspnnnzn 33565429 萙 7036 hsshspnnzpz 0 堇 7037 hsshszhhhsh 16780565 菫 7038 hsshszhhhsh 16780579 靪 7039 hsshszhhshs 16778782 菄 7040 hsshszhhspn 33556853 勒 7041 hsshszhhszp 16782106 逪 7042 hsshszhhnzn 33555844 黄 7043 hsshszhshpn 16779722 菣 7044 hsshszhszzn 16783127 莿 7045 hsshszspnss 16778027 逽 7046 hsshpszhnzn 33561877 萘 7047 hsshpnhhspn 16781775 莾 7048 hsshpnhshps 33560968 菴 7049 hsshpnszhhz 16777282 萐 7050 hsshzhhshpn 16783812 萋 7051 hsshzhhszph 16783161 萅 7052 hsshzszszhh 33556553 勚 7053 hsshzszpnzp 33567999 菚 7054 hsshzpnhzpn 33569400 菿 7055 hsshznhshss 33556813 菲 7056 hssshhhshhh 16779138 菽 7057 hssshhspnzn 16781028 萀 7058 hssshzphzpz 33558246 萛 7059 hssszhhhhps 33560497 菋 7060 hssszhhhspn 33566509 菒 7061 hssszhhhspn 33558800 菓 7062 hssszhhhspn 16780280 萈 7063 hssszhhhpzn 33558356 菎 7064 hssszhhhzpz 16780536 菖 7065 hssszhhszhh 16778202 菛 7066 hssszhhszhh 33561071 萌 7067 hssszhhpzhh 16781525 萜 7068 hssszsshszh 33566000 萝 7069 hssszsshpzn 16782617 菌 7070 hssszphspnh 16781340 萞 7071 hssszpnhzpz 0 菵 7072 hsssznphnhz 33566375 萵 7073 hssszzszszh 33566573 菙 7074 hssphshsshh 33556550 萂 7075 hssphspnszh 33557976 菞 7076 hssphspnpzp 33562515 萟 7077 hssphspnpzn 0 萎 7078 hssphspnzph 16784782 萸 7079 hsspshzhhpn 16786123 萖 7080 hsspshzhhpz 33566314 萑 7081 hsspsnhhhsh 16779656 萆 7082 hsspszhhphs 16777555 菂 7083 hsspszhhpzn 33557027 菳 7084 hsspnhhsnph 33559649 剳 7085 hsspnhszhss 33556635 菕 7086 hsspnhszhss 33563120 菜 7087 hsspnnphspn 16777911 菍 7088 hsspnnznznn 33561832 棻 7089 hsspnzphspn 16779177 萠 7090 hsspzhhpzhh 33561086 萉 7091 hsspzhhzshz 33557489 菔 7092 hsspzhhzszn 16779297 菟 7093 hsspzszhpzn 16784506 萄 7094 hsspzphhszs 16784305 萏 7095 hsspzpshzhh 16778641 菊 7096 hsspznphspn 16781208 菧 7097 hssnhppzhzn 16778842 萕 7098 hssnhpnpshh 33559939 萃 7099 hssnhpnpnhs 16778065 萒 7100 hssnhpnznpz 33568136 菮 7101 hssnhpzhhpn 33558889 菩 7102 hssnhnphszh 16783084 菨 7103 hssnhnphzph 33560370 菸 7104 hssnhzppnnn 16785792 菤 7105 hssnphhpnzz 33560682 菼 7106 hssnppnnppn 16784259 菏 7107 hssnnhhszhs 16779959 萍 7108 hssnnhhnphs 16782977 菹 7109 hssnnhszhhh 16781252 萡 7110 hssnnhpszhh 0 萢 7111 hssnnhpzzhz 0 菬 7112 hssnnhzpszh 33569438 菠 7113 hssnnhzpszn 16777628 菭 7114 hssnnhznszh 33565580 萗 7115 hssnnzhhspn 33555580 萣 7116 hssnnzhshpn 16778794 菪 7117 hssnnzhpszh 16778689 萓 7118 hssnnzszhhh 33567763 菅 7119 hssnnzszhzh 16780902 菀 7120 hssnnzpznzz 16784720 蓈 7121 hssnzhhznzs 33562064 菺 7122 hssnzhpszhh 16780907 萤 7123 hssnzszhshn 16785563 营 7124 hssnzszhszh 16785564 萦 7125 hssnzzznspn 16785565 乾 7126 hsszhhhsphz 16783298 萧 7127 hsszhhspspn 16785198 菉 7128 hsszhhsnhpn 16782586 菷 7129 hsszhhnzszs 33569672 兞 7130 hsszhpzphhz 16781436 兝 7131 hsszhpzpnzp 16779173 菰 7132 hsszshppznn 16780086 菡 7133 hsszsnhpnzs 16779412 萨 7134 hsszsnhnphp 16783551 菇 7135 hsszphhsszh 16780081 菑 7136 hsszzzszhsh 16786375 梼 7137 hspnhhhphsn 33556800 梇 7138 hspnhhshhps 33562274 械 7139 hspnhhpszpn 16785285 梽 7140 hspnhshnznn 33569827 椛 7141 hspnhsspspz 0 埜 7142 hspnhspnhsh 16785994 梺 7143 hspnhspnhsn 0 彬 7144 hspnhspnppp 16777672 梦 7145 hspnhspnpzn 16781551 梵 7146 hspnhspnpzn 16779101 椘 7147 hspnhspnnzn 33556450 婪 7148 hspnhspnzph 16782025 梂 7149 hspnhsnhpnn 33564421 桲 7150 hspnhsnzzsh 16777647 梗 7151 hspnhszhhpn 16780010 梀 7152 hspnhszhspn 33555747 梧 7153 hspnhszhszh 16784621 梪 7154 hspnhszhnph 33556911 梄 7155 hspnhszpzhh 33568540 桭 7156 hspnhphhzpn 16786789 桺 7157 hspnhpshzzh 33562936 桮 7158 hspnhpsnszh 16777561 梜 7159 hspnhpnpnpn 16780844 梾 7160 hspnhnphspn 33561953 梿 7161 hspnhzhsnzn 16782400 梐 7162 hspnhzpzhsh 16777757 翉 7163 hspnhznhznh 33563585 桱 7164 hspnhzzzhsh 33559757 梢 7165 hspnsnpszhh 16783876 桿 7166 hspnszhhhhs 33558738 桯 7167 hspnszhhhsh 16784377 梖 7168 hspnszhhhpn 33554998 梘 7169 hspnszhhhpz 33560161 梩 7170 hspnszhhshh 16782299 梬 7171 hspnszhshhz 33567720 梱 7172 hspnszhspnh 16780542 梋 7173 hspnszhszhh 33567384 梙 7174 hspnszhszhs 33558403 梣 7175 hspnszspnnz 33555616 梤 7176 hspnszspnzp 33557534 梏 7177 hspnphshszh 16780120 梸 7178 hspnphspnss 33562503 梅 7179 hspnphzznhn 16781483 梹 7180 hspnpshshpn 33555165 梍 7181 hspnpszhhhz 33569041 梎 7182 hspnpszhhpz 33554554 梻 7183 hspnpszhzps 0 梔 7184 hspnpphzshz 33569709 梌 7185 hspnpnhhspn 33566029 觋 7186 hspnpnhszpz 16785008 桸 7187 hspnpnhpszs 33566696 检 7188 hspnpnhnnph 16780930 桼 7189 hspnpnsnhpn 33563949 梲 7190 hspnpnszhpz 16787114 桽 7191 hspnpnpnhsh 33566561 麥 7192 hspnpnpnpzn 33560887 逨 7193 hspnpnpnnzn 33561938 桴 7194 hspnpnnpzsh 16779280 桵 7195 hspnpnnpzph 33563440 梒 7196 hspnpnnzszh 33557830 桰 7197 hspnpzhzszh 33559629 梚 7198 hspnpzszhpz 33566326 梑 7199 hspnpzpnppn 33556967 桷 7200 hspnpzpzhhs 16781307 桻 7201 hspnpznhhhs 33557580 梈 7202 hspnnhszhzs 33563589 梓 7203 hspnnhnphhs 16786518 堏 7204 hspnnhzphsh 0 梳 7205 hspnnhznpsz 16784101 棁 7206 hspnnpszhpz 16782811 梯 7207 hspnnpzhzsp 16784405 桫 7208 hspnnnhspnp 16783780 梡 7209 hspnnnzhhpz 16779668 桹 7210 hspnnzhhzpn 16782055 桾 7211 hspnzhhpszh 33560794 棂 7212 hspnzhhnppn 16782256 梫 7213 hspnzhhnzzn 33555608 楖 7214 hspnzhhznzs 33559853 梶 7215 hspnzhpphhz 33566464 梮 7216 hspnzhpzszh 33560594 梞 7217 hspnzhznznn 33559987 梉 7218 hspnzshphsh 33569977 蚻 7219 hspnzszhshn 16786602 梕 7220 hspnzpnnznn 33563312 桳 7221 hspnznhpnhs 33555035 桶 7222 hspnznszhhs 16784360 梭 7223 hspnznpnpzn 16783784 紮 7224 hspnzzznspn 33568957 救 7225 hsnhpnnphpn 16781165 啬 7226 hsnphszszhh 16783597 軖 7227 hszhhhshhsh 33559516 転 7228 hszhhhshhzn 16787047 軚 7229 hszhhhshpnn 33556685 軛 7230 hszhhhshpzz 33554703 軘 7231 hszhhhshzsz 16784546 戜 7232 hszhhhshzpn 33557118 軙 7233 hszhhhsshzn 33556140 軜 7234 hszhhhsszpn 16781763 軞 7235 hszhhhsphhz 33560984 軠 7236 hszhhhsphsh 33563320 斬 7237 hszhhhspphs 33569379 軡 7238 hszhhhspnnz 33564190 軝 7239 hszhhhspzhz 16783224 軟 7240 hszhhhspzpn 33563433 軗 7241 hszhhhspzzn 33565385 軣 7242 hszhhhsnhpn 33558089 專 7243 hszhhshnhsn 33569953 旉 7244 hszhhsnnhzp 33557651 郾 7245 hszhhzphzzs 16785855 匮 7246 hszhshszpnz 16780229 曹 7247 hszhsshszhh 16777945 悪 7248 hszhsshnznn 16777336 敕 7249 hszhspnphpn 16778426 欶 7250 hszhspnpzpn 33565498 副 7251 hszhszhshss 16779339 區 7252 hszhszhszhz 16777415 敔 7253 hszhszhphpn 16786171 堅 7254 hszhszznhsh 16780869 孯 7255 hszhszznzsh 33564149 婜 7256 hszhszznzph 33564143 豉 7257 hszhnphhszn 16778415 毭 7258 hszhnphphhz 33556917 票 7259 hszsshhhspn 16783064 鄄 7260 hszsshhshzs 16781270 酜 7261 hszpzhhhhpn 0 酛 7262 hszpzhhhhpz 0 酝 7263 hszpzhhhhzn 16786351 酞 7264 hszpzhhhpnn 16784226 酕 7265 hszpzhhphhz 33560975 酗 7266 hszpzhhpnzs 16785366 酚 7267 hszpzhhpnzp 16779172 酔 7268 hszpzhhpzhs 16786559 酘 7269 hszpzhhpzzn 33565812 酙 7270 hszpzhhnnhs 33569515 酖 7271 hszpzhhnzpz 16778628 婯 7272 hsznhsznzph 33562597 殹 7273 hphhpnzpzzn 33567973 悘 7274 hphhpnznznn 33567745 脣 7275 hphhzpnszhh 16778545 敐 7276 hphhzpnphpn 33556119 厢 7277 hphspnszhhh 16785167 厣 7278 hphpnnszhhs 16785845 戚 7279 hpshhspnzpn 16783163 帶 7280 hpsshznzszs 33556664 覔 7281 hpsnszhhhpz 33561361 戛 7282 hpszhhhhzpn 16780839 硏 7283 hpszhhhphhs 33566641 硎 7284 hpszhhhpsss 16784912 厠 7285 hpszhhhpnss 33555597 硅 7286 hpszhhshhsh 16780198 硈 7287 hpszhhshszh 33560039 硓 7288 hpszhhshppz 0 硔 7289 hpszhhsshpn 33558112 硭 7290 hpszhhssnhz 16781420 硒 7291 hpszhhszpzh 16784953 硕 7292 hpszhhpszpn 16784183 硖 7293 hpszhhnphpn 16785058 硗 7294 hpszhhzphpz 16783359 硄 7295 hpszhsnphpz 33559507 硐 7296 hpszhszhszh 16778751 硘 7297 hpszhszszhh 0 硙 7298 hpszhszszhz 33566409 硃 7299 hpszhphhspn 33569861 硚 7300 hpszhphpnps 16783371 硟 7301 hpszhpshzzn 33555990 硇 7302 hpszhpszpnh 33561579 硂 7303 hpszhpnhhsh 33564535 硆 7304 hpszhpnhszh 33554661 硊 7305 hpszhpzhpzz 33559587 硌 7306 hpszhpznszh 33563168 碀 7307 hpszhpzzhhs 33555625 硛 7308 hpszhnhpspn 0 硋 7309 hpszhnhzppn 33554469 硑 7310 hpszhnphhps 33563587 硉 7311 hpszhzhhhhs 33563031 硍 7312 hpszhzhhzpn 16780399 勔 7313 hpszsshhhzp 33561409 鸸 7314 hpszsspznzh 16777379 厡 7315 hppszhhszpn 33568812 瓠 7316 hpnhhzppznn 16779615 匏 7317 hpnhhzpzzhz 16782887 逩 7318 hpnhshpsnzn 33555021 奢 7319 hpnhshpszhh 16783897 匬 7320 hpnhszhhssz 33568656 奛 7321 hpnszhhpzhh 33558454 奞 7322 hpnpsnhhhsh 33567512 盔 7323 hpnppnszssh 16780495 爽 7324 hpnpnpnpnpn 16784166 奟 7325 hpnpzhhpzhh 33555041 奝 7326 hpnpzhshszh 33557078 厩 7327 hpzhhznhzpz 16781170 豜 7328 hpzpppnhhps 16780883 豘 7329 hpzpppnhzsz 33566108 豛 7330 hpzpppnpzzn 33567904 豝 7331 hpzpppnzshz 16777432 聋 7332 hpzpnhsshhh 16782163 龚 7333 hpzpnhsshpn 16780021 袭 7334 hpzpnnhpzpn 16785005 殑 7335 hpznhsszhpz 16783141 殏 7336 hpznhsnhpnn 33564426 殐 7337 hpznhszhspn 33564866 殎 7338 hpznhpnpnpn 33564118 殌 7339 hpznhzzzhsh 33560762 殒 7340 hpznszhszpn 16786346 殓 7341 hpznpnhnnph 16782421 殍 7342 hpznpnnpzsh 16783061 盛 7343 hpzzpnszssh 16778320 赉 7344 hnphspnszpn 16782012 匾 7345 hnzhpszhssz 16777808 雩 7346 hnzsnnnnhhz 16786159 雫 7347 hnzsnnnnhsn 33561502 雭 7348 hnzsnnnnpzn 33564699 雪 7349 hnzsnnnnzhh 16785444 頃 7350 hzhpszhhhpn 33563907 辄 7351 hzshhsshhhz 16786721 辅 7352 hzshhszhhsn 16779314 辆 7353 hzshhszpnpn 16782445 堑 7354 hzshpphshsh 16783314 勓 7355 hzpzpszhhzp 33559307 隿 7356 hznpsnhhhsh 33567980 瓼 7357 hzznszhhshh 0 奜 7358 shhhshhhhpn 16779144 婓 7359 shhhshhhzph 33557482 鄁 7360 shhpzszhhzs 33554975 龁 7361 shshpnzsphz 33557992 祡 7362 shshpzhhspn 33555901 砦 7363 shshpzhpszh 16786621 眥 7364 shshpzszhhh 16786525 逴 7365 shszhhhsnzn 16778557 欳 7366 shszhsspzpn 33559479 梷 7367 shszhznhspn 33559764 禼 7368 shszpnhszzn 33567235 鹵 7369 shszpnnnnnh 33563001 颅 7370 shzhphpszpn 16782539 虚 7371 shzphzssnph 16785341 虘 7372 shzphzszhhh 33555834 虗 7373 shzphzpshsh 33567296 虖 7374 shzphzpnphs 16779567 彪 7375 shzphzpzppp 16777837 處 7376 shzphzpznpz 33556451 虙 7377 shzphznznpn 33557681 雀 7378 spnpsnhhhsh 16783538 堂 7379 snpnzszhhsh 16784272 常 7380 snpnzszhszs 16778204 眶 7381 szhhhhhhshz 16780477 眭 7382 szhhhhshhsh 16783727 眲 7383 szhhhhsshhh 33554752 唪 7384 szhhhhpnhhs 16779227 郹 7385 szhhhhpnnzs 16781209 眱 7386 szhhhhzhzpn 33567772 眰 7387 szhhhhznhsh 33557122 眦 7388 szhhhshshpz 16786526 啨 7389 szhhhshszhh 33563911 啧 7390 szhhhshszpn 16786434 晣 7391 szhhhshpphs 33569458 匙 7392 szhhhshpnpz 16778393 晡 7393 szhhhszhhsn 16777868 晤 7394 szhhhszhszh 16784656 眮 7395 szhhhszhszh 33565767 晨 7396 szhhhphhzpn 16778272 眽 7397 szhhhpppzpn 16781573 貦 7398 szhhhpnhhpz 33566346 戝 7399 szhhhpnhzpn 33569081 眺 7400 szhhhpnhzpn 16784476 敗 7401 szhhhpnphpn 33554849 販 7402 szhhhpnppzn 33557446 貶 7403 szhhhpnpnzn 33555360 貥 7404 szhhhpnnhpz 33557909 眴 7405 szhhhpzszhh 16785422 覐 7406 szhhhpzpnpn 33560350 眳 7407 szhhhpznszh 33561278 眵 7408 szhhhpznpzn 16778376 睁 7409 szhhhpzzhhs 16786796 眻 7410 szhhhnphhhs 33568249 眹 7411 szhhhnphhpn 16786786 眯 7412 szhhhnphspn 16781641 眼 7413 szhhhzhhzpn 16785831 眸 7414 szhhhznphhs 16781594 悬 7415 szhhhznnznn 16785411 郻 7416 szhhhzzzzzs 33564273 啩 7417 szhhshhshsn 33559073 黒 7418 szhhshhnnnn 16779492 野 7419 szhhshhznzs 16785993 圊 7420 szhhshszhhh 16783130 啪 7421 szhhshpszhh 16782828 啫 7422 szhhshpszhh 33569490 啦 7423 szhhshnhnph 16781982 啈 7424 szhhshnphhs 33558075 啞 7425 szhhshzzhsh 33554670 唭 7426 szhhsshhhpn 33563946 唶 7427 szhhsshszhh 16781123 喏 7428 szhhsshpszh 16781968 喵 7429 szhhssszhsh 16781700 啚 7430 szhhsszszhh 33555229 啉 7431 szhhspnhspn 16782200 唽 7432 szhhspnpphs 33566788 唻 7433 szhhspnpnpn 33561941 閆 7434 szhhszhhhhh 33568107 晘 7435 szhhszhhhhs 33557870 閈 7436 szhhszhhhhs 16779402 閉 7437 szhhszhhhsp 33555294 閇 7438 szhhszhhhsn 33555292 晛 7439 szhhszhhhpz 16785140 勖 7440 szhhszhhhzp 16785380 勗 7441 szhhszhhhzp 16785382 問 7442 szhhszhhszh 33566568 閊 7443 szhhszhhszs 0 婁 7444 szhhszhszph 33562286 曼 7445 szhhszsshzn 16781415 啢 7446 szhhszspnpn 16782439 翈 7447 szhhsznhznh 33566858 啀 7448 szhhphshhsh 16777233 晧 7449 szhhphshszh 33557953 晦 7450 szhhphzznhn 16779780 喐 7451 szhhpszhhzs 33568741 喯 7452 szhhpnhshps 33563582 晞 7453 szhhpnhpszs 16784957 唵 7454 szhhpnszhhz 16777271 晗 7455 szhhpnnzszh 16779382 冕 7456 szhhpzszhpz 16781695 晚 7457 szhhpzszhpz 16784713 啄 7458 szhhpzppnpn 16787101 逷 7459 szhhpzppnzn 16784424 晜 7460 szhhnpzhzsp 16780532 晥 7461 szhhnnzhhpz 16779401 啑 7462 szhhzhhshpn 33560361 啛 7463 szhhzhhszph 16778073 啭 7464 szhhzshhhzn 16787059 晙 7465 szhhznpnpzn 33560820 啡 7466 szhshhhshhh 16779131 畦 7467 szhshhshhsh 16783200 畤 7468 szhshhshhsn 16786951 異 7469 szhshhsshpn 33567924 趼 7470 szhshshhhps 16780929 趺 7471 szhshshhhpn 16779255 跂 7472 szhshshhszn 16783216 距 7473 szhshshhzhz 16781245 趾 7474 szhshshshsh 16786933 啃 7475 szhshshszhh 16780392 跃 7476 szhshshphpn 16786318 趻 7477 szhshshpnnz 33556151 啮 7478 szhshshpnzs 16781931 跄 7479 szhshshpnzz 16783346 跀 7480 szhshshpzhh 33568881 趽 7481 szhshshnhzp 33557478 趹 7482 szhshshzhpn 16781320 跁 7483 szhshshzshz 16782833 啅 7484 szhshszhhhs 33570018 略 7485 szhshpznszh 16782665 畧 7486 szhshpznszh 33563222 蚶 7487 szhshnhsshh 16779378 蛄 7488 szhshnhsszh 16780080 蚵 7489 szhshnhszhs 16779469 蛃 7490 szhshnhszpn 33555199 蛎 7491 szhshnhphzp 16782373 蚽 7492 szhshnhpsnh 33563740 畩 7493 szhshnhpzpn 0 蛂 7494 szhshnhpznn 33555435 蚲 7495 szhshnhnphs 33563694 畡 7496 szhshnhzppn 33558685 蛅 7497 szhshnshszh 16782670 蛆 7498 szhshnszhhh 16783462 蚰 7499 szhshnszhsh 16786074 蚺 7500 szhshnszshh 16782668 蛊 7501 szhshnszssh 16780107 圉 7502 szhshnphhsh 16786166 蛈 7503 szhshnphhpn 33566006 蚱 7504 szhshnphshh 16786613 蚯 7505 szhshnpshsh 16783418 蚹 7506 szhshnpshsn 16779350 蚮 7507 szhshnpshzn 33565735 蚸 7508 szhshnpphsn 33562634 蛌 7509 szhshnppznn 16780109 蛉 7510 szhshnpnnzn 16782259 蚳 7511 szhshnpzhzn 16778405 蚼 7512 szhshnpzszh 33558960 蚫 7513 szhshnpzzhz 33554958 蛀 7514 szhshnnhhsh 16787037 蚿 7515 szhshnnhzzn 16785107 蛇 7516 szhshnnnzpz 16783904 蚭 7517 szhshnzhppz 33561702 蛁 7518 szhshnzpszh 16778908 蚾 7519 szhshnzpszn 33555142 蛏 7520 szhshnznhsh 16778295 蚴 7521 szhshnzznzp 16781950 唬 7522 szhshzphzpz 16779594 累 7523 szhshzznspn 16782113 卾 7524 szhszhhhzzs 33554682 鄂 7525 szhszhhhzzs 16777338 瓹 7526 szhszhhhzzn 33560706 啯 7527 szhszhhshnh 33559250 唱 7528 szhszhhszhh 16778227 國 7529 szhszhhzpnh 16780263 唺 7530 szhszhsshpn 33565947 患 7531 szhszhsnznn 16779691 啱 7532 szhszshpszh 16785784 啰 7533 szhszsshpzn 16782613 喎 7534 szhszzszszh 16780448 唾 7535 szhphshsshh 16784579 啝 7536 szhphspnszh 33557985 唩 7537 szhphspnzph 33566572 唲 7538 szhpshzhhpz 16777378 唯 7539 szhpsnhhhsh 16784763 啤 7540 szhpszhhphs 16783012 啲 7541 szhpszhhpzn 16778857 啥 7542 szhpnhhsszh 16783809 唫 7543 szhpnhhsnph 33559677 啋 7544 szhpnnphspn 33567085 啂 7545 szhpnnpzshz 33561656 唸 7546 szhpnnznznn 16781901 啁 7547 szhpzhshszh 16778693 啕 7548 szhpzphhszs 16784310 啗 7549 szhpzpshzhh 16778652 唿 7550 szhpzppnznn 33558183 焁 7551 szhpzpnnppn 33566671 啍 7552 szhnhszhzsh 16784536 啐 7553 szhnhpnpnhs 16778072 唼 7554 szhnhnphzph 33564328 唹 7555 szhnhzppnnn 16786124 唷 7556 szhnhznszhh 16786013 啳 7557 szhnphhpnzz 33560753 啴 7558 szhnpszhhhs 33555969 啖 7559 szhnppnnppn 16778651 啵 7560 szhnnhzpszn 16777620 啶 7561 szhnnzhshpn 16778796 啌 7562 szhnnzpnhsh 33567031 啘 7563 szhnnzpznzz 33566278 啷 7564 szhnzhhznzs 16782048 唳 7565 szhnzhphpnn 16782335 啸 7566 szhzhhspspn 16785238 啹 7567 szhzhphsszh 0 唰 7568 szhzhpszsss 33565444 啒 7569 szhzhpzsszs 33558185 啜 7570 szhznznznzn 16778559 崝 7571 szshhshszhh 33556167 帻 7572 szshhshszpn 16786432 帳 7573 szshshhhzpn 33569415 帾 7574 szshshpszhh 33557197 崚 7575 szshshpnpzn 16782146 帺 7576 szshsshhhpn 33563974 崊 7577 szshspnhspn 33562319 崍 7578 szshspnpnpn 33561935 崧 7579 szshspnpnzn 16783608 崠 7580 szshszhhspn 33556844 崬 7581 szshszhhspn 33556845 崕 7582 szshphshhsh 16785756 崖 7583 szshphshhsh 16785757 剬 7584 szshpszssss 33557220 崎 7585 szshpnhszhs 16783186 崦 7586 szshpnszhhz 16785782 崨 7587 szshzhhshpn 33560382 崭 7588 szshzshpphs 16786644 帴 7589 szshzpnhzpn 33564985 罣 7590 szsshhshhsh 16780139 眾 7591 szsshpspnpn 33569639 逻 7592 szsshpznnzn 16782622 崐 7593 szsszhhhzpz 33559600 崑 7594 szsszhhhzpz 33559601 帼 7595 szsszhhshnh 16780264 崓 7596 szsszhsszhh 33559040 崮 7597 szsszhsszhh 16780115 崉 7598 szsszpnszhh 33565512 崗 7599 szssznphszs 33558758 帲 7600 szsphhpphhs 33563681 崜 7601 szsphshsshh 33557294 崣 7602 szsphspnzph 33566430 崔 7603 szspsnhhhsh 16778055 帷 7604 szspsnhhhsh 16784765 崥 7605 szspszhhphs 33563745 崟 7606 szspnhhsnph 16785509 崯 7607 szspnhhsnph 33567556 崘 7608 szspnhszhss 33563104 崙 7609 szspnhszhss 33563105 崤 7610 szspnhpszhh 16785939 崢 7611 szspnnpzhhs 33569576 崩 7612 szspzhhpzhh 16777601 崏 7613 szspzhzszhh 33561220 崞 7614 szsnhszhzsh 16780254 崒 7615 szsnhpnpnhs 16786536 崪 7616 szsnhpnpnhs 33569218 帹 7617 szsnhnphzph 33564998 崇 7618 szsnnzhhspn 16778336 崆 7619 szsnnzpnhsh 16780409 帵 7620 szsnnzpznzz 33566297 崌 7621 szszhphsszh 16781176 崛 7622 szszhpzsszs 16781291 崫 7623 szszhpzsszs 33560728 崡 7624 szszsnhpnzs 33557819 崰 7625 szszzzszhsh 33569171 赇 7626 szpnhsnhpnn 16783427 圇 7627 szpnhszhssh 33563103 赈 7628 szpnhphhzpn 16786788 朙 7629 szpnszhpzhh 33561264 婴 7630 szpnszpnzph 16785550 赊 7631 szpnpnhhspn 16783799 圈 7632 sznphhpnzzh 16781253 過 7633 szzszszhnzn 33559248 骩 7634 szznzszhhpz 33566460 铏 7635 phhhzhhpsss 33566648 铐 7636 phhhzhshphz 16780350 铑 7637 phhhzhshppz 16782090 铒 7638 phhhzhsshhh 16777394 铓 7639 phhhzhssnhz 16781423 铔 7640 phhhzhssnph 33568066 铕 7641 phhhzhpszhh 16786089 铖 7642 phhhzhpzzpn 16778318 铗 7643 phhhzhnphpn 16780848 铘 7644 phhhzhzspzs 33568381 铙 7645 phhhzhzphpz 16781806 铚 7646 phhhzhznhsh 33569838 铛 7647 phhhzsnpzhh 16778296 铜 7648 phhhzszhszh 16784353 铝 7649 phhhzszhszh 16782652 铞 7650 phhhzszhszs 33557107 铟 7651 phhhzszhpnh 16785501 铠 7652 phhhzszszhz 16780298 铡 7653 phhhzszpnss 16786603 铢 7654 phhhzphhspn 16786997 铣 7655 phhhzphshpz 16785025 铤 7656 phhhzphshzn 16778801 铥 7657 phhhzphshzn 16778948 铦 7658 phhhzphsszh 33566897 铧 7659 phhhzpspzhs 16779627 铨 7660 phhhzpnhhsh 16783517 铩 7661 phhhzpnhspn 16783808 铪 7662 phhhzpnhszh 16779355 铫 7663 phhhzpnhzpn 16778920 铬 7664 phhhzpznszh 16779983 铭 7665 phhhzpznszh 16781638 铮 7666 phhhzpzzhhs 16786811 铯 7667 phhhzpzzshz 16783601 铰 7668 phhhznhpnpn 16781048 铱 7669 phhhznhpzpn 16785611 铲 7670 phhhznhnphp 16778189 铳 7671 phhhznhznpz 16778341 铴 7672 phhhznnhzpp 33565652 铵 7673 phhhznnzzph 16777272 银 7674 phhhzzhhzpn 16785519 铷 7675 phhhzzphszh 16782777 欫 7676 phhshshpzpn 33564072 啎 7677 phhshszhszh 16784637 剰 7678 phhsshspnss 16783978 缽 7679 phhszshspnh 33555064 逬 7680 phhpphhsnzn 33555055 矫 7681 phhpnphpnps 16781024 矪 7682 phhpnppznhn 33569661 氪 7683 phhzhsszhpz 16780384 毬 7684 phhzhsnhpnn 16783444 氫 7685 phhzhzzzhsh 33563909 覒 7686 phhzszhhhpz 33560981 牾 7687 phshhszhszh 16784617 牻 7688 phshhpzpppn 33560948 牼 7689 phshhzzzhsh 16780407 牿 7690 phshphshszh 16780119 觕 7691 phshpzpzhhs 16778032 甜 7692 phsszhhsshh 16784443 舑 7693 phsszhszshh 33565595 鸹 7694 phsszhpznzh 16780129 秲 7695 phspnhshhsn 33569849 秸 7696 phspnhshszh 16780756 秷 7697 phspnhznhsh 16786918 梨 7698 phspnsshspn 16782297 犁 7699 phspnssphhs 16782289 悡 7700 phspnssnznn 33562501 秱 7701 phspnszhszh 33565794 稆 7702 phspnszhszh 33563186 秵 7703 phspnszhpnh 33567546 秽 7704 phspnszspzn 16779801 秼 7705 phspnphhspn 33569950 秳 7706 phspnphsszh 33558623 秹 7707 phspnpsphsh 33563297 秴 7708 phspnpnhszh 33558023 移 7709 phspnpznpzn 16785646 秺 7710 phspnnnzphz 33557216 秾 7711 phspnnzpzpn 16781835 逶 7712 phspnzphnzn 16784748 動 7713 phszhhshhzp 33556879 笺 7714 phnphnhhzpn 16780877 笻 7715 phnphnhshzs 16783400 筇 7716 phnphnhshzs 16783402 笹 7717 phnphnhsshz 0 笨 7718 phnphnhspnh 16777598 笴 7719 phnphnhszhs 33558867 笸 7720 phnphnhszhz 16782952 笼 7721 phnphnhpzpn 16782160 笘 7722 phnphnshszh 33565016 笡 7723 phnphnszhhh 33564322 笪 7724 phnphnszhhh 16778579 笚 7725 phnphnszhhs 33566838 笛 7726 phnphnszhsh 16778814 笽 7727 phnphnszssh 0 笝 7728 phnphnszznh 33561506 笙 7729 phnphnphhsh 16783959 笶 7730 phnphnphhpn 33565307 笮 7731 phnphnphshh 16786428 符 7732 phnphnpshsn 16779269 笩 7733 phnphnpshzn 33554796 笟 7734 phnphnppznn 33558985 笭 7735 phnphnpnnzn 16782237 笱 7736 phnphnpzszh 16780049 笧 7737 phnphnpzpzh 33555582 笷 7738 phnphnpzpzs 33560986 笗 7739 phnphnpznnn 33556843 笣 7740 phnphnpzzhz 33554912 笠 7741 phnphnnhnph 16782333 笵 7742 phnphnnnhzz 16779095 笥 7743 phnphnzhszh 16783665 笢 7744 phnphnzhzhz 33561247 第 7745 phnphnzhzsp 16778853 笰 7746 phnphnzhzps 16779271 笜 7747 phnphnzsszs 33569878 笯 7748 phnphnzphzn 16781952 笤 7749 phnphnzpszh 16784463 笳 7750 phnphnzpszh 16780823 笾 7751 phnphnzpnzn 16777797 笲 7752 phnphnznhps 16779074 笞 7753 phnphnznszh 16778374 敏 7754 phzznhnphpn 16781617 偰 7755 pshhhszphpn 33567216 偆 7756 pshhhpnszhh 33556585 偾 7757 pshshssszpn 16779199 偡 7758 pshsshhhpnz 33569391 傇 7759 pshsshsshhh 33563371 偞 7760 pshsshzhspn 33568405 做 7761 pshsszhphpn 16786589 鸺 7762 pshspnpznzh 16785310 偃 7763 pshszhhzphz 16785834 偪 7764 pshszhszhsh 16777714 偠 7765 pshszsshzph 33568333 偭 7766 pshpszsshhh 16781691 偄 7767 pshpszsshpn 33563405 偧 7768 pshpnpznpzn 33569307 鄋 7769 pshzhhsznzs 16783624 覑 7770 pshzszhhhpz 33563786 偕 7771 pshzpzpszhh 16785252 袋 7772 pshznnhpzpn 16778610 偝 7773 psshhpzszhh 16777560 偵 7774 psshszhhhpn 33569518 偼 7775 psshzhhshpn 33560403 焂 7776 pssphpnnppn 33565389 悠 7777 pssphpnnznn 16786055 偗 7778 psspnpszhhh 33565234 偹 7779 psspznszhsh 33554994 偿 7780 pssnpnzhhzn 16778209 偍 7781 psszhhhshpn 33565863 側 7782 psszhhhpnss 33555592 偒 7783 psszhhhpzpp 33565692 偮 7784 psszhhsshhh 33559860 敒 7785 psszhhsphpn 33565159 偶 7786 psszhhszshn 16777424 偈 7787 psszhhpzpnz 16780779 偎 7788 psszhshhzpn 16784749 偲 7789 psszhshnznn 16777895 偔 7790 psszhszhhhz 33554667 偘 7791 psszhszhszh 33559315 偳 7792 psszshpszss 33557221 傦 7793 psszznzszhh 0 偛 7794 psphspshzhh 33555855 偢 7795 psphspnnppn 16783414 偅 7796 psphszhhshh 33569640 傁 7797 pspshzhhszn 33564752 偟 7798 pspszhhhhsh 16779711 傀 7799 pspszhhpzzn 16780202 偊 7800 pspszhszshn 33568659 偱 7801 pspphsszhhh 33567492 偫 7802 psppshshhsn 16786952 偷 7803 pspnhszhhss 16784365 偸 7804 pspnhszhhzz 33565806 偁 7805 pspnnpszshh 16778289 您 7806 pspzspnnznn 16781840 偩 7807 pspzszhhhpn 16779337 貨 7808 pspzszhhhpn 33558662 偑 7809 pspzpszhshn 33557578 偬 7810 pspzppnnznn 16786466 偺 7811 pspznsnszhh 33568965 售 7812 psnhhhshszh 16783989 進 7813 psnhhhshnzn 16780583 偯 7814 psnhszhpzpn 16785655 停 7815 psnhszhnzhs 16784386 偣 7816 psnhnphszhh 33568073 偐 7817 psnhnphpppp 33568188 偙 7818 psnhnpnzszs 33557005 傞 7819 psnphhhphsh 16783782 偻 7820 psnphspnzph 16782183 偂 7821 psnphszhhss 33560142 偤 7822 psnphszpzhh 33568506 偽 7823 psnpzzznnnn 33566492 偏 7824 psnzhpszhss 16783041 躯 7825 pszhhhphpnz 16783459 躮 7826 pszhhhppnzp 0 躭 7827 pszhhhpnzpz 16778631 梟 7828 pszhhhzhspn 33567096 鳥 7829 pszhhhznnnn 33561788 皉 7830 pszhhshshpz 33555714 皑 7831 pszhhszszhz 16777237 旣 7832 pszhhpzhzpz 33560003 兜 7833 pszhhpzzhpz 16778758 皐 7834 pszhhnhpnhs 33558783 皎 7835 pszhhnhpnpn 16781040 皏 7836 pszhhnphhps 33563621 假 7837 pszhshhzhzn 16780854 鄅 7838 pszhszshnzs 33568650 鄇 7839 pszhphhpnzs 16779550 偓 7840 pszhphznhsh 16784870 偋 7841 pszhpnphhps 33555206 偉 7842 pszshszhhzs 33566437 偦 7843 pszshpnszhh 33567298 衅 7844 pszsshnphhs 16784898 悤 7845 pszpznhnznn 33555645 貭 7846 pphsszhhhpn 33569823 啠 7847 pphspphsszh 33569471 鸻 7848 ppshhspznzh 33557904 徣 7849 ppshsshszhh 33560459 徝 7850 ppshsszhhhh 33569817 徠 7851 ppshspnpnpn 33561950 術 7852 ppshspnnhhs 33565423 徛 7853 ppshpnhszhs 33563953 徢 7854 ppshzhhshpn 33567228 徘 7855 ppsshhhshhh 16782840 徙 7856 ppsshshshpn 16785017 徜 7857 ppssnpszszh 16778211 得 7858 ppsszhhhhsn 16778717 衔 7859 ppsphhhzhhs 16785101 從 7860 ppspnpnshpn 33555644 衑 7861 ppspnnznhhs 33562404 徟 7862 ppspzhshszh 33569656 衒 7863 ppsnhzznhhs 16785423 徖 7864 ppsnnzhhspn 33555668 徤 7865 ppszhhhhszn 33560214 舸 7866 ppznhnhszhs 16779986 舻 7867 ppznhnshzhp 16782533 舺 7868 ppznhnszhhs 16780840 舳 7869 ppznhnszhsh 16787003 盘 7870 ppznhnszssh 16782859 舴 7871 ppznhnphshh 16786430 舶 7872 ppznhnpszhh 16777639 舲 7873 ppznhnpnnzn 16782239 船 7874 ppznhnpzszh 16778497 鸼 7875 ppznhnpznzh 33569425 舷 7876 ppznhnnhzzn 16785098 舵 7877 ppznhnnnzpz 16779038 敍 7878 pnhhspnshzn 33567331 敘 7879 pnhhspnphpn 33567333 斜 7880 pnhhspnnnhs 16785255 悆 7881 pnhhspnnznn 16786216 釪 7882 pnhhsnphhhs 16786160 釬 7883 pnhhsnphhhs 16779413 釫 7884 pnhhsnphhhz 33558314 釭 7885 pnhhsnphhsh 16779917 釷 7886 pnhhsnphhsh 33566052 釮 7887 pnhhsnphhsp 33564028 釱 7888 pnhhsnphhpn 16778865 釴 7889 pnhhsnphhzn 33568012 釥 7890 pnhhsnphspn 33564301 釦 7891 pnhhsnphszh 33559440 釺 7892 pnhhsnphphs 16783290 釳 7893 pnhhsnphphz 16785048 釧 7894 pnhhsnphpss 33556510 釤 7895 pnhhsnphppp 33565030 釣 7896 pnhhsnphpzn 33557108 釩 7897 pnhhsnphpzn 33557428 釸 7898 pnhhsnphpzn 16785049 釻 7899 pnhhsnphpzn 0 鈒 7900 pnhhsnphpzn 16780719 釲 7901 pnhhsnphzhz 33564824 釨 7902 pnhhsnphzsh 33569207 釶 7903 pnhhsnphzsz 33565281 釹 7904 pnhhsnphzph 33561886 釰 7905 pnhhsnphzpn 33560232 釼 7906 pnhhsnphzpn 33560239 釵 7907 pnhhsnphznn 33555899 釯 7908 pnhhnpshnhz 33560955 鄃 7909 pnhszhhsszs 33568581 龛 7910 pnhszhhpzpn 16780308 畣 7911 pnhszhszhsh 33556634 盒 7912 pnhszhszssh 16779475 剱 7913 pnhszhpnzpn 33560199 鸽 7914 pnhszhpznzh 16779951 瓻 7915 pnhpszshzzn 16778390 欷 7916 pnhpszspzpn 16784944 敎 7917 pnhpzshphpn 33560345 敛 7918 pnhnnphphpn 16782410 敓 7919 pnszhpzphpn 33557302 悉 7920 pnphspnnznn 16784970 釈 7921 pnphspnzhpn 16784072 谹 7922 pnpnszhhpzn 16779519 谺 7923 pnpnszhhzsp 33566828 欲 7924 pnpnszhpzpn 16786195 谻 7925 pnpnszhzhhp 33560733 彩 7926 pnnphspnppp 16777904 覓 7927 pnnpszhhhpz 33561360 豼 7928 pnnpzpphzpz 33563732 豽 7929 pnnpzppszpn 33561515 乿 7930 pnnpzznspnz 16782602 飦 7931 pnnzhhznhhs 33558728 飥 7932 pnnzhhznphz 16784572 酓 7933 pnnzhszpzhh 33568146 貪 7934 pnnzszhhhpn 33565600 领 7935 pnnznhpszpn 16782272 翎 7936 pnnznznhznh 16782261 貧 7937 pnzpszhhhpn 33563669 脚 7938 pzhhhshznzs 16781032 脙 7939 pzhhhsnhpnn 33564404 脖 7940 pzhhhsnzzsh 16777633 脯 7941 pzhhhszhhsn 16779309 脨 7942 pzhhhszhspn 33555741 脰 7943 pzhhhszhnph 16778771 脤 7944 pzhhhphhzpn 16783954 脴 7945 pzhhhpsnszh 33563747 脜 7946 pzhhhpszhhh 33568532 脥 7947 pzhhhpnpnpn 16785248 豚 7948 pzhhhpzpppn 16784540 脦 7949 pzhhhnznnzn 33565732 脛 7950 pzhhhzzzhsh 33559747 脭 7951 pzhhszhhhsh 33556200 脵 7952 pzhhszhhhpn 33559015 脶 7953 pzhhszhszpn 33559054 脷 7954 pzhhphspnss 33562578 脢 7955 pzhhphzznhn 16781472 脪 7956 pzhhpnhpszs 33566611 脸 7957 pzhhpnhnnph 16782407 脫 7958 pzhhpnszhpz 16784549 脞 7959 pzhhpnpnhsh 16778099 脟 7960 pzhhpnnphsn 33562854 脬 7961 pzhhpnnpzsh 16782884 脮 7962 pzhhpnnpzph 33561614 脕 7963 pzhhpzszhpz 33566313 脗 7964 pzhhpzppszh 33566557 脝 7965 pzhhnhszhzs 16779498 脱 7966 pzhhnpszhpz 16784550 脳 7967 pzhhnnppnzs 16781809 脘 7968 pzhhnnzhhpz 16779681 朖 7969 pzhhnzhhzpn 33562072 脲 7970 pzhhzhpszpn 16781917 朘 7971 pzhhznpnpzn 16781255 彫 7972 pzhshszhppp 16778904 週 7973 pzhshszhnzn 16786842 匒 7974 pzhsspnhszh 33556625 匐 7975 pzhszhszhsh 16779263 頄 7976 pzhpszhhhpn 16782862 亀 7977 pzszhhszhhz 33559157 鱾 7978 pzszhshhzhz 33559916 魚 7979 pzszhshnnnn 33568609 象 7980 pzszhpzpppn 16785188 够 7981 pzszhpznpzn 16780054 逸 7982 pzszhpznnzn 16785679 猜 7983 pzphhshszhh 16777894 欵 7984 pzphhpnpzpn 16780464 猪 7985 pzphshpszhh 16786986 猉 7986 pzphsshhhpn 33563961 猎 7987 pzphsshszhh 16782478 猫 7988 pzphssszhsh 16781433 猍 7989 pzphspnpnpn 33561936 猗 7990 pzphpnhszhs 16785594 猅 7991 pzpshhhshhh 33563474 猇 7992 pzpshzphzpz 16785935 凰 7993 pzpszhhhhsh 16779725 猓 7994 pzpszhhhspn 16780275 猑 7995 pzpszhhhzpz 33559602 猖 7996 pzpszhhszhh 16778196 猠 7997 pzpszhsshpn 0 猡 7998 pzpszsshpzn 16782619 猧 7999 pzpszzszszh 16784861 猘 8000 pzpphhszsss 16786936 猊 8001 pzppshzhhpz 16781852 猚 8002 pzppsnhhhsh 33568031 猈 8003 pzppszhhphs 16777452 猞 8004 pzppnhhsszh 16783895 猙 8005 pzppnnpzhhs 33569574 猄 8006 pzpnhszhspn 33559710 猝 8007 pzpnhpnpnhs 16778036 悐 8008 pzpnppnnznn 16784431 猟 8009 pzpnnppzhhs 16782480 猔 8010 pzpnnzhhspn 33569138 猏 8011 pzpnzhpszhh 33560078 觘 8012 pzpzhhsspnp 33556063 觗 8013 pzpzhhspzhz 33569835 斛 8014 pzpzhhsnnhs 16779585 觖 8015 pzpzhhszhpn 16781325 猕 8016 pzpzhzpzspn 16781643 猛 8017 pzpzshszssh 16781544 脧 8018 pznhznpnpzn 16781257 馗 8019 pznphpszhhh 16780509 夠 8020 pznpznpzszh 33558964 祭 8021 pznnznhhspn 16780788 匓 8022 pzzhhznpzzn 33560518 馃 8023 pzzszhhhspn 33559275 馄 8024 pzzszhhhzpz 16779815 馅 8025 pzzpzpshzhh 16785145 馆 8026 pzznnzszhzh 16780168 匘 8027 pzzzzpszpnh 33561598 凑 8028 nhhhhpnhhpn 16777995 訮 8029 nhhhszhhhps 33566879 訧 8030 nhhhszhhpzn 16786061 詎 8031 nhhhszhhzhz 33560641 訝 8032 nhhhszhhzsp 33568047 訰 8033 nhhhszhhzsz 33570001 訨 8034 nhhhszhshsh 33569751 訬 8035 nhhhszhspnp 16778231 訲 8036 nhhhszhszhs 33567875 訥 8037 nhhhszhszpn 33561508 許 8038 nhhhszhphhs 33558247 訞 8039 nhhhszhphpn 33568290 訛 8040 nhhhszhpspz 33554619 訢 8041 nhhhszhpphs 33566592 訤 8042 nhhhszhpnpn 33561494 訡 8043 nhhhszhpnnz 33567554 訩 8044 nhhhszhpnzs 33567244 訜 8045 nhhhszhpnzp 33557529 訟 8046 nhhhszhpnzn 33564732 設 8047 nhhhszhpzzn 33565138 訪 8048 nhhhszhnhzp 33557467 訦 8049 nhhhszhnzpz 33556117 悥 8050 nhhhszhnznn 33567960 訫 8051 nhhhszhnznn 33566612 訣 8052 nhhhszhzhpn 33560727 訳 8053 nhhhszhzhpn 16785677 訠 8054 nhhhszhzhzs 33565178 凐 8055 nhhszsshhsh 33567541 减 8056 nhhphszhzpn 16780931 髙 8057 nhsshhszszh 16779931 鸾 8058 nhsspnpznzh 16782595 毫 8059 nhszhnzphhz 16779436 孰 8060 nhszhzshpzn 16784110 烹 8061 nhszhzsnnnn 16782926 袠 8062 nhphhpnpzpn 33569819 庱 8063 nhphshpnpzn 33556236 庴 8064 nhphsshszhh 16780745 庻 8065 nhphsshpnpn 33565436 庶 8066 nhphsshnnnn 16784142 庹 8067 nhphsshzhpn 16784577 剫 8068 nhphsshznss 33557307 庿 8069 nhphssszhsh 33561435 麻 8070 nhphspnhspn 16781364 庲 8071 nhphspnpnpn 33561951 庵 8072 nhphpnszhhz 16777268 庼 8073 nhphzhpszpn 33563928 庾 8074 nhppshzhhpn 16786180 庳 8075 nhppszhhphs 16777767 庺 8076 nhppnznhspn 33564714 痔 8077 nhpnhhshhsn 16786970 痖 8078 nhpnhhssnph 33568043 痏 8079 nhpnhhpszhh 16784801 痍 8080 nhpnhhzhzpn 16785639 痓 8081 nhpnhhznhsh 33556406 疵 8082 nhpnhshshpz 16777997 痋 8083 nhpnhszhshn 33556256 痌 8084 nhpnhszhszh 16784332 痐 8085 nhpnhszszhh 16779761 產 8086 nhpnhpphhsh 16778177 痊 8087 nhpnhpnhhsh 16783514 痑 8088 nhpnhpznpzn 33557336 痎 8089 nhpnhnhzppn 33560463 痒 8090 nhpnhnphhhs 16785917 痕 8091 nhpnhzhhzpn 16779493 斍 8092 nhpnszhhhpz 33560763 袞 8093 nhpnszhpzpn 33559230 斎 8094 nhpnpshhspn 16786617 斏 8095 nhpnnzhhzpn 33562078 飡 8096 nhpnnzhhzpn 16777916 廊 8097 nhpnzhhznzs 16782059 康 8098 nhpzhhsnhpn 16780330 庸 8099 nhpzhhszhhs 16786024 鹿 8100 nhpzsshhzpz 16782577 盗 8101 nhpzpnszssh 16778714 秶 8102 nhpzpnphspn 33569192 袌 8103 nhpzzhzpzpn 33554953 竡 8104 nhnphhpszhh 33565224 章 8105 nhnphszhhhs 16786675 竟 8106 nhnphszhhpz 16780654 産 8107 nhnphpphhsh 16778178 豙 8108 nhnphpzpppn 33567903 竫 8109 nhnphpzzhhs 33559774 翊 8110 nhnphznhznh 16785727 啇 8111 nhnpszhsszh 33557001 商 8112 nhnpszpnszh 16783861 朚 8113 nhzszhhpzhh 33558416 旌 8114 nhzpphphhsh 16780619 族 8115 nhzpphphhpn 16786542 旍 8116 nhzpphpnnzn 33559729 旎 8117 nhzpphzhppz 16781874 旋 8118 nhzpphzshpn 16785413 旇 8119 nhzpphzpszn 33563718 堃 8120 nhzpnhzphsh 33559599 旈 8121 nhzpnhznpsz 33562923 望 8122 nhzpzhhhhsh 16784739 逳 8123 nhznszhhnzn 33568712 袬 8124 nhznszhpzpn 33568747 袤 8125 nhznzsppzpn 16781467 玈 8126 nhzznphpzpn 16782541 率 8127 nhzznnhpnhs 16782659 牽 8128 nhzznnzphhs 33564153 阇 8129 nszhshpszhh 16778949 阈 8130 nszhszhhzpn 16786186 阉 8131 nszhpnszhhz 16785780 阊 8132 nszszhhszhh 16778194 阋 8133 nszpshzhhpz 16785030 阌 8134 nszpnnpnzzn 16784840 阍 8135 nszpzhzszhh 16779803 阎 8136 nszpzpshzhh 16785796 阏 8137 nsznhzppnnn 16777339 阐 8138 nsznpszhhhs 16778176 着 8139 nphhhpszhhh 16786692 羚 8140 nphhhppnnzn 16782251 羝 8141 nphhhppzhzn 16778809 羜 8142 nphhhpnnzhs 16787031 羟 8143 nphhhpznhsh 16783285 盖 8144 nphhshszssh 16779870 羕 8145 nphhshnzzpn 33568287 羛 8146 nphhshzhzps 33567952 眷 8147 nphhpnszhhh 16781273 粖 8148 nphspnhhspn 33561182 粓 8149 nphspnhsshh 33558725 粝 8150 nphspnhphzp 16782358 粘 8151 nphspnshszh 16781893 粗 8152 nphspnszhhh 16778030 畨 8153 nphspnszhsh 33557391 粙 8154 nphspnszhsh 33569694 粚 8155 nphspnphzsz 33562499 粕 8156 nphspnpszhh 16782956 粣 8157 nphspnpzpzh 33555600 粒 8158 nphspnnhnph 16782356 断 8159 nphspnzpphs 16778988 剪 8160 nphszhhsszp 16780922 兽 8161 npszhshhszh 16783991 曽 8162 npszhshszhh 33555627 敚 8163 npszhpzphpn 33557304 敝 8164 npszspnphpn 16777750 焃 8165 nppnhshpspn 33558026 焫 8166 nppnhssszpn 33563460 烳 8167 nppnhszhhsn 16783094 焐 8168 nppnhszhszh 33566241 烼 8169 nppnhpzpppn 33558202 烴 8170 nppnhzzzhsh 33559741 焇 8171 nppnsnpszhh 33567076 焊 8172 nppnszhhhhs 16779394 焑 8173 nppnszhspnh 0 焆 8174 nppnszhszhh 33560711 烱 8175 nppnszpnszh 33560494 焅 8176 nppnphshszh 33559346 烸 8177 nppnphzznhn 33557802 烯 8178 nppnpnhpszs 16784995 焀 8179 nppnpnpnszh 33558203 烰 8180 nppnpnnpzsh 33557709 焓 8181 nppnpnnzszh 16779380 焔 8182 nppnpzsszhh 33568180 焕 8183 nppnpzszhpn 16779680 烽 8184 nppnpznhhhs 16779220 烿 8185 nppnpznhppp 33563367 焖 8186 nppnnsznznn 16781522 烾 8187 nppnnppnhsh 33556418 焍 8188 nppnnpzhzsp 33556996 烷 8189 nppnnnzhhpz 16784707 烺 8190 nppnnzhhzpn 16782066 焗 8191 nppnzhpzszh 16781202 焌 8192 nppnznpnpzn 16781343 淎 8193 nnhhhhpnhhs 33563622 清 8194 nnhhhshszhh 16783129 淸 8195 nnhhhshszsh 33563917 渍 8196 nnhhhshszpn 16786524 盓 8197 nnhhhsszssh 33568577 添 8198 nnhhhpnsnnn 16784441 涱 8199 nnhhshhhzpn 33569422 渚 8200 nnhhshpszhh 16787013 淕 8201 nnhhshpnhsh 33563062 淩 8202 nnhhshpnpzn 16782266 鸿 8203 nnhhshpznzh 16779520 涬 8204 nnhhshnphhs 16784928 淇 8205 nnhhsshhhpn 16783218 渮 8206 nnhhsshszhs 16779949 渃 8207 nnhhsshpszh 33563278 渵 8208 nnhhssszhsh 33560974 渶 8209 nnhhssszhpn 33567648 淔 8210 nnhhsszhhhh 33556407 淋 8211 nnhhspnhspn 16782214 淅 8212 nnhhspnpphs 16784985 淶 8213 nnhhspnpnpn 33561959 淞 8214 nnhhspnpnzn 16783613 涷 8215 nnhhszhhspn 16778744 淢 8216 nnhhszhhzpn 16786240 渎 8217 nnhhsznnhpn 16778953 涯 8218 nnhhphshhsh 16785764 渀 8219 nnhhpnhshps 33555019 渏 8220 nnhhpnhszhs 0 淹 8221 nnhhpnszhhz 16785793 涿 8222 nnhhpzppnpn 16787094 淒 8223 nnhhzhhszph 16783182 渠 8224 nnhhzhzhspn 16783471 渐 8225 nnhhzshpphs 16780872 淺 8226 nnhhzpnhzpn 33560123 渄 8227 nnhshhhshhh 33557479 淑 8228 nnhshhspnzn 16784104 渉 8229 nnhshshspnp 16783910 渋 8230 nnhshshnhpn 16783592 淖 8231 nnhshszhhhs 16781813 淲 8232 nnhshzphzpz 33558198 桬 8233 nnhspnphspn 33564986 挲 8234 nnhspnpphhs 16783779 淌 8235 nnhsnpszszh 16784292 淂 8236 nnhszhhhhsn 33556823 淏 8237 nnhszhhhhpn 33557968 淉 8238 nnhszhhhspn 33559279 混 8239 nnhszhhhzpz 16779816 淐 8240 nnhszhhszhh 33556003 渇 8241 nnhszhhpzpz 16780376 渂 8242 nnhszhhnhpn 33566567 淠 8243 nnhszhshhps 16783037 淟 8244 nnhszhsshpn 16784457 涸 8245 nnhszhsszhh 16779471 渑 8246 nnhszhszhhz 16781686 涾 8247 nnhszpnszhh 33565543 渁 8248 nnhszpnszpn 33568772 渦 8249 nnhszzszszh 33559245 淛 8250 nnhphhszsss 33569840 涶 8251 nnhphshsshh 33566127 涹 8252 nnhphspnzph 33566575 淣 8253 nnhpshzhhpz 33561711 淮 8254 nnhpsnhhhsh 16779644 淿 8255 nnhpszhhszs 33561378 渒 8256 nnhpszhhphs 33563757 涻 8257 nnhpnhhsszh 33558755 淦 8258 nnhpnhhsnph 16779900 淪 8259 nnhpnhszhss 33563123 淆 8260 nnhpnhpszhh 16785226 渊 8261 nnhpnphspns 16786245 渓 8262 nnhpnnphhpn 16784935 淫 8263 nnhpnnpphsh 16785518 涭 8264 nnhpnnpnzzn 33565259 淨 8265 nnhpnnpzhhs 33559772 淰 8266 nnhpnnznznn 16781904 淜 8267 nnhpzhhpzhh 16782936 淝 8268 nnhpzhhzshz 16779141 淍 8269 nnhpzhshszh 33569657 涽 8270 nnhpzhzszhh 33558584 渔 8271 nnhpzszhshh 16786114 淘 8272 nnhpzphhszs 16784316 淊 8273 nnhpzpshzhh 16779410 淴 8274 nnhpzppnznn 33558199 盕 8275 nnhpznszssh 33557448 淗 8276 nnhpznphspn 33560602 涼 8277 nnhnhszhspn 16782433 淳 8278 nnhnhszhzsh 16778551 液 8279 nnhnhpspznn 16786007 済 8280 nnhnhpnpshh 16780768 淬 8281 nnhnhpnpnhs 16778080 涪 8282 nnhnhnphszh 16779290 淁 8283 nnhnhnphzph 33564338 淤 8284 nnhnhzppnnn 16786108 淯 8285 nnhnhznszhh 33568766 渆 8286 nnhnphhpsss 33568773 渕 8287 nnhnphhpnss 33568774 淃 8288 nnhnphhpnzz 33560700 湴 8289 nnhnphssnph 33554879 淡 8290 nnhnppnnppn 16778663 淙 8291 nnhnnzhhspn 16777990 淀 8292 nnhnnzhshpn 16778897 渖 8293 nnhnnzszhhs 16783942 涫 8294 nnhnnzszhzh 33559123 涳 8295 nnhnnzpnhsh 33559417 涴 8296 nnhnnzpznzz 16784719 淧 8297 nnhnnznznpn 33561374 淭 8298 nnhnzhphspn 33564505 淚 8299 nnhnzhphpnn 33562207 深 8300 nnhnzpnhspn 16783938 湕 8301 nnhzhhhhszn 33560149 渌 8302 nnhzhhsnhpn 16782561 涺 8303 nnhzhphsszh 33560557 涮 8304 nnhzhpszsss 16784158 埿 8305 nnhzhppzhsh 33561713 淈 8306 nnhzhpzsszs 33559033 涵 8307 nnhzsnhpnzs 16779386 婆 8308 nnhzpsznzph 16782950 梁 8309 nnhzpnnhspn 16782430 渗 8310 nnhznhpnppp 16783952 涰 8311 nnhznznznzn 33556608 淥 8312 nnhzzhsnhpn 33563070 淄 8313 nnhzzzszhsh 16786508 情 8314 nnshhshszhh 16783143 悿 8315 nnshhpnsnnn 33565957 惬 8316 nnshhnphpnz 16783397 悵 8317 nnshshhhzpn 33556038 悻 8318 nnshshnphhs 16784929 惜 8319 nnshsshszhh 16784990 愥 8320 nnshssszhpn 0 惏 8321 nnshspnhspn 16782215 惐 8322 nnshszhhzpn 33568754 悽 8323 nnshzhhszph 16783177 惭 8324 nnshzshpphs 16777919 悱 8325 nnsshhhshhh 16779147 悼 8326 nnsshszhhhs 16778713 惝 8327 nnssnpszszh 16778222 惧 8328 nnsszhhhhpn 16781249 惈 8329 nnsszhhhspn 33559278 惃 8330 nnsszhhhzpz 33559611 惕 8331 nnsszhhpzpp 16784435 惘 8332 nnssznphnhz 16784738 悸 8333 nnsphspnzsh 16780804 惟 8334 nnspsnhhhsh 16784777 惞 8335 nnspphspzpn 33566598 惍 8336 nnspnhhsnph 33559646 惀 8337 nnspnhszhss 33563117 惗 8338 nnspnnznznn 33561796 惆 8339 nnspzhshszh 16778358 惛 8340 nnspzhzszhh 16779810 惂 8341 nnspzpshzhh 33559320 惚 8342 nnspzppnznn 16779572 惊 8343 nnsnhszhspn 16780618 惇 8344 nnsnhszhzsh 33557278 惦 8345 nnsnhpshszh 16778899 悴 8346 nnsnhpnpnhs 16778075 惓 8347 nnsnphhpnzz 16783495 惮 8348 nnsnpszhhhs 16778667 惔 8349 nnsnppnnppn 16785848 悰 8350 nnsnnzhhspn 16777988 悺 8351 nnsnnzszhzh 33559126 悾 8352 nnsnnzpnhsh 16780413 惋 8353 nnsnnzpznzz 16784721 悷 8354 nnsnzhphpnn 33562633 惤 8355 nnszhznhzzn 33560120 惨 8356 nnsznhpnppp 16777922 惙 8357 nnsznznznzn 16778568 惯 8358 nnszzshszpn 16780184 巣 8359 nnpszhhhspn 16778245 蛍 8360 nnpnzszhshn 16785576 営 8361 nnpnzszhszh 16785573 寈 8362 nnzhhshszhh 33563914 崈 8363 nnzhhspnszs 33556248 寇 8364 nnzhhpzshzn 16780426 寅 8365 nnzhszhshpn 16785517 寄 8366 nnzhpnhszhs 16780806 寁 8367 nnzhzhhshpn 16786388 寂 8368 nnzshhspnzn 16780805 逭 8369 nnzszhzhnzn 16779683 宿 8370 nnzpshpszhh 16783714 寉 8371 nnzpsnhhhsh 33558049 窐 8372 nnzpnhshhsh 33559160 窚 8373 nnzpnhpzzpn 33556214 窒 8374 nnzpnhznhsh 16786960 窑 8375 nnzpnphhszs 16785949 窕 8376 nnzpnpnhzpn 16784474 窔 8377 nnzpnnhpnpn 16785970 寀 8378 nnzpnnphspn 16777907 窏 8379 nnzpnnnhhhs 33566187 梥 8380 nnzpnznhspn 33564711 窓 8381 nnzpnznnznn 16778510 寃 8382 nnzpzszhpzn 16786254 密 8383 nnznznpnszs 16781676 谋 8384 nzhsshhhspn 16781593 谌 8385 nzhsshhhpnz 16778265 谍 8386 nzhsshzhspn 16778924 谎 8387 nzhssnhzpsz 16779729 鄆 8388 nzhszhhhszs 33568934 冨 8389 nzhszhszhsh 33557777 谏 8390 nzhsznphspn 16780938 啔 8391 nzhphzpnszh 33564037 啟 8392 nzhpszhphpn 33564039 扈 8393 nzhpszhzshz 16779605 啓 8394 nzhpphpnszh 16783232 焈 8395 nzhpzhznppn 33566674 皲 8396 nzhzshzpszn 16781338 谐 8397 nzhzpzpszhh 16785246 谑 8398 nzshzphzhzh 16781979 袿 8399 nzspnhshhsh 33559165 袺 8400 nzspnhshszh 16781082 袹 8401 nzspnhpszhh 33561189 袸 8402 nzspnhpszsh 33555819 袻 8403 nzspnhpszss 33554738 袴 8404 nzspnhpnhhz 16780438 裃 8405 nzspnshhhsn 0 裆 8406 nzspnsnpzhh 16778675 裀 8407 nzspnszhpnh 16785499 袾 8408 nzspnphhspn 33569869 袱 8409 nzspnpshpnn 16779291 袵 8410 nzspnpsphsh 33563315 裇 8411 nzspnpszssh 0 裄 8412 nzspnppshhs 0 袷 8413 nzspnpnhszh 16780845 袶 8414 nzspnpznhzs 33560282 袼 8415 nzspnpznszh 16779958 袳 8416 nzspnpznpzn 33556373 裈 8417 nzspnnzhzhs 16780535 裉 8418 nzspnzhhzpn 16780401 袽 8419 nzspnzphszh 16782775 祷 8420 nzsnhhhphsn 16778701 祴 8421 nzsnhhpszpn 33558689 祳 8422 nzsnhphhzpn 33569539 祦 8423 nzsnszhhhpn 16784616 視 8424 nzsnszhhhpz 33565355 祵 8425 nzsnszhspnh 33558599 祸 8426 nzsnszhszpn 16779836 祰 8427 nzsnphshszh 33558806 祱 8428 nzsnnpszhpz 33565478 祶 8429 nzsnnpzhzsp 33557015 祲 8430 nzsnzhhnzzn 16780588 谒 8431 nzszhhpzpnz 16785995 谓 8432 nzszhshszhh 16784810 谔 8433 nzszhszhhhz 16777340 谕 8434 nzpnhszhhss 16786189 谖 8435 nzpnnphhpzn 16785391 谗 8436 nzpzszhpznn 16778152 谘 8437 nznhpzpnszh 16786489 谙 8438 nznhnphszhh 16777258 谚 8439 nznhnphpppp 16785862 谛 8440 nznhnpnzszs 16778848 谜 8441 nznphspnnzn 16781504 谝 8442 nznzhpszhss 16783044 谞 8443 nzzshpnszhh 16785352 晝 8444 zhhhshszhhh 33569685 粛 8445 zhhspsnphpn 16783710 逮 8446 zhhsnhpnnzn 16778596 逯 8447 zhhsnhpnnzn 16782568 焄 8448 zhhpszhnnnn 16785445 敢 8449 zhsshhhphpn 16779890 尉 8450 zhphhspnhsn 16784809 屠 8451 zhphshpszhh 16784500 屚 8452 zhphszsnnnn 33562316 剭 8453 zhphznhshss 33566185 屝 8454 zhpshhhshhh 16779159 屛 8455 zhpphhpphhs 33563687 屜 8456 zhpppshsshz 33565907 張 8457 zhzhshhhzpn 33569406 艴 8458 zhzpspzzshz 16779281 弸 8459 zhzpzhhpzhh 16777602 弶 8460 zhznhszhspn 33560273 弴 8461 zhznhszhzsh 33557075 婱 8462 zhznhzznzph 33566918 弹 8463 zhznpszhhhs 16778646 強 8464 zhzznszhshn 33560274 孲 8465 zshhshzzhsh 33568023 陿 8466 zshhpnpnpnz 33565037 郼 8467 zshszhhzszs 33567756 隁 8468 zshszhhzphz 33568204 陻 8469 zshszsshhsh 33567531 隋 8470 zshphshszhh 16783734 焋 8471 zshphshnppn 33569982 隇 8472 zshphzphzpn 33566388 堕 8473 zshpszhhhsh 16779037 郿 8474 zshpszhhhzs 16781494 随 8475 zshpszhhnzn 16783735 陾 8476 zshpszsshpn 16782724 將 8477 zshppznnhsn 33560240 蛋 8478 zshpnszhshn 16778661 孮 8479 zshnnzhhspn 33555666 階 8480 zshzpzpszhh 33560365 隄 8481 zsszhhhshpn 33556946 陽 8482 zsszhhhpzpp 33568255 隅 8483 zsszhhszshn 16786143 隈 8484 zsszhshhzpn 16784754 粜 8485 zsszsnphspn 16784477 焏 8486 zssznhznnnn 33559836 隀 8487 zsphszhhshh 33556254 隉 8488 zspshzhhhsh 33561821 隍 8489 zspszhhhhsh 16779715 隗 8490 zspszhhpzzn 16780508 隂 8491 zspnhshhhzn 33567534 隃 8492 zspnhszhhss 16786142 隆 8493 zspznhphhsh 16782154 隐 8494 zspzzhhnznn 16785527 隌 8495 zsnhnphszhh 33554513 隊 8496 zsnphpzpppn 33557258 娬 8497 zphhhshshzn 33566220 婧 8498 zphhhshszhh 16780644 婊 8499 zphhhshpzpn 16777855 婖 8500 zphhhpnsnnn 33565924 媎 8501 zphhshpszhh 33560429 婈 8502 zphhshpnpzn 33562402 婞 8503 zphhshnphhs 16784925 婭 8504 zphhshzzhsh 33568059 娸 8505 zphhsshhhpn 16783166 娵 8506 zphhsshhhzn 16781181 婼 8507 zphhsshpszh 16778563 媌 8508 zphhssszhsh 33560980 媖 8509 zphhssszhpn 33567659 婡 8510 zphhspnpnpn 33561945 娻 8511 zphhszhhspn 33556849 婳 8512 zphhszhshzs 33558326 娾 8513 zphhphshhsh 33554441 婍 8514 zphhpnhszhs 33564034 婕 8515 zphhzhhshpn 16781097 婔 8516 zphshhhshhh 33566383 婌 8517 zphshhspnzn 33565401 婥 8518 zphshszhhhs 16778561 婋 8519 zphshzphzpz 33567086 婐 8520 zphszhhhspn 16784866 婫 8521 zphszhhhzpz 33559606 娼 8522 zphszhhszhh 16778200 婰 8523 zphszhsshpn 33557052 婟 8524 zphszhsszhh 33558268 婩 8525 zphszshphhs 33554529 媧 8526 zphszzszszh 33566280 娷 8527 zphphshsshh 33556540 婑 8528 zphphspnzph 16782798 婗 8529 zphpshzhhpz 33561697 婎 8530 zphpsnhhhsh 33558471 婂 8531 zphpszhhszs 33561383 婢 8532 zphpszhhphs 16777752 婨 8533 zphpnhszhss 33563111 婇 8534 zphpnnphspn 33555489 婬 8535 zphpnnpphsh 16785512 婤 8536 zphpzhshszh 16778344 婚 8537 zphpzhzszhh 16779806 婏 8538 zphpzszhpzn 33557752 婅 8539 zphpznphspn 33560575 婛 8540 zphnhszhspn 33559719 婄 8541 zphnhnphszh 33563655 婘 8542 zphnphhpnzz 33564538 婵 8543 zphnpszhhhs 16778161 婒 8544 zphnppnnppn 33565609 婃 8545 zphnnzhhspn 33555662 婝 8546 zphnnzhshpn 33557064 婶 8547 zphnnzszhhs 16783944 婠 8548 zphnnzszhzh 33566305 婉 8549 zphnnzpznzz 16784711 嫏 8550 zphnzhhznzs 33562067 娽 8551 zphzhhsnhpn 33563027 婦 8552 zphzhhnzszs 33557758 婮 8553 zphzhphsszh 33560551 娹 8554 zphzhznhzzn 33566909 胬 8555 zphznszpnpn 33561853 娺 8556 zphznznznzn 33569988 袈 8557 zpszhnhpzpn 16780830 颇 8558 zpsznhpszpn 16782945 颈 8559 znhshhpszpn 16780009 翇 8560 znhznhhpznn 33557701 翐 8561 znhznhphhpn 33569833 習 8562 znhznhpszhh 16785009 翏 8563 znhznhpnppp 16782528 翑 8564 znhznhpzszh 33564500 翋 8565 znhznhnhnph 33561903 翌 8566 znhznhnhnph 16785728 翍 8567 znhznhzpszn 33563720 恿 8568 znszhhsnznn 16786038 欸 8569 znphhpnpzpn 33554435 鄈 8570 znppnhhpnzs 16780497 叄 8571 znznznpnhhh 33555503 參 8572 znznznpnppp 33555502 逫 8573 znznznznnzn 33560729 绩 8574 zzhhhshszpn 16780705 绪 8575 zzhhshpszhh 16785385 绫 8576 zzhhshpnpzn 16782267 骐 8577 zzhhsshhhpn 16783209 绬 8578 zzhhssszhpn 33567544 续 8579 zzhhsznnhpn 16785387 绮 8580 zzhhpnhszhs 16783242 骑 8581 zzhhpnhszhs 16783210 绯 8582 zzhshhhshhh 16779137 绰 8583 zzhshszhhhs 16778239 绱 8584 zzhsnpszszh 33565095 骒 8585 zzhszhhhspn 16780388 绲 8586 zzhszhhhzpz 16780250 绳 8587 zzhszhszhhz 16783970 缍 8588 zzhphshsshh 33557318 维 8589 zzhpsnhhhsh 16784781 骓 8590 zzhpsnhhhsh 16787075 绵 8591 zzhpszhhszs 16781681 绶 8592 zzhpnnpnzzn 16783996 绷 8593 zzhpzhhpzhh 16777606 绸 8594 zzhpzhshszh 16778365 绹 8595 zzhpzphhszs 33559462 剶 8596 zzhpzpppnss 33560674 绺 8597 zzhpznsnszh 16782519 绻 8598 zzhnphhpnzz 16783521 综 8599 zzhnnzhhspn 16786463 骔 8600 zzhnnzhhspn 33569115 绽 8601 zzhnnzhshpn 16786662 绾 8602 zzhnnzszhzh 16784722 骕 8603 zzhzhhspspn 33564867 绿 8604 zzhzhhsnhpn 16782591 骖 8605 zzhznhpnppp 16777914 缀 8606 zzhznznznzn 16787077 缁 8607 zzhzzzszhsh 16786486 貫 8608 zzshszhhhpn 33559124 鄊 8609 zzphsshhhzs 33567028 鄉 8610 zzpnzhhznzs 33567027 袰 8611 zznhnnhpzpn 0 紶 8612 zznnnnhshzn 33564451 紺 8613 zznnnnhsshh 33558750 紲 8614 zznnnnhsshz 33567196 絊 8615 zznnnnhspnh 33569262 絉 8616 zznnnnhspnn 33565421 紱 8617 zznnnnhpznn 33557665 組 8618 zznnnnszhhh 33569234 紳 8619 zznnnnszhhs 33565157 紬 8620 zznnnnszhsh 16778352 細 8621 zznnnnszhsh 16785034 紻 8622 zznnnnszhpn 33568232 絅 8623 zznnnnszszh 16781134 紩 8624 zznnnnphhpn 16786942 絁 8625 zznnnnphzsz 16784003 紨 8626 zznnnnpshsn 33557637 絈 8627 zznnnnpszhh 33561166 紾 8628 zznnnnpnppp 16786769 紷 8629 zznnnnpnnzn 33562397 絇 8630 zznnnnpzszh 33560640 終 8631 zznnnnpznnn 33569616 紸 8632 zznnnnnhhsh 33569916 絋 8633 zznnnnnhpzn 33559528 絃 8634 zznnnnnhzzn 16785099 絆 8635 zznnnnnphhs 33554876 紵 8636 zznnnnnnzhs 16787025 紽 8637 zznnnnnnzpz 16784562 紼 8638 zznnnnzhzps 33557668 紭 8639 zznnnnzhzzn 33558098 絀 8640 zznnnnzsszs 33556467 紹 8641 zznnnnzpszh 33565110 紴 8642 zznnnnzpszn 33554984 経 8643 zznnnnznhsh 16780607 紿 8644 zznnnnznszh 33556666 巢 8645 zzzszhhhspn 16778244 耠 8646 hhhspnpnhszh 33558615 貳 8647 hhhszhhhpnzn 16777407 蛪 8648 hhhszpszhshn 33564346 絜 8649 hhhszpzznspn 16781098 琫 8650 hhshhhhpnhhs 16777608 琹 8651 hhshhhshhspn 16783106 琵 8652 hhshhhshhzpz 16783010 珷 8653 hhshhhshshzn 16784647 琴 8654 hhshhhshpnnz 16783105 琶 8655 hhshhhshzshz 16782831 琽 8656 hhshhshpszhh 33557195 琪 8657 hhshhsshhhpn 16783193 瑘 8658 hhshhsshhhzs 33568377 瑛 8659 hhshhssszhpn 16785546 琳 8660 hhshhspnhspn 16782198 琜 8661 hhshhspnpnpn 33561937 琙 8662 hhshhszhhzpn 33568693 琦 8663 hhshhpnhszhs 16783192 琢 8664 hhshhpzppnpn 16786580 琖 8665 hhshhzpnhzpn 16786643 琲 8666 hhshshhhshhh 16777577 琡 8667 hhshshhspnzn 33556463 琸 8668 hhshshszhhhs 33570016 琥 8669 hhshshzphzpz 16779593 琨 8670 hhshszhhhzpz 16780531 琩 8671 hhshszhhszhh 33556000 靓 8672 hhshszhhszpz 16780639 靔 8673 hhshszhhphhz 33565923 琝 8674 hhshszhhnhpn 33566539 琠 8675 hhshszhsshpn 16778878 琟 8676 hhshpsnhhhsh 33566399 頇 8677 hhshpszhhhpn 33557810 琕 8678 hhshpszhhphs 33555187 琻 8679 hhshpnhhsnph 0 琱 8680 hhshpzhshszh 16778903 琘 8681 hhshpzhzszhh 33561221 琼 8682 hhshnhszhspn 16783401 斑 8683 hhshnhpnhhsh 16777485 琗 8684 hhshnhpnpnhs 33555793 琣 8685 hhshnhnphszh 33563568 琰 8686 hhshnppnnppn 16785829 琺 8687 hhshnnhhshzn 33557384 琮 8688 hhshnnzhhspn 16777985 琔 8689 hhshnnzhshpn 33557057 琯 8690 hhshnnzszhzh 16780166 琬 8691 hhshnnzpznzz 16784709 瑯 8692 hhshnzhhznzs 33562055 琛 8693 hhshnzpnhspn 16778257 琭 8694 hhshzhhsnhpn 16782566 琚 8695 hhshzhphsszh 16781179 雃 8696 hhpspsnhhhsh 33568042 辇 8697 hhpnhhpnhzhs 16781896 替 8698 hhpnhhpnszhh 16784438 奣 8699 hhpnszhhpzhh 33566167 椝 8700 hhpnszpzhspn 33559151 鼋 8701 hhpzszhszhhz 16786259 揳 8702 hshhhhszphpn 33560054 揍 8703 hshhhhpnhhpn 16786485 堾 8704 hshhhhpnszhh 33556505 款 8705 hshhhspnpzpn 16780465 镻 8706 hshhhznphhpn 16778935 髠 8707 hshhhznppppz 33559612 堯 8708 hshhshhshhpz 33568304 堼 8709 hshhshhsnhsh 33558074 幇 8710 hshhshhsnszs 33554886 堪 8711 hshhsshhhpnz 16780307 揕 8712 hshhsshhhpnz 16786791 搑 8713 hshhsshsshhh 33563368 塂 8714 hshhsshpnzhz 33558773 堞 8715 hshhsshzhspn 16778925 揲 8716 hshhsshzhspn 16778946 搽 8717 hshhsspnhspn 16778120 塔 8718 hshhsspnhszh 16784197 搭 8719 hshhsspnhszh 16778570 塃 8720 hshhssnhzpsz 33558417 揇 8721 hshhssznphhs 33561562 揸 8722 hshhspnszhhh 33569311 堰 8723 hshhszhhzphz 16785863 揠 8724 hshhszhhzphz 16785778 揦 8725 hshhszhspnss 33561906 堛 8726 hshhszhszhsh 33555245 揊 8727 hshhszhszhsh 33563767 堙 8728 hshhszsshhsh 16785489 堜 8729 hshhsznphspn 33562754 揀 8730 hshhsznphspn 33560169 馭 8731 hshhsznnnnzn 33568748 堶 8732 hshhphshszhh 33566117 堿 8733 hshhphszhzpn 16780918 揻 8734 hshhphzphzpn 0 項 8735 hshhpszhhhpn 33567060 揼 8736 hshhpszhszpn 0 堧 8737 hshhpszsshpn 16782789 堦 8738 hshhzpzpszhh 16781070 揩 8739 hshhzpzpszhh 16780290 臷 8740 hshhznhshzpn 33557156 揹 8741 hshshhpzszhh 33554971 揁 8742 hshshszhhhpn 33569527 越 8743 hshshpnhzzpn 16786309 趈 8744 hshshpnshszh 33569359 趄 8745 hshshpnszhhh 16781188 趃 8746 hshshpnphhpn 33557136 趁 8747 hshshpnpnppp 16778284 趆 8748 hshshpnpzhzn 33556947 趂 8749 hshshpnpzspn 33556160 趋 8750 hshshpnpzzhh 16783455 趇 8751 hshshpnnhnph 33564686 趉 8752 hshshpnzsszs 33569888 超 8753 hshshpnzpszh 16778236 賁 8754 hshssszhhhpn 33555023 揽 8755 hshssphnszpz 16782044 堤 8756 hshszhhhshpn 16778804 提 8757 hshszhhhshpn 16778811 場 8758 hshszhhhpzpp 33556011 揚 8759 hshszhhhpzpp 33568260 喆 8760 hshszhhshszh 16786722 揖 8761 hshszhhsshhh 16785607 博 8762 hshszhhsnhsn 16777643 堣 8763 hshszhhszshn 33568590 塭 8764 hshszhhszssh 33566523 揾 8765 hshszhhszssh 33566571 颉 8766 hshszhhpszpn 16781103 堨 8767 hshszhhpzpnz 16777245 揭 8768 hshszhhpzpnz 16781085 揋 8769 hshszhshhzpn 33566394 堺 8770 hshszhshpnps 33560439 蛓 8771 hshszhshnzpn 16778028 揌 8772 hshszhshnznn 16783559 堮 8773 hshszhszhhhz 16777346 尌 8774 hshszhnphhsn 33565413 喜 8775 hshszhnphszh 16785019 彭 8776 hshszhnphppp 16782930 翓 8777 hshszhznhznh 33567171 揣 8778 hshszshpszss 16778488 塄 8779 hshszsshnhzp 33562212 胾 8780 hshszpnpnzpn 16786534 搰 8781 hshszznzszhh 16779577 揿 8782 hshphhhzpzpn 16783128 插 8783 hshphspshzhh 16778116 揷 8784 hshphspshzhh 33555864 揪 8785 hshphspnnppn 16781153 堹 8786 hshphszhhshh 33569636 揰 8787 hshphszhhshh 16778340 塅 8788 hshpshhhpzzn 33557225 揑 8789 hshpshzhhhsh 33561795 搜 8790 hshpshzhhszn 16783625 堢 8791 hshpsszhhspn 33554931 堭 8792 hshpszhhhhsh 16779704 揘 8793 hshpszhhhhsh 33558073 斱 8794 hshpszhhpphs 33570034 塊 8795 hshpszhhpzzn 33559481 殾 8796 hshpszhhpzzn 33567517 煑 8797 hshpszhhnppn 33569902 煮 8798 hshpszhhnnnn 16787018 堠 8799 hshpszhphhpn 16779553 塠 8800 hshpszhzhnzn 33557237 搥 8801 hshpszhzhnzn 16778526 硩 8802 hshpphshpszh 33556092 揗 8803 hshpphsszhhh 16784175 耋 8804 hshppzhznhsh 16778923 堬 8805 hshpnhszhhss 33568595 揄 8806 hshpnhszhhss 16786155 揜 8807 hshpnhszhhps 16785850 揺 8808 hshpnnphhszs 16785962 援 8809 hshpnnphhpzn 16786286 堫 8810 hshpnzspnpzn 33569104 搀 8811 hshpzszhpznn 16778144 換 8812 hshpzszpnhpn 16779696 堸 8813 hshpzpszhshn 33557602 揔 8814 hshpzppnnznn 33569134 揈 8815 hshpznhhhszh 33558088 聓 8816 hshpznhsshhh 0 揝 8817 hshpznsnszhh 16786389 蛩 8818 hshpznszhshn 16783408 蛰 8819 hshpznszhshn 16786727 絷 8820 hshpznzznspn 16786909 塆 8821 hshnhsspnzhz 33566298 揨 8822 hshnhszhnzhs 33556224 裁 8823 hshnhpzpnzpn 16777900 堷 8824 hshnhnphszhh 33554508 揞 8825 hshnhnphszhh 33554516 揥 8826 hshnhnpnzszs 16784436 揓 8827 hshnhzpphzsz 33565367 搁 8828 hshnszpznszh 16779946 達 8829 hshnphhhsnzn 16778583 搓 8830 hshnphhhphsh 16778088 報 8831 hshnphhszszn 33554950 堘 8832 hshnphhpnhsh 33556197 搂 8833 hshnphspnzph 16782179 揃 8834 hshnphszhhss 16780901 揂 8835 hshnphszpzhh 33560502 搃 8836 hshnpszhnznn 33569124 堩 8837 hshnnshszhhh 33558901 搄 8838 hshnnshszhhh 33558881 揯 8839 hshnnshsznnh 33558890 搅 8840 hshnnpnzszpz 16781030 塇 8841 hshnnzhszhhh 33567378 揎 8842 hshnnzhszhhh 16785403 堗 8843 hshnnzpnhpnn 33566008 揬 8844 hshnnzpnhpnn 33566045 揢 8845 hshnnzpznszh 33559392 堚 8846 hshnzhszhhhs 33558588 揮 8847 hshnzhszhhhs 33558485 壹 8848 hshnzhszhnph 16785612 揙 8849 hshnzhpszhss 33555387 殼 8850 hshnzhpzpzzn 33559361 壺 8851 hshnzshzzhsh 33558244 摡 8852 hshzhhznhzpz 33558703 握 8853 hshzhphznhsh 16784876 塀 8854 hshzhpnphhps 0 摒 8855 hshzhpnphhps 16777707 堳 8856 hshzshpszhhh 16781473 壻 8857 hshzshpnszhh 33567370 揟 8858 hshzshpnszhh 33560562 揆 8859 hshznppnhhpn 16780511 搔 8860 hshznnszhshn 16783581 揉 8861 hshznzsphspn 16782755 惡 8862 hshzzhshnznn 16777337 堟 8863 hshzzhpzpppn 33569967 掾 8864 hshzzhpzpppn 16786294 堖 8865 hshzzzpszpnh 33561597 聐 8866 hsshhhhshszh 33568055 聑 8867 hsshhhhsshhh 33557127 聏 8868 hsshhhhpszss 33554727 葜 8869 hsshhhszphpn 33564107 聒 8870 hsshhhphsszh 16780256 棊 8871 hsshhhpnhspn 16783219 聎 8872 hsshhhpnhzpn 33565968 朞 8873 hsshhhpnszhh 33559785 萶 8874 hsshhhpnszhh 33556584 斯 8875 hsshhhpnpphs 16783657 期 8876 hsshhhpnpzhh 16783164 欺 8877 hsshhhpnpzpn 16783168 惎 8878 hsshhhpnnznn 16780809 聠 8879 hsshhhnphhps 33563676 联 8880 hsshhhnphhpn 16782392 棸 8881 hsshhhznhspn 16786480 焣 8882 hsshhhznnnnn 33560631 黃 8883 hsshhszhshpn 16779721 葑 8884 hsshshhshhsn 16779212 葀 8885 hsshshphsszh 33559056 蒆 8886 hsshshpznzph 33564367 葚 8887 hsshsshhhpnz 16782711 葉 8888 hsshsshzhspn 33565144 葫 8889 hsshsszhpzhh 16779582 萳 8890 hsshssznphhs 33561544 葙 8891 hsshspnszhhh 16785161 葧 8892 hsshsnzzshzp 16777645 靬 8893 hsshszhhshhs 33560095 靯 8894 hsshszhhshsh 33557208 靰 8895 hsshszhhshpz 16784658 靮 8896 hsshszhhspzn 16778817 靸 8897 hsshszhhspzn 16783549 靭 8898 hsshszhhszpn 33563308 靱 8899 hsshszhhszpn 33563309 靫 8900 hsshszhhsznn 33555870 散 8901 hsshszhhphpn 16783571 斮 8902 hsshszhhpphs 16787112 葍 8903 hsshszhszhsh 16779273 葽 8904 hsshszsshzph 16785930 萰 8905 hsshsznphspn 33562756 葴 8906 hsshphszhzpn 16785102 葳 8907 hsshphzphzpn 16784752 惹 8908 hsshpszhnznn 16782694 蒇 8909 hsshpszpnzpn 16778185 蛬 8910 hsshpnszhshn 33558936 葢 8911 hsshpnnszssh 33558706 塟 8912 hsshpznpzhsh 33569027 葬 8913 hsshpznpzhps 16786403 貰 8914 hsshzszhhhpn 33565357 蒈 8915 hsshzpzpszhh 33559296 畱 8916 hsshzzhszhsh 33562908 葝 8917 hsshzzzhshzp 33559755 葘 8918 hsshzzzszhsh 33569178 韮 8919 hssshhhshhhh 33560514 萷 8920 hsssnpszhhss 33567082 萴 8921 hssszhhhpnss 16786431 鄚 8922 hssszhhhpnzs 16781456 募 8923 hssszhhhpnzp 16781747 葺 8924 hssszhhsshhh 16783252 萺 8925 hssszhhszhhh 33560992 萬 8926 hssszhhszshn 33561155 蒀 8927 hssszhhszssh 33568889 葃 8928 hssszhhphshh 33569281 葛 8929 hssszhhpzpnz 16779971 葨 8930 hssszhshhzpn 33566385 蒉 8931 hssszhshszpn 16780455 葸 8932 hssszhshnznn 16785016 萼 8933 hssszhszhhhz 16777348 蓇 8934 hssszznzszhh 16780082 萫 8935 hssphspnszhh 33567063 萩 8936 hssphspnnppn 16783412 萪 8937 hssphspnnnhs 33559352 董 8938 hssphszhhshh 16778747 葮 8939 hsspshhhpzzn 33557230 蓃 8940 hsspshzhhszn 33564747 蓚 8941 hsspsspznppp 33567264 葆 8942 hsspsszhhspn 16777537 蒊 8943 hsspspzszhpz 0 葟 8944 hsspszhhhhsh 33558430 葲 8945 hsspszhhszpn 33564542 蒐 8946 hsspszhhpzzn 16783632 葠 8947 hsspszhhnzzn 16783928 葩 8948 hsspszhhzshz 16782827 萭 8949 hsspszhszshn 33568657 葔 8950 hsspszhphhpn 33558153 葰 8951 hsspsznpnpzn 33560822 葕 8952 hssppsnnhhhs 33568099 葎 8953 hssppszhhhhs 16782655 萮 8954 hsspnhszhhss 33568707 葊 8955 hsspnhszhhps 33554491 葅 8956 hsspnpnszhhh 33560549 萲 8957 hsspnnphhpzn 33567377 葼 8958 hsspnzspnpzn 33569114 葐 8959 hsspnzpszssh 33563583 葄 8960 hsspzhhphshh 16786587 葡 8961 hsspzhszhhsn 16783077 萯 8962 hsspzszhhhpn 33557744 敬 8963 hsspzszhphpn 16780645 葂 8964 hsspzszhpzzp 33566318 葻 8965 hsspzpszhshn 33561998 葱 8966 hsspzppnnznn 16777975 葪 8967 hsspzpzhhsss 33559963 葋 8968 hsspznhpzszh 33564484 葾 8969 hsspznzznznn 33568782 蒋 8970 hssnhspznhsn 16780989 葶 8971 hssnhszhnzhs 16784389 萻 8972 hssnhnphszhh 16777260 蒂 8973 hssnhnpnzszs 16778858 葹 8974 hssnhzpphzsz 16784007 蒫 8975 hssnphhhphsh 33555824 葁 8976 hssnphhshzph 33560243 蒾 8977 hssnphspnnzn 33561314 蒌 8978 hssnphspnzph 16782516 葥 8979 hssnphszhhss 16783296 鄑 8980 hssnphszhhzs 16786487 蒍 8981 hssnpzzznnnn 33566452 葓 8982 hssnnhhsshpn 33558110 萿 8983 hssnnhphsszh 33558621 蒎 8984 hssnnhpppzpn 16782846 蒅 8985 hssnnhpzhspn 0 落 8986 hssnnhpznszh 16781993 蓱 8987 hssnnhnphhps 33563702 葏 8988 hssnnhzhhhhs 33559715 萱 8989 hssnnzhszhhh 16785392 葖 8990 hssnnzpnhpnn 16784490 蒄 8991 hssnzhhpzhsn 33559089 葷 8992 hssnzhszhhhs 33558583 蒏 8993 hssnzhszpzhh 0 萹 8994 hssnzhpszhss 33555356 亁 8995 hsszhhhhsphz 33558723 惪 8996 hsszhhhhnznn 16778720 韩 8997 hsszhhhshhzs 16779389 戟 8998 hsszhhhshzpn 16780757 朝 8999 hsszhhhspzhh 16778240 悳 9000 hsszhhhznznn 33556822 蔇 9001 hsszhhznhzpz 16780767 葭 9002 hsszhshhzhzn 16780827 喪 9003 hsszhszhhzpn 16783575 辜 9004 hsszhnhnphhs 16780076 葞 9005 hsszhzhsshhh 33561333 葦 9006 hsszshszhhzs 33566446 葿 9007 hsszshpszhhh 33561024 蒢 9008 hsszspnhhspn 16778456 葌 9009 hsszphzphzph 33560092 萾 9010 hsszpznszssh 33567680 葈 9011 hssznszhhspn 33566761 遖 9012 hssznphhsnzn 0 葵 9013 hssznppnhhpn 16780505 葇 9014 hssznzsphspn 16782750 蒃 9015 hsszzhpzpppn 33569974 葒 9016 hsszznnnnhsh 33558109 葤 9017 hsszznnnnhsn 33569687 葯 9018 hsszznnnnpzn 16785976 孶 9019 hsszznzznzsh 33569180 棒 9020 hspnhhhpnhhs 16777522 棈 9021 hspnhhshszhh 33564217 棖 9022 hspnhshhhzpn 33556223 楮 9023 hspnhshpszhh 16778468 棱 9024 hspnhshpnpzn 16782144 椏 9025 hspnhshzzhsh 33554642 棋 9026 hspnhsshhhpn 16783220 椰 9027 hspnhsshhhzs 16785983 棷 9028 hspnhsshhhzn 33569156 楛 9029 hspnhsshsszh 16779606 棤 9030 hspnhsshszhh 33566756 楉 9031 hspnhsshpszh 33563462 楧 9032 hspnhssszhpn 33567654 植 9033 hspnhsszhhhh 16786897 森 9034 hspnhspnhspn 16783604 棶 9035 hspnhspnpnpn 33561958 棽 9036 hspnhspnpnnz 33556109 棼 9037 hspnhspnpnzp 16779192 焚 9038 hspnhspnnppn 16779180 棾 9039 hspnhspnnzpz 33564380 棟 9040 hspnhszhhspn 33556881 棫 9041 hspnhszhhzpn 16786243 椟 9042 hspnhsznnhpn 16778956 椅 9043 hspnhpnhszhs 16785591 椓 9044 hspnhpzppnpn 16787097 棲 9045 hspnhzhhszph 33563958 棧 9046 hspnhzpnhzpn 33569402 椡 9047 hspnhznhshss 0 棑 9048 hspnshhhshhh 16782841 椒 9049 hspnshhspnzn 16781003 棹 9050 hspnshszhhhs 16786712 椃 9051 hspnshzphzpz 33557920 棏 9052 hspnszhhhhsn 33556824 椇 9053 hspnszhhhhpn 33560611 棵 9054 hspnszhhhspn 16780372 棍 9055 hspnszhhhzpz 16780251 椢 9056 hspnszhhshnh 33559579 椙 9057 hspnszhhszhh 33565017 椚 9058 hspnszhhszhh 0 椣 9059 hspnszhsshpn 0 棝 9060 hspnszhsszhh 33559047 椤 9061 hspnszsshpzn 33563131 棞 9062 hspnszphspnh 33558600 棡 9063 hspnsznphszs 33558770 棢 9064 hspnsznphnhz 33566372 楇 9065 hspnszzszszh 33558640 椥 9066 hspnphhpnszh 33569703 棰 9067 hspnphshsshh 16778534 棅 9068 hspnphzhhspn 33555200 楰 9069 hspnpshzhhpn 16786137 棿 9070 hspnpshzhhpz 33561839 椎 9071 hspnpsnhhhsh 16778524 棉 9072 hspnpszhhszs 16781679 椑 9073 hspnpszhhphs 16777556 椞 9074 hspnpphshspn 33566777 晳 9075 hspnpphsszhh 33566694 惁 9076 hspnpphsnznn 33566717 棆 9077 hspnpnhszhss 33563118 検 9078 hspnpnhszhpn 16780913 椧 9079 hspnpnhszhzs 0 鹀 9080 hspnpnhpznzh 33566197 棥 9081 hspnpnpnhspn 33557426 猌 9082 hspnpnpnhpnn 33567620 棌 9083 hspnpnnphspn 33555493 赍 9084 hspnpnnzszpn 16780672 棯 9085 hspnpnnznznn 16782706 椕 9086 hspnpnzphspn 33555152 棇 9087 hspnpnznnznn 33555648 棚 9088 hspnpzhhpzhh 16782934 棴 9089 hspnpzhhzszn 33557710 椆 9090 hspnpzhshszh 33556267 棔 9091 hspnpzhzszhh 33558586 椈 9092 hspnpznphspn 16781200 椋 9093 hspnnhszhspn 16782427 椁 9094 hspnnhszhzsh 16780274 棭 9095 hspnnhpspznn 33568009 椨 9096 hspnnhppshsn 0 椊 9097 hspnnhpnpnhs 16786578 椩 9098 hspnnhpzhhpn 0 棓 9099 hspnnhnphszh 33554910 椄 9100 hspnnhnphzph 16781069 棜 9101 hspnnhzppnnn 16786236 棛 9102 hspnnhznszhh 33568760 椦 9103 hspnnphhpnzp 0 棬 9104 hspnnphhpnzz 16783496 椪 9105 hspnnphssnph 16782941 椫 9106 hspnnpszhhhs 33565049 棪 9107 hspnnppnnppn 16785853 棕 9108 hspnnnzhhspn 16786461 椗 9109 hspnnnzhshpn 16778793 椬 9110 hspnnnzszhhh 0 棺 9111 hspnnnzszhzh 16780165 椌 9112 hspnnnzpnhsh 16783329 椀 9113 hspnnnzpznzz 33566310 榔 9114 hspnnzhhznzs 16782057 棙 9115 hspnnzhphpnn 33562652 椖 9116 hspnnzhpnhzp 33563598 棎 9117 hspnnzpnhspn 33555948 楗 9118 hspnzhhhhszn 16780950 棣 9119 hspnzhhsnhpn 16778864 椂 9120 hspnzhhsnhpn 33563013 椐 9121 hspnzhphsszh 16781177 椭 9122 hspnzshpszhh 16784573 極 9123 hspnzsszhznh 33559864 椮 9124 hspnznhpnppp 16783603 棳 9125 hspnznznznzn 16787119 椔 9126 hspnzzzszhsh 33569164 盚 9127 hsnhpnnszssh 16783442 皳 9128 hsnhpnnzpszn 33564429 颪 9129 hsnpzpszhshn 0 鹁 9130 hsnzzshpznzh 16777641 軲 9131 hszhhhshsszh 33558996 軻 9132 hszhhhshszhs 33559360 軷 9133 hszhhhshpznn 16777448 軯 9134 hszhhhshnphs 33563594 軸 9135 hszhhhsszhsh 33569664 軮 9136 hszhhhsszhpn 33554548 軹 9137 hszhhhsszhpn 33569767 軦 9138 hszhhhsszhpz 33558463 軼 9139 hszhhhsphhpn 33568020 軵 9140 hszhhhspshsn 33557735 軱 9141 hszhhhsppznn 16780087 軤 9142 hszhhhspnphs 33558197 軫 9143 hszhhhspnppp 33569549 軨 9144 hszhhhspnnzn 16782265 軧 9145 hszhhhspzhzn 33556994 軥 9146 hszhhhspzszh 16783482 軳 9147 hszhhhspzzhz 33563540 軴 9148 hszhhhsnhhsh 33569949 軶 9149 hszhhhsnzhpz 33554712 軺 9150 hszhhhszpszh 33568326 軽 9151 hszhhhsznhsh 16783138 軩 9152 hszhhhsznszh 33556687 軪 9153 hszhhhszznzp 33554556 惠 9154 hszhhshnnznn 16779793 喸 9155 hszhhsnszhpz 0 盙 9156 hszhhsnszssh 33557729 甦 9157 hszhhpnphhsh 16783685 惑 9158 hszhhzpnnznn 16779839 逼 9159 hszhszhshnzn 16777712 腎 9160 hszhszznszhh 33565199 掔 9161 hszhszznphhs 16783283 覃 9162 hszsshszhhhs 16783108 覄 9163 hszsshpshpnn 0 粟 9164 hszsshnphspn 16783711 棗 9165 hszspnhszspn 33569036 棘 9166 hszspnhszspn 16780754 酣 9167 hszpzhhhsshh 16779375 酤 9168 hszpzhhhsszh 16780071 酠 9169 hszpzhhhszhs 33564110 酟 9170 hszpzhhshszh 33565926 酢 9171 hszpzhhphshh 16778042 酥 9172 hszpzhhphspn 16783687 酡 9173 hszpzhhnnzpz 16784567 酦 9174 hszpzhhzpznn 16779047 鹂 9175 hsznsznpznzh 16782284 觌 9176 hsznnhpnszpz 16778825 厫 9177 hphhshzpphpn 33554571 鄏 9178 hphhzpnhsnzs 16782782 遀 9179 hphshszhhnzn 33564901 厧 9180 hphsszhhhhpn 33557040 厨 9181 hphszhnphhsn 16778457 厦 9182 hphpszhhhpzn 16783815 奡 9183 hpszhhhhpnps 16777309 硦 9184 hpszhhhshhps 33562272 皕 9185 hpszhhhpszhh 33555298 硳 9186 hpszhhshpspn 0 硣 9187 hpszhhshpzsh 33567089 硴 9188 hpszhhsspspz 0 硨 9189 hpszhhszhhhs 33556068 硬 9190 hpszhhszhhpn 16785587 硤 9191 hpszhhpnpnpn 33566845 硥 9192 hpszhhpzpppn 33560964 戞 9193 hpszhhnzhzpn 33560031 硜 9194 hpszhhzzzhsh 16780405 硵 9195 hpszhshszpnh 33563000 硝 9196 hpszhsnpszhh 16785207 硯 9197 hpszhszhhhpz 33568201 硱 9198 hpszhszhspnh 33559618 硶 9199 hpszhszspnnz 33555613 硞 9200 hpszhphshszh 33564583 硪 9201 hpszhphshzpn 33554629 硢 9202 hpszhpnhhspn 33568613 硷 9203 hpszhpnhnnph 16780923 硲 9204 hpszhpnpnszh 33568728 确 9205 hpszhpzpzhhs 16783531 硫 9206 hpszhnhznpsz 16782505 硡 9207 hpszhnnzhpzn 33558084 硠 9208 hpszhnzhhzpn 33562077 硧 9209 hpszhznszhhs 33568473 厤 9210 hpphspnphspn 16782360 雁 9211 hppspsnhhhsh 16785883 攲 9212 hpnhszhshszn 16783165 敧 9213 hpnhszhsshzn 16783235 欹 9214 hpnhszhspzpn 16783167 奤 9215 hpnhpszsshhh 33563500 厥 9216 hpnphzsppzpn 16781314 猋 9217 hpnnhpnnhpnn 16777831 尞 9218 hpnnpszhhspn 33562804 尳 9219 hpzszznzszhh 33559014 尰 9220 hpzphszhhshh 16786829 豠 9221 hpzpppnszhhh 33555731 甤 9222 hpzpppnphhsh 33563434 豞 9223 hpzpppnpzszh 33558171 豟 9224 hpzpppnnzhpz 33554671 詟 9225 hpzpnnhhhszh 16786718 殖 9226 hpznhsszhhhh 16786912 殗 9227 hpznhpnszhhz 16786006 殘 9228 hpznhzpnhzpn 33555523 裂 9229 hpznssnhpzpn 16782490 雄 9230 hpznpsnhhhsh 16785304 殙 9231 hpznpzhzszhh 16779809 殕 9232 hpznnhnphszh 33557631 殚 9233 hpznnpszhhhs 16778629 殔 9234 hpznzhhsnhpn 33567950 殛 9235 hpznzsszhznh 16780742 颊 9236 hnphpnhpszpn 16780843 雲 9237 hnzsnnnnhhzn 33568912 雬 9238 hnzsnnnnhspn 33557632 雳 9239 hnzsnnnnhpzp 16782383 雮 9240 hnzsnnnnphhz 33561493 雰 9241 hnzsnnnnpnzp 16779176 雯 9242 hnzsnnnnnhpn 16784846 雱 9243 hnzsnnnnnhzp 16782881 辊 9244 hzshszhhhzpz 16780246 辋 9245 hzshsznphnhz 16784737 椠 9246 hzshpphshspn 16783316 暂 9247 hzshpphsszhh 16786394 辌 9248 hzshnhszhspn 33562776 辍 9249 hzshznznznzn 16778566 辎 9250 hzshzzzszhsh 16786501 雅 9251 hzsppsnhhhsh 16785768 翘 9252 hzphpzznhznh 16783378 朁 9253 hzpzhzpzszhh 16777920 臶 9254 hznhshhpszsh 33560235 臹 9255 hznhshhpzzpn 33567268 臸 9256 hznhshhznhsh 33569852 臵 9257 hznhshpznszh 33558863 棐 9258 shhhshhhhspn 16779148 猆 9259 shhhshhhhpnn 33557480 辈 9260 shhhshhhhzhs 16777580 靟 9261 shhhshhhphhz 33557483 斐 9262 shhhshhhnhpn 16779145 悲 9263 shhhshhhnznn 16777564 惄 9264 shhspnznnznn 16781887 軰 9265 shhpzhszhhhs 33555012 歮 9266 shshshshshsh 33564681 雈 9267 shshpsnhhhsh 33558379 龂 9268 shshpnzspphs 33559396 啙 9269 shshpzszhszh 33569199 胔 9270 shshpzszpnpn 16786532 紫 9271 shshpzzznspn 16786515 歯 9272 shshnphspnzs 16778418 遉 9273 shszhhhpnnzn 16786746 覘 9274 shszhszhhhpz 33555915 虛 9275 shzphzsszshh 33567297 虝 9276 shzphzpzpzpp 33558249 菐 9277 ssnphnphhhpn 16783083 凿 9278 ssnphnphhszs 16786408 黹 9279 ssnphnpszspn 16786935 辉 9280 snphpznzhzhs 16779749 敞 9281 snpszszhphpn 16778219 棠 9282 snpnzszhhspn 16784287 牚 9283 snpnzszhhzsp 33556175 瓽 9284 snpnzszhhzzn 33556783 赏 9285 snpnzszhszpn 16783868 掌 9286 snpnzszhphhs 16786676 晴 9287 szhhhhshszhh 16783140 喫 9288 szhhhhszphpn 16778383 睐 9289 szhhhhnphspn 16782013 暁 9290 szhhhshsshpz 16785230 暏 9291 szhhhshpszhh 33557198 暑 9292 szhhhshpszhh 16784122 遈 9293 szhhhshpnnzn 33565286 朂 9294 szhhhsshhhzp 33567315 最 9295 szhhhsshhhzn 16786558 暎 9296 szhhhssszhpn 33567732 晽 9297 szhhhspnhspn 33562330 敤 9298 szhhhspnshzn 33559366 晰 9299 szhhhspnpphs 16784962 褁 9300 szhhhspnpzpn 33569718 睄 9301 szhhhsnpszhh 33565111 睅 9302 szhhhszhhhhs 16779397 睈 9303 szhhhszhhhsh 33556232 睍 9304 szhhhszhhhpz 16785137 量 9305 szhhhszhhshh 16782435 睏 9306 szhhhszhspnh 33559623 睊 9307 szhhhszhszhh 16781275 睋 9308 szhhhphshzpn 33554622 睎 9309 szhhhpnhpszs 16784951 睑 9310 szhhhpnhnnph 16780920 貼 9311 szhhhpnshszh 33566001 晻 9312 szhhhpnszhhz 33554512 貺 9313 szhhhpnszhpz 33559534 貹 9314 szhhhpnphhsh 33565246 睉 9315 szhhhpnpnhsh 33555832 貾 9316 szhhhpnpzhzn 33556322 貯 9317 szhhhpnnnzhs 33569906 貱 9318 szhhhpnzpszn 33555308 貽 9319 szhhhpnznszh 33567806 睌 9320 szhhhpzszhpz 33566321 逿 9321 szhhhpzppnzn 33556771 睇 9322 szhhhnpzhzsp 16778855 睆 9323 szhhhnnzhhpz 16779678 鼎 9324 szhhhzhpshsz 16778790 煚 9325 szhhhzhznppn 16781138 睃 9326 szhhhznpnpzn 16781259 暃 9327 szhhshhhshhh 0 喷 9328 szhhshssszpn 16782915 晫 9329 szhhshszhhhs 33570020 啿 9330 szhhsshhhpnz 33556735 戢 9331 szhhsshhhzpn 16780722 喋 9332 szhhsshzhspn 16778936 嗏 9333 szhhsspnhspn 33555863 嗒 9334 szhhsspnhszh 16778575 喃 9335 szhhssznphhs 16781785 喖 9336 szhhspnhsszh 33558229 喳 9337 szhhspnszhhh 16778114 閏 9338 szhhszhhhhsh 33563454 開 9339 szhhszhhhhps 16780289 閑 9340 szhhszhhhspn 16785104 猒 9341 szhhszhhhpnn 33568068 閎 9342 szhhszhhhpzn 33558118 閕 9343 szhhszhhhzsp 33566833 晶 9344 szhhszhhszhh 16780611 晿 9345 szhhszhhszhh 33556001 間 9346 szhhszhhszhh 33560104 閖 9347 szhhszhhszpn 33561254 閐 9348 szhhszhhphhz 33564648 閒 9349 szhhszhhpzhh 16780957 晹 9350 szhhszhhpzpp 33567931 閔 9351 szhhszhhnhpn 33561253 閌 9352 szhhszhhnhpz 33559329 閍 9353 szhhszhhnhzp 33555044 焛 9354 szhhszhhnppn 33562359 焸 9355 szhhszhhnppn 33559017 閗 9356 szhhszhhnnhs 33556909 悶 9357 szhhszhhnznn 33561059 晪 9358 szhhszhsshpn 33565954 喇 9359 szhhszhspnss 16781984 遇 9360 szhhszshnnzn 16786198 喓 9361 szhhszsshzph 16785933 喊 9362 szhhphszhzpn 16779393 喴 9363 szhhphzphzpn 33566392 晲 9364 szhhpshzhhpz 33567835 喱 9365 szhhpszhhshh 16782300 喕 9366 szhhpszsshhh 33561405 暀 9367 szhhppsnhhsh 33566364 喹 9368 szhhpnhshhsh 16780510 焽 9369 szhhpzhhnppn 0 晭 9370 szhhpzhshszh 33569665 晩 9371 szhhpzszshpz 16784714 敡 9372 szhhpzppshzn 33567911 惖 9373 szhhpzppnznn 33558192 遏 9374 szhhpzpnznzn 16777351 晷 9375 szhhpznsnszh 16780221 景 9376 szhhnhszhspn 16780626 晾 9377 szhhnhszhspn 16782444 晬 9378 szhhnhpnpnhs 16786562 晱 9379 szhhnppnnppn 33565036 晼 9380 szhhnnzpznzz 33566325 喈 9381 szhhzpzpszhh 16781078 畴 9382 szhshhhhphsn 16778355 跊 9383 szhshshhhspn 33561058 践 9384 szhshshhhzpn 16780966 跇 9385 szhshshhsshz 33567987 跍 9386 szhshshhsszh 33559449 跒 9387 szhshshhszhs 33564111 跖 9388 szhshshhpszh 16786913 跋 9389 szhshshhpznn 16777445 跕 9390 szhshshshszh 16778942 跙 9391 szhshshszhhh 16781222 跌 9392 szhshshphhpn 16778922 跗 9393 szhshshpshsn 16779257 跅 9394 szhshshpphsn 16784581 跈 9395 szhshshpnppp 33561769 跉 9396 szhshshpnnzn 33562436 跞 9397 szhshshpzspn 16782376 跔 9398 szhshshpzszh 33560560 跚 9399 szhshshpzpzh 16783835 跑 9400 szhshshpzzhz 16782894 跓 9401 szhshshnhhsh 33569941 跘 9402 szhshshnphhs 33563496 跎 9403 szhshshnnzpz 16784571 跜 9404 szhshshzhppz 33561709 跏 9405 szhshshzpszh 16780837 跛 9406 szhshshzpszn 16777663 跆 9407 szhshshznszh 16784222 貴 9408 szhshszhhhpn 16780240 遗 9409 szhshszpnnzn 16784821 畮 9410 szhshphzznhn 33561471 畭 9411 szhshpnhhspn 33568618 蛙 9412 szhshnhshhsh 16784684 蛣 9413 szhshnhshszh 16780704 蛯 9414 szhshnhshppz 0 蛕 9415 szhshnhpszhh 33558490 蛨 9416 szhshnhpszhh 33561194 塁 9417 szhshnhpnhsh 16782128 蛚 9418 szhshnhpznss 16782493 蛱 9419 szhshnhnphpn 16780849 蛦 9420 szhshnhzhzpn 33567812 蛲 9421 szhshnhzphpz 16781807 蛭 9422 szhshnhznhsh 16786979 蛳 9423 szhshnsphszs 16783661 蛐 9424 szhshnszhssh 16783465 蛔 9425 szhshnszszhh 16779762 蛧 9426 szhshnszpnpn 33566373 蛛 9427 szhshnphhspn 16786993 蜓 9428 szhshnphshzn 16784382 蛞 9429 szhshnphsszh 16780552 蜒 9430 szhshnpshzzn 16785797 蛜 9431 szhshnpszhhp 16785608 蛤 9432 szhshnpnhszh 16779982 蛫 9433 szhshnpzhpzz 33559193 蛒 9434 szhshnpznszh 33558857 蛥 9435 szhshnpznpzn 33565129 蛴 9436 szhshnnhpnps 16783227 蛟 9437 szhshnnhpnpn 16781021 蛘 9438 szhshnnphhhs 16785912 蛢 9439 szhshnnphhps 33563700 蛝 9440 szhshnzhhzpn 33566937 畳 9441 szhshnzszhhh 16778933 蛠 9442 szhshnzpzpzp 33562659 蛡 9443 szhshnznhznh 33568002 蛑 9444 szhshnznphhs 16781600 畯 9445 szhshznpnpzn 16781348 觍 9446 szhsshpnszpz 33565958 敟 9447 szhsshpnphpn 33557051 鄖 9448 szhszhhhpnzs 33568894 勛 9449 szhszhhhpnzp 16785457 啺 9450 szhszhhhpzpp 33565666 遌 9451 szhszhhhznzn 33554664 喁 9452 szhszhhszshn 16786034 嗢 9453 szhszhhszssh 33566293 喝 9454 szhszhhpzpnz 16779452 鹃 9455 szhszhhpznzh 16781260 喅 9456 szhszhhnhnph 33568733 喂 9457 szhszhshhzpn 16784828 喟 9458 szhszhshszhh 16780523 單 9459 szhszhszhhhs 33555946 喦 9460 szhszhszhszs 16785812 嵒 9461 szhszhszhszs 16785800 喌 9462 szhszhnpnsns 16786848 斝 9463 szhszhnznnhs 16780856 喘 9464 szhszshpszss 16778503 嗗 9465 szhszznzszhh 33558994 啣 9466 szhphhshshzs 33566915 喢 9467 szhphspshzhh 33565004 啾 9468 szhphspnnppn 16781151 喠 9469 szhphszhhshh 33569634 嗖 9470 szhpshzhhszn 33564748 喺 9471 szhpspzznspn 33566816 喤 9472 szhpszhhhhsh 16779717 喞 9473 szhpszhhpzzs 33559810 喉 9474 szhpszhphhpn 16779544 喻 9475 szhpnhszhhss 16786228 啽 9476 szhpnhszhhps 16777270 喩 9477 szhpnhszhhzz 16786223 喛 9478 szhpnnphhpzn 33558405 喰 9479 szhpnnzhhzpn 33555501 喣 9480 szhpzszhnnnn 16785357 喚 9481 szhpzszpnhpn 33558404 喒 9482 szhpznsnszhh 16786386 喼 9483 szhpzzhhnznn 33560416 喨 9484 szhnhszhnzpz 16782446 喥 9485 szhnhphsshzn 16778977 喑 9486 szhnhnphszhh 16785497 喭 9487 szhnhnphpppp 16785879 啼 9488 szhnhnpnzszs 16784413 嗟 9489 szhnphhhphsh 16781084 嗴 9490 szhnphhhpzzn 0 喽 9491 szhnphspnzph 16782186 嗞 9492 szhnphzznzzn 33569190 喧 9493 szhnnzhszhhh 16785401 喀 9494 szhnnzpznszh 16780283 喗 9495 szhnzhszhhhs 33568925 嘅 9496 szhzhhznhzpz 33558822 喔 9497 szhzhphznhsh 16777409 喡 9498 szhzshszhhzs 33566459 喙 9499 szhzzhpzpppn 16779785 喲 9500 szhzznnnnpzn 33568443 崶 9501 szshshhshhsn 16779208 嵁 9502 szshsshhhpnz 33559310 嵌 9503 szshsshhpzpn 16780322 幉 9504 szshsshzhspn 0 嵘 9505 szshssnzhspn 16782731 嵖 9506 szshspnszhhh 33555867 嵀 9507 szshspnnhhsh 33569918 幅 9508 szshszhszhsh 16779272 剴 9509 szshszhnphss 33559295 凱 9510 szshszhnphpz 33559301 崾 9511 szshszsshzph 33568330 嵗 9512 szshphsppzpn 33564917 嵅 9513 szshphszhzpn 33558719 崴 9514 szshphzphzpn 16784692 崸 9515 szshpszhhhpn 33557286 幁 9516 szshpszhhhpn 33567290 遄 9517 szshpszssnzn 16778499 幀 9518 szsshszhhhpn 33569509 買 9519 szsshszhhhpn 33560875 罥 9520 szsshszhszhh 16781277 罦 9521 szsshpnnpzsh 16779247 詈 9522 szsshnhhhszh 16782340 罤 9523 szsshnpzhzsp 33565870 崼 9524 szsszhhhshpn 33565336 崱 9525 szsszhhhpnss 16786429 崵 9526 szsszhhhpzpp 33568247 帽 9527 szsszhhszhhh 16781459 嵎 9528 szsszhhszshn 16786130 嵑 9529 szsszhhpzpnz 33560391 幆 9530 szsszhhpzpnz 33567889 嵔 9531 szsszhshhzpn 33566443 崽 9532 szsszhshnznn 16786377 崿 9533 szsszhszhhhz 16777349 嵓 9534 szsszhszhszh 16785801 嵚 9535 szsphhhzpzpn 16783097 嵙 9536 szsphspnnnhs 16780356 崲 9537 szspszhhhhsh 33558423 嵬 9538 szspszhhpzzn 16784771 帿 9539 szspszhphhpn 33558151 崻 9540 szsppshshhsn 33569787 嵂 9541 szsppszhhhhs 16782654 崳 9542 szspnhszhhss 16786122 嵛 9543 szspnhszhhss 16786133 嵈 9544 szspnnphhpzn 33558397 嵏 9545 szspnzspnpzn 33569108 嵕 9546 szspnzspnpzn 33569110 嵐 9547 szspzpszhshn 33561991 翙 9548 szspznznhznh 33558571 嵉 9549 szsnhszhnzhs 33565833 嵜 9550 szsnhnphszhs 33563982 嵃 9551 szsnhnphpppp 33568144 崹 9552 szsnhnpnzszs 33565856 崺 9553 szsnhzpphzsz 33567827 嵯 9554 szsnphhhphsh 16778094 嵳 9555 szsnphhhphsh 33555836 嵄 9556 szsnphhshhpn 33561039 嵝 9557 szsnphspnzph 16782188 崷 9558 szsnphszpzhh 33564409 嵫 9559 szsnphzznzzn 16786497 幄 9560 szszhphznhsh 16784869 幈 9561 szszhpnphhps 33563684 幃 9562 szszshszhhzs 33566403 嵋 9563 szszshpszhhh 16781478 圌 9564 szszshpszssh 16778523 圐 9565 szszsshnhzph 33559443 赋 9566 szpnhhshshzn 16779334 赌 9567 szpnhshpszhh 16778967 赎 9568 szpnhsznnhpn 16784108 赐 9569 szpnszhhpzpp 16778022 淼 9570 szpnszpnszpn 16781711 赑 9571 szpnszpnszpn 33555264 赒 9572 szpnpzhshszh 16786844 赔 9573 szpnnhnphszh 16782902 赕 9574 szpnnppnnppn 16784262 圏 9575 sznphhpnzhzh 16781254 黑 9576 sznphshhnnnn 16779491 圍 9577 szzshszhhzsh 16784759 旤 9578 szzszszhhzpz 33558673 歄 9579 szzszszhpzpn 33559057 圎 9580 szznszhhhpnh 33568791 骬 9581 szznzszhhhhs 33568637 骭 9582 szznzszhhhhs 16779898 骮 9583 szznzszhhhzn 33567964 骪 9584 szznzszhhpzn 33566461 骫 9585 szznzszhhpzn 16784794 铸 9586 phhhzhhhphsn 16787043 铹 9587 phhhzhssnzzp 16782082 铺 9588 phhhzhszhhsn 16783073 铻 9589 phhhzhszhszh 33566218 铼 9590 phhhzhnphspn 16782008 铽 9591 phhhzhnznnzn 16784323 链 9592 phhhzhzhsnzn 16782426 铿 9593 phhhzssznhsh 16780408 销 9594 phhhzsnpszhh 16785193 锁 9595 phhhzsnpszpn 16783787 锃 9596 phhhzszhhhsh 16786451 锄 9597 phhhzszhhhzp 16778445 锂 9598 phhhzszhhshh 16782309 锅 9599 phhhzszhszpn 16780252 锆 9600 phhhzphshszh 16779942 锇 9601 phhhzphshzpn 16777321 锈 9602 phhhzphspnzp 16785322 锉 9603 phhhzpnpnhsh 16778101 锊 9604 phhhzpnnphsn 16782664 锋 9605 phhhzpznhhhs 16779206 锌 9606 phhhznhnphhs 16784878 锍 9607 phhhznhznpsz 33562933 锎 9608 phhhznszhhps 16780288 锏 9609 phhhznszszhh 16780909 锐 9610 phhhznpszhpz 16782804 锑 9611 phhhznpzhzsp 16784402 锒 9612 phhhznzhhzpn 16782053 锓 9613 phhhzzhhnzzn 16783267 锔 9614 phhhzzhpzszh 16781178 锕 9615 phhhzzshszhs 16777217 甥 9616 phhshszhshzp 16783961 無 9617 phhsssshnnnn 33561131 掱 9618 phhsphhsphhs 16782832 犇 9619 phhsphshphhs 16777594 掣 9620 phhszsssphhs 16778255 缿 9621 phhszspphszh 33558169 罀 9622 phhszspnhzpn 0 缾 9623 phhszsnphhps 16782979 甁 9624 phhpphhshzzn 33563678 掰 9625 phhppnzpphhs 16777463 短 9626 phhpnhszhnph 16778980 智 9627 phhpnszhszhh 16786956 矬 9628 phhpnpnpnhsh 16778098 氰 9629 phhzhhshszhh 16783139 氬 9630 phhzhshzzhsh 33568049 氭 9631 phhzhszhhspn 33556846 毴 9632 phhzshhhshhh 33555217 毳 9633 phhzphhzphhz 16778081 毱 9634 phhzpznphspn 33560607 毰 9635 phhznhnphszh 33563565 毯 9636 phhznppnnppn 16784258 氮 9637 phhznppnnppn 16778644 毽 9638 phhzzhhhhszn 16780969 氯 9639 phhzzhhsnhpn 16782653 毶 9640 phhzznhpnppp 0 犆 9641 phshhsszhhhh 16786911 犊 9642 phshhsznnhpn 16778958 犄 9643 phshhpnhszhs 16780688 甀 9644 phshsshhhzzn 16778522 犋 9645 phshszhhhhpn 33560648 鹄 9646 phshszhpznzh 16780095 犅 9647 phshsznphszs 33558763 兟 9648 phshpzphshpz 16784882 惣 9649 phshpzppnznn 33569136 犉 9650 phshnhszhzsh 16782814 犃 9651 phshnhnphszh 33563657 犈 9652 phshnphhpnzz 33564545 犍 9653 phshzhhhhszn 16780894 鹅 9654 phshzpnpznzh 16777324 颋 9655 phshznhpszpn 33565967 剩 9656 phsshhpzpnss 16783977 秿 9657 phspnhszhhsn 33557737 稉 9658 phspnhszhhpn 33559711 嵆 9659 phspnhpznszs 33559792 嵇 9660 phspnhpznszs 16780671 稍 9661 phspnsnpszhh 16783870 稈 9662 phspnszhhhhs 33558732 程 9663 phspnszhhhsh 16778298 稇 9664 phspnszhspnh 33559616 惒 9665 phspnszhnznn 33558014 稌 9666 phspnpnhhspn 16784495 稀 9667 phspnpnhpszs 16784931 黍 9668 phspnpnsnhpn 16784124 稅 9669 phspnpnszhpz 33565476 稃 9670 phspnpnnpzsh 33557633 棃 9671 phspnpzphspn 33562507 犂 9672 phspnpzpphhs 33562493 税 9673 phspnnpszhpz 16784169 媝 9674 phspnnppnzph 33564391 稊 9675 phspnnpzhzsp 16784407 稂 9676 phspnnzhhzpn 16782049 瓾 9677 phspnzphhzzn 33561120 稄 9678 phspnznpnpzn 33569075 喬 9679 phpnszhszszh 33560298 筐 9680 phnphnhhhshz 16780470 筙 9681 phnphnhhhspn 33561944 筓 9682 phnphnhhphhs 33559799 筀 9683 phnphnhshhsh 16780233 等 9684 phnphnhshhsn 16778731 筘 9685 phnphnhshszh 16780424 筑 9686 phnphnhshpzn 16787004 策 9687 phnphnhszspn 16777954 筬 9688 phnphnhpzzpn 33556206 筚 9689 phnphnhzpzhs 16777747 筛 9690 phnphnsphszs 16783817 筜 9691 phnphnsnpzhh 16778672 筁 9692 phnphnszhssh 33564454 筒 9693 phnphnszhszh 16784358 筥 9694 phnphnszhszh 16781215 筃 9695 phnphnszhpnh 33567527 筅 9696 phnphnphshpz 16785118 筳 9697 phnphnphshzn 16784388 筈 9698 phnphnphsszh 16780130 筏 9699 phnphnpshzpn 16779054 筵 9700 phnphnpshzzn 16785804 筗 9701 phnphnpsszhs 33569642 筕 9702 phnphnppshhs 33557906 筌 9703 phnphnpnhhsh 16783503 答 9704 phnphnpnhszh 16778572 筄 9705 phnphnpnhzpn 33568353 筋 9706 phnphnpzhhzp 16780556 筍 9707 phnphnpzszhh 33564946 笿 9708 phnphnpznszh 33563166 筝 9709 phnphnpzzhhs 16786797 筊 9710 phnphnnhpnpn 16781035 筂 9711 phnphnnnhzsz 33556330 筆 9712 phnphnzhhhhs 33555227 筎 9713 phnphnzphszh 16782766 傣 9714 pshhhpnsnhpn 16778598 傲 9715 pshhshzpphpn 16777312 傃 9716 pshhshzznspn 33564861 傋 9717 pshhsshszshh 33558977 傌 9718 pshshhsznnnn 16781378 傤 9719 pshshhzshzpn 33568990 備 9720 pshsshpszhhs 33555000 僃 9721 pshsspzszhhs 33555005 傎 9722 pshsszhhhhpn 16778874 僆 9723 pshszhhhsnzn 33562746 傅 9724 pshszhhsnhsn 16779343 傈 9725 pshszsshhspn 16782352 傉 9726 pshphhzpnhsn 33563419 傆 9727 pshppszhhspn 33568845 傄 9728 pshpnnpszhhh 33566831 舃 9729 pshzhhhznnnn 33566775 遚 9730 pshzhhsznnzn 33556471 斞 9731 pshzhhpnnnhs 16786176 惥 9732 pshzhhpnnznn 33568486 舄 9733 pshzhhpznnnn 16785028 牍 9734 pshzhsznnhpn 16778957 牋 9735 pshzhzpnhzpn 16780878 牌 9736 pshzpszhhphs 16782838 貸 9737 pshznszhhhpn 33556675 蜑 9738 pshzznszhshn 16778642 偨 9739 psshshpzhspn 16778136 順 9740 psshpszhhhpn 33565487 翛 9741 psspznznhznh 16784145 絛 9742 psspznzznspn 33565705 傥 9743 pssnpnzszhpz 16784290 堡 9744 psszhhspnhsh 16777535 傝 9745 psszhhznhznh 33565535 傊 9746 psszhszhhhpn 33568922 傂 9747 psppshzphzpz 33556368 傜 9748 pspnnpphhszs 16785951 傒 9749 pspnnpzznhpn 16784972 傖 9750 pspnnzhhpszh 33555552 傟 9751 pspnznznhznh 33568272 傑 9752 pspznhzshspn 33560405 集 9753 psnhhhshhspn 16780749 雋 9754 psnhhhshszsz 33560701 焦 9755 psnhhhshnnnn 16781004 傠 9756 psnhhhszhhsn 33557373 傐 9757 psnhszhszszh 33557956 傚 9758 psnhpnpnphpn 33567128 傏 9759 psnhpzhhsszh 33565670 傡 9760 psnhnphnhnph 33555181 傍 9761 psnhnpnznhzp 16777519 傗 9762 psnhzznszhsh 33556474 傔 9763 psnphzhhsspn 16783322 傢 9764 psnnzhpzpppn 33560022 傧 9765 psnnzpshshpn 16777677 傛 9766 psnnzpnpnszh 33568460 储 9767 psnzhshpszhh 16778470 傓 9768 psnzhpznhznh 33565066 傕 9769 psnzpsnhhhsh 33560765 遑 9770 pszhhhhshnzn 16779708 鄓 9771 pszhhhhpnnzs 33560568 臰 9772 pszhhhhpznpz 33556310 躰 9773 pszhhhphspnh 33565894 臮 9774 pszhhhpspnpn 33560006 臯 9775 pszhhhnhpnhs 33558787 鄎 9776 pszhhhnznnzs 16785031 鳦 9777 pszhhhznnnnz 16785663 兠 9778 pszhhshhpzpz 33556888 皔 9779 pszhhszhhhhs 33557880 皓 9780 pszhhphshszh 16779446 皒 9781 pszhhphshzpn 16777325 鬽 9782 pszhhpzznppp 33561050 皖 9783 pszhhnnzhhpz 16784716 鄔 9784 pszhhznnnnzs 33566178 蛗 9785 pszhzhszhshn 33557786 衈 9786 pszsshhsshhh 16777403 衆 9787 pszsshpspppn 16786835 衇 9788 pszsshpppzpn 33561165 衉 9789 pszsshpznszh 33559283 粤 9790 psznphspnhhz 16786311 奥 9791 psznphspnhpn 16777310 傩 9792 psznpsnhhhsh 16781965 遁 9793 pphsszhhhnzn 16779008 街 9794 ppshshhshhhs 16781073 惩 9795 ppshshshnznn 16778321 衖 9796 ppshsshpnhhs 16782177 徚 9797 ppshsznphspn 0 徥 9798 ppsszhhhshpn 33556344 衕 9799 ppsszhszhhhs 16784362 御 9800 ppsphhshshzs 16786220 復 9801 ppsphszhhpzn 33557778 徨 9802 ppspszhhhhsh 16779718 循 9803 ppspphsszhhh 16785469 徧 9804 ppsnzhpszhss 16777821 徦 9805 ppszhshhzhzn 33560068 徫 9806 ppszshszhhzs 33566463 須 9807 ppphpszhhhpn 33567284 媭 9808 ppphpszpnzph 33567302 舼 9809 ppznhnhsshpn 33558101 舾 9810 ppznhnhszpzh 33566680 舿 9811 ppznhnhpnhhz 0 艇 9812 ppznhnphshzn 16784399 舽 9813 ppznhnpznhzs 33563516 舒 9814 pnhhsszhznzs 16784087 畬 9815 pnhhspnszhsh 33568617 畲 9816 pnhhspnszhsh 16783898 鈃 9817 pnhhsnphhhps 16780867 鈇 9818 pnhhsnphhhpn 16779243 鈨 9819 pnhhsnphhhpz 0 鈣 9820 pnhhsnphhshz 33558702 鈢 9821 pnhhsnphhspn 33561793 鈘 9822 pnhhsnphhszn 33567822 鈈 9823 pnhhsnphhpsn 33555456 鈦 9824 pnhhsnphhpnn 33565584 鈜 9825 pnhhsnphhpzn 33558095 鈪 9826 pnhhsnphhpzz 0 鉅 9827 pnhhsnphhzhz 33560639 釾 9828 pnhhsnphhzsp 33568385 鈍 9829 pnhhsnphhzsz 33557282 鈛 9830 pnhhsnphhzpn 33559243 鈚 9831 pnhhsnphhzpz 33563726 鈙 9832 pnhhsnphshzn 33563868 鈔 9833 pnhhsnphspnp 33556040 鈤 9834 pnhhsnphszhh 33563396 鈡 9835 pnhhsnphszhs 33569612 淾 9836 pnhhsnphszpn 33567615 鈉 9837 pnhhsnphszpn 33561503 鈝 9838 pnhhsnphphhs 33567553 鈓 9839 pnhhsnphphsh 33563280 鈋 9840 pnhhsnphpspz 33554618 釿 9841 pnhhsnphpphs 33567583 釽 9842 pnhhsnphppsn 33563723 鈑 9843 pnhhsnphppzn 33554864 鈐 9844 pnhhsnphpnnz 33564165 鈖 9845 pnhhsnphpnzp 33557527 鈆 9846 pnhhsnphpnzn 16785795 鈅 9847 pnhhsnphpzhh 33568850 欽 9848 pnhhsnphpzpn 33563860 鈞 9849 pnhhsnphpznh 33560791 鈎 9850 pnhhsnphpzzn 33558947 鈠 9851 pnhhsnphpzzn 33567865 鈫 9852 pnhhsnphnhpn 0 鈧 9853 pnhhsnphnhpz 33559336 鈁 9854 pnhhsnphnhzp 33557454 鈥 9855 pnhhsnphnppn 33558620 鈄 9856 pnhhsnphnnhs 33565816 鈩 9857 pnhhsnphnzhp 33562964 鈂 9858 pnhhsnphnzpz 33556110 鈊 9859 pnhhsnphnznn 16784877 鈌 9860 pnhhsnphzhpn 16781288 鈬 9861 pnhhsnphzhpn 33557298 鈏 9862 pnhhsnphzhzs 33567585 鈟 9863 pnhhsnphzhzs 33557093 鈕 9864 pnhhsnphzshh 33561844 鈀 9865 pnhhsnphzshz 33554813 鉯 9866 pnhhsnphznpn 33567834 鈗 9867 pnhhsnphznpz 33568915 弑 9868 pnhspnhhshzn 16784048 逾 9869 pnhszhhssnzn 16786125 颌 9870 pnhszhhpszpn 16779975 翕 9871 pnhszhznhznh 16784988 翖 9872 pnhszhznhznh 33566820 殽 9873 pnhpszhhpzzn 16785956 番 9874 pnphspnszhsh 16779066 釉 9875 pnphspnszhsh 16786100 释 9876 pnphspnznhhs 16784074 爺 9877 pnpnhsshhhzs 33568375 睂 9878 pnpnshpszhhh 33561017 鹆 9879 pnpnszhpznzh 16786197 傘 9880 pnpnpnpnpnhs 33564639 禽 9881 pnnhpnzsszzn 16783114 爲 9882 pnnppzzznnnn 16784764 舜 9883 pnnpnzpznhzs 16784176 豾 9884 pnnpzpphpsnh 33563713 貃 9885 pnnpzpppszhh 33561177 豿 9886 pnnpzpppzszh 33558958 貁 9887 pnnpzppnnzpn 33568557 貀 9888 pnnpzppzsszs 33557352 貂 9889 pnnpzppzpszh 16778905 創 9890 pnnzhhpszhss 33556518 飩 9891 pnnzhhznhzsz 33566113 飪 9892 pnnzhhznphsh 33563321 飫 9893 pnnzhhznphpn 33568763 飭 9894 pnnzhhznphzp 33556412 飯 9895 pnnzhhznppzn 33557450 飲 9896 pnnzhhznpzpn 33567612 飰 9897 pnnzhhznnhsn 33557451 雂 9898 pnnzpsnhhhsh 16783115 敜 9899 pnnznznnphpn 16781928 勜 9900 pnznznhznhzp 33566177 腈 9901 pzhhhhshszhh 16780606 脿 9902 pzhhhhshpzpn 33555395 脹 9903 pzhhhshhhzpn 33569416 腊 9904 pzhhhsshszhh 16781994 朠 9905 pzhhhssszhpn 16785539 腖 9906 pzhhhszhhspn 33556871 脼 9907 pzhhhszspnpn 33562785 腌 9908 pzhhhpnszhhz 16777221 脻 9909 pzhhhzhhshpn 33560358 腓 9910 pzhhshhhshhh 16779139 腂 9911 pzhhszhhhspn 33559281 腘 9912 pzhhszhhshnh 16780265 腗 9913 pzhhszhshhps 33563731 腆 9914 pzhhszhsshpn 16784454 腡 9915 pzhhszzszszh 33559058 腁 9916 pzhhphhpphhs 33563778 腄 9917 pzhhphshsshh 33556542 腇 9918 pzhhphspnzph 33561615 腴 9919 pzhhpshzhhpn 16786138 腉 9920 pzhhpshzhhpz 33560359 脽 9921 pzhhpsnhhhsh 33565472 脾 9922 pzhhpszhhphs 16783011 腀 9923 pzhhpnhszhss 33563110 腍 9924 pzhhpnnznznn 16782702 朜 9925 pzhhnhszhzsh 33566102 腋 9926 pzhhnhpspznn 16785999 腑 9927 pzhhnhppshsn 16779312 脺 9928 pzhhnhpnpnhs 33555796 勝 9929 pzhhnphhpnzp 16783979 腃 9930 pzhhnphhpnzz 33560688 腅 9931 pzhhnppnnppn 33556725 腙 9932 pzhhnnzhhspn 33569111 腚 9933 pzhhnnzhshpn 33556936 腔 9934 pzhhnnzpnhsh 16783336 腕 9935 pzhhnnzpznzz 16784724 腱 9936 pzhhzhhhhszn 16780955 腒 9937 pzhhzhphsszh 16781184 腏 9938 pzhhznznznzn 33556595 覙 9939 pzspnszhhhpz 33569542 鱿 9940 pzszhshhhpzn 16786069 鲀 9941 pzszhshhhzsz 33566110 鲁 9942 pzszhshhszhh 16782556 鲂 9943 pzszhshhnhzp 16779114 鲃 9944 pzszhshhzshz 33554788 颍 9945 pzszpnhpszpn 16785583 猰 9946 pzphhhszphpn 33568050 猢 9947 pzphsszhpzhh 16779559 猹 9948 pzphspnszhhh 16778119 欿 9949 pzpshzhhpzpn 16780312 匑 9950 pzpszhhhpzhz 33558908 猩 9951 pzpszhhphhsh 16784905 猲 9952 pzpszhhpzpnz 16779480 猥 9953 pzpszhshhzpn 16784787 猬 9954 pzpszhshszhh 16784815 颩 9955 pzpszhshnppp 33555403 猯 9956 pzpszshpszss 33566054 猾 9957 pzpszznzszhh 16779621 獀 9958 pzppshzhhszn 16783627 猴 9959 pzppszhphhpn 16779541 猨 9960 pzppnnphhpzn 33568796 猣 9961 pzppnzspnpzn 33569101 猦 9962 pzppzpszhshn 33557571 飓 9963 pzpnszhhhhpn 16781244 獇 9964 pzpnphhhpzzn 0 猶 9965 pzpnphszpzhh 33568501 猵 9966 pzpnzhpszhss 33555344 觛 9967 pzpzhhsszhhh 33556747 觞 9968 pzpzhhsphzpp 16783865 觚 9969 pzpzhhsppznn 16780085 觝 9970 pzpzhhspzhzn 16778840 猳 9971 pzpzhshhzhzn 16780822 猸 9972 pzpzshpszhhh 16781474 猤 9973 pzpznppnhhpn 33559197 猱 9974 pzpznzsphspn 16781802 猭 9975 pzpzzhpzpppn 16786262 惫 9976 pznszhshnznn 16777589 凲 9977 pznphzhhsspn 33558730 颎 9978 pznppnhpszpn 33560482 飧 9979 pznpnnzhhzpn 16783767 夡 9980 pznpznhshszh 33564069 翗 9981 pznpznznhznh 33564019 然 9982 pznnhpnnnnnn 16782667 貿 9983 pznzpszhhhpn 33561005 馇 9984 pzzhspnszhhh 33555858 鄒 9985 pzzsppzzspzs 33569148 馈 9986 pzzszhshszpn 16780522 馉 9987 pzzszznzszhh 33559026 馊 9988 pzzpshzhhszn 16783630 馋 9989 pzzpzszhpznn 16778164 証 9990 nhhhszhhshsh 16786815 詓 9991 nhhhszhhshzn 33564508 詌 9992 nhhhszhhsshh 33558751 詍 9993 nhhhszhhsshz 33565343 詁 9994 nhhhszhhsszh 33559018 訹 9995 nhhhszhhspnn 16785364 訶 9996 nhhhszhhszhs 33557973 詙 9997 nhhhszhhpznn 33554798 評 9998 nhhhszhhnphs 33563686 詀 9999 nhhhszhshszh 16786628 詚 10000 nhhhszhszhhh 33556631 詛 10001 nhhhszhszhhh 33569235 訷 10002 nhhhszhszhhs 33565158 詇 10003 nhhhszhszhpn 33568283 詋 10004 nhhhszhszhpz 33569681 詗 10005 nhhhszhszszh 16785305 訵 10006 nhhhszhszpzh 33556312 詄 10007 nhhhszhphhpn 33557124 詐 10008 nhhhszhphshh 33569338 訸 10009 nhhhszhphspn 33557979 詂 10010 nhhhszhpshsn 33557750 訴 10011 nhhhszhpphsn 33564843 診 10012 nhhhszhpnppp 33569506 詅 10013 nhhhszhpnnzn 16782242 詆 10014 nhhhszhpzhzn 33556982 訽 10015 nhhhszhpzszh 33558967 註 10016 nhhhszhnhhsh 33569917 詃 10017 nhhhszhnhzzn 33560143 詊 10018 nhhhszhnphhs 16782865 詝 10019 nhhhszhnnzhs 16787017 詑 10020 nhhhszhnnzpz 16784552 詠 10021 nhhhszhnzzpn 33568472 詞 10022 nhhhszhzhszh 33555692 詘 10023 nhhhszhzsszs 16778478 詜 10024 nhhhszhzsszn 33565706 詉 10025 nhhhszhzphzn 33561581 詔 10026 nhhhszhzpszh 33569441 詖 10027 nhhhszhzpszn 16777744 詒 10028 nhhhszhznszh 33567780 詏 10029 nhhhszhzznzp 33554598 馮 10030 nhhshhsznnnn 33557610 亵 10031 nhhshpznpzpn 16785286 凓 10032 nhhszsshhspn 33562648 装 10033 nhshshnhpzpn 16787068 蛮 10034 nhsspnszhshn 16781400 脔 10035 nhsspnszpnpn 16780661 就 10036 nhszhspnhpzn 16781163 鄗 10037 nhszhszszhzs 16779442 亴 10038 nhszhnzhshpz 33568562 稁 10039 nhszhnzphspn 33558790 敦 10040 nhszhzshphpn 16779003 凒 10041 nhszshszhnph 33554447 廂 10042 nhphspnszhhh 33567037 裒 10043 nhpshzhhpzpn 16782962 凖 10044 nhpsnhhhshhs 33570007 廁 10045 nhpszhhhpnss 33555601 庽 10046 nhpszhhszshn 33568751 焤 10047 nhppshsnnppn 33557715 廋 10048 nhppshzhhszn 16783634 廆 10049 nhppszhhpzzn 16779789 斌 10050 nhpnhhshshzn 16777674 痚 10051 nhpnhhshpzsh 16785222 痣 10052 nhpnhhshnznn 16786975 痨 10053 nhpnhhssnzzp 16782080 痡 10054 nhpnhhszhhsn 16783072 痦 10055 nhpnhhszhszh 16784673 痘 10056 nhpnhhszhnph 16778776 痞 10057 nhpnhhpsnszh 16783028 痝 10058 nhpnhhpzpppn 33560953 痙 10059 nhpnhhzzzhsh 33559769 痟 10060 nhpnhsnpszhh 33567105 痩 10061 nhpnhszhhszn 16783995 痢 10062 nhpnhphspnss 16782377 痜 10063 nhpnhphspnpz 33566012 痗 10064 nhpnhphzznhn 16781514 痤 10065 nhpnhpnpnhsh 16778097 痪 10066 nhpnhpzszhpn 16779697 痫 10067 nhpnhnszhspn 16785109 痥 10068 nhpnhnpszhpz 33557312 痧 10069 nhpnhnnhspnp 16783807 痾 10070 nhpnhzshszhs 16777320 痛 10071 nhpnhznszhhs 16784364 痠 10072 nhpnhznpnpzn 16783722 凔 10073 nhpnnzhhpszh 16777935 廀 10074 nhpnnznppnzn 33564746 鄌 10075 nhpzhhsszhzs 33565654 赓 10076 nhpzhhpnszpn 16780001 廐 10077 nhpzhhznhzpz 33560536 廄 10078 nhpzhhznpzzn 33560534 粢 10079 nhpzpnnphspn 16778007 椉 10080 nhpznhzshspn 33556194 廃 10081 nhpznppnhhpz 16779165 袲 10082 nhpznpznpzpn 16785636 竦 10083 nhnphhszhspn 16783618 童 10084 nhnphszhhshh 16784355 戠 10085 nhnphszhhzpn 16778424 瓿 10086 nhnphszhhzzn 16777891 敨 10087 nhnphszhphpn 33556897 竧 10088 nhnphpszhhhp 33559771 遃 10089 nhnphppppnzn 33568145 竤 10090 nhnphnnzhpzn 33558137 竢 10091 nhnphznphhpn 33564026 竣 10092 nhnphznpnpzn 16781353 啻 10093 nhnpnzszsszh 16778432 遆 10094 nhnpnzszsnzn 33565861 凕 10095 nhnzszhhnhpn 33561280 旑 10096 nhzphpnhszhs 33567841 旐 10097 nhzpphpnhzpn 16786711 遊 10098 nhzpphzshnzn 16786066 颏 10099 nhzppnhpszpn 16779361 旔 10100 nhzpzhhhhszn 33560224 棄 10101 nhznhsshhspn 33564096 鄐 10102 nhzznszhshzs 16778475 鹇 10103 nszhspnpznzh 33566911 阑 10104 nszhsznphspn 16782019 阒 10105 nszszhhhhpnn 16783487 阓 10106 nszszhshszpn 33558513 阔 10107 nsznnhphsszh 16780547 阕 10108 nszznppnhhpn 16783529 善 10109 nphhhsnphszh 16783849 羢 10110 nphhhphhpzpn 16782739 羠 10111 nphhhphzhzpn 33567800 翔 10112 nphhhpznhznh 16785176 羡 10113 nphhshnhpzpn 16785148 艵 10114 nphhpspzzshz 33563689 絭 10115 nphhpnzznspn 33564565 普 10116 nphssnphszhh 16783090 粩 10117 nphspnhshppz 0 粠 10118 nphspnhsshpn 33558125 粪 10119 nphspnhsshpn 16779200 粞 10120 nphspnhszpzh 16784976 粨 10121 nphspnhpszhh 16777470 粫 10122 nphspnhpszss 33561417 粬 10123 nphspnszhssh 33564463 粡 10124 nphspnszhszh 33565783 粭 10125 nphspnpnhszh 0 粦 10126 nphspnpznhzs 33562334 粧 10127 nphspnnhphsh 16787067 尊 10128 nphszpzhhhsn 16786567 奠 10129 nphszpzhhhpn 16778890 遒 10130 nphszpzhhnzn 16783429 道 10131 nphpszhhhnzn 16778711 遂 10132 nphpzpppnnzn 16783733 孳 10133 nphzznzznzsh 16786498 曾 10134 npszsnphszhh 16777970 焼 10135 nppnhshsshpz 16783872 焟 10136 nppnhsshszhh 33566732 煐 10137 nppnhssszhpn 16785545 焯 10138 nppnshszhhhs 16787099 焜 10139 nppnszhhhzpz 16780529 焨 10140 nppnszhhszhh 33557614 焻 10141 nppnszhhszhh 33556032 焺 10142 nppnszhhphps 33565208 焬 10143 nppnszhhpzpp 33566733 焵 10144 nppnsznphszs 33558779 焹 10145 nppnsznphnhz 0 煱 10146 nppnszzszszh 33559059 焳 10147 nppnpsnhhhsh 33560731 焷 10148 nppnpszhhphs 33563730 焮 10149 nppnpphspzpn 16784897 焾 10150 nppnpnnznznn 0 焧 10151 nppnpnznnznn 33555633 焩 10152 nppnpzhhpzhh 33563673 焝 10153 nppnpzhzszhh 33558606 焰 10154 nppnpzpshzhh 16785864 焞 10155 nppnnhszhzsh 16778536 焲 10156 nppnnhpspznn 33567874 焠 10157 nppnnhpnpnhs 16778069 焿 10158 nppnnhpzhhpn 0 焙 10159 nppnnhnphszh 16777573 焴 10160 nppnnhznszhh 33568713 敥 10161 nppnnppnshzn 33568196 欻 10162 nppnnppnpzpn 16779563 焱 10163 nppnnppnnppn 16785865 焭 10164 nppnnppnnzpz 33564356 勞 10165 nppnnppnnzzp 33562104 焢 10166 nppnnnzpnhsh 33558078 焪 10167 nppnnnzpnzhz 33564351 焥 10168 nppnnnzpznzz 33566582 煡 10169 nppnzhhhhszn 33566618 煀 10170 nppnzhpzsszs 0 鹈 10171 npzhzsppznzh 16784410 湱 10172 nnhhhhshpszh 16779835 湊 10173 nnhhhhpnhhpn 16777992 湷 10174 nnhhhhpnszhh 33556546 湗 10175 nnhhshhshhsn 33557617 渽 10176 nnhhshszhzpn 33568975 湁 10177 nnhhshpnhszh 33565285 湈 10178 nnhhsshhhspn 33561019 湛 10179 nnhhsshhhpnz 16786658 満 10180 nnhhsshszszs 16781403 港 10181 nnhhsshpnzhz 16779918 渫 10182 nnhhsshzhspn 16785269 滞 10183 nnhhsssnzszs 16786974 溚 10184 nnhhsspnhszh 33556639 溁 10185 nnhhssnzhspn 33567691 湖 10186 nnhhsszhpzhh 16779579 湳 10187 nnhhssznphhs 33561561 渿 10188 nnhhspnhhspn 33561538 渣 10189 nnhhspnszhhh 16786596 湘 10190 nnhhspnszhhh 16785160 湐 10191 nnhhspnpszhh 33561168 渤 10192 nnhhsnzzshzp 16777636 溂 10193 nnhhszhspnss 33561917 湢 10194 nnhhszhszhsh 16777753 湮 10195 nnhhszsshhsh 16785783 湅 10196 nnhhsznphspn 16782415 減 10197 nnhhphszhzpn 16780912 湏 10198 nnhhpszhhhpn 33558531 湹 10199 nnhhpszhhshh 33555934 湎 10200 nnhhpszsshhh 16781689 渜 10201 nnhhpszsshpn 33561858 湝 10202 nnhhzpzpszhh 16781074 湽 10203 nnhhzzzszhsh 33569181 湞 10204 nnhshszhhhpn 33556177 惉 10205 nnhshszhnznn 33555917 硰 10206 nnhspnphpszh 33555841 渻 10207 nnhspnpszhhh 33566656 湨 10208 nnhszhhhhpnn 33560581 湜 10209 nnhszhhhshpn 16784021 渺 10210 nnhszhhhspnp 16781706 測 10211 nnhszhhhpnss 33555583 湯 10212 nnhszhhhpzpp 33565079 湒 10213 nnhszhhsshhh 33559851 湿 10214 nnhszhhssnph 16784008 湡 10215 nnhszhhszshn 33554777 温 10216 nnhszhhszssh 16784838 湦 10217 nnhszhhphhsh 33565211 渴 10218 nnhszhhpzpnz 16780377 渨 10219 nnhszhshhzpn 16784746 渭 10220 nnhszhshszhh 16784816 溃 10221 nnhszhshszpn 16780521 渱 10222 nnhszhshnhsh 33558099 湂 10223 nnhszhszhhhz 33554660 湍 10224 nnhszshpszss 16784516 湠 10225 nnhszshpnppn 33565641 溄 10226 nnhszspznhhs 0 溅 10227 nnhszpnhhzpn 16780893 滑 10228 nnhszznzszhh 16779626 湃 10229 nnhphhphhhhs 16782845 湫 10230 nnhphspnnppn 16781013 湩 10231 nnhphszhhshh 16786836 湼 10232 nnhpshzhhhsh 16781932 溲 10233 nnhpshzhhszn 16783633 淵 10234 nnhpsshzhzhs 16786256 湺 10235 nnhpsszhhspn 33568102 湟 10236 nnhpszhhhhsh 16779712 湶 10237 nnhpszhhszpn 33564544 溾 10238 nnhpszhhpzzn 16784756 渪 10239 nnhpszhszshn 33563403 溆 10240 nnhpnhhspnzn 16785372 渝 10241 nnhpnhszhhss 16786117 渰 10242 nnhpnhszhhps 16785828 湲 10243 nnhpnnphhpzn 16786270 湌 10244 nnhpnnzhhzpn 33555500 湓 10245 nnhpnzpszssh 16782916 渙 10246 nnhpzszpnhpn 33558394 渢 10247 nnhpzpszhshn 16779223 盜 10248 nnhpzpnszssh 33556811 渹 10249 nnhpznhhhszh 33558080 湰 10250 nnhpznhphhsh 33562236 湚 10251 nnhpzznszhhz 33567623 湾 10252 nnhnhsspnzhz 16784698 湻 10253 nnhnhszhszhh 33556571 渟 10254 nnhnhszhnzhs 16784383 湸 10255 nnhnhszhnzpz 33562796 渡 10256 nnhnhphsshzn 16778970 湙 10257 nnhnhpspnhpn 33567902 渷 10258 nnhnhpnszhpz 33568141 湆 10259 nnhnhnphszhh 33564075 湇 10260 nnhnhnphszhh 33564076 渧 10261 nnhnhnpnzszs 16778852 游 10262 nnhnhzpphzsh 16786065 湤 10263 nnhnhzpphzsz 33565272 溠 10264 nnhnphhhphsh 16786609 溬 10265 nnhnphhhpzzn 33564232 渼 10266 nnhnphhshhpn 16781495 湵 10267 nnhnphhshpzn 33568539 溇 10268 nnhnphspnzph 33562294 湔 10269 nnhnphszhhss 16780881 湭 10270 nnhnphszpzhh 33564419 渞 10271 nnhnphpszhhh 33564406 滋 10272 nnhnphzznzzn 16786510 溈 10273 nnhnpzzznnnn 33559158 湉 10274 nnhnnsphsszh 16784445 渲 10275 nnhnnzhszhhh 16785421 湥 10276 nnhnnzpnhpnn 33566024 渾 10277 nnhnzhszhhhs 33558594 堻 10278 nnhzhhhhshsh 33569507 溉 10279 nnhzhhznhzpz 16779866 溊 10280 nnhzhshhzhzn 0 渥 10281 nnhzhphznhsh 16784868 渳 10282 nnhzhzhsshhh 33561327 湣 10283 nnhzhzhzszhh 16781618 湋 10284 nnhzshszhhzs 16784768 湄 10285 nnhzshpszhhh 16781476 湑 10286 nnhzshpnszhh 16785354 滁 10287 nnhzspnhhspn 16778460 溋 10288 nnhzpznszssh 0 湧 10289 nnhznszhhszp 16778329 湀 10290 nnhznppnhhpn 33559550 溌 10291 nnhznppnhhpz 33563627 溞 10292 nnhznnszhshn 33564663 渘 10293 nnhznzsphspn 33563377 湪 10294 nnhzzhpzpppn 33564920 愜 10295 nnshhpnpnpnz 33564321 愤 10296 nnshshssszpn 16779194 愖 10297 nnshsshhhpnz 33556114 愅 10298 nnshsshszhhs 33558823 惵 10299 nnshsshzhspn 33557154 愺 10300 nnshssszhhhs 33555576 慌 10301 nnshssnhzpsz 16779699 愝 10302 nnshszhhzphz 33568138 愊 10303 nnshszhszhsh 16777732 惰 10304 nnshphshszhh 16779045 愐 10305 nnshpszsshhh 16781685 愞 10306 nnshpszsshpn 33561859 惿 10307 nnsszhhhshpn 33565889 惻 10308 nnsszhhhpnss 33555607 愓 10309 nnsszhhhpzpp 16778683 愠 10310 nnsszhhszssh 16786349 惺 10311 nnsszhhphhsh 16784910 愒 10312 nnsszhhpzpnz 16780300 愄 10313 nnsszhshhzpn 33566381 愦 10314 nnsszhshszpn 16780517 愢 10315 nnsszhshnznn 33564621 愕 10316 nnsszhszhhhz 16777341 惴 10317 nnsszshpszss 16787084 愣 10318 nnsszsshnhzp 16782153 愲 10319 nnsszznzszhh 33559013 愀 10320 nnsphspnnppn 16783379 愎 10321 nnsphszhhpzn 16777733 惶 10322 nnspszhhhhsh 16779726 愧 10323 nnspszhhpzzn 16780518 愉 10324 nnspnhszhhss 16786112 愋 10325 nnspnnphhpzn 33567373 惾 10326 nnspnzspnpzn 33569123 惸 10327 nnspzszhhzsh 16783410 愌 10328 nnspzszpnhpn 33558391 愡 10329 nnspzppnnznn 33569126 愔 10330 nnsnhnphszhh 16785487 愃 10331 nnsnnzhszhhh 16785389 愘 10332 nnsnnzpznszh 33564115 惲 10333 nnsnzhszhhhs 33568952 惼 10334 nnsnzhpszhss 33555362 慨 10335 nnszhhznhzpz 16780293 惽 10336 nnszhzhzszhh 33558587 愇 10337 nnszshszhhzs 33566424 愑 10338 nnsznszhhszp 33568467 慅 10339 nnsznnszhshn 16783583 惱 10340 nnszzzpszpnh 33561606 覚 10341 nnpnzszhhhpz 16781059 喾 10342 nnpnzphshszh 16780439 敩 10343 nnpnzzshphpn 16785237 割 10344 nnzhhhsszhss 16779953 寒 10345 nnzhhsshpnnn 16779387 寋 10346 nnzhhsshpnzz 33560172 富 10347 nnzhszhszhsh 16779352 寕 10348 nnzhpszsshhs 33561680 寊 10349 nnzshszhhhpn 33569529 寔 10350 nnzszhhhshpn 16784028 寓 10351 nnzszhhszshn 16786233 悹 10352 nnzszhzhnznn 33559125 寑 10353 nnzpszhhnzzn 33563896 窛 10354 nnzpnhhpzzph 33559435 窙 10355 nnzpnhshpzsh 33567095 窜 10356 nnzpnszhszhs 16778052 窝 10357 nnzpnszhszpn 16784863 窖 10358 nnzpnphshszh 16781058 窗 10359 nnzpnpszpznh 16778511 窘 10360 nnzpnzhhpszh 16781140 寏 10361 nnzpzszpnhpn 33558380 惌 10362 nnzpznzznznn 16786255 甯 10363 nnznznnszhhs 16781841 寍 10364 nnznznnszssh 33561679 寐 10365 nnzzshphhspn 16781513 寎 10366 nnzzshphszpn 16777711 谟 10367 nzhssszhhhpn 16781554 運 10368 nzhszhhhsnzn 33568937 扉 10369 nzhpshhhshhh 16779129 遍 10370 nzhpszhssnzn 16777814 棨 10371 nzhpphpnhspn 16783241 晵 10372 nzhpphpnszhh 33564043 雇 10373 nzhppsnhhhsh 16780123 扊 10374 nzhpnppnnppn 16785837 裓 10375 nzspnhhpszpn 33558858 補 10376 nzspnhszhhsn 33555453 裋 10377 nzspnhszhnph 16784143 裖 10378 nzspnhphhzpn 33556153 裌 10379 nzspnhpnpnpn 16780846 裢 10380 nzspnhzhsnzn 16782404 裎 10381 nzspnszhhhsh 16778315 裡 10382 nzspnszhhshh 16782322 裍 10383 nzspnszhspnh 16780543 裐 10384 nzspnszhszhh 33560677 裑 10385 nzspnpszhhhp 33565171 裣 10386 nzspnpnhnnph 33562748 裕 10387 nzspnpnpnszh 16786235 裤 10388 nzspnnhphzhs 16780441 裗 10389 nzspnnhznpsz 33562925 裥 10390 nzspnnszszhh 33560175 裞 10391 nzspnnpszhpz 33565484 裙 10392 nzspnzhhpszh 16783544 禇 10393 nzsnhshpszhh 33569491 祾 10394 nzsnhshpnpzn 33562416 祺 10395 nzsnhsshhhpn 16783206 禃 10396 nzsnhsszhhhh 33569732 祼 10397 nzsnszhhhspn 16780178 祻 10398 nzsnszhsszhh 16780117 禍 10399 nzsnszzszszh 33558654 禆 10400 nzsnpszhhphs 33554968 谠 10401 nzsnpnzszhpz 16778677 禂 10402 nzsnpzhshszh 16778702 祹 10403 nzsnpzphhszs 33565719 祽 10404 nzsnnhpnpnhs 33569265 禅 10405 nzsnnpszhhhs 16778163 禄 10406 nzsnzhhsnhpn 16782580 祿 10407 nzsnzzhsnhpn 33563043 幂 10408 nzszhhhpnszs 16781668 鄍 10409 nzszhhnhpnzs 16781626 谡 10410 nzszhshpnpzn 16783699 谢 10411 nzpszhhhphsn 16785266 谣 10412 nzpnnpphhszs 16785938 谤 10413 nznhnpnznhzp 16777514 谥 10414 nznphpnszssh 16784051 谦 10415 nznphzhhsspn 16783269 覕 10416 nznpnszhhhpz 33561451 惢 10417 nznnnznnnznn 33563441 谧 10418 nznznpnszssh 16781667 尋 10419 zhhhshszhhsn 33566601 畫 10420 zhhhshszhshh 33558323 塈 10421 zhhznhzpzhsh 16780780 遐 10422 zhshhzhznnzn 16785056 覗 10423 zhszhszhhhpz 16783654 屟 10424 zhphsshzhspn 33565908 犀 10425 zhpsnhpnphhs 16784968 属 10426 zhppszhszshn 16784117 遅 10427 zhpnphhhsnzn 16778396 屡 10428 zhpnphspnzph 16782645 孱 10429 zhpzshzshzsh 16777924 弽 10430 zhzhsshzhspn 33565142 弻 10431 zhzhszpnhzhz 33555254 弼 10432 zhzhpszhhzhz 16777737 强 10433 zhzszhszhshn 16780994 費 10434 zhzpsszhhhpn 33557515 粥 10435 zhznphspnzhz 16786850 弾 10436 zhznnpszhhhs 16778647 巽 10437 zhzzhzhsshpn 16785485 隞 10438 zshhshzpphpn 33554569 疎 10439 zshshhszhspn 16784096 疏 10440 zshshnhznpsz 16784097 塦 10441 zshszhhhshsh 33569558 違 10442 zshszhhzsnzn 33566408 韌 10443 zshszhhzszpn 33563316 隔 10444 zshszhsznphs 16779976 隓 10445 zshphshhphsh 33558481 臦 10446 zshzshhszhsz 33559148 骘 10447 zsshshsppzzh 16786962 隙 10448 zsspnszhhspn 16785042 隕 10449 zsszhszhhhpn 33568924 隑 10450 zsszshszhnph 33558690 隖 10451 zspszhhznnnn 33566260 茻 10452 zspzsszspzss 33560961 隘 10453 zsnphpnszssh 16777254 隒 10454 zsnphzhhsspn 16785844 媋 10455 zphhhhpnszhh 33556555 媒 10456 zphhsshhhspn 16781484 媅 10457 zphhsshhhpnz 33556698 媶 10458 zphhsshsshhh 33563357 媟 10459 zphhsshzhspn 16785278 媩 10460 zphhsszhpzhh 33558233 婻 10461 zphhssznphhs 33561564 婹 10462 zphhszsshzph 33568335 媡 10463 zphhsznphspn 33562767 媠 10464 zphhphshszhh 16784574 媙 10465 zphhphzphzpn 33566389 媔 10466 zphhpszsshhh 33561389 媆 10467 zphhpszsshpn 33563429 媘 10468 zphhzpzpszhh 33560366 媜 10469 zphshszhhhpn 33569522 媫 10470 zphshzhhshpn 0 媞 10471 zphszhhhshpn 16784066 婸 10472 zphszhhhpzpp 33568254 媢 10473 zphszhhszhhh 16781466 媀 10474 zphszhhszshn 33568624 媪 10475 zphszhhszssh 16777308 媦 10476 zphszhshszhh 33566502 媤 10477 zphszhshnznn 33564778 絮 10478 zphszhzznspn 16785369 媏 10479 zphszshpszss 33557223 媑 10480 zphphszhhshh 33569645 嫂 10481 zphpshzhhszn 16783588 婣 10482 zphpsshzhzhs 33567529 媬 10483 zphpsszhhspn 16777540 媓 10484 zphpszhhhhsh 33558435 媿 10485 zphpszhhpzzn 16780525 媮 10486 zphpnhszhhss 16784366 媕 10487 zphpnhszhhps 16777267 婾 10488 zphpnhszhhzz 33565807 媛 10489 zphpnnphhpzn 16786278 媍 10490 zphpzszhhhpn 33557768 婷 10491 zphnhszhnzhs 16784390 媇 10492 zphnhnphhspn 33563861 媂 10493 zphnhnpnzszs 33565873 嫅 10494 zphnphhhphsh 33555862 媄 10495 zphnphhshhpn 16781498 媊 10496 zphnphszhhss 16783299 媨 10497 zphnphszpzhh 33560531 媯 10498 zphnpzzznnnn 33559164 媣 10499 zphnnhpzhspn 33563251 媗 10500 zphnnzhszhhh 33567385 媈 10501 zphnzhszhhhs 33558478 媥 10502 zphnzhpszhss 33563773 婽 10503 zphzhshhzhzn 33560065 媉 10504 zphzhphznhsh 33566186 媁 10505 zphzshszhhzs 33566387 媚 10506 zphzshpszhhh 16781509 婿 10507 zphzshpnszhh 16785371 媃 10508 zphznzsphspn 33563384 賀 10509 zpszhszhhhpn 33558048 巯 10510 znhshnhznpsz 33564440 軬 10511 znhpnhszhhhs 33557449 貵 10512 znhpnszhhhpn 33563774 毵 10513 znhpnpppphhz 16783567 翚 10514 znhznhnzhzhs 16779755 辝 10515 znszhnhnphhs 33555697 登 10516 znppnhszhnph 16778729 發 10517 znppnzhzpzzn 16779049 皴 10518 znpnpznzpszn 16778083 矟 10519 znzspsnpszhh 33565504 矞 10520 znzspszpnszh 16786237 堥 10521 znzspphpnhsh 33560972 嵍 10522 znzspphpnszs 33566251 婺 10523 znzspphpnzph 16784659 骛 10524 znzspphpnzzh 16784664 叅 10525 znznznpnsnnn 33555504 敠 10526 znznznznshzn 33557305 毲 10527 znznznznphhz 33557313 敪 10528 znznznznphpn 16779026 欼 10529 znznznznpzpn 16778414 絫 10530 znznznzznspn 16782130 缂 10531 zzhhsshszhhs 16780380 缃 10532 zzhhspnszhhh 16785158 缄 10533 zzhhphszhzpn 16780868 缅 10534 zzhhpszsshhh 16781683 彘 10535 zzhhzphhpnpz 16786949 缆 10536 zzhssphnszpz 16782036 缇 10537 zzhszhhhshpn 16784406 缈 10538 zzhszhhhspnp 16781705 缉 10539 zzhszhhsshhh 16780659 缊 10540 zzhszhhszssh 16784836 缋 10541 zzhszhshszpn 16779768 缌 10542 zzhszhshnznn 16783644 缎 10543 zzhpshhhpzzn 16778981 缏 10544 zzhpshszhhpn 16777813 缐 10545 zzhpszhhszpn 16785134 缑 10546 zzhpszhphhpn 16780039 缒 10547 zzhpszhzhnzn 16787078 缓 10548 zzhpnnphhpzn 16779677 缔 10549 zzhnhnpnzszs 16778846 缕 10550 zzhnphspnzph 16782643 编 10551 zzhnzhpszhss 16777795 骗 10552 zzhnzhpszhss 16783049 缗 10553 zzhzhzhzszhh 16781603 骙 10554 zzhznppnhhpn 33559560 骚 10555 zzhznnszhshn 16783584 缘 10556 zzhzzhpzpppn 16786261 鄕 10557 zzppszhhpzzs 33567029 飨 10558 zzppnnzhhzpn 16785183 綁 10559 zznnnnhhhpzs 33554895 絨 10560 zznnnnhhpzpn 33563348 絓 10561 zznnnnhshhsh 16780138 結 10562 zznnnnhshszh 33560360 絙 10563 zznnnnhszhhh 33558885 絤 10564 zznnnnhszpzh 33566997 絔 10565 zznnnnhpszhh 33554840 絠 10566 zznnnnhpszhh 33558696 絝 10567 zznnnnhpnhhz 33559455 絚 10568 zznnnnhpznnh 33558886 絾 10569 zznnnnhpzzpn 33556208 絰 10570 zznnnnhznhsh 16778932 紪 10571 zznnnnshshpz 33563945 絖 10572 zznnnnsnphpz 16780480 絏 10573 zznnnnszhhzp 16785270 絧 10574 zznnnnszhszh 33565772 絽 10575 zznnnnszhszh 33563197 絪 10576 zznnnnszhpnh 16785494 絗 10577 zznnnnszszhh 33558217 絑 10578 zznnnnphhspn 33569862 綎 10579 zznnnnphshzn 16784391 絬 10580 zznnnnphsszh 33567213 絥 10581 zznnnnpshpnn 33557683 綖 10582 zznnnnpshzzn 16785808 絍 10583 zznnnnpsphsh 16782710 絎 10584 zznnnnppshhs 33557905 絟 10585 zznnnnpnhhsh 33564524 絵 10586 zznnnnpnhhzn 16779783 給 10587 zznnnnpnhszh 33558874 絩 10588 zznnnnpnhzpn 33565998 絢 10589 zznnnnpzszhh 33567424 絳 10590 zznnnnpznhzs 33560276 絡 10591 zznnnnpznszh 33562122 絶 10592 zznnnnpzzshz 16781305 絞 10593 zznnnnnhpnpn 33560062 絘 10594 zznnnnnhpzpn 16778023 絯 10595 zznnnnnhzppn 33558687 統 10596 zznnnnnhznpz 33565796 絴 10597 zznnnnnphhhs 33567044 絣 10598 zznnnnnphhps 16777605 絒 10599 zznnnnnpnsns 33556276 絕 10600 zznnnnzpzshz 33560745 絲 10601 zznnnnzznspn 33564773 幾 10602 zznzznhpnzpn 16780685 耢 10603 hhhspnhssnzzp 33562120 耡 10604 hhhspnszhhhzp 16778448 觢 10605 hhhszppzpzhhs 33569841 惷 10606 hhhpnszhhnznn 16778554 瑃 10607 hhshhhhpnszhh 33556554 瑟 10608 hhshhhshnznpn 16783596 瑇 10609 hhshhhshzznhn 33556667 瑚 10610 hhshhsszhpzhh 16779580 瑓 10611 hhshhsznphspn 33562761 瑊 10612 hhshhphszhzpn 33569513 頊 10613 hhshhpszhhhpn 33567285 瑌 10614 hhshhpszsshpn 33563425 瑎 10615 hhshhzpzpszhh 33567152 鹉 10616 hhshshznpznzh 16784636 瑅 10617 hhshszhhhshpn 33565860 勣 10618 hhshszhhhpnzp 16780703 瑒 10619 hhshszhhhpzpp 33568251 瑁 10620 hhshszhhszhhh 16781460 瑥 10621 hhshszhhszssh 33566522 瑆 10622 hhshszhhphhsh 33566625 琾 10623 hhshszhshpnps 33560440 瑞 10624 hhshszshpszss 16782805 瑖 10625 hhshpshhhpzzn 33557226 瑝 10626 hhshpszhhhhsh 33558428 瑔 10627 hhshpszhhszpn 16783504 瑰 10628 hhshpszhhpzzn 16780200 瑀 10629 hhshpszhszshn 16786170 瑜 10630 hhshpnhszhhss 16786134 瑗 10631 hhshpnnphhpzn 16786291 瑍 10632 hhshpzszpnhpn 33558398 瑳 10633 hhshnphhhphsh 16778100 瑐 10634 hhshnphszhhss 33560148 瑄 10635 hhshnnzhszhhh 16785393 瑏 10636 hhshnnzpnhzsp 33556492 琿 10637 hhshnzhszhhhs 33558469 琧 10638 hhshzhshhhshn 33554652 瑕 10639 hhshzhshhzhzn 16785057 瑉 10640 hhshzhzhzszhh 33561223 瑋 10641 hhshzshszhhzs 33566440 瑂 10642 hhshzshpszhhh 16781475 嗸 10643 hhshzpphpnszh 33554577 嶅 10644 hhshzpphpnszs 33554567 遨 10645 hhshzpphpnnzn 16777295 嫯 10646 hhshzpphpnzph 33554610 骜 10647 hhshzpphpnzzh 16777299 瑵 10648 hhshznnszhshn 33569436 瑈 10649 hhshznzsphspn 33563379 瑑 10650 hhshzzhpzpppn 16787057 瑙 10651 hhshzzzpszpnh 16781810 遘 10652 hhsshszshhnzn 16780057 剺 10653 hhspnphpnhpzp 16782287 頑 10654 hhpzhpszhhhpn 33566303 韫 10655 hhzsszhhszssh 16786358 魂 10656 hhznpszhhpzzn 16779812 搸 10657 hshhhhpnphspn 33569505 塐 10658 hshhhshzznspn 33564850 搆 10659 hshhhsshszshh 16780053 髡 10660 hshhhznppphpz 16780537 髢 10661 hshhhznpppzsz 33565917 肆 10662 hshhhznzhhhhs 16783674 犎 10663 hshhshhsnphhs 33557581 摃 10664 hshhshszhhhpn 33558940 郌 10665 hshhshszhzshz 33559167 搘 10666 hshhshppzszhh 16786876 搕 10667 hshhshznszssh 16780382 摂 10668 hshhsshhhnhpn 16781923 摄 10669 hshhsshhhznzn 16783913 墷 10670 hshhsshhsshhs 33568428 撶 10671 hshhsshhsshhs 0 塨 10672 hshhsshpnsnnn 33558912 塻 10673 hshhssszhhhpn 33561173 摸 10674 hshhssszhhhpn 16781552 搢 10675 hshhssnphszhh 16780582 填 10676 hshhsszhhhhpn 16784447 搷 10677 hshhsszhhhhpn 16778258 搟 10678 hshhszhhhshhs 33566948 摙 10679 hshhszhhhsnzn 16782409 載 10680 hshhszhhhszpn 33568979 搏 10681 hshhszhhsnhsn 16777632 塥 10682 hshhszhsznphs 16779972 搹 10683 hshhszhsznphs 33554657 塛 10684 hshhszsshhspn 33562588 搮 10685 hshhszsshhspn 33562574 酨 10686 hshhszpzhhzpn 33556670 馯 10687 hshhsznnnnhhs 33557886 馵 10688 hshhsznnnnhps 16787033 馱 10689 hshhsznnnnhpn 33557359 馲 10690 hshhsznnnnphz 33566126 馴 10691 hshhsznnnnpss 33567496 馰 10692 hshhsznnnnpzn 33557023 馺 10693 hshhsznnnnpzn 33564617 遤 10694 hshhsznnnnnzn 0 馳 10695 hshhsznnnnzsz 33556348 搙 10696 hshhphhzpnhsn 33561855 搣 10697 hshhphnppnzpn 33561443 塬 10698 hshhppszhhspn 33568800 靕 10699 hshshhhshszhh 33569514 鄢 10700 hshshhznnnnzs 16785781 趌 10701 hshshpnhshszh 33560404 趔 10702 hshshpnhpznss 16782487 趎 10703 hshshpnphhspn 33556433 趏 10704 hshshpnphsszh 33559062 趒 10705 hshshpnpnhzpn 16784467 趓 10706 hshshpnpzhspn 33557326 趍 10707 hshshpnpznpzn 33556341 趑 10708 hshshpnnhpzpn 16786502 趐 10709 hshshpnznhznh 33567465 摅 10710 hshshzphznznn 16784089 塒 10711 hshszhhhshhsn 33565288 塌 10712 hshszhhznhznh 16784191 搨 10713 hshszhhznhznh 16784202 塤 10714 hshszhszhhhpn 33567381 損 10715 hshszhszhhhpn 33564943 遠 10716 hshszhpspnnzn 33568828 摁 10717 hshszhpnhnznn 16777370 鼓 10718 hshszhnphhszn 16780090 壾 10719 hshszhnphhzhz 33560970 鼔 10720 hshszhnphshzn 33559007 塏 10721 hshszshszhnph 33559293 堽 10722 hshszsshhshsh 16779906 摆 10723 hshszsshhshzn 16777465 搵 10724 hshszpnhszssh 16784854 塖 10725 hshphsshhpzpn 33556204 塩 10726 hshphszhszssh 16785803 赪 10727 hshpspnshszpn 16778291 赨 10728 hshpspnszhshn 33567252 赩 10729 hshpspnpzzshz 33566796 携 10730 hshpsnhhhshzp 16785250 搝 10731 hshpszhhhhpnn 33564445 塮 10732 hshpszhhhphsn 33567214 搗 10733 hshpszhhhzszs 33556791 塢 10734 hshpszhhznnnn 33566253 摀 10735 hshpszhhznnnn 33566223 蜇 10736 hshpphsszhshn 16786713 裚 10737 hshpphsnhpzpn 33560000 搋 10738 hshppshzphzpz 16778410 搬 10739 hshppznhnpzzn 16777480 勢 10740 hshpnhshpznzp 33565370 摋 10741 hshpnhspnpzzn 16783800 摇 10742 hshpnnpphhszs 16785944 塪 10743 hshpnnppshzhh 33559317 搯 10744 hshpnnppshzhh 16784296 搶 10745 hshpnnzhhpszh 33556527 搇 10746 hshpnnznhpzpn 33563897 塕 10747 hshpnznznhznh 16784588 塡 10748 hshpzszhhhzpn 33565935 塳 10749 hshpznhhhsnzn 33563610 摓 10750 hshpznhhhsnzn 33557604 搩 10751 hshpznhzshspn 33560384 跫 10752 hshpznszhshpn 16783409 搖 10753 hshpznnphhszs 33568297 塯 10754 hshpznzpszhsh 33562948 搊 10755 hshpzzsppzzsp 16778342 塙 10756 hshnhszhszszh 16783360 搞 10757 hshnhszhszszh 16779933 墎 10758 hshnhszhzshzs 33559251 塉 10759 hshnhpnpnszhh 33559849 摛 10760 hshnhpnzsszzn 16778378 塘 10761 hshnhpzhhsszh 16784277 搪 10762 hshnhpzhhsszh 16784275 塝 10763 hshnhnpnznhzp 16777517 搒 10764 hshnhnpnznhzp 16777509 搐 10765 hshnhzznszhsh 16778474 瓡 10766 hshnphhsppznn 33569742 搼 10767 hshnphhpnphhs 33564534 塧 10768 hshnphpnszssh 33554472 搤 10769 hshnphpnszssh 16777343 搛 10770 hshnphzhhsspn 33560082 搠 10771 hshnphzsppzhh 16784182 搳 10772 hshnnzhhhsszh 33566841 摈 10773 hshnnzpshshpn 16777684 搾 10774 hshnnzpnphshh 16786607 搲 10775 hshnnzpnppznn 33566275 塎 10776 hshnnzpnpnszh 33568471 搈 10777 hshnnzpnpnszh 33568465 摉 10778 hshnnzpnpnpzn 33564741 塜 10779 hshnzhhpzpppn 33563606 壼 10780 hshnzhshzzhsh 16780545 嗀 10781 hshnzhszhpzzn 33558666 亄 10782 hshnzhszhnphz 16785701 塚 10783 hshnzhpzppnpn 33569631 搧 10784 hshnzhpznhznh 16783822 彀 10785 hshnzhzhzpzzn 16780056 毂 10786 hshnzhzshpzzn 16780105 塓 10787 hshnzszhhnhpn 16781669 搉 10788 hshnzpsnhhhsh 16783528 搌 10789 hshzhphsshzpn 16786642 搱 10790 hshzhpnhnphhs 33569782 搦 10791 hshzhznhzhznh 16781967 搎 10792 hshzshpzznspn 16783762 搚 10793 hshzpzpzpszhh 33567143 摊 10794 hshznpsnhhhsh 16784234 搡 10795 hshznznznhspn 16783576 聗 10796 hsshhhhpnpnpn 33562863 聖 10797 hsshhhszhhhsh 33565242 聘 10798 hsshhhszhshhz 16782972 聕 10799 hsshhhphshszh 33557949 碁 10800 hsshhhpnhpszh 16783207 蓁 10801 hsshhhpnphspn 16786759 戡 10802 hsshhhpnzhzpn 16780306 尠 10803 hsshhhpnzspnp 33566949 歁 10804 hsshhhpnzpzpn 16780313 斟 10805 hsshhhpnznnhs 16786753 蔜 10806 hsshhshzpphpn 33554559 蒜 10807 hsshhspnhhspn 16783726 蒱 10808 hsshshhszhhsn 16783081 蓍 10809 hsshshppzszhh 16784013 蓋 10810 hsshshznszssh 16779869 蒖 10811 hsshsszhhhhpn 33569520 蓕 10812 hsshspnhshhsh 33559220 蓒 10813 hsshszhhhshhs 33566895 鄞 10814 hsshszhhhshzs 16785507 勤 10815 hsshszhhhshzp 16783119 蓮 10816 hsshszhhhsnzn 33562734 靹 10817 hsshszhhsszpn 33561514 靴 10818 hsshszhhspspz 16785433 靳 10819 hsshszhhspphs 16780589 靲 10820 hsshszhhspnnz 33563875 蒪 10821 hsshszhhsnhsn 33563644 靷 10822 hsshszhhszhzs 16785526 靵 10823 hsshszhhszshh 33561845 靶 10824 hsshszhhszshz 16777449 鹊 10825 hsshszhhpznzh 16783530 皵 10826 hsshszhhzpszn 33564589 蒚 10827 hsshszhsznphs 33558000 蓛 10828 hsshszspnphpn 33555602 蓜 10829 hsshszpzhhzhz 0 蓐 10830 hsshphhzpnhsn 16782788 蒧 10831 hsshpshszhzpn 33569525 蒝 10832 hsshppszhhspn 33568808 輂 10833 hsshpnhszhhhs 33560566 蓫 10834 hsshpzpppnnzn 16787010 蓝 10835 hssssphnszssh 16782033 蒔 10836 hssszhhhshhsn 33565294 蓽 10837 hssszhhhsshhs 33555340 墓 10838 hssszhhhpnhsh 16781742 幕 10839 hssszhhhpnszs 16781734 蓦 10840 hssszhhhpnzzh 16781591 鹋 10841 hssszhshpznzh 33561422 蒷 10842 hssszhszhhhpn 33568910 蒽 10843 hssszhpnhnznn 16777369 夢 10844 hssszsshnzpzn 33561122 蒕 10845 hssszpnhszssh 33568891 蒛 10846 hssphhszszhpn 33564570 蒩 10847 hssphspnszhhh 33569217 蒨 10848 hsspshhshszhh 16783325 蓧 10849 hsspsspznhspn 16778919 蓨 10850 hsspsspznszhh 33567267 蒦 10851 hsspsnhhhshzn 33558661 蓓 10852 hsspsnhnphszh 16777588 蒠 10853 hsspszhhhnznn 33566747 蒒 10854 hsspszhzhhszs 33565275 蓖 10855 hsspszpnhhzpz 16777779 蓗 10856 hssppshshshpn 33569135 蒣 10857 hssppspnhhspn 33567304 蒑 10858 hssppzhhzpzzn 33567538 蒰 10859 hssppznhnpzzn 33563494 蓏 10860 hssppznnppznn 16782628 蔱 10861 hsspnhspnpzzn 33564984 蓌 10862 hsspnpnhshpzn 16778109 遳 10863 hsspnpnhshnzn 33555823 蓞 10864 hsspnnppshzhh 0 蒵 10865 hsspnnpzznhpn 33566711 蒼 10866 hsspnnzhhpszh 33555553 蓊 10867 hsspnznznhznh 16784589 蒯 10868 hsspzhhpzhhss 16780449 蓟 10869 hsspzszhshhss 16780811 蓬 10870 hsspznhhhsnzn 16782937 蒥 10871 hsspznzpszhsh 33562917 蒭 10872 hsspzzsppzzsp 16778458 蓤 10873 hssnhhshpnpzn 0 蓑 10874 hssnhszhhpzpn 16783785 蒿 10875 hssnhszhszszh 16779427 蓆 10876 hssnhphsshszs 33566752 蓙 10877 hssnhppnpnhsh 0 蒺 10878 hssnhpnhphhpn 16780746 蓠 10879 hssnhpnzsszzn 16782305 蓘 10880 hssnhpnznpzpn 33559235 蓎 10881 hssnhpzhhsszh 33565680 蔀 10882 hssnhnphszhzs 16777876 蒟 10883 hssnhnphpzszh 16781220 蒡 10884 hssnhnpnznhzp 16777520 蓄 10885 hssnhzznszhsh 16785378 蓔 10886 hssnphhshnnnn 33568347 蒹 10887 hssnphzhhsspn 16780900 蒴 10888 hssnphzsppzhh 16784185 蒲 10889 hssnnhhszhhsn 16783082 蒞 10890 hssnnhpsnhnph 33562618 蒤 10891 hssnnhpnhhspn 33566033 蓅 10892 hssnnhnhznpsz 33562921 蒗 10893 hssnnhnzhhzpn 16782068 蓡 10894 hssnnhzhhnzzn 33555505 蓉 10895 hssnnzpnpnszh 16782742 蒙 10896 hssnzhhpzpppn 16781524 蓢 10897 hssnzhhznpzhh 33562070 蓂 10898 hssnzszhhnhpn 16781637 蒮 10899 hssnzpsnhhhsh 33568749 蓥 10900 hssnzpnhhsnph 16785579 蒬 10901 hssnzpzszhpzn 33568783 嗭 10902 hsszhhhhszhpz 0 幹 10903 hsszhhhspnhhs 33558722 颐 10904 hsszhszhpszpn 16785629 媐 10905 hsszhszzhzzph 33566705 兡 10906 hsszhpzhpszhh 33554841 蒻 10907 hsszhznhzhznh 16782824 蔯 10908 hsszshszhhspn 16778269 蓀 10909 hsszshpzznspn 33564939 蔭 10910 hsszspnnzhhzn 33567525 蒸 10911 hsszszpnhnnnn 16786805 蒘 10912 hsszphszhphhs 33561850 蓪 10913 hssznszhhsnzn 16784333 献 10914 hssznphhshpnn 16785135 蓣 10915 hssznzshpszpn 16786241 蓩 10916 hssznzsppznzp 33566269 蒓 10917 hsszznnnnhzsz 33556574 蒳 10918 hsszznnnnszpn 33561523 蒶 10919 hsszznnnnpnzp 33557550 楔 10920 hspnhhhszphpn 16785243 楱 10921 hspnhhhpnhhpn 33555679 椿 10922 hspnhhhpnszhh 16778539 歀 10923 hspnhhspnpzpn 33559500 楳 10924 hspnhsshhhspn 33561022 椹 10925 hspnhsshhhpnz 16783955 榵 10926 hspnhsshsshhh 33563356 楪 10927 hspnhsshzhspn 16778931 榙 10928 hspnhsspnhszh 33565508 槆 10929 hspnhsspzszhh 33567497 楜 10930 hspnhsszhpzhh 33558218 楠 10931 hspnhssznphhs 16781784 禁 10932 hspnhspnhhspn 16780559 楂 10933 hspnhspnszhhh 16778121 榃 10934 hspnhspnszhsh 16784247 楚 10935 hspnhspnzshpn 16778467 椻 10936 hspnhszhhzphz 33568185 楋 10937 hspnhszhspnss 33561913 楅 10938 hspnhszhszhsh 16777740 楆 10939 hspnhszsshzph 33568291 楝 10940 hspnhsznphspn 16782420 楕 10941 hspnhphshszhh 33566153 椷 10942 hspnhphszhzpn 16780876 楲 10943 hspnhphzphzpn 33566386 楏 10944 hspnhpnhshhsh 33559553 楷 10945 hspnhzpzpszhh 16780294 楨 10946 hspnshszhhhpn 33569517 榄 10947 hspnssphnszpz 16782039 楊 10948 hspnszhhhpzpp 16785898 想 10949 hspnszhhhnznn 16785184 楫 10950 hspnszhhsshhh 16780732 榅 10951 hspnszhhszssh 33568905 楬 10952 hspnszhhpzpnz 16781100 椳 10953 hspnszhshhzpn 16784747 楐 10954 hspnszhshpnps 33560446 楒 10955 hspnszhshnznn 33564769 楍 10956 hspnszhszhszh 33555026 榀 10957 hspnszhszhszh 16782970 椯 10958 hspnszshpszss 33557299 楞 10959 hspnszsshnhzp 16782148 榾 10960 hspnszznzszhh 16780121 楿 10961 hspnphspnszhh 33559208 楸 10962 hspnphspnnppn 16783416 椱 10963 hspnphszhhpzn 33557747 椴 10964 hspnpshhhpzzn 16778983 楩 10965 hspnpshszhhpn 16783046 棩 10966 hspnpsshzhzhs 33568786 椺 10967 hspnpsszhhspn 33566737 楻 10968 hspnpszhhhhsh 33558068 楾 10969 hspnpszhhszpn 0 槐 10970 hspnpszhhpzzn 16779643 楀 10971 hspnpszhszshn 16781214 槌 10972 hspnpszhzhnzn 16778533 楯 10973 hspnpphsszhhh 16779009 皙 10974 hspnpphspszhh 16784974 椼 10975 hspnppsnnhhhs 33568143 榆 10976 hspnpnhszhhss 16786144 楡 10977 hspnpnhszhhzz 33568612 嗇 10978 hspnpnhszszhh 33564692 厀 10979 hspnpnsnhpnzs 33566699 楥 10980 hspnpnnphhpzn 16785425 椶 10981 hspnpnzspnpzn 33569107 楓 10982 hspnpzpszhshn 33557579 楤 10983 hspnpzppnnznn 33564722 楟 10984 hspnnhszhnzhs 16784387 榳 10985 hspnnhpphshzn 33565839 榇 10986 hspnnhnphhspn 16778285 楌 10987 hspnnhnphpppp 33568096 楴 10988 hspnnhnpnzszs 33557014 椸 10989 hspnnhzpphzsz 16785621 榈 10990 hspnnszszhszh 16782639 槎 10991 hspnnphhhphsh 16778124 楼 10992 hspnnphspnzph 16782184 椾 10993 hspnnphszhhss 33569387 楢 10994 hspnnphszpzhh 16786067 榉 10995 hspnnnphpnhhs 16781218 楦 10996 hspnnnzhszhhh 16785426 榁 10997 hspnnnzhznhsh 0 楁 10998 hspnnnzpznszh 33557980 楎 10999 hspnnzhszhhhs 16779813 楄 11000 hspnnzhpszhss 33555345 榊 11001 hspnnzsnszhhs 0 榋 11002 hspnzhhzhhzhh 0 概 11003 hspnzhhznhzpz 16779865 椵 11004 hspnzhshhzhzn 16780853 楃 11005 hspnzhphznhsh 33566584 椲 11006 hspnzshszhhzs 33566433 楣 11007 hspnzshpszhhh 16781480 楈 11008 hspnzshpnszhh 33567292 榌 11009 hspnzpnppzpns 0 楹 11010 hspnzpznszssh 16785572 楑 11011 hspnznppnhhpn 33559554 楙 11012 hspnznzsphspn 16781461 楺 11013 hspnznzsphspn 16782751 椽 11014 hspnzzhpzpppn 16778498 裘 11015 hsnhpnnnhpzpn 16783440 愂 11016 hsnzzshzpnznn 33554976 軭 11017 hszhhhshhhshz 33559512 軾 11018 hszhhhshhshzn 33565373 輁 11019 hszhhhshsshpn 33564353 輌 11020 hszhhhshszszs 33562793 輀 11021 hszhhhshpszss 16777373 輊 11022 hszhhhshznhsh 33569772 輄 11023 hszhhhssnphpz 33559131 輈 11024 hszhhhsppznhn 16786840 輇 11025 hszhhhspnhhsh 33564526 輅 11026 hszhhhspznszh 33563015 較 11027 hszhhhsnhpnpn 33560305 輆 11028 hszhhhsnhzppn 33559287 軿 11029 hszhhhsnphhps 16782990 剸 11030 hszhhshnhsnss 16784519 鄟 11031 hszhhshnhsnzs 33569955 畺 11032 hszhshhszhshh 33560248 揧 11033 hszhspnssphhs 33561929 赖 11034 hszhspnpzszpn 16782014 剾 11035 hszhszhszhzss 33559423 硻 11036 hszhszznhpszh 16780406 竪 11037 hszhszznnhnph 33565441 剽 11038 hszsshhhspnss 16783053 勡 11039 hszsshhhspnzp 33563813 甄 11040 hszsshhshhzzn 16786738 歅 11041 hszsshhshpzpn 33567528 賈 11042 hszsshszhhhpn 33559034 覅 11043 hszsshzphpzpp 0 酭 11044 hszpzhhhpszhh 33568555 酮 11045 hszpzhhszhszh 16784346 酰 11046 hszpzhhphshpz 16785079 酫 11047 hszpzhhpnhhsh 33556599 酯 11048 hszpzhhpzszhh 16786926 酩 11049 hszpzhhpznszh 16781639 酪 11050 hszpzhhpznszh 16782093 酬 11051 hszpzhhnpnsns 16778354 酧 11052 hszpzhhnnzhsn 33556278 頍 11053 hsznhpszhhhpn 16780512 蜃 11054 hphhzpnszhshn 16783951 毻 11055 hphshszhhphhz 33566163 厪 11056 hphsshszhhhsh 33559661 厯 11057 hphspnhspnznn 33562629 感 11058 hphszhzpnnznn 16779888 嫑 11059 hpsnhszsshzph 33554925 碔 11060 hpszhhhshshzn 16784641 碃 11061 hpszhhhshszhh 16783153 碛 11062 hpszhhhshszpn 16783254 揅 11063 hpszhhhpsphhs 16785817 碐 11064 hpszhhshpnpzn 33562423 碏 11065 hpszhhsshszhh 16783534 碤 11066 hpszhhssszhpn 33567660 碄 11067 hpszhhspnhspn 33562332 硹 11068 hpszhhspnpnzn 33564709 碕 11069 hpszhhpnhszhs 33563998 硽 11070 hpszhhpnszhhz 33568153 硺 11071 hpszhhpzppnpn 33570026 碊 11072 hpszhhzpnhzpn 33560101 碍 11073 hpszhszhhhhsn 16777253 碘 11074 hpszhszhsshpn 16778881 碋 11075 hpszhszshszhs 33558041 硸 11076 hpszhszshphhs 33561897 碅 11077 hpszhszphspnh 33560797 碙 11078 hpszhsznphszs 33558765 碢 11079 hpszhszzszszh 33566145 硾 11080 hpszhphshsshh 16787082 碓 11081 hpszhpsnhhhsh 16778997 碑 11082 hpszhpszhhphs 16777563 碒 11083 hpszhpnhhsnph 33567566 碖 11084 hpszhpnhszhss 33563115 硼 11085 hpszhpzhhpzhh 16782931 碉 11086 hpszhpzhshszh 16778906 碈 11087 hpszhpzhzszhh 33561230 碎 11088 hpszhnhpnpnhs 16783757 碚 11089 hpszhnhnphszh 16777582 碰 11090 hpszhnphssnph 16782942 碂 11091 hpszhnnzhhspn 33569143 碇 11092 hpszhnnzhshpn 16778797 硿 11093 hpszhnnzpnhsh 33559416 碗 11094 hpszhnnzpznzz 16784717 碌 11095 hpszhzhhsnhpn 16782527 碜 11096 hpszhznhpnppp 16778278 鳫 11097 hppszhhhznnnn 33568223 綔 11098 hpnhhzpzznspn 33558276 鹌 11099 hpnszhhzpznzh 16777262 尴 11100 hpzssphnszssh 16779872 豣 11101 hpzpppnhhphhs 16780884 豥 11102 hpzpppnnhzppn 33558686 豤 11103 hpzpppnzhhzpn 33559394 殜 11104 hpznhsshzhspn 33568419 殟 11105 hpznszhhszssh 33566528 尲 11106 hpznphzhhsspn 33558715 飱 11107 hpznpnnzhhzpn 33564941 頋 11108 hpzzhpszhhhpn 33559038 匯 11109 hnnhpsnhhhshz 33558523 鄠 11110 hnzsnnnnhhzzs 16779601 雸 11111 hnzsnnnnhsshh 33554506 雼 11112 hnzsnnnnhpszh 33556782 電 11113 hnzsnnnnszhhz 16778901 雷 11114 hnzsnnnnszhsh 16782121 雵 11115 hnzsnnnnszhpn 33568238 雽 11116 hnzsnnnnpnphs 33557914 零 11117 hnzsnnnnpnnzn 16782270 雾 11118 hnzsnnnnpznzp 16784675 雹 11119 hnzsnnnnpzzhz 16777533 雴 11120 hnzsnnnnnhnph 33562669 雺 11121 hnzsnnnnznzsp 33561114 辔 11122 hzhszzhzzhszh 16782910 辏 11123 hzshhhhpnhhpn 16777994 辐 11124 hzshhszhszhsh 16779286 辑 11125 hzshszhhsshhh 16780741 辒 11126 hzshszhhszssh 33566527 输 11127 hzshpnhszhhss 16784099 頓 11128 hzszhpszhhhpn 16778954 盞 11129 hzpnhzpnszssh 33569382 甅 11130 hzznhpszhhshh 0 督 11131 shhspnznszhhh 16778951 歲 11132 shshhphsppzpn 33564922 歳 11133 shshhphspnzpn 16783753 頉 11134 shshhpszhhhpn 33567761 频 11135 shshspphpszpn 16782966 歱 11136 shshphszhhshh 33569633 龃 11137 shshpnzsszhhh 16781217 龄 11138 shshpnzspnnzn 16782250 龅 11139 shshpnzspzzhz 16777528 龆 11140 shshpnzszpszh 16784466 貲 11141 shshpzszhhhpn 33569186 觜 11142 shshpzpzpzhhs 16786511 訾 11143 shshpznhhhszh 16786492 粲 11144 shpznznnphspn 16777927 豦 11145 shzphzhpzpppn 16783476 虡 11146 shzphzssnphpn 16781230 虞 11147 shzphzszhhhpn 16786136 虜 11148 shzphzszhshzp 33562996 甝 11149 shzphzpzhsshh 33557811 鉴 11150 ssphnpnhhsnph 16780956 業 11151 ssnphnphhhspn 33568412 彂 11152 ssnphzhzphhpn 33555065 鳪 11153 snpszhhhznnnn 33555455 揱 11154 snpszhhssphhs 33565505 甞 11155 snpnzszhhsshh 33556009 當 11156 snpnzszhszhsh 33556755 睛 11157 szhhhhhshszhh 16780609 暙 11158 szhhhhhpnszhh 33556556 睹 11159 szhhhhshpszhh 16778968 睦 11160 szhhhhshpnhsh 16781739 睖 11161 szhhhhshpnpzn 16782244 睰 11162 szhhhhsshpszh 33560859 瞄 11163 szhhhhssszhsh 16781701 睞 11164 szhhhhspnpnpn 33561966 睚 11165 szhhhhphshhsh 16785761 嗪 11166 szhhhhpnphspn 16783121 睫 11167 szhhhhzhhshpn 16781099 晸 11168 szhhhshshphpn 33569540 韪 11169 szhhhshpnhhzs 16784806 尟 11170 szhhhshpnspnp 16785116 嗷 11171 szhhhshzpphpn 16777306 嗉 11172 szhhhshzznspn 16783715 暔 11173 szhhhssznphhs 16781786 睗 11174 szhhhszhhpzpp 33565344 睤 11175 szhhhszhshhps 33563765 睓 11176 szhhhszhsshpn 33565953 鼌 11177 szhhhszhszhhz 33556044 暕 11178 szhhhsznphspn 16780927 睡 11179 szhhhphshsshh 16784171 睨 11180 szhhhpshzhhpz 16781882 睢 11181 szhhhpsnhhhsh 16783728 雎 11182 szhhhpsnhhhsh 16781193 暊 11183 szhhhpszhhhpn 33557722 睥 11184 szhhhpszhhphs 16783033 賎 11185 szhhhpnhhhzpn 33560222 賊 11186 szhhhpnhhpzpn 33569083 睔 11187 szhhhpnhszhss 33558604 賄 11188 szhhhpnhpszhh 33558501 賉 11189 szhhhpnpszssh 33567358 賂 11190 szhhhpnpznszh 33563058 賍 11191 szhhhpnnhphsh 33569021 賋 11192 szhhhpnnhpnpn 33560333 賅 11193 szhhhpnnhzppn 33558692 賆 11194 szhhhpnnphhps 33563781 睬 11195 szhhhpnnphspn 16777905 睜 11196 szhhhpnnpzhhs 33569580 睭 11197 szhhhpzhshszh 33569666 睧 11198 szhhhpzhzszhh 33558581 敭 11199 szhhhpzppphpn 33568253 睟 11200 szhhhnhpnpnhs 16783750 睠 11201 szhhhnphhpnzz 16781276 睒 11202 szhhhnppnnppn 16783837 睕 11203 szhhhnnzpznzz 33566322 睙 11204 szhhhnzhphpnn 16782484 睷 11205 szhhhzhhhhszn 33560098 睩 11206 szhhhzhhsnhpn 33563038 鹍 11207 szhhhzhzpznzh 33559605 嗎 11208 szhhshhsznnnn 33560838 嗊 11209 szhhshszhhhpn 16779536 嘟 11210 szhhshpszhhzs 16778950 嗜 11211 szhhshppzszhh 16784078 嗑 11212 szhhshznszssh 16780367 嗫 11213 szhhsshhhznzn 16781939 嘩 11214 szhhsshhsshhs 33558291 嗼 11215 szhhssszhhhpn 33561198 嗬 11216 szhhsspshszhs 16779454 嗔 11217 szhhsszhhhhpn 16778262 鄙 11218 szhhsszszhhzs 16777720 嗦 11219 szhhsnzzznspn 16783786 閠 11220 szhhszhhhhshn 33563456 嗹 11221 szhhszhhhsnzn 16782405 閜 11222 szhhszhhhszhs 33559369 毷 11223 szhhszhhhphhz 16781469 暘 11224 szhhszhhhpzpp 16785906 閛 11225 szhhszhhhnphs 33563590 閘 11226 szhhszhhszhhs 33569323 暒 11227 szhhszhhphhsh 33563924 閝 11228 szhhszhhpnnzn 33562427 暍 11229 szhhszhhpzpnz 16779486 閙 11230 szhhszhhnhszs 33561609 閚 11231 szhhszhhnhnph 33560106 閟 11232 szhhszhhnznpn 16777763 閞 11233 szhhszhhznhps 33555373 黽 11234 szhhszhshhzhh 33561413 嗝 11235 szhhszhsznphs 16779980 愚 11236 szhhszshnnznn 16786116 鄤 11237 szhhszsshznzs 16779093 戥 11238 szhhphhshhzpn 16778730 嗕 11239 szhhphhzpnhsn 33561661 嗄 11240 szhhpszhhhpzn 16777223 暖 11241 szhhpnnphhpzn 16781962 琞 11242 szhhpzhhhhshn 33565240 盟 11243 szhhpzhhszssh 16781541 煦 11244 szhhpzszhnnnn 16785368 毼 11245 szhhpzpnzphhz 33558024 歇 11246 szhhpzpnzpzpn 16785241 暗 11247 szhhnhnphszhh 16777277 暆 11248 szhhnhzpphzsz 33567790 暛 11249 szhhnphhhphsh 33564971 暅 11250 szhhnnshszhhh 33558907 暄 11251 szhhnnzhszhhh 16785398 暈 11252 szhhnzhszhhhs 33568890 暉 11253 szhhnzhszhhhs 33558480 暇 11254 szhhzhshhzhzn 16785061 暐 11255 szhhzshszhhzs 16784791 號 11256 szhhzshzphzpz 33557932 照 11257 szhhzpszhnnnn 16786701 遢 11258 szhhznhznhnzn 16784205 暌 11259 szhhznppnhhpn 16780507 畸 11260 szhshhpnhszhs 16780684 跬 11261 szhshshhshhsh 16780515 跱 11262 szhshshhshhsn 16786981 跴 11263 szhshshhszpzh 16777909 跨 11264 szhshshhpnhhz 16780446 跶 11265 szhshshhpnnzn 33556651 跠 11266 szhshshhzhzpn 33567811 跷 11267 szhshshhzphpz 16783365 跸 11268 szhshshhzpzhs 16777791 跮 11269 szhshshhznhsh 16778439 跐 11270 szhshshshshpz 16778016 跩 11271 szhshshszhhzp 16784081 跦 11272 szhshshphhspn 16778462 跣 11273 szhshshphshpz 16785130 跹 11274 szhshshphsnzn 16785092 跧 11275 szhshshpnhhsh 16783516 跲 11276 szhshshpnhszh 16780850 跳 11277 szhshshpnhzpn 16784479 喍 11278 szhshshpzhspn 33555903 跺 11279 szhshshpzhspn 16779046 跪 11280 szhshshpzhpzz 16780243 跭 11281 szhshshpznhzs 33567047 路 11282 szhshshpznszh 16782590 跢 11283 szhshshpznpzn 33556686 踭 11284 szhshshpzzhhs 33569577 跡 11285 szhshshnhpspn 33559824 跻 11286 szhshshnhpnps 16780713 跤 11287 szhshshnhpnpn 16781023 跰 11288 szhshshnphhps 33555061 跟 11289 szhshshzhhzpn 16779996 跥 11290 szhshshzphspn 33557360 園 11291 szhshszhpspnh 33568792 遣 11292 szhshszhzhnzn 16783313 蜐 11293 szhshnhshznzp 33560374 蜹 11294 szhshnhssszpn 33563442 蛷 11295 szhshnhsnhpnn 33564443 蛼 11296 szhshnhszhhhs 33556072 蜅 11297 szhshnhszhhsn 16779304 蜄 11298 szhshnhphhzpn 33569551 蛺 11299 szhshnhpnpnpn 33560055 蛖 11300 szhshnhpzpppn 33560952 蜌 11301 szhshnhzpzhsh 33555242 蛵 11302 szhshnhzzzhsh 16784909 蝆 11303 szhshnshshhhs 33568270 蛸 11304 szhshnsnpszhh 16783881 蛽 11305 szhshnszhhhpn 33554856 蜈 11306 szhshnszhhhpn 16784610 蜆 11307 szhshnszhhhpz 33566945 蜎 11308 szhshnszhszhh 16786246 蜗 11309 szhshnszhszpn 16784859 蜖 11310 szhshnszsshhh 33558487 蛾 11311 szhshnphshzpn 16777333 蜊 11312 szhshnphspnss 16782275 蜏 11313 szhshnphspnzp 33568531 蜁 11314 szhshnphzshpn 33567393 蜍 11315 szhshnpnhhspn 16778447 蛻 11316 szhshnpnszhpz 33565485 蛶 11317 szhshnpnnphsn 33562881 蜉 11318 szhshnpnnpzsh 16779260 蛿 11319 szhshnpnnzszh 33557898 蜔 11320 szhshnpzszhsh 33557058 蜂 11321 szhshnpznhhhs 16779205 蜣 11322 szhshnnphhhpz 16783333 蜕 11323 szhshnnpszhpz 16784532 蜋 11324 szhshnnzhhzpn 16782052 畹 11325 szhshnnzpznzz 16784715 蝍 11326 szhshnzhhznzs 16780728 蛹 11327 szhshnznszhhs 16786046 圔 11328 szhshznszsshh 33554650 畷 11329 szhshznznznzn 16778562 豊 11330 szhsshhszhnph 16779210 農 11331 szhsshhphhzpn 16781832 嗩 11332 szhsnpszhhhpn 33564979 嗶 11333 szhszhhhsshhs 33555338 嗮 11334 szhszhhhszpzh 33564628 圑 11335 szhszhhsnhsnh 33563851 嗣 11336 szhszhsszhszh 16783679 喿 11337 szhszhszhhspn 16777938 嗯 11338 szhszhpnhnznn 16777372 嗰 11339 szhpsszhsszhh 33558873 嗅 11340 szhpszhhhhpnn 16785327 嗥 11341 szhpszhhhpnhs 16779435 嗚 11342 szhpszhhznnnn 33566192 嗁 11343 szhppshzphzpz 33565882 嗱 11344 szhpnhszhphhs 33561500 嗲 11345 szhpnpnpznpzn 16778867 嗂 11346 szhpnnpphhszs 33568324 嗳 11347 szhpnnpnzhpzn 16777243 嗘 11348 szhpnnpzznhpn 33559819 嗆 11349 szhpnnzhhpszh 33564234 嗡 11350 szhpnznznhznh 16784587 嗃 11351 szhnhszhszszh 16779487 嗙 11352 szhnhnpnznhzp 16782883 嗌 11353 szhnphpnszssh 33554483 嗛 11354 szhnphzhhsspn 16783327 嗍 11355 szhnphzsppzhh 33565503 嗨 11356 szhnnhphzznhn 16779358 嗐 11357 szhnnzhhhsszh 16779371 嗤 11358 szhzsshszhshn 16778387 嗋 11359 szhzpzpzpszhh 33567138 嗵 11360 szhznszhhsnzn 33565758 嗓 11361 szhznznznhspn 16783579 嗈 11362 szhzzzszhzshz 16786027 幊 11363 szshshszhhhpn 33558910 幙 11364 szshssszhhhpn 16781737 嵮 11365 szshsszhhhhpn 33557037 歂 11366 szshpszsspzpn 33556497 嵟 11367 szshppsnhhhsh 33557236 輋 11368 szshpnhszhhhs 33560544 罫 11369 szsshhshhshsn 16780141 署 11370 szsshhshpszhh 16784119 睪 11371 szsshhshnphhs 16779922 置 11372 szsshhsszhhhh 16786953 罧 11373 szsshhspnhspn 33562328 罭 11374 szsshhszhhzpn 16786209 睘 11375 szsshhszhpzpn 33564360 罨 11376 szsshhpnszhhz 16785841 罪 11377 szsshshhhshhh 16786561 罩 11378 szsshshszhhhs 16786702 遝 11379 szsshsppnnnzn 16784204 蜀 11380 szsshpzszhshn 16784113 罬 11381 szsshznznznzn 33570022 嵵 11382 szsszhhhshhsn 0 幌 11383 szsszhhsnphpz 16779732 嵦 11384 szsszshszhnph 33554442 嵊 11385 szsphsshhpzpn 16783976 嵲 11386 szspszhhhhspn 33561813 嵨 11387 szspszhhznnnn 33566229 幍 11388 szspnnppshzhh 33556786 嵠 11389 szspnnpzznhpn 33566688 嵢 11390 szspnnzhhpszh 33555551 嵡 11391 szspnznznhznh 33566166 剻 11392 szspzhhpzhhss 33557624 嵥 11393 szspznhzshspn 33560397 嵧 11394 szspznzpszhsh 33562906 嵩 11395 szsnhszhszszh 16783609 嵪 11396 szsnhszhszszh 33564262 嵴 11397 szsnhpnpnszhh 16780735 嵣 11398 szsnhpzhhsszh 33556754 嵭 11399 szsnhnpnznhzp 33555042 嵰 11400 szsnphzhhsspn 33564196 幏 11401 szsnnzhpzpppn 33560014 嵱 11402 szsnnzpnpnszh 33568458 幎 11403 szsnzszhhnhpn 33561355 圓 11404 szszhszhhhpnh 33568793 嵶 11405 szszhznhzhznh 0 颒 11406 szpnhpshpszpn 33558556 赗 11407 szpnszhhszhhh 33557618 圕 11408 szzhhhshszhhh 33565378 骱 11409 szznzszhhpnps 16781130 骰 11410 szznzszhhpzzn 16784370 骯 11411 szznzszhhnhpz 33554538 锖 11412 phhhzhhshszhh 16783331 锗 11413 phhhzhshpszhh 16779028 错 11414 phhhzhsshszhh 16778102 锘 11415 phhhzhsshpszh 16781966 锚 11416 phhhzhssszhsh 16781435 锳 11417 phhhzhssszhpn 33567647 锛 11418 phhhzhpnhshps 16777590 锜 11419 phhhzhpnhszhs 33563967 锝 11420 phhhzszhhhhsn 16778716 锞 11421 phhhzszhhhspn 16780383 锟 11422 phhhzszhhhzpz 16780530 锠 11423 phhhzszhhszhh 33555999 锡 11424 phhhzszhhpzpp 16784938 锢 11425 phhhzszhsszhh 16780114 锣 11426 phhhzszsshpzn 16782620 锤 11427 phhhzphshsshh 16778525 锥 11428 phhhzpsnhhhsh 16787073 锦 11429 phhhzpszhhszs 16780567 锧 11430 phhhzpphsszpn 33569777 锨 11431 phhhzpphspzpn 33566878 锪 11432 phhhzpzppnznn 33558616 锫 11433 phhhznhnphszh 16782901 锩 11434 phhhznphhpnzz 16781264 锬 11435 phhhznppnnppn 16784240 锭 11436 phhhznnzhshpn 16778795 键 11437 phhhzzhhhhszn 16780942 锯 11438 phhhzzhphsszh 16781227 锰 11439 phhhzzshszssh 16781546 锱 11440 phhhzzzzszhsh 16786491 勧 11441 phhpsnhhhshzp 16783524 榘 11442 phhpnhzhzhspn 33560619 矮 11443 phhpnphspnzph 16777242 雉 11444 phhpnpsnhhhsh 16786969 氱 11445 phhzszhhhpzpp 33568267 氲 11446 phhzszhhszssh 16786322 毸 11447 phhzszhshnznn 33564899 毺 11448 phhzpnhszhhss 33568578 犑 11449 phshszhhhhpnn 33560589 犐 11450 phshphspnnnhs 33559356 犏 11451 phshnzhpszhss 33563772 犌 11452 phshzhshhzhzn 33560020 辞 11453 phsszhnhnphhs 16778006 敮 11454 phspshzhhshzn 33559156 歃 11455 phspshzhhpzpn 16783813 稑 11456 phspnhshpnhsh 16782563 稜 11457 phspnhshpnpzn 16782147 稏 11458 phspnhshzzhsh 33568045 稘 11459 phspnhsshhhpn 33559783 稓 11460 phspnhsshszhh 33569278 稙 11461 phspnhsszhhhh 16786898 稢 11462 phspnhszhhzpn 33568698 稞 11463 phspnszhhhspn 16780351 馚 11464 phspnszhhpnzp 33557545 稒 11465 phspnszhsszhh 33559039 稛 11466 phspnszphspnh 16780539 稚 11467 phspnpsnhhhsh 16786939 稗 11468 phspnpszhhphs 16777472 稐 11469 phspnpnhszhss 33563124 稔 11470 phspnpnnznznn 16782701 稝 11471 phspnpzhhpzhh 33563601 稠 11472 phspnpzhshszh 16778350 颓 11473 phspnpzhpszpn 16784528 睝 11474 phspnpzpszhhh 33562480 稤 11475 phspnnhszhspn 33563216 稕 11476 phspnnhszhzsh 33570008 稡 11477 phspnnhpnpnhs 33564827 稖 11478 phspnnhnphszh 33554899 甃 11479 phspnnppnhzzn 16786860 湬 11480 phspnnppnszpn 33560318 揫 11481 phspnnppnphhs 16781154 愁 11482 phspnnppnnznn 16778348 稥 11483 phspnnnnnszhh 0 筺 11484 phnphnhhhshnz 33559509 筹 11485 phnphnhhhphsn 16778357 筭 11486 phnphnhhshhps 16783724 筠 11487 phnphnhshpznh 16781332 筢 11488 phnphnhshzshz 33563469 筮 11489 phnphnhspnpnh 16784060 筪 11490 phnphnhszhhsz 33566846 筻 11491 phnphnhszhhpn 33558780 筴 11492 phnphnhpnpnpn 16777956 筲 11493 phnphnsnpszhh 16783875 筸 11494 phnphnszhhhhs 16779878 筫 11495 phnphnszhhhpn 33569804 筽 11496 phnphnszhhhpn 0 筧 11497 phnphnszhhhpz 33560153 筯 11498 phnphnszhhhzp 33569930 筼 11499 phnphnszhszpn 16786331 筶 11500 phnphnphshszh 33558794 筣 11501 phnphnphspnss 33562592 筱 11502 phnphnpssphpn 16785229 筰 11503 phnphnpsphshh 16786582 筡 11504 phnphnpnhhspn 33566023 签 11505 phnphnpnhnnph 16783277 筟 11506 phnphnpnnpzsh 33557638 筨 11507 phnphnpnnzszh 33557827 筿 11508 phnphnpznhspn 33567115 简 11509 phnphnnszszhh 16780925 筷 11510 phnphnnnszhpn 16780454 筦 11511 phnphnnnzhhpz 16780167 筞 11512 phnphnnnzhspn 33555590 筤 11513 phnphnnzhhzpn 16782054 節 11514 phnphnzhhznzs 33560368 筩 11515 phnphnznszhhs 16784359 與 11516 pshhhzszhhhpn 33568651 債 11517 pshhshszhhhpn 33569353 傿 11518 pshshshhznnnn 16785882 僅 11519 pshsshszhhhsh 33559664 傼 11520 pshsshszhhhpn 33557888 僙 11521 pshsshszhshpn 33559140 僌 11522 pshszhhhsphpn 33567701 傳 11523 pshszhhshnhsn 33556499 傮 11524 pshszhsshszhh 16786406 傴 11525 pshszhszhszhz 33568675 僄 11526 pshszsshhhspn 16777846 傶 11527 pshpshhspnzpn 33569227 僀 11528 pshpsshznzszs 33557026 傸 11529 pshpnpnpnpnpn 33564250 毀 11530 pshzhhhshpzzn 33558500 毁 11531 pshzhhhshpzzn 16779766 舅 11532 pshzhhszhshzp 16781162 鼠 11533 pshzhhznnznnz 16784114 牒 11534 pshzhsshzhspn 16778930 傾 11535 pshzhpszhhhpn 33563912 牐 11536 pshzphspshzhh 33569316 牏 11537 pshzpnhszhhss 16784368 牎 11538 pshzpzppnnznn 33556514 牑 11539 pshznzhpszhss 33555346 煲 11540 psszhhspnnppn 16777527 僂 11541 psszhhszhszph 33562303 僈 11542 psszhhszsshzn 33560932 傫 11543 psszhshzznspn 16782133 催 11544 psszspsnhhhsh 16778057 傰 11545 psszspzhhpzhh 33563613 賃 11546 psphshszhhhpn 33562369 傷 11547 psphszhhhpzpp 33565082 働 11548 psphszhhshhzp 33556877 傻 11549 pspszpnhpnpzn 16783810 傯 11550 pspszpznhnznn 16786467 傱 11551 psppspnpnshpn 33564728 僁 11552 pspnphspnnznn 33566716 僋 11553 pspnnzszhhhpn 33564434 像 11554 pspzszhpzpppn 16785191 傺 11555 pspznnznhhspn 16778435 傭 11556 psnhpzhhszhhs 16778332 傽 11557 psnhnphszhhhs 33569411 傹 11558 psnhnphszhhpz 33559765 皘 11559 pszhhhhshszhh 33564213 躳 11560 pszhhhpszhszh 33558916 躲 11561 pszhhhppzhspn 16779033 躱 11562 pszhhhpzphspn 33557329 辠 11563 pszhhhnhnphhs 16786565 鄡 11564 pszhhhzhspnzs 33564257 裊 11565 pszhhhznhpzpn 33561787 鳧 11566 pszhhhznnnnpz 33557704 鄥 11567 pszhhhznnnnzs 33564258 鳨 11568 pszhhhznnnnzp 33562664 鹎 11569 pszhhphspznzh 16777558 皗 11570 pszhhpzhshszh 33556286 鬾 11571 pszhhpzznhszn 33559951 鬿 11572 pszhhpzznpphs 33563975 魀 11573 pszhhpzznpnps 16781124 魁 11574 pszhhpzznnnhs 16780503 楽 11575 pszhhnhpnhspn 16782103 敫 11576 pszhhnhzpphpn 33560317 粵 11577 pszpnphspnhhz 33568879 奧 11578 pszpnphspnhpn 16777311 僇 11579 psznhznhpnppp 16782585 傪 11580 psznznznpnppp 33555478 頎 11581 pphshpszhhhpn 33563963 徰 11582 ppshshshhshsh 33569585 衙 11583 ppshszhszhhhs 16785760 遞 11584 ppshzphzpznzn 33557007 微 11585 ppsszshpzphpn 16784755 衘 11586 ppsphhshshhhs 33566914 徭 11587 ppspnnpphhszs 16785953 徯 11588 ppspnnpzznhpn 16784980 徬 11589 ppsnhnpnznhzp 16782879 愆 11590 ppsnnhhhsnznn 16783266 覛 11591 pppzpnszhhhpz 33561184 艄 11592 ppznhnsnpszhh 16783873 艃 11593 ppznhnszhhshh 33562473 艁 11594 ppznhnphshszh 33569040 艅 11595 ppznhnpnhhspn 16786127 艀 11596 ppznhnpnnpzsh 33557673 艂 11597 ppznhnpznhhhs 33557603 幋 11598 ppznhnpzznszs 16782852 媻 11599 ppznhnpzznzph 16782855 艈 11600 ppznhnnhznpsz 0 艆 11601 ppznhnnzhhzpn 33562051 艉 11602 ppznhnzhpphhz 33566438 嵞 11603 pnhhspnszsszs 16784499 厁 11604 pnhhspnnnhszs 0 鈺 11605 pnhhsnphhhshn 33568715 鉦 11606 pnhhsnphhshsh 33569581 鉣 11607 pnhhsnphhshzn 33560395 鉗 11608 pnhhsnphhsshh 33564176 鉪 11609 pnhhsnphhsshz 33557009 銰 11610 pnhhsnphhsspn 33554438 鈷 11611 pnhhsnphhsszh 33558988 鉢 11612 pnhhsnphhspnh 33555069 鉥 11613 pnhhsnphhspnn 16784137 鈳 11614 pnhhsnphhszhs 33559353 鉕 11615 pnhhsnphhszhz 33563625 鉔 11616 pnhhsnphhszsz 33568958 鈵 11617 pnhhsnphhszpn 33555193 鉟 11618 pnhhsnphhpsnh 33563711 鉐 11619 pnhhsnphhpszh 33565287 鈽 11620 pnhhsnphhpszs 33555442 鈸 11621 pnhhsnphhpznn 33554797 鉞 11622 pnhhsnphhzzpn 33568863 鉲 11623 pnhhsnphshhsn 16780282 鉳 11624 pnhhsnphshhpz 33554973 鉆 11625 pnhhsnphshszh 16786629 鉏 11626 pnhhsnphszhhh 16778450 鉬 11627 pnhhsnphszhhh 33561477 鉭 11628 pnhhsnphszhhh 33565628 鉀 11629 pnhhsnphszhhs 33560058 鉮 11630 pnhhsnphszhhs 33565163 鈾 11631 pnhhsnphszhsh 33568502 鈿 11632 pnhhsnphszhsh 33557060 鉂 11633 pnhhsnphszhpn 33565308 鉙 11634 pnhhsnphszhpn 33569350 鉠 11635 pnhhsnphszhpn 33568234 鈻 11636 pnhhsnphszhzh 33564798 鉎 11637 pnhhsnphphhsh 33565209 鉃 11638 pnhhsnphphhpn 33565339 鉄 11639 pnhhsnphphhpn 16784485 鈼 11640 pnhhsnphphshh 33569280 鉌 11641 pnhhsnphphspn 16779459 鉓 11642 pnhhsnphphszs 33556387 鉇 11643 pnhhsnphphzsz 33565267 鉜 11644 pnhhsnphpshsn 33557682 鉑 11645 pnhhsnphpszhh 33555095 鈲 11646 pnhhsnphppznn 33558987 鉩 11647 pnhhsnphpnspn 33561812 鉁 11648 pnhhsnphpnppp 33569510 鈴 11649 pnhhsnphpnnzn 33562396 鉨 11650 pnhhsnphpzspn 16781871 鉛 11651 pnhhsnphpzszh 33564142 鉤 11652 pnhhsnphpzszh 33558949 銏 11653 pnhhsnphpzpzh 33565065 鉚 11654 pnhhsnphpzpzs 33562934 鉖 11655 pnhhsnphpznnn 33565771 鉋 11656 pnhhsnphpzzhz 33554951 鉒 11657 pnhhsnphnhhsh 33569925 鈰 11658 pnhhsnphnhszs 33565331 鉱 11659 pnhhsnphnhpzn 16780482 鉝 11660 pnhhsnphnhnph 33562590 鉉 11661 pnhhsnphnhzzn 33567420 鉡 11662 pnhhsnphnphhs 33554877 鉈 11663 pnhhsnphnnzpz 33565123 鉍 11664 pnhhsnphnznpn 33555261 鉰 11665 pnhhsnphzhszh 33564772 鈮 11666 pnhhsnphzhppz 33561694 鈱 11667 pnhhsnphzhzhz 33561222 鉘 11668 pnhhsnphzhzps 33557680 鈯 11669 pnhhsnphzsszs 33566019 鉊 11670 pnhhsnphzpszh 33569426 鉫 11671 pnhhsnphzpszh 33560016 鈹 11672 pnhhsnphzpszn 33563710 鈶 11673 pnhhsnphznszh 33567773 鉧 11674 pnhhsnphzznhn 33561470 弒 11675 pnhspnnhhshzn 33565322 觎 11676 pnhszhhssszpz 16786156 毹 11677 pnhszhhssphhz 16784107 歈 11678 pnhszhhsspzpn 16786128 愈 11679 pnhszhhssnznn 16786185 僉 11680 pnhszhszhpnpn 33564159 會 11681 pnhszsnphszhh 16779767 覜 11682 pnhzpnszhhhpz 16784478 鳰 11683 pnpszhhhznnnn 0 谼 11684 pnpnszhhsshpn 33558102 遥 11685 pnnpphhszsnzn 16785946 愛 11686 pnnpnznznnpzn 16777244 嗠 11687 pnnpzshpznszh 33563174 貆 11688 pnnpzpphszhhh 16779667 貊 11689 pnnpzpphpszhh 16781580 貅 11690 pnnpzpppshspn 16785311 貈 11691 pnnpzppppznhn 33557995 貉 11692 pnnpzpppznszh 16779430 貄 11693 pnnpzppzhhhhs 33564809 貇 11694 pnnpzppzhhzpn 33559609 亂 11695 pnnpznszznznz 33563098 飮 11696 pnnzhhshhpzpn 33567611 餀 11697 pnnzhhznhsspn 16779366 飷 11698 pnnzhhznszhhh 33560432 飵 11699 pnnzhhznphshh 33569351 飾 11700 pnnzhhznphszs 33565374 飻 11701 pnnzhhznpnppp 33566007 飹 11702 pnnzhhznpzpzs 33562941 飽 11703 pnnzhhznpzzhz 33554948 飳 11704 pnnzhhznnhhsh 33569948 飶 11705 pnnzhhznnznpn 16777790 飼 11706 pnnzhhznzhszh 33564825 飿 11707 pnnzhhznzsszs 33557363 飴 11708 pnnzhhznznszh 33567814 颔 11709 pnnzszhhpszpn 16779405 頒 11710 pnzphpszhhhpn 16777478 頌 11711 pnznhpszhhhpn 33564731 腻 11712 pzhhhhhszpnzn 16781883 腠 11713 pzhhhhhpnhhpn 16777993 腜 11714 pzhhhsshhhspn 16781479 腩 11715 pzhhhssznphhs 33561559 腷 11716 pzhhhszhszhsh 33555282 腰 11717 pzhhhszsshzph 16785928 腼 11718 pzhhhpszsshhh 16781693 腝 11719 pzhhhpszsshpn 33563426 颕 11720 pzhhspnhpszpn 33567718 腸 11721 pzhhszhhhpzpp 33556014 腢 11722 pzhhszhhszshn 33554778 腽 11723 pzhhszhhszssh 16784689 腥 11724 pzhhszhhphhsh 16784906 腲 11725 pzhhszhshhzpn 33566449 腮 11726 pzhhszhshnznn 16783556 腭 11727 pzhhszhszhhhz 16777354 腨 11728 pzhhszshpszss 33565453 腫 11729 pzhhphszhhshh 33569632 腹 11730 pzhhphszhhpzn 16779342 腶 11731 pzhhpshhhpzzn 16778986 膄 11732 pzhhpshzhhszn 33565256 腺 11733 pzhhpszhhszpn 16785144 膇 11734 pzhhpszhzhnzn 16787083 腯 11735 pzhhpphsszhhh 16784501 腧 11736 pzhhpnhszhhss 16784138 腳 11737 pzhhpnpnszhzs 33560322 朡 11738 pzhhpnzspnpzn 33569127 鹏 11739 pzhhpzhhpznzh 16782929 腤 11740 pzhhnhnphszhh 33554492 腣 11741 pzhhnhnpnzszs 33557008 塍 11742 pzhhnphhpnhsh 16778303 幐 11743 pzhhnphhpnszs 33565747 媵 11744 pzhhnphhpnzph 16785588 腾 11745 pzhhnphhpnzzh 16784326 腟 11746 pzhhnnzhznhsh 33556392 腪 11747 pzhhnzhszhhhs 33568939 腿 11748 pzhhzhhzpnnzn 16784530 腵 11749 pzhhzhshhzhzn 33560017 腛 11750 pzhhzhphznhsh 33566184 腬 11751 pzhhznzsphspn 33563383 腞 11752 pzhhzzhpzpppn 33557289 腦 11753 pzhhzzzpszpnh 33561601 詹 11754 pzhppnnhhhszh 16786636 鲄 11755 pzszhshhhszhs 33558869 鲅 11756 pzszhshhhpznn 16777460 鲆 11757 pzszhshhhnphs 16782982 鲇 11758 pzszhshhshszh 16781892 鲈 11759 pzszhshhshzhp 16782542 鲉 11760 pzszhshhszhsh 33568511 鲊 11761 pzszhshhphshh 33569330 稣 11762 pzszhshhphspn 16783684 鲋 11763 pzszhshhpshsn 16779346 鲌 11764 pzszhshhpszhh 33554825 鲍 11765 pzszhshhpzzhz 16777549 鲏 11766 pzszhshhzpszn 33560650 鲐 11767 pzszhshhznszh 16784217 魝 11768 pzszhshnnnnss 33559959 魜 11769 pzszhshnnnnpn 33563285 魞 11770 pzszhshnnnnpn 33554787 魛 11771 pzszhshnnnnzp 16778694 雊 11772 pzszhpsnhhhsh 16780062 勨 11773 pzszhpzpppnzp 33567074 獉 11774 pzphhhpnphspn 16786745 獓 11775 pzphhshzpphpn 33554565 肄 11776 pzphhpnzhhhhs 16785702 獁 11777 pzphshhsznnnn 33560849 猿 11778 pzphshszhpzpn 16786265 獏 11779 pzphssszhhhpn 33561167 颖 11780 pzphspnhpszpn 16785584 猼 11781 pzphszhhsnhsn 33555087 獂 11782 pzphppszhhspn 33568797 鹐 11783 pzpshzhhpznzh 33564138 鳩 11784 pzpszhhhznnnn 33560504 鳯 11785 pzpszhhhznnnn 33557620 颫 11786 pzpszhshnhhpn 33557699 颬 11787 pzpszhshnhzsp 33566835 獆 11788 pzppszhhhpnhs 33557926 獅 11789 pzppszhzhhszs 33565266 猺 11790 pzppnnpphhszs 16785942 獊 11791 pzppnnzhhpszh 33556534 飔 11792 pzpnszhshnznn 33564784 獈 11793 pzpnphpnszssh 33567892 飕 11794 pzpnpshzhhszn 16783635 猽 11795 pzpnzszhhnhpn 33561265 觟 11796 pzpzhhshshhsh 33558333 觥 11797 pzpzhhssnphpz 16780030 触 11798 pzpzhhsszhshn 16778486 觤 11799 pzpzhhspzhpzz 33559191 觡 11800 pzpzhhspznszh 16779981 觧 11801 pzpzhhsnphhhs 33560431 解 11802 pzpzhhszpphhs 16781119 猻 11803 pzpzshpzznspn 16783763 麁 11804 pznhpzsshhzpz 33555730 遙 11805 pznnphhszsnzn 33568307 豋 11806 pznnznhszhnph 16778725 詧 11807 pznnznnhhhszh 33555869 遛 11808 pznzpszhshnzn 16782504 煞 11809 pzzhhphpnnnnn 16783801 雏 11810 pzzhhpsnhhhsh 16778461 馌 11811 pzzhshznszssh 16786005 馍 11812 pzzhssszhhhpn 16781558 馎 11813 pzzhszhhsnhsn 33555117 馏 11814 pzzpznzpszhsh 16782507 馐 11815 pzznphhhpzshh 16785312 誆 11816 nhhhszhhhhshz 33559510 誄 11817 nhhhszhhhhspn 33562181 試 11818 nhhhszhhhshzn 33565347 詽 11819 nhhhszhhhphhs 33568103 詿 11820 nhhhszhhshhsh 33559075 詩 11821 nhhhszhhshhsn 33565273 詰 11822 nhhhszhhshszh 33560400 誀 11823 nhhhszhhsshhh 33554753 詴 11824 nhhhszhhpszhh 33558551 誇 11825 nhhhszhhpnhhz 33559465 詼 11826 nhhhszhhpnppn 33558477 誠 11827 nhhhszhhpzzpn 33556215 誈 11828 nhhhszhhznhsh 33566205 訿 11829 nhhhszhshshpz 33569197 詷 11830 nhhhszhszhszh 33565775 誅 11831 nhhhszhphhspn 33569865 詵 11832 nhhhszhphshpz 33565164 誔 11833 nhhhszhphshzn 33565846 話 11834 nhhhszhphsszh 33558325 誕 11835 nhhhszhpshzzn 33556738 詯 11836 nhhhszhpszhhh 33558547 詬 11837 nhhhszhpphszh 33558970 詮 11838 nhhhszhpnhhsh 33564541 詥 11839 nhhhszhpnhszh 33557988 誂 11840 nhhhszhpnhzpn 16778915 詤 11841 nhhhszhpnzpsz 33558457 詭 11842 nhhhszhpzhpzz 33559180 詢 11843 nhhhszhpzszhh 33567489 詣 11844 nhhhszhpzszhh 33567913 詾 11845 nhhhszhpzpnzs 33567248 詺 11846 nhhhszhpznszh 33561268 詻 11847 nhhhszhpznszh 16777357 誃 11848 nhhhszhpznpzn 16778420 諍 11849 nhhhszhpzzhhs 33569587 詨 11850 nhhhszhnhpnpn 16785236 該 11851 nhhhszhnhzppn 33558688 詳 11852 nhhhszhnphhhs 33567043 誁 11853 nhhhszhnphhps 33555050 詸 11854 nhhhszhnphspn 33561307 詶 11855 nhhhszhnpnsns 16778356 詫 11856 nhhhszhnnzphz 33555888 詪 11857 nhhhszhzhhzpn 33558057 詡 11858 nhhhszhznhznh 33567310 奨 11859 nhspnnphsnhpn 16780986 酱 11860 nhspznhszpzhh 16780997 裏 11861 nhszhhshhpzpn 16782320 鹑 11862 nhszhzshpznzh 16778546 裛 11863 nhszhzshzpzpn 16785734 凗 11864 nhszspsnhhhsh 33555786 禀 11865 nhszszhhhhspn 16777698 亶 11866 nhszszhhszhhh 16778638 稟 11867 nhszszhhphspn 33555189 廒 11868 nhphhshzpphpn 16777302 廅 11869 nhphshznszssh 33558008 廈 11870 nhphpszhhhpzn 33565007 廇 11871 nhppznzpszhsh 33562951 痮 11872 nhpnhhshhhzpn 33569424 瘏 11873 nhpnhhshpszhh 16784496 瘂 11874 nhpnhhshzzhsh 33568037 瘔 11875 nhpnhhsshsszh 33559452 瘄 11876 nhpnhhsshszhh 33555735 痳 11877 nhpnhhspnhspn 33562346 痲 11878 nhpnhhspnhspz 16781367 痷 11879 nhpnhhpnszhhz 33554502 瘃 11880 nhpnhhpzppnpn 16786999 痱 11881 nhpnhshhhshhh 16779167 痬 11882 nhpnhszhhpzpp 33568008 痹 11883 nhpnhszhshhps 16777792 痶 11884 nhpnhszhsshpn 33565961 痼 11885 nhpnhszhsszhh 16780088 廓 11886 nhpnhszhzshzs 16780551 瘑 11887 nhpnhszzszszh 33559051 痸 11888 nhpnhphhszsss 33556415 痴 11889 nhpnhphhpnszh 16778389 痵 11890 nhpnhphspnzsh 16780815 痿 11891 nhpnhphspnzph 16784807 瘐 11892 nhpnhpshzhhpn 16786168 痽 11893 nhpnhpsnhhhsh 33557240 痺 11894 nhpnhpszhhphs 16777793 痭 11895 nhpnhpzhhpzhh 16782938 痻 11896 nhpnhpzhzszhh 16781612 瘁 11897 nhpnhnhpnpnhs 16778064 瘀 11898 nhpnhnhzppnnn 33568571 廍 11899 nhpnhnphszhzs 33563659 瘅 11900 nhpnhnpszhhhs 16778619 痰 11901 nhpnhnppnnppn 16784251 痯 11902 nhpnhnnzszhzh 16780170 瘆 11903 nhpnhznhpnppp 33565192 廉 11904 nhpnphzhhsspn 16782402 斒 11905 nhpnnzhpszhss 16777486 鄘 11906 nhpzhhszhhszs 16786015 鹒 11907 nhpzhhpnpznzh 33558884 頏 11908 nhpzhpszhhhpn 33557900 鄜 11909 nhpzsshhzhzzs 16779244 麀 11910 nhpzsshhzpzpz 16786054 麂 11911 nhpzsshhzpzpz 16780761 廌 11912 nhpzsshhznnnn 16780903 廕 11913 nhpzspnnzhhzn 16785535 資 11914 nhpzpnszhhhpn 16786509 楶 11915 nhpzpnszhhspn 33560401 裔 11916 nhpzpnszpnszh 16785732 靖 11917 nhnphhhshszhh 16780640 新 11918 nhnphhspnpphs 16784889 竨 11919 nhnphshszhhhs 33557109 鄣 11920 nhnphszhhhszs 16786665 韴 11921 nhnphszhhhszs 33568972 歆 11922 nhnphszhhpzpn 16784881 韵 11923 nhnphszhhpznh 16786359 意 11924 nhnphszhhnznn 16785671 剷 11925 nhnphpphhshss 33555971 亷 11926 nhnphpzhhsspn 33562722 竩 11927 nhnphnnzszhhh 33568007 旓 11928 nhzpphsnpszhh 16783879 旒 11929 nhzpphnhznpsz 16782513 賌 11930 nhzppnszhhhpn 33558693 旕 11931 nhzppnnnszhpz 0 雍 11932 nhzzppsnhhhsh 16786029 阖 11933 nszhshznszssh 16779456 阗 11934 nszhsszhhhhpn 16784442 阘 11935 nszszhhznhznh 33556627 阙 11936 nsznphzsppzpn 16783525 羥 11937 nphhhphzzzhsh 33564156 羦 11938 nphhhpnnzhhpz 33558375 羪 11939 nphhhpnzhhzpn 33568274 羧 11940 nphhhpznpnpzn 16783783 義 11941 nphhshphshzpn 33567962 兿 11942 nphhshpznhhzn 33567936 羨 11943 nphhshnnhpzpn 33567009 豢 11944 nphhpnhpzpppn 16779688 觠 11945 nphhpnpzpzhhs 33564552 誊 11946 nphhpnnhhhszh 16784327 飬 11947 nphhpnnzhhzpn 33560705 糀 11948 nphspnhsspspz 0 粳 11949 nphspnhszhhpn 16780614 粯 11950 nphspnszhhhpz 33567010 粴 11951 nphspnszhhshh 33562533 粰 11952 nphspnpnnpzsh 33557647 亃 11953 nphspnpznhzsz 16782221 粮 11954 nphspnnzhhzpn 16782431 数 11955 nphspnzphphpn 16784118 煎 11956 nphszhhssnnnn 16780879 猷 11957 nphszpzhhhpnn 16786064 塑 11958 nphzsppzhhhsh 16783704 遡 11959 nphzsppzhhnzn 33564856 甆 11960 nphzznzznhzzn 33555685 慈 11961 nphzznzznnznn 16778002 兾 11962 npszhshhsshpn 33559971 煤 11963 nppnhsshhhspn 16781481 煁 11964 nppnhsshhhpnz 16778270 煂 11965 nppnhsshszhhs 33558031 煠 11966 nppnhsshzhspn 16786001 煳 11967 nppnhsszhpzhh 33558222 煵 11968 nppnhssznphhs 33566830 煏 11969 nppnhszhszhsh 33555262 煙 11970 nppnhszsshhsh 33568072 煉 11971 nppnhsznphspn 33562759 煘 11972 nppnhphszhzpn 33555928 煩 11973 nppnhpszhhhpn 33557411 煗 11974 nppnhpszsshpn 33561861 煃 11975 nppnhpnhshhsh 16780513 煯 11976 nppnhzpzpszhh 33560364 煶 11977 nppnszhhhshpn 0 煬 11978 nppnszhhhpzpp 33568252 煴 11979 nppnszhhszssh 33566560 煋 11980 nppnszhhphhsh 33566626 煜 11981 nppnszhhnhnph 16786203 煨 11982 nppnszhshhzpn 16784750 煟 11983 nppnszhshszhh 16784654 煰 11984 nppnszhszhszh 33558805 煓 11985 nppnszshpszss 33566055 煍 11986 nppnphspnnppn 16781036 煄 11987 nppnphszhhshh 33569617 煅 11988 nppnpshhhpzzn 16778985 煌 11989 nppnpszhhhhsh 16779706 煖 11990 nppnpnnphhpzn 16781961 煥 11991 nppnpzszpnhpn 33558402 煈 11992 nppnpzpszhshn 33557616 煷 11993 nppnnhszhnzpz 0 煪 11994 nppnnphszpzhh 33564418 煫 11995 nppnnphpzpppn 33564921 煔 11996 nppnnppnshszh 33565963 塋 11997 nppnnppnnzhsh 33567682 嵤 11998 nppnnppnnzszs 33563346 煢 11999 nppnnppnnzzhs 33564361 嫈 12000 nppnnppnnzzph 16785556 煊 12001 nppnnnzhszhhh 33567379 熍 12002 nppnnnzszhszh 33564352 煇 12003 nppnnzhszhhhs 16779742 煸 12004 nppnnzhpszhss 16777799 煺 12005 nppnzhhzpnnzn 33566098 煆 12006 nppnzhshhzhzn 16785751 煒 12007 nppnzshszhhzs 33566442 煝 12008 nppnzshpszhhh 16781507 煣 12009 nppnznzsphspn 33563391 滟 12010 nnhhhhspzzshz 16785885 溙 12011 nnhhhhpnsnhpn 33565590 溱 12012 nnhhhhpnphspn 16786756 滶 12013 nnhhhshzpphpn 33554575 溸 12014 nnhhhshzznspn 33564873 溝 12015 nnhhhsshszshh 33558950 溨 12016 nnhhshhspnzpn 33555486 溤 12017 nnhhshhsznnnn 16781372 溒 12018 nnhhshszhpzpn 33568805 溘 12019 nnhhshznszssh 16780389 滠 12020 nnhhsshhhznzn 16783922 澕 12021 nnhhsshhsshhs 33557998 满 12022 nnhhsshszpnpn 16781405 漭 12023 nnhhsshpnnhps 16781429 漠 12024 nnhhssszhhhpn 16781569 溍 12025 nnhhssnphszhh 16780591 滢 12026 nnhhssnzhhshn 16785578 滇 12027 nnhhsszhhhhpn 16778877 溎 12028 nnhhspnhshhsh 16780237 溹 12029 nnhhsnzzznspn 33564874 漣 12030 nnhhszhhhsnzn 33562680 溥 12031 nnhhszhhsnhsn 16783092 滒 12032 nnhhszhshszhs 33558819 滆 12033 nnhhszhsznphs 33558009 溧 12034 nnhhszsshhspn 16782364 溽 12035 nnhhphhzpnhsn 16782787 滣 12036 nnhhphhzpnszh 33556579 滅 12037 nnhhphnppnzpn 33561453 滙 12038 nnhhpsnhhhshz 16779792 源 12039 nnhhppszhhspn 16786276 溼 12040 nnhhzznzznhsh 16784010 滤 12041 nnhshzphznznn 16782663 滥 12042 nnhssphnszssh 16782046 裟 12043 nnhspnpnhpzpn 16783806 溑 12044 nnhsnpszhhhpn 33564968 塣 12045 nnhszhhhshhsh 33556233 溡 12046 nnhszhhhshhsn 33565296 滭 12047 nnhszhhhsshhs 33555334 滉 12048 nnhszhhsnphpz 16779737 溻 12049 nnhszhhznhznh 33565541 溭 12050 nnhszhshpnpzn 33569066 溿 12051 nnhszhshnphhs 33563506 溳 12052 nnhszhszhhhpn 16786338 溷 12053 nnhszhpzpppnh 16779819 溰 12054 nnhszshszhnph 33567749 溦 12055 nnhszshpzphpn 16781489 溫 12056 nnhszpnhszssh 33566530 滊 12057 nnhphhznphspn 16785046 溗 12058 nnhphsshhpzpn 33565231 滗 12059 nnhphnphnphhz 33555324 塰 12060 nnhphzznhnhsh 0 滌 12061 nnhpsspznhspn 33556972 滫 12062 nnhpsspznszhh 16785320 溣 12063 nnhpspnhszhss 33563127 準 12064 nnhpsnhhhshhs 16787089 溴 12065 nnhpszhhhhpnn 16778371 滜 12066 nnhpszhhhpnhs 33558785 溩 12067 nnhpszhhznnnn 33566263 溮 12068 nnhpszhzhhszs 16784009 潃 12069 nnhppspznszhh 33567258 溵 12070 nnhppzhhzpzzn 33567540 塗 12071 nnhpnhhspnhsh 16784498 滏 12072 nnhpnpnhhsnph 16779321 滛 12073 nnhpnnpphhszs 33567579 滔 12074 nnhpnnppshzhh 16784301 溪 12075 nnhpnnpzznhpn 16784979 滄 12076 nnhpnnzhhpszh 33555554 滃 12077 nnhpnznznhznh 16784586 漨 12078 nnhpznhhhsnzn 33557600 滐 12079 nnhpznhzshspn 33560419 溜 12080 nnhpznzpszhsh 16782496 滦 12081 nnhnhsspnhspn 16782599 滖 12082 nnhnhszhhpzpn 33564896 滈 12083 nnhnhszhszszh 33557966 漷 12084 nnhnhszhzshzs 16779826 滧 12085 nnhnhpnpnphpn 33567135 漓 12086 nnhnhpnzsszzn 16782276 滚 12087 nnhnhpnznpzpn 16780249 溏 12088 nnhnhpzhhsszh 16784281 滝 12089 nnhnhnphszhhz 16782171 滂 12090 nnhnhnpnznhzp 16782874 滀 12091 nnhnhzznszhsh 33556478 溔 12092 nnhnphhshnnnn 33568339 溢 12093 nnhnphpnszssh 16785710 溓 12094 nnhnphzhhsspn 16782396 溯 12095 nnhnphzsppzhh 16783713 滨 12096 nnhnnzpshshpn 16777682 溛 12097 nnhnnzpnppznn 16784682 溶 12098 nnhnnzpnpnszh 16782740 滓 12099 nnhnnznhnphhs 16786522 溕 12100 nnhnzhhpzpppn 33561130 溟 12101 nnhnzszhhnhpn 16781633 滘 12102 nnhnzpnhshszh 16781066 溺 12103 nnhzhznhzhznh 16781886 滍 12104 nnhzsshszhshn 33569832 碆 12105 nnhzpsznhpszh 33555072 粱 12106 nnhzpnnnphspn 16782432 滩 12107 nnhznpsnhhhsh 16784236 滪 12108 nnhznzshpszpn 33568762 慠 12109 nnshhshzpphpn 33554599 愫 12110 nnshhshzznspn 16783700 愩 12111 nnshshszhhhpn 33558909 愭 12112 nnshshppzszhh 33563971 慑 12113 nnshsshhhznzn 16783914 慔 12114 nnshssszhhhpn 33561169 慎 12115 nnshsszhhhhpn 16783956 慩 12116 nnshszhhhsnzn 33562703 愽 12117 nnshszhhsnhsn 33555088 慄 12118 nnshszsshhspn 33562585 愰 12119 nnsszhhsnphpz 33558460 愪 12120 nnsszhszhhhpn 33568897 愷 12121 nnsszshszhnph 33559289 慍 12122 nnsszpnhszssh 33568938 愾 12123 nnsphhznphspn 33559302 慥 12124 nnsphshszhnzn 16786418 愯 12125 nnspsnhhhshzn 33564720 愮 12126 nnspnnpphhszs 16785941 慆 12127 nnspnnppshzhh 16784297 慀 12128 nnspnnpzznhpn 33567146 愴 12129 nnspnnzhhpszh 33556533 慃 12130 nnspnznznhznh 33568268 愼 12131 nnspzszhhhzpn 33565198 愱 12132 nnsnhpnhphhpn 33559844 慉 12133 nnsnhzznszhsh 16785365 慊 12134 nnsnphzhhsspn 16783321 愹 12135 nnsnnzpnpnszh 33568469 慏 12136 nnsnzszhhnhpn 33561279 愵 12137 nnszhznhzhznh 33561734 愶 12138 nnszpzpzpszhh 33567145 誉 12139 nnphpnnhhhszh 16786218 戦 12140 nnpszhhhshzpn 16786654 鲎 12141 nnpnzpzszhshh 16779555 寚 12142 nnzhhshphhszs 33554941 塞 12143 nnzhhsshpnhsh 16783555 弿 12144 nnzhhsshpnzhz 33560141 骞 12145 nnzhhsshpnzzh 16783284 寞 12146 nnzhssszhhhpn 16781589 寛 12147 nnzhssszhhhpz 16780463 寘 12148 nnzhsszhhhhpn 16786973 翝 12149 nnzhpznznhznh 33558136 寙 12150 nnzppznnppznn 16786181 窥 12151 nnzpnhhpnszpz 16780492 窢 12152 nnzpnhszhhzpn 33567351 窦 12153 nnzpnhsznnhpn 16778774 窧 12154 nnzpnshszhhhs 0 窠 12155 nnzpnszhhhspn 16780362 窤 12156 nnzpnszhhhzpz 33559091 窩 12157 nnzpnszzszszh 33566574 彮 12158 nnzpnpnszhppp 33568475 窞 12159 nnzpnpzpshzhh 16778655 窣 12160 nnzpnnhpnpnhs 16783688 窟 12161 nnzpnzhpzsszs 16780430 窡 12162 nnzpnznznznzn 33569999 愙 12163 nnzpznszhnznn 33559377 鹓 12164 nnzpznzzpznzh 16786250 寝 12165 nnznhszhhnzzn 16783123 寖 12166 nnznnhzhhnzzn 16780599 寗 12167 nnznznpnszshh 33561681 寜 12168 nnznznnszsshs 33561682 郒 12169 nzhhznszhzshz 33562068 塱 12170 nzhhznpzhhhsh 16782065 谨 12171 nzhsshszhhhsh 16780569 甂 12172 nzhpszhsshzzn 33555342 裱 12173 nzspnhhshpzpn 16777857 褂 12174 nzspnhshhshsn 16780137 褚 12175 nzspnhshpszhh 16778465 裬 12176 nzspnhshpnpzn 33562446 褀 12177 nzspnhsshhhpn 33559931 裲 12178 nzspnhszspnpn 16782441 裿 12179 nzspnhpnhszhs 33564060 裺 12180 nzspnhpnszhhz 33568174 褄 12181 nzspnhzhhszph 0 裶 12182 nzspnshhhshhh 33557487 褃 12183 nzspnshshszhh 33559401 裭 12184 nzspnshzphzpz 33556378 裸 12185 nzspnszhhhspn 16782630 裩 12186 nzspnszhhhzpz 33559223 裮 12187 nzspnszhhszhh 33556005 裼 12188 nzspnszhhpzpp 16784437 裨 12189 nzspnpszhhphs 16777568 裯 12190 nzspnpzhshszh 16778364 裪 12191 nzspnpzphhszs 33565723 裷 12192 nzspnnphhpnzz 33568789 裧 12193 nzspnnppnnppn 33565637 裾 12194 nzspnzhphsszh 16781199 裰 12195 nzspnznznznzn 33557297 禊 12196 nzsnhhhszphpn 16785040 禖 12197 nzsnhsshhhspn 16781486 福 12198 nzsnhszhszhsh 16779285 禋 12199 nzsnhszsshhsh 16785496 禙 12200 nzsnshhpzszhh 0 禎 12201 nzsnshszhhhpn 33569519 禔 12202 nzsnszhhhshpn 16784417 禓 12203 nzsnszhhhpzpp 33568256 禑 12204 nzsnszhhszshn 33566208 禗 12205 nzsnszhshnznn 33564776 禐 12206 nzsnpnnphhpzn 33568846 禘 12207 nzsnnhnpnzszs 16778861 禉 12208 nzsnnphszpzhh 33556055 禌 12209 nzsnnphzznzzn 33569184 禈 12210 nzsnnzhszhhhs 33558479 禕 12211 nzsnzshszhhzs 16785603 禒 12212 nzsnzzhpzpppn 33566963 谩 12213 nzszhhszsshzn 16781395 谪 12214 nznhnpszhsszh 16786717 谫 12215 nznphszhhsszp 16780915 谬 12216 nzznhznhpnppp 16781724 畵 12217 zhhhshszhshzs 33558327 肅 12218 zhhspsshzhzhs 33564862 鹔 12219 zhhspspnpznzh 33564852 盝 12220 zhhsnhpnszssh 16782587 裠 12221 zhhpszhnhpzpn 33564603 羣 12222 zhhpszhnphhhs 16783542 群 12223 zhhpszhnphhhs 16783543 彚 12224 zhhnzszhhhspn 33558535 槩 12225 zhhznhzpzhspn 33558712 殿 12226 zhphsshpnpzzn 16778895 辟 12227 zhpszhnhnphhs 16777762 遟 12228 zhpnhnphhsnzn 33556334 彁 12229 zhzhszhshszhs 0 敯 12230 zhzhzszhhshzn 33558582 暋 12231 zhzhzphpnszhh 16781605 愍 12232 zhzhzphpnnznn 16781614 彃 12233 zhzszhhhsshhs 33555258 裝 12234 zshphshnhpzpn 33569981 牃 12235 zshphsshzhspn 33557123 遜 12236 zshpzznspnnzn 33567511 孴 12237 zshzshzshszhh 33561721 舝 12238 zshzzznzznhzs 16785052 隚 12239 zssnpnzszhhsh 33565673 隝 12240 zspszhhhznnnn 33556796 隠 12241 zspnnpzhhnznn 16785529 際 12242 zspznnznhhspn 33559985 障 12243 zsnhnphszhhhs 16786688 隡 12244 zsnhnphpphhsh 33564614 隟 12245 zszzzszhhhspn 33566809 嫀 12246 zphhhhpnphspn 33563885 嫊 12247 zphhhshzznspn 33564878 媾 12248 zphhhsshszshh 16780061 嫟 12249 zphhhsshpszhz 33561748 媽 12250 zphhshhsznnnn 33560837 媴 12251 zphhshszhpzpn 33568819 嬅 12252 zphhsshhsshhs 33558317 嫫 12253 zphhssszhhhpn 16781565 嫃 12254 zphhsszhhhhpn 33569528 媷 12255 zphhphhzpnhsn 33563420 嫄 12256 zphhppszhhspn 16786283 嫐 12257 zphszhshzpzph 33561605 媺 12258 zphszshpzphpn 16781500 媼 12259 zphszpnhszssh 33554589 媳 12260 zphpszhhhnznn 16785007 媲 12261 zphpszpnhhzpz 16783035 媱 12262 zphpnnpphhszs 33568319 嫍 12263 zphpnnppshzhh 33565710 嫒 12264 zphpnnpnzhpzn 16777256 嫓 12265 zphpzszpnhzpz 33563768 媹 12266 zphpznzpszhsh 33562920 媰 12267 zphpzzsppzzsp 33569152 嫉 12268 zphnhpnhphhpn 16780751 嫎 12269 zphnhnpnznhzp 33563524 嫌 12270 zphnphzhhsspn 16785108 嫁 12271 zphnnzhpzpppn 16780865 嫔 12272 zphnnzpshshpn 16782969 嫆 12273 zphnnzpnpnszh 33568461 嫇 12274 zphnzszhhnhpn 33561275 嫋 12275 zphzhznhzhznh 16781916 媸 12276 zphzsshszhshn 16778385 嗧 12277 zpszhpnhszhss 33560028 綤 12278 zpszhzszznspn 33565115 鳭 12279 zppszhhhznnnn 33557085 戤 12280 zpznszsshhzpn 16779864 翜 12281 znhznhhpnpnpn 33564697 剹 12282 znhznhpnpppss 33563042 鄝 12283 znhznhpnpppzs 33562830 勠 12284 znhznhpnpppzp 33563068 鳮 12285 znpszhhhznnnn 33559827 戣 12286 znppnhhpnhzpn 16780499 預 12287 znzshpszhhhpn 33568689 矠 12288 znzsphsshszhh 33555603 楘 12289 znzspphpnhspn 16781736 暓 12290 znzspphpnszhh 33560999 愗 12291 znzspphpnnznn 33561216 奦 12292 znzsppznzphpn 33566254 剼 12293 znznznpnpppss 33565022 叠 12294 znznznnzszhhh 16778944 缙 12295 zzhhssnphszhh 16780581 缜 12296 zzhhsszhhhhpn 16786739 缚 12297 zzhhszhhsnhsn 16779329 缛 12298 zzhhphhzpnhsn 16782783 缝 12299 zzhpznhhhsnzn 16779222 骝 12300 zzhpznzpszhsh 16782508 缞 12301 zzhnhszhhpzpn 33555779 缟 12302 zzhnhszhszszh 16779934 缠 12303 zzhnhpszhhshh 16778153 缡 12304 zzhnhpnzsszzn 16782278 缢 12305 zzhnphpnszssh 16785676 缣 12306 zzhnphzhhsspn 16780875 缤 12307 zzhnnzpshshpn 16777670 骟 12308 zzhnzhpznhznh 16783852 彙 12309 zzhnzszhhhspn 16779776 続 12310 zznnnnhshnzpz 16785375 綕 12311 zznnnnhshnznn 33569710 絿 12312 zznnnnhsnhpnn 16783432 綍 12313 zznnnnhsnzzsh 16779284 綆 12314 zznnnnhszhhpn 33558896 綀 12315 zznnnnhszhspn 16784094 綇 12316 zznnnnhszpzhh 33567270 綊 12317 zznnnnhpnpnpn 33567166 經 12318 zznnnnhzzzhsh 33559724 綃 12319 zznnnnsnpszhh 33567093 絸 12320 zznnnnszhhhpz 33560155 綑 12321 zznnnnszhspnh 33559620 絹 12322 zznnnnszhszhh 33560691 綗 12323 zznnnnszpnszh 33560483 綉 12324 zznnnnphspnzp 33567275 絺 12325 zznnnnpnhpszs 16778381 綌 12326 zznnnnpnpnszh 16785041 綒 12327 zznnnnpnnpzsh 33557642 綏 12328 zznnnnpnnpzph 33564892 絼 12329 zznnnnpnnpzpp 33569541 絻 12330 zznnnnpzszhpz 16781692 綘 12331 zznnnnpznhhhs 16779225 綂 12332 zznnnnnhszhpz 33565797 継 12333 zznnnnnphspnz 16780796 綐 12334 zznnnnnpszhpz 33557259 綈 12335 zznnnnnpzhzsp 16784415 綄 12336 zznnnnnnzhhpz 33566345 綋 12337 zznnnnnnzhpzn 33558117 綅 12338 zznnnnzhhnzzn 16783099 綛 12339 zznnnnzpnnznn 0 煭 12340 zzzhpznssnnnn 33562867 剿 12341 zzzszhhhspnss 16778234 鄛 12342 zzzszhhhspnzs 33556046 勦 12343 zzzszhhhspnzp 16778238 耤 12344 hhhspnhsshszhh 16780723 耥 12345 hhhspnsnpszszh 33565689 耣 12346 hhhspnpnhszhss 33563125 幚 12347 hhhpzspszhhszs 33554887 瑧 12348 hhshhhhpnphspn 33559641 璈 12349 hhshhhshzpphpn 16777298 瑪 12350 hhshhshhsznnnn 33560850 璍 12351 hhshhsshhsshhs 0 璓 12352 hhshhssphspnzp 33567278 瑹 12353 hhshhsspnhhspn 33566028 瑨 12354 hhshhssnphszhh 33559686 瑱 12355 hhshhsszhhhhpn 16784458 璉 12356 hhshhszhhhsnzn 33562712 瑮 12357 hhshhszsshhspn 33562596 瑣 12358 hhshsnpszhhhpn 16783792 靗 12359 hhshszhhsnphpz 33556173 静 12360 hhshszhhpzzhhs 16780641 靘 12361 hhshszhhpzzshz 33563937 碧 12362 hhshpszhhhpszh 16777765 瑦 12363 hhshpszhhznnnn 33566227 瑡 12364 hhshpszhzhhszs 33565271 瑶 12365 hhshpnnpphhszs 16785947 瑫 12366 hhshpnnppshzhh 33565707 瑷 12367 hhshpnnpnzhpzn 16777250 瑲 12368 hhshpnnzhhpszh 16783340 瑤 12369 hhshpznnphhszs 33568308 瑠 12370 hhshpznzpszhsh 33562902 璃 12371 hhshnhpnzsszzn 16782290 瑭 12372 hhshnhpzhhsszh 16784279 瑸 12373 hhshnnzpshshpn 33555161 瑢 12374 hhshnnzpnpnszh 16782732 獒 12375 hhshzpphpnhpnn 16777293 赘 12376 hhshzpphpnszpn 16787080 摮 12377 hhshzpphpnphhs 16777296 熬 12378 hhshzpphpnnnnn 16777289 觏 12379 hhsshszshhszpz 16780063 斠 12380 hhsshszshhnnhs 16781060 慝 12381 hhsshpszhznznn 16781880 鳱 12382 hhspszhhhznnnn 33558729 孷 12383 hhspnphpnhpzsh 33562489 嫠 12384 hhspnphpnhpzph 16782304 覝 12385 hhsnppnszhhhpz 33562719 蝅 12386 hhpnhhpnszhshn 33555514 嫢 12387 hhpnszhhhpzzph 33559168 匲 12388 hhpnszhszhszhz 33562686 韬 12389 hhzspnnppshzhh 16784303 夀 12390 hhzszhshszhhsn 33565253 叆 12391 hhznpnnpnzhpzn 33554482 摏 12392 hshhhhpnpshzhh 33556242 摫 12393 hshhhpnszhhhpz 33559155 髨 12394 hshhhznppphhpz 33559614 髤 12395 hshhhznppphspn 33567266 髩 12396 hshhhznppphszz 33555179 髪 12397 hshhhznppphpzn 16779059 髥 12398 hshhhznpppszhh 33563244 髦 12399 hshhhznpppphhz 16781444 髣 12400 hshhhznpppnhzp 16779123 髧 12401 hshhhznpppnzpz 16778666 墕 12402 hshhshshhznnnn 33568207 墈 12403 hshhsshhhpnzzp 16780324 墸 12404 hshhsshshpszhh 33556438 擆 12405 hshhsshshpszhh 33570038 墐 12406 hshhsshszhhhsh 16780574 墴 12407 hshhsshszhshpn 33558443 撗 12408 hshhsshszhshpn 33558437 墘 12409 hshhsszhhhsphz 33563999 墙 12410 hshhsnphszszhh 16783350 摲 12411 hshhszhhhspphs 16783848 塼 12412 hshhszhhshnhsn 16787052 摶 12413 hshhszhhshnhsn 33566059 摗 12414 hshhszhspnpzpn 33564742 塸 12415 hshhszhszhszhz 33554767 摳 12416 hshhszhszhszhz 33559422 摼 12417 hshhszhszznhsh 33559408 墂 12418 hshhszsshhhspn 33555400 摽 12419 hshhszsshhhspn 16777841 馷 12420 hshhsznnnnhszs 33563574 馶 12421 hshhsznnnnhszn 33569712 駄 12422 hshhsznnnnhpnn 16779043 駆 12423 hshhsznnnnhpnz 16783463 駀 12424 hshhsznnnnhpzn 33568521 駏 12425 hshhsznnnnhzhz 33560664 馹 12426 hshhsznnnnszhh 16782760 馽 12427 hshhsznnnnszhs 33569736 駇 12428 hshhsznnnnphpn 33566553 馸 12429 hshhsznnnnpphs 33566621 駁 12430 hshhsznnnnpnpn 33555128 馼 12431 hshhsznnnnnhpn 33566548 馿 12432 hshhsznnnnnzhp 33563183 馾 12433 hshhsznnnnnzpz 33556743 駃 12434 hshhsznnnnzhpn 16780457 駅 12435 hshhsznnnnzhpn 16785722 馻 12436 hshhsznnnnznpz 33567604 墄 12437 hshhpshhspnzpn 33555595 摵 12438 hshhpshhspnzpn 33564966 墆 12439 hshhpsshznzszs 33557019 摕 12440 hshhpsshznzszs 33557003 摦 12441 hshhpnhhzppznn 16779632 撦 12442 hshhpnhshpszhh 16778250 塽 12443 hshhpnpnpnpnpn 16784167 摤 12444 hshhpnpnpnpnpn 33556530 墭 12445 hshhpzzpnszssh 33565244 摴 12446 hshhnzsnnnnhhz 16784091 頙 12447 hshshhpszhhhpn 33556081 塷 12448 hshshszpnnnnnh 33563002 趚 12449 hshshpnhszhspn 33564869 趙 12450 hshshpnsnpszhh 33569450 趕 12451 hshshpnszhhhhs 33558740 趗 12452 hshshpnszhshpn 33555749 趖 12453 hshshpnpnpnhsh 33564957 趘 12454 hshshpnzhpphhz 33566746 墟 12455 hshshzphzssnph 16785347 摣 12456 hshshzphzszhhh 33569306 摢 12457 hshshzphzpnphs 33558269 摚 12458 hshsnpnzszhhsh 33556174 慐 12459 hshszhhhpnnznn 0 塿 12460 hshszhhszhszph 16782189 摟 12461 hshszhhszhszph 33562279 墁 12462 hshszhhszsshzn 16781412 摱 12463 hshszhhszsshzn 33560901 撂 12464 hshszhshpznszh 16782473 摞 12465 hshszhshzznspn 16782632 摑 12466 hshszhszhhzpnh 33559260 嘉 12467 hshszhnphzpszh 16780820 皷 12468 hshszhnphzpszn 33559030 臺 12469 hshszhnzhznhsh 33565560 墔 12470 hshszspsnhhhsh 33555781 摧 12471 hshszspsnhhhsh 16778056 塴 12472 hshszspzhhpzhh 33555043 撄 12473 hshszpnszpnzph 16785551 撾 12474 hshszzszszhnzn 33566576 塲 12475 hshphszhhhpzpp 16778207 摥 12476 hshphszhhhpzpp 33565699 赫 12477 hshpspnhshpspn 16779484 截 12478 hshpsnhhhshzpn 16781092 翥 12479 hshpszhhznhznh 16787038 摠 12480 hshpszpznhnznn 16786465 踅 12481 hshpphsszhshpn 16785436 誓 12482 hshpphsnhhhszh 16784065 摐 12483 hshppspnpnshpn 33556516 墖 12484 hshpnhszhszhsh 33556650 摿 12485 hshpnnhnphszhh 33567533 銎 12486 hshpznpnhhsnph 16783398 摖 12487 hshpznnznhhspn 33564080 墌 12488 hshnhphsshnnnn 33569733 摭 12489 hshnhphsshnnnn 16786908 墉 12490 hshnhpzhhszhhs 16786021 塶 12491 hshnhpzsshhzpz 33563041 摝 12492 hshnhpzsshhzpz 33563036 墇 12493 hshnhnphszhhhs 33569410 境 12494 hshnhnphszhhpz 16780646 摬 12495 hshnhnphszhhpz 33567731 摌 12496 hshnhnphpphhsh 33555963 墑 12497 hshnhnpszhsszh 33556948 摘 12498 hshnhnpszhsszh 16786615 墒 12499 hshnhnpszpnszh 16783863 摔 12500 hshnhzznnhpnhs 16784150 撁 12501 hshnhzznnzphhs 33564154 撯 12502 hshnphhhpszhhh 33570032 墊 12503 hshnphhspznhsh 33557067 増 12504 hshnpszhshszhh 16786448 撇 12505 hshnpszspnphpn 16783066 墚 12506 hshnnhzpnnhspn 33562777 摍 12507 hshnnzpshpszhh 33564955 瑴 12508 hshnzhhhshpzzn 33560754 榖 12509 hshnzhhspnpzzn 16780101 槖 12510 hshnzhpszhhspn 33557215 愨 12511 hshnzhpzznnznn 33564575 覟 12512 hshnznnszhhhpz 33569818 壽 12513 hshzhshhszhhsn 33565262 撖 12514 hshzhsshhhphpn 33557881 墛 12515 hshzhphhspnhsn 0 撱 12516 hshzshphshszhh 16784576 摪 12517 hshzshppznnhsn 33560246 摺 12518 hshznhznhpszhh 16786720 摎 12519 hshznhznhpnppp 16782452 朅 12520 hshznszhhpzpnz 16783390 墋 12521 hshznznznpnppp 33556150 摻 12522 hshznznznpnppp 33555540 蝁 12523 hshzzhshszhshn 33554659 摜 12524 hshzzshszhhhpn 33559115 摷 12525 hshzzzszhhhspn 16778233 聙 12526 hsshhhhhshszhh 33559718 聝 12527 hsshhhhszhhzpn 16780266 蔧 12528 hsshhhshhhszhh 33558518 聣 12529 hsshhhpshzhhpz 0 聛 12530 hsshhhpszhhphs 33555273 蜝 12531 hsshhhpnszhshn 33563968 聡 12532 hsshhhpnznnznn 33555637 綦 12533 hsshhhpnzznspn 16783213 聢 12534 hsshhhnnzhshpn 0 聜 12535 hsshhhnnzpnhsh 33556985 聚 12536 hsshhhznpspppn 16781229 蔶 12537 hsshhshszhhhpn 33569053 蓵 12538 hsshshhzhhshpn 33560425 蔫 12539 hsshshshhznnnn 16781889 蓷 12540 hsshshpsnhhhsh 16784525 蓺 12541 hsshshpnhshpzn 16785741 蓻 12542 hsshshnphhspzn 33559908 蓳 12543 hsshsshszhhhsh 33559706 蔷 12544 hsshsnphszszhh 16783349 蔪 12545 hsshszhhhspphs 33560185 靺 12546 hsshszhhshhspn 16781576 靾 12547 hsshszhhshsshz 33567934 鞆 12548 hsshszhhshszpn 33561179 蓴 12549 hsshszhhshnhsn 16778552 靻 12550 hsshszhhsszhhh 33569236 靼 12551 hsshszhhsszhhh 16778585 鞅 12552 hsshszhhsszhpn 16785891 鞂 12553 hsshszhhsphspn 33560044 鞄 12554 hsshszhhspzzhz 16782888 靽 12555 hsshszhhsnphhs 33554880 鞃 12556 hsshszhhszhzzn 16779526 鞀 12557 hsshszhhszpszh 16784312 鞁 12558 hsshszhhszpszn 33554850 靿 12559 hsshszhhszznzp 16785977 蓸 12560 hsshszhsshszhh 33555573 蔌 12561 hsshszhspnpzpn 16783693 蓲 12562 hsshszhszhszhz 33554772 蔈 12563 hsshszsshhhspn 33555392 蔵 12564 hsshphszhszzpn 16777936 蔕 12565 hsshpsshznzszs 16778847 勩 12566 hsshzszhhhpnzp 16785737 蓾 12567 hssshszpnnnnnh 33563011 蔖 12568 hssshzphzszhhh 33555827 慕 12569 hssszhhhpnsnnn 16781735 暮 12570 hssszhhhpnszhh 16781744 摹 12571 hssszhhhpnphhs 16781557 蔝 12572 hssszhhhnphspn 33561324 蔄 12573 hssszhhszhhszh 33560920 蔅 12574 hssszhhszhhzph 33568083 蔞 12575 hssszhhszhszph 33562283 勱 12576 hssszhhszshnzp 33560890 蔓 12577 hssszhhszsshzn 16781406 蔂 12578 hssszhshzznspn 16782616 蔮 12579 hssszhszhhzpnh 33559582 蓶 12580 hssszhpsnhhhsh 33566474 蔑 12581 hssszsshhpnzpn 16781718 甍 12582 hssszsshnzhzzn 16781526 蔨 12583 hsssznphhpnzzh 33560810 薖 12584 hssszzszszhnzn 16780360 蔦 12585 hsspszhhhznnnn 33561779 蔸 12586 hsspszhhpzzhpz 33556886 蔥 12587 hsspszpznhnznn 33555632 蓰 12588 hssppsshshshpn 16785026 蓯 12589 hssppspnpnshpn 33555656 蔹 12590 hsspnhnnphphpn 33562689 蔔 12591 hsspzhszhszhsh 33555149 蕏 12592 hsspzphshpszhh 33556427 蔛 12593 hsspzpzhhsnnhs 33558207 蔡 12594 hsspznnznhhspn 16777910 蔎 12595 hssnhhhszhpzzn 16783911 蔗 12596 hssnhphsshnnnn 16786732 蔴 12597 hssnhphspnhspn 33560835 蓭 12598 hssnhphpnszhhz 33554500 蔉 12599 hssnhpnszhpzpn 16780244 蔍 12600 hssnhpzsshhzpz 33563016 蔁 12601 hssnhnphszhhhs 33569404 蔐 12602 hssnhnpszhsszh 33556956 蔏 12603 hssnhnpszpnszh 33565075 蔟 12604 hssnhzpphphhpn 16778037 蔙 12605 hssnhzpphzshpn 16785418 蔺 12606 hssnszpsnhhhsh 16782227 戬 12607 hssnphszhhhzpn 16780916 蔽 12608 hssnpszspnphpn 16777738 蔊 12609 hssnppnszhhhhs 16779391 蔳 12610 hssnnhhhshszhh 33564207 蔆 12611 hssnnhhshpnpzn 16782145 蕖 12612 hssnnhhzhzhspn 16783474 蔋 12613 hssnnhshhspnzn 16778813 蔢 12614 hssnnhzpsznzph 33563631 蔻 12615 hssnnzhhpzshzn 16780423 蔲 12616 hssnnzhhpzphpn 33559431 蔩 12617 hssnnzhszhshpn 33567555 蓿 12618 hssnnzpshpszhh 16785388 蔤 12619 hssnnznznpnszs 33561350 蔰 12620 hssnzhpszhzshz 33558263 蔼 12621 hssnzszhhpzpnz 16777240 榦 12622 hsszhhhspnhspn 16779897 斡 12623 hsszhhhspnnnhs 16784875 蔒 12624 hsszhhpszhnnnn 33567472 煕 12625 hsszhszzhznnnn 33566684 熙 12626 hsszhszzhznnnn 16784973 蔚 12627 hsszhphhspnhsn 16784811 鹕 12628 hsszhpzhhpznzh 16779578 兢 12629 hsszhpzhsszhpz 16780610 嘏 12630 hsszhzhshhzhzn 16780089 蔣 12631 hsszshppznnhsn 33560256 蕯 12632 hsszspznhphhsh 33564613 蓼 12633 hssznhznhpnppp 16782471 蔘 12634 hssznznznpnppp 16783602 薌 12635 hsszzpnzhhznzs 33567035 蔠 12636 hsszznnnnpznnn 33569611 榛 12637 hspnhhhpnphspn 16786752 榡 12638 hspnhhshzznspn 16783712 構 12639 hspnhhsshszshh 33558979 榧 12640 hspnhshhhshhhz 16779146 榪 12641 hspnhshhsznnnn 33560864 槓 12642 hspnhshszhhhpn 16779920 榸 12643 hspnhshszhhshh 33569347 榬 12644 hspnhshszhpzpn 33568815 榰 12645 hspnhshppzszhh 33569711 榼 12646 hspnhshznszssh 16780374 樺 12647 hspnhsshhsshhs 33558298 模 12648 hspnhssszhhhpn 16781555 樥 12649 hspnhsspznhhhs 33563603 榗 12650 hspnhssnphszhh 33560209 槙 12651 hspnhsszhhhhpn 33557044 槤 12652 hspnhszhhhsnzn 33562732 榑 12653 hspnhszhhsnhsn 33557769 槅 12654 hspnhszhsznphs 33558853 槚 12655 hspnhszsshszpn 33560072 樮 12656 hspnhszsshnppn 0 槈 12657 hspnhphhzpnhsn 33561660 榎 12658 hspnhpszhhhpzn 16780855 槗 12659 hspnhpszhszszh 33564292 榞 12660 hspnhppszhhspn 33568809 槕 12661 hspnshszhhhspn 33570041 榩 12662 hspnshzphznhpn 33564186 槛 12663 hspnssphnszssh 16780963 榯 12664 hspnszhhhshhsn 33565299 皶 12665 hspnszhhhzpszn 33569309 榥 12666 hspnszhhsnphpz 16779736 榻 12667 hspnszhhznhznh 16784209 榿 12668 hspnszshszhnph 33563954 榲 12669 hspnszpnhszssh 33568908 樤 12670 hspnpsspznhspn 33565973 樇 12671 hspnpsspznszhh 33567256 榫 12672 hspnpsnhhhshhs 16783772 槜 12673 hspnpsnhhhshzp 33569268 榭 12674 hspnpszhhhphsn 16785283 槔 12675 hspnpszhhhpnhs 16779927 槝 12676 hspnpszhhhzszs 0 蜤 12677 hspnpphsszhshn 33564766 榹 12678 hspnppshzphzpz 33564780 榝 12679 hspnpnhspnpzzn 33564989 覡 12680 hspnpnhszhhhpz 33566748 麧 12681 hspnpnpnpznphz 33558817 愸 12682 hspnpnpnzpnznn 33569591 榣 12683 hspnpnnpphhszs 33568315 槄 12684 hspnpnnppshzhh 33565709 榽 12685 hspnpnnpzznhpn 33566715 槍 12686 hspnpnnzhhpszh 33564235 槇 12687 hspnpzszhhhzpn 33557041 槰 12688 hspnpznhhhsnzn 33555060 榤 12689 hspnpznhzshspn 16781107 榴 12690 hspnpznzpszhsh 16782509 榱 12691 hspnnhszhhpzpn 16778058 槁 12692 hspnnhszhszszh 16779940 槨 12693 hspnnhszhzshzs 33559280 槉 12694 hspnnhpnhphhpn 33559892 樆 12695 hspnnhpnzsszzn 33562459 榶 12696 hspnnhpzhhsszh 33565676 槞 12697 hspnnhnphszhhz 33562253 榜 12698 hspnnhnpnznhzp 16777512 槒 12699 hspnnhzznszhsh 33567359 様 12700 hspnnphhshszpn 16785924 榚 12701 hspnnphhshnnnn 33568340 榏 12702 hspnnphpnszssh 33567949 槏 12703 hspnnphzhhsspn 33564203 榢 12704 hspnnnzhpzpppn 33560075 槟 12705 hspnnnzpshshpn 16777681 榨 12706 hspnnnzpnphshh 16786612 榕 12707 hspnnnzpnpnszh 16782737 榟 12708 hspnnnznhnphhs 33569203 樃 12709 hspnnzhhznpzhh 33562071 槠 12710 hspnnzhshpszhh 16786995 榠 12711 hspnnzszhhnhpn 16781635 榷 12712 hspnnzpsnhhhsh 16783536 榓 12713 hspnnznpnszssh 33561359 榐 12714 hspnzhphsshzpn 33569376 榍 12715 hspnzhpsnpszhh 33567218 榒 12716 hspnzhznhzhznh 33561881 樄 12717 hspnzshszhhspn 33556112 槂 12718 hspnzshpzznspn 33564940 樋 12719 hspnznszhhsnzn 33565755 槡 12720 hspnznznznhspn 0 疐 12721 hsnzszhshzshpn 16786959 輒 12722 hszhhhshsshhhz 33569463 輔 12723 hszhhhshszhhsn 33557713 輏 12724 hszhhhshszpzhh 33568497 輕 12725 hszhhhshzzzhsh 33563908 輎 12726 hszhhhssnpszhh 33565096 毄 12727 hszhhhsszhpzzn 33559815 塹 12728 hszhhhspphshsh 33564211 輍 12729 hszhhhspnpnszh 33568687 輓 12730 hszhhhspzszhpz 16784708 輐 12731 hszhhhsnnzhhpz 33558384 輑 12732 hszhhhszhhpszh 33568914 匱 12733 hszhshszhhhpnz 33559583 戨 12734 hszhshszhshzpn 33558814 歌 12735 hszhshszhspzpn 16779952 遭 12736 hszhsshszhhnzn 16786405 遫 12737 hszhspnphpnnzn 16778428 遬 12738 hszhspnpzpnnzn 33564858 辢 12739 hszhspnnhnphhs 33561920 匰 12740 hszhszhszhhhsz 33556693 監 12741 hszhszphnszssh 33560119 朢 12742 hszhszpzhhhhsh 16784740 蜸 12743 hszhszznszhshn 33564194 緊 12744 hszhszznzznspn 33559665 彯 12745 hszsshhhspnppp 33563810 僰 12746 hszspnhszspnpn 16777660 酵 12747 hszpzhhhshpzsh 16781054 酽 12748 hszpzhhhssnphp 16785874 酺 12749 hszpzhhhszhhsn 16783079 酾 12750 hszpzhhhsznszn 16782288 酲 12751 hszpzhhszhhhsh 16778308 酷 12752 hszpzhhphshszh 16780436 酶 12753 hszpzhhphzznhn 16781482 酴 12754 hszpzhhpnhhspn 16784502 酹 12755 hszpzhhpnnphsn 16782139 酻 12756 hszpzhhpnnpzsh 33569264 酼 12757 hszpzhhnhznpsz 33557801 酿 12758 hszpzhhnzhhzpn 16781909 酸 12759 hszpzhhznpnpzn 16783721 酳 12760 hszpzhhzznszhh 33567626 嫛 12761 hphhpnzpzznzph 33567754 厮 12762 hphsshhhpnpphs 16783656 厲 12763 hphssszhhszshn 33562630 歴 12764 hphspnhspnshsh 16782346 暦 12765 hphspnhspnszhh 16782363 遰 12766 hpsshznzszsnzn 16786954 厰 12767 hpsnpszszhphpn 16778221 碶 12768 hpszhhhhszphpn 33564093 碡 12769 hpszhhhshzznhn 16786856 戫 12770 hpszhhhszhhzpn 33568705 碪 12771 hpszhhsshhhpnz 16786755 碟 12772 hpszhhsshzhspn 16778937 碴 12773 hpszhhspnszhhh 16778123 厭 12774 hpszhhszhhhpnn 33568076 碱 12775 hpszhhphszhzpn 16780928 碩 12776 hpszhhpszhhhpn 33565298 碝 12777 hpszhhpszsshpn 33563430 厬 12778 hpszhhpznsnszh 33559186 碵 12779 hpszhshszhhhpn 0 碮 12780 hpszhszhhhshpn 33565879 碭 12781 hpszhszhhhpzpp 33556777 碣 12782 hpszhszhhpzpnz 16781106 碨 12783 hpszhszhshhzpn 33566391 碳 12784 hpszhszshpnppn 16784265 磆 12785 hpszhszznzszhh 33558312 碫 12786 hpszhpshhhpzzn 16778987 磈 12787 hpszhpszhhpzzn 16784800 磓 12788 hpszhpszhzhnzn 33557239 碷 12789 hpszhpphsszhhh 0 碸 12790 hpszhpzpszhshn 33557587 碠 12791 hpszhnhszhnzhs 33556939 碲 12792 hpszhnhnpnzszs 16778863 磋 12793 hpszhnphhhphsh 16778091 磀 12794 hpszhnphzspnzn 33554635 磁 12795 hpszhnphzznzzn 16778008 碹 12796 hpszhnnzhszhhh 33567430 碦 12797 hpszhnnzpznszh 33559386 碥 12798 hpszhnzhpszhss 33555359 碬 12799 hpszhzhshhzhzn 16785064 碯 12800 hpszhzzzpszpnh 33561603 靤 12801 hpszsshhhpzzhz 33563545 愿 12802 hppszhhspnnznn 16786290 奩 12803 hpnhszhszhszhz 33562702 爾 12804 hpnszspnpnpnpn 16777391 劂 12805 hpnphzsppzpnss 16781309 奪 12806 hpnpsnhhhshhsn 33557306 臧 12807 hpzhphszhszzpn 16786400 豧 12808 hpzpppnhszhhsn 33557639 豩 12809 hpzpppnhpzpppn 33555159 豨 12810 hpzpppnpnhpszs 16784959 殝 12811 hpznhhhpnphspn 33569523 銐 12812 hpznsspnhhsnph 33556398 殞 12813 hpznszhszhhhpn 33568926 殠 12814 hpznpszhhhhpnn 33556308 殡 12815 hpznnnzpshshpn 16777686 需 12816 hnzsnnnnhpszss 16785330 霆 12817 hnzsnnnnphshzn 16784381 雿 12818 hnzsnnnnpnhzpn 33569457 霁 12819 hnzsnnnnnhpnps 16780766 辕 12820 hzshhshszhpzpn 16786277 辖 12821 hzshnnzhhhsszh 16785062 辗 12822 hzshzhphsshzpn 16781898 鳶 12823 hznpszhhhznnnn 33568788 戩 12824 hznznhszhhhzpn 33560134 巰 12825 hzzzhshnhznpsz 16783445 蜚 12826 shhhshhhszhshn 16779128 裴 12827 shhhshhhnhpzpn 16782904 翡 12828 shhhshhhznhznh 16779150 鬦 12829 shhshhhshsnnhs 33556895 裻 12830 shhspnznnhpzpn 33557202 雌 12831 shshhzpsnhhhsh 16778009 龇 12832 shshpnzsshshpz 16786500 龈 12833 shshpnzszhhzpn 16780396 鈭 12834 shshpzpnhhsnph 33569170 鼑 12835 shszhhhzhpshsz 33556923 頕 12836 shszhhpszhhhpn 33556691 睿 12837 shnzhpnpnszhhh 16782807 雐 12838 shzphzpsnhhhsh 33558191 對 12839 ssnphnphhshhsn 33557242 尡 12840 snphpzszhhhzpz 0 嘗 12841 snpnzszhpzszhh 33556008 裳 12842 snpnzszhnhpzpn 16778216 睶 12843 szhhhhhhpnszhh 33556586 嘒 12844 szhhhhshhhszhh 16779769 睵 12845 szhhhhshszhzpn 33555483 暱 12846 szhhhhsshpszhz 16781885 睳 12847 szhhhhpnhshhsh 33558476 嘖 12848 szhhhshszhhhpn 33569050 曄 12849 szhhhsshhsshhs 33568433 曅 12850 szhhhsshhsshhs 33568434 暯 12851 szhhhssszhhhpn 33561187 颗 12852 szhhhspnhpszpn 16780361 夥 12853 szhhhspnpznpzn 16779825 瞁 12854 szhhhszhhhhpnn 33567342 睼 12855 szhhhszhhhshpn 16784414 煛 12856 szhhhszhhhnppn 33560479 愳 12857 szhhhszhhhnznn 33560635 睲 12858 szhhhszhhphhsh 33566658 瞆 12859 szhhhszhshszpn 33559209 瞅 12860 szhhhphspnnppn 16778370 瞍 12861 szhhhpshzhhszn 16783638 睺 12862 szhhhpszhphhpn 16779543 瞃 12863 szhhhpphsszhhh 33566526 賕 12864 szhhhpnhsnhpnn 33564436 睮 12865 szhhhpnhszhhss 33568619 賑 12866 szhhhpnhphhzpn 33569568 賏 12867 szhhhpnszhhhpn 16785589 賗 12868 szhhhpnszhszhs 33556509 賒 12869 szhhhpnpnhhspn 33565120 賖 12870 szhhhpnpnhhspn 33565121 賘 12871 szhhhpnnhphshn 33569023 賐 12872 szhhhpnznpnpzn 33567518 覞 12873 szhhhpzszhhhpz 33568366 瞇 12874 szhhhnphspnnzn 33561285 睻 12875 szhhhnnzhszhhh 33567382 睴 12876 szhhhnzhszhhhs 33559241 睱 12877 szhhhzhshhzhzn 33566869 睸 12878 szhhhzshpszhhh 33561056 睽 12879 szhhhznppnhhpn 16780506 墅 12880 szhhshhznzshsh 16784139 嘕 12881 szhhshshhznnnn 33566877 朄 12882 szhhshsznphspn 33567617 嘋 12883 szhhshpzshphpn 33567077 嘆 12884 szhhsshszhhhpn 33565638 嘞 12885 szhhsshszhhszp 33562128 暢 12886 szhhsszhhhpzpp 33556036 嘜 12887 szhhspnpnpnpzn 33560846 閨 12888 szhhszhhhshhsh 33559162 聞 12889 szhhszhhhsshhh 16784841 閧 12890 szhhszhhhsshpn 16779512 閪 12891 szhhszhhhszpzh 0 閩 12892 szhhszhhszhshn 33561255 閭 12893 szhhszhhszhszh 33563182 閮 12894 szhhszhhphshzn 33565838 閰 12895 szhhszhhpshzhh 33568115 閥 12896 szhhszhhpshzpn 33557375 閤 12897 szhhszhhpnhszh 33558847 閦 12898 szhhszhhpnpnpn 16778482 閣 12899 szhhszhhpznszh 33558846 閡 12900 szhhszhhnhzppn 33558003 関 12901 szhhszhhnphhpn 16780158 暥 12902 szhhszhhnnzzph 33568211 嘈 12903 szhhszhsshszhh 16777941 嗽 12904 szhhszhspnpzpn 16783643 嘔 12905 szhhszhszhszhz 33554762 遱 12906 szhhszhszphnzn 33562291 暟 12907 szhhszshszhnph 33559298 嘌 12908 szhhszsshhhspn 16783051 暣 12909 szhhphhznphspn 33564092 嘁 12910 szhhpshhspnzpn 16783157 暞 12911 szhhpszhhhhspn 33560327 嘎 12912 szhhpszhhhhzpn 16779845 暤 12913 szhhpszhhhpnhs 33557958 暚 12914 szhhpnnpphhszs 33568313 暧 12915 szhhpnnpnzhpzn 16777255 暡 12916 szhhpnznznhznh 33566176 鹖 12917 szhhpzpnzpznzh 33557983 暠 12918 szhhnhszhszszh 16779939 暝 12919 szhhnzszhhnhpn 16781632 飸 12920 szhhzpnnzhhzpn 33565713 毾 12921 szhhznhznhphhz 16784213 頔 12922 szhshhpszhhhpn 33556958 盢 12923 szhshhpnnszssh 33567362 踌 12924 szhshshhhhphsn 16778349 跿 12925 szhshshhshshpn 33566049 踍 12926 szhshshhshpzsh 33567121 踋 12927 szhshshhshznzs 33560057 踂 12928 szhshshhsshhhz 33561798 踈 12929 szhshshhszhspn 16784085 踎 12930 szhshshhpsnszh 0 踁 12931 szhshshhzzzhsh 33559743 踄 12932 szhshshshshspp 33555077 踃 12933 szhshshsnpszhh 33567075 踀 12934 szhshshszhshpn 33556460 踇 12935 szhshshphzznhn 33561214 踉 12936 szhshshnzhhzpn 16782443 跼 12937 szhshshzhpzszh 16781210 跽 12938 szhshshzhznznn 16780818 踊 12939 szhshshznszhhs 16786035 踆 12940 szhshshznpnpzn 16783540 畼 12941 szhshszhhhpzpp 33556034 畽 12942 szhshphszhhshh 16784548 蜯 12943 szhshnhhhpnhhs 33554901 蜻 12944 szhshnhhshszhh 16783132 蝫 12945 szhshnhshpszhh 33569863 蜞 12946 szhshnhsshhhpn 16783189 蜡 12947 szhshnhsshszhh 16781992 蝧 12948 szhshnhssszhpn 33567655 蜥 12949 szhshnhspnpphs 16784941 蜙 12950 szhshnhspnpnzn 33564707 蝀 12951 szhshnhszhhspn 16778741 蜮 12952 szhshnhszhhzpn 16786192 蜽 12953 szhshnhszspnpn 33562786 蜨 12954 szhshnhzhhshpn 16778927 蜾 12955 szhshnszhhhspn 16780277 蜫 12956 szhshnszhhhzpz 33559604 蝈 12957 szhshnszhhshnh 16780255 蜴 12958 szhshnszhhpzpp 16785678 蝇 12959 szhshnszhszhhz 16785568 蜠 12960 szhshnszphspnh 33560807 蝄 12961 szhshnsznphnhz 33566362 蝸 12962 szhshnszzszszh 33559060 畻 12963 szhshnphhpnhsh 33556207 蜘 12964 szhshnphhpnszh 16786877 蜲 12965 szhshnphspnzph 33566434 蜺 12966 szhshnpshzhhpz 16781857 蝂 12967 szhshnpshzppzn 33554867 蜼 12968 szhshnpsnhhhsh 33566484 蜱 12969 szhshnpszhhphs 16783009 蜦 12970 szhshnpnhszhss 33563107 蜩 12971 szhshnpzhshszh 16784464 蜪 12972 szhshnpzphhszs 33565704 蜭 12973 szhshnpzpshzhh 33557863 蜳 12974 szhshnnhszhzsh 33557270 蜶 12975 szhshnnhpnpnhs 33564844 蜟 12976 szhshnnhznszhh 33568696 蜷 12977 szhshnnphhpnzz 16783499 蝉 12978 szhshnnpszhhhs 16778155 蝋 12979 szhshnnnppzhhs 33561914 蝊 12980 szhshnnnzhshpn 0 蜿 12981 szhshnnnzpznzz 16784695 螂 12982 szhshnnzhhznzs 16782056 蜧 12983 szhshnnzhphpnn 33562568 蜛 12984 szhshnzhphsszh 16781180 蜢 12985 szhshnzshszssh 16781545 蜬 12986 szhshnzsnhpnzs 33558714 蝃 12987 szhshnznznznzn 16787100 嘘 12988 szhshzphzssnph 16785335 嘑 12989 szhshzphzpnphs 33558178 嘡 12990 szhsnpnzszhhsh 33565646 鹗 12991 szhszhhhzpznzh 16777352 嘢 12992 szhszhhshhznzs 33568387 團 12993 szhszhhshnhsnh 33566057 槑 12994 szhszhhspnhspn 33561034 嘍 12995 szhszhhszhszph 33562280 翤 12996 szhszhssznhznh 33556411 鄲 12997 szhszhszhhhszs 33556694 碞 12998 szhszhszhhpszh 16785811 嘓 12999 szhszhszhhzpnh 16780253 嘂 13000 szhszhzsszhszh 16781049 嘊 13001 szhszshphshhsh 33554439 嗺 13002 szhszspsnhhhsh 33555784 嘣 13003 szhszspzhhpzhh 16777600 嘤 13004 szhszpnszpnzph 16785540 嘄 13005 szhpszhhhzhspn 33560284 鳴 13006 szhpszhhhznnnn 33561277 噑 13007 szhpszhhnhpnhs 33557929 嘥 13008 szhppsshshshpn 0 嘚 13009 szhppsszhhhhsn 33556653 嘦 13010 szhpnhszsshzph 33560341 嗿 13011 szhpnnzszhhhpn 16784260 慁 13012 szhpzpppnhnznn 16779818 嘝 13013 szhpzpzhhsnnhs 33558208 嗻 13014 szhnhphsshnnnn 33569460 嘛 13015 szhnhphspnhspn 16781363 嘃 13016 szhnhpzhhszhhs 33556239 嘀 13017 szhnhnpszhsszh 16778802 嗾 13018 szhnhzpphphhpn 16783642 嘙 13019 szhnnhzpsznzph 33563630 嘧 13020 szhnnznznpnszs 16781666 嘨 13021 szhzhhspsnphpn 33567122 噉 13022 szhzhsshhhphpn 16778650 嘐 13023 szhznhznhpnppp 16785196 嘇 13024 szhznznznpnppp 33564630 幘 13025 szshhshszhhhpn 33569057 嶊 13026 szshshpsnhhhsh 33569254 嵿 13027 szshshpszhhhpn 33556927 嶃 13028 szshszhhhspphs 33569374 嶄 13029 szshszhhhspphs 33569375 嶆 13030 szshszhsshszhh 33555569 嶇 13031 szshszhszhszhz 33564460 獃 13032 szshszhnphhpnn 33556654 敱 13033 szshszhnphshzn 33554444 敳 13034 szshszhnphphpn 16777236 幖 13035 szshszsshhhspn 33555397 嵽 13036 szshpsshznzszs 33557017 嶀 13037 szshnzsnnnnhhz 33557134 罴 13038 szsshhshznnnnn 16783013 罱 13039 szsshhssznphhs 33562031 罳 13040 szsshszhshnznn 16783651 罰 13041 szsshnhhhszhss 33557370 罯 13042 szsshnhnphszhh 33554511 嶁 13043 szsszhhszhszph 33562312 幔 13044 szsszhhszsshzn 16781409 幗 13045 szsszhszhhzpnh 33559262 嶉 13046 szsszhpsnhhhsh 33569249 嶋 13047 szspszhhhznnnn 33556794 嶌 13048 szspszhhhznnnn 33556795 幒 13049 szspszpznhnznn 33569618 嵷 13050 szsppspnpnshpn 33564727 嵸 13051 szsppspnpnshpn 33569113 嶑 13052 szspzszhpzpppn 33567054 嵻 13053 szsnhpzhhsnhpn 33559327 嶂 13054 szsnhnphszhhhs 16786686 幛 13055 szsnhnphszhhhs 16786685 嵼 13056 szsnhnphpphhsh 16778183 圖 13057 szszhhsszszhhh 33566016 嶎 13058 szszhphhspnhsn 33568740 嶈 13059 szszshppznnhsn 33564229 嶐 13060 szszspznhphhsh 33562244 嶍 13061 szsznhznhpszhh 33566745 嵺 13062 szsznhznhpnppp 33562816 嵾 13063 szsznznznpnppp 16777961 幓 13064 szsznznznpnppp 33564701 赙 13065 szpnhszhhsnhsn 16779336 圙 13066 szpnhpszsshhhh 33563219 罂 13067 szpnszpnphhszs 16785543 赚 13068 szpnnphzhhsspn 16787058 圗 13069 szznhsszsshhhh 33566017 骷 13070 szznzszhhhsszh 16780432 骵 13071 szznzszhhhspnh 33565895 骶 13072 szznzszhhpzhzn 16778837 鹘 13073 szznzszhhpznzh 16780096 骲 13074 szznzszhhpzzhz 33554959 骳 13075 szznzszhhzpszn 33555309 锲 13076 phhhzhhhszphpn 16783393 锴 13077 phhhzhzpzpszhh 16781071 锶 13078 phhhzszhshnznn 16783648 锷 13079 phhhzszhszhhhz 16777347 锸 13080 phhhzphspshzhh 33555854 锹 13081 phhhzphspnnppn 16783358 锺 13082 phhhzphszhhshh 16786821 锻 13083 phhhzpshhhpzzn 16778984 锼 13084 phhhzpshzhhszn 16783626 锽 13085 phhhzpszhhhhsh 16779705 锾 13086 phhhzpnnphhpzn 16779663 锵 13087 phhhznhspznhsn 16783334 锿 13088 phhhznhszhpzpn 16777226 镀 13089 phhhznhphsshzn 16778972 镁 13090 phhhznphhshhpn 16781496 镂 13091 phhhznphspnzph 16782195 镃 13092 phhhznphzznzzn 33569177 镄 13093 phhhzzhzpsszpn 16779157 镅 13094 phhhzzshpszhhh 16781477 甧 13095 phhshphhshszhh 33565156 舞 13096 phhsssshpznhzs 16784632 鄦 13097 phhsssshnnnnzs 33567306 製 13098 phhszsssnhpzpn 33569855 罁 13099 phhszssznphszs 33558759 搿 13100 phhppnhszhphhs 16779968 聟 13101 phhpnszhhsshhh 33567336 氁 13102 phhzhssszhhhpn 33561459 氳 13103 phhzszpnhszssh 33568886 犕 13104 phshhsshpszhhs 33554997 犔 13105 phshphhznphspn 33566806 犓 13106 phshpzzsppzzsp 33556434 犒 13107 phshnhszhszszh 16778821 犗 13108 phshnnzhhhsszh 33560457 舔 13109 phsszhhhpnsnnn 16784453 舓 13110 phsszhszhhpzpp 33565323 舕 13111 phsszhnppnnppn 33556719 稧 13112 phspnhhhszphpn 33566778 穁 13113 phspnhsshsshhh 33563342 稫 13114 phspnhszhszhsh 33555212 稬 13115 phspnhpszsshpn 33561874 稭 13116 phspnhzpzpszhh 33560357 馛 13117 phspnszhhhpznn 33554800 馝 13118 phspnszhhnznpn 16777760 馜 13119 phspnszhhzhppz 33561723 稩 13120 phspnszhshszhh 33559945 種 13121 phspnphszhhshh 33569630 稪 13122 phspnphszhhpzn 33557743 稲 13123 phspnpnnpsszhh 16778709 稱 13124 phspnpnnpszshh 16778280 稯 13125 phspnpnzspnpzn 33569105 稳 13126 phspnpzzhhnznn 16784850 稵 13127 phspnnphzznzzn 33569173 鹙 13128 phspnnppnpznzh 16783413 稨 13129 phspnnzhpszhss 33555343 穊 13130 phspnzhhznhzpz 33559953 稦 13131 phspnzshszhhzs 33567740 稰 13132 phspnzshpnszhh 33567289 熈 13133 phszhszzhznnnn 33566704 熏 13134 phsznphshhnnnn 16785448 勪 13135 phpnszhszszhzp 33560336 箐 13136 phnphnhhshszhh 16780612 箦 13137 phnphnhhshszpn 16786437 箧 13138 phnphnhhnphpnz 16783395 箝 13139 phnphnhshhsshh 16783300 箍 13140 phnphnhshhszsz 16780073 箉 13141 phnphnhshszhzp 33559077 箸 13142 phnphnhshpszhh 16787035 箨 13143 phnphnhshznhhs 16784580 箕 13144 phnphnhsshhhpn 16780693 箃 13145 phnphnhsshhhzn 33569151 箬 13146 phnphnhsshpszh 16782822 箖 13147 phnphnhspnhspn 33562333 箂 13148 phnphnhspnpnpn 16782003 箣 13149 phnphnhszspnss 33555599 箑 13150 phnphnhzhhshpn 16783814 箋 13151 phnphnhzpnhzpn 33560102 箌 13152 phnphnhznhshss 33569448 箎 13153 phnphnshzphzpz 16778401 算 13154 phnphnszhhhhps 16783725 箟 13155 phnphnszhhhzpz 33560801 箅 13156 phnphnszhshhps 33555289 箇 13157 phnphnszhsszhh 16779993 箩 13158 phnphnszsshpzn 16782624 箘 13159 phnphnszphspnh 16781350 箆 13160 phnphnszpnhzpz 33555291 箠 13161 phnphnphshsshh 16778531 箄 13162 phnphnpszhhphs 33555288 劄 13163 phnphnpnhszhss 33569322 箚 13164 phnphnpnhszhss 33556640 箏 13165 phnphnpnnpzhhs 33569582 箙 13166 phnphnpzhhzszn 16779251 箤 13167 phnphnnhpnpnhs 33560592 箁 13168 phnphnnhnphszh 33563841 箊 13169 phnphnnhzppnnn 16786105 箞 13170 phnphnnphhpnzz 33564155 箪 13171 phnphnnpszhhhs 16778630 箔 13172 phnphnnnhpszhh 16777650 箥 13173 phnphnnnhzpszn 33555141 箈 13174 phnphnnnhznszh 33556340 管 13175 phnphnnnzszhzh 16780169 箜 13176 phnphnnnzpnhsh 16780412 箢 13177 phnphnnnzpznzz 33566327 箫 13178 phnphnzhhspspn 16785214 箓 13179 phnphnzhhsnhpn 16782582 箒 13180 phnphnzhhnzszs 33569667 箛 13181 phnphnzshppznn 16780075 緐 13182 phzznhnpzznspn 33557421 毓 13183 phzznhnnhznpsz 16786234 舆 13184 pshhhzhszhhhpn 16786111 僣 13185 pshhpnhhpnszhh 16784488 僥 13186 pshshhshhshhpz 33560335 僨 13187 pshshssszhhhpn 33557568 僖 13188 pshshszhnphszh 16784989 僫 13189 pshshzzhshnznn 33554708 僛 13190 pshsshhhpnpzpn 33563956 僷 13191 pshsshsshzhspn 33568441 儆 13192 pshsspzszhphpn 16780622 僡 13193 pshszhhshnnznn 33558573 僊 13194 pshszsshhpnzhz 16785088 僲 13195 pshszsshpznhzs 33566901 僳 13196 pshszsshnphspn 16783720 僚 13197 pshpnnpszhhspn 16782464 牔 13198 pshzhszhhsnhsn 33555097 僭 13199 pshzpzhzpzszhh 16780964 牓 13200 pshznhnpnznhzp 16777510 僕 13201 psssnphnphhhpn 33563828 跾 13202 pssphpnszhshpn 33565399 僘 13203 pssnpszszhphpn 33556029 僴 13204 psszhhszhhszhh 33567021 僩 13205 psszhhszhhpzhh 16785156 僓 13206 psszhshszhhhpn 33566089 僤 13207 psszhszhszhhhs 16778664 僑 13208 psphpnszhszszh 33564291 儁 13209 pspsnhhhshszsz 16781269 僬 13210 pspsnhhhshnnnn 16781025 僠 13211 pspnphspnszhsh 33557394 僞 13212 pspnnppzzznnnn 16784835 僢 13213 pspnnpnzpznhzs 33556507 劁 13214 psnhhhshnnnnss 16783362 僦 13215 psnhszhspnhpzn 16781172 僮 13216 psnhnphszhhshh 16784356 僐 13217 psnphhhsnphszh 33565071 僯 13218 psnphspnpznhzs 16782218 僔 13219 psnphszpzhhhsn 33569276 僧 13220 psnpszsnphszhh 16783606 僗 13221 psnppnnppnnzzp 33562126 僒 13222 psnnzpnzhhpszh 33560490 僱 13223 psnzhppsnhhhsh 16780124 甈 13224 pszhhhhspnhzzn 33564062 鼻 13225 pszhhhszhshhps 16777716 躴 13226 pszhhhpnzhhzpn 33562060 躵 13227 pszhhhpzpnnznn 0 墍 13228 pszhhhzhzpzhsh 33559981 魄 13229 pszhhpszhhpzzn 16782955 魅 13230 pszhhpzznhhspn 16781506 魃 13231 pszhhpzznhpznn 16777442 魆 13232 pszhhpzznhzzpn 16785338 歍 13233 pszhhznnnnpzpn 33566182 僝 13234 pszhpzshzshzsh 16778173 僎 13235 pszhzzhzhsshpn 16787062 睾 13236 pszsshhshnphhs 16779923 僜 13237 psznppnhszhnph 33556842 僪 13238 psznzspszpnszh 16781328 僟 13239 pszznzznhpnzpn 33559823 瞂 13240 pphsszhhhhpznn 33557365 徳 13241 ppshsszsshnznn 16778718 徱 13242 ppshszsshhhspn 33555405 歋 13243 ppshzphzpzpzpn 33567778 徴 13244 ppsszshhshphpn 16786803 幑 13245 ppsszshszsphpn 33558472 銜 13246 ppspnhhsnphhhs 33566923 徶 13247 ppsnpszspnphpn 33555433 慇 13248 ppzhhzpzznnznn 16785493 艊 13249 ppznhnpszhhszs 33555093 艌 13250 ppznhnpnnznznn 33561771 槃 13251 ppznhnpzznhspn 16782856 搫 13252 ppznhnpzznphhs 33563489 艍 13253 ppznhnzhphsszh 33560550 艋 13254 ppznhnzshszssh 16781547 銇 13255 pnhhsnphhhhspn 33562200 銭 13256 pnhhsnphhhhzpn 16783302 鉽 13257 pnhhsnphhhshzn 33565351 銢 13258 pnhhsnphhhszpn 33568478 銒 13259 pnhhsnphhhphhs 33560103 鉶 13260 pnhhsnphhhpsss 16784915 銈 13261 pnhhsnphhshhsh 33559806 銡 13262 pnhhsnphhshszh 33559881 銬 13263 pnhhsnphhshphz 33559348 銠 13264 pnhhsnphhshppz 33562115 鉺 13265 pnhhsnphhsshhh 33554746 鉷 13266 pnhhsnphhsshpn 33558114 鋩 13267 pnhhsnphhssnhz 16781426 銊 13268 pnhhsnphhphzpn 33567346 銔 13269 pnhhsnphhpsnhs 33563715 銆 13270 pnhhsnphhpszhh 33561178 銪 13271 pnhhsnphhpszhh 33568544 銌 13272 pnhhsnphhpszsh 33569277 銙 13273 pnhhsnphhpnhhz 33559467 鋮 13274 pnhhsnphhpzzpn 33556225 銕 13275 pnhhsnphhzhzpn 16785631 鋣 13276 pnhhsnphhzspzs 33568382 銍 13277 pnhhsnphhznhsh 16786958 銧 13278 pnhhsnphsnphpz 16780189 鉵 13279 pnhhsnphszhshn 33565774 銅 13280 pnhhsnphszhszh 33565776 鋁 13281 pnhhsnphszhszh 33563201 銱 13282 pnhhsnphszhszs 33557104 銦 13283 pnhhsnphszhpnh 33567539 銟 13284 pnhhsnphszsszs 33555861 銖 13285 pnhhsnphphhspn 33569866 銑 13286 pnhhsnphphshpz 33566765 銩 13287 pnhhsnphphshzn 33557161 鋌 13288 pnhhsnphphshzn 33556941 銛 13289 pnhhsnphphsszh 16785083 銝 13290 pnhhsnphpshspn 33567261 鋋 13291 pnhhsnphpshzzn 33555947 銋 13292 pnhhsnphpsphsh 33563286 銄 13293 pnhhsnphpszszh 33565091 銗 13294 pnhhsnphpphszh 33558156 銓 13295 pnhhsnphpnhhsh 33564546 鉿 13296 pnhhsnphpnhszh 33557793 銚 13297 pnhhsnphpnhzpn 33557101 銁 13298 pnhhsnphpzszhh 33560796 鉻 13299 pnhhsnphpznszh 33558871 銘 13300 pnhhsnphpznszh 33561271 鉹 13301 pnhhsnphpznpzn 33556366 錚 13302 pnhhsnphpzzhhs 33569575 銫 13303 pnhhsnphpzzshz 33564690 鉸 13304 pnhhsnphnhpnpn 33560064 銥 13305 pnhhsnphnhpzpn 33567746 銃 13306 pnhhsnphnhznpz 33556262 鉼 13307 pnhhsnphnphhps 16777696 銤 13308 pnhhsnphnphspn 16781662 銂 13309 pnhhsnphnpnsns 33569655 銨 13310 pnhhsnphnnzzph 33554514 銉 13311 pnhhsnphzhhhhs 33568737 銀 13312 pnhhsnphzhhzpn 33567564 銣 13313 pnhhsnphzphszh 33563411 鉾 13314 pnhhsnphznphhs 16781597 銯 13315 pnhhsnphzznspn 0 搻 13316 pnhszhphhsphhs 33561875 鄱 13317 pnphspnszhshzs 16782949 勫 13318 pnphspnszhshzp 33557429 谽 13319 pnpnszhpnnzszh 16779373 飖 13320 pnnpphhszspzpn 16785958 爳 13321 pnnppzzznnnnzs 0 鄬 13322 pnnppzzznnnnzs 16784762 貋 13323 pnnpzppszhhhhs 33554530 貍 13324 pnnpzppszhhshh 16782292 貌 13325 pnnpzpppszhhpz 16781464 戧 13326 pnnzhhpszhhzpn 33556513 餌 13327 pnnzhhznhsshhh 33554743 蝕 13328 pnnzhhznszhshn 33565290 餇 13329 pnnzhhznszhszh 16784335 餂 13330 pnnzhhznphsszh 16784452 餁 13331 pnnzhhznpsphsh 33563299 餉 13332 pnnzhhznpszszh 33567048 餄 13333 pnnzhhznpnhszh 33560029 餆 13334 pnnzhhznpnhzpn 33568295 餎 13335 pnnzhhznpznszh 33562142 餃 13336 pnnzhhznnhpnpn 33560056 餏 13337 pnnzhhznnhpzpn 33567738 餅 13338 pnnzhhznnphhps 33555186 領 13339 pnnznhpszhhhpn 33562449 膆 13340 pzhhhhshzznspn 33564863 膜 13341 pzhhhssszhhhpn 16781560 膊 13342 pzhhhszhhsnhsn 16777649 膈 13343 pzhhhszhsznphs 16779974 遯 13344 pzhhhpzpppnnzn 16779010 膃 13345 pzhhszpnhszssh 33566289 膍 13346 pzhhpszpnhhzpz 33563734 膎 13347 pzhhpnnpzznhpn 33567167 膖 13348 pzhhpznhhhsnzn 33563509 膌 13349 pzhhnhpnpnszhh 33559873 膅 13350 pzhhnhpzhhsszh 33565669 膀 13351 pzhhnhnpnznhzp 16777511 榺 13352 pzhhnphhpnhspn 33565247 膉 13353 pzhhnphpnszssh 33567945 膁 13354 pzhhnphzhhsspn 33564199 膑 13355 pzhhnnzpshshpn 16777685 蜰 13356 pzhhzshzszhshn 33557490 駂 13357 pzhshshhsznnnn 33554938 翢 13358 pzhshszhznhznh 33565712 雑 13359 pzhspnpsnhhhsh 16786369 鳳 13360 pzhpszhhhznnnn 33557621 銞 13361 pzszhhpnhhsnph 33560800 鲑 13362 pzszhshhhshhsh 16780204 鲒 13363 pzszhshhhshszh 16781105 鲓 13364 pzszhshhhshphz 33559341 鲔 13365 pzszhshhhpszhh 16784792 鲕 13366 pzszhshhhpszss 16777383 鲖 13367 pzszhshhszhszh 33565779 鲗 13368 pzszhshhszpnss 33569061 鲘 13369 pzszhshhpphszh 33558173 鲙 13370 pzszhshhpnhhzn 33559489 鲚 13371 pzszhshhnhpnps 16780797 鲛 13372 pzszhshhnhpnpn 16781016 鲜 13373 pzszhshhnphhhs 16785084 鲟 13374 pzszhshhzhhhsn 16785468 魟 13375 pzszhshnnnnhsh 16779510 魠 13376 pzszhshnnnnphz 33566121 魡 13377 pzszhshnnnnpzn 33557097 魥 13378 pzszhshnnnnpzn 33554673 魢 13379 pzszhshnnnnzhz 33559914 夐 13380 pzszpnszhhhpzn 33567254 疑 13381 pzphhpnznzshpn 16785630 獚 13382 pzphsshszhshpn 16779710 獑 13383 pzphszhhhspphs 33555927 獌 13384 pzpszhhszsshzn 33560923 颰 13385 pzpszhshnhpznn 33554805 颭 13386 pzpszhshnshszh 16786649 颮 13387 pzpszhshnpzzhz 33555404 颱 13388 pzpszhshnznszh 33565574 獕 13389 pzpszspsnhhhsh 33555780 獔 13390 pzppszhhnhpnhs 33557930 獄 13391 pzpnhhhszhhpnn 33568716 獐 13392 pzpnhnphszhhhs 16786668 獍 13393 pzpnhnphszhhpz 16780638 獙 13394 pzpnpszspnphpn 16777746 飗 13395 pzpnpznzpszhsh 33562926 觨 13396 pzpzhhshshszpn 33558414 觩 13397 pzpzhhshsnhpnn 16783443 觫 13398 pzpzhhshszhspn 16783718 觪 13399 pzpzhhsnhnphhs 33566634 雒 13400 pznszhpsnhhhsh 16782636 孵 13401 pznpzsnpnnpzsh 16779249 夤 13402 pznnnzhszhshpn 16785510 鄮 13403 pznzpszhhhpnzs 16781457 馑 13404 pzzhsshszhhhsh 16780575 馒 13405 pzzszhhszsshzn 16781398 誡 13406 nhhhszhhhpszpn 33560458 誟 13407 nhhhszhhshpzsh 33567129 読 13408 nhhhszhhshnzpz 16778775 誌 13409 nhhhszhhshnznn 33569812 誮 13410 nhhhszhhsspspz 0 誣 13411 nhhhszhhspnpnh 33566190 誖 13412 nhhhszhhsnzzsh 33554999 誧 13413 nhhhszhhszhhsn 16783093 誎 13414 nhhhszhhszhspn 33564865 語 13415 nhhhszhhszhszh 33568673 誫 13416 nhhhszhhphhzpn 33569560 誙 13417 nhhhszhhzzzhsh 33558070 誚 13418 nhhhszhsnpszhh 33564307 誤 13419 nhhhszhszhhhpn 33566262 誢 13420 nhhhszhszhhhpz 33567007 誥 13421 nhhhszhphshszh 33558808 誐 13422 nhhhszhphshzpn 33554633 誗 13423 nhhhszhphspnss 33555942 誘 13424 nhhhszhphspnzp 33568558 誨 13425 nhhhszhphzznhn 33558499 說 13426 nhhhszhpnszhpz 33565483 誝 13427 nhhhszhpnnzszh 33554497 誑 13428 nhhhszhpzphhsh 33559515 誩 13429 nhhhszhnhhhszh 33559763 説 13430 nhhhszhnpszhpz 16784172 誏 13431 nhhhszhnzhhzpn 33562079 誛 13432 nhhhszhzhhnzzn 33563863 誋 13433 nhhhszhzhznznn 33559978 認 13434 nhhhszhzpnnznn 33563311 誦 13435 nhhhszhznszhhs 33564736 誒 13436 nhhhszhznphhpn 33554437 誜 13437 nhhhszhznpnpzn 33565446 凴 13438 nhhshhsznnnnpz 33563704 凘 13439 nhhsshhhpnpphs 33564787 裵 13440 nhshhhshhhpzpn 33563566 銮 13441 nhsspnpnhhsnph 16782597 裹 13442 nhszhhhspnpzpn 16780281 槀 13443 nhszhszszhhspn 33559343 敲 13444 nhszhszszhshzn 16783361 歊 13445 nhszhszszhpzpn 16785205 毃 13446 nhszhszszhpzzn 33564591 髚 13447 nhszhszszhnhpz 33564313 豪 13448 nhszhnzhpzpppn 16779428 膏 13449 nhszhnzszhszhh 16779925 塾 13450 nhszhzshpznhsh 16784111 廑 13451 nhphsshszhhhsh 16780578 廣 13452 nhphsshszhshpn 33559144 遮 13453 nhphsshnnnnnzn 16786715 塺 13454 nhphspnhspnhsh 33561023 麽 13455 nhphspnhspnpzn 16781561 麼 13456 nhphspnhspnzzn 16781365 廗 13457 nhphpsshznzszs 33556684 廎 13458 nhphzhpszhhhpn 16783149 廔 13459 nhpszhhszhszph 33562305 廙 13460 nhpszhshhsshpn 33567997 腐 13461 nhppshsnszpnpn 16779311 廏 13462 nhppszhhpzpzzn 16781171 瘈 13463 nhpnhhhhszphpn 16780770 瘎 13464 nhpnhhsshhhpnz 33565193 瘩 13465 nhpnhhsspnhszh 16778578 瘌 13466 nhpnhhszhspnss 16781990 瘗 13467 nhpnhhnphpnhsh 16785673 瘧 13468 nhpnhshzphzhzh 33561896 瘍 13469 nhpnhszhhhpzpp 33568241 瘟 13470 nhpnhszhhszssh 16784837 瘇 13471 nhpnhphszhhshh 33569629 瘦 13472 nhpnhpshzhhszn 16783988 瘣 13473 nhpnhpszhhpzzn 33562169 瘊 13474 nhpnhpszhphhpn 16779539 瘉 13475 nhpnhpnhszhhss 16786188 廘 13476 nhpnhpzsshhzpz 33563064 瘓 13477 nhpnhpzszpnhpn 33558393 瘋 13478 nhpnhpzpszhshn 33557569 瘖 13479 nhpnhnhnphszhh 16785488 瘥 13480 nhpnhnphhhphsh 16778092 瘘 13481 nhpnhnphspnzph 16782192 瘒 13482 nhpnhnzhszhhhs 33566536 瘕 13483 nhpnhzhshhzhzn 16780851 瘙 13484 nhpnhznnszhshn 16783591 虠 13485 nhpnpnshzphzpz 33557933 褏 13486 nhpzhszhshpzpn 33567271 廜 13487 nhpzhphshpszhh 33566041 褎 13488 nhpzhphspnpzpn 16785323 裦 13489 nhpzhznzsppzpn 33557626 塵 13490 nhpzsshhzpzhsh 33556123 廖 13491 nhpznhznhpnppp 16782475 辣 13492 nhnphhphszhspn 16781998 竰 13493 nhnphhpszhhshh 33565104 辡 13494 nhnphhpnhnphhs 33555374 彰 13495 nhnphszhhhsppp 16786669 遧 13496 nhnphszhhhsnzn 33569409 勭 13497 nhnphszhhshhzp 33565793 竭 13498 nhnphszhhpzpnz 16781116 韷 13499 nhnphszhhzsszs 33562140 韶 13500 nhnphszhhzpszh 16783885 端 13501 nhnphszshpszss 16778979 竬 13502 nhnphpszhszshn 33564511 颯 13503 nhnphpzpszhshn 33564616 暜 13504 nhnphnhnphszhh 33563856 竮 13505 nhnphzhpnphhps 33563701 適 13506 nhnpszhsszhnzn 16780550 齊 13507 nhnpszppznpshh 33563977 旗 13508 nhzpphhsshhhpn 16783223 旖 13509 nhzpphhpnhszhs 16785659 膂 13510 nhzpphpzpnszhh 16782648 夣 13511 nhznszsshnzpzn 33561123 阚 13512 nszzhsshhhphpn 16780321 鄯 13513 nphhhsnphszhzs 16783845 鲝 13514 nphhhppzszhshh 33569332 養 13515 nphhhpnnzhhzpn 33568264 羫 13516 nphhhpnnzpnhsh 33564231 頖 13517 nphhphpszhhhpn 16782863 鲞 13518 nphhpnpzszhshh 16785180 勬 13519 nphhpnzznspnzp 33560679 精 13520 nphspnhhshszhh 16780616 粻 13521 nphspnhshhhzpn 16778213 粸 13522 nphspnhsshhhpn 33564013 粿 13523 nphspnszhhhspn 16780279 粺 13524 nphspnpszhhphs 16777475 鄰 13525 nphspnpznhzszs 33562321 粼 13526 nphspnpznhzszz 16782213 粷 13527 nphspnpznphspn 33560596 粹 13528 nphspnnhpnpnhs 16778077 粽 13529 nphspnnnzhhspn 16786470 粶 13530 nphspnzhhsnhpn 33563056 糁 13531 nphspnznhpnppp 16783566 鄭 13532 nphszpzhhhpnzs 33569598 甉 13533 nphzhhsspnhzzn 33566903 歉 13534 nphzhhsspnpzpn 16783320 槊 13535 nphzsppzhhhspn 16784189 愬 13536 nphzsppzhhnznn 16783701 鹚 13537 nphzznzznpznzh 16778003 弊 13538 npszspnphpnhps 16777731 幣 13539 npszspnphpnszs 33555275 彆 13540 npszspnphpnzhz 33555437 嫳 13541 npszspnphpnzph 33555335 鄫 13542 npszsnphszhhzs 16777965 煹 13543 nppnhhsshszshh 33558973 熕 13544 nppnhshszhhhpn 0 熆 13545 nppnhshznszssh 33557994 燁 13546 nppnhsshhsshhs 33568432 煿 13547 nppnhszhhsnhsn 33555108 熚 13548 nppnszhhhsshhs 33555301 熀 13549 nppnszhhsnphpz 16779734 熌 13550 nppnszhhszhhpn 33565039 熉 13551 nppnszhszhhhpn 16786334 煾 13552 nppnszhpnhnznn 33554716 熅 13553 nppnszpnhszssh 16786333 熂 13554 nppnphhznphspn 33566802 熄 13555 nppnpszhhhnznn 16784969 熓 13556 nppnpszhhznnnn 33566570 熎 13557 nppnpnnpphhszs 33568363 熖 13558 nppnpnnppshzhh 0 熗 13559 nppnpnnzhhpszh 16783355 熢 13560 nppnpznhhhsnzn 33555058 熘 13561 nppnpznzpszhsh 16782495 煼 13562 nppnpzzsppzzsp 33556054 熇 13563 nppnnhszhszszh 16779485 煻 13564 nppnnhpzhhsszh 16784280 熑 13565 nppnnphzhhsspn 33562716 榮 13566 nppnnppnnzhspn 33563355 甇 13567 nppnnppnnzhzzn 16785537 膋 13568 nppnnppnnzszhh 16782458 滎 13569 nppnnppnnzszpn 33566647 犖 13570 nppnnppnnzphhs 33563169 熒 13571 nppnnppnnznppn 33567694 熔 13572 nppnnnzpnpnszh 16782736 煽 13573 nppnnzhpznhznh 16783829 熐 13574 nppnnzszhhnhpn 33561270 熁 13575 nppnzpzpzpszhh 33567164 熥 13576 nppnznszhhsnzn 33565756 漬 13577 nnhhhshszhhhpn 33569212 漹 13578 nnhhshshhznnnn 33568070 漖 13579 nnhhshpzshphpn 33560340 漌 13580 nnhhsshszhhhsh 33559650 漢 13581 nnhhsshszhhhpn 16779396 潢 13582 nnhhsshszhshpn 16779713 滿 13583 nnhhsshszspnpn 33560919 潆 13584 nnhhssnzzznspn 16785567 漧 13585 nnhhsszhhhsphz 33564170 潇 13586 nnhhsszhhspspn 16785202 漜 13587 nnhhspnhspnhsh 16785990 滼 13588 nnhhspnhspnpzn 33557453 漤 13589 nnhhspnhspnzph 33562022 漆 13590 nnhhspnpnsnhpn 16783160 漸 13591 nnhhszhhhspphs 33560088 漙 13592 nnhhszhhshnhsn 16784517 漕 13593 nnhhszhsshszhh 16777942 潄 13594 nnhhszhspnphpn 16784134 漱 13595 nnhhszhspnpzpn 16784131 漚 13596 nnhhszhszhszhz 33554763 漂 13597 nnhhszsshhhspn 16783050 漘 13598 nnhhphhzpnszhh 16778543 滯 13599 nnhhpsshznzszs 33569847 漺 13600 nnhhpnpnpnpnpn 33556528 滷 13601 nnhshszpnnnnnh 33563010 滹 13602 nnhshzphzpnphs 16779573 滮 13603 nnhshzphzpzppp 16777853 漟 13604 nnhsnpnzszhhsh 33565656 漊 13605 nnhszhhszhszph 16782181 漫 13606 nnhszhhszsshzn 16781408 潩 13607 nnhszhshhsshpn 33567917 漯 13608 nnhszhshzznspn 16782127 漍 13609 nnhszhszhhzpnh 33559257 漶 13610 nnhszhszhsnznn 16779684 漄 13611 nnhszshphshhsh 33568027 潀 13612 nnhszsshpspnpn 16777986 潈 13613 nnhszsshpzpppn 0 潉 13614 nnhszsszhhhzpz 0 漼 13615 nnhszspsnhhhsh 16778061 漰 13616 nnhszspzhhpzhh 16782922 潂 13617 nnhszsnphssnph 33558104 漴 13618 nnhszsnnzhhspn 33556251 濄 13619 nnhszzszszhnzn 33559252 潅 13620 nnhphhpsnhhhsh 33559112 漡 13621 nnhphszhhhpzpp 33565076 滺 13622 nnhpssphpnnznn 33568528 漑 13623 nnhpszhhpzhzpz 33558701 漗 13624 nnhpszpznhnznn 33555630 澚 13625 nnhpsznphspnhz 33554605 漇 13626 nnhppsshshshpn 33566759 漎 13627 nnhppspnpnshpn 16777983 潊 13628 nnhpnhhspnshzn 33567330 漵 13629 nnhpnhhspnphpn 33567327 潋 13630 nnhpnhnnphphpn 16782418 漞 13631 nnhpnnpszhhhpz 33561347 漁 13632 nnhpzszhshnnnn 33568579 潒 13633 nnhpzszhpzpppn 33567066 潴 13634 nnhpzphshpszhh 16786990 漪 13635 nnhpzphpnhszhs 16785596 漈 13636 nnhpznnznhhspn 16780769 滸 13637 nnhnhhhszhphhs 33558252 滾 13638 nnhnhpnszhpzpn 33559238 漮 13639 nnhnhpzhhsnhpn 33559325 滽 13640 nnhnhpzhhszhhs 33568455 漉 13641 nnhnhpzsshhzpz 16782560 漳 13642 nnhnhnphszhhhs 16786666 滰 13643 nnhnhnphszhhpz 33560267 滻 13644 nnhnhnphpphhsh 33555985 滴 13645 nnhnhnpszhsszh 16778812 滳 13646 nnhnhnpszpnszh 33565083 漩 13647 nnhnhzpphzshpn 16785408 漾 13648 nnhnphhshnzzpn 16785922 漛 13649 nnhnphhpnsnhpn 33565742 潎 13650 nnhnpszspnphpn 16783032 滱 13651 nnhnnzhhpzshzn 33559441 演 13652 nnhnnzhszhshpn 16785825 漃 13653 nnhnnzshhspnzn 33559832 漥 13654 nnhnnzpnhshhsh 33566273 潌 13655 nnhnnzpnhznhsh 33569795 滵 13656 nnhnnznznpnszs 33561376 滬 13657 nnhnzhpszhzshz 33558286 澉 13658 nnhzhsshhhphpn 16779892 潳 13659 nnhzhphshpszhh 33566025 漏 13660 nnhzhphszsnnnn 16782191 漲 13661 nnhzhzhshhhzpn 33569413 漋 13662 nnhzspznhphhsh 33562216 漝 13663 nnhznhznhpszhh 33566731 漻 13664 nnhznhznhpnppp 33562806 慂 13665 nnhznszhhsnznn 33568470 滲 13666 nnhznznznpnppp 33565206 潍 13667 nnhzzhpsnhhhsh 16784769 漅 13668 nnhzzzszhhhspn 33560306 慬 13669 nnshsshszhhhsh 16780571 慲 13670 nnshsshszspnpn 33560902 慚 13671 nnshszhhhspphs 33555518 慱 13672 nnshszhhshnhsn 16784518 慒 13673 nnshszhsshszhh 33555664 慪 13674 nnshszhszhszhz 33554766 慳 13675 nnshszhszznhsh 33564150 慓 13676 nnshszsshhhspn 33563794 慽 13677 nnshpshhspnzpn 33563950 慡 13678 nnshpnpnpnpnpn 33565465 憈 13679 nnsshzphzssnph 33564461 憆 13680 nnssnpnzszhhsh 33556179 慺 13681 nnsszhhszhszph 33563180 慢 13682 nnsszhhszsshzn 16781411 慖 13683 nnsszhszhhzpnh 33559261 慛 13684 nnsszspsnhhhsh 33555785 慯 13685 nnsphszhhhpzpp 33565078 慟 13686 nnsphszhhshhzp 33565803 憁 13687 nnspszpznhnznn 33569131 憏 13688 nnspznnznhhspn 33556397 慷 13689 nnsnhpzhhsnhpn 16780329 慵 13690 nnsnhpzhhszhhs 16786020 慞 13691 nnsnhnphszhhhs 33569408 慻 13692 nnsnphhpnszhhh 33560692 憜 13693 nnszshphshszhh 33557354 慴 13694 nnsznhznhpszhh 16786719 憀 13695 nnsznhznhpnppp 16782457 慘 13696 nnsznznznpnppp 33555534 慣 13697 nnszzshszhhhpn 33559116 寨 13698 nnzhhsshpnhspn 16786624 赛 13699 nnzhhsshpnszpn 16783560 搴 13700 nnzhhsshpnphhs 16783271 寬 13701 nnzhssszhhhpzn 33559498 賓 13702 nnzhsppszhhhpn 33555167 寡 13703 nnzhpszhhhpnzp 16780135 寠 13704 nnzszhhszhszph 16781246 窫 13705 nnzpnhhhszphpn 33568064 窬 13706 nnzpnpnhszhhss 16786150 窨 13707 nnzpnnhnphszhh 16785449 窭 13708 nnzpnnphspnzph 16781239 窪 13709 nnzpnnnhhshhsh 33566281 察 13710 nnzpznnznhhspn 16778125 蜜 13711 nnznznpnszhshn 16781665 寧 13712 nnznznnszsshhs 33561683 寤 13713 nnzzshphszhszh 16784672 賔 13714 nnzzshpszhhhpn 33555168 寣 13715 nnzzshpnhhhszh 33558196 寢 13716 nnzzshpzhhnzzn 16783124 寥 13717 nnzznhznhpnppp 16782465 實 13718 nnzzzshszhhhpn 33565305 皸 13719 nzhszhhhszpszn 33560804 谭 13720 nzhszsshszhhhs 16784241 肈 13721 nzhphzpnzhhhhs 33569447 肇 13722 nzhpphpnzhhhhs 16786705 綮 13723 nzhpphpnzznspn 16783240 谮 13724 nzhzpzhzpzszhh 16780941 褉 13725 nzspnhhhszphpn 16785029 褋 13726 nzspnhsshzhspn 33557114 褡 13727 nzspnhsspnhszh 16778569 褗 13728 nzspnhszhhzphz 33568137 褔 13729 nzspnhszhszhsh 16779328 褙 13730 nzspnshhpzszhh 16777574 褆 13731 nzspnszhhhshpn 33565320 褞 13732 nzspnszhhszssh 33568917 褐 13733 nzspnszhhpzpnz 16779478 褍 13734 nzspnszshpszss 33557218 褈 13735 nzspnphszhhshh 33556249 複 13736 nzspnphszhhpzn 16779326 裫 13737 nzspnpsshzhzhs 33568787 褓 13738 nzspnpsszhhspn 16777534 褕 13739 nzspnpnhszhhss 16786115 褑 13740 nzspnpnnphhpzn 33568835 褅 13741 nzspnnhnpnzszs 33565901 褨 13742 nzspnnphhhphsh 33564962 褛 13743 nzspnnphspnzph 16782644 褝 13744 nzspnnnpszhhhs 0 褌 13745 nzspnnzhszhhhs 16779739 褊 13746 nzspnnzhpszhss 16777806 褪 13747 nzspnzhhzpnnzn 16784533 褘 13748 nzspnzshszhhzs 33558466 褖 13749 nzspnzzhpzpppn 33566070 禡 13750 nzsnhshhsznnnn 33560863 禛 13751 nzsnhsszhhhhpn 33569521 禣 13752 nzsnhszhhsnhsn 0 禢 13753 nzsnszhhznhznh 16784195 禝 13754 nzsnszhshpnpzn 33559986 禠 13755 nzsnppshzphzpz 16783655 禞 13756 nzsnnhszhszszh 33558807 禟 13757 nzsnnhpzhhsszh 33565674 禚 13758 nzsnnphhshnnnn 16787110 鼏 13759 nzszhhhzhpshsz 16781664 冩 13760 nzpshzhhpznnnn 33567181 谯 13761 nzpsnhhhshnnnn 16783368 谰 13762 nznszhsznphspn 16782021 谱 13763 nznphssnphszhh 16783087 谲 13764 nzznzspszpnszh 16781294 鄩 13765 zhhhshszhhsnzs 16784893 劃 13766 zhhhshszhshhss 33558305 盡 13767 zhhshnnnnszssh 33559666 覠 13768 zhhpszhszhhhpz 33560802 暨 13769 zhhznhzpzszhhh 16780800 鳵 13770 zhspszhhhznnnn 33554946 屢 13771 zhpszhhszhszph 33563195 鳲 13772 zhppszhhhznnnn 16784016 屣 13773 zhpppsshshshpn 16785015 彉 13774 zhzhsshszhshpn 33559527 彄 13775 zhzhszhszhszhz 16780418 睯 13776 zhzhzphpnszhhh 16779808 勥 13777 zhzszhszhshnzp 33560266 鄪 13778 zhzpsszhhhpnzs 33555252 彅 13779 zhznphszhhsszp 0 隢 13780 zshshhshhshhpz 33563277 隫 13781 zshshssszhhhpn 33557535 敶 13782 zshszhhspnphpn 33556124 韎 13783 zshszhhzshhspn 16781512 韍 13784 zshszhhzshpznn 16779296 墮 13785 zshphshszhhhsh 33557357 嶞 13786 zshphshszhhszs 16779041 隨 13787 zshphshszhhnzn 16783736 鹛 13788 zshpszhhhpznzh 33561021 牄 13789 zshppnnzhhpszh 16783335 墏 13790 zshppznnhsnhsh 33564249 奬 13791 zshppznnhsnhpn 16780988 愻 13792 zshpzznspnnznn 33564951 隤 13793 zsszhshszhhhpn 16784529 隩 13794 zspsznphspnhpn 16786224 隣 13795 zsnphspnpznhzs 16782210 墜 13796 zsnphpzpppnhsh 33569998 隧 13797 zsnphpzpppnnzn 16783759 隥 13798 zsznppnhszhnph 33556838 墬 13799 zszzhpzpppnhsh 16786566 嫧 13800 zphhhshszhhhpn 33555604 嫣 13801 zphhshshhznnnn 16785790 嫤 13802 zphhsshszhhhsh 33559702 嫨 13803 zphhsshszhhhpn 33557815 嫹 13804 zphhsshszhshpn 33560985 嫱 13805 zphhsnphszszhh 16783352 嫥 13806 zphhszhhshnhsn 33569962 嫩 13807 zphhszhspnphpn 16781821 嫰 13808 zphhszhspnpzpn 16781822 嫗 13809 zphhszhszhszhz 33568757 嫖 13810 zphhszsshhhspn 16783059 嫕 13811 zphhphhpnznznn 33567996 嫮 13812 zphhnzsnnnnhhz 33558288 嫭 13813 zphshzphzpnphs 33558287 嫦 13814 zphsnpnzszhszs 16778215 嫚 13815 zphszhhszsshzn 16781392 嫘 13816 zphszhshzznspn 16782120 嫬 13817 zphnhphsshnnnn 33569459 嫲 13818 zphnhphspnhspn 0 嫝 13819 zphnhpzhhsnhpn 33559331 嫞 13820 zphnhpzhhszhhs 33568462 嫜 13821 zphnhnphszhhhs 16786674 嫡 13822 zphnhnpszhsszh 16778827 嫙 13823 zphnhzpphzshpn 33567408 嫷 13824 zphzshphshszhh 33566159 嫪 13825 zphznhznhpnppp 16782096 鼐 13826 zpszhhhzhpshsz 16781774 頗 13827 zpsznhpszhhhpn 33563635 皹 13828 zpsznnzhszhhhs 33560805 歰 13829 zpnzpnshshshsh 33564682 頚 13830 znhshhpszhhhpn 33558892 翟 13831 znhznhpsnhhhsh 16778826 翞 13832 znhznhnhszhspn 33560254 翠 13833 znhznhnhpnpnhs 16778079 翣 13834 znhznhnhnphzph 16783816 熋 13835 znszhhpzpznppn 33561531 熊 13836 znszhhpzpznnnn 16785303 態 13837 znszhhpzpznznn 33565586 凳 13838 znppnhszhnphpz 16778735 鄧 13839 znppnhszhnphzs 33556834 劀 13840 znzspszpnszhss 33559061 瞀 13841 znzspphpnszhhh 16781462 鹜 13842 znzspphpnpznzh 16781738 熃 13843 znzsppznzpnppn 33566256 遪 13844 znznznpnpppnzn 33555591 缥 13845 zzhhszsshhhspn 16783052 骠 13846 zzhhszsshhhspn 16777845 缦 13847 zzhszhhszsshzn 16781407 缧 13848 zzhszhshzznspn 16782112 骡 13849 zzhszhshzznspn 16782623 缨 13850 zzhszpnszpnzph 16785541 骢 13851 zzhpszpznhnznn 16777979 盠 13852 zzhpzpppnszssh 33562516 缩 13853 zzhnnzpshpszhh 16783778 缪 13854 zzhznhznhpnppp 16781712 斲 13855 zzhzzhzhshpphs 16787113 缫 13856 zzhzzzszhhhspn 16783582 遦 13857 zzshszhhhpnnzn 33559117 綪 13858 zznnnnhhshszhh 16783326 緒 13859 zznnnnhshpszhh 33567360 綾 13860 zznnnnhshpnpzn 33562434 緈 13861 zznnnnhshnphhs 33566666 綨 13862 zznnnnhsshhhpn 33564007 緅 13863 zznnnnhsshhhzn 16786477 緢 13864 zznnnnhssszhsh 33561428 緓 13865 zznnnnhssszhpn 33567665 綝 13866 zznnnnhspnhspn 33562354 緎 13867 zznnnnhszhhzpn 16786231 緉 13868 zznnnnhszspnpn 33562791 綺 13869 zznnnnhpnhszhs 33564051 緁 13870 zznnnnhzhhshpn 16781114 緀 13871 zznnnnhzhhszph 33563955 綫 13872 zznnnnhzpnhzpn 16785150 緋 13873 zznnnnshhhshhh 33557484 綽 13874 zznnnnshszhhhs 33556612 緔 13875 zznnnnsnpszszh 33565092 綶 13876 zznnnnszhhhspn 33559277 緄 13877 zznnnnszhhhzpz 33559233 緆 13878 zznnnnszhhpzpp 33567985 綥 13879 zznnnnszhshhps 33564006 綱 13880 zznnnnsznphszs 33558769 網 13881 zznnnnsznphnhz 33566366 緺 13882 zznnnnszzszszh 33559067 綞 13883 zznnnnphshsshh 33557328 緌 13884 zznnnnphspnzph 16782800 維 13885 zznnnnpsnhhhsh 33566414 綿 13886 zznnnnpszhhszs 33561392 綼 13887 zznnnnpszhhphs 33554969 綸 13888 zznnnnpnhszhss 33559092 緃 13889 zznnnnpnpnshpn 33569117 綵 13890 zznnnnpnnphspn 33555491 綬 13891 zznnnnpnnpnzzn 33565258 総 13892 zznnnnpnznnznn 33555650 綳 13893 zznnnnpzhhpzhh 33555045 綢 13894 zznnnnpzhshszh 33556288 緍 13895 zznnnnpzhzszhh 33561238 綯 13896 zznnnnpzphhszs 16784314 綹 13897 zznnnnpznsnszh 33562938 綡 13898 zznnnnnhszhspn 33562778 綧 13899 zznnnnnhszhzsh 33570005 緕 13900 zznnnnnhpnpshh 0 綷 13901 zznnnnnhpnpnhs 33555805 綣 13902 zznnnnnphhpnzz 33564562 緂 13903 zznnnnnppnnppn 33565601 綜 13904 zznnnnnnzhhspn 33569096 綻 13905 zznnnnnnzhshpn 33569397 綰 13906 zznnnnnnzszhzh 33566330 綩 13907 zznnnnnnzpznzz 33566329 綟 13908 zznnnnnzhphpnn 33562619 緑 13909 zznnnnzhhsnhpn 16782662 綴 13910 zznnnnznznznzn 33570000 綠 13911 zznnnnzzhsnhpn 33563211 緇 13912 zznnnnzzzszhsh 33569187 熭 13913 hhhshhhszhhnppn 33566504 慧 13914 hhhshhhszhhnznn 16779781 頛 13915 hhhspnhpszhhhpn 33562167 耦 13916 hhhspnszhhszshn 16777423 耧 13917 hhhspnnphspnzph 16782182 憃 13918 hhhpnpshzhhnznn 16778509 璂 13919 hhshhsshhhpnhsh 33563992 瑾 13920 hhshhsshszhhhsh 16780573 璜 13921 hhshhsshszhshpn 16779716 璊 13922 hhshhsshszspnpn 16781396 瑼 13923 hhshhszhhshnhsn 33569957 瑺 13924 hhshsnpnzszhszs 33556016 靚 13925 hhshszhhszhhhpz 33559754 璀 13926 hhshszspsnhhhsh 16778062 璎 13927 hhshszpnszpnzph 16785552 璡 13928 hhshpsnhhhshnzn 16780593 鳿 13929 hhshpszhhhznnnn 33568771 璁 13930 hhshpszpznhnznn 16777977 瑽 13931 hhshppspnpnshpn 16777976 麹 13932 hhshpznpznphspn 16783461 璋 13933 hhshnhnphszhhhs 16786670 璄 13934 hhshnhnphszhhpz 33567717 璇 13935 hhshnhzpphzshpn 16785410 璖 13936 hhshnnhhzhzhspn 33564491 璌 13937 hhshnnzhszhshpn 33567565 璆 13938 hhshznhznhpnppp 16783433 瑻 13939 hhshzzshszhhhpn 33559607 璅 13940 hhshzzzszhhhspn 16783793 漦 13941 hhspnphpnhpszpn 16782280 犛 13942 hhspnphpnhpphhs 16782295 氂 13943 hhspnphpnhpphhz 33562456 鳽 13944 hhpspszhhhznnnn 33560126 奭 13945 hhpszhhhpszhhpn 16784059 輦 13946 hhpnhhpnhszhhhs 33561763 賛 13947 hhpnhhpnszhhhpn 16786396 槼 13948 hhpnszhhhpnhspn 16780214 鳺 13949 hhpnpszhhhznnnn 33557654 鴌 13950 hhpnpszhhhznnnn 33557613 叇 13951 hhznzhhsnhpnnzn 33556679 撵 13952 hshhhpnhhpnhzhs 16781899 髰 13953 hshhhznppphsshz 33565921 髬 13954 hshhhznppphpsnh 33563722 髮 13955 hshhhznppphpznn 33557387 髯 13956 hshhhznpppszshh 16782671 髱 13957 hshhhznppppzzhz 33563550 髴 13958 hshhhznpppzhzps 33557623 髫 13959 hshhhznpppzpszh 16784472 髲 13960 hshhhznpppzpszn 16783038 髳 13961 hshhhznpppznzsp 16781445 镼 13962 hshhhznzhpzsszs 33564458 墝 13963 hshhshhshhshhpz 16783364 撓 13964 hshhshhshhshhpz 33561587 遶 13965 hshhshhshhpznzn 16782693 墳 13966 hshhshssszhhhpn 33557549 撷 13967 hshhshszhhpszpn 16785259 墶 13968 hshhshnphhhsnzn 33556623 撻 13969 hshhshnphhhsnzn 33565540 撎 13970 hshhshnzhszhnph 33567948 撕 13971 hshhsshhhpnpphs 16783653 擛 13972 hshhsshsshzhspn 33568436 撒 13973 hshhsshszhhphpn 16783545 擖 13974 hshhssszhhpzpnz 16779987 擏 13975 hshhsspzszhphpn 33559767 撠 13976 hshhsszhhhshzpn 33559920 墰 13977 hshhszsshszhhhs 33565618 撢 13978 hshhszsshszhhhs 16778637 駓 13979 hshhsznnnnhpsnh 16783005 駍 13980 hshhsznnnnhnphs 33563592 駔 13981 hshhsznnnnszhhh 33569024 駎 13982 hshhsznnnnszhsh 33569698 駚 13983 hshhsznnnnszhpn 33568277 駛 13984 hshhsznnnnszhpn 33565317 駉 13985 hshhsznnnnszszh 16781136 駟 13986 hshhsznnnnszpzh 33564819 駞 13987 hshhsznnnnphzsz 33566149 駈 13988 hshhsznnnnpshsh 33564471 駙 13989 hshhsznnnnpshsn 33557787 駗 13990 hshhsznnnnpnppp 16786764 駖 13991 hshhsznnnnpnnzn 33562440 駒 13992 hshhsznnnnpzszh 33560559 駠 13993 hshhsznnnnpzpzs 33562928 駐 13994 hshhsznnnnnhhsh 33569940 駝 13995 hshhsznnnnnnzpz 33566148 駜 13996 hshhsznnnnnznpn 16777782 駋 13997 hshhsznnnnzpszh 16786694 駊 13998 hshhsznnnnzpszn 33555143 駘 13999 hshhsznnnnznszh 33565578 撅 14000 hshhpnphzsppzpn 16781284 撩 14001 hshhpnnpszhhspn 16782448 墵 14002 hshhnzsnnnnhhzn 33565619 撍 14003 hshhzpzhzpzszhh 33568999 韯 14004 hshshhhshhhhzpn 33566900 趣 14005 hshshpnhsshhhzn 16783488 趞 14006 hshshpnhsshszhh 33564586 趠 14007 hshshpnshszhhhs 33556606 趟 14008 hshshpnsnpszszh 16784270 趡 14009 hshshpnpsnhhhsh 16778063 趛 14010 hshshpnpnhhsnph 33567601 趝 14011 hshshpnpnnznznn 33560212 趜 14012 hshshpnpznphspn 33560591 趤 14013 hshshpnnnzhpszh 33556776 趢 14014 hshshpnzhhsnhpn 33563053 墣 14015 hshssnphnphhhpn 33563844 撲 14016 hshssnphnphhhpn 33563826 撐 14017 hshsnpnzszhhzsp 33556181 撑 14018 hshsnpnzszhphhs 16778293 撮 14019 hshszhhhsshhhzn 16778090 擑 14020 hshszhhsshhhzpn 33560369 撋 14021 hshszhhszhhhhsh 16782790 墹 14022 hshszhhszhhszhh 0 撊 14023 hshszhhszhhpzhh 16785146 頡 14024 hshszhhpszhhhpn 33560380 撔 14025 hshszhhnhszhspn 33558077 墤 14026 hshszhshszhhhpn 33559490 撌 14027 hshszhshszhhhpn 33559596 墠 14028 hshszhszhszhhhs 16783853 撣 14029 hshszhszhszhhhs 33556710 賣 14030 hshszsshszhhhpn 33560889 墲 14031 hshphhsssshnnnn 33561461 撫 14032 hshphhsssshnnnn 33557724 撬 14033 hshphhzphhzphhz 16783383 墧 14034 hshphpnszhszszh 33564289 撟 14035 hshphpnszhszszh 33560067 撘 14036 hshphnphnpnhszh 33556622 赭 14037 hshpspnhshpszhh 16786731 擕 14038 hshpsnhhhshszsz 33567172 撨 14039 hshpsnhhhshnnnn 33567098 覩 14040 hshpszhhszhhhpz 33557199 墺 14041 hshpsznphspnhpn 16777315 擙 14042 hshpsznphspnhpn 33554608 銴 14043 hshpphspnhhsnph 33565358 鋬 14044 hshppznpnhhsnph 33563508 撳 14045 hshpnhhsnphpzpn 33563906 槷 14046 hshpnhshpznhspn 33568016 暬 14047 hshpnhshpznszhh 33567231 摰 14048 hshpnhshpznphhs 16778430 熱 14049 hshpnhshpznnnnn 33563279 墦 14050 hshpnphspnszhsh 16779080 播 14051 hshpnphspnszhsh 16777624 擒 14052 hshpnnhpnzsszzn 16783117 撝 14053 hshpnnppzzznnnn 16779750 撸 14054 hshpzszhshhszhh 33562954 鞏 14055 hshpznhsshszhhs 33558928 鋆 14056 hshpznhpnhhsnph 16786340 撚 14057 hshpznnhpnnnnnn 33561768 墩 14058 hshnhszhzshphpn 16779005 撴 14059 hshnhszhzshphpn 33557277 墥 14060 hshnhnphszhhshh 33556860 撞 14061 hshnhnphszhhshh 16787069 撤 14062 hshnhznszhhphpn 16778256 墡 14063 hshnphhhsnphszh 33565067 漐 14064 hshnphhspznszpn 33569721 摯 14065 hshnphhspznphhs 33569805 慹 14066 hshnphhspznnznn 33569731 撛 14067 hshnphspnpznhzs 33562353 墫 14068 hshnphszpzhhhsn 16786571 壿 14069 hshnphszpzhhhsn 16786573 撙 14070 hshnphszpzhhhsn 16786575 增 14071 hshnpszsnphszhh 16786449 撈 14072 hshnppnnppnnzzp 33562088 撹 14073 hshnnpnzszhhhpz 33560069 撺 14074 hshnnzpnszhszhs 16778047 瞉 14075 hshnzhszhhhpzzn 33558976 穀 14076 hshnzhphspnpzzn 16780094 慤 14077 hshnzpzpzznnznn 33564584 撏 14078 hshzhhhshszhhsn 33566921 墀 14079 hshzhpsnhpnphhs 16778400 摨 14080 hshzhpsnhpnphhs 33561529 摾 14081 hshzhzszhszhshn 33560278 撰 14082 hshzhzzhzhsshpn 16787060 漀 14083 hshzshppzznszpn 33563933 撀 14084 hshzshppzznphhs 33558975 撪 14085 hshznhpnhszhhhs 33555038 墱 14086 hshznppnhszhnph 33556839 撜 14087 hshznppnhszhnph 33569594 墢 14088 hshznppnzhzpzzn 33554801 撥 14089 hshznppnzhzpzzn 33555074 撡 14090 hshznznznpnsnnn 33555564 撧 14091 hshzznnnnpzzshz 16781316 聩 14092 hsshhhszhshszpn 16780520 聭 14093 hsshhhpszhhpzzn 33559594 聥 14094 hsshhhpszhszshn 33568665 諅 14095 hsshhhpnnhhhszh 33559817 夦 14096 hsshhhpnzpznpzn 33556155 聦 14097 hsshhhpzppnnznn 33555638 聤 14098 hsshhhnhszhnzhs 33565835 聪 14099 hsshhhnpszhnznn 16777974 聧 14100 hsshhhznppnhhpn 33559556 聨 14101 hsshhhzznzznhps 33562701 聫 14102 hsshhhzznzznhpn 33562704 蕘 14103 hsshshhshhshhpz 33563271 蕡 14104 hsshshssszhhhpn 16779185 薘 14105 hsshshnphhhsnzn 16778588 蕔 14106 hsshshnphhszszn 33554914 觐 14107 hsshszhhhshszpz 16780597 斳 14108 hsshszhhhshpphs 33563883 歏 14109 hsshszhhhshpzpn 33559683 歎 14110 hsshszhhhpnpzpn 16784261 鞋 14111 hsshszhhshshhsh 16785254 鞊 14112 hsshszhhshshszh 33559872 鞑 14113 hsshszhhshpnnzn 16778586 蕙 14114 hsshszhhshnnznn 16779777 鞐 14115 hsshszhhsshhhsn 33558929 鞇 14116 hsshszhhsszhpnh 33567536 鞒 14117 hsshszhhsphpnps 33560707 鞈 14118 hsshszhhspnhszh 33560045 鞉 14119 hsshszhhspnhzpn 33565721 鞍 14120 hsshszhhsnnzzph 16777266 鞎 14121 hsshszhhszhhzpn 33558055 嬊 14122 hsshszhshhpzzph 33568176 黅 14123 hsshszhshpnpnnz 33559645 斢 14124 hsshszhshpnnnhs 16784475 黆 14125 hsshszhshpnnzpz 33559139 蕈 14126 hsshszsshszhhhs 16781346 蕀 14127 hsshszspnhszspn 33559847 蕆 14128 hsshpszhhhpnzpn 33555961 蕨 14129 hsshpnphzsppzpn 16781302 蕐 14130 hsshpnpnpnpnhhs 33558293 蕤 14131 hsshpzpppnphhsh 16782799 蕓 14132 hsshnzsnnnnhhzn 16786330 蕥 14133 hsshzsppsnhhhsh 33568038 蕜 14134 hssshhhshhhnznn 33557495 蕋 14135 hssshshshshshsh 33563439 蕞 14136 hssszhhhsshhhzn 16786560 薡 14137 hssszhhhzhpshsz 16778792 蕺 14138 hssszhhsshhhzpn 16780737 蕌 14139 hssszhhszhhszhh 33562175 蕳 14140 hssszhhszhhszhh 16780888 蕑 14141 hssszhhszhhpzhh 16780880 蕄 14142 hssszhhszhhnznn 33561092 邁 14143 hssszhhszshnnzn 33560886 蕢 14144 hssszhshszhhhpn 33559592 蕇 14145 hssszhszhszhhhs 33557049 蕚 14146 hssszhszhszhhhz 33554669 蕒 14147 hssszsshszhhhpn 33560873 瞢 14148 hssszsshnzszhhh 16781536 鄸 14149 hssszsshnzpznzs 33561088 蕪 14150 hssphhsssshnnnn 33566201 蕱 14151 hssphspnsnpszhh 33565097 蔾 14152 hssphspnpzphspn 16782283 蕛 14153 hssphspnnpzhzsp 33565867 蕎 14154 hssphpnszhszszh 33564282 蕮 14155 hsspshzhhpznnnn 33566798 蕉 14156 hsspsnhhhshnnnn 16781008 劐 14157 hsspsnhhhshznss 33558617 薁 14158 hsspsznphspnhpn 16786214 蓹 14159 hssppsphhshshzs 33568769 蕧 14160 hssppsphszhhpzn 33557759 蕦 14161 hssppphpszhhhpn 33567299 蕃 14162 hsspnphspnszhsh 16779061 蔿 14163 hsspnnppzzznnnn 33566436 蕣 14164 hsspnnpnzpznhzs 16784177 蕂 14165 hsspzhhnphhpnzp 33565241 蕕 14166 hsspzpnphszpzhh 33568504 蕵 14167 hsspznpnnzhhzpn 33564937 蕫 14168 hssnhnphszhhshh 16784345 蕲 14169 hssnpszhhhspphs 16783203 蕩 14170 hssnnhszhhhpzpp 16778686 蕅 14171 hssnnhszhhszshn 33554776 蕰 14172 hssnnhszhhszssh 33566524 蕍 14173 hssnnhpnhszhhss 16786129 蕊 14174 hssnznnnznnnznn 16782801 蕁 14175 hsszhhhshszhhsn 16783292 蕸 14176 hsszhshhzhznnzn 16785060 赜 14177 hsszhszhhshszpn 16786433 蔃 14178 hsszhzszhszhshn 33560269 蔬 14179 hsszshshnhznpsz 16784088 蕠 14180 hsszphszhzznspn 16782767 蕟 14181 hssznppnzhzpzzn 33557385 蕴 14182 hsszzhszhhszssh 16786352 蕝 14183 hsszznnnnpzzshz 16781301 蕬 14184 hsszznnnnzznspn 33564771 鼒 14185 hspszhhhzhpshsz 16786488 槥 14186 hspnhhhshhhszhh 16779795 樁 14187 hspnhhhpnpshzhh 33569975 樍 14188 hspnhhshszhhhpn 33559779 槻 14189 hspnhhpnszhhhpz 16780213 槸 14190 hspnhshpnhshpzn 33568017 樭 14191 hspnhsshhhpnhsh 0 槿 14192 hspnhsshszhhhsh 16780580 横 14193 hspnhsshszhshpn 16779502 樠 14194 hspnhsshszspnpn 16781516 橗 14195 hspnhssszhhpzhh 33561095 辳 14196 hspnhspnhphhzpn 33561645 樯 14197 hspnhsnphszszhh 16783348 槫 14198 hspnhszhhshnhsn 33566063 槽 14199 hspnhszhsshszhh 16777946 樕 14200 hspnhszhspnpzpn 16783694 樞 14201 hspnhszhszhszhz 33565379 樫 14202 hspnhszhszznhsh 33560085 標 14203 hspnhszsshhhspn 33555393 槱 14204 hspnhszpzhhnnnn 16786091 槭 14205 hspnhpshhspnzpn 16783184 槬 14206 hspnhpnhhzppznn 33558336 樉 14207 hspnhpnpnpnpnpn 33565461 樗 14208 hspnhnzsnnnnhhz 16778441 樰 14209 hspnhnzsnnnnzhh 0 樐 14210 hspnshszpnnnnnh 33562993 樝 14211 hspnshzphzszhhh 33569302 樘 14212 hspnsnpnzszhhsh 16784274 樓 14213 hspnszhhszhszph 33562281 槾 14214 hspnszhhszsshzn 16781401 樏 14215 hspnszhshzznspn 16782122 槶 14216 hspnszhszhhzpnh 33559598 槵 14217 hspnszhszhsnznn 33558415 槯 14218 hspnszspsnhhhsh 33555783 樱 14219 hspnszpnszpnzph 16785542 檛 14220 hspnszzszszhnzn 33569952 権 14221 hspnphhpsnhhhsh 33564531 樦 14222 hspnphnphnnhhsh 33569915 樢 14223 hspnpszhhhznnnn 33561475 槪 14224 hspnpszhhpzhzpz 33558713 槹 14225 hspnpszhhnhpnhs 33558789 樬 14226 hspnpszpznhnznn 33555634 樅 14227 hspnppspnpnshpn 33555629 樧 14228 hspnpnhspnnpzzn 16783796 樊 14229 hspnpnpnhspnhpn 16779071 賚 14230 hspnpnpnszhhhpn 33561972 麩 14231 hspnpnpnpznhhpn 33557645 麫 14232 hspnpnpnpznhshz 33561407 麪 14233 hspnpnpnpznhszz 33561416 麨 14234 hspnpnpnpznspnp 33556058 賫 14235 hspnpnnzszhhhpn 33559826 橡 14236 hspnpzszhpzpppn 16785187 槲 14237 hspnpzpzhhsnnhs 16779590 樜 14238 hspnnhphsshnnnn 33565415 槺 14239 hspnnhpzhhsnhpn 16780333 槦 14240 hspnnhpzhhszhhs 33568464 樚 14241 hspnnhpzsshhzpz 33563019 樟 14242 hspnnhnphszhhhs 16786663 樈 14243 hspnnhnphszhhpz 33563918 樀 14244 hspnnhnpszhsszh 33556995 樣 14245 hspnnphhshnzzpn 33568280 樑 14246 hspnnnhzpnnhspn 33562771 槣 14247 hspnnnzhpnhszhs 33559169 樎 14248 hspnnnzpshpszhh 33564952 樒 14249 hspnnnznznpnszs 33561344 槴 14250 hspnnzhpszhzshz 33558289 橄 14251 hspnzhsshhhphpn 16779889 橢 14252 hspnzshphshszhh 33566154 槢 14253 hspnznhznhpszhh 16785010 樛 14254 hspnznhznhpnppp 16781146 槮 14255 hspnznznznpnppp 33564704 樌 14256 hspnzzshszhhhpn 33559107 樔 14257 hspnzzzszhhhspn 33556045 慦 14258 hsnhpnnphpnnznn 33560524 輤 14259 hszhhhshhshszhh 16783318 輘 14260 hszhhhshshpnpzn 33562381 輙 14261 hszhhhshsshhhzn 16786716 輛 14262 hszhhhshszspnpn 33562794 輢 14263 hszhhhshpnhszhs 33567825 輚 14264 hszhhhshzpnhzpn 33569384 輫 14265 hszhhhsshhhshhh 33563475 輠 14266 hszhhhsszhhhspn 16780276 輥 14267 hszhhhsszhhhzpz 33559225 輞 14268 hszhhhssznphnhz 33566360 輧 14269 hszhhhsphhpphhs 33563680 輗 14270 hszhhhspshzhhpz 16781854 槧 14271 hszhhhspphshspn 33564222 暫 14272 hszhhhspphsszhh 33569010 慙 14273 hszhhhspphsnznn 33555516 輪 14274 hszhhhspnhszhss 33563108 輣 14275 hszhhhspzhhpzhh 33563602 輖 14276 hszhhhspzhshszh 33569653 輡 14277 hszhhhspzpshzhh 33559313 撃 14278 hszhhhspzznphhs 33559870 輬 14279 hszhhhsnhszhspn 16782428 輨 14280 hszhhhsnnzszhzh 33559097 輟 14281 hszhhhsznznznzn 33556593 輜 14282 hszhhhszzzszhsh 33569166 甎 14283 hszhhshnhsnhzzn 33569954 敷 14284 hszhhsnnhzpphpn 16779250 慗 14285 hszhspnphpnnznn 33556388 甌 14286 hszhszhszhzhzzn 33554761 敺 14287 hszhszhszhzshzn 16783453 歐 14288 hszhszhszhzpzpn 33554765 毆 14289 hszhszhszhzpzzn 33554769 頣 14290 hszhszhpszhhhpn 33565179 鹝 14291 hszhsznphspznzh 33561739 豎 14292 hszhszznhszhnph 33565422 賢 14293 hszhszznszhhhpn 33566938 豍 14294 hszhnphpszhhphs 33555213 豌 14295 hszhnphnnzpznzz 16784696 飘 14296 hszsshhhspnpzpn 16783057 遷 14297 hszsshhpnzhznzn 33564152 鳾 14298 hszspszhhhznnnn 33565282 醏 14299 hszpzhhhshpszhh 33557162 醋 14300 hszpzhhhsshszhh 16778044 醂 14301 hszpzhhhspnhspn 33562033 醃 14302 hszpzhhhpnszhhz 33568075 醆 14303 hszpzhhhzpnhzpn 16786647 醌 14304 hszpzhhszhhhzpz 33559610 醀 14305 hszpzhhpsnhhhsh 33566413 醄 14306 hszpzhhpzphhszs 33565720 醇 14307 hszpzhhnhszhzsh 16778547 醉 14308 hszpzhhnhpnpnhs 16786564 醅 14309 hszpzhhnhnphszh 16782898 醈 14310 hszpzhhnppnnppn 33565613 醁 14311 hszpzhhzhhsnhpn 16782578 醊 14312 hszpzhhznznznzn 16778564 鳷 14313 hsznpszhhhznnnn 16786896 靥 14314 hphpnnhpszsshhh 16786002 魇 14315 hphpnnpszhhpzzn 16785836 餍 14316 hphpnnpnnzhhzpn 16785858 慼 14317 hpshhspnzpnnznn 33563948 慸 14318 hpsshznzszsnznn 33557016 鴀 14319 hpsnpszhhhznnnn 33557628 磝 14320 hpszhhhshzpphpn 16777304 碼 14321 hpszhhshhsznnnn 33560852 碽 14322 hpszhhshszhhhpn 33558918 磕 14323 hpszhhshznszssh 16780369 磌 14324 hpszhhsszhhhhpn 33565940 磗 14325 hpszhhszhhsnhsn 0 磊 14326 hpszhhpszhhpszh 16782134 憂 14327 hpszhhnznznnpzn 33568494 磒 14328 hpszhszhszhhhpn 16786348 磑 14329 hpszhszshszhnph 16784834 磇 14330 hpszhpszpnhhzpz 33563719 磃 14331 hpszhppshzphzpz 33564782 磤 14332 hpszhppzhhzpzzn 33567609 磘 14333 hpszhpnnpphhszs 33563941 磎 14334 hpszhpnnpzznhpn 16783180 磔 14335 hpszhpznhzshspn 16786726 磂 14336 hpszhpznzpszhsh 33562950 碻 14337 hpszhnhszhszszh 16783537 磙 14338 hpszhnhpnznpzpn 33559236 磄 14339 hpszhnhpzhhsszh 33565679 磅 14340 hpszhnhnpnznhzp 16777521 磏 14341 hpszhnphzhhsspn 33562728 磍 14342 hpszhnnzhhhsszh 33566859 確 14343 hpszhnzpsnhhhsh 33564590 碾 14344 hpszhzhphsshzpn 16781900 碿 14345 hpszhzhpsnpszhh 33564875 磉 14346 hpszhznznznhspn 16783578 鴈 14347 hppspszhhhznnnn 16785857 厱 14348 hppnhszhszhpnpn 33562008 匳 14349 hpnhszhszhpnpnz 33562687 遼 14350 hpnnpszhhspnnzn 33562817 奫 14351 hpnnnhpsshzhzhs 16786324 鴎 14352 hpnzpszhhhznnnn 16777411 尵 14353 hpzszhshszhhhpn 33566075 豬 14354 hpzpppnhshpszhh 33569864 殣 14355 hpznhsshszhhhsh 16780594 殢 14356 hpznhpsshznzszs 16784434 殤 14357 hpznphszhhhpzpp 33565080 殦 14358 hpznpszhhhznnnn 33557083 殥 14359 hpznnnzhszhshpn 33567570 鴄 14360 hpzzpszhhhznnnn 16782991 慭 14361 hnphspnhpnnnznn 33567625 頬 14362 hnphpnhpszhhhpn 33560034 霊 14363 hnzsnnnnhhssnph 16782232 震 14364 hnzsnnnnhphhzpn 16786780 霄 14365 hnzsnnnnsnpszhh 16785194 霉 14366 hnzsnnnnphzznhn 16781471 霅 14367 hnzsnnnnnhhhszh 16786599 霂 14368 hnzsnnnnnnhhspn 16781731 霈 14369 hnzsnnnnnnhhszs 16782906 霃 14370 hnzsnnnnnnhnzpz 33556111 辘 14371 hzshnhpzsshhzpz 16782584 鴉 14372 hzsppszhhhznnnn 16785745 輩 14373 shhhshhhhszhhhs 16777576 鬧 14374 shhshhhshsnhszs 33561608 歵 14375 shshhhshszhhhpn 33555848 劌 14376 shshhphsppzpnss 33559212 齒 14377 shshpnpnhpnpnzs 33556363 龉 14378 shshpnzshszhszh 16786175 龊 14379 shshpnzsszhshpn 16778565 歶 14380 shshpzszhhszshn 33568621 飺 14381 shshpzpnnzhhzpn 33555712 鹶 14382 shszpnnnnnhpnnz 33559642 敹 14383 shnzpnphspnphpn 16782456 劇 14384 shzphzhpzpppnss 33560647 勮 14385 shzphzhpzpppnzp 33560667 戯 14386 shzphzssnphhzpn 16779561 觑 14387 shzphzssnphszpz 16783491 歔 14388 shzphzssnphpzpn 16785340 膚 14389 shzphzszhshszhh 33557643 慮 14390 shzphzszhshnznn 33563209 歑 14391 shzphzpnphspzpn 33558184 覤 14392 shzphzpzszhhhpz 33566811 鄴 14393 ssnphnphhhspnzs 33568399 輝 14394 snphpznzhszhhhs 33558467 韑 14395 snphpzzshszhhzs 33566468 幤 14396 snpszszhphpnszs 33555277 賞 14397 snpnzszhszhhhpn 33565089 劏 14398 snpnzszhszhshss 33565649 暳 14399 szhhhhhshhhszhh 33558563 瞌 14400 szhhhhshznszssh 16780359 瞱 14401 szhhhhsshhsshhs 33568425 瞒 14402 szhhhhsshszpnpn 16781397 瞙 14403 szhhhhssszhhhpn 33561183 瞋 14404 szhhhhsszhhhhpn 16778259 噄 14405 szhhhhszpzznspn 33556313 噖 14406 szhhhshhhshpnnz 33567558 题 14407 szhhhshpnhpszpn 16784419 暵 14408 szhhhsshszhhhpn 16779407 曂 14409 szhhhsshszhshpn 33558462 暪 14410 szhhhsshszspnpn 33561072 暴 14411 szhhhsshpnsnhpn 16777552 瞐 14412 szhhhszhhhszhhh 33560998 暷 14413 szhhhszhhshnhsn 33556500 賦 14414 szhhhpnhhshshzn 33557789 賬 14415 szhhhpnhshhhzpn 33569423 賭 14416 szhhhpnhshpszhh 33557201 賤 14417 szhhhpnhzpnhzpn 33560228 賜 14418 szhhhpnszhhpzpp 33555726 賟 14419 szhhhpnszhsshpn 33565959 賙 14420 szhhhpnpzhshszh 33569660 賥 14421 szhhhpnnhpnpnhs 33564934 賠 14422 szhhhpnnhnphszh 33563564 賧 14423 szhhhpnnppnnppn 33565642 賩 14424 szhhhpnnnzhhspn 33555671 賝 14425 szhhhpnnzpnhspn 16778263 瞈 14426 szhhhpnznznhznh 33566175 瞓 14427 szhhhnhhhszhpss 33565480 瞝 14428 szhhhnhpnzsszzn 33556319 瞊 14429 szhhhnhpzhhsszh 33556773 瞎 14430 szhhhnnzhhhsszh 16785051 瞑 14431 szhhhnzszhhnhpn 16781631 黙 14432 szhhshhhpnnnnnn 16781588 嘵 14433 szhhshhshhshhpz 33567081 噴 14434 szhhshssszhhhpn 33563581 嘻 14435 szhhshszhnphszh 16784948 嘭 14436 szhhshszhnphppp 16782921 噠 14437 szhhshnphhhsnzn 33556620 噎 14438 szhhshnzhszhnph 16785986 噁 14439 szhhshzzhshnznn 16784651 嘶 14440 szhhsshhhpnpphs 16783647 噧 14441 szhhssszhhszshn 33558542 噶 14442 szhhssszhhpzpnz 16779851 嘲 14443 szhhsszhhhspzhh 16778241 閳 14444 szhhszhhhszhhhs 33555978 閴 14445 szhhszhhszhhhpn 33564518 閫 14446 szhhszhhszhspnh 33559621 閱 14447 szhhszhhpnszhpz 33568876 誾 14448 szhhszhhnhhhszh 16785516 閲 14449 szhhszhhnpszhpz 16786315 閯 14450 szhhszhhnnhspnp 33565006 閬 14451 szhhszhhnzhhzpn 33562059 鄳 14452 szhhszhshhzhhzs 33561087 甊 14453 szhhszhszphhzzn 33562310 氀 14454 szhhszhszphphhz 33563178 數 14455 szhhszhszphphpn 16784120 颙 14456 szhhszshnhpszpn 33568459 嘾 14457 szhhszsshszhhhs 33556723 暹 14458 szhhpsnhhhshnzn 16785086 暭 14459 szhhpszhhnhpnhs 33557961 嘠 14460 szhhpszhhnzhzpn 33558678 暰 14461 szhhppspnpnshpn 33555647 噘 14462 szhhpnphzsppzpn 16781283 嘹 14463 szhhpnnpszhhspn 16782450 暩 14464 szhhpznnznhhspn 33559214 影 14465 szhhnhszhspnppp 16785582 暲 14466 szhhnhnphszhhhs 16786672 暶 14467 szhhnhzpphzshpn 33567404 曃 14468 szhhzhhsnhpnnzn 33556678 噆 14469 szhhzpzhzpzszhh 33555533 曏 14470 szhhzzpnzhhznzs 16785192 踷 14471 szhshshhshpszhh 33569325 踛 14472 szhshshhshpnhsh 33563020 踜 14473 szhshshhshpnpzn 16782152 踑 14474 szhshshhsshhhpn 33563966 踙 14475 szhshshhsshhhzn 33560546 踖 14476 szhshshhsshszhh 16780720 蹃 14477 szhshshhsshpszh 33561878 踦 14478 szhshshhpnhszhs 16780664 踕 14479 szhshshhzhhshpn 16781088 踐 14480 szhshshhzpnhzpn 33560183 踧 14481 szhshshshhspnzn 16778038 踔 14482 szhshshshszhhhs 16778555 踝 14483 szhshshszhhhspn 16779637 踢 14484 szhshshszhhpzpp 16784403 踏 14485 szhshshszpnszhh 16784199 踻 14486 szhshshszzszszh 33559055 踟 14487 szhshshphhpnszh 16778395 踒 14488 szhshshphspnzph 16784858 踓 14489 szhshshpsnhhhsh 33566427 踬 14490 szhshshpphsszpn 16786943 踚 14491 szhshshpnhszhss 33563106 踨 14492 szhshshpnpnshpn 33569103 踩 14493 szhshshpnnphspn 16777901 踗 14494 szhshshpnnznznn 33561792 踘 14495 szhshshpznphspn 16781203 踮 14496 szhshshnhpshszh 16778879 踤 14497 szhshshnhpnpnhs 16786537 踣 14498 szhshshnhnphszh 16777635 踥 14499 szhshshnhnphzph 33564323 踯 14500 szhshshnphhpnzs 16786900 踡 14501 szhshshnphhpnzz 16783498 踫 14502 szhshshnphssnph 16782851 噛 14503 szhshshnphspnzs 33561810 踪 14504 szhshshnnzhhspn 16786456 踠 14505 szhshshnnzpznzz 33566342 踺 14506 szhshshzhhhhszn 16780946 踞 14507 szhshshzhphsszh 16781225 遺 14508 szhshszhhhpnnzn 33566491 畾 14509 szhshszhshszhsh 16782116 蝽 14510 szhshnhhhpnszhh 16778502 蝳 14511 szhshnhhshzznhn 33557176 蝶 14512 szhshnhsshzhspn 16778934 蝾 14513 szhshnhssnzhspn 16782734 蝴 14514 szhshnhsszhpzhh 16779583 蝻 14515 szhshnhssznphhs 16781792 蝘 14516 szhshnhszhhzphz 16785840 蝲 14517 szhshnhszhspnss 16781996 蝠 14518 szhshnhszhszhsh 16779277 蝛 14519 szhshnhphzphzpn 33566384 蝢 14520 szhshnhpszhhhpn 33567157 蝒 14521 szhshnhpszsshhh 33561384 蝡 14522 szhshnhpszsshpn 16782795 蝰 14523 szhshnhpnhshhsh 33559559 蝔 14524 szhshnhzpzpszhh 33560362 蝭 14525 szhshnszhhhshpn 33565871 蝪 14526 szhshnszhhhpzpp 33565648 蝐 14527 szhshnszhhszhhh 33560885 蝿 14528 szhshnszhhszhhz 33567690 蝹 14529 szhshnszhhszssh 33568888 蝎 14530 szhshnszhhpzpnz 16785242 蝟 14531 szhshnszhshszhh 16784823 螖 14532 szhshnszznzszhh 33558307 蝌 14533 szhshnphspnnnhs 16780355 蝩 14534 szhshnphszhhshh 33556253 蝮 14535 szhshnphszhhpzn 16779338 螋 14536 szhshnpshzhhszn 16783631 蜵 14537 szhshnpsshzhzhs 33568778 蝗 14538 szhshnpszhhhhsh 16779709 螝 14539 szhshnpszhhpzzn 33566708 蝺 14540 szhshnpszhszshn 33560617 蝓 14541 szhshnpnhszhhss 16786131 蝯 14542 szhshnpnnphhpzn 16786269 蝬 14543 szhshnpnzspnpzn 33569112 蝜 14544 szhshnpzszhhhpn 33557756 蝏 14545 szhshnnhszhnzhs 16784385 蝷 14546 szhshnnhpnphzsp 33562602 蝣 14547 szhshnnhzpphzsh 16786068 蝼 14548 szhshnnphspnzph 16782185 蝤 14549 szhshnnphszpzhh 16783430 螆 14550 szhshnnphzznzzn 33555722 蝖 14551 szhshnnnzhszhhh 33567380 蝙 14552 szhshnnzhpszhss 16777798 螁 14553 szhshnzhhzpnnzn 33566099 蝦 14554 szhshnzhshhzhzn 33557794 蝞 14555 szhshnzshpszhhh 33561054 蝑 14556 szhshnzshpnszhh 33567294 蝚 14557 szhshnznzsphspn 33563381 蝝 14558 szhshnzzhpzpppn 16786268 噓 14559 szhshzphzsszshh 33565269 鄷 14560 szhsshhszhnphzs 33557574 覥 14561 szhsshpnszhhhpz 33565955 噗 14562 szhssnphnphhhpn 16783070 嘬 14563 szhszhhhsshhhzn 16778490 颚 14564 szhszhhhzhpszpn 16777362 噐 14565 szhszhhshszhszh 33564079 爴 14566 szhszhhzpnhppsn 33560732 嘳 14567 szhszhshszhhhpn 33559584 劋 14568 szhszhszhhspnss 33560326 鄵 14569 szhszhszhhspnzs 33555563 嘼 14570 szhszhszhshhszh 33556466 嘽 14571 szhszhszhszhhhs 33555958 遻 14572 szhszhnphzspnzn 16784660 嘪 14573 szhszsshszhhhpn 33560872 嘿 14574 szhsznphshhnnnn 16779490 嘸 14575 szhphhsssshnnnn 33557717 嘺 14576 szhphpnszhszszh 33564277 噍 14577 szhpsnhhhshnnnn 16781052 嘷 14578 szhpszhhhnhpnhs 33557925 噢 14579 szhpsznphspnhpn 16777408 噏 14580 szhpnhszhznhznh 33566683 噃 14581 szhpnphspnszhsh 33555150 噙 14582 szhpnnhpnzsszzn 16783107 噅 14583 szhpnnppzzznnnn 16779741 噜 14584 szhpzszhshhszhh 16782529 嘫 14585 szhpznnhpnnnnnn 33563231 噈 14586 szhnhszhspnhpzn 33555744 噋 14587 szhnhszhzshphpn 33566103 噇 14588 szhnhnphszhhshh 33556520 噒 14589 szhnphspnpznhzs 33562692 噂 14590 szhnphszpzhhhsn 16786574 噌 14591 szhnpszsnphszhh 16777964 嘮 14592 szhnppnnppnnzzp 33562093 噚 14593 szhzhhhshszhhsn 16785466 嘱 14594 szhzhppszhszshn 16787015 噀 14595 szhzhzzhzhsshpn 16785477 噔 14596 szhznppnhszhnph 33556828 噊 14597 szhznzspszpnszh 33568717 噝 14598 szhzznnnnzznspn 33564770 嘰 14599 szhzznzznhpnzpn 33559788 嶢 14600 szshshhshhshhpz 16785952 嶤 14601 szshshhshhshhpz 33568316 幩 14602 szshshssszhhhpn 16779186 嶱 14603 szshssszhhpzpnz 33559372 嶘 14604 szshspnhzpnhzpn 33569395 嶏 14605 szshphszpzhhzhz 33555118 颛 14606 szshpszsshpszpn 16787053 嶡 14607 szshpnphzsppzpn 16780239 嶥 14608 szshpnphzsppzpn 33560770 嶚 14609 szshpnnpszhhspn 33562820 嶛 14610 szshpnnpszhhspn 33562821 嶜 14611 szshzpzhzpzszhh 33559644 罵 14612 szsshhshhsznnnn 33560860 瞏 14613 szsshhshszhpzpn 16783405 罼 14614 szsshszhhhsshhs 33555285 劅 14615 szsshpzszhshnss 33569887 罶 14616 szsshpznzpszhsh 16782515 罸 14617 szsshnhhhszhhsn 33557371 罷 14618 szsshznszhhpzpz 33554820 幞 14619 szsssnphnphhhpn 16779276 幥 14620 szssnpnzszhphhs 0 嶯 14621 szsszhhsshhhzpn 33559885 幜 14622 szsszhhnhszhspn 33560480 幝 14623 szsszhszhszhhhs 33555967 幠 14624 szsphhsssshnnnn 16779568 嶠 14625 szsphpnszhszszh 33560353 嶲 14626 szspsnhhhshszsz 16783740 嶕 14627 szspsnhhhshnnnn 33560295 嶣 14628 szspsnhhhshnnnn 33564288 嶔 14629 szspnhhsnphpzpn 16783100 嶖 14630 szspnhszhznhznh 33568157 嶓 14631 szspnphspnszhsh 16777622 幡 14632 szspnphspnszhsh 16779065 幢 14633 szsnhnphszhhshh 16778514 幟 14634 szsnhnphszhhzpn 33569801 嶙 14635 szsnphspnpznhzs 16782207 嶟 14636 szsnphszpzhhhsn 33569273 嶒 14637 szsnpszsnphszhh 16777969 嶗 14638 szsnppnnppnnzzp 33562099 圚 14639 szszhshszhhhpnh 33558514 嵹 14640 szszhzszhszhshn 33560277 嶝 14641 szsznppnhszhnph 16778733 墨 14642 sznphshhnnnnhsh 16781583 黓 14643 sznphshhnnnnhzn 16785731 骻 14644 szznzszhhhpnhhz 33559470 骴 14645 szznzszhhshshpz 16777996 骺 14646 szznzszhhpphszh 33558158 骼 14647 szznzszhhpznszh 16779977 骹 14648 szznzszhhnhpnpn 33564269 骸 14649 szznzszhhnhzppn 16779362 骿 14650 szznzszhhnphhps 33563780 镊 14651 phhhzhsshhhznzn 16781925 镆 14652 phhhzhssszhhhpn 16781574 镇 14653 phhhzhsszhhhhpn 16786787 镈 14654 phhhzhszhhsnhsn 16777642 镉 14655 phhhzhszhsznphs 16779969 镋 14656 phhhzsnpnzszhpz 33565691 镌 14657 phhhzpsnhhhshzp 16781261 镍 14658 phhhzpszhhhhspn 16781926 镎 14659 phhhzpnhszhphhs 16781751 镏 14660 phhhzpznzpszhsh 16782502 镐 14661 phhhznhszhszszh 16779937 镑 14662 phhhznhnpnznhzp 16777515 镒 14663 phhhznphpnszssh 16785685 镓 14664 phhhznnzhpzpppn 16780826 镔 14665 phhhznnzpshshpn 16777671 镕 14666 phhhznnzpnpnszh 16782730 歓 14667 phhpsnhhhshpzpn 16779651 靠 14668 phshszhshhhshhh 16780349 頲 14669 phshznhpszhhhpn 16784397 犙 14670 phshznznznpnppp 33564632 憇 14671 phsszhhsshhnznn 33564086 頢 14672 phsszhhpszhhhpn 33559052 稹 14673 phspnhsszhhhhpn 16786768 稶 14674 phspnhszhhzpppn 33568714 穂 14675 phspnhszhshnznn 16783747 稽 14676 phspnhpznpzszhh 16780667 鋫 14677 phspnsspnhhsnph 33562520 稷 14678 phspnszhshpnpzn 16780774 稻 14679 phspnpnnppshzhh 16778710 黎 14680 phspnpzppnsnhpn 16782302 稿 14681 phspnnhszhszszh 16779936 稸 14682 phspnnhzznszhsh 33567328 稴 14683 phspnnphzhhsspn 33560087 蝵 14684 phspnnppnszhshn 33564389 稼 14685 phspnnnzhpzpppn 16780861 穃 14686 phspnnnzpnpnszh 0 稺 14687 phspnzhpnhnphhs 33569786 覣 14688 phspnzphszhhhpz 33566390 勲 14689 phszhhshhzpnnnn 33567476 憅 14690 phszhhshhzpnznn 33565804 鴁 14691 phpnpszhhhznnnn 33554580 箺 14692 phnphnhhhpnszhh 33556559 篋 14693 phnphnhhpnpnpnz 33564340 篈 14694 phnphnhshhshhsn 33557588 篏 14695 phnphnhsshhpzpn 33564219 箶 14696 phnphnhsszhpzhh 33558237 篐 14697 phnphnhspnhszsz 0 箱 14698 phnphnhspnszhhh 16785169 範 14699 phnphnhszhhhszz 16779102 箴 14700 phnphnhphszhzpn 16786757 箵 14701 phnphnspnpszhhh 33565238 箾 14702 phnphnsnpszhhss 16784186 篎 14703 phnphnszhhhspnp 33561431 箿 14704 phnphnszhhsshhh 33559888 篂 14705 phnphnszhhphhsh 33566632 篑 14706 phnphnszhshszpn 16780526 篅 14707 phnphnszshpszss 33556501 篍 14708 phnphnphspnnppn 33564397 箽 14709 phnphnphszhhshh 33556862 箯 14710 phnphnpshszhhpn 16777802 篁 14711 phnphnpszhhhhsh 16779720 篌 14712 phnphnpszhphhpn 16779546 箻 14713 phnphnppszhhhhs 33563213 篒 14714 phnphnpnnzhhzpn 0 箰 14715 phnphnpzszhhzsh 33564950 箷 14716 phnphnnhzpphzsz 33565277 篓 14717 phnphnnphspnzph 16782190 箭 14718 phnphnnphszhhss 16780959 篊 14719 phnphnnnhhsshpn 33558132 箲 14720 phnphnnnhphshpz 33566966 箮 14721 phnphnnnzhszhhh 33567386 篇 14722 phnphnnzhpszhss 16783042 箼 14723 phnphnzhphznhsh 33566191 箳 14724 phnphnzhpnphhps 33563695 篃 14725 phnphnzshpszhhh 33561033 篨 14726 phnphnzspnhhspn 16778463 篆 14727 phnphnzzhpzpppn 16787061 箹 14728 phnphnzznnnnpzn 33568848 慜 14729 phzznhnphpnnznn 33561250 儎 14730 pshshhszhhhszpn 33568980 儚 14731 pshssszsshnzpzn 33561085 僸 14732 pshspnhspnhhspn 33559708 儊 14733 pshspnhspnzshpn 16778473 僵 14734 pshszhshhszhshh 16780982 價 14735 pshszsshszhhhpn 33560077 牕 14736 pshzpszpznhnznn 33556517 牗 14737 pshznhpzhhszhhs 33568538 牖 14738 pshznzhphszhhsn 16786083 儏 14739 psshpznznnphspn 0 鋚 14740 pssphpnpnhhsnph 33565989 鞗 14741 psspznhsshszhhs 16784468 儅 14742 pssnpnzszhszhsh 16778669 僶 14743 psszhhszhshhzhh 33561261 儙 14744 psszhshszhzhnzn 33564205 僼 14745 psszhsshhszhnph 33557598 儂 14746 psszhsshhphhzpn 33561636 僺 14747 psszhszhszhhspn 33564315 諐 14748 psszhpsznhhhszh 33564161 儇 14749 psszsshhszhpzpn 16785390 僽 14750 psphspnnppnnznn 16786873 儌 14751 pspszhhnhzpphpn 16781031 儉 14752 pspnhszhszhpnpn 33560128 儈 14753 pspnhszsnphszhh 33559475 僾 14754 pspnnpnznznnpzn 16777257 儍 14755 pspnnnnnzspnpzn 33564995 儋 14756 pspzhppnnhhhszh 16778621 儃 14757 psnhszszhhszhhh 16783841 億 14758 psnhnphszhhnznn 33567851 儀 14759 psnphhshphshzpn 33567757 僿 14760 psnnzhhsshpnhsh 16783561 皝 14761 pszhhhhshsnphpz 16779738 皣 14762 pszhhhsshhsshhs 33568421 躼 14763 pszhhhphshhhzpn 0 躸 14764 pszhhhphpnhszhs 33559813 躺 14765 pszhhhpsnpszszh 16784291 躶 14766 pszhhhpszhhhspn 33563157 躷 14767 pszhhhpphspnzph 33554457 躹 14768 pszhhhppznphspn 33560597 躻 14769 pszhhhpnnzpnhsh 0 臱 14770 pszhhhnnzpnnhzp 33561399 鴃 14771 pszhhhznnnnzhpn 16781286 皚 14772 pszhhszshszhnph 33554445 緜 14773 pszhhszspzznspn 16781680 皞 14774 pszhhpszhhhpnhs 16779449 皛 14775 pszhhpszhhpszhh 33560485 皜 14776 pszhhnhszhszszh 16779448 樂 14777 pszhhzznzznhspn 33562129 僻 14778 pszhpszhnhnphhs 16783039 頧 14779 pszhzhhpszhhhpn 33557235 嶴 14780 psznphspnhpnszs 16777314 質 14781 pphspphsszhhhpn 33569845 徺 14782 ppshshhshhshhpz 33560330 憄 14783 ppshsszhhhhnznn 33569810 衚 14784 ppshsszhpzhhhhs 16779581 德 14785 ppshsszsshhnznn 16778719 徵 14786 ppsszshhhshphpn 16786804 衝 14787 ppsphszhhshhhhs 33556244 熧 14788 ppspnpnshpnnppn 33569116 慫 14789 ppspnpnshpnnznn 33564724 徸 14790 ppsnhnphszhhshh 33556246 徹 14791 ppsnhznszhhphpn 33556098 衜 14792 ppsnphpszhhhhhs 33556804 徲 14793 ppszhpsnhpnphhs 33556347 衛 14794 ppszshszhhzshhs 33566486 嬃 14795 ppphpszhhhpnzph 16785332 艓 14796 ppznhnhsshzhspn 33557128 艒 14797 ppznhnszhhszhhh 33560994 艘 14798 ppznhnpshzhhszn 16783628 艎 14799 ppznhnpszhhhhsh 16779707 艐 14800 ppznhnpnzspnpzn 33569109 磐 14801 ppznhnpzznhpszh 16782857 盤 14802 ppznhnpzznszssh 33563497 艔 14803 ppznhnnhphsshzn 0 艖 14804 ppznhnnphhhphsh 16778112 艏 14805 ppznhnnphpszhhh 33565250 艑 14806 ppznhnnzhpszhss 16777815 舖 14807 pnhhsszhhszhhsn 33563858 雓 14808 pnhhspnpsnhhhsh 33568644 鋳 14809 pnhhsnphhhhphsn 16787041 銾 14810 pnhhsnphhshszpn 33558932 鋕 14811 pnhhsnphhshnznn 16786971 銸 14812 pnhhsnphhsshhhz 33569483 錵 14813 pnhhsnphhsspspz 33558292 錺 14814 pnhhsnphhssnhzp 33569995 鋴 14815 pnhhsnphhsszhpz 0 銶 14816 pnhhsnphhsnhpnn 16783435 鋍 14817 pnhhsnphhsnzzsh 16777658 鋪 14818 pnhhsnphhszhhsn 33563830 鋉 14819 pnhhsnphhszhspn 33564877 鋙 14820 pnhhsnphhszhszh 16784624 鋀 14821 pnhhsnphhszhnph 33556912 鋠 14822 pnhhsnphhphhzpn 33565205 鋏 14823 pnhhsnphhpnpnpn 33560050 鋄 14824 pnhhsnphhnppnzn 33560170 鋱 14825 pnhhsnphhnznnzn 33565737 鋞 14826 pnhhsnphhzzzhsh 33566652 銷 14827 pnhhsnphsnpszhh 16785218 銲 14828 pnhhsnphszhhhhs 33557887 鋥 14829 pnhhsnphszhhhsh 33569097 鋇 14830 pnhhsnphszhhhpn 33555006 鋘 14831 pnhhsnphszhhhpn 16784623 鋧 14832 pnhhsnphszhhhpz 33567017 鋤 14833 pnhhsnphszhhhzp 33556444 鋰 14834 pnhhsnphszhhshh 33562539 鋜 14835 pnhhsnphszhshpn 33570042 鋗 14836 pnhhsnphszhszhh 33567389 鋛 14837 pnhhsnphszhszhs 33558934 鋯 14838 pnhhsnphphshszh 33558809 鋨 14839 pnhhsnphphshzpn 33554639 鋓 14840 pnhhsnphphspnss 33555918 鋵 14841 pnhhsnphphspnpz 33566013 銹 14842 pnhhsnphphspnzp 33567279 鋂 14843 pnhhsnphphzznhn 16781491 鋲 14844 pnhhsnphpshshpn 0 銵 14845 pnhhsnphpszhhhp 33559411 銳 14846 pnhhsnphpnszhpz 33563446 銼 14847 pnhhsnphpnpnhsh 33555851 鋊 14848 pnhhsnphpnpnszh 16786230 鋝 14849 pnhhsnphpnnphsn 33563226 鋢 14850 pnhhsnphpnnpzsh 33563227 鋖 14851 pnhhsnphpnnpzph 33564786 鋡 14852 pnhhsnphpnnzszh 33557837 銽 14853 pnhhsnphpzhzszh 33559065 鋔 14854 pnhhsnphpzszhpz 33566334 鋒 14855 pnhhsnphpznhhhs 33557589 鋅 14856 pnhhsnphnhnphhs 33566597 鋶 14857 pnhhsnphnhznpsz 33562940 錓 14858 pnhhsnphnphhhpz 33559414 鋭 14859 pnhhsnphnpszhpz 16782813 銻 14860 pnhhsnphnpzhzsp 33565851 鋎 14861 pnhhsnphnnzhhpz 33557891 鋐 14862 pnhhsnphnnzhpzn 16779532 鋃 14863 pnhhsnphnzhhzpn 33562062 鋟 14864 pnhhsnphzhhnzzn 33559701 鋦 14865 pnhhsnphzhpzszh 33560564 錒 14866 pnhhsnphzshszhs 33554433 銿 14867 pnhhsnphznszhhs 33568450 鋑 14868 pnhhsnphznpnpzn 16778048 舗 14869 pnhshszhhszhhsn 16783068 樖 14870 pnhszhhspnhszhs 33559350 頜 14871 pnhszhhpszhhhpn 33557861 劍 14872 pnhszhszhpnpnss 33560204 劎 14873 pnhszhszhpnpnzp 33560205 劊 14874 pnhszsnphszhhss 33559211 鄶 14875 pnhszsnphszhhzs 33559480 頫 14876 pnhzpnhpszhhhpn 16779308 慾 14877 pnpnszhpzpnnznn 33568731 谾 14878 pnpnszhnnzpnhsh 33558081 虢 14879 pnnphsnshzphzpz 16780267 鹞 14880 pnnpphhszspznzh 16785974 噕 14881 pnnppzzznnnnszh 33558473 辤 14882 pnnpnzznnhnphhs 33555699 貓 14883 pnnpzpphssszhsh 33560971 貎 14884 pnnpzpppshzhhpz 16781862 貏 14885 pnnpzpppszhhphs 33555232 餝 14886 pnnzhhznhssnhzp 33565328 餑 14887 pnnzhhznhsnzzsh 33555063 餔 14888 pnnzhhznhszhhsn 16777867 餗 14889 pnnzhhznhszhspn 16783695 餖 14890 pnnzhhznhszhnph 16778768 餓 14891 pnnzhhznphshzpn 33554649 餘 14892 pnnzhhznpnhhspn 33568585 餙 14893 pnnzhhznpnhpszs 33565326 餒 14894 pnnzhhznpnnpzph 33561613 餕 14895 pnnzhhznznpnpzn 16781344 鳹 14896 pnnzpszhhhznnnn 33564193 鳻 14897 pnzppszhhhznnnn 16779178 麄 14898 pnzpnhpzsshhzpz 16778029 鴔 14899 pnznpszhhhznnnn 33557660 鹟 14900 pnznznhznhpznzh 33566165 膵 14901 pzhhhssnhpnpnhs 16778076 膝 14902 pzhhhspnpnsnhpn 16784975 膞 14903 pzhhhszhhshnhsn 33569958 膒 14904 pzhhhszhszhszhz 33554768 膘 14905 pzhhhszsshhhspn 16777843 膤 14906 pzhhhnzsnnnnzhh 33567457 膛 14907 pzhhsnpnzszhhsh 16784283 膢 14908 pzhhszhhszhszph 33563181 膕 14909 pzhhszhszhhzpnh 16780268 膗 14910 pzhhszspsnhhhsh 16778489 膼 14911 pzhhszzszszhnzn 33559064 膓 14912 pzhhphszhhhpzpp 33556019 褜 14913 pzhhpzzhznhpzpn 0 膔 14914 pzhhnhpzsshhzpz 33563050 膟 14915 pzhhnhzznnhpnhs 16782661 滕 14916 pzhhnphhpnsnhpn 16784329 膡 14917 pzhhnphhpnszhhh 33567734 膣 14918 pzhhnnzpnhznhsh 16786965 膠 14919 pzhhznhznhpnppp 33560296 膷 14920 pzhhzzpnzhhznzs 16784899 鴇 14921 pzhspszhhhznnnn 33554928 頠 14922 pzhpzzhpszhhhpn 16784785 鲠 14923 pzszhshhhszhhpn 16780011 鲡 14924 pzszhshhhsznszn 16782296 鲢 14925 pzszhshhhzhsnzn 16782398 鲣 14926 pzszhshhssznhsh 16780895 鲥 14927 pzszhshhszhhhsn 16784025 鲤 14928 pzszhshhszhhshh 16782316 鲦 14929 pzszhshhpznhspn 16784469 鲧 14930 pzszhshhpzznspn 16780247 鲩 14931 pzszhshhnnzhhpz 16779694 鲪 14932 pzszhshhzhhpszh 33560803 鲫 14933 pzszhshhzhhznzs 16780801 鲬 14934 pzszhshhznszhhs 33568479 魭 14935 pzszhshnnnnhhpz 33568802 魳 14936 pzszhshnnnnhszs 33568963 魷 14937 pzszhshnnnnhpzn 33568508 鮔 14938 pzszhshnnnnhzhz 33560651 魨 14939 pzszhshnnnnhzsz 16784542 魮 14940 pzszhshnnnnhzpz 33555230 魱 14941 pzszhshnnnnhzzh 33558221 魦 14942 pzszhshnnnnspnp 16783802 魯 14943 pzszhshnnnnszhh 16782554 魶 14944 pzszhshnnnnszpn 33561512 魹 14945 pzszhshnnnnphhz 0 魸 14946 pzszhshnnnnpshz 0 魤 14947 pzszhshnnnnpspz 33554628 魬 14948 pzszhshnnnnppzn 16779088 魪 14949 pzszhshnnnnpnps 33560450 魵 14950 pzszhshnnnnpnzp 16779198 魩 14951 pzszhshnnnnpzpp 33561170 魰 14952 pzszhshnnnnnhpn 33566542 魧 14953 pzszhshnnnnnhpz 33557907 魴 14954 pzszhshnnnnnhzp 33557461 魲 14955 pzszhshnnnnnzhp 33562971 魫 14956 pzszhshnnnnnzpz 33565184 魣 14957 pzszhshnnnnznzs 33567337 潁 14958 pzszpnhpszhhhpn 16785581 敻 14959 pzszpnszhhhphpn 16785306 獟 14960 pzphshhshhshhpz 33568357 獖 14961 pzphshssszhhhpn 33555034 橥 14962 pzphshpszhhhspn 16786989 獦 14963 pzphssszhhpzpnz 33558838 獗 14964 pzphpnphzsppzpn 16781299 獠 14965 pzphpnnpszhhspn 16782453 獛 14966 pzpssnphnphhhpn 33555449 匔 14967 pzpszhhhpszhszh 33564350 颲 14968 pzpszhshnhpznss 33562874 颳 14969 pzpszhshnphsszh 33559063 獢 14970 pzpphpnszhszszh 16785208 獡 14971 pzppshzhhpznnnn 33565501 獋 14972 pzppszhhhnhpnhs 33557928 獤 14973 pzpnhszhzshphpn 0 獞 14974 pzpnhnphszhhshh 16784342 獜 14975 pzpnphspnpznhzs 16782201 觰 14976 pzpzhhshshpszhh 33569873 觭 14977 pzpzhhshpnhszhs 16780707 觬 14978 pzpzhhspshzhhpz 33561712 觯 14979 pzpzhhsnpszhhhs 16786895 觮 14980 pzpzhhszhhsnhpn 33563072 獝 14981 pzpznzspszpnszh 16786204 鴅 14982 pznhpszhhhznnnn 33558350 頟 14983 pznszhhpszhhhpn 33554620 熲 14984 pznppnhpszhhhpn 16781142 鹠 14985 pznzpszhshpznzh 33562904 劉 14986 pznzppnhhsnphss 33562912 駌 14987 pznzzhshhsznnnn 33568784 馓 14988 pzzhsshszhhphpn 33564638 皺 14989 pzzsppzzspzpszn 33569696 馔 14990 pzzzhzzhzhsshpn 16785415 請 14991 nhhhszhhhshszhh 33563930 諘 14992 nhhhszhhhshpzpn 33555417 諸 14993 nhhhszhhshpszhh 33569874 諆 14994 nhhhszhhsshhhpn 16783179 諏 14995 nhhhszhhsshhhzn 33569154 諎 14996 nhhhszhhsshszhh 33569070 諾 14997 nhhhszhhsshpszh 16781973 諃 14998 nhhhszhhspnhspn 33556108 誺 14999 nhhhszhhspnpnpn 33556321 諌 15000 nhhhszhhszhhspn 33556863 諑 15001 nhhhszhhpzppnpn 33570040 誱 15002 nhhhszhhzhhshpn 33560414 諓 15003 nhhhszhhzpnhzpn 33560223 誹 15004 nhhhszhshhhshhh 33557497 諔 15005 nhhhszhshhspnzn 33569942 諕 15006 nhhhszhshzphzpz 16779433 課 15007 nhhhszhszhhhspn 33559388 誯 15008 nhhhszhszhhszhh 33556037 誻 15009 nhhhszhszpnszhh 33565542 誷 15010 nhhhszhsznphnhz 33566367 諣 15011 nhhhszhszzszszh 33558335 諈 15012 nhhhszhphshsshh 33556552 諉 15013 nhhhszhphspnzph 33566467 諛 15014 nhhhszhpshzhhpn 33568646 誽 15015 nhhhszhpshzhhpz 33561495 誰 15016 nhhhszhpsnhhhsh 33565152 諀 15017 nhhhszhpszhhphs 33563752 論 15018 nhhhszhpnhszhss 33563121 誵 15019 nhhhszhpnhpszhh 33567112 諗 15020 nhhhszhpnnznznn 33565189 調 15021 nhhhszhpzhshszh 33557106 諙 15022 nhhhszhpzhzszhh 33558349 諂 15023 nhhhszhpzpshzhh 33555979 諊 15024 nhhhszhpznphspn 33560601 諒 15025 nhhhszhnhszhspn 33562797 諄 15026 nhhhszhnhszhzsh 33570004 誶 15027 nhhhszhnhpnpnhs 33564927 諩 15028 nhhhszhnphssnph 33563857 談 15029 nhhhszhnppnnppn 33565622 誴 15030 nhhhszhnnzhhspn 33555669 諚 15031 nhhhszhnnzhshpn 33563782 誼 15032 nhhhszhnnzszhhh 33567805 誳 15033 nhhhszhzhpzsszs 33564466 誸 15034 nhhhszhzhznhzzn 33567405 諁 15035 nhhhszhznznznzn 33556613 慿 15036 nhhshhszhpsnznn 33563690 凚 15037 nhhspnhspnhhspn 33559700 螀 15038 nhspznhsnszhshn 33560249 稾 15039 nhszhszszhphspn 16779935 髛 15040 nhszhszszhzhppz 33559338 墪 15041 nhszhzshphpnhsh 33557276 熟 15042 nhszhzshpznnnnn 16783984 凙 15043 nhszsshhshnphhs 33557310 勯 15044 nhszszhhszhhhzp 16778633 緳 15045 nhphhhszpzznspn 33560424 廚 15046 nhphshszhnphhsn 33556441 廝 15047 nhphsshhhpnpphs 16783660 廟 15048 nhphsszhhhspzhh 33561436 摩 15049 nhphspnhspnphhs 16781358 犘 15050 nhphspnhspnphhs 33560842 麾 15051 nhphspnhspnphhz 16779753 廤 15052 nhphszhhhsszhpz 0 褒 15053 nhpsszhhspnpzpn 16777524 廠 15054 nhpsnpszszhphpn 33556030 廛 15055 nhpszhhshhpnhsh 16778171 褢 15056 nhpszhhpzznpzpn 16779638 廡 15057 nhpphhsssshnnnn 33566236 廞 15058 nhppnhhsnphpzpn 16784891 瘛 15059 nhpnhhhhszpnznn 33556383 瘼 15060 nhpnhhssszhhhpn 16781572 瘨 15061 nhpnhhsszhhhhpn 16778869 瘞 15062 nhpnhhpnpnpnhsh 33567862 瘝 15063 nhpnhszsshsppnn 16780153 瘪 15064 nhpnhpszhhhpnpz 16777860 瘜 15065 nhpnhpszhhhnznn 16784999 瘢 15066 nhpnhppznhnpzzn 16777479 瘡 15067 nhpnhpnnzhhpszh 33556512 瘤 15068 nhpnhpznzpszhsh 16782499 瘠 15069 nhpnhnhpnpnszhh 16780721 瘚 15070 nhpnhnphzsppzpn 16781290 癊 15071 nhpnhzspnnzhhzn 33567622 瘫 15072 nhpnhznpsnhhhsh 16784232 劆 15073 nhpnphzhhsspnss 33562711 齑 15074 nhpnpsshhhshhhh 16780675 鳼 15075 nhpnpszhhhznnnn 33566556 鴍 15076 nhpnpszhhhznnnn 33566535 頝 15077 nhpnpnhpszhhhpn 33564256 鹡 15078 nhpnpnszhhpznzh 16780731 賡 15079 nhpzhhpnszhhhpn 33558888 麃 15080 nhpzsshhzpznnnn 16777842 慶 15081 nhpzsshznznnpzn 33563939 餈 15082 nhpzpnpnnzhhzpn 16778000 廢 15083 nhpznppnzhzpzzn 33557520 凛 15084 nhnhszszhhhhspn 16782224 凜 15085 nhnhszszhhphspn 33562357 郶 15086 nhnphszhszhzshz 33555476 颜 15087 nhnphpppphpszpn 16785810 毅 15088 nhnphpzpppnpzzn 16785721 甋 15089 nhnpszhsszhhzzn 16778843 敵 15090 nhnpszhsszhphpn 16778819 歒 15091 nhnpszhsszhpzpn 33565905 蝱 15092 nhzszhshnszhshn 33561101 鴋 15093 nhzppszhhhznnnn 33557455 頦 15094 nhzppnhpszhhhpn 33557796 羬 15095 nphhhphphszhzpn 33566927 羯 15096 nphhhpszhhpzpnz 16781111 羰 15097 nphhhpszshpnppn 16784271 羭 15098 nphhhppnhszhhss 16786151 羮 15099 nphhshnnnnhhhpn 33558887 頩 15100 nphhpshpszhhhpn 33563674 餋 15101 nphhpnpnnzhhzpn 33560685 韏 15102 nphhpnzshszhhzs 33560702 糂 15103 nphspnhsshhhpnz 33564640 糊 15104 nphspnhsszhpzhh 16779571 頪 15105 nphspnhpszhhhpn 33562194 糎 15106 nphspnhpszhhshh 33562511 糆 15107 nphspnhpszsshhh 33561420 糃 15108 nphspnszhhhpzpp 33565678 糇 15109 nphspnpszhphhpn 33558159 糉 15110 nphspnpnzspnpzn 33569145 遴 15111 nphspnpznhzsnzn 16782202 糌 15112 nphspnpznsnszhh 33568994 糋 15113 nphspnnphszhhss 33560221 糍 15114 nphspnnphzznzzn 16778010 糄 15115 nphspnnzhpszhss 33555351 糈 15116 nphspnzshpnszhh 16785359 糔 15117 nphspnznnszhshn 16785319 糅 15118 nphspnznzsphspn 16782754 翦 15119 nphszhhssznhznh 16780934 遵 15120 nphszpzhhhsnnzn 16786570 導 15121 nphpszhhhnznhsn 16778697 噵 15122 nphpszhhhnznszh 33556806 鹢 15123 nphpnszsshpznzh 16781881 鹣 15124 nphzhhsspnpznzh 16780885 獘 15125 npszspnphpnhpnn 16777745 暼 15126 npszspnphpnszhh 33563816 撆 15127 npszspnphpnphhs 33563815 憋 15128 npszspnphpnnznn 16777861 熯 15129 nppnhsshszhhhpn 16779406 熿 15130 nppnhsshszhshpn 16779719 熰 15131 nppnhszhszhszhz 16777418 熞 15132 nppnhszhszznhsh 33560107 熛 15133 nppnhszsshhhspn 16777844 熦 15134 nppnspnpsnhhhsh 33560771 熡 15135 nppnszhhszhszph 33562298 熳 15136 nppnszhhszsshzn 16781414 熼 15137 nppnszhshhsshpn 33567977 熴 15138 nppnszsszhhhzpz 0 熣 15139 nppnszspsnhhhsh 33564895 熪 15140 nppnphspnpznpzn 33567803 熜 15141 nppnpszpznhnznn 33555643 熫 15142 nppnnhphsshnnnn 33569822 熝 15143 nppnnhpzsshhzpz 33563052 熵 15144 nppnnhnpszpnszh 16783864 覢 15145 nppnnppnszhhhpz 33565043 瑩 15146 nppnnppnnzhhshn 33567688 禜 15147 nppnnppnnzhhspn 16786041 熩 15148 nppnnzhpszhzshz 33558279 熠 15149 nppnznhznhpszhh 16785709 熮 15150 nppnznhznhpnppp 33562822 熤 15151 nppnznhznhnhnph 16785711 潔 15152 nnhhhhszpzznspn 33560392 潖 15153 nnhhhshhhshzshz 33563468 潜 15154 nnhhhpnhhpnszhh 16783295 澆 15155 nnhhshhshhshhpz 33560294 澒 15156 nnhhshhpszhhhpn 16779537 濆 15157 nnhhshssszhhhpn 16779191 澍 15158 nnhhshszhnphhsn 16784140 澎 15159 nnhhshszhnphppp 16782924 澾 15160 nnhhshnphhhsnzn 33565544 潱 15161 nnhhshnzhszhnph 33568374 澌 15162 nnhhsshhhpnpphs 16783652 潵 15163 nnhhsshszhhphpn 33564605 澑 15164 nnhhsshzzhszhsh 33562885 澫 15165 nnhhssszhhszshn 16781413 濍 15166 nnhhsspzppnnznn 33564716 潮 15167 nnhhsszhhhspzhh 16778243 潹 15168 nnhhspnhspnhspn 33555935 潸 15169 nnhhspnhspnszhh 16783828 澘 15170 nnhhspnhspnszhh 33565025 潓 15171 nnhhszhhshnnznn 33558532 潭 15172 nnhhszsshszhhhs 16784245 潥 15173 nnhhszsshnphspn 33564857 潦 15174 nnhhpnnpszhhspn 16782087 澐 15175 nnhhnzsnnnnhhzn 16786335 潛 15176 nnhhzpzhzpzszhh 33564177 澁 15177 nnhshshshshshsh 33564685 鲨 15178 nnhspnppzszhshh 16783804 濐 15179 nnhszhhhshpszhh 33569907 濎 15180 nnhszhhhzhpshsz 33556930 濈 15181 nnhszhhsshhhzpn 16780750 潤 15182 nnhszhhszhhhhsh 16782815 澖 15183 nnhszhhszhhhspn 33566889 澗 15184 nnhszhhszhhszhh 33560210 潣 15185 nnhszhhszhhnhpn 33561251 澋 15186 nnhszhhnhszhspn 33558076 潰 15187 nnhszhshszhhhpn 33558549 潬 15188 nnhszhszhszhhhs 33556731 澏 15189 nnhszhszhszhszs 33557878 澂 15190 nnhszshhhshphpn 16778310 潶 15191 nnhsznphshhnnnn 33558054 潿 15192 nnhszzshszhhzsh 33566412 潕 15193 nnhphhsssshnnnn 16784638 潪 15194 nnhphhpnszhszhh 33556964 潲 15195 nnhphspnsnpszhh 16783889 潻 15196 nnhphspnpnsnhpn 33565405 鋈 15197 nnhphpnpnhhsnph 16784670 潷 15198 nnhphnphnzhhhhs 33555281 澙 15199 nnhpshzhhhznnnn 33566807 潟 15200 nnhpshzhhpznnnn 16785036 潗 15201 nnhpsnhhhshhspn 16780730 潐 15202 nnhpsnhhhshnnnn 33560347 澔 15203 nnhpszhhphshszh 16779447 潨 15204 nnhpszsshpspppn 33569620 澳 15205 nnhpsznphspnhpn 16777313 澓 15206 nnhppsphszhhpzn 33557691 潝 15207 nnhpnhszhznhznh 16784956 潘 15208 nnhpnphspnszhsh 16782849 潙 15209 nnhpnnppzzznnnn 33559154 澛 15210 nnhpzszhshhszhh 33563005 潡 15211 nnhnhszhzshphpn 33557290 潼 15212 nnhnhnphszhhshh 16784347 澈 15213 nnhnhznszhhphpn 16778254 瑬 15214 nnhnhznpszhhshn 33562907 澜 15215 nnhnszhsznphspn 16782030 潫 15216 nnhnphhpnzznspn 33566301 潽 15217 nnhnphssnphszhh 33563823 潾 15218 nnhnphspnpznhzs 16782203 澊 15219 nnhnphszpzhhhsn 33555816 澻 15220 nnhnphpzpppnnzn 33564930 潧 15221 nnhnpszsnphszhh 33569516 澇 15222 nnhnppnnppnnzzp 33562097 澝 15223 nnhnnznznnszhhs 0 潯 15224 nnhzhhhshszhhsn 33567491 澅 15225 nnhzhhhshszhshh 33558330 漽 15226 nnhzhpsnhpnphhs 33565858 潺 15227 nnhzhpzshzshzsh 16778162 漒 15228 nnhzhzszhszhshn 33564239 潠 15229 nnhzhzzhzhsshpn 16783774 澄 15230 nnhznppnhszhnph 16778311 潑 15231 nnhznppnzhzpzzn 33563624 潏 15232 nnhznzspszpnszh 16781297 憢 15233 nnshshhshhshhpz 33567097 憤 15234 nnshshssszhhhpn 33557560 憘 15235 nnshshszhnphszh 33566766 憉 15236 nnshshszhnphppp 33563612 懂 15237 nnshssphszhhshh 16778748 憽 15238 nnshsspzppnnznn 33564715 憓 15239 nnshszhhshnnznn 33558557 憛 15240 nnshszsshszhhhs 33565615 憟 15241 nnshszsshnphspn 33564871 墯 15242 nnshphshszhhhsh 33557358 憭 15243 nnshpnnpszhhspn 16782469 憯 15244 nnshzpzhzpzszhh 16777921 憪 15245 nnsszhhszhhpzhh 16785105 憫 15246 nnsszhhszhhnhpn 33561256 憬 15247 nnsszhhnhszhspn 16780631 憒 15248 nnsszhshszhhhpn 33559597 憚 15249 nnsszhszhszhhhs 33556740 憮 15250 nnsphhsssshnnnn 33566234 憍 15251 nnsphpnszhszszh 16781015 憡 15252 nnsphnphnhszspn 33555598 懏 15253 nnspsnhhhshszsz 33560828 憔 15254 nnspsnhhhshnnnn 16783374 懊 15255 nnspsznphspnhpn 16777316 憣 15256 nnspnphspnszhsh 33557416 憱 15257 nnsnhszhspnhpzn 33556309 憞 15258 nnsnhszhzshphpn 33557260 憧 15259 nnsnhnphszhhshh 16778331 憐 15260 nnsnphspnpznhzs 33562715 憎 15261 nnsnpszsnphszhh 16786447 憦 15262 nnsnppnnppnnzzp 33562124 憳 15263 nnszhhhshszhhsn 33565634 憕 15264 nnsznppnhszhnph 33556213 憰 15265 nnsznzspszpnszh 16781318 賨 15266 nnzhhspnszhhhpn 16777991 翧 15267 nnzhszhhhznhznh 33567390 寭 15268 nnzhszhhshnnznn 33558577 戭 15269 nnzhszhshpnhzpn 16785827 寮 15270 nnzhpnnpszhhspn 16782466 寫 15271 nnzpshzhhpznnnn 33567183 寯 15272 nnzpsnhhhshszsz 33560830 窴 15273 nnzpnhsszhhhhpn 16784449 審 15274 nnzpnphspnszhsh 33565191 窱 15275 nnzpnpsspznhspn 33565999 窮 15276 nnzpnpszhhhpzhz 33564370 窳 15277 nnzpnppznnppznn 16786177 窰 15278 nnzpnpnnpphhszs 33568318 窯 15279 nnzpnnphhshnnnn 33568317 窲 15280 nnzpnnphspnnnhs 33562848 寪 15281 nnzpnnppzzznnnn 16784805 额 15282 nnzpznszhhpszpn 16777326 鞌 15283 nnzzphhsshszhhs 16777265 頞 15284 nnzzphhpszhhhpn 16777342 冪 15285 nzhssszhhhpnszs 33561364 谳 15286 nzhssznphhshpnn 16785866 翩 15287 nzhpszhssznhznh 16783043 鳸 15288 nzhppszhhhznnnn 33558290 褠 15289 nzspnhhsshszshh 33558948 褤 15290 nzspnhshszhpzpn 33568837 褳 15291 nzspnhszhhhsnzn 33562688 褥 15292 nzspnhphhzpnhsn 16782784 褴 15293 nzspnssphnszssh 16782022 襅 15294 nzspnszhhhsshhs 0 褟 15295 nzspnszhhznhznh 16778577 褫 15296 nzspnppshzphzpz 16778411 褯 15297 nzspnnhphsshszs 16781122 褲 15298 nzspnnhphszhhhs 33559453 褵 15299 nzspnnhpnzsszzn 16782281 褣 15300 nzspnnnzpnpnszh 33563337 褦 15301 nzspnznszhhpzpz 16781776 褬 15302 nzspnznznznhspn 33564654 禥 15303 nzsnhsshhhpnhsh 33564005 禩 15304 nzsnszhshhsshpn 33564815 禤 15305 nzsnszsshznhznh 16785400 谴 15306 nzszhshszhzhnzn 16783311 鹤 15307 nzpsnhhhshpznzh 16779482 谵 15308 nzpzhppnnhhhszh 16786627 鴆 15309 nzpzpszhhhznnnn 33569552 憨 15310 zhsshhhphpnnznn 16779377 蝨 15311 zhsszhshnszhshn 16784005 犚 15312 zhphhspnhsnphhs 33566499 熨 15313 zhphhspnhsnnppn 16786222 慰 15314 zhphhspnhsnnznn 16784825 遲 15315 zhpsnhpnphhsnzn 33556337 劈 15316 zhpszhnhnphhszp 16782999 屧 15317 zhpppshsshzhspn 16785272 履 15318 zhpppsphszhhpzn 16782646 屦 15319 zhpppsnphspnzph 16781232 鴂 15320 zhpnpszhhhznnnn 16780195 層 15321 zhpnpszsnphszhh 16777968 彈 15322 zhzszhszhszhhhs 16778649 選 15323 zhzzhzhsshpnnzn 33567413 韐 15324 zshszhhzspnhszh 33558856 銺 15325 zshphshpnhhsnph 33569028 槳 15326 zshppznnhsnhspn 33560268 獎 15327 zshppznnhsnhpnn 33560258 漿 15328 zshppznnhsnszpn 33560242 牅 15329 zshpnhpzhhszhhs 33568445 險 15330 zspnhszhszhpnpn 33566965 隦 15331 zszhpszhnhnphhs 33563736 嬈 15332 zphhshhshhshhpz 33563268 嬉 15333 zphhshszhnphszh 16784932 嬄 15334 zphhshnzhszhnph 33567736 嬞 15335 zphhssphszhhshh 33556857 嫴 15336 zphhsszhnhnphhs 33558997 嫽 15337 zphhpnnpszhhspn 16782467 嫻 15338 zphszhhszhhhspn 33566941 嫺 15339 zphszhhszhhpzhh 33566940 嬇 15340 zphszhshszhhhpn 33558511 嬋 15341 zphszhszhszhhhs 33555920 嬍 15342 zphszshhhshphpn 33561036 嫼 15343 zphsznphshhnnnn 33561199 嫵 15344 zphphhsssshnnnn 33566237 嬌 15345 zphphpnszhszszh 33560285 嫶 15346 zphpsnhhhshnnnn 33564294 嬆 15347 zphpnhszhznhznh 33566673 嬏 15348 zphpnphspnszhsh 33557389 嬀 15349 zphpnnppzzznnnn 33559150 嬎 15350 zphpzszhpzphhsh 33557436 嬂 15351 zphnhnphszhhzpn 33569719 嫸 15352 zphnphhhsnphszh 33569383 嫾 15353 zphnphspnpznhzs 33562736 嬘 15354 zphnphpzpppnnzn 33564910 嫿 15355 zphzhhhshszhshh 16779635 駑 15356 zphznhshhsznnnn 33561852 嬁 15357 zphznppnhszhnph 33556826 駕 15358 zpszhhshhsznnnn 33560076 勰 15359 zpzpzpszhshnznn 16785262 頨 15360 znhznhhpszhhhpn 33563771 翨 15361 znhznhszhhhshpn 33565371 翫 15362 znhznhpszhhhhpz 16784726 翭 15363 znhznhpszhphhpn 33558165 戮 15364 znhznhpnppphzpn 16782567 翪 15365 znhznhpnzspnpzn 16786462 翬 15366 znhznhnzhszhhhs 33558484 邆 15367 znppnhszhnphnzn 33556837 遹 15368 znzspszpnszhnzn 16786212 蝥 15369 znzspphpnszhshn 16781437 豫 15370 znzspzszhpzpppn 16786206 毿 15371 znznznpnpppphhz 33564633 缬 15372 zzhhshszhhpszpn 16785249 缭 15373 zzhhpnnpszhhspn 16782449 缮 15374 zzhnphhhsnphszh 16783844 缯 15375 zzhnpszsnphszhh 16777966 骣 15376 zzhzhpzshzshzsh 16778186 緖 15377 zznnnnhshpnszhh 16785381 縙 15378 zznnnnhsshsshhh 33563333 緙 15379 zznnnnhsshszhhs 33559391 緤 15380 zznnnnhsshzhspn 33567238 緗 15381 zznnnnhspnszhhh 33567038 緸 15382 zznnnnhszsshhsh 33567547 練 15383 zznnnnhsznphspn 33562770 緘 15384 zznnnnhphszhzpn 33560118 縅 15385 zznnnnhphzphzpn 0 緾 15386 zznnnnhpszhhshh 33555953 緬 15387 zznnnnhpszsshhh 33561410 緛 15388 zznnnnhpszsshpn 33563432 緽 15389 zznnnnshszhhhpn 33556188 緹 15390 zznnnnszhhhshpn 33565888 緲 15391 zznnnnszhhhspnp 33561433 緝 15392 zznnnnszhhsshhh 33559821 縄 15393 zznnnnszhhszhhz 16783969 緼 15394 zznnnnszhhszssh 33566532 緭 15395 zznnnnszhshszhh 33566514 緦 15396 zznnnnszhshnznn 33564789 縎 15397 zznnnnszznzszhh 33559006 緟 15398 zznnnnphszhhshh 33569649 緮 15399 zznnnnphszhhpzn 33557790 緞 15400 zznnnnpshhhpzzn 33557234 緶 15401 zznnnnpshszhhpn 33555389 緥 15402 zznnnnpsszhhspn 33554943 線 15403 zznnnnpszhhszpn 16785155 緱 15404 zznnnnpszhphhpn 33558954 縋 15405 zznnnnpszhzhnzn 33569992 緰 15406 zznnnnpnhszhhss 16786161 緩 15407 zznnnnpnnphhpzn 33558387 緵 15408 zznnnnpnzspnpzn 33569120 緫 15409 zznnnnpzppnnznn 33555655 締 15410 zznnnnnhnpnzszs 33557031 縒 15411 zznnnnnphhhphsh 33555840 緧 15412 zznnnnnphszpzhh 33564399 縌 15413 zznnnnnphzspnzn 33561732 縂 15414 zznnnnnpszhnznn 33569098 縆 15415 zznnnnnnshszhhh 33558882 緪 15416 zznnnnnnshpznnh 16780006 縇 15417 zznnnnnnzhszhhh 0 緷 15418 zznnnnnzhszhhhs 33568954 編 15419 zznnnnnzhpszhss 33555353 縁 15420 zznnnnzhhpzpppn 16786257 縀 15421 zznnnnzhshhzhzn 33566836 緡 15422 zznnnnzhzhzszhh 33561240 緯 15423 zznnnnzshszhhzs 33566473 縃 15424 zznnnnzshpnszhh 16785333 緿 15425 zznnnnznszhnznn 33556690 緣 15426 zznnnnzzhpzpppn 33568824 畿 15427 zznzznhszhshzpn 16780686 巤 15428 zzzszpnhznnznnz 33562879 耩 15429 hhhspnhhsshszshh 16780983 耨 15430 hhhspnhphhzpnhsn 16781838 耪 15431 hhhspnnhnpnznhzp 16782882 璢 15432 hhshhsshzzhszhsh 33562916 璥 15433 hhshhsspzszhphpn 16780630 璤 15434 hhshhszhhshnnznn 0 璙 15435 hhshhpnnpszhhspn 33562819 虣 15436 hhshshznshzphzpz 16777546 璞 15437 hhshssnphnphhhpn 16783080 靜 15438 hhshszhhpnnpzhhs 16780643 璟 15439 hhshszhhnhszhspn 16780629 靛 15440 hhshszhhnnzhshpn 16778888 璝 15441 hhshszhshszhhhpn 16780205 璑 15442 hhshphhsssshnnnn 33566207 璠 15443 hhshpnphspnszhsh 16779079 麺 15444 hhshpznhpszsshhh 33561419 璘 15445 hhshnphspnpznhzs 16782206 璲 15446 hhshnphpzpppnnzn 16783760 璔 15447 hhshnpszsnphszhh 33569089 璭 15448 hhshnzhszhhhsnzn 33559242 璕 15449 hhshzhhhshszhhsn 33567494 聱 15450 hhshzpphpnhsshhh 16777297 螯 15451 hhshzpphpnszhshn 16777300 璒 15452 hhshznppnhszhnph 33556829 璚 15453 hhshznzspszpnszh 16783406 璏 15454 hhshzzhhzphhpnpz 33566497 璣 15455 hhshzznzznhpnzpn 33559811 隷 15456 hshhhspnzhhsnhpn 16782370 髻 15457 hshhhznppphshszh 16780817 髶 15458 hshhhznppphsshhh 33563366 髸 15459 hshhhznppphsshpn 33558920 髵 15460 hshhhznppphpszss 33554742 髭 15461 hshhhznpppshshpz 16786512 髷 15462 hshhhznpppszhssh 33564472 髺 15463 hshhhznpppphsszh 16780143 髹 15464 hshhhznppppshspn 16785317 鬇 15465 hshhhznppppzzhhs 33569573 壒 15466 hshhsshshznszssh 16780302 擭 15467 hshhsspsnhhhshzn 16779842 擀 15468 hshhsszhhhspnhhs 16779893 壊 15469 hshhsszsshnhpzpn 16779648 擜 15470 hshhssznphhshpnn 33561834 墻 15471 hshhspnpnhszszhh 33564247 壃 15472 hshhszhshhszhshh 33560252 駥 15473 hshhsznnnnhhpzpn 33563363 駬 15474 hshhsznnnnhsshhh 16777397 駤 15475 hshhsznnnnhznhsh 33569842 駫 15476 hshhsznnnnsnphpz 33560473 駧 15477 hshhsznnnnszhszh 33556883 駰 15478 hshhsznnnnszhpnh 16785503 駯 15479 hshhsznnnnphhspn 33569872 駪 15480 hshhsznnnnphshpz 16783937 駳 15481 hshhsznnnnpshzzn 33556750 駩 15482 hshhsznnnnpnhhsh 33564554 駣 15483 hshhsznnnnpnhzpn 33565722 駨 15484 hshhsznnnnpzszhh 33567499 駱 15485 hshhsznnnnpznszh 33563176 駮 15486 hshhsznnnnnhpnpn 16777659 駭 15487 hshhsznnnnnhzppn 33557809 駢 15488 hshhsznnnnnphhps 33563784 駲 15489 hshhsznnnnnpnsns 0 撼 15490 hshhphszhzpnnznn 16779408 擓 15491 hshhnnhpsnhhhshz 33559473 擂 15492 hshhnzsnnnnszhsh 16782110 鴊 15493 hshshpszhhhznnnn 33569596 趧 15494 hshshpnszhhhshpn 33565878 趦 15495 hshshpnnhpzpnszh 33569185 趥 15496 hshshpnnphszpzhh 33564393 壉 15497 hshshzphzhpzpppn 33560663 據 15498 hshshzphzhpzpppn 33560561 擄 15499 hshshzphzszhshzp 33563007 歕 15500 hshssszhhhpnpzpn 16782914 擈 15501 hshssnphnphhhspn 33563827 壋 15502 hshsnpnzszhszhsh 33556779 擋 15503 hshsnpnzszhszhsh 33556764 擝 15504 hshszhhpzhhszssh 0 擃 15505 hshszhsshhphhzpn 33559626 操 15506 hshszhszhszhhspn 16777939 敼 15507 hshszhnphszhshzn 33566763 歖 15508 hshszhnphszhpzpn 33566686 熹 15509 hshszhnphszhnnnn 16784984 憙 15510 hshszhnphszhnznn 33566767 甏 15511 hshszhnphppphzzn 16777612 墿 15512 hshszsshhshnphhs 33567979 擇 15513 hshszsshhshnphhs 33569068 擐 15514 hshszsshhszhpzpn 16779695 夁 15515 hshszsshszhsszhh 33567735 擉 15516 hshszsshpzszhshn 16778567 擌 15517 hshphnphnhpnpnpn 33564694 擳 15518 hshphnphnzhhznzs 33560423 頳 15519 hshpspnhpszhhhpn 33556169 赬 15520 hshpspnshszhhhpn 16778292 赮 15521 hshpspnzhshhzhzn 33566847 墽 15522 hshpszhhnhzpphpn 33564270 撽 15523 hshpszhhnhzpphpn 33564310 燅 15524 hshpnhshnppnnppn 33566934 撿 15525 hshpnhszhszhpnpn 33560168 擔 15526 hshpzhppnnhhhszh 33556702 壇 15527 hshnhszszhhszhhh 33565620 擅 15528 hshnhszszhhszhhh 16783856 壈 15529 hshnhszszhhphspn 16782041 壌 15530 hshnhpnhhsshpzpn 16782684 擁 15531 hshnhzzppsnhhhsh 33568451 擞 15532 hshnphspnzphphpn 16783640 螜 15533 hshnzhpzznszhshn 33558232 糓 15534 hshnzhnphspnpzzn 33559036 縠 15535 hshnzhzznspnpzzn 16779575 壀 15536 hshzhpszhnhnphhs 33563741 擗 15537 hshzhpszhnhnphhs 16777666 磬 15538 hshzshppzznhpszh 16783156 聬 15539 hsshhhpnznznhznh 33566173 褧 15540 hsshhhnppnnhpzpn 16781137 鄹 15541 hsshhhznpspppnzs 16786471 颞 15542 hsshhhznznhpszpn 16781935 聮 15543 hsshhhzznzznnnnn 33562705 蕻 15544 hsshshhhznhsshpn 16779525 蕼 15545 hsshshhhznzhhhhs 33564806 薳 15546 hsshshszhpspnnzn 16784797 薣 15547 hsshshszhnphhszn 33559027 薔 15548 hsshspnpnhszszhh 33564245 鞕 15549 hsshszhhshszhhpn 33567733 鞘 15550 hsshszhhssnpszhh 16783382 鞓 15551 hsshszhhsszhhhsh 33565828 鞙 15552 hsshszhhsszhszhh 16785427 鞖 15553 hsshszhhspnnpzph 33564894 鞔 15554 hsshszhhspzszhpz 33560904 薑 15555 hsshszhshhszhshh 16780978 燕 15556 hsshszhshhpznnnn 16785787 黇 15557 hsshszhshpnshszh 33565928 黈 15558 hsshszhshpnnhhsh 16784373 薽 15559 hsshszsshhshhzzn 16786758 颟 15560 hsshszpnpnhpszpn 16781391 薤 15561 hsshpznshhhshhhh 16785281 薚 15562 hsshpznszhhhpzpp 33565672 薞 15563 hsshpznpnnzhhzpn 33564938 蕾 15564 hsshnzsnnnnszhsh 16782131 蕶 15565 hsshnzsnnnnpnnzn 33562411 薉 15566 hssshshhphsppzpn 16784830 薒 15567 hssshpznznnphspn 33555541 蟇 15568 hssszhhhpnszhshn 33560843 蕗 15569 hssszhshshpznszh 16782574 薗 15570 hssszhshszhpspnh 33568807 蕽 15571 hssszhsshhphhzpn 33561641 薯 15572 hssszsshhshpszhh 16784123 薥 15573 hssszsshpzszhshn 33565408 薨 15574 hssszsshnzhpznpz 16779513 薎 15575 hssszsshnzpshzpn 33561450 薙 15576 hssphhpnpsnhhhsh 16784433 薐 15577 hssphspnhshpnpzn 16782149 薭 15578 hssphspnpszhhphs 33554854 薫 15579 hssphszhhshhnnnn 16785450 藇 15580 hsspshhhzszhhhpn 16785379 薬 15581 hsspszhhnhpnhspn 16785979 薂 15582 hsspszhhnhzpphpn 33566744 薛 15583 hsspszhzhnhnphhs 16785434 薇 15584 hssppsszshpzphpn 16784753 薟 15585 hsspnhszhszhpnpn 33562766 薈 15586 hsspnhszsnphszhh 33558554 鴱 15587 hsspnpszhhhznnnn 33554464 薆 15588 hsspnnpnznznnpzn 16777252 薍 15589 hsspnnpznszznznz 33563099 薝 15590 hsspzhppnnhhhszh 33569360 薊 15591 hsspzszhshnnnnss 33559976 檠 15592 hsspzszhphpnhspn 16783142 擎 15593 hsspzszhphpnphhs 16783145 憼 15594 hsspzszhphpnnznn 33559739 薢 15595 hsspzpzhhszpphhs 16785280 薧 15596 hssnhszhnzhpznpz 16780346 薕 15597 hssnhpnphzhhsspn 33562717 薦 15598 hssnhpzsshhznnnn 33560215 薋 15599 hssnhpzpnszhhhpn 33555695 薪 15600 hssnhnphhspnpphs 16784887 薏 15601 hssnhnphszhhnznn 16785704 蕹 15602 hssnhzzppsnhhhsh 16784593 薮 15603 hssnphspnzphphpn 16783639 薠 15604 hssnppnhpszhhhpn 33557415 蕿 15605 hssnppnpnnphhpzn 33567383 薄 15606 hssnnhhszhhsnhsn 16777532 薀 15607 hssnnhszpnhszssh 16786354 薃 15608 hssnnhnhszhszszh 16779445 薓 15609 hssnnhzhhnzszszn 33565167 颠 15610 hsszhhhhpnhpszpn 16778875 螒 15611 hsszhhhspnszhshn 16779404 翰 15612 hsszhhhspnznhznh 16779414 蕭 15613 hsszhhspsshzhzhs 16785209 噩 15614 hsszhszhhszhszhh 16777353 頤 15615 hsszhszhpszhhhpn 33567767 鴣 15616 hsszhpszhhhznnnn 33558986 薜 15617 hsszhpszhnhnphhs 16777759 兣 15618 hsszhpzhpszhhshh 33559382 薩 15619 hsszsnhnphpphhsh 16783553 薅 15620 hsszphhphhzpnhsn 16779425 蕷 15621 hssznzshpszhhhpn 33568729 樲 15622 hspnhhhszhhhpnzn 16777401 橈 15623 hspnhshhshhshhpz 33561580 樾 15624 hspnhshshpnhzzpn 16786305 橨 15625 hspnhshssszhhhpn 33557558 樹 15626 hspnhshszhnphhsn 16784133 橲 15627 hspnhshszhnphszh 0 橽 15628 hspnhshnphhhsnzn 33565525 橫 15629 hspnhsshhszhshpn 33558067 橵 15630 hspnhsshszhhphpn 0 橊 15631 hspnhsshzzhszhsh 33562897 檧 15632 hspnhsspzppnnznn 33564712 橶 15633 hspnhsszhhhshzpn 33559866 橭 15634 hspnhsszhnhnphhs 33558990 樷 15635 hspnhspnhsshhhzn 33555660 橞 15636 hspnhszhhshnnznn 33558536 橝 15637 hspnhszsshszhhhs 33565611 橱 15638 hspnhphszhnphhsn 16778453 橛 15639 hspnhpnphzsppzpn 16781300 橑 15640 hspnhpnnpszhhspn 33562111 橒 15641 hspnhnzsnnnnhhzn 33568900 橬 15642 hspnhzpzhzpzszhh 33555612 橴 15643 hspnshshpzzznspn 0 樸 15644 hspnssnphnphhhpn 16783075 橖 15645 hspnsnpnzszhhspn 33565662 橕 15646 hspnsnpnzszhhzsp 16778290 樶 15647 hspnszhhhsshhhzn 33569248 檙 15648 hspnszhhhzhpshsz 33556928 檝 15649 hspnszhhsshhhzpn 33559879 橍 15650 hspnszhhszhhhhsh 33563453 橸 15651 hspnszhhszhhszhh 0 橌 15652 hspnszhhszhhpzhh 33566995 樻 15653 hspnszhshszhhhpn 33559585 螙 15654 hspnszhshnszhshn 33557211 樿 15655 hspnszhszhszhhhs 16786645 橅 15656 hspnphhsssshnnnn 33561134 橇 15657 hspnphhzphhzphhz 16778070 橋 15658 hspnphpnszhszszh 33564280 橁 15659 hspnphnphnpzszhh 16785463 檇 15660 hspnpsnhhhshszsz 16786563 樵 15661 hspnpsnhhhshnnnn 16783369 橰 15662 hspnpszhhhnhpnhs 33558782 橷 15663 hspnpszhhshhpzpz 33556889 橎 15664 hspnpnphspnszhsh 33557408 燓 15665 hspnpnpnhspnnppn 33557553 憖 15666 hspnpnpnhpnnnznn 16785534 憗 15667 hspnpnpnphpnnznn 33567627 麮 15668 hspnpnpnpznhshzn 16783489 麭 15669 hspnpnpnpznpzzhz 33563547 麬 15670 hspnpnpnpznzpszn 33557646 檎 15671 hspnpnnhpnzsszzn 16783110 橓 15672 hspnpnnpnzpznhzs 33565491 橳 15673 hspnpzhhnphhpnzp 0 橹 15674 hspnpzszhshhszhh 16782555 橪 15675 hspnpznnhpnnnnnn 33563247 橮 15676 hspnpznzpszhhhpn 33562935 橔 15677 hspnnhszhzshphpn 33566079 橠 15678 hspnnhpznpznpzpn 33561871 橦 15679 hspnnhnphszhhshh 33556523 樴 15680 hspnnhnphszhhzpn 16786901 橀 15681 hspnnhznpszszssh 33566681 橏 15682 hspnnphhhsnphszh 33569370 檨 15683 hspnnphhshnhpzpn 16783899 橉 15684 hspnnphspnpznhzs 33562360 樽 15685 hspnnphszpzhhhsn 16786569 橂 15686 hspnnphszpzhhhpn 33557062 檤 15687 hspnnphpszhhhnzn 33556807 檖 15688 hspnnphpzpppnnzn 16783758 橧 15689 hspnnpszsnphszhh 16786445 橩 15690 hspnnppnnppnnzpz 33564362 橯 15691 hspnnppnnppnnzzp 33562123 橣 15692 hspnnnznznnszhhs 33561687 樳 15693 hspnzhhhshszhhsn 33566603 橺 15694 hspnzhhsszhhszhh 0 樨 15695 hspnzhpsnhpnphhs 16784942 樼 15696 hspnzhpzshzshzsh 33569508 橻 15697 hspnzshhzshhzshh 0 橙 15698 hspnznppnhszhnph 16778306 橃 15699 hspnznppnzhzpzzn 33557364 壄 15700 hspnznzsphspnhsh 33568389 橘 15701 hspnznzspszpnszh 16781206 橼 15702 hspnzzhzzhpzpppn 16786271 機 15703 hspnzznzznhpnzpn 16780677 輳 15704 hszhhhshhhpnhhpn 33555678 輻 15705 hszhhhshszhszhsh 33557667 輱 15706 hszhhhshphszhzpn 33566908 輭 15707 hszhhhshpszsshpn 33563423 輺 15708 hszhhhshzzzszhsh 33569174 輰 15709 hszhhhsszhhhpzpp 33568246 輯 15710 hszhhhsszhhsshhh 33559843 輼 15711 hszhhhsszhhszssh 33566521 輵 15712 hszhhhsszhhpzpnz 16779967 輲 15713 hszhhhsszshpszss 33556495 輹 15714 hszhhhsphszhhpzn 16779332 磛 15715 hszhhhspphshpszh 16778172 輴 15716 hszhhhspphsszhhh 16778538 輸 15717 hszhhhspnhszhhss 33565380 輷 15718 hszhhhspznhhhszh 33558079 輶 15719 hszhhhsnphszpzhh 16786063 墼 15720 hszhhhszspzznhsh 33559814 輮 15721 hszhhhsznzsphspn 16782748 頼 15722 hszhspnhpszhhhpn 16782010 整 15723 hszhspnphpnhshsh 16786813 賴 15724 hszhspnpzszhhhpn 33561974 橐 15725 hszhsnzhpszhhspn 16778973 覧 15726 hszhszphnszhhhpz 16782040 融 15727 hszhsznphsszhshn 16782735 翮 15728 hszhsznphsznhznh 16779476 鋻 15729 hszhszznpnhhsnph 33560238 頭 15730 hszhnphhpszhhhpn 33565808 瓢 15731 hszsshhhspnppznn 16783060 醛 15732 hszpzhhhsspnhhsh 16783510 醐 15733 hszpzhhhsszhpzhh 16779584 醎 15734 hszpzhhhphszhzpn 16780926 醍 15735 hszpzhhszhhhshpn 16784416 醖 15736 hszpzhhszhhszssh 33568944 醒 15737 hszpzhhszhhphhsh 16784919 醙 15738 hszpzhhpshzhhszn 33564743 醜 15739 hszpzhhpszhhpzzn 33556302 醕 15740 hszpzhhnhszhszhh 33556575 醝 15741 hszpzhhnphhhphsh 16778096 醚 15742 hszpzhhnphspnnzn 16781650 醓 15743 hszpzhhnzpzszssh 16784256 醑 15744 hszpzhhzshpnszhh 16785355 醗 15745 hszpzhhznppnhhpz 33557366 攳 15746 hsznzhhhshszhhsn 33566602 瑿 15747 hphhpnzpzznhhshn 16785602 瞖 15748 hphhpnzpzznszhhh 33567951 鹥 15749 hphhpnzpzznpznzh 16785600 勵 15750 hphssszhhszshnzp 33562670 觱 15751 hphszhzpnpzpzhhs 16777787 匴 15752 hphnphnszhhhhpsz 33564886 磧 15753 hpszhhhshszhhhpn 33564104 磡 15754 hpszhhsshhhpnzzp 16780327 磺 15755 hpszhhsshszhshpn 16779728 磚 15756 hpszhhszhhshnhsn 33569960 磦 15757 hpszhhszsshhhspn 33555412 磭 15758 hpszhhphhzpnszhh 33556618 磩 15759 hpszhhpshhspnzpn 33563957 磢 15760 hpszhhpnpnpnpnpn 33564251 磠 15761 hpszhshszpnnnnnh 16782558 磥 15762 hpszhszhshzznspn 16782137 磪 15763 hpszhszspsnhhhsh 16778060 磮 15764 hpszhszspnhszhss 0 磞 15765 hpszhszspzhhpzhh 33563593 磫 15766 hpszhppspnpnshpn 33569118 磜 15767 hpszhpznnznhhspn 33564101 磲 15768 hpszhnnhhzhzhspn 16783483 磖 15769 hpszhznhznhpszhh 33561904 磟 15770 hpszhznhznhpnppp 16782588 磣 15771 hpszhznznznpnppp 33556154 靦 15772 hpszsshhhszhhhpz 16781690 歷 15773 hpphspnphspnshsh 16782347 曆 15774 hpphspnphspnszhh 33562639 赝 15775 hppspsnhhhshszpn 16785870 奯 15776 hpnshshhphsppzpn 33558649 橜 15777 hpnphzsppzpnhspn 33560746 憠 15778 hpnphzsppzpnnznn 33560767 奮 15779 hpnpsnhhhshszhsh 33557559 頰 15780 hpnpnpnhpszhhhpn 33560035 飙 15781 hpnnhpnnhpnnpzpn 16777849 豮 15782 hpzpppnhshssszpn 33557541 豱 15783 hpzpppnszhhszssh 33566525 豭 15784 hpzpppnzhshhzhzn 16780828 殪 15785 hpznhshnzhszhnph 16785713 殩 15786 hpznhpznznnphspn 33555775 殨 15787 hpznszhshszhhhpn 33558561 殫 15788 hpznszhszhszhhhs 33556701 殧 15789 hpznnhszhspnhpzn 33555750 霕 15790 hnzsnnnnhhznhzsz 33566106 霒 15791 hnzsnnnnhhznpnnz 33567638 霙 15792 hnzsnnnnhssszhpn 16780662 霖 15793 hnzsnnnnhspnhspn 16782197 霋 15794 hnzsnnnnhzhhszph 33563943 霏 15795 hnzsnnnnshhhshhh 16779126 霓 15796 hnzsnnnnpshzhhpz 16781853 霍 15797 hnzsnnnnpsnhhhsh 16779828 霌 15798 hnzsnnnnpzhshszh 33569652 霎 15799 hnzsnnnnnhnphzph 16783811 霑 15800 hnzsnnnnnnhshszh 33569356 霗 15801 hnzsnnnnnnhpnnzn 33562380 霔 15802 hnzsnnnnnnhnhhsh 33569911 霐 15803 hnzsnnnnnnhzhzzn 33566164 螶 15804 hzhzszhshnszhshn 33564495 錾 15805 hzshpphspnhhsnph 16786392 辙 15806 hzshnhznszhhphpn 16786724 辚 15807 hzshnphspnpznhzs 16782208 虦 15808 hzpnhzpnshzphzpz 33569392 臻 15809 hznhshhhhpnphspn 16786765 頸 15810 hzzzhshhpszhhhpn 33558894 鬨 15811 shhshhhshshsshpn 33558146 錖 15812 shhspnznpnhhsnph 33557192 冀 15813 shhpzszhshhsshpn 16780790 頻 15814 shshspphpszhhhpn 33563667 齓 15815 shshpnpnhpnpnzsz 33556156 頥 15816 shszhszhpszhhhpn 33567768 鹾 15817 shszpnhnphhhphsh 16778095 鹷 15818 shszpnnnnnhpnnzn 33562412 韰 15819 shpznznshhhshhhh 33567242 餐 15820 shpznznpnnzhhzpn 16777913 叡 15821 shnzhpnpnszhhhzn 16782812 鬳 15822 shzphzhszhsznphs 33560686 遽 15823 shzphzhpzpppnnzn 16781235 戱 15824 shzphzsszshhhzpn 33566782 皻 15825 shzphzszhhhzpszn 33569310 盧 15826 shzphzszhshszssh 33562987 虥 15827 shzphzpzhzpnhzpn 16786660 虤 15828 shzphzpzshzphzpz 33568100 黺 15829 ssnphnpszspnpnzp 33557556 氅 15830 snpszszhphpnphhz 16778217 瞔 15831 szhhhhhshszhhhpn 33569060 瞡 15832 szhhhhhpnszhhhpz 33559988 瞞 15833 szhhhhsshszspnpn 33560906 縣 15834 szhhhhspnpzznspn 33566987 瞘 15835 szhhhhszhszhszhz 33559424 瞟 15836 szhhhhszsshhhspn 16783062 曉 15837 szhhhshhshhshhpz 33567118 暿 15838 szhhhshszhnphszh 33566770 曀 15839 szhhhshnzhszhnph 16785606 曔 15840 szhhhsspzszhphpn 33559768 瞠 15841 szhhhsnpnzszhhsh 16778294 瞜 15842 szhhhszhhszhszph 33562297 瞣 15843 szhhhszhszhsnznn 33558407 曋 15844 szhhhszsshszhhhs 33563895 瞗 15845 szhhhpszhhhznnnn 33557082 鴠 15846 szhhhpszhhhznnnn 16778643 鴡 15847 szhhhpszhhhznnnn 33560548 瞛 15848 szhhhppspnpnshpn 33555642 賰 15849 szhhhpnhhhpnszhh 33565486 賳 15850 szhhhpnhshszhzpn 33568978 賵 15851 szhhhpnszhhszhhh 16779232 賯 15852 szhhhpnpzszhhzsh 33561244 暸 15853 szhhhpnnpszhhspn 16782470 賱 15854 szhhhpnnzhszhhhs 33568933 瞕 15855 szhhhnhnphszhhhs 16786687 瞚 15856 szhhhnnzhszhshpn 16784179 曇 15857 szhhhnzsnnnnhhzn 33565621 瞰 15858 szhhhzhsshhhphpn 16780325 嚄 15859 szhhsspsnhhhshzn 16777410 嚆 15860 szhhssnhszhszszh 16779426 鴨 15861 szhhspszhhhznnnn 33568022 噤 15862 szhhspnhspnhhspn 16780586 闍 15863 szhhszhhhshpszhh 16778952 閸 15864 szhhszhhhshzzhsh 33559622 閾 15865 szhhszhhhszhhzpn 33568752 閹 15866 szhhszhhhpnszhhz 33568077 閶 15867 szhhszhhszhhszhh 33556002 闁 15868 szhhszhhszhhszhh 33554916 閺 15869 szhhszhhszhhnhpn 16781608 閵 15870 szhhszhhpsnhhhsh 33562368 閿 15871 szhhszhhpnnpnzzn 33566550 閽 15872 szhhszhhpzhzszhh 33558585 閻 15873 szhhszhhpzpshzhh 33568118 暻 15874 szhhszhhnhszhspn 16780632 閼 15875 szhhszhhnhzppnnn 33554694 闂 15876 szhhszhhnphhpnzz 33567070 暺 15877 szhhszhszhszhhhs 33556742 曍 15878 szhhpszhhhnhpnhs 33557967 曌 15879 szhhpzhhnnzpnhsh 16786709 暾 15880 szhhnhszhzshphpn 16784538 曈 15881 szhhnhnphszhhshh 16784351 暽 15882 szhhnphspnpznhzs 33562340 曊 15883 szhhzhzpsszhhhpn 33557517 噸 15884 szhhzszhpszhhhpn 33557272 鴞 15885 szhhzpszhhhznnnn 16785197 踳 15886 szhshshhhhpnszhh 33556504 踸 15887 szhshshhsshhhpnz 33556147 蹀 15888 szhshshhsshzhspn 16778929 蹅 15889 szhshshhspnszhhh 33555880 踾 15890 szhshshhszhszhsh 33557669 噦 15891 szhshshhphsppzpn 33558541 踶 15892 szhshshszhhhshpn 16778854 踼 15893 szhshshszhhhpzpp 16784276 踹 15894 szhshshszshpszss 16778491 踿 15895 szhshshphspnnppn 33569220 踵 15896 szhshshphszhhshh 16786830 踽 15897 szhshshpszhszshn 16781212 踲 15898 szhshshpphsszhhh 33557285 踰 15899 szhshshpnhszhhss 16786120 嘴 15900 szhshshpzpzpzhhs 16786557 踱 15901 szhshshnhphsshzn 16779024 蹄 15902 szhshshnhnpnzszs 16784409 蹉 15903 szhshshnphhhphsh 16778089 蹁 15904 szhshshnzhpszhss 16783045 蹆 15905 szhshshzhhzpnnzn 33566091 踴 15906 szhshshznszhhszp 33568468 蹂 15907 szhshshznzsphspn 16782749 鴫 15908 szhshpszhhhznnnn 0 螓 15909 szhshnhhhpnphspn 16783111 螦 15910 szhshnhhshzznspn 0 螞 15911 szhshnhshhsznnnn 33560836 螧 15912 szhshnhshppzszhh 0 螨 15913 szhshnhsshszpnpn 16781404 蟒 15914 szhshnhsshpnnhps 16781432 蟆 15915 szhshnhssszhhhpn 16781366 螎 15916 szhshnhszhsznphs 33563351 螈 15917 szhshnhppszhhspn 16786275 疂 15918 szhshnhpnnzszhhh 33557135 螘 15919 szhshnszshszhnph 16785658 螩 15920 szhshnpsspznhspn 0 螑 15921 szhshnpszhhhhpnn 33567277 螅 15922 szhshnpszhhhnznn 16778025 螐 15923 szhshnpszhhznnnn 33566188 螄 15924 szhshnpszhzhhszs 33564775 螕 15925 szhshnpszpnhhzpz 33555215 螔 15926 szhshnppshzphzpz 33567797 螇 15927 szhshnpnnpzznhpn 33566703 螥 15928 szhshnpnnzhhpszh 16777930 螉 15929 szhshnpnznznhznh 16784583 螏 15930 szhshnnhpnhphhpn 33559875 螭 15931 szhshnnhpnzsszzn 16778384 螗 15932 szhshnnhpzhhsszh 16784282 螃 15933 szhshnnhnpnznhzp 16782876 螠 15934 szhshnnphpnszssh 33567956 螊 15935 szhshnnphzhhsspn 33562713 螛 15936 szhshnnnzhhhsszh 33558001 螟 15937 szhshnnzszhhnhpn 16781634 噱 15938 szhshzphzhpzpppn 16781304 噳 15939 szhshzphzszhhhpn 16786172 疁 15940 szhshznhznhpnppp 33562910 噹 15941 szhsnpnzszhszhsh 16778673 覨 15942 szhszhhhzszhhhpz 33554691 駡 15943 szhszhhshhsznnnn 16781379 器 15944 szhszhhpnnszhszh 16783251 噥 15945 szhszhsshhphhzpn 33561639 戰 15946 szhszhszhhhshzpn 33569385 噪 15947 szhszhszhszhhspn 16786419 噮 15948 szhszsshhszhpzpn 33568844 嚃 15949 szhszsshsppnnnzn 16784206 噣 15950 szhszsshpzszhshn 33569686 噬 15951 szhphnphnhspnpnh 16784058 噭 15952 szhpszhhnhzpphpn 16781053 噞 15953 szhpnhszhszhpnpn 16785871 噲 15954 szhpnhszsnphszhh 33559487 鴦 15955 szhpnpszhhhznnnn 33568231 噯 15956 szhpnnpnznznnpzn 33554453 噡 15957 szhpzhppnnhhhszh 33556696 噺 15958 szhnhnphhspnpphs 0 噷 15959 szhnhnphszhhpzpn 33566593 噫 15960 szhnhnphszhhnznn 16785601 噰 15961 szhnhzzppsnhhhsh 33568448 噻 15962 szhnnzhhsshpnhsh 16783557 嘯 15963 szhzhhspsshzhzhs 33567123 噼 15964 szhzhpszhnhnphhs 33563712 幪 15965 szshssnzhhpzpppn 16781532 嶳 15966 szshpzpppnhshhsh 33557024 還 15967 szsshhszhpzpnnzn 16779360 罹 15968 szsshnnspsnhhhsh 16782286 罻 15969 szsshzhphhspnhsn 16784827 罺 15970 szsshzzzszhhhspn 33556042 嶪 15971 szsssnphnphhhspn 33568422 嶫 15972 szsssnphnphhhspn 33568423 嶩 15973 szsszhsshhphhzpn 33561588 幧 15974 szsszhszhszhhspn 33564261 嶧 15975 szsszsshhshnphhs 33567961 嶵 15976 szsszsshshhhshhh 33569267 幯 15977 szsphnphnzhhznzs 16781075 嶼 15978 szspshhhzszhhhpn 33568676 嶭 15979 szspszhzhnhnphhs 16777366 嶶 15980 szsppsszshpzphpn 0 嶮 15981 szspnhszhszhpnpn 16785127 嶦 15982 szspzhppnnhhhszh 33569362 幨 15983 szspzhppnnhhhszh 16778654 嶰 15984 szspzpzhhszpphhs 16785284 嶬 15985 szsnphhshphshzpn 33567748 圛 15986 szszsshhshnphhsh 16785674 圜 15987 szszsshhszhpzpnh 16779658 頮 15988 szpnhpshpszhhhpn 33558522 鹦 15989 szpnszpnzphpznzh 16785548 赠 15990 szpnnpszsnphszhh 16786453 默 15991 sznphshhnnnnhpnn 16781587 黗 15992 sznphshhnnnnhzsz 33566069 黖 15993 sznphshhnnnnhzpz 33566821 黔 15994 sznphshhnnnnpnnz 16783308 黕 15995 sznphshhnnnnnzpz 16786777 骾 15996 szznzszhhhszhhpn 16780012 骽 15997 szznzszhhpnnpzph 33566095 镖 15998 phhhzhszsshhhspn 16777836 镗 15999 phhhzsnpnzszhhsh 16784267 镘 16000 phhhzszhhszsshzn 16781410 镙 16001 phhhzszhshzznspn 33563137 镚 16002 phhhzszspzhhpzhh 16777614 镛 16003 phhhznhpzhhszhhs 16786018 镜 16004 phhhznhnphszhhpz 16780642 镝 16005 phhhznhnpszhsszh 16778807 镞 16006 phhhznhzpphphhpn 16786539 镟 16007 phhhznhzpphzshpn 16785424 镠 16008 phhhzznhznhpnppp 33562903 橆 16009 phhsssshhspnhspn 16784634 甒 16010 phhsssshnnnnhzzn 16784630 鴙 16011 phhpnpszhhhznnnn 33569774 鴩 16012 phhpnpszhhhznnnn 33569779 氇 16013 phhzpzszhshhszhh 16782549 氆 16014 phhznphssnphszhh 16777508 頶 16015 phshszhhpszhhhpn 33558211 犞 16016 phshphpnszhszszh 33564688 赞 16017 phshpzphshpzszpn 16786393 犜 16018 phshnhszhzshphpn 33557275 犝 16019 phshnhnphszhhshh 33565782 憩 16020 phsszhpszhhhnznn 16783255 積 16021 phspnhhshszhhhpn 33559794 穔 16022 phspnhsshszhshpn 33558427 穑 16023 phspnhsnphszszhh 16783594 諬 16024 phspnhpznnhhhszh 33564056 馞 16025 phspnszhhhsnzzsh 33555119 馟 16026 phspnszhhpnnpzsh 33566031 馠 16027 phspnszhhpnnzszh 33557813 穓 16028 phspnszhshhsshpn 33567898 穒 16029 phspnpszhhhznnnn 0 穆 16030 phspnpszhhspnppp 16781733 穏 16031 phspnpnnpzhhnznn 16784852 頹 16032 phspnpzhpszhhhpn 33566076 頽 16033 phspnpzhpszhhhpn 33566078 穐 16034 phspnpzszhhszhhz 33564387 錅 16035 phspnpzppnhhsnph 33562457 穄 16036 phspnpznnznhhspn 16780777 穅 16037 phspnnhpzhhsnhpn 16780328 醔 16038 phspnnppnhszpzhh 33556265 頺 16039 phspnzphpszhhhpn 33566077 穋 16040 phspnznhznhpnppp 16782571 穇 16041 phspnznznznpnppp 16783825 勳 16042 phsznphshhnnnnzp 33567477 敽 16043 phpnszhszszhshzn 33560324 敿 16044 phpnszhszszhphpn 16783373 篝 16045 phnphnhhsshszshh 16780044 篚 16046 phnphnhshhhshhhz 16779149 篤 16047 phnphnhshhsznnnn 33557200 篢 16048 phnphnhshszhhhpn 16780028 築 16049 phnphnhshpznhspn 33569892 篫 16050 phnphnhshpznphhs 33569893 篕 16051 phnphnhshznszssh 33558016 遾 16052 phnphnhspnpnhnzn 33565352 篥 16053 phnphnhszsshhspn 16782378 篴 16054 phnphnhpzpppnnzn 16778829 篮 16055 phnphnssphnszssh 16782035 篡 16056 phnphnszhhhhpnzn 16778053 篹 16057 phnphnszhhhhpnzz 16778054 篳 16058 phnphnszhhhsshhs 33555336 篔 16059 phnphnszhszhhhpn 16786341 篯 16060 phnphnphhhzhhzpn 16780905 簉 16061 phnphnphshszhnzn 33569037 篟 16062 phnphnpshhshszhh 16783328 篠 16063 phnphnpsspznhspn 16785231 篗 16064 phnphnpsnhhhshzn 33568883 篩 16065 phnphnpszhzhhszs 33565011 篦 16066 phnphnpszpnhhzpz 16777784 篪 16067 phnphnppshzphzpz 16778408 篬 16068 phnphnpnnzhhpszh 33564237 篷 16069 phnphnpznhhhsnzn 16782939 篘 16070 phnphnpzzsppzzsp 16778347 簑 16071 phnphnnhszhhpzpn 16783777 篙 16072 phnphnnhszhszszh 16779930 篱 16073 phnphnnhpnzsszzn 16782307 篖 16074 phnphnnhpzhhsszh 33565681 篭 16075 phnphnnhnphszhhz 33562257 篰 16076 phnphnnhnphszhzs 16777890 篣 16077 phnphnnhnpnznhzp 33563525 篞 16078 phnphnnnhszhhhsh 33561835 篧 16079 phnphnnzpsnhhhsh 16787117 篛 16080 phnphnzhznhzhznh 16782825 篜 16081 phnphnzszpnhnnnn 16786807 舉 16082 pshhhzszhhhpnhhs 33560612 興 16083 pshhszhszhzhhhpn 33566624 盥 16084 pshhszpnzhhszssh 16780183 壆 16085 pshhpnpnzhhnzhsh 16785440 嶨 16086 pshhpnpnzhhnzszs 16785435 學 16087 pshhpnpnzhhnzzsh 16785439 儓 16088 pshshszhnzhznhsh 16784216 儔 16089 pshshzhshhszhhsn 33556268 憊 16090 pshsshpszhhsnznn 33554995 儖 16091 pshszhszphnszssh 33561980 儞 16092 pshpnszspnpnpnpn 33561714 儒 16093 pshnzsnnnnhpszss 16782762 毇 16094 pshzhhnphspnpzzn 33558502 賲 16095 psszhhspnszhhhpn 33554945 儑 16096 psszhhzznzznnnnn 33554520 儛 16097 psphhsssshpznhzs 16784631 儗 16098 pspzphhpnznzshpn 16781869 雔 16099 psnhhhshpsnhhhsh 33556293 燞 16100 psnhhhshpzpnnnnn 0 儫 16101 psnhszhnzhpzpppn 33557924 儣 16102 psnhphsshszhshpn 33559518 儕 16103 psnhnpszppznpshh 33555900 儝 16104 psnppnnppnnzhspn 33564355 儐 16105 psnnzhsppszhhhpn 33555151 儜 16106 psnnznznnszsshhs 16781823 皟 16107 pszhhhhshszhhhpn 33569062 臲 16108 pszhhhhspnpzhpzz 16781942 劓 16109 pszhhhszhshhpsss 16785708 鼽 16110 pszhhhszhshhpspz 16783425 鼼 16111 pszhhhszhshhpszs 33568053 躽 16112 pszhhhphszhhzphz 33568163 翱 16113 pszhhhpnhsznhznh 16777305 躾 16114 pszhhhpnphhshhpn 0 曁 16115 pszhhhzhzpzszhhh 33559998 鴚 16116 pszhhhznnnnhszhs 33558813 鴏 16117 pszhhhznnnnpshzn 33565731 鴤 16118 pszhhhznnnnpznnn 33569614 鴥 16119 pszhhhznnnnnnzpn 16786191 鴕 16120 pszhhhznnnnnnzpz 33566132 儘 16121 pszhhshnnnnszssh 16780566 皠 16122 pszhhszspsnhhhsh 33555788 皡 16123 pszhhpszhhnhpnhs 33557957 魉 16124 pszhhpzznhszpnpn 16782438 魈 16125 pszhhpzznsnpszhh 16785203 邀 16126 pszhhnhzpphpnnzn 16785931 衠 16127 ppshsszhhhhpnhhs 33570002 徼 16128 ppspszhhnhzpphpn 16781043 徻 16129 ppspnhszsnphszhh 16784832 衡 16130 ppspzszhshhpnhhs 16779504 衞 16131 ppszshszhhszshhs 16784822 衟 16132 ppszzzhpszhhhhhs 33556805 澃 16133 ppphpszhhhpnszpn 33560481 艙 16134 ppznhnpnnzhhpszh 33555550 螌 16135 ppznhnpzznszhshn 33554861 褩 16136 ppznhnpzznnhpzpn 33554858 縏 16137 ppznhnpzznzznspn 16782850 艕 16138 ppznhnnhnpnznhzp 16777516 艗 16139 ppznhnnphpnszssh 16785688 舘 16140 pnhhsszhnnzszhzh 33559095 錱 16141 pnhhsnphhhshhhsh 33569504 錻 16142 pnhhsnphhhshshzn 0 錆 16143 pnhhsnphhhshszhh 33564224 錶 16144 pnhhsnphhhshpzpn 16777854 鋹 16145 pnhhsnphhshhhzpn 16778223 鍺 16146 pnhhsnphhshpszhh 33569019 錴 16147 pnhhsnphhshpnhsh 33563023 錂 16148 pnhhsnphhshpnpzn 33562373 錏 16149 pnhhsnphhshzzhsh 16785770 錤 16150 pnhhsnphhsshhhpn 16783191 鎁 16151 pnhhsnphhsshhhzs 33568379 鋷 16152 pnhhsnphhsshhhzn 33569269 錯 16153 pnhhsnphhsshszhh 33555845 鍩 16154 pnhhsnphhsshpszh 33561880 錨 16155 pnhhsnphhssszhsh 33560973 鍈 16156 pnhhsnphhssszhpn 33567651 鍣 16157 pnhhsnphhsszpszh 33569427 錸 16158 pnhhsnphhspnpnpn 33561940 錰 16159 pnhhsnphhspnnnnn 33565417 錷 16160 pnhhsnphhszhhhsz 33558680 錬 16161 pnhhsnphhszhhspn 16782414 錼 16162 pnhhsnphhpnhhspn 16781777 錛 16163 pnhhsnphhpnhshps 33555020 錡 16164 pnhhsnphhpnhszhs 16783190 錽 16165 pnhhsnphhnppnpzn 33560140 錢 16166 pnhhsnphhzpnhzpn 33564168 錹 16167 pnhhsnphshshszhh 33559393 鋽 16168 pnhhsnphshszhhhs 33557110 錿 16169 pnhhsnphshzphzpz 0 鋿 16170 pnhhsnphsnpszszh 33556026 鍀 16171 pnhhsnphszhhhhsn 33556816 錁 16172 pnhhsnphszhhhspn 33559270 錕 16173 pnhhsnphszhhhzpz 33559603 錩 16174 pnhhsnphszhhszhh 16778199 鍆 16175 pnhhsnphszhhszhh 33561062 錫 16176 pnhhsnphszhhpzpp 33565903 錪 16177 pnhhsnphszhsshpn 33557047 錮 16178 pnhhsnphszhsszhh 33559041 錌 16179 pnhhsnphszshphhs 33554518 錔 16180 pnhhsnphszpnszhh 16784200 鋼 16181 pnhhsnphsznphszs 33558771 鍋 16182 pnhhsnphszzszszh 33559246 錘 16183 pnhhsnphphshsshh 33556538 錗 16184 pnhhsnphphspnzph 33566479 錐 16185 pnhhsnphpsnhhhsh 33569986 錦 16186 pnhhsnphpszhhszs 33559653 錍 16187 pnhhsnphpszhhphs 33563724 鍁 16188 pnhhsnphpphspzpn 33566881 鍂 16189 pnhhsnphpnhhsnph 0 錀 16190 pnhhsnphpnhszhss 16782604 錜 16191 pnhhsnphpnnznznn 33561804 錋 16192 pnhhsnphpzhhpzhh 33563596 錭 16193 pnhhsnphpzhshszh 33565716 錉 16194 pnhhsnphpzhzszhh 33561218 鋾 16195 pnhhsnphpzphhszs 33565725 錎 16196 pnhhsnphpzpshzhh 33566980 鍃 16197 pnhhsnphpzppnznn 33555635 憌 16198 pnhhsnphpznhnznn 33556573 鍄 16199 pnhhsnphnhszhspn 33562795 錞 16200 pnhhsnphnhszhzsh 16778544 錊 16201 pnhhsnphnhpnpnhs 33569257 錇 16202 pnhhsnphnhnphszh 33557656 錥 16203 pnhhsnphnhznszhh 33568700 錈 16204 pnhhsnphnphhpnzz 33560680 錟 16205 pnhhsnphnppnnppn 33565604 鍅 16206 pnhhsnphnnhhshzn 0 錝 16207 pnhhsnphnnzhhspn 33555659 錠 16208 pnhhsnphnnzhshpn 33556933 錧 16209 pnhhsnphnnzszhzh 33559096 鋺 16210 pnhhsnphnnzpznzz 33568790 鎯 16211 pnhhsnphnzhhznzs 33563156 錑 16212 pnhhsnphnzhphpnn 33562193 鍵 16213 pnhhsnphzhhhhszn 33560202 録 16214 pnhhsnphzhhsnhpn 16782569 鋸 16215 pnhhsnphzhphsszh 33560565 錳 16216 pnhhsnphzshszssh 33561115 錣 16217 pnhhsnphznznznzn 33570012 錄 16218 pnhhsnphzzhsnhpn 33563014 錙 16219 pnhhsnphzzzszhsh 33569165 閷 16220 pnhspnszhhszhhpn 33565014 覦 16221 pnhszhhssszhhhpz 33568636 劒 16222 pnhszhszhpnpnzpn 33560206 劔 16223 pnhszhszhpnpnzpn 33560207 歙 16224 pnhszhznhznhpzpn 16783915 頱 16225 pnnphsnhpszhhhpn 33562131 貒 16226 pnnpzppszshpszss 33566056 貐 16227 pnnpzpppnhszhhss 33568671 墾 16228 pnnpzppzhhzpnhsh 33559399 貑 16229 pnnpzppzhshhzhzn 33560021 餦 16230 pnnzhhznhshhhzpn 33569405 餴 16231 pnnzhhznhpnhshps 33557530 餣 16232 pnnzhhznhpnszhhz 33568397 餞 16233 pnnzhhznhzpnhzpn 16780939 餜 16234 pnnzhhznszhhhspn 33559271 餛 16235 pnnzhhznszhhhzpz 33558589 餠 16236 pnnzhhznphhpphhs 33555190 餧 16237 pnnzhhznphspnzph 16784812 餚 16238 pnnzhhznpnhpszhh 16785936 餩 16239 pnnzhhznpnnhzppn 16777345 餡 16240 pnnzhhznpzpshzhh 33566985 餢 16241 pnnzhhznnhnphszh 33555459 餤 16242 pnnzhhznnppnnppn 16784239 館 16243 pnnzhhznnnzszhzh 33559098 餟 16244 pnnzhhznznznznzn 16787079 盦 16245 pnnzhszpzhhszssh 16777269 頷 16246 pnnzszhhpszhhhpn 33557865 鴒 16247 pnnznpszhhhznnnn 16782234 膩 16248 pzhhhhhszhhhpnzn 16781884 膮 16249 pzhhhshhshhshhpz 33567099 膹 16250 pzhhhshssszhhhpn 33557563 膨 16251 pzhhhshszhnphppp 16782933 臈 16252 pzhhhssszhhpzpnz 33561923 膸 16253 pzhhhphshszhhnzn 33564906 膫 16254 pzhhhpnnpszhhspn 16782460 頴 16255 pzhhspnhpszhhhpn 33567711 膶 16256 pzhhszhhszhhhhsh 33563457 膭 16257 pzhhszhshszhhhpn 33559163 膴 16258 pzhhphhsssshnnnn 16779570 膬 16259 pzhhphhzphhzphhz 33555803 臇 16260 pzhhpsnhhhshszsz 16781267 膲 16261 pzhhpsnhhhshnnnn 16781018 膰 16262 pzhhpnphspnszhsh 16779081 朤 16263 pzhhpzhhpzhhpzhh 33562073 朣 16264 pzhhnhnphszhhshh 16784337 膱 16265 pzhhnhnphszhhzpn 33569735 膪 16266 pzhhnhnpnzszsszh 33569341 膳 16267 pzhhnphhhsnphszh 16783855 螣 16268 pzhhnphhpnszhshn 16784320 縢 16269 pzhhnphhpnzznspn 16784324 膦 16270 pzhhnphspnpznhzs 16782411 朥 16271 pzhhnppnnppnnzzp 0 膙 16272 pzhhzhzszhszhshn 16780990 膯 16273 pzhhznppnhszhnph 33565740 雕 16274 pzhshszhpsnhhhsh 16778910 鴟 16275 pzhznpszhhhznnnn 33556311 鲭 16276 pzszhshhhhshszhh 16783137 鲮 16277 pzszhshhhshpnpzn 16782253 鲯 16278 pzszhshhhsshhhpn 33564010 鲰 16279 pzszhshhhsshhhzn 16786475 鲱 16280 pzszhshhshhhshhh 16779134 鲲 16281 pzszhshhszhhhzpz 16780534 鲳 16282 pzszhshhszhhszhh 16778201 鲴 16283 pzszhshhszhsszhh 33559046 鲵 16284 pzszhshhpshzhhpz 16781864 鲶 16285 pzszhshhpnnznznn 33561755 鲷 16286 pzszhshhpzhshszh 16778907 鲸 16287 pzszhshhnhszhspn 16780615 鲺 16288 pzszhshhzpszhshn 33565278 鲹 16289 pzszhshhznhpnppp 33565168 鲻 16290 pzszhshhzzzszhsh 16786506 鮇 16291 pzszhshnnnnhhspn 33566495 魼 16292 pzszhshnnnnhshzn 33564459 魽 16293 pzszhshnnnnhsshh 33557812 鮕 16294 pzszhshnnnnhsszh 33558992 魺 16295 pzszhshnnnnhszhs 33558868 魾 16296 pzszhshnnnnhpsnh 33563733 鮖 16297 pzszhshnnnnhpszh 0 鮁 16298 pzszhshnnnnhpznn 33554822 鮃 16299 pzszhshnnnnhnphs 33563691 鮎 16300 pzszhshnnnnshszh 33561754 魻 16301 pzszhshnnnnszhhs 33566848 鮋 16302 pzszhshnnnnszhsh 33568514 鮂 16303 pzszhshnnnnszpnh 33564422 鮏 16304 pzszhshnnnnphhsh 33566628 鮓 16305 pzszhshnnnnphshh 16786606 穌 16306 pzszhshnnnnphspn 16783686 鮒 16307 pzszhshnnnnpshsn 33557770 鮘 16308 pzszhshnnnnpshzn 0 鮊 16309 pzszhshnnnnpszhh 33554824 魿 16310 pzszhshnnnnpnnzn 33562418 鮣 16311 pzszhshnnnnpzhzs 33567629 鮈 16312 pzszhshnnnnpzszh 33560553 鮗 16313 pzszhshnnnnpznnn 0 鮑 16314 pzszhshnnnnpzzhz 33554954 鮌 16315 pzszhshnnnnnhzzn 33559228 鮀 16316 pzszhshnnnnnnzpz 16784570 鮅 16317 pzszhshnnnnnznpn 33555290 鮄 16318 pzszhshnnnnzhzps 33557689 鮉 16319 pzszhshnnnnzpszh 33557081 鮍 16320 pzszhshnnnnzpszn 33560649 鮐 16321 pzszhshnnnnznszh 33565570 鴝 16322 pzszhpszhhhznnnn 33564475 獲 16323 pzphsspsnhhhshzn 33558651 獴 16324 pzphssnzhhpzpppn 16781533 穎 16325 pzphspnhpszhhhpn 33567713 獭 16326 pzphszhspnpzszpn 16784198 獩 16327 pzpshshhphsppzpn 33558545 燄 16328 pzpshzhhnppnnppn 33568216 颵 16329 pzpszhshnsnpszhh 33565116 颴 16330 pzpszhshnphzshpn 33567429 獧 16331 pzpszsshhszhpzpn 16781278 獨 16332 pzpszsshpzszhshn 33557173 獥 16333 pzppszhhnhzpphpn 33566740 獫 16334 pzppnhszhszhpnpn 33566956 獪 16335 pzppnhszsnphszhh 33559485 獬 16336 pzppzpzhhszpphhs 16785273 飚 16337 pzpnnppnnppnnppn 16777850 邂 16338 pzpzhhszpphhsnzn 16785276 膧 16339 pznhnhnphszhhshh 33565784 毈 16340 pznpzsnpshhhpzzn 16778990 郺 16341 pznpznzzzszhzshz 33568454 頯 16342 pznnhpshpszhhhpn 16780501 鴛 16343 pznzzpszhhhznnnn 33568776 謀 16344 nhhhszhhsshhhspn 33561201 諶 16345 nhhhszhhsshhhpnz 33556145 諽 16346 nhhhszhhsshszhhs 33558864 諜 16347 nhhhszhhsshzhspn 33557150 謊 16348 nhhhszhhssnhzpsz 33558448 諵 16349 nhhhszhhssznphhs 16781789 諨 16350 nhhhszhhszhszhsh 33557705 諲 16351 nhhhszhhszsshhsh 33567545 諫 16352 nhhhszhhsznphspn 33560230 諴 16353 nhhhszhhphszhzpn 16785112 諧 16354 nhhhszhhzpzpszhh 33567173 謔 16355 nhhhszhshzphzhzh 33561895 諟 16356 nhhhszhszhhhshpn 16784079 諹 16357 nhhhszhszhhhpzpp 33568262 諿 16358 nhhhszhszhhsshhh 33564106 謃 16359 nhhhszhszhhphhsh 0 謁 16360 nhhhszhszhhpzpnz 33568390 謂 16361 nhhhszhszhshszhh 33566476 諰 16362 nhhhszhszhshnznn 33566773 諤 16363 nhhhszhszhszhhhz 33554706 諯 16364 nhhhszhszshpszss 33556503 諥 16365 nhhhszhphszhhshh 33569650 謏 16366 nhhhszhpshzhhszn 16783636 諻 16367 nhhhszhpszhhhhsh 33558060 謉 16368 nhhhszhpszhhpzzn 33559577 諭 16369 nhhhszhpnhszhhss 33568765 諡 16370 nhhhszhpnhzszssh 16784080 諼 16371 nhhhszhpnnphhpzn 33567392 諷 16372 nhhhszhpzpszhshn 33557596 諪 16373 nhhhszhnhszhnzhs 33565840 諮 16374 nhhhszhnhpzpnszh 33569191 諳 16375 nhhhszhnhnphszhh 33554501 諺 16376 nhhhszhnhnphpppp 33568228 諦 16377 nhhhszhnhnpnzszs 33557033 謎 16378 nhhhszhnphspnnzn 33561046 諠 16379 nhhhszhnnzhszhhh 16785405 諢 16380 nhhhszhnzhszhhhs 33558613 諞 16381 nhhhszhnzhpszhss 33563783 諱 16382 nhhhszhzshszhhzs 33558578 諝 16383 nhhhszhzshpnszhh 16785360 褭 16384 nhhshhsznnnnpzpn 33561780 憑 16385 nhhshhsznnnnnznn 33563693 撉 16386 nhszhzshphpnphhs 33557274 憝 16387 nhszhzshphpnnznn 16778998 亸 16388 nhszhzshnpszhhhs 16779034 褱 16389 nhszsshsnhpnpzpn 16779639 邅 16390 nhszszhhszhhhnzn 16786637 鄺 16391 nhphsshszhshpnzs 33559523 鹧 16392 nhphsshnnnnpznzh 16786735 磨 16393 nhphspnhspnhpszh 16781564 穈 16394 nhphspnhspnphspn 16781517 廧 16395 nhphspnpnhszszhh 16783351 凞 16396 nhphszhszzhznnnn 16784991 噟 16397 nhppspsnhhhshszh 33567729 廥 16398 nhppnhszsnphszhh 33559085 廨 16399 nhppzpzhhszpphhs 16785291 赟 16400 nhpnhhshshznszpn 33568887 瘽 16401 nhpnhhsshszhhhsh 33559680 癀 16402 nhpnhhsshszhshpn 33558425 瘷 16403 nhpnhhszhspnphpn 33564963 瘶 16404 nhpnhhszhspnpzpn 33564761 瘭 16405 nhpnhhszsshhhspn 16777834 瘱 16406 nhpnhhpnpnpnnznn 33567873 瘻 16407 nhpnhszhhszhszph 33562315 瘰 16408 nhpnhszhshzznspn 16782627 廪 16409 nhpnhszszhhhhspn 16777704 廩 16410 nhpnhszszhhphspn 33562358 瘿 16411 nhpnhszpnszpnzph 16785580 瘲 16412 nhpnhppspnpnshpn 16786468 瘹 16413 nhpnhpnhhsnphpzn 33557094 瘵 16414 nhpnhpznnznhhspn 16786622 瘴 16415 nhpnhnhnphszhhhs 16786683 瘯 16416 nhpnhnhzpphphhpn 16778039 瘺 16417 nhpnhzhphszsnnnn 16782194 瘬 16418 nhpnhzhzhshhhzpn 33569414 癃 16419 nhpnhzspznhphhsh 16782162 瘾 16420 nhpnhzspzzhhnznn 16785524 瘸 16421 nhpnhzpszhszpnpn 16783527 瘳 16422 nhpnhznhznhpnppp 16778343 瘮 16423 nhpnhznznznpnppp 33565197 螤 16424 nhpnszhshnszhhpn 33568674 螡 16425 nhpnszhshnszhshn 33566546 斓 16426 nhpnnszhsznphspn 16782028 襃 16427 nhpzhszhhspnpzpn 33554913 廦 16428 nhpzhpszhnhnphhs 33555330 麆 16429 nhpzsshhzpzszhhh 33569932 麇 16430 nhpzsshhzpzphspn 16781333 麅 16431 nhpzsshhzpzpzzhz 33563534 麈 16432 nhpzsshhzpznhhsh 16787020 凝 16433 nhpzphhpnznzshpn 16781845 親 16434 nhnphhspnszhhhpz 33563864 竱 16435 nhnphhszhhshnhsn 33569966 辨 16436 nhnphhpnpnhnphhs 16777822 辩 16437 nhnphhpnznhnphhs 16777823 辦 16438 nhnphhpzpnhnphhs 33554882 辧 16439 nhnphhpzpnhnphhs 33555377 龍 16440 nhnphszhhhzhzhhh 33562243 氃 16441 nhnphszhhshhphhz 33565760 嬜 16442 nhnphszhhpzpnzph 33566591 韸 16443 nhnphszhhpznhhhs 33563617 鴗 16444 nhnphpszhhhznnnn 16782332 劑 16445 nhnpszppznpshhss 16780794 嬴 16446 nhzszhpzhhzphpzn 16785566 膐 16447 nhzpphpzpnszpnpn 33563198 旙 16448 nhzppnphspnszhsh 33557392 旘 16449 nhzpnhnphszhhzpn 33569836 壅 16450 nhzzppsnhhhshhsh 16786026 阛 16451 nszszsshhszhpzpn 33558357 敾 16452 nphhhsnphszhphpn 33565061 歚 16453 nphhhsnphszhpzpn 0 羱 16454 nphhhphppszhhspn 16786282 羲 16455 nphhshphspnhzzpn 16784982 駦 16456 nphhpnhshhsznnnn 33565754 糒 16457 nphspnhsshpszhhs 16777587 糢 16458 nphspnhssszhhhpn 16781562 糚 16459 nphspnhsszshphsh 33569980 糐 16460 nphspnhszhhsnhsn 33557652 糙 16461 nphspnphshszhnzn 16777940 糗 16462 nphspnpszhhhhpnn 16783446 甐 16463 nphspnpznhzshzzn 33562320 斴 16464 nphspnpznhzspphs 33562337 糖 16465 nphspnnhpzhhsszh 16784286 糕 16466 nphspnnphhshnnnn 16779928 糘 16467 nphspnnnzhpzpppn 0 糏 16468 nphspnzhpsnpszhh 33567236 糑 16469 nphspnzhznhzhznh 33561883 瞥 16470 npszspnphpnszhhh 16783067 甑 16471 npszsnphszhhhzzn 16786452 朆 16472 npszsnphszhhpzpp 33557523 燒 16473 nppnhshhshhshhpz 16783878 燌 16474 nppnhshssszhhhpn 33555039 熺 16475 nppnhshszhnphszh 33566713 燵 16476 nppnhshnphhhsnzn 0 燍 16477 nppnhsshhhpnpphs 33564783 燤 16478 nppnhssszhhszshn 33565592 燪 16479 nppnhsspzppnnznn 33555654 燂 16480 nppnhszsshszhhhs 16783306 燎 16481 nppnhpnnpszhhspn 16782463 熸 16482 nppnhzpzhzpzszhh 16780899 熶 16483 nppnszhhhsshhhzn 33555776 燗 16484 nppnszhhszhhpzhh 33562048 燘 16485 nppnszhhszhhnhpn 33561043 燜 16486 nppnszhhszhhnznn 33561077 燝 16487 nppnszhhnhszhspn 0 燀 16488 nppnszhszhszhhhs 16778188 燆 16489 nppnphpnszhszszh 33564290 燋 16490 nppnpsnhhhshnnnn 16781020 燠 16491 nppnpsznphspnhpn 16786239 熻 16492 nppnpnhszhznhznh 33566714 燔 16493 nppnpnphspnszhsh 16779083 燃 16494 nppnpznnhpnnnnnn 16782669 燉 16495 nppnnhszhzshphpn 33557292 燑 16496 nppnnhnphszhhshh 33565790 熾 16497 nppnnhnphszhhzpn 33556402 燐 16498 nppnnphspnpznhzs 16782216 燇 16499 nppnnphszpzhhhsn 33560826 燧 16500 nppnnphpzpppnnzn 16783761 熷 16501 nppnnpszsnphszhh 33569090 燊 16502 nppnnppnnppnhspn 16783935 歘 16503 nppnnppnnppnpzpn 33558187 燚 16504 nppnnppnnppnnppn 33567753 螢 16505 nppnnppnnzszhshn 33567695 營 16506 nppnnppnnzszhszh 33567704 罃 16507 nppnnppnnzphhszs 16785544 褮 16508 nppnnppnnznhpzpn 33567643 憥 16509 nppnnppnnzzpnznn 33562101 縈 16510 nppnnppnnzzznspn 33567674 燖 16511 nppnzhhhshszhhsn 16785470 燈 16512 nppnznppnhszhnph 33556831 燏 16513 nppnznzspszpnszh 16786232 濏 16514 nnhhhshhhshnznpn 33564696 濭 16515 nnhhsshshznszssh 33554488 濗 16516 nnhhssszhhhpnszs 33561371 濩 16517 nnhhsspsnhhhshzn 16779841 濸 16518 nnhhsspnnzhhpszh 0 濛 16519 nnhhssnzhhpzpppn 16781540 澣 16520 nnhhsszhhhspnhhs 16779679 澿 16521 nnhhspnhspnhhspn 33563884 濋 16522 nnhhspnhspnzshpn 33556459 濇 16523 nnhhspnpnhszszhh 16783600 濑 16524 nnhhszhspnpzszpn 16782016 澸 16525 nnhhphszhzpnnznn 33556713 澪 16526 nnhhnzsnnnnpnnzn 33562429 濊 16527 nnhshshhphsppzpn 16779790 濒 16528 nnhshshspphpszpn 16777680 澯 16529 nnhshpznznnphspn 33555542 澽 16530 nnhshzphzhpzpppn 33560662 澞 16531 nnhshzphzszhhhpn 33568633 澲 16532 nnhssnphnphhhspn 33568426 澢 16533 nnhsnpnzszhszhsh 33556756 濉 16534 nnhszhhhpsnhhhsh 16783732 燙 16535 nnhszhhhpzppnppn 33565701 澠 16536 nnhszhhszhshhzhh 33561406 澷 16537 nnhszhhszsshnhzp 33560930 潞 16538 nnhszhshshpznszh 16782575 澧 16539 nnhszhsshhszhnph 16782317 濃 16540 nnhszhsshhphhzpn 33561648 澡 16541 nnhszhszhszhhspn 16786409 濖 16542 nnhszsshhshpszhh 33565439 澤 16543 nnhszsshhshnphhs 33569063 澴 16544 nnhszsshhszhpzpn 16779670 濁 16545 nnhszsshpzszhshn 33570037 澨 16546 nnhphnphnhspnpnh 16784068 瀄 16547 nnhphnphnzhhznzs 33560371 激 16548 nnhpszhhnhzpphpn 16780699 澰 16549 nnhpnhszhszhpnpn 16782423 澮 16550 nnhpnhszsnphszhh 33558309 澹 16551 nnhpzhppnnhhhszh 16778657 澥 16552 nnhpzpzhhszpphhs 16785282 澶 16553 nnhnhszszhhszhhh 16778168 澟 16554 nnhnhszszhhphspn 33562355 濂 16555 nnhnhpnphzhhsspn 16782401 澬 16556 nnhnhpzpnszhhhpn 16786505 澵 16557 nnhnhnphhspnpphs 33569526 澺 16558 nnhnhnphszhhnznn 33567974 濓 16559 nnhnhnphpzhhsspn 33562729 澭 16560 nnhnhzzppsnhhhsh 16786023 濨 16561 nnhnphzznzznnznn 33555710 濅 16562 nnhnnzzhhnzszszn 33559698 潚 16563 nnhzhhspsshzhzhs 16783706 澱 16564 nnhzhphsshpnpzzn 33557070 澼 16565 nnhzhpszhnhnphhs 16783036 錃 16566 nnhzpsznpnhhsnph 33554965 澦 16567 nnhznzshpszhhhpn 16786221 懄 16568 nnshsshszhhhshzp 33563886 懜 16569 nnshssszsshnzpzn 33561112 懞 16570 nnshssnzhhpzpppn 33561117 憷 16571 nnshspnhspnzshpn 16778471 懎 16572 nnshspnpnhszszhh 33564695 懒 16573 nnshszhspnpzszpn 16782043 憾 16574 nnshphszhzpnnznn 16779409 懅 16575 nnsshzphzhpzpppn 16783480 憴 16576 nnsszhhszhshhzhh 33565232 憹 16577 nnsszhsshhphhzpn 33561570 懆 16578 nnsszhszhszhhspn 16777950 懌 16579 nnsszsshhshnphhs 33567991 懁 16580 nnsszsshhszhpzpn 33558378 懙 16581 nnspshhhzszhhhpn 33568681 憿 16582 nnspszhhnhzpphpn 33560299 憸 16583 nnspnhszhszhpnpn 16785085 懀 16584 nnspnhszsnphszhh 33566507 懓 16585 nnspnnpnznznnpzn 33554485 憺 16586 nnspzhppnnhhhszh 16778658 懈 16587 nnspzpzhhszpphhs 16785290 懐 16588 nnsnhszsshnhpzpn 16779642 懔 16589 nnsnhszszhhhhspn 16782223 憻 16590 nnsnhszszhhszhhh 33565635 懍 16591 nnsnhszszhhphspn 33562356 憶 16592 nnsnhnphszhhnznn 33567970 厳 16593 nnphpzhsshhhphpn 16785815 獣 16594 nnpszhshhszhhpnn 16783990 黉 16595 nnpnzhsshszhshpn 16779506 鴬 16596 nnpnzpszhhhznnnn 33567642 憲 16597 nnzhhhsszsshnznn 33567011 褰 16598 nnzhhsshpnnhpzpn 16783270 寰 16599 nnzszsshhszhpzpn 16779676 窺 16600 nnzpnhhpnszhhhpz 33559544 窷 16601 nnzpnhsshhhpzpzs 33562823 窶 16602 nnzpnszhhszhszph 33560658 窵 16603 nnzpnpszhhhznnnn 16778918 鴪 16604 nnzpnpszhhhznnnn 33568703 窻 16605 nnzpnpszpznhnznn 33556519 窸 16606 nnzpnpnphspnnznn 16784983 窽 16607 nnzpnpzphhpnpzpn 0 窹 16608 nnzpnzshphszhszh 16784669 窿 16609 nnzpnzspznhphhsh 16782167 窼 16610 nnzpnzzzszhhhspn 33559358 鴧 16611 nnzpzpszhhhznnnn 33563373 襀 16612 nzspnhhshszhhhpn 33559791 褹 16613 nzspnhshpnhshpzn 33567880 襔 16614 nzspnhsshszspnpn 33560914 褿 16615 nzspnhszhsshszhh 33555568 褾 16616 nzspnhszsshhhspn 33555415 褸 16617 nzspnszhhszhszph 33563190 褷 16618 nzspnppsshshshpn 33565265 襐 16619 nzspnpzszhpzpppn 33567065 襒 16620 nzspnnpszspnphpn 33555265 褶 16621 nzspnznhznhpszhh 16786730 襂 16622 nzspnznznznpnppp 33564700 禧 16623 nzsnhshszhnphszh 16785020 禫 16624 nzsnhszsshszhhhs 16778656 禪 16625 nzsnszhszhszhhhs 33555945 禭 16626 nzsnnphpzpppnnzn 33564926 禨 16627 nzsnzznzznhpnzpn 16780695 鴓 16628 nznpnpszhhhznnnn 33561442 橤 16629 nznnnznnnznnhspn 16782803 賮 16630 zhhshnnnnszhhhpn 16780603 頵 16631 zhhpszhhpszhhhpn 33560792 彛 16632 zhhnphspnpnzphps 33567782 壂 16633 zhphsshpnpzznhsh 33557071 壁 16634 zhpszhnhnphhshsh 16777769 幦 16635 zhpszhnhnphhsszs 16781671 避 16636 zhpszhnhnphhsnzn 16777754 孹 16637 zhpszhnhnphhszsh 33555146 嬖 16638 zhpszhnhnphhszph 16777735 彊 16639 zhzhszhshhszhshh 16780995 鴖 16640 zhzhzpszhhhznnnn 33566537 犟 16641 zhzszhszhshnphhs 33560279 彋 16642 zhzszsshhszhpzpn 33558105 彇 16643 zhzzhhspsshzhzhs 33567083 隯 16644 zshshzhshhszhhsn 33556797 螴 16645 zshszhhspnszhshn 33556135 韒 16646 zshszhhzssnpszhh 33564312 隬 16647 zshpnszspnpnpnpn 33561724 隭 16648 zshnzsnnnnhpszss 33554737 燛 16649 zshzshhszhsznppn 33559740 隲 16650 zsspnphshhsznnnn 33569826 隰 16651 zsszhhzznzznnnnn 16785006 辥 16652 zsppszhzhnhnphhs 33567437 檃 16653 zspnnphshzhhhspn 33567597 隱 16654 zspnnphshzhhnznn 16785530 隮 16655 zsnhnpszppznpshh 16780697 嬳 16656 zphhsspsnhhhshzn 33566583 嬙 16657 zphhspnpnhszszhh 33564240 嬠 16658 zphszhszhszhhspn 33555508 嬕 16659 zphszsshhshnphhs 33565324 嬛 16660 zphszsshhszhpzpn 16779657 嬩 16661 zphpshhhzszhhhpn 33568594 嬝 16662 zphpszhhhznhpzpn 16781912 嬓 16663 zphpszhhnhzpphpn 33555912 嬐 16664 zphpnhszhszhpnpn 33566876 嬒 16665 zphpnhszsnphszhh 33566478 嬡 16666 zphpnnpnznznnpzn 33554463 嬔 16667 zphpzszhpznphhsh 16779092 嬗 16668 zphnhszszhhszhhh 16783843 嬢 16669 zphnhpnhhsshpzpn 16781908 嬚 16670 zphnhpnphzhhsspn 33562679 嬑 16671 zphnhnphszhhnznn 33567857 嬟 16672 zphnphhshphshzpn 33567863 嬨 16673 zphnphzznzznnznn 33555689 鴑 16674 zphznpszhhhznnnn 33563401 鴐 16675 zpszhpszhhhznnnn 33560012 鴘 16676 znhpspszhhhznnnn 33555363 翴 16677 znhznhhszhhhsnzn 33562735 鹨 16678 znhznhpnppppznzh 16782523 翯 16679 znhznhnhszhszszh 16779489 螚 16680 znszhhpzpzszhshn 16781779 氄 16681 znzspszpnszhphhz 16782746 颡 16682 znznznhspnhpszpn 16783577 缰 16683 zzhhszhshhszhshh 16780971 缱 16684 zzhszhshszhzhnzn 16783310 缲 16685 zzhszhszhszhhspn 16783357 缳 16686 zzhszsshhszhpzpn 16779660 缴 16687 zzhpszhhnhzpphpn 16781034 彜 16688 zzhnphspnpnzphps 33567783 縥 16689 zznnnnhhhpnphspn 33569534 縤 16690 zznnnnhhshzznspn 33564840 縸 16691 zznnnnhssszhhhpn 33561160 縉 16692 zznnnnhssnphszhh 33559671 縝 16693 zznnnnhsszhhhhpn 33569532 縺 16694 zznnnnhszhhhsnzn 33562690 縛 16695 zznnnnhszhhsnhsn 33557662 縟 16696 zznnnnhphhzpnhsn 33563418 縓 16697 zznnnnhppszhhspn 33564528 緻 16698 zznnnnhznhshphpn 33569853 縪 16699 zznnnnszhhhsshhs 33555251 縨 16700 zznnnnszhhsnphpz 33558451 縜 16701 zznnnnszhszhhhpn 33568896 縕 16702 zznnnnszpnhszssh 16786321 縧 16703 zznnnnpsspznhspn 33565703 縦 16704 zznnnnppsnphshpn 33569139 縚 16705 zznnnnpnnppshzhh 16784294 縘 16706 zznnnnpnnpzznhpn 33566677 縫 16707 zznnnnpznhhhsnzn 33557601 縐 16708 zznnnnpzzsppzzsp 33569676 縗 16709 zznnnnnhszhhpzpn 16784149 縞 16710 zznnnnnhszhszszh 33558791 縭 16711 zznnnnnhpnzsszzn 33562469 縍 16712 zznnnnnhnpnznhzp 33554885 縊 16713 zznnnnnphpnszssh 33567855 縑 16714 zznnnnnphzhhsspn 33560080 縖 16715 zznnnnnnzhhhsszh 33566837 縡 16716 zznnnnnnznhnphhs 16786376 縔 16717 zznnnnznznznhspn 33565462 鴢 16718 zznzppszhhhznnnn 16786092 疀 16719 zzzszhshhzhhshpn 33555857 耫 16720 hhhspnhhshszhhhpn 33569051 耬 16721 hhhspnszhhszhszph 33562284 璱 16722 hhshhhshhhshnznpn 33564691 瓂 16723 hhshhsshshznszssh 33558709 瓁 16724 hhshhsspsnhhhshzn 33558667 璴 16725 hhshhspnhspnzshpn 0 麉 16726 hhshhsnhpzsshhzpz 33560100 璨 16727 hhshshpznznnphspn 16777926 璩 16728 hhshshzphzhpzpppn 16783478 璫 16729 hhshsnpnzszhszhsh 16778674 璐 16730 hhshszhshshpznszh 16782581 璪 16731 hhshszhszhszhhspn 16786412 環 16732 hhshszsshhszhpzpn 33558376 匵 16733 hhshszsshszhhhpnz 33557167 璳 16734 hhshphhspnszhhhpn 33565936 璵 16735 hhshpshhhzszhhhpn 16786152 璬 16736 hhshpszhhnhzpphpn 33560329 璯 16737 hhshpnhszsnphszhh 16779786 璦 16738 hhshpnnpnznznnpzn 33554478 璮 16739 hhshnhszszhhszhhh 33565632 璛 16740 hhshzhhspsshzhzhs 33564870 贅 16741 hhshzpphpnszhhhpn 33569990 謷 16742 hhshzpphpnnhhhszh 16777292 覯 16743 hhsshszshhszhhhpz 33558978 膥 16744 hhspnhpzzpnszpnpn 33556558 鄻 16745 hhpnhhpnhszhhhszs 16782408 鄼 16746 hhpnhhpnszhhhpnzs 33569004 黿 16747 hhpzszhhszhshhzhh 33568826 髾 16748 hshhhznpppsnpszhh 16783882 鬁 16749 hshhhznpppphspnss 16782325 鬂 16750 hshhhznppppshshpn 33555172 髽 16751 hshhhznppppnpnhsh 16787045 髼 16752 hshhhznppppznhhhs 33563620 鬀 16753 hshhhznpppnpzhzsp 33565899 髿 16754 hshhhznpppnnhspnp 33564994 幫 16755 hshhshhsnpszhhszs 33554889 擡 16756 hshhshszhnzhznhsh 33565579 擮 16757 hshhshpsnhhhshzpn 33559904 壔 16758 hshhshzhshhszhhsn 16778704 擣 16759 hshhshzhshhszhhsn 16778705 攃 16760 hshhsspznnznhhspn 16783550 壏 16761 hshhszhszphnszssh 33562046 駴 16762 hshhsznnnnhhpszpn 16785293 駷 16763 hshhsznnnnhszhspn 33564730 駵 16764 hshhsznnnnhpshzzh 33562930 駹 16765 hshhsznnnnhpzpppn 16781428 駻 16766 hshhsznnnnszhhhhs 33557897 騁 16767 hshhsznnnnszhshhz 33556231 駽 16768 hshhsznnnnszhszhh 16785432 騀 16769 hshhsznnnnphshzpn 33554615 駼 16770 hshhsznnnnpnhhspn 33566048 騂 16771 hshhsznnnnnhnphhs 16784903 駾 16772 hshhsznnnnnpszhpz 16784534 駺 16773 hshhsznnnnnzhhzpn 33562780 駸 16774 hshhsznnnnzhhnzzn 16783104 駶 16775 hshhsznnnnzhpzszh 33560608 騃 16776 hshhsznnnnznphhpn 16777232 駿 16777 hshhsznnnnznpnpzn 33560833 擫 16778 hshhpszhhszhhhpnn 16786010 擟 16779 hshhpnszspnpnpnpn 33561321 壖 16780 hshhnzsnnnnhpszss 16782791 擩 16781 hshhnzsnnnnhpszss 16782781 趨 16782 hshshpnpzzsppzzsp 33555751 擱 16783 hshszhhszhhpznszh 33558820 戴 16784 hshszhshhsshpnzpn 16778603 鴶 16785 hshszhpszhhhznnnn 33559846 噽 16786 hshszhnphszhhpsnh 33563749 壎 16787 hshphsznphshhnnnn 16785455 螫 16788 hshpspnphpnszhshn 16784069 赯 16789 hshpspnnhpzhhsszh 33565664 擤 16790 hshpszhhhszhshhps 16784920 擨 16791 hshppshzphzpzpzpn 33568383 擬 16792 hshpzphhpnznzshpn 33561730 壕 16793 hshnhszhnzhpzpppn 16779432 壙 16794 hshnhphsshszhshpn 33559537 擴 16795 hshnhphsshszhshpn 33559636 擿 16796 hshnhnpszhsszhnzn 16786919 擠 16797 hshnhnpszppznpshh 33559927 攁 16798 hshnphhhpnnzhhzpn 33568263 盩 16799 hshnphhsphpnszssh 16786853 蟄 16800 hshnphhspznszhshn 33569485 褺 16801 hshnphhspznnhpzpn 33557111 縶 16802 hshnphhspznzznspn 33569723 擲 16803 hshnphszpzhhhpnzs 33569848 擯 16804 hshnnzhsppszhhhpn 33555180 擦 16805 hshnnzpznnznhhspn 16777893 擰 16806 hshnnznznnszsshhs 33561685 轂 16807 hshnzhhszhhhspzzn 33558989 豰 16808 hshnzhhpzpppnpzzn 33558270 皼 16809 hshnzhszhnphzpszn 33559032 觳 16810 hshnzhpzpzhhspzzn 16779591 壗 16811 hshzhhshnnnnszssh 0 聲 16812 hshzshppzznhsshhh 33565212 罄 16813 hshzshppzznphhszs 16783152 擢 16814 hshznhznhpsnhhhsh 16787116 聴 16815 hsshhhhsszsshnznn 16784378 藉 16816 hsshhhspnhsshszhh 16780752 鵈 16817 hsshhhpszhhhznnnn 0 聰 16818 hsshhhpszpznhnznn 33555640 聯 16819 hsshhhzznzznzpssh 16782393 薹 16820 hsshshszhnzhznhsh 16784221 薵 16821 hsshshzhshhszhhsn 33556290 藄 16822 hsshsshhhpnzznspn 16783217 藂 16823 hsshsshhhznpspppn 33555676 懃 16824 hsshszhhhshzpnznn 16783116 艱 16825 hsshszhhhpnzhhzpn 33560096 鞡 16826 hsshszhhshshnhnph 16781999 鞝 16827 hsshszhhssnpszszh 16786677 鞜 16828 hsshszhhsszpnszhh 33565534 鞞 16829 hsshszhhspszhhphs 16777699 鞠 16830 hsshszhhspznphspn 16781189 鞟 16831 hsshszhhsnhszhzsh 33559630 鞛 16832 hsshszhhsnhnphszh 33555051 鞚 16833 hsshszhhsnnzpnhsh 16780416 鞬 16834 hsshszhhszhhhhszn 16780897 黊 16835 hsshszhshpnhshhsh 33566718 藗 16836 hsshszhspnpzpnnzn 33564880 藍 16837 hsshszhszphnszssh 33562013 薾 16838 hsshpnszspnpnpnpn 16777393 藏 16839 hsshpzhphszhszzpn 16777937 薷 16840 hsshnzsnnnnhpszss 16782773 薱 16841 hssssnphnphhshhsn 33557261 繤 16842 hssszhhhhpnzznspn 33569242 謩 16843 hssszhhhpnnhhhszh 33561154 藈 16844 hssszhhhznppnhhpn 33559545 鄿 16845 hssszhszhszhhhszs 16783195 雚 16846 hssszhszhpsnhhhsh 16780182 藅 16847 hssszsshnhhhszhss 33557379 藒 16848 hssphspnszhhpzpnz 33564342 藊 16849 hssphspnnzhpszhss 33555361 薰 16850 hssphsznphshhnnnn 16785451 舊 16851 hsspsnhhhshpshzhh 33560517 薶 16852 hsspnnpzppszhhshh 16781382 藐 16853 hsspnnpzpppszhhpz 16781709 藓 16854 hsspzszhshhnphhhs 16785129 藑 16855 hsspzszpnszhhhpzn 33564375 薿 16856 hsspzphhpnznzshpn 16781872 藁 16857 hssnhszhszszhhspn 16779941 藃 16858 hssnhszhszszhpzpn 33567102 藱 16859 hssnhpnhpszhhpzzn 33558493 薼 16860 hssnhpzsshhzpzhsh 33556137 藡 16861 hssnhnpszhsszhnzn 33556975 薺 16862 hssnhnpszppznpshh 33559995 藀 16863 hssnppnnppnnznppn 33567698 薸 16864 hssnnhhszsshhhspn 16783055 薻 16865 hssnnhzzzszhhhspn 33569035 藆 16866 hssnnzhhsshpnphhs 33560171 薲 16867 hssnnzhsppszhhhpn 33563670 藌 16868 hssnnznznpnszhshn 33561369 薴 16869 hssnnznznnszsshhs 33561631 氋 16870 hssnzhhpzpppnphhz 33561080 韓 16871 hsszhhhszshszhhzs 16779388 藎 16872 hsszhhshnnnnszssh 33559699 賷 16873 hsszhszhnzszhhhpn 33559830 藬 16874 hsszsszhshszhhhpn 33566071 藋 16875 hssznhznhpsnhhhsh 16778824 隸 16876 hspnhhspnzhhsnhpn 33562635 檉 16877 hspnhsshhhszhhhsh 33556180 櫣 16878 hspnhsshszhhhsnzn 33562731 檋 16879 hspnhsshpnhszhhhs 33560588 檴 16880 hspnhsspsnhhhshzn 16779837 檬 16881 hspnhssnzhhpzpppn 16781537 檊 16882 hspnhsszhhhspnhhs 33558753 檚 16883 hspnhspnhspnzshpn 33556457 檣 16884 hspnhspnpnhszszhh 33564246 檒 16885 hspnhspnpzpszhshn 33557583 橿 16886 hspnhszhshhszhshh 16780976 檦 16887 hspnhszsshhhspnss 33555416 檟 16888 hspnhszsshszhhhpn 16780857 檑 16889 hspnhnzsnnnnszhsh 16782118 檅 16890 hspnshshhphsppzpn 33564924 檏 16891 hspnssnphnphhhspn 33563842 檔 16892 hspnsnpnzszhszhsh 33556761 檂 16893 hspnszhsshhphhzpn 33561642 橾 16894 hspnszhszhszhhspn 16784093 檡 16895 hspnszsshhshnphhs 33569496 檈 16896 hspnszsshhszhpzpn 33567402 檌 16897 hspnszsshshhhshhh 33569266 櫛 16898 hspnphnphnzhhznzs 33569839 檓 16899 hspnpshzhhhshpzzn 33558498 櫆 16900 hspnpszhhpzznnnhs 33559564 檪 16901 hspnpszhhnhpnhspn 33562628 檄 16902 hspnpszhhnhzpphpn 16785004 檢 16903 hspnpnhszhszhpnpn 33560163 檜 16904 hspnpnhszsnphszhh 33559213 顂 16905 hspnpnpnhpszhhhpn 33561965 麯 16906 hspnpnpnpznszhssh 33564464 麰 16907 hspnpnpnpznznphhs 16781599 檐 16908 hspnpzhppnnhhhszh 16785807 檞 16909 hspnpzpzhhszpphhs 33560430 檩 16910 hspnnhszszhhhhspn 16782222 檀 16911 hspnnhszszhhszhhh 16784246 檁 16912 hspnnhszszhhphspn 33562352 檍 16913 hspnnhnphszhhnznn 16785703 檥 16914 hspnnphhshphshzpn 33567839 檆 16915 hspnnppnnppnshszh 33565023 橚 16916 hspnzhhspsshzhzhs 16783705 檘 16917 hspnzhpszhnhnphhs 33555300 懋 16918 hspnznzsphspnnznn 16781468 轃 16919 hszhhhshhhpnphspn 33569511 轅 16920 hszhhhshshszhpzpn 33568798 轋 16921 hszhhhshszhhhsnzn 33558596 轀 16922 hszhhhsszpnhszssh 16784839 轁 16923 hszhhhspnnppshzhh 33559314 繋 16924 hszhhhspzznzznspn 16780781 轄 16925 hszhhhsnnzhhhsszh 33566843 輾 16926 hszhhhszhphsshzpn 33569366 檕 16927 hszhhhszspzznhspn 33559984 擊 16928 hszhhhszspzznphhs 16780701 輽 16929 hszhhhsznhpnszhsh 33555033 臨 16930 hszhszphszhszhszh 33562345 鍳 16931 hszhszphnpnhhsnph 33560200 鬴 16932 hszhsznphshszhhsn 33557716 豏 16933 hszhnphnphzhhsspn 16785138 翲 16934 hszsshhhspnznhznh 33563797 醘 16935 hszpzhhhshznszssh 33559357 醢 16936 hszpzhhhpszhszssh 16779365 醠 16937 hszpzhhszhpnszssh 33554551 醞 16938 hszpzhhszpnhszssh 33568945 醨 16939 hszpzhhnhpnzsszzn 16782298 醣 16940 hszpzhhnhpzhhsszh 16784284 醡 16941 hszpzhhnnzpnphshh 16786610 翳 16942 hphhpnzpzznznhznh 16785738 繄 16943 hphhpnzpzznzznspn 16785598 磽 16944 hpszhhshhshhshhpz 33564274 礂 16945 hpszhhshszhnphszh 33566672 礍 16946 hpszhhssszhhpzpnz 33559363 壓 16947 hpszhhszhhhpnnhsh 33568026 嬮 16948 hpszhhszhhhpnnzph 33568069 磹 16949 hpszhhszsshszhhhs 16778900 鄾 16950 hpszhhnznznnpznzs 16786051 礃 16951 hpszhsnpnzszhphhs 33569412 磵 16952 hpszhszhhszhhszhh 33560233 礀 16953 hpszhszhhszhhpzhh 33560179 磾 16954 hpszhszhszhszhhhs 33556953 礄 16955 hpszhphpnszhszszh 16783366 磶 16956 hpszhpshzhhpznnnn 33566826 磼 16957 hpszhpsnhhhshhspn 33568973 礁 16958 hpszhpsnhhhshnnnn 16781001 礇 16959 hpszhpsznphspnhpn 33568686 磻 16960 hpszhpnphspnszhsh 16782861 礅 16961 hpszhnhszhzshphpn 16779001 磰 16962 hpszhnphhhsnphszh 33565074 磷 16963 hpszhnphspnpznhzs 16782219 磸 16964 hpszhnphszpzhhhpn 33556943 礈 16965 hpszhnphpzpppnnzn 33569991 磳 16966 hpszhnpszsnphszhh 33569091 磱 16967 hpszhnppnnppnnzzp 33562107 磴 16968 hpszhznppnhszhnph 16778736 磯 16969 hpszhzznzznhpnzpn 33559828 鴯 16970 hpszsspszhhhznnnn 33554725 磿 16971 hpphspnphspnhpszh 33562675 鴮 16972 hpnhhzpszhhhznnnn 33566181 壐 16973 hpnszspnpnpnpnhsh 33566771 邇 16974 hpnszspnpnpnpnnzn 33554747 鹩 16975 hpnnpszhhspnpznzh 16782454 尶 16976 hpzhszhszphnszssh 33558716 尷 16977 hpzhszhszphnszssh 33558717 豲 16978 hpzpppnhppszhhspn 33558366 豯 16979 hpzpppnpnnpzznhpn 33566693 殭 16980 hpznhszhshhszhshh 33560251 鴷 16981 hpznsspszhhhznnnn 16782483 鮤 16982 hpznsspzszhshnnnn 33562872 殬 16983 hpznszsshhshnphhs 33557214 殮 16984 hpznpnhszhszhpnpn 33562768 霜 16985 hnzsnnnnhspnszhhh 16784159 霝 16986 hnzsnnnnszhszhszh 16782235 霡 16987 hnzsnnnnpzhhnzzpn 33560880 霠 16988 hnzsnnnnnhnphpnnz 33567524 霟 16989 hnzsnnnnnnhhsshpn 33558096 霘 16990 hnzsnnnnnnhszhszh 33556865 霞 16991 hnzsnnnnzhshhzhzn 16785053 霛 16992 hnzsnnnnzhzzhzzhz 33562382 霚 16993 hnzsnnnnznzspphpn 33566243 鴺 16994 hzhzpnpszhhhznnnn 33565857 鵄 16995 hznhshpszhhhznnnn 33556314 餥 16996 shhhshhhpnnzhhzpn 33557491 辪 16997 shshpszhzhnhnphhs 0 齔 16998 shshpnpnhpnpnzspz 33556157 龋 16999 shshpnzspszhszshn 16783485 龌 17000 shshpnzszhphznhsh 16784873 鴜 17001 shshpzpszhhhznnnn 33569167 鮆 17002 shshpzpzszhshnnnn 16780792 齢 17003 shshnphspnzspnnzn 16782245 豳 17004 shpzpppnhpzpppnzs 16777673 壑 17005 shnzhpnpnszhznhsh 16779488 虨 17006 shzphzhspnhspnppp 33554860 戲 17007 shzphzhszhnphhzpn 33558182 勴 17008 shzphzszhshnznnzp 33563214 虧 17009 shzphzpsnhhhshhhz 33559542 黻 17010 ssnphnpszspnhpznn 16779302 黋 17011 snphpzhsshszhshpn 33559536 瞦 17012 szhhhhshszhnphszh 33566709 瞸 17013 szhhhhsshsshzhspn 33568429 瞫 17014 szhhhhszsshszhhhs 16783948 瞭 17015 szhhhhpnnpszhhspn 33562835 謈 17016 szhhhsshpnnhhhszh 33555078 瞨 17017 szhhhssnphnphhhpn 33563824 曚 17018 szhhhssnzhhpzpppn 16781539 顆 17019 szhhhspnhpszhhhpn 33559354 瞤 17020 szhhhszhhszhhhhsh 33563451 瞷 17021 szhhhszhhszhhszhh 16780960 瞯 17022 szhhhszhhszhhpzhh 33566929 瞶 17023 szhhhszhshszhhhpn 16780524 瞴 17024 szhhhphhsssshnnnn 33566210 瞧 17025 szhhhpsnhhhshnnnn 16783375 購 17026 szhhhpnhhsshszshh 33558983 賻 17027 szhhhpnhszhhsnhsn 33557792 嬰 17028 szhhhpnszhhhpnzph 33567645 賶 17029 szhhhpnpnnzhhpszh 33555562 賹 17030 szhhhpnnphpnszssh 33554489 賺 17031 szhhhpnnphzhhsspn 33569247 瞬 17032 szhhhpnnpnzpznhzs 16784180 瞳 17033 szhhhnhnphszhhshh 16784350 瞮 17034 szhhhnhznszhhphpn 33556097 瞵 17035 szhhhnphspnpznhzs 16782211 瞩 17036 szhhhzhppszhszshn 16787021 瞪 17037 szhhhznppnhszhnph 16778734 瞲 17038 szhhhznzspszpnszh 33567353 嚇 17039 szhhshpspnhshpspn 33558039 嚋 17040 szhhshzhshhszhhsn 33556282 曗 17041 szhhssnphnphhhspn 33568435 嚏 17042 szhhsnzszhshzshpn 16784430 闀 17043 szhhszhhhsshpnzhz 33567069 闉 17044 szhhszhhhszsshhsh 16785500 闄 17045 szhhszhhhszsshzph 33568344 闌 17046 szhhszhhhsznphspn 33562012 闃 17047 szhhszhhszhhhhpnn 33564522 闅 17048 szhhszhhszhhhshzn 33566552 曐 17049 szhhszhhszhhphhsh 33566633 曑 17050 szhhszhhszhhpnppp 33564703 闆 17051 szhhszhhszhszhszh 33554873 闎 17052 szhhszhhpszhhszpn 0 闏 17053 szhhszhhpzpszhshn 0 闇 17054 szhhszhhnhnphszhh 16777280 闊 17055 szhhszhhnnhphsszh 33559632 闈 17056 szhhszhhzshszhhzs 33566418 闋 17057 szhhszhhznppnhhpn 33564592 嚂 17058 szhhszhszphnszssh 33557850 曙 17059 szhhszsshhshpszhh 16784125 曎 17060 szhhszsshhshnphhs 33567992 嚈 17061 szhhpszhhszhhhpnn 33568415 曒 17062 szhhpszhhnhzpphpn 33560334 曖 17063 szhhpnnpnznznnpzn 33554486 曕 17064 szhhpzhppnnhhhszh 33568219 嚅 17065 szhhnzsnnnnhpszss 16782771 曓 17066 szhhzsszshpnhspnh 33554962 蹑 17067 szhshshhsshhhznzn 16781927 蹒 17068 szhshshhsshszpnpn 16782853 蹎 17069 szhshshhsszhhhhpn 16778871 蹥 17070 szhshshhszhhhsnzn 33562698 蹕 17071 szhshshszhhhsshhs 33555267 蹋 17072 szhshshszhhznhznh 16784203 蹏 17073 szhshshppshzphzpz 33565864 蹈 17074 szhshshpnnppshzhh 16778699 蹊 17075 szhshshpnnpzznhpn 16783170 蹌 17076 szhshshpnnzhhpszh 33564227 蹓 17077 szhshshpznzpszhsh 16782522 蹐 17078 szhshshnhpnpnszhh 16780729 蹍 17079 szhshshzhphsshzpn 33569369 螼 17080 szhshnhsshszhhhsh 33563894 蟥 17081 szhshnhsshszhshpn 16779724 蟎 17082 szhshnhsshszspnpn 33560916 蠎 17083 szhshnhsshpnhshps 33560959 蟏 17084 szhshnhsszhhspspn 33567104 螹 17085 szhshnhszhhhspphs 33560218 螬 17086 szhshnhszhsshszhh 16777944 螵 17087 szhshnhszsshhhspn 16783054 螮 17088 szhshnhpsshznzszs 16778862 疃 17089 szhshnhnphszhhshh 33566068 螳 17090 szhshnsnpnzszhhsh 16784285 蟐 17091 szhshnsnpnzszhszs 0 螻 17092 szhshnszhhszhszph 33562300 蟃 17093 szhshnszhhszsshzn 33566347 螺 17094 szhshnszhshzznspn 16782625 蟈 17095 szhshnszhszhhzpnh 33559253 蟍 17096 szhshnphspnsshspn 33562510 疄 17097 szhshnphspnpznhzs 33562331 蟂 17098 szhshnpszhhhzhspn 33560300 蟌 17099 szhshnpszpznhnznn 33555649 蟋 17100 szhshnpnphspnnznn 16784987 蟓 17101 szhshnpzszhpzpppn 33567071 蟅 17102 szhshnnhphsshnnnn 33569497 螰 17103 szhshnnhpzsshhzpz 33563055 蟑 17104 szhshnnhnphszhhhs 16786673 螪 17105 szhshnnhnpszpnszh 33565081 蟀 17106 szhshnnhzznnhpnhs 16784154 蟝 17107 szhshnnnhhzhzhspn 33564501 螾 17108 szhshnnnzhszhshpn 16785531 螲 17109 szhshnnnzpnhznhsh 33569825 蟉 17110 szhshnznhznhpnppp 33562849 嬲 17111 szhshzpzphszhshzp 16781914 嚉 17112 szhssnphnphhshhsn 33557296 嚐 17113 szhsnpnzszhpzszhh 33556018 雖 17114 szhszhshnpsnhhhsh 33564897 氉 17115 szhszhszhhspnphhz 16783590 嚑 17116 szhphsznphshhnnnn 0 嚊 17117 szhpszhhhszhshhps 33563766 嚎 17118 szhnhszhnzhpzpppn 16779431 嚝 17119 szhnhphsshszhshpn 33558418 嚒 17120 szhnhphspnhspnzzn 0 嚌 17121 szhnhnpszppznpshh 33559979 噾 17122 szhnnzpnnhnphszhh 33567532 嚓 17123 szhnnzpznnznhhspn 16777892 嚀 17124 szhnnznznnszsshhs 33561676 嚍 17125 szhzhhshnnnnszssh 33559689 嚁 17126 szhznhznhpsnhhhsh 33556966 噿 17127 szhznhznhnhpnpnhs 33569253 嶻 17128 szshshpsnhhhshzpn 33568968 嶹 17129 szshshzhshhszhhsn 33556799 幬 17130 szshshzhshhszhhsn 33556279 幭 17131 szshssszsshhpnzpn 16781721 覬 17132 szshszhnphszhhhpz 33559991 巁 17133 szshphssszhhszshn 33562636 嶿 17134 szshnzsnnnnhpszss 0 斁 17135 szsshhshnphhsphpn 16778975 歝 17136 szsshhshnphhspzpn 33567908 羁 17137 szsshhsshszhhszzh 16780687 罽 17138 szsshhpnppnnppnss 16780789 斀 17139 szsshpzszhshnshzn 33570027 歜 17140 szsshpzszhshnpzpn 16778479 斣 17141 szsshpzszhshnnnhs 33556910 罿 17142 szsshnhnphszhhshh 16784348 罾 17143 szsshnpszsnphszhh 16786446 嶾 17144 szspnnphshzhhnznn 33567606 嶺 17145 szspnnznhpszhhhpn 33562453 嶷 17146 szspzphhpnznzshpn 16785637 嶽 17147 szspzpnhhhszhhpnn 33568880 嶸 17148 szsnppnnppnnzhspn 33563358 赡 17149 szpnpzhppnnhhhszh 16778653 黚 17150 sznphshhnnnnhsshh 33564189 點 17151 sznphshhnnnnshszh 33557055 黜 17152 sznphshhnnnnzsszs 16778485 黝 17153 sznphshhnnnnzznzp 16786090 髁 17154 szznzszhhszhhhspn 16780364 髀 17155 szznzszhhpszhhphs 16777768 镡 17156 phhhzhszsshszhhhs 16778158 镢 17157 phhhzhpnphzsppzpn 33560749 镣 17158 phhhzhpnnpszhhspn 16782472 镤 17159 phhhzssnphnphhhpn 16783078 镥 17160 phhhzpzszhshhszhh 16782553 镦 17161 phhhznhszhzshphpn 16778996 镧 17162 phhhznszhsznphspn 16782024 镨 17163 phhhznphssnphszhh 16783089 镩 17164 phhhznnzpnszhszhs 33555759 镪 17165 phhhzzhzszhszhshn 16783339 镫 17166 phhhzznppnhszhnph 16778726 鵇 17167 phhshspszhhhznnnn 0 鴸 17168 phhspnpszhhhznnnn 33569860 罅 17169 phhszsshzphzpnphs 16785073 罆 17170 phhszszzshszhhhpn 33559113 矯 17171 phhpnphpnszhszszh 33560073 矰 17172 phhpnnpszsnphszhh 16786450 氊 17173 phhznhszszhhszhhh 33569355 犠 17174 phshnphhshphshzpn 16784977 鴰 17175 phsszhpszhhhznnnn 33559053 穘 17176 phspnhshhshhshhpz 33567088 穗 17177 phspnhszhhshnnznn 16783748 穙 17178 phspnssnphnphhhpn 33563838 穝 17179 phspnszhhhsshhhzn 0 馣 17180 phspnszhhhpnszhhz 16785846 馢 17181 phspnszhhhzpnhzpn 33560108 馡 17182 phspnszhhshhhshhh 16779133 穚 17183 phspnphpnszhszszh 33560291 穕 17184 phspnpsnhhhshhspn 33564330 穛 17185 phspnpsnhhhshnnnn 33570011 黏 17186 phspnpnsnhpnshszh 16781894 穞 17187 phspnpzszhshhszhh 33563194 穜 17188 phspnnhnphszhhshh 16784341 穟 17189 phspnnphpzpppnnzn 16783752 鍫 17190 phspnnppnpnhhsnph 33564263 穉 17191 phspnzhpsnhpnphhs 16784411 魏 17192 phspnzphpszhhpzzn 16784820 穖 17193 phspnzznzznhpnzpn 33559913 濌 17194 phszhhshhszpnszhh 33565546 篲 17195 phnphnhhhshhhszhh 16779798 簀 17196 phnphnhhshszhhhpn 33559576 簎 17197 phnphnhshhsshszhh 33569337 篶 17198 phnphnhshshhznnnn 33568080 篺 17199 phnphnhshpszhhphs 33563478 簊 17200 phnphnhsshhhpnhsh 33559778 簕 17201 phnphnhsshszhhszp 33562130 簧 17202 phnphnhsshszhshpn 16779703 簐 17203 phnphnhszhhhspzpn 33561761 篿 17204 phnphnhszhhshnhsn 33569963 簌 17205 phnphnhszhspnpzpn 16783692 篻 17206 phnphnhszsshhhspn 33563814 簒 17207 phnphnszhhhhpnpzn 33555773 簍 17208 phnphnszhhszhszph 33562311 簂 17209 phnphnszhszhhzpnh 33559255 篾 17210 phnphnszsshhpnzpn 16781723 簻 17211 phnphnszzszszhnzn 16780353 簃 17212 phnphnphspnpznpzn 16785613 篼 17213 phnphnpszhhpzzhpz 33556891 簁 17214 phnphnppsshshshpn 16785011 篵 17215 phnphnppspnpnshpn 33555657 簓 17216 phnphnpzhshszhppp 0 簔 17217 phnphnnhhhsshpzpn 33564953 簏 17218 phnphnnhpzsshhzpz 16782562 簅 17219 phnphnnhnphpphhsh 33555954 簇 17220 phnphnnhzpphphhpn 16778035 簖 17221 phnphnnphspnzpphs 16778982 簗 17222 phnphnnnhzpnnhspn 33562772 簆 17223 phnphnnnzhhpzshzn 16780422 簄 17224 phnphnnzhpszhzshz 33558253 簘 17225 phnphnzhhspsnphpn 33567078 簋 17226 phnphnzhhzpnszssh 16780215 簈 17227 phnphnzhpphhpphhs 33563679 篸 17228 phnphnznznznpnppp 33564705 繁 17229 phzznhnphpnzznspn 16779075 輿 17230 pshhhszhhhszhhhpn 33568602 擧 17231 pshhhzszhhhpnphhs 33560624 歟 17232 pshhhzszhhhpnpzpn 33568611 儬 17233 pshhshszhhszhhhpz 33563903 儧 17234 pshhpnhhpnszhhhpn 33568995 澩 17235 pshhpnpnzhhnzszpn 33567445 燢 17236 pshhpnpnzhhnznppn 33567449 儥 17237 pshshszsshszhhhpn 33557165 儰 17238 pshsspnnppzzznnnn 33566432 鵂 17239 pshspnpszhhhznnnn 33567257 優 17240 pshpszhhnznznnpzn 33568492 鼣 17241 pshzhhznnznnzhpnn 33557501 鼢 17242 pshzhhznnznnzpnzp 16779181 鼤 17243 pshzhhznnznnznhpn 33566540 黛 17244 pshznsznphshhnnnn 16778614 儢 17245 psshzphzszhshnznn 33563188 鯈 17246 psspznpzszhshnnnn 16778360 償 17247 pssnpnzszhszhhhpn 33556010 儤 17248 psszhhhsshpnsnhpn 16777544 儩 17249 psszhhhpnszhhpzpp 16783666 儡 17250 psszhshszhshszhsh 16782125 鵀 17251 psphshpszhhhznnnn 16782709 儨 17252 pspphspphsszhhhpn 33569722 顀 17253 psnhhhshhpszhhhpn 33556541 鹪 17254 psnhhhshnnnnpznzh 16781012 儲 17255 psnhhhszhhshpszhh 33556425 儦 17256 psnhpzsshhzpznnnn 16777833 皢 17257 pszhhhshhshhshhpz 33567117 鼾 17258 pszhhhszhshhpshhs 16779374 鼿 17259 pszhhhszhshhpshpz 33558470 邉 17260 pszhhhnnzpnszhnzn 33555350 鴼 17261 pszhhhznnnnpznszh 33563165 龜 17262 pszhhszzhhzhhzpnh 33559161 皥 17263 pszhhpszhhhnhpnhs 33557959 皤 17264 pszhhpnphspnszhsh 16782951 魌 17265 pszhhpzznhsshhhpn 33563947 魊 17266 pszhhpzznhszhhzpn 16786201 魎 17267 pszhhpzznhszspnpn 33562787 魍 17268 pszhhpzznsznphnhz 16784732 魋 17269 pszhhpzznpsnhhhsh 16784526 翶 17270 pszhhnhpnhsznhznh 33554576 顊 17271 pszhzhhshpszhhhpn 33567777 鴭 17272 pszhzhpszhhhznnnn 33569987 儠 17273 pszzzszpnhznnznnz 33562856 斶 17274 pphsszsshpzszhshn 33556476 劕 17275 pphspphsszhhhpnss 33569815 鴴 17276 ppshhspszhhhznnnn 33558065 徽 17277 ppsszshzznspnphpn 16779752 徾 17278 ppsszsnhhhszhphpn 33561032 禦 17279 ppsphhshshzshhspn 33568744 鵆 17280 ppspszhhhznnnnhhs 0 聳 17281 ppspnpnshpnhsshhh 33564726 勶 17282 ppsnhznszhhphpnzp 33556104 盨 17283 ppphpszhhhpnszssh 33567314 艚 17284 ppznhnhszhsshszhh 16777943 艜 17285 ppznhnhpsshznzszs 16778606 艝 17286 ppznhnhnzsnnnnzhh 0 艛 17287 ppznhnszhhszhszph 33562289 鵃 17288 ppznhnpszhhhznnnn 33569654 鍥 17289 pnhhsnphhhhszphpn 33564333 鍖 17290 pnhhsnphhsshhhpnz 33556148 鍱 17291 pnhhsnphhsshzhspn 16786003 鎝 17292 pnhhsnphhsspnhszh 33556641 鍸 17293 pnhhsnphhsszhpzhh 33558224 鍢 17294 pnhhsnphhszhszhsh 33557757 鍊 17295 pnhhsnphhsznphspn 16782416 鍼 17296 pnhhsnphhphszhzpn 16786750 顉 17297 pnhhsnphhpszhhhpn 33563890 鍷 17298 pnhhsnphhpnhshhsh 33559543 鍇 17299 pnhhsnphhzpzpszhh 33559291 鍿 17300 pnhhsnphhzzzszhsh 33569182 鍞 17301 pnhhsnphshszhhhpn 33559407 鍉 17302 pnhhsnphszhhhshpn 16778805 鍘 17303 pnhhsnphszhhhpnss 33569318 鍚 17304 pnhhsnphszhhhpzpp 16785899 鍓 17305 pnhhsnphszhhsshhh 33559852 鍝 17306 pnhhsnphszhhszshn 33568610 鎾 17307 pnhhsnphszhhszssh 0 鍟 17308 pnhhsnphszhhphhsh 33566627 鍻 17309 pnhhsnphszhhpzpnz 33560402 鍡 17310 pnhhsnphszhshhzpn 33566445 鎅 17311 pnhhsnphszhshpnps 33560452 鍶 17312 pnhhsnphszhshnznn 33564774 鍔 17313 pnhhsnphszhszhhhz 33554668 鍴 17314 pnhhsnphszshpszss 33557222 鍤 17315 pnhhsnphphspshzhh 33555856 鍬 17316 pnhhsnphphspnnppn 33564264 鍾 17317 pnhhsnphphszhhshh 33569624 鍑 17318 pnhhsnphphszhhpzn 33557753 鍛 17319 pnhhsnphpshhhpzzn 33557227 鎪 17320 pnhhsnphpshzhhszn 33564744 鎀 17321 pnhhsnphpsspznppp 33567260 鍠 17322 pnhhsnphpszhhhhsh 33558431 鍭 17323 pnhhsnphpszhphhpn 16779542 鎚 17324 pnhhsnphpszhzhnzn 16778530 鍎 17325 pnhhsnphpphsszhhh 33566022 鍮 17326 pnhhsnphpnhszhhss 33565805 鍰 17327 pnhhsnphpnnphhpzn 33558364 鍐 17328 pnhhsnphpnzspnpzn 16784712 鍯 17329 pnhhsnphpzppnnznn 33555639 鍧 17330 pnhhsnphpznhhhszh 33558085 鎄 17331 pnhhsnphnhszhpzpn 33554436 鍍 17332 pnhhsnphnhphsshzn 33557207 鍗 17333 pnhhsnphnhnpnzszs 33565866 鍦 17334 pnhhsnphnhzpphzsz 33565126 鎈 17335 pnhhsnphnphhhphsh 33555859 鎂 17336 pnhhsnphnphhshhpn 33561041 鎹 17337 pnhhsnphnphhpnnzn 33563359 鎆 17338 pnhhsnphnphszhhss 0 鎡 17339 pnhhsnphnphzznzzn 16786503 鎃 17340 pnhhsnphnnhpppzpn 33563482 鍹 17341 pnhhsnphnnzhszhhh 16785397 鍕 17342 pnhhsnphnzhszhhhs 33563390 鍽 17343 pnhhsnphnzhpszhss 33555349 鎺 17344 pnhhsnphnzsnszhhh 0 鍜 17345 pnhhsnphzhshhzhzn 33566829 鍲 17346 pnhhsnphzhzhzszhh 33561227 鍏 17347 pnhhsnphzshszhhzs 16784770 鎇 17348 pnhhsnphzshpszhhh 33561025 鍨 17349 pnhhsnphznppnhhpn 33559557 鍒 17350 pnhhsnphznzsphspn 33563380 龠 17351 pnhszhszhszhszhss 16786310 斂 17352 pnhszhszhpnpnphpn 33562742 歛 17353 pnhszhszhpnpnpzpn 16782419 鴿 17354 pnhszhpszhhhznnnn 33558815 鴵 17355 pnhzpnpszhhhznnnn 33560289 韱 17356 pnpnhshhhshhhhzpn 16785091 豀 17357 pnpnszhpnnpzznhpn 33566682 螸 17358 pnpnszhpzpnszhshn 33568639 爵 17359 pnnpszsshzhhznhsn 16781295 繇 17360 pnnpphhszspzznspn 16785945 貘 17361 pnnpzpphssszhhhpn 16781581 邈 17362 pnnpzpppszhhpznzn 16781708 貔 17363 pnnpzpppszpnhhzpz 16783017 貕 17364 pnnpzpppnnpzznhpn 33566707 貖 17365 pnnpzppnphpnszssh 33554688 懇 17366 pnnpzppzhhzpnnznn 33559400 谿 17367 pnnpzznhpnpnpnszh 16783169 餬 17368 pnnzhhznhsszhpzhh 16779560 餷 17369 pnnzhhznhspnszhhh 33555853 餪 17370 pnnzhhznhpszsshpn 16781960 餳 17371 pnnzhhznszhhhpzpp 33565657 饂 17372 pnnzhhznszhhszssh 33568899 餲 17373 pnnzhhznszhhpzpnz 16779457 餵 17374 pnnzhhznszhshhzpn 33566482 餶 17375 pnnzhhznszznzszhh 33559016 餿 17376 pnnzhhznpshzhhszn 33564740 餭 17377 pnnzhhznpszhhhhsh 33558422 餽 17378 pnnzhhznpszhhpzzn 16780519 餱 17379 pnnzhhznpszhphhpn 16779540 餰 17380 pnnzhhznppsnnhhhs 33560086 餸 17381 pnnzhhznnphhpnnzn 33564733 餫 17382 pnnzhhznnzhszhhhs 16779811 餯 17383 pnnzhhznzzhpzpppn 33558524 臌 17384 pzhhhshszhnphhszn 16780108 臒 17385 pzhhhsspsnhhhshzn 33558672 朦 17386 pzhhhssnzhhpzpppn 16781529 臄 17387 pzhhshzphzhpzpppn 16781322 膿 17388 pzhhszhsshhphhzpn 33561647 臊 17389 pzhhszhszhszhhspn 16783586 臅 17390 pzhhszsshpzszhshn 33556480 臉 17391 pzhhpnhszhszhpnpn 16782412 膾 17392 pzhhpnhszsnphszhh 33559491 膽 17393 pzhhpzhppnnhhhszh 33556714 膻 17394 pzhhnhszszhhszhhh 16778659 臁 17395 pzhhnhpnphzhhsspn 33562725 臆 17396 pzhhnhnphszhhnznn 16785725 臃 17397 pzhhnhzzppsnhhhsh 16786025 賸 17398 pzhhnphhpnszhhhpn 16783980 謄 17399 pzhhnphhpnnhhhszh 33565741 甔 17400 pzhppnnhhhszhhzzn 16778622 鴲 17401 pzszhhpszhhhznnnn 33569704 毚 17402 pzszhhzpzpzszhpzn 16778170 鲼 17403 pzszhshhhshssszpn 33557564 鲽 17404 pzszhshhhsshzhspn 16778940 鲾 17405 pzszhshhhszhszhsh 33555216 鲿 17406 pzszhshhsnpnzhhzn 33556020 鳀 17407 pzszhshhszhhhshpn 33565362 鳁 17408 pzszhshhszhhszssh 33566531 鳂 17409 pzszhshhszhshhzpn 33566393 鳃 17410 pzszhshhszhshnznn 16783558 鳄 17411 pzszhshhszhszhhhz 16777367 鳅 17412 pzszhshhphspnnppn 16783420 鳆 17413 pzszhshhphszhhpzn 16779351 鳇 17414 pzszhshhpszhhhhsh 16779723 鳈 17415 pzszhshhpszhhszpn 33564548 鳉 17416 pzszhshhnhspznhsn 33560253 鳊 17417 pzszhshhnzhpszhss 16777805 鳋 17418 pzszhshhznnszhshn 33564665 鮭 17419 pzszhshnnnnhshhsh 16780208 鮚 17420 pzszhshnnnnhshszh 33560408 鮳 17421 pzszhshnnnnhshphz 33559342 鮱 17422 pzszhshnnnnhshppz 0 鮪 17423 pzszhshnnnnhpszhh 33566462 鮞 17424 pzszhshnnnnhpszss 33554734 鮬 17425 pzszhshnnnnhpnhhz 33559447 鯎 17426 pzszhshnnnnhpzzpn 0 鮧 17427 pzszhshnnnnhzhzpn 33567802 鮛 17428 pzszhshnnnnshhspn 33565445 鮦 17429 pzszhshnnnnszhszh 16784349 鮰 17430 pzszhshnnnnszszhh 33558489 鮢 17431 pzszhshnnnnphhspn 33569867 鮴 17432 pzszhshnnnnpshspn 0 鮲 17433 pzszhshnnnnpshpnn 0 鯅 17434 pzszhshnnnnpshzzn 33565027 鮜 17435 pzszhshnnnnpphszh 33558174 鮯 17436 pzszhshnnnnpnhszh 33558848 鮡 17437 pzszhshnnnnpnhzpn 33565969 鮠 17438 pzszhshnnnnpzhpzz 16784773 鮨 17439 pzszhshnnnnpzszhh 16783214 鮥 17440 pzszhshnnnnpznszh 33563170 鮫 17441 pzszhshnnnnnhpnpn 33560297 鮮 17442 pzszhshnnnnnphhhs 33566894 鮩 17443 pzszhshnnnnnphhps 33555210 鮟 17444 pzszhshnnnnnnzzph 33554533 鮙 17445 pzszhshnnnnznhznh 33565533 獮 17446 pzphpnszspnpnpnpn 16785122 獳 17447 pzphnzsnnnnhpszss 16781837 颶 17448 pzpszhshnszhhhhpn 33560659 颷 17449 pzpszhshnnppnnppn 33555406 獯 17450 pzpphsznphshhnnnn 16785446 獷 17451 pzpnhphsshszhshpn 33559143 獱 17452 pzpnnzhsppszhhhpn 33555348 獰 17453 pzpnnznznnszsshhs 33561674 觲 17454 pzpzhhsnphhshphhs 33566635 雘 17455 pznhhsspsnhhhshzn 16779840 鵅 17456 pznszhpszhhhznnnn 33563167 螽 17457 pznnnszhshnszhshn 16786825 斵 17458 pznzphshzzhshpphs 33570036 顈 17459 pzzznspnhpszhhhpn 33560478 謸 17460 nhhhszhhhshzpphpn 33554562 講 17461 nhhhszhhhsshszshh 33560255 譁 17462 nhhhszhhsshhsshhs 33558299 謨 17463 nhhhszhhssszhhhpn 33561132 謓 17464 nhhhszhhsszhhhhpn 33556106 謰 17465 nhhhszhhszhhhsnzn 33562684 謌 17466 nhhhszhhszhshszhs 33558811 謜 17467 nhhhszhhppszhhspn 33568836 謖 17468 nhhhszhszhshpnpzn 33564834 謢 17469 nhhhszhpsnhhhshzn 33558259 謝 17470 nhhhszhpszhhhphsn 33567192 謕 17471 nhhhszhppshzphzpz 33564764 謡 17472 nhhhszhpnnpphhszs 16785937 謟 17473 nhhhszhpnnppshzhh 33565702 謑 17474 nhhhszhpnnpzznhpn 16785033 謒 17475 nhhhszhpnnzhhpszh 33564226 謋 17476 nhhhszhpznhzshspn 33558629 謠 17477 nhhhszhpznnphhszs 33568300 謅 17478 nhhhszhpzzsppzzsp 33569147 謞 17479 nhhhszhnhszhszszh 33567460 謧 17480 nhhhszhnhpnzsszzn 33562468 謗 17481 nhhhszhnhnpnznhzp 33554900 謚 17482 nhhhszhnphpnszssh 33565327 謙 17483 nhhhszhnphzhhsspn 33564125 燮 17484 nhhhszhnppnnppnzn 16785292 謆 17485 nhhhszhnzhpznhznh 16783842 謐 17486 nhhhszhnznpnszssh 33561343 謘 17487 nhhhszhzhpnhnphhs 33556327 凟 17488 nhhshszsshszhhhpn 33557187 褻 17489 nhhshpnhshpznpzpn 33567199 鵉 17490 nhsspnpszhhhznnnn 33563083 醤 17491 nhspnnphsnhszpzhh 33560280 鹫 17492 nhszhspnhpznpznzh 16781167 襄 17493 nhszhszhhhsshpzpn 16785159 氈 17494 nhszszhhszhhhphhz 33569354 麿 17495 nhphspnhspnszhszh 16781566 糜 17496 nhphspnhspnnphspn 16781655 縻 17497 nhphspnhspnzznspn 16781645 鄽 17498 nhpszhhshhpnhshzs 33555925 膺 17499 nhppspsnhhhshszhh 16785554 應 17500 nhppspsnhhhshnznn 33567664 螷 17501 nhppszhhphsszhshn 33563739 癍 17502 nhpnhhhshnhpnhhsh 33554859 癋 17503 nhpnhhshzzhshnznn 33558032 癅 17504 nhpnhhsshzzhszhsh 33562896 癘 17505 nhpnhhssszhhszshn 33559800 療 17506 nhpnhhpnnpszhhspn 33562808 癎 17507 nhpnhszhhszhhszhh 16785100 癇 17508 nhpnhszhhszhhpzhh 33566910 癉 17509 nhpnhszhszhszhhhs 16778626 癌 17510 nhpnhszhszhszhszs 16777235 癄 17511 nhpnhpsnhhhshnnnn 33564279 癁 17512 nhpnhppsphszhhpzn 33557674 癆 17513 nhpnhnppnnppnnzzp 33562095 癈 17514 nhpnhznppnzhzpzzn 16779158 顇 17515 nhpnpnhshpszhhhpn 16778071 鵁 17516 nhpnpnpszhhhznnnn 16781006 麋 17517 nhpzsshhzpznphspn 16781649 辫 17518 nhnphhpzzhnhnphhs 16777824 韺 17519 nhnphszhhhssszhpn 16785559 竴 17520 nhnphnphszpzhhhsn 33555818 竲 17521 nhnphnpszsnphszhh 33555626 竳 17522 nhnphznppnhszhnph 33556832 齋 17523 nhnpszppznpshhspn 33569345 覫 17524 nhnpnznhzpszhhhpz 33563527 赢 17525 nhzszhpzhhszpnpzn 16785569 旚 17526 nhzpphhszsshhhspn 33563796 甕 17527 nhzzppsnhhhshhzzn 16784590 鴹 17528 nphhhppszhhhznnnn 33563283 鮺 17529 nphhhppzszhshnnnn 33568974 鵧 17530 nphhpspszhhhznnnn 33555208 鮝 17531 nphhpnpzszhshnnnn 33567055 糟 17532 nphspnhszhsshszhh 16786407 糛 17533 nphspnsnpnzszhhsh 33565683 糞 17534 nphspnszhshhsshpn 33557567 糠 17535 nphspnnhpzhhsnhpn 16780331 麊 17536 nphspnnhpzsshhzpz 33561310 糡 17537 nphspnnhnphszhhpz 33560283 糝 17538 nphspnznznznpnppp 33564642 馘 17539 nphpszhhhhszhhzpn 16780269 斃 17540 npszspnphpnhpznpz 33555286 蟞 17541 npszspnphpnszhshn 33555434 燯 17542 nppnhnzsnnnnpnnzn 33562447 燦 17543 nppnshpznznnphspn 33555545 燳 17544 nppnszhhzpszhnnnn 33569456 燶 17545 nppnszhsshhphhzpn 0 燥 17546 nppnszhszhszhhspn 16786425 燡 17547 nppnszsshhshnphhs 16785735 燭 17548 nppnszsshpzszhshn 33569894 燬 17549 nppnpshzhhhshpzzn 33558507 燩 17550 nppnpszhhnhzpphpn 33564594 燴 17551 nppnpnhszsnphszhh 33558579 燰 17552 nppnpnnpnznznnpzn 33566395 燷 17553 nppnnhszszhhhhspn 33562017 燣 17554 nppnnhszszhhphspn 33562016 燫 17555 nppnnhpnphzhhsspn 33562733 燱 17556 nppnnhnphszhhnznn 33568011 燨 17557 nppnnphhshphshzpn 16784994 顃 17558 nppnnppnhpszhhhpn 33568095 醟 17559 nppnnppnnzhszpzhh 33568487 覮 17560 nppnnppnnzszhhhpz 33563677 謍 17561 nppnnppnnznhhhszh 16785560 熽 17562 nppnzhhspsshzhzhs 33567133 燲 17563 nppnzpzpzpszhhhpn 33567175 瀞 17564 nnhhhshszhhpzzhhs 33559749 濪 17565 nnhhhshszhhpzzshz 33559773 鴻 17566 nnhhshpszhhhznnnn 33558100 濤 17567 nnhhshzhshhszhhsn 33556052 濝 17568 nnhhsshhhpnzznspn 33564023 懑 17569 nnhhsshszpnpnnznn 16781523 鍙 17570 nnhhsshpnpnhhsnph 33558147 瀎 17571 nnhhssszsshhpnzpn 33561441 濣 17572 nnhhsszhhhspnnnhs 33566589 濲 17573 nnhhsnnzphspnpzzn 16780112 壍 17574 nnhhszhhhspphshsh 33564218 嬱 17575 nnhhszhhhspphszph 33555509 濫 17576 nnhhszhszphnszssh 16782047 濿 17577 nnhhphssszhhszshn 33562674 濔 17578 nnhhpnszspnpnpnpn 16781663 濡 17579 nnhhnzsnnnnhpszss 16782776 濬 17580 nnhshnzhpnpnszhhh 16781354 濧 17581 nnhssnphnphhshhsn 33557268 璗 17582 nnhszhhhpzpphhshn 33556775 盪 17583 nnhszhhhpzppszssh 16778688 濹 17584 nnhszhhshhnnnnhsh 33555171 濶 17585 nnhszhhszhhphsszh 33559637 濕 17586 nnhszhhzznzznnnnn 33565279 鍌 17587 nnhphshpzpnhhsnph 33566953 濮 17588 nnhpsssnphnphhhpn 16783085 濞 17589 nnhpszhhhszhshhps 16777783 濦 17590 nnhpnnphshzhhnznn 33567610 濥 17591 nnhpznnnzhszhshpn 33567635 濠 17592 nnhnhszhnzhpzpppn 16779434 瀇 17593 nnhnhphsshszhshpn 33566358 濟 17594 nnhnhnpszppznpshh 33559926 瀁 17595 nnhnphhhpnnzhhzpn 16785919 濚 17596 nnhnppnnppnnzhspn 33566649 濴 17597 nnhnppnnppnnzszpn 33566653 濙 17598 nnhnppnnppnnznppn 33567703 濱 17599 nnhnnzhsppszhhhpn 33555169 濘 17600 nnhnnznznnszsshhs 33561634 濵 17601 nnhnnzzshpszhhhpn 33555170 濜 17602 nnhzhhshnnnnszssh 16780601 瀡 17603 nnhzshphshszhhnzn 16783739 濻 17604 nnhzsszhshszhhhpn 33557269 澀 17605 nnhzpnzpnshshshsh 33564684 濯 17606 nnhznhznhpsnhhhsh 16787118 濢 17607 nnhznhznhnhpnpnhs 33555813 濰 17608 nnhzznnnnpsnhhhsh 33566422 懛 17609 nnshshszhnzhznhsh 33556656 懗 17610 nnshshpspnhshpspn 33566873 懤 17611 nnshshzhshhszhhsn 16778362 懱 17612 nnshssszsshhpnzpn 33561456 懥 17613 nnshsnzszhshzshpn 16786977 懢 17614 nnshszhszphnszssh 33562015 懨 17615 nnshpszhhszhhhpnn 33556446 懦 17616 nnshnzsnnnnhpszss 16781970 懚 17617 nnspnnphshzhhnznn 33567634 懝 17618 nnspzphhpnznzshpn 33554487 懭 17619 nnsnhphsshszhshpn 33559540 懡 17620 nnsnhphspnhspnpzn 33561145 懠 17621 nnsnhnpszppznpshh 16783226 懩 17622 nnsnphhhpnnzhhzpn 33568279 懧 17623 nnsnnznznnszsshhs 33561885 豁 17624 nnzhhhsszhpnpnszh 16779622 賽 17625 nnzhhsshpnszhhhpn 33564629 蹇 17626 nnzhhsshpnszhshpn 16780919 謇 17627 nnzhhsshpnnhhhszh 16780908 顁 17628 nnzhshpnhpszhhhpn 33556934 窾 17629 nnzpnhshhhspnpzpn 16780466 竀 17630 nnzpnhshshszhhhpz 33556183 竃 17631 nnzpnhshszhhszhhz 33569043 竂 17632 nnzpnhpnnpszhhspn 33563801 竁 17633 nnzpnphhzphhzphhz 16778078 邃 17634 nnzpnnphpzpppnnzn 16783756 寲 17635 nnzpzphhpnznzshpn 33567813 寱 17636 nnzzshppszhhhhspn 33568010 鴳 17637 nnzzphpszhhhznnnn 16785867 顅 17638 nzhpszhhhpszhhhpn 33564137 襓 17639 nzspnhshhshhshhpz 33563270 褼 17640 nzspnhszsshhpnzhz 33566880 襋 17641 nzspnhszspnhszspn 16780726 襆 17642 nzspnssnphnphhhpn 16783076 襊 17643 nzspnszhhhsshhhzn 33555797 襇 17644 nzspnszhhszhhszhh 33560145 襉 17645 nzspnszhhszhhpzhh 33560189 襌 17646 nzspnszhszhszhhhs 16778627 襍 17647 nzspnpsnhhhshhspn 33568962 襖 17648 nzspnpsznphspnhpn 33554584 襎 17649 nzspnpnphspnszhsh 33557409 襕 17650 nzspnnszhsznphspn 33561992 襚 17651 nzspnnphpzpppnnzn 16783749 襑 17652 nzspnzhhhshszhhsn 33566605 襁 17653 nzspnzhzszhszhshn 16783353 襈 17654 nzspnzhzzhzhsshpn 33569968 襏 17655 nzspnznppnzhzpzzn 16777619 禮 17656 nzsnszhsshhszhnph 33562532 禯 17657 nzsnszhsshhphhzpn 33561644 禬 17658 nzsnpnhszsnphszhh 33558562 覭 17659 nzszhhnhpnszhhhpz 33561274 歗 17660 zhhspsshzhzhspzpn 33567124 螱 17661 zhphhspnhsnszhshn 33566505 褽 17662 zhphhspnhsnnhpzpn 16784817 臀 17663 zhphsshpnpzznszhh 16784545 檗 17664 zhpszhnhnphhshspn 16777651 甓 17665 zhpszhnhnphhshzzn 16783030 臂 17666 zhpszhnhnphhsszhh 16777770 擘 17667 zhpszhnhnphhsphhs 16777667 憵 17668 zhpszhnhnphhsnznn 33563716 屨 17669 zhpppsszhhszhszph 33560644 彌 17670 zhzhpnszspnpnpnpn 33561300 蟁 17671 zhzhzszhshnszhshn 33566551 彍 17672 zhznhphsshszhshpn 33559247 孺 17673 zshhnzsnnnnhpszss 16782769 韔 17674 zshszhhzshshhhzpn 16778229 韕 17675 zshszhhzsnhszhzsh 0 隳 17676 zshphshszhhpnsnnn 16779751 牆 17677 zshphspnpnhszszhh 33564242 螿 17678 zshppznnhsnszhshn 16780979 孻 17679 zshzhhshnnnnszssh 16781764 臩 17680 zshzshhszhszhpnps 33559149 顄 17681 zsnhpnzshpszhhhpn 33557868 嬺 17682 zphhhsshpszhznznn 33561735 嬯 17683 zphhshszhnzhznhsh 33565566 嬦 17684 zphhshzhshhszhhsn 16778351 嬭 17685 zphhpnszspnpnpnpn 16781767 嬬 17686 zphhnzsnnnnhpszss 16785337 鴽 17687 zphszhpszhhhznnnn 16782765 嬶 17688 zphpszhhhszhshhps 0 嬷 17689 zphnhphspnhspnpzn 16781357 嬤 17690 zphnhphspnhspnzzn 33560834 嬫 17691 zphnppnnppnnzhspn 33568456 嬪 17692 zphnnzhsppszhhhpn 33563666 嬣 17693 zphnnznznnszsshhs 33561670 嬧 17694 zphzhhshnnnnszssh 33559676 嬥 17695 zphznhznhpsnhhhsh 33565993 嬵 17696 zphzznnnnpszhhszs 33561382 翼 17697 znhznhszhshhsshpn 16785742 翵 17698 znhznhpszhhhznnnn 33564506 鴾 17699 znphhspszhhhznnnn 33561203 蟊 17700 znzspszhshnszhshn 16781441 鹬 17701 znzspszpnszhpznzh 16786208 鍪 17702 znzspphpnpnhhsnph 16781596 骤 17703 zzhhsshhhznpspppn 16786868 蠁 17704 zzpnzhhznzsszhshn 16785185 嚮 17705 zzpnzhhznzspszszh 16785190 績 17706 zznnnnhhshszhhhpn 33559789 繊 17707 zznnnnhshssnphzpn 16785078 縳 17708 zznnnnhszhhshnhsn 16787056 縹 17709 zznnnnhszsshhhspn 33563792 縬 17710 zznnnnhpshhspnzpn 33555742 繉 17711 zznnnnszhhhpnhzpn 33558595 縷 17712 zznnnnszhhszhszph 33563189 縵 17713 zznnnnszhhszsshzn 33560922 縲 17714 zznnnnszhshzznspn 33562150 繀 17715 zznnnnszspsnhhhsh 33564913 繃 17716 zznnnnszspzhhpzhh 33555040 繌 17717 zznnnnpszpnhpnpzn 0 總 17718 zznnnnpszpznhnznn 33569128 縰 17719 zznnnnppsshshshpn 16785013 縱 17720 zznnnnppspnpnshpn 33569106 縩 17721 zznnnnpznnznhhspn 33555496 縼 17722 zznnnnnhzpphzshpn 33567419 繂 17723 zznnnnnhzznnhpnhs 33565449 縴 17724 zznnnnnhzznnzphhs 33564133 縯 17725 zznnnnnnzhszhshpn 16785522 縮 17726 zznnnnnnzpshpszhh 33564842 繍 17727 zznnnnzhhspsnphpn 33567273 繈 17728 zznnnnzhzznszhshn 16783354 繆 17729 zznnnnznhznhpnppp 33561434 縿 17730 zznnnnznznznpnppp 16783823 繅 17731 zznnnnzzzszhhhspn 33564661 耮 17732 hhhspnnppnnppnnzzp 33562121 耭 17733 hhhspnzznzznhpnzpn 33559787 璹 17734 hhshhshzhshhszhhsn 33565396 璼 17735 hhshhszhszphnszssh 33562009 瓀 17736 hhshhnzsnnnnhpszss 16782797 璿 17737 hhshshnzhpnpnszhhh 16785412 鵡 17738 hhshshzpszhhhznnnn 33566226 靝 17739 hhshszhhphhznphspn 33565925 瓊 17740 hhshpzszpnszhhhpzn 33564374 瓋 17741 hhshnhnpszhsszhnzn 33569487 璾 17742 hhshnhnpszppznpshh 33559996 璸 17743 hhshnnzhsppszhhhpn 16777678 璶 17744 hhshzhhshnnnnszssh 33559696 瓍 17745 hhshzshphshszhhnzn 33564931 鏊 17746 hhshzpphpnpnhhsnph 33554607 鳌 17747 hhshzpphpnpzszhshh 16777301 璻 17748 hhshznhznhnhpnpnhs 33569256 繛 17749 hhshzznspnshszhhhs 33556596 釐 17750 hhspnphpnhpszhhshh 33562512 鬶 17751 hhpnszpzhszhsznphs 33559152 攆 17752 hshhhpnhhpnhszhhhs 33561760 攅 17753 hshhhpnhhpnszhhhpn 33555762 鬆 17754 hshhhznppphspnpnzn 33564706 鬄 17755 hshhhznpppszhhpzpp 33565900 鬅 17756 hshhhznppppzhhpzhh 16782927 鬈 17757 hshhhznpppnphhpnzz 16783497 鬃 17758 hshhhznpppnnzhhspn 16786454 翹 17759 hshhshhshhpzznhznh 33564295 鞤 17760 hshhshhsnhsshszhhs 33554890 擷 17761 hshhshszhhpszhhhpn 33560426 擹 17762 hshhsshszhhhpnpzpn 33565602 騏 17763 hshhsznnnnhsshhhpn 33563964 騋 17764 hshhsznnnnhspnpnpn 16782001 騎 17765 hshhsznnnnhpnhszhs 33559936 騑 17766 hshhsznnnnshhhshhh 16779127 騍 17767 hshhsznnnnszhhhspn 33559375 騉 17768 hshhsznnnnszhhhzpz 16780528 騧 17769 hshhsznnnnszzszszh 16780127 騈 17770 hshhsznnnnphhpphhs 33563776 騅 17771 hshhsznnnnpsnhhhsh 33569985 騇 17772 hshhsznnnnpnhhsszh 33565135 験 17773 hshhsznnnnpnhszhpn 16785860 騐 17774 hshhsznnnnpnnznznn 33568179 騆 17775 hshhsznnnnpzhshszh 16786839 騊 17776 hshhsznnnnpzphhszs 33565714 騌 17777 hshhsznnnnnnzhhspn 33569100 騝 17778 hshhsznnnnzhhhhszn 33560084 騄 17779 hshhsznnnnzhhsnhpn 16782559 騒 17780 hshhsznnnnznszhshn 16783580 擾 17781 hshhpszhhnznznnpzn 33563276 趪 17782 hshshpnhsshszhshpn 33558440 趩 17783 hshshpnszhshhsshpn 33556400 攄 17784 hshshzphzszhshnznn 33565375 鼖 17785 hshsshshszhnphhszn 16779179 翸 17786 hshssszhhhpnznhznh 33563586 嚞 17787 hshszhhshszhhshszh 33569481 擻 17788 hshszhhszhszphphpn 33564760 壝 17789 hshszhshszhhhpnnzn 16784803 攂 17790 hshszhshszhshszhsh 33562191 瞽 17791 hshszhnphhsznszhhh 16780104 鼕 17792 hshszhnphhsznpznnn 16778737 蟚 17793 hshszhnphpppszhshn 33563616 擺 17794 hshszsshznszhhpzpz 33554844 擶 17795 hshphnphnnphszhhss 33560234 擽 17796 hshpszhhzznzznhspn 16782384 鼀 17797 hshpnszhhszhshhzhh 33555734 擼 17798 hshpzszhshnnnnszhh 33562955 擵 17799 hshnhphspnhspnphhs 33560839 贄 17800 hshnphhspznszhhhpn 33569770 謺 17801 hshnphhspznnhhhszh 33569468 燾 17802 hshzhshhszhhsnnnnn 33556812 謦 17803 hshzshppzznnhhhszh 16783147 鼁 17804 hshznszhhszhshhzhh 33564512 擸 17805 hshzzzszpnhznnznnz 16782494 聶 17806 hsshhhhsshhhhsshhh 33561816 藕 17807 hsshhhspnszhhszshn 16777425 聵 17808 hsshhhszhshszhhhpn 33559595 蟴 17809 hsshhhpnpphsszhshn 33564791 職 17810 hsshhhnhnphszhhzpn 33569730 藚 17811 hsshshszsshszhhhpn 16785384 藝 17812 hsshshpnhshpznhhzn 33568000 爇 17813 hsshshpnhshpznnnnn 16782819 藲 17814 hsshspnhszhszhszhz 33565386 覲 17815 hsshszhhhshszhhhpz 33559662 鞯 17816 hsshszhhshsshpszsh 16780898 鞢 17817 hsshszhhshsshzhspn 33567229 鞳 17818 hsshszhhshsspnhszh 33565538 鞩 17819 hsshszhhssnpszhhss 33567131 鞮 17820 hsshszhhsszhhhshpn 16778810 鞰 17821 hsshszhhsszhhszssh 0 鞨 17822 hsshszhhsszhhpzpnz 16779467 鞦 17823 hsshszhhsphspnnppn 33564394 鞭 17824 hsshszhhspshszhhpn 16777801 鞥 17825 hsshszhhspnhszhhps 33554714 鞫 17826 hsshszhhspznhhhszh 16781190 鞧 17827 hsshszhhsnphszpzhh 33564395 鞣 17828 hsshszhhsznzsphspn 16782752 酀 17829 hsshszhshhpznnnnzs 33568071 藖 17830 hsshszhszznszhhhpn 33566935 藞 17831 hsshpszhhpszhhpszh 33561908 藸 17832 hsshpzpppnhshpszhh 33556447 藘 17833 hssshzphzszhshnznn 16782640 藪 17834 hssszhhszhszphphpn 33564758 蠆 17835 hssszhhszshnszhshn 33555907 藟 17836 hssszhshszhshszhsh 16782136 藣 17837 hssszsshznszhhpzpz 33554970 繭 17838 hssszszznnnnszhshn 33560154 藜 17839 hssphspnpzppnsnhpn 16782303 藵 17840 hsspsszhhspnnhpzpn 0 藠 17841 hsspszhhpszhhpszhh 33560355 藥 17842 hsspszhhzznzznhspn 33568373 藢 17843 hssppsszshhhshphpn 33569766 藤 17844 hsspzhhnphhpnsnhpn 16784330 蟼 17845 hsspzszhphpnszhshn 33559742 藰 17846 hsspznzppnhhsnphss 33562929 藷 17847 hssnhhhszhhshpszhh 16784127 藳 17848 hssnhszhszszhphspn 33558802 藦 17849 hssnhphspnhspnphhs 16781563 藨 17850 hssnhpzsshhzpznnnn 16777852 藙 17851 hssnhnphpzpppnpzzn 16785733 藫 17852 hssnnhhszsshszhhhs 33565627 藩 17853 hssnnhpnphspnszhsh 16779068 藔 17854 hssnnzhpnnpszhhspn 0 藛 17855 hssnnzpshzhhpznnnn 33567182 藭 17856 hssnnzpnpszhhhpzhz 33564379 鹲 17857 hssnzhhpzpppnpznzh 33561102 雗 17858 hsszhhhsphpsnhhhsh 16779411 賾 17859 hsszhszhhshszhhhpn 33569074 藯 17860 hsszhphhspnhsnnznn 33566515 藴 17861 hsszznnnnszhhszssh 33568953 藧 17862 hsszznnnnpnnphhpzn 33558386 檯 17863 hspnhshszhnzhznhsh 33565572 檮 17864 hspnhshzhshhszhhsn 16784313 櫀 17865 hspnhsshhhpnzznspn 33564014 櫙 17866 hspnhsshszhszhszhz 33554771 櫗 17867 hspnhssszsshhpnzpn 33561455 櫒 17868 hspnhsspznnznhhspn 33564619 櫃 17869 hspnhszhshszhhhpnz 33559217 檻 17870 hspnhszhszphnszssh 33560219 櫉 17871 hspnhphshszhnphhsn 33556440 櫔 17872 hspnhphssszhhszshn 33562649 檶 17873 hspnhpnhszhszhszhz 33564157 檷 17874 hspnhpnszspnpnpnpn 33561312 檽 17875 hspnhnzsnnnnhpszss 33554739 櫚 17876 hspnszhhszhhszhszh 33563185 櫊 17877 hspnszhhszhhpznszh 0 檲 17878 hspnszhszhhshnhsnh 33566061 櫄 17879 hspnphsznphshhnnnn 33556560 櫡 17880 hspnphnphnhshpszhh 33569945 檱 17881 hspnphnphnhsshhhpn 33564011 檭 17882 hspnpnhhsnphzhhzpn 33567573 鵐 17883 hspnpnhpszhhhznnnn 33566198 麱 17884 hspnpnpnpznhszhhsn 33557648 麲 17885 hspnpnpnpznszhhhpz 33567012 檼 17886 hspnpnnphshzhhnznn 33567631 檺 17887 hspnnhszhnzhpzpppn 33558799 櫎 17888 hspnnhphsshszhshpn 33559146 櫅 17889 hspnnhnpszppznpshh 33559816 檹 17890 hspnnhzpphhpnhszhs 33567750 檳 17891 hspnnnzhsppszhhhpn 33555164 檫 17892 hspnnnzpznnznhhspn 33555876 櫁 17893 hspnnnznznpnszhshn 33561367 檸 17894 hspnnnznznnszsshhs 33561678 櫭 17895 hspnzhhznhzpzszhhh 33560005 櫇 17896 hspnzpsznhpszhhhpn 33563633 櫂 17897 hspnznhznhpsnhhhsh 16786708 櫈 17898 hspnznppnhszhnphpz 33556841 檰 17899 hspnzznnnnpszhhszs 33561391 檵 17900 hspnzznzznhzznzznz 33559993 鵓 17901 hsnzzshpszhhhznnnn 33555096 轊 17902 hszhhhshhhshhhszhh 33566485 轉 17903 hszhhhshszhhshnhsn 16787054 轌 17904 hszhhhshnzsnnnnzhh 0 覱 17905 hszhhhspphsszhhhpz 33569396 蹔 17906 hszhhhspphsszhshpn 16786657 轆 17907 hszhhhsnhpzsshhzpz 33563030 礊 17908 hszhhhszspzznhpszh 33558628 轇 17909 hszhhhsznhznhpnppp 16781148 轈 17910 hszhhhszzzszhhhspn 33556051 鵏 17911 hszhhsnpszhhhznnnn 33555443 鵣 17912 hszhspnpszhhhznnnn 33556393 嚢 17913 hszhsnzpnhhsshpzpn 33561566 蟗 17914 hszhsnzzsszsszhshn 33564398 盬 17915 hszhszphhsszhszssh 16780111 擥 17916 hszhszphnszsshphhs 33562037 覆 17917 hszsshppsphszhhpzn 16779344 醩 17918 hszpzhhhszhsshszhh 33569033 醧 17919 hszpzhhhszhszhszhz 33568745 醥 17920 hszpzhhhszsshhhspn 33563807 醪 17921 hszpzhhznhznhpnppp 16782077 醦 17922 hszpzhhznznznpnppp 33555976 毉 17923 hphhpnzpzznhspnpnh 33567751 醫 17924 hphhpnzpzznhszpzhh 33567747 贀 17925 hphhpnzpzznszhhhpn 33566475 穣 17926 hphsppzpnhhsshpzpn 33563260 顑 17927 hphszhzpnhpszhhhpn 16780315 黡 17928 hphpnnsznphshhnnnn 16785851 蹙 17929 hpshhspnzpnszhshpn 16778041 礚 17930 hpszhhsshshznszssh 33559351 礡 17931 hpszhhsshszhhsnhsn 33555083 礞 17932 hpszhhssnzhhpzpppn 16781528 礎 17933 hpszhhspnhspnzshpn 33556449 檿 17934 hpszhhszhhhpnnhspn 33568164 擪 17935 hpszhhszhhhpnnphhs 33568439 懕 17936 hpszhhszhhhpnnnznn 33568078 礓 17937 hpszhhszhshhszhshh 33560241 礌 17938 hpszhhnzsnnnnszhsh 33562145 礏 17939 hpszhssnphnphhhspn 33559837 礑 17940 hpszhsnpnzszhszhsh 33556767 礋 17941 hpszhszsshhshnphhs 33569348 礖 17942 hpszhpshhhzszhhhpn 33568691 礉 17943 hpszhpszhhnhzpphpn 33557977 礆 17944 hpszhpnhszhszhpnpn 33560127 礒 17945 hpszhnphhshphshzpn 33567819 礠 17946 hpszhnphzznzznnznn 33555688 礔 17947 hpszhzhpszhnhnphhs 33563758 龎 17948 hpnhnphszhhhzhzhhh 33563519 蟨 17949 hpnphzsppzpnszhshn 16781327 鵊 17950 hpnpnpnpszhhhznnnn 33560040 燹 17951 hpzpppnhpzpppnnppn 16785131 豵 17952 hpzpppnppspnpnshpn 16786459 豴 17953 hpzpppnnhnpszhsszh 33556965 餮 17954 hpznpnppppnnzhhzpn 16784489 殯 17955 hpznnnzhsppszhhhpn 33555176 霣 17956 hnzsnnnnszhszhhhpn 16786343 霢 17957 hnzsnnnnpzhhpppzpn 16781570 霤 17958 hnzsnnnnpznzpszhsh 16782520 霩 17959 hnzsnnnnnhszhzshzs 16780548 霥 17960 hnzsnnnnnzhhpzpppn 33561124 霧 17961 hnzsnnnnznzsppznzp 33566246 鬵 17962 hzpzhzpzhszhsznphs 16783291 鵛 17963 hzzzhshpszhhhznnnn 33559720 豐 17964 shhhshhhszshszhnph 16779211 鬩 17965 shhshhhshspshzhhpz 33566779 齕 17966 shshpnpnhpnpnzsphz 16779461 覷 17967 shzphzssnphszhhhpz 33564468 覰 17968 shzphzszhhhszhhhpz 33564465 懟 17969 ssnphnphhshhsnnznn 33557266 叢 17970 ssnphnphhshsshhhzn 33555670 虩 17971 spnszhhspnshzphzpz 16785037 嚖 17972 szhhhhshhhszhhnznn 33558559 矆 17973 szhhhhsspsnhhhshzn 33558669 矇 17974 szhhhhssnzhhpzpppn 33561108 題 17975 szhhhshpnhpszhhhpn 33565862 韙 17976 szhhhshpnzshszhhzs 33566470 瞿 17977 szhhhszhhhpsnhhhsh 16781242 瞾 17978 szhhhszhhhnnzpnhsh 33569452 鼂 17979 szhhhszhhszhshhzhh 33556043 矂 17980 szhhhszhszhszhhspn 33564671 曞 17981 szhhhphssszhhszshn 33562657 矁 17982 szhhhphspnnppnnznn 33556306 矀 17983 szhhhppsszshpzphpn 33566417 瞼 17984 szhhhpnhszhszhpnpn 33560166 瞺 17985 szhhhpnhszsnphszhh 33558564 甖 17986 szhhhpnszhhhpnhzzn 16785538 贁 17987 szhhhpnszhhhpnphpn 33554845 贃 17988 szhhhpnszhszhsnznn 33566339 鵙 17989 szhhhpnpszhhhznnnn 16781207 瞹 17990 szhhhpnnpnznznnpzn 33554480 賿 17991 szhhhpnznhznhpnppp 33562829 贂 17992 szhhhpnznznznpnppp 33556146 瞻 17993 szhhhpzhppnnhhhszh 16786638 曘 17994 szhhhnzsnnnnhpszss 33563413 嚡 17995 szhhsshszhhshshhsh 0 顕 17996 szhhssnphhpszhhhpn 16785119 嚔 17997 szhhsnzszhshznshpn 33565910 闖 17998 szhhszhhhshhsznnnn 33556531 闔 17999 szhhszhhhshznszssh 33558015 闐 18000 szhhszhhhsszhhhhpn 33565941 闘 18001 szhhszhhhszhnphhsn 16778767 闒 18002 szhhszhhszhhznhznh 16778591 闓 18003 szhhszhhszshszhnph 33559300 闑 18004 szhhszhhpszhhhhspn 16781937 闕 18005 szhhszhhnphzsppzpn 33564571 闗 18006 szhhszhhzznzznnnnn 33559094 顒 18007 szhhszshnhpszhhhpn 16786033 曛 18008 szhhphsznphshhnnnn 16785458 嚘 18009 szhhpszhhnznznnpzn 33568496 颢 18010 szhhnhszhspnhpszpn 16779450 曠 18011 szhhnhphsshszhshpn 33559538 曜 18012 szhhznhznhpsnhhhsh 16785980 歞 18013 szhhzznzznnnnnpzpn 33559316 疅 18014 szhshhszhshhszhshh 33560250 蹖 18015 szhshshhhhpnpshzhh 33556243 蹟 18016 szhshshhhshszhhhpn 16780678 躇 18017 szhshshhsshshpszhh 16778455 蹣 18018 szhshshhsshszspnpn 33560899 蹧 18019 szhshshhszhsshszhh 33569030 蹛 18020 szhshshhpsshznzszs 33556669 蹞 18021 szhshshhzhpszhhhpn 33559572 蹚 18022 szhshshsnpnzszhhsh 16784268 蹦 18023 szhshshszspzhhpzhh 16777615 蹝 18024 szhshshppsshshshpn 16785014 蹤 18025 szhshshppspnpnshpn 16786458 嚙 18026 szhshshpnpnhpnpnzs 33561825 鹭 18027 szhshshpznszhpznzh 16782576 蹠 18028 szhshshnhphsshnnnn 16786906 蹗 18029 szhshshnhpzsshhzpz 33563032 蹢 18030 szhshshnhnpszhsszh 16778816 蹜 18031 szhshshnnzpshpszhh 16783707 蹡 18032 szhshshzshppznnhsn 16783338 蹘 18033 szhshshznhznhpnppp 33562811 躀 18034 szhshshzzshszhhhpn 33559530 壘 18035 szhshszhshszhshhsh 33562189 蟯 18036 szhshnhshhshhshhpz 33561594 蟦 18037 szhshnhshssszhhhpn 33557521 蟢 18038 szhshnhshszhnphszh 16785024 蟛 18039 szhshnhshszhnphppp 16782935 蟽 18040 szhshnhshnphhhsnzn 33556648 蟖 18041 szhshnhsshhhpnpphs 33564785 蠂 18042 szhshnhsshsshzhspn 16783908 蠇 18043 szhshnhssszhhszshn 33562546 蟪 18044 szhshnhszhhshnnznn 16779797 蟫 18045 szhshnhszsshszhhhs 33567581 蟵 18046 szhshnhphszhnphhsn 0 蟩 18047 szhshnhpnphzsppzpn 33560784 蟟 18048 szhshnhpnnpszhhspn 33562837 蟲 18049 szhshnszhshnszhshn 33556258 蟬 18050 szhshnszhszhszhhhs 33555951 蟔 18051 szhshnsznphshhnnnn 33561192 蟱 18052 szhshnphhsssshnnnn 33561213 蟜 18053 szhshnphpnszhszszh 16781045 蟘 18054 szhshnpshznszhhhpn 33565736 蟭 18055 szhshnpsnhhhshnnnn 16781026 蟠 18056 szhshnpnphspnszhsh 16782860 蠄 18057 szhshnpnnhpnzsszzn 33563867 蟡 18058 szhshnpnnppzzznnnn 33559190 蟙 18059 szhshnnhnphszhhzpn 33569740 蟮 18060 szhshnnphhhsnphszh 33565073 蟧 18061 szhshnnppnnppnnzzp 33562106 蟳 18062 szhshnzhhhshszhhsn 16785475 蟤 18063 szhshnzhzzhzhsshpn 33569961 顋 18064 szhshnznnhpszhhhpn 33564622 蟣 18065 szhshnzznzznhpnzpn 33559928 嚗 18066 szhszhhhsshpnsnhpn 33554956 顎 18067 szhszhhhzhpszhhhpn 33554666 嚚 18068 szhszhhszhszszhszh 16785514 鵑 18069 szhszhhpszhhhznnnn 33560673 嚣 18070 szhszhhpszpnszhszh 16785213 嚜 18071 szhsznphshhnnnnhsh 16781582 嚟 18072 szhphspnpzppnsnhpn 33562500 嚛 18073 szhpszhhzznzznhspn 33558277 嚕 18074 szhpzszhshnnnnszhh 33562953 嚠 18075 szhpznzppnhhsnphss 33562914 嚤 18076 szhnhphspnhspnphhs 33561137 顓 18077 szshpszsshpszhhhpn 33569956 羃 18078 szsshhssszhhhpnszs 16781673 鹮 18079 szsshhszhpzpnpznzh 16779666 奰 18080 szsshszsshszsshhpn 16777579 羂 18081 szsshzznnnnszhszhh 33560693 巀 18082 szsspnpsnhhhshhzpn 33560417 巂 18083 szspsnhhhshszpnszh 16783741 幮 18084 szsnhphshszhnphhsn 33556430 羀 18085 szpnpnhsshzzhszhsh 33562937 濷 18086 szpnnnhhsshszspnpn 33557522 黠 18087 sznphshhnnnnhshszh 16785067 黟 18088 sznphshhnnnnpznpzn 16785609 顝 18089 szznzszhhhpszhhhpn 33559446 髄 18090 szznzszhhhpszhhnzn 16783742 髃 18091 szznzszhhszhhszshn 33568641 髊 18092 szznzszhhnphhhphsh 33555825 髅 18093 szznzszhhnphspnzph 16782187 髂 18094 szznzszhhnnzpznszh 16779978 镬 18095 phhhzhsspsnhhhshzn 16779834 镭 18096 phhhzhnzsnnnnszhsh 16782115 镮 18097 phhhzszsshhszhpzpn 33558362 镯 18098 phhhzszsshpzszhshn 16787107 镰 18099 phhhznhpnphzhhsspn 16782394 镱 18100 phhhznhnphszhhnznn 16785692 罈 18101 phhszshszsshszhhhs 16784242 罉 18102 phhszssnpnzszhphhs 0 罇 18103 phhszsnphszpzhhhsn 33569270 観 18104 phhpsnhhhshszhhhpz 16780159 矱 18105 phhpnhsspsnhhhshzn 16779843 犡 18106 phshhphssszhhszshn 33562621 鵠 18107 phshszhpszhhhznnnn 33559021 酂 18108 phshpzphshpzszpnzs 33555831 鵝 18109 phshzpnpszhhhznnnn 33554626 鵞 18110 phshzpnpszhhhznnnn 33554627 舙 18111 phsszhphsszhphsszh 33558319 穫 18112 phspnhsspsnhhhshzn 33558648 穡 18113 phspnhspnpnhszszhh 33564678 穢 18114 phspnshshhphsppzpn 33558538 馧 18115 phspnszhhszhhszssh 33566529 馤 18116 phspnszhhszhhpzpnz 33554456 馥 18117 phspnszhhphszhhpzn 16779349 穠 18118 phspnszhsshhphhzpn 16781829 穥 18119 phspnpshhhzszhhhpn 33568725 鵚 18120 phspnpzpszhhhznnnn 33566009 邌 18121 phspnpzppnsnhpnnzn 33562494 簮 18122 phnphnhhpnhhpnszhh 33568992 簙 18123 phnphnhshszhhsnhsn 33555082 簛 18124 phnphnhsshhhpnpphs 33564765 簯 18125 phnphnhspnhsshhhpn 0 簭 18126 phnphnhspnpnhpnszh 33565329 簠 18127 phnphnhszhhsnszssh 16779305 簟 18128 phnphnhszsshszhhhs 16778883 簝 18129 phnphnhpnnpszhhspn 33562803 簪 18130 phnphnhzpzhzpzszhh 16786383 簡 18131 phnphnszhhszhhszhh 33560132 簢 18132 phnphnszhhszhhnhpn 33554560 簣 18133 phnphnszhshszhhhpn 33559580 簞 18134 phnphnszhszhszhhhs 33556692 簚 18135 phnphnszsshhszszpn 33561346 簤 18136 phnphnszsshszhhhpn 33556661 簥 18137 phnphnphpnszhszszh 16783367 簰 18138 phnphnpshzpszhhphs 16782837 篽 18139 phnphnppsphhshshzs 33568682 簲 18140 phnphnpzhhpszhhphs 33563476 簱 18141 phnphnnhzphsshhhpn 33563973 簩 18142 phnphnnppnnppnnzzp 33562092 簜 18143 phnphnnnhszhhhpzpp 16778684 簶 18144 phnphnnzsnzhhsnhpn 33563025 簨 18145 phnphnzhzzhzhsshpn 16783770 簦 18146 phnphnznppnhszhnph 16778724 礜 18147 pshhhzszhhhpnhpszh 16786190 礐 18148 pshhpnpnzhhnzhpszh 33564574 儮 18149 pshpphspnphspnshsh 33562573 鼫 18150 pshzhhznnznnzhpszh 16784017 鼥 18151 pshzhhznnznnzhpznn 33554795 鼬 18152 pshzhhznnznnzszhsh 16786093 鼪 18153 pshzhhznnznnzphhsh 16783962 鼩 18154 pshzhhznnznnzpzszh 33564478 鼨 18155 pshzhhznnznnzpznnn 33565766 鼧 18156 pshzhhznnznnznnzpz 33566135 鼦 18157 pshzhhznnznnzzpszh 33557074 鎥 18158 psspznhspnpnhhsnph 33565984 儵 18159 psspznsznphshhnnnn 16784132 雙 18160 psnhhhshpsnhhhshzn 33565460 雠 18161 psnhhhshnzpsnhhhsh 16778361 儭 18162 psnhnphhspnszhhhpz 16778279 儱 18163 psnhnphszhhhzhzhhh 16782157 儯 18164 psnphhpnhshhsznnnn 33565745 齀 18165 pszhhhszhshhpshzzn 33566248 軀 18166 pszhhhphszhszhszhz 33564470 軁 18167 pszhhhpszhhszhszph 33562302 鵢 18168 pszhhhppszhhhznnnn 33565162 躿 18169 pszhhhpnhpzhhsnhpn 33559330 翺 18170 pszhhhnhpnhsznhznh 33554578 邊 18171 pszhhhnnzpnnhzpnzn 16777800 鵌 18172 pszhhhznnnnpnhhspn 33568605 鵔 18173 pszhhhznnnnznpnpzn 33567509 皨 18174 pszhhpszhhpszhhhsh 33566629 皦 18175 pszhhpszhhnhzpphpn 16781042 皧 18176 pszhhpnnpnznznnpzn 33554479 歸 18177 pszhzhshshzhhnzszs 16780201 頾 18178 ppphpszhhhpnshshpz 33569175 頿 18179 pppshshhzhpszhhhpn 33569176 艥 18180 ppznhnszhhsshhhzpn 33560449 艞 18181 ppznhnphnphnpnhzpn 33568356 鎜 18182 ppznhnpzznpnhhsnph 33563493 艟 18183 ppznhnnhnphszhhshh 16778328 艠 18184 ppznhnznppnhszhnph 0 鎷 18185 pnhhsnphhshhsznnnn 33560851 鎱 18186 pnhhsnphhshszhpzpn 33568818 鎑 18187 pnhhsnphhshznszssh 33568417 鏵 18188 pnhhsnphhsshhsshhs 33558316 鏌 18189 pnhhsnphhssszhhhpn 33561191 鎮 18190 pnhhsnphhsszhhhhpn 33569561 鎍 18191 pnhhsnphhsnzzznspn 16783794 鏈 18192 pnhhsnphhszhhhsnzn 33562769 鎛 18193 pnhhsnphhszhhsnhsn 16777652 鎶 18194 pnhhsnphhszhshszhs 33558818 鎘 18195 pnhhsnphhszhsznphs 33558844 鎒 18196 pnhhsnphhphhzpnhsn 16781839 鎼 18197 pnhhsnphshzphzphhs 0 鎖 18198 pnhhsnphsnpszhhhpn 33564969 鎲 18199 pnhhsnphsnpnzszhpz 33565695 鏎 18200 pnhhsnphszhhhsshhs 33555319 鎤 18201 pnhhsnphszhhsnphpz 16779735 鎉 18202 pnhhsnphszhhznhznh 16784207 鎧 18203 pnhhsnphszshszhnph 33559299 鎠 18204 pnhhsnphszsshhshsh 33558766 鎽 18205 pnhhsnphszspznhhhs 0 鎎 18206 pnhhsnphphhznphspn 33566804 懖 18207 pnhhsnphphsszhnznn 33559066 鏅 18208 pnhhsnphpsspznszhh 33567262 鎨 18209 pnhhsnphpsnhhhshhs 33564949 鎸 18210 pnhhsnphpsnhhhshzp 33560675 鎳 18211 pnhhsnphpszhhhhspn 33561827 鎴 18212 pnhhsnphpszhhhnznn 33566749 鎢 18213 pnhhsnphpszhhznnnn 33566189 鎞 18214 pnhhsnphpszpnhhzpz 16777761 鎫 18215 pnhhsnphpszpnpnpzn 33560165 鎩 18216 pnhhsnphpnhspnpzzn 33564990 鎿 18217 pnhhsnphpnhszhphhs 33561496 鎐 18218 pnhhsnphpnnpphhszs 33569224 鎗 18219 pnhhsnphpnnzhhpszh 16783342 鎓 18220 pnhhsnphpnznznhznh 33566168 鎭 18221 pnhhsnphpzszhhhzpn 16786790 鏠 18222 pnhhsnphpznhhhsnzn 33557590 鎦 18223 pnhhsnphpznzpszhsh 33562918 鎬 18224 pnhhsnphnhszhszszh 33558797 鎕 18225 pnhhsnphnhpzhhsszh 33565671 鎊 18226 pnhhsnphnhnpnznhzp 33554904 鎰 18227 pnhhsnphnphpnszssh 33567965 鎌 18228 pnhhsnphnphzhhsspn 16782395 鎙 18229 pnhhsnphnphzsppzhh 33565502 鎋 18230 pnhhsnphnnzhhhsszh 33566849 鎵 18231 pnhhsnphnnzhpzpppn 33560023 鎔 18232 pnhhsnphnnzpnpnszh 33563353 鎟 18233 pnhhsnphznznznhspn 33564657 鎻 18234 pnhhsnphzzzszhhhpn 33564973 盫 18235 pnhszhhszpzhhszssh 33554499 鵗 18236 pnhpszspszhhhznnnn 33566687 翻 18237 pnphspnszhshznhznh 16779069 鵒 18238 pnpnszhpszhhhznnnn 33568720 豃 18239 pnpnszhzhsshhhphpn 33557843 豂 18240 pnpnszhznhznhpnppp 33562809 鵎 18241 pnnpzphpszhhhznnnn 33566152 貙 18242 pnnpzpphszhszhszhz 33556420 貗 18243 pnnpzppszhhszhszph 33560652 雞 18244 pnnpzznhpnpsnhhhsh 33559822 饁 18245 pnnzhhznhshznszssh 16785998 饃 18246 pnnzhhznhssszhhhpn 33561133 餺 18247 pnnzhhznhszhhsnhsn 16777640 饆 18248 pnnzhhznszhhhsshhs 33555260 餼 18249 pnnzhhznphhznphspn 33566787 饀 18250 pnnzhhznpnnppshzhh 33565717 餾 18251 pnnzhhznpznzpszhsh 33562894 餹 18252 pnnzhhznnhpzhhsszh 33565658 饈 18253 pnnzhhznnphhhpzshh 33567259 餻 18254 pnnzhhznnphhshnnnn 33558781 臓 18255 pzhhhsshphszhszzpn 16786404 臑 18256 pzhhhnzsnnnnhpszss 16777384 臐 18257 pzhhphsznphshhnnnn 16785456 臍 18258 pzhhnhnpszppznpshh 33564017 臗 18259 pzhhnnzhssszhhhpzn 33559497 臏 18260 pzhhnnzhsppszhhhpn 33555177 臎 18261 pzhhznhznhnhpnpnhs 33555809 鳍 18262 pzszhshhhshppzszhh 16783221 鳎 18263 pzszhshhszhhznhznh 16778941 鳏 18264 pzszhshhszsshsppnn 16780162 鳐 18265 pzszhshhpnnpphhszs 16785957 鳑 18266 pzszhshhnhnpnznhzp 33557463 鳒 18267 pzszhshhnphzhhsspn 33560117 鯐 18268 pzszhshnnnnhshshpn 0 鮿 18269 pzszhshnnnnhsshhhz 16786725 鯄 18270 pzszhshnnnnhsnhpnn 16783437 鯆 18271 pzszhshnnnnhszhhsn 16779319 鯁 18272 pzszhshnnnnhszhhpn 33558899 鯃 18273 pzszhshnnnnhszhszh 33566211 鯂 18274 pzszhshnnnnhszpzhh 33564828 鮹 18275 pzszhshnnnnsnpszhh 33565098 鯉 18276 pzszhshnnnnszhhshh 33562535 鯌 18277 pzszhshnnnnphshszh 33559349 鯏 18278 pzszhshnnnnphspnss 0 鯓 18279 pzszhshnnnnpszhhhp 33561706 鮽 18280 pzszhshnnnnpnhhspn 33568640 鯑 18281 pzszhshnnnnpnhpszs 0 鮾 18282 pzszhshnnnnpnnpzph 33561617 鮸 18283 pzszhshnnnnpzszhpz 16781696 鯀 18284 pzszhshnnnnpzznspn 16780248 鯍 18285 pzszhshnnnnnhznpsz 33561110 鮵 18286 pzszhshnnnnnpszhpz 33557309 鮷 18287 pzszhshnnnnnpzhzsp 33565881 鯋 18288 pzszhshnnnnnnhspnp 33564993 鯇 18289 pzszhshnnnnnnzhhpz 33558410 鮶 18290 pzszhshnnnnzhhpszh 16781339 鮼 18291 pzszhshnnnnzhhnzzn 33563865 鯽 18292 pzszhshnnnnzhhznzs 33560011 鯒 18293 pzszhshnnnnznszhhs 33568484 鮻 18294 pzszhshnnnnznpnpzn 33564958 鵟 18295 pzphhshpszhhhznnnn 33559514 獶 18296 pzphpszhhnznznnpzn 33561583 颺 18297 pzpszhshnszhhhpzpp 16785909 颸 18298 pzpszhshnszhshnznn 16783658 颼 18299 pzpszhshnpshzhhszn 33564745 颹 18300 pzpszhshnzshszhhzs 33566465 颾 18301 pzpszhshnznnszhshn 16783585 觵 18302 pzpzhhshsshszhshpn 33558919 觴 18303 pzpzhhsphszhhhpzpp 33565084 鵤 18304 pzpzhhspszhhhznnnn 0 獵 18305 pzpzzzszpnhznnznnz 33562869 鹱 18306 pznzhhsspsnhhhshzn 33558271 雛 18307 pzzsppzzsppsnhhhsh 33556442 謮 18308 nhhhszhhhshszhhhpn 33569052 謹 18309 nhhhszhhsshszhhhsh 33559655 謳 18310 nhhhszhhszhszhszhz 33554764 謤 18311 nhhhszhhszsshhhspn 33555394 譇 18312 nhhhszhhpnhshpszhh 33565119 謣 18313 nhhhszhhnzsnnnnhhz 33568591 譃 18314 nhhhszhshzphzssnph 33567291 謯 18315 nhhhszhshzphzszhhh 33569303 謼 18316 nhhhszhshzphzpnphs 16779564 謱 18317 nhhhszhszhhszhszph 33562285 謾 18318 nhhhszhszhhszsshzn 33560896 謻 18319 nhhhszhphspnpznpzn 33567774 謥 18320 nhhhszhpszpznhnznn 33555675 謶 18321 nhhhszhnhphsshnnnn 33570015 謫 18322 nhhhszhnhnpszhsszh 33569465 謪 18323 nhhhszhnhnpszpnszh 16783860 謭 18324 nhhhszhnphszhhsszp 16780917 夑 18325 nhhhszhnppnnppnpzn 0 譀 18326 nhhhszhzhsshhhphpn 33557866 謵 18327 nhhhszhznhznhpszhh 33566736 謬 18328 nhhhszhznhznhpnppp 33561458 謲 18329 nhhhszhznznznpnppp 33555497 謴 18330 nhhhszhzzshszhhhpn 33559239 髜 18331 nhszhszszhszhhphps 33564272 鹯 18332 nhszszhhszhhhpznzh 16786635 皽 18333 nhszszhhszhhhzpszn 16786650 懬 18334 nhphsshszhshpnnznn 33559539 鹰 18335 nhppspsnhhhshpznzh 16785549 廫 18336 nhppzhhznhznhpnppp 33562827 癞 18337 nhpnhhszhspnpzszpn 16782015 癗 18338 nhpnhhnzsnnnnszhsh 33562177 癑 18339 nhpnhszhsshhphhzpn 33561638 癏 18340 nhpnhszsshhszhpzpn 33559087 癤 18341 nhpnhphnphnzhhznzs 33560363 癙 18342 nhpnhpshzhhznnznnz 16784116 癓 18343 nhpnhppsszshpzphpn 33566407 顏 18344 nhpnhpppphpszhhhpn 33568098 癒 18345 nhpnhpnhszhhssnznn 33568719 癐 18346 nhpnhpnhszsnphszhh 33559079 癚 18347 nhpnhpzhppnnhhhszh 33556728 癝 18348 nhpnhnhszszhhhhspn 33555195 癛 18349 nhpnhnhszszhhphspn 33562350 癔 18350 nhpnhnhnphszhhnznn 33567899 癕 18351 nhpnhnhzzppsnhhhsh 33568447 癜 18352 nhpnhzhphsshpnpzzn 16778889 癖 18353 nhpnhzhpszhnhnphhs 16783024 斔 18354 nhpnszhshnpshzhhpn 33568672 雜 18355 nhpnpnhspnpsnhhhsh 33568970 離 18356 nhpnzsszznpsnhhhsh 33562517 麎 18357 nhpzsshhzpzhphhzpn 33556130 麌 18358 nhpzsshhzpzszhhhpn 16784618 麐 18359 nhpzsshhzpznhpnszh 16782204 麍 18360 nhpzsshhzpznhznpsz 33562913 麏 18361 nhpzsshhzpzzhhpszh 33560798 竵 18362 nhnphhszhhzssznphs 33558338 辬 18363 nhnphhpnhpnnhnphhs 33554863 韹 18364 nhnphszhhpszhhhhsh 16779727 顔 18365 nhnphpppphpszhhhpn 16785802 齌 18366 nhnpszppznpshhnppn 16780782 旛 18367 nhzpphpnphspnszhsh 16779067 旞 18368 nhzpphnphpzpppnnzn 33564932 羴 18369 nphhhsnphhhpnphhhs 33565026 羵 18370 nphhhphshssszhhhpn 16779201 羳 18371 nphhhppnphspnszhsh 33557420 鯗 18372 nphhhpnpzszhshnnnn 33567057 鵥 18373 nphhssspszhhhznnnn 0 糦 18374 nphspnhshszhnphszh 33554723 糤 18375 nphspnhsshszhhphpn 33564644 糥 18376 nphspnhpszsshpszss 33561884 糣 18377 nphspnhzpzhzpzszhh 33564643 糧 18378 nphspnszhhhszhhshh 33562779 翷 18379 nphspnpznhzsznhznh 33562347 糨 18380 nphspnzhzszhszhshn 16781000 颣 18381 nphspnzznspnhpszpn 33562203 冁 18382 npszhhhszhphsshzpn 16778184 蹩 18383 npszspnphpnszhshpn 16777864 鄨 18384 npszspnphpnszhzshz 33555249 爀 18385 nppnhshpspnhshpspn 33558025 燽 18386 nppnhshzhshhszhhsn 16778366 爁 18387 nppnhszhszphnszssh 33562040 爄 18388 nppnhphssszhhszshn 33562543 燸 18389 nppnhnzsnnnnhpszss 33563414 爗 18390 nppnszhhhsshhsshhs 33568395 燻 18391 nppnphsznphshhnnnn 33567478 燺 18392 nppnnhszhszszhhspn 33559345 爌 18393 nppnnhphsshszhshpn 33559521 爃 18394 nppnnppnnppnnzhspn 33563329 檾 18395 nppnnppnnzhspnhspn 33563929 鎣 18396 nppnnppnnzpnhhsnph 33567696 燼 18397 nppnzhhshnnnnszssh 33559709 燿 18398 nppnznhznhpsnhhhsh 16785981 鵜 18399 npzhzsppszhhhznnnn 33565868 濽 18400 nnhhhpnhhpnszhhhpn 33555771 瀐 18401 nnhhshshhhshhhhzpn 33560079 瀆 18402 nnhhshszsshszhhhpn 33557164 瀔 18403 nnhhshnzhphspnpzzn 16780091 懣 18404 nnhhsshszspnpnnznn 33561078 瀒 18405 nnhhspnpnpnhszszhh 33564673 懘 18406 nnhhpsshznzszsnznn 33556409 瀀 18407 nnhhpszhhnznznnpzn 33568491 瀦 18408 nnhhpzpppnhshpszhh 33569859 濾 18409 nnhshzphzszhshnznn 33563215 鯊 18410 nnhspnppzszhshnnnn 33564992 瀑 18411 nnhszhhhsshpnsnhpn 16783095 濺 18412 nnhszhhhpnhzpnhzpn 33560124 瀃 18413 nnhszhhhpnszhhpzpp 33564793 瀢 18414 nnhszhshszhhhpnnzn 33566400 濼 18415 nnhpszhhzznzznhspn 33563177 瀓 18416 nnhppsszshhhshphpn 33556196 瀊 18417 nnhppznhnpzznszssh 33563487 瀂 18418 nnhpzszhshnnnnszhh 33562991 瀏 18419 nnhpznzppnhhsnphss 33562887 瀍 18420 nnhnhpszhhshhpnhsh 16778151 瀌 18421 nnhnhpzsshhzpznnnn 16777832 鎏 18422 nnhnhznpszpnhhsnph 16782506 瀅 18423 nnhnppnnppnnzhhshn 33567672 瀉 18424 nnhnnzpshzhhpznnnn 33567185 瀋 18425 nnhnnzpnphspnszhsh 33565176 瀈 18426 nnhznhznhnzhszhhhs 33558465 懳 18427 nnshhhshhhszhhnznn 0 懴 18428 nnshshshhhshhhhzpn 33555996 懵 18429 nnshssszsshnzszhhh 16781549 懮 18430 nnshpszhhnznznnpzn 16786058 懪 18431 nnsszhhhsshpnsnhpn 33555138 懫 18432 nnspphspphsszhhhpn 16786915 懰 18433 nnspznzppnhhsnphss 16782514 鵍 18434 nnzhhpzpszhhhznnnn 33558352 竄 18435 nnzpnpshzhhznnznnz 33555778 竆 18436 nnzpnpszhhhpszhszh 33564373 竅 18437 nnzpnpszhhnhzpphpn 16783384 額 18438 nnzpznszhhpszhhhpn 33554624 顐 18439 nzhszhhhshpszhhhpn 33558597 襟 18440 nzspnhspnhspnhhspn 16780557 襠 18441 nzspnsnpnzszhszhsh 33556752 襛 18442 nzspnszhsshhphhzpn 16781828 襙 18443 nzspnszhszhszhhspn 33555578 襗 18444 nzspnszsshhshnphhs 33557303 襡 18445 nzspnszsshpzszhshn 16784109 襝 18446 nzspnpnhszhszhpnpn 33562741 襘 18447 nzspnpnhszsnphszhh 33559203 襜 18448 nzspnpzhppnnhhhszh 16778146 襢 18449 nzspnnhszszhhszhhh 16784253 禱 18450 nzsnhshzhshhszhhsn 33556798 禲 18451 nzsnhphssszhhszshn 33562631 禰 18452 nzsnhpnszspnpnpnpn 16781653 繠 18453 nznnnznnnznnzznspn 16782802 鵘 18454 zhhpszhpszhhhznnnn 33560817 彞 18455 zhhnphspnzznspnhps 33567784 鵖 18456 zhhznpspszhhhznnnn 33555269 璧 18457 zhpszhnhnphhshhshn 16777764 礕 18458 zhpszhnhnphhshpszh 33563706 屩 18459 zhpppsphpnszhszszh 16781303 屪 18460 zhpnnzhpnnpszhhspn 16782455 鵋 18461 zhznznnpszhhhznnnn 33559954 韚 18462 zshszhhzshsshszhhs 33558860 韘 18463 zshszhhzshsshzhspn 16783921 韞 18464 zshszhhzsszhhszssh 33568949 韗 18465 zshszhhzsnzhszhhhs 33567519 韖 18466 zshszhhzsznzsphspn 16782757 醬 18467 zshppznnhsnhszpzhh 16780998 雟 18468 zsppsnhhhshszpnszh 16783737 隴 18469 zsnhnphszhhhzhzhhh 33562264 嬻 18470 zphhshszsshszhhhpn 33557168 嬼 18471 zphpznzppnhhsnphss 33562893 嬸 18472 zphnnzpnphspnszhsh 33565182 戳 18473 znhznhpsnhhhshhzpn 16778556 鵕 18474 znpnpznpszhhhznnnn 33567510 鞪 18475 znzspphpnhsshszhhs 33561484 彝 18476 zzhnphspnzznspnhps 16785625 繞 18477 zznnnnhshhshhshhpz 33563274 繥 18478 zznnnnhshszhnphszh 33566690 繨 18479 zznnnnhshnphhhsnzn 16778584 繖 18480 zznnnnhsshszhhphpn 16783569 繱 18481 zznnnnhsspzppnnznn 33555641 繐 18482 zznnnnhszhhshnnznn 16779774 繚 18483 zznnnnhpnnpszhhspn 33562812 繧 18484 zznnnnhnzsnnnnhhzn 0 繓 18485 zznnnnszhhhsshhhzn 33569287 繝 18486 zznnnnszhhszhhpzhh 33560196 繢 18487 zznnnnszhshszhhhpn 33558539 繟 18488 zznnnnszhszhszhhhs 33555968 繑 18489 zznnnnphpnszhszszh 33564260 繙 18490 zznnnnpnphspnszhsh 16779064 繎 18491 zznnnnpznnhpnnnnnn 33563232 織 18492 zznnnnnhnphszhhzpn 33569705 繕 18493 zznnnnnphhhsnphszh 33565058 繗 18494 zznnnnnphspnpznhzs 33562325 繜 18495 zznnnnnphszpzhhhsn 33569272 繸 18496 zznnnnnphpzpppnnzn 16783754 繒 18497 zznnnnnpszsnphszhh 33569087 繣 18498 zznnnnzhhhshszhshh 16779631 繦 18499 zznnnnzhzszhszhshn 33560259 繏 18500 zznnnnzhzzhzhsshpn 33567421 繘 18501 zznnnnznzspszpnszh 16786202 斷 18502 zznzznhzznzznzpphs 33557232 雝 18503 zzzszhzshzpsnhhhsh 16786030 邋 18504 zzzszpnhznnznnznzn 16781985 耯 18505 hhhspnhsspsnhhhshzn 33558637 瓉 18506 hhshhhpnhhpnszhhhpn 33569012 瓄 18507 hhshhshszsshszhhhpn 33557184 璷 18508 hhshhszhhsnnhzpphpn 33557649 瓇 18509 hhshhpszhhnznznnpzn 33563388 鶄 18510 hhshszhhpszhhhznnnn 33559722 瓃 18511 hhshszhshszhshszhsh 33562162 瓈 18512 hhshphspnpzppnsnhpn 33562509 瓅 18513 hhshpszhhzznzznhspn 33562637 瓆 18514 hhshpphspphsszhhhpn 33569738 顜 18515 hhsshszshhhpszhhhpn 16780985 匶 18516 hhsspsnhhhshpshzhhz 33560520 斄 18517 hhspnphpnhphspnpnpn 16782349 镽 18518 hshhhznhpnnpszhhspn 33562818 鬊 18519 hshhhznppphhhpnszhh 33565488 鬍 18520 hshhhznppphsszhpzhh 33558204 鬎 18521 hshhhznppphszhspnss 16781991 鬌 18522 hshhhznppphphshszhh 33557316 鬏 18523 hshhhznpppphspnnppn 33560496 鬉 18524 hshhhznppppnzspnpzn 33569099 鬋 18525 hshhhznpppnphszhhss 16780871 鼃 18526 hshhshszhhszhshhzhh 33566272 攋 18527 hshhszhspnpzszhhhpn 33561911 騞 18528 hshhsznnnnhhhshpszh 33558634 騲 18529 hshhsznnnnhssszhhhs 33555575 騕 18530 hshhsznnnnhszsshzph 16785965 騠 18531 hshhsznnnnszhhhshpn 16784408 騔 18532 hshhsznnnnszhhpzpnz 33558866 騦 18533 hshhsznnnnszhshnznn 33564767 騪 18534 hshhsznnnnpshzhhszn 33564739 騜 18535 hshhsznnnnpszhhhhsh 33558421 騡 18536 hshhsznnnnpszhhszpn 33564529 騩 18537 hshhsznnnnpszhhpzzn 33559581 騟 18538 hshhsznnnnpnhszhhss 33568588 騣 18539 hshhsznnnnpnzspnpzn 16786455 颿 18540 hshhsznnnnpzpszhshn 16779082 騘 18541 hshhsznnnnpzppnnznn 33555631 騚 18542 hshhsznnnnnphszhhss 33564166 騨 18543 hshhsznnnnnnpszhhhs 33565605 騙 18544 hshhsznnnnnzhpszhss 33563788 騢 18545 hshhsznnnnzhshhzhzn 16785054 騛 18546 hshhsznnnnzpnppzpns 33557481 騤 18547 hshhsznnnnznppnhhpn 16780500 騷 18548 hshhsznnnnznnszhshn 33564660 騥 18549 hshhsznnnnznzsphspn 33563378 壢 18550 hshhpphspnphspnshsh 33562660 攊 18551 hshhpphspnphspnshsh 33562549 攉 18552 hshhnzsnnnnpsnhhhsh 33558627 趬 18553 hshshpnhshhshhshhpz 33564268 趫 18554 hshshpnphpnszhszszh 16783377 趭 18555 hshshpnpsnhhhshnnnn 33568367 壚 18556 hshshzphzszhshszssh 33562984 攎 18557 hshshzphzszhshszssh 33562957 壜 18558 hshszhhhnzsnnnnhhzn 33565624 壛 18559 hshszhhszhhpzpshzhh 33568125 嚭 18560 hshszhnphszhhpsnszh 16783027 攌 18561 hshszszsshhszhpzpnh 33557858 攒 18562 hshphshpzphshpzszpn 16778049 攑 18563 hshpshhhzszhhhpnhhs 33564123 鵱 18564 hshpnhshpszhhhznnnn 33563040 壞 18565 hshnhszsshsnhpnpzpn 16779649 攈 18566 hshnhpzsshhzpzphspn 33560808 壠 18567 hshnhnphszhhhzhzhhh 33562267 攏 18568 hshnhnphszhhhzhzhhh 33562259 攍 18569 hshnhzszhpzhhzphpzn 33567675 攚 18570 hshnppnnppnnzszhszh 0 攇 18571 hshnnzhhhsszsshnznn 33566946 攐 18572 hshnnzhhsshpnnhpzpn 33564122 鏧 18573 hshzshppzznpnhhsnph 33562255 鵶 18574 hshzzhshpszhhhznnnn 33568024 聸 18575 hsshhhpzhppnnhhhszh 33556697 蘀 18576 hsshshszsshhshnphhs 16784578 蘣 18577 hsshsshszhshpnnhhsh 33565818 蘁 18578 hsshsszhszhhszhszhh 33554644 藮 18579 hsshspnpsnhhhshnnnn 33564293 難 18580 hsshszhhhpnpsnhhhsh 33561556 鞲 18581 hsshszhhshhsshszshh 33558951 鞾 18582 hsshszhhshsshhsshhs 33567438 鞴 18583 hsshszhhshsshpszhhs 33555003 鞸 18584 hsshszhhsszhhhsshhs 33555313 鞱 18585 hsshszhhspnnppshzhh 33565708 鞵 18586 hsshszhhspnnpzznhpn 33567169 鞹 18587 hsshszhhsnhszhzshzs 16780493 鵲 18588 hsshszhhpszhhhznnnn 33564298 藾 18589 hsshszhspnpzszhhhpn 16782017 藶 18590 hsshpphspnphspnshsh 33562671 藿 18591 hsshnzsnnnnpsnhhhsh 16779844 蘎 18592 hsshnzsnnnnpzhhzshz 33559935 蘃 18593 hssshshshshshshhspn 33563438 蘋 18594 hssshshspphpszhhhpn 33563664 蘧 18595 hssshzphzhpzpppnnzn 16783472 蘆 18596 hssshzphzszhshszssh 33562956 藺 18597 hssszhhszhhpsnhhhsh 33562372 躉 18598 hssszhhszshnszhshpn 33557279 鶓 18599 hssszhshpszhhhznnnn 33561426 蘄 18600 hssszhszhszhhhspphs 33563959 酄 18601 hssszhszhpsnhhhshzs 33558351 勸 18602 hssszhszhpsnhhhshzp 33564568 鶧 18603 hssszhpnpszhhhznnnn 33567661 蘉 18604 hssszsshnzpszhhnzzn 33560938 蘈 18605 hssphspnpzhpszhhhpn 33566073 蘒 18606 hssphspnpzszhhszhhz 0 蘓 18607 hssphspnpzszhshnnnn 33564826 蘍 18608 hssphsznphshhnnnnzp 33567471 孽 18609 hsspszhzhnhnphhszsh 16781933 蘅 18610 hssppspzszhshhpnhhs 16779501 蘏 18611 hsspzhhspnhpszhhhpn 33560467 蘇 18612 hsspzszhshnnnnphspn 16783683 警 18613 hsspzszhphpnnhhhszh 16780625 蘔 18614 hsspzphspnhpszhhhpn 33560468 藹 18615 hssnhhhszhszhhpzpnz 33554459 蘐 18616 hssnhhhszhpnnphhpzn 33567375 蘑 18617 hssnhphspnhspnhpszh 16781553 藽 18618 hssnhnphhspnszhhhpz 33556166 蘢 18619 hssnhnphszhhhzhzhhh 33562220 藻 18620 hssnnhszhszhszhhspn 16786414 藼 18621 hssnnzhhhsszsshnznn 33567391 蘂 18622 hssnznnnznnnznnhspn 33563437 顛 18623 hsszhhhhpnhpszhhhpn 33557036 蘟 18624 hsszspnnphshzhhnznn 33567587 鶜 18625 hssznzsppszhhhznnnn 33560982 蘊 18626 hsszznnnnszpnhszssh 33568935 蘕 18627 hsszznnnnpznhhhsnzn 0 櫘 18628 hspnhhhshhhszhhnznn 33558570 櫕 18629 hspnhhpnhhpnszhhhpn 33555770 櫝 18630 hspnhshszsshszhhhpn 33557186 櫵 18631 hspnhsspsnhhhshnnnn 0 麓 18632 hspnhspnnhpzsshhzpz 16782583 櫏 18633 hspnhszsshhpnzhznzn 33564160 櫌 18634 hspnhpszhhnznznnpzn 16786056 櫖 18635 hspnshzphzszhshnznn 33563184 櫢 18636 hspnszhhszhszphphpn 33564757 櫑 18637 hspnszhshszhshszhsh 33562163 櫤 18638 hspnphnphnnphszhhss 0 櫋 18639 hspnpszhhhnnzpnnhzp 33561397 櫟 18640 hspnpszhhzznzznhspn 33562658 櫍 18641 hspnpphspphsszhhhpn 33569831 攀 18642 hspnpnpnhspnhpnphhs 16782847 鶆 18643 hspnpnpnpszhhhznnnn 33561948 麳 18644 hspnpnpnpznhspnpnpn 33561952 麴 18645 hspnpnpnpznpznphspn 16783460 櫓 18646 hspnpzszhshnnnnszhh 33563008 櫧 18647 hspnnhhhszhhshpszhh 33569870 櫥 18648 hspnnhphshszhnphhsn 33556445 櫦 18649 hspnnhpzsshznznnpzn 0 櫠 18650 hspnnhpznppnzhzpzzn 33557519 鶐 18651 hspnnnznpszhhhznnnn 33565431 櫲 18652 hspnznzspzszhpzpppn 33568767 櫞 18653 hspnzznnnnzzhpzpppn 33568822 轒 18654 hszhhhshshssszhhhpn 16779183 轕 18655 hszhhhshssszhhpzpnz 16779970 轑 18656 hszhhhshpnnpszhhspn 16782086 轐 18657 hszhhhsssnphnphhhpn 33563836 轎 18658 hszhhhsphpnszhszszh 33560346 鏨 18659 hszhhhspphspnhhsnph 33569016 轓 18660 hszhhhspnphspnszhsh 16779063 轍 18661 hszhhhsnhznszhhphpn 33556090 轔 18662 hszhhhsnphspnpznhzs 33562324 轏 18663 hszhhhszhpzshzshzsh 16786656 蟿 18664 hszhhhszspzznszhshn 16783261 罊 18665 hszhhhszspzznphhszs 33563935 繫 18666 hszhhhszspzznzznspn 33559964 鶇 18667 hszhhspnpszhhhznnnn 33556851 懯 18668 hszhhsnnhzpphpnnznn 33557653 櫜 18669 hszhsnzpznsnszhhspn 16779932 鞷 18670 hszhsznphshsshszhhs 33558850 鬷 18671 hszhsznphspnzspnpzn 16786457 覇 18672 hszsshhsshszhhspzhh 16777461 覈 18673 hszsshpszhhnhzpphpn 16779463 醰 18674 hszpzhhhszsshszhhhs 16784248 醭 18675 hszpzhhssnphnphhhpn 16777871 醮 18676 hszpzhhpsnhhhshnnnn 16781062 醯 18677 hszpzhhnhznpszszssh 16784981 醱 18678 hszpzhhznppnzhzpzzn 33557367 麗 18679 hsznhsznnhpzsshhzpz 33562498 夒 18680 hpszhhhshshzhzpnpzn 33561576 礟 18681 hpszhhshhsznnnnpnpn 33563542 礣 18682 hpszhhssszsshhpnzpn 33561444 礤 18683 hpszhhsspznnznhhspn 33555479 厴 18684 hpszhhszhhhpnnszhhs 33568161 礛 18685 hpszhhszhszphnszssh 33560083 礪 18686 hpszhhphssszhhszshn 33562569 礝 18687 hpszhhnzsnnnnhpszss 33563422 礘 18688 hpszhszhhzznzznnnnn 33564066 礙 18689 hpszhpzphhpnznzshpn 33554462 礦 18690 hpszhnhphsshszhshpn 33558923 礢 18691 hpszhnphhhpnnzhhzpn 0 礗 18692 hpszhnnzhsppszhhhpn 33563661 贋 18693 hppspsnhhhshszhhhpn 33568177 願 18694 hppszhhspnhpszhhhpn 16786292 鵸 18695 hpnhszhspszhhhznnnn 33563986 鵪 18696 hpnszhhzpszhhhznnnn 33554493 璽 18697 hpnszspnpnpnpnhhshn 33566769 蹷 18698 hpnphzsppzpnszhshpn 33560756 豶 18699 hpzpppnhshssszhhhpn 16779187 櫫 18700 hpzpppnhshpszhhhspn 33569871 豷 18701 hpzpppnhshnzhszhnph 16785694 蟸 18702 hpzpppnszhshnszhshn 33562526 殱 18703 hpznhshshhhshhhhzpn 33560110 殰 18704 hpznhshszsshszhhhpn 16778960 霦 18705 hnzsnnnnhspnhspnppp 33555154 霬 18706 hnzsnnnnszhshhsshpn 33567871 酃 18707 hnzsnnnnszhszhszhzs 16782241 霪 18708 hnzsnnnnnnhpnnpphsh 16785511 霭 18709 hnzsnnnnnzszhhpzpnz 16777239 霨 18710 hnzsnnnnzhphhspnhsn 16784813 霳 18711 hnzsnnnnzspznhphhsh 33562215 霫 18712 hnzsnnnnznhznhpszhh 16785000 鶈 18713 hzhhszphpszhhhznnnn 33563952 翽 18714 shshhphsppzpnznhznh 16779802 齖 18715 shshpnpnhpnpnzshzsp 33568033 齗 18716 shshpnpnhpnpnzspphs 16780393 齘 18717 shshpnpnhpnpnzspnps 33567206 鵫 18718 shszhhhspszhhhznnnn 16786703 鹸 18719 shszpnnnnnhpnhszhpn 16780924 壡 18720 shnzhpnpnszhhhznhsh 33563447 黼 18721 ssnphnpszspnhszhhsn 16779325 矋 18722 szhhhhphssszhhszshn 33562641 矄 18723 szhhhphsznphshhnnnn 33567474 矈 18724 szhhhpszhhnnzpnnhzp 33561395 蠈 18725 szhhhpnhhpzpnszhshn 33569048 贎 18726 szhhhpnhssszhhszshn 33566340 贉 18727 szhhhpnhszsshszhhhs 16784252 贆 18728 szhhhpnhpnnhpnnhpnn 33555391 贌 18729 szhhhpnssnphnphhhpn 0 贈 18730 szhhhpnnpszsnphszhh 33569093 矎 18731 szhhhpzszpnszhhhpzn 33567387 矌 18732 szhhhnhphsshszhshpn 33559145 矉 18733 szhhhnnzhsppszhhhpn 33555166 矃 18734 szhhhnnznznnszsshhs 33561688 鵾 18735 szhhhzhzpszhhhznnnn 33559608 矅 18736 szhhhznhznhpsnhhhsh 33568369 矊 18737 szhhhzznnnnpszhhszs 33561396 嚥 18738 szhhsshszhshhpznnnn 16785878 闚 18739 szhhszhhhhpnszhhhpz 16780496 曝 18740 szhhszhhhsshpnsnhpn 16783096 闛 18741 szhhszhhsnpnzszhhsh 33565684 曟 18742 szhhszhhszhhhphhzpn 33556141 闝 18743 szhhszhhszhhhpnphpn 33563802 覸 18744 szhhszhhszhhszhhhpz 33560217 曡 18745 szhhszhhszhhnzszhhh 33557152 覵 18746 szhhszhhpzhhszhhhpz 33560216 闙 18747 szhhszhhnzhpszhphpn 33564055 闞 18748 szhhszhhzhsshhhphpn 33557854 關 18749 szhhszhhzznzznzpssh 16780164 嚦 18750 szhhpphspnphspnshsh 33562623 鶍 18751 szhhpzpppszhhhznnnn 0 曢 18752 szhhnnzhpnnpszhhspn 0 嚯 18753 szhhnzsnnnnpsnhhhsh 33558664 疇 18754 szhshhshzhshhszhhsn 33556280 蹺 18755 szhshshhshhshhshhpz 33564266 躂 18756 szhshshhshnphhhsnzn 33565528 蹮 18757 szhshshhszsshhpnzhz 33566883 蹰 18758 szhshshhphszhnphhsn 16778452 蹶 18759 szhshshhpnphzsppzpn 16781306 蹽 18760 szhshshhpnnpszhhspn 33562799 蹼 18761 szhshshssnphnphhhpn 16783091 嚬 18762 szhshshspphpszhhhpn 16782968 蹪 18763 szhshshszhshszhhhpn 33566081 蹻 18764 szhshshphpnszhszszh 16781038 蹹 18765 szhshshpnhszhznhznh 33565522 蹯 18766 szhshshpnphspnszhsh 16779076 蹨 18767 szhshshpznnhpnnnnnn 33561764 蹴 18768 szhshshnhszhspnhpzn 16778043 蹾 18769 szhshshnhszhzshphpn 33557273 蹱 18770 szhshshnhnphszhhshh 33569621 蹸 18771 szhshshnphspnpznhzs 33562329 蹲 18772 szhshshnphszpzhhhsn 16779004 蹭 18773 szhshshnpszsnphszhh 16777971 蹿 18774 szhshshnnzpnszhszhs 16778046 蹬 18775 szhshshznppnhszhnph 16778727 蹳 18776 szhshshznppnzhzpzzn 33555070 蹫 18777 szhshshznzspszpnszh 33560582 櫐 18778 szhshszhshszhshhspn 33562187 蟶 18779 szhshnhsshhhszhhhsh 33556187 蠖 18780 szhshnhsspsnhhhshzn 16779831 蠓 18781 szhshnhssnzhhpzpppn 16781543 蟕 18782 szhshnshshpzpzpzhhs 33569251 蟷 18783 szhshnsnpnzszhszhsh 16778676 蠅 18784 szhshnszhhszhshhzhh 33567673 蠍 18785 szhshnszhhpzpnzpzpn 33567137 蠌 18786 szhshnszsshhshnphhs 33569049 蠉 18787 szhshnszsshhszhpzpn 33567372 蠋 18788 szhshnszsshpzszhshn 16787000 蟾 18789 szhshnpzhppnnhhhszh 16778174 蠏 18790 szhshnpzpzhhszpphhs 16785263 蟺 18791 szhshnnhszszhhszhhh 16783858 蠊 18792 szhshnnhpnphzhhsspn 16782386 蠀 18793 szhshnnhpzpnszhhhpn 33569161 蟻 18794 szhshnnphhshphshzpn 33567846 蟰 18795 szhshnzhhspsshzhzhs 33567106 嚧 18796 szhshzphzszhshszssh 33562977 艶 18797 szhsshhszhnphpzzshz 33568202 嚪 18798 szhszhhszhhpzpshzhh 33556700 嚴 18799 szhszhhpzhsshhhphpn 33568117 辴 18800 szhszhszhhhshphhzpn 33569548 獸 18801 szhszhszhshhszhhpnn 33565255 嚰 18802 szhnhphspnhspnhpszh 33561139 嚫 18803 szhnhnphhspnszhhhpz 33556163 嚨 18804 szhnhnphszhhhzhzhhh 33562248 嚩 18805 szhzznnnnhszhhsnhsn 33561138 巅 18806 szshsszhhhhpnhpszpn 16778876 顗 18807 szshszhnphhpszhhhpn 16785651 颽 18808 szshszhnphpzpszhshn 16780297 翾 18809 szsshhszhpzpnznhznh 16785406 羆 18810 szsshznszhhpzpznnnn 33555401 羄 18811 szsshzznnnnshszhhhs 33569446 羅 18812 szsshzznnnnpsnhhhsh 16782614 巃 18813 szsnhnphszhhhzhzhhh 16782168 巄 18814 szsnhnphszhhhzhzhhh 33562249 巆 18815 szsnppnnppnnzszhszh 33567700 巌 18816 szsnnphpzhsshhhphpn 33568121 幰 18817 szsnnzhhhsszsshnznn 16785123 黣 18818 sznphshhnnnnphzznhn 33561044 黢 18819 sznphshhnnnnznpnpzn 16783467 髆 18820 szznzszhhhszhhsnhsn 16777656 髇 18821 szznzszhhnhszhszszh 16785219 髈 18822 szznzszhhnhnpnznhzp 33554897 髋 18823 szznzszhhnnzhssszpz 16780462 髌 18824 szznzszhhnnzpshshpn 16777687 髉 18825 szznzszhhnzpsnhhhsh 33555075 镲 18826 phhhznnzpznnznhhspn 33555882 鼄 18827 phhspnszhhszhshhzhh 33569858 氌 18828 phhzpzszhshnnnnszhh 33562992 犢 18829 phshhshszsshszhhhpn 33557180 犦 18830 phshszhhhsshpnsnhpn 33554957 犤 18831 phshszsshznszhhpzpz 33563735 贊 18832 phshpzphshpzszhhhpn 16786390 犥 18833 phshnhpzsshhzpznnnn 33563806 犣 18834 phshzzzszpnhznnznnz 33562871 舚 18835 phsszhpzhppnnhhhszh 33565962 穪 18836 phspnhpnszspnpnpnpn 33556158 穤 18837 phspnhnzsnnnnhpszss 33561879 馦 18838 phspnszhhnphzhhsspn 33566892 穩 18839 phspnpnnphshzhhnznn 33566559 穨 18840 phspnpzszhshszhhhpn 16784527 鵹 18841 phspnpzppszhhhznnnn 33562490 鯬 18842 phspnpzppzszhshnnnn 33562522 穬 18843 phspnnhphsshszhshpn 33558927 穧 18844 phspnnhnpszppznpshh 16780787 穦 18845 phspnnnzhsppszhhhpn 33555158 簼 18846 phnphnhshhhsshszshh 33558966 籀 18847 phnphnhshpznzpszhsh 16786863 簸 18848 phnphnhsshhhpnzpszn 16777662 籆 18849 phnphnhsspsnhhhshzn 33568860 簳 18850 phnphnhsszhhhspnhhs 33558749 簵 18851 phnphnhszhhhspznszh 33557205 籁 18852 phnphnhszhspnpzszpn 16782011 籈 18853 phnphnhszsshhshhzzn 33569512 簴 18854 phnphnshzphzssnphpn 33560636 簹 18855 phnphnsnpnzszhszhsh 16778670 簬 18856 phnphnszhshshpznszh 16782565 籅 18857 phnphnpshhhzszhhhpn 33568604 簽 18858 phnphnpnhszhszhpnpn 33564135 籂 18859 phnphnpnnzhhznphszs 0 簷 18860 phnphnpzhppnnhhhszh 33568092 簾 18861 phnphnnhpnphzhhsspn 16782390 簿 18862 phnphnnnhhszhhsnhsn 16777879 簺 18863 phnphnnnzhhsshpnhsh 33564627 簫 18864 phnphnzhhspsshzhzhs 33567080 蠞 18865 phnphnzhhznzsszhshn 33560379 鳘 18866 phzznhnphpnpzszhshh 33561260 夓 18867 pshhhpszhhhzhhpnpzn 33566866 爂 18868 pshhszhszhzhhnznppn 33555390 鶂 18869 pshzhhpzpszhhhznnnn 16781861 鼭 18870 pshzhhznnznnzhshhsn 33565284 鼮 18871 pshzhhznnznnzphshzn 33565832 牘 18872 pshzhshszsshszhhhpn 33557171 儳 18873 pspzszhhzpzpzszhpzn 16778190 儴 18874 psnhszhszhhhsshpzpn 33563259 皩 18875 pszhhhhshszhhsnphpz 33558461 齁 18876 pszhhhszhshhpspzszh 16779538 軅 18877 pszhhhphppspsnhhhsh 0 軃 18878 pszhhhpszhszhszhhhs 33557333 軄 18879 pszhhhpnhnphszhhzpn 33569737 軂 18880 pszhhhpnppnnppnnzzp 33562125 鶀 18881 pszhhhznnnnhsshhhpn 33563990 鵿 18882 pszhhhznnnnszhhphps 33565214 鶃 18883 pszhhhznnnnpshzhhpz 33567940 鵻 18884 pszhhhznnnnpsnhhhsh 16787074 鵦 18885 pszhhhznnnnzhhsnhpn 33563037 鵯 18886 pszhhphspszhhhznnnn 33554967 魓 18887 pszhhpzznszhhhsshhs 33555266 魑 18888 pszhhpzznnhpnzsszzn 16778377 魐 18889 pszhhpzznnphzhhsspn 33560093 顖 18890 pszpnhnznnhpszhhhpn 33566616 懲 18891 ppsszshhhshphpnnznn 33556226 徿 18892 ppsnhnphszhhhzhzhhh 33562275 艧 18893 ppznhnhsspsnhhhshzn 33558644 艨 18894 ppznhnhssnzhhpzpppn 16781531 艢 18895 ppznhnhspnpnhszszhh 33564244 艣 18896 ppznhnshzphzszhshzp 16782551 艡 18897 ppznhnsnpnzszhszhsh 33556753 鞶 18898 ppznhnpzznhsshszhhs 16782854 艤 18899 ppznhnnphhshphshzpn 33567832 鵨 18900 pnhhsszhpszhhhznnnn 33565383 鏏 18901 pnhhsnphhhhshhhszhh 33566511 鐯 18902 pnhhsnphhsshshpszhh 33570009 鐄 18903 pnhhsnphhsshszhshpn 33558419 鏋 18904 pnhhsnphhsshszspnpn 33560915 鏩 18905 pnhhsnphhszhhhspphs 33560229 鏄 18906 pnhhsnphhszhhshnhsn 33566062 鏪 18907 pnhhsnphhszhsshszhh 33555572 鏉 18908 pnhhsnphhszhspnpzpn 33565260 鏂 18909 pnhhsnphhszhszhszhz 33559426 鏗 18910 pnhhsnphhszhszznhsh 33559412 鏢 18911 pnhhsnphhszsshhhspn 33555411 鏚 18912 pnhhsnphhpshhspnzpn 16783258 鏯 18913 pnhhsnphhpnpnpnpnpn 0 鏀 18914 pnhhsnphshszpnnnnnh 33563006 鏬 18915 pnhhsnphshzphzpnphs 33566874 鏜 18916 pnhhsnphsnpnzszhhsh 33565651 鏛 18917 pnhhsnphsnpnzszhszs 33556022 鏤 18918 pnhhsnphszhhszhszph 33562317 鏝 18919 pnhhsnphszhhszsshzn 33560933 鏍 18920 pnhhsnphszhshzznspn 33563148 鏙 18921 pnhhsnphszspsnhhhsh 33555782 鏰 18922 pnhhsnphszspzhhpzhh 33555062 鐹 18923 pnhhsnphszzszszhnzn 33559273 鏫 18924 pnhhsnphphspnsshspn 33562521 鵭 18925 pnhhsnphpszhhhznnnn 33563874 鏓 18926 pnhhsnphpszpznhnznn 33555651 鏦 18927 pnhhsnphppspnpnshpn 16777981 鏭 18928 pnhhsnphpnphspnnznn 33566725 鐌 18929 pnhhsnphpzszhpzpppn 33567061 鏣 18930 pnhhsnphnhphsshnnnn 33565440 鏮 18931 pnhhsnphnhpzhhsnhpn 33559332 鏞 18932 pnhhsnphnhpzhhszhhs 33568453 鏕 18933 pnhhsnphnhpzsshhzpz 33563063 鏱 18934 pnhhsnphnhnphszhhhs 0 鏡 18935 pnhhsnphnhnphszhhpz 33559770 鏟 18936 pnhhsnphnhnphpphhsh 33555982 鏑 18937 pnhhsnphnhnpszhsszh 33556950 鏃 18938 pnhhsnphnhzpphphhpn 33555752 鏇 18939 pnhhsnphnhzpphzshpn 33567431 鏲 18940 pnhhsnphnhzznnzphhs 0 鏔 18941 pnhhsnphnnzhszhshpn 33567578 鏥 18942 pnhhsnphnnzpshpszhh 33567282 鏘 18943 pnhhsnphzshppznnhsn 33564236 鐊 18944 pnhhsnphzsszhhhpzpp 33568240 鏐 18945 pnhhsnphznhznhpnppp 16782512 鏒 18946 pnhhsnphznznznpnppp 33564271 鏆 18947 pnhhsnphzzshszhhhpn 33559127 鏁 18948 pnhhsnphzzzszhhhspn 33564976 鼗 18949 pnhzpnhshszhnphhszn 16784307 鶏 18950 pnnphhpnpszhhhznnnn 16780691 颻 18951 pnnpphhszspzpszhshn 16785955 貚 18952 pnnpzppszhszhszhhhs 33565614 覶 18953 pnnpznszznznszhhhpz 33563145 辭 18954 pnnpznszznznnhnphhs 33555701 饉 18955 pnnzhhznhsshszhhhsh 33559657 饇 18956 pnnzhhznhszhszhszhz 16786199 饄 18957 pnnzhhznsnpnzszhhsh 33565660 饅 18958 pnnzhhznszhhszsshzn 33560897 臔 18959 pzhhhszhszznszhhhpn 33567015 鵬 18960 pzhhpzhhpszhhhznnnn 33563609 臕 18961 pzhhnhpzsshhzpznnnn 16777848 鵩 18962 pzhhzsznpszhhhznnnn 16779278 臘 18963 pzhhzzzszpnhznnznnz 33561926 鵰 18964 pzhshszhpszhhhznnnn 33557080 顚 18965 pzszhhhzpnhpszhhhpn 33557035 劖 18966 pzszhhzpzpzszhpznss 16778166 酁 18967 pzszhhzpzpzszhpznzs 33555926 鳓 18968 pzszhshhhsshszhhszp 16782107 鳔 18969 pzszhshhhszsshhhspn 16777858 鳕 18970 pzszhshhhnzsnnnnzhh 16785443 鳗 18971 pzszhshhszhhszsshzn 16781399 鳙 18972 pzszhshhnhpzhhszhhs 33568452 鳚 18973 pzszhshhzhphhspnhsn 33566512 鳛 18974 pzszhshhznhznhpszhh 33566754 鯖 18975 pzszhshnnnnhhshszhh 33563915 鯺 18976 pzszhshnnnnhshpszhh 33556448 鯥 18977 pzszhshnnnnhshpnhsh 16782589 鯪 18978 pzszhshnnnnhshpnpzn 33562445 鯕 18979 pzszhshnnnnhsshhhpn 16783222 鯫 18980 pzszhshnnnnhsshhhzn 33569155 鰙 18981 pzszhshnnnnhsshpszh 33563458 鯠 18982 pzszhshnnnnhspnpnpn 16782007 鯟 18983 pzszhshnnnnhszhhspn 33556854 鯡 18984 pzszhshnnnnshhhshhh 33557486 鯱 18985 pzszhshnnnnshzphzpz 0 鯤 18986 pzszhshnnnnszhhhzpz 33559613 鯧 18987 pzszhshnnnnszhhszhh 33556004 鯣 18988 pzszhshnnnnszhhpzpp 33568003 鯝 18989 pzszhshnnnnszhsszhh 33559048 鯯 18990 pzszhshnnnnphhszsss 33560007 鯚 18991 pzszhshnnnnphspnzsh 33560001 鯘 18992 pzszhshnnnnphspnzph 33561618 鯢 18993 pzszhshnnnnpshzhhpz 33561710 鯩 18994 pzszhshnnnnpnhszhss 33563122 鯰 18995 pzszhshnnnnpnnznznn 33561759 鯛 18996 pzszhshnnnnpzhshszh 33557084 鯦 18997 pzszhshnnnnpznsnszh 33560540 鯨 18998 pzszhshnnnnnhszhspn 33559732 鯙 18999 pzszhshnnnnnhszhzsh 16778550 鯳 19000 pzszhshnnnnnhppzhzn 0 鯜 19001 pzszhshnnnnnhnphzph 33564345 鯲 19002 pzszhshnnnnnhzppnnn 0 鯮 19003 pzszhshnnnnnnzhhspn 33569119 鰎 19004 pzszhshnnnnzhhhhszn 33560182 鯞 19005 pzszhshnnnnzhhnzszs 33569671 鯭 19006 pzszhshnnnnzshszssh 33561118 鯴 19007 pzszhshnnnnzpszhshn 33565280 鯵 19008 pzszhshnnnnznhpnppp 33555506 鯔 19009 pzszhshnnnnzzzszhsh 33569188 鵵 19010 pzszhpznpszhhhznnnn 16784515 獺 19011 pzphszhspnpzszhhhpn 33565507 鵮 19012 pzpshzhhpszhhhznnnn 33564148 獹 19013 pzpshzphzszhshszssh 33562973 飀 19014 pzpszhshnpznzpszhsh 16782511 觶 19015 pzpzhhsszhszhszhhhs 33569851 觹 19016 pzpzhhspsnhhhshszsz 33566726 蟹 19017 pzpzhhszpphhsszhshn 16785294 邍 19018 pznszhshzhhsnhpnnzn 33568804 鵴 19019 pznphspnpszhhhznnnn 33560586 譛 19020 nhhhszhhhpnhhpnszhh 33569084 譊 19021 nhhhszhhshhshhshhpz 16781803 譆 19022 nhhhszhhshszhnphszh 16784950 譪 19023 nhhhszhhssszhhpzpnz 33554473 謿 19024 nhhhszhhsszhhhspzhh 33556050 譓 19025 nhhhszhhszhhshnnznn 33558533 譚 19026 nhhhszhhszsshszhhhs 33565610 譖 19027 nhhhszhhzpzhzpzszhh 33560193 譋 19028 nhhhszhszhhszhhpzhh 33561989 譂 19029 nhhhszhszhszhszhhhs 33555960 譕 19030 nhhhszhphhsssshnnnn 33566199 譑 19031 nhhhszhphpnszhszszh 33560314 譗 19032 nhhhszhphnphnpnhszh 33569317 譙 19033 nhhhszhpsnhhhshnnnn 33564283 譒 19034 nhhhszhpnphspnszhsh 16777665 譌 19035 nhhhszhpnnppzzznnnn 33554623 譈 19036 nhhhszhnhszhzshphpn 16778994 識 19037 nhhhszhnhnphszhhzpn 33565291 譜 19038 nhhhszhnphssnphszhh 33563854 譐 19039 nhhhszhnphszpzhhhsn 33569275 譢 19040 nhhhszhnphpzpppnnzn 33564919 譄 19041 nhhhszhnpszsnphszhh 33569086 爕 19042 nhhhszhnppnnppnnppn 33567190 譔 19043 nhhhszhzhzzhzhsshpn 33569971 證 19044 nhhhszhznppnhszhnph 33569600 譎 19045 nhhhszhznzspszpnszh 33560740 譏 19046 nhhhszhzznzznhpnzpn 33559796 蹵 19047 nhszhspnhpznszhshpn 33569222 鶁 19048 nhszhspnpszhhhznnnn 33559721 勷 19049 nhszhszhhhsshpzpnzp 16782682 鶉 19050 nhszhzshpszhhhznnnn 33556572 颤 19051 nhszszhhszhhhhpszpn 16778191 黀 19052 nhphspnhspnhsshhhzn 33569153 靡 19053 nhphspnhspnshhhshhh 16781647 廬 19054 nhpshzphzszhshszssh 33562989 鵺 19055 nhpspznnpszhhhznnnn 33568414 廭 19056 nhpphspnhhshszhhhpn 0 贇 19057 nhpnhhshshznszhhhpn 16786320 癟 19058 nhpnhpszhhhpnhszhss 33555427 癣 19059 nhpnhpzszhshhnphhhs 16785120 癡 19060 nhpnhpzphhpnznzshpn 16778379 癠 19061 nhpnhnhnpszppznpshh 16780783 癢 19062 nhpnhnphhhpnnzhhzpn 16785915 龐 19063 nhpnhnphszhhhzhzhhh 33563521 鶊 19064 nhpzhhpnpszhhhznnnn 16780003 麒 19065 nhpzsshhzhzhsshhhpn 16783211 麕 19066 nhpzsshhzpzszphspnh 16781334 麑 19067 nhpzsshhzpzpshzhhpz 16781863 鏖 19068 nhpzsshhzpzpnhhsnph 16777303 麔 19069 nhpzsshhzpzpznsnszh 33560529 麖 19070 nhpzsshhzpznhszhspn 33559726 瓣 19071 nhnphhpppznnnhnphhs 16777503 壟 19072 nhnphszhhhzhzhhhhsh 33562266 龏 19073 nhnphszhhhzhzhhhhps 33558913 韻 19074 nhnphszhhszhszhhhpn 33568955 韼 19075 nhnphszhhpznhhhsnzn 33563619 韲 19076 nhnpszppznshhhshhhh 33559829 齍 19077 nhnpszppznpshhszssh 33559795 蠃 19078 nhzszhpzhhszhshnpzn 16782626 羸 19079 nhzszhpzhhnphhhspzn 16782119 旟 19080 nhzpphpshhhzszhhhpn 16786158 旝 19081 nhzpphpnhszsnphszhh 16780151 旜 19082 nhzpphnhszszhhszhhh 33569363 罋 19083 nhzzppsnhhhshphhszs 16784592 羷 19084 nphhhppnhszhszhpnpn 33562745 羶 19085 nphhhpnhszszhhszhhh 16783832 羹 19086 nphhshnnnnnphhshhpn 16780005 類 19087 nphspnhpnnhpszhhhpn 33562196 糬 19088 nphspnszsshhshpszhh 33565410 糫 19089 nphspnszsshhszhpzpn 33558382 糩 19090 nphspnpnhszsnphszhh 33559493 糭 19091 nphspnpnnnnnzspnpzn 33569146 鐅 19092 npszspnphpnpnhhsnph 33563817 鳖 19093 npszspnphpnpzszhshh 16777862 爑 19094 nppnhsspsnhhhshnnnn 33560715 爈 19095 nppnshzphzszhshnznn 33563204 爆 19096 nppnszhhhsshpnsnhpn 16777543 爅 19097 nppnsznphshhnnnnhsh 33561147 爍 19098 nppnpszhhzznzznhspn 33565496 爊 19099 nppnnhpzsshhzpznnnn 33554558 鶑 19100 nppnnppnpszhhhznnnn 0 爎 19101 nppnnnzhpnnpszhhspn 0 爉 19102 nppnzzzszpnhznnznnz 33561909 瀫 19103 nnhhshnzhzznspnpzzn 33558209 瀳 19104 nnhhssnhpzsshhznnnn 16780945 瀚 19105 nnhhsszhhhspnznhznh 16779395 瀟 19106 nnhhsszhhspsshzhzhs 33567079 瀭 19107 nnhhszhhhspnhszhhss 0 瀬 19108 nnhhszhspnhpszhhhpn 16782009 瀨 19109 nnhhszhspnpzszhhhpn 33561964 瀜 19110 nnhhszhsznphsszhshn 33563336 瀝 19111 nnhhpphspnphspnshsh 33562562 瀮 19112 nnhhnzsnnnnhspnhspn 0 瀖 19113 nnhhnzsnnnnpsnhhhsh 33558632 瀕 19114 nnhshshspphpszhhhpn 33555153 瀣 19115 nnhshpznznshhhshhhh 16785267 瀘 19116 nnhshzphzszhshszssh 33562961 濳 19117 nnhphshpzphshpzszhh 33564191 瀩 19118 nnhphspnpzhpszhhhpn 33557247 瀤 19119 nnhnhszsshsnhpnpzpn 33558340 瀙 19120 nnhnhnphhspnszhhhpz 33563899 瀧 19121 nnhnhnphszhhhzhzhhh 33562222 瀛 19122 nnhnhzszhpzhhzphpzn 16785562 瀯 19123 nnhnppnnppnnzszhszh 33567679 瀠 19124 nnhnppnnppnnzzznspn 33567678 瀗 19125 nnhnnzhhhsszsshnznn 33566983 瀥 19126 nnhznhznhnhszhszszh 33557943 懶 19127 nnshszhspnpzszhhhpn 33562039 懻 19128 nnsshhpzszhshhsshpn 33560009 懷 19129 nnsnhszsshsnhpnpzpn 33558346 寳 19130 nnzhhshpzspnszhhhpn 16777542 鶎 19131 nnzhhspnpszhhhznnnn 0 鵼 19132 nnzpnhshpszhhhznnnn 33559415 鵷 19133 nnzpznzzpszhhhznnnn 16786251 寴 19134 nnznhnphhspnszhhhpz 33563866 寵 19135 nnznhnphszhhhzhzhhh 33556261 鵳 19136 nzhpszhhpszhhhznnnn 33560097 騗 19137 nzhpszhsshshhsznnnn 33563787 襪 19138 nzspnhssszsshhpnzpn 16784688 襤 19139 nzspnhszhszphnszssh 33561995 襧 19140 nzspnhpnszspnpnpnpn 33569755 襦 19141 nzspnhnzsnnnnhpszss 16782768 襨 19142 nzspnssnphnphhshhsn 0 襥 19143 nzspnpsssnphnphhhpn 33563839 襣 19144 nzspnpszhhhszhshhps 33555276 谶 19145 nzpnpnhshhhshhhhzpn 16778281 彟 19146 zhhhsnhsspsnhhhshzn 16779833 聼 19147 zhsshhhhsszsshhnznn 33565825 臋 19148 zhphsshpnpzznszpnpn 33566112 鶋 19149 zhphsszhpszhhhznnnn 33560554 襞 19150 zhpszhnhnphhsnhpzpn 16777751 糪 19151 zhpszhnhnphhsnphspn 33555139 繴 19152 zhpszhnhnphhszznspn 33555145 屫 19153 zhpzshpphpnszhszszh 33560750 鶌 19154 zhpzsszspszhhhznnnn 33564462 疆 19155 zhzhshhszhshhszhshh 16780977 謽 19156 zhzszhszhshnnhhhszh 33560275 韝 19157 zshszhhzshhsshszshh 16780064 韡 19158 zshszhhzshsshhsshhs 16784804 韛 19159 zshszhhzshsshpszhhs 33555009 韠 19160 zshszhhzsszhhhsshhs 33555327 韟 19161 zshszhhzspszhhhpnhs 33558786 韜 19162 zshszhhzspnnppshzhh 33565711 騭 19163 zsshshspphshhsznnnn 33569781 隵 19164 zsshzphzhszhnphhzpn 33566712 孼 19165 zsppszhzhnhnphhszsh 33561818 鐆 19166 zsnphpzpppnpnhhsnph 33564908 嬿 19167 zphhsshszhshhpznnnn 16785833 嬾 19168 zphhszhspnpzszhhhpn 16782037 嬽 19169 zphszsshshszsshzhpn 33568779 嬹 19170 zphpshhszhszhzhhhpn 33566663 雡 19171 znhznhpnppppsnhhhsh 33562952 覴 19172 znppnhszhnphszhhhpz 33556830 騖 19173 znzspphpnhshhsznnnn 33566242 顙 19174 znznznhspnhpszhhhpn 33564655 歠 19175 znznznznhszpzhhpzpn 16778560 鵽 19176 znznznznpszhhhznnnn 33557351 骥 19177 zzhshhpzszhshhsshpn 16780799 缵 19178 zzhphshpzphshpzszpn 16786552 纄 19179 zznnnnhsspznhhhsnzn 33563611 繬 19180 zznnnnhspnpnhszszhh 33564680 繮 19181 zznnnnhszhshhszhshh 33560247 繩 19182 zznnnnszhhszhshhzhh 33565230 繾 19183 zznnnnszhshszhzhnzn 33564198 繷 19184 zznnnnszhsshhphhzpn 33561584 繰 19185 zznnnnszhszhszhhspn 33564265 繹 19186 zznnnnszsshhshnphhs 33567932 繯 19187 zznnnnszsshhszhpzpn 33558363 繳 19188 zznnnnpszhhnhzpphpn 33560063 繪 19189 zznnnnpnhszsnphszhh 33558546 繲 19190 zznnnnpzpzhhszpphhs 33560451 繺 19191 zznnnnpzzhhphpnnnnn 33565012 繵 19192 zznnnnnhszszhhszhhh 33555932 繶 19193 zznnnnnhnphszhhnznn 33567928 繡 19194 zznnnnzhhspsshzhzhs 33567274 鶅 19195 zzzszhshpszhhhznnnn 33569183 瓎 19196 hhshhszhspnpzszhhhpn 33561925 瓑 19197 hhshhpphspnphspnshsh 33562646 瓐 19198 hhshshzphzszhshszssh 33562980 瓒 19199 hhshphshpzphshpzszpn 16786395 瓌 19200 hhshnhszsshsnhpnpzpn 33559166 瓏 19201 hhshnhnphszhhhzhzhhh 33562251 驁 19202 hhshzpphpnhshhsznnnn 33554597 鬐 19203 hshhhznppphshppzszhh 16783188 鬕 19204 hshhhznppphssszhhhpn 33561149 鬒 19205 hshhhznppphsszhhhhpn 16786766 鬔 19206 hshhhznppppznhhhsnzn 33563597 鬑 19207 hshhhznpppnphzhhsspn 16782387 鬓 19208 hshhhznpppnnzpshshpn 16777683 壣 19209 hshhsshhhzznzznzpssh 33562344 壦 19210 hshhssszhszhpsnhhhsh 33567475 騳 19211 hshhsznnnnhshhsznnnn 33557166 驊 19212 hshhsznnnnhsshhsshhs 33558301 騵 19213 hshhsznnnnhppszhhspn 16786264 驆 19214 hshhsznnnnszhhhsshhs 16777741 騴 19215 hshhsznnnnszhhnnzzph 33568184 騬 19216 hshhsznnnnphsshhpzpn 33556199 騱 19217 hshhsznnnnpnnpzznhpn 33566678 騮 19218 hshhsznnnnpznzpszhsh 33562892 騶 19219 hshhsznnnnpzzsppzzsp 33569149 騯 19220 hshhsznnnnnhnpnznhzp 33563513 騸 19221 hshhsznnnnnzhpznhznh 33565051 壥 19222 hshhpsznphshhnnnnhsh 33555950 趮 19223 hshshpnszhszhszhhspn 16786424 攖 19224 hshszhhhpnszhhhpnzph 33567639 攔 19225 hshszhhszhhhsznphspn 33561979 皾 19226 hshszsshszhhhpnzpszn 33557183 攕 19227 hshpnpnhshhhshhhhzpn 33564631 攙 19228 hshpzszhhzpzpzszhpzn 33555913 壤 19229 hshnhszhszhhhsshpzpn 16782685 攘 19230 hshnhszhszhhhsshpzpn 16782683 攗 19231 hshnhpzsshhzpznphspn 33561016 攓 19232 hshnnzhhsshpnszhshpn 33564124 翿 19233 hshzhshhszhhsnznhznh 16778715 馨 19234 hshzshppzznphspnszhh 16784886 韾 19235 hshzshppzznnhnphszhh 33567549 聺 19236 hsshhhnnzpznnznhhspn 33564316 聹 19237 hsshhhnnznznnszsshhs 33561675 蘛 19238 hsshsshhhpnznhznszhh 33568587 蘜 19239 hsshsshszhhspznphspn 33560570 蘳 19240 hsshsshszhshpnhshhsh 33565802 鞺 19241 hsshszhhssnpnzszhhsh 33565650 鞻 19242 hsshszhhsszhhszhszph 33562301 顢 19243 hsshszspnpnhpszhhhpn 33560891 蘙 19244 hsshphhpnzpzznznhznh 33567860 蠚 19245 hsshpszhszhshnszhshn 33558028 蘦 19246 hsshnzsnnnnszhszhszh 33562388 驀 19247 hssszhhhpnhshhsznnnn 33561162 蘡 19248 hssszhhhpnszhhhpnzph 33567641 蘭 19249 hssszhhszhhhsznphspn 33561983 蘮 19250 hssszsshhpnppnnppnss 33559946 蘶 19251 hssphspnzphpszhhpzzn 33566483 蘩 19252 hssphzznhnphpnzznspn 16779073 蘤 19253 hsspszhhpnnppzzznnnn 16784786 蘖 19254 hsspszhzhnhnphhshspn 16781922 蘌 19255 hssppsphhshshzshhspn 33568653 蘥 19256 hsspnhszhszhszhszhss 33568853 蘞 19257 hsspnhszhszhpnpnphpn 33562739 蘝 19258 hsspnhszhszhpnpnpzpn 33562755 蘨 19259 hsspnnpphhszspzznspn 33568301 蘚 19260 hsspzszhshnnnnnphhhs 33562558 蘘 19261 hssnhszhszhhhsshpzpn 16782676 蘪 19262 hssnhpzsshhzpznphspn 33561296 蘫 19263 hssnnhhszhszphnszssh 33561982 蘯 19264 hssnnhszhhhpzppszssh 33556768 蘗 19265 hsszhpszhnhnphhshspn 16777664 鶘 19266 hsszhpzhhpszhhhznnnn 33558230 鶦 19267 hsszhpzhhpszhhhznnnn 16779586 蘠 19268 hsszshphspnpnhszszhh 33564241 蘰 19269 hsszznnnnszhhszsshzn 0 欂 19270 hspnhssnnhhszhhsnhsn 16777631 櫹 19271 hspnhsszhhspsshzhzhs 16785225 櫮 19272 hspnhsszhszhhszhszhh 33554710 櫴 19273 hspnhszhspnpzszhhhpn 33561973 櫪 19274 hspnhpphspnphspnshsh 33562665 櫨 19275 hspnshzphzszhshszssh 33562988 櫩 19276 hspnszhhszhhpzpshzhh 33568129 櫸 19277 hspnpshhhzszhhhpnhhs 33560625 礬 19278 hspnpnpnhspnhpnhpszh 33557403 鐢 19279 hspnpnpnhspnpnhhsnph 0 麵 19280 hspnpnpnpznhpszsshhh 33561418 櫯 19281 hspnpzszhshnnnnphspn 33564829 櫰 19282 hspnnhszsshsnhpnpzpn 33558344 櫬 19283 hspnnhnphhspnszhhhpz 33556164 櫳 19284 hspnnhnphszhhhzhzhhh 33562258 櫿 19285 hspnnppnnppnnzszhszh 33567707 櫶 19286 hspnnnzhhhsszsshnznn 33566977 轖 19287 hszhhhshspnpnhszszhh 16783595 轗 19288 hszhhhshphszhzpnnznn 16780316 轘 19289 hszhhhsszsshhszhpzpn 16779686 轙 19290 hszhhhsnphhshphshzpn 16785653 匷 19291 hszhhhszhhhpsnhhhshz 33564480 轚 19292 hszhhhszspzznhszhhhs 33559855 鶠 19293 hszhhzphzpszhhhznnnn 33568158 鶒 19294 hszhspnzppszhhhznnnn 16778422 鶝 19295 hszhszhshpszhhhznnnn 33557695 疈 19296 hszhszhshnphszhszhsh 33555147 鬸 19297 hszhsznphspznzpszhsh 33562944 顠 19298 hszsshhhspnhpszhhhpn 33563809 飄 19299 hszsshhhspnpzpszhshn 16783056 醵 19300 hszpzhhshzphzhpzpppn 16781241 醴 19301 hszpzhhszhsshhszhnph 16782318 醲 19302 hszpzhhszhsshhphhzpn 16781833 醳 19303 hszpzhhszsshhshnphhs 33567966 醶 19304 hszpzhhpnhszhszhpnpn 33568214 醸 19305 hszpzhhnhpnhhsshpzpn 16781910 醷 19306 hszpzhhnhnphszhhnznn 33567972 鶫 19307 hsznphspnpszhhhznnnn 0 顣 19308 hpshhspnzpnhpszhhhpn 16783171 礥 19309 hpszhhszhszznszhhhpn 33566907 礧 19310 hpszhszhshszhshszhsh 16782126 礫 19311 hpszhpszhhzznzznhspn 33562570 礩 19312 hpszhpphspphsszhhhpn 33569778 蠒 19313 hpnszspnpnpnpnszhshn 33560129 霴 19314 hnzsnnnnhhznzhhsnhpn 33556663 霰 19315 hnzsnnnnhsshszhhphpn 16785136 颥 19316 hnzsnnnnhpszsshpszpn 16782772 霵 19317 hnzsnnnnszhhsshhhzpn 33559845 孁 19318 hnzsnnnnszhszhszhzph 33562399 霮 19319 hnzsnnnnnnhhsshhhpnz 16778645 霯 19320 hnzsnnnnznppnhszhnph 33556836 霱 19321 hnzsnnnnznzspszpnszh 33568710 鶛 19322 hzpzpszhhpszhhhznnnn 33560367 酆 19323 shhhshhhszshszhnphzs 16779209 鬪 19324 shhshhhshshszhnphhsn 16778760 齛 19325 shshpnpnhpnpnzshsshz 33565345 齟 19326 shshpnpnhpnpnzsszhhh 33560616 齞 19327 shshpnpnhpnpnzsszhpn 16781903 齚 19328 shshpnpnhpnpnzsphshh 33569058 齡 19329 shshpnpnhpnpnzspnnzn 33562407 齣 19330 shshpnpnhpnpnzspzszh 16778443 齙 19331 shshpnpnhpnpnzspzzhz 33554915 齠 19332 shshpnpnhpnpnzszpszh 33565977 齝 19333 shshpnpnhpnpnzsznszh 33556315 鹹 19334 shszpnnnnnhhphszhzpn 33566920 鹺 19335 shszpnnnnnhnphhhphsh 33555837 獻 19336 shzphzhszhsznphshpnn 33566999 甗 19337 shzphzhszhsznphshzzn 16785826 覻 19338 shzphzhszhnphszhhhpz 33564520 兤 19339 snphpznhphsshszhshpn 33558456 耀 19340 snphpzznhznhpsnhhhsh 16785973 黨 19341 snpnzszhsznphshhnnnn 33556766 矒 19342 szhhhhssszsshnzszhhh 33561111 懸 19343 szhhhhspnpzznspnnznn 33567411 鶪 19344 szhhhhpnnpszhhhznnnn 33560593 鶗 19345 szhhhshpnpszhhhznnnn 16784418 嚽 19346 szhhhshzpphpnszhhhpn 33556611 曣 19347 szhhhsshszhshhpznnnn 33568221 矍 19348 szhhhszhhhpsnhhhshzn 16781323 曧 19349 szhhhszhsznphsszhshn 33563364 矏 19350 szhhhpszhhhnnzpnnhzp 33561398 罌 19351 szhhhpnszhhhpnphhszs 33567652 贍 19352 szhhhpnpzhppnnhhhszh 33565045 覹 19353 szhhhpzppsszshpzphpn 33566415 曤 19354 szhhhnzsnnnnpsnhhhsh 33558674 曥 19355 szhhshzphzszhshszssh 33562986 嚾 19356 szhhssszhszhpsnhhhsh 33558409 嚿 19357 szhhsspsnhhhshpshzhh 33558665 闥 19358 szhhszhhhshnphhhsnzn 33565553 闠 19359 szhhszhhszhshszhhhpn 16779794 闡 19360 szhhszhhszhszhszhhhs 33555983 闟 19361 szhhszhhpnhszhznhznh 16784992 鶡 19362 szhhpzpnzpszhhhznnnn 16779465 曨 19363 szhhnhnphszhhhzhzhhh 33562256 曦 19364 szhhnphhshphspnhzzpn 16784993 躆 19365 szhshshshzphzhpzpppn 33560646 躁 19366 szhshshszhszhszhhspn 16786422 躅 19367 szhshshszsshpzszhshn 16787005 躈 19368 szhshshpszhhnhzpphpn 33564305 躃 19369 szhshshzhpszhnhnphhs 33555287 礨 19370 szhshszhshszhshhpszh 33562170 疉 19371 szhshszhshszhshnzzzh 33557138 蠘 19372 szhshnhshpsnhhhshzpn 33560378 蠛 19373 szhshnhssszsshhpnzpn 16781719 蠣 19374 szhshnhphssszhhszshn 33562565 蠕 19375 szhshnhnzsnnnnhpszss 16782763 蠔 19376 szhshnnhszhnzhpzpppn 33557922 蠐 19377 szhshnnhnpszppznpshh 33563965 蠑 19378 szhshnnppnnppnnzhspn 33563332 蠙 19379 szhshnnnzhsppszhhhpn 16777669 蠗 19380 szhshnznhznhpsnhhhsh 16787098 嚱 19381 szhshzphzhszhnphhzpn 33566813 豑 19382 szhsshhszhnphnpzhzsp 33569798 嚶 19383 szhszhhhpnszhhhpnzph 33567663 鶚 19384 szhszhhhzpszhhhznnnn 33554690 鼍 19385 szhszhszhshhszhszhhz 16784558 嚺 19386 szhszsshnphpzpppnnzn 33565539 嚸 19387 szhsznphshhnnnnshszh 33557054 嚹 19388 szhphhszsshzphzpnphs 33561900 嚼 19389 szhpnnpszsshzhhznhsn 16781029 嚵 19390 szhpzszhhzpzpzszhpzn 16778167 嚷 19391 szhnhszhszhhhsshpzpn 16782675 巈 19392 szshsshszhhspznphspn 33560599 巏 19393 szshssszhszhpsnhhhsh 33564549 巇 19394 szsshzphzhszhnphhzpn 16784986 巊 19395 szsszhhhpnszhhhpnzph 33567721 幱 19396 szsszhhszhhhsznphspn 33561997 巍 19397 szsphspnzphpszhhpzzn 16784757 酅 19398 szspsnhhhshszpnszhzs 16784949 巉 19399 szspzszhhzpzpzszhpzn 16778169 黩 19400 sznphshhnnnnhsznnhpn 16778963 黤 19401 sznphshhnnnnhpnszhhz 33568168 黥 19402 sznphshhnnnnnhszhspn 16783146 黦 19403 sznphshhnnnnnnzpznzz 33568761 黪 19404 sznphshhnnnnznhpnppp 16777923 髏 19405 szznzszhhszhhszhszph 33562304 鶻 19406 szznzszhhpszhhhznnnn 33559001 髍 19407 szznzszhhnhphspnhspn 33561140 髎 19408 szznzszhhznhznhpnppp 33562825 镳 19409 phhhznhpzsshhzpznnnn 16777840 镴 19410 phhhzzzzszpnhznnznnz 16781997 矲 19411 phhpnszsshznszhhpzpz 33554843 犧 19412 phshnphhshphspnhzzpn 33566710 穯 19413 phspnhsszhszhhszszhh 0 穭 19414 phspnpzszhshnnnnszhh 16782647 黧 19415 phspnpzpsznphshhnnnn 16782306 穮 19416 phspnnhpzsshhzpznnnn 16777839 鶖 19417 phspnnppnpszhhhznnnn 16783417 籍 19418 phnphnhhhspnhsshszhh 16780727 籉 19419 phnphnhshszhnzhznhsh 33565567 籌 19420 phnphnhshzhshhszhhsn 33556274 籕 19421 phnphnhspnpznzpszhsh 33569683 籄 19422 phnphnhszhshszhhhpnz 33559586 籃 19423 phnphnhszhszphnszssh 33561987 籋 19424 phnphnhpnszspnpnpnpn 33561299 纂 19425 phnphnszhhhhpnzznspn 16786554 籎 19426 phnphnpzphhpnznzshpn 0 籇 19427 phnphnnhszhnzhpzpppn 33557927 籏 19428 phnphnnhzpphhsshhhpn 33563979 籊 19429 phnphnznhznhpsnhhhsh 16784428 瀪 19430 phzznhnphpnpszhhszpn 33557402 轝 19431 pshhhzszhhhpnhszhhhs 16786135 譽 19432 pshhhzszhhhpnnhhhszh 33568730 臖 19433 pshhszhszhzhhhpnszhh 33566668 璺 19434 pshhszhszhzhhnzhhshn 16784845 舋 19435 pshhszhszhzhhnzszhhh 16784896 覺 19436 pshhpnpnzhhnzszhhhpz 33560354 嚳 19437 pshhpnpnzhhnzphshszh 33559458 觷 19438 pshhpnpnzhhnzpzpzhhs 16785441 斅 19439 pshhpnpnzhhnzzshshzn 33567127 斆 19440 pshhpnpnzhhnzzshphpn 33560325 鼯 19441 pshzhhznnznnzhszhszh 16784612 鼰 19442 pshzhhznnznnzszhhhpn 33561770 儶 19443 psszspsnhhhshszpnszh 33558525 犨 19444 psnhhhshpsnhhhshphhs 16778345 軆 19445 pszhhhpszhsshhszhnph 33565896 皪 19446 pszhhpszhhzznzznhspn 16782365 魒 19447 pszhhpzznhszsshhhspn 33563793 魖 19448 pszhhpzznshzphzssnph 33567295 皫 19449 pszhhnhpzsshhzpznnnn 16783063 譥 19450 pszhhnhzpphpnnhhhszh 33560348 衊 19451 pszsshhssszsshhpnzpn 16781720 鶞 19452 pphsszhhhpszhhhznnnn 33556557 忁 19453 ppsszhhzsszshpnsnhpn 33554960 忀 19454 ppsnhszhszhhhsshpzpn 16785170 艦 19455 ppznhnhszhszphnszssh 33560197 艩 19456 ppznhnnhnpszppznpshh 16783202 鐟 19457 pnhhsnphhhpnhhpnszhh 33565902 鐃 19458 pnhhsnphhshhshhshhpz 33561575 鐼 19459 pnhhsnphhshssszhhhpn 33557540 鐡 19460 pnhhsnphhshszhnphzpn 16784484 鐽 19461 pnhhsnphhshnphhhsnzn 33556628 鐚 19462 pnhhsnphhshzzhshnznn 33568021 鐁 19463 pnhhsnphhsshhhpnpphs 33564763 鐷 19464 pnhhsnphhsshsshzhspn 33568401 鏾 19465 pnhhsnphhsshszhhphpn 16783572 鐂 19466 pnhhsnphhsshzzhszhsh 33562886 鏸 19467 pnhhsnphhszhhshnnznn 16779800 鐔 19468 pnhhsnphhszsshszhhhs 33555921 鐝 19469 pnhhsnphhpnphzsppzpn 33560724 鐐 19470 pnhhsnphhpnnpszhhspn 33562802 鐕 19471 pnhhsnphhzpzhzpzszhh 33568991 鏷 19472 pnhhsnphssnphnphhhpn 33563850 鏿 19473 pnhhsnphsnpnzszhhspn 33556189 鐣 19474 pnhhsnphsnpnzszhphhs 0 鐤 19475 pnhhsnphszhhhzhpshsz 33556925 鐦 19476 pnhhsnphszhhszhhhhps 33559285 鐧 19477 pnhhsnphszhhszhhszhh 33560133 鐗 19478 pnhhsnphszhhszhhpzhh 16780911 鐛 19479 pnhhsnphszhhnhszhspn 33567724 鐀 19480 pnhhsnphszhshszhhhpn 16780516 鐈 19481 pnhhsnphphpnszhszszh 33564275 鏼 19482 pnhhsnphphnphnhszspn 33564980 鏶 19483 pnhhsnphpsnhhhshhspn 33559906 鐫 19484 pnhhsnphpsnhhhshszsz 33560672 鐎 19485 pnhhsnphpsnhhhshnnnn 33560286 鐭 19486 pnhhsnphpsznphspnhpn 33568706 鐇 19487 pnhhsnphpnphspnszhsh 16779070 鐓 19488 pnhhsnphnhszhzshphpn 33557243 鐘 19489 pnhhsnphnhnphszhhshh 33569610 鐥 19490 pnhhsnphnphhhsnphszh 33565048 鐠 19491 pnhhsnphnphssnphszhh 33563852 鏻 19492 pnhhsnphnphspnpznhzs 16782220 鐏 19493 pnhhsnphnphszpzhhhsn 16786568 鐩 19494 pnhhsnphnphpzpppnnzn 16783746 鏳 19495 pnhhsnphnpszsnphszhh 33569589 鐒 19496 pnhhsnphnppnnppnnzzp 33562090 鐋 19497 pnhhsnphnnhszhhhpzpp 33565644 鐞 19498 pnhhsnphzhhhshszhhsn 33561653 鏹 19499 pnhhsnphzhzszhszhshn 33564238 鐨 19500 pnhhsnphzhzpsszhhhpn 16779153 鐉 19501 pnhhsnphzhzzhzhsshpn 33556491 鐙 19502 pnhhsnphznppnhszhnph 33556827 鏺 19503 pnhhsnphznppnzhzpzzn 33563628 鐍 19504 pnhhsnphznzspszpnszh 33560713 鐑 19505 pnhhsnphzznnnnhshszh 33560376 鐖 19506 pnhhsnphzznzznhpnzpn 33559782 釋 19507 pnphspnszsshhshnphhs 33565364 鶢 19508 pnnphhpznpszhhhznnnn 33568813 饒 19509 pnnzhhznhshhshhshhpz 33563269 饙 19510 pnnzhhznhshssszhhhpn 33557531 饎 19511 pnnzhhznhshszhnphszh 16777371 饐 19512 pnnzhhznhshnzhszhnph 16785684 饊 19513 pnnzhhznhsshszhhphpn 33564636 饓 19514 pnnzhhznsnpnzszhhspn 33556172 饋 19515 pnnzhhznszhshszhhhpn 33559588 饍 19516 pnnzhhznnphhhsnphszh 33565055 饌 19517 pnnzhhznzhzzhzhsshpn 33569969 饑 19518 pnnzhhznzznzznhpnzpn 33559798 韽 19519 pnnzhszpzhhnhnphszhh 33554503 臙 19520 pzhhhsshszhshhpznnnn 16785788 臛 19521 pzhhhnzsnnnnpsnhhhsh 16779614 臚 19522 pzhhshzphzszhshszssh 33562985 臜 19523 pzhhphshpzphshpzszpn 16786363 朧 19524 pzhhnhnphszhhhzhzhhh 33562221 騰 19525 pzhhnphhpnhshhsznnnn 33565746 鳜 19526 pzszhshhhpnphzsppzpn 16780242 鳝 19527 pzszhshhnphhhsnphszh 16783857 鳞 19528 pzszhshhnphspnpznhzs 16782217 鳟 19529 pzszhshhnphszpzhhhsn 16786572 鰆 19530 pzszhshnnnnhhhpnszhh 16778535 鰈 19531 pzszhshnnnnhsshzhspn 33557112 鰗 19532 pzszhshnnnnhsszhpzhh 33558206 鰋 19533 pzszhshnnnnhszhhzphz 16785824 鯻 19534 pzszhshnnnnhszhspnss 33561932 鰏 19535 pzszhshnnnnhszhszhsh 33555243 鰊 19536 pzszhshnnnnhsznphspn 33562752 鰖 19537 pzszhshnnnnhphshszhh 33566151 鰔 19538 pzszhshnnnnhphszhzpn 33560131 鰄 19539 pzszhshnnnnhphzphzpn 33566382 鯷 19540 pzszhshnnnnszhhhshpn 33565887 鰂 19541 pzszhshnnnnszhhhpnss 33569047 鰑 19542 pzszhshnnnnszhhhpzpp 33568242 鰅 19543 pzszhshnnnnszhhszshn 33568582 鰛 19544 pzszhshnnnnszhhszssh 33566518 鯹 19545 pzszhshnnnnszhhphhsh 33566636 鰃 19546 pzszhshnnnnszhshhzpn 33566380 鰓 19547 pzszhshnnnnszhshnznn 33564620 鰐 19548 pzszhshnnnnszhszhhhz 33554648 鰍 19549 pzszhshnnnnphspnnppn 33564383 鰒 19550 pzszhshnnnnphszhhpzn 33557741 鯾 19551 pzszhshnnnnpshszhhpn 33555354 鰉 19552 pzszhshnnnnpszhhhhsh 33558420 鰁 19553 pzszhshnnnnpszhhszpn 33564525 鯸 19554 pzszhshnnnnpszhphhpn 16779547 鰀 19555 pzszhshnnnnpnnphhpzn 33558389 鯼 19556 pzszhshnnnnpnzspnpzn 33569122 鰌 19557 pzszhshnnnnnphszpzhh 33564382 鰦 19558 pzszhshnnnnnphzznzzn 33569169 鰚 19559 pzszhshnnnnnnzhszhhh 0 鰘 19560 pzszhshnnnnnnzhznhsh 0 鯶 19561 pzszhshnnnnnzhszhhhs 33558605 鯿 19562 pzszhshnnnnnzhpszhss 33555355 鰰 19563 pzszhshnnnnnzsnszhhs 0 鰕 19564 pzszhshnnnnzhshhzhzn 33566827 鰠 19565 pzszhshnnnnznnszhshn 33564659 鰇 19566 pzszhshnnnnznzsphspn 33563375 獾 19567 pzphssszhszhpsnhhhsh 16779653 飃 19568 pzpszhshnhszsshhhspn 33563795 飂 19569 pzpszhshnznhznhpnppp 16782462 獽 19570 pzpnhszhszhhhsshpzpn 33563262 觸 19571 pzpzhhsszsshpzszhshn 33556485 獼 19572 pzpzhzhpnszspnpnpnpn 33561308 爒 19573 pznnnppnhpnnpszhhspn 33562838 護 19574 nhhhszhhsspsnhhhshzn 33558273 譡 19575 nhhhszhsnpnzszhszhsh 33556760 譝 19576 nhhhszhszhhszhshhzhh 33565228 譴 19577 nhhhszhszhshszhzhnzn 33564197 譨 19578 nhhhszhszhsshhphhzpn 33561657 譟 19579 nhhhszhszhszhszhhspn 16786417 譯 19580 nhhhszhszsshhshnphhs 33567923 譞 19581 nhhhszhszsshhszhpzpn 16785395 譭 19582 nhhhszhpshzhhhshpzzn 33558497 譤 19583 nhhhszhpszhhnhzpphpn 33559802 譣 19584 nhhhszhpnhszhszhpnpn 33564144 譮 19585 nhhhszhpnhszsnphszhh 33558324 譫 19586 nhhhszhpzhppnnhhhszh 33569358 譠 19587 nhhhszhnhszszhhszhhh 33569357 譲 19588 nhhhszhnhpnhhsshpzpn 16782686 譧 19589 nhhhszhnhpnphzhhsspn 33562699 譩 19590 nhhhszhnhnphszhhnznn 33567743 議 19591 nhhhszhnphhshphshzpn 33567925 嚲 19592 nhszhzshszhszhszhhhs 16779032 鐜 19593 nhszhzshphpnpnhhsnph 33557245 廰 19594 nhphsshhhhsszsshnznn 33565830 黁 19595 nhphspnhspnphspnszhh 33561626 魔 19596 nhphspnhspnpszhhpzzn 16781556 廮 19597 nhpszhhhpnszhhhpnzph 33567705 譍 19598 nhppspsnhhhshnhhhszh 33567726 廯 19599 nhppzszhshnnnnnphhhs 33566899 癦 19600 nhpnhsznphshhnnnnhsh 0 癥 19601 nhpnhppsszshhhshphpn 16786799 麙 19602 nhpzsshhzpzhphszhzpn 33568110 麘 19603 nhpzsshhzpzphspnszhh 33567036 麚 19604 nhpzsshhzpzzhshhzhzn 16780831 麛 19605 nhpzsshhzpzzhzhsshhh 16781651 辮 19606 nhnphhpzznspnnhnphhs 33555379 竷 19607 nhnphszhhhspznhzspzn 33559324 龑 19608 nhnphszhhhzhzhhhhhpn 16785843 鶕 19609 nhnphszhhpszhhhznnnn 33554496 競 19610 nhnphszhpznhnphszhpz 33559775 顡 19611 nhnphpzpppnhpszhhhpn 33567912 鶙 19612 nhnpnzszspszhhhznnnn 33565876 贏 19613 nhzszhpzhhszhhhpnpzn 33567676 譱 19614 nphhhsnhhhszhnhhhszh 33565059 羺 19615 nphhhphnzsnnnnhpszss 33561652 糮 19616 nphspnhszhszphnszssh 33560231 糲 19617 nphspnhphssszhhszshn 16782382 糯 19618 nphspnhnzsnnnnhpszss 16781971 糰 19619 nphspnszhszhhshnhsnh 33566064 鶿 19620 nphzznzznpszhhhznnnn 16786507 鷀 19621 nphzznzznpszhhhznnnn 33555704 爏 19622 nppnhpphspnphspnshsh 33562553 爘 19623 nppnshpznznpnnzhhzpn 0 爐 19624 nppnshzphzszhshszssh 33562958 爓 19625 nppnszhhszhhpzpshzhh 16785859 爋 19626 nppnphsznphshhnnnnzp 33567503 爖 19627 nppnnhnphszhhhzhzhhh 33562218 爔 19628 nppnnphhshphspnhzzpn 33566676 瀻 19629 nnhhshszhshhsshpnzpn 33556665 灆 19630 nnhhsshszhszphnszssh 33561988 灌 19631 nnhhssszhszhpsnhhhsh 16780174 聻 19632 nnhhszhhhspphshsshhh 33559803 瀶 19633 nnhhszhszphszhszhszh 33562322 灀 19634 nnhhnzsnnnnhspnszhhh 33565468 瀴 19635 nnhszhhhpnszhhhpnzph 33567710 瀾 19636 nnhszhhszhhhsznphspn 33561985 灁 19637 nnhszhhszhhpszhhszpn 33568780 瀱 19638 nnhszsshhpnppnnppnss 33559948 瀿 19639 nnhphzznhnphpnzznspn 33557405 瀹 19640 nnhpnhszhszhszhszhss 16786304 瀲 19641 nnhpnhszhszhpnpnphpn 33562757 瀸 19642 nnhpnpnhshhhshhhhzpn 33560089 灂 19643 nnhpnnpszsshzhhznhsn 33570017 瀺 19644 nnhpzszhhzpzpzszhpzn 16778154 瀼 19645 nnhnhszhszhhhsshpzpn 16782678 瀵 19646 nnhnphspnszhshhsshpn 16779195 瀽 19647 nnhnnzhhsshpnszhshpn 33560139 瀰 19648 nnhzhzhpnszspnpnpnpn 33561297 瀷 19649 nnhznhznhszhshhsshpn 33567877 懽 19650 nnshssszhszhpsnhhhsh 16779655 懺 19651 nnspnpnhshhhshhhhzpn 33555997 懹 19652 nnsnhszhszhhhsshpzpn 33563267 寶 19653 nnzhhshphhszsszhhhpn 33554947 騫 19654 nnzhhsshpnhshhsznnnn 33564129 竇 19655 nnzpnhshszsshszhhhpn 33556914 鶟 19656 nnzpnhpnnpszhhhznnnn 33566032 鶤 19657 nzhszhhhspszhhhznnnn 33568946 鶣 19658 nzhpszhsspszhhhznnnn 33555175 襫 19659 nzspnhhpszhhhpszhhpn 16784057 襭 19660 nzspnhshszhhpszhhhpn 16785253 襩 19661 nzspnhshszsshszhhhpn 33565403 襮 19662 nzspnszhhhsshpnsnhpn 16777646 襬 19663 nzspnszsshznszhhpzpz 16777466 鱀 19664 zhhznhzpzpzszhshnnnn 16780775 饏 19665 zhsshhhphpnpnnzhhzpn 33556726 躄 19666 zhpszhnhnphhsszhshpn 16777755 譬 19667 zhpszhnhnphhsnhhhszh 16783034 孾 19668 zshszhhhpnszhhhpnzph 33567657 鶥 19669 zshpszhhhpszhhhznnnn 33561028 櫱 19670 zsppszhzhnhnphhshspn 33561836 櫽 19671 zspnnphshzhhnznnhspn 33567614 孉 19672 zphhssszhszhpsnhhhsh 33564536 孀 19673 zphhnzsnnnnhspnszhhh 16784161 孆 19674 zphszhhhpnszhhhpnzph 33567650 孄 19675 zphszhhszhhhsznphspn 33562027 孂 19676 zphphnphnzhhzpnszssh 33560312 孅 19677 zphpnpnhshhhshhhhzpn 16785075 孃 19678 zphnhszhszhhhsshpzpn 33561774 飁 19679 znhznhpszhhpzpszhshn 33566751 顟 19680 znhznhpnppphpszhhhpn 33562813 鶔 19681 znzsphspnpszhhhznnnn 33563386 鶩 19682 znzspphpnpszhhhznnnn 16781743 骦 19683 zzhhnzsnnnnhspnszhhh 33565459 鶨 19684 zzhpzpppnpszhhhznnnn 33557291 骧 19685 zzhnhszhszhhhsshpzpn 16785168 饗 19686 zzpnzhhznzspnnzhhzpn 33567050 響 19687 zzpnzhhznzsnhnphszhh 33567059 盭 19688 zznhshnphhsphpnszssh 16782381 繿 19689 zznnnnhszhszphnszssh 33562000 繻 19690 zznnnnhnzsnnnnhpszss 16785343 纁 19691 zznnnnphsznphshhnnnn 16785447 纀 19692 zznnnnpsssnphnphhhpn 33563840 纊 19693 zznnnnnhphsshszhshpn 33559531 纃 19694 zznnnnnhnpszppznpshh 33563993 繽 19695 zznnnnnnzhsppszhhhpn 33555162 繼 19696 zznnnnzznzznhzznzznz 33559970 耰 19697 hhhspnhpszhhnznznnpzn 16786049 齧 19698 hhhszpshshpnpnhpnpnzs 16781930 蠢 19699 hhhpnszhhszhshnszhshn 16778553 瓘 19700 hhshhssszhszhpsnhhhsh 16780181 瓔 19701 hhshszhhhpnszhhhpnzph 33567666 瓓 19702 hhshszhhszhhhsznphspn 33562047 瓖 19703 hhshnhszhszhhhsshpzpn 16785171 鷔 19704 hhshzpphpnpszhhhznnnn 33554573 鰲 19705 hhshzpphpnpzszhshnnnn 33554561 鬹 19706 hhpnszhhhpzhszhsznphs 33559153 镾 19707 hshhhznhpnszspnpnpnpn 33561309 鬗 19708 hshhhznppphsshszspnpn 16781393 鬘 19709 hshhhznpppszhhszsshzn 16781394 鬖 19710 hshhhznpppznznznpnppp 16783564 顤 19711 hshhshhshhpzhpszhhhpn 33567090 攝 19712 hshhsshhhhsshhhhsshhh 33565137 騹 19713 hshhsznnnnhsshszhhhsh 33562470 驅 19714 hshhsznnnnhszhszhszhz 33564455 驃 19715 hshhsznnnnhszsshhhspn 33555396 騻 19716 hshhsznnnnhpnpnpnpnpn 33565463 驉 19717 hshhsznnnnshzphzssnph 33567293 騾 19718 hshhsznnnnszhshzznspn 33563132 驄 19719 hshhsznnnnpszpznhnznn 33555636 騼 19720 hshhsznnnnnhpzsshhzpz 33563026 騿 19721 hshhsznnnnnhnphszhhhs 33569407 騽 19722 hshhsznnnnznhznhpszhh 33566738 驂 19723 hshhsznnnnznznznpnppp 33555499 趰 19724 hshshpnhpnszspnpnpnpn 0 趯 19725 hshshpnznhznhpsnhhhsh 16786314 鼚 19726 hshszhnphhsznhshhhzpn 16778197 鼙 19727 hshszhnphhsznpszhhphs 16783008 鼛 19728 hshszhnphhsznpznsnszh 16779921 攜 19729 hshszspsnhhhshszpnszh 33567144 驇 19730 hshpnhshpznhshhsznnnn 33569793 攡 19731 hshnhpnzsszznpsnhhhsh 33562465 騺 19732 hshnphhspznhshhsznnnn 16786946 攛 19733 hshnnzpnpshzhhznnznnz 33555757 鷇 19734 hshnzhpszhhhznnnnpzzn 16780427 鷨 19735 hsshhsshhspszhhhznnnn 33558295 蘵 19736 hsshsshhhnhnphszhhzpn 16786902 韃 19737 hsshszhhshshnphhhsnzn 33556643 鞼 19738 hsshszhhsszhshszhhhpn 33559216 鞽 19739 hsshszhhsphpnszhszszh 33560708 鞿 19740 hsshszhhszznzznhpnzpn 16780698 蘷 19741 hsshpszhhshshzhzpnpzn 33559549 蘴 19742 hssshhhshhhszshszhnph 33557573 蘲 19743 hssszhshszhshszhshhsh 33562171 歡 19744 hssszhszhpsnhhhshpzpn 33558353 蘬 19745 hsspszhzhshshzhhnzszs 33559541 鷋 19746 hsspnhhspnpszhhhznnnn 33566038 蘺 19747 hssnhpnzsszznpsnhhhsh 33562471 鷏 19748 hsszhhhhpnpszhhhznnnn 16786762 鶾 19749 hsszhhhsphpszhhhznnnn 33557890 欌 19750 hspnhsshpzhphszhszzpn 0 權 19751 hspnhssszhszhpsnhhhsh 33564527 欍 19752 hspnhsspsnhhhshpshzhh 0 櫺 19753 hspnhnzsnnnnszhszhszh 33562448 櫻 19754 hspnszhhhpnszhhhpnzph 33567670 欄 19755 hspnszhhszhhhsznphspn 33561976 欁 19756 hspnszhsshhphhzpnhspn 33561635 欅 19757 hspnpshhhzszhhhpnphhs 33560609 櫷 19758 hspnpszhhszzhhzhhzpnh 0 櫼 19759 hspnpnpnhshhhshhhhzpn 33560125 蠜 19760 hspnpnpnhspnhpnszhshn 16779072 麶 19761 hspnpnpnpznnhpnzsszzn 33556320 櫾 19762 hspnpnnpphhszspzznspn 33568529 欃 19763 hspnpzszhhzpzpzszhpzn 16778145 欀 19764 hspnnhszhszhhhsshpzpn 33567026 轟 19765 hszhhhshszhhhshszhhhs 33558083 轞 19766 hszhhhshszhszphnszssh 16785141 轜 19767 hszhhhshnzsnnnnhpszss 33554729 轛 19768 hszhhhsssnphnphhshhsn 33557255 贒 19769 hszhszszhsnznnszhhhpn 33566906 覽 19770 hszhszphnszsshszhhhpz 33562036 譼 19771 hszhszphnszsshnhhhszh 33560099 鬺 19772 hszhsznphsphszhhhpzpp 33565077 鷊 19773 hszhsznphspszhhhznnnn 16781888 鷅 19774 hszsshhspnpszhhhznnnn 33562638 醻 19775 hszpzhhhshzhshhszhhsn 33556291 醹 19776 hszpzhhhnzsnnnnhpszss 16782774 醺 19777 hszpzhhphsznphshhnnnn 16785452 酈 19778 hsznhsznnhpzsshhzpzzs 33562586 顨 19779 hpszhhhpnhpszhhhpnhps 33567513 礮 19780 hpszhhshhsznnnnnhpnpn 33563543 礴 19781 hpszhhssnnhhszhhsnhsn 16777638 礰 19782 hpszhhpphspnphspnshsh 33562575 礭 19783 hpszhhnzsnnnnpsnhhhsh 33564576 礳 19784 hpszhnhphspnhspnhpszh 33561158 礲 19785 hpszhnhnphszhhhzhzhhh 16782158 礯 19786 hpszhnppnnppnnzzznspn 33567644 靧 19787 hpszsshhhszhshszhhhpn 33558543 蠠 19788 hpszsshhhszhshnszhshn 33561349 覼 19789 hpnszspnpnpnpnszhhhpz 33563146 飆 19790 hpnnhpnnhpnnpzpszhshn 33555407 殲 19791 hpznpnpnhshhhshhhhzpn 33560111 霸 19792 hnzsnnnnhsshszhhspzhh 16777456 靀 19793 hnzsnnnnhssnzhhpzpppn 33561090 霷 19794 hnzsnnnnszhhszhhhpzpp 33568248 露 19795 hnzsnnnnszhshshpznszh 16782193 霻 19796 hnzsnnnnszhsshhszhnph 0 霺 19797 hnzsnnnnppsszshpzphpn 33566402 霶 19798 hnzsnnnnnnhnhnpnznhzp 33563515 霹 19799 hnzsnnnnzhpszhnhnphhs 16782995 霿 19800 hnzsnnnnznzsppznszhhh 33561126 鬫 19801 shhshhhshszhsshhhphpn 33559323 颦 19802 shshspphpszpnpszhhphs 16782967 齜 19803 shshpnpnhpnpnzsshshpz 33569179 齥 19804 shshpnpnhpnpnzsszhhzp 33567209 齨 19805 shshpnpnhpnpnzspshzhh 33560525 齩 19806 shshpnpnhpnpnzsnhpnpn 33568334 齦 19807 shshpnpnhpnpnzszhhzpn 33559395 鹻 19808 shszpnnnnnhnphzhhsspn 33560157 矐 19809 szhhhhnzsnnnnpsnhhhsh 33558671 矑 19810 szhhhshzphzszhshszssh 33562981 鷝 19811 szhhhsshhspszhhhznnnn 33555326 贓 19812 szhhhpnhpzhphszhszzpn 33569017 贔 19813 szhhhpnszhhhpnszhhhpn 16777734 譻 19814 szhhhpnszhhhpnnhhhszh 33567656 贐 19815 szhhhpnzhhshnnnnszssh 33559672 矓 19816 szhhhnhnphszhhhzhzhhh 33562252 囁 19817 szhhsshhhhsshhhhsshhh 33561830 囈 19818 szhhsshshpnhshpznhhzn 33567989 囆 19819 szhhssszhhszshnszhshn 33555910 囀 19820 szhhszhhhshszhhshnhsn 33569965 闧 19821 szhhszhhhshszhpspnnzn 0 闣 19822 szhhszhhsnpnzszhszhsh 33556780 闦 19823 szhhszhhszhsshhszhnph 33566554 闤 19824 szhhszhhszsshhszhpzpn 16779675 闢 19825 szhhszhhzhpszhnhnphhs 33555328 顥 19826 szhhnhszhspnhpszhhhpn 33557952 曩 19827 szhhnhszhszhhhsshpzpn 16781798 鷃 19828 szhhnnzzphpszhhhznnnn 16785884 躊 19829 szhshshhshzhshhszhhsn 33556281 躏 19830 szhshshhssnszpsnhhhsh 16782229 躎 19831 szhshshhpnszspnpnpnpn 33561766 躌 19832 szhshshphhsssshpznhzs 33566232 躋 19833 szhshshnhnpszppznpshh 33559809 躑 19834 szhshshnphszpzhhhpnzs 33569734 躍 19835 szhshshznhznhpsnhhhsh 33568872 罍 19836 szhshszhshszhshphhszs 16782114 纍 19837 szhshszhshszhshzznspn 16782117 蠝 19838 szhshnszhshszhshszhsh 33562147 蠩 19839 szhshnnhhhszhhshpszhh 16778449 蠟 19840 szhshnzzzszpnhznnznnz 33561912 鶰 19841 szhszhhhpnpszhhhznnnn 33568817 嚻 19842 szhszhhpszhhhpnszhszh 33567101 囂 19843 szhszhhpszhhhpnszhszh 33554572 囃 19844 szhnhpnpnhspnpsnhhhsh 33555482 囄 19845 szhnhpnzsszznpsnhhhsh 33562144 巋 19846 szspszhzhshshzhhnzszs 33559546 巐 19847 szsnhszhszszhszhhphps 33556060 黮 19848 sznphshhnnnnhsshhhpnz 16784249 黫 19849 sznphshhnnnnhszsshhsh 33567543 黬 19850 sznphshhnnnnhphszhzpn 33554537 黭 19851 sznphshhnnnnpnhszhhps 33568170 黯 19852 sznphshhnnnnnhnphszhh 16777281 髐 19853 szznzszhhhshhshhshhpz 33561591 髒 19854 szznzszhhhsshpznpzhps 33569022 髓 19855 szznzszhhhphshszhhnzn 16783743 鼅 19856 phhpnszhszhhszhshhzhh 33569702 劗 19857 phshpzphshpzszhhhpnss 33555767 酇 19858 phshpzphshpzszhhhpnzs 16778093 馩 19859 phspnszhhhshssszhhhpn 33557548 犩 19860 phspnzphpszhhpzznphhs 33566503 籒 19861 phnphnhshhsshzzhszhsh 33569682 籖 19862 phnphnhshshhhshhhhzpn 33564139 籑 19863 phnphnszhhhhpnnzhhzpn 33569970 籔 19864 phnphnszhhszhszphphpn 16783637 籐 19865 phnphnpzhhnphhpnsnhpn 16784325 籓 19866 phnphnnnhpnphspnszhsh 16779062 雤 19867 pshhpnpnzhhnzpsnhhhsh 33567450 儺 19868 pshsshszhhhpnpsnhhhsh 33561865 儷 19869 pshsznhsznnhpzsshhzpz 33562577 鼱 19870 pshzhhznnznnzhhshszhh 33559713 儼 19871 psszhszhhpzhsshhhphpn 33568142 儸 19872 psszsshzznnnnpsnhhhsh 16782621 儹 19873 psphshpzphshpzszhhhpn 16786385 鶽 19874 psnhhhshhspszhhhznnnn 33570006 顦 19875 psnhhhshnnnnhpszhhhpn 33564284 鷍 19876 pszhhhhspnpszhhhznnnn 33560301 軇 19877 pszhhhphshzhshhszhhsn 33556809 鷎 19878 pszhhhpnhspszhhhznnnn 33562924 皬 19879 pszhhhnzsnnnnpsnhhhsh 33558045 鷌 19880 pszhhhznnnnhshhsznnnn 33560853 鶳 19881 pszhhhznnnnpszhzhhszs 33565276 鷈 19882 pszhhhznnnnppshzphzpz 33565852 魕 19883 pszhhpzznzznzznhpnzpn 33559912 鷉 19884 ppshzphzpzpszhhhznnnn 33565853 忂 19885 ppsszhhhszhhhpsnhhhsh 33564496 艪 19886 ppznhnpzszhshnnnnszhh 33562999 鐵 19887 pnhhsnphhshszhhhshzpn 33566002 鑉 19888 pnhhsnphhsshshznszssh 33565517 鑊 19889 pnhhsnphhsspsnhhhshzn 33558641 鑝 19890 pnhhsnphhsspznhhhsnzn 33563607 鐳 19891 pnhhsnphhnzsnnnnszhsh 33562151 鐬 19892 pnhhsnphshshhphsppzpn 33558521 鐻 19893 pnhhsnphshzphzhpzpppn 16781228 鐪 19894 pnhhsnphshzphzszhshzp 33562995 鐺 19895 pnhhsnphsnpnzszhszhsh 33556171 鏴 19896 pnhhsnphszhshshpznszh 33563073 鑓 19897 pnhhsnphszhshszhzhnzn 33564228 鐰 19898 pnhhsnphszhszhszhhspn 33564259 鐸 19899 pnhhsnphszsshhshnphhs 33557300 鐶 19900 pnhhsnphszsshhszhpzpn 16779661 鐲 19901 pnhhsnphszsshpzszhshn 33570013 鐱 19902 pnhhsnphpnhszhszhpnpn 33564131 鑀 19903 pnhhsnphpnnpnznznnpzn 16777248 鑁 19904 pnhhsnphpnnnnnzspnpzn 33566317 鐮 19905 pnhhsnphnhpnphzhhsspn 33562683 鐿 19906 pnhhsnphnhnphszhhnznn 33567884 鏽 19907 pnhhsnphzhhspsshzhzhs 33567283 鐴 19908 pnhhsnphzhpszhnhnphhs 33554985 龡 19909 pnhszhszhszhszhsspzpn 16778521 朇 19910 pnhszsnphszhhpszhhphs 33555240 飜 19911 pnphspnszhshzpnppzpns 33557393 鷂 19912 pnnpphhszspszhhhznnnn 33568368 蠫 19913 pnnpzppssszhshnszhshn 33562571 鷄 19914 pnnpzznhpnpszhhhznnnn 16780700 鶬 19915 pnnzhhpszhpszhhhznnnn 16777932 饚 19916 pnnzhhznhsshshznszssh 33557804 饛 19917 pnnzhhznhssnzhhpzpppn 33561098 饖 19918 pnnzhhznshshhphsppzpn 33558534 饘 19919 pnnzhhznnhszszhhszhhh 16786630 鶲 19920 pnznznhznhpszhhhznnnn 16784584 臟 19921 pzhhhsshpzhphszhszzpn 33569029 鰧 19922 pzhhnphhpnpzszhshnnnn 33565743 鷆 19923 pzszhhhzpnpszhhhznnnn 33565938 鳠 19924 pzszhshhhsspsnhhhshzn 33558285 鳡 19925 pzszhshhhphszhzpnnznn 33558744 鳢 19926 pzszhshhszhsshhszhnph 16782323 鳣 19927 pzszhshhnhszszhhszhhh 33565072 鰢 19928 pzszhshnnnnhshhsznnnn 33560847 鰭 19929 pzszhshnnnnhshppzszhh 33563972 鰪 19930 pzszhshnnnnhshznszssh 33558828 鰱 19931 pzszhshnnnnhszhhhsnzn 33562685 鱁 19932 pzszhshnnnnhpzpppnnzn 33569883 鰬 19933 pzszhshnnnnshzphznhpn 33564172 鰣 19934 pzszhshnnnnszhhhshhsn 33565283 鰨 19935 pzszhshnnnnszhhznhznh 33565506 鰥 19936 pzszhshnnnnszsshsppnn 33559086 鰮 19937 pzszhshnnnnszpnhszssh 33566519 鰷 19938 pzszhshnnnnpsspznhspn 33565974 鰞 19939 pzszhshnnnnpszhhznnnn 33566180 鰤 19940 pzszhshnnnnpszhzhhszs 16783999 鰩 19941 pzszhshnnnnpnnpphhszs 33568302 鰡 19942 pzszhshnnnnpznzpszhsh 33562890 鰝 19943 pzszhshnnnnnhszhszszh 33557942 鰟 19944 pzszhshnnnnnhnpnznhzp 33557460 鱃 19945 pzszhshnnnnnphhhpzshh 33564386 鰜 19946 pzszhshnnnnnphzhhsspn 16780874 鰫 19947 pzszhshnnnnnnzpnpnszh 33563338 鰯 19948 pzszhshnnnnzhznhzhznh 33563461 觺 19949 pzphhpnznzshpnpzpzhhs 33567818 飅 19950 pzpszhshnhsshzzhszhsh 33562922 飇 19951 pzpszhshnhpnnhpnnhpnn 33555408 飉 19952 pzpszhshnhpnnpszhhspn 33562824 飈 19953 pzpszhshnnppnnppnnppn 33555409 觼 19954 pzpzhhspzszpnszhhhpzn 16781329 邎 19955 pznnnhhhszhpzznspnnzn 16786070 鶹 19956 pznzpszhshpszhhhznnnn 16782510 鶵 19957 pzzsppzzsppszhhhznnnn 16778459 譸 19958 nhhhszhhshzhshhszhhsn 16786846 譳 19959 nhhhszhhnzsnnnnhpszss 33561658 譵 19960 nhhhszhssnphnphhshhsn 33569997 讂 19961 nhhhszhpzszpnszhhhpzn 33567427 譺 19962 nhhhszhpzphhpnznzshpn 33561722 譶 19963 nhhhszhnhhhszhnhhhszh 33565521 譹 19964 nhhhszhnhszhnzhpzpppn 16779429 讁 19965 nhhhszhnhnpszhsszhnzn 33569476 譅 19966 nhhhszhzpnzpnshshshsh 16783593 卛 19967 nhhhszhzznnnnzznnnnhs 16782657 鶮 19968 nhszhszszhpszhhhznnnn 33558046 劘 19969 nhphspnhspnshhhshhhss 16781559 癫 19970 nhpnhhsszhhhhpnhpszpn 16778872 癩 19971 nhpnhhszhspnpzszhhhpn 33561968 癧 19972 nhpnhhpphspnphspnshsh 33562595 癨 19973 nhpnhhnzsnnnnpsnhhhsh 33558647 癪 19974 nhpnhphspnhhshszhhhpn 16780681 癮 19975 nhpnhzspnnphshzhhnznn 33567594 斕 19976 nhpnszhhszhhhsznphspn 33562003 鶺 19977 nhpnpnszhhpszhhhznnnn 16780747 鶶 19978 nhpzhhsszhpszhhhznnnn 33565677 麜 19979 nhpzsshhzpzhszsshhspn 33562616 麝 19980 nhpzsshhzpzpszhhhphsn 16783919 廱 19981 nhpzzzszhzshzpsnhhhsh 16786032 辯 19982 nhnphhpnhhhszhnhnphhs 33555380 贑 19983 nhnphszhhhshshszhhhpn 33558733 赣 19984 nhnphszhhhspznhshszpn 16779895 龒 19985 nhnphszhhhzhzhhhhhspn 33562245 礱 19986 nhnphszhhhzhzhhhhpszh 33562226 齎 19987 nhnpszppznpshhszhhhpn 16780673 臝 19988 nhzszhpzhhszhhhspnpzn 16782629 羻 19989 nphhhpnhpzsshznznnpzn 33564255 齤 19990 nphhpnshshpnpnhpnpnzs 33564539 纇 19991 nphspnzznspnhpszhhhpn 16782141 蠤 19992 nphszpzhhszhshnszhshn 33564385 夔 19993 nphpszhhhshshzhzpnpzn 16780498 鷁 19994 nphpnszsshpszhhhznnnn 16785719 鶼 19995 nphzhhsspnpszhhhznnnn 33560112 爟 19996 nppnhssszhszhpsnhhhsh 16780171 爛 19997 nppnszhhszhhhsznphspn 33562041 爚 19998 nppnpnhszhszhszhszhss 16786303 爝 19999 nppnpnnpszsshzhhznhsn 16781292 爙 20000 nppnnhszhszhhhsshpzpn 33563265 飊 20001 nppnnppnnppnpzpszhshn 0 鶯 20002 nppnnppnnzpszhhhznnnn 33567662 灄 20003 nnhhsshhhhsshhhhsshhh 33565143 灊 20004 nnhhzpzhzpzhszhsznphs 33564175 灃 20005 nnhshhhshhhszshszhnph 33557576 灇 20006 nnhssnphnphhshsshhhzn 33555663 灈 20007 nnhszhhhszhhhpsnhhhsh 33564483 灍 20008 nnhszhhszhhnphzsppzpn 33564582 灏 20009 nnhszhhnhszhspnhpszpn 16779443 灅 20010 nnhszhshszhshszhshhsh 33562174 灕 20011 nnhnhpnzsszznpsnhhhsh 16782285 灋 20012 nnhnhpzsshhznnnnhshzn 33557381 灐 20013 nnhnppnnppnnzpnhhsnph 0 灉 20014 nnhzzzszhzshzpsnhhhsh 16786016 懾 20015 nnshsshhhhsshhhhsshhh 33565151 懼 20016 nnsszhhhszhhhpsnhhhsh 33560670 鶷 20017 nnzhhhsszhpszhhhznnnn 33566872 鶱 20018 nnzhhsshpnpszhhhznnnn 16785402 寷 20019 nnzshhhshhhszshszhnph 33557595 竈 20020 nnzpnhshszhhszhshhzhh 33569044 竉 20021 nnzpnnhnphszhhhzhzhhh 33562265 顧 20022 nzhppsnhhhshhpszhhhpn 33559043 襰 20023 nzspnhszhspnpzszhhhpn 33561969 襯 20024 nzspnnhnphhspnszhhhpz 33556159 襱 20025 nzspnnhnphszhhhzhzhhh 33562237 禴 20026 nzsnpnhszhszhszhszhss 16786317 禳 20027 nzsnnhszhszhhhsshpzpn 16782680 鶴 20028 nzpsnhhhshpszhhhznnnn 33557936 屬 20029 zhpsnhpnszsshpzszhshn 33565404 鐾 20030 zhpszhnhnphhspnhhsnph 33554988 羼 20031 zhpnphhhsnphhhpnphhhs 16778192 鶸 20032 zhznhzhznhpszhhhznnnn 16782823 韢 20033 zshszhhzshszhhshnnznn 33558574 孈 20034 zphszspsnhhhshszpnszh 33565447 孇 20035 zphpsnhhhshpsnhhhshzn 33565457 蠡 20036 zzhpzpppnszhshnszhshn 16782279 纉 20037 zznnnnhhpnhhpnszhhhpn 33569243 纎 20038 zznnnnhshshhhshhhhzpn 33566888 纈 20039 zznnnnhshszhhpszhhhpn 33567165 續 20040 zznnnnhshszsshszhhhpn 33567347 纋 20041 zznnnnhpszhhnznznnpzn 33568495 纆 20042 zznnnnsznphshhnnnnhsh 16781579 纅 20043 zznnnnpszhhzznzznhspn 33562607 纏 20044 zznnnnnhpszhhshhpnhsh 33555939 纐 20045 zznnnnnhpnpnhpszhhhpn 0 鶭 20046 zznnnnnhzppszhhhznnnn 33557472 耲 20047 hhhspnnhszsshsnhpnpzpn 33558342 耱 20048 hhhspnnhphspnhspnhpszh 33561156 瓙 20049 hhshhshzhshhszhhsnnnnn 33556810 瓗 20050 hhshszspsnhhhshszpnszh 33566720 鬝 20051 hshhhznpppszhhszhhszhh 33564127 鬜 20052 hshhhznpppszhhszhhpzhh 33564126 鬛 20053 hshhhznpppszpnhznnznnz 33562853 鬚 20054 hshhhznpppppphpszhhhpn 33567286 鬙 20055 hshhhznpppnpszsnphszhh 16783605 攤 20056 hshhsshszhhhpnpsnhhhsh 33565596 攧 20057 hshhsszhhhhpnhpszhhhpn 16778868 攦 20058 hshhsznhsznnhpzsshhzpz 33562567 驍 20059 hshhsznnnnhshhshhshhpz 33567087 驑 20060 hshhsznnnnhsshzzhszhsh 33562898 驔 20061 hshhsznnnnhszsshszhhhs 16784243 驒 20062 hshhsznnnnszhszhszhhhs 16784565 驕 20063 hshhsznnnnphpnszhszszh 33560290 驐 20064 hshhsznnnnnhszhzshphpn 33557271 驎 20065 hshhsznnnnnphspnpznhzs 33562323 驓 20066 hshhsznnnnnpszsnphszhh 33569088 驏 20067 hshhsznnnnzhpzshzshzsh 33569388 驋 20068 hshhsznnnnznppnzhzpzzn 33555066 驈 20069 hshhsznnnnznzspszpnszh 16786200 壧 20070 hshszhszhhpzhsshhhphpn 33568128 鼘 20071 hshszhnphhsznpsshzhzhs 33568775 鼜 20072 hshszhnphhsznznnszhshn 33564068 覿 20073 hshszsshszhhhpnszhhhpz 33556971 攞 20074 hshszsshzznnnnpsnhhhsh 16782618 攢 20075 hshphshpzphshpzszhhhpn 33555765 攠 20076 hshnhphspnhspnshhhshhh 33561292 攟 20077 hshnhpzsshhzpzszphspnh 33560809 鷙 20078 hshnphhspznpszhhhznnnn 33569837 懿 20079 hshnzhszhnphnhpzpnnznn 16785744 蠧 20080 hshnzhpszhszhshnszhshn 33557204 聽 20081 hsshhhhhshhsszsshhnznn 33565827 蘾 20082 hsshshnhszsshsnhpnpzpn 33558348 蘻 20083 hsshszhhhszspzznzznspn 33559949 韄 20084 hsshszhhshsspsnhhhshzn 33558668 韁 20085 hsshszhhshszhshhszhshh 16780980 韂 20086 hsshszhhspzhppnnhhhszh 33555995 韀 20087 hsshszhhsnhpzsshhznnnn 33560114 鷬 20088 hsshszhshpnpszhhhznnnn 33558447 蘸 20089 hsshszpzhhpsnhhhshnnnn 16786655 虁 20090 hsshpszhhhshshzhzpnpzn 33559551 蘽 20091 hssszhshszhshszhshhspn 33562172 鹳 20092 hssszhszhpsnhhhshpznzh 16780176 顭 20093 hssszsshnzpznhpszhhhpn 33558086 蘿 20094 hssszsshzznnnnpsnhhhsh 33563133 糵 20095 hsspszhzhnhnphhsnphspn 33561838 驚 20096 hsspzszhphpnhshhsznnnn 16780608 蘼 20097 hssnhphspnhspnshhhshhh 16781646 虀 20098 hssnhnpszppznshhhshhhh 16780669 蘱 20099 hssnphspnhpnnhpszhhhpn 33562195 蘹 20100 hssnnsnhszsshsnhpnpzpn 33558347 欇 20101 hspnhsshhhhsshhhhsshhh 33565134 欉 20102 hspnssnphnphhshsshhhzn 33555674 欋 20103 hspnszhhhszhhhpsnhhhsh 33564473 欈 20104 hspnszspsnhhhshszpnszh 33566397 欆 20105 hspnpsnhhhshpsnhhhshzn 33565455 欎 20106 hspnpnpnhspnnzzhhznhsn 33568688 鑋 20107 hszhhhshzzzhshpnhhsnph 33563936 轠 20108 hszhhhsszhshszhshszhsh 33562157 轢 20109 hszhhhspszhhzznzznhspn 33562591 轡 20110 hszhhhszznnnnzznnnnszh 33563571 鷒 20111 hszhhshnhsnpszhhhznnnn 33569959 鷘 20112 hszhspnphpnpszhhhznnnn 33556410 囊 20113 hszhsnzszhszhhhsshpzpn 16781793 鷗 20114 hszhszhszhzpszhhhznnnn 33554770 鑒 20115 hszhszphnszsshpnhhsnph 33560190 彲 20116 hsznhsznnhpzsshhzpzppp 16778380 邐 20117 hsznhsznnhpzsshhzpznzn 33562530 鷖 20118 hphhpnzpzznpszhhhznnnn 33567752 礷 20119 hpszhhsshszhszphnszssh 33561984 礶 20120 hpszhhssszhszhpsnhhhsh 33559111 龓 20121 hpszhhnhnphszhhhzhzhhh 33562246 礵 20122 hpszhhnzsnnnnhspnszhhh 16784160 贗 20123 hppspszhhhznnnnszhhhpn 33568181 鷞 20124 hpnpnpnpnpnpszhhhznnnn 16784165 霼 20125 hnzsnnnnhhznphhznphspn 33566760 鹴 20126 hnzsnnnnhspnszhhhpznzh 33565458 霾 20127 hnzsnnnnpnnpzppszhhshh 16781381 霽 20128 hnzsnnnnnhnpszppznpshh 33559950 顪 20129 shshhphsppzpnhpszhhhpn 33558474 齬 20130 shshpnpnhpnpnzshszhszh 33568667 齪 20131 shshpnpnhpnpnzsszhshpn 33556598 齫 20132 shshpnpnhpnpnzsszhspnh 33559617 矔 20133 szhhhhssszhszhpsnhhhsh 16780180 戵 20134 szhhhszhhhpsnhhhshhzpn 33564479 氍 20135 szhhhszhhhpsnhhhshphhz 16783469 鷐 20136 szhhhphhzpnpszhhhznnnn 33556139 贖 20137 szhhhpnhshszsshszhhhpn 33565390 贘 20138 szhhhpnsnpnzszhszhhhpn 0 鑍 20139 szhhhpnszhhhpnpnhhsnph 33567653 囌 20140 szhhsspzszhshnnnnphspn 16783689 鷜 20141 szhhszhszphpszhhhznnnn 33562307 囇 20142 szhhsznhsznnhpzsshhzpz 33562640 饕 20143 szhhzshzphzpzpnnzhhzpn 16784298 躚 20144 szhshshhszsshhpnzhznzn 33566891 躒 20145 szhshshpszhhzznzznhspn 33562611 躓 20146 szhshshpphspphsszhhhpn 33569814 躕 20147 szhshshnhphshszhnphhsn 33556435 躔 20148 szhshshnhpszhhshhpnhsh 16778165 躖 20149 szhshshzznzznhzznzznsh 33557231 躐 20150 szhshshzzzszpnhznnznnz 16782486 疊 20151 szhshszhshszhshnzszhhh 33557139 蠴 20152 szhshnhssszsshhshpszhh 0 蠨 20153 szhshnhsszhhspsshzhzhs 16785200 蠦 20154 szhshnshzphzszhshszssh 33562963 蠬 20155 szhshnnhnphszhhhzhzhhh 33562225 囎 20156 szhszhhhpnnpszsnphszhh 0 囅 20157 szhszhszhhhszhphsshzpn 33555980 囉 20158 szhszsshzznnnnpsnhhhsh 16782615 囋 20159 szhphshpzphshpzszhhhpn 33569013 鷕 20160 szhpsnhhhshpszhhhznnnn 16785972 巔 20161 szshsszhhhhpnhpszhhhpn 33557043 巎 20162 szshpszhhhshshzhzpnpzn 33561590 羇 20163 szsshhsshszhhshpnhszhs 16780689 邏 20164 szsshzznnnnpsnhhhshnzn 33563143 巖 20165 szsszhszhhpzhsshhhphpn 33568123 巗 20166 szsszhszhhpzhsshhhphpn 33568124 巑 20167 szsphshpzphshpzszhhhpn 33555769 巓 20168 szspzszhhhzpnhpszhhhpn 33557042 巕 20169 szsnphpszhzhnhnphhszph 33561833 圝 20170 sznhhhszhzznnnnzznnnnh 33563079 黰 20171 sznphshhnnnnhsszhhhhpn 16786779 體 20172 szznzszhhszhsshhszhnph 33565897 髑 20173 szznzszhhszsshpzszhshn 16778961 镵 20174 phhhzpzszhhzpzpzszhpzn 33555933 镶 20175 phhhznhszhszhhhsshpzpn 16785163 罏 20176 phhszsshzphzszhshszssh 16782534 罎 20177 phhszsszhhhnzsnnnnhhzn 33565607 龝 20178 phspnpszhhszzhhzhhzpnh 33564392 黐 20179 phspnpnsnhpnnhpnzsszzn 33556323 穱 20180 phspnpnnpszsshzhhznhsn 33560752 穰 20181 phspnnhszhszhhhsshpzpn 16782679 籜 20182 phnphnhshszsshhshnphhs 33566161 籡 20183 phnphnhshpnhszhszhpnpn 33564331 籟 20184 phnphnhszhspnpzszhhhpn 33561967 籗 20185 phnphnhnzsnnnnpsnhhhsh 33559628 籧 20186 phnphnshzphzhpzpppnnzn 16783477 籚 20187 phnphnshzphzszhshszssh 16782535 籛 20188 phnphnpnhhsnphhzpnhzpn 33560094 籙 20189 phnphnpnhhsnphzhhsnhpn 33563033 籘 20190 phnphnpzhhnphhpnzznspn 33565748 籠 20191 phnphnnhnphszhhhzhzhhh 33562229 鷑 20192 phnphnnhnphpszhhhznnnn 33562647 籝 20193 phnphnnhzszhpzhhzphpzn 33567686 鰵 20194 phzznhnphpnpzszhshnnnn 33561248 鼴 20195 pshzhhznnznnzhszhhzphz 33568139 鼳 20196 pshzhhznnznnzszhhhhpnn 33560574 鼵 20197 pshzhhznnznnznnzpnhpnn 33566020 鼲 20198 pshzhhznnznnznzhszhhhs 33558592 儻 20199 pssnpnzszhsznphshhnnnn 33565690 齂 20200 pszhhhszhshhpszhhsnhpn 33566789 皭 20201 pszhhpnnpszsshzhhznhsn 16781061 鰴 20202 ppsszshpzszhshnnnnphpn 33558468 躗 20203 ppszshszhhzshhsszhshpn 16784831 讆 20204 ppszshszhhzshhsnhhhszh 16784829 艫 20205 ppznhnshzphzszhshszssh 33562969 鑄 20206 pnhhsnphhshzhshhszhhsn 33569919 鑖 20207 pnhhsnphhssszsshhpnzpn 33561447 鑎 20208 pnhhsnphhszhshszhhhpnz 33559589 鑑 20209 pnhhsnphhszhszphnszssh 16780949 鑈 20210 pnhhsnphhpnszspnpnpnpn 33561794 鑐 20211 pnhhsnphhnzsnnnnhpszss 16785339 鑆 20212 pnhhsnphssnphnphhshhsn 33569996 鑂 20213 pnhhsnphphsznphshhnnnn 33567508 鑛 20214 pnhhsnphnhphsshszhshpn 16780481 鑇 20215 pnhhsnphnhnpszppznpshh 33559793 鑅 20216 pnhhsnphnppnnppnnzhspn 33558066 鑧 20217 pnhhsnphnnzhssszhhhpzn 0 鑌 20218 pnhhsnphnnzhsppszhhhpn 33555156 鑔 20219 pnhhsnphnnzpznnznhhspn 33555881 鑏 20220 pnhhsnphnnznznnszsshhs 33561671 鑃 20221 pnhhsnphznhznhpsnhhhsh 33557096 龢 20222 pnhszhszhszhszhssphspn 16779466 顩 20223 pnhszhszhpnpnhpszhhhpn 33564147 龕 20224 pnhszhnhnphszhhhzhzhhh 33559311 豄 20225 pnpnszhhshszsshszhhhpn 33557170 糴 20226 pnnphspnznhznhpsnhhhsh 33556977 臞 20227 pzhhszhhhszhhhpsnhhhsh 33564502 黱 20228 pzhhnphhpnsznphshhnnnn 33556688 鳤 20229 pzszhshhphnphnnnzszhzh 33559106 鰿 20230 pzszhshnnnnhhshszhhhpn 33559790 鰳 20231 pzszhshnnnnhsshszhhszp 33562132 鱑 20232 pzszhshnnnnhsshszhshpn 33558426 鱄 20233 pzszhshnnnnhszhhshnhsn 16787051 鰽 20234 pzszhshnnnnhszhsshszhh 16783424 鰸 20235 pzszhshnnnnhszhszhszhz 33564452 鰹 20236 pzszhshnnnnhszhszznhsh 33560090 鰾 20237 pzszhshnnnnhszsshhhspn 33555421 鱈 20238 pzszhshnnnnhnzsnnnnzhh 33567455 鱋 20239 pzszhshnnnnshzphzssnph 33564456 鰻 20240 pzszhshnnnnszhhszsshzn 33560894 鷠 20241 pzszhshnnnnpszhhhznnnn 33568647 鱌 20242 pzszhshnnnnpzszhpzpppn 33567064 鰶 20243 pzszhshnnnnpznnznhhspn 16780773 鱇 20244 pzszhshnnnnnhpzhhsnhpn 33559326 鱅 20245 pzszhshnnnnnhpzhhszhhs 33568446 鱆 20246 pzszhshnnnnnhnphszhhhs 16786667 鱂 20247 pzszhshnnnnzshppznnhsn 33560244 鰼 20248 pzszhshnnnnznhznhpszhh 16785002 鰺 20249 pzszhshnnnnznznznpnppp 33555498 鱜 20250 pzszhshnnnnzzpnzhhznzs 33567032 玂 20251 pzphssszhszhszhhhspphs 33563991 獿 20252 pzphpszhhhshshzhzpnpzn 33561585 飋 20253 pzpszhshnhhshhhshnznpn 33564693 玁 20254 pzpszhszhhpzhsshhhphpn 16785125 玀 20255 pzpszsshzznnnnpsnhhhsh 33563142 觽 20256 pzpzhhsszspsnhhhshszsz 33566727 觻 20257 pzpzhhspszhhzznzznhspn 33562673 蠭 20258 pznhhhsnznszhshnszhshn 33557572 贕 20259 pznpzsnhshszsshszhhhpn 16778955 譿 20260 nhhhszhhhhshhhszhhnznn 33558553 讃 20261 nhhhszhhhpnhhpnszhhhpn 33569008 讀 20262 nhhhszhhshszsshszhhhpn 33556907 讉 20263 nhhhszhszhshszhhhpnnzn 33567791 讄 20264 nhhhszhszhshszhshszhsh 33562182 譾 20265 nhhhszhnphszhhssznhznh 33560159 讅 20266 nhhhszhnnzpnphspnszhsh 16783945 奱 20267 nhhhszhzznnnnzznnnnhpn 33562706 巒 20268 nhhhszhzznnnnzznnnnszs 33563095 彎 20269 nhhhszhzznnnnzznnnnzhz 33566299 孿 20270 nhhhszhzznnnnzznnnnzsh 33563092 孌 20271 nhhhszhzznnnnzznnnnzph 33562760 瓤 20272 nhszhszhhhsshpzpnppznn 16782681 髝 20273 nhszhszszhnppnnppnnzzp 33562127 顫 20274 nhszszhhszhhhhpszhhhpn 33555991 鷓 20275 nhphsshnnnnpszhhhznnnn 33569498 廲 20276 nhphsznhsznnhpzsshhzpz 33562525 亹 20277 nhpshhszhszhzhhnzszhhh 16784798 癭 20278 nhpnhszhhhpnszhhhpnzph 33567716 癬 20279 nhpnhpzszhshnnnnnphhhs 33566957 鷛 20280 nhpzhhszhhspszhhhznnnn 33563362 麞 20281 nhpzsshhzpznhnphszhhhs 16786671 頀 20282 nhnphszhhhsspsnhhhshzn 16779598 聾 20283 nhnphszhhhzhzhhhhsshhh 33562239 龔 20284 nhnphszhhhzhzhhhhsshpn 33558914 蠪 20285 nhnphszhhhzhzhhhszhshn 33562223 襲 20286 nhnphszhhhzhzhhhnhpzpn 33566742 竸 20287 nhnphszhhpznhnphszhhpz 33559776 鷟 20288 nhzpphphhpnpszhhhznnnn 16787115 饔 20289 nhzzppsnhhhshpnnzhhzpn 16786017 鷩 20290 npszspnphpnpszhhhznnnn 16777785 鱉 20291 npszspnphpnpzszhshnnnn 33555425 爡 20292 nppnhssszhhszshnszhshn 33556084 爜 20293 nppnssnphnphhshsshhhzn 33555658 爠 20294 nppnszhhhszhhhpsnhhhsh 33564477 爞 20295 nppnszhshnszhshnszhshn 33565764 灘 20296 nnhhsshszhhhpnpsnhhhsh 33565597 灑 20297 nnhhsznhsznnhpzsshhzpz 16783548 灗 20298 nnhszhshnnhszszhhszhhh 33556727 灔 20299 nnhszhsshhszhnphpzzshz 33568190 灒 20300 nnhphshpzphshpzszhhhpn 16778050 灖 20301 nnhnhphspnhspnshhhshhh 33561331 戂 20302 nnsnhphspnhspnshhhshhh 33561286 覾 20303 nnzpnphspnszhshszhhhpz 33565188 竊 20304 nnzpnpnphspnshszpnszzn 33564339 襶 20305 nzspnhshszhshhsshpnzpn 16778607 襴 20306 nzspnszhhszhhhsznphspn 16782027 襷 20307 nzspnpshhhzszhhhpnphhs 0 襳 20308 nzspnpnpnhshhhshhhhzpn 33566885 禵 20309 nzsnszhhhshpnhpszhhhpn 33565880 鷵 20310 zhphshpszhhpszhhhznnnn 33566047 瓕 20311 zhzhpnszspnpnpnpnhhshn 33561318 鬻 20312 zhznphspnzhzhszhsznphs 16786196 韣 20313 zshszhhzsszsshpzszhshn 16784126 蠥 20314 zsppszhzhnhnphhsszhshn 33561805 糱 20315 zsppszhzhnhnphhsnphspn 16781941 孋 20316 zphhsznhsznnhpzsshhzpz 33562475 孍 20317 zphszhszhhpzhsshhhphpn 33568097 孊 20318 zphnhphspnhspnshhhshhh 33561330 鷚 20319 znhznhpnppppszhhhznnnn 33562826 纒 20320 zznnnnhpszhhshhnnnnhsh 33555940 纑 20321 zznnnnshzphzszhshszssh 16782545 瓚 20322 hhshphshpzphshpzszhhhpn 33569014 鼇 20323 hhshzpphpnszhhszhshhzhh 16777291 鬞 20324 hshhhznpppszhsshhphhzpn 33561637 鬟 20325 hshhhznpppszsshhszhpzpn 16779659 鬠 20326 hshhhznppppnhszsnphszhh 16780451 驖 20327 hshhsznnnnhshszhhhshzpn 16784486 驜 20328 hshhsznnnnssnphnphhhspn 33568404 驛 20329 hshhsznnnnszsshhshnphhs 33567905 驗 20330 hshhsznnnnpnhszhszhpnpn 33568191 驙 20331 hshhsznnnnnhszszhhszhhh 16786631 驌 20332 hshhsznnnnzhhspsshzhzhs 16783702 趱 20333 hshshpnphshpzphshpzszpn 16786387 攩 20334 hshsnpnzszhsznphshhnnnn 16778679 攫 20335 hshszhhhszhhhpsnhhhshzn 16781293 攥 20336 hshphnphnszhhhhpnzznspn 16786555 攪 20337 hshpshhpnpnzhhnzszhhhpz 33558792 攨 20338 hshnnzpnppznnppznnppznn 33566274 鷧 20339 hshnzhszhnphpszhhhznnnn 33568005 魗 20340 hshzhshhszhhsnpszhhpzzn 33556300 毊 20341 hshzshppzznphpnszhszszh 33567103 囏 20342 hsshszhhhpnhshszhnphszh 33560116 戁 20343 hsshszhhhpnpsnhhhshnznn 16781790 韈 20344 hsshszhhshssszsshhpnzpn 33566292 韅 20345 hsshszhhsszhhzznzznnnnn 16785128 鷰 20346 hsshszhshhpzpszhhhznnnn 33568224 虄 20347 hssszhshnpznnhnphpphhsh 0 颧 20348 hssszhszhpsnhhhshhpszpn 16783511 躠 20349 hsspszhzhnhnphhsszhshpn 16785279 虅 20350 hsspzhhnphhpnhshhsznnnn 0 虃 20351 hssnnhpnpnhshhhshhhhzpn 33560091 虇 20352 hsszhzhssszhszhpsnhhhsh 33564558 欐 20353 hspnhsznhsznnhpzsshhzpz 16782330 欕 20354 hspnszhszhhpzhsshhhphpn 0 欏 20355 hspnszsshzznnnnpsnhhhsh 33563130 欑 20356 hspnphshpzphshpzszhhhpn 16786391 轣 20357 hszhhhshpphspnphspnshsh 33562593 轤 20358 hszhhhsshzphzszhshszssh 33562968 覉 20359 hszsshhsshszhhshpnhszhs 33559807 鷣 20360 hszsshszhhhspszhhhznnnn 33567580 醼 20361 hszpzhhhsshszhshhpznnnn 16785881 黳 20362 hphhpnzpzznsznphshhnnnn 33567755 靨 20363 hpszhhszhhhpnnhpszsshhh 33568410 魘 20364 hpszhhszhhhpnnpszhhpzzn 33568148 饜 20365 hpszhhszhhhpnnpnnzhhzpn 33568193 奲 20366 hpnhshpszhhszhszhszhhhs 33556077 鷢 20367 hpnphzsppzpnpszhhhznnnn 33560782 鷯 20368 hpnnpszhhspnpszhhhznnnn 33562828 靆 20369 hnzsnnnnhhznzhhsnhpnnzn 16778605 顬 20370 hnzsnnnnhpszsshpszhhhpn 33563408 靁 20371 hnzsnnnnszhshszhshszhsh 33562153 齱 20372 shshpnpnhpnpnzshsshhhzn 33556600 齰 20373 shshpnpnhpnpnzshsshszhh 16778105 齮 20374 shshpnpnhpnpnzshpnhszhs 16785654 齯 20375 shshpnpnhpnpnzspshzhhpz 16781860 齭 20376 shshpnpnhpnpnzsppzhpphs 33556453 贙 20377 shzphzpzshzphzpzszhhhpn 33567416 鷪 20378 szhhhszhhhnzpszhhhznnnn 33567667 曬 20379 szhhhsznhsznnhpzsshhzpz 33565015 贚 20380 szhhhpnnhnphszhhhzhzhhh 33562269 囒 20381 szhhssszhhszhhhsznphspn 16782032 鷴 20382 szhhszhhhspnpszhhhznnnn 16785113 鷼 20383 szhhszhhszhhpszhhhznnnn 33566942 鷳 20384 szhhszhhpzhhpszhhhznnnn 16785111 曮 20385 szhhszhszhhpzhsshhhphpn 33568171 曪 20386 szhhszsshzznnnnpsnhhhsh 33563158 顯 20387 szhhzznzznnnnnhpszhhhpn 33566958 躙 20388 szhshshszhhszhhpsnhhhsh 33562366 躜 20389 szhshshphshpzphshpzszpn 16786550 躘 20390 szhshshnhnphszhhhzhzhhh 16782164 壨 20391 szhshszhshszhshszhshhsh 33562164 蠸 20392 szhshnhssszhszhpsnhhhsh 16783500 蠮 20393 szhshnhphhpnzpzznznhznh 16785982 蠳 20394 szhshnszhhhpnszhhhpnzph 33567646 蠱 20395 szhshnszhshnszhshnszssh 33559012 蠰 20396 szhshnnhszhszhhhsshpzpn 16782677 囐 20397 szhshzphzhszhsznphshpnn 33568969 鷤 20398 szhszhszhhhspszhhhznnnn 33565625 鷶 20399 szsshszhhhpnpszhhhznnnn 33560876 巘 20400 szsshzphzhszhsznphshpnn 16785849 巚 20401 szsshzphzhszhsznphshpnn 33568167 黲 20402 sznphshhnnnnznznznpnppp 33555538 髖 20403 szznzszhhnnzhssszhhhpzn 33559496 髕 20404 szznzszhhnnzhsppszhhhpn 33555178 鷡 20405 phhsssshnnnnpszhhhznnnn 33566215 罐 20406 phhszshssszhszhpsnhhhsh 16780175 馪 20407 phspnszhhnnzhsppszhhhpn 33555163 鷮 20408 phpnszhszszhpszhhhznnnn 33560304 籣 20409 phnphnszhhszhhhsznphspn 16782023 籞 20410 phnphnppsphhshshzshhspn 33568723 籦 20411 phnphnpnhhsnphphszhhshh 33569619 籥 20412 phnphnpnhszhszhszhszhss 16786307 籢 20413 phnphnpnhszhszhpnpnphpn 33562696 籨 20414 phnphnpnhszhszhpnpnpzpn 33562700 籤 20415 phnphnpnpnhshhhshhhhzpn 33564145 鼹 20416 pshzhhznnznnzszhhnnzzph 16785830 鼶 20417 pshzhhznnznnzppshzphzpz 33564768 鼷 20418 pshzhhznnznnzpnnpzznhpn 16784945 鼸 20419 pshzhhznnznnznphzhhsspn 33566952 儽 20420 psszhshszhshszhshzznspn 16782138 讐 20421 psnhhhshpsnhhhshnhhhszh 33556284 讎 20422 psnhhhshnhhhszhpsnhhhsh 33556283 鷦 20423 psnhhhshnnnnpszhhhznnnn 33560302 齄 20424 pszhhhszhshhpshspnszhhh 33569304 齃 20425 pszhhhszhshhpsszhhpzpnz 33558831 鷱 20426 pszhhhnhpnhspszhhhznnnn 33558788 鷻 20427 pszhhhznnnnnhszhzshphpn 33566065 黴 20428 ppsszshsznphshhnnnnphpn 16781492 躛 20429 ppszshszhhszshhsszhshpn 33566500 讏 20430 ppszshszhhszshhsnhhhszh 33566498 艬 20431 ppznhnpzszhhzpzpzszhpzn 16778159 鑚 20432 pnhhsnphhhpnhhpnszhhhpn 33569238 鑟 20433 pnhhsnphhshszsshszhhhpn 33557172 鑦 20434 pnhhsnphhszhszznszhhhpn 0 鑡 20435 pnhhsnphshshpnpnhpnpnzs 33556597 鑢 20436 pnhhsnphshzphzszhshnznn 16782658 鑜 20437 pnhhsnphsnpnzszhszhhhpn 33565088 鑤 20438 pnhhsnphszhhhsshpnsnhpn 16777547 鑘 20439 pnhhsnphszhshszhshszhsh 33562156 鑙 20440 pnhhsnphphspnhpznpzszhh 33559801 鑗 20441 pnhhsnphphspnpzppnsnhpn 33562478 鑠 20442 pnhhsnphpszhhzznzznhspn 33565500 鑕 20443 pnhhsnphpphspphsszhhhpn 16786948 鑥 20444 pnhhsnphpzszhshnnnnszhh 33562998 鑣 20445 pnhhsnphnhpzsshhzpznnnn 33555398 鑞 20446 pnhhsnphzzzszpnhznnznnz 16781995 鷭 20447 pnphspnszhshpszhhhznnnn 16779086 豅 20448 pnpnszhnhnphszhhhzhzhhh 33562227 臢 20449 pzhhphshpzphshpzszhhhpn 16786364 鱙 20450 pzszhshnnnnhshhshhshhpz 33561423 鱝 20451 pzszhshnnnnhshssszhhhpn 33557557 鱚 20452 pzszhshnnnnhshszhnphszh 33566762 鱏 20453 pzszhshnnnnhszsshszhhhs 33567487 鱖 20454 pzszhshnnnnhpnphzsppzpn 33559202 鱪 20455 pzszhshnnnnszhhhshpszhh 0 鱓 20456 pzszhshnnnnszhszhszhhhs 33565056 鱎 20457 pzszhshnnnnphpnszhszszh 16781009 鱕 20458 pzszhshnnnnpnphspnszhsh 33557390 鱔 20459 pzszhshnnnnnphhhsnphszh 33565057 鱗 20460 pzszhshnnnnnphspnpznhzs 33562326 鱒 20461 pzszhshnnnnnphszpzhhhsn 33569271 鱛 20462 pzszhshnnnnnpszsnphszhh 0 鱘 20463 pzszhshnnnnzhhhshszhhsn 33567488 鱍 20464 pzszhshnnnnznppnzhzpzzn 33555067 鱊 20465 pzszhshnnnnznzspszpnszh 33560738 玃 20466 pzpszhhhszhhhpsnhhhshzn 16781310 觾 20467 pzpzhhshsshszhshhpznnnn 16785886 讌 20468 nhhhszhhsshszhshhpznnnn 16785876 讍 20469 nhhhszhhsszhszhhszhszhh 33554686 讈 20470 nhhhszhhpphspnphspnshsh 33562608 讇 20471 nhhhszhszhhszhhpzpshzhh 33555974 讔 20472 nhhhszhzspnnphshzhhnznn 33567599 欒 20473 nhhhszhzznnnnzznnnnhspn 33563078 曫 20474 nhhhszhzznnnnzznnnnszhh 33563097 灓 20475 nhhhszhzznnnnzznnnnszpn 33563086 攣 20476 nhhhszhzznnnnzznnnnphhs 33563081 變 20477 nhhhszhzznnnnzznnnnphpn 16777820 戀 20478 nhhhszhzznnnnzznnnnnznn 33562750 鷲 20479 nhszhspnhpznpszhhhznnnn 33560542 髞 20480 nhszhszszhszhszhszhhspn 33569045 黂 20481 nhphspnhspnhshssszhhhpn 33557551 爢 20482 nhphspnhspnshhhshhhnnnn 33561294 蠯 20483 nhppszhhphsszhshnszhshn 33563728 癯 20484 nhpnhszhhhszhhhpsnhhhsh 33564486 癰 20485 nhpnhzzzszhzshzpsnhhhsh 33568449 麟 20486 nhpzsshhzhznphspnpznhzs 16782209 讋 20487 nhnphszhhhzhzhhhnhhhszh 16786723 齏 20488 nhnpszppznpshhshhhshhhh 33559797 驘 20489 nhzszhpzhhhshhsznnnnpzn 33563136 鷷 20490 nphszpzhhhsnpszhhhznnnn 33569274 蠲 20491 nphpnszsshszsshpzszhshn 16781258 灡 20492 nnhhssszhhszhhhsznphspn 33561993 魙 20493 nnhhszhhhspphspszhhpzzn 33569371 灙 20494 nnhsnpnzszhsznphshhnnnn 33556759 灛 20495 nnhszhhszhhszhszhszhhhs 33555966 灚 20496 nnhpshhpnpnzhhnzszhhhpz 33560315 灜 20497 nnhnhzszhpzhhszhhhpnpzn 0 戃 20498 nnssnpnzszhsznphshhnnnn 33565686 戄 20499 nnsszhhhszhhhpsnhhhshzn 16781287 顮 20500 nnzhsppszhhhpnhpszhhhpn 33555160 襵 20501 nzspnhsshhhhsshhhhsshhh 33569473 襼 20502 nzspnhsshshpnhshpznhhzn 16785698 襺 20503 nzspnhssszszznnnnszhshn 33560156 禶 20504 nzsnphshpzphshpzszhhhpn 33569002 禷 20505 nzsnnphspnhpnnhpszhhhpn 33562205 鼆 20506 nzszhhnhpnszhhszhshhzhh 33560937 劚 20507 zhpsnhpnszsshpzszhshnss 16787007 彏 20508 zhzszhhhszhhhpsnhhhshzn 33560741 韤 20509 zshszhhzshssszsshhpnzpn 33566294 孏 20510 zphhssszhhszhhhsznphspn 33562028 鷸 20511 znzspszpnszhpszhhhznnnn 33568768 劙 20512 zzhpzpppnszhshnszhshnss 16782294 纓 20513 zznnnnszhhhpnszhhhpnzph 33567658 纖 20514 zznnnnpnpnhshhhshhhhzpn 33566890 纔 20515 zznnnnpzszhhzpzpzszhpzn 16777899 纕 20516 zznnnnnhszhszhhhsshpzpn 16785164 鷥 20517 zznnnnzznspnpszhhhznnnn 33564788 瓛 20518 hhshshzphzhszhsznphshpnn 16779673 蠺 20519 hhpnhhpnszhhszhshnszhshn 33555511 鬢 20520 hshhhznpppnnzhsppszhhhpn 33555174 鬡 20521 hshhhznpppnnznznnszsshhs 33561669 攬 20522 hshhszhszphnszsshszhhhpz 33562026 驝 20523 hshhsznnnnhshnzhpszhhspn 33566120 驟 20524 hshhsznnnnhsshhhznpspppn 33569159 驞 20525 hshhsznnnnnnzhsppszhhhpn 33555157 壩 20526 hshhnzsnnnnhsshszhhspzhh 33554832 鼞 20527 hshszhnphhsznsnpnzszhhsh 33565645 囍 20528 hshszhnphszhhshszhnphszh 16785023 攭 20529 hshzzhpzpppnszhshnszhshn 33562572 韇 20530 hsshszhhshshszsshszhhhpn 33557185 韆 20531 hsshszhhshszsshhpnzhznzn 33564158 虉 20532 hsshszhsznphspszhhhznnnn 33567893 虂 20533 hsshnzsnnnnszhshshpznszh 33563029 虆 20534 hssszhshszhshszhshzznspn 16782129 虈 20535 hssszhszhhpszhhhpnszhszh 33567084 觀 20536 hssszhszhpsnhhhshszhhhpz 33559093 鸏 20537 hssnzhhpzpppnpszhhhznnnn 16781527 矗 20538 hsszhhhhhsszhhhhhsszhhhh 16778484 欗 20539 hspnhssszhhszhhhsznphspn 33561981 欓 20540 hspnsnpnzszhsznphshhnnnn 33556758 欔 20541 hspnszhhhszhhhpsnhhhshzn 33560718 鸉 20542 hspnszhhhpzpppszhhhznnnn 33568239 蠹 20543 hszhsnzhpszhszhshnszhshn 16778971 鹽 20544 hszhszphshszpnnnnnhszssh 33568104 醽 20545 hszpzhhhnzsnnnnszhszhszh 16782255 釂 20546 hszpzhhpnnpszsshzhhznhsn 16781063 釀 20547 hszpzhhnhszhszhhhsshpzpn 33561776 醾 20548 hszpzhhnhphspnhspnnphspn 16781654 醿 20549 hszpzhhnhphspnhspnzznspn 33561315 礹 20550 hpszhszhszhhpzhsshhhphpn 33568093 礸 20551 hpszhphshpzphshpzszhhhpn 33568997 靅 20552 hnzsnnnnhhznzhzpsszhhhpn 33557504 靂 20553 hnzsnnnnhpphspnphspnshsh 33562582 靈 20554 hnzsnnnnszhszhszhhspnpnh 33562403 靃 20555 hnzsnnnnpsnhhhshpsnhhhsh 33558638 靄 20556 hnzsnnnnnhhhszhszhhpzpnz 33554452 靇 20557 hnzsnnnnnhnphszhhhzhzhhh 33562228 蠶 20558 hzpzhzpzszhhszhshnszhshn 33555510 艷 20559 shhhshhhszshszhnphpzzshz 33568203 鬭 20560 shhshhhshszzhzzhzhshpphs 16778761 顰 20561 shshspphpszhhhpnpszhhphs 33563668 齵 20562 shshpnpnhpnpnzsszhhszshn 16786139 齶 20563 shshpnpnhpnpnzsszhszhhhz 16777356 齲 20564 shshpnpnhpnpnzspszhszshn 33564509 齴 20565 shshpnpnhpnpnzsnhnphpppp 33566960 齳 20566 shshpnpnhpnpnzsnzhszhhhs 33568921 齷 20567 shshpnpnhpnpnzszhphznhsh 33566587 鹼 20568 shszpnnnnnhpnhszhszhpnpn 33560158 鸆 20569 shzphzszhhhpnpszhhhznnnn 33568583 鸈 20570 ssnphnphhhspnpszhhhznnnn 33568392 囓 20571 szhhhhszpshshpnpnhpnpnzs 16781938 矖 20572 szhhhhsznhsznnhpzsshhzpz 33566772 矙 20573 szhhhszhhszhhzhsshhhphpn 16780326 贜 20574 szhhhpnhsshpzhphszhszzpn 33569018 曭 20575 szhhsnpnzszhsznphshhnnnn 33565698 囕 20576 szhhszhszphnszsshszhhhpz 0 躤 20577 szhshshhsshhhspnhsshszhh 33560460 躝 20578 szhshshszhhszhhhsznphspn 16782031 鷺 20579 szhshshpznszhpszhhhznnnn 33563074 躞 20580 szhshshnhhhszhnppnnppnzn 16785277 躟 20581 szhshshnhszhszhhhsshpzpn 33563264 蠷 20582 szhshnszhhhszhhhpsnhhhsh 33564481 蠵 20583 szhshnszspsnhhhshszpnszh 16784943 囑 20584 szhzhpsnhpnszsshpzszhshn 33569908 鸅 20585 szsshhshnphhspszhhhznnnn 33569461 羈 20586 szsshhsshszhhshshhsznnnn 33559805 鸀 20587 szsshpzszhshnpszhhhznnnn 33565388 羉 20588 szsshnhhhszhzznnnnzznspn 33563094 巙 20589 szsnphpszhhhshshzhzpnpzn 33559566 穲 20590 phspnhsznhsznnhpzsshhzpz 33562488 穳 20591 phspnphshpzphshpzszhhhpn 33569006 籩 20592 phnphnpszhhhnnzpnnhzpnzn 33555347 籬 20593 phnphnnhpnzsszznpsnhhhsh 33562486 籪 20594 phnphnzznzznhzznzznzpphs 33557228 鸒 20595 pshhhzszhhhpnpszhhhznnnn 16786113 黌 20596 pshhpnpnzhhnzhsshszhshpn 33558133 鷽 20597 pshhpnpnzhhnzpszhhhznnnn 16785442 鱟 20598 pshhpnpnzhhnzpzszhshnnnn 33558172 儾 20599 pshszhsnzszhszhhhsshpzpn 33561572 雥 20600 psnhhhshpsnhhhshpsnhhhsh 33568971 雦 20601 psnhhhshpsnhhhshpsnhhhsh 33559901 齅 20602 pszhhhszhshhpspszhhhhpnn 33567272 齆 20603 pszhhhszhshhpszzzszhzshz 16784591 軈 20604 pszhhhpnhppspsnhhhshnznn 0 鸌 20605 pszhhhznnnnhsspsnhhhshzn 33558255 鸃 20606 pszhhhznnnnnphhshphshzpn 33567759 鸄 20607 pszhhnhzpphpnpszhhhznnnn 33559777 衢 20608 ppsszhhhszhhhpsnhhhshhhs 16783475 艭 20609 ppznhnpsnhhhshpsnhhhshzn 16784163 瓥 20610 ppznnhpzpppnszhshnszhshn 33562662 鑮 20611 pnhhsnphhssnnhhszhhsnhsn 33555104 鑩 20612 pnhhsnphhszhszhhsszhszhh 33554675 鑬 20613 pnhhsnphhszhszphnszhhhpz 33560198 鑪 20614 pnhhsnphshzphzszhshszssh 16782537 鑫 20615 pnhhsnphpnhhsnphpnhhsnph 16784883 鑨 20616 pnhhsnphnhnphszhhhzhzhhh 33562233 貛 20617 pnnpzpphssszhszhpsnhhhsh 33558354 饝 20618 pnnzhhznnhphspnhspnhpszh 33561136 鱯 20619 pzszhshnnnnhsspsnhhhshzn 33558650 鱤 20620 pzszhshnnnnhphszhzpnnznn 33558736 鱩 20621 pzszhshnnnnhnzsnnnnszhsh 0 鱥 20622 pzszhshnnnnshshhphsppzpn 33559204 鱡 20623 pzszhshnnnnszhhhpnhhpzpn 33569082 鱦 20624 pzszhshnnnnszhhszhshhzhh 33565229 鱧 20625 pzszhshnnnnszhsshhszhnph 33562529 鱢 20626 pzszhshnnnnszhszhszhhspn 33564662 鱰 20627 pzszhshnnnnszsshhshpszhh 0 鱞 20628 pzszhshnnnnszsshhszhpzpn 33559088 鱮 20629 pzszhshnnnnpshhhzszhhhpn 16785370 鱠 20630 pzszhshnnnnpnhszsnphszhh 16780453 鱫 20631 pzszhshnnnnpnnpnznznnpzn 33554474 鱣 20632 pzszhshnnnnnhszszhhszhhh 16786633 鱐 20633 pzszhshnnnnzhhspsshzhzhs 16783703 讙 20634 nhhhszhhssszhszhpsnhhhsh 16779654 讕 20635 nhhhszhszhhszhhhsznphspn 33562004 讑 20636 nhhhszhpnhszhszhszhszhss 33568365 讖 20637 nhhhszhpnpnhshhhshhhhzpn 33556162 讒 20638 nhhhszhpzszhhzpzpzszhpzn 33555941 讓 20639 nhhhszhnhszhszhhhsshpzpn 33563266 矕 20640 nhhhszhzznnnnzznnnnszhhh 33560917 鸇 20641 nhszszhhszhhhpszhhhznnnn 16786625 鷹 20642 nhppspsnhhhshpszhhhznnnn 33567669 癱 20643 nhpnhhsshszhhhpnpsnhhhsh 33565598 癲 20644 nhpnhhsszhhhhpnhpszhhhpn 33557038 斖 20645 nhpnpshhszhszhzhhnzszhhh 33566456 麠 20646 nhpzsshhzpzhszhshhszhshh 33559727 贛 20647 nhnphszhhhspznhshszhhhpn 33558747 鷾 20648 nhnphszhhnznnpszhhhznnnn 16785743 鸁 20649 nhzszhpzhhpszhhhznnnnpzn 33563128 齹 20650 nphhhphshshshpnpnhpnpnzs 33556317 鼈 20651 npszspnphpnszhhszhshhzhh 33555424 爤 20652 nppnhssszhhszhhhsznphspn 33562042 爣 20653 nppnsnpnzszhsznphshhnnnn 33565688 灠 20654 nnhhszhszphnszsshszhhhpz 16782038 灞 20655 nnhhnzsnnnnhsshszhhspzhh 16777458 灝 20656 nnhszhhnhszhspnhpszhhhpn 33557950 鸂 20657 nnhpnnpzznhpnpszhhhznnnn 16783158 灟 20658 nnhzhpsnhpnszsshpzszhshn 33569884 襻 20659 nzspnhspnpnpnhspnhpnphhs 16782867 襹 20660 nzspnhsznhsznnhpzsshhzpz 33565274 襸 20661 nzspnphshpzphshpzszhhhpn 33569007 衋 20662 zhhhhshpszhhhpszhhpszssh 33565342 鷫 20663 zhhspsshzhzhspszhhhznnnn 16783719 屭 20664 zhpszhhhpnszhhhpnszhhhpn 16785039 鷿 20665 zhpszhnhnphhspszhhhznnnn 33563770 鸊 20666 zhpszhnhnphhspszhhhznnnn 33563756 韥 20667 zshszhhzshshszsshszhhhpn 33557188 孎 20668 zphzhpsnhpnszsshpzszhshn 33569901 纗 20669 zznnnnszspsnhhhshszpnszh 33569250 纛 20670 hhshzznhnszhhhhspnpzznspn 16778712 鬣 20671 hshhhznpppzzzszpnhznnznnz 16782482 攮 20672 hshhszhsnzszhszhhhsshpzpn 16781796 鼟 20673 hshszhnphhsznznppnhszhnph 33565739 壪 20674 hshnhhhszhzznnnnzznnnnzhz 0 臡 20675 hsshszhhhpnpsnhhhshszpnpn 16781866 韉 20676 hsshszhhshssnhpzsshhznnnn 33560115 欖 20677 hspnhszhszphnszsshszhhhpz 33562021 欛 20678 hspnhnzsnnnnhsshszhhspzhh 33554814 欙 20679 hspnszhshszhshszhshzznspn 16782111 欝 20680 hspnpnpnhspnszsshzhhznhsn 33568694 欘 20681 hspnzhpsnhpnszsshpzszhshn 33569896 欚 20682 hspnzzhpzpppnszhshnszhshn 33559784 覊 20683 hszsshhsshszhhshshhsznnnn 33559808 鸍 20684 hpnszspnpnpnpnpszhhhznnnn 33561288 靉 20685 hnzsnnnnhhznpnnpnznznnpzn 16777249 豒 20686 shhhshhhszshszhnphnpzhzsp 33569799 鬬 20687 shhshhhshspzshzzhzhshpphs 16778770 齻 20688 shshpnpnhpnpnzshsszhhhhpn 33557039 齺 20689 shshpnpnhpnpnzspzzsppzzsp 33569150 齸 20690 shshpnpnhpnpnzsnphpnszssh 33567929 顱 20691 shzphzszhshszsshhpszhhhpn 33562970 矘 20692 szhhhsnpnzszhsznphshhnnnn 33565696 鸎 20693 szhhhpnszhhhpnpszhhhznnnn 33567637 囔 20694 szhhszhsnzszhszhhhsshpzpn 16781794 曯 20695 szhhzhpsnhpnszsshpzszhshn 33569895 躡 20696 szhshshhsshhhhsshhhhsshhh 33561826 躣 20697 szhshshszhhhszhhhpsnhhhsh 33564493 躢 20698 szhshshszhhszhhszhhznhznh 33565536 躥 20699 szhshshnnzpnpshzhhznnznnz 33555761 鼉 20700 szhszhszhshhszhhszhshhzhh 33566131 黵 20701 sznphshhnnnnpzhppnnhhhszh 33556717 髗 20702 szznzszhhshzphzszhshszssh 33562983 犪 20703 phshnphpszhhhshshzhzpnpzn 33559563 籭 20704 phnphnhsznhsznnhpzsshhzpz 33565010 籮 20705 phnphnszsshzznnnnpsnhhhsh 33563140 籫 20706 phnphnphshpzphshpzszhhhpn 16786553 齇 20707 pszhhhszhshhpsshzphzszhhh 33569305 鑶 20708 pnhhsnphhsshpzhphszhszzpn 33555558 鑵 20709 pnhhsnphhssszhszhpsnhhhsh 16780177 鑭 20710 pnhhsnphszhhszhhhsznphspn 33561996 鑰 20711 pnhhsnphpnhszhszhszhszhss 33568359 鑯 20712 pnhhsnphpnpnhshhhshhhhzpn 16780886 鑱 20713 pnhhsnphpzszhhzpzpzszhpzn 16778160 鑲 20714 pnhhsnphnhszhszhhhsshpzpn 33567034 鑳 20715 pnhhsnphnnzhhsshpnszhshpn 33560201 龣 20716 pnhszhszhszhszhsszhhsnhpn 33560769 饞 20717 pnnzhhznpzszhhzpzpzszhpzn 33555929 饟 20718 pnnzhhznnhszhszhhhsshpzpn 16785178 鱴 20719 pzszhshnnnnhssszsshhpnzpn 33561448 鱱 20720 pzszhshnnnnhphssszhhszshn 33562598 鱬 20721 pzszhshnnnnhnzsnnnnhpszss 33563409 鱨 20722 pzszhshnnnnsnpnzszhpzszhh 16778206 鱭 20723 pzszhshnnnnnhnpszppznpshh 33559966 鱶 20724 pzszhshnnnnnphhhpnnzhhzpn 33567051 鸑 20725 pzpnhhhszhhpnnpszhhhznnnn 16786301 觿 20726 pzpzhhsszspsnhhhshszpnszh 16784998 馕 20727 pzzhszhsnzszhszhhhsshpzpn 16781795 讘 20728 nhhhszhhsshhhhsshhhhsshhh 33569479 讛 20729 nhhhszhhsshshpnhshpznhhzn 33567953 讗 20730 nhhhszhszspsnhhhshszpnszh 33558656 蠻 20731 nhhhszhzznnnnzznnnnszhshn 33560893 臠 20732 nhhhszhzznnnnzznnnnszpnpn 33563096 廳 20733 nhphsshhhhhshhsszsshhnznn 33565831 麡 20734 nhpzsshhzpznhnpszppznpshh 33564004 戅 20735 nhnphszhhhshshszhhhpnnznn 33558777 戆 20736 nhnphszhhhspznhshszpnnznn 16779919 爦 20737 nppnhszhszphnszsshszhhhpn 33562023 顲 20738 nppnnppnnhszszhhhpszhhhpn 33562032 爥 20739 nppnzhpsnhpnszsshpzszhshn 33569879 灢 20740 nnhhszhsnzszhszhhhsshpzpn 16781797 鼝 20741 nnhpsshzhzhshshszhnphhszn 33568777 灣 20742 nnhnhhhszhzznnnnzznnnnzhz 33566300 鸋 20743 nnznznnszsshhspszhhhznnnn 33561668 襽 20744 nzspnhssszhhszhhhsznphspn 33561999 彠 20745 zhhhshszhhsnhsspsnhhhshzn 33558643 斸 20746 zhpsnhpnszsshpzszhshnpphs 16787008 糶 20747 zsszsnphspnznhznhpsnhhhsh 16784480 鸐 20748 znhznhpsnhhhshpszhhhznnnn 33556957 矡 20749 znzspszhhhszhhhpsnhhhshzn 33560781 纚 20750 zznnnnhsznhsznnhpzsshhzpz 16785018 纙 20751 zznnnnszsshzznnnnpsnhhhsh 16782635 纘 20752 zznnnnphshpzphshpzszhhhpn 33569245 驠 20753 hshhsznnnnhsshszhshhpznnnn 33568194 驥 20754 hshhsznnnnshhpzszhshhsshpn 33559960 驢 20755 hshhsznnnnshzphzszhshszssh 33563179 驣 20756 hshhsznnnnnphhpnhshhsznnnn 33565749 趲 20757 hshshpnphshpzphshpzszhhhpn 33569001 顴 20758 hssszhszhpsnhhhshhpszhhhpn 33564543 飌 20759 hssszhszhpsnhhhshpzpszhshn 16779217 虊 20760 hssnhhhszhzznnnnzznnnnhspn 33563084 欜 20761 hspnhszhsnzszhszhhhsshpzpn 33561567 轥 20762 hszhhhshssszhhszhhpsnhhhsh 33562362 釃 20763 hszpzhhhsznhsznnhpzsshhzpz 33562508 釅 20764 hszpzhhszhszhhpzhsshhhphpn 33568217 釄 20765 hszpzhhnhphspnhspnshhhshhh 33561316 黶 20766 hpszhhszhhhpnnsznphshhnnnn 16785854 靊 20767 hnzsnnnnshhhshhhszshszhnph 33557577 靌 20768 hnzsnnnnnzhhshpzspnszhhhpn 33554934 虪 20769 shzphzpzpsspznsznphshhnnnn 33565394 糳 20770 ssnphnphhspshzhhpzznnphspn 33569301 矚 20771 szhhhzhpsnhpnszsshpzszhshn 33569909 躪 20772 szhshshhssszhhszhhpsnhhhsh 33562367 躧 20773 szhshshhsznhsznnhpzsshhzpz 33566768 躦 20774 szhshshphshpzphshpzszhhhpn 33569240 鸓 20775 szhshszhshszhshpszhhhznnnn 16782124 氎 20776 szhshszhshszhshnnzsznhphhz 33557115 蠼 20777 szhshnszhhhszhhhpsnhhhshzn 16781296 圞 20778 sznhhhszhzznnnnzznnnnhspnh 16782593 籰 20779 phnphnszhhhszhhhpsnhhhshzn 33568864 籯 20780 phnphnnhzszhpzhhszhhhpnpzn 16785571 釁 20781 pshhszhszhzhhnzhszpzhhpnzp 16784900 鸔 20782 pszhhhznnnnszhhhsshpnsnhpn 33555081 鑷 20783 pnhhsnphhsshhhhsshhhhsshhh 33561817 鑺 20784 pnhhsnphszhhhszhhhpsnhhhsh 33564488 鑸 20785 pnhhsnphszhshszhshszhshhsh 33562179 鑴 20786 pnhhsnphszspsnhhhshszpnszh 16784964 鑹 20787 pnhhsnphnnzpnpshzhhznnznnz 33555760 龥 20788 pnhszhszhszhszhsshpszhhhpn 33568743 龤 20789 pnhszhszhszhszhsshzpzpszhh 16785256 鱵 20790 pzszhshnnnnphnphnhphszhzpn 16786749 鱳 20791 pzszhshnnnnpszhhzznzznhspn 33562600 鱲 20792 pzszhshnnnnzzzszpnhznnznnz 33562868 讝 20793 nhhhszhszhszhhpzhsshhhphpn 33569361 讚 20794 nhhhszhphshpzphshpzszhhhpn 33569009 癳 20795 nhpnhszhshszhshszhshzznspn 33563152 驡 20796 nhnphszhhhzhzhhhhshhsznnnn 33562230 糷 20797 nphspnhssszhhszhhhsznphspn 33562018 灦 20798 nnhszhhzznzznnnnnhpszhhhpn 33566882 灎 20799 nnhszhsshhszhnphhshznszssh 33568187 灤 20800 nnhnhhhszhzznnnnzznnnnhspn 33563087 鼊 20801 zhpszhnhnphhsszhhszhshhzhh 33555241 鬤 20802 hshhhznpppnhszhszhhhsshpzpn 33563258 驧 20803 hshhsznnnnhsshszhhspznphspn 33560580 驩 20804 hshhsznnnnhssszhszhpsnhhhsh 16779652 驦 20805 hshhsznnnnhnzsnnnnhspnszhhh 16784162 驤 20806 hshhsznnnnnhszhszhhhsshpzpn 33567033 顳 20807 hsshhhhsshhhhsshhhhpszhhhpn 33561814 虌 20808 hssnpszspnphpnszhhszhshhzhh 33555426 鬰 20809 hspnpnpnhspnnzpnnnnnzshzppp 16786193 靍 20810 hnzsnnnnpsnhhhshpszhhhznnnn 0 鸖 20811 hnzsnnnnpsnhhhshpszhhhznnnn 33558027 靎 20812 hnzsnnnnpnhhsnphpszhhhznnnn 33558033 靋 20813 hnzsnnnnnnhhpphspnphspnshsh 33562587 豓 20814 shhhshhhszshszhnphhpnnszssh 33568189 鬮 20815 shhshhhshspszhhszzhhzhhzpnh 33560499 鸕 20816 shzphzszhshszsshpszhhhznnnn 33562960 蠽 20817 spnpsnhhhshhzpnszhshnszhshn 16781093 躩 20818 szhshshszhhhszhhhpsnhhhshzn 16781317 蠾 20819 szhshnzhpsnhpnszsshpzszhshn 33569881 黷 20820 sznphshhnnnnhshszsshszhhhpn 33557191 馫 20821 phspnszhhphspnszhhphspnszhh 33566630 齈 20822 pszhhhszhshhpsszhsshhphhzpn 16781826 軉 20823 pszhhhpnnzhhshphhszsszhhhpn 33568753 灥 20824 pszhhszpnpszhhszpnpszhhszpn 16783505 鑻 20825 pnhhsnphhspnpnpnhspnhpnphhs 33563502 鑼 20826 pnhhsnphszsshzznnnnpsnhhhsh 33563141 鑽 20827 pnhhsnphphshpzphshpzszhhhpn 33569239 貜 20828 pnnpzppszhhhszhhhpsnhhhshzn 16781313 饠 20829 pnnzhhznszsshzznnnnpsnhhhsh 33563138 饡 20830 pnnzhhznphshpzphshpzszhhhpn 33569005 鱷 20831 pzszhshnnnnhsszhszhhszhszhh 33554680 鱸 20832 pzszhshnnnnshzphzszhshszssh 33562972 飍 20833 pzpszhshnpzpszhshnpzpszhshn 33555410 讞 20834 nhhhszhshzphzhszhsznphshpnn 33568209 讜 20835 nhhhszhsnpnzszhsznphshhnnnn 33556762 犫 20836 nhhhszhpsnhhhshpsnhhhshphhs 33556266 鑾 20837 nhhhszhzznnnnzznnnnpnhhsnph 33563091 鸗 20838 nhnphszhhhzhzhhhpszhhhznnnn 33562219 灧 20839 nnhshhhshhhszshszhnphpzzshz 33568198 灨 20840 nnhnhnphszhhhspznhshszhhhpn 16779896 飝 20841 zpnppzpnszpnppzpnszpnppzpns 33557485 纜 20842 zznnnnhszhszphnszsshszhhhpz 33562035 纝 20843 zznnnnszhshszhshszhshzznspn 33562161 蠿 20844 zznzznhzznzznshszhshnszhshn 33569315 驨 20845 hshhsznnnnszspsnhhhshszpnszh 33566692 鸛 20846 hssszhszhpsnhhhshpszhhhznnnn 33559108 欟 20847 hspnhssszhszhpsnhhhshszhhhpz 0 欞 20848 hspnhnzsnnnnszhszhszhhspnpnh 33562383 鸘 20849 hnzsnnnnhspnszhhhpszhhhznnnn 33565456 豔 20850 shhhshhhszshszhnphhshznszssh 16785869 齽 20851 shshpnpnhpnpnzshspnhspnhhspn 33559688 齼 20852 shshpnpnhpnpnzshspnhspnzshpn 33556455 鑿 20853 ssnphnphhspshzhhpzznpnhhsnph 33569032 鸚 20854 szhhhpnszhhhpnzphpszhhhznnnn 33567640 躨 20855 szhshshnphpszhhhshshzhzpnpzn 33559562 囖 20856 szhphnphnszsshzznnnnpsnhhhsh 0 黸 20857 sznphshhnnnnshzphzszhshszssh 33562990 鼺 20858 pshzhhznnznnzszhshszhshszhsh 33562152 雧 20859 psnhhhshpsnhhhshpsnhhhshhspn 33559902 钄 20860 pnhhsnphhssszhhszhhhsznphspn 33562001 钀 20861 pnhhsnphshzphzhszhsznphshpnn 33561819 钂 20862 pnhhsnphsnpnzszhsznphshhnnnn 33565693 钁 20863 pnhhsnphszhhhszhhhpsnhhhshzn 16781308 鸙 20864 pnhszhszhszhszhsspszhhhznnnn 33568851 鱹 20865 pzszhshnnnnhssszhszhpsnhhhsh 33559119 癴 20866 nhpnhnhhhszhzznnnnzznnnnphhs 33563089 麢 20867 nhpzsshhzpzhnzsnnnnszhszhszh 33562428 戇 20868 nhnphszhhhspznhshszhhhpnnznn 33558778 龞 20869 npszspnphpnpszhhszzhhzhhzpnh 33555428 爧 20870 nppnhnzsnnnnszhszhszhhspnpnh 33562389 驪 20871 hshhsznnnnhsznhsznnhpzsshhzpz 33562484 韊 20872 hsshszhhshssszhhszhhhsznphspn 33562011 虋 20873 hsspshhszhszhzhhnzhszpzhhpnzp 33561064 鬱 20874 hspnphhszshspnnzpnnnnnzshzppp 33568711 麷 20875 hspnpnpnpznshhhshhhszshszhnph 33557586 靏 20876 hnzsnnnnnzpsnhhhshpszhhhznnnn 33558034 鸜 20877 szhhhszhhhpsnhhhshpszhhhznnnn 33564474 钃 20878 pnhhsnphzhpsnhpnszsshpzszhshn 16784121 讟 20879 nhhhszhhshszsshszhhhpnnhhhszh 16778959 纞 20880 zznnnnnhhhszhzznnnnzznnnnnznn 33562765 驫 20881 hshhsznnnnhshhsznnnnhshhsznnnn 16777838 鸝 20882 hsznhsznnhpzsshhzpzpszhhhznnnn 16782277 厵 20883 hppszhhspnhppszhhspnhppszhhspn 33568820 籱 20884 phnphnhnzsnnnnpsnhhhshpsnhhhsh 33570023 爨 20885 pshhszhszhzhhnzhspnhspnhpnnppn 16778051 饢 20886 pnnzhhznhszhsnzszhszhhhsshpzpn 33561568 鱺 20887 pzszhshnnnnhsznhsznnhpzsshhzpz 33562491 鸞 20888 nhhhszhzznnnnzznnnnpszhhhznnnn 33563080 癵 20889 nhpnhnhhhszhzznnnnzznnnnszpnpn 33563090 麣 20890 nhpzsshhzhzszhszhhpzhsshhhphpn 33568112 灩 20891 nnhshhhshhhszshszhnphhshznszssh 33568199 籲 20892 phnphnpnhszhszhszhszhsshpszhhhpn 33567300 龖 20893 nhnphszhhhzhzhhhnhnphszhhhzhzhhh 33565532 灪 20894 nnhhspnphhszshspnnzpnnnnnzshzppp 33568726 龗 20895 hnzsnnnnszhszhszhnhnphszhhhzhzhhh 33562426 鱻 20896 pzszhshnnnnpzszhshnnnnpzszhshnnnn 33566886 麤 20897 nhpzsshhzpznhpzsshhzhznhpzsshhzpz 16778031 爩 20898 nppnhspnphhszshspnnzpnnnnnzshzppp 33568702 齾 20899 shzphzhszhsznphshpnnshshpnpnhpnpnzs 33568060 齉 20900 pszhhhszhshhpshszhsnzszhszhhhsshpzpn 16781799 靐 20901 hnzsnnnnszhshhnzsnnnnszhshhnzsnnnnszhsh 33555207 龘 20902 nhnphszhhhzhzhhhnhnphszhhhzhzhhhnhnphszhhhzhzhhh 16784208 ibus-libpinyin-1.16.1/data/network.txt0000664000175000017500000001232614472774345013410 # timestamp: 1600522231 矮矬穷 ai'cuo'qiong 10 爱豆 ai'dou 10 矮油 ai'you 3 霸屏 ba'ping 2 逼格 bi'ge 1 比利王 bi'li'wang 1 逼数 bi'shu 1 爆表 bao'biao 10 抱大腿 bao'da'tui 20 白富美 bai'fu'mei 20 播主 bo'zhu 10 补番 bu'fan 10 病娇 bing'jiao 10 背锅 bei'guo 10 槽点 cao'dian 5 逗逼 dou'bi 10 屌丝 diao'si 2 帝都 di'du 20 蛋定 dan'ding 2 蛋疼 dan'teng 2 呆萌 dai'meng 10 父上 fu'shang 10 肥宅 fei'zhai 10 高富帅 gao'fu'shuai 10 搞基 gao'ji 5 工口 gong'kou 5 姑凉 gu'liang 10 鬼畜 gui'chu 10 给跪了 gei'gui'le 10 和面 huo'mian 20 活久见 huo'jiu'jian 10 火钳刘明 huo'qian'liu'ming 10 黑尾土拨鼠 hei'wei'tu'bo'shu 10 城会玩 cheng'hui'wan 2 程序猿 cheng'xu'yuan 2 程序媛 cheng'xu'yuan 2 鸡冻 ji'dong 2 激萌 ji'meng 10 基情 ji'qing 2 基友 ji'you 2 金坷垃 ji'ke'la 5 降权 jiang'quan 10 旧番 jiu'fan 10 绝逼 jue'bi 10 精分 jing'fen 5 精日 jing'ri 2 氪金 ke'jin 10 辣么 la'me 2 里番 li'fan 10 懒癌 lan'ai 10 脸盲 lian'mang 10 脸书 lian'shu 20 洛天依 luo'tian'yi 10 撸 lu 10 撸猫 lu'mao 10 唛 mai 10 唛头 mai'tou 10 喵星人 miao'xing'ren 20 么么哒 me'me'da 20 萌妹 meng'mei 20 萌萌哒 meng'meng'da 20 萌娘 meng'niang 20 面基 mian'ji 10 魔都 mo'du 20 母上 mu'shang 10 妹汁 mei'zhi 10 妹纸 mei'zhi 10 脑补 nao'bu 20 奶一口 nai'yi'kou 10 欧尼酱 ou'ni'jiang 10 𤆵 pa 50 𤆵耳朵 pa'er'duo 50 胖次 pang'ci 20 弃坑 qi'keng 20 然并卵 ran'bing'luan 20 弱爆了 ruo'bao'le 10 软萌 ruan'meng 20 软妹币 ruan'mei'bi 10 死库水 si'ku'shui 20 死宅 si'zhai 10 撕逼 si'bi 5 碎觉 sui'jiao 2 躺枪 tang'qiang 10 躺尸 tang'shi 20 天啦噜 tian'la'lu 20 舔屏 tian'ping 5 天然萌 tian'ran'meng 5 土肥圆 tu'fei'yuan 2 腿玩年 tui'wan'nian 2 傻白甜 sha'bai'tian 10 手办 shou'ban 10 蛇精病 she'jing'bing 5 蛇精脸 she'jing'lian 5 神隐 shen'yin 10 十动然拒 shi'dong'ran'ju 10 提权 ti'quan 10 知乎 zhi'hu 20 直男癌 zhi'nan'ai 2 战五渣 zhan'wu'zha 1 肿么 zhong'me 2 肿么办 zhong'me'ban 2 肿么破 zhong'me'po 2 注孤生 zhu'gu'sheng 10 追番 zhui'fan 10 哇咔咔 wa'ka'ka 3 哇哦 wa'o 10 网飞 wang'fei 50 网红 wang'hong 50 网红脸 wang'hong'lian 10 玩坏 wan'huai 10 玩脱 wan'tuo 10 歪果仁 wai'guo'ren 2 握爪 wo'zhua 10 舞姬 wu'ji 10 伪娘 wei'niang 10 笑抽 xiao'chou 10 喜大普奔 xi'da'pu'ben 10 吸猫 xi'mao 10 心塞 xin'sai 10 熊孩子 xiong'hai'zi 20 胸器 xiong'qi 5 吓尿 xia'niao 10 蟹蟹 xie'xie 1 友商 you'shang 20 颜控 yan'kong 20 颜值 yan'zhi 20 颜文字 yan'wen'zi 10 妖都 yao'du 20 嘤嘤嘤 ying'ying'ying 1 捉急 zhuo'ji 1 # timestamp: 1692858705 𩽾 an 1 薁 ao 1 𨭉 ban 1 𠳐 bang 1 𬇙 bei 1 𨚕 bian 1 癿 bie 1 𬭛 bo 1 蕃 bo 1 艴 bo 1 𬷕 bu 1 𥕢 cao 1 𥻗 cha 1 𬊤 chan 1 𬬮 chang 1 𬘭 chen 1 梣 chen 1 𫄨 chi 1 涌 chong 1 𬺓 chu 1 𬭚 chun 1 𫚖 ci 1 𨱏 da 1 鿎 da 1 𫟼 da 1 𬘘 dan 1 𫢸 dan 1 𣗋 dang 1 𬍡 dang 1 扽 den 1 𬱖 di 1 𤧛 di 1 𫶇 die 1 𬟽 dong 1 𬭊 du 1 𫫇 e 1 𥔲 e 1 欸 e 1 𫔍 fan 1 𬸪 fan 1 𬴂 fei 1 𣸣 fen 1 𫓧 fu 1 宓 fu 1 𫖯 fu 1 戛 ga 1 𬮿 gai 1 鿍 gang 1 饹 ge 1 𬒔 geng 1 硔 gong 1 𦙶 gu 1 𨐈 guang 1 𬇹 guo 1 𬌗 he 1 𬭶 hei 1 𬣳 hen 1 哼 hng 1 𫟹 hong 1 𬭎 hong 1 𬭤 hou 1 𬘫 huan 1 𤩽 huan 1 𨱑 huang 1 硊 hui 1 𬤝 hui 1 𬭬 hui 1 碈 hun 1 𬴃 huo 1 𬯀 ji 1 𫓯 ji 1 𫓹 ji 1 𫌀 ji 1 㴔 ji 1 𪟝 ji 1 𬶨 ji 1 𬶭 ji 1 𬂩 jia 1 𬣡 jian 1 𬬱 jin 1 𬳶 jiong 1 𬶋 ju 1 𫘝 jue 1 𫔎 jue 1 𡐓 kang 1 𩾌 kang 1 㸆 kao 1 剋 kei 1 𫸩 kou 1 𫛭 kuang 1 𫠆 kui 1 𬶟 la 1 𬒗 lan 1 𫭼 lao 1 𫵷 li 1 𬍛 li 1 𬶠 lian 1 𫟅 liang 1 𬜯 liang 1 橑 liao 1 𪤗 liao 1 峛 lie 1 𫚭 lie 1 𬴊 lin 1 𬭸 lin 1 𬕂 long 1 𪣻 lou 1 𦝼 lou 1 𬬻 lu 1 𫘧 lu 1 𦝼 lv 1 𬬭 lun 1 𫭢 lun 1 呒 m 1 呣 m 1 唛 mai 1 鿏 mai 1 𬜬 man 1 厖 mang 1 𫞩 men 1 呇 men 1 𫑡 meng 1 蓂 mi 1 𩾃 mian 1 𬙊 mo 1 𬭁 mu 1 𧿹 mu 1 𦰡 na 1 𫐐 ni 1 𫠜 ni 1 𨺙 ni 1 𫔶 nie 1 𬪩 nong 1 𦰡 nuo 1 𫭟 ou 1 𠙶 ou 1 𬉼 ou 1 𬳵 pi 1 𡎚 pian 1 𬭯 pie 1 𬞟 pin 1 𨙸 qi 1 𬨂 qi 1 伣 qian 1 𬘬 qian 1 梣 qin 1 𨱇 qiu 1 𫭟 qu 1 𪨰 qu 1 𨟠 quan 1 𬒈 que 1 𫐓 rou 1 𫮃 shan 1 𪨶 she 1 拾 she 1 𬳽 shen 1 𬬹 shen 1 𫚕 shi 1 𬤊 shi 1 𬬸 shu 1 漴 shuang 1 𫗧 su 1 𫟦 sui 1 𬭼 sui 1 鿎 ta 1 埫 tang 1 𫘦 tao 1 𫘨 ti 1 𬘩 ting 1 𫍣 tong 1 𦒍 tong 1 𬳿 tu 1 𬯎 tui 1 圫 tuo 1 𬶍 tuo 1 坬 wa 1 𬇕 wan 1 𣲗 wei 1 𬶏 wei 1 𫇭 wei 1 𬀩 wei 1 𬱟 wei 1 𮧵 wei 1 𫘜 wen 1 𬭩 weng 1 𣲘 wu 1 𠅤 xi 1 𫘬 xi 1 𬭳 xi 1 𬶮 xi 1 𬸣 xian 1 𫍯 xian 1 𬀪 xian 1 𪾢 xian 1 𬙋 xiang 1 𫍲 xiao 1 𬹼 xie 1 𤫉 xie 1 𫷷 xin 1 𫰛 xing 1 𬣙 xu 1 𦈡 xu 1 𫓶 xuan 1 𫍽 xuan 1 𫠊 xuan 1 𫄸 xun 1 𬘓 xun 1 𬩽 xun 1 𬍤 xun 1 𬊈 xun 1 𫄧 yan 1 𬸘 yan 1 𬙂 yan 1 𪩘 yan 1 掞 yan 1 尾 yi 1 𫖮 yi 1 𬺈 yi 1 𬬩 yi 1 𫄷 yi 1 𬟁 yi 1 𬘡 yin 1 𬤇 yin 1 𬮱 yin 1 𬎆 ying 1 𬨎 you 1 喁 yu 1 𫘪 yuan 1 𫐄 yue 1 𬸚 yue 1 𫖳 yun 1 𥖨 zao 1 综 zeng 1 馇 zha 1 豸 zhai 1 𫗴 zhan 1 𬬿 zhao 1 𬶐 zhao 1 𦭜 zhi 1 𬃊 zhi 1 𬣞 zhu 1 𬘯 zhun 1 𬸦 zhuo 1 𨱔 zun 1 ibus-libpinyin-1.16.1/data/Makefile.in0000644000175000017500000006643414767166740013233 # Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # vim:set noet ts=4: # # ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus # # Copyright (c) 2008-2010 Peng Huang # VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = data ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/as-version.m4 \ $(top_srcdir)/m4/boost.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(appdatadir)" \ "$(DESTDIR)$(auxiliary_dbdir)" "$(DESTDIR)$(desktopdir)" \ "$(DESTDIR)$(networkdir)" DATA = $(appdata_DATA) $(auxiliary_db_DATA) $(desktop_DATA) \ $(network_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir distdir-am am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BOOST_CPPFLAGS = @BOOST_CPPFLAGS@ BOOST_ROOT = @BOOST_ROOT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CLOUD_INPUT_MODE = @CLOUD_INPUT_MODE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ CTAGS = @CTAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENV = @ENV@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GIO2_CFLAGS = @GIO2_CFLAGS@ GIO2_LIBS = @GIO2_LIBS@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ IBUS_CFLAGS = @IBUS_CFLAGS@ IBUS_LIBS = @IBUS_LIBS@ ICON_PROP_KEY_XML = @ICON_PROP_KEY_XML@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ JSONGLIB_CFLAGS = @JSONGLIB_CFLAGS@ JSONGLIB_LIBS = @JSONGLIB_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@ LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@ LIBOBJS = @LIBOBJS@ LIBPINYIN_CFLAGS = @LIBPINYIN_CFLAGS@ LIBPINYIN_DATADIR = @LIBPINYIN_DATADIR@ LIBPINYIN_LIBS = @LIBPINYIN_LIBS@ LIBS = @LIBS@ LIBSOUP_CFLAGS = @LIBSOUP_CFLAGS@ LIBSOUP_LIBS = @LIBSOUP_LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OPENCC_CFLAGS = @OPENCC_CFLAGS@ OPENCC_LIBS = @OPENCC_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PACKAGE_VERSION_MAJOR = @PACKAGE_VERSION_MAJOR@ PACKAGE_VERSION_MICRO = @PACKAGE_VERSION_MICRO@ PACKAGE_VERSION_MINOR = @PACKAGE_VERSION_MINOR@ PACKAGE_VERSION_NANO = @PACKAGE_VERSION_NANO@ PACKAGE_VERSION_RELEASE = @PACKAGE_VERSION_RELEASE@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PYTHON = @PYTHON@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SQLITE3 = @SQLITE3@ SQLITE_CFLAGS = @SQLITE_CFLAGS@ SQLITE_LIBS = @SQLITE_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gsettingsschemadir = @gsettingsschemadir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ WORDLIST = wordlist ENGLISH_AWK = english.awk ENGLISH_DB = english.db TABLE = strokes TABLE_AWK = table.awk TABLE_DB = table.db network_DATA = network.txt networkdir = $(pkgdatadir) APPDATA_XML = libpinyin.appdata.xml gsettings_SCHEMAS = com.github.libpinyin.ibus-libpinyin.gschema.xml SUBDIRS = \ icons \ $(NULL) auxiliary_db_DATA = \ $(ENGLISH_DB) \ $(TABLE_DB) \ $(NULL) auxiliary_dbdir = $(pkgdatadir)/db appdatadir = @datadir@/metainfo appdata_DATA = $(APPDATA_XML) desktop_in_files = \ ibus-setup-libbopomofo.desktop.in \ ibus-setup-libpinyin.desktop.in \ $(NULL) desktop_files = $(desktop_in_files:.desktop.in=.desktop) desktopdir = $(datadir)/applications desktop_DATA = $(desktop_files) EXTRA_DIST = \ $(desktop_in_files) \ $(WORDLIST) \ $(ENGLISH_AWK) \ $(TABLE) \ $(TABLE_AWK) \ $(network_DATA) \ $(APPDATA_XML) \ $(gsettings_SCHEMAS) \ $(NULL) CLEANFILES = \ $(ENGLISH_DB) \ $(TABLE_DB) \ $(desktop_DATA) \ $(NULL) all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu data/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu data/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-appdataDATA: $(appdata_DATA) @$(NORMAL_INSTALL) @list='$(appdata_DATA)'; test -n "$(appdatadir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(appdatadir)'"; \ $(MKDIR_P) "$(DESTDIR)$(appdatadir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(appdatadir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(appdatadir)" || exit $$?; \ done uninstall-appdataDATA: @$(NORMAL_UNINSTALL) @list='$(appdata_DATA)'; test -n "$(appdatadir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(appdatadir)'; $(am__uninstall_files_from_dir) install-auxiliary_dbDATA: $(auxiliary_db_DATA) @$(NORMAL_INSTALL) @list='$(auxiliary_db_DATA)'; test -n "$(auxiliary_dbdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(auxiliary_dbdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(auxiliary_dbdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(auxiliary_dbdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(auxiliary_dbdir)" || exit $$?; \ done uninstall-auxiliary_dbDATA: @$(NORMAL_UNINSTALL) @list='$(auxiliary_db_DATA)'; test -n "$(auxiliary_dbdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(auxiliary_dbdir)'; $(am__uninstall_files_from_dir) install-desktopDATA: $(desktop_DATA) @$(NORMAL_INSTALL) @list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(desktopdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(desktopdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(desktopdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(desktopdir)" || exit $$?; \ done uninstall-desktopDATA: @$(NORMAL_UNINSTALL) @list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(desktopdir)'; $(am__uninstall_files_from_dir) install-networkDATA: $(network_DATA) @$(NORMAL_INSTALL) @list='$(network_DATA)'; test -n "$(networkdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(networkdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(networkdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(networkdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(networkdir)" || exit $$?; \ done uninstall-networkDATA: @$(NORMAL_UNINSTALL) @list='$(network_DATA)'; test -n "$(networkdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(networkdir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(DATA) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(appdatadir)" "$(DESTDIR)$(auxiliary_dbdir)" "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(networkdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-appdataDATA install-auxiliary_dbDATA \ install-desktopDATA install-networkDATA install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-appdataDATA uninstall-auxiliary_dbDATA \ uninstall-desktopDATA uninstall-networkDATA .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-appdataDATA \ install-auxiliary_dbDATA install-data install-data-am \ install-desktopDATA install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-networkDATA install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am uninstall-appdataDATA \ uninstall-auxiliary_dbDATA uninstall-desktopDATA \ uninstall-networkDATA .PRECIOUS: Makefile @GSETTINGS_RULES@ $(ENGLISH_DB): $(WORDLIST) $(ENGLISH_AWK) $(AM_V_GEN) \ $(RM) $@; \ $(AWK) -f $(srcdir)/$(ENGLISH_AWK) $(srcdir)/$(WORDLIST) | @SQLITE3@ $@ || \ ( $(RM) $@ ; exit 1 ) $(TABLE_DB): $(TABLE) $(TABLE_AWK) $(AM_V_GEN) \ $(RM) $@; \ $(AWK) -f $(srcdir)/$(TABLE_AWK) $(srcdir)/$(TABLE) | @SQLITE3@ $@ || \ ( $(RM) $@ ; exit 1 ) %.desktop: %.desktop.in $(AM_V_GEN)$(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@.tmp sed -e 's|@libexecdir[@]|$(libexecdir)|g' \ -e 's|@pkgdatadir[@]|$(pkgdatadir)|g' $@.tmp > $@ rm $@.tmp # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ibus-libpinyin-1.16.1/data/ibus-setup-libpinyin.desktop.in0000664000175000017500000000033513672072346017237 [Desktop Entry] Name=IBus LibPinyin Setup Comment=Set ibus-libpinyin Preferences Exec=@libexecdir@/ibus-setup-libpinyin libpinyin Icon=@pkgdatadir@/icons/ibus-pinyin.svg NoDisplay=true Type=Application StartupNotify=true ibus-libpinyin-1.16.1/data/table.awk0000644000175000017500000000146714455173634012746 #!/usr/bin/awk BEGIN { # Begin a transaction print "BEGIN TRANSACTION;" # Create english table print "CREATE TABLE IF NOT EXISTS phrases ( " \ "id INTEGER PRIMARY KEY NOT NULL," \ "tabkeys TEXT NOT NULL," \ "phrase TEXT NOT NULL," \ "freq INTEGER NOT NULL DEFAULT (10)" \ ");"; # Create desc table print "CREATE TABLE IF NOT EXISTS desc (name TEXT PRIMARY KEY, value TEXT);"; print "INSERT OR IGNORE INTO desc VALUES ('version', '1.12.0');"; id = 1; } # Insert data into phrases table NF == 4 { printf "INSERT INTO phrases (id, tabkeys, phrase) VALUES (%d, '%s', '%s');\n", id, $3, $1; id++; } #quit sqlite3 END { # Commit the transcation print "COMMIT;" } ibus-libpinyin-1.16.1/data/libpinyin.appdata.xml0000664000175000017500000000210714504444770015272 com.github.libpinyin CC0-1.0 Pinyin Chinese Pinyin and Zhuyin input method

The Pinyin input method is designed for entering Chinese text by using Pinyin or Zhuyin.

Input methods are typing systems allowing users to input complex languages. They are necessary because these contain too many characters to simply be laid out on a traditional keyboard.

https://github.com/libpinyin/ibus-libpinyin GNOME GNOME The GNOME Project https://code.google.com/p/ibus/issues/list https://www.gnome.org/friends/ https://code.google.com/p/ibus/wiki/FAQ alexepico_AT_gmail.com
ibus-libpinyin-1.16.1/data/Makefile.am0000644000175000017500000000446014455173634013203 # vim:set noet ts=4: # # ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus # # Copyright (c) 2008-2010 Peng Huang # ## This program is free software: you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation, either version 3 of the License, or ## (at your option) any later version. ## ## This program 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 General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program. If not, see . WORDLIST = wordlist ENGLISH_AWK = english.awk ENGLISH_DB = english.db TABLE = strokes TABLE_AWK = table.awk TABLE_DB = table.db network_DATA = network.txt networkdir = $(pkgdatadir) APPDATA_XML = libpinyin.appdata.xml gsettings_SCHEMAS = com.github.libpinyin.ibus-libpinyin.gschema.xml @GSETTINGS_RULES@ SUBDIRS = \ icons \ $(NULL) auxiliary_db_DATA = \ $(ENGLISH_DB) \ $(TABLE_DB) \ $(NULL) auxiliary_dbdir = $(pkgdatadir)/db $(ENGLISH_DB): $(WORDLIST) $(ENGLISH_AWK) $(AM_V_GEN) \ $(RM) $@; \ $(AWK) -f $(srcdir)/$(ENGLISH_AWK) $(srcdir)/$(WORDLIST) | @SQLITE3@ $@ || \ ( $(RM) $@ ; exit 1 ) $(TABLE_DB): $(TABLE) $(TABLE_AWK) $(AM_V_GEN) \ $(RM) $@; \ $(AWK) -f $(srcdir)/$(TABLE_AWK) $(srcdir)/$(TABLE) | @SQLITE3@ $@ || \ ( $(RM) $@ ; exit 1 ) appdatadir = @datadir@/metainfo appdata_DATA = $(APPDATA_XML) desktop_in_files = \ ibus-setup-libbopomofo.desktop.in \ ibus-setup-libpinyin.desktop.in \ $(NULL) desktop_files = $(desktop_in_files:.desktop.in=.desktop) %.desktop: %.desktop.in $(AM_V_GEN)$(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@.tmp sed -e 's|@libexecdir[@]|$(libexecdir)|g' \ -e 's|@pkgdatadir[@]|$(pkgdatadir)|g' $@.tmp > $@ rm $@.tmp desktopdir=$(datadir)/applications desktop_DATA = $(desktop_files) EXTRA_DIST = \ $(desktop_in_files) \ $(WORDLIST) \ $(ENGLISH_AWK) \ $(TABLE) \ $(TABLE_AWK) \ $(network_DATA) \ $(APPDATA_XML) \ $(gsettings_SCHEMAS) \ $(NULL) CLEANFILES = \ $(ENGLISH_DB) \ $(TABLE_DB) \ $(desktop_DATA) \ $(NULL) ibus-libpinyin-1.16.1/data/ibus-setup-libbopomofo.desktop.in0000664000175000017500000000035313672072346017551 [Desktop Entry] Name=IBus LibBopomofo Preferences Comment=Set ibus-libbopomofo Preferences Exec=@libexecdir@/ibus-setup-libpinyin libbopomofo Icon=@pkgdatadir@/icons/ibus-bopomofo.svg NoDisplay=true Type=Application StartupNotify=true ibus-libpinyin-1.16.1/data/english.awk0000644000175000017500000000122714455173634013302 #!/usr/bin/awk BEGIN { # Begin a transaction print "BEGIN TRANSACTION;" # Create english table print "CREATE TABLE IF NOT EXISTS english ( " \ "word TEXT NOT NULL PRIMARY KEY," \ "freq FLOAT NOT NULL DEFAULT(0)" \ ");"; # Create desc table print "CREATE TABLE IF NOT EXISTS desc (name TEXT PRIMARY KEY, value TEXT);"; print "INSERT OR IGNORE INTO desc VALUES ('version', '1.2.0');"; } # Insert data into english table { printf "INSERT INTO english (word, freq) VALUES ('%s', %f);\n", $1, $2} #quit sqlite3 END { # Commit the transcation print "COMMIT;" } ibus-libpinyin-1.16.1/data/wordlist0000644000175000017500000141351514666467657012766 the 6.510891 of 3.095330 and 2.822903 to 2.693976 a 2.263141 in 1.981590 that 1.173595 it 1.146425 is 1.051000 was 0.972200 i 0.952572 for 0.896176 on 0.761993 you 0.731900 he 0.716942 be 0.699475 with 0.686082 as 0.544812 by 0.539856 at 0.503134 have 0.498414 are 0.495529 this 0.487417 not 0.486930 but 0.479875 had 0.468643 his 0.456230 they 0.456099 from 0.435118 she 0.400132 which 0.391452 or 0.390211 we 0.377518 an 0.362002 there 0.345085 her 0.344082 were 0.339680 one 0.306611 do 0.295348 been 0.282748 all 0.276145 their 0.274537 has 0.272984 would 0.268518 will 0.267853 what 0.262502 if 0.249481 can 0.248655 when 0.225465 so 0.223230 no 0.220898 said 0.220470 who 0.217411 more 0.212400 about 0.207403 up 0.194772 them 0.182468 some 0.180312 could 0.177180 him 0.173627 into 0.172001 its 0.171618 then 0.169217 two 0.164262 out 0.163459 time 0.163070 like 0.161876 only 0.160886 my 0.160592 did 0.150914 other 0.149558 me 0.146284 your 0.145556 now 0.145005 over 0.139180 just 0.136312 may 0.135220 these 0.131991 new 0.131741 also 0.131402 people 0.130638 any 0.130586 know 0.129708 very 0.129511 see 0.124971 first 0.124894 well 0.123587 after 0.123252 should 0.117042 than 0.114526 where 0.114289 back 0.107668 how 0.106813 get 0.104698 most 0.103912 way 0.101304 down 0.101035 our 0.099964 made 0.099312 got 0.098063 much 0.096951 think 0.096648 work 0.096122 between 0.095396 go 0.095268 years 0.094933 er 0.094779 many 0.094339 being 0.093716 those 0.093500 before 0.092882 right 0.092207 because 0.089631 through 0.088464 yeah 0.087734 good 0.085012 three 0.083977 make 0.083627 us 0.082279 such 0.079466 still 0.078674 year 0.077629 must 0.076359 last 0.075949 even 0.075839 take 0.075479 own 0.074855 too 0.073831 off 0.073827 here 0.073603 come 0.073153 both 0.072397 does 0.072329 say 0.072112 oh 0.072009 used 0.070465 going 0.069879 erm 0.066496 use 0.066217 government 0.065518 day 0.065505 man 0.065339 might 0.065036 same 0.064614 under 0.064217 yes 0.063776 however 0.063656 put 0.062748 world 0.062112 another 0.061225 want 0.060551 thought 0.059851 while 0.059598 life 0.059584 again 0.059166 against 0.059142 never 0.058817 need 0.058703 old 0.057460 look 0.057204 home 0.055196 something 0.055190 mr 0.055134 long 0.054166 house 0.053583 why 0.053532 each 0.053448 part 0.053101 since 0.052840 end 0.052243 number 0.051961 found 0.051476 place 0.051190 different 0.050898 went 0.050861 little 0.050612 really 0.050599 came 0.049633 left 0.049547 children 0.049041 local 0.048783 within 0.048689 always 0.048641 without 0.048590 four 0.048532 around 0.047650 great 0.047575 give 0.047472 set 0.047394 system 0.047005 small 0.046771 mean 0.046400 during 0.046310 although 0.045912 case 0.045542 next 0.045396 things 0.044646 find 0.044509 social 0.044475 given 0.044049 group 0.043714 second 0.043617 quite 0.043318 until 0.042913 five 0.042864 party 0.042410 point 0.042375 every 0.042232 company 0.042212 women 0.041999 says 0.041849 later 0.041557 important 0.041314 took 0.041203 state 0.041153 high 0.040959 men 0.040922 away 0.040769 information 0.040677 public 0.039989 help 0.039957 head 0.039884 national 0.039715 often 0.039607 seen 0.039588 school 0.039500 money 0.039317 told 0.039179 fact 0.038900 night 0.038436 further 0.038166 better 0.037848 british 0.037661 business 0.037624 less 0.037531 taken 0.037410 done 0.037324 hand 0.037197 having 0.037115 thing 0.037049 looked 0.037014 london 0.036994 area 0.036977 water 0.036908 perhaps 0.036868 face 0.036804 best 0.036726 mm 0.036606 form 0.036310 family 0.036288 general 0.036222 though 0.036184 already 0.036082 possible 0.035962 nothing 0.035842 early 0.035820 large 0.035533 yet 0.035514 young 0.035365 side 0.035291 asked 0.035164 whether 0.034900 days 0.034797 ca 0.034770 called 0.034766 john 0.034568 enough 0.034294 development 0.034101 week 0.033901 round 0.033714 power 0.033700 change 0.033682 country 0.033570 almost 0.033237 council 0.032980 himself 0.032704 room 0.032534 tell 0.032379 service 0.032243 political 0.032160 far 0.032091 able 0.031997 six 0.031965 become 0.031949 open 0.031871 market 0.031648 times 0.031471 whole 0.031417 support 0.031390 half 0.031334 eyes 0.031255 members 0.031226 working 0.030778 control 0.030630 major 0.030605 problem 0.030504 doing 0.030276 court 0.030251 towards 0.030093 mind 0.029960 anything 0.029799 others 0.029732 felt 0.029503 war 0.029358 car 0.029328 police 0.029307 keep 0.029265 full 0.029247 making 0.029218 either 0.029215 held 0.029202 report 0.029156 interest 0.029051 once 0.028989 problems 0.028929 act 0.028901 road 0.028831 probably 0.028728 available 0.028603 labour 0.028523 law 0.028444 research 0.028401 following 0.028396 am 0.028273 level 0.028171 show 0.028140 saw 0.028132 looking 0.028028 feel 0.027773 today 0.027717 name 0.027677 mother 0.027624 past 0.027614 question 0.027587 let 0.027460 knew 0.027443 education 0.027364 actually 0.027346 policy 0.027324 ever 0.027256 known 0.027170 above 0.027092 office 0.027025 big 0.026917 clear 0.026870 body 0.026858 door 0.026689 voice 0.026617 across 0.026517 britain 0.026411 person 0.026286 together 0.026263 main 0.026232 services 0.026228 care 0.026204 black 0.026200 book 0.026119 months 0.026113 turned 0.025951 using 0.025950 health 0.025934 sure 0.025879 white 0.025836 million 0.025831 words 0.025720 child 0.025669 period 0.025579 minister 0.025477 including 0.025383 several 0.025255 father 0.025241 society 0.025090 seemed 0.025056 kind 0.025038 began 0.024989 god 0.024984 top 0.024975 start 0.024963 itself 0.024950 behind 0.024934 themselves 0.024912 wanted 0.024868 economic 0.024795 love 0.024682 means 0.024676 upon 0.024631 areas 0.024581 effect 0.024579 likely 0.024520 english 0.024476 city 0.024460 therefore 0.024430 woman 0.024425 real 0.024389 position 0.024388 centre 0.024385 south 0.024381 england 0.024379 community 0.024290 view 0.024225 gave 0.024144 hard 0.024132 job 0.024086 among 0.024057 staff 0.023909 read 0.023885 process 0.023875 line 0.023873 future 0.023831 particular 0.023524 provide 0.023486 present 0.023479 became 0.023475 taking 0.023441 international 0.023374 study 0.023346 moment 0.023302 run 0.023280 special 0.023272 result 0.023251 action 0.023251 difficult 0.023183 pay 0.023172 particularly 0.023158 sense 0.023080 age 0.022997 order 0.022950 management 0.022931 idea 0.022835 certain 0.022759 north 0.022754 light 0.022732 play 0.022732 sort 0.022642 west 0.022618 evidence 0.022601 try 0.022510 close 0.022495 experience 0.022489 rather 0.022455 land 0.022447 third 0.022303 seems 0.022300 believe 0.022292 morning 0.022248 outside 0.022233 turn 0.022123 else 0.022014 free 0.021956 meeting 0.021887 leave 0.021778 cost 0.021691 church 0.021615 death 0.021597 sometimes 0.021588 thus 0.021557 training 0.021539 range 0.021493 move 0.021492 coming 0.021439 brought 0.021427 getting 0.021417 european 0.021415 ten 0.021332 matter 0.021291 shall 0.021290 heard 0.021264 table 0.021253 needs 0.021230 late 0.021121 trade 0.021024 involved 0.021006 mrs 0.020880 industry 0.020870 whose 0.020868 ago 0.020844 century 0.020763 course 0.020719 street 0.020638 human 0.020606 united 0.020569 gone 0.020567 yesterday 0.020525 call 0.020501 lost 0.020434 ask 0.020414 word 0.020389 groups 0.020374 along 0.020344 central 0.020327 history 0.020316 few 0.020160 usually 0.020151 changes 0.020148 remember 0.020144 hundred 0.020105 individual 0.020080 air 0.020072 programme 0.020066 rate 0.020054 building 0.020033 sir 0.019997 food 0.019983 hands 0.019969 committee 0.019966 team 0.019910 hours 0.019873 indeed 0.019842 b 0.019809 language 0.019758 someone 0.019656 everything 0.019650 short 0.019623 certainly 0.019620 trying 0.019617 based 0.019613 section 0.019578 saying 0.019469 lot 0.019447 price 0.019441 similar 0.019394 reason 0.019380 single 0.019365 minutes 0.019360 authority 0.019302 town 0.019261 cases 0.019229 common 0.019201 true 0.019190 role 0.019171 data 0.019167 subject 0.019147 europe 0.019120 class 0.019096 nature 0.019072 necessary 0.019052 states 0.018950 bank 0.018868 value 0.018811 companies 0.018765 simply 0.018683 especially 0.018653 hope 0.018642 department 0.018639 east 0.018552 personal 0.018542 figure 0.018532 union 0.018526 total 0.018484 cut 0.018431 member 0.018406 near 0.018403 started 0.018389 private 0.018327 paper 0.018269 seven 0.018256 patients 0.018242 uk 0.018227 type 0.018219 eight 0.018212 live 0.018180 systems 0.018177 french 0.018148 herself 0.018095 practice 0.018007 wife 0.017999 low 0.017905 seem 0.017878 talk 0.017866 former 0.017859 increase 0.017748 friend 0.017742 decision 0.017668 countries 0.017644 expected 0.017640 terms 0.017621 makes 0.017613 earlier 0.017571 return 0.017535 financial 0.017490 president 0.017466 wo 0.017430 stage 0.017430 needed 0.017396 c 0.017393 university 0.017343 lord 0.017329 club 0.017323 issue 0.017313 required 0.017270 king 0.017243 american 0.017227 tax 0.017201 cos 0.017198 parents 0.017196 quality 0.017172 concerned 0.017142 higher 0.017122 date 0.017103 foreign 0.017081 approach 0.017063 rest 0.017049 ground 0.017044 strong 0.016968 wrong 0.016919 living 0.016844 march 0.016832 situation 0.016812 comes 0.016801 provided 0.016752 soon 0.016735 bed 0.016724 account 0.016719 offer 0.016701 recent 0.016685 girl 0.016585 force 0.016574 na 0.016554 david 0.016540 final 0.016464 twenty 0.016457 secretary 0.016402 art 0.016401 led 0.016375 production 0.016367 various 0.016311 understand 0.016310 bad 0.016274 schools 0.016272 weeks 0.016268 bring 0.016262 greater 0.016258 conditions 0.016241 amount 0.016234 results 0.016209 added 0.016177 clearly 0.016150 paid 0.016124 field 0.016096 costs 0.016015 project 0.016009 forward 0.015999 include 0.015975 stop 0.015975 tried 0.015973 decided 0.015954 red 0.015926 poor 0.015913 award 0.015903 front 0.015894 hospital 0.015892 friends 0.015875 shown 0.015813 music 0.015803 month 0.015793 game 0.015789 record 0.015760 plan 0.015751 anyone 0.015737 ways 0.015711 chapter 0.015682 goes 0.015657 followed 0.015657 described 0.015612 royal 0.015578 easy 0.015545 workers 0.015491 april 0.015474 agreed 0.015459 planning 0.015436 green 0.015399 students 0.015363 despite 0.015354 june 0.015351 knowledge 0.015349 moved 0.015336 news 0.015317 lead 0.015313 sound 0.015301 works 0.015286 points 0.015226 hair 0.015207 basis 0.015203 deal 0.015196 answer 0.015174 questions 0.015156 series 0.015107 please 0.015100 allowed 0.015094 below 0.015083 natural 0.015062 inside 0.015056 kept 0.015053 current 0.015017 met 0.014974 meet 0.014844 fire 0.014839 feet 0.014836 running 0.014731 simple 0.014707 died 0.014703 happened 0.014630 manager 0.014569 hear 0.014567 computer 0.014563 security 0.014559 board 0.014550 evening 0.014542 structure 0.014511 carried 0.014504 bill 0.014460 heart 0.014449 sent 0.014430 test 0.014416 attention 0.014398 story 0.014390 written 0.014388 capital 0.014388 studies 0.014383 nine 0.014369 hold 0.014310 letter 0.014309 share 0.014252 per 0.014245 material 0.014244 considered 0.014233 movement 0.014209 dark 0.014193 talking 0.014146 thinking 0.014145 success 0.014101 everyone 0.014033 model 0.014030 chance 0.014003 boy 0.013983 agreement 0.013980 received 0.013969 stood 0.013957 alone 0.013957 analysis 0.013930 whatever 0.013927 fine 0.013922 nice 0.013873 population 0.013869 modern 0.013868 books 0.013843 de 0.013839 theory 0.013814 press 0.013800 legal 0.013787 son 0.013787 scotland 0.013775 feeling 0.013744 cause 0.013742 sea 0.013726 increased 0.013712 environment 0.013703 finally 0.013693 performance 0.013676 rights 0.013676 bit 0.013663 growth 0.013660 authorities 0.013651 produced 0.013628 design 0.013613 whom 0.013601 middle 0.013597 relationship 0.013561 built 0.013543 complete 0.013471 standard 0.013415 worked 0.013413 continued 0.013413 list 0.013408 giving 0.013375 size 0.013364 parties 0.013362 visit 0.013322 space 0.013314 key 0.013274 miss 0.013251 example 0.013228 property 0.013207 myself 0.013196 buy 0.013191 stay 0.013169 dead 0.013146 term 0.013145 mark 0.013144 st 0.013131 nor 0.013121 gon 0.013117 normal 0.013101 couple 0.013081 reached 0.013061 peter 0.013058 serious 0.013054 throughout 0.013050 quickly 0.013030 developed 0.013030 lower 0.013024 worth 0.013021 included 0.012996 france 0.012989 beginning 0.012963 behaviour 0.012959 recently 0.012946 previous 0.012927 pounds 0.012921 prime 0.012902 cup 0.012901 firm 0.012898 issues 0.012894 anyway 0.012870 okay 0.012861 cold 0.012858 energy 0.012849 treatment 0.012837 thank 0.012829 sat 0.012812 director 0.012806 hall 0.012781 wide 0.012763 levels 0.012753 scheme 0.012739 choice 0.012728 significant 0.012703 income 0.012679 wall 0.012660 reported 0.012642 pressure 0.012599 established 0.012579 contract 0.012553 july 0.012519 risk 0.012482 direct 0.012478 beyond 0.012447 wish 0.012444 takes 0.012440 details 0.012413 suddenly 0.012411 continue 0.012410 technology 0.012400 spent 0.012399 forces 0.012390 ones 0.012370 won 0.012346 happy 0.012342 consider 0.012339 plans 0.012322 shows 0.012273 defence 0.012261 parts 0.012256 opened 0.012220 loss 0.012206 industrial 0.012204 activities 0.012202 produce 0.012199 soviet 0.012192 forms 0.012188 rates 0.012188 writing 0.012186 chairman 0.012175 generally 0.012172 teachers 0.012170 floor 0.012159 colour 0.012141 looks 0.012129 sun 0.012128 activity 0.012109 appropriate 0.012105 park 0.012099 nearly 0.012094 association 0.012093 changed 0.012085 allow 0.012068 hotel 0.012044 military 0.012039 army 0.012038 sorry 0.012032 figures 0.012029 attempt 0.012029 german 0.012021 paul 0.012010 original 0.011987 chief 0.011964 leading 0.011947 county 0.011946 summer 0.011938 village 0.011932 difference 0.011927 hour 0.011926 meant 0.011920 numbers 0.011912 claim 0.011912 specific 0.011903 rose 0.011869 played 0.011850 husband 0.011839 basic 0.011812 relations 0.011802 potential 0.011798 dr 0.011792 garden 0.011778 reports 0.011752 professional 0.011745 arms 0.011725 fall 0.011699 cover 0.011698 product 0.011691 suggested 0.011684 ideas 0.011675 george 0.011668 stand 0.011643 male 0.011624 obviously 0.011589 unless 0.011586 appeal 0.011576 demand 0.011564 season 0.011549 access 0.011511 rules 0.011506 unit 0.011490 appear 0.011483 northern 0.011480 reading 0.011475 investment 0.011472 fish 0.011463 picture 0.011456 write 0.011447 page 0.011444 playing 0.011443 independent 0.011422 reasons 0.011418 effects 0.011389 benefit 0.011373 successful 0.011367 aware 0.011326 published 0.011317 yourself 0.011307 shop 0.011306 exactly 0.011289 style 0.011285 passed 0.011271 suppose 0.011271 offered 0.011269 showed 0.011264 fell 0.011261 deep 0.011257 employment 0.011233 miles 0.011224 appeared 0.011223 germany 0.011190 october 0.011183 products 0.011163 popular 0.011153 science 0.011150 note 0.011149 s 0.011141 window 0.011140 expect 0.011139 win 0.011133 rise 0.011128 interests 0.011106 announced 0.011083 resources 0.011075 lives 0.011072 economy 0.011056 doctor 0.011043 influence 0.011033 immediately 0.011027 commission 0.011026 blue 0.011021 maybe 0.011019 events 0.011005 prepared 0.010987 walk 0.010986 advice 0.010982 gives 0.010980 ready 0.010974 concern 0.010964 circumstances 0.010961 sales 0.010958 limited 0.010955 september 0.010951 event 0.010929 contact 0.010921 returned 0.010914 thousand 0.010914 charge 0.010909 raised 0.010853 america 0.010840 ensure 0.010838 oil 0.010812 opportunity 0.010792 lines 0.010792 college 0.010773 film 0.010761 trust 0.010730 james 0.010729 january 0.010708 standing 0.010703 blood 0.010700 station 0.010699 lay 0.010691 married 0.010679 goods 0.010670 waiting 0.010655 carry 0.010642 prices 0.010640 ah 0.010618 designed 0.010599 useful 0.010597 lack 0.010592 conference 0.010590 operation 0.010578 houses 0.010567 follows 0.010563 western 0.010561 extent 0.010560 application 0.010552 television 0.010529 straight 0.010529 richard 0.010518 response 0.010503 degree 0.010492 majority 0.010491 hit 0.010472 effective 0.010470 v 0.010467 scottish 0.010459 average 0.010436 wrote 0.010426 york 0.010423 region 0.010414 traditional 0.010395 easily 0.010393 closed 0.010393 leaving 0.010387 glass 0.010369 statement 0.010368 site 0.010359 official 0.010330 moving 0.010328 places 0.010324 accept 0.010319 title 0.010301 election 0.010258 parliament 0.010254 lady 0.010229 earth 0.010222 importance 0.010219 jobs 0.010206 existing 0.010184 stopped 0.010181 interesting 0.010177 standards 0.010147 review 0.010126 girls 0.010123 considerable 0.010122 ireland 0.010117 species 0.010098 match 0.010093 supply 0.010089 physical 0.010078 eye 0.010075 caused 0.010074 watch 0.010056 follow 0.010052 extra 0.010042 growing 0.010036 attack 0.010024 michael 0.010015 campaign 0.010015 understanding 0.010004 heavy 0.009978 complex 0.009964 housing 0.009943 walked 0.009938 daughter 0.009936 primary 0.009928 n 0.009927 competition 0.009925 responsible 0.009921 speak 0.009921 river 0.009910 p 0.009900 software 0.009896 november 0.009890 break 0.009887 december 0.009861 sunday 0.009853 mouth 0.009840 piece 0.009837 medical 0.009833 purpose 0.009829 post 0.009826 rule 0.009820 failed 0.009797 wales 0.009777 trouble 0.009771 responsibility 0.009770 leader 0.009754 tomorrow 0.009750 associated 0.009729 thirty 0.009716 learning 0.009714 officer 0.009705 notice 0.009692 fair 0.009691 task 0.009679 arm 0.009674 separate 0.009645 highly 0.009630 base 0.009629 eventually 0.009615 ability 0.009612 d 0.009608 charles 0.009596 drive 0.009595 skills 0.009592 opposition 0.009588 pattern 0.009581 remained 0.009577 hot 0.009569 method 0.009565 source 0.009562 sitting 0.009552 bought 0.009547 baby 0.009542 interested 0.009503 surface 0.009497 sale 0.009497 teaching 0.009481 division 0.009479 remain 0.009464 fear 0.009460 wants 0.009446 remains 0.009443 minute 0.009443 older 0.009438 claims 0.009424 methods 0.009420 accepted 0.009407 machine 0.009405 fully 0.009394 equipment 0.009390 box 0.009388 suggest 0.009381 radio 0.009375 dear 0.009374 disease 0.009370 killed 0.009348 types 0.009346 peace 0.009343 officers 0.009340 slightly 0.009336 balance 0.009319 features 0.009318 christmas 0.009313 policies 0.009297 hardly 0.009296 arrived 0.009293 step 0.009286 compared 0.009286 wait 0.009280 exchange 0.009274 matters 0.009266 windows 0.009260 otherwise 0.009257 directly 0.009242 created 0.009237 happen 0.009217 teacher 0.009207 provision 0.009202 variety 0.009199 ran 0.009198 sector 0.009175 factors 0.009167 direction 0.009158 essential 0.009158 sit 0.009157 caught 0.009147 speaker 0.009140 finished 0.009135 beautiful 0.009123 function 0.009115 exercise 0.009115 civil 0.009112 status 0.009108 introduced 0.009103 alternative 0.009101 related 0.009100 ii 0.009088 develop 0.009086 character 0.009076 brown 0.009072 tea 0.009069 safety 0.009064 placed 0.009061 mum 0.009059 aid 0.009056 completely 0.009054 cash 0.009036 flat 0.009032 fifty 0.009030 weight 0.009029 transport 0.009028 context 0.009028 oxford 0.009018 animals 0.009015 culture 0.009014 m 0.008990 obvious 0.008977 brother 0.008974 discussion 0.008966 sold 0.008928 born 0.008888 none 0.008881 positive 0.008863 afternoon 0.008859 knows 0.008858 shares 0.008851 environmental 0.008851 damage 0.008843 proposed 0.008832 william 0.008829 february 0.008827 condition 0.008814 senior 0.008813 alright 0.008806 provides 0.008801 sign 0.008784 league 0.008782 trees 0.008777 sex 0.008775 claimed 0.008773 organisation 0.008766 holding 0.008756 budget 0.008754 families 0.008752 argument 0.008746 saturday 0.008744 learn 0.008737 normally 0.008696 truth 0.008680 stone 0.008678 kitchen 0.008677 neither 0.008675 add 0.008668 patient 0.008662 library 0.008661 lived 0.008658 fit 0.008658 progress 0.008652 believed 0.008636 shot 0.008624 principle 0.008609 agree 0.008608 create 0.008608 covered 0.008602 players 0.008594 plant 0.008589 survey 0.008580 annual 0.008580 pupils 0.008566 meaning 0.008565 nuclear 0.008554 increasing 0.008554 reach 0.008550 phone 0.008549 version 0.008548 forced 0.008537 female 0.008535 commercial 0.008533 train 0.008519 stock 0.008506 duty 0.008501 dog 0.008500 drink 0.008480 telephone 0.008479 queen 0.008476 boys 0.008474 send 0.008471 presence 0.008468 protection 0.008466 courses 0.008459 august 0.008456 reduced 0.008449 executive 0.008447 e 0.008430 individuals 0.008427 bar 0.008426 presented 0.008419 chair 0.008414 media 0.008396 smith 0.008391 avoid 0.008388 pretty 0.008379 race 0.008373 achieved 0.008369 relevant 0.008365 apply 0.008360 district 0.008359 double 0.008349 explain 0.008348 robert 0.008338 plus 0.008334 slowly 0.008327 relatively 0.008325 letters 0.008324 reference 0.008322 huge 0.008313 marriage 0.008273 collection 0.008249 speech 0.008241 africa 0.008234 regional 0.008224 differences 0.008210 gold 0.008199 opening 0.008199 effort 0.008199 overall 0.008198 apparently 0.008198 gets 0.008193 holiday 0.008189 career 0.008185 names 0.008177 practical 0.008169 latter 0.008169 failure 0.008167 horse 0.008166 speed 0.008144 determined 0.008133 subjects 0.008130 benefits 0.008129 becomes 0.008120 sell 0.008110 text 0.008065 wind 0.008060 student 0.008059 appears 0.008058 helped 0.008049 values 0.008045 managed 0.008045 intended 0.008040 larger 0.008038 cells 0.008033 records 0.008027 daily 0.008027 scale 0.008019 edge 0.008018 views 0.008018 regular 0.008014 smiled 0.008004 applied 0.008003 memory 0.008001 sleep 0.008001 merely 0.007995 fast 0.007991 studio 0.007985 putting 0.007982 ball 0.007966 pass 0.007954 cross 0.007949 bottom 0.007943 eat 0.007942 foot 0.007938 opinion 0.007934 decisions 0.007922 firms 0.007920 drawn 0.007915 facilities 0.007908 finance 0.007901 spend 0.007892 cars 0.007892 corner 0.007891 begin 0.007888 mhm 0.007886 image 0.007877 setting 0.007870 impact 0.007868 receive 0.007865 join 0.007865 t 0.007856 quarter 0.007853 expression 0.007851 politics 0.007851 sister 0.007850 grant 0.007850 smile 0.007825 instead 0.007825 justice 0.007817 henry 0.007797 draw 0.007784 credit 0.007760 additional 0.007748 wood 0.007741 advantage 0.007737 largely 0.007736 debate 0.007726 pain 0.007721 mass 0.007718 gas 0.007718 clothes 0.007707 dad 0.007701 somebody 0.007698 winter 0.007697 smaller 0.007682 aspects 0.007672 active 0.007670 railway 0.007667 check 0.007667 affairs 0.007656 joined 0.007654 possibly 0.007653 travel 0.007650 ended 0.007647 network 0.007636 accounts 0.007627 leaders 0.007618 forest 0.007615 worse 0.007615 nevertheless 0.007614 bloody 0.007609 build 0.007604 stuff 0.007603 plants 0.007602 longer 0.007593 providing 0.007591 powerful 0.007589 save 0.007575 expressed 0.007557 becoming 0.007556 carefully 0.007555 length 0.007545 broken 0.007538 crime 0.007528 strength 0.007528 except 0.007519 mary 0.007497 possibility 0.007485 conservative 0.007481 reduce 0.007466 vote 0.007463 hill 0.007458 examples 0.007446 square 0.007444 mainly 0.007444 explained 0.007442 impossible 0.007433 insurance 0.007431 formed 0.007428 units 0.007421 skin 0.007420 currently 0.007418 treated 0.007406 warm 0.007401 address 0.007400 banks 0.007399 regarded 0.007395 somewhere 0.007393 spoke 0.007390 pulled 0.007390 joint 0.007372 confidence 0.007367 discussed 0.007361 ring 0.007352 legislation 0.007352 mentioned 0.007350 safe 0.007337 bodies 0.007326 message 0.007321 steps 0.007298 powers 0.007295 proved 0.007287 domestic 0.007278 ordinary 0.007274 farm 0.007273 sexual 0.007271 measures 0.007269 rich 0.007269 edward 0.007267 fight 0.007264 entirely 0.007256 require 0.007254 christian 0.007235 previously 0.007232 solution 0.007230 pound 0.007224 tonight 0.007221 actual 0.007209 transfer 0.007206 doubt 0.007202 difficulties 0.007201 shape 0.007195 distance 0.007185 proposals 0.007184 choose 0.007178 extremely 0.007176 ministers 0.007172 challenge 0.007170 technical 0.007166 fresh 0.007165 scene 0.007159 museum 0.007155 materials 0.007152 correct 0.007143 judge 0.007143 thomas 0.007139 rock 0.007132 target 0.007128 r 0.007125 article 0.007123 achieve 0.007121 prevent 0.007121 waste 0.007115 includes 0.007112 band 0.007111 customers 0.007110 animal 0.007100 due 0.007096 x 0.007093 items 0.007080 suggests 0.007073 internal 0.007072 excellent 0.007068 ec 0.007064 sight 0.007062 turning 0.007062 assessment 0.007054 fairly 0.007052 football 0.007052 watched 0.007048 traffic 0.007038 net 0.007034 decide 0.007033 talks 0.007032 touch 0.007023 coffee 0.007014 watching 0.007010 sources 0.007007 buildings 0.006998 relief 0.006995 increasingly 0.006995 spending 0.006991 release 0.006986 introduction 0.006983 star 0.006983 administration 0.006979 notes 0.006978 battle 0.006978 forty 0.006978 island 0.006976 strange 0.006974 finding 0.006974 dry 0.006968 initial 0.006952 video 0.006952 walking 0.006947 existence 0.006936 showing 0.006930 enjoy 0.006926 wonder 0.006922 master 0.006919 twelve 0.006919 appointed 0.006912 kingdom 0.006910 equally 0.006907 religious 0.006903 cultural 0.006884 latest 0.006883 famous 0.006882 contrast 0.006880 japan 0.006879 cabinet 0.006879 tv 0.006878 users 0.006877 legs 0.006871 institutions 0.006868 recorded 0.006862 bridge 0.006860 leaves 0.006857 rain 0.006857 reality 0.006855 welcome 0.006853 clean 0.006851 supposed 0.006845 proper 0.006843 seeing 0.006829 spirit 0.006829 lose 0.006827 argued 0.006819 detailed 0.006819 driving 0.006817 pick 0.006814 measure 0.006813 programmes 0.006809 trial 0.006808 asking 0.006806 aim 0.006785 tour 0.006782 formal 0.006772 prison 0.006766 unemployment 0.006763 quiet 0.006755 accident 0.006755 fixed 0.006753 starting 0.006750 concept 0.006750 tree 0.006744 fund 0.006740 elements 0.006738 discovered 0.006736 equal 0.006730 papers 0.006725 served 0.006721 unable 0.006691 inc 0.006685 surely 0.006684 refused 0.006678 proportion 0.006677 organization 0.006675 changing 0.006675 mine 0.006674 sides 0.006670 difficulty 0.006664 picked 0.006656 object 0.006655 spread 0.006653 weekend 0.006645 construction 0.006641 ahead 0.006638 wine 0.006633 pointed 0.006627 dinner 0.006623 distribution 0.006621 obtained 0.006613 funds 0.006606 lovely 0.006606 identified 0.006605 telling 0.006597 search 0.006593 factor 0.006587 usual 0.006587 feature 0.006586 rural 0.006585 keeping 0.006584 twice 0.006580 applications 0.006580 path 0.006577 referred 0.006576 games 0.006572 seat 0.006566 thanks 0.006563 whereas 0.006561 display 0.006559 nobody 0.006554 reasonable 0.006548 raise 0.006548 substantial 0.006547 detail 0.006547 charges 0.006545 noted 0.006540 tend 0.006539 developing 0.006538 improve 0.006532 onto 0.006532 aircraft 0.006527 calls 0.006524 walls 0.006495 background 0.006492 japanese 0.006490 officials 0.006486 strategy 0.006485 track 0.006479 forget 0.006477 content 0.006475 soft 0.006466 grounds 0.006465 paris 0.006445 o 0.006442 communication 0.006428 immediate 0.006426 client 0.006417 fourth 0.006412 suitable 0.006409 everybody 0.006402 homes 0.006394 ought 0.006394 imagine 0.006388 manner 0.006385 classes 0.006378 quick 0.006374 pair 0.006373 freedom 0.006369 operations 0.006359 selection 0.006353 opposite 0.006352 requirements 0.006349 signed 0.006343 danger 0.006330 user 0.006329 file 0.006328 completed 0.006327 attitude 0.006326 output 0.006315 copy 0.006311 courts 0.006305 sounds 0.006295 laid 0.006295 spring 0.006295 relationships 0.006290 edinburgh 0.006286 affected 0.006279 afraid 0.006278 jack 0.006276 chosen 0.006276 heat 0.006267 entered 0.006263 democratic 0.006262 elections 0.006257 guide 0.006254 profit 0.006252 silence 0.006249 goal 0.006248 birds 0.006247 prince 0.006247 murder 0.006244 techniques 0.006242 easier 0.006240 sufficient 0.006235 agency 0.006235 scientific 0.006231 removed 0.006229 focus 0.006228 carrying 0.006225 eastern 0.006224 irish 0.006221 speaking 0.006216 markets 0.006216 theatre 0.006214 crisis 0.006211 conflict 0.006208 defined 0.006206 slow 0.006203 reform 0.006182 expensive 0.006175 offers 0.006173 educational 0.006165 capacity 0.006161 respect 0.006157 purposes 0.006155 absolutely 0.006152 happens 0.006150 profits 0.006150 patterns 0.006144 whilst 0.006144 dropped 0.006143 managers 0.006142 employees 0.006140 planned 0.006137 fields 0.006132 package 0.006131 weather 0.006127 totally 0.006119 opportunities 0.006115 procedure 0.006110 fingers 0.006108 grey 0.006107 mental 0.006106 bear 0.006102 frequently 0.006102 sentence 0.006099 dealing 0.006097 dangerous 0.006097 demands 0.006095 beside 0.006095 recognition 0.006092 largest 0.006089 listen 0.006089 marked 0.006084 sites 0.006084 arrangements 0.006082 absence 0.006082 perfect 0.006079 understood 0.006072 secret 0.006066 empty 0.006066 critical 0.006064 prove 0.006049 familiar 0.006044 g 0.006043 card 0.006037 operating 0.006036 issued 0.006026 replaced 0.006010 partly 0.006008 principles 0.006001 supported 0.005999 seriously 0.005996 projects 0.005992 admitted 0.005989 grand 0.005987 fighting 0.005985 elsewhere 0.005981 strike 0.005979 beat 0.005969 player 0.005968 necessarily 0.005968 commitment 0.005966 properly 0.005963 threat 0.005951 route 0.005947 unlikely 0.005944 replied 0.005941 liked 0.005932 ideal 0.005929 victory 0.005928 neck 0.005927 discuss 0.005912 tom 0.005907 widely 0.005905 occur 0.005903 violence 0.005898 drawing 0.005895 efforts 0.005886 element 0.005885 experienced 0.005878 worry 0.005876 till 0.005870 pieces 0.005865 darlington 0.005858 selling 0.005857 reaction 0.005848 colleagues 0.005847 historical 0.005847 roman 0.005846 liberal 0.005844 die 0.005842 heads 0.005833 discipline 0.005829 friday 0.005829 bright 0.005829 jesus 0.005824 rooms 0.005823 russian 0.005823 wild 0.005818 liverpool 0.005814 china 0.005812 closely 0.005811 cell 0.005806 castle 0.005806 southern 0.005801 expenditure 0.005800 occurred 0.005780 pictures 0.005771 branch 0.005770 audience 0.005766 flowers 0.005766 urban 0.005760 thousands 0.005757 grow 0.005757 conversation 0.005751 bus 0.005750 h 0.005750 congress 0.005750 tiny 0.005748 desire 0.005746 emphasis 0.005737 remembered 0.005737 exist 0.005734 consideration 0.005731 processes 0.005730 seek 0.005724 appearance 0.005721 maintain 0.005720 upper 0.005714 least 0.005711 option 0.005707 estate 0.005701 adopted 0.005701 exhibition 0.005699 youth 0.005698 debt 0.005698 orders 0.005694 captain 0.005690 boat 0.005687 uses 0.005686 younger 0.005685 assembly 0.005684 payment 0.005684 lunch 0.005682 extended 0.005681 sought 0.005681 learned 0.005680 moral 0.005677 suffered 0.005676 serve 0.005667 surprised 0.005664 driver 0.005663 brief 0.005660 elected 0.005644 volume 0.005641 fifteen 0.005638 drugs 0.005637 institute 0.005636 leg 0.005636 comment 0.005633 represented 0.005633 arts 0.005632 contribution 0.005632 meetings 0.005631 committed 0.005630 centres 0.005625 filled 0.005619 hearing 0.005618 bag 0.005617 feelings 0.005616 surprise 0.005615 revealed 0.005613 runs 0.005608 broke 0.005606 ian 0.005605 document 0.005593 martin 0.005592 hell 0.005591 apparent 0.005586 continuing 0.005585 curriculum 0.005585 models 0.005583 code 0.005582 functions 0.005572 occasion 0.005570 procedures 0.005569 noticed 0.005568 monday 0.005562 enter 0.005561 shops 0.005558 link 0.005558 faith 0.005555 establish 0.005551 facts 0.005546 requires 0.005545 membership 0.005545 shook 0.005543 lies 0.005542 crown 0.005540 remaining 0.005538 drop 0.005537 thin 0.005533 pleasure 0.005521 lie 0.005519 flow 0.005517 recognised 0.005516 alan 0.005501 careful 0.005490 gain 0.005490 ordered 0.005484 literature 0.005482 row 0.005477 marketing 0.005476 broad 0.005476 birth 0.005475 professor 0.005469 attempts 0.005457 beneath 0.005457 stated 0.005440 aye 0.005436 gentleman 0.005432 entry 0.005427 breath 0.005426 flight 0.005423 constant 0.005422 attractive 0.005421 tests 0.005416 investigation 0.005414 protect 0.005411 nodded 0.005409 wear 0.005407 greatest 0.005402 dress 0.005401 encourage 0.005396 busy 0.005396 belief 0.005395 shared 0.005392 corp 0.005390 fun 0.005388 tradition 0.005386 catch 0.005386 description 0.005384 released 0.005384 wearing 0.005383 criminal 0.005382 developments 0.005380 pleased 0.005378 engineering 0.005378 shut 0.005375 observed 0.005365 vital 0.005364 italy 0.005357 coal 0.005356 employed 0.005356 hoped 0.005354 conclusion 0.005353 maximum 0.005350 enjoyed 0.005350 ancient 0.005348 trading 0.005347 adult 0.005343 schemes 0.005342 drew 0.005331 ltd 0.005330 offering 0.005329 silver 0.005323 sets 0.005322 pushed 0.005321 organisations 0.005320 effectively 0.005318 etc 0.005310 suit 0.005306 partner 0.005305 advance 0.005303 farmers 0.005301 minimum 0.005301 lips 0.005295 drug 0.005294 manchester 0.005291 palace 0.005288 newspaper 0.005286 treaty 0.005286 narrow 0.005286 identify 0.005278 engine 0.005274 usa 0.005268 owner 0.005261 bound 0.005260 minor 0.005257 screen 0.005256 advanced 0.005249 sky 0.005248 affect 0.005247 tony 0.005247 depends 0.005240 elderly 0.005233 australia 0.005232 rising 0.005230 ministry 0.005230 knowing 0.005226 contained 0.005226 acid 0.005226 entitled 0.005224 express 0.005218 confirmed 0.005214 limit 0.005213 anybody 0.005210 external 0.005204 realised 0.005203 capable 0.005201 streets 0.005199 signs 0.005193 sharp 0.005187 wider 0.005181 institution 0.005177 generation 0.005175 plenty 0.005174 ill 0.005168 leeds 0.005168 accused 0.005166 bringing 0.005163 approved 0.005156 estimated 0.005155 loved 0.005155 horses 0.005153 principal 0.005144 wonderful 0.005139 italian 0.005134 tape 0.005133 laughed 0.005128 stress 0.005123 spot 0.005122 actions 0.005122 milk 0.005121 iii 0.005118 typical 0.005118 relative 0.005118 clients 0.005115 journey 0.005112 highest 0.005112 stephen 0.005111 acting 0.005104 atmosphere 0.005102 academic 0.005101 wondered 0.005098 improved 0.005097 troops 0.005085 entire 0.005084 welfare 0.005083 secondary 0.005081 un 0.005079 definition 0.005079 laws 0.005077 reduction 0.005075 worst 0.005067 visitors 0.005065 meanwhile 0.005064 examination 0.005064 leadership 0.005060 doors 0.005060 attitudes 0.005057 lying 0.005053 passing 0.005049 armed 0.005048 enable 0.005039 shoulder 0.005038 machines 0.005035 paying 0.005027 hence 0.005027 charged 0.005024 ibm 0.005024 escape 0.005022 flying 0.005018 favourite 0.005018 brain 0.005015 criticism 0.005014 f 0.005006 stories 0.005005 nineteen 0.005003 la 0.005002 billion 0.005001 teeth 0.005000 negative 0.005000 explanation 0.004999 iron 0.004998 falling 0.004995 thick 0.004987 kill 0.004985 creation 0.004980 governments 0.004978 ship 0.004976 named 0.004976 motor 0.004976 india 0.004974 sample 0.004971 intention 0.004970 interview 0.004968 goals 0.004965 vast 0.004964 christ 0.004962 decline 0.004954 aged 0.004948 seeking 0.004946 fashion 0.004945 coast 0.004945 valley 0.004940 readers 0.004939 magazine 0.004935 somewhat 0.004928 thoughts 0.004920 terrible 0.004920 kinds 0.004919 seats 0.004918 faces 0.004917 unlike 0.004915 phase 0.004912 acts 0.004910 dream 0.004910 mention 0.004907 significance 0.004906 customer 0.004906 lights 0.004900 unfortunately 0.004899 noise 0.004899 revolution 0.004898 index 0.004895 rare 0.004894 biggest 0.004893 ta 0.004893 via 0.004890 sections 0.004887 closer 0.004887 harry 0.004877 objective 0.004877 bishop 0.004875 metal 0.004873 controlled 0.004873 stared 0.004872 secure 0.004871 jones 0.004871 encouraged 0.004870 motion 0.004868 causes 0.004865 technique 0.004859 granted 0.004859 factory 0.004853 injury 0.004852 fat 0.004851 severe 0.004847 worried 0.004834 contains 0.004833 strongly 0.004830 afterwards 0.004826 hurt 0.004820 trip 0.004820 hole 0.004818 corporate 0.004818 obtain 0.004814 objects 0.004809 represent 0.004807 ooh 0.004805 settlement 0.004804 faced 0.004803 grew 0.004801 tall 0.004798 rapidly 0.004796 contemporary 0.004794 yellow 0.004794 buying 0.004793 pool 0.004793 amongst 0.004790 lots 0.004790 sport 0.004785 practices 0.004782 happening 0.004775 afford 0.004773 contracts 0.004771 lane 0.004770 permanent 0.004766 listening 0.004760 sick 0.004759 bob 0.004755 contain 0.004753 doctors 0.004752 fundamental 0.004751 ourselves 0.004751 desk 0.004751 finish 0.004746 unions 0.004745 implications 0.004744 similarly 0.004737 fellow 0.004733 declared 0.004730 structures 0.004729 inflation 0.004728 originally 0.004726 brian 0.004726 funny 0.004724 andrew 0.004724 request 0.004724 inner 0.004724 pull 0.004720 chris 0.004718 somehow 0.004717 payments 0.004717 odd 0.004715 pension 0.004713 warning 0.004712 advertising 0.004712 crucial 0.004709 launched 0.004709 chemical 0.004706 spain 0.004704 purchase 0.004701 marks 0.004697 colours 0.004696 independence 0.004696 breakfast 0.004689 documents 0.004689 equivalent 0.004688 dogs 0.004688 perfectly 0.004683 appointment 0.004682 combination 0.004681 combined 0.004677 indicated 0.004670 co 0.004668 pages 0.004665 consequences 0.004661 calling 0.004659 tone 0.004656 store 0.004656 talked 0.004653 divided 0.004653 session 0.004652 sports 0.004646 struggle 0.004646 crowd 0.004645 ends 0.004642 sum 0.004638 wednesday 0.004636 shock 0.004636 missing 0.004631 dance 0.004630 virtually 0.004628 religion 0.004628 linked 0.004624 african 0.004621 yorkshire 0.004621 anne 0.004618 movements 0.004617 block 0.004617 helping 0.004616 mike 0.004613 manufacturing 0.004613 nation 0.004611 channel 0.004609 temperature 0.004608 accommodation 0.004607 massive 0.004604 societies 0.004602 cities 0.004601 consumer 0.004601 assumed 0.004600 comments 0.004600 offices 0.004587 steve 0.004585 stick 0.004583 kids 0.004581 stayed 0.004581 unique 0.004579 aspect 0.004579 sixty 0.004578 author 0.004578 bedroom 0.004577 republic 0.004575 links 0.004575 agent 0.004575 objectives 0.004573 interpretation 0.004573 assistance 0.004571 directors 0.004565 lift 0.004563 joe 0.004563 parliamentary 0.004563 nose 0.004563 badly 0.004563 unknown 0.004559 industries 0.004558 assets 0.004556 moreover 0.004553 jim 0.004549 russia 0.004547 invited 0.004543 subsequent 0.004542 frank 0.004538 describe 0.004534 gallery 0.004532 allowing 0.004532 reply 0.004530 funding 0.004530 mixed 0.004529 tears 0.004525 promised 0.004524 visited 0.004522 eating 0.004521 painting 0.004521 expert 0.004520 selected 0.004515 van 0.004513 cast 0.004504 simon 0.004501 bbc 0.004497 argue 0.004496 naturally 0.004492 meal 0.004485 controls 0.004480 representatives 0.004480 alive 0.004476 involving 0.004475 communist 0.004475 hopes 0.004475 shoulders 0.004474 suffering 0.004473 proceedings 0.004469 departments 0.004462 yours 0.004462 begun 0.004462 employers 0.004461 increases 0.004461 unix 0.004460 beauty 0.004459 vision 0.004459 fuel 0.004458 guilty 0.004454 proposal 0.004453 jane 0.004451 sequence 0.004449 impression 0.004449 angry 0.004447 sheet 0.004442 regulations 0.004442 vehicle 0.004442 missed 0.004441 enterprise 0.004441 regions 0.004439 democracy 0.004438 cancer 0.004436 count 0.004436 winning 0.004430 graham 0.004429 struck 0.004427 aims 0.004427 enormous 0.004426 glasgow 0.004419 rarely 0.004419 involve 0.004417 seconds 0.004414 map 0.004412 soil 0.004411 improvement 0.004410 involvement 0.004410 chinese 0.004409 guy 0.004409 cope 0.004407 ninety 0.004404 diet 0.004404 settled 0.004404 significantly 0.004401 repeated 0.004400 specialist 0.004395 plain 0.004394 conduct 0.004392 bottle 0.004389 command 0.004389 grass 0.004377 indian 0.004374 roof 0.004370 novel 0.004369 taste 0.004368 stages 0.004367 quietly 0.004367 provisions 0.004362 nations 0.004360 communities 0.004359 indicate 0.004356 distinction 0.004353 statements 0.004352 allows 0.004348 fruit 0.004340 containing 0.004340 pollution 0.004337 tired 0.004336 involves 0.004336 towns 0.004333 unusual 0.004333 assume 0.004332 lucky 0.004329 regard 0.004325 recording 0.004325 properties 0.004323 considering 0.004319 anywhere 0.004319 forgotten 0.004317 cuts 0.004315 plate 0.004310 maintained 0.004306 manage 0.004306 steel 0.004303 reader 0.004302 score 0.004300 extensive 0.004298 producing 0.004296 heavily 0.004294 starts 0.004292 friendly 0.004292 willing 0.004288 revenue 0.004285 leads 0.004282 shift 0.004281 glad 0.004280 arranged 0.004276 fallen 0.004276 program 0.004274 artist 0.004272 deputy 0.004271 agricultural 0.004270 plastic 0.004263 ai 0.004262 studied 0.004260 artists 0.004260 radical 0.004257 ice 0.004256 gently 0.004256 acquired 0.004250 fill 0.004242 location 0.004240 l 0.004240 operate 0.004238 threatened 0.004238 th 0.004238 reflected 0.004235 grown 0.004232 candidates 0.004228 border 0.004224 passage 0.004222 positions 0.004219 smoke 0.004216 firmly 0.004214 periods 0.004213 stars 0.004212 warned 0.004211 efficient 0.004211 persons 0.004211 maintenance 0.004210 hundreds 0.004210 occasionally 0.004209 establishment 0.004208 identity 0.004207 song 0.004205 formation 0.004193 rejected 0.004190 continues 0.004186 comfortable 0.004185 wet 0.004182 emergency 0.004182 constitution 0.004182 rail 0.004180 waited 0.004179 weapons 0.004179 cool 0.004178 philip 0.004177 wilson 0.004173 lake 0.004173 spokesman 0.004172 promise 0.004169 split 0.004168 mountain 0.004168 remove 0.004167 teams 0.004166 candidate 0.004165 bird 0.004161 cat 0.004158 believes 0.004158 organised 0.004157 mostly 0.004153 cutting 0.004150 household 0.004149 conservation 0.004149 facing 0.004148 performed 0.004148 parish 0.004148 abroad 0.004147 attached 0.004145 countryside 0.004144 victim 0.004142 criteria 0.004138 ref 0.004138 welsh 0.004136 catholic 0.004136 cheap 0.004134 conventional 0.004132 framework 0.004131 sudden 0.004129 approval 0.004124 bath 0.004122 concentration 0.004122 autumn 0.004121 roads 0.004119 cards 0.004118 mirror 0.004117 determine 0.004114 editor 0.004114 cook 0.004112 taught 0.004112 y 0.004110 bid 0.004109 realise 0.004108 thinks 0.004108 partners 0.004108 liability 0.004106 w 0.004103 voluntary 0.004097 valuable 0.004094 characters 0.004088 informed 0.004086 anger 0.004084 occasions 0.004080 situations 0.004080 regularly 0.004073 agriculture 0.004073 mistake 0.004072 golden 0.004070 dramatic 0.004069 premises 0.004064 theme 0.004058 duties 0.004055 beach 0.004049 hello 0.004048 arguments 0.004044 shopping 0.004043 overseas 0.004043 losses 0.004041 error 0.004039 loan 0.004035 temporary 0.004033 federal 0.004032 wealth 0.004032 shortly 0.004031 concerns 0.004030 reflect 0.004025 handle 0.004025 initially 0.004024 lifted 0.004024 eighty 0.004023 pub 0.004020 dependent 0.004018 recovery 0.004014 electricity 0.004010 fly 0.004009 laugh 0.004005 refer 0.004001 margaret 0.003998 chest 0.003997 silent 0.003996 answered 0.003989 eleven 0.003986 height 0.003978 treat 0.003978 clubs 0.003978 keen 0.003976 item 0.003976 recession 0.003975 emerged 0.003973 port 0.003973 characteristics 0.003971 sugar 0.003970 options 0.003966 bread 0.003964 bush 0.003964 admit 0.003954 specifically 0.003951 agents 0.003950 smell 0.003950 denied 0.003949 lewis 0.003949 owners 0.003948 statutory 0.003944 dressed 0.003943 writer 0.003937 deeply 0.003936 foundation 0.003935 turns 0.003935 representative 0.003933 recommended 0.003933 j 0.003929 chain 0.003928 parent 0.003926 eggs 0.003918 reputation 0.003918 decade 0.003918 thursday 0.003916 publication 0.003914 assistant 0.003913 resistance 0.003911 losing 0.003908 incident 0.003906 charity 0.003903 wages 0.003903 drove 0.003902 offence 0.003900 lee 0.003899 prefer 0.003898 stations 0.003896 chancellor 0.003894 lifespan 0.003893 examine 0.003892 tasks 0.003888 gained 0.003888 accounting 0.003887 demanded 0.003886 outcome 0.003885 commons 0.003884 competitive 0.003880 panel 0.003880 false 0.003876 efficiency 0.003874 resolution 0.003874 greek 0.003873 wished 0.003873 yards 0.003870 subsequently 0.003869 negotiations 0.003869 self 0.003868 gradually 0.003866 relating 0.003865 extreme 0.003865 supporters 0.003863 tells 0.003862 processing 0.003862 spoken 0.003860 businesses 0.003860 ages 0.003858 answers 0.003858 trained 0.003856 solid 0.003854 agencies 0.003852 representation 0.003851 theories 0.003850 shoes 0.003848 gardens 0.003844 empire 0.003843 sweet 0.003842 acceptable 0.003841 initiative 0.003839 recognise 0.003838 notion 0.003838 stairs 0.003836 cambridge 0.003835 licence 0.003833 essentially 0.003828 defeat 0.003827 sensitive 0.003826 worker 0.003825 taylor 0.003823 clause 0.003821 belfast 0.003810 attempted 0.003809 push 0.003807 ha 0.003806 stands 0.003806 owned 0.003804 moves 0.003803 aside 0.003802 fitted 0.003801 elizabeth 0.003798 delivery 0.003797 global 0.003796 comprehensive 0.003794 rapid 0.003792 computers 0.003791 meat 0.003788 emotional 0.003785 abuse 0.003785 brothers 0.003785 surprising 0.003783 gate 0.003782 protest 0.003779 expansion 0.003779 islands 0.003778 attend 0.003777 healthy 0.003776 tory 0.003776 middlesbrough 0.003774 examined 0.003770 fifth 0.003768 writers 0.003768 nearby 0.003767 bigger 0.003765 electric 0.003763 pocket 0.003761 weak 0.003759 aimed 0.003758 pop 0.003758 adequate 0.003757 soldiers 0.003757 instructions 0.003754 tuesday 0.003754 images 0.003749 centuries 0.003749 awareness 0.003749 circle 0.003748 pale 0.003747 drama 0.003744 limits 0.003743 handed 0.003743 consent 0.003734 furniture 0.003734 administrative 0.003733 sees 0.003733 scientists 0.003732 wooden 0.003732 ward 0.003731 creating 0.003731 coat 0.003730 adam 0.003728 uncle 0.003728 spanish 0.003725 remarkable 0.003724 luke 0.003722 experiences 0.003722 snow 0.003721 plays 0.003721 collected 0.003716 arrested 0.003714 currency 0.003713 satisfied 0.003711 newspapers 0.003711 intelligence 0.003711 rough 0.003710 hoping 0.003710 respond 0.003708 extension 0.003706 stuck 0.003702 copies 0.003702 paint 0.003702 corporation 0.003701 restaurant 0.003701 survive 0.003700 wave 0.003700 precisely 0.003698 churches 0.003698 directed 0.003695 fault 0.003694 skill 0.003692 apart 0.003689 lords 0.003689 returning 0.003688 gun 0.003687 drinking 0.003684 dealt 0.003683 films 0.003682 connection 0.003681 absolute 0.003681 brilliant 0.003681 mill 0.003680 depend 0.003677 attended 0.003674 eh 0.003674 introduce 0.003673 convention 0.003671 philosophy 0.003670 sons 0.003669 communications 0.003667 regime 0.003665 suffer 0.003663 rent 0.003660 councils 0.003654 partnership 0.003653 inquiry 0.003653 sarah 0.003652 camp 0.003651 parallel 0.003651 residents 0.003647 ruling 0.003643 pack 0.003636 fans 0.003636 plane 0.003635 input 0.003635 bay 0.003631 minority 0.003630 arrival 0.003629 imposed 0.003628 rugby 0.003625 throw 0.003625 medium 0.003623 tower 0.003622 sad 0.003622 gap 0.003622 scope 0.003617 travelling 0.003617 testing 0.003616 derived 0.003614 birmingham 0.003613 consequence 0.003610 golf 0.003609 mere 0.003605 electronic 0.003601 classic 0.003597 hidden 0.003597 visual 0.003595 tight 0.003594 stable 0.003592 replace 0.003588 retirement 0.003587 mail 0.003587 darkness 0.003586 registered 0.003586 champion 0.003583 tim 0.003582 enemy 0.003580 coach 0.003580 nurse 0.003580 fears 0.003576 bell 0.003574 concerning 0.003573 database 0.003573 socialist 0.003573 priority 0.003572 pure 0.003571 comfort 0.003571 attacks 0.003571 nigel 0.003568 fishing 0.003567 core 0.003567 metres 0.003566 frame 0.003566 literary 0.003562 guests 0.003559 championship 0.003556 managing 0.003555 insisted 0.003554 supplied 0.003554 bits 0.003551 disappeared 0.003551 fail 0.003550 successfully 0.003549 rome 0.003543 thatcher 0.003539 connected 0.003535 ride 0.003535 exciting 0.003533 du 0.003533 pink 0.003532 categories 0.003527 accompanied 0.003524 languages 0.003523 duke 0.003516 gulf 0.003516 category 0.003515 supreme 0.003513 comparison 0.003512 wedding 0.003509 greatly 0.003509 represents 0.003505 genuine 0.003504 personnel 0.003503 politicians 0.003502 covering 0.003502 favour 0.003502 adults 0.003501 photographs 0.003500 tank 0.003496 occurs 0.003495 promotion 0.003490 measured 0.003490 switch 0.003489 beer 0.003489 defendant 0.003488 preparation 0.003487 presumably 0.003486 dna 0.003483 washington 0.003481 cricket 0.003479 paintings 0.003477 landscape 0.003477 mothers 0.003475 affair 0.003475 disabled 0.003469 stupid 0.003468 alongside 0.003466 arise 0.003466 expectations 0.003466 breaking 0.003465 findings 0.003464 blow 0.003461 illness 0.003460 citizens 0.003460 mood 0.003460 listed 0.003458 tension 0.003458 hang 0.003456 boss 0.003455 convinced 0.003453 receiving 0.003453 cry 0.003452 ladies 0.003452 briefly 0.003451 stones 0.003449 mixture 0.003446 classical 0.003446 approaches 0.003446 arrangement 0.003445 feels 0.003444 williams 0.003443 causing 0.003443 yard 0.003438 nineteenth 0.003438 discover 0.003438 begins 0.003432 judgment 0.003432 specified 0.003430 branches 0.003430 consumption 0.003426 saved 0.003425 cream 0.003424 roll 0.003423 pilot 0.003422 racing 0.003418 cycle 0.003418 widespread 0.003416 birthday 0.003416 tough 0.003416 gloucester 0.003415 driven 0.003413 dispute 0.003412 confident 0.003411 ignored 0.003407 wage 0.003406 sake 0.003406 mile 0.003404 israel 0.003402 requirement 0.003402 experts 0.003401 upset 0.003399 numerous 0.003399 throat 0.003398 raising 0.003398 finger 0.003398 aids 0.003394 permission 0.003394 moments 0.003393 brings 0.003392 guidance 0.003392 delay 0.003389 module 0.003388 altogether 0.003386 routine 0.003384 everywhere 0.003383 respectively 0.003381 statistics 0.003381 distinct 0.003380 presentation 0.003380 luck 0.003380 earnings 0.003378 prospect 0.003376 injured 0.003375 pace 0.003374 adding 0.003371 truly 0.003368 components 0.003368 transferred 0.003368 supplies 0.003366 breach 0.003366 ken 0.003359 exists 0.003359 magic 0.003358 tools 0.003351 intervention 0.003351 cottage 0.003349 prize 0.003349 feed 0.003348 scott 0.003347 resulting 0.003346 promote 0.003345 whenever 0.003345 k 0.003345 destroyed 0.003344 helpful 0.003343 crossed 0.003343 recall 0.003342 signal 0.003341 ben 0.003341 definitely 0.003340 johnson 0.003339 finds 0.003338 iraq 0.003334 winner 0.003332 fucking 0.003331 smooth 0.003331 nick 0.003331 votes 0.003329 proud 0.003327 perform 0.003327 hung 0.003326 launch 0.003325 print 0.003325 occupied 0.003325 recognized 0.003324 preferred 0.003321 solicitor 0.003320 blame 0.003319 host 0.003319 neighbours 0.003317 ban 0.003314 helps 0.003314 alliance 0.003314 mad 0.003313 repeat 0.003312 interior 0.003311 register 0.003311 survival 0.003309 mp 0.003308 primarily 0.003305 concluded 0.003304 compensation 0.003303 hat 0.003300 blind 0.003299 territory 0.003299 experiment 0.003298 pressed 0.003295 sam 0.003293 ownership 0.003292 symptoms 0.003291 restricted 0.003291 discussions 0.003290 achievement 0.003289 entrance 0.003284 guess 0.003283 printed 0.003283 load 0.003280 basically 0.003279 poverty 0.003278 visits 0.003275 extend 0.003274 hills 0.003273 realized 0.003273 delivered 0.003273 suggestion 0.003271 consistent 0.003271 hanging 0.003270 shareholders 0.003267 degrees 0.003264 fewer 0.003263 anxious 0.003263 painted 0.003262 phrase 0.003260 hate 0.003259 ease 0.003259 shadow 0.003257 inevitably 0.003255 loose 0.003255 employee 0.003255 falls 0.003254 nervous 0.003254 assumption 0.003254 excuse 0.003250 constitutional 0.003248 concentrate 0.003248 threw 0.003244 vehicles 0.003243 profession 0.003240 neil 0.003235 killing 0.003233 alleged 0.003233 perspective 0.003232 aunt 0.003228 festival 0.003226 conscious 0.003225 constantly 0.003224 jean 0.003223 dominant 0.003223 crew 0.003222 reasonably 0.003221 savings 0.003216 complicated 0.003216 guard 0.003214 surrounding 0.003213 bills 0.003213 chances 0.003211 characteristic 0.003209 asia 0.003208 strategic 0.003207 supporting 0.003207 depth 0.003206 thrown 0.003205 awful 0.003203 touched 0.003202 sheep 0.003202 boots 0.003198 guarantee 0.003198 ruth 0.003197 musical 0.003193 select 0.003191 alcohol 0.003190 bomb 0.003190 abandoned 0.003189 contents 0.003187 sand 0.003186 stomach 0.003184 conducted 0.003184 intellectual 0.003184 soul 0.003184 slight 0.003183 holy 0.003183 sounded 0.003181 prepare 0.003180 moscow 0.003178 ears 0.003178 amounts 0.003174 employer 0.003174 sorts 0.003172 reducing 0.003171 theoretical 0.003171 wore 0.003168 outstanding 0.003167 draft 0.003165 vary 0.003165 jacket 0.003163 norman 0.003161 wishes 0.003161 visiting 0.003156 clinical 0.003154 publishing 0.003153 prisoners 0.003152 salt 0.003150 organizations 0.003149 files 0.003149 stepped 0.003146 plaintiff 0.003143 harm 0.003142 joseph 0.003142 cried 0.003141 servants 0.003138 dismissed 0.003137 suspect 0.003136 experiments 0.003133 moon 0.003132 matches 0.003129 patrick 0.003128 shouted 0.003128 spare 0.003127 eighteen 0.003127 junior 0.003125 fought 0.003121 calm 0.003121 storage 0.003120 faster 0.003120 impressive 0.003117 reaching 0.003116 honest 0.003114 glanced 0.003112 joy 0.003110 nursing 0.003110 princess 0.003108 gift 0.003108 enthusiasm 0.003104 smiling 0.003101 resulted 0.003100 articles 0.003100 advantages 0.003100 extraordinary 0.003093 visible 0.003093 residential 0.003093 smoking 0.003091 inspector 0.003091 tables 0.003090 tendency 0.003089 seventy 0.003085 hospitals 0.003085 mechanism 0.003084 engaged 0.003084 handling 0.003084 exception 0.003084 clock 0.003083 poetry 0.003082 percent 0.003081 accurate 0.003081 rocks 0.003078 pride 0.003077 locked 0.003077 approached 0.003076 victims 0.003076 staying 0.003075 holder 0.003075 distant 0.003073 airport 0.003072 furthermore 0.003070 tie 0.003069 wing 0.003068 considerably 0.003066 fee 0.003065 origin 0.003065 canada 0.003065 arrive 0.003064 staring 0.003063 personality 0.003062 retired 0.003058 fees 0.003057 bond 0.003053 peak 0.003052 chamber 0.003051 attacked 0.003051 holidays 0.003051 steady 0.003049 puts 0.003049 turnover 0.003048 observation 0.003044 ultimately 0.003043 underlying 0.003043 gentle 0.003043 precise 0.003043 encouraging 0.003037 leisure 0.003035 evil 0.003033 device 0.003031 varied 0.003031 minds 0.003031 economics 0.003030 mortgage 0.003028 ear 0.003026 ok 0.003022 confusion 0.003022 secondly 0.003021 bearing 0.003019 remote 0.003017 certificate 0.003017 illustrated 0.003017 tennis 0.003017 instruments 0.003016 satisfaction 0.003016 sentences 0.003015 steam 0.003013 ratio 0.003012 possession 0.003007 summary 0.003007 responsibilities 0.003006 bristol 0.003004 stolen 0.003004 poll 0.003004 upstairs 0.003003 le 0.003002 songs 0.003001 heading 0.003001 attracted 0.002999 implementation 0.002998 chose 0.002998 headed 0.002997 keith 0.002995 protein 0.002993 unity 0.002993 burning 0.002992 arthur 0.002992 scored 0.002991 column 0.002991 architecture 0.002990 dying 0.002990 collect 0.002990 contributions 0.002988 pitch 0.002987 delighted 0.002986 approximately 0.002985 disaster 0.002985 discovery 0.002984 variable 0.002982 monetary 0.002981 addressed 0.002980 mountains 0.002980 concentrated 0.002979 boards 0.002978 singing 0.002977 silly 0.002976 childhood 0.002975 likes 0.002975 taxes 0.002972 covers 0.002972 teach 0.002970 kong 0.002970 serving 0.002969 bet 0.002969 string 0.002966 climate 0.002964 percentage 0.002964 americans 0.002963 iv 0.002962 villages 0.002961 isolated 0.002960 designs 0.002960 hong 0.002959 reforms 0.002958 waves 0.002954 cake 0.002954 andy 0.002954 readily 0.002951 dust 0.002951 evaluation 0.002949 shirt 0.002948 samples 0.002948 frequency 0.002947 charlie 0.002945 lists 0.002943 nights 0.002943 judges 0.002941 pacific 0.002938 dirty 0.002938 deliberately 0.002937 relation 0.002935 determination 0.002934 anna 0.002932 automatically 0.002932 qualified 0.002931 medicine 0.002930 violent 0.002930 applies 0.002929 dominated 0.002929 psychological 0.002929 distributed 0.002928 unemployed 0.002926 giant 0.002923 ships 0.002921 roles 0.002919 inevitable 0.002915 tied 0.002915 wan 0.002915 gathered 0.002914 swimming 0.002911 latin 0.002904 holds 0.002903 honour 0.002902 headquarters 0.002902 manufacturers 0.002899 sensible 0.002895 berlin 0.002890 restrictions 0.002889 tended 0.002889 rear 0.002888 tested 0.002888 sending 0.002888 grateful 0.002883 strategies 0.002880 expense 0.002879 mode 0.002877 boxes 0.002874 monitoring 0.002874 closing 0.002872 loans 0.002870 structural 0.002870 dozen 0.002869 newly 0.002866 demonstrated 0.002865 founded 0.002865 variation 0.002864 lucy 0.002862 rely 0.002862 investors 0.002861 infection 0.002860 helen 0.002860 cleared 0.002859 survived 0.002859 undertaken 0.002857 fourteen 0.002856 committees 0.002856 frightened 0.002855 photograph 0.002851 complaints 0.002851 participation 0.002850 camera 0.002850 pleasant 0.002849 agreements 0.002849 buyer 0.002849 critics 0.002847 exposed 0.002846 concrete 0.002846 guitar 0.002846 laboratory 0.002843 proof 0.002842 landlord 0.002841 rang 0.002839 overcome 0.002836 knife 0.002836 dates 0.002835 export 0.002834 orange 0.002834 tail 0.002826 mix 0.002826 modules 0.002825 reserve 0.002823 hunt 0.002823 pressures 0.002822 millions 0.002820 surgery 0.002819 concepts 0.002818 universities 0.002818 marry 0.002818 maggie 0.002818 burden 0.002816 newcastle 0.002815 assess 0.002815 sixteen 0.002815 cooking 0.002811 dave 0.002811 penalty 0.002809 reveal 0.002807 holes 0.002806 integrated 0.002804 contribute 0.002804 quoted 0.002802 estimate 0.002801 thereby 0.002799 mission 0.002798 acceptance 0.002797 wake 0.002797 anxiety 0.002796 wanting 0.002795 apple 0.002793 formula 0.002791 imagination 0.002791 howard 0.002791 deaf 0.002791 personally 0.002790 rid 0.002790 calculated 0.002789 relatives 0.002789 returns 0.002788 washing 0.002788 targets 0.002787 continuous 0.002787 appreciate 0.002785 describes 0.002783 circuit 0.002782 universe 0.002781 stronger 0.002780 laughing 0.002778 responses 0.002776 excitement 0.002776 arab 0.002776 opposed 0.002776 kiss 0.002775 zealand 0.002774 native 0.002773 replacement 0.002773 disk 0.002773 collective 0.002770 instrument 0.002770 sergeant 0.002770 memories 0.002770 striking 0.002769 expertise 0.002766 checked 0.002765 component 0.002762 solicitors 0.002761 trend 0.002761 resource 0.002761 treasury 0.002760 wheel 0.002760 darling 0.002757 tickets 0.002756 confirm 0.002755 acquisition 0.002755 whispered 0.002754 occasional 0.002753 universal 0.002753 ford 0.002751 paragraph 0.002751 glance 0.002751 kent 0.002750 slipped 0.002750 besides 0.002749 evident 0.002745 protected 0.002744 desperate 0.002744 writes 0.002743 relate 0.002738 psychology 0.002737 drivers 0.002735 burst 0.002735 surprisingly 0.002735 matthew 0.002731 curve 0.002729 rival 0.002727 improving 0.002726 risks 0.002725 cheese 0.002724 gordon 0.002724 sleeping 0.002723 uniform 0.002722 u 0.002720 preparing 0.002720 aha 0.002718 keeps 0.002717 succeeded 0.002716 consciousness 0.002715 knees 0.002714 mummy 0.002713 lock 0.002710 roger 0.002710 stream 0.002707 waters 0.002707 damaged 0.002707 regulation 0.002706 mps 0.002702 collapse 0.002702 cattle 0.002702 victoria 0.002701 binding 0.002701 platform 0.002699 purely 0.002698 consists 0.002698 leather 0.002698 recommendations 0.002697 tenant 0.002697 settle 0.002696 influenced 0.002696 innocent 0.002695 dreams 0.002694 alexander 0.002694 passengers 0.002693 strain 0.002692 solutions 0.002692 commonly 0.002692 injuries 0.002690 retained 0.002690 zone 0.002686 australian 0.002685 sufficiently 0.002685 laura 0.002684 squad 0.002680 sixth 0.002679 retain 0.002678 terry 0.002678 attract 0.002677 layer 0.002676 stretch 0.002674 flesh 0.002674 generated 0.002673 relaxed 0.002673 variations 0.002672 existed 0.002670 displayed 0.002670 engineers 0.002669 publicity 0.002669 constructed 0.002669 edition 0.002668 summit 0.002668 assist 0.002666 devoted 0.002663 riding 0.002663 nurses 0.002661 located 0.002661 san 0.002661 researchers 0.002660 tip 0.002658 roots 0.002657 hers 0.002657 wondering 0.002654 pipe 0.002654 francis 0.002654 backed 0.002652 jump 0.002652 buried 0.002649 hide 0.002648 suggesting 0.002648 egg 0.002647 produces 0.002644 consequently 0.002642 witness 0.002642 authors 0.002641 pulling 0.002641 estimates 0.002641 bitter 0.002638 crash 0.002638 victorian 0.002637 distinguished 0.002636 confused 0.002636 judgement 0.002634 councillor 0.002633 taxation 0.002630 ultimate 0.002630 dancing 0.002630 bathroom 0.002628 awarded 0.002628 qualities 0.002626 glasses 0.002626 creative 0.002625 weekly 0.002625 germans 0.002625 wash 0.002624 packed 0.002623 medieval 0.002622 assumptions 0.002618 landing 0.002615 liquid 0.002614 gross 0.002612 organized 0.002612 adopt 0.002612 coloured 0.002610 schedule 0.002610 counter 0.002610 presents 0.002610 evolution 0.002609 premier 0.002609 deals 0.002609 colleges 0.002608 loud 0.002607 advised 0.002606 sharply 0.002606 angle 0.002606 multiple 0.002604 lit 0.002604 softly 0.002603 raw 0.002603 decades 0.002602 linguistic 0.002601 ignore 0.002601 completion 0.002600 grace 0.002600 colin 0.002598 sophisticated 0.002597 regarding 0.002597 judicial 0.002597 tongue 0.002595 asleep 0.002595 alice 0.002594 sharing 0.002594 poem 0.002593 paused 0.002592 carbon 0.002590 durham 0.002590 equation 0.002589 outer 0.002589 explains 0.002588 possibilities 0.002587 nhs 0.002586 deaths 0.002584 frequent 0.002581 vulnerable 0.002581 interviews 0.002579 babies 0.002577 topic 0.002576 illegal 0.002576 catalogue 0.002576 excluded 0.002576 tends 0.002575 cathedral 0.002571 grants 0.002569 refuse 0.002568 voices 0.002568 cleaning 0.002568 potentially 0.002567 impressed 0.002567 machinery 0.002567 cotton 0.002566 dawn 0.002565 nicholas 0.002563 bars 0.002563 define 0.002563 bowl 0.002562 consultation 0.002562 surrounded 0.002561 coalition 0.002561 harder 0.002561 revolutionary 0.002560 integration 0.002559 sole 0.002559 attempting 0.002559 reception 0.002558 bone 0.002558 compare 0.002558 wings 0.002555 demanding 0.002554 bother 0.002554 improvements 0.002554 perceived 0.002554 heaven 0.002553 studying 0.002553 ulster 0.002553 climbed 0.002549 grammar 0.002549 ruled 0.002549 jumped 0.002548 imperial 0.002545 persuade 0.002543 gary 0.002540 stores 0.002540 manual 0.002538 conclusions 0.002537 carpet 0.002537 jimmy 0.002536 undoubtedly 0.002536 boundaries 0.002535 beliefs 0.002535 rush 0.002535 confined 0.002534 tunnel 0.002533 breathing 0.002532 permitted 0.002531 informal 0.002529 demonstrate 0.002528 douglas 0.002527 separated 0.002524 stressed 0.002523 flexible 0.002523 bent 0.002518 saving 0.002517 inches 0.002517 announcement 0.002516 meals 0.002516 sue 0.002515 lawyers 0.002513 guest 0.002513 ending 0.002512 sheets 0.002507 bare 0.002507 dutch 0.002506 vat 0.002505 quantity 0.002502 pushing 0.002501 reminded 0.002498 crossing 0.002497 awards 0.002497 journal 0.002496 storm 0.002494 notably 0.002494 venture 0.002494 shrugged 0.002493 anthony 0.002493 petrol 0.002491 hotels 0.002488 investigate 0.002487 flower 0.002486 nowhere 0.002485 considerations 0.002484 destruction 0.002482 clever 0.002480 versions 0.002480 experimental 0.002479 offences 0.002479 kate 0.002478 suspended 0.002478 justified 0.002477 gaze 0.002476 agenda 0.002475 engineer 0.002475 reporting 0.002474 listened 0.002474 texts 0.002472 transition 0.002471 hunting 0.002469 intense 0.002469 keys 0.002469 automatic 0.002469 deficit 0.002469 plates 0.002469 spiritual 0.002469 flew 0.002468 reverse 0.002467 indication 0.002467 rational 0.002465 slip 0.002465 knocked 0.002463 earl 0.002461 professionals 0.002461 opera 0.002460 alarm 0.002459 charter 0.002458 kevin 0.002458 indicates 0.002456 composition 0.002455 governor 0.002455 interaction 0.002455 ceiling 0.002454 conservatives 0.002453 drinks 0.002452 guidelines 0.002452 roughly 0.002450 oral 0.002450 fox 0.002450 qualifications 0.002447 ethnic 0.002447 argues 0.002446 kick 0.002445 dublin 0.002444 converted 0.002444 gains 0.002443 capitalist 0.002442 pupil 0.002442 generous 0.002442 cheaper 0.002441 underground 0.002440 inadequate 0.002440 rivers 0.002440 rescue 0.002440 representing 0.002440 prominent 0.002439 passion 0.002438 welcomed 0.002438 instruction 0.002438 logical 0.002436 exposure 0.002434 departure 0.002434 historic 0.002432 drawings 0.002432 beaten 0.002431 accordingly 0.002427 feeding 0.002426 repair 0.002426 modest 0.002424 nearest 0.002423 lessons 0.002423 farming 0.002423 letting 0.002420 lloyd 0.002420 sectors 0.002420 drunk 0.002420 grade 0.002419 hero 0.002419 diana 0.002418 spell 0.002417 exact 0.002417 barely 0.002417 exports 0.002416 essex 0.002416 logic 0.002415 pope 0.002415 fancy 0.002415 acute 0.002414 acted 0.002413 discourse 0.002412 voted 0.002411 electrical 0.002411 consumers 0.002410 jury 0.002408 cigarette 0.002406 trains 0.002406 valid 0.002405 zero 0.002404 wherever 0.002404 format 0.002403 christopher 0.002402 rank 0.002402 transaction 0.002401 profile 0.002401 contributed 0.002400 bands 0.002400 leaned 0.002398 lesson 0.002397 walker 0.002396 rubbish 0.002396 farmer 0.002394 admission 0.002394 pointing 0.002393 trousers 0.002393 timber 0.002393 joining 0.002392 habit 0.002391 arrange 0.002390 oliver 0.002390 assault 0.002388 failing 0.002387 wire 0.002387 audit 0.002385 deny 0.002383 bones 0.002383 punishment 0.002382 mayor 0.002382 silk 0.002381 damages 0.002380 mortality 0.002380 pc 0.002378 occupation 0.002377 remarks 0.002376 mystery 0.002374 re 0.002374 urged 0.002373 explore 0.002372 claiming 0.002372 customs 0.002372 entering 0.002371 mess 0.002368 mutual 0.002367 superior 0.002367 province 0.002367 wholly 0.002366 reliable 0.002366 joke 0.002366 depression 0.002365 classroom 0.002365 fleet 0.002364 assured 0.002363 liable 0.002361 implied 0.002360 climb 0.002359 shell 0.002358 humour 0.002358 realize 0.002357 facility 0.002357 trace 0.002357 gene 0.002356 blocks 0.002354 registration 0.002352 guardian 0.002351 males 0.002350 laughter 0.002348 era 0.002348 disappointed 0.002347 albert 0.002347 gates 0.002344 posts 0.002343 baker 0.002342 rachel 0.002342 shooting 0.002342 travelled 0.002340 atlantic 0.002340 identification 0.002339 arising 0.002337 owen 0.002337 beds 0.002336 abstract 0.002336 prospects 0.002335 assessed 0.002334 poet 0.002333 coverage 0.002332 jewish 0.002332 adds 0.002331 pregnant 0.002331 divisions 0.002330 billy 0.002330 avoided 0.002330 lease 0.002327 formally 0.002327 worldwide 0.002326 arrest 0.002326 monitor 0.002325 obligation 0.002325 egypt 0.002323 miller 0.002322 root 0.002320 curious 0.002320 reserves 0.002319 submitted 0.002319 participants 0.002319 lawyer 0.002318 voting 0.002318 wise 0.002318 directions 0.002318 fate 0.002318 tool 0.002317 resignation 0.002315 resigned 0.002315 bags 0.002313 daddy 0.002313 devices 0.002313 substance 0.002312 phenomenon 0.002311 speakers 0.002311 climbing 0.002311 landed 0.002309 pen 0.002307 responded 0.002305 enjoying 0.002305 cloud 0.002304 uncertainty 0.002303 visitor 0.002301 recovered 0.002300 california 0.002298 clothing 0.002297 perception 0.002297 ticket 0.002294 identical 0.002293 satisfactory 0.002293 banking 0.002292 fed 0.002292 learnt 0.002291 grave 0.002290 preference 0.002289 federation 0.002289 maria 0.002289 thirteen 0.002286 bulk 0.002283 desert 0.002283 westminster 0.002282 chemicals 0.002281 stored 0.002281 deliver 0.002280 album 0.002279 marginal 0.002279 variables 0.002278 namely 0.002277 distinctive 0.002277 resort 0.002277 canal 0.002276 electoral 0.002275 urgent 0.002273 wound 0.002273 chapel 0.002272 searching 0.002272 allowance 0.002271 des 0.002270 lawrence 0.002269 reflects 0.002266 turkey 0.002266 libraries 0.002265 observations 0.002265 heating 0.002265 dare 0.002264 sing 0.002264 sympathy 0.002264 titles 0.002262 funeral 0.002262 corresponding 0.002262 sheffield 0.002261 belt 0.002260 stability 0.002257 shed 0.002256 sessions 0.002256 nottingham 0.002253 pat 0.002252 expecting 0.002251 contacts 0.002249 succeed 0.002249 typically 0.002247 presidential 0.002246 conversion 0.002246 woods 0.002246 disposal 0.002245 clare 0.002244 interpreted 0.002243 generations 0.002243 kelly 0.002243 fred 0.002242 rolling 0.002242 butter 0.002241 policeman 0.002241 maintaining 0.002241 transactions 0.002241 proceed 0.002240 emperor 0.002239 restored 0.002238 fabric 0.002238 folk 0.002238 controversial 0.002238 lands 0.002238 resolved 0.002237 robin 0.002237 fortune 0.002237 horror 0.002237 marine 0.002236 stake 0.002236 tackle 0.002236 louis 0.002235 everyday 0.002235 viewed 0.002234 priest 0.002233 routes 0.002232 cap 0.002230 washed 0.002230 ray 0.002229 removal 0.002227 organic 0.002227 pairs 0.002226 trials 0.002225 enables 0.002225 acknowledged 0.002224 stretched 0.002223 magistrates 0.002223 yield 0.002223 picking 0.002222 swindon 0.002222 crystal 0.002221 caring 0.002220 statistical 0.002220 resident 0.002220 connections 0.002220 sussex 0.002219 stuart 0.002219 breeding 0.002219 temple 0.002218 plot 0.002218 establishing 0.002218 courage 0.002218 recognize 0.002217 thoroughly 0.002217 errors 0.002216 desirable 0.002215 trends 0.002213 suspected 0.002213 reckon 0.002212 ideology 0.002211 prosecution 0.002211 belong 0.002211 pot 0.002210 exclusive 0.002209 tale 0.002209 worn 0.002209 retail 0.002209 compromise 0.002208 prayer 0.002208 corridor 0.002208 doubts 0.002205 instant 0.002204 talent 0.002204 sheer 0.002202 chicken 0.002200 sighed 0.002200 surplus 0.002200 unexpected 0.002200 suggestions 0.002200 villa 0.002199 persuaded 0.002199 russell 0.002199 swept 0.002198 foods 0.002197 sciences 0.002197 addition 0.002196 tap 0.002196 rolled 0.002194 superb 0.002194 craft 0.002193 operated 0.002190 poland 0.002190 thrust 0.002189 references 0.002188 lighting 0.002188 gastric 0.002188 daughters 0.002188 scenes 0.002186 hugh 0.002185 bernard 0.002185 rape 0.002185 hardware 0.002184 traditionally 0.002184 shame 0.002183 switched 0.002183 divorce 0.002182 intend 0.002182 pressing 0.002178 genes 0.002178 strict 0.002177 effectiveness 0.002177 concentrations 0.002177 installed 0.002177 defend 0.002177 creatures 0.002176 cm 0.002174 chocolate 0.002173 panic 0.002172 stewart 0.002172 emerge 0.002171 obliged 0.002170 susan 0.002169 boost 0.002168 reactions 0.002165 anniversary 0.002164 justify 0.002163 sustained 0.002163 sisters 0.002163 davies 0.002163 escaped 0.002163 polish 0.002162 discount 0.002161 garage 0.002160 tissue 0.002160 romantic 0.002159 knee 0.002159 conviction 0.002158 damn 0.002157 label 0.002156 clarke 0.002156 naked 0.002156 declined 0.002156 composed 0.002155 advise 0.002155 signals 0.002155 scientist 0.002152 warmth 0.002152 asset 0.002152 associations 0.002151 boundary 0.002150 muscles 0.002150 humans 0.002150 shocked 0.002150 computing 0.002149 withdrawal 0.002149 declaration 0.002145 actor 0.002145 constable 0.002144 graphics 0.002143 reluctant 0.002143 winners 0.002141 eighteenth 0.002140 chemistry 0.002139 magnificent 0.002135 navy 0.002135 convenient 0.002133 jackson 0.002133 tin 0.002132 chairs 0.002132 friendship 0.002131 destroy 0.002130 recover 0.002130 dollar 0.002129 lowest 0.002129 pity 0.002128 ocean 0.002128 correspondent 0.002128 harbour 0.002125 backing 0.002125 incorporated 0.002124 reflection 0.002124 deposit 0.002123 tourist 0.002123 gesture 0.002120 deeper 0.002120 curtains 0.002120 earned 0.002119 rows 0.002119 fired 0.002117 diary 0.002116 practitioners 0.002116 discussing 0.002116 entertainment 0.002115 monthly 0.002115 expenses 0.002113 deciding 0.002113 educated 0.002112 mechanisms 0.002112 uncertain 0.002112 mining 0.002111 dean 0.002111 democrats 0.002111 favoured 0.002110 ad 0.002110 mounted 0.002110 styles 0.002110 tracks 0.002110 artificial 0.002109 tries 0.002109 discrimination 0.002108 delight 0.002108 diplomatic 0.002106 bench 0.002106 guns 0.002104 councillors 0.002104 inspired 0.002103 microsoft 0.002103 acquire 0.002103 salary 0.002102 tremendous 0.002099 mechanical 0.002098 resist 0.002098 physically 0.002098 estates 0.002098 commented 0.002098 distinguish 0.002097 literally 0.002097 crying 0.002097 wildlife 0.002097 balanced 0.002097 institutional 0.002097 iran 0.002096 tories 0.002095 formerly 0.002095 priorities 0.002094 damp 0.002093 excess 0.002093 gender 0.002092 strictly 0.002092 threatening 0.002092 passes 0.002091 shaking 0.002091 publications 0.002090 passenger 0.002090 shapes 0.002089 boats 0.002089 cheque 0.002088 chapters 0.002088 clinton 0.002086 weapon 0.002085 asks 0.002085 carriage 0.002085 generate 0.002085 earn 0.002084 earliest 0.002083 approaching 0.002083 messages 0.002083 biological 0.002082 reward 0.002082 applying 0.002081 implies 0.002081 mentally 0.002081 females 0.002081 emily 0.002080 filling 0.002080 functional 0.002079 bible 0.002079 derek 0.002078 knock 0.002078 accidents 0.002078 straightforward 0.002078 tube 0.002077 flexibility 0.002076 heritage 0.002075 wright 0.002075 mathematics 0.002074 fool 0.002073 specially 0.002073 brush 0.002073 inspection 0.002073 lad 0.002072 sociology 0.002071 equity 0.002071 phil 0.002071 cloth 0.002070 murmured 0.002070 desperately 0.002070 feared 0.002069 satisfy 0.002068 piano 0.002068 fiction 0.002068 outlined 0.002068 frozen 0.002067 imports 0.002067 strip 0.002067 exercises 0.002067 altered 0.002065 overnight 0.002064 colonel 0.002063 whereby 0.002063 commander 0.002062 bonds 0.002061 secured 0.002061 pursue 0.002060 dedicated 0.002060 digital 0.002060 controlling 0.002059 voters 0.002059 refers 0.002059 forests 0.002058 tenants 0.002057 situated 0.002057 productivity 0.002057 lightly 0.002056 pause 0.002056 ann 0.002053 surveys 0.002053 clerk 0.002053 restoration 0.002053 harris 0.002052 swing 0.002052 deposits 0.002050 cinema 0.002048 spectacular 0.002047 capitalism 0.002043 controversy 0.002043 penny 0.002043 marx 0.002043 abbey 0.002043 asian 0.002042 enhanced 0.002042 ensuring 0.002039 wives 0.002038 solve 0.002036 seller 0.002035 constraints 0.002035 unfair 0.002034 aggressive 0.002034 champagne 0.002032 availability 0.002032 breed 0.002031 closure 0.002031 invasion 0.002031 compete 0.002031 interface 0.002031 painful 0.002030 sadly 0.002029 topics 0.002029 mate 0.002027 sailing 0.002025 eric 0.002025 emotions 0.002025 korea 0.002024 ace 0.002023 mud 0.002021 securities 0.002021 cheek 0.002021 mature 0.002019 joan 0.002019 downstairs 0.002016 snapped 0.002015 borough 0.002014 correctly 0.002014 shouting 0.002013 ross 0.002013 refugees 0.002013 moore 0.002013 manor 0.002012 unhappy 0.002012 alter 0.002012 spirits 0.002011 amazing 0.002010 obligations 0.002010 networks 0.002009 excited 0.002009 initiatives 0.002008 interim 0.002008 cable 0.002007 grip 0.002005 printing 0.002004 therapy 0.002003 pensions 0.002003 hopefully 0.002002 oxygen 0.002001 eliot 0.002000 gathering 0.002000 legislative 0.002000 discretion 0.001998 invitation 0.001997 assuming 0.001997 imagined 0.001996 describing 0.001995 alex 0.001994 pan 0.001994 intelligent 0.001994 impose 0.001993 explicit 0.001993 sink 0.001992 kings 0.001992 guaranteed 0.001992 q 0.001991 designer 0.001991 jurisdiction 0.001990 intent 0.001990 bass 0.001989 gear 0.001989 barry 0.001989 underneath 0.001989 quantities 0.001989 raf 0.001988 taxi 0.001988 shit 0.001987 struggling 0.001985 allocated 0.001985 copper 0.001983 constituency 0.001983 virtue 0.001983 mouse 0.001982 complained 0.001982 inch 0.001981 lecture 0.001981 flats 0.001981 midnight 0.001980 dc 0.001978 engines 0.001978 railways 0.001977 caroline 0.001976 ridiculous 0.001973 circular 0.001973 masters 0.001973 outline 0.001973 debts 0.001972 beating 0.001972 comparable 0.001972 wars 0.001971 gay 0.001970 concert 0.001969 successive 0.001969 virgin 0.001968 mills 0.001968 smart 0.001967 refusal 0.001967 leicester 0.001964 creature 0.001964 economies 0.001963 isolation 0.001963 succession 0.001963 continental 0.001963 reign 0.001963 fails 0.001962 scores 0.001961 evans 0.001961 hungry 0.001960 choosing 0.001960 terminal 0.001959 physics 0.001959 tonnes 0.001959 allied 0.001959 pardon 0.001959 expanded 0.001958 random 0.001958 realistic 0.001957 brick 0.001957 walter 0.001957 shakespeare 0.001956 volunteers 0.001956 minus 0.001955 demonstration 0.001955 chips 0.001955 banned 0.001954 pile 0.001954 separation 0.001953 walks 0.001953 recalled 0.001953 foster 0.001952 decent 0.001952 conception 0.001952 substitute 0.001952 primitive 0.001951 twin 0.001951 triumph 0.001951 unnecessary 0.001950 focused 0.001950 explaining 0.001949 prevented 0.001948 dictionary 0.001948 twentieth 0.001947 achieving 0.001947 kit 0.001947 channels 0.001946 origins 0.001944 forever 0.001942 ma 0.001939 influential 0.001938 thames 0.001937 merchant 0.001937 terrace 0.001937 scheduled 0.001936 duration 0.001936 producers 0.001936 chip 0.001934 eg 0.001933 midlands 0.001933 farms 0.001932 allocation 0.001932 vietnam 0.001930 lifetime 0.001929 predicted 0.001929 blank 0.001928 diseases 0.001927 counts 0.001927 bottles 0.001927 brave 0.001926 genetic 0.001926 complaint 0.001924 cardiff 0.001924 malcolm 0.001923 marvellous 0.001923 morgan 0.001922 vertical 0.001922 enabled 0.001921 bull 0.001921 assurance 0.001920 dull 0.001919 hated 0.001918 jews 0.001917 essence 0.001916 autonomy 0.001916 questioned 0.001916 requiring 0.001916 rises 0.001916 differ 0.001916 junction 0.001914 dried 0.001913 consensus 0.001913 instance 0.001911 marie 0.001911 purchaser 0.001910 vegetables 0.001910 carries 0.001910 scots 0.001909 shore 0.001909 workshop 0.001909 subtle 0.001908 skilled 0.001908 necessity 0.001908 republican 0.001907 forming 0.001907 attendance 0.001906 don 0.001906 sooner 0.001904 producer 0.001904 soldier 0.001904 amendment 0.001904 recommend 0.001904 cousin 0.001903 morris 0.001903 planet 0.001903 elegant 0.001903 pit 0.001903 nt 0.001902 grain 0.001901 lesser 0.001901 limitations 0.001900 backwards 0.001900 locally 0.001899 tragedy 0.001899 bike 0.001899 modified 0.001898 arguing 0.001896 collections 0.001896 crack 0.001896 swung 0.001895 analysed 0.001895 quarters 0.001894 liberation 0.001894 precious 0.001894 allen 0.001894 referring 0.001893 luxury 0.001892 movie 0.001891 seventeen 0.001891 officially 0.001891 journalists 0.001891 fraud 0.001891 nasty 0.001890 dealer 0.001888 sums 0.001888 intensive 0.001888 easter 0.001888 poured 0.001887 symbol 0.001887 casual 0.001884 suppliers 0.001884 shorter 0.001884 tropical 0.001883 kissed 0.001883 crazy 0.001882 forum 0.001882 crimes 0.001882 relax 0.001882 nursery 0.001881 miners 0.001880 manufacturer 0.001879 halt 0.001879 happily 0.001878 roy 0.001877 dressing 0.001877 attending 0.001876 timing 0.001876 preliminary 0.001876 partial 0.001876 muscle 0.001875 entries 0.001875 wool 0.001875 households 0.001874 shots 0.001873 servant 0.001873 pakistan 0.001873 suicide 0.001873 arises 0.001872 varying 0.001872 preserved 0.001872 progressive 0.001871 defeated 0.001871 neighbour 0.001869 risen 0.001868 resolve 0.001867 simultaneously 0.001867 beings 0.001867 divide 0.001866 throwing 0.001864 accepting 0.001863 expand 0.001863 introducing 0.001863 broadcasting 0.001863 tide 0.001862 fitting 0.001862 guilt 0.001862 governing 0.001861 placing 0.001861 ceremony 0.001859 subsidiary 0.001858 enquiry 0.001858 opinions 0.001858 separately 0.001857 jenny 0.001857 bye 0.001857 slept 0.001857 lover 0.001856 severely 0.001855 breaks 0.001855 finest 0.001855 choices 0.001854 grinned 0.001854 christianity 0.001853 hey 0.001851 programs 0.001851 ira 0.001851 detective 0.001850 allegations 0.001849 justification 0.001849 appendix 0.001848 ate 0.001848 commonwealth 0.001847 districts 0.001846 delicate 0.001846 lonely 0.001844 catering 0.001844 checking 0.001843 ya 0.001843 dealers 0.001843 advisers 0.001842 affecting 0.001842 occupational 0.001841 behave 0.001840 clark 0.001839 youngsters 0.001839 dynamic 0.001839 undertake 0.001838 weakness 0.001838 captured 0.001838 complexity 0.001838 implemented 0.001838 excessive 0.001838 iraqi 0.001837 enterprises 0.001837 dining 0.001836 exceptional 0.001836 greece 0.001835 hurry 0.001835 stance 0.001835 sizes 0.001834 remind 0.001834 serves 0.001834 edges 0.001833 remarked 0.001833 employ 0.001833 encountered 0.001831 participate 0.001830 mount 0.001830 directive 0.001830 combine 0.001829 portrait 0.001828 relieved 0.001828 safely 0.001828 kid 0.001827 gorbachev 0.001827 alternatively 0.001826 strikes 0.001825 delayed 0.001825 shoot 0.001823 residence 0.001822 devil 0.001822 feminist 0.001821 displays 0.001821 fan 0.001821 tender 0.001820 clearing 0.001820 neat 0.001819 magazines 0.001818 burn 0.001818 whisky 0.001818 pond 0.001817 forth 0.001817 theft 0.001817 ranks 0.001816 transformation 0.001816 celebrated 0.001816 incidence 0.001815 radiation 0.001815 sterling 0.001814 opens 0.001813 wrapped 0.001813 boring 0.001812 firstly 0.001811 doctrine 0.001810 collapsed 0.001810 fence 0.001809 ours 0.001809 inland 0.001807 encounter 0.001806 les 0.001806 lancashire 0.001805 possessed 0.001802 contest 0.001800 substantially 0.001800 ussr 0.001800 premium 0.001800 innovation 0.001799 diagnosis 0.001798 supports 0.001798 gifts 0.001798 dialogue 0.001797 speculation 0.001796 hire 0.001796 remainder 0.001795 stocks 0.001795 seized 0.001795 rice 0.001794 judged 0.001793 happiness 0.001793 da 0.001793 preserve 0.001793 supervision 0.001792 exclusively 0.001792 peasants 0.001791 chronic 0.001791 benjamin 0.001791 geoffrey 0.001791 chart 0.001791 tightly 0.001790 compulsory 0.001789 politically 0.001789 ye 0.001789 accuracy 0.001789 trap 0.001787 bruce 0.001787 infant 0.001787 splendid 0.001787 coup 0.001786 cleveland 0.001786 brazil 0.001785 ambulance 0.001785 narrative 0.001783 investigations 0.001783 mobile 0.001782 button 0.001782 systematic 0.001782 manufacture 0.001782 purchased 0.001781 eaten 0.001781 wounded 0.001780 singer 0.001779 boot 0.001779 careers 0.001779 collecting 0.001779 wheels 0.001778 relevance 0.001778 patch 0.001778 influences 0.001778 senses 0.001775 ms 0.001775 liz 0.001774 harriet 0.001774 withdrawn 0.001774 barbara 0.001774 faint 0.001773 handsome 0.001771 glory 0.001770 stopping 0.001770 competing 0.001770 horrible 0.001769 lamb 0.001769 steadily 0.001769 payable 0.001769 instances 0.001769 fascinating 0.001768 governors 0.001768 measurement 0.001767 metropolitan 0.001767 ideological 0.001766 alternatives 0.001765 breast 0.001765 dollars 0.001765 maps 0.001763 signing 0.001763 knitting 0.001763 explosion 0.001763 scarcely 0.001762 promises 0.001762 canadian 0.001761 habits 0.001760 dragged 0.001760 desired 0.001759 obtaining 0.001758 hierarchy 0.001757 sweden 0.001757 socialism 0.001756 particles 0.001755 colleague 0.001755 enquiries 0.001755 trapped 0.001755 domain 0.001755 circles 0.001754 disturbed 0.001752 super 0.001752 restore 0.001752 crop 0.001751 printer 0.001751 prisoner 0.001751 solely 0.001750 remedy 0.001750 juice 0.001749 equilibrium 0.001749 prior 0.001748 doorway 0.001747 classification 0.001747 peaceful 0.001747 plc 0.001747 seed 0.001746 fluid 0.001746 hughes 0.001746 observer 0.001746 murdered 0.001746 transformed 0.001745 companion 0.001745 explanations 0.001745 observe 0.001745 liver 0.001741 hypothesis 0.001740 loyalty 0.001740 ed 0.001740 factories 0.001739 satellite 0.001739 operational 0.001738 buyers 0.001738 respects 0.001737 dose 0.001736 technological 0.001735 hostile 0.001734 advisory 0.001734 fortunately 0.001734 potatoes 0.001733 intervals 0.001733 seeds 0.001732 winds 0.001732 filter 0.001732 fig 0.001732 praise 0.001731 dated 0.001731 peasant 0.001731 consistently 0.001730 spotted 0.001730 geography 0.001730 insist 0.001730 monopoly 0.001729 suspicion 0.001729 stroke 0.001729 opponents 0.001729 races 0.001729 accessible 0.001728 undertaking 0.001727 cultures 0.001727 upwards 0.001726 hollywood 0.001726 contrary 0.001726 echo 0.001726 tournament 0.001726 clouds 0.001726 slide 0.001725 chaos 0.001725 permit 0.001723 owed 0.001723 catherine 0.001723 scattered 0.001722 depressed 0.001722 regret 0.001722 allies 0.001722 belonged 0.001721 traditions 0.001721 witnesses 0.001721 hiv 0.001720 prey 0.001720 intensity 0.001720 mexico 0.001719 pockets 0.001719 oak 0.001719 noble 0.001719 appeals 0.001717 themes 0.001717 dish 0.001716 nonsense 0.001716 kuwait 0.001716 disorder 0.001715 privilege 0.001715 compact 0.001714 consultant 0.001714 provincial 0.001712 performances 0.001712 prompted 0.001712 dec 0.001711 constitute 0.001711 anticipated 0.001711 instantly 0.001711 challenged 0.001711 worship 0.001710 disc 0.001708 spectrum 0.001708 surrey 0.001708 muttered 0.001707 marshall 0.001706 dangers 0.001706 competitors 0.001706 travellers 0.001705 donald 0.001705 nowadays 0.001705 cheeks 0.001704 commerce 0.001701 endless 0.001701 dimension 0.001700 boom 0.001700 bedrooms 0.001699 requested 0.001699 columns 0.001699 extending 0.001698 volumes 0.001697 geographical 0.001697 bases 0.001696 detected 0.001696 actors 0.001696 historians 0.001696 emerging 0.001695 chin 0.001695 avenue 0.001694 freely 0.001694 renewed 0.001694 equipped 0.001693 density 0.001693 steep 0.001693 forthcoming 0.001692 ranging 0.001692 rally 0.001692 jonathan 0.001691 unfortunate 0.001691 poems 0.001691 attributed 0.001691 handled 0.001690 elaborate 0.001690 karen 0.001690 determining 0.001689 suited 0.001689 kicked 0.001688 crops 0.001688 examining 0.001687 tribunal 0.001687 lily 0.001687 barrier 0.001686 broadly 0.001686 publicly 0.001686 definite 0.001686 floating 0.001685 stops 0.001685 alert 0.001684 clay 0.001682 parking 0.001682 neutral 0.001680 rubber 0.001679 essay 0.001679 rings 0.001678 christians 0.001678 pregnancy 0.001678 menu 0.001678 delegates 0.001677 wins 0.001677 acres 0.001676 sponsored 0.001676 eve 0.001676 mistakes 0.001676 restaurants 0.001675 lip 0.001675 recruitment 0.001674 invest 0.001672 mild 0.001671 identifying 0.001671 defendants 0.001671 notable 0.001671 fierce 0.001671 arose 0.001671 cats 0.001671 ties 0.001671 amateur 0.001671 indirect 0.001671 sail 0.001670 promoted 0.001668 debut 0.001667 freud 0.001666 shaped 0.001666 forgot 0.001665 receiver 0.001665 legitimate 0.001665 tune 0.001664 sensitivity 0.001664 combat 0.001662 reveals 0.001662 israeli 0.001662 rope 0.001661 illustrate 0.001661 condemned 0.001661 cliff 0.001660 campbell 0.001660 toilet 0.001659 awkward 0.001659 widow 0.001658 couples 0.001656 slid 0.001656 wisdom 0.001655 chap 0.001655 trick 0.001655 bothered 0.001655 derby 0.001654 wee 0.001654 oxfordshire 0.001654 arriving 0.001653 shake 0.001653 architect 0.001651 shower 0.001651 delegation 0.001650 artistic 0.001650 rivals 0.001650 hitherto 0.001650 absent 0.001649 adoption 0.001649 bored 0.001648 disputes 0.001648 counties 0.001648 kenneth 0.001648 charlotte 0.001647 fa 0.001647 promising 0.001646 surviving 0.001646 continent 0.001646 probability 0.001645 portfolio 0.001645 robinson 0.001644 stiff 0.001641 archbishop 0.001641 handicapped 0.001641 gather 0.001640 absorbed 0.001640 invariably 0.001639 implement 0.001639 corners 0.001639 consultants 0.001638 statute 0.001638 revised 0.001638 fitness 0.001638 holland 0.001637 funded 0.001635 performing 0.001635 brand 0.001634 suits 0.001634 shadows 0.001633 withdraw 0.001632 grasp 0.001632 gang 0.001632 replacing 0.001629 johnny 0.001628 ph 0.001628 cab 0.001628 milton 0.001628 twisted 0.001627 inherited 0.001627 technologies 0.001627 possess 0.001626 stranger 0.001625 grabbed 0.001625 prevention 0.001624 differently 0.001624 investigated 0.001622 colonial 0.001622 equality 0.001622 operator 0.001622 harsh 0.001622 borrowing 0.001622 regardless 0.001622 ambitious 0.001621 switzerland 0.001621 leaf 0.001620 finishing 0.001620 exploration 0.001619 guards 0.001619 inn 0.001619 reject 0.001619 corbett 0.001618 orchestra 0.001618 indicating 0.001618 forecast 0.001616 rushed 0.001616 magnetic 0.001616 inhabitants 0.001616 expanding 0.001616 dramatically 0.001616 pursued 0.001616 reaches 0.001615 promoting 0.001615 bore 0.001615 disappointment 0.001614 fibre 0.001614 verbal 0.001614 balls 0.001613 matched 0.001613 remembering 0.001613 flag 0.001612 vessels 0.001612 odds 0.001612 emotion 0.001611 discharge 0.001611 brass 0.001610 flood 0.001610 correspondence 0.001610 workforce 0.001609 di 0.001608 exhausted 0.001607 publishers 0.001607 adviser 0.001607 appointments 0.001606 memorial 0.001606 chelsea 0.001606 grandfather 0.001606 appreciated 0.001606 hearts 0.001605 sally 0.001605 socially 0.001605 shelter 0.001604 investments 0.001604 beef 0.001604 peoples 0.001604 sympathetic 0.001604 motivation 0.001602 rhythm 0.001602 adventure 0.001602 norway 0.001602 ceased 0.001599 empirical 0.001599 roses 0.001599 daniel 0.001599 proportions 0.001598 incidents 0.001597 tribute 0.001597 communicate 0.001597 enabling 0.001596 descriptions 0.001596 bronze 0.001596 angel 0.001595 seeks 0.001595 supper 0.001595 dismissal 0.001593 achievements 0.001592 intentions 0.001592 aggregate 0.001592 exercised 0.001592 lacking 0.001591 terror 0.001591 brussels 0.001591 brighton 0.001591 damaging 0.001590 burned 0.001590 roberts 0.001590 circulation 0.001589 sporting 0.001589 convicted 0.001589 wishing 0.001588 directory 0.001588 lads 0.001588 yer 0.001587 mick 0.001587 dennis 0.001586 championships 0.001585 vague 0.001584 attraction 0.001582 disability 0.001582 virus 0.001581 inform 0.001580 lifting 0.001580 lodge 0.001579 competence 0.001579 hint 0.001579 naval 0.001578 packages 0.001578 lectures 0.001578 spaces 0.001578 raid 0.001577 molecules 0.001577 goodness 0.001577 rolls 0.001577 actively 0.001577 custody 0.001576 distress 0.001576 cure 0.001575 tourists 0.001575 forwards 0.001574 broadcast 0.001574 punch 0.001573 processor 0.001573 seldom 0.001573 tobacco 0.001573 encouragement 0.001573 flavour 0.001572 operators 0.001572 mid 0.001572 despair 0.001572 shortage 0.001571 reflecting 0.001571 integrity 0.001571 proceeds 0.001571 seventh 0.001571 myth 0.001571 skirt 0.001570 measuring 0.001570 scales 0.001570 louise 0.001569 pays 0.001569 rightly 0.001569 remarkably 0.001569 quote 0.001569 acknowledge 0.001569 kinnock 0.001568 electronics 0.001567 pray 0.001567 goodbye 0.001566 newton 0.001565 moderate 0.001565 waved 0.001565 imprisonment 0.001564 wells 0.001564 forcing 0.001563 dick 0.001561 champions 0.001561 populations 0.001560 loads 0.001560 worthwhile 0.001560 nato 0.001560 embarrassed 0.001560 hesitated 0.001560 fraction 0.001560 parked 0.001559 swiss 0.001558 server 0.001558 rob 0.001557 conflicts 0.001557 chase 0.001557 investigating 0.001556 suite 0.001556 screaming 0.001556 specimens 0.001556 julia 0.001555 honey 0.001555 borders 0.001555 sword 0.001554 ie 0.001554 varieties 0.001554 imply 0.001554 shout 0.001554 clinic 0.001554 interviewed 0.001553 flows 0.001553 breakdown 0.001553 loving 0.001553 anderson 0.001553 parks 0.001552 midland 0.001552 custom 0.001552 whoever 0.001552 operates 0.001552 offensive 0.001552 hamilton 0.001552 exclusion 0.001551 cited 0.001551 oldest 0.001551 scandal 0.001550 scoring 0.001550 reviewed 0.001550 extract 0.001550 lively 0.001549 worrying 0.001549 favourable 0.001549 linking 0.001549 duncan 0.001548 norwich 0.001548 gentlemen 0.001548 commissioner 0.001548 transmission 0.001548 bow 0.001547 gloucestershire 0.001547 enemies 0.001547 locations 0.001546 netherlands 0.001546 evidently 0.001546 publisher 0.001546 emma 0.001546 tanks 0.001546 labelled 0.001545 buses 0.001544 nest 0.001541 conclude 0.001541 adapted 0.001541 exceptions 0.001540 mobility 0.001540 shade 0.001539 alike 0.001538 swim 0.001538 bacon 0.001538 vendor 0.001537 translation 0.001536 barriers 0.001536 republics 0.001536 remark 0.001536 fix 0.001536 avoiding 0.001535 hungary 0.001535 incomes 0.001535 tourism 0.001534 evenings 0.001534 margin 0.001534 meanings 0.001533 neighbourhood 0.001533 reportedly 0.001532 ritual 0.001532 valued 0.001531 desktop 0.001531 stimulus 0.001530 demonstrations 0.001530 strings 0.001529 dividend 0.001529 trusts 0.001529 rejection 0.001528 opponent 0.001528 hook 0.001528 relates 0.001527 observers 0.001526 borrow 0.001526 thereafter 0.001526 passive 0.001526 enthusiastic 0.001525 quid 0.001525 fortnight 0.001525 leaning 0.001525 commissioned 0.001524 emissions 0.001524 crowded 0.001524 rigid 0.001524 inclined 0.001523 killer 0.001523 dreadful 0.001523 imported 0.001521 execution 0.001521 lounge 0.001521 ham 0.001521 temperatures 0.001519 interrupted 0.001519 successor 0.001519 jordan 0.001518 mines 0.001518 drank 0.001518 bureau 0.001517 planted 0.001517 peculiar 0.001516 accent 0.001516 rabbit 0.001516 nightmare 0.001516 corruption 0.001516 greeted 0.001516 verse 0.001515 speaks 0.001514 tray 0.001514 racial 0.001514 coastal 0.001514 tapes 0.001514 straw 0.001513 creates 0.001513 blocked 0.001513 meantime 0.001513 environments 0.001512 comedy 0.001512 cupboard 0.001512 rover 0.001512 appearing 0.001511 aberdeen 0.001511 stamp 0.001511 profound 0.001509 supplement 0.001509 referendum 0.001509 honestly 0.001509 julie 0.001508 campaigns 0.001508 structured 0.001508 matrix 0.001507 suspension 0.001507 comply 0.001507 eager 0.001507 scared 0.001507 journalist 0.001507 salmon 0.001506 slope 0.001505 davis 0.001504 deliberate 0.001504 envelope 0.001503 grief 0.001503 lined 0.001503 insight 0.001501 pet 0.001500 deck 0.001500 sensation 0.001498 sequences 0.001498 affects 0.001498 enhance 0.001498 charm 0.001498 tactics 0.001497 accurately 0.001497 bias 0.001496 hull 0.001496 divine 0.001496 grandmother 0.001496 verdict 0.001496 assessing 0.001496 sauce 0.001495 cheltenham 0.001495 shelf 0.001495 interference 0.001494 deemed 0.001494 collar 0.001494 waist 0.001494 applicable 0.001493 examinations 0.001493 jan 0.001493 immense 0.001492 futures 0.001492 meets 0.001492 blacks 0.001490 onwards 0.001489 expects 0.001489 raises 0.001489 comparative 0.001489 norfolk 0.001489 backs 0.001488 unconscious 0.001488 belonging 0.001488 genuinely 0.001488 bargaining 0.001487 accounted 0.001487 awake 0.001486 coins 0.001486 adjustment 0.001486 dishes 0.001486 construct 0.001486 proposition 0.001485 expressing 0.001485 vessel 0.001484 practically 0.001484 turkish 0.001481 reserved 0.001481 affection 0.001481 albeit 0.001481 celebrate 0.001481 merger 0.001480 touching 0.001480 shallow 0.001479 charming 0.001479 fuck 0.001478 workshops 0.001478 nationalist 0.001478 refusing 0.001478 nearer 0.001478 broader 0.001477 propose 0.001476 counselling 0.001476 worthy 0.001476 requests 0.001475 bastard 0.001475 blamed 0.001475 uncomfortable 0.001474 liberty 0.001474 bishops 0.001474 dioxide 0.001474 lowered 0.001473 capture 0.001473 spreading 0.001473 flash 0.001473 shipping 0.001473 representations 0.001472 convincing 0.001472 honours 0.001472 faded 0.001472 protestant 0.001471 hiding 0.001471 yugoslavia 0.001471 citizen 0.001470 beneficial 0.001470 tel 0.001470 curtain 0.001470 thompson 0.001470 handful 0.001469 sexuality 0.001469 woke 0.001469 matching 0.001469 productive 0.001469 cow 0.001469 believing 0.001469 trail 0.001469 coffin 0.001469 makers 0.001469 diversity 0.001468 seal 0.001468 import 0.001468 bonus 0.001467 disappear 0.001466 accommodate 0.001466 specialists 0.001466 secrets 0.001466 km 0.001466 academy 0.001466 wasted 0.001465 frustration 0.001464 recommendation 0.001461 museums 0.001460 cruel 0.001460 independently 0.001460 appealed 0.001459 loves 0.001457 minimal 0.001457 designated 0.001457 el 0.001457 sunderland 0.001457 commit 0.001457 churchill 0.001456 territories 0.001455 threats 0.001454 forgive 0.001454 catching 0.001454 interval 0.001453 ghost 0.001453 correlation 0.001453 breeze 0.001452 isle 0.001452 suspicious 0.001452 measurements 0.001452 civilian 0.001451 drops 0.001450 questioning 0.001450 layers 0.001450 certainty 0.001450 removing 0.001450 overwhelming 0.001450 maturity 0.001449 laying 0.001448 fragments 0.001448 executed 0.001448 historian 0.001447 symbolic 0.001447 fatal 0.001447 marble 0.001447 max 0.001447 keeper 0.001446 induced 0.001446 ici 0.001446 arsenal 0.001446 rats 0.001446 presenting 0.001445 rod 0.001445 reviews 0.001443 neighbouring 0.001443 gods 0.001442 foundations 0.001442 surfaces 0.001442 crude 0.001442 duck 0.001440 belgium 0.001440 crashed 0.001439 shifted 0.001439 insects 0.001438 advances 0.001437 inspiration 0.001437 predict 0.001437 dimensions 0.001437 pavement 0.001437 validity 0.001436 ugly 0.001436 lasted 0.001435 irrelevant 0.001435 complain 0.001434 urge 0.001433 loaded 0.001433 hostility 0.001432 sin 0.001432 profitable 0.001432 fled 0.001431 wealthy 0.001431 dating 0.001431 sandy 0.001430 bears 0.001430 alison 0.001430 stanley 0.001429 phenomena 0.001429 lamp 0.001429 clergy 0.001428 horizon 0.001428 intermediate 0.001428 supplier 0.001428 conscience 0.001428 al 0.001427 powder 0.001427 jet 0.001427 pensioners 0.001427 ali 0.001426 sixties 0.001425 trips 0.001425 elder 0.001425 loyal 0.001425 sweat 0.001425 soup 0.001423 pole 0.001423 soap 0.001422 pig 0.001422 paths 0.001422 popularity 0.001420 basket 0.001420 struggled 0.001419 nerve 0.001419 episode 0.001418 butler 0.001418 betty 0.001418 oven 0.001418 crowds 0.001418 bend 0.001417 dropping 0.001416 consisted 0.001416 lorry 0.001416 positively 0.001415 insufficient 0.001415 programming 0.001415 denmark 0.001415 nails 0.001415 eligible 0.001414 mysterious 0.001414 lap 0.001413 drives 0.001413 clash 0.001412 burns 0.001412 collaboration 0.001412 devised 0.001411 heath 0.001411 spencer 0.001411 enforcement 0.001410 ambition 0.001410 organ 0.001410 managerial 0.001410 molecular 0.001409 sculpture 0.001409 featured 0.001409 olympic 0.001409 carter 0.001409 neatly 0.001408 embassy 0.001408 reinforced 0.001407 fires 0.001407 swallowed 0.001407 exclude 0.001406 treating 0.001405 linear 0.001405 fantasy 0.001405 addresses 0.001405 samuel 0.001405 caution 0.001404 interpret 0.001404 kennedy 0.001404 detect 0.001404 barn 0.001403 substances 0.001403 abilities 0.001403 barnes 0.001403 migration 0.001403 cared 0.001402 ron 0.001402 troubled 0.001402 flora 0.001402 blew 0.001402 prospective 0.001400 behalf 0.001400 preston 0.001399 implication 0.001399 embarrassment 0.001398 diverse 0.001398 executives 0.001398 parental 0.001398 importantly 0.001398 decorated 0.001398 continually 0.001398 furious 0.001397 kim 0.001396 vi 0.001396 cigarettes 0.001395 fiscal 0.001395 definitions 0.001395 auction 0.001395 appreciation 0.001394 ladder 0.001394 commitments 0.001394 forehead 0.001394 striker 0.001394 soccer 0.001393 vienna 0.001391 beans 0.001391 rumours 0.001391 reductions 0.001391 publish 0.001391 solar 0.001391 petition 0.001390 hurried 0.001390 gabriel 0.001389 expressions 0.001389 prejudice 0.001389 useless 0.001389 practise 0.001389 edwards 0.001389 pence 0.001389 hits 0.001388 negotiating 0.001388 russians 0.001388 relied 0.001387 yep 0.001386 semantic 0.001386 inherent 0.001386 serum 0.001385 abandon 0.001385 specification 0.001385 apartment 0.001384 philosophical 0.001383 misleading 0.001383 maxwell 0.001383 ferry 0.001382 cups 0.001382 rounded 0.001382 sunshine 0.001382 utterly 0.001382 frowned 0.001382 bureaucracy 0.001380 hunter 0.001380 nonetheless 0.001380 ridge 0.001380 partially 0.001380 rage 0.001380 battery 0.001379 bleeding 0.001379 lending 0.001379 pm 0.001379 criterion 0.001379 planting 0.001379 pubs 0.001379 counsel 0.001379 rounds 0.001378 chat 0.001378 bloke 0.001378 criticised 0.001377 purple 0.001377 installation 0.001377 somerset 0.001376 worries 0.001376 posed 0.001376 dignity 0.001375 negotiate 0.001375 loch 0.001375 sacred 0.001374 unpleasant 0.001374 enclosed 0.001374 senate 0.001374 incentive 0.001374 tips 0.001374 devon 0.001373 analyse 0.001373 settlements 0.001372 tense 0.001372 expectation 0.001372 budgets 0.001371 sunlight 0.001371 clauses 0.001371 trophy 0.001371 analyses 0.001371 selective 0.001370 exhibitions 0.001370 joyce 0.001369 doubled 0.001369 lengths 0.001369 bite 0.001369 torn 0.001369 symbols 0.001368 elite 0.001368 carved 0.001368 receives 0.001368 isabel 0.001367 bold 0.001367 explicitly 0.001367 exploitation 0.001366 masses 0.001366 dock 0.001366 burnt 0.001365 diesel 0.001364 lisa 0.001364 palm 0.001364 protective 0.001364 deserve 0.001363 folded 0.001363 founder 0.001363 bang 0.001362 grows 0.001362 willie 0.001362 fortunate 0.001362 defensive 0.001360 islamic 0.001360 br 0.001360 evolved 0.001359 compliance 0.001359 los 0.001359 varies 0.001359 objections 0.001358 qualify 0.001358 mediterranean 0.001358 pretend 0.001358 occurring 0.001358 guinness 0.001357 objection 0.001356 spots 0.001356 prints 0.001355 austria 0.001355 respected 0.001355 sanctions 0.001355 repeatedly 0.001355 thesis 0.001354 temporarily 0.001354 lasting 0.001354 hired 0.001354 deserted 0.001353 eagle 0.001353 retreat 0.001353 kindly 0.001352 pronounced 0.001352 ozone 0.001352 pursuit 0.001352 react 0.001351 phoned 0.001350 chains 0.001349 carrier 0.001349 jeans 0.001349 draws 0.001349 feedback 0.001348 invested 0.001348 booked 0.001348 consisting 0.001348 update 0.001347 qualification 0.001347 tales 0.001347 counted 0.001347 monster 0.001346 lend 0.001346 drift 0.001346 handicap 0.001346 guided 0.001346 continuity 0.001345 mask 0.001345 pin 0.001345 eighth 0.001345 temper 0.001344 cooked 0.001343 craig 0.001343 negligence 0.001343 cave 0.001342 dependence 0.001342 slim 0.001340 cornwall 0.001340 organise 0.001340 swift 0.001340 novels 0.001340 sorted 0.001340 misery 0.001339 exit 0.001339 coupled 0.001339 assembled 0.001339 wimbledon 0.001339 diameter 0.001338 toward 0.001337 pour 0.001337 codes 0.001337 centred 0.001337 dot 0.001337 invisible 0.001336 invented 0.001336 pete 0.001335 stem 0.001335 upright 0.001335 pump 0.001334 faculty 0.001334 specify 0.001333 offenders 0.001333 omitted 0.001333 sara 0.001332 squadron 0.001332 blown 0.001331 challenges 0.001331 bacteria 0.001331 ageing 0.001331 breasts 0.001330 contempt 0.001330 owe 0.001330 jewellery 0.001330 protests 0.001329 privatisation 0.001329 phrases 0.001329 comparisons 0.001328 diagram 0.001328 ash 0.001328 mathematical 0.001328 ballet 0.001327 jail 0.001327 proteins 0.001327 inappropriate 0.001326 resting 0.001326 aggression 0.001326 subjected 0.001325 invite 0.001325 sentenced 0.001324 angles 0.001324 poles 0.001324 persistent 0.001324 terribly 0.001324 log 0.001322 ingredients 0.001322 screening 0.001322 sophie 0.001322 alien 0.001321 gaining 0.001321 calcium 0.001321 admits 0.001321 doubtful 0.001321 photo 0.001319 lean 0.001319 bowel 0.001318 classified 0.001318 sustain 0.001318 allowances 0.001318 flames 0.001318 overhead 0.001318 telecommunications 0.001316 revenues 0.001315 bunch 0.001315 needle 0.001314 accountants 0.001314 sphere 0.001314 rangers 0.001313 architectural 0.001313 guessed 0.001313 legend 0.001313 predominantly 0.001313 abortion 0.001313 challenging 0.001313 harvey 0.001312 rebels 0.001312 gravel 0.001312 surroundings 0.001311 healing 0.001311 blues 0.001310 guys 0.001309 maastricht 0.001309 emergence 0.001309 answering 0.001309 inheritance 0.001309 intact 0.001308 repairs 0.001308 saint 0.001307 marxist 0.001307 santa 0.001307 explored 0.001307 beautifully 0.001306 incredible 0.001306 convince 0.001306 celebration 0.001305 considers 0.001305 ignoring 0.001305 ipswich 0.001305 script 0.001304 submit 0.001303 restriction 0.001303 tragic 0.001303 flights 0.001303 cooperation 0.001303 abruptly 0.001303 mainstream 0.001302 revealing 0.001301 convert 0.001301 trades 0.001301 musicians 0.001301 morality 0.001299 humanity 0.001299 pint 0.001299 consist 0.001299 optimistic 0.001299 respectable 0.001298 openly 0.001298 fits 0.001298 layout 0.001298 licensing 0.001298 policemen 0.001297 coin 0.001297 harold 0.001297 boxing 0.001296 ringing 0.001296 lion 0.001296 puzzled 0.001296 shining 0.001295 disturbing 0.001295 painter 0.001295 swiftly 0.001295 competent 0.001295 traders 0.001295 horizontal 0.001295 applicant 0.001295 decisive 0.001295 spatial 0.001295 preventing 0.001294 carrie 0.001294 unacceptable 0.001294 vocabulary 0.001293 depended 0.001293 permanently 0.001293 seemingly 0.001292 coventry 0.001292 modes 0.001292 compound 0.001292 respective 0.001292 gould 0.001292 engagement 0.001291 canterbury 0.001291 bombs 0.001291 fathers 0.001291 probe 0.001290 carers 0.001290 syndrome 0.001289 protecting 0.001288 harmony 0.001288 hut 0.001288 saudi 0.001287 sealed 0.001287 drag 0.001287 sits 0.001286 erosion 0.001286 stretching 0.001286 prescribed 0.001286 lamont 0.001285 assigned 0.001285 practised 0.001285 negotiated 0.001284 integral 0.001284 conceived 0.001284 protested 0.001284 sickness 0.001283 toxic 0.001283 testament 0.001283 fetch 0.001283 redundant 0.001283 virginia 0.001282 throne 0.001282 lemon 0.001282 booking 0.001281 instructed 0.001281 privately 0.001281 belongs 0.001281 polytechnic 0.001281 basin 0.001281 solo 0.001281 envisaged 0.001279 alfred 0.001279 fertility 0.001279 nerves 0.001279 gravity 0.001279 holders 0.001279 safer 0.001278 cooper 0.001278 christie 0.001278 murray 0.001278 sovereignty 0.001277 cows 0.001277 cancelled 0.001277 scrutiny 0.001275 applicants 0.001275 probable 0.001275 tempted 0.001274 static 0.001274 initiated 0.001273 hydrogen 0.001273 consulted 0.001272 fame 0.001272 patience 0.001272 grin 0.001271 geoff 0.001271 sponsorship 0.001271 accountability 0.001271 mozart 0.001270 associate 0.001270 obscure 0.001270 territorial 0.001270 silently 0.001270 purchasing 0.001270 seasons 0.001270 checks 0.001270 recipe 0.001269 documentation 0.001269 shield 0.001269 auditors 0.001269 yo 0.001269 fax 0.001269 lakes 0.001269 robyn 0.001268 mineral 0.001268 neglect 0.001268 packet 0.001268 defending 0.001268 decrease 0.001267 flies 0.001267 floors 0.001267 strengthen 0.001266 youngest 0.001266 ralph 0.001265 consult 0.001265 likewise 0.001265 bradford 0.001265 translated 0.001265 defender 0.001264 preceding 0.001264 communists 0.001263 cognitive 0.001263 sa 0.001263 corps 0.001263 synthesis 0.001262 miserable 0.001262 regulatory 0.001262 revival 0.001261 exploit 0.001261 contexts 0.001259 debates 0.001259 hampshire 0.001259 likelihood 0.001258 venue 0.001258 corn 0.001258 shelves 0.001257 comic 0.001257 calculations 0.001256 comparatively 0.001256 holdings 0.001256 korean 0.001255 highlight 0.001255 attacking 0.001255 linda 0.001254 gothic 0.001254 stir 0.001254 fusion 0.001254 willingness 0.001254 yeltsin 0.001253 rewards 0.001253 lump 0.001253 creditors 0.001252 intel 0.001252 phillips 0.001252 shy 0.001252 viewing 0.001252 questionnaire 0.001252 scarlet 0.001252 precision 0.001251 conferences 0.001251 indians 0.001251 trevor 0.001251 watson 0.001251 juliet 0.001250 conventions 0.001249 deputies 0.001249 gray 0.001249 constance 0.001248 galleries 0.001247 seated 0.001247 adverse 0.001246 pencil 0.001246 incurred 0.001246 seventeenth 0.001246 tommy 0.001246 bile 0.001245 tiles 0.001245 outlook 0.001245 sticks 0.001245 truck 0.001244 engage 0.001244 heels 0.001244 jokes 0.001244 leaflet 0.001243 brigade 0.001243 merit 0.001243 eddie 0.001243 headmaster 0.001243 steven 0.001243 reporter 0.001243 stare 0.001243 tear 0.001242 vice 0.001242 twist 0.001242 sang 0.001242 emphasised 0.001242 dorothy 0.001242 telegraph 0.001242 chambers 0.001241 borrowed 0.001239 regiment 0.001239 trustees 0.001239 illustration 0.001239 ideally 0.001239 tons 0.001238 neglected 0.001238 anonymous 0.001238 shifts 0.001238 intimate 0.001237 entity 0.001237 wiped 0.001237 concentrating 0.001237 infected 0.001236 negotiation 0.001236 solved 0.001236 fond 0.001236 parker 0.001236 orthodox 0.001236 lovers 0.001236 aesthetic 0.001236 girlfriend 0.001235 highlighted 0.001235 usage 0.001235 polite 0.001235 fulfil 0.001234 celtic 0.001234 reasoning 0.001234 labels 0.001233 counting 0.001233 unaware 0.001233 lace 0.001233 presidency 0.001233 marking 0.001232 referee 0.001232 suffolk 0.001231 blast 0.001231 porter 0.001231 jazz 0.001231 lancaster 0.001231 eec 0.001231 sigh 0.001231 turner 0.001230 prolonged 0.001230 appearances 0.001230 parade 0.001230 panels 0.001230 fantastic 0.001230 zones 0.001229 developers 0.001229 seminar 0.001229 beam 0.001229 fashionable 0.001228 carol 0.001228 motorway 0.001228 foolish 0.001228 criticisms 0.001228 lobby 0.001228 camps 0.001228 intake 0.001226 margins 0.001226 receipt 0.001226 toys 0.001225 shoe 0.001225 causal 0.001224 compatible 0.001224 convey 0.001224 inclusion 0.001223 herbert 0.001223 southampton 0.001223 dual 0.001223 lengthy 0.001223 rating 0.001222 earning 0.001222 implicit 0.001222 diamond 0.001221 charts 0.001221 cameras 0.001221 pipes 0.001219 tent 0.001219 proving 0.001219 pie 0.001219 accord 0.001219 jumping 0.001218 perceptions 0.001218 adjusted 0.001218 propaganda 0.001218 mistress 0.001218 romania 0.001218 abolition 0.001218 plea 0.001217 confirmation 0.001217 pigs 0.001217 eleanor 0.001216 bargain 0.001216 constituted 0.001216 fry 0.001215 restructuring 0.001215 reduces 0.001215 confronted 0.001215 assignment 0.001215 critic 0.001215 subjective 0.001214 toast 0.001214 curiosity 0.001214 cheerful 0.001214 width 0.001213 twins 0.001213 relaxation 0.001213 polished 0.001213 cd 0.001213 legally 0.001212 priests 0.001212 lacked 0.001211 financing 0.001211 palestinian 0.001211 owl 0.001211 advertisement 0.001211 savage 0.001210 costing 0.001210 gall 0.001210 ft 0.001209 adequately 0.001209 drain 0.001209 shelley 0.001209 disadvantage 0.001209 sacrifice 0.001209 appealing 0.001209 reproduction 0.001209 shepherd 0.001208 architects 0.001208 hitting 0.001208 ruined 0.001207 timetable 0.001207 ambassador 0.001207 exotic 0.001207 passages 0.001206 hammer 0.001206 warrant 0.001206 assisted 0.001206 reversed 0.001206 switching 0.001205 thumb 0.001205 deprived 0.001205 admired 0.001205 cautious 0.001204 borne 0.001204 gazed 0.001204 salad 0.001203 prizes 0.001203 mistaken 0.001202 ted 0.001202 z 0.001202 array 0.001202 takeover 0.001202 ignorance 0.001202 renaissance 0.001201 penalties 0.001201 attributes 0.001201 redundancy 0.001201 imposing 0.001201 theology 0.001199 mist 0.001199 ethical 0.001199 grid 0.001198 pools 0.001198 canvas 0.001198 criticized 0.001198 salvation 0.001198 tenth 0.001198 warn 0.001198 vanished 0.001197 blanket 0.001197 blanche 0.001196 mercury 0.001196 bp 0.001195 organising 0.001195 pricing 0.001195 comparing 0.001194 halfway 0.001194 sincerely 0.001194 skull 0.001194 indicators 0.001193 teenage 0.001193 revision 0.001193 responding 0.001193 harvest 0.001192 claire 0.001192 defining 0.001191 amnesty 0.001191 kilometres 0.001190 photography 0.001190 jointly 0.001190 highlights 0.001190 lighter 0.001190 caribbean 0.001190 hay 0.001190 scholars 0.001190 disastrous 0.001189 destination 0.001188 editorial 0.001188 hunger 0.001188 witnessed 0.001188 li 0.001188 delicious 0.001188 offset 0.001188 confidential 0.001188 costly 0.001187 rode 0.001187 parameters 0.001186 terrified 0.001186 victor 0.001185 heated 0.001185 priced 0.001185 colony 0.001185 restraint 0.001185 instinct 0.001184 prosperity 0.001184 fury 0.001184 subsidies 0.001183 defences 0.001183 collector 0.001182 contacted 0.001182 darwin 0.001181 strengths 0.001180 christine 0.001180 rebel 0.001180 sank 0.001180 valuation 0.001180 alpha 0.001178 knight 0.001178 announce 0.001178 bride 0.001177 ports 0.001177 apparatus 0.001176 photographer 0.001176 preservation 0.001176 lifestyle 0.001176 katherine 0.001175 tutor 0.001175 calendar 0.001175 assessments 0.001175 declining 0.001175 thorough 0.001175 serial 0.001174 eliminate 0.001174 cabin 0.001174 clue 0.001173 provinces 0.001173 medal 0.001173 genius 0.001172 actress 0.001172 helicopter 0.001172 analysts 0.001171 breathe 0.001171 disciplines 0.001171 mercy 0.001170 searched 0.001170 inability 0.001170 restrict 0.001170 czechoslovakia 0.001170 dominance 0.001170 rested 0.001170 pilots 0.001170 conspiracy 0.001169 autonomous 0.001169 intends 0.001169 nicholson 0.001169 portion 0.001169 solidarity 0.001168 fur 0.001167 atomic 0.001167 incorporate 0.001165 warming 0.001165 blade 0.001165 projected 0.001165 colourful 0.001164 winding 0.001164 trent 0.001163 excluding 0.001163 dies 0.001163 hip 0.001162 specialised 0.001162 retire 0.001162 angrily 0.001161 majesty 0.001161 adjust 0.001161 ml 0.001161 ranges 0.001160 hollow 0.001160 chapman 0.001160 pylori 0.001160 modelling 0.001160 graduate 0.001158 poorly 0.001158 pose 0.001157 dug 0.001157 provoked 0.001157 ashamed 0.001157 gilbert 0.001157 concessions 0.001157 pains 0.001156 surrender 0.001156 lebanon 0.001156 reconstruction 0.001155 flown 0.001155 sovereign 0.001155 embarrassing 0.001155 individually 0.001155 strengthened 0.001155 delays 0.001154 illustrates 0.001154 egyptian 0.001154 sweeping 0.001154 bitterly 0.001154 efficiently 0.001154 respondents 0.001154 videos 0.001153 wicked 0.001153 amid 0.001153 elbow 0.001153 collins 0.001153 submission 0.001153 angeles 0.001153 jaw 0.001153 stepping 0.001152 glorious 0.001152 coherent 0.001152 amended 0.001152 dig 0.001151 jersey 0.001151 bobby 0.001150 lothian 0.001150 rat 0.001150 depths 0.001150 annually 0.001149 claudia 0.001149 boyfriend 0.001149 delightful 0.001149 racism 0.001149 steering 0.001149 portugal 0.001149 tokyo 0.001149 arbitrary 0.001148 richards 0.001148 cleaned 0.001148 bat 0.001148 chicago 0.001148 evaluate 0.001148 ordering 0.001147 signature 0.001147 heroes 0.001147 guides 0.001146 shah 0.001146 sandwich 0.001146 abolished 0.001145 licensed 0.001145 adjacent 0.001145 clarity 0.001145 screamed 0.001145 lid 0.001144 comprising 0.001144 psychiatric 0.001144 temptation 0.001144 knit 0.001144 recordings 0.001143 spelling 0.001143 practitioner 0.001142 weird 0.001142 immigration 0.001142 trembling 0.001142 swan 0.001141 fined 0.001141 chester 0.001141 shattered 0.001140 politician 0.001140 flung 0.001140 et 0.001140 unchanged 0.001140 athens 0.001140 towers 0.001140 expedition 0.001138 researcher 0.001138 exchanges 0.001138 calculation 0.001138 lawn 0.001138 graduates 0.001137 imf 0.001137 curved 0.001137 carl 0.001137 evolutionary 0.001137 pursuing 0.001136 revenge 0.001136 fever 0.001136 dilemma 0.001136 miracle 0.001136 practising 0.001135 failures 0.001135 slice 0.001135 angela 0.001134 electorate 0.001134 biology 0.001133 appraisal 0.001133 formidable 0.001133 disciplinary 0.001133 occurrence 0.001132 mounting 0.001132 lexical 0.001132 closest 0.001131 madame 0.001131 needles 0.001130 reagan 0.001130 longest 0.001130 blonde 0.001129 privacy 0.001129 grim 0.001129 wines 0.001129 equations 0.001128 polls 0.001128 limbs 0.001127 hp 0.001127 paula 0.001127 addressing 0.001126 slopes 0.001126 homeless 0.001126 bombing 0.001126 merseyside 0.001125 tours 0.001125 hereford 0.001125 descent 0.001125 pact 0.001125 airline 0.001125 cheshire 0.001125 proceeded 0.001125 appalling 0.001124 muslim 0.001124 courtesy 0.001124 worlds 0.001124 gradual 0.001124 shifting 0.001123 organisers 0.001123 frames 0.001123 governed 0.001123 pa 0.001123 blake 0.001123 fort 0.001123 sticking 0.001123 gossip 0.001123 interfere 0.001123 minerals 0.001122 matt 0.001122 supermarket 0.001122 approve 0.001121 reynolds 0.001121 marcus 0.001121 sack 0.001120 oz 0.001118 planes 0.001118 writings 0.001118 legacy 0.001117 tidy 0.001117 invention 0.001116 von 0.001116 gaps 0.001116 differing 0.001115 jason 0.001115 athelstan 0.001115 troubles 0.001114 ashley 0.001113 smallest 0.001113 merits 0.001113 specimen 0.001112 pulse 0.001112 interpretations 0.001112 glimpse 0.001112 outdoor 0.001112 atoms 0.001111 wrist 0.001111 renewal 0.001110 incidentally 0.001110 sweep 0.001110 interactions 0.001109 bizarre 0.001109 remedies 0.001109 loudly 0.001109 listing 0.001109 realm 0.001108 manufactured 0.001108 mainland 0.001108 annie 0.001107 flame 0.001107 crews 0.001107 maurice 0.001107 occupy 0.001106 gospel 0.001106 surgeon 0.001106 hatred 0.001106 bt 0.001105 amused 0.001105 exceed 0.001105 edited 0.001105 utility 0.001104 trusted 0.001104 bosnia 0.001104 conversations 0.001104 jam 0.001104 laboratories 0.001103 imaginative 0.001103 orientation 0.001103 recycling 0.001102 wartime 0.001102 crushed 0.001102 transmitted 0.001102 reid 0.001102 frightening 0.001102 scream 0.001102 frustrated 0.001101 indirectly 0.001101 flour 0.001101 modification 0.001101 laser 0.001101 cleaner 0.001100 qualifying 0.001100 leap 0.001100 vocational 0.001098 movies 0.001098 bailey 0.001098 rabbits 0.001098 trainer 0.001098 merchants 0.001098 foul 0.001097 allegedly 0.001097 biscuits 0.001097 ho 0.001097 speeds 0.001096 motive 0.001096 aluminium 0.001096 chopped 0.001095 authorised 0.001095 decay 0.001095 axis 0.001095 configuration 0.001095 bridges 0.001095 blowing 0.001095 drill 0.001095 hardy 0.001094 clive 0.001094 arrow 0.001094 allan 0.001094 geneva 0.001094 toes 0.001093 mucosa 0.001093 exploring 0.001093 reluctance 0.001092 arnold 0.001092 organisational 0.001091 protocol 0.001091 calculate 0.001091 flowing 0.001090 pine 0.001090 census 0.001090 databases 0.001090 eldest 0.001089 vegetation 0.001089 eventual 0.001089 queue 0.001089 theirs 0.001089 exchanged 0.001088 followers 0.001088 appoint 0.001088 husbands 0.001088 enjoyment 0.001088 yacht 0.001087 traced 0.001087 medau 0.001087 kicking 0.001087 advertisements 0.001086 smashed 0.001086 speeches 0.001086 spontaneous 0.001086 superintendent 0.001086 ensured 0.001086 stimulate 0.001085 journals 0.001084 mighty 0.001084 skipper 0.001084 marsh 0.001084 weekends 0.001084 exploded 0.001083 vivid 0.001083 mice 0.001082 offshore 0.001082 motives 0.001082 corporations 0.001082 sideways 0.001082 fare 0.001082 organisms 0.001081 anc 0.001080 organs 0.001080 hi 0.001080 woodland 0.001078 wounds 0.001078 cracked 0.001077 withdrew 0.001077 faithful 0.001077 reckoned 0.001077 bail 0.001076 paradise 0.001076 missiles 0.001076 noisy 0.001076 venice 0.001075 sofa 0.001075 graph 0.001075 inserted 0.001075 reminder 0.001075 rocky 0.001075 cage 0.001074 default 0.001074 ministerial 0.001074 patrol 0.001073 audiences 0.001073 heather 0.001072 accompanying 0.001072 innovative 0.001072 exile 0.001072 horn 0.001072 injection 0.001072 preparations 0.001071 romance 0.001071 prayers 0.001071 strongest 0.001071 daylight 0.001071 shields 0.001071 constitutes 0.001070 disclosure 0.001070 confrontation 0.001070 detached 0.001070 echoed 0.001070 mould 0.001069 strangely 0.001069 squeeze 0.001069 exploited 0.001069 stained 0.001069 liaison 0.001068 incentives 0.001068 cease 0.001068 newman 0.001068 deserved 0.001068 extends 0.001068 mitchell 0.001067 armies 0.001067 sexually 0.001067 keynes 0.001067 squeezed 0.001066 facilitate 0.001065 choir 0.001065 fog 0.001065 resentment 0.001065 ballot 0.001065 bells 0.001065 gloves 0.001065 amazed 0.001064 bc 0.001064 ferguson 0.001064 sydney 0.001064 leonard 0.001064 chorus 0.001063 ram 0.001063 lea 0.001063 gibson 0.001063 kenya 0.001062 firing 0.001062 commentators 0.001062 spray 0.001062 stems 0.001062 assumes 0.001062 par 0.001062 bin 0.001061 acids 0.001061 stating 0.001061 mixing 0.001061 richardson 0.001061 technically 0.001060 conceptual 0.001060 nationalism 0.001060 maker 0.001060 texas 0.001060 erected 0.001059 colitis 0.001059 ambitions 0.001059 ellen 0.001059 aiming 0.001059 economically 0.001059 reads 0.001059 arena 0.001059 dirt 0.001059 telecom 0.001057 entertaining 0.001057 bladder 0.001057 settings 0.001056 unusually 0.001056 dividends 0.001056 compounds 0.001056 gaulle 0.001056 unwilling 0.001055 patent 0.001055 ba 0.001055 tops 0.001055 enforce 0.001055 adapt 0.001055 norm 0.001055 metals 0.001055 civic 0.001055 nelson 0.001055 gregory 0.001054 macdonald 0.001054 tastes 0.001054 wembley 0.001054 bourgeois 0.001054 meaningful 0.001054 booklet 0.001053 dominate 0.001052 reluctantly 0.001052 phases 0.001052 privileged 0.001052 infrastructure 0.001051 resisted 0.001051 stirling 0.001051 jacques 0.001051 aloud 0.001051 lanes 0.001051 threshold 0.001051 combining 0.001051 bankruptcy 0.001051 fruits 0.001051 greenhouse 0.001050 copyright 0.001050 harrison 0.001050 freezing 0.001050 tubes 0.001049 colonies 0.001049 satisfying 0.001049 rebellion 0.001049 bucket 0.001049 associates 0.001049 dawson 0.001048 nuisance 0.001048 ulcer 0.001048 intervene 0.001048 reservations 0.001048 sunny 0.001048 shells 0.001047 fraser 0.001047 meredith 0.001047 holly 0.001047 saints 0.001047 disappointing 0.001046 prestige 0.001046 defended 0.001046 constructive 0.001046 guarantees 0.001045 noting 0.001045 sensed 0.001045 cape 0.001045 insists 0.001045 glow 0.001045 outset 0.001044 needing 0.001044 grammatical 0.001044 pouring 0.001044 unreasonable 0.001044 canon 0.001043 develops 0.001043 ironically 0.001043 frost 0.001043 socks 0.001043 simplest 0.001042 vaguely 0.001042 cart 0.001042 caravan 0.001042 dan 0.001042 enforced 0.001042 presently 0.001042 baldwin 0.001041 casualties 0.001041 maths 0.001041 administered 0.001041 warehouse 0.001040 jamie 0.001040 resign 0.001040 democrat 0.001040 credibility 0.001040 stitches 0.001039 gerald 0.001039 folly 0.001039 pots 0.001039 swedish 0.001039 monarchy 0.001039 lieutenant 0.001037 employing 0.001037 refuge 0.001037 quarry 0.001036 rude 0.001036 carpets 0.001036 sixteenth 0.001036 heir 0.001036 drum 0.001036 denis 0.001036 dislike 0.001036 hood 0.001035 hartlepool 0.001035 donna 0.001035 duly 0.001035 rider 0.001035 northampton 0.001035 scent 0.001035 versus 0.001035 gardening 0.001035 cakes 0.001035 immune 0.001035 knocking 0.001035 stripped 0.001034 geological 0.001034 amendments 0.001034 businessman 0.001034 supplementary 0.001033 moor 0.001033 mac 0.001033 hedge 0.001033 fist 0.001033 blackpool 0.001032 spine 0.001032 tensions 0.001031 promptly 0.001031 frankly 0.001031 swinging 0.001031 vegetable 0.001030 wheat 0.001030 vigorous 0.001030 rainbow 0.001029 fortunes 0.001029 builders 0.001029 damned 0.001029 fifties 0.001029 participating 0.001029 richmond 0.001029 poison 0.001029 uneasy 0.001029 ellis 0.001029 opposing 0.001028 aspirations 0.001028 jerusalem 0.001027 indigenous 0.001027 gloom 0.001027 jungle 0.001027 windsor 0.001027 fighter 0.001027 toy 0.001027 sean 0.001026 mandatory 0.001026 treasure 0.001026 embrace 0.001026 sri 0.001026 congregation 0.001025 behavioural 0.001025 adams 0.001025 sacked 0.001025 beaches 0.001024 termed 0.001024 businessmen 0.001024 admiration 0.001024 amusement 0.001024 peaks 0.001024 smiles 0.001024 stakes 0.001023 consistency 0.001023 plasma 0.001023 prevalence 0.001023 julian 0.001023 smoothly 0.001023 vacuum 0.001023 foreigners 0.001022 janet 0.001022 argentina 0.001022 bricks 0.001022 packaging 0.001022 habitat 0.001022 illustrations 0.001021 tucked 0.001021 assure 0.001021 veteran 0.001021 whatsoever 0.001021 shaw 0.001021 viable 0.001021 heights 0.001021 freight 0.001021 designers 0.001021 leith 0.001021 drainage 0.001020 ego 0.001020 ankle 0.001020 emailinc 0.001020 conceded 0.001020 quicker 0.001020 arch 0.001019 strangers 0.001019 cluster 0.001017 emphasise 0.001017 fragment 0.001016 wardrobe 0.001016 aboard 0.001016 rhetoric 0.001016 milan 0.001016 stockton 0.001016 riot 0.001016 momentum 0.001016 lecturer 0.001016 absurd 0.001016 aviation 0.001016 marched 0.001015 pleaded 0.001015 overlap 0.001015 weaknesses 0.001015 irony 0.001015 simpler 0.001015 outbreak 0.001014 fold 0.001014 loop 0.001014 pepper 0.001014 scratch 0.001014 glen 0.001014 principally 0.001014 marathon 0.001014 melissa 0.001014 preferences 0.001014 unsuccessful 0.001013 arabia 0.001013 grab 0.001013 digging 0.001013 covenant 0.001013 innocence 0.001012 ninth 0.001012 charging 0.001012 keyboard 0.001012 wandered 0.001012 locks 0.001012 generating 0.001012 morale 0.001012 optional 0.001011 simplicity 0.001011 characterised 0.001011 prague 0.001011 updated 0.001010 footsteps 0.001010 motivated 0.001010 jealous 0.001010 activists 0.001010 murphy 0.001009 sleeve 0.001009 portable 0.001009 brains 0.001009 sheila 0.001009 owns 0.001009 communism 0.001008 dissolved 0.001008 wallace 0.001008 offspring 0.001008 recruit 0.001007 equals 0.001007 emerges 0.001007 methodology 0.001007 stadium 0.001007 supplying 0.001007 rory 0.001007 seventies 0.001006 slower 0.001006 brushed 0.001006 waving 0.001006 battered 0.001006 absorption 0.001006 drawer 0.001006 substantive 0.001006 combinations 0.001005 gp 0.001005 linen 0.001005 nicely 0.001005 agony 0.001005 secular 0.001005 literacy 0.001005 exemption 0.001005 stunning 0.001005 highway 0.001005 singapore 0.001005 staged 0.001005 reed 0.001004 thieves 0.001004 franco 0.001004 criminals 0.001004 balcony 0.001004 composer 0.001003 thread 0.001003 endorsed 0.001003 notions 0.001002 magnitude 0.001002 fringe 0.001002 stays 0.001002 exclaimed 0.001002 screens 0.001002 counterparts 0.001002 forestry 0.001001 commands 0.001001 cruise 0.001001 declare 0.001001 packing 0.001000 whites 0.001000 traces 0.001000 amounted 0.001000 jackie 0.001000 stirred 0.001000 dos 0.001000 contributing 0.001000 liberals 0.001000 unclear 0.001000 heroin 0.001000 accountant 0.001000 agrees 0.000999 detectives 0.000999 eyebrows 0.000999 transform 0.000997 sutton 0.000997 sheriff 0.000997 adrian 0.000997 accomplished 0.000996 prisons 0.000996 supposedly 0.000995 stuffed 0.000995 accustomed 0.000995 lent 0.000995 constituent 0.000995 securing 0.000995 infinite 0.000994 texture 0.000993 disclosed 0.000993 springs 0.000993 analogy 0.000992 electron 0.000992 maid 0.000992 complaining 0.000992 brochure 0.000992 hungarian 0.000991 macmillan 0.000991 unionist 0.000991 revelation 0.000991 comfortably 0.000991 chiefs 0.000990 rewarded 0.000990 gdp 0.000990 functioning 0.000990 poets 0.000989 cameron 0.000989 multimedia 0.000989 builder 0.000989 predictable 0.000989 alexandra 0.000988 tumour 0.000988 peripheral 0.000988 dairy 0.000988 jay 0.000988 yields 0.000988 decoration 0.000987 stealing 0.000987 torch 0.000987 eva 0.000987 buttons 0.000987 non 0.000987 successes 0.000987 realism 0.000986 beard 0.000986 outcomes 0.000986 divorced 0.000986 indies 0.000985 bitch 0.000985 teenagers 0.000985 iranian 0.000985 pits 0.000984 florence 0.000983 rubbed 0.000983 rendered 0.000983 prevailing 0.000983 bodily 0.000983 inspectors 0.000983 stole 0.000983 summoned 0.000983 noises 0.000982 stresses 0.000982 optical 0.000982 lung 0.000982 organizational 0.000982 unionists 0.000982 derive 0.000982 limitation 0.000981 chalk 0.000981 squares 0.000981 financed 0.000981 mosaic 0.000981 occupations 0.000981 salaries 0.000981 dared 0.000981 mammals 0.000981 judging 0.000981 mason 0.000981 distances 0.000981 charities 0.000981 ryan 0.000980 startled 0.000980 conflicting 0.000980 liabilities 0.000980 volunteer 0.000980 fridge 0.000980 featuring 0.000980 deadline 0.000980 sells 0.000980 transfers 0.000980 exaggerated 0.000980 deer 0.000979 statue 0.000979 flushed 0.000979 retaining 0.000979 seasonal 0.000977 chartered 0.000977 privileges 0.000977 concealed 0.000977 coping 0.000977 dense 0.000976 float 0.000976 annoyed 0.000976 freed 0.000976 jolly 0.000976 freeze 0.000975 bureaucratic 0.000975 quantitative 0.000975 curiously 0.000974 tablets 0.000974 spin 0.000974 blackburn 0.000974 saddam 0.000974 cylinder 0.000974 shades 0.000974 delivering 0.000974 planners 0.000974 enjoyable 0.000973 forbidden 0.000973 capabilities 0.000973 enquired 0.000973 controller 0.000973 fulfilled 0.000973 olive 0.000972 deserves 0.000972 lincoln 0.000972 vendors 0.000972 brandy 0.000971 lets 0.000971 kettle 0.000971 passionate 0.000970 airlines 0.000970 staircase 0.000970 clarify 0.000970 doyle 0.000970 decorative 0.000969 lions 0.000969 furnished 0.000969 median 0.000969 asylum 0.000969 lydia 0.000968 commodity 0.000967 handy 0.000967 jeremy 0.000967 unexpectedly 0.000967 lunchtime 0.000967 tones 0.000967 chasing 0.000967 rna 0.000966 proportional 0.000966 recorder 0.000965 americas 0.000965 capability 0.000965 provisional 0.000964 sliding 0.000964 intercourse 0.000964 convenience 0.000964 slammed 0.000963 fuss 0.000963 hemisphere 0.000963 elephant 0.000963 scholarship 0.000963 polly 0.000962 sodium 0.000962 cries 0.000962 illusion 0.000962 unrest 0.000961 cliffs 0.000961 quit 0.000961 municipal 0.000961 velvet 0.000961 youths 0.000961 predecessor 0.000961 clerical 0.000960 mains 0.000960 plug 0.000960 voltage 0.000960 sampling 0.000960 rosa 0.000960 characterized 0.000960 confusing 0.000960 demonstrates 0.000959 completing 0.000959 treasurer 0.000959 nathan 0.000959 leapt 0.000957 cult 0.000957 beast 0.000957 attainment 0.000957 burial 0.000957 aroused 0.000956 steal 0.000956 differentiation 0.000956 instrumental 0.000955 exceptionally 0.000955 dumped 0.000955 happier 0.000955 memorandum 0.000955 drained 0.000955 lone 0.000955 tiger 0.000954 boiling 0.000954 accumulation 0.000954 housed 0.000953 patches 0.000953 hospitality 0.000953 repetition 0.000953 threaten 0.000953 heseltine 0.000953 wordsworth 0.000952 unlawful 0.000952 whitehall 0.000952 nuts 0.000952 unified 0.000952 reinforce 0.000952 consortium 0.000952 inquiries 0.000952 twelfth 0.000952 photographic 0.000952 policing 0.000951 bury 0.000951 metaphor 0.000951 vicar 0.000951 hussein 0.000951 strand 0.000951 posters 0.000951 minorities 0.000950 accompany 0.000950 recreation 0.000950 agnes 0.000950 strips 0.000950 cork 0.000950 slave 0.000950 pottery 0.000950 coincidence 0.000950 perceive 0.000949 departmental 0.000949 ancestors 0.000949 trivial 0.000948 domination 0.000948 levy 0.000948 sandwiches 0.000948 inquest 0.000947 recruited 0.000947 dragon 0.000947 prose 0.000946 ivory 0.000946 coleman 0.000946 sore 0.000946 metre 0.000946 commissioners 0.000945 notorious 0.000945 velocity 0.000945 slightest 0.000945 casting 0.000945 peat 0.000945 restrictive 0.000944 selecting 0.000944 arc 0.000944 citizenship 0.000944 exceeded 0.000944 slipping 0.000943 pr 0.000943 comprises 0.000943 critique 0.000943 plaster 0.000943 armour 0.000943 motif 0.000943 verb 0.000943 fossil 0.000943 clearer 0.000943 leo 0.000942 ensures 0.000942 riots 0.000942 poorer 0.000942 cheques 0.000942 indoor 0.000942 norms 0.000941 danny 0.000941 decree 0.000941 clues 0.000941 settling 0.000941 stitch 0.000940 dealings 0.000940 monitored 0.000940 altar 0.000940 ruler 0.000940 cancel 0.000939 attractions 0.000939 swear 0.000938 extensively 0.000938 breathed 0.000938 patronage 0.000938 processed 0.000938 appropriately 0.000938 ski 0.000936 contractors 0.000936 appetite 0.000935 continuously 0.000935 holmes 0.000935 plaintiffs 0.000935 weights 0.000935 viewers 0.000935 resumed 0.000935 paddy 0.000935 syria 0.000934 ukraine 0.000934 energies 0.000934 defects 0.000934 arrives 0.000934 decides 0.000934 shone 0.000933 detection 0.000933 hilary 0.000933 eased 0.000933 blend 0.000933 trustee 0.000932 wandering 0.000932 battles 0.000932 judgements 0.000932 itv 0.000932 nationwide 0.000932 honourable 0.000932 pro 0.000932 warren 0.000931 frontier 0.000931 virtual 0.000931 talents 0.000931 stimuli 0.000931 membrane 0.000931 pudding 0.000931 feast 0.000931 shaft 0.000931 unprecedented 0.000931 palestine 0.000931 vicious 0.000930 similarities 0.000930 gazing 0.000930 beg 0.000930 trigger 0.000930 butcher 0.000930 blessing 0.000929 drifted 0.000929 contemporaries 0.000929 differential 0.000929 fiercely 0.000928 commentary 0.000928 disadvantages 0.000928 debtor 0.000928 curves 0.000928 peered 0.000928 acquiring 0.000928 replies 0.000928 singles 0.000928 syntactic 0.000927 nominated 0.000927 mechanics 0.000927 tricks 0.000927 disruption 0.000927 nitrogen 0.000927 bankers 0.000926 romans 0.000926 thailand 0.000926 manpower 0.000926 fragile 0.000926 danish 0.000926 clearance 0.000926 rushing 0.000925 discharged 0.000925 barrel 0.000925 missile 0.000925 towel 0.000925 filed 0.000924 nina 0.000924 miniature 0.000924 giles 0.000924 pending 0.000924 miranda 0.000924 seas 0.000924 bleak 0.000923 potato 0.000923 herbs 0.000923 transit 0.000923 doubtless 0.000923 viewpoint 0.000923 stimulated 0.000923 yarn 0.000923 subordinate 0.000922 patten 0.000922 greens 0.000922 formulation 0.000922 contractual 0.000922 rests 0.000922 portsmouth 0.000922 archaeological 0.000921 desires 0.000921 torture 0.000921 professions 0.000921 gases 0.000920 reliance 0.000920 blessed 0.000920 hazel 0.000920 cargo 0.000920 florida 0.000919 purchases 0.000919 issuing 0.000919 traveller 0.000918 detention 0.000918 exam 0.000918 villagers 0.000918 hazard 0.000918 locate 0.000918 mates 0.000918 manners 0.000916 treatments 0.000916 whichever 0.000916 undermine 0.000916 feminine 0.000915 awaiting 0.000915 arctic 0.000915 advocated 0.000915 compensate 0.000915 feminists 0.000915 antique 0.000915 teesside 0.000914 maintains 0.000914 morton 0.000914 hastily 0.000913 implementing 0.000913 fundamentally 0.000913 deprivation 0.000913 lungs 0.000913 void 0.000913 meg 0.000913 madrid 0.000912 fork 0.000912 recovering 0.000912 recalls 0.000912 gauge 0.000912 possessions 0.000911 cherry 0.000911 whip 0.000911 stark 0.000911 psychologists 0.000911 robbie 0.000911 economists 0.000911 amsterdam 0.000910 ally 0.000910 parted 0.000910 lotus 0.000910 nationally 0.000910 peer 0.000910 compiled 0.000910 streams 0.000910 jailed 0.000909 urgency 0.000909 imprisoned 0.000909 documentary 0.000909 profitability 0.000909 raymond 0.000909 precedent 0.000908 financially 0.000908 serbian 0.000908 joints 0.000908 lining 0.000907 coaches 0.000907 stool 0.000907 scrap 0.000907 celebrations 0.000906 dozens 0.000906 lately 0.000906 urgently 0.000906 spinning 0.000905 livestock 0.000905 inferior 0.000905 advocate 0.000905 analysing 0.000905 certificates 0.000905 eternal 0.000904 infants 0.000904 astonishing 0.000904 whisper 0.000904 complement 0.000904 interactive 0.000904 escort 0.000903 powell 0.000903 coats 0.000903 apples 0.000903 rex 0.000903 solitary 0.000903 bicycle 0.000903 secretion 0.000903 iris 0.000903 privatization 0.000902 ethics 0.000902 indonesia 0.000902 headings 0.000902 faults 0.000902 disturbance 0.000901 leslie 0.000901 forecasts 0.000901 proposing 0.000901 crap 0.000901 aquarium 0.000901 persisted 0.000901 manipulation 0.000901 magical 0.000901 moss 0.000900 thomson 0.000900 belly 0.000900 focusing 0.000900 stall 0.000900 pamela 0.000900 oppose 0.000900 ambiguity 0.000900 memorable 0.000899 scotvec 0.000899 favourites 0.000899 amy 0.000899 teenager 0.000899 celia 0.000898 siege 0.000898 robertson 0.000898 bowed 0.000898 rented 0.000896 slowed 0.000896 greeks 0.000896 emphasized 0.000896 jo 0.000895 cottages 0.000895 chill 0.000895 nominal 0.000894 limiting 0.000894 rehabilitation 0.000894 complications 0.000894 talented 0.000894 struggles 0.000894 cycling 0.000893 experiencing 0.000893 assertion 0.000892 finals 0.000892 shorts 0.000892 murderer 0.000892 oesophageal 0.000892 dependency 0.000891 wit 0.000891 quantum 0.000891 knights 0.000891 incapable 0.000891 travis 0.000891 reckons 0.000890 quota 0.000890 overview 0.000890 halls 0.000890 understandable 0.000890 token 0.000890 francisco 0.000889 workplace 0.000889 armstrong 0.000889 exchequer 0.000889 solving 0.000889 hats 0.000889 bosses 0.000889 quest 0.000888 piper 0.000888 constituents 0.000888 wolf 0.000888 anglia 0.000888 container 0.000888 courtyard 0.000888 edmund 0.000887 alterations 0.000887 eighties 0.000887 companions 0.000887 printers 0.000887 establishments 0.000887 intestinal 0.000887 wonders 0.000887 enters 0.000887 campaigning 0.000887 touring 0.000886 dundee 0.000886 optimism 0.000886 travels 0.000886 sticky 0.000886 smoked 0.000885 homosexual 0.000885 loses 0.000885 papal 0.000885 schooling 0.000884 basement 0.000884 gut 0.000884 consumed 0.000884 refugee 0.000884 jacob 0.000883 complementary 0.000883 duchess 0.000883 telly 0.000883 gown 0.000883 nil 0.000883 grades 0.000882 tipped 0.000882 noticeable 0.000882 mankind 0.000882 cycles 0.000882 theda 0.000882 dame 0.000881 ambiguous 0.000881 evelyn 0.000881 hastings 0.000881 embedded 0.000880 palmer 0.000880 shaken 0.000880 disorders 0.000880 realities 0.000880 gerry 0.000880 authentic 0.000880 vincent 0.000880 midfield 0.000880 framed 0.000880 devastating 0.000879 icing 0.000879 peers 0.000879 outfit 0.000879 umbrella 0.000879 praised 0.000879 doug 0.000879 weaving 0.000879 ex 0.000878 deadly 0.000878 isles 0.000878 lightning 0.000878 arranging 0.000878 dolphins 0.000876 photos 0.000876 helpless 0.000876 immigrants 0.000876 rents 0.000876 pretending 0.000876 regulated 0.000876 litigation 0.000876 dismiss 0.000875 feathers 0.000875 elaine 0.000875 sulphur 0.000875 buckingham 0.000875 coroner 0.000875 remembers 0.000875 neville 0.000874 jeff 0.000874 binary 0.000874 dwellings 0.000874 feasible 0.000873 homework 0.000873 prix 0.000873 tapped 0.000873 coronation 0.000873 heavier 0.000873 prompt 0.000872 vacant 0.000872 spoon 0.000872 tissues 0.000872 corpse 0.000872 modifications 0.000872 colonic 0.000871 bulletin 0.000871 investor 0.000871 stunned 0.000871 unfamiliar 0.000871 ros 0.000871 organize 0.000870 wary 0.000870 agreeing 0.000870 pp 0.000870 greg 0.000869 lazy 0.000869 bryan 0.000869 denying 0.000869 retention 0.000869 tightened 0.000868 narrowed 0.000867 legislature 0.000867 conform 0.000867 dancers 0.000867 toll 0.000867 distorted 0.000867 vitamin 0.000867 fastest 0.000866 fisher 0.000866 madness 0.000866 wilkinson 0.000866 enormously 0.000866 distinctly 0.000866 conversely 0.000866 locals 0.000866 conducting 0.000866 indicator 0.000865 wording 0.000865 harmful 0.000865 ample 0.000865 dreaming 0.000864 encourages 0.000864 accountancy 0.000864 hm 0.000864 premature 0.000864 promoter 0.000864 hips 0.000864 explosive 0.000864 adopting 0.000863 danced 0.000863 picasso 0.000863 shirts 0.000863 overlooked 0.000863 flashed 0.000863 attracting 0.000862 shirley 0.000862 anticipation 0.000862 insistence 0.000862 salisbury 0.000862 alec 0.000861 creativity 0.000861 boston 0.000861 burton 0.000861 riders 0.000861 accepts 0.000861 leaflets 0.000861 shine 0.000861 martha 0.000861 dorset 0.000861 swallow 0.000861 inviting 0.000860 biography 0.000860 invaluable 0.000860 manuscript 0.000860 divisional 0.000860 diminished 0.000859 secretaries 0.000859 rescued 0.000859 analytical 0.000859 simpson 0.000859 permits 0.000859 fairy 0.000859 consulting 0.000859 studios 0.000859 trunk 0.000858 onset 0.000858 risc 0.000858 weighed 0.000858 madam 0.000858 petty 0.000858 abnormal 0.000856 sociological 0.000856 landowners 0.000856 croatia 0.000856 joanna 0.000856 imminent 0.000856 rooted 0.000855 glowing 0.000855 customary 0.000855 bowling 0.000855 runners 0.000855 drowned 0.000855 valleys 0.000855 theorists 0.000855 essays 0.000855 ink 0.000855 ruin 0.000854 goodwill 0.000854 andrews 0.000854 commissions 0.000854 libel 0.000854 limestone 0.000853 surge 0.000853 plunged 0.000853 observing 0.000853 outlets 0.000852 coaching 0.000852 editors 0.000852 unwanted 0.000852 marriages 0.000852 plausible 0.000852 kin 0.000851 longing 0.000851 continuation 0.000851 exhibit 0.000851 workstations 0.000851 insured 0.000851 absorb 0.000851 boris 0.000851 headlines 0.000850 attach 0.000850 dim 0.000850 academics 0.000850 catholics 0.000849 symphony 0.000849 fascinated 0.000849 reactor 0.000849 souls 0.000849 rotten 0.000849 landlords 0.000849 amusing 0.000849 prone 0.000849 mini 0.000849 toby 0.000848 urine 0.000848 licences 0.000848 similarity 0.000848 molly 0.000848 documented 0.000848 destined 0.000848 historically 0.000848 biopsy 0.000848 humble 0.000848 batch 0.000848 inhibition 0.000847 fiona 0.000847 coleridge 0.000847 triangle 0.000847 incredibly 0.000847 terrorist 0.000847 winchester 0.000846 frederick 0.000846 advent 0.000846 gill 0.000846 stimulation 0.000846 injunction 0.000846 maxim 0.000846 platforms 0.000846 dexter 0.000846 civilians 0.000846 graphic 0.000846 mornings 0.000845 formulated 0.000845 accumulated 0.000845 strands 0.000844 garlic 0.000844 nazi 0.000844 beloved 0.000844 sainsbury 0.000844 rated 0.000843 taiwan 0.000843 candle 0.000843 heel 0.000843 discarded 0.000842 librarian 0.000842 urging 0.000842 calories 0.000842 northumberland 0.000842 crawford 0.000842 utterance 0.000842 descended 0.000842 bushes 0.000842 microsystems 0.000842 wildly 0.000842 insider 0.000841 reliability 0.000841 credits 0.000841 proven 0.000841 thunder 0.000841 celebrating 0.000840 plo 0.000840 crept 0.000840 investing 0.000840 targeted 0.000840 wayne 0.000840 basil 0.000840 docks 0.000840 tyres 0.000840 crisp 0.000840 contrasts 0.000839 ratios 0.000839 boil 0.000839 georgian 0.000839 rotation 0.000839 predictions 0.000839 radioactive 0.000838 nicola 0.000838 segments 0.000838 specialized 0.000838 constituencies 0.000838 placement 0.000838 novell 0.000838 plymouth 0.000838 administrators 0.000838 inequality 0.000838 passport 0.000838 crohn 0.000838 drying 0.000838 supportive 0.000836 surgical 0.000836 del 0.000836 thirdly 0.000836 baron 0.000836 welcoming 0.000835 vietnamese 0.000834 sights 0.000834 calmly 0.000834 proves 0.000834 contracted 0.000834 sheltered 0.000834 belgian 0.000834 launching 0.000834 cough 0.000834 conditional 0.000834 notebook 0.000834 chamberlain 0.000833 fibres 0.000833 lamps 0.000833 veins 0.000833 releases 0.000833 headache 0.000833 axe 0.000832 veterinary 0.000832 sponsors 0.000831 reacted 0.000831 stern 0.000831 announcing 0.000831 extracts 0.000831 karl 0.000831 paragraphs 0.000831 ac 0.000831 gratitude 0.000831 oils 0.000831 thirties 0.000831 ventures 0.000830 disagreement 0.000830 deceased 0.000830 destructive 0.000830 indications 0.000830 consultancy 0.000830 contradiction 0.000830 heap 0.000830 stella 0.000829 candles 0.000829 destroying 0.000829 lacks 0.000829 maureen 0.000829 analyst 0.000829 eliminated 0.000829 contracting 0.000829 symmetry 0.000828 revolt 0.000828 admire 0.000828 pad 0.000828 wickets 0.000828 sinking 0.000827 vested 0.000827 colon 0.000827 differs 0.000827 violently 0.000827 raids 0.000827 brow 0.000827 scotch 0.000827 thigh 0.000826 bennett 0.000826 angels 0.000826 warnings 0.000826 jill 0.000826 creed 0.000826 monks 0.000825 mug 0.000825 frequencies 0.000825 organism 0.000825 warfare 0.000825 fittings 0.000825 goodnight 0.000825 denies 0.000825 mainframe 0.000825 preferably 0.000825 antibody 0.000825 surveillance 0.000824 rovers 0.000824 sparkling 0.000824 enlarged 0.000824 jockey 0.000824 slaves 0.000824 strained 0.000824 patron 0.000824 robbery 0.000824 snap 0.000823 audio 0.000823 goalkeeper 0.000823 linguistics 0.000823 refined 0.000823 easiest 0.000823 consequent 0.000822 cheer 0.000822 creditor 0.000822 disgusting 0.000822 adaptation 0.000822 downing 0.000822 dissolution 0.000822 sadness 0.000822 concerts 0.000822 dolphin 0.000822 princes 0.000821 fellowship 0.000821 weighing 0.000821 napoleon 0.000821 smells 0.000821 invalid 0.000821 specifications 0.000821 forgetting 0.000820 hygiene 0.000820 sailed 0.000820 decreased 0.000820 staffing 0.000820 trinity 0.000820 ord 0.000819 subscription 0.000819 nod 0.000819 wh 0.000819 radically 0.000819 designing 0.000819 debris 0.000819 sewage 0.000818 alcoholic 0.000818 pictured 0.000818 dividing 0.000817 cruelty 0.000817 lordship 0.000817 peru 0.000817 extracted 0.000817 compelled 0.000817 fluctuations 0.000817 pragmatic 0.000817 ecclesiastical 0.000817 superiority 0.000817 aerospace 0.000817 antibodies 0.000817 dreamed 0.000815 wipe 0.000815 bilateral 0.000815 brightly 0.000815 ux 0.000815 portuguese 0.000815 install 0.000815 sketch 0.000815 cardinal 0.000814 dresses 0.000814 skiing 0.000814 flooded 0.000813 cara 0.000813 seminars 0.000813 flooding 0.000813 handing 0.000813 pierre 0.000813 advertised 0.000812 postponed 0.000812 steward 0.000812 flashing 0.000812 scenery 0.000812 node 0.000812 unsatisfactory 0.000812 factual 0.000812 developer 0.000812 insights 0.000812 enjoys 0.000812 politely 0.000811 everton 0.000811 trim 0.000811 attachment 0.000811 naive 0.000811 episodes 0.000811 potent 0.000811 portraits 0.000811 hamlet 0.000810 destiny 0.000810 finances 0.000810 cranston 0.000810 brands 0.000810 franchise 0.000809 persian 0.000809 behaved 0.000809 sceptical 0.000808 wendy 0.000808 benefited 0.000808 progressively 0.000808 zoo 0.000808 superficial 0.000808 wasting 0.000808 histories 0.000808 jenkins 0.000808 sharpe 0.000808 cultivation 0.000808 derbyshire 0.000808 journeys 0.000808 overlooking 0.000808 georgia 0.000807 exeter 0.000807 teddy 0.000807 disks 0.000807 stimulating 0.000806 weakened 0.000806 jennifer 0.000806 curled 0.000805 disguise 0.000805 tossed 0.000805 highlands 0.000805 warden 0.000805 sundays 0.000805 casually 0.000805 honorary 0.000805 cemetery 0.000805 slender 0.000804 relieve 0.000804 postgraduate 0.000804 cynical 0.000804 barcelona 0.000804 disposed 0.000804 repeating 0.000804 sorting 0.000804 wiltshire 0.000804 prediction 0.000803 fisheries 0.000803 monarch 0.000803 envy 0.000803 baltic 0.000803 disco 0.000802 gardener 0.000802 strains 0.000802 obstacles 0.000801 con 0.000801 bees 0.000801 supervisor 0.000801 commanded 0.000801 hannah 0.000801 cassette 0.000801 thou 0.000801 recognising 0.000801 counterpart 0.000801 thighs 0.000801 incorporating 0.000800 biblical 0.000800 ideals 0.000800 strengthening 0.000800 convictions 0.000800 vocal 0.000800 integrate 0.000800 manifesto 0.000800 predators 0.000800 circus 0.000800 smiths 0.000800 nigeria 0.000799 peel 0.000799 flock 0.000799 nail 0.000799 gasped 0.000799 preceded 0.000798 whistle 0.000798 julius 0.000798 englishman 0.000798 grazing 0.000798 bolt 0.000798 hectares 0.000798 demonstrators 0.000798 supporter 0.000798 dash 0.000798 conditioning 0.000797 ceasefire 0.000797 guild 0.000797 demonstrating 0.000797 dusty 0.000797 rosie 0.000797 defect 0.000797 clinics 0.000795 czech 0.000795 thief 0.000795 insect 0.000795 hopeless 0.000795 shareholder 0.000795 correspond 0.000795 locomotive 0.000794 guil 0.000794 minton 0.000794 reservoir 0.000794 spends 0.000794 concludes 0.000794 trainers 0.000794 providers 0.000793 microphone 0.000793 ulcerative 0.000793 vigorously 0.000793 segment 0.000793 conspicuous 0.000793 brutal 0.000793 snake 0.000793 tomatoes 0.000793 corrected 0.000792 kissing 0.000792 vein 0.000792 yelled 0.000792 poster 0.000792 molecule 0.000792 sweets 0.000792 backgrounds 0.000792 khan 0.000792 deposited 0.000792 justices 0.000792 transcription 0.000791 spurs 0.000791 suffers 0.000791 whales 0.000791 copied 0.000791 consultative 0.000791 dumb 0.000791 carolyn 0.000791 coral 0.000791 sanctuary 0.000791 brewery 0.000791 waiter 0.000790 suppressed 0.000790 shiny 0.000790 casualty 0.000790 rosemary 0.000790 discs 0.000789 vii 0.000789 slot 0.000789 diploma 0.000789 wesley 0.000789 synthetic 0.000789 denial 0.000789 doll 0.000789 ernest 0.000788 ruins 0.000788 classics 0.000788 constrained 0.000788 bundle 0.000788 tweed 0.000788 batteries 0.000788 problematic 0.000788 glared 0.000788 connect 0.000787 blocking 0.000787 poetic 0.000787 rebuilt 0.000787 progressed 0.000787 systematically 0.000787 favours 0.000787 dolly 0.000787 taxpayer 0.000787 betrayed 0.000786 abused 0.000786 graeme 0.000786 nizan 0.000786 hazards 0.000786 saddle 0.000786 lanka 0.000786 rack 0.000786 screw 0.000786 survivors 0.000785 darker 0.000785 reminds 0.000785 ignorant 0.000785 valve 0.000785 weaker 0.000785 racist 0.000784 disagree 0.000784 blaze 0.000784 topped 0.000784 cuba 0.000784 personalities 0.000784 scarce 0.000784 plainly 0.000784 defective 0.000784 reconciliation 0.000784 deterioration 0.000784 archives 0.000784 imaginary 0.000784 additions 0.000783 widened 0.000783 artillery 0.000783 distinctions 0.000783 irregular 0.000783 painters 0.000783 prestigious 0.000783 currencies 0.000783 cardboard 0.000782 revived 0.000782 chiefly 0.000782 religions 0.000782 accidental 0.000782 testimony 0.000782 workstation 0.000781 numbered 0.000781 pledged 0.000781 armchair 0.000781 cousins 0.000781 bankrupt 0.000781 fighters 0.000781 refuses 0.000781 procession 0.000781 ratings 0.000781 cnaa 0.000781 spr 0.000781 diarrhoea 0.000780 faintly 0.000780 europeans 0.000780 morrissey 0.000780 trio 0.000780 optimal 0.000780 detained 0.000780 cholesterol 0.000780 outright 0.000780 stirring 0.000779 scenario 0.000779 enzyme 0.000779 comprised 0.000779 reporters 0.000779 downwards 0.000779 terrorists 0.000779 slides 0.000779 bind 0.000779 progression 0.000779 containers 0.000778 obey 0.000778 tackled 0.000778 stabbed 0.000778 merrill 0.000778 hatch 0.000778 editing 0.000778 demographic 0.000778 dragging 0.000778 faction 0.000778 impulse 0.000778 magistrate 0.000778 herald 0.000778 theological 0.000777 alarmed 0.000777 halted 0.000777 realising 0.000777 dale 0.000777 tribe 0.000777 inputs 0.000777 vic 0.000775 positioned 0.000775 textile 0.000775 alexei 0.000775 stamped 0.000775 worcester 0.000775 pastoral 0.000775 norwegian 0.000775 adjoining 0.000775 mg 0.000775 innovations 0.000775 repayment 0.000775 touches 0.000774 relying 0.000774 births 0.000774 serbs 0.000774 resume 0.000774 reviewing 0.000774 ripped 0.000774 tomato 0.000774 diagnostic 0.000774 clutching 0.000774 sufferers 0.000774 corridors 0.000774 ecological 0.000773 wires 0.000773 undermined 0.000773 transitional 0.000773 consecutive 0.000773 timothy 0.000773 transparent 0.000773 postal 0.000772 exhibited 0.000772 juvenile 0.000772 donations 0.000772 diagnosed 0.000772 grouping 0.000772 anticipate 0.000772 editions 0.000772 proliferation 0.000771 fabrics 0.000771 economist 0.000771 proceeding 0.000771 bypass 0.000771 terminals 0.000771 excellence 0.000771 icl 0.000770 interpreting 0.000770 workings 0.000770 notices 0.000770 span 0.000770 tore 0.000770 confessed 0.000770 dump 0.000770 mcallister 0.000770 zambia 0.000770 sponsor 0.000770 grove 0.000770 parcel 0.000770 cloak 0.000770 harrogate 0.000769 composite 0.000769 marxism 0.000769 soils 0.000769 purse 0.000769 ironic 0.000769 beginnings 0.000769 regards 0.000769 raced 0.000769 fearful 0.000768 gloria 0.000768 fireplace 0.000768 tackling 0.000768 airways 0.000768 evaluated 0.000768 eagerly 0.000768 modify 0.000768 spy 0.000768 receipts 0.000768 originated 0.000768 thoughtfully 0.000768 cooling 0.000768 evenly 0.000768 severity 0.000768 waking 0.000768 fifteenth 0.000767 ellie 0.000767 curtis 0.000767 wards 0.000767 insert 0.000767 sparc 0.000767 attribute 0.000767 philippines 0.000767 bowls 0.000767 communal 0.000766 nephew 0.000766 fishermen 0.000766 collectors 0.000766 housework 0.000766 purity 0.000766 maternal 0.000766 nobility 0.000766 slumped 0.000765 perfection 0.000765 procedural 0.000765 noon 0.000765 opt 0.000765 notwithstanding 0.000765 lb 0.000764 sandra 0.000764 astonished 0.000764 posted 0.000764 nervously 0.000764 mips 0.000764 sunk 0.000764 litter 0.000764 strode 0.000764 legitimacy 0.000764 asserted 0.000763 dip 0.000763 foliage 0.000763 tolerance 0.000763 subsidy 0.000763 impatient 0.000763 rug 0.000763 joking 0.000763 cellular 0.000762 activated 0.000762 snatched 0.000762 hazardous 0.000762 ducks 0.000762 honesty 0.000762 corpus 0.000762 moisture 0.000762 buys 0.000762 ps 0.000762 branson 0.000762 breeds 0.000761 briefing 0.000761 trout 0.000761 palestinians 0.000761 fuller 0.000761 hopeful 0.000761 civilization 0.000760 horrified 0.000760 donated 0.000760 plight 0.000760 mergers 0.000760 confront 0.000759 prevents 0.000759 squared 0.000759 wax 0.000759 unification 0.000759 infinitive 0.000759 marital 0.000759 oneself 0.000759 vintage 0.000759 render 0.000758 dubious 0.000758 libya 0.000758 oddly 0.000758 belinda 0.000758 pillow 0.000758 monument 0.000758 christina 0.000758 narrowly 0.000758 exercising 0.000757 secretly 0.000757 socialists 0.000757 clashes 0.000757 penal 0.000757 cheers 0.000757 readings 0.000757 benny 0.000757 assistants 0.000757 derry 0.000757 demolished 0.000757 hints 0.000757 wears 0.000757 rupert 0.000757 tribal 0.000757 wholesale 0.000757 kindness 0.000755 sounding 0.000755 trolley 0.000755 twenties 0.000755 arisen 0.000755 maternity 0.000755 guitars 0.000755 rifle 0.000754 bitterness 0.000754 poole 0.000754 cocktail 0.000754 currents 0.000754 outsiders 0.000754 upward 0.000753 colchester 0.000753 pearl 0.000753 austrian 0.000753 thickness 0.000753 bullet 0.000753 kite 0.000753 drafted 0.000753 wycliffe 0.000753 cautiously 0.000753 en 0.000752 admittedly 0.000752 retiring 0.000752 daring 0.000752 rub 0.000752 loading 0.000752 farewell 0.000752 fines 0.000751 accusations 0.000751 mansell 0.000751 oracle 0.000751 insisting 0.000751 orkney 0.000751 retailers 0.000751 lifts 0.000751 geology 0.000751 elementary 0.000751 recurrent 0.000751 strokes 0.000751 suitably 0.000751 unlimited 0.000751 tutors 0.000750 impressions 0.000750 gareth 0.000750 infections 0.000750 sotheby 0.000750 discovering 0.000750 sharon 0.000750 jealousy 0.000750 preserving 0.000750 header 0.000750 bust 0.000750 incomplete 0.000749 lesbian 0.000749 saunders 0.000749 energetic 0.000749 singh 0.000749 orbit 0.000749 gel 0.000749 pathetic 0.000749 numerical 0.000749 platelet 0.000749 se 0.000748 chaired 0.000748 contradictory 0.000748 archaeology 0.000748 auguste 0.000748 nationality 0.000748 hosts 0.000747 cosy 0.000747 surveyor 0.000747 gripped 0.000747 salon 0.000747 pony 0.000747 preferable 0.000747 swollen 0.000747 bids 0.000746 bred 0.000746 breakthrough 0.000746 cafe 0.000746 vale 0.000746 unstable 0.000746 predecessors 0.000746 proclaimed 0.000746 kylie 0.000746 jessica 0.000746 consolidated 0.000745 hurd 0.000745 weary 0.000745 masculine 0.000745 concession 0.000745 robust 0.000745 sinister 0.000745 tens 0.000745 int 0.000744 perspectives 0.000744 endeavour 0.000744 unsuitable 0.000744 sutherland 0.000744 dietary 0.000744 oriental 0.000744 suspects 0.000744 sometime 0.000744 stalls 0.000743 macintosh 0.000743 contrasting 0.000743 glancing 0.000743 stack 0.000743 glue 0.000743 cumulative 0.000743 handkerchief 0.000743 bending 0.000743 contractor 0.000743 morse 0.000742 admiral 0.000742 luckily 0.000742 fairness 0.000741 packs 0.000741 baths 0.000741 scholar 0.000741 polymer 0.000741 highland 0.000741 internationally 0.000741 cyprus 0.000741 reassuring 0.000740 archive 0.000740 contradictions 0.000740 charlton 0.000740 guerrillas 0.000740 handles 0.000739 prosperous 0.000739 adjustments 0.000739 boiled 0.000739 clinging 0.000739 thanked 0.000739 chemist 0.000739 chess 0.000739 factions 0.000738 terrorism 0.000738 doubted 0.000738 auckland 0.000738 resemblance 0.000738 summons 0.000738 retains 0.000737 runner 0.000737 sailors 0.000737 exams 0.000737 tyne 0.000737 quotes 0.000737 lang 0.000737 incorrect 0.000737 powered 0.000737 residual 0.000737 finely 0.000737 madonna 0.000735 reproduced 0.000735 dances 0.000735 marco 0.000735 chef 0.000735 doreen 0.000735 buffer 0.000735 picnic 0.000734 registers 0.000734 examines 0.000734 alain 0.000734 crosses 0.000734 lodged 0.000734 emotionally 0.000734 cord 0.000734 assert 0.000734 tendencies 0.000734 exempt 0.000734 telephoned 0.000734 objected 0.000734 knot 0.000733 transferring 0.000733 paisley 0.000733 charitable 0.000733 mucosal 0.000732 halifax 0.000732 realisation 0.000732 spectators 0.000732 wander 0.000731 guinea 0.000731 feminism 0.000731 spun 0.000731 acquisitions 0.000731 aftermath 0.000731 contingent 0.000731 ramsey 0.000731 partnerships 0.000730 relaxing 0.000730 lindsey 0.000730 induction 0.000730 fabulous 0.000730 nylon 0.000730 para 0.000730 hid 0.000730 boiler 0.000729 selfish 0.000729 depot 0.000729 spiral 0.000729 repression 0.000729 releasing 0.000729 gooch 0.000729 interestingly 0.000729 hedges 0.000728 joins 0.000728 nets 0.000728 lorries 0.000728 imposition 0.000728 lawson 0.000728 cellar 0.000728 descriptive 0.000728 anthropology 0.000728 voyage 0.000728 filthy 0.000728 demise 0.000728 robson 0.000728 diving 0.000728 rugs 0.000728 painfully 0.000727 arbitration 0.000727 founding 0.000727 idle 0.000727 competitions 0.000727 depressing 0.000727 reproductive 0.000727 malaysia 0.000727 surveyed 0.000727 hudson 0.000727 fights 0.000727 contention 0.000727 comprise 0.000727 triple 0.000727 rogers 0.000727 particle 0.000727 resistant 0.000726 sh 0.000726 lab 0.000726 oppression 0.000726 investigators 0.000726 substitution 0.000726 fixing 0.000725 carlisle 0.000725 dana 0.000725 dee 0.000725 mint 0.000725 virtues 0.000725 inward 0.000725 disabilities 0.000725 volcanic 0.000725 uneven 0.000725 guarded 0.000725 hardship 0.000725 sexes 0.000724 lp 0.000724 conveyed 0.000724 ongoing 0.000724 alteration 0.000724 attorney 0.000724 rewarding 0.000724 helmet 0.000724 mock 0.000724 stamps 0.000724 accelerated 0.000724 utter 0.000724 learners 0.000723 conceal 0.000723 discomfort 0.000723 islam 0.000723 ribs 0.000723 rulers 0.000723 aerial 0.000723 upgrade 0.000723 foam 0.000723 administrator 0.000723 tempting 0.000722 fellows 0.000722 naughty 0.000722 mob 0.000722 odour 0.000722 freshly 0.000721 roofs 0.000721 delta 0.000721 cracks 0.000721 peg 0.000721 trucks 0.000721 strathclyde 0.000721 wilderness 0.000721 dumping 0.000721 vet 0.000721 unpredictable 0.000720 servers 0.000720 leas 0.000720 discoveries 0.000720 excise 0.000720 mansion 0.000720 censorship 0.000720 swansea 0.000720 premiums 0.000719 griffiths 0.000719 drastic 0.000719 gavin 0.000719 morrison 0.000719 tate 0.000719 flush 0.000719 susceptible 0.000719 disclose 0.000719 monsieur 0.000719 poised 0.000719 fountain 0.000718 min 0.000718 stumbled 0.000718 gentry 0.000718 flourish 0.000718 cares 0.000718 globe 0.000718 processors 0.000718 giants 0.000717 deception 0.000717 doses 0.000717 herd 0.000717 apology 0.000717 senator 0.000717 depicted 0.000717 erika 0.000717 daft 0.000717 cement 0.000717 thermal 0.000715 gmt 0.000715 speculative 0.000715 onion 0.000715 resolutions 0.000715 playground 0.000715 therapist 0.000715 blows 0.000715 rumour 0.000714 terminology 0.000714 pascoe 0.000714 dickens 0.000714 amp 0.000714 taxpayers 0.000714 mexican 0.000714 confirms 0.000713 renowned 0.000713 caps 0.000713 doorstep 0.000713 locality 0.000713 referral 0.000713 inflammatory 0.000713 worms 0.000713 sliced 0.000713 prototype 0.000713 marc 0.000712 angus 0.000712 gloomy 0.000712 sustainable 0.000711 transported 0.000711 garment 0.000711 supplements 0.000711 exterior 0.000711 radar 0.000711 irritation 0.000711 therapeutic 0.000711 piled 0.000711 grinning 0.000711 apt 0.000711 gandhi 0.000711 ch 0.000711 singers 0.000711 deficiency 0.000710 departed 0.000710 enthusiasts 0.000710 auntie 0.000710 proximity 0.000710 anxiously 0.000710 saves 0.000710 beforehand 0.000710 legendary 0.000709 kathleen 0.000709 um 0.000709 severn 0.000709 paradox 0.000709 retrieval 0.000709 kensington 0.000709 brook 0.000709 tumours 0.000709 entitlement 0.000709 matilda 0.000709 finland 0.000708 granting 0.000708 probation 0.000708 horns 0.000708 punished 0.000708 chimney 0.000708 marker 0.000708 warwick 0.000708 costume 0.000708 overtime 0.000708 dispersed 0.000707 risky 0.000707 secrecy 0.000707 lens 0.000707 catalogues 0.000707 hepatitis 0.000707 quotation 0.000707 markedly 0.000707 manifest 0.000707 startling 0.000706 melanie 0.000706 walsh 0.000706 icy 0.000706 allegiance 0.000706 grouped 0.000706 spider 0.000706 dementia 0.000706 cambodia 0.000705 meadow 0.000705 midst 0.000705 richer 0.000705 nucleus 0.000705 uncovered 0.000705 jerked 0.000705 tariff 0.000704 chuck 0.000704 bernice 0.000704 balancing 0.000704 proposes 0.000704 nut 0.000704 prescription 0.000704 panama 0.000704 suburbs 0.000704 ineffective 0.000704 luggage 0.000704 farmhouse 0.000704 uncommon 0.000703 headline 0.000703 pinned 0.000703 cocaine 0.000703 hesitation 0.000703 suburban 0.000703 knives 0.000703 harmless 0.000703 ribbon 0.000703 relational 0.000703 famine 0.000702 intellectuals 0.000702 jenna 0.000702 climax 0.000702 afghanistan 0.000702 tactical 0.000702 communicating 0.000702 recipient 0.000702 quinn 0.000701 debated 0.000701 scan 0.000701 obsession 0.000701 instincts 0.000701 webb 0.000701 sleeves 0.000701 coun 0.000701 sour 0.000701 understands 0.000701 recipes 0.000701 treaties 0.000700 catches 0.000700 drums 0.000700 pauline 0.000700 polar 0.000700 trainees 0.000700 nancy 0.000700 toe 0.000699 honoured 0.000699 cairo 0.000699 affinity 0.000699 seb 0.000699 baked 0.000699 regression 0.000699 inequalities 0.000699 navigation 0.000699 terrific 0.000698 hostages 0.000698 weigh 0.000698 lateral 0.000698 tottenham 0.000698 vector 0.000698 deed 0.000698 murders 0.000697 outrage 0.000697 immensely 0.000697 ale 0.000697 pledge 0.000697 acceleration 0.000697 restless 0.000697 emphasize 0.000697 crust 0.000697 wolves 0.000697 acoustic 0.000697 rigorous 0.000697 tag 0.000695 gestures 0.000695 disappearance 0.000695 indemnity 0.000695 dive 0.000695 jar 0.000695 disturbances 0.000694 lambert 0.000694 determines 0.000694 lightweight 0.000694 disgust 0.000694 roar 0.000694 summarised 0.000694 haven 0.000693 queries 0.000693 commanding 0.000693 melt 0.000693 accountable 0.000693 correction 0.000693 cannon 0.000693 portrayed 0.000693 spacious 0.000692 switches 0.000692 meaningless 0.000692 beirut 0.000692 motions 0.000692 inspect 0.000692 beta 0.000692 attendant 0.000692 norton 0.000692 roland 0.000692 drilling 0.000692 cor 0.000692 rails 0.000692 commenced 0.000692 zimbabwe 0.000692 colouring 0.000691 fascism 0.000691 shaping 0.000691 sprang 0.000691 fascist 0.000691 newsletter 0.000691 weeping 0.000691 lever 0.000691 berkshire 0.000691 confess 0.000691 confidentiality 0.000690 bowler 0.000690 tricky 0.000690 defenders 0.000690 backward 0.000690 gleaming 0.000690 impetus 0.000690 expelled 0.000689 alas 0.000689 latent 0.000689 solvent 0.000689 proudly 0.000689 bedford 0.000689 watt 0.000689 clusters 0.000689 wigan 0.000689 frankie 0.000689 philosophers 0.000689 balances 0.000688 mapping 0.000688 wirral 0.000688 insult 0.000688 clung 0.000688 oscar 0.000688 vauxhall 0.000688 focuses 0.000688 lime 0.000688 duodenal 0.000687 filing 0.000687 constraint 0.000687 swap 0.000687 imagery 0.000687 diabetes 0.000687 ranged 0.000687 stretches 0.000687 presumed 0.000687 corporal 0.000687 landscapes 0.000687 asthma 0.000687 graphical 0.000686 commercially 0.000686 dome 0.000686 tenure 0.000686 eleventh 0.000686 brackets 0.000686 traded 0.000686 labourers 0.000686 grasped 0.000686 earnest 0.000686 alarming 0.000685 rebecca 0.000685 impaired 0.000685 retailer 0.000685 kenny 0.000685 balloon 0.000685 extensions 0.000685 gps 0.000685 wrongly 0.000684 warsaw 0.000684 entertain 0.000684 signalled 0.000684 beams 0.000684 drifting 0.000684 mattered 0.000684 safeguard 0.000684 disbelief 0.000684 gnp 0.000684 thy 0.000684 distortion 0.000684 contaminated 0.000684 ruthless 0.000684 rehearsal 0.000684 sexy 0.000684 stalin 0.000684 thee 0.000684 lethal 0.000684 limb 0.000684 registrar 0.000684 manages 0.000684 monuments 0.000684 indoors 0.000683 starving 0.000683 obedience 0.000683 owes 0.000683 innings 0.000683 bidding 0.000683 pioneer 0.000683 attic 0.000683 temples 0.000682 recognises 0.000682 heathrow 0.000682 melody 0.000682 ditch 0.000682 verge 0.000682 novelist 0.000682 polytechnics 0.000682 fascination 0.000682 connecting 0.000682 atmospheric 0.000682 widening 0.000682 relies 0.000682 tooth 0.000682 drawers 0.000682 recruits 0.000682 idiot 0.000682 scepticism 0.000682 ashore 0.000681 glossy 0.000681 loosely 0.000681 calculating 0.000681 eden 0.000681 obstacle 0.000681 rays 0.000681 trailing 0.000681 potter 0.000681 intrinsic 0.000681 sends 0.000681 coincide 0.000681 sung 0.000681 shortages 0.000681 knitted 0.000681 inconsistent 0.000681 housewife 0.000680 aston 0.000680 quarterly 0.000680 oval 0.000680 henderson 0.000680 organiser 0.000680 centrally 0.000680 viii 0.000680 outward 0.000680 clenched 0.000680 hierarchical 0.000680 unpopular 0.000679 wrap 0.000679 ruc 0.000679 radius 0.000679 spoil 0.000679 calf 0.000679 confession 0.000679 butterfly 0.000679 liking 0.000679 countless 0.000678 learner 0.000678 skirts 0.000678 moors 0.000678 glittering 0.000678 outlines 0.000678 simultaneous 0.000678 regulate 0.000677 skeleton 0.000677 circulated 0.000677 ghosts 0.000677 tha 0.000677 drought 0.000677 induce 0.000677 peach 0.000677 labelling 0.000677 victories 0.000677 hans 0.000677 fares 0.000677 disposition 0.000676 embodied 0.000676 bangor 0.000676 alley 0.000676 marshal 0.000676 sworn 0.000676 barclays 0.000676 reservation 0.000676 italians 0.000676 dam 0.000676 arrogant 0.000676 advancing 0.000676 downs 0.000676 entities 0.000676 crane 0.000676 staggered 0.000676 disputed 0.000676 disturb 0.000674 militant 0.000674 defines 0.000674 compassion 0.000674 overwhelmed 0.000674 wheelchair 0.000674 coarse 0.000674 shillings 0.000674 click 0.000674 conquest 0.000673 massage 0.000673 cecil 0.000673 contamination 0.000673 arrears 0.000673 encounters 0.000673 rubbing 0.000673 mutually 0.000673 consciously 0.000673 thoughtful 0.000672 slump 0.000672 carriers 0.000672 ginger 0.000672 barracks 0.000672 supplemented 0.000672 jaws 0.000672 skies 0.000671 alton 0.000671 expresses 0.000671 picks 0.000671 filters 0.000671 anglican 0.000671 spells 0.000671 flicked 0.000671 motors 0.000671 skins 0.000671 immunity 0.000671 spectacle 0.000670 doomed 0.000670 employs 0.000670 daisy 0.000670 incompatible 0.000670 jake 0.000670 fists 0.000670 regimes 0.000670 advocates 0.000670 buzz 0.000669 leigh 0.000669 nanny 0.000669 cultivated 0.000669 darren 0.000669 conveniently 0.000669 arguably 0.000669 bald 0.000669 prohibited 0.000668 mare 0.000668 imitation 0.000668 fourteenth 0.000668 microwave 0.000668 collision 0.000668 variance 0.000668 ripe 0.000667 heavens 0.000667 louder 0.000667 hooked 0.000667 straightened 0.000667 filming 0.000667 muddy 0.000666 apartments 0.000666 banbury 0.000666 abundance 0.000666 summed 0.000666 aided 0.000666 gateway 0.000666 interviewing 0.000666 monk 0.000666 munich 0.000666 greenpeace 0.000666 spouse 0.000665 participant 0.000665 discontent 0.000665 amanda 0.000665 organizing 0.000665 dashed 0.000665 petroleum 0.000665 finite 0.000665 tolerate 0.000665 preoccupied 0.000665 combines 0.000665 echoes 0.000665 photographers 0.000665 developmental 0.000664 lili 0.000664 governmental 0.000664 statutes 0.000664 nme 0.000664 elusive 0.000664 triggered 0.000664 palms 0.000664 scanning 0.000664 kohl 0.000664 extremes 0.000664 seals 0.000663 disliked 0.000663 guitarist 0.000663 interruption 0.000663 dedication 0.000663 piles 0.000663 typing 0.000663 tenancy 0.000663 responsive 0.000663 mickey 0.000663 reformers 0.000663 distressed 0.000662 ronald 0.000662 bedside 0.000662 mildly 0.000662 cornelius 0.000662 romanian 0.000662 hmm 0.000662 shivered 0.000662 ni 0.000662 planets 0.000662 blazing 0.000662 emission 0.000662 scarborough 0.000662 insulin 0.000662 peas 0.000662 goat 0.000661 propositions 0.000661 attacker 0.000661 muscular 0.000661 massacre 0.000661 unofficial 0.000661 rim 0.000661 inspectorate 0.000661 lowering 0.000661 slate 0.000661 performers 0.000661 campus 0.000661 sucked 0.000661 rejecting 0.000661 cox 0.000660 graves 0.000660 oldham 0.000660 unsure 0.000660 impress 0.000660 gorgeous 0.000660 hypotheses 0.000660 conductor 0.000660 mohammed 0.000659 leapor 0.000659 schedules 0.000659 reproduce 0.000659 committing 0.000659 squash 0.000659 stan 0.000659 mandy 0.000659 noun 0.000658 edged 0.000658 henley 0.000658 curls 0.000658 carlos 0.000658 lou 0.000658 sensory 0.000658 rationality 0.000658 authoritative 0.000658 malta 0.000658 parishes 0.000658 instinctively 0.000658 physiological 0.000658 suspicions 0.000658 clerks 0.000658 mirrors 0.000658 regeneration 0.000657 drunken 0.000657 peninsula 0.000657 tomb 0.000657 croydon 0.000657 injustice 0.000657 melting 0.000657 salvador 0.000657 outrageous 0.000657 lied 0.000657 mandate 0.000657 pearce 0.000656 diabetic 0.000656 junk 0.000656 admitting 0.000656 terrifying 0.000656 tribes 0.000656 sober 0.000656 granny 0.000656 serbia 0.000656 undergraduate 0.000656 floated 0.000656 compass 0.000654 undesirable 0.000654 rocket 0.000654 supervised 0.000654 generosity 0.000654 kitchens 0.000654 displaying 0.000654 twisting 0.000654 leonora 0.000654 musician 0.000654 counsellor 0.000654 circuits 0.000654 reminiscent 0.000654 bland 0.000654 reverend 0.000654 wacc 0.000653 derives 0.000653 wastes 0.000653 dwarf 0.000653 eccentric 0.000653 civilisation 0.000653 sentiment 0.000653 variants 0.000653 declaring 0.000653 mars 0.000652 hart 0.000652 ammunition 0.000652 outgoing 0.000652 fletcher 0.000652 intending 0.000652 theatrical 0.000652 electrons 0.000652 greeting 0.000652 acquaintance 0.000652 hybrid 0.000652 query 0.000651 redundancies 0.000651 pleasing 0.000651 deeds 0.000651 indifferent 0.000651 yugoslav 0.000651 furiously 0.000651 boycott 0.000651 excuses 0.000651 frances 0.000650 dusk 0.000650 cables 0.000650 qualitative 0.000650 undergo 0.000650 homosexuality 0.000650 dynamics 0.000650 shrewsbury 0.000650 johnston 0.000650 pleasures 0.000650 explanatory 0.000650 terrain 0.000650 monastery 0.000649 trainee 0.000649 articulate 0.000649 airfield 0.000649 peggy 0.000649 disappearing 0.000649 medicines 0.000649 dental 0.000649 haul 0.000649 outskirts 0.000649 profoundly 0.000649 regain 0.000649 biting 0.000648 stables 0.000648 indifference 0.000648 mellor 0.000648 trench 0.000648 routines 0.000648 cohen 0.000647 handbag 0.000647 cater 0.000647 profiles 0.000647 broadcasts 0.000647 spokeswoman 0.000647 pi 0.000647 chooses 0.000646 optimum 0.000646 mortar 0.000646 admissions 0.000646 witch 0.000646 junctions 0.000646 ecstasy 0.000646 behaving 0.000646 escaping 0.000646 corrupt 0.000646 rev 0.000646 stove 0.000645 competitor 0.000645 picturesque 0.000645 nec 0.000645 repay 0.000645 stevens 0.000645 drafting 0.000645 donor 0.000645 surgeons 0.000645 deterrent 0.000645 bomber 0.000645 congratulations 0.000644 galaxy 0.000644 geared 0.000644 hobby 0.000644 enclosure 0.000644 boarding 0.000644 dixon 0.000644 foremost 0.000644 residues 0.000644 prominence 0.000643 generic 0.000643 garments 0.000643 scrambled 0.000643 ivy 0.000643 recruiting 0.000643 chatting 0.000643 mitterrand 0.000643 stoke 0.000643 booth 0.000642 comprehension 0.000642 bugger 0.000642 slices 0.000642 hauled 0.000642 reorganisation 0.000642 deferred 0.000642 frustrating 0.000642 mandela 0.000642 motorists 0.000642 effected 0.000642 mercedes 0.000641 manoeuvre 0.000641 muslims 0.000641 barton 0.000641 bulgaria 0.000641 chased 0.000641 fernando 0.000641 hardest 0.000641 masklin 0.000641 coke 0.000641 pistol 0.000641 gatt 0.000641 delegate 0.000641 distribute 0.000641 tangible 0.000640 prop 0.000640 feudal 0.000640 opted 0.000640 harassment 0.000640 euro 0.000640 particulars 0.000640 presentations 0.000640 compelling 0.000640 barred 0.000640 beck 0.000640 environmentally 0.000640 lithuania 0.000639 advising 0.000639 gran 0.000639 amino 0.000639 lincolnshire 0.000639 moustache 0.000639 lenin 0.000639 heroic 0.000639 donation 0.000639 erect 0.000639 woven 0.000639 cooperative 0.000639 michelle 0.000639 devotion 0.000638 walkers 0.000638 ordeal 0.000638 mouths 0.000638 legion 0.000638 pasture 0.000638 fertile 0.000638 separating 0.000638 devote 0.000638 duchy 0.000638 beads 0.000638 splitting 0.000638 paramount 0.000638 sewing 0.000638 sweater 0.000638 tick 0.000638 nicky 0.000638 thirteenth 0.000638 doe 0.000637 directing 0.000637 roared 0.000637 guiding 0.000637 reassure 0.000637 displaced 0.000637 plots 0.000637 readiness 0.000637 infantry 0.000637 projection 0.000637 obsessed 0.000636 genre 0.000636 distinguishing 0.000636 deployed 0.000636 journalism 0.000636 baking 0.000636 pensioner 0.000636 stride 0.000636 embarked 0.000636 banker 0.000636 wretched 0.000636 hillside 0.000634 brake 0.000634 identifies 0.000634 ragged 0.000634 internally 0.000634 downward 0.000634 expose 0.000634 prayed 0.000634 torque 0.000634 circumstance 0.000633 shrubs 0.000633 bosnian 0.000633 outsider 0.000633 ronnie 0.000633 simplified 0.000633 expressly 0.000633 merged 0.000633 benches 0.000633 omission 0.000633 crouched 0.000632 dispose 0.000632 listeners 0.000632 hockey 0.000632 contemplate 0.000632 anchor 0.000632 abundant 0.000632 restoring 0.000632 raped 0.000632 ecology 0.000632 socket 0.000631 glucose 0.000631 sins 0.000631 commodities 0.000631 sherry 0.000631 assignments 0.000631 productions 0.000631 minimise 0.000630 reminding 0.000630 groaned 0.000630 appalled 0.000630 tougher 0.000630 baxter 0.000630 shropshire 0.000630 wagon 0.000630 momentarily 0.000630 communion 0.000630 loft 0.000629 definitive 0.000629 wellington 0.000629 discretionary 0.000629 silicon 0.000629 dancer 0.000629 blunt 0.000629 stewards 0.000629 apologise 0.000629 unveiled 0.000629 wallet 0.000629 pulls 0.000629 philosopher 0.000629 provoke 0.000628 loneliness 0.000628 modigliani 0.000628 unpaid 0.000628 shoots 0.000628 handwriting 0.000628 prohibition 0.000628 si 0.000628 sufferer 0.000628 adjourned 0.000628 continual 0.000627 arrows 0.000627 blinked 0.000627 epic 0.000627 undertakings 0.000627 creole 0.000627 devastated 0.000627 gravitational 0.000627 tearing 0.000627 intriguing 0.000627 moses 0.000627 convoy 0.000627 bark 0.000627 pill 0.000626 lyons 0.000626 redemption 0.000626 worm 0.000626 puzzle 0.000626 online 0.000626 unmarried 0.000626 purchasers 0.000626 kidney 0.000625 sierra 0.000625 hague 0.000625 bursting 0.000625 castles 0.000625 searches 0.000625 laughs 0.000625 tins 0.000625 critically 0.000624 hissed 0.000624 proprietary 0.000624 der 0.000624 elephants 0.000624 presidents 0.000624 parameter 0.000624 undertook 0.000624 invaded 0.000624 nottinghamshire 0.000624 translate 0.000624 upheld 0.000624 equitable 0.000623 shocking 0.000623 infinitely 0.000623 syllabus 0.000623 maiden 0.000623 micro 0.000623 compares 0.000623 imperative 0.000623 bounds 0.000623 spreadsheet 0.000623 grandson 0.000622 tyre 0.000622 finn 0.000622 nomination 0.000622 costa 0.000622 fatty 0.000622 humiliation 0.000622 genesis 0.000622 beth 0.000622 persuading 0.000621 dole 0.000621 closures 0.000621 paints 0.000621 intensified 0.000621 breadth 0.000621 nationalists 0.000621 exceeds 0.000621 spectacles 0.000621 geometric 0.000621 brewing 0.000620 ventilation 0.000620 crystals 0.000620 blades 0.000620 introduces 0.000619 insulation 0.000619 algae 0.000619 cia 0.000619 pipeline 0.000619 brooke 0.000619 underway 0.000619 regent 0.000619 dictated 0.000619 offender 0.000619 swell 0.000619 overt 0.000619 abbot 0.000619 web 0.000619 gastrin 0.000618 judgments 0.000618 warmly 0.000618 morally 0.000618 orderly 0.000618 modular 0.000618 delhi 0.000618 boredom 0.000618 tsar 0.000618 seize 0.000618 impatiently 0.000618 flu 0.000617 whale 0.000617 marrying 0.000617 robbed 0.000617 fulfilment 0.000617 liquidity 0.000617 precautions 0.000617 bourgeoisie 0.000617 tt 0.000617 attributable 0.000617 tan 0.000617 cheerfully 0.000617 craftsmen 0.000617 vicinity 0.000617 stocking 0.000617 demolition 0.000617 barley 0.000617 restrained 0.000617 afforded 0.000617 warmer 0.000617 librarians 0.000617 instructor 0.000617 sketches 0.000616 labs 0.000616 dangerously 0.000616 suitcase 0.000616 instability 0.000616 pills 0.000616 survives 0.000616 fumes 0.000616 spark 0.000616 dread 0.000616 universally 0.000616 pork 0.000616 descending 0.000616 ssr 0.000616 grimly 0.000616 practicable 0.000616 ingredient 0.000614 ropes 0.000614 brazilian 0.000614 patriotic 0.000614 somalia 0.000614 terraces 0.000614 outlet 0.000614 expectancy 0.000614 judith 0.000614 distal 0.000614 crises 0.000614 devlin 0.000614 proprietor 0.000613 pretended 0.000613 clough 0.000613 knots 0.000613 quarrel 0.000613 brakes 0.000613 compartment 0.000613 goddess 0.000613 ashdown 0.000613 stout 0.000613 tess 0.000613 subsidiaries 0.000613 turf 0.000613 marching 0.000613 climbers 0.000613 interact 0.000613 govern 0.000612 corresponds 0.000612 penetration 0.000612 mahogany 0.000612 compression 0.000612 sediment 0.000612 exhibits 0.000612 taller 0.000612 unrealistic 0.000612 faye 0.000612 hilton 0.000612 inefficient 0.000612 undergoing 0.000611 elastic 0.000611 coupon 0.000611 coincided 0.000611 beats 0.000611 peterborough 0.000611 monkey 0.000611 treasures 0.000611 visually 0.000611 bolton 0.000611 baghdad 0.000611 missionary 0.000611 pike 0.000611 crashing 0.000611 syntax 0.000611 marion 0.000611 desperation 0.000610 crest 0.000610 frantic 0.000610 chile 0.000610 frankfurt 0.000610 bulbs 0.000610 cs 0.000610 sellers 0.000610 pioneering 0.000610 careless 0.000610 arrests 0.000610 tentative 0.000609 mat 0.000609 seriousness 0.000609 microscope 0.000609 bookings 0.000609 greet 0.000609 sting 0.000609 frenchman 0.000609 addiction 0.000609 diocese 0.000609 herr 0.000609 devise 0.000609 killings 0.000609 renault 0.000608 exported 0.000608 praying 0.000608 retorted 0.000608 plump 0.000608 intimacy 0.000608 biscuit 0.000608 conferred 0.000608 fuels 0.000607 cans 0.000607 hairs 0.000607 misunderstanding 0.000607 mungo 0.000607 compounded 0.000607 scum 0.000607 computerised 0.000607 theoretically 0.000607 predator 0.000606 assassination 0.000606 moist 0.000606 poses 0.000606 ads 0.000606 hesitate 0.000606 engels 0.000606 lebanese 0.000606 builds 0.000606 dismay 0.000605 longed 0.000605 poisoning 0.000605 bless 0.000605 hunters 0.000605 succeeding 0.000605 plague 0.000605 acre 0.000605 applause 0.000604 buffet 0.000604 taxed 0.000604 undergone 0.000604 frail 0.000604 glamorous 0.000604 middlesex 0.000604 seeming 0.000604 inmates 0.000604 multinational 0.000604 jamaica 0.000604 discounts 0.000604 housekeeper 0.000604 atkinson 0.000604 yuan 0.000604 gardeners 0.000604 throws 0.000603 ministries 0.000603 verses 0.000603 pants 0.000603 stereo 0.000603 gig 0.000603 goats 0.000603 honeymoon 0.000603 markers 0.000603 piers 0.000603 brenda 0.000603 fake 0.000602 postcard 0.000602 yourselves 0.000602 mole 0.000602 stripes 0.000602 ivan 0.000602 logically 0.000602 additionally 0.000602 pitched 0.000602 cockpit 0.000602 warrior 0.000602 seaside 0.000601 banner 0.000601 perched 0.000601 concentrates 0.000601 perth 0.000601 luxembourg 0.000601 sorrow 0.000600 intensely 0.000600 minded 0.000600 blankets 0.000600 packets 0.000600 judy 0.000600 symptom 0.000600 violin 0.000600 austin 0.000600 fences 0.000600 veto 0.000599 chord 0.000599 anguish 0.000599 jackets 0.000599 whereabouts 0.000599 staggering 0.000599 extraction 0.000599 ramsay 0.000599 preoccupation 0.000599 ants 0.000599 dentist 0.000598 resemble 0.000598 unrelated 0.000598 barrow 0.000598 souness 0.000598 complexes 0.000598 myths 0.000598 theatres 0.000598 vaughan 0.000598 tariffs 0.000598 interfaces 0.000598 mister 0.000598 confirming 0.000597 preaching 0.000597 differentiated 0.000597 rebuilding 0.000597 typed 0.000597 dwelling 0.000597 diamonds 0.000597 wicket 0.000596 dissatisfaction 0.000596 weeds 0.000596 pins 0.000596 warns 0.000596 diplomacy 0.000596 acknowledgement 0.000596 reckless 0.000596 pointless 0.000596 treats 0.000596 granite 0.000596 gin 0.000596 wreck 0.000596 sunset 0.000596 steer 0.000596 maritime 0.000596 firemen 0.000594 validation 0.000594 anselm 0.000594 bolts 0.000594 networking 0.000594 compost 0.000594 competitiveness 0.000594 lenders 0.000594 polo 0.000594 guerrilla 0.000594 forged 0.000594 rationale 0.000594 larvae 0.000594 mushrooms 0.000594 hurdle 0.000594 sha 0.000593 exert 0.000593 identifiable 0.000593 periodic 0.000593 disadvantaged 0.000593 watches 0.000593 larry 0.000593 bloom 0.000593 irene 0.000593 sentencing 0.000593 beware 0.000593 canteen 0.000593 hyde 0.000593 coldly 0.000592 reg 0.000592 glare 0.000592 pronunciation 0.000592 edgar 0.000592 underlined 0.000592 tails 0.000592 fender 0.000592 bait 0.000592 sipped 0.000591 lavatory 0.000591 raining 0.000591 peering 0.000591 copying 0.000591 rectangular 0.000591 quotas 0.000591 berkeley 0.000591 gradient 0.000591 realization 0.000591 shouts 0.000591 interviewer 0.000591 tracey 0.000591 artefacts 0.000591 morocco 0.000590 multiply 0.000590 endorsement 0.000590 gina 0.000590 bewildered 0.000590 kinship 0.000590 abolish 0.000590 installations 0.000590 extinction 0.000590 darkened 0.000590 inset 0.000590 donaldson 0.000590 plunge 0.000590 moslem 0.000590 phoenix 0.000590 harvard 0.000590 chop 0.000589 scarf 0.000589 repertoire 0.000589 montgomery 0.000589 striped 0.000589 overs 0.000589 commonplace 0.000589 lynn 0.000589 wed 0.000589 burglary 0.000589 armoured 0.000589 suppress 0.000589 creep 0.000589 cavalry 0.000589 poorest 0.000589 pinch 0.000588 transportation 0.000588 trader 0.000588 tract 0.000588 walton 0.000588 grandparents 0.000588 sculptures 0.000588 dipped 0.000588 sands 0.000588 barrels 0.000588 introductory 0.000588 biased 0.000587 debbie 0.000587 bungalow 0.000587 diverted 0.000587 pearson 0.000587 resorts 0.000587 converting 0.000587 shetland 0.000587 signalling 0.000587 solaris 0.000587 mantle 0.000587 lambs 0.000586 discreet 0.000586 brighter 0.000586 teasing 0.000586 parsons 0.000586 curb 0.000586 bella 0.000586 offline 0.000586 bacterial 0.000586 rhythms 0.000586 shrine 0.000586 reshuffle 0.000586 dissent 0.000586 identifier 0.000585 pier 0.000585 attained 0.000585 lexicon 0.000585 onions 0.000585 diversion 0.000585 embraced 0.000585 perfume 0.000585 referrals 0.000585 temperament 0.000585 mama 0.000585 vigour 0.000585 yielded 0.000585 skip 0.000585 saloon 0.000585 addictive 0.000585 melted 0.000585 fen 0.000585 retrospective 0.000585 popped 0.000584 supermarkets 0.000584 facial 0.000584 midday 0.000584 algorithm 0.000584 dripping 0.000584 kgb 0.000584 cracking 0.000584 commenting 0.000584 astonishment 0.000584 manuscripts 0.000584 underwent 0.000583 penetrate 0.000583 crescent 0.000583 fallon 0.000583 arithmetic 0.000583 rung 0.000583 leak 0.000583 deborah 0.000583 badge 0.000583 extraordinarily 0.000583 influencing 0.000583 arse 0.000582 fading 0.000582 bullets 0.000582 directives 0.000582 threatens 0.000582 finishes 0.000582 scare 0.000582 mortgages 0.000582 temporal 0.000582 roundabout 0.000582 needless 0.000582 binoculars 0.000582 isaac 0.000582 elimination 0.000582 presume 0.000582 winston 0.000582 detachment 0.000582 rot 0.000582 incorporates 0.000581 accusing 0.000581 leicestershire 0.000581 reunion 0.000581 alliances 0.000581 antonio 0.000581 bubble 0.000581 writ 0.000581 rig 0.000581 deployment 0.000581 warriors 0.000581 evaluating 0.000580 jug 0.000580 nodding 0.000580 roast 0.000580 bmw 0.000580 bounced 0.000580 exhaust 0.000580 distributor 0.000580 locke 0.000580 huh 0.000580 atom 0.000580 brokers 0.000580 michel 0.000580 manipulate 0.000580 forgiven 0.000579 flowed 0.000579 burrows 0.000579 satisfactorily 0.000579 curry 0.000579 convent 0.000579 missions 0.000579 stationed 0.000579 smash 0.000578 porch 0.000578 pasta 0.000578 broker 0.000578 elinor 0.000578 tunnels 0.000578 warrington 0.000578 jon 0.000578 royalty 0.000578 activation 0.000578 oct 0.000578 swore 0.000578 donkey 0.000578 burun 0.000578 auditor 0.000578 textiles 0.000578 kemp 0.000578 baroque 0.000578 cheapest 0.000578 dotted 0.000578 informative 0.000578 molla 0.000577 cole 0.000577 denounced 0.000577 philips 0.000577 newcomers 0.000577 soaked 0.000577 crusade 0.000577 kisses 0.000577 ions 0.000577 turmoil 0.000577 kills 0.000577 engaging 0.000577 rachaela 0.000577 diagrams 0.000577 kurdish 0.000577 consolation 0.000576 belts 0.000576 laundry 0.000576 basal 0.000576 persuasive 0.000576 staining 0.000576 covenants 0.000576 handbook 0.000576 emptied 0.000576 accidentally 0.000576 spat 0.000576 entertained 0.000576 possessing 0.000574 knelt 0.000574 lasts 0.000574 oath 0.000574 cancellation 0.000574 exquisite 0.000574 initiate 0.000574 photographed 0.000574 willis 0.000574 contested 0.000574 confidently 0.000574 troop 0.000574 composers 0.000574 aquitaine 0.000573 persist 0.000573 miguel 0.000573 stylistic 0.000573 derelict 0.000573 elect 0.000573 insignificant 0.000573 reassurance 0.000573 stranded 0.000573 nought 0.000573 deter 0.000573 paradigm 0.000573 thornton 0.000573 neutrality 0.000573 implicitly 0.000573 benson 0.000572 leon 0.000572 lordships 0.000572 coronary 0.000572 illuminated 0.000572 approximate 0.000572 unbelievable 0.000572 fergie 0.000571 kicks 0.000571 thirds 0.000571 padded 0.000571 inflicted 0.000571 athletic 0.000571 reformed 0.000571 administer 0.000571 quiz 0.000571 tedious 0.000571 bruised 0.000571 epidemic 0.000571 environmentalists 0.000571 churchyard 0.000571 gangs 0.000571 contrasted 0.000570 mon 0.000570 notified 0.000570 colombia 0.000570 grains 0.000570 shipped 0.000570 patiently 0.000570 implying 0.000570 normandy 0.000570 insurers 0.000570 suffice 0.000570 stray 0.000570 privy 0.000570 posture 0.000570 begged 0.000570 inspected 0.000570 benedict 0.000569 parting 0.000569 tractor 0.000569 buckinghamshire 0.000569 diaries 0.000569 cis 0.000569 delegated 0.000569 collectively 0.000569 nationals 0.000569 greenbelt 0.000569 pal 0.000569 ftse 0.000569 daytime 0.000568 prevailed 0.000568 flowering 0.000568 pagan 0.000568 incorporation 0.000568 fantasies 0.000568 occupying 0.000568 rides 0.000568 mins 0.000568 endangered 0.000568 carving 0.000568 shores 0.000568 reuter 0.000567 britons 0.000567 contributes 0.000567 replay 0.000567 splash 0.000567 beijing 0.000567 ascertain 0.000567 convergence 0.000567 finer 0.000567 consuming 0.000567 detector 0.000567 vulnerability 0.000567 assurances 0.000566 banana 0.000566 uranium 0.000566 sociologists 0.000566 ronni 0.000566 pillars 0.000566 forecasting 0.000566 gamble 0.000566 nuns 0.000566 parlour 0.000566 staging 0.000566 judiciary 0.000565 disgrace 0.000565 disney 0.000565 cooker 0.000565 forensic 0.000565 slaughter 0.000565 congressional 0.000565 behaviours 0.000565 offended 0.000565 pleading 0.000565 ashes 0.000565 jerry 0.000565 aeroplane 0.000565 mysteries 0.000564 apprehension 0.000564 creator 0.000564 hostel 0.000564 theses 0.000564 reversal 0.000564 sub 0.000564 subsection 0.000564 persuasion 0.000564 uniforms 0.000564 hailed 0.000564 endure 0.000564 conditioned 0.000563 screwed 0.000563 flags 0.000563 toss 0.000563 tonic 0.000563 tina 0.000563 jumper 0.000563 novelty 0.000563 spheres 0.000563 venus 0.000563 harlow 0.000563 violet 0.000562 messenger 0.000562 advisable 0.000562 pets 0.000562 overthrow 0.000562 unbeaten 0.000562 hector 0.000562 accession 0.000562 offending 0.000562 repaired 0.000562 bean 0.000562 accessories 0.000561 seconded 0.000561 antiques 0.000561 intricate 0.000561 moonlight 0.000561 chemists 0.000561 weir 0.000561 hare 0.000561 cock 0.000561 penis 0.000561 merge 0.000561 countess 0.000561 graduated 0.000561 merry 0.000561 insp 0.000560 heater 0.000560 nov 0.000560 ti 0.000560 nodes 0.000560 weber 0.000560 athletics 0.000560 receptor 0.000560 perry 0.000560 blurred 0.000560 outing 0.000560 concluding 0.000560 tapping 0.000560 logo 0.000560 smokers 0.000560 articulated 0.000559 apologies 0.000559 cushion 0.000559 arches 0.000559 methodist 0.000559 enduring 0.000559 tribunals 0.000559 deviation 0.000559 adolescent 0.000559 versatile 0.000559 sails 0.000559 mo 0.000559 talbot 0.000558 mario 0.000558 uniquely 0.000558 miracles 0.000558 nutty 0.000558 elbows 0.000558 monkeys 0.000558 diplomats 0.000558 tasted 0.000558 frown 0.000558 construed 0.000558 inventory 0.000557 traits 0.000557 successors 0.000557 flared 0.000557 stroked 0.000557 reef 0.000557 substituted 0.000557 expressive 0.000557 contemplated 0.000557 grapes 0.000557 pyramid 0.000557 anal 0.000557 tug 0.000557 curse 0.000557 stamford 0.000557 fossils 0.000556 quoting 0.000556 haunted 0.000556 brushing 0.000556 bastards 0.000556 pavilion 0.000556 courtaulds 0.000556 registry 0.000556 estuary 0.000556 freddie 0.000556 adventures 0.000556 couch 0.000556 hardened 0.000556 voiced 0.000556 brilliantly 0.000556 psychologist 0.000555 consolidation 0.000555 blouse 0.000555 tack 0.000555 creeping 0.000555 termination 0.000555 medals 0.000555 wept 0.000555 tudor 0.000555 erupted 0.000555 awe 0.000555 eroded 0.000555 regretted 0.000555 sly 0.000553 caves 0.000553 deliveries 0.000553 familiarity 0.000553 revive 0.000553 centenary 0.000553 sniffed 0.000553 respondent 0.000553 disasters 0.000552 yen 0.000552 midfielder 0.000552 occupants 0.000552 enlightened 0.000552 differed 0.000552 fleming 0.000552 burma 0.000552 nutrients 0.000552 elevated 0.000552 generates 0.000552 neural 0.000552 lucas 0.000552 prevalent 0.000551 irritated 0.000551 foil 0.000551 republicans 0.000551 hop 0.000551 heal 0.000551 descendants 0.000551 utilities 0.000551 hopkins 0.000551 hurts 0.000551 constructing 0.000551 sophistication 0.000551 spa 0.000551 orchard 0.000551 rick 0.000551 jess 0.000551 triumphant 0.000551 modelled 0.000550 heightened 0.000550 arabs 0.000550 mutant 0.000550 submarine 0.000550 workmen 0.000550 indicative 0.000550 trauma 0.000550 youthful 0.000550 consume 0.000550 recreational 0.000550 bee 0.000549 physician 0.000549 terminated 0.000549 lucrative 0.000549 contraction 0.000549 wrecked 0.000549 screened 0.000549 wireless 0.000549 plateau 0.000549 tesco 0.000549 turbulent 0.000549 flattened 0.000549 devaluation 0.000549 comeback 0.000549 await 0.000548 seamen 0.000548 baseline 0.000548 disapproval 0.000548 wills 0.000548 klerk 0.000548 overwhelmingly 0.000548 noel 0.000548 lenses 0.000548 focal 0.000548 jargon 0.000548 speedy 0.000547 faulty 0.000547 edit 0.000547 youngster 0.000547 harness 0.000547 endowment 0.000547 parcels 0.000547 engagements 0.000547 lager 0.000547 inhibited 0.000547 anxieties 0.000546 menace 0.000546 begging 0.000546 aristocratic 0.000546 abraham 0.000546 incoming 0.000546 shoppers 0.000546 adjusting 0.000546 analogous 0.000546 schoolboy 0.000546 roaring 0.000545 peasantry 0.000545 flint 0.000545 pumps 0.000545 cyclists 0.000545 winger 0.000545 gillian 0.000545 reciprocal 0.000545 rituals 0.000545 unaffected 0.000545 abdominal 0.000545 rio 0.000545 utmost 0.000545 inclination 0.000545 infirmary 0.000544 variant 0.000544 jelly 0.000544 classrooms 0.000544 edouard 0.000544 petersburg 0.000544 forties 0.000544 exhaustion 0.000544 usefulness 0.000544 gastrointestinal 0.000544 hugo 0.000544 promotional 0.000543 farther 0.000543 illegally 0.000543 richest 0.000543 efficacy 0.000543 spared 0.000543 nan 0.000543 amenities 0.000543 overlapping 0.000543 polling 0.000543 illnesses 0.000543 limp 0.000543 afternoons 0.000543 otto 0.000543 apprentice 0.000543 sentimental 0.000542 indefinitely 0.000542 mortimer 0.000542 quartet 0.000542 mann 0.000542 endill 0.000542 dazzling 0.000542 visions 0.000542 professionally 0.000542 listener 0.000542 irrational 0.000541 warner 0.000541 tortured 0.000541 resented 0.000541 foreman 0.000541 rhodes 0.000541 cocoa 0.000541 cathy 0.000541 inverted 0.000541 etcetera 0.000541 syrian 0.000541 radicals 0.000541 enlightenment 0.000541 insolvency 0.000541 barrister 0.000541 literal 0.000541 surrendered 0.000541 fade 0.000541 paperwork 0.000541 wa 0.000541 notation 0.000540 wonderfully 0.000540 confederation 0.000540 volatile 0.000540 recognizing 0.000540 sausage 0.000540 brisk 0.000540 pedestrian 0.000539 hinted 0.000539 doubling 0.000539 dots 0.000539 mam 0.000539 unanimously 0.000539 blasted 0.000539 pesticides 0.000538 closes 0.000538 feather 0.000538 crowned 0.000538 benn 0.000538 dti 0.000538 recurrence 0.000538 mentioning 0.000538 madeleine 0.000538 diets 0.000538 africans 0.000538 buck 0.000538 rochester 0.000538 exceeding 0.000538 venues 0.000537 unlucky 0.000537 floppy 0.000537 aristocracy 0.000537 feeds 0.000537 center 0.000537 frog 0.000537 slapped 0.000537 clutch 0.000537 canopy 0.000537 mystical 0.000537 stroll 0.000537 woollen 0.000536 litre 0.000536 qc 0.000536 cologne 0.000536 hurricane 0.000536 advertise 0.000536 pints 0.000536 volunteered 0.000536 enacted 0.000536 fuelled 0.000536 smashing 0.000536 jaguar 0.000536 intervening 0.000535 loretta 0.000535 harper 0.000535 ankles 0.000535 sediments 0.000535 grandma 0.000535 runway 0.000535 rods 0.000535 cartoon 0.000535 jubilee 0.000535 masks 0.000535 preferring 0.000535 perpetual 0.000535 lavender 0.000535 adjective 0.000535 groom 0.000535 crafts 0.000535 amber 0.000535 respiratory 0.000535 uttered 0.000535 briskly 0.000535 anglers 0.000535 lawful 0.000535 differentiate 0.000533 newcomer 0.000533 servicing 0.000533 fatigue 0.000533 alternate 0.000533 groove 0.000533 subdued 0.000532 advancement 0.000532 tailored 0.000532 sanction 0.000532 ee 0.000532 bloc 0.000532 tighter 0.000532 rhythmic 0.000532 bounce 0.000532 nutrition 0.000532 intolerable 0.000532 eagles 0.000532 contingency 0.000532 peacock 0.000532 credited 0.000532 bridget 0.000532 stratford 0.000532 butterflies 0.000532 pumping 0.000531 martial 0.000531 scattering 0.000531 cites 0.000531 leukaemia 0.000531 reconcile 0.000531 liberalism 0.000531 cuttings 0.000531 intervened 0.000531 depreciation 0.000531 shrug 0.000531 amazement 0.000531 vines 0.000531 luxurious 0.000531 charcoal 0.000531 rector 0.000531 understandably 0.000530 netware 0.000530 cupboards 0.000530 adjectives 0.000530 mattress 0.000530 satellites 0.000530 manslaughter 0.000530 garrison 0.000530 auditing 0.000530 domains 0.000530 pastry 0.000530 unseen 0.000530 sabine 0.000530 thai 0.000530 kirk 0.000530 altering 0.000530 ascent 0.000530 eruption 0.000529 irresistible 0.000529 stain 0.000529 assemblies 0.000529 folds 0.000529 stylish 0.000529 glamour 0.000529 crush 0.000529 inference 0.000529 silas 0.000529 algeria 0.000528 spill 0.000528 cdna 0.000528 meadows 0.000528 em 0.000528 confuse 0.000528 wearily 0.000528 utterances 0.000528 reactors 0.000528 mediated 0.000528 reflections 0.000528 accorded 0.000528 capitals 0.000528 embryo 0.000528 grandchildren 0.000528 trailer 0.000528 newer 0.000528 hindu 0.000528 storms 0.000527 economical 0.000527 bake 0.000527 lesions 0.000527 wallpaper 0.000527 assisting 0.000527 scratched 0.000527 rag 0.000527 concede 0.000527 elegance 0.000527 inexperienced 0.000527 regained 0.000527 thankfully 0.000527 participated 0.000527 carson 0.000527 tee 0.000527 icon 0.000527 elders 0.000527 pam 0.000527 comforting 0.000527 warmed 0.000526 shivering 0.000526 dire 0.000526 authoritarian 0.000526 costumes 0.000526 flux 0.000526 entrants 0.000526 fiver 0.000526 groupings 0.000526 formulate 0.000526 nora 0.000526 bureaucrats 0.000526 injected 0.000525 queens 0.000525 specificity 0.000525 joanne 0.000525 recommends 0.000525 breathless 0.000525 renew 0.000525 gifted 0.000525 abrupt 0.000525 fancied 0.000525 obstruction 0.000525 ahmed 0.000525 whipped 0.000525 forster 0.000525 unused 0.000525 questionnaires 0.000525 plains 0.000525 trafford 0.000525 undue 0.000525 rivalry 0.000525 fortress 0.000524 chronicle 0.000524 plough 0.000524 entails 0.000524 compliment 0.000524 gallons 0.000524 hilda 0.000524 monopolies 0.000524 deepest 0.000524 arrogance 0.000524 pancreatic 0.000524 liberties 0.000524 banging 0.000524 professionalism 0.000524 stacked 0.000523 vegetarian 0.000523 betrayal 0.000523 kg 0.000523 indulge 0.000523 bathing 0.000523 drowning 0.000523 owls 0.000523 disguised 0.000523 pens 0.000523 apprenticeship 0.000523 leant 0.000523 beneficiary 0.000523 protesting 0.000523 probes 0.000522 crossroads 0.000522 noticing 0.000522 antarctic 0.000522 bombers 0.000522 vase 0.000522 amidst 0.000522 fiery 0.000522 mcdonald 0.000522 abandonment 0.000522 discouraged 0.000521 punk 0.000521 garry 0.000521 forefront 0.000521 fitzalan 0.000521 mentions 0.000521 cot 0.000521 complexities 0.000521 freeman 0.000520 peters 0.000520 tunes 0.000520 apron 0.000520 locking 0.000520 vastly 0.000520 recourse 0.000520 altitude 0.000520 fragmented 0.000520 acknowledges 0.000520 ponds 0.000520 leaked 0.000520 antibiotics 0.000520 discrete 0.000520 visibility 0.000520 thrill 0.000520 greedy 0.000520 sod 0.000520 underwear 0.000520 statues 0.000519 pharmaceutical 0.000519 greed 0.000519 conceptions 0.000519 cumbria 0.000519 hangs 0.000519 settlers 0.000519 slips 0.000519 curator 0.000519 festivals 0.000519 toilets 0.000519 prudent 0.000519 immaculate 0.000519 metabolism 0.000519 lasmo 0.000518 homogeneous 0.000518 hypothetical 0.000518 sponge 0.000518 proximal 0.000518 bookshop 0.000518 spectator 0.000518 sparked 0.000518 usl 0.000518 lust 0.000518 prefers 0.000518 assay 0.000518 hari 0.000518 coding 0.000518 telephones 0.000518 tees 0.000518 pears 0.000518 woken 0.000518 suppression 0.000518 eileen 0.000518 nostalgia 0.000518 institutes 0.000517 lifeboat 0.000517 warrants 0.000517 contentious 0.000517 battalion 0.000517 betting 0.000517 moira 0.000517 piss 0.000517 correlated 0.000517 crumbling 0.000517 multitude 0.000517 felicity 0.000517 earthquake 0.000516 restricting 0.000516 ranked 0.000516 explosions 0.000516 discourage 0.000516 meditation 0.000516 sony 0.000516 statistically 0.000516 endoscopic 0.000516 viruses 0.000516 voluntarily 0.000516 mortal 0.000516 possesses 0.000516 bert 0.000516 cl 0.000516 digestion 0.000516 goose 0.000516 untouched 0.000515 vowed 0.000515 fore 0.000515 offerings 0.000515 friction 0.000515 multiparty 0.000515 repeats 0.000515 unreliable 0.000515 pilgrimage 0.000515 unpublished 0.000515 sentiments 0.000515 vapour 0.000515 negligible 0.000515 circulating 0.000515 notoriously 0.000515 instinctive 0.000515 chickens 0.000513 ukrainian 0.000513 speciality 0.000513 abandoning 0.000513 pillar 0.000513 interrupt 0.000513 benign 0.000513 emphasises 0.000513 slap 0.000513 invoked 0.000513 fills 0.000513 parachute 0.000513 boroughs 0.000513 radiator 0.000513 distracted 0.000513 enzymes 0.000513 bangladesh 0.000513 stringent 0.000513 speeding 0.000513 grill 0.000513 syllable 0.000512 transplant 0.000512 programmed 0.000512 meter 0.000512 carer 0.000512 stockings 0.000512 mustard 0.000512 wagner 0.000512 psychic 0.000512 humanitarian 0.000512 ethiopia 0.000512 arabic 0.000512 chewing 0.000512 alpine 0.000512 conformity 0.000512 maximise 0.000512 bonn 0.000512 eminent 0.000512 conservatism 0.000512 obscene 0.000512 supervise 0.000512 wow 0.000512 medication 0.000511 verbs 0.000511 mound 0.000511 carrots 0.000511 coastline 0.000511 stressing 0.000511 workload 0.000511 relish 0.000511 bats 0.000511 snooker 0.000511 den 0.000511 cigar 0.000511 veil 0.000511 revelations 0.000511 northamptonshire 0.000511 browning 0.000511 damian 0.000511 memoirs 0.000510 olympics 0.000510 clara 0.000510 papa 0.000510 borrowers 0.000510 cerebral 0.000510 pest 0.000510 edwardian 0.000510 collaborative 0.000510 doubles 0.000510 projections 0.000509 unnatural 0.000509 pounding 0.000509 po 0.000509 davidson 0.000509 vividly 0.000509 agitation 0.000509 ulcers 0.000509 madeira 0.000509 appliances 0.000509 pizza 0.000509 folding 0.000509 annoyance 0.000509 thrilled 0.000509 ion 0.000509 queried 0.000509 saxon 0.000508 surround 0.000508 warranty 0.000508 oesophagus 0.000508 spines 0.000508 glazed 0.000508 inhibit 0.000508 amiss 0.000508 tyneside 0.000508 remuneration 0.000508 boxer 0.000508 textbooks 0.000508 levelled 0.000508 clasped 0.000508 vitamins 0.000507 excavation 0.000507 endorse 0.000507 evolve 0.000507 clumsy 0.000507 turks 0.000507 soaring 0.000507 alerted 0.000507 spur 0.000507 ton 0.000507 mutation 0.000507 bubbles 0.000507 dialect 0.000507 frontiers 0.000506 sincere 0.000506 screws 0.000506 guardians 0.000506 puppy 0.000506 ore 0.000506 watts 0.000506 nineties 0.000506 fractions 0.000506 thriving 0.000506 slowing 0.000506 banning 0.000506 aa 0.000506 scot 0.000506 avoidance 0.000506 swelling 0.000506 condemn 0.000506 snakes 0.000506 gerard 0.000506 renal 0.000505 croatian 0.000505 barking 0.000505 chairmen 0.000505 relegation 0.000505 canals 0.000505 violation 0.000505 admirable 0.000505 incumbent 0.000505 recipients 0.000505 loyalist 0.000505 steak 0.000505 penry 0.000505 disciplined 0.000505 byrne 0.000505 performer 0.000504 civilised 0.000504 rebuild 0.000504 guts 0.000504 childish 0.000504 shiona 0.000504 pissed 0.000504 vouchers 0.000504 dudley 0.000504 sausages 0.000504 punish 0.000504 cookery 0.000504 cancers 0.000504 carbonate 0.000504 baskets 0.000504 cured 0.000503 daunting 0.000503 sarajevo 0.000503 brushes 0.000503 wiping 0.000503 tolerated 0.000503 viking 0.000503 skinner 0.000503 spreads 0.000502 reassured 0.000502 ashton 0.000502 ridden 0.000502 ricky 0.000502 openness 0.000502 cid 0.000502 niece 0.000502 communicated 0.000502 manipulated 0.000502 pigeons 0.000502 anatomy 0.000502 pip 0.000502 preface 0.000502 fetched 0.000502 persistence 0.000502 abstraction 0.000501 dynasty 0.000501 hiring 0.000501 pavements 0.000501 fulfilling 0.000501 gambling 0.000501 reflux 0.000501 rib 0.000501 vs 0.000501 infectious 0.000501 infusion 0.000501 cereal 0.000501 reared 0.000501 telescope 0.000501 adventurers 0.000500 punched 0.000500 carpenter 0.000500 digest 0.000500 permitting 0.000500 slippery 0.000500 vol 0.000500 urgh 0.000500 cunning 0.000500 resembles 0.000500 sunsoft 0.000500 olds 0.000500 bruno 0.000500 totalling 0.000500 willingly 0.000500 nicaragua 0.000500 hears 0.000499 unduly 0.000499 allocations 0.000499 budgetary 0.000499 leases 0.000499 threads 0.000499 allocate 0.000499 mosaics 0.000499 solemn 0.000499 penguin 0.000499 avon 0.000499 athletes 0.000499 jets 0.000499 ensuing 0.000499 sweating 0.000499 jewels 0.000498 overriding 0.000498 sco 0.000498 clocks 0.000498 cushions 0.000498 retailing 0.000498 outwards 0.000498 prosecutions 0.000498 spit 0.000498 slogan 0.000498 guido 0.000497 simulation 0.000497 cane 0.000497 sued 0.000497 shrewd 0.000497 masked 0.000497 smelt 0.000497 bates 0.000497 pleasantly 0.000497 patricia 0.000497 wheeler 0.000497 marian 0.000497 cohesion 0.000497 weed 0.000496 coordination 0.000496 maze 0.000496 postwar 0.000496 arched 0.000496 sturdy 0.000496 humanities 0.000496 albania 0.000496 contemplating 0.000496 communicative 0.000496 suburb 0.000496 shaky 0.000496 berry 0.000496 summat 0.000496 scholarly 0.000496 clarification 0.000496 anyhow 0.000496 appellant 0.000495 drains 0.000495 boswell 0.000495 microcomputer 0.000495 unskilled 0.000495 kerr 0.000495 analogue 0.000495 sudan 0.000495 rental 0.000495 paving 0.000495 dover 0.000495 rye 0.000495 sensations 0.000493 dubbed 0.000493 unnecessarily 0.000493 scotsman 0.000493 seating 0.000493 truths 0.000493 chelmsford 0.000493 chaotic 0.000493 soared 0.000493 luce 0.000493 consultations 0.000493 diminish 0.000493 froze 0.000493 windscreen 0.000493 alps 0.000493 surveying 0.000493 aching 0.000493 draped 0.000493 fictional 0.000493 gedge 0.000492 jeffrey 0.000492 downhill 0.000492 stormed 0.000492 quay 0.000492 parkinson 0.000492 oceans 0.000492 mourning 0.000492 singular 0.000492 impersonal 0.000492 feasibility 0.000492 sensing 0.000492 aisle 0.000492 quotations 0.000492 cider 0.000492 cunningham 0.000492 howe 0.000492 extravagant 0.000491 hereditary 0.000491 tuck 0.000491 naming 0.000491 cop 0.000491 moran 0.000491 clifford 0.000491 commanders 0.000491 hurriedly 0.000491 deposition 0.000491 cowley 0.000491 jasper 0.000491 siemens 0.000491 tbsp 0.000491 ter 0.000491 recalling 0.000490 presumption 0.000490 iceland 0.000490 slavery 0.000490 hurting 0.000490 disregard 0.000490 underwater 0.000490 prevail 0.000490 marjorie 0.000490 starvation 0.000490 len 0.000490 sparks 0.000490 satin 0.000490 questionable 0.000490 rejects 0.000490 hostage 0.000490 resurrection 0.000490 emancipation 0.000489 sizeable 0.000489 bach 0.000489 diane 0.000489 tread 0.000489 katie 0.000489 shuddered 0.000489 blond 0.000489 subsistence 0.000489 mumbled 0.000489 baggage 0.000489 draught 0.000489 rocking 0.000489 shuttle 0.000489 viability 0.000489 awaited 0.000489 receptors 0.000489 vitality 0.000489 typewriter 0.000489 sailor 0.000489 ceremonial 0.000488 fenella 0.000488 phosphate 0.000488 nostrils 0.000488 juan 0.000488 fielding 0.000488 arthritis 0.000488 wwf 0.000488 beers 0.000488 sensational 0.000488 caesar 0.000488 upbringing 0.000488 lava 0.000488 forge 0.000488 trailed 0.000488 topaz 0.000488 stiffly 0.000487 cf 0.000487 protestants 0.000487 compatibility 0.000487 sylvia 0.000487 accommodated 0.000487 presenter 0.000487 lavish 0.000487 fergus 0.000487 powerless 0.000487 nests 0.000487 localities 0.000487 delaney 0.000487 formats 0.000486 safeguards 0.000486 slab 0.000486 unwelcome 0.000486 lobbying 0.000486 clip 0.000486 keegan 0.000486 pathway 0.000486 prosecuting 0.000486 highways 0.000486 entrepreneurs 0.000486 mast 0.000486 newco 0.000486 cruz 0.000486 sultan 0.000485 logging 0.000485 bikes 0.000485 salesman 0.000485 choked 0.000485 obscured 0.000485 clipped 0.000485 wrists 0.000485 inaccurate 0.000485 flee 0.000485 taps 0.000485 surprises 0.000485 barnett 0.000485 carlo 0.000485 rendering 0.000485 franklin 0.000485 brittle 0.000485 edith 0.000485 ranking 0.000484 keynesian 0.000484 fran 0.000484 philippa 0.000484 boast 0.000484 unanimous 0.000484 tuition 0.000484 hooks 0.000484 viewer 0.000484 traumatic 0.000484 batty 0.000484 baptist 0.000484 adolescence 0.000484 macgregor 0.000484 spilled 0.000484 frowning 0.000484 archer 0.000484 exporting 0.000484 invoice 0.000484 dinosaurs 0.000484 carr 0.000484 unite 0.000484 grips 0.000483 depending 0.000483 oppressive 0.000483 privatised 0.000483 vibration 0.000483 stevenson 0.000483 vacancies 0.000483 phones 0.000483 impatience 0.000483 replaces 0.000483 degradation 0.000483 beethoven 0.000483 learns 0.000483 gale 0.000483 mutations 0.000483 inflammation 0.000483 geometry 0.000483 plastics 0.000483 brewers 0.000483 eyed 0.000483 attain 0.000483 cue 0.000483 abuses 0.000483 attracts 0.000482 thorn 0.000482 relocation 0.000482 submissions 0.000482 hunted 0.000482 edwin 0.000482 aea 0.000482 cheaply 0.000482 delors 0.000482 advert 0.000482 slots 0.000482 indispensable 0.000482 chuckled 0.000481 thereof 0.000481 polymers 0.000481 campaigners 0.000481 lecturers 0.000481 cuban 0.000481 dissatisfied 0.000481 shortfall 0.000481 recycled 0.000481 grange 0.000481 chords 0.000480 traps 0.000480 straining 0.000480 promoters 0.000480 scrub 0.000480 anthropologists 0.000480 oecd 0.000480 slam 0.000480 plaque 0.000480 higgins 0.000480 paste 0.000480 annoying 0.000480 intrigued 0.000480 doo 0.000480 horizons 0.000480 hanged 0.000480 softened 0.000479 kay 0.000479 ignores 0.000479 crawled 0.000479 repetitive 0.000479 monitors 0.000479 abu 0.000479 chestnut 0.000479 roller 0.000479 conceive 0.000479 skilful 0.000479 mclaren 0.000479 oriented 0.000479 convertible 0.000479 hertfordshire 0.000478 murdering 0.000478 refreshing 0.000478 elliott 0.000478 gcse 0.000478 concerto 0.000478 deteriorated 0.000478 starter 0.000478 felipe 0.000478 methodological 0.000478 marketed 0.000478 generously 0.000477 dummy 0.000477 intuitive 0.000477 congestion 0.000477 horrific 0.000477 plutonium 0.000477 rift 0.000477 mating 0.000477 bananas 0.000477 falklands 0.000477 ingenious 0.000477 citation 0.000477 perimeter 0.000477 implicated 0.000477 downstream 0.000477 objectivity 0.000477 marina 0.000477 devolution 0.000477 adventurous 0.000476 fixtures 0.000476 rainforest 0.000476 dictate 0.000476 wheeled 0.000476 marshes 0.000476 condemnation 0.000476 val 0.000476 tracing 0.000476 cramped 0.000475 donors 0.000475 misuse 0.000475 irritating 0.000475 authorized 0.000475 teaches 0.000475 psychoanalysis 0.000475 curl 0.000475 albums 0.000475 menus 0.000475 pies 0.000475 reich 0.000475 outputs 0.000475 elevation 0.000475 surveyors 0.000475 beneficiaries 0.000475 tidal 0.000475 wea 0.000473 bum 0.000473 cheered 0.000473 rue 0.000473 starring 0.000473 sucking 0.000473 bulb 0.000473 graded 0.000473 criticise 0.000473 grievances 0.000473 enthusiastically 0.000473 faecal 0.000473 spontaneously 0.000473 inhabited 0.000472 formulae 0.000472 monsters 0.000472 activating 0.000472 curly 0.000472 hawkins 0.000472 pcs 0.000472 nitrate 0.000472 patsy 0.000472 outraged 0.000472 tighten 0.000472 rufus 0.000472 generator 0.000472 hallway 0.000472 habitats 0.000472 frogs 0.000472 pulses 0.000472 tilted 0.000472 conclusive 0.000471 carla 0.000471 sensibly 0.000471 fabia 0.000471 poisonous 0.000471 bump 0.000471 depart 0.000471 patted 0.000471 vitor 0.000471 rotor 0.000471 credible 0.000471 subscribers 0.000471 massachusetts 0.000471 straps 0.000471 theodora 0.000471 signatures 0.000471 butt 0.000470 bows 0.000470 shortcomings 0.000470 dustin 0.000470 evacuation 0.000470 nave 0.000470 teresa 0.000470 scandinavian 0.000470 supremacy 0.000470 pretence 0.000470 triangular 0.000470 barrett 0.000470 prophet 0.000470 yanto 0.000470 favourably 0.000470 embryos 0.000470 luton 0.000470 jaq 0.000470 metallic 0.000470 robot 0.000470 dial 0.000469 intuition 0.000469 discriminate 0.000469 grinding 0.000469 standardised 0.000469 prejudices 0.000469 crammed 0.000469 ludicrous 0.000469 whispering 0.000469 cleaners 0.000469 avoids 0.000469 climbs 0.000469 graceful 0.000469 homage 0.000469 desmond 0.000469 dived 0.000469 redress 0.000469 iain 0.000469 oi 0.000468 boosted 0.000468 francs 0.000468 pneumonia 0.000468 liquidation 0.000468 abingdon 0.000468 nun 0.000468 nazis 0.000468 hen 0.000468 chaplain 0.000468 tournaments 0.000468 beasts 0.000468 litres 0.000468 hq 0.000468 monastic 0.000468 screams 0.000468 chromosome 0.000468 paradoxically 0.000467 mundane 0.000467 filmed 0.000467 softer 0.000467 natwest 0.000467 spelt 0.000467 gateshead 0.000467 boasts 0.000467 commence 0.000467 retreated 0.000467 ant 0.000466 cornish 0.000466 rash 0.000466 barrage 0.000466 jeep 0.000466 accusation 0.000466 pumped 0.000466 militia 0.000466 wry 0.000466 worcestershire 0.000466 streak 0.000466 sized 0.000466 humorous 0.000466 tangled 0.000466 robe 0.000465 sleepy 0.000465 angular 0.000465 liam 0.000465 ethos 0.000465 clutched 0.000465 formations 0.000465 banged 0.000465 il 0.000465 lingering 0.000465 scratching 0.000465 comrades 0.000465 helicopters 0.000465 windy 0.000465 feeble 0.000465 strap 0.000464 hideous 0.000464 ag 0.000464 stephanie 0.000464 promenade 0.000464 noses 0.000464 hormone 0.000464 riverside 0.000464 helplessly 0.000464 presided 0.000464 folks 0.000464 informing 0.000464 erotic 0.000464 waterloo 0.000464 rum 0.000464 crushing 0.000464 patio 0.000464 fruitful 0.000464 scissors 0.000464 generals 0.000464 baptism 0.000464 haste 0.000464 zinc 0.000464 lowe 0.000464 rusty 0.000464 weighted 0.000464 maud 0.000463 veterans 0.000463 abnormalities 0.000463 dignified 0.000463 hysterical 0.000463 protesters 0.000463 leaping 0.000463 assaulted 0.000463 marginally 0.000463 impending 0.000463 enclose 0.000463 widows 0.000463 moulded 0.000463 severed 0.000463 lays 0.000462 speculate 0.000462 tolkien 0.000462 gripping 0.000462 yearly 0.000462 toronto 0.000462 disciples 0.000462 bachelor 0.000462 rostov 0.000462 improves 0.000462 manifestations 0.000462 reasoned 0.000462 ramp 0.000462 delete 0.000462 imperialism 0.000462 floral 0.000462 flourished 0.000461 restrain 0.000461 paralysed 0.000461 climatic 0.000461 althusser 0.000461 sullivan 0.000461 moorland 0.000461 blah 0.000461 hectic 0.000461 todd 0.000461 suck 0.000461 lass 0.000461 greene 0.000461 integrating 0.000461 imaging 0.000461 retrieve 0.000461 defeats 0.000461 accents 0.000460 dye 0.000460 airborne 0.000460 crumpled 0.000460 bouncing 0.000460 cubic 0.000460 resolving 0.000460 doc 0.000460 flap 0.000460 hens 0.000460 frighten 0.000460 columbia 0.000460 tending 0.000459 dissolve 0.000459 manifestation 0.000459 deregulation 0.000459 lastly 0.000459 cuisine 0.000459 clan 0.000459 sperm 0.000459 motoring 0.000459 specifying 0.000459 razor 0.000459 cursed 0.000459 prostitution 0.000459 freezer 0.000459 unlocked 0.000459 paperback 0.000458 libyan 0.000458 homeland 0.000458 blair 0.000458 appropriation 0.000458 loo 0.000458 mocking 0.000458 axes 0.000458 calves 0.000458 fastened 0.000458 horrors 0.000458 cone 0.000458 hubert 0.000458 percy 0.000458 infancy 0.000458 backdrop 0.000458 fixture 0.000458 heavyweight 0.000458 wade 0.000458 novice 0.000458 landmark 0.000458 escorted 0.000457 niche 0.000457 nutritional 0.000457 muriel 0.000457 truce 0.000457 glider 0.000457 recommending 0.000457 gracious 0.000457 bournemouth 0.000457 autobiography 0.000457 withstand 0.000457 extinct 0.000457 installing 0.000457 hebrew 0.000457 powerfully 0.000457 rip 0.000457 blackmail 0.000457 diagonal 0.000457 imagining 0.000457 burke 0.000457 initiation 0.000456 doncaster 0.000456 hopelessly 0.000456 plotting 0.000456 hammond 0.000456 politburo 0.000456 curvature 0.000456 loaf 0.000456 intrusion 0.000456 figured 0.000456 crawl 0.000456 cnut 0.000456 usefully 0.000456 indexing 0.000456 discourses 0.000456 divert 0.000456 rectal 0.000456 unequal 0.000456 arable 0.000456 resultant 0.000456 decreasing 0.000455 irresponsible 0.000455 barber 0.000455 descend 0.000455 watercolour 0.000455 envelopes 0.000455 hassan 0.000455 countered 0.000455 bud 0.000455 forgiveness 0.000455 glances 0.000455 liquor 0.000455 reins 0.000455 lush 0.000455 floods 0.000455 disrupted 0.000455 uncertainties 0.000455 bursts 0.000455 gaelic 0.000455 resembled 0.000453 kits 0.000453 scar 0.000453 imbalance 0.000453 coordinate 0.000453 responds 0.000453 dismal 0.000453 predicting 0.000453 lyrics 0.000453 congratulate 0.000453 brady 0.000453 halved 0.000453 discusses 0.000453 inconvenience 0.000453 beech 0.000452 det 0.000452 secretariat 0.000452 filtration 0.000452 ghastly 0.000452 coherence 0.000452 growled 0.000452 narrower 0.000452 valerie 0.000452 richly 0.000452 exemplified 0.000452 portions 0.000452 zen 0.000452 isobel 0.000452 thrive 0.000452 assaults 0.000452 camping 0.000452 assemble 0.000452 fried 0.000452 locomotives 0.000452 prof 0.000452 unmistakable 0.000451 hindsight 0.000451 grated 0.000451 foreseeable 0.000451 discounted 0.000451 absorbing 0.000451 dhss 0.000451 rap 0.000451 tummy 0.000451 montreal 0.000451 decorations 0.000451 reds 0.000451 stubborn 0.000451 batsman 0.000451 easing 0.000451 decidedly 0.000450 kpmg 0.000450 fright 0.000450 troublesome 0.000450 ryder 0.000450 parasites 0.000450 technicians 0.000450 sebastian 0.000450 performs 0.000450 intonation 0.000450 diy 0.000450 fr 0.000450 carriages 0.000450 byzantine 0.000450 breaches 0.000450 spoiled 0.000450 tracking 0.000450 bedding 0.000450 bream 0.000450 hearings 0.000450 carp 0.000450 scanned 0.000450 disarmament 0.000449 slack 0.000449 sas 0.000449 rowing 0.000449 saturated 0.000449 flickered 0.000449 inherently 0.000449 shabby 0.000449 positioning 0.000449 reactive 0.000449 dictatorship 0.000449 stab 0.000449 jumble 0.000449 moderately 0.000449 intently 0.000449 receptionist 0.000449 cereals 0.000449 goblin 0.000448 perverse 0.000448 cavity 0.000448 swam 0.000448 glimpsed 0.000448 eternity 0.000448 caspar 0.000448 teased 0.000448 ncr 0.000448 felix 0.000448 austerity 0.000448 barker 0.000448 unease 0.000448 williamson 0.000448 fencing 0.000448 necks 0.000448 ensemble 0.000448 barren 0.000447 hurled 0.000447 frantically 0.000447 priory 0.000447 misses 0.000447 disposable 0.000447 ci 0.000447 swings 0.000447 footing 0.000447 storing 0.000447 evacuated 0.000447 remit 0.000447 cam 0.000447 cruising 0.000447 logs 0.000447 strasbourg 0.000447 flicker 0.000447 poisoned 0.000446 slashed 0.000446 interventions 0.000446 exposing 0.000446 transforming 0.000446 saga 0.000446 nordern 0.000446 volvo 0.000446 interpreter 0.000446 coil 0.000446 stumbling 0.000446 prosecutor 0.000446 pads 0.000446 esther 0.000446 decimal 0.000446 joshua 0.000445 strolled 0.000445 witty 0.000445 exploiting 0.000445 semiconductor 0.000445 profitboss 0.000445 clyde 0.000445 excesses 0.000445 distributors 0.000445 promotions 0.000445 wedge 0.000445 ferrari 0.000445 insulting 0.000445 regulating 0.000445 conrad 0.000445 accelerate 0.000445 townsend 0.000445 flank 0.000445 namibia 0.000444 indignation 0.000444 gala 0.000444 morley 0.000444 animated 0.000444 muffled 0.000444 claws 0.000444 dunn 0.000444 requesting 0.000444 excursions 0.000444 baseball 0.000444 despised 0.000444 meagre 0.000444 furnishings 0.000444 paces 0.000444 ana 0.000444 tram 0.000444 diminishing 0.000444 footpath 0.000444 propped 0.000444 elvis 0.000444 shotgun 0.000443 rubble 0.000443 formality 0.000443 caretaker 0.000443 flanked 0.000443 jumps 0.000443 intellect 0.000443 patrons 0.000443 weakly 0.000443 envisage 0.000443 nicolo 0.000443 inspire 0.000443 venezuela 0.000443 scouts 0.000443 siberia 0.000443 innate 0.000442 id 0.000442 lest 0.000442 brink 0.000442 mesh 0.000442 rattled 0.000442 tailor 0.000442 prostitutes 0.000442 suspend 0.000442 akin 0.000442 saturdays 0.000442 cromwell 0.000442 comb 0.000442 compressed 0.000442 transient 0.000442 segregation 0.000442 predominant 0.000441 gestured 0.000441 paige 0.000441 camel 0.000441 wexford 0.000441 tactic 0.000441 deleted 0.000441 upstream 0.000441 mosley 0.000441 faithfully 0.000441 rocked 0.000441 ostensibly 0.000441 batting 0.000441 spinal 0.000441 retrospect 0.000441 immature 0.000441 eyebrow 0.000441 turbulence 0.000441 acknowledging 0.000441 entrusted 0.000441 cheat 0.000441 tort 0.000441 chaps 0.000441 unitary 0.000440 accompaniment 0.000440 adversely 0.000440 uncomfortably 0.000440 ventured 0.000440 residue 0.000440 drastically 0.000440 opting 0.000440 crawling 0.000440 interiors 0.000440 jew 0.000440 parallels 0.000439 isolate 0.000439 towels 0.000439 compulsion 0.000439 plentiful 0.000439 preventive 0.000439 inclusive 0.000439 explosives 0.000439 capacities 0.000439 tigers 0.000439 aura 0.000439 partition 0.000439 cardiac 0.000439 fours 0.000439 epithelial 0.000439 bradley 0.000439 ceremonies 0.000439 locus 0.000439 weakening 0.000439 hugged 0.000439 spotlight 0.000439 tumbled 0.000439 contextual 0.000438 proletariat 0.000438 assent 0.000438 tentacle 0.000438 hovering 0.000438 multiplied 0.000438 dolls 0.000438 steaming 0.000438 tightening 0.000438 sid 0.000438 subordinates 0.000438 muttering 0.000438 basque 0.000438 battling 0.000438 winters 0.000438 insertion 0.000437 mischief 0.000437 acutely 0.000437 posh 0.000437 shaun 0.000437 resisting 0.000437 continuum 0.000437 thinly 0.000437 renamed 0.000437 reorganization 0.000437 murdoch 0.000437 vatican 0.000437 sheds 0.000437 bangkok 0.000437 postscript 0.000437 exodus 0.000436 dice 0.000436 hairy 0.000436 penetrated 0.000436 nude 0.000436 cannabis 0.000436 blaming 0.000436 targeting 0.000436 cling 0.000436 mar 0.000436 mythology 0.000436 contributors 0.000436 metro 0.000436 mums 0.000436 tessa 0.000436 tuc 0.000436 echoing 0.000436 cuckoo 0.000436 unimportant 0.000436 provider 0.000436 sloping 0.000436 valves 0.000436 gypsy 0.000436 wight 0.000436 fife 0.000435 sweetheart 0.000435 brightness 0.000435 buds 0.000435 leisurely 0.000435 masai 0.000435 arousal 0.000435 modernism 0.000435 est 0.000435 exceedingly 0.000435 supervisory 0.000435 reiterated 0.000435 remanded 0.000435 granada 0.000435 bonnet 0.000435 ruby 0.000435 unwise 0.000435 liar 0.000435 industrialists 0.000435 legends 0.000435 advocacy 0.000435 pillows 0.000434 fowler 0.000434 selby 0.000434 bentley 0.000434 vault 0.000434 exacerbated 0.000434 airports 0.000434 conversational 0.000434 delights 0.000434 tow 0.000434 foxes 0.000434 celebrity 0.000434 biographical 0.000434 dorsal 0.000434 lennox 0.000434 birch 0.000434 imposes 0.000432 execute 0.000432 centralised 0.000432 parry 0.000432 parliaments 0.000432 bracket 0.000432 occupies 0.000432 halves 0.000432 basics 0.000432 compositions 0.000432 embark 0.000432 semantics 0.000432 waterproof 0.000432 ethanol 0.000432 repairing 0.000432 newport 0.000432 treble 0.000432 deduction 0.000432 captive 0.000432 slater 0.000432 debating 0.000432 drily 0.000432 dreaded 0.000432 distinguishes 0.000432 hates 0.000432 coated 0.000431 bidder 0.000431 brows 0.000431 almighty 0.000431 rodney 0.000431 observes 0.000431 slick 0.000431 gower 0.000431 sicily 0.000431 flocks 0.000431 esteem 0.000431 launches 0.000431 jade 0.000431 mitch 0.000431 janice 0.000431 franks 0.000431 showers 0.000431 gloss 0.000431 strikers 0.000431 crosby 0.000431 flickering 0.000431 bout 0.000431 grease 0.000431 succeeds 0.000431 swords 0.000431 hairdresser 0.000431 slabs 0.000431 sql 0.000431 visa 0.000431 lipstick 0.000430 confronting 0.000430 storey 0.000430 einstein 0.000430 evangelical 0.000430 ratification 0.000430 ache 0.000430 variability 0.000430 peck 0.000430 defiance 0.000430 shadowy 0.000430 fracture 0.000430 terminate 0.000430 warranties 0.000430 enhancement 0.000430 nobles 0.000430 tramp 0.000430 sited 0.000430 booksellers 0.000430 devoid 0.000430 glazing 0.000430 entail 0.000430 tugged 0.000430 aquatic 0.000430 preparatory 0.000430 polymerase 0.000429 prelude 0.000429 invent 0.000429 disappears 0.000429 gigantic 0.000429 lloyds 0.000429 amend 0.000429 fuse 0.000429 mph 0.000429 characteristically 0.000429 temperate 0.000429 mastery 0.000429 cadbury 0.000429 rainfall 0.000429 stale 0.000429 hurrying 0.000429 catastrophe 0.000429 soothing 0.000429 budapest 0.000429 cosmic 0.000429 indices 0.000429 nixon 0.000429 isabella 0.000429 beamed 0.000429 richness 0.000429 endured 0.000429 moods 0.000429 vertically 0.000429 redistribution 0.000429 pooley 0.000429 unnoticed 0.000428 pamphlet 0.000428 fashions 0.000428 submerged 0.000428 agreeable 0.000428 beatles 0.000428 lucien 0.000428 vinegar 0.000428 stature 0.000428 penetrating 0.000428 mouthful 0.000428 migrants 0.000428 melancholy 0.000428 colliery 0.000428 stationary 0.000428 weaver 0.000428 timed 0.000428 camille 0.000428 satan 0.000428 elites 0.000428 rains 0.000428 beatrice 0.000428 pigeon 0.000428 vine 0.000427 castro 0.000427 prosecuted 0.000427 violations 0.000427 probing 0.000427 coefficient 0.000427 browne 0.000427 coughing 0.000427 sombre 0.000427 substitutes 0.000427 brooks 0.000427 deviance 0.000427 bunny 0.000427 rincewind 0.000427 impulses 0.000427 voucher 0.000427 weaken 0.000427 pioneered 0.000427 operative 0.000426 whitby 0.000426 workhouse 0.000426 friar 0.000426 eats 0.000426 biochemical 0.000426 salts 0.000426 lesley 0.000426 gis 0.000426 indecent 0.000426 schoolchildren 0.000426 chichester 0.000426 coded 0.000426 consolidate 0.000426 millionaire 0.000426 rab 0.000426 warwickshire 0.000426 coolly 0.000426 sacks 0.000425 keyword 0.000425 ponies 0.000425 middleton 0.000425 trickle 0.000425 hostess 0.000425 tallis 0.000425 loops 0.000425 interfering 0.000425 manhattan 0.000425 buckets 0.000425 killers 0.000425 staffordshire 0.000425 constables 0.000425 untidy 0.000425 thicker 0.000425 bombay 0.000425 gasp 0.000425 wha 0.000424 decreases 0.000424 fonts 0.000424 tumbling 0.000424 beverley 0.000424 setback 0.000424 masterpiece 0.000424 huy 0.000424 karpov 0.000424 chloride 0.000424 lender 0.000424 awfully 0.000424 murmur 0.000424 relay 0.000424 ranulf 0.000424 diluted 0.000424 mozambique 0.000423 cambridgeshire 0.000423 beginners 0.000423 adverts 0.000423 cbi 0.000423 tolerant 0.000423 broadway 0.000423 persecution 0.000423 greasy 0.000423 strata 0.000423 retrieved 0.000423 petals 0.000423 repayments 0.000423 overflow 0.000423 oxide 0.000423 selectors 0.000423 festive 0.000423 sic 0.000423 bowled 0.000423 tents 0.000423 flavia 0.000423 erratic 0.000423 deficiencies 0.000423 levied 0.000423 radial 0.000423 gum 0.000423 rouge 0.000422 intimately 0.000422 conservatory 0.000422 tarmac 0.000422 fools 0.000422 marines 0.000422 insane 0.000422 crimson 0.000422 visibly 0.000422 cleo 0.000422 hearth 0.000422 distaste 0.000422 shearer 0.000422 sophia 0.000422 squat 0.000422 summarized 0.000421 gilt 0.000421 vowel 0.000421 postman 0.000421 emphasising 0.000421 routinely 0.000421 catastrophic 0.000421 contend 0.000421 xi 0.000421 plucked 0.000421 influx 0.000421 carboniferous 0.000421 jammed 0.000421 fe 0.000421 maisie 0.000421 vogue 0.000421 centimetres 0.000421 quieter 0.000421 crag 0.000421 whitbread 0.000420 grounded 0.000420 wiring 0.000420 alignment 0.000420 scorer 0.000420 repaid 0.000420 slit 0.000420 eliminating 0.000420 canoe 0.000420 poultry 0.000420 southend 0.000420 timely 0.000420 tracy 0.000420 unavoidable 0.000420 textbook 0.000420 pinched 0.000420 wits 0.000420 lucenzo 0.000420 obeyed 0.000420 periodically 0.000420 parrot 0.000420 appointing 0.000420 unto 0.000419 swearing 0.000419 histological 0.000419 sulphate 0.000419 boro 0.000419 ilp 0.000419 cache 0.000419 barons 0.000419 spd 0.000419 openings 0.000419 automated 0.000419 matron 0.000419 overweight 0.000419 blackness 0.000419 discharges 0.000418 giggled 0.000418 guise 0.000418 hendry 0.000418 reformation 0.000418 dictionaries 0.000418 entrepreneurial 0.000418 roadside 0.000418 smoothed 0.000418 relics 0.000418 unfinished 0.000418 geese 0.000418 graphs 0.000418 lettuce 0.000418 agitated 0.000418 jessamy 0.000418 ploughed 0.000418 awesome 0.000418 vanity 0.000418 originating 0.000418 variously 0.000418 realizing 0.000417 messiah 0.000417 payroll 0.000417 prolific 0.000417 jars 0.000417 doom 0.000417 sermon 0.000417 patterned 0.000417 smack 0.000417 gibbs 0.000417 commando 0.000417 wreckage 0.000417 huts 0.000417 elizabethan 0.000417 raging 0.000417 membranes 0.000417 wi 0.000417 towering 0.000417 widen 0.000417 reasonableness 0.000417 aggravated 0.000417 displacement 0.000417 fulham 0.000417 confines 0.000417 burgess 0.000417 unfit 0.000416 faculties 0.000416 prussian 0.000416 cheeses 0.000416 wilko 0.000416 shutters 0.000416 burdens 0.000416 bitten 0.000416 ordnance 0.000416 menzies 0.000416 deviant 0.000416 tenor 0.000416 affluent 0.000416 emptying 0.000416 updating 0.000416 hooker 0.000416 mastered 0.000416 thinner 0.000416 motorola 0.000416 styling 0.000416 whistling 0.000416 mahmoud 0.000416 investigator 0.000416 reconsider 0.000415 ferdinand 0.000415 entailed 0.000415 polluted 0.000415 nell 0.000415 antrim 0.000415 licked 0.000415 tides 0.000415 belle 0.000415 carey 0.000415 chant 0.000415 tabloid 0.000415 kingston 0.000415 freelance 0.000415 aligned 0.000415 tile 0.000415 chlorine 0.000415 es 0.000415 malignant 0.000415 unionism 0.000414 currie 0.000414 lear 0.000414 heavenly 0.000414 receivers 0.000414 excessively 0.000414 excursion 0.000414 yachts 0.000414 kitty 0.000414 sustaining 0.000414 affordable 0.000414 phoebe 0.000414 pyjamas 0.000414 expulsion 0.000414 fronts 0.000414 unsafe 0.000414 toddler 0.000414 embargo 0.000414 remotely 0.000414 disruptive 0.000414 contributory 0.000414 peacefully 0.000414 cues 0.000412 contraception 0.000412 grunted 0.000412 overcoming 0.000412 friendships 0.000412 departures 0.000412 monies 0.000412 mikhail 0.000412 twilight 0.000412 amounting 0.000412 motionless 0.000412 technician 0.000412 pertinent 0.000412 cosmetic 0.000412 tuned 0.000412 overheads 0.000412 sterile 0.000412 flute 0.000412 clown 0.000412 racket 0.000411 pitches 0.000411 angola 0.000411 rita 0.000411 fortified 0.000411 budgeting 0.000411 glove 0.000411 inscribed 0.000411 northallerton 0.000411 averaged 0.000411 thankful 0.000411 thickly 0.000411 refinement 0.000411 ernst 0.000411 humphrey 0.000411 wolverhampton 0.000411 excludes 0.000411 boar 0.000411 ss 0.000410 tier 0.000410 unjust 0.000410 bliss 0.000410 fleeing 0.000410 mod 0.000410 redcar 0.000410 houston 0.000410 psychiatrist 0.000410 dizzy 0.000410 grossly 0.000410 hawk 0.000410 kidnapped 0.000410 faldo 0.000410 escapes 0.000410 lo 0.000410 venables 0.000410 pioneers 0.000410 volcano 0.000410 glaring 0.000410 unavailable 0.000410 individualism 0.000410 compilation 0.000410 glamorgan 0.000410 gym 0.000409 chromosomes 0.000409 filtered 0.000409 fearing 0.000409 syllables 0.000409 notts 0.000409 graveyard 0.000409 textual 0.000409 compensated 0.000409 schizophrenia 0.000409 tanker 0.000409 marches 0.000409 yeast 0.000409 moaning 0.000409 womb 0.000409 cc 0.000409 foyer 0.000409 endlessly 0.000409 fleeting 0.000409 contrived 0.000409 waterfall 0.000409 oppressed 0.000408 distraction 0.000408 trimmed 0.000408 scripture 0.000408 romanesque 0.000408 respite 0.000408 expeditions 0.000408 populated 0.000408 tying 0.000408 maidstone 0.000408 oranges 0.000408 antigen 0.000408 transnational 0.000408 leasing 0.000408 hammered 0.000408 adherence 0.000408 lunches 0.000408 wedgwood 0.000408 dales 0.000408 parity 0.000408 alienation 0.000408 terraced 0.000408 foucault 0.000408 rites 0.000408 shoved 0.000408 depicting 0.000408 tights 0.000408 electors 0.000408 cheating 0.000408 striving 0.000408 craven 0.000407 mildred 0.000407 snacks 0.000407 trays 0.000407 greenwich 0.000407 healthier 0.000407 decorating 0.000407 detecting 0.000407 monica 0.000407 individuality 0.000407 alarms 0.000407 adamant 0.000407 uruguay 0.000407 warehouses 0.000407 cyril 0.000407 vengeance 0.000407 plural 0.000407 veronica 0.000407 jose 0.000407 phonological 0.000407 mcleish 0.000407 birkenhead 0.000407 headaches 0.000407 blockade 0.000407 elves 0.000407 liberated 0.000407 gutter 0.000407 plead 0.000407 mansfield 0.000407 scramble 0.000407 pornography 0.000407 gen 0.000406 sip 0.000406 heterosexual 0.000406 discrepancy 0.000406 probabilities 0.000406 pluralism 0.000406 manageable 0.000406 primacy 0.000406 improbable 0.000406 patents 0.000406 feat 0.000406 curling 0.000406 clement 0.000406 sacrificed 0.000406 scraps 0.000406 embroidered 0.000406 wisely 0.000406 fluids 0.000406 hamburg 0.000406 turnout 0.000406 pervasive 0.000406 maclean 0.000406 ceramic 0.000406 enquire 0.000406 shafts 0.000406 distributing 0.000405 mafia 0.000405 quigley 0.000405 underestimate 0.000405 balloons 0.000405 bowlers 0.000405 crisps 0.000405 tenderness 0.000405 claimants 0.000405 strawberry 0.000405 misfortune 0.000405 johannesburg 0.000405 credentials 0.000405 impairment 0.000405 bucks 0.000405 ornamental 0.000404 opec 0.000404 knickers 0.000404 viral 0.000404 metric 0.000404 treacherous 0.000404 capitalists 0.000404 noriega 0.000404 inadequacy 0.000404 culminating 0.000404 tertiary 0.000404 empress 0.000404 alight 0.000404 bothering 0.000404 improper 0.000404 muted 0.000404 galaxies 0.000403 trenches 0.000403 shilling 0.000403 predicament 0.000403 serb 0.000403 guineas 0.000403 predicts 0.000403 stately 0.000403 dissident 0.000403 empowered 0.000403 fostering 0.000403 potency 0.000403 flick 0.000403 wlr 0.000403 awkwardly 0.000403 cube 0.000403 anthropological 0.000403 enhancing 0.000403 password 0.000403 rhetorical 0.000403 exerted 0.000403 gamma 0.000403 parsley 0.000403 ceilings 0.000403 narrator 0.000403 dane 0.000403 capped 0.000403 raiders 0.000403 carrot 0.000403 branded 0.000403 withdrawing 0.000403 rectory 0.000402 kirsty 0.000402 brochures 0.000402 magnus 0.000402 creamy 0.000402 bearings 0.000402 cod 0.000402 stockport 0.000402 lumps 0.000402 confer 0.000402 southeast 0.000402 hanson 0.000402 clones 0.000402 monumental 0.000402 infringement 0.000402 vaccine 0.000401 sacrifices 0.000401 suspiciously 0.000401 flawed 0.000401 assign 0.000401 posing 0.000401 foe 0.000401 crook 0.000401 summers 0.000401 kirov 0.000401 osf 0.000401 involuntary 0.000401 cassie 0.000401 dunes 0.000401 huddled 0.000401 barnard 0.000401 flatly 0.000401 amazingly 0.000401 outstretched 0.000401 invitations 0.000400 redevelopment 0.000400 pessimistic 0.000400 marketplace 0.000400 spike 0.000400 hume 0.000400 apologised 0.000400 console 0.000400 bonuses 0.000400 verification 0.000400 harley 0.000400 portfolios 0.000400 conceivable 0.000400 overturned 0.000400 lurking 0.000400 slovenia 0.000400 patterson 0.000400 bureaux 0.000400 debtors 0.000400 gratefully 0.000399 pedal 0.000399 svqs 0.000399 modernist 0.000399 cpsu 0.000399 viola 0.000399 ransom 0.000399 uniformed 0.000399 freedoms 0.000399 brilliance 0.000399 ascribed 0.000399 symbolism 0.000399 shannon 0.000399 scars 0.000399 giovanni 0.000399 clad 0.000399 instituted 0.000398 lester 0.000398 wimpey 0.000398 eline 0.000398 protects 0.000398 trek 0.000398 prehistoric 0.000398 refrain 0.000398 ledge 0.000398 ab 0.000398 weep 0.000398 realist 0.000398 bully 0.000398 plotted 0.000398 shh 0.000398 cradle 0.000398 pakistani 0.000398 gosh 0.000398 rave 0.000398 settlor 0.000398 viscount 0.000398 shrink 0.000398 deane 0.000398 sway 0.000398 inherit 0.000398 ideologies 0.000397 drown 0.000397 azerbaijan 0.000397 stony 0.000397 ayrshire 0.000397 slippers 0.000397 owning 0.000397 wrestling 0.000397 briefcase 0.000397 wizard 0.000397 leaking 0.000397 accumulate 0.000397 destinations 0.000397 preacher 0.000397 stud 0.000397 refurbishment 0.000397 kasparov 0.000397 wolfgang 0.000397 relentless 0.000397 automation 0.000397 dun 0.000396 muster 0.000396 goblins 0.000396 forceful 0.000396 rattle 0.000396 inverness 0.000396 backbone 0.000396 natives 0.000396 incompetent 0.000396 hind 0.000396 courageous 0.000396 acquitted 0.000396 indonesian 0.000396 suffrage 0.000396 gibraltar 0.000396 continents 0.000396 trusting 0.000396 barman 0.000396 malt 0.000396 paved 0.000396 helmut 0.000396 disagreements 0.000396 chairmanship 0.000396 mas 0.000395 saviour 0.000395 advantageous 0.000395 undergrowth 0.000395 maple 0.000395 saline 0.000395 insecurity 0.000395 spoilt 0.000395 harshly 0.000395 tara 0.000395 extras 0.000395 uprising 0.000395 sec 0.000395 recollection 0.000395 ratified 0.000395 superbly 0.000395 augustus 0.000394 carlton 0.000394 decorate 0.000394 nobel 0.000394 scorn 0.000394 tongues 0.000394 uneasily 0.000394 postage 0.000394 totalled 0.000394 calibre 0.000394 reversing 0.000394 inscription 0.000394 glenn 0.000394 romanov 0.000394 misunderstood 0.000394 prescribing 0.000394 synonymous 0.000394 experimentation 0.000394 hampstead 0.000394 hospice 0.000394 illegitimate 0.000394 scanner 0.000394 cooler 0.000392 forcibly 0.000392 dinners 0.000392 intestine 0.000392 trams 0.000392 seizure 0.000392 notification 0.000392 terence 0.000392 zip 0.000392 cholera 0.000392 contented 0.000392 barlow 0.000392 dismissing 0.000392 anglian 0.000392 hcima 0.000392 ticking 0.000392 tasty 0.000392 lure 0.000392 cops 0.000392 underline 0.000392 metaphysical 0.000392 admiring 0.000392 allegation 0.000392 herds 0.000392 randomly 0.000392 hampered 0.000392 ridges 0.000392 crunch 0.000392 despatched 0.000391 correlations 0.000391 placebo 0.000391 simplistic 0.000391 amplitude 0.000391 disrupt 0.000391 taut 0.000391 markings 0.000391 diplomat 0.000391 scraped 0.000391 stillness 0.000391 identities 0.000391 tavern 0.000391 explode 0.000391 adjustable 0.000391 chunks 0.000391 mersey 0.000391 miami 0.000391 overlook 0.000391 waits 0.000391 incidental 0.000391 duo 0.000391 evolving 0.000390 bundled 0.000390 tae 0.000390 prussia 0.000390 peking 0.000390 wrapping 0.000390 dwell 0.000390 matthews 0.000390 occupier 0.000390 fujitsu 0.000390 gallagher 0.000390 apartheid 0.000390 genus 0.000390 boyd 0.000390 simmons 0.000390 covert 0.000390 resembling 0.000389 nepal 0.000389 supposing 0.000389 stamina 0.000389 formative 0.000389 incompetence 0.000389 brigadier 0.000389 concurrent 0.000389 subscriptions 0.000389 burglar 0.000389 physicians 0.000389 arrivals 0.000389 awoke 0.000389 dangling 0.000389 boldly 0.000389 intravenous 0.000389 bruises 0.000389 dragons 0.000389 ammonia 0.000389 crippled 0.000389 bug 0.000389 prescriptions 0.000388 uniformity 0.000388 footballer 0.000388 heirs 0.000388 luncheon 0.000388 uphill 0.000388 reacting 0.000388 venetian 0.000388 stormy 0.000388 irvine 0.000388 hypertension 0.000388 percentages 0.000388 pious 0.000388 darts 0.000388 solitude 0.000388 withheld 0.000388 stair 0.000388 bereavement 0.000388 spice 0.000388 barnsley 0.000388 remnants 0.000388 grabbing 0.000388 mccarthy 0.000387 roosevelt 0.000387 watkins 0.000387 complied 0.000387 educate 0.000387 revise 0.000387 tanzania 0.000387 excavations 0.000387 tutorial 0.000387 scripts 0.000387 leopold 0.000387 wrexham 0.000387 sequential 0.000387 candy 0.000387 toyota 0.000387 cortex 0.000387 sidney 0.000387 incomprehensible 0.000387 diversification 0.000387 hugely 0.000387 subscribe 0.000387 calder 0.000387 barnet 0.000387 lennie 0.000386 jed 0.000386 hercules 0.000386 thrilling 0.000386 taped 0.000386 suitability 0.000386 orthodoxy 0.000386 modernisation 0.000386 biliary 0.000386 tentatively 0.000386 childbirth 0.000386 entrenched 0.000386 blossom 0.000386 archaic 0.000386 announcements 0.000386 honda 0.000386 teens 0.000386 precedence 0.000386 drilled 0.000386 undermining 0.000386 embankment 0.000386 lifelong 0.000386 vernon 0.000386 morbidity 0.000385 eyelids 0.000385 fragmentation 0.000385 reflex 0.000385 fingertips 0.000385 huddersfield 0.000385 cheering 0.000385 chernobyl 0.000385 vans 0.000385 theorem 0.000385 auspices 0.000385 checklist 0.000385 newest 0.000385 pedestrians 0.000385 telford 0.000385 soda 0.000385 miner 0.000385 jewel 0.000385 sculptor 0.000385 delicately 0.000385 rehearsals 0.000385 athlete 0.000385 corpses 0.000385 watford 0.000385 survivor 0.000385 pastures 0.000385 calming 0.000385 belville 0.000385 hormones 0.000385 goodwin 0.000385 haze 0.000385 plantations 0.000385 mentality 0.000385 sprung 0.000385 fisherman 0.000384 wakefield 0.000384 posting 0.000384 slovak 0.000384 sandstone 0.000384 caro 0.000384 spies 0.000384 dearly 0.000384 stereotypes 0.000384 potassium 0.000384 distressing 0.000384 complexion 0.000384 modem 0.000384 freak 0.000384 insistent 0.000384 comprehend 0.000384 bragg 0.000384 wrath 0.000384 injections 0.000384 ep 0.000384 golfer 0.000384 cabbage 0.000384 recognisable 0.000384 literate 0.000384 soak 0.000383 taxable 0.000383 soaking 0.000383 cabinets 0.000383 sexist 0.000383 lick 0.000383 carriageway 0.000383 vent 0.000383 bibliography 0.000383 spiders 0.000383 passionately 0.000383 austen 0.000383 splendour 0.000383 lesbians 0.000383 instruct 0.000383 weathering 0.000383 buchanan 0.000383 urquhart 0.000383 flair 0.000383 humiliating 0.000383 choking 0.000383 losers 0.000383 col 0.000383 herb 0.000383 pluralist 0.000383 bottomley 0.000382 anaemia 0.000382 chancery 0.000382 puzzling 0.000382 wiser 0.000382 draining 0.000382 tuberculosis 0.000382 kneeling 0.000382 courier 0.000382 goldfish 0.000382 motifs 0.000382 humane 0.000382 inflationary 0.000382 scalp 0.000382 interrogation 0.000382 rugged 0.000382 detrimental 0.000382 portadown 0.000382 joey 0.000382 pictorial 0.000382 sinclair 0.000382 stratification 0.000382 obituary 0.000382 exploits 0.000381 piercing 0.000381 soho 0.000381 presbyterian 0.000381 sartre 0.000381 perdita 0.000381 firearms 0.000381 chilled 0.000381 authenticity 0.000381 pebbles 0.000381 accessed 0.000381 centralized 0.000381 islington 0.000381 aristotle 0.000381 heroine 0.000381 prerogative 0.000381 alleviate 0.000381 salute 0.000381 vain 0.000381 diego 0.000381 morals 0.000381 depletion 0.000381 streaming 0.000381 macbeth 0.000381 antiquity 0.000381 robots 0.000380 oblivious 0.000380 banquet 0.000380 haunt 0.000380 ventral 0.000380 belongings 0.000380 upgrading 0.000380 groin 0.000380 thematic 0.000380 rags 0.000380 ordained 0.000380 unconsciously 0.000380 lashes 0.000380 becky 0.000380 sniffing 0.000380 brent 0.000380 herring 0.000380 unthinkable 0.000380 bulgarian 0.000380 chilling 0.000380 alienated 0.000380 paired 0.000380 marxists 0.000380 examiner 0.000380 coating 0.000380 reforming 0.000379 caller 0.000379 volatility 0.000379 reinforcing 0.000379 portal 0.000379 surfaced 0.000379 fireworks 0.000379 aycliffe 0.000379 pantomime 0.000379 aliens 0.000379 accuse 0.000379 lottery 0.000379 crucially 0.000379 worthless 0.000379 rees 0.000379 smuggling 0.000379 gallon 0.000379 gazzer 0.000379 manning 0.000379 catalyst 0.000379 galileo 0.000379 adaptations 0.000379 buoyant 0.000379 brixton 0.000379 brew 0.000379 housewives 0.000379 offeror 0.000379 securely 0.000378 illuminating 0.000378 symptomatic 0.000378 determinants 0.000378 rune 0.000378 outlining 0.000378 amazon 0.000378 captivity 0.000378 conway 0.000378 wasps 0.000378 enthusiast 0.000378 glands 0.000378 protocols 0.000378 coordinates 0.000378 instalments 0.000378 enrolled 0.000378 boeing 0.000378 surrounds 0.000378 superiors 0.000378 melbourne 0.000378 therein 0.000378 thirst 0.000378 lynch 0.000378 futile 0.000378 laden 0.000378 gascoigne 0.000378 riven 0.000378 defiant 0.000378 clone 0.000378 stung 0.000378 coupling 0.000378 fluent 0.000378 dishonest 0.000378 scrape 0.000378 reinforcement 0.000378 durable 0.000378 ubiquitous 0.000378 designation 0.000378 gleam 0.000378 astronomy 0.000378 cohort 0.000378 stiffened 0.000378 indictment 0.000377 founders 0.000377 antony 0.000377 benevolent 0.000377 avail 0.000377 desks 0.000377 loyalties 0.000377 lapse 0.000377 staffed 0.000377 lisbon 0.000377 stroking 0.000377 hosted 0.000377 uptake 0.000377 audrey 0.000377 gorge 0.000377 plasmid 0.000377 bounded 0.000377 plumbing 0.000377 counsellors 0.000377 unsuccessfully 0.000377 fauna 0.000377 provocative 0.000377 sockets 0.000377 molar 0.000376 heaved 0.000376 certification 0.000376 interchange 0.000376 chilly 0.000376 complication 0.000376 niall 0.000376 afield 0.000376 realistically 0.000376 permissible 0.000376 sprint 0.000376 swayed 0.000376 hymns 0.000376 oxfam 0.000376 bog 0.000376 ethel 0.000376 plantation 0.000376 ow 0.000376 negligent 0.000376 splashed 0.000376 summon 0.000376 defries 0.000376 certified 0.000376 messy 0.000376 ghana 0.000376 chatter 0.000376 pursuits 0.000375 immigrant 0.000375 endowed 0.000375 housekeeping 0.000375 wooded 0.000375 tranmere 0.000375 modernity 0.000375 palazzo 0.000375 enriched 0.000375 recurring 0.000375 scented 0.000375 walnut 0.000375 moody 0.000375 anticipating 0.000375 carrington 0.000375 queues 0.000375 golfers 0.000375 pleas 0.000375 unbearable 0.000375 vulgar 0.000375 calculator 0.000375 strive 0.000375 campaigned 0.000375 casts 0.000375 prostitute 0.000374 helpers 0.000374 bubbling 0.000374 revert 0.000374 docklands 0.000374 hank 0.000374 pcr 0.000374 dell 0.000374 mackay 0.000374 josh 0.000374 grandeur 0.000374 doubly 0.000374 tuna 0.000374 ayr 0.000374 prepares 0.000374 bumped 0.000374 correspondingly 0.000374 porcelain 0.000374 divers 0.000374 unconditional 0.000374 fetal 0.000372 dominates 0.000372 collapsing 0.000372 promotes 0.000372 scout 0.000372 engraved 0.000372 woolwich 0.000372 soften 0.000372 disused 0.000372 os 0.000372 smelled 0.000372 premise 0.000372 strangled 0.000372 citing 0.000372 ro 0.000372 masculinity 0.000372 olivetti 0.000372 expired 0.000372 pearls 0.000372 treason 0.000372 nra 0.000372 varnish 0.000372 culturally 0.000372 subtly 0.000372 mackenzie 0.000372 detroit 0.000372 fiddle 0.000372 uplands 0.000372 imperfect 0.000372 cultured 0.000372 rotating 0.000372 stationery 0.000372 abc 0.000372 singled 0.000372 humberside 0.000372 bolted 0.000371 endoscopy 0.000371 blondel 0.000371 disgusted 0.000371 outburst 0.000371 purified 0.000371 ancestor 0.000371 flourishing 0.000371 seam 0.000371 shiver 0.000371 hypocrisy 0.000371 crypt 0.000371 symmetric 0.000371 relegated 0.000371 resonance 0.000371 badger 0.000371 scandinavia 0.000371 shocks 0.000371 dougal 0.000371 woodlands 0.000371 rallies 0.000371 supervisors 0.000370 rearing 0.000370 declares 0.000370 roach 0.000370 armagh 0.000370 bra 0.000370 archaeologists 0.000370 complacency 0.000370 soviets 0.000370 solomon 0.000370 dominating 0.000370 civilized 0.000370 deletion 0.000370 winnie 0.000370 littered 0.000370 osborne 0.000370 vanguard 0.000370 upsetting 0.000370 metabolic 0.000370 flanders 0.000370 democracies 0.000370 ingenuity 0.000370 evoked 0.000370 excitation 0.000370 trumpet 0.000370 tiled 0.000370 tame 0.000369 zurich 0.000369 commissioning 0.000369 muck 0.000369 emi 0.000369 phased 0.000369 enclosing 0.000369 covent 0.000369 ominous 0.000369 earmarked 0.000369 arcade 0.000369 galway 0.000369 savoy 0.000369 coordinator 0.000369 tod 0.000369 embracing 0.000369 cleavage 0.000369 firth 0.000369 rifles 0.000369 philadelphia 0.000369 recognizes 0.000369 upland 0.000369 ridley 0.000369 mel 0.000368 asserting 0.000368 wilde 0.000368 auxiliary 0.000368 supernatural 0.000368 welcomes 0.000368 vms 0.000368 gaunt 0.000368 notify 0.000368 folder 0.000368 walters 0.000368 precarious 0.000368 pellets 0.000368 underestimated 0.000368 restraints 0.000368 dunlop 0.000368 exiled 0.000368 swaying 0.000368 invites 0.000368 hounds 0.000368 callaghan 0.000368 dup 0.000368 subsided 0.000368 sobbing 0.000367 manifested 0.000367 willow 0.000367 madge 0.000367 finale 0.000367 nickname 0.000367 lattice 0.000367 rust 0.000367 deducted 0.000367 regiments 0.000367 stephenson 0.000367 decor 0.000367 dart 0.000367 tempo 0.000367 moan 0.000367 tablet 0.000367 cooled 0.000367 protector 0.000367 barbecue 0.000367 mapped 0.000367 proxy 0.000367 bingo 0.000367 bodie 0.000367 spaced 0.000367 postpone 0.000367 dearest 0.000367 bucharest 0.000367 horribly 0.000366 generalized 0.000366 protracted 0.000366 challenger 0.000366 homelessness 0.000366 disqualified 0.000366 cooke 0.000366 agrarian 0.000366 fairfax 0.000366 carnival 0.000366 intermittent 0.000366 staple 0.000366 perceptual 0.000366 battlefield 0.000366 dyson 0.000366 anomalies 0.000366 referees 0.000366 dent 0.000366 alistair 0.000366 mirrored 0.000366 thu 0.000366 advocating 0.000366 midwife 0.000366 bearded 0.000365 inaugural 0.000365 cfcs 0.000365 hammersmith 0.000365 englishmen 0.000365 directories 0.000365 grasping 0.000365 pausing 0.000365 angered 0.000365 wrought 0.000365 loser 0.000365 exporters 0.000365 receptive 0.000365 orchestral 0.000365 betray 0.000365 bombed 0.000365 audible 0.000365 biotechnology 0.000365 sensual 0.000365 rohmer 0.000365 pores 0.000365 endeavours 0.000365 earrings 0.000365 crooked 0.000365 rhyme 0.000364 readership 0.000364 farmland 0.000364 conquered 0.000364 cooks 0.000364 helens 0.000364 policyholder 0.000364 lilley 0.000364 commencement 0.000364 fished 0.000364 provocation 0.000364 normality 0.000364 hum 0.000364 bites 0.000364 stoddard 0.000364 snack 0.000364 bulls 0.000364 sporadic 0.000364 woolley 0.000364 ordinarily 0.000364 sphincter 0.000364 motto 0.000364 vibrant 0.000364 squeezing 0.000364 prerequisite 0.000364 outdoors 0.000364 putt 0.000364 thriller 0.000364 wrinkled 0.000363 crewe 0.000363 superseded 0.000363 elton 0.000363 privet 0.000363 detriment 0.000363 trunks 0.000363 gulls 0.000363 monstrous 0.000363 apollo 0.000363 masonry 0.000363 rotting 0.000363 blatant 0.000363 amateurs 0.000363 ancillary 0.000363 contours 0.000363 commentator 0.000363 ferret 0.000363 aroma 0.000363 sdlp 0.000363 pros 0.000363 sparse 0.000363 ceramics 0.000363 papillae 0.000363 banished 0.000363 vancouver 0.000363 baffled 0.000363 monte 0.000363 starved 0.000363 apprentices 0.000362 tsp 0.000362 sellafield 0.000362 inertia 0.000362 cheeky 0.000362 las 0.000362 fiat 0.000362 swans 0.000362 impoverished 0.000362 shutting 0.000362 anfield 0.000362 inspections 0.000362 condensation 0.000362 rspca 0.000362 ne 0.000362 inaccessible 0.000362 impossibility 0.000362 spectra 0.000362 stew 0.000362 prompting 0.000362 cose 0.000362 minoan 0.000362 detectors 0.000362 discreetly 0.000362 ianthe 0.000362 explores 0.000362 connor 0.000361 disagreed 0.000361 newbury 0.000361 malicious 0.000361 industrialized 0.000361 convened 0.000361 chocolates 0.000361 memo 0.000361 mused 0.000361 taxing 0.000361 insure 0.000361 uplift 0.000361 inspiring 0.000361 preview 0.000361 hal 0.000361 livingstone 0.000361 georgina 0.000361 wryly 0.000361 hefty 0.000361 hms 0.000361 watering 0.000361 augmented 0.000361 delaying 0.000361 achieves 0.000361 unilateral 0.000361 niki 0.000361 preached 0.000361 reservoirs 0.000361 heady 0.000361 hasty 0.000361 lais 0.000361 twickenham 0.000361 ironing 0.000361 refund 0.000361 guatemala 0.000361 paddington 0.000361 pistols 0.000360 kingsley 0.000360 tracts 0.000360 slogans 0.000360 camden 0.000360 dora 0.000360 punters 0.000360 comrade 0.000360 shrinking 0.000360 estimation 0.000360 downfall 0.000360 hopper 0.000360 removes 0.000360 hymn 0.000360 jeopardy 0.000360 allotted 0.000360 eqn 0.000360 replica 0.000360 muhammad 0.000360 cursor 0.000359 trembled 0.000359 stressful 0.000359 havoc 0.000359 delivers 0.000359 wig 0.000359 saucer 0.000359 urges 0.000359 irritable 0.000359 unresolved 0.000359 vandalism 0.000359 thrusting 0.000359 lodging 0.000359 excavated 0.000359 emigration 0.000359 breathtaking 0.000359 transformations 0.000359 transitions 0.000359 obsolete 0.000359 illumination 0.000359 noreen 0.000359 arid 0.000359 dinghy 0.000359 hug 0.000359 sweetly 0.000359 exaggeration 0.000359 blur 0.000358 postcards 0.000358 mandeville 0.000358 insecure 0.000358 kosovo 0.000358 pentium 0.000358 overdue 0.000358 ven 0.000358 spear 0.000358 mockery 0.000358 adhere 0.000358 suzanne 0.000358 predictably 0.000358 shave 0.000358 mend 0.000358 steeply 0.000358 blooming 0.000358 diffuse 0.000358 classed 0.000358 tangle 0.000358 upgraded 0.000358 breached 0.000358 tribune 0.000358 presses 0.000358 sammy 0.000358 essentials 0.000358 robins 0.000358 cleansing 0.000358 queer 0.000358 cutter 0.000358 colorado 0.000358 repressed 0.000357 elf 0.000357 australians 0.000357 hitch 0.000357 sprayed 0.000357 crow 0.000357 deprive 0.000357 establishes 0.000357 noticeably 0.000357 culley 0.000357 midway 0.000357 wharf 0.000357 erection 0.000357 bulky 0.000357 shaved 0.000357 henceforth 0.000357 vineyards 0.000357 spitting 0.000357 uganda 0.000357 devising 0.000357 femininity 0.000357 brace 0.000357 fraught 0.000357 louisa 0.000357 decency 0.000357 berwick 0.000356 conscientious 0.000356 refurbished 0.000356 chicks 0.000356 contemplation 0.000356 dinah 0.000356 symmetrical 0.000356 raffle 0.000356 bolivia 0.000356 unfavourable 0.000356 illusions 0.000356 fractured 0.000356 dismantled 0.000356 bends 0.000356 resent 0.000356 ounce 0.000356 wavelength 0.000356 objectively 0.000356 istanbul 0.000356 bathrooms 0.000356 bravely 0.000356 gasping 0.000356 wagons 0.000356 unattractive 0.000355 pollutants 0.000355 peeled 0.000355 condemning 0.000355 ushered 0.000355 expiry 0.000355 coward 0.000355 widowed 0.000355 strikingly 0.000355 stemmed 0.000355 shove 0.000355 piping 0.000355 willy 0.000355 lindsay 0.000355 ribbons 0.000355 latvia 0.000355 pirates 0.000355 vacancy 0.000355 inns 0.000355 claimant 0.000355 inferred 0.000355 ascot 0.000355 gunmen 0.000355 goodman 0.000355 coercion 0.000355 deficits 0.000355 radcliffe 0.000355 sharpened 0.000355 rinse 0.000355 knowledgeable 0.000355 oceanic 0.000355 swallowing 0.000355 regularity 0.000355 columbus 0.000355 tamar 0.000355 whaling 0.000354 riches 0.000354 newmarket 0.000354 hail 0.000354 royalties 0.000354 inflict 0.000354 villas 0.000354 courtney 0.000354 landlady 0.000354 dissemination 0.000354 ontario 0.000354 pests 0.000354 fostered 0.000354 gazza 0.000354 headlights 0.000354 mushroom 0.000354 ruefully 0.000354 attlee 0.000354 ecumenical 0.000354 distrust 0.000354 lodgings 0.000354 ono 0.000354 clarified 0.000354 hegemony 0.000354 pickup 0.000354 aggie 0.000354 sown 0.000354 manoeuvres 0.000354 gatwick 0.000354 conglomerate 0.000354 renewable 0.000354 fitter 0.000354 classify 0.000354 carole 0.000354 genetically 0.000354 crab 0.000352 saatchi 0.000352 alkaline 0.000352 zeal 0.000352 geographically 0.000352 dominic 0.000352 stockholm 0.000352 sherwood 0.000352 frau 0.000352 macedonia 0.000352 brownie 0.000352 beginner 0.000352 pastel 0.000352 bilingual 0.000352 pianist 0.000352 gardner 0.000352 hackney 0.000352 despatch 0.000352 salient 0.000352 unauthorised 0.000352 brownies 0.000352 taboo 0.000352 curving 0.000352 adhesion 0.000352 orcs 0.000352 wang 0.000352 cardigan 0.000352 groan 0.000351 kb 0.000351 articulation 0.000351 kendall 0.000351 hush 0.000351 accelerator 0.000351 scrum 0.000351 dagger 0.000351 bernie 0.000351 ibid 0.000351 barge 0.000351 dismantling 0.000351 thorpe 0.000351 hassle 0.000351 divides 0.000351 booming 0.000351 physiology 0.000351 shaded 0.000351 lawns 0.000351 nile 0.000351 jupiter 0.000351 phoning 0.000351 overdraft 0.000351 license 0.000351 burrow 0.000351 approximation 0.000351 cassettes 0.000350 activist 0.000350 cumberland 0.000350 leased 0.000350 closeness 0.000350 hammering 0.000350 cylinders 0.000350 panting 0.000350 naylor 0.000350 affectionate 0.000350 simplify 0.000350 fooled 0.000350 colder 0.000350 pedigree 0.000350 adapting 0.000350 bogus 0.000350 surpluses 0.000350 berries 0.000350 associative 0.000350 amplifier 0.000350 eisenhower 0.000350 pamphlets 0.000350 lineage 0.000350 reconciled 0.000350 dispatched 0.000350 tumble 0.000350 garages 0.000350 beveridge 0.000350 pollen 0.000350 ottoman 0.000350 diffusion 0.000350 eligibility 0.000349 eyre 0.000349 ceases 0.000349 enforcing 0.000349 remission 0.000349 overtaken 0.000349 lizzie 0.000349 nationalized 0.000349 barney 0.000349 settee 0.000349 sage 0.000349 walled 0.000349 stipulated 0.000349 thumping 0.000349 emulate 0.000349 nesting 0.000349 vibrations 0.000349 massively 0.000349 kev 0.000349 torment 0.000349 peptide 0.000349 thorne 0.000349 horton 0.000349 labouring 0.000349 hawaii 0.000349 exemptions 0.000349 transmit 0.000349 illustrating 0.000349 beryl 0.000349 lorton 0.000349 broom 0.000349 au 0.000349 archie 0.000348 respectability 0.000348 hostilities 0.000348 irina 0.000348 repatriation 0.000348 programmer 0.000348 catholicism 0.000348 constructions 0.000348 trot 0.000348 ornate 0.000348 upheaval 0.000348 frying 0.000348 methane 0.000348 menacing 0.000348 subversive 0.000348 chewed 0.000348 nicer 0.000348 shuffled 0.000348 blushed 0.000348 obligatory 0.000348 spate 0.000348 expanse 0.000348 initials 0.000348 cegb 0.000348 wordperfect 0.000348 looming 0.000348 drills 0.000348 tilt 0.000348 lag 0.000348 maize 0.000347 seymour 0.000347 almond 0.000347 indefinite 0.000347 matrimonial 0.000347 pointer 0.000347 kuwaiti 0.000347 weave 0.000347 forte 0.000347 trails 0.000347 topping 0.000347 barked 0.000347 prescott 0.000347 gastritis 0.000347 everest 0.000347 placements 0.000347 digested 0.000347 nomes 0.000347 carbohydrate 0.000347 prentice 0.000347 radios 0.000347 conveyancing 0.000347 chronological 0.000347 byron 0.000347 pennsylvania 0.000347 exhaustive 0.000347 conveyance 0.000347 pancreatitis 0.000346 inexpensive 0.000346 spilling 0.000346 guildford 0.000346 peugeot 0.000346 dallas 0.000346 ap 0.000346 converts 0.000346 nietzsche 0.000346 totality 0.000346 stripping 0.000346 whitehouse 0.000346 smoothing 0.000346 malice 0.000346 banners 0.000346 tart 0.000346 stuffing 0.000346 observable 0.000346 averages 0.000346 fidelity 0.000346 subs 0.000346 wyatt 0.000346 fragrance 0.000346 constantine 0.000346 mondays 0.000346 overheard 0.000346 animation 0.000346 hunched 0.000345 hostels 0.000345 derivative 0.000345 ornaments 0.000345 partisan 0.000345 chew 0.000345 olivia 0.000345 sevens 0.000345 rattling 0.000345 rioting 0.000345 initiating 0.000345 predatory 0.000345 ducked 0.000345 tendering 0.000345 marr 0.000345 unhappiness 0.000345 nissan 0.000345 enamel 0.000345 edie 0.000345 reflective 0.000345 franz 0.000345 grind 0.000345 comedian 0.000345 unspoken 0.000345 floyd 0.000345 colorectal 0.000345 pathology 0.000345 asserts 0.000345 steered 0.000345 saucepan 0.000344 pouch 0.000344 aback 0.000344 twigs 0.000344 aaron 0.000344 dustbin 0.000344 bluff 0.000344 sow 0.000344 nightmares 0.000344 ballroom 0.000344 sleek 0.000344 doris 0.000344 congratulated 0.000344 garland 0.000344 encompass 0.000344 boarded 0.000344 coordinated 0.000344 toured 0.000344 snatch 0.000344 levi 0.000344 progressing 0.000344 solids 0.000344 anorexia 0.000344 remedial 0.000344 exposition 0.000344 squire 0.000343 moaned 0.000343 lain 0.000343 infamous 0.000343 leaps 0.000343 internationals 0.000343 charters 0.000343 loomed 0.000343 liza 0.000343 televised 0.000343 electromagnetic 0.000343 pathways 0.000343 complimentary 0.000343 gummer 0.000343 contests 0.000343 rdbi 0.000343 forbes 0.000343 shudder 0.000343 subjectivity 0.000343 pierced 0.000343 coconut 0.000343 apricot 0.000343 freshwater 0.000343 salford 0.000343 industrialization 0.000343 goldsmith 0.000343 nervousness 0.000343 webster 0.000343 emptiness 0.000342 amen 0.000342 fertiliser 0.000342 estonia 0.000342 deepened 0.000342 bobbie 0.000342 amenable 0.000342 moles 0.000342 rationing 0.000342 incur 0.000342 pilgrims 0.000342 ark 0.000342 weavers 0.000342 cages 0.000342 esrc 0.000342 cowboy 0.000342 belgrade 0.000342 blooms 0.000342 dough 0.000342 forbidding 0.000342 fitzgerald 0.000342 trough 0.000342 artery 0.000342 glued 0.000341 michele 0.000341 computational 0.000341 knowingly 0.000341 mileage 0.000341 halling 0.000341 dispersal 0.000341 billions 0.000341 brett 0.000341 soluble 0.000341 tec 0.000341 blokes 0.000341 aix 0.000341 boasted 0.000341 coughed 0.000341 gravely 0.000341 harmonic 0.000341 sighted 0.000341 deteriorating 0.000341 prominently 0.000341 grassy 0.000341 angalo 0.000341 tokens 0.000341 specialising 0.000341 signify 0.000341 langley 0.000341 channelled 0.000341 haemorrhage 0.000341 psychiatrists 0.000341 flashes 0.000341 witches 0.000341 phillip 0.000340 duplicate 0.000340 tempered 0.000340 pops 0.000340 aspirin 0.000340 underside 0.000340 disillusioned 0.000340 bottoms 0.000340 specialization 0.000340 fo 0.000340 tucker 0.000340 salvage 0.000340 arson 0.000340 commended 0.000340 mao 0.000340 deriving 0.000340 metaphors 0.000340 cherished 0.000340 vanish 0.000340 migrate 0.000340 woodwork 0.000340 tabitha 0.000340 substrate 0.000340 dispatch 0.000340 hooper 0.000340 strides 0.000340 longitudinal 0.000340 ldp 0.000339 miserably 0.000339 combustion 0.000339 kerry 0.000339 burglars 0.000339 yielding 0.000339 insensitive 0.000339 squads 0.000339 tally 0.000339 nightclub 0.000339 adaptive 0.000339 blinds 0.000339 arouse 0.000339 clinically 0.000339 sheikh 0.000339 scoop 0.000339 inadvertently 0.000339 straits 0.000339 pringle 0.000339 augustine 0.000339 uphold 0.000339 bs 0.000339 liner 0.000339 blueprint 0.000339 pruning 0.000339 immoral 0.000338 tranquillity 0.000338 broadcasters 0.000338 anaesthetic 0.000338 adored 0.000338 argyll 0.000338 announces 0.000338 incubated 0.000338 ferries 0.000338 stroud 0.000338 bony 0.000338 londonderry 0.000338 brewer 0.000338 adolescents 0.000338 romeo 0.000338 discontinued 0.000338 andrea 0.000338 parasite 0.000338 athenian 0.000338 albion 0.000338 tab 0.000338 confided 0.000338 disintegration 0.000338 apex 0.000337 nurseries 0.000337 riddle 0.000337 motility 0.000337 tonne 0.000337 waitress 0.000337 beacon 0.000337 magnet 0.000337 resumption 0.000337 swirling 0.000337 cooperate 0.000337 momentary 0.000337 artificially 0.000337 brutality 0.000337 surname 0.000337 devious 0.000337 throbbing 0.000337 drinkers 0.000337 industrialisation 0.000337 digby 0.000337 adhesive 0.000337 opaque 0.000337 payers 0.000337 dorcas 0.000337 normative 0.000337 labourer 0.000337 portray 0.000337 carcinoma 0.000337 nearing 0.000337 gigs 0.000337 laurence 0.000337 vodka 0.000336 greetings 0.000336 lingered 0.000336 extradition 0.000336 inverse 0.000336 hardness 0.000336 marlborough 0.000336 basins 0.000336 cantona 0.000336 elapsed 0.000336 stains 0.000336 sped 0.000336 skinny 0.000336 chen 0.000336 boulders 0.000336 philippe 0.000336 rumoured 0.000336 compaq 0.000336 estimating 0.000336 farce 0.000336 faeces 0.000336 prophecy 0.000336 breeders 0.000336 experimenting 0.000336 infer 0.000336 envoy 0.000336 facilitated 0.000336 cdu 0.000336 donovan 0.000336 innumerable 0.000335 hose 0.000335 coeliac 0.000335 chattering 0.000335 campaigner 0.000335 chassis 0.000335 creek 0.000335 recorders 0.000335 idealism 0.000335 intellectually 0.000335 overcrowded 0.000335 sprinkle 0.000335 keenly 0.000335 duplication 0.000335 landowner 0.000335 stocked 0.000335 mailing 0.000335 departing 0.000335 valuations 0.000335 trouser 0.000335 superficially 0.000335 netting 0.000335 bluntly 0.000335 shark 0.000335 shorthand 0.000335 bays 0.000335 facets 0.000335 gm 0.000335 ass 0.000335 guessing 0.000335 minimize 0.000335 manuals 0.000335 seams 0.000334 gaza 0.000334 jules 0.000334 piccadilly 0.000334 rectangle 0.000334 bullying 0.000334 phenomenal 0.000334 dalgliesh 0.000334 bryony 0.000334 yu 0.000334 lyrical 0.000334 assassin 0.000334 californian 0.000334 accessibility 0.000334 branching 0.000334 tanned 0.000334 sybase 0.000334 reconstructed 0.000334 sipping 0.000334 administering 0.000334 takeovers 0.000334 cutlery 0.000334 franca 0.000334 rica 0.000334 utilised 0.000334 earls 0.000334 diligence 0.000334 weighs 0.000334 lionel 0.000334 importing 0.000334 standby 0.000334 sings 0.000334 jurnet 0.000334 refreshments 0.000334 patrols 0.000334 allison 0.000332 haemoglobin 0.000332 miraculous 0.000332 valentine 0.000332 vinyl 0.000332 pans 0.000332 chic 0.000332 guarding 0.000332 chipped 0.000332 inwards 0.000332 onslaught 0.000332 cabaret 0.000332 scatter 0.000332 dcs 0.000332 rsc 0.000332 danzig 0.000332 edna 0.000332 precedents 0.000332 schoolgirl 0.000332 confine 0.000332 deserts 0.000332 inactive 0.000332 listings 0.000332 undo 0.000332 frome 0.000332 knuckles 0.000332 offend 0.000332 claw 0.000332 coefficients 0.000332 brooding 0.000332 assertive 0.000332 directorate 0.000331 misguided 0.000331 shipment 0.000331 eton 0.000331 oaks 0.000331 countenance 0.000331 galloway 0.000331 strenuous 0.000331 fieldwork 0.000331 widest 0.000331 sniff 0.000331 embarking 0.000331 emotive 0.000331 exploratory 0.000331 roubles 0.000331 conserve 0.000331 abide 0.000331 ge 0.000331 seismic 0.000331 culminated 0.000331 villain 0.000331 rosy 0.000331 ferocious 0.000331 misconduct 0.000331 impartial 0.000331 regal 0.000331 sampled 0.000331 clapham 0.000331 anton 0.000330 unfairly 0.000330 havel 0.000330 blinking 0.000330 researching 0.000330 acquainted 0.000330 rem 0.000330 rotary 0.000330 afghan 0.000330 evoke 0.000330 unambiguous 0.000330 obsessive 0.000330 hoover 0.000330 fins 0.000330 usable 0.000330 broaden 0.000330 intruder 0.000330 linguists 0.000330 informix 0.000330 vernacular 0.000330 robes 0.000330 coleraine 0.000330 grasses 0.000330 widnes 0.000330 patchy 0.000330 hirst 0.000330 botanical 0.000330 watercolours 0.000330 marrow 0.000329 eloquent 0.000329 shortest 0.000329 payne 0.000329 mosque 0.000329 defy 0.000329 perennial 0.000329 gearing 0.000329 shipments 0.000329 aspiring 0.000329 karate 0.000329 compromised 0.000329 hem 0.000329 alternating 0.000329 override 0.000329 advertisers 0.000329 scrapped 0.000329 deity 0.000329 demons 0.000329 bonding 0.000329 defiantly 0.000329 uefa 0.000329 believer 0.000329 sectarian 0.000329 fbi 0.000329 southport 0.000329 childcare 0.000329 grassland 0.000329 drake 0.000329 informants 0.000329 plumage 0.000329 pe 0.000329 diocesan 0.000329 albanian 0.000329 cds 0.000329 comforted 0.000329 turbo 0.000329 artwork 0.000328 microprocessor 0.000328 glowed 0.000328 bartholomew 0.000328 walsall 0.000328 sybil 0.000328 casey 0.000328 suez 0.000328 gemma 0.000328 suggestive 0.000328 persia 0.000328 highlighting 0.000328 preferential 0.000328 smear 0.000328 dodgy 0.000328 adhered 0.000328 elaborated 0.000328 controllers 0.000328 platt 0.000328 elasticity 0.000328 armenia 0.000328 dismissive 0.000328 quebec 0.000328 maltravers 0.000328 garvey 0.000328 sharper 0.000328 reinforces 0.000328 edging 0.000327 aug 0.000327 intermediary 0.000327 flattered 0.000327 yemen 0.000327 dawned 0.000327 aylesbury 0.000327 charismatic 0.000327 externally 0.000327 periphery 0.000327 substituting 0.000327 infinity 0.000327 vomiting 0.000327 lighthouse 0.000327 nicandra 0.000327 funerals 0.000327 overhaul 0.000327 persists 0.000327 snorted 0.000327 constructs 0.000327 precaution 0.000327 clapped 0.000327 circulate 0.000327 blush 0.000327 stricken 0.000327 vera 0.000327 confinement 0.000327 totals 0.000327 digits 0.000327 exasperation 0.000327 ibrox 0.000327 roe 0.000326 creggan 0.000326 southwark 0.000326 depleted 0.000326 bukharin 0.000326 hebrides 0.000326 horticultural 0.000326 dessert 0.000326 chronology 0.000326 rump 0.000326 gurder 0.000326 gwen 0.000326 margarine 0.000326 subsidised 0.000326 swamp 0.000326 violated 0.000326 clamped 0.000326 concerted 0.000326 activate 0.000326 sgt 0.000326 justifiable 0.000326 palette 0.000326 stein 0.000326 platinum 0.000326 chick 0.000326 railings 0.000326 alastair 0.000326 dove 0.000325 coasts 0.000325 tub 0.000325 mingled 0.000325 gazette 0.000325 foreground 0.000325 bgs 0.000325 pathological 0.000325 liquids 0.000325 theresa 0.000325 munro 0.000325 grotesque 0.000325 renwick 0.000325 griffin 0.000325 reptiles 0.000325 rained 0.000325 caravans 0.000325 bulging 0.000325 reactionary 0.000325 archers 0.000325 complacent 0.000325 titled 0.000325 lorna 0.000325 henri 0.000325 witchcraft 0.000325 newham 0.000325 jagged 0.000325 fin 0.000325 rigidly 0.000325 flare 0.000325 culmination 0.000325 buffalo 0.000325 spade 0.000325 tiller 0.000325 applauded 0.000324 commonest 0.000324 hon 0.000324 stainless 0.000324 seville 0.000324 yelling 0.000324 polled 0.000324 groves 0.000324 embroidery 0.000324 raft 0.000324 malik 0.000324 aerobics 0.000324 oed 0.000324 olympia 0.000324 inconvenient 0.000324 transcript 0.000324 mainframes 0.000324 hierarchies 0.000324 kurt 0.000324 bunker 0.000324 flanks 0.000324 artemis 0.000324 contenders 0.000324 researched 0.000324 inversion 0.000324 ella 0.000324 elsie 0.000324 spraying 0.000324 repeal 0.000324 fiji 0.000324 regrets 0.000324 hayes 0.000324 copenhagen 0.000324 eerie 0.000324 lading 0.000324 gem 0.000324 exchanging 0.000324 unison 0.000324 emergencies 0.000323 granddad 0.000323 hutton 0.000323 alloy 0.000323 polythene 0.000323 bargains 0.000323 luminous 0.000323 deduced 0.000323 proprietors 0.000323 hides 0.000323 deference 0.000323 tremendously 0.000323 terrestrial 0.000323 grubby 0.000323 sweetness 0.000323 secretarial 0.000323 criticize 0.000323 polishing 0.000323 pitt 0.000323 austere 0.000323 indistinguishable 0.000323 peculiarly 0.000323 strapped 0.000323 grading 0.000323 booze 0.000323 jamaican 0.000323 endurance 0.000323 sd 0.000323 oem 0.000323 requisite 0.000323 drawled 0.000323 portland 0.000323 stupidity 0.000323 ups 0.000323 miriam 0.000323 blot 0.000323 systemic 0.000323 deceived 0.000323 flask 0.000323 derivatives 0.000323 sap 0.000323 anthem 0.000323 xv 0.000323 thwarted 0.000322 modifying 0.000322 blindly 0.000322 stag 0.000322 victorious 0.000322 freehold 0.000322 cervical 0.000322 woo 0.000322 clashed 0.000322 originality 0.000322 mechanic 0.000322 fasting 0.000322 puppet 0.000322 herefordshire 0.000322 apologize 0.000322 nuclei 0.000322 messing 0.000322 roxburgh 0.000322 tuning 0.000322 cons 0.000322 lineker 0.000322 conveying 0.000322 puff 0.000322 lofty 0.000322 howling 0.000322 trident 0.000322 icons 0.000322 standpoint 0.000322 ledger 0.000322 clwyd 0.000322 lends 0.000322 cavalier 0.000322 bemused 0.000321 incubation 0.000321 yvonne 0.000321 inferences 0.000321 sincerity 0.000321 delicacy 0.000321 toad 0.000321 competed 0.000321 horrendous 0.000321 pegs 0.000321 bathed 0.000321 hovered 0.000321 alphabet 0.000321 declines 0.000321 necessitated 0.000321 plato 0.000321 sae 0.000321 taxis 0.000321 weddings 0.000321 paranoid 0.000321 monasteries 0.000321 kingdoms 0.000321 preach 0.000321 repercussions 0.000321 penelope 0.000321 acquaintances 0.000321 dipping 0.000321 inflated 0.000321 avenues 0.000321 incest 0.000321 oversee 0.000321 tiring 0.000321 bnfl 0.000321 computed 0.000321 tranquil 0.000321 randolph 0.000320 dilemmas 0.000320 fri 0.000320 constipation 0.000320 watery 0.000320 heed 0.000320 reappeared 0.000320 unreal 0.000320 alf 0.000320 detailing 0.000320 unmarked 0.000320 juniors 0.000320 favouring 0.000320 genetics 0.000320 mince 0.000320 ombudsman 0.000320 borrower 0.000320 accelerating 0.000320 lyle 0.000320 healed 0.000320 multilateral 0.000320 overcrowding 0.000320 ills 0.000320 cute 0.000320 forbid 0.000320 happiest 0.000319 mediation 0.000319 holloway 0.000319 frenzy 0.000319 interpersonal 0.000319 kyle 0.000319 mantelpiece 0.000319 adulthood 0.000319 rake 0.000319 unwittingly 0.000319 motorbike 0.000319 deepening 0.000319 pentagon 0.000319 epithelium 0.000319 outspoken 0.000319 remand 0.000319 disgraceful 0.000319 uncompromising 0.000319 snarled 0.000319 synod 0.000319 slum 0.000319 rogue 0.000319 resin 0.000319 nationalities 0.000319 nellie 0.000319 vacation 0.000319 asians 0.000319 punishing 0.000319 apprehensive 0.000319 blinded 0.000319 trophies 0.000319 lt 0.000319 registering 0.000319 bordeaux 0.000318 freeing 0.000318 botham 0.000318 undergraduates 0.000318 woody 0.000318 climber 0.000318 drab 0.000318 cleanliness 0.000318 bundestag 0.000318 conventionally 0.000318 umpire 0.000318 marquis 0.000318 abdomen 0.000318 spices 0.000318 boyle 0.000318 retribution 0.000318 bumper 0.000318 nominations 0.000318 myriad 0.000318 noah 0.000318 troy 0.000318 font 0.000318 overcoat 0.000318 borrowings 0.000318 csce 0.000318 plugs 0.000318 cartridge 0.000318 subconscious 0.000318 biologists 0.000318 murderers 0.000318 hepatic 0.000318 figs 0.000318 quarries 0.000318 refrigerator 0.000317 therese 0.000317 relativity 0.000317 reconnaissance 0.000317 sane 0.000317 misty 0.000317 hourly 0.000317 lovingly 0.000317 leaks 0.000317 decisively 0.000317 timbers 0.000317 overgrown 0.000317 fluorescent 0.000317 waugh 0.000317 manure 0.000317 projecting 0.000317 heaving 0.000317 perch 0.000317 instructive 0.000317 orient 0.000317 modestly 0.000317 merton 0.000317 neurons 0.000317 ursula 0.000317 charlemagne 0.000317 collided 0.000317 narrowing 0.000317 motherhood 0.000316 chanting 0.000316 demon 0.000316 te 0.000316 unspecified 0.000316 discovers 0.000316 doctrines 0.000316 amalgamated 0.000316 bonfire 0.000316 cp 0.000316 tech 0.000316 enshrined 0.000316 horne 0.000316 underwriting 0.000316 reputed 0.000316 truman 0.000316 bombardment 0.000316 poked 0.000316 timid 0.000316 sexism 0.000316 fringes 0.000316 rapport 0.000316 endemic 0.000316 convincingly 0.000316 trait 0.000316 choral 0.000315 meticulous 0.000315 scraping 0.000315 reformist 0.000315 raided 0.000315 tiredness 0.000315 tacit 0.000315 acclaimed 0.000315 celebrates 0.000315 amplification 0.000315 lowland 0.000315 hype 0.000315 dictates 0.000315 contacting 0.000315 siblings 0.000315 effluent 0.000315 gladly 0.000315 clicked 0.000315 averaging 0.000315 tammuz 0.000315 flapping 0.000315 believers 0.000315 gladstone 0.000315 shampoo 0.000315 looms 0.000315 risked 0.000315 malawi 0.000314 smelling 0.000314 livery 0.000314 preclude 0.000314 piazza 0.000314 sauna 0.000314 blindness 0.000314 tempt 0.000314 nonconformist 0.000314 informally 0.000314 admiralty 0.000314 marcos 0.000314 acrylic 0.000314 waldegrave 0.000314 merging 0.000314 regency 0.000314 franc 0.000314 excused 0.000314 stuttgart 0.000314 nouns 0.000314 chunk 0.000314 specialise 0.000314 servicemen 0.000314 tramway 0.000314 rollers 0.000314 khmer 0.000313 bollocks 0.000313 calorie 0.000313 popping 0.000313 testify 0.000313 sympathetically 0.000313 props 0.000313 entrances 0.000313 riley 0.000313 monde 0.000313 zoe 0.000313 lambeth 0.000313 emitted 0.000313 voter 0.000313 bugs 0.000313 smartly 0.000313 gleamed 0.000313 intimidation 0.000313 sinks 0.000313 generators 0.000313 johnstone 0.000313 finch 0.000313 disparate 0.000313 engineered 0.000313 submitting 0.000313 dispense 0.000313 fairs 0.000313 conducive 0.000313 grit 0.000313 aromatic 0.000313 contractions 0.000311 brickwork 0.000311 ploy 0.000311 manuel 0.000311 quivering 0.000311 nagging 0.000311 palaces 0.000311 growers 0.000311 dresser 0.000311 dissidents 0.000311 peril 0.000311 cumbersome 0.000311 bonanza 0.000311 taunton 0.000311 propensity 0.000311 discredited 0.000311 trifle 0.000311 helper 0.000311 colt 0.000311 darted 0.000311 geographic 0.000311 linfield 0.000311 exhausting 0.000311 ploughing 0.000311 equivalents 0.000311 bicycles 0.000311 replacements 0.000311 inert 0.000311 township 0.000311 affirmed 0.000311 principals 0.000311 asbestos 0.000311 pollock 0.000311 misled 0.000311 becker 0.000311 grievous 0.000311 bouquet 0.000310 rushdie 0.000310 dentists 0.000310 oswald 0.000310 dunbar 0.000310 shopkeepers 0.000310 hub 0.000310 joked 0.000310 distract 0.000310 folklore 0.000310 drummer 0.000310 cr 0.000310 equaliser 0.000310 stamping 0.000310 trafalgar 0.000310 klein 0.000310 custard 0.000310 majestic 0.000310 somali 0.000310 eclipse 0.000310 heaps 0.000310 investigative 0.000310 locating 0.000310 uniformly 0.000310 hayward 0.000310 drip 0.000310 tripped 0.000310 pauses 0.000310 pesticide 0.000310 chatted 0.000310 adultery 0.000310 syndicate 0.000309 flurry 0.000309 magee 0.000309 unqualified 0.000309 pals 0.000309 rudder 0.000309 healey 0.000309 boon 0.000309 hobbies 0.000309 amplified 0.000309 pilkington 0.000309 rarity 0.000309 pronounce 0.000309 aspiration 0.000309 manned 0.000309 egalitarian 0.000309 modesty 0.000309 discernible 0.000309 mona 0.000309 cite 0.000309 cobalt 0.000309 uncontrolled 0.000309 tombs 0.000309 theo 0.000309 terminus 0.000309 milling 0.000309 testator 0.000309 brittany 0.000309 nash 0.000309 ari 0.000309 contender 0.000309 dinosaur 0.000309 snail 0.000309 vectors 0.000309 mugs 0.000309 shamir 0.000309 specialises 0.000309 milky 0.000309 plunging 0.000309 thrush 0.000308 scriptures 0.000308 wired 0.000308 skilfully 0.000308 template 0.000308 fungus 0.000308 instructors 0.000308 crilly 0.000308 paddle 0.000308 sparkle 0.000308 bookshops 0.000308 swamped 0.000308 mall 0.000308 misplaced 0.000308 precipitated 0.000308 chauffeur 0.000308 scrolled 0.000308 floats 0.000308 earns 0.000308 oats 0.000308 decreed 0.000308 fc 0.000308 drawbacks 0.000308 angling 0.000308 cursing 0.000308 catered 0.000308 manipulating 0.000308 yoghurt 0.000308 windsurfing 0.000308 clamp 0.000308 visionary 0.000308 lesion 0.000308 ealing 0.000308 excitedly 0.000308 solemnly 0.000307 orc 0.000307 causation 0.000307 mc 0.000307 aquino 0.000307 buckley 0.000307 indexes 0.000307 drawback 0.000307 regulars 0.000307 heron 0.000307 aggressively 0.000307 proviso 0.000307 bedfordshire 0.000307 prosecute 0.000307 hinges 0.000307 anymore 0.000307 sabbath 0.000307 floorboards 0.000307 notebooks 0.000307 beak 0.000307 archdeacon 0.000307 mammalian 0.000307 whigs 0.000307 nay 0.000307 amiable 0.000307 degenerate 0.000307 overdose 0.000307 modernization 0.000307 impractical 0.000307 concise 0.000307 strife 0.000307 cockney 0.000307 reverted 0.000307 trespass 0.000307 telegram 0.000307 petitions 0.000307 deviations 0.000307 gospels 0.000306 mysteriously 0.000306 dylan 0.000306 puritan 0.000306 coinage 0.000306 supervising 0.000306 cosmopolitan 0.000306 chimneys 0.000306 barristers 0.000306 milburn 0.000306 linkage 0.000306 berger 0.000306 passions 0.000306 unbroken 0.000306 bunk 0.000306 misgivings 0.000306 yarns 0.000306 refreshment 0.000306 introductions 0.000306 incarnation 0.000306 morphological 0.000306 furnace 0.000306 irwin 0.000306 harmonious 0.000306 monoxide 0.000306 karajan 0.000306 parody 0.000306 greatness 0.000306 psychologically 0.000306 humility 0.000306 safest 0.000306 undoubted 0.000306 brute 0.000306 inception 0.000306 subsidence 0.000306 attackers 0.000306 waterways 0.000306 enlargement 0.000306 suede 0.000306 clips 0.000306 rendezvous 0.000306 pitfalls 0.000306 dormant 0.000305 crater 0.000305 denning 0.000305 stacks 0.000305 sarcasm 0.000305 opener 0.000305 dimly 0.000305 gaping 0.000305 captains 0.000305 allocating 0.000305 orwell 0.000305 blitz 0.000305 irregularities 0.000305 millie 0.000305 generality 0.000305 reunification 0.000305 alleging 0.000305 accreditation 0.000305 powerpc 0.000305 invoke 0.000305 flattering 0.000305 stead 0.000305 salads 0.000305 lithuanian 0.000305 configurations 0.000305 cambrian 0.000305 langbaurgh 0.000305 porridge 0.000305 exasperated 0.000305 jogging 0.000305 naples 0.000305 densities 0.000305 exporter 0.000305 cultivate 0.000305 striding 0.000305 plank 0.000305 hysteria 0.000305 mi 0.000305 whore 0.000305 kashmir 0.000305 statesman 0.000305 garrett 0.000305 passports 0.000304 elaboration 0.000304 spurred 0.000304 tandem 0.000304 blended 0.000304 dashing 0.000304 strachan 0.000304 solvents 0.000304 assimilation 0.000304 thinkers 0.000304 scandals 0.000304 splashing 0.000304 gypsies 0.000304 gliding 0.000304 groundwater 0.000304 ibrahim 0.000304 thirsty 0.000304 bamboo 0.000304 motorcycle 0.000304 kazakhstan 0.000304 punitive 0.000304 activator 0.000304 adopts 0.000304 mclean 0.000304 bruising 0.000304 livelihood 0.000304 dogged 0.000304 crumbs 0.000304 bingham 0.000304 dwarfs 0.000304 micky 0.000304 hinder 0.000304 foreseen 0.000303 cheated 0.000303 jigsaw 0.000303 patriarchal 0.000303 peacekeeping 0.000303 barbed 0.000303 torquay 0.000303 regulator 0.000303 dobson 0.000303 humidity 0.000303 digestive 0.000303 antislavery 0.000303 adrenalin 0.000303 stump 0.000303 gilded 0.000303 missionaries 0.000303 ethernet 0.000303 spruce 0.000303 unita 0.000303 tags 0.000303 nicked 0.000303 physicists 0.000303 sharpness 0.000303 stench 0.000303 necklace 0.000303 malaria 0.000303 clothed 0.000303 flimsy 0.000303 entrepreneur 0.000303 bravery 0.000303 fibrosis 0.000303 cpu 0.000303 ached 0.000303 outpatient 0.000303 islanders 0.000303 thumbs 0.000303 frs 0.000303 hodge 0.000303 sadler 0.000303 verdun 0.000303 habitual 0.000303 sandals 0.000302 coordinating 0.000302 fiduciary 0.000302 yearning 0.000302 skye 0.000302 brotherhood 0.000302 spikes 0.000302 glistening 0.000302 inseparable 0.000302 adjudication 0.000302 randomised 0.000302 reckoning 0.000302 angled 0.000302 kurds 0.000302 punctuation 0.000302 kidneys 0.000302 abnormality 0.000302 seaman 0.000302 worsening 0.000302 nip 0.000302 untrue 0.000302 durkheim 0.000302 mowbray 0.000302 arafat 0.000302 unhealthy 0.000302 badgers 0.000302 volcanoes 0.000302 ration 0.000302 wasteful 0.000302 seoul 0.000302 dalton 0.000301 plum 0.000301 crackdown 0.000301 overcame 0.000301 knox 0.000301 gully 0.000301 watchdog 0.000301 croats 0.000301 cones 0.000301 spacing 0.000301 pennies 0.000301 wares 0.000301 divergence 0.000301 professors 0.000301 emphatic 0.000301 lima 0.000301 packaged 0.000301 contributor 0.000301 spirited 0.000301 peeling 0.000301 buzzing 0.000301 mammal 0.000301 undone 0.000301 dyke 0.000301 prized 0.000301 replication 0.000301 insignia 0.000301 retina 0.000301 tamil 0.000301 composure 0.000301 dj 0.000301 overshadowed 0.000301 industrialised 0.000301 eta 0.000301 intermediaries 0.000301 audited 0.000301 holt 0.000301 stifled 0.000301 oblige 0.000301 outfits 0.000300 pushes 0.000300 cove 0.000300 caption 0.000300 commencing 0.000300 emphatically 0.000300 marred 0.000300 collects 0.000300 retaliation 0.000300 lance 0.000300 gore 0.000300 decrees 0.000300 wallis 0.000300 bradshaw 0.000300 affidavit 0.000300 throats 0.000300 foregoing 0.000300 catchment 0.000300 hound 0.000300 connolly 0.000300 poly 0.000300 hurst 0.000300 viewpoints 0.000300 inventor 0.000300 beetles 0.000300 moat 0.000299 nausea 0.000299 distortions 0.000299 distort 0.000299 tncs 0.000299 dss 0.000299 connie 0.000299 occurrences 0.000299 braque 0.000299 binds 0.000299 tue 0.000299 irishman 0.000299 negotiators 0.000299 tyranny 0.000299 commend 0.000299 orientated 0.000299 quaker 0.000299 attentions 0.000299 backside 0.000299 liturgy 0.000299 macho 0.000299 singularity 0.000299 stereotype 0.000299 planner 0.000299 chapels 0.000299 transmitter 0.000299 reaffirmed 0.000299 irritably 0.000299 strung 0.000299 kidnapping 0.000299 dictator 0.000299 emmie 0.000299 retreating 0.000299 bakery 0.000299 slung 0.000299 dreamt 0.000299 teamed 0.000298 glitter 0.000298 flavours 0.000298 momentous 0.000298 clustered 0.000298 vest 0.000298 grape 0.000298 sylvie 0.000298 whereupon 0.000298 abusive 0.000298 justin 0.000298 briefed 0.000298 richie 0.000298 hesitant 0.000298 patriotism 0.000298 alaska 0.000298 heterogeneous 0.000298 bins 0.000298 tracked 0.000298 rite 0.000298 sanitary 0.000298 nasal 0.000298 equivalence 0.000298 howell 0.000298 translations 0.000298 misrepresentation 0.000298 irons 0.000298 msc 0.000298 separates 0.000298 buddhist 0.000298 fashioned 0.000298 juices 0.000298 hath 0.000298 summerchild 0.000297 sanctioned 0.000297 shepherds 0.000297 procurement 0.000297 cyclic 0.000297 laing 0.000297 bottled 0.000297 earthly 0.000297 grandad 0.000297 norris 0.000297 prescribe 0.000297 grate 0.000297 granules 0.000297 mocked 0.000297 skeletal 0.000297 garbage 0.000297 irrigation 0.000297 hoomey 0.000297 sacking 0.000297 commuters 0.000297 lyric 0.000297 prowess 0.000297 sixpence 0.000297 filth 0.000297 specifies 0.000297 verified 0.000296 rightful 0.000296 toughest 0.000296 rationalisation 0.000296 kidding 0.000296 acceptability 0.000296 transfusion 0.000296 shire 0.000296 holman 0.000296 lj 0.000296 laird 0.000296 rhine 0.000296 repressive 0.000296 reliably 0.000296 hiss 0.000296 detectable 0.000296 grimma 0.000296 ju 0.000296 senna 0.000296 manufactures 0.000296 oily 0.000296 burgundy 0.000296 cad 0.000296 phd 0.000296 laps 0.000296 uncertainly 0.000296 jarvis 0.000296 seizing 0.000296 attaching 0.000296 ancestral 0.000296 alyssia 0.000296 dept 0.000296 nasa 0.000296 strictures 0.000296 motorist 0.000295 cirencester 0.000295 tyson 0.000295 clayton 0.000295 rudolf 0.000295 nationalised 0.000295 hutchinson 0.000295 farnham 0.000295 corollary 0.000295 clarence 0.000295 pathologist 0.000295 moth 0.000295 warily 0.000295 fungi 0.000295 correspondents 0.000295 grampian 0.000295 affiliated 0.000295 advises 0.000295 rushes 0.000295 stools 0.000295 knob 0.000295 histamine 0.000295 antarctica 0.000295 giggle 0.000295 carts 0.000295 watchful 0.000295 unwillingness 0.000295 capturing 0.000295 scant 0.000295 britannia 0.000295 danes 0.000295 orbits 0.000295 contradict 0.000295 ebb 0.000295 splits 0.000295 throttle 0.000295 ambivalent 0.000295 smug 0.000295 cathedrals 0.000295 dissimilar 0.000295 semi 0.000295 harp 0.000295 legislators 0.000294 rein 0.000294 falcon 0.000294 emu 0.000294 circling 0.000294 fervour 0.000294 gunman 0.000294 khrushchev 0.000294 josie 0.000294 pulp 0.000294 publicised 0.000294 hartley 0.000294 cobbled 0.000294 wilcox 0.000294 chesterfield 0.000294 famed 0.000294 exhibiting 0.000294 shakes 0.000294 goldsmiths 0.000294 vagina 0.000294 conservationists 0.000294 condoms 0.000294 downright 0.000294 plagued 0.000294 stefan 0.000294 donegal 0.000294 ontological 0.000294 excretion 0.000294 tunic 0.000294 slamming 0.000294 bowe 0.000294 relapse 0.000294 flaws 0.000294 helmets 0.000294 foreigner 0.000294 adequacy 0.000294 withholding 0.000294 harrow 0.000294 enrolment 0.000294 acidity 0.000294 ecu 0.000294 expedient 0.000294 comforts 0.000294 repository 0.000294 regulators 0.000294 dew 0.000294 cartel 0.000294 mortgagee 0.000294 stephens 0.000294 weston 0.000294 egyptians 0.000293 assertions 0.000293 interdisciplinary 0.000293 cynicism 0.000293 blackened 0.000293 abound 0.000293 atkins 0.000293 measurable 0.000293 signified 0.000293 cents 0.000293 lothar 0.000293 spanning 0.000293 mussolini 0.000293 schema 0.000293 pirate 0.000293 militants 0.000293 lachlan 0.000293 stabbing 0.000293 neutrons 0.000293 fragrant 0.000293 adorned 0.000293 humiliated 0.000293 vga 0.000293 lids 0.000293 dalglish 0.000293 dissertation 0.000293 luther 0.000291 primal 0.000291 punjab 0.000291 martyr 0.000291 sublime 0.000291 goldberg 0.000291 vowels 0.000291 bloomsbury 0.000291 ra 0.000291 annabel 0.000291 mop 0.000291 disapproved 0.000291 albans 0.000291 dismayed 0.000291 hooded 0.000291 winked 0.000291 cricketer 0.000291 averted 0.000291 ludens 0.000291 pineapple 0.000291 resolutely 0.000291 blacksmith 0.000291 inwardly 0.000291 finnish 0.000291 lms 0.000291 gaol 0.000291 prematurely 0.000291 bustling 0.000291 carolina 0.000291 anonymity 0.000291 addicted 0.000291 chiswick 0.000291 smelly 0.000291 aide 0.000291 prejudiced 0.000290 eds 0.000290 brutally 0.000290 battled 0.000290 woolf 0.000290 strawberries 0.000290 injecting 0.000290 enigmatic 0.000290 contended 0.000290 elland 0.000290 allotment 0.000290 decaying 0.000290 frankish 0.000290 recognizable 0.000290 bereaved 0.000290 insiders 0.000290 birthplace 0.000290 vicky 0.000290 devils 0.000290 bash 0.000290 shortened 0.000290 nostalgic 0.000290 whispers 0.000290 neurotic 0.000290 shady 0.000290 skyline 0.000290 prospectus 0.000290 corals 0.000290 perceptive 0.000289 cloudy 0.000289 footballers 0.000289 bets 0.000289 bedtime 0.000289 portrayal 0.000289 numb 0.000289 mats 0.000289 arbitrator 0.000289 anomalous 0.000289 planks 0.000289 mercia 0.000289 tehran 0.000289 circled 0.000289 ordination 0.000289 pram 0.000289 whitlock 0.000289 trafficking 0.000289 invoices 0.000289 schofield 0.000289 secluded 0.000289 basingstoke 0.000289 koi 0.000289 disposing 0.000289 nationalisation 0.000289 mead 0.000289 illicit 0.000289 scenic 0.000289 stepfather 0.000289 whips 0.000289 humming 0.000289 denote 0.000289 golding 0.000289 invade 0.000289 scarred 0.000289 calcutta 0.000289 lashed 0.000289 hitachi 0.000289 ix 0.000289 stigma 0.000289 clergyman 0.000289 badges 0.000289 grimsby 0.000289 asquith 0.000289 vases 0.000289 experimentally 0.000289 poignant 0.000289 propagation 0.000288 fats 0.000288 courtship 0.000288 amenity 0.000288 pickering 0.000288 savagely 0.000288 israelis 0.000288 converse 0.000288 shattering 0.000288 devastation 0.000288 snapping 0.000288 dilute 0.000288 irreversible 0.000288 defied 0.000288 simulated 0.000288 piecemeal 0.000288 worsened 0.000288 fella 0.000288 gearbox 0.000288 flake 0.000288 counteract 0.000288 cprw 0.000288 vile 0.000288 nova 0.000288 sabotage 0.000288 declarations 0.000288 shuffle 0.000288 dependants 0.000288 idly 0.000288 flamboyant 0.000288 deserving 0.000288 adept 0.000288 sportsmen 0.000288 curtailed 0.000288 pulpit 0.000288 discursive 0.000288 macroeconomic 0.000288 zuwaya 0.000288 chores 0.000288 afflicted 0.000288 elisabeth 0.000288 chandler 0.000288 physicist 0.000287 ambush 0.000287 curricular 0.000287 helm 0.000287 bundles 0.000287 whitaker 0.000287 aitken 0.000287 manville 0.000287 multiplicity 0.000287 legitimately 0.000287 outcry 0.000287 foresee 0.000287 blanc 0.000287 consented 0.000287 migrant 0.000287 undisturbed 0.000287 papacy 0.000287 sneak 0.000287 noteworthy 0.000287 starve 0.000287 spurious 0.000287 gallop 0.000287 eastbourne 0.000287 affiliations 0.000287 conveys 0.000287 frustrations 0.000287 apathy 0.000287 operas 0.000287 atlanta 0.000287 harassed 0.000287 matisse 0.000287 loom 0.000287 haunting 0.000287 corrosion 0.000287 purposeful 0.000286 bulge 0.000286 udf 0.000286 dreary 0.000286 conversions 0.000286 strewn 0.000286 flaming 0.000286 whig 0.000286 flicking 0.000286 enactment 0.000286 assessors 0.000286 coopers 0.000286 surged 0.000286 null 0.000286 hatton 0.000286 ethic 0.000286 clarissa 0.000286 dispensed 0.000286 daphne 0.000286 dues 0.000286 bolster 0.000286 guilds 0.000286 multiplier 0.000286 moderation 0.000286 empathy 0.000286 salzburg 0.000286 generalization 0.000286 haphazard 0.000286 encoding 0.000285 framing 0.000285 elongated 0.000285 distributions 0.000285 saturation 0.000285 reap 0.000285 sermons 0.000285 alkali 0.000285 premiership 0.000285 mischievous 0.000285 reconstruct 0.000285 sonny 0.000285 conceivably 0.000285 disproportionate 0.000285 rottweiler 0.000285 pore 0.000285 idiosyncratic 0.000285 clouded 0.000285 hack 0.000285 wilton 0.000285 besieged 0.000285 pawn 0.000285 nolan 0.000285 reprocessing 0.000285 unreasonably 0.000285 bridging 0.000285 ornament 0.000285 clockwise 0.000285 dickinson 0.000284 landmarks 0.000284 veiled 0.000284 lurched 0.000284 fundamentalist 0.000284 compartments 0.000284 dorothea 0.000284 vascular 0.000284 slash 0.000284 enforceable 0.000284 populist 0.000284 reputable 0.000284 trinidad 0.000284 beetle 0.000284 volley 0.000284 souvenir 0.000284 quakers 0.000284 unkind 0.000284 indignant 0.000284 furnishing 0.000284 gravy 0.000284 pleasurable 0.000284 deadlock 0.000284 shareholding 0.000284 perm 0.000284 relentlessly 0.000284 scaled 0.000284 flipped 0.000284 triumphantly 0.000284 gaily 0.000284 frankenstein 0.000284 assortment 0.000284 strategically 0.000283 astronomical 0.000283 consonant 0.000283 planetary 0.000283 itn 0.000283 cords 0.000283 impacts 0.000283 pompous 0.000283 midsummer 0.000283 characterise 0.000283 leyland 0.000283 tradesmen 0.000283 conquer 0.000283 summarise 0.000283 desolate 0.000283 rockets 0.000283 bleach 0.000283 ir 0.000283 escalating 0.000283 courteous 0.000283 schmidt 0.000283 darkly 0.000283 keating 0.000283 patel 0.000283 preoccupations 0.000283 cleverly 0.000283 buttocks 0.000283 infarction 0.000283 psychoanalytic 0.000283 idiom 0.000283 determinant 0.000283 intolerance 0.000283 postponement 0.000283 glacial 0.000283 sensibility 0.000283 expands 0.000283 independents 0.000283 faltered 0.000283 transporting 0.000283 undertaker 0.000283 vaginal 0.000283 winced 0.000282 camouflage 0.000282 inefficiency 0.000282 peptides 0.000282 complemented 0.000282 vanessa 0.000282 aggrieved 0.000282 deacon 0.000282 immersed 0.000282 oesophagitis 0.000282 distraught 0.000282 yew 0.000282 roused 0.000282 duvet 0.000282 tremble 0.000282 beset 0.000282 contentment 0.000282 perks 0.000282 fairer 0.000282 headland 0.000282 puzzles 0.000282 authorisation 0.000282 enterprising 0.000282 evade 0.000282 wounding 0.000282 abortions 0.000282 fuselage 0.000282 abberley 0.000282 reside 0.000282 nigerian 0.000282 debit 0.000282 craftsman 0.000282 lipid 0.000282 rallied 0.000282 bosom 0.000281 teesdale 0.000281 brood 0.000281 furthest 0.000281 incorrectly 0.000281 surf 0.000281 napier 0.000281 attractiveness 0.000281 chemotherapy 0.000281 aberystwyth 0.000281 barns 0.000281 phantom 0.000281 invading 0.000281 ditches 0.000281 czechoslovak 0.000281 emphasizes 0.000281 spokesmen 0.000281 cricketers 0.000281 immortal 0.000281 inject 0.000281 discern 0.000281 onward 0.000281 poppy 0.000281 enhances 0.000281 instalment 0.000281 runaway 0.000281 muddle 0.000281 antagonism 0.000281 companionship 0.000281 lunatic 0.000281 denominations 0.000281 sprawled 0.000281 desirability 0.000281 discrepancies 0.000281 daly 0.000280 maine 0.000280 exhilarating 0.000280 cohesive 0.000280 hmi 0.000280 eddy 0.000280 urinary 0.000280 shrill 0.000280 lymphocytes 0.000280 equities 0.000280 skeletons 0.000280 evaporated 0.000280 foodstuffs 0.000280 porsche 0.000280 hennessy 0.000280 crete 0.000280 sem 0.000280 acclaim 0.000280 duct 0.000280 cistern 0.000280 unexplained 0.000280 anarchy 0.000280 agm 0.000280 greenland 0.000280 generalised 0.000280 ncc 0.000280 functionality 0.000280 apr 0.000280 cascade 0.000280 inter 0.000280 pathogenesis 0.000280 hurdles 0.000280 storeys 0.000280 feb 0.000280 fiddling 0.000279 denise 0.000279 nether 0.000279 tyler 0.000279 marianne 0.000279 flotation 0.000279 golfing 0.000279 barbados 0.000279 accrued 0.000279 abbott 0.000279 lame 0.000279 rembrandt 0.000279 silhouette 0.000279 progresses 0.000279 noisily 0.000279 antigens 0.000279 jessie 0.000279 deficient 0.000279 dorian 0.000279 facilitating 0.000279 mixtures 0.000279 joys 0.000279 hugging 0.000279 northwards 0.000279 commercials 0.000279 pencils 0.000279 paramilitary 0.000279 glastonbury 0.000279 wrenched 0.000279 rudimentary 0.000279 broadened 0.000279 elective 0.000279 bans 0.000279 cinemas 0.000279 gail 0.000279 rourke 0.000279 grieving 0.000279 earnestly 0.000279 skelton 0.000279 scrubbed 0.000279 connotations 0.000278 homely 0.000278 bsl 0.000278 dissenting 0.000278 chi 0.000278 incontinence 0.000278 jamieson 0.000278 buff 0.000278 dine 0.000278 resentful 0.000278 tartan 0.000278 clearest 0.000278 backlash 0.000278 mechanically 0.000278 thump 0.000278 validated 0.000278 pickups 0.000278 commune 0.000278 catalytic 0.000278 baggy 0.000278 superimposed 0.000278 sanity 0.000278 audition 0.000278 incremental 0.000278 fi 0.000278 easton 0.000278 revolutions 0.000278 pnp 0.000278 consignment 0.000278 mink 0.000278 linger 0.000278 timeless 0.000278 softness 0.000278 novelists 0.000278 shingle 0.000278 walesa 0.000278 charms 0.000278 tuppe 0.000278 medicinal 0.000278 hydraulic 0.000278 robbers 0.000278 paradoxical 0.000278 laity 0.000278 ecuador 0.000278 emulation 0.000278 ignition 0.000278 unidentified 0.000277 insults 0.000277 newark 0.000277 highness 0.000277 wolverton 0.000277 labours 0.000277 exiles 0.000277 premiere 0.000277 translating 0.000277 lifeless 0.000277 headmistress 0.000277 mom 0.000277 ar 0.000277 restraining 0.000277 parochial 0.000277 hedgehog 0.000277 willi 0.000277 bewildering 0.000277 backup 0.000277 intercity 0.000277 sequel 0.000277 apes 0.000277 knocks 0.000277 fraudulent 0.000277 inspecting 0.000277 formulating 0.000277 royals 0.000277 syphilis 0.000277 fumbled 0.000277 stafford 0.000277 comet 0.000277 pol 0.000277 thence 0.000277 horizontally 0.000277 makeshift 0.000276 flatter 0.000276 verity 0.000276 filtering 0.000276 emanating 0.000276 judaism 0.000276 intrigue 0.000276 beaumont 0.000276 navigator 0.000276 nomadic 0.000276 buddy 0.000276 resorted 0.000276 explorer 0.000276 discriminatory 0.000276 downturn 0.000276 brentford 0.000276 carroll 0.000276 chang 0.000276 anchored 0.000276 gallant 0.000276 breweries 0.000276 squarely 0.000276 plugged 0.000276 vladimir 0.000276 calmed 0.000276 countrymen 0.000276 magician 0.000276 rspb 0.000276 cray 0.000276 markham 0.000276 topical 0.000276 mentor 0.000276 gunners 0.000276 torrent 0.000275 choke 0.000275 jacqui 0.000275 specialisation 0.000275 ethiopian 0.000275 wickham 0.000275 gland 0.000275 affiliation 0.000275 damascus 0.000275 bookseller 0.000275 abdul 0.000275 nominate 0.000275 serviced 0.000275 propelled 0.000275 subtlety 0.000275 switchboard 0.000275 shrub 0.000275 eyeing 0.000275 teapot 0.000275 beckett 0.000275 arterial 0.000275 panicked 0.000275 compiling 0.000275 evils 0.000275 commemorate 0.000275 familial 0.000275 compiler 0.000275 overtly 0.000275 melodic 0.000275 compliments 0.000275 beckoned 0.000275 facade 0.000275 dilution 0.000275 reverence 0.000275 lighted 0.000275 stinging 0.000275 silvery 0.000274 constabulary 0.000274 tease 0.000274 airy 0.000274 moths 0.000274 jehan 0.000274 uh 0.000274 accomplish 0.000274 raged 0.000274 spelled 0.000274 hangover 0.000274 idol 0.000274 implements 0.000274 hooligans 0.000274 thorfinn 0.000274 legality 0.000274 oasis 0.000274 hereby 0.000274 equate 0.000274 nipples 0.000274 batsmen 0.000274 boxed 0.000274 persona 0.000274 standstill 0.000274 yogurt 0.000274 condensed 0.000274 omissions 0.000274 vitally 0.000274 ghostly 0.000274 textures 0.000274 haulage 0.000274 granddaughter 0.000274 hale 0.000274 brightest 0.000274 chub 0.000274 ailing 0.000274 zoom 0.000274 loosened 0.000274 directs 0.000274 tipping 0.000274 helsinki 0.000274 heralded 0.000274 celebrities 0.000274 engulfed 0.000273 chaplin 0.000273 nez 0.000273 skimmed 0.000273 realms 0.000273 pacing 0.000273 fascists 0.000273 miraculously 0.000273 kingfisher 0.000273 resurgence 0.000273 bromley 0.000273 inconceivable 0.000273 intelligentsia 0.000273 vocation 0.000273 dogma 0.000273 ridicule 0.000273 arbitrage 0.000273 gems 0.000273 slaughtered 0.000273 reel 0.000273 hushed 0.000273 caledonian 0.000273 jock 0.000273 embraces 0.000273 innocently 0.000273 polyester 0.000273 della 0.000273 spaghetti 0.000273 intentional 0.000273 inflamed 0.000273 crocodile 0.000273 mute 0.000273 bundesbank 0.000273 dem 0.000273 nam 0.000273 aesthetics 0.000273 pondered 0.000273 rampant 0.000273 morphology 0.000271 wasp 0.000271 haynes 0.000271 luis 0.000271 weighting 0.000271 hilarious 0.000271 atlas 0.000271 ambassadors 0.000271 contiguous 0.000271 odours 0.000271 collusion 0.000271 picket 0.000271 gears 0.000271 neath 0.000271 woolly 0.000271 upsurge 0.000271 fused 0.000271 elemental 0.000271 evasion 0.000271 glc 0.000271 lockerbie 0.000271 squashed 0.000271 derrida 0.000271 tubular 0.000271 equated 0.000271 crystalline 0.000271 physiotherapist 0.000271 inexplicable 0.000271 emerald 0.000271 triangles 0.000271 footpaths 0.000271 subordination 0.000271 plasminogen 0.000271 aunty 0.000271 cruelly 0.000271 houghton 0.000271 curricula 0.000271 giggling 0.000271 materialism 0.000271 pastor 0.000271 clumps 0.000271 wardens 0.000270 loyalists 0.000270 disperse 0.000270 gogh 0.000270 molten 0.000270 impeccable 0.000270 faintest 0.000270 kabul 0.000270 indie 0.000270 shuffling 0.000270 poking 0.000270 indulgence 0.000270 stalks 0.000270 tossing 0.000270 invaders 0.000270 jacqueline 0.000270 thefts 0.000270 researches 0.000270 revolving 0.000270 polyps 0.000270 juniper 0.000270 waiters 0.000270 mrna 0.000270 bun 0.000270 keepers 0.000270 lobster 0.000270 siren 0.000270 randy 0.000270 finalised 0.000270 oblivion 0.000270 periodicals 0.000270 bede 0.000270 lunar 0.000269 commandos 0.000269 triumphs 0.000269 renders 0.000269 forthwith 0.000269 sunrise 0.000269 flex 0.000269 prognosis 0.000269 eradication 0.000269 softening 0.000269 bcci 0.000269 shelters 0.000269 verify 0.000269 coincides 0.000269 moslems 0.000269 microcomputers 0.000269 justifying 0.000269 snp 0.000269 risking 0.000269 busily 0.000269 etched 0.000269 obtains 0.000269 thrashing 0.000269 homosexuals 0.000269 holistic 0.000269 hissing 0.000269 anthropologist 0.000269 delegations 0.000269 rousseau 0.000269 lessen 0.000269 omally 0.000269 symposium 0.000269 assorted 0.000269 embody 0.000269 infrequent 0.000269 flaw 0.000269 seasoning 0.000269 inaugurated 0.000269 paraffin 0.000269 shipbuilding 0.000269 schoolmaster 0.000269 syrup 0.000268 fridays 0.000268 raincoat 0.000268 attentive 0.000268 amstrad 0.000268 lorraine 0.000268 structuring 0.000268 auto 0.000268 fireman 0.000268 unequivocal 0.000268 turbine 0.000268 fanny 0.000268 uncover 0.000268 readable 0.000268 shildon 0.000268 motorways 0.000268 helena 0.000268 stooped 0.000268 scaffolding 0.000268 samantha 0.000268 inhabit 0.000268 drafts 0.000268 ecstatic 0.000268 klaus 0.000268 armenian 0.000268 qb 0.000268 compromises 0.000268 constantinople 0.000268 congenital 0.000268 latch 0.000268 delia 0.000268 sylvester 0.000268 lan 0.000268 redwood 0.000268 chained 0.000268 scooped 0.000268 flagship 0.000268 exemplary 0.000268 chipping 0.000268 millwall 0.000268 ds 0.000268 hampton 0.000268 tabled 0.000268 coals 0.000268 punctuated 0.000268 moulding 0.000268 waterhouse 0.000268 midweek 0.000268 earners 0.000268 cropped 0.000268 hamlets 0.000268 dialled 0.000268 argentine 0.000267 transistor 0.000267 imitate 0.000267 canyon 0.000267 intrinsically 0.000267 inquired 0.000267 wakes 0.000267 ousted 0.000267 turtle 0.000267 extracting 0.000267 localised 0.000267 coma 0.000267 persistently 0.000267 enchanted 0.000267 sided 0.000267 jurassic 0.000267 coatings 0.000267 sect 0.000267 puppets 0.000267 ripple 0.000267 kremlin 0.000267 bustle 0.000267 randall 0.000267 deteriorate 0.000267 defeating 0.000267 commuter 0.000267 salesmen 0.000267 croft 0.000267 neon 0.000267 porn 0.000267 convict 0.000267 templeton 0.000267 sluggish 0.000267 containment 0.000267 jobless 0.000267 grabs 0.000267 licking 0.000267 spokesperson 0.000267 venom 0.000267 dialects 0.000267 outings 0.000267 washes 0.000267 fluttered 0.000267 selkirk 0.000267 separatist 0.000267 wilder 0.000267 wholemeal 0.000267 obtainable 0.000266 elise 0.000266 satisfies 0.000266 anecdotes 0.000266 outdated 0.000266 ferns 0.000266 thistle 0.000266 commonsense 0.000266 harrods 0.000266 sewn 0.000266 horsemen 0.000266 seth 0.000266 condom 0.000266 dicey 0.000266 densely 0.000266 ruskin 0.000266 underwood 0.000266 leila 0.000266 decentralization 0.000266 encoded 0.000266 suites 0.000266 programmers 0.000266 healthcare 0.000266 eradicate 0.000266 accords 0.000266 styled 0.000266 unisys 0.000266 heaviest 0.000266 evokes 0.000266 pledges 0.000266 detainees 0.000266 lantern 0.000266 coined 0.000266 succumbed 0.000266 enlisted 0.000266 punching 0.000266 jezrael 0.000266 bearer 0.000266 feeder 0.000266 offside 0.000266 capping 0.000266 tanner 0.000266 chrissy 0.000265 gardiner 0.000265 entropy 0.000265 nairobi 0.000265 springing 0.000265 russon 0.000265 caste 0.000265 quartz 0.000265 manually 0.000265 spence 0.000265 coped 0.000265 waistcoat 0.000265 ay 0.000265 silky 0.000265 utilitarian 0.000265 bridle 0.000265 sherman 0.000265 heaters 0.000265 absurdity 0.000265 occupancy 0.000265 subset 0.000265 refining 0.000265 hypnosis 0.000265 rowland 0.000265 buxton 0.000265 idyllic 0.000265 microscopic 0.000265 detergent 0.000265 assemblages 0.000265 ivor 0.000265 glynn 0.000265 traitor 0.000265 casserole 0.000265 descendant 0.000265 parchment 0.000265 reunited 0.000265 blackboard 0.000265 swine 0.000265 fling 0.000265 multiplication 0.000265 bandage 0.000265 secretive 0.000265 abortive 0.000265 crumble 0.000265 fearsome 0.000265 replying 0.000265 radicalism 0.000265 billing 0.000265 cellars 0.000265 prost 0.000265 ferranti 0.000265 tibet 0.000265 realises 0.000265 hewitt 0.000264 unhelpful 0.000264 prosper 0.000264 provoking 0.000264 heathcliff 0.000264 dwellers 0.000264 advisor 0.000264 warp 0.000264 parson 0.000264 roberto 0.000264 weathered 0.000264 patented 0.000264 likeness 0.000264 deterrence 0.000264 horace 0.000264 rhodesia 0.000264 tapestry 0.000264 bordering 0.000264 headway 0.000264 euphoria 0.000264 episcopal 0.000264 twos 0.000264 scorton 0.000264 fer 0.000264 fir 0.000264 pas 0.000264 recoverable 0.000264 blankly 0.000264 underclass 0.000264 somerville 0.000264 mckenzie 0.000264 lough 0.000264 parapet 0.000264 pronouns 0.000264 sleeps 0.000263 ucta 0.000263 simmer 0.000263 secs 0.000263 elm 0.000263 ardent 0.000263 lark 0.000263 miscellaneous 0.000263 criminology 0.000263 olives 0.000263 discard 0.000263 sigma 0.000263 dichotomy 0.000263 interfered 0.000263 sympathies 0.000263 im 0.000263 foal 0.000263 flavoured 0.000263 constituting 0.000263 merchandise 0.000263 lakeside 0.000263 elegantly 0.000263 reinforcements 0.000263 arteries 0.000263 drizzle 0.000263 doubting 0.000263 fondant 0.000263 clicking 0.000263 assaulting 0.000263 intimidating 0.000263 kitten 0.000263 phonetic 0.000263 teas 0.000263 measles 0.000263 constants 0.000263 admirably 0.000263 culinary 0.000263 inventions 0.000263 allergic 0.000263 crossly 0.000263 cocked 0.000263 hearty 0.000262 farrell 0.000262 pinpoint 0.000262 ensued 0.000262 additives 0.000262 curate 0.000262 disdain 0.000262 perce 0.000262 educators 0.000262 fared 0.000262 malone 0.000262 guideline 0.000262 serpent 0.000262 adobe 0.000262 hasan 0.000262 compassionate 0.000262 admirers 0.000262 carve 0.000262 renting 0.000262 dce 0.000262 whim 0.000262 positivist 0.000262 mimic 0.000262 heartbeat 0.000262 newry 0.000262 cheryl 0.000262 tenuous 0.000262 hamish 0.000262 congregations 0.000262 bicester 0.000262 friedman 0.000262 needy 0.000262 kilometre 0.000262 locker 0.000262 bathsheba 0.000262 din 0.000262 pembroke 0.000262 amalgamation 0.000262 analytic 0.000262 fmln 0.000262 worldly 0.000262 deceive 0.000262 briton 0.000262 correcting 0.000262 tabloids 0.000262 exaggerate 0.000262 snails 0.000262 spotting 0.000262 fiasco 0.000261 magnesium 0.000261 rep 0.000261 sarella 0.000261 ballets 0.000261 vologsky 0.000261 oldfield 0.000261 elicit 0.000261 moroccan 0.000261 dodge 0.000261 classifications 0.000261 concealing 0.000261 whistled 0.000261 sb 0.000261 arduous 0.000261 vantage 0.000261 disconcerting 0.000261 grandiose 0.000261 attends 0.000261 griffith 0.000261 marilyn 0.000261 loughborough 0.000261 enquiring 0.000261 muddled 0.000261 cartoons 0.000261 wessex 0.000261 indexed 0.000261 slums 0.000261 emperors 0.000261 ethnicity 0.000261 dishonesty 0.000261 numbering 0.000261 knotted 0.000261 inserting 0.000261 vaults 0.000261 aggregation 0.000261 anomaly 0.000261 deng 0.000261 guaranteeing 0.000261 disregarded 0.000261 popularly 0.000261 millennium 0.000261 piling 0.000261 apostles 0.000261 specials 0.000261 fsa 0.000260 eruptions 0.000260 wittgenstein 0.000260 mcc 0.000260 ryedale 0.000260 recollections 0.000260 kidnap 0.000260 equip 0.000260 larkin 0.000260 outnumbered 0.000260 stricter 0.000260 matrices 0.000260 radioactivity 0.000260 strauss 0.000260 childbearing 0.000260 intrusive 0.000260 bewilderment 0.000260 novices 0.000260 combo 0.000260 redeemed 0.000260 mindless 0.000260 spears 0.000260 hatfield 0.000260 parasitic 0.000260 benefiting 0.000260 committal 0.000260 parable 0.000260 superstar 0.000260 poke 0.000260 canary 0.000260 swelled 0.000260 fundraising 0.000260 segmentation 0.000260 knitters 0.000260 embryonic 0.000260 rambling 0.000260 spectre 0.000260 jerk 0.000260 wes 0.000260 intercepted 0.000260 malvern 0.000260 whitney 0.000260 astute 0.000260 beleaguered 0.000260 indulged 0.000260 mabel 0.000260 tasting 0.000260 cosmetics 0.000260 canons 0.000259 tact 0.000259 sobbed 0.000259 tits 0.000259 assembling 0.000259 nailed 0.000259 shedding 0.000259 latitude 0.000259 harden 0.000259 hotly 0.000259 adversary 0.000259 neutron 0.000259 eastwards 0.000259 deterred 0.000259 inflexible 0.000259 shameful 0.000259 curfew 0.000259 bumping 0.000259 publishes 0.000259 postulated 0.000259 canvases 0.000259 quantify 0.000259 reprieve 0.000259 hillsborough 0.000259 trendy 0.000259 mounds 0.000259 minster 0.000259 matey 0.000259 formalities 0.000259 antibiotic 0.000259 compose 0.000259 lyon 0.000259 antics 0.000259 creations 0.000259 johns 0.000259 battersea 0.000259 halliday 0.000259 connects 0.000259 rehearsed 0.000259 tinned 0.000259 hauling 0.000259 psyche 0.000259 clatter 0.000259 bribe 0.000259 bevan 0.000259 murky 0.000258 gorman 0.000258 danube 0.000258 lewes 0.000258 grosvenor 0.000258 remembrance 0.000258 hating 0.000258 paddock 0.000258 jus 0.000258 adorno 0.000258 electronically 0.000258 beggars 0.000258 yawned 0.000258 outweigh 0.000258 galley 0.000258 whence 0.000258 reinstated 0.000258 aeroplanes 0.000258 enrichment 0.000258 shawl 0.000258 emerson 0.000258 climates 0.000258 uproar 0.000258 sprawling 0.000258 panelled 0.000258 marius 0.000258 piety 0.000258 lyn 0.000258 billingham 0.000258 ruffled 0.000258 contravention 0.000258 vicki 0.000258 admirer 0.000258 compulsive 0.000258 lymphoma 0.000258 rabbi 0.000258 orleans 0.000258 aubrey 0.000258 compile 0.000258 beattie 0.000258 anita 0.000258 selects 0.000258 undercover 0.000258 afloat 0.000258 politeness 0.000258 alcoholism 0.000258 purge 0.000258 indulging 0.000257 reefs 0.000257 highbury 0.000257 bestowed 0.000257 crouching 0.000257 showroom 0.000257 northumbria 0.000257 punishments 0.000257 grams 0.000257 mavis 0.000257 presupposes 0.000257 graffiti 0.000257 cessation 0.000257 emphasizing 0.000257 conserved 0.000257 deliberations 0.000257 carmen 0.000257 aziz 0.000257 dominion 0.000257 sullen 0.000257 untreated 0.000257 boardroom 0.000257 francesca 0.000257 siberian 0.000257 crate 0.000257 buckle 0.000257 crates 0.000257 fountains 0.000257 xerox 0.000257 martyn 0.000257 scruffy 0.000257 entertainments 0.000257 awaits 0.000257 milking 0.000257 tar 0.000257 ambivalence 0.000257 fluffy 0.000257 destroys 0.000257 radiant 0.000257 precursor 0.000257 uniqueness 0.000257 saliva 0.000257 liberia 0.000257 sill 0.000256 manila 0.000256 schellenberg 0.000256 admissible 0.000256 scrambling 0.000256 peaked 0.000256 flaubert 0.000256 gritted 0.000256 riba 0.000256 overalls 0.000256 geologists 0.000256 gough 0.000256 rainy 0.000256 prawns 0.000256 utd 0.000256 onerous 0.000256 ripon 0.000256 originate 0.000256 ultra 0.000256 householders 0.000256 farmed 0.000256 graphically 0.000256 otley 0.000256 reopened 0.000256 colossal 0.000256 improvised 0.000256 putative 0.000256 hedgerows 0.000256 wayward 0.000256 ware 0.000256 longman 0.000256 baptized 0.000256 bonded 0.000256 kiev 0.000256 submarines 0.000256 nominally 0.000256 teamwork 0.000256 headteacher 0.000256 shevardnadze 0.000256 assimilated 0.000256 arresting 0.000256 minibus 0.000256 burying 0.000256 amis 0.000256 crippling 0.000255 loosen 0.000255 sheridan 0.000255 beggar 0.000255 forcefully 0.000255 cystic 0.000255 usher 0.000255 blending 0.000255 atrocities 0.000255 sonata 0.000255 leningrad 0.000255 motivate 0.000255 saxons 0.000255 gee 0.000255 spawning 0.000255 extremists 0.000255 impedance 0.000255 blinding 0.000255 excel 0.000255 andre 0.000255 mosquito 0.000255 agatha 0.000255 annoy 0.000255 vickers 0.000255 calais 0.000255 rucksack 0.000255 sequencing 0.000255 unsettled 0.000255 ohio 0.000255 enlarge 0.000255 insurer 0.000255 anti 0.000255 parishioners 0.000255 unforeseen 0.000255 gdr 0.000255 lousy 0.000255 divinity 0.000255 fullest 0.000255 greenwood 0.000255 goody 0.000254 jekyll 0.000254 gulped 0.000254 kath 0.000254 sahara 0.000254 chunky 0.000254 lapsed 0.000254 myocardial 0.000254 proofs 0.000254 spartan 0.000254 unanswered 0.000254 rethink 0.000254 cosmos 0.000254 kites 0.000254 parole 0.000254 daniels 0.000254 multiplying 0.000254 quaint 0.000254 traverse 0.000254 budding 0.000254 diversified 0.000254 sedgefield 0.000254 rapist 0.000254 firmer 0.000254 barclay 0.000254 rustic 0.000254 onus 0.000254 affirmative 0.000254 inhibitory 0.000254 decks 0.000254 dresden 0.000254 taping 0.000254 phyllis 0.000254 pointers 0.000254 parenthood 0.000254 blazed 0.000254 ccg 0.000254 aptly 0.000254 spreadsheets 0.000254 facsimile 0.000254 witnessing 0.000254 underlines 0.000254 sock 0.000253 modulus 0.000253 contraceptive 0.000253 ely 0.000253 socialization 0.000253 lifestyles 0.000253 stiffness 0.000253 prudential 0.000253 barbarians 0.000253 characterisation 0.000253 remorse 0.000253 overdrive 0.000253 almonds 0.000253 grazed 0.000253 monarchs 0.000253 vow 0.000253 helplessness 0.000253 seductive 0.000253 suicidal 0.000253 hive 0.000253 transatlantic 0.000253 inhibitors 0.000253 witney 0.000253 patronising 0.000253 chopping 0.000253 fixation 0.000253 unscrupulous 0.000253 felled 0.000253 counters 0.000253 rohan 0.000253 ascending 0.000253 heyday 0.000253 cutbacks 0.000253 hoarse 0.000253 coldness 0.000253 transplantation 0.000253 camcorder 0.000253 gedanken 0.000253 filename 0.000253 concorde 0.000253 waged 0.000253 espionage 0.000253 courting 0.000253 dazed 0.000253 astronomers 0.000253 myeloski 0.000253 integer 0.000253 boo 0.000251 antiquities 0.000251 tentacles 0.000251 notional 0.000251 eyesight 0.000251 artefact 0.000251 peacetime 0.000251 slotted 0.000251 oligonucleotide 0.000251 meyer 0.000251 upturn 0.000251 superfluous 0.000251 threes 0.000251 biochemistry 0.000251 multinationals 0.000251 extant 0.000251 informs 0.000251 fullness 0.000251 gatherings 0.000251 fanciful 0.000251 wycombe 0.000251 bavaria 0.000251 md 0.000251 hegel 0.000251 fluttering 0.000251 leavers 0.000251 jinny 0.000251 mythical 0.000251 clarinet 0.000251 unhappily 0.000251 baroness 0.000251 necessities 0.000251 foetus 0.000251 thaw 0.000251 automobile 0.000251 denim 0.000251 expo 0.000251 leopard 0.000251 versatility 0.000251 negatively 0.000251 uv 0.000251 acquires 0.000251 cosmo 0.000251 differentials 0.000251 ladders 0.000251 mistakenly 0.000250 twitched 0.000250 goodies 0.000250 reclaimed 0.000250 tiresome 0.000250 footwear 0.000250 alternately 0.000250 neill 0.000250 selectively 0.000250 aunts 0.000250 uppermost 0.000250 spying 0.000250 malaysian 0.000250 qpr 0.000250 wetlands 0.000250 paterson 0.000250 turnbull 0.000250 callers 0.000250 ceausescu 0.000250 tundra 0.000250 torches 0.000250 silenced 0.000250 hobbes 0.000250 arizona 0.000250 lowly 0.000250 worshipped 0.000250 nocturnal 0.000250 vomit 0.000250 crudely 0.000250 shopkeeper 0.000250 disproportionately 0.000250 indebted 0.000250 ernie 0.000250 sardonic 0.000250 thinker 0.000250 flynn 0.000250 justifies 0.000250 hazy 0.000250 horrid 0.000250 interspersed 0.000250 northwest 0.000250 werner 0.000250 sponsoring 0.000249 behaves 0.000249 sketched 0.000249 rounding 0.000249 reeves 0.000249 triggers 0.000249 antoinette 0.000249 nightly 0.000249 bazaar 0.000249 outlay 0.000249 throng 0.000249 acorn 0.000249 prolong 0.000249 vandals 0.000249 efta 0.000249 accompanies 0.000249 perkins 0.000249 motivations 0.000249 sparta 0.000249 kant 0.000249 gilts 0.000249 naomi 0.000249 kirkby 0.000249 fraternity 0.000249 exploding 0.000249 hogg 0.000249 beige 0.000249 herbal 0.000249 faber 0.000249 workable 0.000249 expenditures 0.000249 primer 0.000249 adaptable 0.000249 squirrel 0.000249 kerb 0.000249 peptic 0.000249 unwell 0.000249 vaccination 0.000249 orbital 0.000249 deutsche 0.000249 balfour 0.000248 northeast 0.000248 scathing 0.000248 uncanny 0.000248 pulmonary 0.000248 stemming 0.000248 sparcstation 0.000248 alphabetical 0.000248 maids 0.000248 hearer 0.000248 regrettable 0.000248 lemonade 0.000248 bribery 0.000248 mohammad 0.000248 puppies 0.000248 rigorously 0.000248 patterning 0.000248 thatched 0.000248 educating 0.000248 fundholding 0.000248 laboured 0.000248 rotate 0.000248 marmalade 0.000248 jacobite 0.000248 aloof 0.000248 sob 0.000248 oxides 0.000248 lawton 0.000248 thinning 0.000248 cairns 0.000248 ballymena 0.000248 cotswold 0.000248 jurisdictions 0.000248 shines 0.000248 entirety 0.000248 statistic 0.000248 infrequently 0.000248 interpreters 0.000248 braced 0.000248 maximize 0.000248 broadening 0.000248 gramophone 0.000248 mervyn 0.000248 rationally 0.000248 oyster 0.000247 bracken 0.000247 ritchie 0.000247 swallows 0.000247 rebellious 0.000247 islay 0.000247 sharks 0.000247 mayhew 0.000247 meteorological 0.000247 ramblers 0.000247 spills 0.000247 caddie 0.000247 rations 0.000247 appreciable 0.000247 traction 0.000247 enraged 0.000247 rt 0.000247 superstition 0.000247 obscurity 0.000247 offa 0.000247 shaving 0.000247 effortlessly 0.000247 montrose 0.000247 tunisia 0.000247 skulls 0.000247 smuggled 0.000247 fag 0.000247 gipsy 0.000247 claude 0.000247 segregated 0.000247 maggot 0.000247 unfolding 0.000247 disordered 0.000247 soles 0.000247 occupant 0.000247 coils 0.000247 unleaded 0.000247 sunglasses 0.000247 corrective 0.000247 reminders 0.000247 cnd 0.000247 proponents 0.000247 spouses 0.000247 contemplative 0.000247 tenders 0.000247 mortuary 0.000247 regrettably 0.000246 orphans 0.000246 tivoli 0.000246 ruthlessly 0.000246 ripping 0.000246 murderous 0.000246 burgeoning 0.000246 bordered 0.000246 yell 0.000246 administrations 0.000246 hencke 0.000246 booklets 0.000246 cyclist 0.000246 clover 0.000246 prophets 0.000246 predictive 0.000246 intentionally 0.000246 inadequacies 0.000246 sickening 0.000246 staunch 0.000246 denotes 0.000246 damien 0.000246 tugging 0.000246 falsely 0.000246 pyrenees 0.000246 auditory 0.000246 humber 0.000246 alix 0.000246 lasers 0.000246 overtake 0.000246 conspicuously 0.000246 iceberg 0.000246 araminta 0.000246 pt 0.000246 rectify 0.000246 contras 0.000246 glacier 0.000246 logan 0.000246 beaming 0.000246 intelligible 0.000246 harwich 0.000246 leverage 0.000246 moi 0.000246 eubank 0.000246 mohamed 0.000246 correlate 0.000246 deduce 0.000246 butchers 0.000246 storming 0.000246 renovation 0.000246 cardiovascular 0.000246 executions 0.000245 frock 0.000245 tebbit 0.000245 theologians 0.000245 custodial 0.000245 telex 0.000245 isotope 0.000245 wailing 0.000245 diabetics 0.000245 arbitrarily 0.000245 devolved 0.000245 freer 0.000245 yates 0.000245 squatting 0.000245 reclaim 0.000245 formulations 0.000245 stunt 0.000245 functionalist 0.000245 withdrawals 0.000245 restart 0.000245 abrasive 0.000245 owing 0.000245 didcot 0.000245 instantaneous 0.000245 predetermined 0.000245 liberalization 0.000245 blink 0.000245 inventive 0.000245 erroneous 0.000245 wink 0.000245 reeling 0.000245 glittered 0.000245 straighten 0.000245 unorthodox 0.000245 mellow 0.000245 contemptuous 0.000245 inconclusive 0.000245 occult 0.000245 chariot 0.000244 casino 0.000244 slates 0.000244 jen 0.000244 deceptive 0.000244 spire 0.000244 divergent 0.000244 comics 0.000244 enid 0.000244 daffodils 0.000244 estranged 0.000244 supt 0.000244 shear 0.000244 prick 0.000244 scheduling 0.000244 xiv 0.000244 digs 0.000244 ned 0.000244 stallion 0.000244 collars 0.000244 attendants 0.000244 recess 0.000244 itinerary 0.000244 solidly 0.000244 algorithms 0.000244 crashes 0.000244 hoisted 0.000244 stalk 0.000244 smyth 0.000244 emigrated 0.000244 moulds 0.000244 maura 0.000244 eagerness 0.000244 newborn 0.000244 townships 0.000244 porters 0.000244 steamed 0.000243 conciliation 0.000243 donate 0.000243 footage 0.000243 philosophies 0.000243 listens 0.000243 demo 0.000243 chilean 0.000243 disbanded 0.000243 catfish 0.000243 reversion 0.000243 interplay 0.000243 nowt 0.000243 clump 0.000243 bray 0.000243 blames 0.000243 chops 0.000243 potted 0.000243 creaking 0.000243 shanghai 0.000243 fritz 0.000243 criticising 0.000243 gwynedd 0.000243 vitro 0.000243 mercantile 0.000243 injunctions 0.000243 coffins 0.000243 pear 0.000243 sunken 0.000243 enclave 0.000243 headphones 0.000243 bolsheviks 0.000243 revisions 0.000243 syllabuses 0.000243 hacking 0.000243 midi 0.000243 watered 0.000243 capt 0.000243 vehemently 0.000243 withhold 0.000243 gracefully 0.000243 zenith 0.000243 adjournment 0.000243 ashtray 0.000243 darkening 0.000243 sickly 0.000242 tait 0.000242 shimmering 0.000242 cherries 0.000242 yale 0.000242 approving 0.000242 sender 0.000242 asean 0.000242 fm 0.000242 secession 0.000242 clinch 0.000242 platoon 0.000242 mountaineering 0.000242 spitfire 0.000242 roofing 0.000242 unnamed 0.000242 shelling 0.000242 relieving 0.000242 macleod 0.000242 priesthood 0.000242 botany 0.000242 mounts 0.000242 ventricular 0.000242 doubtfully 0.000242 despairing 0.000242 depict 0.000242 intimidated 0.000242 therapists 0.000242 motivating 0.000242 torso 0.000242 apologetic 0.000242 hoffman 0.000242 jetty 0.000242 staffs 0.000242 sequent 0.000242 disarray 0.000242 mediate 0.000242 debentures 0.000242 amuse 0.000242 clubhouse 0.000242 undisclosed 0.000242 landfill 0.000242 playwright 0.000242 anatomical 0.000242 crabs 0.000242 tragically 0.000242 intersection 0.000242 sling 0.000242 haircut 0.000242 barefoot 0.000242 insulated 0.000242 cautioned 0.000242 discounting 0.000242 completes 0.000242 shrank 0.000242 illiterate 0.000242 inescapable 0.000241 utilise 0.000241 forearm 0.000241 toppled 0.000241 adaptor 0.000241 dyed 0.000241 flip 0.000241 cobra 0.000241 jefferson 0.000241 involuntarily 0.000241 watershed 0.000241 haunts 0.000241 inconsistencies 0.000241 bu 0.000241 pendulum 0.000241 boulevard 0.000241 animosity 0.000241 lucia 0.000241 abduction 0.000241 inconsistency 0.000241 slovakia 0.000241 flipping 0.000241 rife 0.000241 showdown 0.000241 hopping 0.000241 overtones 0.000241 referenced 0.000241 seasoned 0.000241 subversion 0.000241 tsb 0.000241 labyrinth 0.000241 versailles 0.000241 interrelated 0.000241 barthes 0.000241 octave 0.000241 salesperson 0.000241 roam 0.000241 plummer 0.000241 pou 0.000241 harbours 0.000241 expire 0.000241 claudel 0.000241 yorks 0.000241 wedged 0.000241 precipitate 0.000240 busiest 0.000240 outbreaks 0.000240 chuckle 0.000240 parisian 0.000240 characterize 0.000240 thugs 0.000240 soar 0.000240 thanking 0.000240 seduced 0.000240 sib 0.000240 bouts 0.000240 burgh 0.000240 sweeney 0.000240 wc 0.000240 sewers 0.000240 yawning 0.000240 vicarage 0.000240 lilies 0.000240 pretensions 0.000240 empires 0.000240 su 0.000240 hatched 0.000240 safari 0.000240 spilt 0.000240 sdp 0.000240 queensland 0.000240 finalists 0.000240 resilience 0.000240 selves 0.000240 unproductive 0.000240 fret 0.000240 lazily 0.000240 shrouded 0.000240 kaifu 0.000240 abdullah 0.000240 invertebrates 0.000240 hvk 0.000240 dumps 0.000239 dotty 0.000239 unfolded 0.000239 fleets 0.000239 festivities 0.000239 meningitis 0.000239 flowered 0.000239 sloane 0.000239 vocals 0.000239 monoclonal 0.000239 sweeps 0.000239 examiners 0.000239 exempted 0.000239 dieting 0.000239 chateau 0.000239 illogical 0.000239 starters 0.000239 aggregates 0.000239 stile 0.000239 sumptuous 0.000239 immersion 0.000239 interacting 0.000239 ada 0.000239 gingerly 0.000239 revolutionaries 0.000239 crowns 0.000239 hmso 0.000239 transcendent 0.000239 racecourse 0.000239 stint 0.000239 moored 0.000239 accommodating 0.000239 nursed 0.000239 rainforests 0.000239 glimpses 0.000239 distinguishable 0.000239 precipitation 0.000239 poker 0.000239 obscenity 0.000239 childless 0.000239 littlewoods 0.000239 specialities 0.000239 revolver 0.000239 mercer 0.000239 cambodian 0.000239 enigma 0.000239 fingernails 0.000239 lissa 0.000239 mucus 0.000239 hordes 0.000239 militancy 0.000239 earthquakes 0.000239 hick 0.000239 fruitless 0.000239 burger 0.000239 scientifically 0.000239 mandarin 0.000239 spirituality 0.000239 suitcases 0.000239 dal 0.000239 psalm 0.000239 nah 0.000238 discos 0.000238 illuminate 0.000238 sham 0.000238 wicker 0.000238 abstentions 0.000238 networked 0.000238 doorways 0.000238 pastime 0.000238 ancestry 0.000238 joyful 0.000238 hants 0.000238 closet 0.000238 rhino 0.000238 congo 0.000238 fis 0.000238 menopause 0.000238 happenings 0.000238 cubes 0.000238 tormented 0.000238 artisans 0.000238 strolling 0.000238 anglesey 0.000238 delinquent 0.000238 thatcherism 0.000238 nicknamed 0.000238 showered 0.000238 monotonous 0.000238 jockeys 0.000238 foley 0.000238 eminently 0.000238 shrimp 0.000238 pellet 0.000238 levers 0.000238 lisburn 0.000238 dieter 0.000238 duff 0.000238 prohibit 0.000238 slapping 0.000238 interrupting 0.000238 sealing 0.000238 stagnant 0.000238 flares 0.000238 raven 0.000238 ltp 0.000238 charisma 0.000238 mala 0.000238 ewes 0.000238 haiti 0.000238 pronoun 0.000238 smoky 0.000238 uncontrollable 0.000238 interviewers 0.000237 hooves 0.000237 clustering 0.000237 impotent 0.000237 wavelengths 0.000237 sonic 0.000237 terrier 0.000237 pointedly 0.000237 pivot 0.000237 valuables 0.000237 leys 0.000237 dwindling 0.000237 furnish 0.000237 mademoiselle 0.000237 bowing 0.000237 bassett 0.000237 berth 0.000237 chargeable 0.000237 concomitant 0.000237 metropolis 0.000237 hops 0.000237 harding 0.000237 treatise 0.000237 wandsworth 0.000237 enthalpy 0.000237 whisk 0.000237 investigates 0.000237 imprint 0.000237 pragmatism 0.000237 transverse 0.000237 clambered 0.000237 iago 0.000237 proclaiming 0.000237 sep 0.000236 numeric 0.000236 awarding 0.000236 woosnam 0.000236 aspire 0.000236 flemish 0.000236 glint 0.000236 kinase 0.000236 pigment 0.000236 sheen 0.000236 skis 0.000236 diver 0.000236 mongolia 0.000236 confessions 0.000236 allergy 0.000236 racks 0.000236 devalued 0.000236 resides 0.000236 conductors 0.000236 crags 0.000236 robbins 0.000236 senators 0.000236 upton 0.000236 selections 0.000236 smacked 0.000236 recreate 0.000236 ldcs 0.000236 igg 0.000236 complains 0.000236 respectful 0.000236 unleashed 0.000236 avert 0.000236 zebra 0.000236 meters 0.000236 lured 0.000236 commodore 0.000236 savers 0.000236 manic 0.000236 wye 0.000236 punches 0.000236 interlocking 0.000236 hangar 0.000236 distasteful 0.000236 retarded 0.000236 rhymes 0.000236 hicks 0.000236 sweaty 0.000236 nurtured 0.000236 approx 0.000235 stinking 0.000235 coli 0.000235 llanelli 0.000235 convoys 0.000235 illustrious 0.000235 lombard 0.000235 mountbatten 0.000235 panorama 0.000235 bicarbonate 0.000235 chemically 0.000235 frosty 0.000235 undertakes 0.000235 clientele 0.000235 spoils 0.000235 transmitting 0.000235 carelessly 0.000235 dung 0.000235 puffed 0.000235 uncles 0.000235 tor 0.000235 paws 0.000235 mystic 0.000235 mountainous 0.000235 ga 0.000235 mousse 0.000235 transcripts 0.000235 convection 0.000235 balliol 0.000235 dagenham 0.000235 infrared 0.000235 deposed 0.000235 topography 0.000235 parenting 0.000235 intensify 0.000235 nudged 0.000235 cunt 0.000235 dogmatic 0.000235 snag 0.000235 gram 0.000235 armchairs 0.000235 astra 0.000235 georges 0.000235 ascertained 0.000235 signatories 0.000235 parkin 0.000235 scenarios 0.000235 flaps 0.000235 compel 0.000235 tawny 0.000235 accumulator 0.000235 encompasses 0.000235 hastened 0.000234 massed 0.000234 relinquish 0.000234 underworld 0.000234 reconstituted 0.000234 cynthia 0.000234 kinetic 0.000234 observance 0.000234 badminton 0.000234 inextricably 0.000234 clinched 0.000234 plastered 0.000234 prudence 0.000234 aerobic 0.000234 cyclosporin 0.000234 landings 0.000234 snaps 0.000234 domes 0.000234 ejected 0.000234 tantrums 0.000234 hess 0.000234 speedily 0.000234 sol 0.000234 intercept 0.000234 pursed 0.000234 aah 0.000234 fleece 0.000234 souvenirs 0.000234 gec 0.000234 spite 0.000234 ticked 0.000234 accentuated 0.000234 audits 0.000234 reflectance 0.000234 liturgical 0.000234 dispel 0.000234 feargal 0.000234 accumulating 0.000234 assays 0.000234 lynda 0.000234 iq 0.000234 yeats 0.000234 falkirk 0.000234 appropriateness 0.000234 crux 0.000234 disobedience 0.000234 serene 0.000234 godwin 0.000234 quickest 0.000234 frivolous 0.000234 betraying 0.000234 stickers 0.000234 convex 0.000234 mauve 0.000234 precede 0.000234 driveway 0.000234 botswana 0.000233 lautro 0.000233 deploy 0.000233 unconnected 0.000233 macarthur 0.000233 probed 0.000233 disparity 0.000233 unborn 0.000233 yrs 0.000233 duel 0.000233 whipping 0.000233 claret 0.000233 unquestionably 0.000233 kathy 0.000233 superego 0.000233 affirmation 0.000233 recombinant 0.000233 materially 0.000233 laced 0.000233 tripartite 0.000233 nixdorf 0.000233 geographers 0.000233 chaucer 0.000233 reproducing 0.000233 shuddering 0.000233 dermot 0.000233 turquoise 0.000233 sauces 0.000233 nationalization 0.000233 spaniards 0.000233 timetables 0.000233 revulsion 0.000233 slough 0.000233 linkages 0.000233 proclaim 0.000233 settles 0.000233 glimmer 0.000233 sanders 0.000233 seedlings 0.000233 monaco 0.000233 colonialism 0.000233 gesner 0.000233 adrift 0.000233 translator 0.000233 cheerio 0.000233 gable 0.000233 deductions 0.000233 priceless 0.000233 shoal 0.000233 londoners 0.000233 pinnacle 0.000233 intergovernmental 0.000233 grievance 0.000231 rebate 0.000231 hove 0.000231 cu 0.000231 lizzy 0.000231 kernel 0.000231 treading 0.000231 twists 0.000231 vax 0.000231 exponent 0.000231 scary 0.000231 neighbourhoods 0.000231 reeve 0.000231 observatory 0.000231 bolshevik 0.000231 marquee 0.000231 collaborate 0.000231 inorganic 0.000231 puddings 0.000231 rochdale 0.000231 drifts 0.000231 unprepared 0.000231 liberalisation 0.000231 luxuries 0.000231 snowy 0.000231 fingerprints 0.000231 oblique 0.000231 zeinab 0.000231 stares 0.000231 naturalist 0.000231 circa 0.000231 despise 0.000231 structuralist 0.000231 steen 0.000231 euston 0.000231 vegas 0.000231 confiscated 0.000231 motherwell 0.000231 lib 0.000230 wailed 0.000230 rind 0.000230 disgruntled 0.000230 permissive 0.000230 clifton 0.000230 harwell 0.000230 labov 0.000230 insolvent 0.000230 inexorably 0.000230 captures 0.000230 glide 0.000230 nappies 0.000230 bo 0.000230 unbalanced 0.000230 spoiling 0.000230 flinched 0.000230 paddling 0.000230 marton 0.000230 knack 0.000230 mu 0.000230 aboriginal 0.000230 coca 0.000230 focussed 0.000230 chad 0.000230 originals 0.000230 expended 0.000230 psychiatry 0.000230 wren 0.000230 stanford 0.000230 qualifier 0.000230 elena 0.000230 fodder 0.000230 fetching 0.000230 grumbled 0.000230 andes 0.000230 ambiguities 0.000230 polluting 0.000230 choirs 0.000230 kane 0.000230 latterly 0.000230 headlong 0.000230 albumin 0.000230 millimetres 0.000230 algerian 0.000230 messrs 0.000230 wrongs 0.000230 infuriated 0.000230 subscribed 0.000230 britten 0.000230 interdependence 0.000230 devout 0.000230 brunt 0.000230 accessory 0.000230 brezhnev 0.000229 facet 0.000229 helpline 0.000229 pre 0.000229 pedro 0.000229 studded 0.000229 piggott 0.000229 keywords 0.000229 dempster 0.000229 excite 0.000229 bellowed 0.000229 discouraging 0.000229 pixel 0.000229 mcmahon 0.000229 algiers 0.000229 frenchmen 0.000229 pharmaceuticals 0.000229 agnew 0.000229 tenderly 0.000229 clint 0.000229 woodward 0.000229 frenzied 0.000229 translucent 0.000229 aides 0.000229 strident 0.000229 orlando 0.000229 capsule 0.000229 yoga 0.000229 heparin 0.000229 peanuts 0.000229 gentleness 0.000229 opium 0.000229 perfected 0.000229 hue 0.000229 toxins 0.000229 rea 0.000229 simplification 0.000229 thorns 0.000229 roche 0.000229 apprenticed 0.000229 java 0.000229 sacrament 0.000229 stronghold 0.000229 utah 0.000229 hobbs 0.000229 sprays 0.000229 jordanian 0.000229 awakening 0.000229 bleed 0.000228 bigwig 0.000228 insanity 0.000228 patently 0.000228 bowen 0.000228 patchwork 0.000228 phonemes 0.000228 mccready 0.000228 perished 0.000228 crossword 0.000228 optic 0.000228 rumble 0.000228 summing 0.000228 pregnancies 0.000228 siting 0.000228 suing 0.000228 rejoined 0.000228 bovine 0.000228 ovens 0.000228 indignantly 0.000228 arabian 0.000228 bruise 0.000228 mime 0.000228 denoted 0.000228 mourners 0.000228 bureaucracies 0.000228 isambard 0.000228 sinead 0.000228 neal 0.000228 boulder 0.000228 laos 0.000228 harem 0.000228 intractable 0.000228 marguerite 0.000228 recital 0.000228 toxin 0.000228 beatrix 0.000228 tropics 0.000228 heave 0.000228 pga 0.000228 pod 0.000228 thud 0.000228 mmm 0.000228 shrunk 0.000228 screwdriver 0.000228 cutters 0.000228 obesity 0.000228 humanist 0.000228 rentokil 0.000228 psalms 0.000228 bribes 0.000228 engendered 0.000228 tristan 0.000228 husky 0.000227 helium 0.000227 heresy 0.000227 inevitability 0.000227 rodrigo 0.000227 evaluations 0.000227 hoddle 0.000227 plumber 0.000227 michigan 0.000227 starred 0.000227 tibetan 0.000227 steroids 0.000227 hg 0.000227 asymmetry 0.000227 tiananmen 0.000227 protruding 0.000227 discriminating 0.000227 eviction 0.000227 henrietta 0.000227 leone 0.000227 wheelbarrow 0.000227 esoteric 0.000227 jotan 0.000227 pragmatics 0.000227 erstwhile 0.000227 skipped 0.000227 forgery 0.000227 doorbell 0.000227 santiago 0.000227 roderick 0.000227 eaton 0.000227 slimming 0.000227 alarmingly 0.000227 grenfell 0.000227 shareware 0.000227 depriving 0.000227 extinguished 0.000227 breaths 0.000227 foresters 0.000227 considerate 0.000227 misunderstandings 0.000227 yamaha 0.000227 homoeopathic 0.000227 limelight 0.000227 contestants 0.000226 sternly 0.000226 unchallenged 0.000226 footprints 0.000226 boyfriends 0.000226 wriggled 0.000226 simone 0.000226 resilient 0.000226 embarrass 0.000226 grooves 0.000226 trimming 0.000226 timescale 0.000226 spares 0.000226 protons 0.000226 apiece 0.000226 helix 0.000226 dalziel 0.000226 speechless 0.000226 hallmark 0.000226 matthey 0.000226 dukes 0.000226 tomlinson 0.000226 discredit 0.000226 canned 0.000226 merlin 0.000226 herman 0.000226 sewer 0.000226 waterman 0.000226 vigilance 0.000226 galloping 0.000226 flakes 0.000226 utopia 0.000226 sloppy 0.000226 luisa 0.000226 janata 0.000226 scarcity 0.000226 dea 0.000226 waterfront 0.000226 dostoevsky 0.000226 stubbornly 0.000226 confrontations 0.000226 livingston 0.000226 mistrust 0.000226 collateral 0.000226 receded 0.000226 provence 0.000226 sideboard 0.000226 twofold 0.000226 charing 0.000226 braithwaite 0.000225 shadowed 0.000225 deliberation 0.000225 arguable 0.000225 pilgrim 0.000225 pecking 0.000225 forging 0.000225 ape 0.000225 dispensing 0.000225 macro 0.000225 collapses 0.000225 briggs 0.000225 inscriptions 0.000225 clocked 0.000225 existential 0.000225 friendliness 0.000225 primates 0.000225 utopian 0.000225 milne 0.000225 sectional 0.000225 scroll 0.000225 panelling 0.000225 roh 0.000225 assemblage 0.000225 mia 0.000225 habitually 0.000225 modal 0.000225 loco 0.000225 lowell 0.000225 reputations 0.000225 vigil 0.000225 nape 0.000225 omar 0.000225 churning 0.000225 convocation 0.000225 beckenham 0.000225 gestation 0.000225 chucked 0.000225 moray 0.000225 bowels 0.000225 ultraviolet 0.000225 reviewer 0.000225 ringed 0.000225 jett 0.000225 deceit 0.000225 awakened 0.000225 incline 0.000225 lull 0.000225 cigars 0.000225 epilepsy 0.000225 distillers 0.000225 rigidity 0.000225 archway 0.000225 barrie 0.000225 stifling 0.000225 holden 0.000225 providence 0.000225 howarth 0.000225 nu 0.000225 permeability 0.000225 authorise 0.000224 proclamation 0.000224 flushing 0.000224 pristine 0.000224 gunn 0.000224 societal 0.000224 twitching 0.000224 quantified 0.000224 graphite 0.000224 verbally 0.000224 tackles 0.000224 bobbing 0.000224 leakage 0.000224 ingrid 0.000224 salaried 0.000224 theodore 0.000224 danielle 0.000224 sew 0.000224 bohemia 0.000224 adelaide 0.000224 paranoia 0.000224 conjecture 0.000224 ling 0.000224 stumps 0.000224 argentinian 0.000224 dusted 0.000224 forsyth 0.000224 orthopaedic 0.000224 retires 0.000224 applicability 0.000224 handel 0.000224 pep 0.000224 compton 0.000224 pretext 0.000224 peruvian 0.000224 trash 0.000224 fern 0.000224 unfounded 0.000224 addicts 0.000224 tremor 0.000224 lucid 0.000224 alexandria 0.000224 smouldering 0.000224 vanishing 0.000224 suzie 0.000224 provenance 0.000224 huskily 0.000224 undressed 0.000224 interruptions 0.000224 maman 0.000224 aldershot 0.000224 ghetto 0.000224 glyn 0.000224 thickened 0.000224 slain 0.000224 crouch 0.000224 compilers 0.000224 paced 0.000224 positivism 0.000224 dispositions 0.000223 churchmen 0.000223 appellants 0.000223 freshness 0.000223 lowlands 0.000223 rigour 0.000223 embodiment 0.000223 leafy 0.000223 baton 0.000223 entourage 0.000223 scents 0.000223 villains 0.000223 steamer 0.000223 aloft 0.000223 satanic 0.000223 beauties 0.000223 lizard 0.000223 antwerp 0.000223 unloaded 0.000223 vindicated 0.000223 streamlined 0.000223 organist 0.000223 balmoral 0.000223 gloomily 0.000223 penicillin 0.000223 reversible 0.000223 stink 0.000223 trotted 0.000223 genital 0.000223 slug 0.000223 sizewell 0.000223 justly 0.000223 telephoning 0.000223 threaded 0.000223 bros 0.000223 wastage 0.000223 humid 0.000223 blimey 0.000223 defer 0.000223 clout 0.000223 watchers 0.000223 stumble 0.000223 adherents 0.000223 caress 0.000223 omit 0.000223 leaped 0.000223 bullock 0.000223 preachers 0.000223 cinderella 0.000223 savour 0.000223 stalked 0.000223 cubs 0.000223 sludge 0.000223 op 0.000223 morland 0.000223 whirled 0.000223 ferocity 0.000223 whiff 0.000223 sociologist 0.000223 cucumber 0.000222 consigned 0.000222 comprehensible 0.000222 migrating 0.000222 truthful 0.000222 actuarial 0.000222 achievable 0.000222 slows 0.000222 barges 0.000222 semblance 0.000222 horseback 0.000222 inventing 0.000222 transparency 0.000222 logged 0.000222 marvel 0.000222 weakest 0.000222 huntingdon 0.000222 hancock 0.000222 abolishing 0.000222 homer 0.000222 johann 0.000222 purported 0.000222 hewlett 0.000222 tonal 0.000222 ida 0.000222 contradicted 0.000222 grounding 0.000222 natasha 0.000222 fend 0.000222 reproach 0.000222 commotion 0.000222 debatable 0.000222 astonishingly 0.000222 affections 0.000222 heinrich 0.000222 obedient 0.000222 accredited 0.000222 mobilization 0.000222 physiotherapy 0.000222 canberra 0.000222 forester 0.000222 unloading 0.000222 pronouncements 0.000222 iraqis 0.000222 tutorials 0.000222 defensively 0.000222 rutherford 0.000222 lithosphere 0.000222 draper 0.000222 painstaking 0.000222 hinge 0.000222 honduras 0.000222 slang 0.000222 ibn 0.000222 toothpaste 0.000222 coveted 0.000222 crossings 0.000222 absently 0.000221 buenos 0.000221 vigilant 0.000221 wilkins 0.000221 grimaced 0.000221 spinner 0.000221 thumped 0.000221 biographer 0.000221 seaweed 0.000221 cruises 0.000221 norma 0.000221 terracotta 0.000221 paralysis 0.000221 pickets 0.000221 ness 0.000221 embassies 0.000221 herts 0.000221 synonyms 0.000221 peng 0.000221 flanker 0.000221 apical 0.000221 strat 0.000221 blatantly 0.000221 magnates 0.000221 grudgingly 0.000221 standardized 0.000221 imperialist 0.000221 waterfalls 0.000221 achilles 0.000221 affluence 0.000221 mash 0.000221 girlfriends 0.000221 mixes 0.000221 elevator 0.000221 hansard 0.000221 upholstery 0.000221 deictic 0.000221 purification 0.000221 sprs 0.000221 pendant 0.000221 eurotunnel 0.000221 fabio 0.000221 localized 0.000221 radiotherapy 0.000221 hellenistic 0.000221 tit 0.000221 flannel 0.000221 kinder 0.000221 reappear 0.000221 lurch 0.000221 needham 0.000221 iranians 0.000220 macaulay 0.000220 reset 0.000220 stitched 0.000220 affectionately 0.000220 och 0.000220 tingling 0.000220 bertha 0.000220 intermittently 0.000220 orchid 0.000220 mammoth 0.000220 hooligan 0.000220 designate 0.000220 perpendicular 0.000220 gallup 0.000220 demolish 0.000220 shambles 0.000220 deformed 0.000220 georg 0.000220 buns 0.000220 camilla 0.000220 bowie 0.000220 workman 0.000220 cola 0.000220 maynard 0.000220 apologetically 0.000220 recapture 0.000220 creams 0.000220 sensor 0.000220 seminal 0.000220 pascal 0.000220 deformation 0.000220 sherlock 0.000220 expertly 0.000220 citadel 0.000220 indeterminate 0.000220 juveniles 0.000220 smeared 0.000220 restricts 0.000220 nitrates 0.000220 buttress 0.000220 proctor 0.000220 dp 0.000220 knossos 0.000220 breeches 0.000220 canoeing 0.000220 shaikh 0.000219 illusory 0.000219 hodgson 0.000219 diplock 0.000219 amicable 0.000219 eastwood 0.000219 corrections 0.000219 lr 0.000219 afresh 0.000219 acet 0.000219 conjured 0.000219 sept 0.000219 pepsinogen 0.000219 trance 0.000219 scowled 0.000219 biographies 0.000219 drummond 0.000219 amorphous 0.000219 mixer 0.000219 dm 0.000219 hammers 0.000219 penn 0.000219 guru 0.000219 bryce 0.000219 cores 0.000219 royce 0.000219 armoury 0.000219 gruelling 0.000219 trunchbull 0.000219 pierce 0.000219 unoccupied 0.000219 leagues 0.000219 experimented 0.000219 lilian 0.000219 greyhound 0.000219 masterpieces 0.000219 homoeopathy 0.000219 occupiers 0.000219 lettering 0.000219 garnish 0.000219 pitiful 0.000219 scribbled 0.000219 fenari 0.000219 flutter 0.000219 bullied 0.000219 comer 0.000219 distilled 0.000219 affective 0.000219 mite 0.000219 mega 0.000219 tremayne 0.000219 paler 0.000219 mutiny 0.000219 swoop 0.000219 flooring 0.000219 basketball 0.000219 undeniable 0.000219 burmese 0.000219 consul 0.000219 peregrine 0.000219 disillusionment 0.000219 converge 0.000219 vineyard 0.000219 epistemological 0.000219 tito 0.000219 treachery 0.000219 crp 0.000218 cadets 0.000218 drumming 0.000218 alzheimer 0.000218 blunder 0.000218 jonathon 0.000218 guildhall 0.000218 hasten 0.000218 resignations 0.000218 stevie 0.000218 unjustified 0.000218 cadfael 0.000218 coupons 0.000218 laurel 0.000218 trapping 0.000218 pied 0.000218 wally 0.000218 carver 0.000218 decentralisation 0.000218 flop 0.000218 nods 0.000218 duvall 0.000218 bon 0.000218 ve 0.000218 edmunds 0.000218 cinnamon 0.000218 detract 0.000218 titford 0.000218 ailments 0.000218 dons 0.000218 forwarded 0.000218 whiskies 0.000218 spinners 0.000218 tensor 0.000218 follower 0.000218 spawned 0.000218 iced 0.000218 goldman 0.000218 browse 0.000218 viennese 0.000218 spicy 0.000218 whelan 0.000218 detour 0.000218 binder 0.000218 consort 0.000218 streaked 0.000218 resounding 0.000218 sedimentation 0.000218 unheard 0.000218 yeo 0.000218 foresight 0.000218 whirling 0.000218 squatted 0.000218 imperatives 0.000218 rehearsing 0.000218 guillotine 0.000218 powys 0.000218 leonardo 0.000218 machin 0.000218 muir 0.000218 blackbird 0.000217 auctions 0.000217 alleyway 0.000217 consternation 0.000217 deported 0.000217 wistfully 0.000217 overboard 0.000217 auditorium 0.000217 conditioner 0.000217 milestone 0.000217 skating 0.000217 heaped 0.000217 tcr 0.000217 mth 0.000217 chrissie 0.000217 zach 0.000217 kirby 0.000217 mcgrath 0.000217 autocratic 0.000217 disclosures 0.000217 surety 0.000217 brendan 0.000217 undecided 0.000217 courtroom 0.000217 belatedly 0.000217 consents 0.000217 jeanne 0.000217 handwritten 0.000217 warranted 0.000217 unequivocally 0.000217 everett 0.000217 opposites 0.000217 prompts 0.000217 edible 0.000217 negotiator 0.000217 forefinger 0.000217 howl 0.000217 equator 0.000217 southwell 0.000217 ea 0.000217 defense 0.000217 lifeline 0.000217 rammed 0.000217 psychotic 0.000217 selfishness 0.000217 justifiably 0.000217 organizer 0.000217 stitching 0.000217 poisons 0.000217 thatcherite 0.000217 amps 0.000217 epa 0.000217 rotated 0.000217 capacitor 0.000217 plethora 0.000217 exalted 0.000217 overflowing 0.000217 mayonnaise 0.000216 carbohydrates 0.000216 nirvana 0.000216 spans 0.000216 connors 0.000216 anorak 0.000216 conjunction 0.000216 structurally 0.000216 tidying 0.000216 buddhism 0.000216 myra 0.000216 touche 0.000216 netted 0.000216 soc 0.000216 wilfrid 0.000216 merchiston 0.000216 blyth 0.000216 yarmouth 0.000216 suppressing 0.000216 exits 0.000216 mercifully 0.000216 twoflower 0.000216 depicts 0.000216 quashed 0.000216 vows 0.000216 coy 0.000216 venous 0.000216 meryl 0.000216 lfa 0.000216 mediaeval 0.000216 gulp 0.000216 likened 0.000216 inadequately 0.000216 fancies 0.000216 proportionately 0.000216 sonnet 0.000216 proton 0.000216 nominee 0.000216 rpm 0.000216 bismarck 0.000216 skipton 0.000216 seething 0.000216 unifying 0.000216 transformer 0.000216 stubble 0.000216 ribber 0.000216 strayed 0.000216 ariel 0.000216 nsf 0.000216 farnborough 0.000216 revd 0.000215 seattle 0.000215 hindered 0.000215 bumps 0.000215 digit 0.000215 shovel 0.000215 nightingale 0.000215 failings 0.000215 amelia 0.000215 hanover 0.000215 auctioneer 0.000215 suspense 0.000215 dada 0.000215 apostle 0.000215 battalions 0.000215 ethnographic 0.000215 sightseeing 0.000215 moratorium 0.000215 winged 0.000215 protagonists 0.000215 rejoin 0.000215 dissociation 0.000215 louvre 0.000215 behold 0.000215 hesitantly 0.000215 sarcastic 0.000215 satire 0.000215 esquire 0.000215 unsettling 0.000215 frazer 0.000215 hendrix 0.000215 sp 0.000215 surfing 0.000215 martyrs 0.000215 tearful 0.000215 stockbrokers 0.000215 cadet 0.000215 napoleonic 0.000215 teachings 0.000215 fleetwood 0.000215 scholarships 0.000215 impulsive 0.000215 chefs 0.000215 manhood 0.000215 protestors 0.000215 simulate 0.000215 bourdieu 0.000215 sighing 0.000215 ugh 0.000215 mcgregor 0.000215 maude 0.000215 ruddy 0.000215 discerning 0.000215 toshiba 0.000215 complicity 0.000215 swapped 0.000215 consequential 0.000215 sighs 0.000215 funchal 0.000215 inducing 0.000215 stockbroker 0.000215 utilisation 0.000215 vets 0.000215 wrongful 0.000215 cuffs 0.000215 grouse 0.000215 congregational 0.000214 legislate 0.000214 taiwanese 0.000214 spenser 0.000214 ems 0.000214 twitch 0.000214 polarization 0.000214 dries 0.000214 bibliographic 0.000214 playful 0.000214 boilers 0.000214 heck 0.000214 grunt 0.000214 seekers 0.000214 hernia 0.000214 cemeteries 0.000214 sleepless 0.000214 shrieked 0.000214 marcel 0.000214 tubs 0.000214 simulations 0.000214 gustave 0.000214 tyrone 0.000214 cindy 0.000214 paw 0.000214 grilled 0.000214 lecturing 0.000214 dialectic 0.000214 reggae 0.000214 ideologically 0.000214 clinicians 0.000214 boosting 0.000214 discriminated 0.000214 sodden 0.000214 powdered 0.000214 injure 0.000214 disorderly 0.000214 millar 0.000214 melon 0.000214 tableau 0.000214 receivership 0.000214 spectral 0.000214 setbacks 0.000214 lagoon 0.000214 addict 0.000214 springfield 0.000214 rac 0.000214 ballesteros 0.000214 thesaurus 0.000214 dai 0.000213 tycoon 0.000213 perestroika 0.000213 magdalen 0.000213 criticizing 0.000213 possessive 0.000213 saddened 0.000213 volkswagen 0.000213 wilful 0.000213 brooch 0.000213 biologically 0.000213 johnnie 0.000213 manifestly 0.000213 susceptibility 0.000213 empirically 0.000213 playhouse 0.000213 aoun 0.000213 chimpanzees 0.000213 marseille 0.000213 sen 0.000213 upturned 0.000213 occasioned 0.000213 pelvis 0.000213 weimar 0.000213 conglomerates 0.000213 sensuous 0.000213 sketching 0.000213 nordic 0.000213 reacts 0.000213 kettering 0.000213 prohibiting 0.000213 forlorn 0.000213 hawaiian 0.000213 answerable 0.000213 mineralisation 0.000213 moderator 0.000213 reviving 0.000213 laurie 0.000213 unarmed 0.000213 indiscriminate 0.000213 individualistic 0.000213 enfield 0.000213 eco 0.000213 peppers 0.000213 battering 0.000213 tidied 0.000211 sprouts 0.000211 rallying 0.000211 mubarak 0.000211 ultrasound 0.000211 anterior 0.000211 rarer 0.000211 encore 0.000211 hanley 0.000211 amply 0.000211 disconnected 0.000211 completeness 0.000211 presiding 0.000211 distinctiveness 0.000211 mutton 0.000211 intensification 0.000211 patrolling 0.000211 paraphrase 0.000211 spectacularly 0.000211 evidenced 0.000211 recur 0.000211 piggy 0.000211 gruesome 0.000211 cholangitis 0.000211 protectionism 0.000211 rifkind 0.000211 comma 0.000211 ranger 0.000211 precluded 0.000211 caterpillars 0.000211 airing 0.000211 hotline 0.000211 balkans 0.000211 hun 0.000211 elicited 0.000211 jumbo 0.000211 spires 0.000211 grainne 0.000211 creased 0.000211 footnote 0.000211 leasehold 0.000211 ev 0.000211 nonconformists 0.000211 irving 0.000211 underpin 0.000211 commits 0.000211 phnom 0.000211 bleached 0.000211 timer 0.000211 tennyson 0.000211 insulted 0.000211 lexandro 0.000211 waddington 0.000211 backlog 0.000211 logistics 0.000211 escalation 0.000211 vaulted 0.000211 yang 0.000211 egf 0.000211 fallacy 0.000211 graft 0.000211 barth 0.000210 stour 0.000210 lennon 0.000210 tankers 0.000210 skipping 0.000210 injuring 0.000210 playgroup 0.000210 juicy 0.000210 bologna 0.000210 contour 0.000210 primrose 0.000210 melodies 0.000210 babe 0.000210 anguished 0.000210 overrun 0.000210 sordid 0.000210 christened 0.000210 sculptors 0.000210 fray 0.000210 welshman 0.000210 champ 0.000210 unregistered 0.000210 billed 0.000210 durability 0.000210 unearthed 0.000210 tinged 0.000210 tilting 0.000210 marbles 0.000210 dungannon 0.000210 eugene 0.000210 accrue 0.000210 sportsman 0.000210 jerome 0.000210 refreshed 0.000210 hinged 0.000210 warships 0.000210 impossibly 0.000210 caustic 0.000210 jumpers 0.000210 snatching 0.000210 assassinated 0.000210 pradesh 0.000210 placid 0.000210 cretaceous 0.000210 inhibiting 0.000210 bentham 0.000210 intracellular 0.000210 piaget 0.000210 blushing 0.000210 derivation 0.000210 soprano 0.000210 buggy 0.000210 kentish 0.000210 dutifully 0.000209 diverting 0.000209 bidders 0.000209 ingres 0.000209 evocative 0.000209 reddish 0.000209 tardis 0.000209 hogan 0.000209 resale 0.000209 malnutrition 0.000209 tolerable 0.000209 advisors 0.000209 kidnappers 0.000209 corresponded 0.000209 subordinated 0.000209 composing 0.000209 annex 0.000209 curtly 0.000209 abiding 0.000209 massingham 0.000209 benchmark 0.000209 mcbride 0.000209 wholesome 0.000209 agonising 0.000209 raiding 0.000209 receding 0.000209 deafening 0.000209 rutland 0.000209 compensatory 0.000209 kew 0.000209 gales 0.000209 hooliganism 0.000209 overturn 0.000209 browsing 0.000209 bahamas 0.000209 blessings 0.000209 liberally 0.000209 exuberant 0.000209 divisive 0.000209 importer 0.000209 angie 0.000209 devore 0.000209 fives 0.000209 dartmoor 0.000209 infiltration 0.000209 cancelling 0.000209 mosquitoes 0.000209 betsy 0.000209 rewrite 0.000209 governs 0.000209 calendars 0.000209 relic 0.000209 porosity 0.000209 northumbrian 0.000209 dishwasher 0.000209 workmanship 0.000209 jog 0.000209 sneered 0.000209 lotion 0.000208 resection 0.000208 lizards 0.000208 tensed 0.000208 toddlers 0.000208 glover 0.000208 ley 0.000208 linford 0.000208 nikolai 0.000208 scandalous 0.000208 bessie 0.000208 callous 0.000208 kilos 0.000208 mufti 0.000208 contra 0.000208 gutted 0.000208 collor 0.000208 southgate 0.000208 importers 0.000208 collaborated 0.000208 falconer 0.000208 aversion 0.000208 flopped 0.000208 airbus 0.000208 nat 0.000208 amends 0.000208 welding 0.000208 restated 0.000208 palatine 0.000208 etiquette 0.000208 spinach 0.000208 presuppositions 0.000208 genome 0.000208 fermentation 0.000208 zeta 0.000208 daak 0.000208 dramas 0.000208 structuralism 0.000208 hurling 0.000208 geometrical 0.000208 siward 0.000208 cuff 0.000208 fateful 0.000208 mk 0.000208 whitechapel 0.000208 nap 0.000208 periodical 0.000208 repertory 0.000208 summarize 0.000208 reeds 0.000208 djibouti 0.000208 proust 0.000208 scrubbing 0.000208 backbenchers 0.000208 attaches 0.000208 git 0.000208 negatives 0.000208 falkland 0.000208 AI 0.004262 Algiers 0.000229 Alton 0.000671 Anglican 0.000671 Apollo 0.000363 Apr 0.00028 Arabia 0.001013 Arafat 0.000302 Argentine 0.000267 Atlanta 0.000287 Auckland 0.000738 Aug 0.000327 Australia 0.005232 Ayr 0.000374 Bangkok 0.000437 Barrett 0.00047 Basingstoke 0.000289 Beethoven 0.000483 Beijing 0.000567 Bernard 0.002185 Berwick 0.000356 Beth 0.000622 Bismarck 0.000216 Boris 0.000851 Botham 0.000318 Bridget 0.000532 Brighton 0.001591 Bulgarian 0.00038 Byrne 0.000505 Caesar 0.000488 Calder 0.000387 Camden 0.00036 Carmen 0.000257 Carson 0.000527 Casey 0.000328 Catherine 0.001723 Cathy 0.000541 Chapman 0.00116 Cheryl 0.000262 China 0.005812 Christ 0.004962 Clara 0.00051 Clarence 0.000295 Clement 0.000406 Cole 0.000577 Costa 0.000622 Cotswold 0.000248 Crete 0.00028 December 0.009861 Derry 0.000757 Desmond 0.000469 Dorian 0.000279 Dorset 0.000861 Egyptian 0.001154 Emerson 0.000258 Enid 0.000244 Eric 0.002025 Essex 0.002416 Ethernet 0.000303 Europe 0.01912 Fairfax 0.000366 Felipe 0.000478 Fife 0.000435 Forster 0.000525 Francesca 0.000257 Frankfurt 0.00061 Freddie 0.000556 Freud 0.001666 Gail 0.000279 Gateshead 0.000467 Geoff 0.001271 George 0.011668 Georgian 0.000839 Gerald 0.001039 Gerard 0.000506 Gilbert 0.001157 Gloria 0.000768 Glynn 0.000265 Golding 0.000289 Gordon 0.002724 Guinness 0.001357 Hague 0.000625 Harrison 0.00105 Hawaiian 0.000213 Hebrew 0.000457 Helena 0.000268 Helsinki 0.000274 Henley 0.000658 Henri 0.000325 Herbert 0.001223 Hertfordshire 0.000478 HIV 0.00172 Holden 0.000225 Hove 0.000231 HQ 0.000468 Hull 0.001496 Hungary 0.001535 Ida 0.000222 Ireland 0.010117 Irvine 0.000388 Irwin 0.000306 Islamic 0.00136 Islay 0.000247 Islington 0.000381 Italian 0.005134 Jacqueline 0.00027 Jamaican 0.000323 Joanne 0.000525 John 0.034568 Jonathan 0.001691 Joshua 0.000445 Keith 0.002995 Khmer 0.000313 Kiev 0.000256 Kirby 0.000217 Kong 0.00297 Kremlin 0.000267 Lancaster 0.001231 Laos 0.000228 Latvia 0.000355 Leigh 0.000669 Lewes 0.000258 Libya 0.000758 Lisa 0.001364 Lithuania 0.000639 Locke 0.00058 Logan 0.000246 Lorraine 0.000268 Loughborough 0.000261 Louisa 0.000357 Lowell 0.000225 Lucia 0.000241 Mabel 0.00026 Macedonia 0.000352 Mackenzie 0.000372 Macmillan 0.000991 Malta 0.000658 Manhattan 0.000425 Marx 0.002043 Masai 0.000435 Maurice 0.001107 Mavis 0.000257 McDonald 0.000522 McGregor 0.000215 McMahon 0.000229 Melbourne 0.000378 Mexican 0.000714 Microsoft 0.002103 Midlands 0.001933 Millie 0.000305 Milne 0.000225 Moran 0.000491 Moray 0.000225 Moslem 0.00059 Ms 0.001775 Muslim 0.001124 Nairobi 0.000265 Nazi 0.000844 Nepal 0.000389 Newmarket 0.000354 Nicholson 0.001169 Nina 0.000924 Nobel 0.000394 Nottinghamshire 0.000624 NT 0.001902 Olivia 0.000345 Orwell 0.000305 Paddington 0.000361 Parker 0.001236 PC 0.002378 Preston 0.001399 Pringle 0.000339 Rex 0.000903 Rhodesia 0.000264 Robinson 0.001644 Robson 0.000728 Rostov 0.000462 RSPCA 0.000362 Ruskin 0.000266 Russian 0.005823 Saxon 0.000508 Selkirk 0.000267 Sheridan 0.000255 Shetland 0.000587 Sidney 0.000387 Simmons 0.00039 Slough 0.000233 Slovak 0.000384 Slovakia 0.000241 Spencer 0.001411 Staffordshire 0.000425 Stirling 0.001051 Stoddard 0.000364 Strachan 0.000304 Surrey 0.001708 Suzanne 0.000358 Talbot 0.000558 Tessa 0.000436 Thai 0.00053 Thames 0.001937 Thatcher 0.003539 Thornton 0.000573 Ti 0.00056 Tokyo 0.001149 Tony 0.005247 Toronto 0.000462 Twickenham 0.000361 Ukrainian 0.000513 Unix 0.00446 USSR 0.0018 Val 0.000476 Vatican 0.000437 Venables 0.00041 Victoria 0.002701 Viennese 0.000218 Warsaw 0.000684 Washington 0.003481 Watford 0.000385 Wear 0.005407 Western 0.010561 Whitney 0.00026 Wigan 0.000689 Willy 0.000355 Wiltshire 0.000804 AA 0.000506 Abbott 0.000279 Abu 0.000479 Alec 0.000861 Amelia 0.000215 Annie 0.001107 Antoinette 0.000249 Arabian 0.000228 Aristotle 0.000381 Arizona 0.00025 Armenia 0.000328 Armstrong 0.000889 Asia 0.003208 Barnet 0.000387 Basque 0.000438 BBC 0.004497 Benedict 0.000569 Bentley 0.000434 Bolivia 0.000356 Brady 0.000453 Brett 0.000341 Bristol 0.003004 Britain 0.026411 Britten 0.00023 Brussels 0.001591 Bryce 0.000219 Budapest 0.000429 Byzantine 0.00045 Caribbean 0.00119 Carolyn 0.000791 Castro 0.000427 CDs 0.000329 Chilean 0.000243 Chinese 0.004409 Christie 0.001278 CID 0.000502 Clarke 0.002156 Co 0.004668 Columbia 0.00046 Commander 0.002062 Compaq 0.000336 Congo 0.000238 Conway 0.000378 CPU 0.000303 Craig 0.001343 Croatian 0.000505 Currie 0.000414 Damascus 0.000275 Dane 0.000403 Darwin 0.001181 Debbie 0.000587 Derby 0.001654 Diane 0.000489 Dominic 0.000352 Doncaster 0.000456 Doreen 0.000735 Doris 0.000344 Drummond 0.000219 Dunbar 0.00031 Durham 0.00259 East 0.018552 EC 0.007064 Edith 0.000485 Edna 0.000332 Ellen 0.001059 Ellie 0.000767 Ely 0.000253 England 0.024379 Ethel 0.000376 Euston 0.000231 Ferguson 0.001064 Fitzgerald 0.000342 Floyd 0.000345 Fraser 0.001047 Frazer 0.000215 Fritz 0.000243 Fujitsu 0.00039 Gallup 0.00022 Garry 0.000521 Goodman 0.000355 Gough 0.000256 Gray 0.001249 Guildford 0.000346 Gwynedd 0.000243 Hal 0.000361 Hamish 0.000262 Hampshire 0.001259 Hancock 0.000222 Hans 0.000677 Hawkins 0.000472 Hewitt 0.000264 Higgins 0.00048 Hindu 0.000528 Houston 0.00041 Hugo 0.000544 I 0.952572 Ian 0.005605 Iran 0.002096 Jamaica 0.000604 James 0.010729 January 0.010708 Jean 0.003223 Jeep 0.000466 Jekyll 0.000254 Jeremy 0.000967 Jerusalem 0.001027 Jessica 0.000746 Jewish 0.002332 Joe 0.004563 Johannesburg 0.000405 Jon 0.000578 Judy 0.0006 Julius 0.000798 Keynesian 0.000484 Kim 0.001396 Lab 0.000726 Lambert 0.000694 Lancashire 0.001805 Laura 0.002684 Laurence 0.000337 Lebanon 0.001156 Lenin 0.000639 Leningrad 0.000255 Leopold 0.000387 Levi 0.000344 Lincoln 0.000972 Linda 0.001254 Lloyd 0.00242 Luxembourg 0.000601 Lyn 0.000258 Lyon 0.000259 Madonna 0.000735 Maidstone 0.000408 Malawi 0.000314 Malcolm 0.001923 Mann 0.000542 Manville 0.000287 Marcel 0.000214 Marilyn 0.000261 Mary 0.007497 Maud 0.000463 Mercedes 0.000641 Merrill 0.000778 Mexico 0.001719 Meyer 0.000251 Michael 0.010015 Mick 0.001587 MIPS 0.000764 Miranda 0.000924 Miriam 0.000323 Monsieur 0.000719 Morrison 0.000719 Mortimer 0.000542 Mozart 0.00127 Murphy 0.001009 Myra 0.000216 Nancy 0.0007 Napier 0.000281 Natasha 0.000222 Newry 0.000262 Nixon 0.000429 Northumbria 0.000257 Nov 0.00056 OPEC 0.000404 Orlando 0.000229 Pakistani 0.000398 Parisian 0.00024 Pearson 0.000587 Peru 0.000817 Pickering 0.000288 PM 0.001379 RAC 0.000214 Ramsay 0.000599 Rhine 0.000296 Richardson 0.001061 Rita 0.000411 Rodrigo 0.000227 Rome 0.003543 RSC 0.000332 Rudolf 0.000295 Rufus 0.000472 Rutland 0.000209 SA 0.001263 SAE 0.000321 Sara 0.001332 Se 0.000748 Sean 0.001026 Seattle 0.000215 Sedgefield 0.000254 Sharon 0.00075 Sherwood 0.000352 Shropshire 0.00063 Sib 0.00024 Simone 0.000226 Soho 0.000381 Somalia 0.000614 Spain 0.004704 SS 0.00041 Stafford 0.000277 Stamford 0.000557 Stanley 0.001429 Stevenson 0.000483 Stratford 0.000532 Stuart 0.002219 Susan 0.002169 Swedish 0.001039 Sydney 0.001064 Ta 0.004893 Taunton 0.000311 Taylor 0.003823 Telford 0.000385 Theodore 0.000224 Thorpe 0.000351 Tim 0.003582 Trevor 0.001251 Tudor 0.000555 Turks 0.000507 Tyler 0.000279 Tyrone 0.000214 UK 0.018227 Vanessa 0.000282 Venezuela 0.000443 Vincent 0.00088 Volkswagen 0.000213 Walsall 0.000328 Waterhouse 0.000268 Watson 0.001251 Wedgwood 0.000408 Wembley 0.001054 Whitlock 0.000289 Wilde 0.000368 Willis 0.000574 Winchester 0.000846 Wirral 0.000688 Wolfgang 0.000397 Worcester 0.000775 Zen 0.000452 A 2.263141 Adam 0.003728 Agnes 0.00095 Albanian 0.000329 Algeria 0.000528 Ali 0.001426 Andes 0.00023 Andrew 0.004724 Angola 0.000411 Antrim 0.000415 Arabic 0.000512 Artemis 0.000324 Ashton 0.000502 Asian 0.002042 Aston 0.00068 Athens 0.00114 Aubrey 0.000258 Austin 0.0006 Austrian 0.000753 Bahamas 0.000209 Banbury 0.000666 Barlow 0.000392 Bertha 0.00022 Birmingham 0.003613 Blanche 0.001196 BMW 0.00058 Bologna 0.00021 Boston 0.000861 Botswana 0.000233 BP 0.001195 Bradley 0.000439 Bragg 0.000384 Briggs 0.000225 Bromley 0.000273 Bruce 0.001787 Buckingham 0.000875 Cambridge 0.003835 Cambridgeshire 0.000423 Carlton 0.000394 Carr 0.000484 Carrie 0.001294 Cleveland 0.001786 Clwyd 0.000322 Clyde 0.000445 CNAA 0.000781 Cooke 0.000366 Curtis 0.000767 Czechoslovakia 0.00117 Dada 0.000215 Dan 0.001042 Davidson 0.000509 Delaney 0.000487 Derbyshire 0.000808 Donovan 0.000336 Dorothea 0.000284 Du 0.003533 Eastbourne 0.000287 Eastwood 0.000219 Ecuador 0.000278 Eddie 0.001243 Edinburgh 0.006286 Editor 0.004114 Edward 0.007267 Egypt 0.002323 Eliot 0.002 Elton 0.000363 Erika 0.000717 Ernest 0.000788 ETA 0.000301 Ethiopia 0.000512 Everett 0.000217 Exeter 0.000807 Farrell 0.000262 Feb 0.00028 Ferrari 0.000445 Fiji 0.000324 Gardner 0.000352 Gareth 0.00075 Geneva 0.001094 Geoffrey 0.001791 Germany 0.01119 Gina 0.00059 Greene 0.000461 Greenwich 0.000407 Grosvenor 0.000258 Guido 0.000497 Hanover 0.000215 Harold 0.001297 Harvard 0.00059 Harwell 0.00023 Harwich 0.000246 Haynes 0.000271 Hayward 0.00031 Helen 0.00286 Hercules 0.000386 Hilton 0.000612 Hobbs 0.000229 Holland 0.001637 Holman 0.000296 Holt 0.000301 Honda 0.000386 Horace 0.000264 Howard 0.002791 Howell 0.000298 Hudson 0.000727 Hun 0.000211 Huntingdon 0.000222 Ira 0.001851 Irene 0.000593 Irving 0.000211 Isabel 0.001367 Ivan 0.000602 J 0.003929 Jackson 0.002133 Jo 0.000895 Jupiter 0.000351 Kenneth 0.001648 Kenny 0.000685 Kerr 0.000495 KGB 0.000584 Korea 0.002024 Lang 0.000737 Lawson 0.000728 Lee 0.003899 Len 0.00049 Lewis 0.003949 Lithuanian 0.000305 Livingston 0.000226 Londonderry 0.000338 Luke 0.003722 Madrid 0.000912 Maine 0.00028 Male 0.011624 Manchester 0.005291 Marianne 0.000279 Marina 0.000477 Marjorie 0.00049 Marlborough 0.000336 Marshall 0.001706 Martha 0.000861 Marxism 0.000769 Maureen 0.000829 Maxwell 0.001383 McLaren 0.000479 Meg 0.000913 Melanie 0.000706 Middlesex 0.000604 Mikhail 0.000412 Millwall 0.000268 Mohamed 0.000246 Monaco 0.000233 Moore 0.002013 MPs 0.002702 Nell 0.000415 Newark 0.000277 Nicholas 0.002563 Nicky 0.000638 Nicola 0.000838 Nolan 0.000285 Nordic 0.000213 Normandy 0.00057 Norris 0.000297 Northumberland 0.000842 Nova 0.000288 October 0.011183 Oliver 0.00239 Orleans 0.000258 Oswald 0.00031 Oxfordshire 0.001654 Palestine 0.000931 Paris 0.006445 PE 0.000329 Persia 0.000328 Pete 0.001335 Philippines 0.000767 Plato 0.000321 Pollock 0.000311 Pr 0.000943 Ra 0.000291 Reagan 0.00113 Rebecca 0.000685 Renault 0.000608 Richmond 0.001029 Riley 0.000313 Rodney 0.000431 Romanov 0.000394 Romeo 0.000338 Ronnie 0.000633 Rourke 0.000279 Ruth 0.003197 Ryder 0.00045 Ryedale 0.00026 Sabbath 0.000307 Salvador 0.000657 Scotland 0.013775 Sea 0.013726 Serbian 0.000908 Severn 0.000709 Sharpe 0.000808 Shelley 0.001209 Shevardnadze 0.000256 Shirley 0.000862 Siberian 0.000257 Siemens 0.000491 Silas 0.000529 Southport 0.000329 SPARCstation 0.000248 Strasbourg 0.000447 Swansea 0.00072 Sylvie 0.000298 Syrian 0.000541 Taiwanese 0.000214 Tamil 0.000301 Tara 0.000395 Telecom 0.001057 Thailand 0.000926 Timothy 0.000773 Todd 0.000461 Toyota 0.000387 Tracey 0.000591 Trafalgar 0.00031 Trafford 0.000525 Travis 0.000891 USA 0.005268 Vaughan 0.000598 Vickers 0.000255 Vladimir 0.000276 Wagner 0.000512 Wayne 0.00084 Wellington 0.000629 Werner 0.00025 West 0.022618 Weston 0.000294 Willie 0.001362 Wilton 0.000285 Wimbledon 0.001339 Windsor 0.001027 Wordsworth 0.000952 Wright 0.002075 Xerox 0.000257 Yuan 0.000604 Yugoslavia 0.001471 AC 0.000831 Afghan 0.00033 Ag 0.000464 Aggie 0.000354 Alastair 0.000326 Albania 0.000496 Albion 0.000338 Amanda 0.000665 Amazon 0.000378 Anselm 0.000594 Antarctica 0.000295 Antonio 0.000581 Antwerp 0.000223 Ariel 0.000216 Asquith 0.000289 Aziz 0.000257 Bach 0.000489 Barry 0.001989 Baxter 0.00063 Beatrice 0.000428 Belfast 0.00381 Belgium 0.00144 Belgrade 0.000342 Berlin 0.00289 Bernie 0.000351 Birkenhead 0.000407 Bradshaw 0.0003 Brendan 0.000217 Brentford 0.000276 Calais 0.000255 Calcutta 0.000289 Californian 0.000334 Canberra 0.000222 Caroline 0.001976 Carroll 0.000276 Catholics 0.000849 CD 0.001213 Celia 0.000898 Chamberlain 0.000833 Chaplin 0.000273 Charlemagne 0.000317 Cheltenham 0.001495 Chris 0.004718 Christine 0.00118 Clark 0.001839 Claude 0.000247 Clifford 0.000491 Colchester 0.000753 Connors 0.000216 Constantinople 0.000268 Copenhagen 0.000324 Cranston 0.00081 Crawford 0.000842 Crewe 0.000363 Cromwell 0.000442 Cumbria 0.000519 Daniel 0.001599 Danny 0.000941 Daphne 0.000286 Denis 0.001036 Derek 0.002078 Dickinson 0.000284 Diego 0.000381 Donaldson 0.00059 Dora 0.00036 Doug 0.000879 Dublin 0.002444 Dutch 0.002506 Eastern 0.006224 Edwardian 0.00051 Eileen 0.000518 Einstein 0.00043 Elaine 0.000875 Elizabethan 0.000417 Enfield 0.000213 Esther 0.000446 France 0.012989 Ga 0.000235 Galileo 0.000379 Gallagher 0.00039 Gardiner 0.000265 Gaza 0.000334 GDP 0.00099 German 0.012021 Giovanni 0.000399 Glasgow 0.004419 Goldberg 0.000291 Graeme 0.000786 Grimsby 0.000289 Halifax 0.000732 Hammersmith 0.000365 Hammond 0.000456 Harvey 0.001312 Henrietta 0.000227 Hollywood 0.001726 Hopkins 0.000551 Huddersfield 0.000385 Hugh 0.002185 Iceland 0.00049 India 0.004974 Indian 0.004374 Intel 0.001252 Jacques 0.001051 Jerome 0.00021 Jersey 0.001151 Jessie 0.000279 Jim 0.004549 Johnstone 0.000313 Joyce 0.001369 Julie 0.001508 June 0.015351 Justin 0.000298 K 0.003345 Kerry 0.000339 Kevin 0.002458 Keynes 0.001067 Korean 0.001255 Kuwaiti 0.000347 Larry 0.000593 Leo 0.000942 Leonardo 0.000218 Liberia 0.000257 Lima 0.000301 Lindsay 0.000355 Lisburn 0.000238 Liz 0.001774 Loretta 0.000535 Luther 0.000291 MacArthur 0.000233 Maggie 0.002818 Mao 0.00034 Marco 0.000735 Matthew 0.002731 Maynard 0.00022 Messrs 0.00023 Michele 0.000341 Middlesbrough 0.003774 Milan 0.001016 Mitch 0.000431 Mitchell 0.001067 Monte 0.000363 Moroccan 0.000261 Morse 0.000742 Moscow 0.003178 Mrs 0.02088 Muhammad 0.00036 Naomi 0.000249 NASA 0.000296 NATO 0.00156 Neal 0.000228 Newbury 0.000361 Ni 0.000662 Norma 0.000221 Norwich 0.001548 NRA 0.000372 NSF 0.000216 Oct 0.000578 Olivetti 0.000372 Olympic 0.001409 Omar 0.000225 OS 0.000372 Osborne 0.00037 Ottoman 0.00035 Oxford 0.009018 Palestinian 0.001211 Panama 0.000704 Patel 0.000283 Paul 0.01201 Pedro 0.000229 Peking 0.00039 Peterborough 0.000611 Plymouth 0.000838 PO 0.000509 Presbyterian 0.000381 Raymond 0.000909 Rees 0.000379 Ricky 0.000502 Ritchie 0.000247 Robert 0.008338 Robertson 0.000898 Ron 0.001402 Roosevelt 0.000387 Rosa 0.00096 Ross 0.002013 Rousseau 0.000269 Russia 0.004547 Saddam 0.000974 Salzburg 0.000286 Sammy 0.000358 Samuel 0.001405 Sandra 0.000764 Santiago 0.000227 Scandinavia 0.000371 Sebastian 0.00045 Seoul 0.000302 Serb 0.000403 Shakespeare 0.001956 Shrewsbury 0.00065 Sid 0.000438 Springfield 0.000214 Steen 0.000231 Stephenson 0.000367 Steven 0.001243 Strauss 0.00026 Stroud 0.000338 Suffolk 0.001231 Sullivan 0.000461 Sunderland 0.001457 Suzie 0.000224 T 0.007856 Tait 0.000242 Ted 0.001202 Therese 0.000317 Thomas 0.007139 Tibet 0.000265 Tibetan 0.000227 Tommy 0.001246 Uganda 0.000357 Utah 0.000229 UV 0.000251 Vax 0.000231 Venetian 0.000388 VI 0.001396 Vietnam 0.00193 VMS 0.000368 Watkins 0.000387 Welshman 0.00021 Widnes 0.00033 Wilkins 0.000221 Wilkinson 0.000866 Williamson 0.000448 Aberdeen 0.001511 Airbus 0.000208 Alex 0.001994 Amy 0.000899 Angeles 0.001153 Anglesey 0.000238 Anna 0.002932 Argentina 0.001022 Argyll 0.000338 Armenian 0.000268 Arnold 0.001092 Ashley 0.001113 Audrey 0.000377 Augustus 0.000394 Baltic 0.000803 Barbados 0.000279 Barclay 0.000254 Barnett 0.000485 Bedford 0.000689 Bedfordshire 0.000307 Ben 0.003341 Bennett 0.000826 Bert 0.000516 Bingham 0.000304 Blair 0.000458 Bohemia 0.000224 Bolton 0.000611 Bosnia 0.001104 Bosnian 0.000633 Boswell 0.000495 BR 0.00136 Brazilian 0.000614 Brenda 0.000603 British 0.037661 Briton 0.000262 Bryan 0.000869 Buckinghamshire 0.000569 Buddhism 0.000216 Buxton 0.000265 California 0.002298 Camilla 0.00022 Carlisle 0.000725 Chen 0.000336 Chicago 0.001148 Chrissie 0.000217 Churchill 0.001456 Clare 0.002244 Clifton 0.00023 Clive 0.001094 Compton 0.000224 Corbett 0.001618 Cowley 0.000491 Croatia 0.000856 Dagenham 0.000235 Daly 0.00028 Damien 0.000246 Danish 0.000926 Darren 0.000669 Dartmoor 0.000209 Dinah 0.000356 Disney 0.000565 DJ 0.000301 Duncan 0.001548 Dustin 0.00047 Eaton 0.000227 Eleanor 0.001216 Ella 0.000324 EPA 0.000217 Es 0.000415 Estonia 0.000342 European 0.021415 Ferdinand 0.000415 Fleming 0.000552 Florence 0.000983 Flynn 0.00025 Francisco 0.000889 Frankie 0.000689 Fred 0.002242 Frederick 0.000846 Friedman 0.000262 Gary 0.00254 Gatwick 0.000354 Gazza 0.000354 Ghana 0.000376 Gibraltar 0.000396 Glamorgan 0.00041 Glastonbury 0.000279 Godwin 0.000234 Goldman 0.000218 Gothic 0.001254 GP 0.001005 Grampian 0.000295 Guatemala 0.000361 Hanson 0.000402 Hatfield 0.00026 Hereford 0.001125 Herman 0.000226 Hess 0.000234 Hg 0.000227 Hilary 0.000933 HMS 0.000361 Howe 0.000492 Hubert 0.000458 Iain 0.000469 Ibrahim 0.000304 IQ 0.000234 Iraq 0.003334 Jake 0.00067 Japan 0.006879 Jeff 0.000874 Jenkins 0.000808 Karl 0.000831 Katherine 0.001175 Kosovo 0.000358 Kuwait 0.001716 Laurie 0.000213 Leslie 0.000901 Lester 0.000398 Li 0.001188 Livingstone 0.000361 Llanelli 0.000235 London 0.036994 Lothian 0.00115 Lou 0.000658 Louise 0.001569 MA 0.001939 MacDonald 0.001054 Mafia 0.000405 Malaysian 0.00025 Malvern 0.00026 Mansfield 0.000407 Margaret 0.003998 Marguerite 0.000228 Mars 0.000652 Marxist 0.001307 Matilda 0.000709 Matisse 0.000287 McLean 0.000304 Merton 0.000317 Mohammed 0.000659 Mon 0.00057 Montreal 0.000451 Morgan 0.001922 Munich 0.000666 Na 0.016554 NaN 0.000543 Nathan 0.000959 NatWest 0.000467 Neville 0.000874 Niall 0.000376 Nora 0.000526 Norton 0.000692 OK 0.003022 Owen 0.002337 Pam 0.000527 Penelope 0.000321 Perth 0.000601 Philadelphia 0.000369 PLC 0.001747 Portsmouth 0.000922 Prescott 0.000347 Presidential 0.002246 QC 0.000536 Queensland 0.00024 RAF 0.001988 Rea 0.000229 Reid 0.001102 Rembrandt 0.000279 Rochdale 0.000231 Rochester 0.000538 Roland 0.000692 Romania 0.001218 Rutherford 0.000222 Salford 0.000343 Salisbury 0.000862 Saudi 0.001287 Saunders 0.000749 Scot 0.000506 Selby 0.000434 Shaw 0.001021 Skye 0.000302 Somali 0.00031 Sophie 0.001322 Sparta 0.000249 Spenser 0.000214 Stephen 0.005111 Stockton 0.001016 Sub 0.000564 Sussex 0.002219 Swindon 0.002222 Switzerland 0.001621 Taiwan 0.000843 Theo 0.000309 Townsend 0.000445 Tranmere 0.000375 Tyneside 0.000508 U 0.00272 UN 0.005079 Underwood 0.000266 Uruguay 0.000407 Versailles 0.000241 Von 0.001116 Wandsworth 0.000237 Wang 0.000352 Warner 0.000541 Warrington 0.000578 Warwickshire 0.000426 Wednesday 0.004636 Wendy 0.000808 Wexford 0.000441 WO 0.01743 Worcestershire 0.000466 Wyatt 0.000346 Yamaha 0.000227 Zealand 0.002774 Aberystwyth 0.000281 Alan 0.005501 Albert 0.002347 Alexandria 0.000224 Alistair 0.000366 Allison 0.000332 American 0.017227 Amsterdam 0.00091 Angela 0.001134 Angie 0.000209 Archie 0.000348 Arctic 0.000915 Arthur 0.002992 Atkinson 0.000604 Augustine 0.000339 Australian 0.002685 Avon 0.000499 BA 0.001055 Baghdad 0.000611 Baldwin 0.001041 Balfour 0.000248 Becky 0.00038 Bede 0.00027 Bella 0.000586 Berkeley 0.000591 Bernice 0.000704 Beverley 0.000424 Blackburn 0.000974 BNFL 0.000321 Bordeaux 0.000318 Bournemouth 0.000457 Bowen 0.000228 Bowie 0.00022 Boyd 0.00039 Brent 0.00038 Brittany 0.000309 Broadway 0.000423 Bundestag 0.000318 Burma 0.000552 Burmese 0.000219 Ca 0.03477 Cambodia 0.000705 Cambrian 0.000305 Cardiff 0.001924 Carl 0.001137 Chad 0.00023 Chancellor 0.003894 Charlie 0.002945 Chester 0.001141 Chichester 0.000426 Chile 0.00061 Christian 0.007235 Christianity 0.001853 Cinderella 0.000223 Cindy 0.000214 Claire 0.001192 Clinton 0.002086 Columbus 0.000355 Conrad 0.000445 Cornish 0.000466 Coventry 0.001292 Cs 0.00061 Cuban 0.000481 Cynthia 0.000234 Danzig 0.000332 Davis 0.001504 Deane 0.000398 Deborah 0.000583 Delhi 0.000618 Donald 0.001705 Douglas 0.002527 Easter 0.001888 Eden 0.000681 Edmund 0.000887 Eisenhower 0.00035 Evelyn 0.000881 Finn 0.000622 Foley 0.000238 Frankish 0.00029 Frau 0.000352 French 0.018148 Friday 0.005829 FSA 0.00026 Fulham 0.000417 Garvey 0.000328 Gaulle 0.001056 GCSE 0.000478 Georgia 0.000807 Gibson 0.001063 Gladstone 0.000315 Glenn 0.000394 Gloucester 0.003415 Gould 0.001292 Gower 0.000431 Graham 0.004429 Greenland 0.00028 Gwen 0.000326 Hamburg 0.000406 Helmut 0.000396 Hewlett 0.000222 Hick 0.000239 Hitachi 0.000289 HMSO 0.000239 Hobbes 0.00025 Hoffman 0.000242 Hogg 0.000249 Horton 0.000349 Hughes 0.001746 Humber 0.000246 Humberside 0.000372 Indonesia 0.000902 Iranian 0.000985 Irish 0.006221 Jackie 0.001 Jacob 0.000883 Jeanne 0.000217 Joanna 0.000856 Jordan 0.001518 Joseph 0.003142 Juan 0.000488 Juliet 0.00125 Kant 0.000249 Kate 0.002478 Kathleen 0.000709 Keating 0.000283 Kenya 0.001062 Knox 0.000301 Kurdish 0.000577 Lamont 0.001285 Lanka 0.000786 Leeds 0.005168 Leon 0.000572 Leone 0.000227 Libyan 0.000458 Lindsey 0.00073 Lucas 0.000552 Marie 0.001911 Marion 0.000611 Markham 0.000276 Massachusetts 0.000471 Maude 0.000215 McGrath 0.000217 Michel 0.00058 Michelle 0.000639 Miguel 0.000573 Milton 0.001628 Minoan 0.000362 Mo 0.000559 Mona 0.000309 Montrose 0.000247 Morley 0.000444 Moses 0.000627 Murray 0.001278 Nellie 0.000319 Netherlands 0.001546 Newport 0.000432 Nikolai 0.000208 Nile 0.000351 Norfolk 0.001489 Northampton 0.001035 Norwegian 0.000775 Olympia 0.000324 Oscar 0.000688 Pakistan 0.001873 Penn 0.000219 Percy 0.000458 Phillips 0.001252 Poland 0.00219 Prix 0.000873 Quebec 0.000328 Rica 0.000334 Robbie 0.000911 Robbins 0.000236 Rogers 0.000727 Romanian 0.000662 Ronald 0.000662 Rory 0.001007 Rowland 0.000265 Roy 0.001877 Rupert 0.000757 Ryan 0.00098 Satan 0.000428 Seville 0.000324 Sheila 0.001009 Si 0.000628 Siberia 0.000443 Southampton 0.001223 Stalin 0.000684 Stephanie 0.000464 Stewart 0.002172 Street 0.020638 Stuttgart 0.000314 Sunday 0.009853 Sutherland 0.000744 Sybil 0.000328 Tanzania 0.000387 Tate 0.000719 Te 0.000316 Tees 0.000518 Theodora 0.000471 Thu 0.000366 Toshiba 0.000215 Tracy 0.00042 Tristan 0.000228 TUC 0.000436 Tue 0.000299 Turkish 0.001481 Tyne 0.000737 Upton 0.000236 Urquhart 0.000383 V 0.010467 Vera 0.000327 Vic 0.000775 Vicky 0.00029 Victorian 0.002637 Vietnamese 0.000834 Volvo 0.000446 Wales 0.009777 Wallace 0.001008 Wallis 0.0003 Walsh 0.000706 Wessex 0.000261 Westminster 0.002282 Whitaker 0.000287 Woodward 0.000229 Yale 0.000242 Yorkshire 0.004621 Yugoslav 0.000651 Zimbabwe 0.000692 Zoe 0.000313 Achilles 0.000221 Afghanistan 0.000702 Agnew 0.000229 Alfred 0.001279 Algerian 0.00023 Alice 0.002594 Allan 0.001094 America 0.01084 Andrea 0.000338 Andy 0.002954 Ann 0.002053 Anthony 0.002493 Armagh 0.00037 Atkins 0.000293 Austria 0.001355 Aylesbury 0.000327 Barcelona 0.000804 Barney 0.000349 Barrie 0.000225 Bartholomew 0.000328 Bassett 0.000237 Berger 0.000306 Berkshire 0.000691 Betty 0.001418 Bobbie 0.000342 Bradford 0.001265 Braque 0.000299 Bucharest 0.000367 Buddhist 0.000298 Buenos 0.000221 Burke 0.000457 Byron 0.000347 Callaghan 0.000368 Canterbury 0.001291 Carlo 0.000485 Charles 0.009596 Charlotte 0.001647 Charlton 0.00074 Chief 0.011964 Church 0.021615 Clayton 0.000295 Clint 0.000229 Coleman 0.000946 Coleridge 0.000847 Colombia 0.00057 Courtney 0.000354 Cray 0.000276 Cruz 0.000486 Cyprus 0.000741 Czechoslovak 0.000281 Dana 0.000725 Dave 0.002811 Dawson 0.001048 DC 0.001978 Della 0.000273 Denmark 0.001415 Diana 0.002418 Dorothy 0.001242 Dover 0.000495 Dresden 0.000254 Dudley 0.000504 Dunn 0.000444 Edwin 0.000482 El 0.001457 Elliott 0.000478 Ellis 0.001029 Elsie 0.000324 Emma 0.001546 English 0.024476 ERM 0.066496 Ethiopian 0.000275 Euro 0.00064 Eyre 0.000349 Falkirk 0.000234 Farnborough 0.000216 Fergus 0.000487 Finland 0.000708 FM 0.000242 Francis 0.002654 Franco 0.001004 Gerry 0.00088 God 0.024984 Granada 0.000435 Greek 0.003873 Griffith 0.000261 Haiti 0.000238 Harding 0.000237 Harley 0.0004 Harriet 0.001774 Hawaii 0.000349 Hayes 0.000324 Heathrow 0.000682 Heinrich 0.000222 Herefordshire 0.000322 Hi 0.00108 Hong 0.002959 Hume 0.0004 Humphrey 0.000411 Hussein 0.000951 IBM 0.005024 Indonesian 0.000396 Islam 0.000723 Israeli 0.001662 Istanbul 0.000356 Italy 0.005357 ITV 0.000932 Janet 0.001022 Janice 0.000431 Jason 0.001115 Jefferson 0.000241 Jew 0.00044 Johann 0.000222 Johnnie 0.000213 Jordanian 0.000229 Judaism 0.000276 Jules 0.000334 July 0.012519 Karen 0.00169 Kennedy 0.001404 Kent 0.00275 Klaus 0.000268 Knossos 0.00022 Lambeth 0.000313 LAN 0.000268 Langley 0.000341 Large 0.035533 Lawrence 0.002269 Lawton 0.000248 Leicester 0.001964 Leicestershire 0.000581 Lennon 0.00021 Leyland 0.000283 Lib 0.00023 Lisbon 0.000377 Lombard 0.000235 Lordship 0.000817 Louis 0.002235 Lt 0.000319 Luce 0.000493 Lynn 0.000589 Malaysia 0.000727 Malone 0.000262 Marc 0.000712 Marius 0.000258 McCarthy 0.000387 McKenzie 0.000264 Mediterranean 0.001358 Meredith 0.001047 Methodist 0.000559 Michigan 0.000227 Monday 0.005562 Mongolia 0.000236 Montgomery 0.000589 Mosley 0.000441 Motherwell 0.000231 Motorola 0.000416 Mozambique 0.000423 Munro 0.000325 Murdoch 0.000437 Namibia 0.000444 Ned 0.000244 Neill 0.00025 Newcastle 0.002815 Nicaragua 0.0005 Nigeria 0.000799 Noah 0.000318 OED 0.000324 OEM 0.000323 Ohio 0.000255 Ono 0.000354 Ontario 0.000354 Orkney 0.000751 Patrick 0.003128 Patterson 0.0004 Pennsylvania 0.000347 Philip 0.004177 Phnom 0.000211 Poole 0.000754 Portuguese 0.000815 Powell 0.000903 Powys 0.000218 QPR 0.00025 Randolph 0.00032 Redcar 0.00041 Richard 0.010518 Roberto 0.000264 Romanesque 0.000408 Royce 0.000219 Samantha 0.000268 Santa 0.001307 Scottish 0.010459 Sellafield 0.000362 September 0.010951 Shannon 0.000399 Shaun 0.000437 Sicily 0.000431 Sierra 0.000625 Simon 0.004501 Simpson 0.000859 Slovenia 0.0004 Solomon 0.00037 Somerset 0.001376 Spanish 0.003725 SPARC 0.000767 Spartan 0.000254 Stanford 0.00023 Stefan 0.000294 Strathclyde 0.000721 Suez 0.000328 Sutton 0.000997 Sylvester 0.000268 Sylvia 0.000487 Syria 0.000934 Tennyson 0.000211 Terence 0.000392 Teresa 0.00047 Thatcherite 0.000217 Thomson 0.0009 Tina 0.000563 Toby 0.000848 Tottenham 0.000698 Truman 0.000316 Turkey 0.002266 Tweed 0.000788 Vancouver 0.000363 VGA 0.000293 Virginia 0.001282 Walton 0.000588 Waterloo 0.000464 Webb 0.000701 Wesley 0.000789 Whig 0.000286 Whitbread 0.00042 Wittgenstein 0.00026 Wrexham 0.000387 Wycombe 0.000251 Yeats 0.000234 Zambia 0.00077 Aaron 0.000344 Abraham 0.000546 Adelaide 0.000224 Alexander 0.002694 Alison 0.00143 Alps 0.000493 Andre 0.000255 Anglia 0.000888 Angus 0.000712 Anita 0.000258 Antarctic 0.000522 Anton 0.00033 April 0.015474 At 0.503134 Atlantic 0.00234 Azerbaijan 0.000397 Ballymena 0.000248 Barbara 0.001774 Barnard 0.000401 Barnes 0.001403 Barnsley 0.000388 Barrow 0.000598 BC 0.001064 Beatles 0.000428 Benny 0.000757 Benson 0.000572 Bessie 0.000208 Betsy 0.000209 Blackpool 0.001032 Bolshevik 0.000231 Bombay 0.000425 Bonn 0.000512 Boyle 0.000318 Brazil 0.001785 Britannia 0.000295 Bruno 0.0005 Buckley 0.000307 Bulgaria 0.000641 Burton 0.000861 Cairo 0.000699 Cambodian 0.000239 Cameron 0.000989 Canada 0.003065 Carey 0.000415 Carolina 0.000291 Catholicism 0.000348 Cecil 0.000673 Chaucer 0.000233 Chernobyl 0.000385 Christina 0.000758 CIA 0.000619 Cohen 0.000647 Congregational 0.000214 Cosmo 0.000251 Cretaceous 0.00021 Cu 0.000231 Cuba 0.000784 Cumberland 0.00035 Dallas 0.000346 Darlington 0.005858 Dec 0.001711 Dennis 0.001586 DNA 0.003483 Ed 0.00174 EEC 0.001231 Elena 0.00023 Elise 0.000266 Evans 0.001961 February 0.008827 Felix 0.000448 Fernando 0.000641 Fi 0.000278 Flemish 0.000236 Foucault 0.000408 Fran 0.000484 Franz 0.000345 Gabriel 0.001389 Ge 0.000331 GMT 0.000715 GNP 0.000684 Goodwin 0.000385 Gregory 0.001054 Hampstead 0.000394 Handel 0.000224 Hannah 0.000801 Hartlepool 0.001035 Hastings 0.000881 Hebrides 0.000326 Henderson 0.00068 Hendrix 0.000215 Henry 0.007797 Holloway 0.000319 Holmes 0.000935 Hurst 0.0003 Hyde 0.000593 Iraqi 0.001837 Isabella 0.000429 Jacobite 0.000248 Jamie 0.00104 Jane 0.004451 Japanese 0.00649 Jones 0.004871 Kabul 0.00027 Kashmir 0.000305 Kazakhstan 0.000304 Kemp 0.000578 Kettering 0.000213 Kingsley 0.00036 Kingston 0.000415 Kinnock 0.001568 Kirov 0.000401 Klein 0.00031 Lear 0.000414 Lebanese 0.000606 Leonard 0.001064 Les 0.001806 Liverpool 0.005814 Lizzie 0.000349 Ltd 0.00533 Lucien 0.000428 Luton 0.00047 Lydia 0.000968 Lyle 0.00032 Manuel 0.000311 MD 0.000251 Mel 0.000368 Melissa 0.001014 Merseyside 0.001125 Miami 0.000391 Mildred 0.000407 Min 0.000718 Mitterrand 0.000643 Monica 0.000407 Mountbatten 0.000235 MSc 0.000298 Muriel 0.000457 Mussolini 0.000293 Napoleon 0.000821 Nash 0.000309 Nigel 0.003568 Nigerian 0.000282 Nissan 0.000345 Noreen 0.000359 Norman 0.003161 Northwest 0.00025 O 0.006442 Oldfield 0.000261 Oldham 0.00066 Paige 0.000441 PCs 0.000472 Peruvian 0.000224 pH 0.001628 Pierre 0.000813 PLO 0.00084 Portland 0.000323 Prague 0.001011 President 0.017466 PS 0.000762 Reich 0.000475 Republican 0.001907 Richie 0.000298 Rio 0.000545 Robyn 0.001268 Roderick 0.000227 Russell 0.002199 Sabine 0.00053 Sahara 0.000254 Sam 0.003293 Sarajevo 0.000503 Sartre 0.000381 Sb 0.000261 Scarborough 0.000662 Scott 0.003347 Sinclair 0.000382 Singapore 0.001005 Skinner 0.000503 Southend 0.00042 Spence 0.000265 St 0.013131 Stan 0.000659 Stella 0.000829 Stockholm 0.000352 Sudan 0.000495 Sweden 0.001757 Sweeney 0.00024 Swiss 0.001558 Tabitha 0.00034 Tamar 0.000355 Tehran 0.000289 Templeton 0.000267 Theresa 0.000325 Thompson 0.00147 Torquay 0.000303 Tory 0.003776 Trinidad 0.000284 Tunisia 0.000247 Tyson 0.000295 Ukraine 0.000934 Unisys 0.000266 Ursula 0.000317 Valerie 0.000452 Venice 0.001075 Vernon 0.000386 Vicki 0.000258 Vienna 0.001391 Viking 0.000503 Wakefield 0.000384 Warwick 0.000708 Webster 0.000343 Weimar 0.000213 Whitehall 0.000952 WI 0.000417 Wilcox 0.000294 Wilson 0.004173 Winston 0.000582 Wolverhampton 0.000411 X 0.007093 Yarmouth 0.000216 Yemen 0.000327 York 0.010423 Abdul 0.000275 Ac 0.000831 Adrian 0.000997 Africa 0.008234 African 0.004621 Al 0.001427 Alaska 0.000298 Albans 0.000291 Alf 0.00032 Allen 0.001894 Anderson 0.001553 Anne 0.004618 Arab 0.002776 Argentinian 0.000224 Ascot 0.000355 Athenian 0.000338 Ayrshire 0.000397 Bangladesh 0.000513 Bangor 0.000676 Barton 0.000641 Bavaria 0.000251 Beaumont 0.000276 Beckett 0.000275 Beirut 0.000692 Belgian 0.000834 Benjamin 0.001791 Blake 0.001123 Boeing 0.000378 Brian 0.004726 Browne 0.000427 Buchanan 0.000383 Camille 0.000428 Campbell 0.00166 Canadian 0.001761 Cardigan 0.000352 Carla 0.000471 Caspar 0.000448 Chang 0.000276 Chelmsford 0.000493 Chelsea 0.001606 Cheshire 0.001125 Christmas 0.009313 Christopher 0.002402 Claudia 0.001149 Cm 0.002174 Coleraine 0.00033 Colin 0.002598 Collins 0.001153 Colorado 0.000358 Concorde 0.000253 Connie 0.000299 Constantine 0.000346 Cornelius 0.000662 Cornwall 0.00134 Covent 0.000369 Crosby 0.000431 Croydon 0.000657 Cunningham 0.000492 Cyril 0.000407 Czech 0.000795 Dalton 0.000301 Danube 0.000258 David 0.01654 Delia 0.000268 Detroit 0.000372 Devon 0.001373 Dixon 0.000644 Djibouti 0.000208 Donegal 0.000294 Donna 0.001035 Dostoevsky 0.000226 Doyle 0.00097 Dr 0.011792 Dundee 0.000886 Dungannon 0.00021 Dylan 0.000306 Ealing 0.000308 Edgar 0.000592 Elisabeth 0.000288 Elizabeth 0.003798 Elvis 0.000444 Ernie 0.00025 Ernst 0.000411 Eugene 0.00021 Eva 0.000987 Everest 0.000347 Everton 0.000811 Faber 0.000249 Falkland 0.000208 FBI 0.000329 Finnish 0.000291 Fis 0.000238 Flanders 0.00037 Florida 0.000919 Forbes 0.000343 Frankenstein 0.000284 G 0.006043 Galloway 0.000331 Galway 0.000369 Gandhi 0.000711 Garrett 0.000305 Gascoigne 0.000378 Gavin 0.000719 Gibbs 0.000417 Giles 0.000924 Gloucestershire 0.001547 Greece 0.001835 Greenpeace 0.000666 Greg 0.000869 Guinea 0.000731 Hamilton 0.001552 Hampton 0.000268 Harlow 0.000563 Harris 0.002052 Harrogate 0.000769 Hartley 0.000294 Hegel 0.000251 Herr 0.000609 Honduras 0.000222 Horne 0.000316 HP 0.001127 Hungarian 0.000991 Hutchinson 0.000295 Inverness 0.000396 Ipswich 0.001305 Isaac 0.000582 Israel 0.003402 Jan 0.001493 Jarvis 0.000296 Java 0.000229 Jeffrey 0.000492 Jennifer 0.000806 Jesus 0.005824 Joan 0.002019 Johnson 0.003339 Johnston 0.00065 Jose 0.000407 Judith 0.000614 Julia 0.001555 Julian 0.001023 Jurassic 0.000267 Kane 0.00023 Kathy 0.000233 Katie 0.000489 Kay 0.000479 kB 0.000351 Keegan 0.000486 Kelly 0.002243 Kendall 0.000351 Kensington 0.000709 Khrushchev 0.000294 Kohl 0.000664 Kurt 0.000324 Latin 0.002904 Leila 0.000266 Lincolnshire 0.000639 Lionel 0.000334 Lowe 0.000464 Lucy 0.002862 Luis 0.000271 MacGregor 0.000484 MacKenzie 0.000372 MacMillan 0.000991 Madeira 0.000509 Madeleine 0.000538 Mandela 0.000642 Manila 0.000256 Marcus 0.001121 Marian 0.000497 Mario 0.000558 Mayhew 0.000247 McAllister 0.00077 McBride 0.000209 Mersey 0.000391 Middleton 0.000425 Morocco 0.00059 Morton 0.000914 Mr 0.055134 Muir 0.000218 Naples 0.000305 NCC 0.00028 Ne 0.000362 Neath 0.000271 Needham 0.000221 Neil 0.003235 Newman 0.001068 NHS 0.002586 Nietzsche 0.000346 Noel 0.000548 Northamptonshire 0.000511 Norway 0.001602 Nottingham 0.002253 November 0.00989 Otto 0.000543 Paisley 0.000733 Pamela 0.0009 Pembroke 0.000262 Persian 0.000809 Portugal 0.001149 Provence 0.000226 Roche 0.000229 Roman 0.005846 Rosie 0.000797 San 0.002661 Sarah 0.003652 Saturday 0.008744 Scandinavian 0.00047 Schmidt 0.000283 Schofield 0.000289 Serbia 0.000656 Seth 0.000266 Seymour 0.000347 Sheffield 0.002261 Sherlock 0.00022 Sherman 0.000265 Sloane 0.000239 Somerville 0.000264 Sony 0.000516 Sophia 0.000422 Southwark 0.000326 Sri 0.001026 Steve 0.004585 Stockport 0.000402 Stoke 0.000643 Texas 0.00106 Th 0.004238 Thursday 0.003916 Tito 0.000219 Tremayne 0.000219 Trent 0.001163 Tuesday 0.003754 TV 0.006878 Venus 0.000563 WA 0.000541 Waugh 0.000317 Whelan 0.000218 Wight 0.000436 William 0.008829 Wolverton 0.000277 Yates 0.000245 Zurich 0.000369 ibus-libpinyin-1.16.1/data/icons/0000755000175000017500000000000014767172143012336 5ibus-libpinyin-1.16.1/data/icons/ibus-pinyin.svg0000664000175000017500000003134513300741721015237 image/svg+xml ibus-libpinyin-1.16.1/data/icons/ibus-bopomofo.svg0000664000175000017500000002565313300741721015556 image/svg+xml ibus-libpinyin-1.16.1/data/icons/Makefile.in0000644000175000017500000004315714767166740014343 # Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # vim:set noet ts=4: # # ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus # # Copyright (c) 2008-2010 Peng Huang # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this program; if not, write to the # Free Software Foundation, Inc., 59 Temple Place, Suite 330, # Boston, MA 02111-1307 USA VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = data/icons ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/as-version.m4 \ $(top_srcdir)/m4/boost.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(iconsdir)" DATA = $(icons_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BOOST_CPPFLAGS = @BOOST_CPPFLAGS@ BOOST_ROOT = @BOOST_ROOT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CLOUD_INPUT_MODE = @CLOUD_INPUT_MODE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ CTAGS = @CTAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENV = @ENV@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GIO2_CFLAGS = @GIO2_CFLAGS@ GIO2_LIBS = @GIO2_LIBS@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ IBUS_CFLAGS = @IBUS_CFLAGS@ IBUS_LIBS = @IBUS_LIBS@ ICON_PROP_KEY_XML = @ICON_PROP_KEY_XML@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ JSONGLIB_CFLAGS = @JSONGLIB_CFLAGS@ JSONGLIB_LIBS = @JSONGLIB_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@ LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@ LIBOBJS = @LIBOBJS@ LIBPINYIN_CFLAGS = @LIBPINYIN_CFLAGS@ LIBPINYIN_DATADIR = @LIBPINYIN_DATADIR@ LIBPINYIN_LIBS = @LIBPINYIN_LIBS@ LIBS = @LIBS@ LIBSOUP_CFLAGS = @LIBSOUP_CFLAGS@ LIBSOUP_LIBS = @LIBSOUP_LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OPENCC_CFLAGS = @OPENCC_CFLAGS@ OPENCC_LIBS = @OPENCC_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PACKAGE_VERSION_MAJOR = @PACKAGE_VERSION_MAJOR@ PACKAGE_VERSION_MICRO = @PACKAGE_VERSION_MICRO@ PACKAGE_VERSION_MINOR = @PACKAGE_VERSION_MINOR@ PACKAGE_VERSION_NANO = @PACKAGE_VERSION_NANO@ PACKAGE_VERSION_RELEASE = @PACKAGE_VERSION_RELEASE@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PYTHON = @PYTHON@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SQLITE3 = @SQLITE3@ SQLITE_CFLAGS = @SQLITE_CFLAGS@ SQLITE_LIBS = @SQLITE_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gsettingsschemadir = @gsettingsschemadir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ icons_DATA = \ ibus-pinyin.svg \ ibus-bopomofo.svg \ chinese.svg \ english.svg \ full.svg \ full-punct.svg \ half.svg \ half-punct.svg \ simp-chinese.svg \ trad-chinese.svg \ lua-converter.svg \ $(NULL) iconsdir = $(pkgdatadir)/icons EXTRA_DIST = \ $(icons_DATA) \ $(NULL) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu data/icons/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu data/icons/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-iconsDATA: $(icons_DATA) @$(NORMAL_INSTALL) @list='$(icons_DATA)'; test -n "$(iconsdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(iconsdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(iconsdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(iconsdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(iconsdir)" || exit $$?; \ done uninstall-iconsDATA: @$(NORMAL_UNINSTALL) @list='$(icons_DATA)'; test -n "$(iconsdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(iconsdir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(iconsdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-iconsDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-iconsDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-iconsDATA install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags-am uninstall uninstall-am uninstall-iconsDATA .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ibus-libpinyin-1.16.1/data/icons/full.svg0000664000175000017500000001534513300741721013735 image/svg+xml ibus-libpinyin-1.16.1/data/icons/chinese.svg0000664000175000017500000002045713300741721014411 image/svg+xml ibus-libpinyin-1.16.1/data/icons/simp-chinese.svg0000664000175000017500000003245113300741721015354 image/svg+xml ibus-libpinyin-1.16.1/data/icons/Makefile.am0000644000175000017500000000223114735672521014310 # vim:set noet ts=4: # # ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus # # Copyright (c) 2008-2010 Peng Huang # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library 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 for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this program; if not, write to the # Free Software Foundation, Inc., 59 Temple Place, Suite 330, # Boston, MA 02111-1307 USA icons_DATA = \ ibus-pinyin.svg \ ibus-bopomofo.svg \ chinese.svg \ english.svg \ full.svg \ full-punct.svg \ half.svg \ half-punct.svg \ simp-chinese.svg \ trad-chinese.svg \ lua-converter.svg \ $(NULL) iconsdir = $(pkgdatadir)/icons EXTRA_DIST = \ $(icons_DATA) \ $(NULL) ibus-libpinyin-1.16.1/data/icons/lua-converter.svg0000644000175000017500000002042614735672521015571 image/svg+xml     ibus-libpinyin-1.16.1/data/icons/full-punct.svg0000664000175000017500000002323513300741721015061 image/svg+xml ibus-libpinyin-1.16.1/data/icons/half-punct.svg0000664000175000017500000002046013300741721015026 image/svg+xml ibus-libpinyin-1.16.1/data/icons/half.svg0000664000175000017500000001036713300741721013704 image/svg+xml ibus-libpinyin-1.16.1/data/icons/english.svg0000664000175000017500000002717313300741721014426 image/svg+xml ibus-libpinyin-1.16.1/data/icons/trad-chinese.svg0000664000175000017500000003630013300741721015333 image/svg+xml ibus-libpinyin-1.16.1/data/com.github.libpinyin.ibus-libpinyin.gschema.xml0000644000175000017500000003767014737121766022301 false Auto commit false Use comma and period to flip page false Use square brackets to flip page true Enable correct pinyin true Enable correct pinyin for gn and ng true Enable correct pinyin for iou and iu true Enable correct pinyin for mg and ng true Enable correct pinyin for on and ong true Enable correct pinyin for v and u true Enable correct pinyin for uei and ui true Enable correct pinyin for uen and un true Enable correct pinyin for ue and ve '' enable dictionaries false Double pinyin 0 Double pinyin schema false Show raw input in the double pinyin auxiliary text true Dynamic adjust the candidates order false Fuzzy Pinyin true Fuzzy Pinyin for an and ang true Fuzzy Pinyin for en and eng true Fuzzy Pinyin for in and ing true Fuzzy Pinyin for f and h false Fuzzy Pinyin for g and k true Fuzzy Pinyin for l and n false Fuzzy Pinyin for l and r true Fuzzy Pinyin for c and ch true Fuzzy Pinyin for s and sh true Fuzzy Pinyin for z and zh true Incomplete pinyin true Init chinese false Init full letter true Init full punctuation true Init Simplified Chinese '<Shift>' Shortcut for Chinese/English Mode '' Shortcut for Full/Half Letter '<Control>period' Shortcut for Full/Half Punctuation '' Shortcut for Full/Half Both Switch '<Control><Shift>f' Shortcut for Simplified/Traditional Chinese Mode 0 Lookup table orientation 5 Lookup table page size 0 UI display style true Use minus and equal to flip page false Remember every input as a phrase false Use shift key to select candidate 1 Sort candidate option '' Import Dictionary '' Export Dictionary '' Clean User Data '' Use Lua Converter 's2tw.json' The config file which should be used by OpenCC for traditional input. Please consult the OpenCC documentation for more information true Show Emoji Candidates true Show English Candidates false Suggestion Candidate 0 Start Timestamp for Network Dictionary 0 End Timestamp for Network Dictionary true Enable Lua Extension true Enable English Input true Enable Table Input false Use Custom Table '' Import Custom Table '' Export Custom Table '' Clean Custom Table false Enable Cloud Input 0 Cloud Input Source 1 Cloud Candidates Number 600 Sending Cloud request with delay true Export user phrases true Export bigram phrases 'default' The keyboard layout used with ibus-libpinyin 1 Enable Auxiliary Select Keys F1 .. F10 1 Enable Auxiliary Select Keys Numbers on Keypad 0 Bopomofo Keyboard Mapping '' enable dictionaries true Dynamic adjust the candidates order true Enter key behavior false Fuzzy Pinyin true Fuzzy Pinyin for an and ang true Fuzzy Pinyin for en and eng true Fuzzy Pinyin for in and ing true Fuzzy Pinyin for f and h false Fuzzy Pinyin for g and k true Fuzzy Pinyin for l and n false Fuzzy Pinyin for l and r true Fuzzy Pinyin for c and ch true Fuzzy Pinyin for s and sh true Fuzzy Pinyin for z and zh 1 Enable Guidekey for Candidates Selection false Incomplete pinyin true Init chinese false Init full letter true Init full punctuation true Init Simplified Chinese '<Shift>' Shortcut for Chinese/English Mode '' Shortcut for Full/Half Letter '<Control>period' Shortcut for Full/Half Punctuation '' Shortcut for Full/Half Both Switch '<Control><Shift>f' Shortcut for Simplified/Traditional Chinese Mode 0 Lookup table orientation 5 Lookup table page size 0 UI display style false Remember every input as a phrase 0 Selection Keys 1 Sort candidate option 's2tw.json' The config file which should be used by OpenCC for traditional input. Please consult the OpenCC documentation for more information true Show Emoji Candidates true Show English Candidates false Suggestion Candidate 0 Start Timestamp for Network Dictionary 0 End Timestamp for Network Dictionary false Enable Cloud Input 0 Cloud Input Source 1 Cloud Candidates Number 600 Sending Cloud request with delay 'default' The keyboard layout used with ibus-libpinyin ibus-libpinyin-1.16.1/scripts/0000755000175000017500000000000014767172143012001 5ibus-libpinyin-1.16.1/scripts/Makefile.in0000644000175000017500000003525714767166740014010 # Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = scripts ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/as-version.m4 \ $(top_srcdir)/m4/boost.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BOOST_CPPFLAGS = @BOOST_CPPFLAGS@ BOOST_ROOT = @BOOST_ROOT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CLOUD_INPUT_MODE = @CLOUD_INPUT_MODE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ CTAGS = @CTAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENV = @ENV@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GIO2_CFLAGS = @GIO2_CFLAGS@ GIO2_LIBS = @GIO2_LIBS@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ IBUS_CFLAGS = @IBUS_CFLAGS@ IBUS_LIBS = @IBUS_LIBS@ ICON_PROP_KEY_XML = @ICON_PROP_KEY_XML@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ JSONGLIB_CFLAGS = @JSONGLIB_CFLAGS@ JSONGLIB_LIBS = @JSONGLIB_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@ LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@ LIBOBJS = @LIBOBJS@ LIBPINYIN_CFLAGS = @LIBPINYIN_CFLAGS@ LIBPINYIN_DATADIR = @LIBPINYIN_DATADIR@ LIBPINYIN_LIBS = @LIBPINYIN_LIBS@ LIBS = @LIBS@ LIBSOUP_CFLAGS = @LIBSOUP_CFLAGS@ LIBSOUP_LIBS = @LIBSOUP_LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OPENCC_CFLAGS = @OPENCC_CFLAGS@ OPENCC_LIBS = @OPENCC_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PACKAGE_VERSION_MAJOR = @PACKAGE_VERSION_MAJOR@ PACKAGE_VERSION_MICRO = @PACKAGE_VERSION_MICRO@ PACKAGE_VERSION_MINOR = @PACKAGE_VERSION_MINOR@ PACKAGE_VERSION_NANO = @PACKAGE_VERSION_NANO@ PACKAGE_VERSION_RELEASE = @PACKAGE_VERSION_RELEASE@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PYTHON = @PYTHON@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SQLITE3 = @SQLITE3@ SQLITE_CFLAGS = @SQLITE_CFLAGS@ SQLITE_LIBS = @SQLITE_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gsettingsschemadir = @gsettingsschemadir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ CLEANFILES = \ ZhConversion.* \ $(NULL) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu scripts/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu scripts/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am .PRECIOUS: Makefile ZhConversion.php: $(AM_V_GEN) \ curl https://raw.githubusercontent.com/wikimedia/mediawiki/master/includes/languages/data/ZhConversion.php > $@ || \ ( $(RM) $@; exit 1 ) ZhConversion.py: ZhConversion.php $(AM_V_GEN) \ php $(srcdir)/php_2_py.php > $@ || \ ( $(RM) $@; exit 1 ) # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ibus-libpinyin-1.16.1/scripts/Makefile.am0000644000175000017500000000051014455173634013751 CLEANFILES = \ ZhConversion.* \ $(NULL) ZhConversion.php: $(AM_V_GEN) \ curl https://raw.githubusercontent.com/wikimedia/mediawiki/master/includes/languages/data/ZhConversion.php > $@ || \ ( $(RM) $@; exit 1 ) ZhConversion.py: ZhConversion.php $(AM_V_GEN) \ php $(srcdir)/php_2_py.php > $@ || \ ( $(RM) $@; exit 1 ) ibus-libpinyin-1.16.1/compile0000755000175000017500000001635014767166740011623 #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. scriptversion=2018-03-07.03; # UTC # Copyright (C) 1999-2021 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program 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 General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . nl=' ' # We need space, tab and new line, in precisely that order. Quoting is # there to prevent tools from complaining about whitespace usage. IFS=" "" $nl" file_conv= # func_file_conv build_file lazy # Convert a $build file to $host form and store it in $file # Currently only supports Windows hosts. If the determined conversion # type is listed in (the comma separated) LAZY, no conversion will # take place. func_file_conv () { file=$1 case $file in / | /[!/]*) # absolute file, and not a UNC file if test -z "$file_conv"; then # lazily determine how to convert abs files case `uname -s` in MINGW*) file_conv=mingw ;; CYGWIN* | MSYS*) file_conv=cygwin ;; *) file_conv=wine ;; esac fi case $file_conv/,$2, in *,$file_conv,*) ;; mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; cygwin/* | msys/*) file=`cygpath -m "$file" || echo "$file"` ;; wine/*) file=`winepath -w "$file" || echo "$file"` ;; esac ;; esac } # func_cl_dashL linkdir # Make cl look for libraries in LINKDIR func_cl_dashL () { func_file_conv "$1" if test -z "$lib_path"; then lib_path=$file else lib_path="$lib_path;$file" fi linker_opts="$linker_opts -LIBPATH:$file" } # func_cl_dashl library # Do a library search-path lookup for cl func_cl_dashl () { lib=$1 found=no save_IFS=$IFS IFS=';' for dir in $lib_path $LIB do IFS=$save_IFS if $shared && test -f "$dir/$lib.dll.lib"; then found=yes lib=$dir/$lib.dll.lib break fi if test -f "$dir/$lib.lib"; then found=yes lib=$dir/$lib.lib break fi if test -f "$dir/lib$lib.a"; then found=yes lib=$dir/lib$lib.a break fi done IFS=$save_IFS if test "$found" != yes; then lib=$lib.lib fi } # func_cl_wrapper cl arg... # Adjust compile command to suit cl func_cl_wrapper () { # Assume a capable shell lib_path= shared=: linker_opts= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as 'compile cc -o foo foo.c'. eat=1 case $2 in *.o | *.[oO][bB][jJ]) func_file_conv "$2" set x "$@" -Fo"$file" shift ;; *) func_file_conv "$2" set x "$@" -Fe"$file" shift ;; esac ;; -I) eat=1 func_file_conv "$2" mingw set x "$@" -I"$file" shift ;; -I*) func_file_conv "${1#-I}" mingw set x "$@" -I"$file" shift ;; -l) eat=1 func_cl_dashl "$2" set x "$@" "$lib" shift ;; -l*) func_cl_dashl "${1#-l}" set x "$@" "$lib" shift ;; -L) eat=1 func_cl_dashL "$2" ;; -L*) func_cl_dashL "${1#-L}" ;; -static) shared=false ;; -Wl,*) arg=${1#-Wl,} save_ifs="$IFS"; IFS=',' for flag in $arg; do IFS="$save_ifs" linker_opts="$linker_opts $flag" done IFS="$save_ifs" ;; -Xlinker) eat=1 linker_opts="$linker_opts $2" ;; -*) set x "$@" "$1" shift ;; *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) func_file_conv "$1" set x "$@" -Tp"$file" shift ;; *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) func_file_conv "$1" mingw set x "$@" "$file" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -n "$linker_opts"; then linker_opts="-link$linker_opts" fi exec "$@" $linker_opts exit 1 } eat= case $1 in '') echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: compile [--help] [--version] PROGRAM [ARGS] Wrapper for compilers which do not understand '-c -o'. Remove '-o dest.o' from ARGS, run PROGRAM with the remaining arguments, and rename the output as expected. If you are trying to build a whole package this is not the right script to run: please start by reading the file 'INSTALL'. Report bugs to . EOF exit $? ;; -v | --v*) echo "compile $scriptversion" exit $? ;; cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; esac ofile= cfile= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as 'compile cc -o foo foo.c'. # So we strip '-o arg' only if arg is an object. eat=1 case $2 in *.o | *.obj) ofile=$2 ;; *) set x "$@" -o "$2" shift ;; esac ;; *.c) cfile=$1 set x "$@" "$1" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -z "$ofile" || test -z "$cfile"; then # If no '-o' option was seen then we might have been invoked from a # pattern rule where we don't need one. That is ok -- this is a # normal compilation that the losing compiler can handle. If no # '.c' file was seen then we are probably linking. That is also # ok. exec "$@" fi # Name of file we expect compiler to create. cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` # Create the lock directory. # Note: use '[/\\:.-]' here to ensure that we don't use the same name # that we are using for the .o file. Also, base the name on the expected # object file name, since that is what matters with a parallel build. lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d while true; do if mkdir "$lockdir" >/dev/null 2>&1; then break fi sleep 1 done # FIXME: race condition here if user kills between mkdir and trap. trap "rmdir '$lockdir'; exit 1" 1 2 15 # Run the compile. "$@" ret=$? if test -f "$cofile"; then test "$cofile" = "$ofile" || mv "$cofile" "$ofile" elif test -f "${cofile}bj"; then test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" fi rmdir "$lockdir" exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: ibus-libpinyin-1.16.1/ibus-libpinyin.spec.in0000664000175000017500000000314213300741721014434 Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ Release: 1%{?dist} Summary: Intelligent Pinyin engine based on libpinyin for IBus License: GPLv2+ Group: System Environment/Libraries URL: https://github.com/libpinyin/ibus-libpinyin Source0: http://downloads.sourceforge.net/libpinyin/ibus-libpinyin/%{name}-%{version}.tar.gz BuildRequires: gettext-devel BuildRequires: intltool BuildRequires: libtool BuildRequires: pkgconfig BuildRequires: sqlite-devel BuildRequires: libuuid-devel BuildRequires: opencc-devel BuildRequires: lua-devel BuildRequires: ibus-devel >= 1.3 BuildRequires: libpinyin-devel > 0.6.90 # Requires(post): sqlite Requires: ibus >= 1.2.0 Requires: libpinyin-data > 0.6.90 %description It includes a Chinese Pinyin input method and a Chinese ZhuYin (Bopomofo) input method based on libpinyin for IBus. %prep %setup -q %build %configure --disable-static \ --enable-opencc \ --disable-boost # make -C po update-gmo make %{?_smp_mflags} %install rm -rf $RPM_BUILD_ROOT make DESTDIR=${RPM_BUILD_ROOT} install %find_lang %{name} %clean rm -rf $RPM_BUILD_ROOT %files -f %{name}.lang %defattr(-,root,root,-) %doc AUTHORS COPYING README %{_libexecdir}/ibus-engine-libpinyin %{_libexecdir}/ibus-setup-libpinyin %{_datadir}/@PACKAGE@/phrases.txt %{_datadir}/@PACKAGE@/icons %{_datadir}/@PACKAGE@/setup %{_datadir}/@PACKAGE@/base.lua %{_datadir}/@PACKAGE@/db/english.db %dir %{_datadir}/@PACKAGE@ %dir %{_datadir}/@PACKAGE@/db %{_datadir}/ibus/component/* %changelog * Fri Jun 01 2012 Peng Wu - @VERSION@-1 - The first version. ibus-libpinyin-1.16.1/config.guess0000755000175000017500000014305114767166740012564 #!/usr/bin/sh # Attempt to guess a canonical system name. # Copyright 1992-2024 Free Software Foundation, Inc. # shellcheck disable=SC2006,SC2268 # see below for rationale timestamp='2024-01-01' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program 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 # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # # Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: # https://git.savannah.gnu.org/cgit/config.git/plain/config.guess # # Please send patches to . # The "shellcheck disable" line above the timestamp inhibits complaints # about features and limitations of the classic Bourne shell that were # superseded or lifted in POSIX. However, this script identifies a wide # variety of pre-POSIX systems that do not have POSIX shells at all, and # even some reasonably current systems (Solaris 10 as case-in-point) still # have a pre-POSIX /bin/sh. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system '$me' is run on. Options: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright 1992-2024 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try '$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi # Just in case it came from the environment. GUESS= # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, 'CC_FOR_BUILD' used to be named 'HOST_CC'. We still # use 'HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. tmp= # shellcheck disable=SC2172 trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 set_cc_for_build() { # prevent multiple calls if $tmp is already set test "$tmp" && return 0 : "${TMPDIR=/tmp}" # shellcheck disable=SC2039,SC3028 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } dummy=$tmp/dummy case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in ,,) echo "int x;" > "$dummy.c" for driver in cc gcc c89 c99 ; do if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then CC_FOR_BUILD=$driver break fi done if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac } # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if test -f /.attbin/uname ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown case $UNAME_SYSTEM in Linux|GNU|GNU/*) LIBC=unknown set_cc_for_build cat <<-EOF > "$dummy.c" #if defined(__ANDROID__) LIBC=android #else #include #if defined(__UCLIBC__) LIBC=uclibc #elif defined(__dietlibc__) LIBC=dietlibc #elif defined(__GLIBC__) LIBC=gnu #elif defined(__LLVM_LIBC__) LIBC=llvm #else #include /* First heuristic to detect musl libc. */ #ifdef __DEFINED_va_list LIBC=musl #endif #endif #endif EOF cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` eval "$cc_set_libc" # Second heuristic to detect musl libc. if [ "$LIBC" = unknown ] && command -v ldd >/dev/null && ldd --version 2>&1 | grep -q ^musl; then LIBC=musl fi # If the system lacks a compiler, then just pick glibc. # We could probably try harder. if [ "$LIBC" = unknown ]; then LIBC=gnu fi ;; esac # Note: order is significant - the case branches are not exclusive. case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ echo unknown)` case $UNAME_MACHINE_ARCH in aarch64eb) machine=aarch64_be-unknown ;; armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; earmv*) arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` machine=${arch}${endian}-unknown ;; *) machine=$UNAME_MACHINE_ARCH-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently (or will in the future) and ABI. case $UNAME_MACHINE_ARCH in earm*) os=netbsdelf ;; arm*|i386|m68k|ns32k|sh3*|sparc|vax) set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # Determine ABI tags. case $UNAME_MACHINE_ARCH in earm*) expr='s/^earmv[0-9]/-eabi/;s/eb$//' abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case $UNAME_VERSION in Debian*) release='-gnu' ;; *) release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. GUESS=$machine-${os}${release}${abi-} ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE ;; *:SecBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'` GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE ;; *:LibertyBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE ;; *:MidnightBSD:*:*) GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE ;; *:ekkoBSD:*:*) GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE ;; *:SolidBSD:*:*) GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE ;; *:OS108:*:*) GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE ;; macppc:MirBSD:*:*) GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE ;; *:MirBSD:*:*) GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE ;; *:Sortix:*:*) GUESS=$UNAME_MACHINE-unknown-sortix ;; *:Twizzler:*:*) GUESS=$UNAME_MACHINE-unknown-twizzler ;; *:Redox:*:*) GUESS=$UNAME_MACHINE-unknown-redox ;; mips:OSF1:*.*) GUESS=mips-dec-osf1 ;; alpha:OSF1:*:*) # Reset EXIT trap before exiting to avoid spurious non-zero exit code. trap '' 0 case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case $ALPHA_CPU_TYPE in "EV4 (21064)") UNAME_MACHINE=alpha ;; "EV4.5 (21064)") UNAME_MACHINE=alpha ;; "LCA4 (21066/21068)") UNAME_MACHINE=alpha ;; "EV5 (21164)") UNAME_MACHINE=alphaev5 ;; "EV5.6 (21164A)") UNAME_MACHINE=alphaev56 ;; "EV5.6 (21164PC)") UNAME_MACHINE=alphapca56 ;; "EV5.7 (21164PC)") UNAME_MACHINE=alphapca57 ;; "EV6 (21264)") UNAME_MACHINE=alphaev6 ;; "EV6.7 (21264A)") UNAME_MACHINE=alphaev67 ;; "EV6.8CB (21264C)") UNAME_MACHINE=alphaev68 ;; "EV6.8AL (21264B)") UNAME_MACHINE=alphaev68 ;; "EV6.8CX (21264D)") UNAME_MACHINE=alphaev68 ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE=alphaev69 ;; "EV7 (21364)") UNAME_MACHINE=alphaev7 ;; "EV7.9 (21364A)") UNAME_MACHINE=alphaev79 ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` GUESS=$UNAME_MACHINE-dec-osf$OSF_REL ;; Amiga*:UNIX_System_V:4.0:*) GUESS=m68k-unknown-sysv4 ;; *:[Aa]miga[Oo][Ss]:*:*) GUESS=$UNAME_MACHINE-unknown-amigaos ;; *:[Mm]orph[Oo][Ss]:*:*) GUESS=$UNAME_MACHINE-unknown-morphos ;; *:OS/390:*:*) GUESS=i370-ibm-openedition ;; *:z/VM:*:*) GUESS=s390-ibm-zvmoe ;; *:OS400:*:*) GUESS=powerpc-ibm-os400 ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) GUESS=arm-acorn-riscix$UNAME_RELEASE ;; arm*:riscos:*:*|arm*:RISCOS:*:*) GUESS=arm-unknown-riscos ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) GUESS=hppa1.1-hitachi-hiuxmpp ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. case `(/bin/universe) 2>/dev/null` in att) GUESS=pyramid-pyramid-sysv3 ;; *) GUESS=pyramid-pyramid-bsd ;; esac ;; NILE*:*:*:dcosx) GUESS=pyramid-pyramid-svr4 ;; DRS?6000:unix:4.0:6*) GUESS=sparc-icl-nx6 ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) GUESS=sparc-icl-nx7 ;; esac ;; s390x:SunOS:*:*) SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL ;; sun4H:SunOS:5.*:*) SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` GUESS=sparc-hal-solaris2$SUN_REL ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` GUESS=sparc-sun-solaris2$SUN_REL ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) GUESS=i386-pc-auroraux$UNAME_RELEASE ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) set_cc_for_build SUN_ARCH=i386 # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. if test "$CC_FOR_BUILD" != no_compiler_found; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH=x86_64 fi fi SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` GUESS=$SUN_ARCH-pc-solaris2$SUN_REL ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` GUESS=sparc-sun-solaris3$SUN_REL ;; sun4*:SunOS:*:*) case `/usr/bin/arch -k` in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like '4.1.3-JL'. SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` GUESS=sparc-sun-sunos$SUN_REL ;; sun3*:SunOS:*:*) GUESS=m68k-sun-sunos$UNAME_RELEASE ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 case `/bin/arch` in sun3) GUESS=m68k-sun-sunos$UNAME_RELEASE ;; sun4) GUESS=sparc-sun-sunos$UNAME_RELEASE ;; esac ;; aushp:SunOS:*:*) GUESS=sparc-auspex-sunos$UNAME_RELEASE ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) GUESS=m68k-atari-mint$UNAME_RELEASE ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) GUESS=m68k-atari-mint$UNAME_RELEASE ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) GUESS=m68k-atari-mint$UNAME_RELEASE ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) GUESS=m68k-milan-mint$UNAME_RELEASE ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) GUESS=m68k-hades-mint$UNAME_RELEASE ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) GUESS=m68k-unknown-mint$UNAME_RELEASE ;; m68k:machten:*:*) GUESS=m68k-apple-machten$UNAME_RELEASE ;; powerpc:machten:*:*) GUESS=powerpc-apple-machten$UNAME_RELEASE ;; RISC*:Mach:*:*) GUESS=mips-dec-mach_bsd4.3 ;; RISC*:ULTRIX:*:*) GUESS=mips-dec-ultrix$UNAME_RELEASE ;; VAX*:ULTRIX*:*:*) GUESS=vax-dec-ultrix$UNAME_RELEASE ;; 2020:CLIX:*:* | 2430:CLIX:*:*) GUESS=clipper-intergraph-clix$UNAME_RELEASE ;; mips:*:*:UMIPS | mips:*:*:RISCos) set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o "$dummy" "$dummy.c" && dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`"$dummy" "$dummyarg"` && { echo "$SYSTEM_NAME"; exit; } GUESS=mips-mips-riscos$UNAME_RELEASE ;; Motorola:PowerMAX_OS:*:*) GUESS=powerpc-motorola-powermax ;; Motorola:*:4.3:PL8-*) GUESS=powerpc-harris-powermax ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) GUESS=powerpc-harris-powermax ;; Night_Hawk:Power_UNIX:*:*) GUESS=powerpc-harris-powerunix ;; m88k:CX/UX:7*:*) GUESS=m88k-harris-cxux7 ;; m88k:*:4*:R4*) GUESS=m88k-motorola-sysv4 ;; m88k:*:3*:R3*) GUESS=m88k-motorola-sysv3 ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 then if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ test "$TARGET_BINARY_INTERFACE"x = x then GUESS=m88k-dg-dgux$UNAME_RELEASE else GUESS=m88k-dg-dguxbcs$UNAME_RELEASE fi else GUESS=i586-dg-dgux$UNAME_RELEASE fi ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) GUESS=m88k-dolphin-sysv3 ;; M88*:*:R3*:*) # Delta 88k system running SVR3 GUESS=m88k-motorola-sysv3 ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) GUESS=m88k-tektronix-sysv3 ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) GUESS=m68k-tektronix-bsd ;; *:IRIX*:*:*) IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'` GUESS=mips-sgi-irix$IRIX_REL ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) GUESS=i386-ibm-aix ;; ia64:AIX:*:*) if test -x /usr/bin/oslevel ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=$UNAME_VERSION.$UNAME_RELEASE fi GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` then GUESS=$SYSTEM_NAME else GUESS=rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then GUESS=rs6000-ibm-aix3.2.4 else GUESS=rs6000-ibm-aix3.2 fi ;; *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if test -x /usr/bin/lslpp ; then IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \ awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` else IBM_REV=$UNAME_VERSION.$UNAME_RELEASE fi GUESS=$IBM_ARCH-ibm-aix$IBM_REV ;; *:AIX:*:*) GUESS=rs6000-ibm-aix ;; ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) GUESS=romp-ibm-bsd4.4 ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) GUESS=rs6000-bull-bosx ;; DPX/2?00:B.O.S.:*:*) GUESS=m68k-bull-sysv3 ;; 9000/[34]??:4.3bsd:1.*:*) GUESS=m68k-hp-bsd ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) GUESS=m68k-hp-bsd4.4 ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` case $UNAME_MACHINE in 9000/31?) HP_ARCH=m68000 ;; 9000/[34]??) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if test -x /usr/bin/getconf; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case $sc_cpu_version in 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case $sc_kernel_bits in 32) HP_ARCH=hppa2.0n ;; 64) HP_ARCH=hppa2.0w ;; '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 esac ;; esac fi if test "$HP_ARCH" = ""; then set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if test "$HP_ARCH" = hppa2.0w then set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then HP_ARCH=hppa2.0w else HP_ARCH=hppa64 fi fi GUESS=$HP_ARCH-hp-hpux$HPUX_REV ;; ia64:HP-UX:*:*) HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` GUESS=ia64-hp-hpux$HPUX_REV ;; 3050*:HI-UX:*:*) set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && { echo "$SYSTEM_NAME"; exit; } GUESS=unknown-hitachi-hiuxwe2 ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) GUESS=hppa1.1-hp-bsd ;; 9000/8??:4.3bsd:*:*) GUESS=hppa1.0-hp-bsd ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) GUESS=hppa1.0-hp-mpeix ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) GUESS=hppa1.1-hp-osf ;; hp8??:OSF1:*:*) GUESS=hppa1.0-hp-osf ;; i*86:OSF1:*:*) if test -x /usr/sbin/sysversion ; then GUESS=$UNAME_MACHINE-unknown-osf1mk else GUESS=$UNAME_MACHINE-unknown-osf1 fi ;; parisc*:Lites*:*:*) GUESS=hppa1.1-hp-lites ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) GUESS=c1-convex-bsd ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) GUESS=c34-convex-bsd ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) GUESS=c38-convex-bsd ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) GUESS=c4-convex-bsd ;; CRAY*Y-MP:*:*:*) CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` GUESS=ymp-cray-unicos$CRAY_REL ;; CRAY*[A-Z]90:*:*:*) echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` GUESS=t90-cray-unicos$CRAY_REL ;; CRAY*T3E:*:*:*) CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` GUESS=alphaev5-cray-unicosmk$CRAY_REL ;; CRAY*SV1:*:*:*) CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` GUESS=sv1-cray-unicos$CRAY_REL ;; *:UNICOS/mp:*:*) CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` GUESS=craynv-cray-unicosmp$CRAY_REL ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE ;; sparc*:BSD/OS:*:*) GUESS=sparc-unknown-bsdi$UNAME_RELEASE ;; *:BSD/OS:*:*) GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE ;; arm:FreeBSD:*:*) UNAME_PROCESSOR=`uname -p` set_cc_for_build if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi else FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf fi ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`uname -p` case $UNAME_PROCESSOR in amd64) UNAME_PROCESSOR=x86_64 ;; i386) UNAME_PROCESSOR=i586 ;; esac FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL ;; i*:CYGWIN*:*) GUESS=$UNAME_MACHINE-pc-cygwin ;; *:MINGW64*:*) GUESS=$UNAME_MACHINE-pc-mingw64 ;; *:MINGW*:*) GUESS=$UNAME_MACHINE-pc-mingw32 ;; *:MSYS*:*) GUESS=$UNAME_MACHINE-pc-msys ;; i*:PW*:*) GUESS=$UNAME_MACHINE-pc-pw32 ;; *:SerenityOS:*:*) GUESS=$UNAME_MACHINE-pc-serenity ;; *:Interix*:*) case $UNAME_MACHINE in x86) GUESS=i586-pc-interix$UNAME_RELEASE ;; authenticamd | genuineintel | EM64T) GUESS=x86_64-unknown-interix$UNAME_RELEASE ;; IA64) GUESS=ia64-unknown-interix$UNAME_RELEASE ;; esac ;; i*:UWIN*:*) GUESS=$UNAME_MACHINE-pc-uwin ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) GUESS=x86_64-pc-cygwin ;; prep*:SunOS:5.*:*) SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` GUESS=powerpcle-unknown-solaris2$SUN_REL ;; *:GNU:*:*) # the GNU system GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'` GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'` GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL ;; *:GNU/*:*:*) # other systems with GNU libc and userland GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"` GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC ;; x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*) GUESS="$UNAME_MACHINE-pc-managarm-mlibc" ;; *:[Mm]anagarm:*:*) GUESS="$UNAME_MACHINE-unknown-managarm-mlibc" ;; *:Minix:*:*) GUESS=$UNAME_MACHINE-unknown-minix ;; aarch64:Linux:*:*) set_cc_for_build CPU=$UNAME_MACHINE LIBCABI=$LIBC if test "$CC_FOR_BUILD" != no_compiler_found; then ABI=64 sed 's/^ //' << EOF > "$dummy.c" #ifdef __ARM_EABI__ #ifdef __ARM_PCS_VFP ABI=eabihf #else ABI=eabi #endif #endif EOF cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'` eval "$cc_set_abi" case $ABI in eabi | eabihf) CPU=armv8l; LIBCABI=$LIBC$ABI ;; esac fi GUESS=$CPU-unknown-linux-$LIBCABI ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC=gnulibc1 ; fi GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; arm*:Linux:*:*) set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then GUESS=$UNAME_MACHINE-unknown-linux-$LIBC else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi else GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf fi fi ;; avr32*:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; cris:Linux:*:*) GUESS=$UNAME_MACHINE-axis-linux-$LIBC ;; crisv32:Linux:*:*) GUESS=$UNAME_MACHINE-axis-linux-$LIBC ;; e2k:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; frv:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; hexagon:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; i*86:Linux:*:*) GUESS=$UNAME_MACHINE-pc-linux-$LIBC ;; ia64:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; k1om:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; kvx:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; kvx:cos:*:*) GUESS=$UNAME_MACHINE-unknown-cos ;; kvx:mbr:*:*) GUESS=$UNAME_MACHINE-unknown-mbr ;; loongarch32:Linux:*:* | loongarch64:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; m32r*:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; m68*:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; mips:Linux:*:* | mips64:Linux:*:*) set_cc_for_build IS_GLIBC=0 test x"${LIBC}" = xgnu && IS_GLIBC=1 sed 's/^ //' << EOF > "$dummy.c" #undef CPU #undef mips #undef mipsel #undef mips64 #undef mips64el #if ${IS_GLIBC} && defined(_ABI64) LIBCABI=gnuabi64 #else #if ${IS_GLIBC} && defined(_ABIN32) LIBCABI=gnuabin32 #else LIBCABI=${LIBC} #endif #endif #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 CPU=mipsisa64r6 #else #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 CPU=mipsisa32r6 #else #if defined(__mips64) CPU=mips64 #else CPU=mips #endif #endif #endif #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) MIPS_ENDIAN=el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) MIPS_ENDIAN= #else MIPS_ENDIAN= #endif #endif EOF cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'` eval "$cc_set_vars" test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } ;; mips64el:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; openrisc*:Linux:*:*) GUESS=or1k-unknown-linux-$LIBC ;; or32:Linux:*:* | or1k*:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; padre:Linux:*:*) GUESS=sparc-unknown-linux-$LIBC ;; parisc64:Linux:*:* | hppa64:Linux:*:*) GUESS=hppa64-unknown-linux-$LIBC ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;; PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;; *) GUESS=hppa-unknown-linux-$LIBC ;; esac ;; ppc64:Linux:*:*) GUESS=powerpc64-unknown-linux-$LIBC ;; ppc:Linux:*:*) GUESS=powerpc-unknown-linux-$LIBC ;; ppc64le:Linux:*:*) GUESS=powerpc64le-unknown-linux-$LIBC ;; ppcle:Linux:*:*) GUESS=powerpcle-unknown-linux-$LIBC ;; riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; s390:Linux:*:* | s390x:Linux:*:*) GUESS=$UNAME_MACHINE-ibm-linux-$LIBC ;; sh64*:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; sh*:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; sparc:Linux:*:* | sparc64:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; tile*:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; vax:Linux:*:*) GUESS=$UNAME_MACHINE-dec-linux-$LIBC ;; x86_64:Linux:*:*) set_cc_for_build CPU=$UNAME_MACHINE LIBCABI=$LIBC if test "$CC_FOR_BUILD" != no_compiler_found; then ABI=64 sed 's/^ //' << EOF > "$dummy.c" #ifdef __i386__ ABI=x86 #else #ifdef __ILP32__ ABI=x32 #endif #endif EOF cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'` eval "$cc_set_abi" case $ABI in x86) CPU=i686 ;; x32) LIBCABI=${LIBC}x32 ;; esac fi GUESS=$CPU-pc-linux-$LIBCABI ;; xtensa*:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. GUESS=i386-sequent-sysv4 ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION ;; i*86:OS/2:*:*) # If we were able to find 'uname', then EMX Unix compatibility # is probably installed. GUESS=$UNAME_MACHINE-pc-os2-emx ;; i*86:XTS-300:*:STOP) GUESS=$UNAME_MACHINE-unknown-stop ;; i*86:atheos:*:*) GUESS=$UNAME_MACHINE-unknown-atheos ;; i*86:syllable:*:*) GUESS=$UNAME_MACHINE-pc-syllable ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) GUESS=i386-unknown-lynxos$UNAME_RELEASE ;; i*86:*DOS:*:*) GUESS=$UNAME_MACHINE-pc-msdosdjgpp ;; i*86:*:4.*:*) UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL else GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL fi ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL else GUESS=$UNAME_MACHINE-pc-sysv32 fi ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configure will decide that # this is a cross-build. GUESS=i586-pc-msdosdjgpp ;; Intel:Mach:3*:*) GUESS=i386-pc-mach3 ;; paragon:*:*:*) GUESS=i860-intel-osf1 ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4 fi ;; mini*:CTIX:SYS*5:*) # "miniframe" GUESS=m68010-convergent-sysv ;; mc68k:UNIX:SYSTEM5:3.51m) GUESS=m68k-convergent-sysv ;; M680?0:D-NIX:5.3:*) GUESS=m68k-diab-dnix ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) GUESS=m68k-unknown-lynxos$UNAME_RELEASE ;; mc68030:UNIX_System_V:4.*:*) GUESS=m68k-atari-sysv4 ;; TSUNAMI:LynxOS:2.*:*) GUESS=sparc-unknown-lynxos$UNAME_RELEASE ;; rs6000:LynxOS:2.*:*) GUESS=rs6000-unknown-lynxos$UNAME_RELEASE ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) GUESS=powerpc-unknown-lynxos$UNAME_RELEASE ;; SM[BE]S:UNIX_SV:*:*) GUESS=mips-dde-sysv$UNAME_RELEASE ;; RM*:ReliantUNIX-*:*:*) GUESS=mips-sni-sysv4 ;; RM*:SINIX-*:*:*) GUESS=mips-sni-sysv4 ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` GUESS=$UNAME_MACHINE-sni-sysv4 else GUESS=ns32k-sni-sysv fi ;; PENTIUM:*:4.0*:*) # Unisys 'ClearPath HMP IX 4000' SVR4/MP effort # says GUESS=i586-unisys-sysv4 ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm GUESS=hppa1.1-stratus-sysv4 ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. GUESS=i860-stratus-sysv4 ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. GUESS=$UNAME_MACHINE-stratus-vos ;; *:VOS:*:*) # From Paul.Green@stratus.com. GUESS=hppa1.1-stratus-vos ;; mc68*:A/UX:*:*) GUESS=m68k-apple-aux$UNAME_RELEASE ;; news*:NEWS-OS:6*:*) GUESS=mips-sony-newsos6 ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if test -d /usr/nec; then GUESS=mips-nec-sysv$UNAME_RELEASE else GUESS=mips-unknown-sysv$UNAME_RELEASE fi ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. GUESS=powerpc-be-beos ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. GUESS=powerpc-apple-beos ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. GUESS=i586-pc-beos ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. GUESS=i586-pc-haiku ;; ppc:Haiku:*:*) # Haiku running on Apple PowerPC GUESS=powerpc-apple-haiku ;; *:Haiku:*:*) # Haiku modern gcc (not bound by BeOS compat) GUESS=$UNAME_MACHINE-unknown-haiku ;; SX-4:SUPER-UX:*:*) GUESS=sx4-nec-superux$UNAME_RELEASE ;; SX-5:SUPER-UX:*:*) GUESS=sx5-nec-superux$UNAME_RELEASE ;; SX-6:SUPER-UX:*:*) GUESS=sx6-nec-superux$UNAME_RELEASE ;; SX-7:SUPER-UX:*:*) GUESS=sx7-nec-superux$UNAME_RELEASE ;; SX-8:SUPER-UX:*:*) GUESS=sx8-nec-superux$UNAME_RELEASE ;; SX-8R:SUPER-UX:*:*) GUESS=sx8r-nec-superux$UNAME_RELEASE ;; SX-ACE:SUPER-UX:*:*) GUESS=sxace-nec-superux$UNAME_RELEASE ;; Power*:Rhapsody:*:*) GUESS=powerpc-apple-rhapsody$UNAME_RELEASE ;; *:Rhapsody:*:*) GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE ;; arm64:Darwin:*:*) GUESS=aarch64-apple-darwin$UNAME_RELEASE ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` case $UNAME_PROCESSOR in unknown) UNAME_PROCESSOR=powerpc ;; esac if command -v xcode-select > /dev/null 2> /dev/null && \ ! xcode-select --print-path > /dev/null 2> /dev/null ; then # Avoid executing cc if there is no toolchain installed as # cc will be a stub that puts up a graphical alert # prompting the user to install developer tools. CC_FOR_BUILD=no_compiler_found else set_cc_for_build fi if test "$CC_FOR_BUILD" != no_compiler_found; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then case $UNAME_PROCESSOR in i386) UNAME_PROCESSOR=x86_64 ;; powerpc) UNAME_PROCESSOR=powerpc64 ;; esac fi # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_PPC >/dev/null then UNAME_PROCESSOR=powerpc fi elif test "$UNAME_PROCESSOR" = i386 ; then # uname -m returns i386 or x86_64 UNAME_PROCESSOR=$UNAME_MACHINE fi GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = x86; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE ;; *:QNX:*:4*) GUESS=i386-pc-qnx ;; NEO-*:NONSTOP_KERNEL:*:*) GUESS=neo-tandem-nsk$UNAME_RELEASE ;; NSE-*:NONSTOP_KERNEL:*:*) GUESS=nse-tandem-nsk$UNAME_RELEASE ;; NSR-*:NONSTOP_KERNEL:*:*) GUESS=nsr-tandem-nsk$UNAME_RELEASE ;; NSV-*:NONSTOP_KERNEL:*:*) GUESS=nsv-tandem-nsk$UNAME_RELEASE ;; NSX-*:NONSTOP_KERNEL:*:*) GUESS=nsx-tandem-nsk$UNAME_RELEASE ;; *:NonStop-UX:*:*) GUESS=mips-compaq-nonstopux ;; BS2000:POSIX*:*:*) GUESS=bs2000-siemens-sysv ;; DS/*:UNIX_System_V:*:*) GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "${cputype-}" = 386; then UNAME_MACHINE=i386 elif test "x${cputype-}" != x; then UNAME_MACHINE=$cputype fi GUESS=$UNAME_MACHINE-unknown-plan9 ;; *:TOPS-10:*:*) GUESS=pdp10-unknown-tops10 ;; *:TENEX:*:*) GUESS=pdp10-unknown-tenex ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) GUESS=pdp10-dec-tops20 ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) GUESS=pdp10-xkl-tops20 ;; *:TOPS-20:*:*) GUESS=pdp10-unknown-tops20 ;; *:ITS:*:*) GUESS=pdp10-unknown-its ;; SEI:*:*:SEIUX) GUESS=mips-sei-seiux$UNAME_RELEASE ;; *:DragonFly:*:*) DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case $UNAME_MACHINE in A*) GUESS=alpha-dec-vms ;; I*) GUESS=ia64-dec-vms ;; V*) GUESS=vax-dec-vms ;; esac ;; *:XENIX:*:SysV) GUESS=i386-pc-xenix ;; i*86:skyos:*:*) SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'` GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL ;; i*86:rdos:*:*) GUESS=$UNAME_MACHINE-pc-rdos ;; i*86:Fiwix:*:*) GUESS=$UNAME_MACHINE-pc-fiwix ;; *:AROS:*:*) GUESS=$UNAME_MACHINE-unknown-aros ;; x86_64:VMkernel:*:*) GUESS=$UNAME_MACHINE-unknown-esx ;; amd64:Isilon\ OneFS:*:*) GUESS=x86_64-unknown-onefs ;; *:Unleashed:*:*) GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE ;; *:Ironclad:*:*) GUESS=$UNAME_MACHINE-unknown-ironclad ;; esac # Do we have a guess based on uname results? if test "x$GUESS" != x; then echo "$GUESS" exit fi # No uname command or uname output not recognized. set_cc_for_build cat > "$dummy.c" < #include #endif #if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) #if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) #include #if defined(_SIZE_T_) || defined(SIGLOST) #include #endif #endif #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) #if !defined (ultrix) #include #if defined (BSD) #if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); #else #if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); #else printf ("vax-dec-bsd\n"); exit (0); #endif #endif #else printf ("vax-dec-bsd\n"); exit (0); #endif #else #if defined(_SIZE_T_) || defined(SIGLOST) struct utsname un; uname (&un); printf ("vax-dec-ultrix%s\n", un.release); exit (0); #else printf ("vax-dec-ultrix\n"); exit (0); #endif #endif #endif #if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) #if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) #if defined(_SIZE_T_) || defined(SIGLOST) struct utsname *un; uname (&un); printf ("mips-dec-ultrix%s\n", un.release); exit (0); #else printf ("mips-dec-ultrix\n"); exit (0); #endif #endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } echo "$0: unable to guess system type" >&2 case $UNAME_MACHINE:$UNAME_SYSTEM in mips:Linux | mips64:Linux) # If we got here on MIPS GNU/Linux, output extra information. cat >&2 <&2 <&2 </dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = "$UNAME_MACHINE" UNAME_RELEASE = "$UNAME_RELEASE" UNAME_SYSTEM = "$UNAME_SYSTEM" UNAME_VERSION = "$UNAME_VERSION" EOF fi exit 1 # Local variables: # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: ibus-libpinyin-1.16.1/test-driver0000755000175000017500000001141714767166740012442 #! /bin/sh # test-driver - basic testsuite driver script. scriptversion=2018-03-07.03; # UTC # Copyright (C) 2011-2021 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program 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 General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . # Make unconditional expansion of undefined variables an error. This # helps a lot in preventing typo-related bugs. set -u usage_error () { echo "$0: $*" >&2 print_usage >&2 exit 2 } print_usage () { cat <"$log_file" "$@" >>"$log_file" 2>&1 estatus=$? if test $enable_hard_errors = no && test $estatus -eq 99; then tweaked_estatus=1 else tweaked_estatus=$estatus fi case $tweaked_estatus:$expect_failure in 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;; 0:*) col=$grn res=PASS recheck=no gcopy=no;; 77:*) col=$blu res=SKIP recheck=no gcopy=yes;; 99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;; *:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;; *:*) col=$red res=FAIL recheck=yes gcopy=yes;; esac # Report the test outcome and exit status in the logs, so that one can # know whether the test passed or failed simply by looking at the '.log' # file, without the need of also peaking into the corresponding '.trs' # file (automake bug#11814). echo "$res $test_name (exit status: $estatus)" >>"$log_file" # Report outcome to console. echo "${col}${res}${std}: $test_name" # Register the test result, and other relevant metadata. echo ":test-result: $res" > $trs_file echo ":global-test-result: $res" >> $trs_file echo ":recheck: $recheck" >> $trs_file echo ":copy-in-global-log: $gcopy" >> $trs_file # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: ibus-libpinyin-1.16.1/config.sub0000755000175000017500000010776114767166740012237 #!/usr/bin/sh # Configuration validation subroutine script. # Copyright 1992-2024 Free Software Foundation, Inc. # shellcheck disable=SC2006,SC2268 # see below for rationale timestamp='2024-01-01' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program 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 # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # Please send patches to . # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: # https://git.savannah.gnu.org/cgit/config.git/plain/config.sub # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. # The "shellcheck disable" line above the timestamp inhibits complaints # about features and limitations of the classic Bourne shell that were # superseded or lifted in POSIX. However, this script identifies a wide # variety of pre-POSIX systems that do not have POSIX shells at all, and # even some reasonably current systems (Solaris 10 as case-in-point) still # have a pre-POSIX /bin/sh. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS Canonicalize a configuration name. Options: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright 1992-2024 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try '$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; *local*) # First pass through any local machine types. echo "$1" exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Split fields of configuration type # shellcheck disable=SC2162 saved_IFS=$IFS IFS="-" read field1 field2 field3 field4 <&2 exit 1 ;; *-*-*-*) basic_machine=$field1-$field2 basic_os=$field3-$field4 ;; *-*-*) # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two # parts maybe_os=$field2-$field3 case $maybe_os in nto-qnx* | linux-* | uclinux-uclibc* \ | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ | storm-chaos* | os2-emx* | rtmk-nova* | managarm-* \ | windows-* ) basic_machine=$field1 basic_os=$maybe_os ;; android-linux) basic_machine=$field1-unknown basic_os=linux-android ;; *) basic_machine=$field1-$field2 basic_os=$field3 ;; esac ;; *-*) # A lone config we happen to match not fitting any pattern case $field1-$field2 in decstation-3100) basic_machine=mips-dec basic_os= ;; *-*) # Second component is usually, but not always the OS case $field2 in # Prevent following clause from handling this valid os sun*os*) basic_machine=$field1 basic_os=$field2 ;; zephyr*) basic_machine=$field1-unknown basic_os=$field2 ;; # Manufacturers dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ | unicom* | ibm* | next | hp | isi* | apollo | altos* \ | convergent* | ncr* | news | 32* | 3600* | 3100* \ | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ | ultra | tti* | harris | dolphin | highlevel | gould \ | cbm | ns | masscomp | apple | axis | knuth | cray \ | microblaze* | sim | cisco \ | oki | wec | wrs | winbond) basic_machine=$field1-$field2 basic_os= ;; *) basic_machine=$field1 basic_os=$field2 ;; esac ;; esac ;; *) # Convert single-component short-hands not valid as part of # multi-component configurations. case $field1 in 386bsd) basic_machine=i386-pc basic_os=bsd ;; a29khif) basic_machine=a29k-amd basic_os=udi ;; adobe68k) basic_machine=m68010-adobe basic_os=scout ;; alliant) basic_machine=fx80-alliant basic_os= ;; altos | altos3068) basic_machine=m68k-altos basic_os= ;; am29k) basic_machine=a29k-none basic_os=bsd ;; amdahl) basic_machine=580-amdahl basic_os=sysv ;; amiga) basic_machine=m68k-unknown basic_os= ;; amigaos | amigados) basic_machine=m68k-unknown basic_os=amigaos ;; amigaunix | amix) basic_machine=m68k-unknown basic_os=sysv4 ;; apollo68) basic_machine=m68k-apollo basic_os=sysv ;; apollo68bsd) basic_machine=m68k-apollo basic_os=bsd ;; aros) basic_machine=i386-pc basic_os=aros ;; aux) basic_machine=m68k-apple basic_os=aux ;; balance) basic_machine=ns32k-sequent basic_os=dynix ;; blackfin) basic_machine=bfin-unknown basic_os=linux ;; cegcc) basic_machine=arm-unknown basic_os=cegcc ;; convex-c1) basic_machine=c1-convex basic_os=bsd ;; convex-c2) basic_machine=c2-convex basic_os=bsd ;; convex-c32) basic_machine=c32-convex basic_os=bsd ;; convex-c34) basic_machine=c34-convex basic_os=bsd ;; convex-c38) basic_machine=c38-convex basic_os=bsd ;; cray) basic_machine=j90-cray basic_os=unicos ;; crds | unos) basic_machine=m68k-crds basic_os= ;; da30) basic_machine=m68k-da30 basic_os= ;; decstation | pmax | pmin | dec3100 | decstatn) basic_machine=mips-dec basic_os= ;; delta88) basic_machine=m88k-motorola basic_os=sysv3 ;; dicos) basic_machine=i686-pc basic_os=dicos ;; djgpp) basic_machine=i586-pc basic_os=msdosdjgpp ;; ebmon29k) basic_machine=a29k-amd basic_os=ebmon ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson basic_os=ose ;; gmicro) basic_machine=tron-gmicro basic_os=sysv ;; go32) basic_machine=i386-pc basic_os=go32 ;; h8300hms) basic_machine=h8300-hitachi basic_os=hms ;; h8300xray) basic_machine=h8300-hitachi basic_os=xray ;; h8500hms) basic_machine=h8500-hitachi basic_os=hms ;; harris) basic_machine=m88k-harris basic_os=sysv3 ;; hp300 | hp300hpux) basic_machine=m68k-hp basic_os=hpux ;; hp300bsd) basic_machine=m68k-hp basic_os=bsd ;; hppaosf) basic_machine=hppa1.1-hp basic_os=osf ;; hppro) basic_machine=hppa1.1-hp basic_os=proelf ;; i386mach) basic_machine=i386-mach basic_os=mach ;; isi68 | isi) basic_machine=m68k-isi basic_os=sysv ;; m68knommu) basic_machine=m68k-unknown basic_os=linux ;; magnum | m3230) basic_machine=mips-mips basic_os=sysv ;; merlin) basic_machine=ns32k-utek basic_os=sysv ;; mingw64) basic_machine=x86_64-pc basic_os=mingw64 ;; mingw32) basic_machine=i686-pc basic_os=mingw32 ;; mingw32ce) basic_machine=arm-unknown basic_os=mingw32ce ;; monitor) basic_machine=m68k-rom68k basic_os=coff ;; morphos) basic_machine=powerpc-unknown basic_os=morphos ;; moxiebox) basic_machine=moxie-unknown basic_os=moxiebox ;; msdos) basic_machine=i386-pc basic_os=msdos ;; msys) basic_machine=i686-pc basic_os=msys ;; mvs) basic_machine=i370-ibm basic_os=mvs ;; nacl) basic_machine=le32-unknown basic_os=nacl ;; ncr3000) basic_machine=i486-ncr basic_os=sysv4 ;; netbsd386) basic_machine=i386-pc basic_os=netbsd ;; netwinder) basic_machine=armv4l-rebel basic_os=linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony basic_os=newsos ;; news1000) basic_machine=m68030-sony basic_os=newsos ;; necv70) basic_machine=v70-nec basic_os=sysv ;; nh3000) basic_machine=m68k-harris basic_os=cxux ;; nh[45]000) basic_machine=m88k-harris basic_os=cxux ;; nindy960) basic_machine=i960-intel basic_os=nindy ;; mon960) basic_machine=i960-intel basic_os=mon960 ;; nonstopux) basic_machine=mips-compaq basic_os=nonstopux ;; os400) basic_machine=powerpc-ibm basic_os=os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson basic_os=ose ;; os68k) basic_machine=m68k-none basic_os=os68k ;; paragon) basic_machine=i860-intel basic_os=osf ;; parisc) basic_machine=hppa-unknown basic_os=linux ;; psp) basic_machine=mipsallegrexel-sony basic_os=psp ;; pw32) basic_machine=i586-unknown basic_os=pw32 ;; rdos | rdos64) basic_machine=x86_64-pc basic_os=rdos ;; rdos32) basic_machine=i386-pc basic_os=rdos ;; rom68k) basic_machine=m68k-rom68k basic_os=coff ;; sa29200) basic_machine=a29k-amd basic_os=udi ;; sei) basic_machine=mips-sei basic_os=seiux ;; sequent) basic_machine=i386-sequent basic_os= ;; sps7) basic_machine=m68k-bull basic_os=sysv2 ;; st2000) basic_machine=m68k-tandem basic_os= ;; stratus) basic_machine=i860-stratus basic_os=sysv4 ;; sun2) basic_machine=m68000-sun basic_os= ;; sun2os3) basic_machine=m68000-sun basic_os=sunos3 ;; sun2os4) basic_machine=m68000-sun basic_os=sunos4 ;; sun3) basic_machine=m68k-sun basic_os= ;; sun3os3) basic_machine=m68k-sun basic_os=sunos3 ;; sun3os4) basic_machine=m68k-sun basic_os=sunos4 ;; sun4) basic_machine=sparc-sun basic_os= ;; sun4os3) basic_machine=sparc-sun basic_os=sunos3 ;; sun4os4) basic_machine=sparc-sun basic_os=sunos4 ;; sun4sol2) basic_machine=sparc-sun basic_os=solaris2 ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun basic_os= ;; sv1) basic_machine=sv1-cray basic_os=unicos ;; symmetry) basic_machine=i386-sequent basic_os=dynix ;; t3e) basic_machine=alphaev5-cray basic_os=unicos ;; t90) basic_machine=t90-cray basic_os=unicos ;; toad1) basic_machine=pdp10-xkl basic_os=tops20 ;; tpf) basic_machine=s390x-ibm basic_os=tpf ;; udi29k) basic_machine=a29k-amd basic_os=udi ;; ultra3) basic_machine=a29k-nyu basic_os=sym1 ;; v810 | necv810) basic_machine=v810-nec basic_os=none ;; vaxv) basic_machine=vax-dec basic_os=sysv ;; vms) basic_machine=vax-dec basic_os=vms ;; vsta) basic_machine=i386-pc basic_os=vsta ;; vxworks960) basic_machine=i960-wrs basic_os=vxworks ;; vxworks68) basic_machine=m68k-wrs basic_os=vxworks ;; vxworks29k) basic_machine=a29k-wrs basic_os=vxworks ;; xbox) basic_machine=i686-pc basic_os=mingw32 ;; ymp) basic_machine=ymp-cray basic_os=unicos ;; *) basic_machine=$1 basic_os= ;; esac ;; esac # Decode 1-component or ad-hoc basic machines case $basic_machine in # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) cpu=hppa1.1 vendor=winbond ;; op50n) cpu=hppa1.1 vendor=oki ;; op60c) cpu=hppa1.1 vendor=oki ;; ibm*) cpu=i370 vendor=ibm ;; orion105) cpu=clipper vendor=highlevel ;; mac | mpw | mac-mpw) cpu=m68k vendor=apple ;; pmac | pmac-mpw) cpu=powerpc vendor=apple ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) cpu=m68000 vendor=att ;; 3b*) cpu=we32k vendor=att ;; bluegene*) cpu=powerpc vendor=ibm basic_os=cnk ;; decsystem10* | dec10*) cpu=pdp10 vendor=dec basic_os=tops10 ;; decsystem20* | dec20*) cpu=pdp10 vendor=dec basic_os=tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) cpu=m68k vendor=motorola ;; dpx2*) cpu=m68k vendor=bull basic_os=sysv3 ;; encore | umax | mmax) cpu=ns32k vendor=encore ;; elxsi) cpu=elxsi vendor=elxsi basic_os=${basic_os:-bsd} ;; fx2800) cpu=i860 vendor=alliant ;; genix) cpu=ns32k vendor=ns ;; h3050r* | hiux*) cpu=hppa1.1 vendor=hitachi basic_os=hiuxwe2 ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) cpu=hppa1.0 vendor=hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) cpu=m68000 vendor=hp ;; hp9k3[2-9][0-9]) cpu=m68k vendor=hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) cpu=hppa1.0 vendor=hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) cpu=hppa1.1 vendor=hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp cpu=hppa1.1 vendor=hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp cpu=hppa1.1 vendor=hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) cpu=hppa1.1 vendor=hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) cpu=hppa1.0 vendor=hp ;; i*86v32) cpu=`echo "$1" | sed -e 's/86.*/86/'` vendor=pc basic_os=sysv32 ;; i*86v4*) cpu=`echo "$1" | sed -e 's/86.*/86/'` vendor=pc basic_os=sysv4 ;; i*86v) cpu=`echo "$1" | sed -e 's/86.*/86/'` vendor=pc basic_os=sysv ;; i*86sol2) cpu=`echo "$1" | sed -e 's/86.*/86/'` vendor=pc basic_os=solaris2 ;; j90 | j90-cray) cpu=j90 vendor=cray basic_os=${basic_os:-unicos} ;; iris | iris4d) cpu=mips vendor=sgi case $basic_os in irix*) ;; *) basic_os=irix4 ;; esac ;; miniframe) cpu=m68000 vendor=convergent ;; *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) cpu=m68k vendor=atari basic_os=mint ;; news-3600 | risc-news) cpu=mips vendor=sony basic_os=newsos ;; next | m*-next) cpu=m68k vendor=next case $basic_os in openstep*) ;; nextstep*) ;; ns2*) basic_os=nextstep2 ;; *) basic_os=nextstep3 ;; esac ;; np1) cpu=np1 vendor=gould ;; op50n-* | op60c-*) cpu=hppa1.1 vendor=oki basic_os=proelf ;; pa-hitachi) cpu=hppa1.1 vendor=hitachi basic_os=hiuxwe2 ;; pbd) cpu=sparc vendor=tti ;; pbb) cpu=m68k vendor=tti ;; pc532) cpu=ns32k vendor=pc532 ;; pn) cpu=pn vendor=gould ;; power) cpu=power vendor=ibm ;; ps2) cpu=i386 vendor=ibm ;; rm[46]00) cpu=mips vendor=siemens ;; rtpc | rtpc-*) cpu=romp vendor=ibm ;; sde) cpu=mipsisa32 vendor=sde basic_os=${basic_os:-elf} ;; simso-wrs) cpu=sparclite vendor=wrs basic_os=vxworks ;; tower | tower-32) cpu=m68k vendor=ncr ;; vpp*|vx|vx-*) cpu=f301 vendor=fujitsu ;; w65) cpu=w65 vendor=wdc ;; w89k-*) cpu=hppa1.1 vendor=winbond basic_os=proelf ;; none) cpu=none vendor=none ;; leon|leon[3-9]) cpu=sparc vendor=$basic_machine ;; leon-*|leon[3-9]-*) cpu=sparc vendor=`echo "$basic_machine" | sed 's/-.*//'` ;; *-*) # shellcheck disable=SC2162 saved_IFS=$IFS IFS="-" read cpu vendor <&2 exit 1 ;; esac ;; esac # Here we canonicalize certain aliases for manufacturers. case $vendor in digital*) vendor=dec ;; commodore*) vendor=cbm ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if test x"$basic_os" != x then # First recognize some ad-hoc cases, or perhaps split kernel-os, or else just # set os. obj= case $basic_os in gnu/linux*) kernel=linux os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'` ;; os2-emx) kernel=os2 os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'` ;; nto-qnx*) kernel=nto os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'` ;; *-*) # shellcheck disable=SC2162 saved_IFS=$IFS IFS="-" read kernel os <&2 fi ;; *) echo "Invalid configuration '$1': OS '$os' not recognized" 1>&2 exit 1 ;; esac case $obj in aout* | coff* | elf* | pe*) ;; '') # empty is fine ;; *) echo "Invalid configuration '$1': Machine code format '$obj' not recognized" 1>&2 exit 1 ;; esac # Here we handle the constraint that a (synthetic) cpu and os are # valid only in combination with each other and nowhere else. case $cpu-$os in # The "javascript-unknown-ghcjs" triple is used by GHC; we # accept it here in order to tolerate that, but reject any # variations. javascript-ghcjs) ;; javascript-* | *-ghcjs) echo "Invalid configuration '$1': cpu '$cpu' is not valid with os '$os$obj'" 1>&2 exit 1 ;; esac # As a final step for OS-related things, validate the OS-kernel combination # (given a valid OS), if there is a kernel. case $kernel-$os-$obj in linux-gnu*- | linux-android*- | linux-dietlibc*- | linux-llvm*- \ | linux-mlibc*- | linux-musl*- | linux-newlib*- \ | linux-relibc*- | linux-uclibc*- ) ;; uclinux-uclibc*- ) ;; managarm-mlibc*- | managarm-kernel*- ) ;; windows*-msvc*-) ;; -dietlibc*- | -llvm*- | -mlibc*- | -musl*- | -newlib*- | -relibc*- \ | -uclibc*- ) # These are just libc implementations, not actual OSes, and thus # require a kernel. echo "Invalid configuration '$1': libc '$os' needs explicit kernel." 1>&2 exit 1 ;; -kernel*- ) echo "Invalid configuration '$1': '$os' needs explicit kernel." 1>&2 exit 1 ;; *-kernel*- ) echo "Invalid configuration '$1': '$kernel' does not support '$os'." 1>&2 exit 1 ;; *-msvc*- ) echo "Invalid configuration '$1': '$os' needs 'windows'." 1>&2 exit 1 ;; kfreebsd*-gnu*- | kopensolaris*-gnu*-) ;; vxworks-simlinux- | vxworks-simwindows- | vxworks-spe-) ;; nto-qnx*-) ;; os2-emx-) ;; *-eabi*- | *-gnueabi*-) ;; none--*) # None (no kernel, i.e. freestanding / bare metal), # can be paired with an machine code file format ;; -*-) # Blank kernel with real OS is always fine. ;; --*) # Blank kernel and OS with real machine code file format is always fine. ;; *-*-*) echo "Invalid configuration '$1': Kernel '$kernel' not known to work with OS '$os'." 1>&2 exit 1 ;; esac # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. case $vendor in unknown) case $cpu-$os in *-riscix*) vendor=acorn ;; *-sunos*) vendor=sun ;; *-cnk* | *-aix*) vendor=ibm ;; *-beos*) vendor=be ;; *-hpux*) vendor=hp ;; *-mpeix*) vendor=hp ;; *-hiux*) vendor=hitachi ;; *-unos*) vendor=crds ;; *-dgux*) vendor=dg ;; *-luna*) vendor=omron ;; *-genix*) vendor=ns ;; *-clix*) vendor=intergraph ;; *-mvs* | *-opened*) vendor=ibm ;; *-os400*) vendor=ibm ;; s390-* | s390x-*) vendor=ibm ;; *-ptx*) vendor=sequent ;; *-tpf*) vendor=ibm ;; *-vxsim* | *-vxworks* | *-windiss*) vendor=wrs ;; *-aux*) vendor=apple ;; *-hms*) vendor=hitachi ;; *-mpw* | *-macos*) vendor=apple ;; *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*) vendor=atari ;; *-vos*) vendor=stratus ;; esac ;; esac echo "$cpu-$vendor${kernel:+-$kernel}${os:+-$os}${obj:+-$obj}" exit # Local variables: # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: ibus-libpinyin-1.16.1/configure.ac0000644000175000017500000001657714767166463012550 # vim:set et ts=4: # # ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus # # Copyright (c) 2008-2010 Peng Huang # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program 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 General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # if not 1, append datestamp to the version number. m4_define([ibus_released], [1]) m4_define([ibus_major_version], [1]) m4_define([ibus_minor_version], [16]) m4_define([ibus_micro_version], [1]) m4_define(ibus_maybe_datestamp, m4_esyscmd([if test x]ibus_released[ != x1; then date +.%Y%m%d | tr -d '\n\r'; fi])) m4_define([ibus_version], ibus_major_version.ibus_minor_version.ibus_micro_version[]ibus_maybe_datestamp) AC_INIT([ibus-libpinyin], [ibus_version], [https://github.com/libpinyin/ibus-libpinyin/issues/new],[ibus-libpinyin]) AM_INIT_AUTOMAKE([1.10]) AC_GNU_SOURCE AC_CONFIG_HEADERS([config.h]) AC_CONFIG_MACRO_DIR([m4]) m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) # define PACKAGE_VERSION_* variables AS_VERSION AS_NANO AM_SANITY_CHECK AM_MAINTAINER_MODE AM_DISABLE_STATIC AC_PROG_CC AC_PROG_CXX AM_PROG_CC_C_O AC_ISC_POSIX AC_HEADER_STDC AM_PROG_LIBTOOL AC_PROG_SED # check ibus PKG_CHECK_MODULES(IBUS, [ ibus-1.0 >= 1.5.11 ]) # check sqlite PKG_CHECK_MODULES(SQLITE, [ sqlite3 ]) AC_PATH_PROG(SQLITE3, sqlite3) if test -z "$SQLITE3"; then AC_MSG_ERROR([could not find sqlite3 tool.]) fi PKG_CHECK_MODULES(LIBPINYIN, [ libpinyin >= 2.9.92 ], [enable_libpinyin=yes]) LIBPINYIN_DATADIR=`$PKG_CONFIG --variable=pkgdatadir libpinyin` AC_SUBST(LIBPINYIN_DATADIR) # check if ibus_config_get_values, which is available in ibus-1.3.99+ (git master) save_CFLAGS="$CFLAGS" save_LIBS="$LIBS" CFLAGS="$CFLAGS $IBUS_CFLAGS" LIBS="$LIBS $IBUS_LIBS" AC_CHECK_FUNCS([ibus_config_get_values]) CFLAGS="$save_CFLAGS" LIBS="$save_LIBS" # check env AC_PATH_PROG(ENV, env) AC_SUBST(ENV) # check python AM_PATH_PYTHON([3.2]) # assign the specified python version AC_ARG_WITH(python, AS_HELP_STRING([--with-python[=PATH]], [Select python version]), [PYTHON=$with_python], [] ) # check icon_prop_key in IBus.EngineDesc AC_MSG_CHECKING([if IBus.EngineDesc has get_icon_prop_key]) ICON_PROP_KEY_TEST="import gi gi.require_version('IBus', '1.0') from gi.repository import IBus exit(not hasattr(IBus.EngineDesc, 'get_icon_prop_key')) " $PYTHON -c "$ICON_PROP_KEY_TEST" if test $? -eq 0; then ICON_PROP_KEY_XML="InputMode" AC_MSG_RESULT([yes]) else ICON_PROP_KEY_XML="" AC_MSG_RESULT([ibus 1.5.11 or later supports icon-prop-key in IBus.EngineDesc]) fi AC_SUBST(ICON_PROP_KEY_XML) # --enable-boost AC_ARG_ENABLE(boost, AC_HELP_STRING([--enable-boost], [Use boost to replace stdc++0x.]), [enable_boost=$enableval], [enable_boost=no] ) if test x"$enable_boost" = x"yes"; then # check boost BOOST_REQUIRE([1.39]) BOOST_FIND_HEADER([boost/bind.hpp]) BOOST_FIND_HEADER([boost/signals2.hpp]) fi AM_CONDITIONAL(HAVE_BOOST, test x"$enable_boost" = x"yes") # --enable-opencc AC_ARG_ENABLE(opencc, AC_HELP_STRING([--enable-opencc], [Use opencc for simplified and traditional Chinese conversion]), [enable_opencc=$enableval], [enable_opencc=no] ) if test x"$enable_opencc" = x"yes"; then # check opencc PKG_CHECK_MODULES(OPENCC, [opencc >= 1.0.0], [ AC_DEFINE(HAVE_OPENCC, 1, [Define if found opencc]) ]) fi # define GETTEXT_* variables GETTEXT_PACKAGE=ibus-libpinyin AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package]) AM_GNU_GETTEXT_VERSION([0.19.7]) AM_GNU_GETTEXT([external]) # Checks for GSettings. PKG_CHECK_MODULES(GIO2, [gio-2.0 >= 2.26.0]) GLIB_GSETTINGS # --disable-lua-extension AC_ARG_ENABLE(lua-extension, AS_HELP_STRING([--disable-lua-extension], [do not build lua extension]), [enable_lua_extension=$enableval], [enable_lua_extension=yes] ) # check lua PKG_CHECK_MODULES(LUA, [ lua >= 5.1 ], [], [has_lua_extension=no] ) if test x"$has_lua_extension" = x"no"; then PKG_CHECK_MODULES(LUA, [ lua5.1 ], [], [enable_lua_extension=no] ); fi AM_CONDITIONAL(IBUS_BUILD_LUA_EXTENSION, [test x"$enable_lua_extension" = x"yes"]) # --enable-cloud-input-mode CLOUD_INPUT_MODE="False" AC_ARG_ENABLE(cloud-input-mode, AC_HELP_STRING([--enable-cloud-input-mode], [add cloud candidates]), [enable_cloud_input_mode=$enableval], [enable_cloud_input_mode=no] ) if test x"$enable_cloud_input_mode" = x"yes"; then # check soup PKG_CHECK_MODULES(LIBSOUP, [libsoup-3.0 >= 3.0]) AC_SUBST(LIBSOUP_CFLAGS) AC_SUBST(LIBSOUP_LIBS) # check json-glib PKG_CHECK_MODULES(JSONGLIB, [json-glib-1.0 >= 1.0]) AC_SUBST(JSONGLIB_CFLAGS) AC_SUBST(JSONGLIB_LIBS) CLOUD_INPUT_MODE="True" fi AM_CONDITIONAL(ENABLE_CLOUD_INPUT_MODE, test x"$enable_cloud_input_mode" = x"yes") AC_SUBST(CLOUD_INPUT_MODE) # --disable-english-input-mode AC_ARG_ENABLE(english-input-mode, AS_HELP_STRING([--disable-english-input-mode], [do not build english input mode]), [enable_english_input_mode=$enableval], [enable_english_input_mode=yes] ) AM_CONDITIONAL(IBUS_BUILD_ENGLISH_INPUT_MODE, [test x"$enable_english_input_mode" = x"yes"]) # --disable-table-input-mode AC_ARG_ENABLE(table-input-mode, AS_HELP_STRING([--disable-table-input-mode], [do not build table input mode]), [enable_table_input_mode=$enableval], [enable_table_input_mode=yes] ) AM_CONDITIONAL(IBUS_BUILD_TABLE_INPUT_MODE, [test x"$enable_table_input_mode" = x"yes"]) # --disable-libnotify AC_ARG_ENABLE(libnotify, AS_HELP_STRING([--disable-libnotify], [Disable to link libnotify]), [enable_libnotify=$enableval], [enable_libnotify=yes] ) AM_CONDITIONAL([ENABLE_LIBNOTIFY], [test x"$enable_libnotify" = x"yes"]) if test x"$enable_libnotify" = x"yes"; then PKG_CHECK_MODULES(LIBNOTIFY, [ libnotify >= 0.7 ]) enable_libnotify="yes" fi # OUTPUT files AC_CONFIG_FILES([ po/Makefile.in Makefile ibus-libpinyin.spec lua/Makefile scripts/Makefile src/Makefile src/libpinyin.inputmethod.xml.in src/default.inputmethod.xml.in setup/Makefile setup/ibus-setup-libpinyin setup/config.py data/Makefile data/icons/Makefile m4/Makefile ]) AC_OUTPUT AC_MSG_RESULT([ Build options: Version $VERSION Install prefix $prefix Use boost $enable_boost Use opencc $enable_opencc Enable libnotify $enable_libnotify Use libpinyin $enable_libpinyin Build lua extension $enable_lua_extension Build cloud input mode $enable_cloud_input_mode Build table input mode $enable_table_input_mode Build english input mode $enable_english_input_mode ]) ibus-libpinyin-1.16.1/depcomp0000755000175000017500000005602014767166740011620 #! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2018-03-07.03; # UTC # Copyright (C) 1999-2021 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program 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 General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Alexandre Oliva . case $1 in '') echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] Run PROGRAMS ARGS to compile a file, generating dependencies as side-effects. Environment variables: depmode Dependency tracking mode. source Source file read by 'PROGRAMS ARGS'. object Object file output by 'PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. tmpdepfile Temporary file to use when outputting dependencies. libtool Whether libtool is used (yes/no). Report bugs to . EOF exit $? ;; -v | --v*) echo "depcomp $scriptversion" exit $? ;; esac # Get the directory component of the given path, and save it in the # global variables '$dir'. Note that this directory component will # be either empty or ending with a '/' character. This is deliberate. set_dir_from () { case $1 in */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; *) dir=;; esac } # Get the suffix-stripped basename of the given path, and save it the # global variable '$base'. set_base_from () { base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` } # If no dependency file was actually created by the compiler invocation, # we still have to create a dummy depfile, to avoid errors with the # Makefile "include basename.Plo" scheme. make_dummy_depfile () { echo "#dummy" > "$depfile" } # Factor out some common post-processing of the generated depfile. # Requires the auxiliary global variable '$tmpdepfile' to be set. aix_post_process_depfile () { # If the compiler actually managed to produce a dependency file, # post-process it. if test -f "$tmpdepfile"; then # Each line is of the form 'foo.o: dependency.h'. # Do two passes, one to just change these to # $object: dependency.h # and one to simply output # dependency.h: # which is needed to avoid the deleted-header problem. { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" } > "$depfile" rm -f "$tmpdepfile" else make_dummy_depfile fi } # A tabulation character. tab=' ' # A newline character. nl=' ' # Character ranges might be problematic outside the C locale. # These definitions help. upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ lower=abcdefghijklmnopqrstuvwxyz digits=0123456789 alpha=${upper}${lower} if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. depfile=${depfile-`echo "$object" | sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" # Avoid interferences from the environment. gccflag= dashmflag= # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case # here, because this file can only contain one case statement. if test "$depmode" = hp; then # HP compiler uses -M and no extra arg. gccflag=-M depmode=gcc fi if test "$depmode" = dashXmstdout; then # This is just like dashmstdout with a different argument. dashmflag=-xM depmode=dashmstdout fi cygpath_u="cygpath -u -f -" if test "$depmode" = msvcmsys; then # This is just like msvisualcpp but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u='sed s,\\\\,/,g' depmode=msvisualcpp fi if test "$depmode" = msvc7msys; then # This is just like msvc7 but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u='sed s,\\\\,/,g' depmode=msvc7 fi if test "$depmode" = xlc; then # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. gccflag=-qmakedep=gcc,-MF depmode=gcc fi case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. ## Unfortunately, FreeBSD c89 acceptance of flags depends upon ## the command line argument order; so add the flags where they ## appear in depend2.am. Note that the slowdown incurred here ## affects only configure: in makefiles, %FASTDEP% shortcuts this. for arg do case $arg in -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; *) set fnord "$@" "$arg" ;; esac shift # fnord shift # $arg done "$@" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi mv "$tmpdepfile" "$depfile" ;; gcc) ## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. ## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. ## (see the conditional assignment to $gccflag above). ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like ## -MM, not -M (despite what the docs say). Also, it might not be ## supported by the other compilers which use the 'gcc' depmode. ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then gccflag=-MD, fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" # The second -e expression handles DOS-style file names with drive # letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ## This next piece of magic avoids the "deleted header file" problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. ## Some versions of gcc put a space before the ':'. On the theory ## that the space means something, we add a space to the output as ## well. hp depmode also adds that space, but also prefixes the VPATH ## to the object. Take care to not repeat it in the output. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; sgi) if test "$libtool" = yes; then "$@" "-Wp,-MDupdate,$tmpdepfile" else "$@" -MDupdate "$tmpdepfile" fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files echo "$object : \\" > "$depfile" # Clip off the initial element (the dependent). Don't try to be # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; # the IRIX cc adds comments like '#:fec' to the end of the # dependency line. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ | tr "$nl" ' ' >> "$depfile" echo >> "$depfile" # The second pass generates a dummy entry for each header file. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> "$depfile" else make_dummy_depfile fi rm -f "$tmpdepfile" ;; xlc) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the # current directory. Also, the AIX compiler puts '$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.u tmpdepfile2=$base.u tmpdepfile3=$dir.libs/$base.u "$@" -Wc,-M else tmpdepfile1=$dir$base.u tmpdepfile2=$dir$base.u tmpdepfile3=$dir$base.u "$@" -M fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done aix_post_process_depfile ;; tcc) # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 # FIXME: That version still under development at the moment of writing. # Make that this statement remains true also for stable, released # versions. # It will wrap lines (doesn't matter whether long or short) with a # trailing '\', as in: # # foo.o : \ # foo.c \ # foo.h \ # # It will put a trailing '\' even on the last line, and will use leading # spaces rather than leading tabs (at least since its commit 0394caf7 # "Emit spaces for -MD"). "$@" -MD -MF "$tmpdepfile" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. # We have to change lines of the first kind to '$object: \'. sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" # And for each line of the second kind, we have to emit a 'dep.h:' # dummy dependency, to avoid the deleted-header problem. sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" rm -f "$tmpdepfile" ;; ## The order of this option in the case statement is important, since the ## shell code in configure will try each of these formats in the order ## listed in this file. A plain '-MD' option would be understood by many ## compilers, so we must ensure this comes after the gcc and icc options. pgcc) # Portland's C compiler understands '-MD'. # Will always output deps to 'file.d' where file is the root name of the # source file under compilation, even if file resides in a subdirectory. # The object file name does not affect the name of the '.d' file. # pgcc 10.2 will output # foo.o: sub/foo.c sub/foo.h # and will wrap long lines using '\' : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... set_dir_from "$object" # Use the source, not the object, to determine the base name, since # that's sadly what pgcc will do too. set_base_from "$source" tmpdepfile=$base.d # For projects that build the same source file twice into different object # files, the pgcc approach of using the *source* file root name can cause # problems in parallel builds. Use a locking strategy to avoid stomping on # the same $tmpdepfile. lockdir=$base.d-lock trap " echo '$0: caught signal, cleaning up...' >&2 rmdir '$lockdir' exit 1 " 1 2 13 15 numtries=100 i=$numtries while test $i -gt 0; do # mkdir is a portable test-and-set. if mkdir "$lockdir" 2>/dev/null; then # This process acquired the lock. "$@" -MD stat=$? # Release the lock. rmdir "$lockdir" break else # If the lock is being held by a different process, wait # until the winning process is done or we timeout. while test -d "$lockdir" && test $i -gt 0; do sleep 1 i=`expr $i - 1` done fi i=`expr $i - 1` done trap - 1 2 13 15 if test $i -le 0; then echo "$0: failed to acquire lock after $numtries attempts" >&2 echo "$0: check lockdir '$lockdir'" >&2 exit 1 fi if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each line is of the form `foo.o: dependent.h', # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this invocation # correctly. Breaking it into two sed invocations is a workaround. sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp2) # The "hp" stanza above does not work with aCC (C++) and HP's ia64 # compilers, which have integrated preprocessors. The correct option # to use with these is +Maked; it writes dependencies to a file named # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d "$@" -Wc,+Maked else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d "$@" +Maked fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" # Add 'dependent.h:' lines. sed -ne '2,${ s/^ *// s/ \\*$// s/$/:/ p }' "$tmpdepfile" >> "$depfile" else make_dummy_depfile fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put # dependencies in 'foo.d' instead, so we check for that too. # Subdirectories are respected. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then # Libtool generates 2 separate objects for the 2 libraries. These # two compilations output dependencies in $dir.libs/$base.o.d and # in $dir$base.o.d. We have to check for both files, because # one of the two compilations can be disabled. We should prefer # $dir$base.o.d over $dir.libs/$base.o.d because the latter is # automatically cleaned when .libs/ is deleted, while ignoring # the former would cause a distcleancheck panic. tmpdepfile1=$dir$base.o.d # libtool 1.5 tmpdepfile2=$dir.libs/$base.o.d # Likewise. tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d tmpdepfile3=$dir$base.d "$@" -MD fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done # Same post-processing that is required for AIX mode. aix_post_process_depfile ;; msvc7) if test "$libtool" = yes; then showIncludes=-Wc,-showIncludes else showIncludes=-showIncludes fi "$@" $showIncludes > "$tmpdepfile" stat=$? grep -v '^Note: including file: ' "$tmpdepfile" if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" # The first sed program below extracts the file names and escapes # backslashes for cygpath. The second sed program outputs the file # name when reading, but also accumulates all include files in the # hold buffer in order to output them again at the end. This only # works with sed implementations that can handle large buffers. sed < "$tmpdepfile" -n ' /^Note: including file: *\(.*\)/ { s//\1/ s/\\/\\\\/g p }' | $cygpath_u | sort -u | sed -n ' s/ /\\ /g s/\(.*\)/'"$tab"'\1 \\/p s/.\(.*\) \\/\1:/ H $ { s/.*/'"$tab"'/ G p }' >> "$depfile" echo >> "$depfile" # make sure the fragment doesn't end with a backslash rm -f "$tmpdepfile" ;; msvc7msys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. dashmstdout) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove '-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done test -z "$dashmflag" && dashmflag=-M # Require at least two characters before searching for ':' # in the target name. This is to cope with DOS-style filenames: # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. "$@" $dashmflag | sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this sed invocation # correctly. Breaking it into two sed invocations is a workaround. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; dashXmstdout) # This case only exists to satisfy depend.m4. It is never actually # run, as this mode is specially recognized in the preamble. exit 1 ;; makedepend) "$@" || exit $? # Remove any Libtool call if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # X makedepend shift cleared=no eat=no for arg do case $cleared in no) set ""; shift cleared=yes ;; esac if test $eat = yes; then eat=no continue fi case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. -arch) eat=yes ;; -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done obj_suffix=`echo "$object" | sed 's/^.*\././'` touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" # makedepend may prepend the VPATH from the source file name to the object. # No need to regex-escape $object, excess matching of '.' is harmless. sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process the last invocation # correctly. Breaking it into two sed invocations is a workaround. sed '1,2d' "$tmpdepfile" \ | tr ' ' "$nl" \ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; cpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove '-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done "$@" -E \ | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; msvisualcpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi IFS=" " for arg do case "$arg" in -o) shift ;; $object) shift ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E 2>/dev/null | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" echo "$tab" >> "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; msvcmsys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: ibus-libpinyin-1.16.1/m4/0000755000175000017500000000000014767172144010633 5ibus-libpinyin-1.16.1/m4/gettext.m40000644000175000017500000003676313440164411012501 # gettext.m4 serial 68 (gettext-0.19.8) dnl Copyright (C) 1995-2014, 2016 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2006, 2008-2010. dnl Macro to add for using GNU gettext. dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The dnl default (if it is not specified or empty) is 'no-libtool'. dnl INTLSYMBOL should be 'external' for packages with no intl directory, dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. dnl If INTLSYMBOL is 'use-libtool', then a libtool library dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, dnl depending on --{enable,disable}-{shared,static} and on the presence of dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library dnl $(top_builddir)/intl/libintl.a will be created. dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext dnl implementations (in libc or libintl) without the ngettext() function dnl will be ignored. If NEEDSYMBOL is specified and is dnl 'need-formatstring-macros', then GNU gettext implementations that don't dnl support the ISO C 99 formatstring macros will be ignored. dnl INTLDIR is used to find the intl libraries. If empty, dnl the value '$(top_builddir)/intl/' is used. dnl dnl The result of the configuration is one of three cases: dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled dnl and used. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 2) GNU gettext has been found in the system's C library. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 3) No internationalization, always use English msgid. dnl Catalog format: none dnl Catalog extension: none dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. dnl The use of .gmo is historical (it was needed to avoid overwriting the dnl GNU format catalogs when building on a platform with an X/Open gettext), dnl but we keep it in order not to force irrelevant filename changes on the dnl maintainers. dnl AC_DEFUN([AM_GNU_GETTEXT], [ dnl Argument checking. ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT ])])])])]) ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old], [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])]) ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT ])])])]) define([gt_included_intl], ifelse([$1], [external], ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]), [yes])) define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) gt_NEEDS_INIT AM_GNU_GETTEXT_NEED([$2]) AC_REQUIRE([AM_PO_SUBDIRS])dnl ifelse(gt_included_intl, yes, [ AC_REQUIRE([AM_INTL_SUBDIR])dnl ]) dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Sometimes libintl requires libiconv, so first search for libiconv. dnl Ideally we would do this search only after the dnl if test "$USE_NLS" = "yes"; then dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT dnl the configure script would need to contain the same shell code dnl again, outside any 'if'. There are two solutions: dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not dnl documented, we avoid it. ifelse(gt_included_intl, yes, , [ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) ]) dnl Sometimes, on Mac OS X, libintl requires linking with CoreFoundation. gt_INTL_MACOSX dnl Set USE_NLS. AC_REQUIRE([AM_NLS]) ifelse(gt_included_intl, yes, [ BUILD_INCLUDED_LIBINTL=no USE_INCLUDED_LIBINTL=no ]) LIBINTL= LTLIBINTL= POSUB= dnl Add a version number to the cache macros. case " $gt_needs " in *" need-formatstring-macros "*) gt_api_version=3 ;; *" need-ngettext "*) gt_api_version=2 ;; *) gt_api_version=1 ;; esac gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" dnl If we use NLS figure out what method if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no ifelse(gt_included_intl, yes, [ AC_MSG_CHECKING([whether included gettext is requested]) AC_ARG_WITH([included-gettext], [ --with-included-gettext use the GNU gettext library included here], nls_cv_force_use_gnu_gettext=$withval, nls_cv_force_use_gnu_gettext=no) AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext]) nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" if test "$nls_cv_force_use_gnu_gettext" != "yes"; then ]) dnl User does not insist on using GNU NLS library. Figure out what dnl to use. If GNU gettext is available we use this. Else we have dnl to fall back to GNU NLS library. if test $gt_api_version -ge 3; then gt_revision_test_code=' #ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif changequote(,)dnl typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; changequote([,])dnl ' else gt_revision_test_code= fi if test $gt_api_version -ge 2; then gt_expression_test_code=' + * ngettext ("", "", 0)' else gt_expression_test_code= fi AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], [AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[ #include #ifndef __GNU_GETTEXT_SUPPORTED_REVISION extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings; #define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_domain_bindings) #else #define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 #endif $gt_revision_test_code ]], [[ bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION ]])], [eval "$gt_func_gnugettext_libc=yes"], [eval "$gt_func_gnugettext_libc=no"])]) if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then dnl Sometimes libintl requires libiconv, so first search for libiconv. ifelse(gt_included_intl, yes, , [ AM_ICONV_LINK ]) dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) dnl because that would add "-liconv" to LIBINTL and LTLIBINTL dnl even if libiconv doesn't exist. AC_LIB_LINKFLAGS_BODY([intl]) AC_CACHE_CHECK([for GNU gettext in libintl], [$gt_func_gnugettext_libintl], [gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" dnl Now see whether libintl exists and does not depend on libiconv. AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[ #include #ifndef __GNU_GETTEXT_SUPPORTED_REVISION extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); #define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias ("")) #else #define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 #endif $gt_revision_test_code ]], [[ bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION ]])], [eval "$gt_func_gnugettext_libintl=yes"], [eval "$gt_func_gnugettext_libintl=no"]) dnl Now see whether libintl exists and depends on libiconv. if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[ #include #ifndef __GNU_GETTEXT_SUPPORTED_REVISION extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); #define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias ("")) #else #define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 #endif $gt_revision_test_code ]], [[ bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION ]])], [LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" eval "$gt_func_gnugettext_libintl=yes" ]) fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS"]) fi dnl If an already present or preinstalled GNU gettext() is found, dnl use it. But if this macro is used in GNU gettext, and GNU dnl gettext is already preinstalled in libintl, we update this dnl libintl. (Cf. the install rule in intl/Makefile.in.) if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ && test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else dnl Reset the values set by searching for libintl. LIBINTL= LTLIBINTL= INCINTL= fi ifelse(gt_included_intl, yes, [ if test "$gt_use_preinstalled_gnugettext" != "yes"; then dnl GNU gettext is not found in the C library. dnl Fall back on included GNU gettext library. nls_cv_use_gnu_gettext=yes fi fi if test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions used to generate GNU NLS library. BUILD_INCLUDED_LIBINTL=yes USE_INCLUDED_LIBINTL=yes LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD" LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD" LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` fi CATOBJEXT= if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions to use GNU gettext tools. CATOBJEXT=.gmo fi ]) if test -n "$INTL_MACOSX_LIBS"; then if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Some extra flags are needed during linking. LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" fi fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then AC_DEFINE([ENABLE_NLS], [1], [Define to 1 if translation of program messages to the user's native language is requested.]) else USE_NLS=no fi fi AC_MSG_CHECKING([whether to use NLS]) AC_MSG_RESULT([$USE_NLS]) if test "$USE_NLS" = "yes"; then AC_MSG_CHECKING([where the gettext function comes from]) if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then gt_source="external libintl" else gt_source="libc" fi else gt_source="included intl directory" fi AC_MSG_RESULT([$gt_source]) fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then AC_MSG_CHECKING([how to link with libintl]) AC_MSG_RESULT([$LIBINTL]) AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) fi dnl For backward compatibility. Some packages may be using this. AC_DEFINE([HAVE_GETTEXT], [1], [Define if the GNU gettext() function is already present or preinstalled.]) AC_DEFINE([HAVE_DCGETTEXT], [1], [Define if the GNU dcgettext() function is already present or preinstalled.]) fi dnl We need to process the po/ directory. POSUB=po fi ifelse(gt_included_intl, yes, [ dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL dnl to 'yes' because some of the testsuite requires it. if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then BUILD_INCLUDED_LIBINTL=yes fi dnl Make all variables we use known to autoconf. AC_SUBST([BUILD_INCLUDED_LIBINTL]) AC_SUBST([USE_INCLUDED_LIBINTL]) AC_SUBST([CATOBJEXT]) dnl For backward compatibility. Some configure.ins may be using this. nls_cv_header_intl= nls_cv_header_libgt= dnl For backward compatibility. Some Makefiles may be using this. DATADIRNAME=share AC_SUBST([DATADIRNAME]) dnl For backward compatibility. Some Makefiles may be using this. INSTOBJEXT=.mo AC_SUBST([INSTOBJEXT]) dnl For backward compatibility. Some Makefiles may be using this. GENCAT=gencat AC_SUBST([GENCAT]) dnl For backward compatibility. Some Makefiles may be using this. INTLOBJS= if test "$USE_INCLUDED_LIBINTL" = yes; then INTLOBJS="\$(GETTOBJS)" fi AC_SUBST([INTLOBJS]) dnl Enable libtool support if the surrounding package wishes it. INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX]) ]) dnl For backward compatibility. Some Makefiles may be using this. INTLLIBS="$LIBINTL" AC_SUBST([INTLLIBS]) dnl Make all documented variables known to autoconf. AC_SUBST([LIBINTL]) AC_SUBST([LTLIBINTL]) AC_SUBST([POSUB]) ]) dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized. m4_define([gt_NEEDS_INIT], [ m4_divert_text([DEFAULTS], [gt_needs=]) m4_define([gt_NEEDS_INIT], []) ]) dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL]) AC_DEFUN([AM_GNU_GETTEXT_NEED], [ m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"]) ]) dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) dnl Usage: AM_GNU_GETTEXT_REQUIRE_VERSION([gettext-version]) AC_DEFUN([AM_GNU_GETTEXT_REQUIRE_VERSION], []) ibus-libpinyin-1.16.1/m4/intlmacosx.m40000644000175000017500000000474513440164411013171 # intlmacosx.m4 serial 5 (gettext-0.18.2) dnl Copyright (C) 2004-2014, 2016 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Checks for special options needed on Mac OS X. dnl Defines INTL_MACOSX_LIBS. AC_DEFUN([gt_INTL_MACOSX], [ dnl Check for API introduced in Mac OS X 10.2. AC_CACHE_CHECK([for CFPreferencesCopyAppValue], [gt_cv_func_CFPreferencesCopyAppValue], [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[CFPreferencesCopyAppValue(NULL, NULL)]])], [gt_cv_func_CFPreferencesCopyAppValue=yes], [gt_cv_func_CFPreferencesCopyAppValue=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1], [Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) fi dnl Check for API introduced in Mac OS X 10.3. AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent], [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[CFLocaleCopyCurrent();]])], [gt_cv_func_CFLocaleCopyCurrent=yes], [gt_cv_func_CFLocaleCopyCurrent=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFLocaleCopyCurrent = yes; then AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1], [Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi AC_SUBST([INTL_MACOSX_LIBS]) ]) ibus-libpinyin-1.16.1/m4/ltoptions.m40000644000175000017500000003427514767166735013074 # Helper functions for option handling. -*- Autoconf -*- # # Copyright (C) 2004-2005, 2007-2009, 2011-2019, 2021-2022 Free # Software Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 8 ltoptions.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) # _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) # ------------------------------------------ m4_define([_LT_MANGLE_OPTION], [[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) # _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) # --------------------------------------- # Set option OPTION-NAME for macro MACRO-NAME, and if there is a # matching handler defined, dispatch to it. Other OPTION-NAMEs are # saved as a flag. m4_define([_LT_SET_OPTION], [m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), _LT_MANGLE_DEFUN([$1], [$2]), [m4_warning([Unknown $1 option '$2'])])[]dnl ]) # _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) # ------------------------------------------------------------ # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. m4_define([_LT_IF_OPTION], [m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) # _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) # ------------------------------------------------------- # Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME # are set. m4_define([_LT_UNLESS_OPTIONS], [m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), [m4_define([$0_found])])])[]dnl m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 ])[]dnl ]) # _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) # ---------------------------------------- # OPTION-LIST is a space-separated list of Libtool options associated # with MACRO-NAME. If any OPTION has a matching handler declared with # LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about # the unknown option and exit. m4_defun([_LT_SET_OPTIONS], [# Set options m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [_LT_SET_OPTION([$1], _LT_Option)]) m4_if([$1],[LT_INIT],[ dnl dnl Simply set some default values (i.e off) if boolean options were not dnl specified: _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no ]) _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no ]) dnl dnl If no reference was made to various pairs of opposing options, then dnl we run the default mode handler for the pair. For example, if neither dnl 'shared' nor 'disable-shared' was passed, we enable building of shared dnl archives by default: _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], [_LT_ENABLE_FAST_INSTALL]) _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4], [_LT_WITH_AIX_SONAME([aix])]) ]) ])# _LT_SET_OPTIONS ## --------------------------------- ## ## Macros to handle LT_INIT options. ## ## --------------------------------- ## # _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) # ----------------------------------------- m4_define([_LT_MANGLE_DEFUN], [[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) # LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) # ----------------------------------------------- m4_define([LT_OPTION_DEFINE], [m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl ])# LT_OPTION_DEFINE # dlopen # ------ LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes ]) AU_DEFUN([AC_LIBTOOL_DLOPEN], [_LT_SET_OPTION([LT_INIT], [dlopen]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the 'dlopen' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) # win32-dll # --------- # Declare package support for building win32 dll's. LT_OPTION_DEFINE([LT_INIT], [win32-dll], [enable_win32_dll=yes case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) AC_CHECK_TOOL(AS, as, false) AC_CHECK_TOOL(DLLTOOL, dlltool, false) AC_CHECK_TOOL(OBJDUMP, objdump, false) ;; esac test -z "$AS" && AS=as _LT_DECL([], [AS], [1], [Assembler program])dnl test -z "$DLLTOOL" && DLLTOOL=dlltool _LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl ])# win32-dll AU_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_REQUIRE([AC_CANONICAL_HOST])dnl _LT_SET_OPTION([LT_INIT], [win32-dll]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the 'win32-dll' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) # _LT_ENABLE_SHARED([DEFAULT]) # ---------------------------- # implement the --enable-shared flag, and supports the 'shared' and # 'disable-shared' LT_INIT options. # DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. m4_define([_LT_ENABLE_SHARED], [m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([shared], [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS=$lt_save_ifs ;; esac], [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) _LT_DECL([build_libtool_libs], [enable_shared], [0], [Whether or not to build shared libraries]) ])# _LT_ENABLE_SHARED LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) # Old names: AC_DEFUN([AC_ENABLE_SHARED], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) ]) AC_DEFUN([AC_DISABLE_SHARED], [_LT_SET_OPTION([LT_INIT], [disable-shared]) ]) AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_SHARED], []) dnl AC_DEFUN([AM_DISABLE_SHARED], []) # _LT_ENABLE_STATIC([DEFAULT]) # ---------------------------- # implement the --enable-static flag, and support the 'static' and # 'disable-static' LT_INIT options. # DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. m4_define([_LT_ENABLE_STATIC], [m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([static], [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS=$lt_save_ifs ;; esac], [enable_static=]_LT_ENABLE_STATIC_DEFAULT) _LT_DECL([build_old_libs], [enable_static], [0], [Whether or not to build static libraries]) ])# _LT_ENABLE_STATIC LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) # Old names: AC_DEFUN([AC_ENABLE_STATIC], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) ]) AC_DEFUN([AC_DISABLE_STATIC], [_LT_SET_OPTION([LT_INIT], [disable-static]) ]) AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_STATIC], []) dnl AC_DEFUN([AM_DISABLE_STATIC], []) # _LT_ENABLE_FAST_INSTALL([DEFAULT]) # ---------------------------------- # implement the --enable-fast-install flag, and support the 'fast-install' # and 'disable-fast-install' LT_INIT options. # DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. m4_define([_LT_ENABLE_FAST_INSTALL], [m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([fast-install], [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS=$lt_save_ifs ;; esac], [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) _LT_DECL([fast_install], [enable_fast_install], [0], [Whether or not to optimize for fast installation])dnl ])# _LT_ENABLE_FAST_INSTALL LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) # Old names: AU_DEFUN([AC_ENABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the 'fast-install' option into LT_INIT's first parameter.]) ]) AU_DEFUN([AC_DISABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], [disable-fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the 'disable-fast-install' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) # _LT_WITH_AIX_SONAME([DEFAULT]) # ---------------------------------- # implement the --with-aix-soname flag, and support the `aix-soname=aix' # and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT # is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'. m4_define([_LT_WITH_AIX_SONAME], [m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl shared_archive_member_spec= case $host,$enable_shared in power*-*-aix[[5-9]]*,yes) AC_MSG_CHECKING([which variant of shared library versioning to provide]) AC_ARG_WITH([aix-soname], [AS_HELP_STRING([--with-aix-soname=aix|svr4|both], [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])], [case $withval in aix|svr4|both) ;; *) AC_MSG_ERROR([Unknown argument to --with-aix-soname]) ;; esac lt_cv_with_aix_soname=$with_aix_soname], [AC_CACHE_VAL([lt_cv_with_aix_soname], [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT) with_aix_soname=$lt_cv_with_aix_soname]) AC_MSG_RESULT([$with_aix_soname]) if test aix != "$with_aix_soname"; then # For the AIX way of multilib, we name the shared archive member # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, # the AIX toolchain works better with OBJECT_MODE set (default 32). if test 64 = "${OBJECT_MODE-32}"; then shared_archive_member_spec=shr_64 else shared_archive_member_spec=shr fi fi ;; *) with_aix_soname=aix ;; esac _LT_DECL([], [shared_archive_member_spec], [0], [Shared archive member basename, for filename based shared library versioning on AIX])dnl ])# _LT_WITH_AIX_SONAME LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])]) LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])]) LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])]) # _LT_WITH_PIC([MODE]) # -------------------- # implement the --with-pic flag, and support the 'pic-only' and 'no-pic' # LT_INIT options. # MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'. m4_define([_LT_WITH_PIC], [AC_ARG_WITH([pic], [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], [lt_p=${PACKAGE-default} case $withval in yes|no) pic_mode=$withval ;; *) pic_mode=default # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for lt_pkg in $withval; do IFS=$lt_save_ifs if test "X$lt_pkg" = "X$lt_p"; then pic_mode=yes fi done IFS=$lt_save_ifs ;; esac], [pic_mode=m4_default([$1], [default])]) _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl ])# _LT_WITH_PIC LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) # Old name: AU_DEFUN([AC_LIBTOOL_PICMODE], [_LT_SET_OPTION([LT_INIT], [pic-only]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the 'pic-only' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) ## ----------------- ## ## LTDL_INIT Options ## ## ----------------- ## m4_define([_LTDL_MODE], []) LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], [m4_define([_LTDL_MODE], [nonrecursive])]) LT_OPTION_DEFINE([LTDL_INIT], [recursive], [m4_define([_LTDL_MODE], [recursive])]) LT_OPTION_DEFINE([LTDL_INIT], [subproject], [m4_define([_LTDL_MODE], [subproject])]) m4_define([_LTDL_TYPE], []) LT_OPTION_DEFINE([LTDL_INIT], [installable], [m4_define([_LTDL_TYPE], [installable])]) LT_OPTION_DEFINE([LTDL_INIT], [convenience], [m4_define([_LTDL_TYPE], [convenience])]) ibus-libpinyin-1.16.1/m4/lib-ld.m40000644000175000017500000000714313440164411012146 # lib-ld.m4 serial 6 dnl Copyright (C) 1996-2003, 2009-2016 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Subroutines of libtool.m4, dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid dnl collision with libtool.m4. dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no. AC_DEFUN([AC_LIB_PROG_LD_GNU], [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld], [# I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 /dev/null 2>&1 \ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ || PATH_SEPARATOR=';' } fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by $CC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]]* | ?:[[\\/]]*) re_direlt='/[[^/]][[^/]]*/\.\./' # Canonicalize the pathname of ld ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'` while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL([acl_cv_path_LD], [if test -z "$LD"; then acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$acl_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # Additional permission under section 7 of the GNU General Public # License, version 3 ("GPLv3"): # # If you convey this file as part of a work that contains a # configuration script generated by Autoconf, you may do so under # terms of your choice. # # This program 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 General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . m4_define([_BOOST_SERIAL], [m4_translit([ # serial 26 ], [# ], [])]) # Original sources can be found at http://github.com/tsuna/boost.m4 # You can fetch the latest version of the script by doing: # wget http://github.com/tsuna/boost.m4/raw/master/build-aux/boost.m4 # ------ # # README # # ------ # # This file provides several macros to use the various Boost libraries. # The first macro is BOOST_REQUIRE. It will simply check if it's possible to # find the Boost headers of a given (optional) minimum version and it will # define BOOST_CPPFLAGS accordingly. It will add an option --with-boost to # your configure so that users can specify non standard locations. # If the user's environment contains BOOST_ROOT and --with-boost was not # specified, --with-boost=$BOOST_ROOT is implicitly used. # For more README and documentation, go to http://github.com/tsuna/boost.m4 # Note: THESE MACROS ASSUME THAT YOU USE LIBTOOL. If you don't, don't worry, # simply read the README, it will show you what to do step by step. m4_pattern_forbid([^_?(BOOST|Boost)_]) # _BOOST_SED_CPP(SED-PROGRAM, PROGRAM, # [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) # -------------------------------------------------------- # Same as AC_EGREP_CPP, but leave the result in conftest.i. # # SED-PROGRAM is *not* overquoted, as in AC_EGREP_CPP. It is expanded # in double-quotes, so escape your double quotes. # # It could be useful to turn this into a macro which extracts the # value of any macro. m4_define([_BOOST_SED_CPP], [AC_LANG_PUSH([C++])dnl AC_LANG_PREPROC_REQUIRE()dnl AC_REQUIRE([AC_PROG_SED])dnl AC_LANG_CONFTEST([AC_LANG_SOURCE([[$2]])]) AS_IF([dnl eval is necessary to expand ac_cpp. dnl Ultrix and Pyramid sh refuse to redirect output of eval, so use subshell. dnl Beware of Windows end-of-lines, for instance if we are running dnl some Windows programs under Wine. In that case, boost/version.hpp dnl is certainly using "\r\n", but the regular Unix shell will only dnl strip `\n' with backquotes, not the `\r'. This results in dnl boost_cv_lib_version='1_37\r' for instance, which breaks dnl everything else. dnl Cannot use 'dnl' after [$4] because a trailing dnl may break AC_CACHE_CHECK dnl dnl Beware that GCC 5, when expanding macros, may embed # line directives dnl a within single line: dnl dnl # 1 "conftest.cc" dnl # 1 "" dnl # 1 "" dnl # 1 "conftest.cc" dnl # 1 "/opt/local/include/boost/version.hpp" 1 3 dnl # 2 "conftest.cc" 2 dnl boost-lib-version = dnl # 2 "conftest.cc" 3 dnl "1_56" dnl dnl So get rid of the # and empty lines, and glue the remaining ones together. (eval "$ac_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | grep -v '#' | grep -v '^[[[:space:]]]*$' | tr -d '\r' | tr -s '\n' ' ' | $SED -n -e "$1" >conftest.i 2>&1], [$3], [$4]) rm -rf conftest* AC_LANG_POP([C++])dnl ])# _BOOST_SED_CPP # BOOST_REQUIRE([VERSION], [ACTION-IF-NOT-FOUND]) # ----------------------------------------------- # Look for Boost. If version is given, it must either be a literal of the form # "X.Y.Z" where X, Y and Z are integers (the ".Z" part being optional) or a # variable "$var". # Defines the value BOOST_CPPFLAGS. This macro only checks for headers with # the required version, it does not check for any of the Boost libraries. # On # success, defines HAVE_BOOST. On failure, calls the optional # ACTION-IF-NOT-FOUND action if one was supplied. # Otherwise aborts with an error message. AC_DEFUN_ONCE([BOOST_REQUIRE], [AC_REQUIRE([AC_PROG_CXX])dnl AC_REQUIRE([AC_PROG_GREP])dnl echo "$as_me: this is boost.m4[]_BOOST_SERIAL" >&AS_MESSAGE_LOG_FD boost_save_IFS=$IFS boost_version_req=$1 IFS=. set x $boost_version_req 0 0 0 IFS=$boost_save_IFS shift boost_version_req=`expr "$[1]" '*' 100000 + "$[2]" '*' 100 + "$[3]"` boost_version_req_string=$[1].$[2].$[3] AC_ARG_WITH([boost], [AS_HELP_STRING([--with-boost=DIR], [prefix of Boost $1 @<:@guess@:>@])])dnl AC_ARG_VAR([BOOST_ROOT],[Location of Boost installation])dnl # If BOOST_ROOT is set and the user has not provided a value to # --with-boost, then treat BOOST_ROOT as if it the user supplied it. if test x"$BOOST_ROOT" != x; then if test x"$with_boost" = x; then AC_MSG_NOTICE([Detected BOOST_ROOT; continuing with --with-boost=$BOOST_ROOT]) with_boost=$BOOST_ROOT else AC_MSG_NOTICE([Detected BOOST_ROOT=$BOOST_ROOT, but overridden by --with-boost=$with_boost]) fi fi AC_SUBST([DISTCHECK_CONFIGURE_FLAGS], ["$DISTCHECK_CONFIGURE_FLAGS '--with-boost=$with_boost'"])dnl boost_save_CPPFLAGS=$CPPFLAGS AC_CACHE_CHECK([for Boost headers version >= $boost_version_req_string], [boost_cv_inc_path], [boost_cv_inc_path=no AC_LANG_PUSH([C++])dnl m4_pattern_allow([^BOOST_VERSION$])dnl AC_LANG_CONFTEST([AC_LANG_PROGRAM([[#include #if !defined BOOST_VERSION # error BOOST_VERSION is not defined #elif BOOST_VERSION < $boost_version_req # error Boost headers version < $boost_version_req #endif ]])]) # If the user provided a value to --with-boost, use it and only it. case $with_boost in #( ''|yes) set x '' /opt/local/include /usr/local/include /opt/include \ /usr/include C:/Boost/include;; #( *) set x "$with_boost/include" "$with_boost";; esac shift for boost_dir do # Without --layout=system, Boost (or at least some versions) installs # itself in /include/boost-. This inner loop helps to # find headers in such directories. # # Any ${boost_dir}/boost-x_xx directories are searched in reverse version # order followed by ${boost_dir}. The final '.' is a sentinel for # searching $boost_dir" itself. Entries are whitespace separated. # # I didn't indent this loop on purpose (to avoid over-indented code) boost_layout_system_search_list=`cd "$boost_dir" 2>/dev/null \ && ls -1 | "${GREP}" '^boost-' | sort -rn -t- -k2 \ && echo .` for boost_inc in $boost_layout_system_search_list do if test x"$boost_inc" != x.; then boost_inc="$boost_dir/$boost_inc" else boost_inc="$boost_dir" # Uses sentinel in boost_layout_system_search_list fi if test x"$boost_inc" != x; then # We are going to check whether the version of Boost installed # in $boost_inc is usable by running a compilation that # #includes it. But if we pass a -I/some/path in which Boost # is not installed, the compiler will just skip this -I and # use other locations (either from CPPFLAGS, or from its list # of system include directories). As a result we would use # header installed on the machine instead of the /some/path # specified by the user. So in that precise case (trying # $boost_inc), make sure the version.hpp exists. # # Use test -e as there can be symlinks. test -e "$boost_inc/boost/version.hpp" || continue CPPFLAGS="$CPPFLAGS -I$boost_inc" fi AC_COMPILE_IFELSE([], [boost_cv_inc_path=yes], [boost_cv_version=no]) if test x"$boost_cv_inc_path" = xyes; then if test x"$boost_inc" != x; then boost_cv_inc_path=$boost_inc fi break 2 fi done done AC_LANG_POP([C++])dnl ]) case $boost_cv_inc_path in #( no) boost_errmsg="cannot find Boost headers version >= $boost_version_req_string" m4_if([$2], [], [AC_MSG_ERROR([$boost_errmsg])], [AC_MSG_NOTICE([$boost_errmsg])]) $2 ;;#( yes) BOOST_CPPFLAGS= ;;#( *) AC_SUBST([BOOST_CPPFLAGS], ["-I$boost_cv_inc_path"])dnl ;; esac if test x"$boost_cv_inc_path" != xno; then AC_DEFINE([HAVE_BOOST], [1], [Defined if the requested minimum BOOST version is satisfied]) AC_CACHE_CHECK([for Boost's header version], [boost_cv_lib_version], [m4_pattern_allow([^BOOST_LIB_VERSION$])dnl _BOOST_SED_CPP([[/^boost-lib-version = /{s///;s/[\" ]//g;p;q;}]], [#include boost-lib-version = BOOST_LIB_VERSION], [boost_cv_lib_version=`cat conftest.i`])]) # e.g. "134" for 1_34_1 or "135" for 1_35 boost_major_version=`echo "$boost_cv_lib_version" | sed 's/_//;s/_.*//'` case $boost_major_version in #( '' | *[[!0-9]]*) AC_MSG_ERROR([invalid value: boost_major_version='$boost_major_version']) ;; esac fi CPPFLAGS=$boost_save_CPPFLAGS ])# BOOST_REQUIRE # BOOST_STATIC() # -------------- # Add the "--enable-static-boost" configure argument. If this argument is given # on the command line, static versions of the libraries will be looked up. AC_DEFUN([BOOST_STATIC], [AC_ARG_ENABLE([static-boost], [AS_HELP_STRING([--enable-static-boost], [Prefer the static boost libraries over the shared ones [no]])], [enable_static_boost=yes], [enable_static_boost=no])])# BOOST_STATIC # BOOST_FIND_HEADER([HEADER-NAME], [ACTION-IF-NOT-FOUND], [ACTION-IF-FOUND]) # -------------------------------------------------------------------------- # Wrapper around AC_CHECK_HEADER for Boost headers. Useful to check for # some parts of the Boost library which are only made of headers and don't # require linking (such as Boost.Foreach). # # Default ACTION-IF-NOT-FOUND: Fail with a fatal error unless Boost couldn't be # found in the first place, in which case by default a notice is issued to the # user. Presumably if we haven't died already it's because it's OK to not have # Boost, which is why only a notice is issued instead of a hard error. # # Default ACTION-IF-FOUND: define the preprocessor symbol HAVE_ in # case of success # (where HEADER-NAME is written LIKE_THIS, e.g., # HAVE_BOOST_FOREACH_HPP). AC_DEFUN([BOOST_FIND_HEADER], [AC_REQUIRE([BOOST_REQUIRE])dnl if test x"$boost_cv_inc_path" = xno; then m4_default([$2], [AC_MSG_NOTICE([Boost not available, not searching for $1])]) else AC_LANG_PUSH([C++])dnl boost_save_CPPFLAGS=$CPPFLAGS CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" AC_CHECK_HEADER([$1], [m4_default([$3], [AC_DEFINE(AS_TR_CPP([HAVE_$1]), [1], [Define to 1 if you have <$1>])])], [m4_default([$2], [AC_MSG_ERROR([cannot find $1])])]) CPPFLAGS=$boost_save_CPPFLAGS AC_LANG_POP([C++])dnl fi ])# BOOST_FIND_HEADER # BOOST_FIND_LIBS([COMPONENT-NAME], [CANDIDATE-LIB-NAMES], # [PREFERRED-RT-OPT], [HEADER-NAME], [CXX-TEST], # [CXX-PROLOGUE]) # -------------------------------------------------------------- # Look for the Boost library COMPONENT-NAME (e.g., `thread', for # libboost_thread) under the possible CANDIDATE-LIB-NAMES (e.g., # "thread_win32 thread"). Check that HEADER-NAME works and check that # libboost_LIB-NAME can link with the code CXX-TEST. The optional # argument CXX-PROLOGUE can be used to include some C++ code before # the `main' function. # # Invokes BOOST_FIND_HEADER([HEADER-NAME]) (see above). # # Boost libraries typically come compiled with several flavors (with different # runtime options) so PREFERRED-RT-OPT is the preferred suffix. A suffix is one # or more of the following letters: sgdpn (in that order). s = static # runtime, d = debug build, g = debug/diagnostic runtime, p = STLPort build, # n = (unsure) STLPort build without iostreams from STLPort (it looks like `n' # must always be used along with `p'). Additionally, PREFERRED-RT-OPT can # start with `mt-' to indicate that there is a preference for multi-thread # builds. Some sample values for PREFERRED-RT-OPT: (nothing), mt, d, mt-d, gdp # ... If you want to make sure you have a specific version of Boost # (eg, >= 1.33) you *must* invoke BOOST_REQUIRE before this macro. AC_DEFUN([BOOST_FIND_LIBS], [AC_REQUIRE([BOOST_REQUIRE])dnl AC_REQUIRE([_BOOST_FIND_COMPILER_TAG])dnl AC_REQUIRE([BOOST_STATIC])dnl AC_REQUIRE([_BOOST_GUESS_WHETHER_TO_USE_MT])dnl if test x"$boost_cv_inc_path" = xno; then AC_MSG_NOTICE([Boost not available, not searching for the Boost $1 library]) else dnl The else branch is huge and wasn't intended on purpose. AC_LANG_PUSH([C++])dnl AS_VAR_PUSHDEF([Boost_lib], [boost_cv_lib_$1])dnl AS_VAR_PUSHDEF([Boost_lib_LDFLAGS], [boost_cv_lib_$1_LDFLAGS])dnl AS_VAR_PUSHDEF([Boost_lib_LDPATH], [boost_cv_lib_$1_LDPATH])dnl AS_VAR_PUSHDEF([Boost_lib_LIBS], [boost_cv_lib_$1_LIBS])dnl BOOST_FIND_HEADER([$4]) boost_save_CPPFLAGS=$CPPFLAGS CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" AC_CACHE_CHECK([for the Boost $1 library], [Boost_lib], [_BOOST_FIND_LIBS($@)]) case $Boost_lib in #( (no) _AC_MSG_LOG_CONFTEST AC_MSG_ERROR([cannot find the flags to link with Boost $1]) ;; esac AC_SUBST(AS_TR_CPP([BOOST_$1_LDFLAGS]), [$Boost_lib_LDFLAGS])dnl AC_SUBST(AS_TR_CPP([BOOST_$1_LDPATH]), [$Boost_lib_LDPATH])dnl AC_SUBST([BOOST_LDPATH], [$Boost_lib_LDPATH])dnl AC_SUBST(AS_TR_CPP([BOOST_$1_LIBS]), [$Boost_lib_LIBS])dnl CPPFLAGS=$boost_save_CPPFLAGS AS_VAR_POPDEF([Boost_lib])dnl AS_VAR_POPDEF([Boost_lib_LDFLAGS])dnl AS_VAR_POPDEF([Boost_lib_LDPATH])dnl AS_VAR_POPDEF([Boost_lib_LIBS])dnl AC_LANG_POP([C++])dnl fi ]) # BOOST_FIND_LIB([LIB-NAME], # [PREFERRED-RT-OPT], [HEADER-NAME], [CXX-TEST], # [CXX-PROLOGUE]) # -------------------------------------------------------------- # Backward compatibility wrapper for BOOST_FIND_LIBS. AC_DEFUN([BOOST_FIND_LIB], [BOOST_FIND_LIBS([$1], $@)]) # _BOOST_FIND_LIBS([LIB-NAME], [CANDIDATE-LIB-NAMES], # [PREFERRED-RT-OPT], [HEADER-NAME], [CXX-TEST], # [CXX-PROLOGUE]) # -------------------------------------------------------------- # Real implementation of BOOST_FIND_LIBS: rely on these local macros: # Boost_lib, Boost_lib_LDFLAGS, Boost_lib_LDPATH, Boost_lib_LIBS # # The algorithm is as follows: first look for a given library name # according to the user's PREFERRED-RT-OPT. For each library name, we # prefer to use the ones that carry the tag (toolset name). Each # library is searched through the various standard paths were Boost is # usually installed. If we can't find the standard variants, we try # to enforce -mt (for instance on MacOSX, libboost_thread.dylib # doesn't exist but there's -obviously- libboost_thread-mt.dylib). AC_DEFUN([_BOOST_FIND_LIBS], [Boost_lib=no case "$3" in #( (mt | mt-) boost_mt=-mt; boost_rtopt=;; #( (mt* | mt-*) boost_mt=-mt; boost_rtopt=`expr "X$3" : 'Xmt-*\(.*\)'`;; #( (*) boost_mt=; boost_rtopt=$3;; esac if test $enable_static_boost = yes; then boost_rtopt="s$boost_rtopt" fi # Find the proper debug variant depending on what we've been asked to find. case $boost_rtopt in #( (*d*) boost_rt_d=$boost_rtopt;; #( (*[[sgpn]]*) # Insert the `d' at the right place (in between `sg' and `pn') boost_rt_d=`echo "$boost_rtopt" | sed 's/\(s*g*\)\(p*n*\)/\1\2/'`;; #( (*) boost_rt_d='-d';; esac # If the PREFERRED-RT-OPT are not empty, prepend a `-'. test -n "$boost_rtopt" && boost_rtopt="-$boost_rtopt" $boost_guess_use_mt && boost_mt=-mt # Look for the abs path the static archive. # $libext is computed by Libtool but let's make sure it's non empty. test -z "$libext" && AC_MSG_ERROR([the libext variable is empty, did you invoke Libtool?]) boost_save_ac_objext=$ac_objext # Generate the test file. AC_LANG_CONFTEST([AC_LANG_PROGRAM([#include <$4> $6], [$5])]) dnl Optimization hacks: compiling C++ is slow, especially with Boost. What dnl we're trying to do here is guess the right combination of link flags dnl (LIBS / LDFLAGS) to use a given library. This can take several dnl iterations before it succeeds and is thus *very* slow. So what we do dnl instead is that we compile the code first (and thus get an object file, dnl typically conftest.o). Then we try various combinations of link flags dnl until we succeed to link conftest.o in an executable. The problem is dnl that the various TRY_LINK / COMPILE_IFELSE macros of Autoconf always dnl remove all the temporary files including conftest.o. So the trick here dnl is to temporarily change the value of ac_objext so that conftest.o is dnl preserved accross tests. This is obviously fragile and I will burn in dnl hell for not respecting Autoconf's documented interfaces, but in the dnl mean time, it optimizes the macro by a factor of 5 to 30. dnl Another small optimization: the first argument of AC_COMPILE_IFELSE left dnl empty because the test file is generated only once above (before we dnl start the for loops). AC_COMPILE_IFELSE([], [ac_objext=do_not_rm_me_plz], [AC_MSG_ERROR([cannot compile a test that uses Boost $1])]) ac_objext=$boost_save_ac_objext boost_failed_libs= # Don't bother to ident the following nested for loops, only the 2 # innermost ones matter. for boost_lib_ in $2; do for boost_tag_ in -$boost_cv_lib_tag ''; do for boost_ver_ in -$boost_cv_lib_version ''; do for boost_mt_ in $boost_mt -mt ''; do for boost_rtopt_ in $boost_rtopt '' -d; do for boost_lib in \ boost_$boost_lib_$boost_tag_$boost_mt_$boost_rtopt_$boost_ver_ \ boost_$boost_lib_$boost_tag_$boost_rtopt_$boost_ver_ \ boost_$boost_lib_$boost_tag_$boost_mt_$boost_ver_ \ boost_$boost_lib_$boost_tag_$boost_ver_ do # Avoid testing twice the same lib case $boost_failed_libs in #( (*@$boost_lib@*) continue;; esac # If with_boost is empty, we'll search in /lib first, which is not quite # right so instead we'll try to a location based on where the headers are. boost_tmp_lib=$with_boost test x"$with_boost" = x && boost_tmp_lib=${boost_cv_inc_path%/include} for boost_ldpath in "$boost_tmp_lib/lib" '' \ /opt/local/lib* /usr/local/lib* /opt/lib* /usr/lib* \ "$with_boost" C:/Boost/lib /lib* do # Don't waste time with directories that don't exist. if test x"$boost_ldpath" != x && test ! -e "$boost_ldpath"; then continue fi boost_save_LDFLAGS=$LDFLAGS # Are we looking for a static library? case $boost_ldpath:$boost_rtopt_ in #( (*?*:*s*) # Yes (Non empty boost_ldpath + s in rt opt) Boost_lib_LIBS="$boost_ldpath/lib$boost_lib.$libext" test -e "$Boost_lib_LIBS" || continue;; #( (*) # No: use -lboost_foo to find the shared library. Boost_lib_LIBS="-l$boost_lib";; esac boost_save_LIBS=$LIBS LIBS="$Boost_lib_LIBS $LIBS" test x"$boost_ldpath" != x && LDFLAGS="$LDFLAGS -L$boost_ldpath" dnl First argument of AC_LINK_IFELSE left empty because the test file is dnl generated only once above (before we start the for loops). _BOOST_AC_LINK_IFELSE([], [Boost_lib=yes], [Boost_lib=no]) ac_objext=$boost_save_ac_objext LDFLAGS=$boost_save_LDFLAGS LIBS=$boost_save_LIBS if test x"$Boost_lib" = xyes; then # Check or used cached result of whether or not using -R or # -rpath makes sense. Some implementations of ld, such as for # Mac OSX, require -rpath but -R is the flag known to work on # other systems. https://github.com/tsuna/boost.m4/issues/19 AC_CACHE_VAL([boost_cv_rpath_link_ldflag], [case $boost_ldpath in '') # Nothing to do. boost_cv_rpath_link_ldflag= boost_rpath_link_ldflag_found=yes;; *) for boost_cv_rpath_link_ldflag in -Wl,-R, -Wl,-rpath,; do LDFLAGS="$boost_save_LDFLAGS -L$boost_ldpath $boost_cv_rpath_link_ldflag$boost_ldpath" LIBS="$boost_save_LIBS $Boost_lib_LIBS" _BOOST_AC_LINK_IFELSE([], [boost_rpath_link_ldflag_found=yes break], [boost_rpath_link_ldflag_found=no]) done ;; esac AS_IF([test "x$boost_rpath_link_ldflag_found" != "xyes"], [AC_MSG_ERROR([Unable to determine whether to use -R or -rpath])]) LDFLAGS=$boost_save_LDFLAGS LIBS=$boost_save_LIBS ]) test x"$boost_ldpath" != x && Boost_lib_LDFLAGS="-L$boost_ldpath $boost_cv_rpath_link_ldflag$boost_ldpath" Boost_lib_LDPATH="$boost_ldpath" break 7 else boost_failed_libs="$boost_failed_libs@$boost_lib@" fi done done done done done done done # boost_lib_ rm -f conftest.$ac_objext ]) # --------------------------------------- # # Checks for the various Boost libraries. # # --------------------------------------- # # List of boost libraries: http://www.boost.org/libs/libraries.htm # The page http://beta.boost.org/doc/libs is useful: it gives the first release # version of each library (among other things). # BOOST_DEFUN(LIBRARY, CODE) # -------------------------- # Define BOOST_ as a macro that runs CODE. # # Use indir to avoid the warning on underquoted macro name given to AC_DEFUN. m4_define([BOOST_DEFUN], [m4_indir([AC_DEFUN], m4_toupper([BOOST_$1]), [m4_pushdef([BOOST_Library], [$1])dnl $2 m4_popdef([BOOST_Library])dnl ]) ]) # BOOST_ARRAY() # ------------- # Look for Boost.Array BOOST_DEFUN([Array], [BOOST_FIND_HEADER([boost/array.hpp])]) # BOOST_ASIO() # ------------ # Look for Boost.Asio (new in Boost 1.35). BOOST_DEFUN([Asio], [AC_REQUIRE([BOOST_SYSTEM])dnl BOOST_FIND_HEADER([boost/asio.hpp])]) # BOOST_ASSIGN() # ------------- # Look for Boost.Assign BOOST_DEFUN([Assign], [BOOST_FIND_HEADER([boost/assign.hpp])]) # BOOST_BIND() # ------------ # Look for Boost.Bind. BOOST_DEFUN([Bind], [BOOST_FIND_HEADER([boost/bind.hpp])]) # BOOST_CHRONO() # -------------- # Look for Boost.Chrono. BOOST_DEFUN([Chrono], [# Do we have to check for Boost.System? This link-time dependency was # added as of 1.35.0. If we have a version <1.35, we must not attempt to # find Boost.System as it didn't exist by then. if test $boost_major_version -ge 135; then BOOST_SYSTEM([$1]) fi # end of the Boost.System check. boost_filesystem_save_LIBS=$LIBS boost_filesystem_save_LDFLAGS=$LDFLAGS m4_pattern_allow([^BOOST_SYSTEM_(LIBS|LDFLAGS)$])dnl LIBS="$LIBS $BOOST_SYSTEM_LIBS" LDFLAGS="$LDFLAGS $BOOST_SYSTEM_LDFLAGS" BOOST_FIND_LIB([chrono], [$1], [boost/chrono.hpp], [boost::chrono::thread_clock d;]) if test $enable_static_boost = yes && test $boost_major_version -ge 135; then BOOST_CHRONO_LIBS="$BOOST_CHRONO_LIBS $BOOST_SYSTEM_LIBS" fi LIBS=$boost_filesystem_save_LIBS LDFLAGS=$boost_filesystem_save_LDFLAGS ])# BOOST_CHRONO # BOOST_CONTEXT([PREFERRED-RT-OPT]) # ----------------------------------- # Look for Boost.Context. For the documentation of PREFERRED-RT-OPT, see the # documentation of BOOST_FIND_LIB above. # # * This library was introduced in Boost 1.51.0 # * The signatures of make_fcontext() and jump_fcontext were changed in 1.56.0 # * A dependency on boost_thread appears in 1.57.0 BOOST_DEFUN([Context], [boost_context_save_LIBS=$LIBS boost_context_save_LDFLAGS=$LDFLAGS if test $boost_major_version -ge 157; then BOOST_THREAD([$1]) m4_pattern_allow([^BOOST_THREAD_(LIBS|LDFLAGS)$])dnl LIBS="$LIBS $BOOST_THREAD_LIBS" LDFLAGS="$LDFLAGS $BOOST_THREAD_LDFLAGS" fi BOOST_FIND_LIB([context], [$1], [boost/context/all.hpp],[[ // creates a stack void * stack_pointer = new void*[4096]; std::size_t const size = sizeof(void*[4096]); #if BOOST_VERSION <= 105100 ctx::make_fcontext(&fc, f); return ctx::jump_fcontext(&fcm, &fc, 3) == 6; #else fc = ctx::make_fcontext(stack_pointer, size, f); return ctx::jump_fcontext(&fcm, fc, 3) == 6; #endif ]],[dnl #include #if BOOST_VERSION <= 105100 namespace ctx = boost::ctx; static ctx::fcontext_t fcm, fc; static void f(intptr_t i) { ctx::jump_fcontext(&fc, &fcm, i * 2); } #elif BOOST_VERSION <= 105500 namespace ctx = boost::context; // context static ctx::fcontext_t fcm, *fc; // context-function static void f(intptr_t i) { ctx::jump_fcontext(fc, &fcm, i * 2); } #else namespace ctx = boost::context; // context static ctx::fcontext_t fcm, fc; // context-function static void f(intptr_t i) { ctx::jump_fcontext(&fc, fcm, i * 2); } #endif ]) LIBS=$boost_context_save_LIBS LDFLAGS=$boost_context_save_LDFLAGS ])# BOOST_CONTEXT # BOOST_CONVERSION() # ------------------ # Look for Boost.Conversion (cast / lexical_cast) BOOST_DEFUN([Conversion], [BOOST_FIND_HEADER([boost/cast.hpp]) BOOST_FIND_HEADER([boost/lexical_cast.hpp]) ])# BOOST_CONVERSION # BOOST_COROUTINE([PREFERRED-RT-OPT]) # ----------------------------------- # Look for Boost.Coroutine. For the documentation of PREFERRED-RT-OPT, see the # documentation of BOOST_FIND_LIB above. This library was introduced in Boost # 1.53.0 BOOST_DEFUN([Coroutine], [ boost_coroutine_save_LIBS=$LIBS boost_coroutine_save_LDFLAGS=$LDFLAGS # Link-time dependency from coroutine to context BOOST_CONTEXT([$1]) # Starting from Boost 1.55 a dependency on Boost.System is added if test $boost_major_version -ge 155; then BOOST_SYSTEM([$1]) fi m4_pattern_allow([^BOOST_(CONTEXT|SYSTEM)_(LIBS|LDFLAGS)]) LIBS="$LIBS $BOOST_CONTEXT_LIBS $BOOST_SYSTEM_LIBS" LDFLAGS="$LDFLAGS $BOOST_CONTEXT_LDFLAGS" # in 1.53 coroutine was a header only library if test $boost_major_version -eq 153; then BOOST_FIND_HEADER([boost/coroutine/coroutine.hpp]) else BOOST_FIND_LIB([coroutine], [$1], [boost/coroutine/coroutine.hpp], [ #include #if BOOST_VERSION <= 105500 boost::coroutines::coroutine coro; coro.get(); #else boost::coroutines::asymmetric_coroutine::pull_type coro; coro.get(); #endif ]) fi # Link-time dependency from coroutine to context, existed only in 1.53, in 1.54 # coroutine doesn't use context from its headers but from its library. if test $boost_major_version -eq 153 || test $enable_static_boost = yes && test $boost_major_version -ge 154; then BOOST_COROUTINE_LIBS="$BOOST_COROUTINE_LIBS $BOOST_CONTEXT_LIBS" BOOST_COROUTINE_LDFLAGS="$BOOST_COROUTINE_LDFLAGS $BOOST_CONTEXT_LDFLAGS" fi if test $enable_static_boost = yes && test $boost_major_version -ge 155; then BOOST_COROUTINE_LIBS="$BOOST_COROUTINE_LIBS $BOOST_SYSTEM_LIBS" BOOST_COROUTINE_LDFLAGS="$BOOST_COROUTINE_LDFLAGS $BOOST_SYSTEM_LDFLAGS" fi LIBS=$boost_coroutine_save_LIBS LDFLAGS=$boost_coroutine_save_LDFLAGS ])# BOOST_COROUTINE # BOOST_CRC() # ----------- # Look for Boost.CRC BOOST_DEFUN([CRC], [BOOST_FIND_HEADER([boost/crc.hpp]) ])# BOOST_CRC # BOOST_DATE_TIME([PREFERRED-RT-OPT]) # ----------------------------------- # Look for Boost.Date_Time. For the documentation of PREFERRED-RT-OPT, see the # documentation of BOOST_FIND_LIB above. BOOST_DEFUN([Date_Time], [BOOST_FIND_LIB([date_time], [$1], [boost/date_time/posix_time/posix_time.hpp], [boost::posix_time::ptime t;]) ])# BOOST_DATE_TIME # BOOST_FILESYSTEM([PREFERRED-RT-OPT]) # ------------------------------------ # Look for Boost.Filesystem. For the documentation of PREFERRED-RT-OPT, see # the documentation of BOOST_FIND_LIB above. # Do not check for boost/filesystem.hpp because this file was introduced in # 1.34. BOOST_DEFUN([Filesystem], [# Do we have to check for Boost.System? This link-time dependency was # added as of 1.35.0. If we have a version <1.35, we must not attempt to # find Boost.System as it didn't exist by then. if test $boost_major_version -ge 135; then BOOST_SYSTEM([$1]) fi # end of the Boost.System check. boost_filesystem_save_LIBS=$LIBS boost_filesystem_save_LDFLAGS=$LDFLAGS m4_pattern_allow([^BOOST_SYSTEM_(LIBS|LDFLAGS)$])dnl LIBS="$LIBS $BOOST_SYSTEM_LIBS" LDFLAGS="$LDFLAGS $BOOST_SYSTEM_LDFLAGS" BOOST_FIND_LIB([filesystem], [$1], [boost/filesystem/path.hpp], [boost::filesystem::path p;]) if test $enable_static_boost = yes && test $boost_major_version -ge 135; then BOOST_FILESYSTEM_LIBS="$BOOST_FILESYSTEM_LIBS $BOOST_SYSTEM_LIBS" fi LIBS=$boost_filesystem_save_LIBS LDFLAGS=$boost_filesystem_save_LDFLAGS ])# BOOST_FILESYSTEM # BOOST_FLYWEIGHT() # ----------------- # Look for Boost.Flyweight. BOOST_DEFUN([Flyweight], [dnl There's a hidden dependency on pthreads. AC_REQUIRE([_BOOST_PTHREAD_FLAG])dnl BOOST_FIND_HEADER([boost/flyweight.hpp]) AC_SUBST([BOOST_FLYWEIGHT_LIBS], [$boost_cv_pthread_flag]) ]) # BOOST_FOREACH() # --------------- # Look for Boost.Foreach. BOOST_DEFUN([Foreach], [BOOST_FIND_HEADER([boost/foreach.hpp])]) # BOOST_FORMAT() # -------------- # Look for Boost.Format. # Note: we can't check for boost/format/format_fwd.hpp because the header isn't # standalone. It can't be compiled because it triggers the following error: # boost/format/detail/config_macros.hpp:88: error: 'locale' in namespace 'std' # does not name a type BOOST_DEFUN([Format], [BOOST_FIND_HEADER([boost/format.hpp])]) # BOOST_FUNCTION() # ---------------- # Look for Boost.Function BOOST_DEFUN([Function], [BOOST_FIND_HEADER([boost/function.hpp])]) # BOOST_GEOMETRY() # ---------------- # Look for Boost.Geometry (new since 1.47.0). BOOST_DEFUN([Geometry], [BOOST_FIND_HEADER([boost/geometry.hpp]) ])# BOOST_GEOMETRY # BOOST_GRAPH([PREFERRED-RT-OPT]) # ------------------------------- # Look for Boost.Graphs. For the documentation of PREFERRED-RT-OPT, see the # documentation of BOOST_FIND_LIB above. BOOST_DEFUN([Graph], [boost_graph_save_LIBS=$LIBS boost_graph_save_LDFLAGS=$LDFLAGS # Link-time dependency from graph to regex was added as of 1.40.0. if test $boost_major_version -ge 140; then BOOST_REGEX([$1]) m4_pattern_allow([^BOOST_REGEX_(LIBS|LDFLAGS)$])dnl LIBS="$LIBS $BOOST_REGEX_LIBS" LDFLAGS="$LDFLAGS $BOOST_REGEX_LDFLAGS" fi BOOST_FIND_LIB([graph], [$1], [boost/graph/adjacency_list.hpp], [boost::adjacency_list<> g;]) LIBS=$boost_graph_save_LIBS LDFLAGS=$boost_graph_save_LDFLAGS ])# BOOST_GRAPH # BOOST_IOSTREAMS([PREFERRED-RT-OPT]) # ----------------------------------- # Look for Boost.IOStreams. For the documentation of PREFERRED-RT-OPT, see the # documentation of BOOST_FIND_LIB above. BOOST_DEFUN([IOStreams], [BOOST_FIND_LIB([iostreams], [$1], [boost/iostreams/device/file_descriptor.hpp], [boost::iostreams::file_descriptor fd; fd.close();]) ])# BOOST_IOSTREAMS # BOOST_HASH() # ------------ # Look for Boost.Functional/Hash BOOST_DEFUN([Hash], [BOOST_FIND_HEADER([boost/functional/hash.hpp])]) # BOOST_LAMBDA() # -------------- # Look for Boost.Lambda BOOST_DEFUN([Lambda], [BOOST_FIND_HEADER([boost/lambda/lambda.hpp])]) # BOOST_LOCALE() # -------------- # Look for Boost.Locale BOOST_DEFUN([Locale], [ boost_locale_save_LIBS=$LIBS boost_locale_save_LDFLAGS=$LDFLAGS # require SYSTEM for boost-1.50.0 and up if test $boost_major_version -ge 150; then BOOST_SYSTEM([$1]) m4_pattern_allow([^BOOST_SYSTEM_(LIBS|LDFLAGS)$])dnl LIBS="$LIBS $BOOST_SYSTEM_LIBS" LDFLAGS="$LDFLAGS $BOOST_SYSTEM_LDFLAGS" fi # end of the Boost.System check. BOOST_FIND_LIB([locale], [$1], [boost/locale.hpp], [[boost::locale::generator gen; std::locale::global(gen(""));]]) LIBS=$boost_locale_save_LIBS LDFLAGS=$boost_locale_save_LDFLAGS ])# BOOST_LOCALE # BOOST_LOG([PREFERRED-RT-OPT]) # ----------------------------- # Look for Boost.Log. For the documentation of PREFERRED-RT-OPT, see the # documentation of BOOST_FIND_LIB above. BOOST_DEFUN([Log], [boost_log_save_LIBS=$LIBS boost_log_save_LDFLAGS=$LDFLAGS BOOST_SYSTEM([$1]) BOOST_FILESYSTEM([$1]) BOOST_DATE_TIME([$1]) m4_pattern_allow([^BOOST_(SYSTEM|FILESYSTEM|DATE_TIME)_(LIBS|LDFLAGS)$])dnl LIBS="$LIBS $BOOST_DATE_TIME_LIBS $BOOST_FILESYSTEM_LIBS $BOOST_SYSTEM_LIBS" LDFLAGS="$LDFLAGS $BOOST_DATE_TIME_LDFLAGS $BOOST_FILESYSTEM_LDFLAGS $BOOST_SYSTEM_LDFLAGS" BOOST_FIND_LIB([log], [$1], [boost/log/core/core.hpp], [boost::log::attribute a; a.get_value();]) LIBS=$boost_log_save_LIBS LDFLAGS=$boost_log_save_LDFLAGS ])# BOOST_LOG # BOOST_LOG_SETUP([PREFERRED-RT-OPT]) # ----------------------------------- # Look for Boost.Log. For the documentation of PREFERRED-RT-OPT, see the # documentation of BOOST_FIND_LIB above. BOOST_DEFUN([Log_Setup], [boost_log_setup_save_LIBS=$LIBS boost_log_setup_save_LDFLAGS=$LDFLAGS BOOST_LOG([$1]) m4_pattern_allow([^BOOST_LOG_(LIBS|LDFLAGS)$])dnl LIBS="$LIBS $BOOST_LOG_LIBS" LDFLAGS="$LDFLAGS $BOOST_LOG_LDFLAGS" BOOST_FIND_LIB([log_setup], [$1], [boost/log/utility/setup/from_settings.hpp], [boost::log::basic_settings bs; bs.empty();]) LIBS=$boost_log_setup_save_LIBS LDFLAGS=$boost_log_setup_save_LDFLAGS ])# BOOST_LOG_SETUP # BOOST_MATH() # ------------ # Look for Boost.Math # TODO: This library isn't header-only but it comes in multiple different # flavors that don't play well with BOOST_FIND_LIB (e.g, libboost_math_c99, # libboost_math_c99f, libboost_math_c99l, libboost_math_tr1, # libboost_math_tr1f, libboost_math_tr1l). This macro must be fixed to do the # right thing anyway. BOOST_DEFUN([Math], [BOOST_FIND_HEADER([boost/math/special_functions.hpp])]) # BOOST_MPI([PREFERRED-RT-OPT]) # ------------------------------- # Look for Boost MPI. For the documentation of PREFERRED-RT-OPT, see the # documentation of BOOST_FIND_LIB above. Uses MPICXX variable if it is # set, otherwise tries CXX # BOOST_DEFUN([MPI], [boost_save_CXX=${CXX} boost_save_CXXCPP=${CXXCPP} if test x"${MPICXX}" != x; then CXX=${MPICXX} CXXCPP="${MPICXX} -E" fi BOOST_FIND_LIB([mpi], [$1], [boost/mpi.hpp], [int argc = 0; char **argv = 0; boost::mpi::environment env(argc,argv);]) CXX=${boost_save_CXX} CXXCPP=${boost_save_CXXCPP} ])# BOOST_MPI # BOOST_MULTIARRAY() # ------------------ # Look for Boost.MultiArray BOOST_DEFUN([MultiArray], [BOOST_FIND_HEADER([boost/multi_array.hpp])]) # BOOST_NUMERIC_UBLAS() # -------------------------- # Look for Boost.NumericUblas (Basic Linear Algebra) BOOST_DEFUN([Numeric_Ublas], [BOOST_FIND_HEADER([boost/numeric/ublas/vector.hpp]) ])# BOOST_NUMERIC_UBLAS # BOOST_NUMERIC_CONVERSION() # -------------------------- # Look for Boost.NumericConversion (policy-based numeric conversion) BOOST_DEFUN([Numeric_Conversion], [BOOST_FIND_HEADER([boost/numeric/conversion/converter.hpp]) ])# BOOST_NUMERIC_CONVERSION # BOOST_OPTIONAL() # ---------------- # Look for Boost.Optional BOOST_DEFUN([Optional], [BOOST_FIND_HEADER([boost/optional.hpp])]) # BOOST_PREPROCESSOR() # -------------------- # Look for Boost.Preprocessor BOOST_DEFUN([Preprocessor], [BOOST_FIND_HEADER([boost/preprocessor/repeat.hpp])]) # BOOST_RANGE() # -------------------- # Look for Boost.Range BOOST_DEFUN([Range], [BOOST_FIND_HEADER([boost/range/adaptors.hpp])]) # BOOST_UNORDERED() # ----------------- # Look for Boost.Unordered BOOST_DEFUN([Unordered], [BOOST_FIND_HEADER([boost/unordered_map.hpp])]) # BOOST_UUID() # ------------ # Look for Boost.Uuid BOOST_DEFUN([Uuid], [BOOST_FIND_HEADER([boost/uuid/uuid.hpp])]) # BOOST_PROGRAM_OPTIONS([PREFERRED-RT-OPT]) # ----------------------------------------- # Look for Boost.Program_options. For the documentation of PREFERRED-RT-OPT, # see the documentation of BOOST_FIND_LIB above. BOOST_DEFUN([Program_Options], [BOOST_FIND_LIB([program_options], [$1], [boost/program_options.hpp], [boost::program_options::options_description d("test");]) ])# BOOST_PROGRAM_OPTIONS # _BOOST_PYTHON_CONFIG(VARIABLE, FLAG) # ------------------------------------ # Save VARIABLE, and define it via `python-config --FLAG`. # Substitute BOOST_PYTHON_VARIABLE. m4_define([_BOOST_PYTHON_CONFIG], [AC_SUBST([BOOST_PYTHON_$1], [`python-config --$2 2>/dev/null`])dnl boost_python_save_$1=$$1 $1="$$1 $BOOST_PYTHON_$1"]) # BOOST_PYTHON([PREFERRED-RT-OPT]) # -------------------------------- # Look for Boost.Python. For the documentation of PREFERRED-RT-OPT, # see the documentation of BOOST_FIND_LIB above. BOOST_DEFUN([Python], [_BOOST_PYTHON_CONFIG([CPPFLAGS], [includes]) _BOOST_PYTHON_CONFIG([LDFLAGS], [ldflags]) _BOOST_PYTHON_CONFIG([LIBS], [libs]) m4_pattern_allow([^BOOST_PYTHON_MODULE$])dnl BOOST_FIND_LIBS([python], [python python3], [$1], [boost/python.hpp], [], [BOOST_PYTHON_MODULE(empty) {}]) CPPFLAGS=$boost_python_save_CPPFLAGS LDFLAGS=$boost_python_save_LDFLAGS LIBS=$boost_python_save_LIBS ])# BOOST_PYTHON # BOOST_REF() # ----------- # Look for Boost.Ref BOOST_DEFUN([Ref], [BOOST_FIND_HEADER([boost/ref.hpp])]) # BOOST_REGEX([PREFERRED-RT-OPT]) # ------------------------------- # Look for Boost.Regex. For the documentation of PREFERRED-RT-OPT, see the # documentation of BOOST_FIND_LIB above. BOOST_DEFUN([Regex], [BOOST_FIND_LIB([regex], [$1], [boost/regex.hpp], [boost::regex exp("*"); boost::regex_match("foo", exp);]) ])# BOOST_REGEX # BOOST_SERIALIZATION([PREFERRED-RT-OPT]) # --------------------------------------- # Look for Boost.Serialization. For the documentation of PREFERRED-RT-OPT, see # the documentation of BOOST_FIND_LIB above. BOOST_DEFUN([Serialization], [BOOST_FIND_LIB([serialization], [$1], [boost/archive/text_oarchive.hpp], [std::ostream* o = 0; // Cheap way to get an ostream... boost::archive::text_oarchive t(*o);]) ])# BOOST_SERIALIZATION # BOOST_SIGNALS([PREFERRED-RT-OPT]) # --------------------------------- # Look for Boost.Signals. For the documentation of PREFERRED-RT-OPT, see the # documentation of BOOST_FIND_LIB above. BOOST_DEFUN([Signals], [BOOST_FIND_LIB([signals], [$1], [boost/signal.hpp], [boost::signal s;]) ])# BOOST_SIGNALS # BOOST_SIGNALS2() # ---------------- # Look for Boost.Signals2 (new since 1.39.0). BOOST_DEFUN([Signals2], [BOOST_FIND_HEADER([boost/signals2.hpp]) ])# BOOST_SIGNALS2 # BOOST_SMART_PTR() # ----------------- # Look for Boost.SmartPtr BOOST_DEFUN([Smart_Ptr], [BOOST_FIND_HEADER([boost/scoped_ptr.hpp]) BOOST_FIND_HEADER([boost/shared_ptr.hpp]) ]) # BOOST_STATICASSERT() # -------------------- # Look for Boost.StaticAssert BOOST_DEFUN([StaticAssert], [BOOST_FIND_HEADER([boost/static_assert.hpp])]) # BOOST_STRING_ALGO() # ------------------- # Look for Boost.StringAlgo BOOST_DEFUN([String_Algo], [BOOST_FIND_HEADER([boost/algorithm/string.hpp]) ]) # BOOST_SYSTEM([PREFERRED-RT-OPT]) # -------------------------------- # Look for Boost.System. For the documentation of PREFERRED-RT-OPT, see the # documentation of BOOST_FIND_LIB above. This library was introduced in Boost # 1.35.0. BOOST_DEFUN([System], [BOOST_FIND_LIB([system], [$1], [boost/system/error_code.hpp], [boost::system::error_code e; e.clear();]) ])# BOOST_SYSTEM # BOOST_TEST([PREFERRED-RT-OPT]) # ------------------------------ # Look for Boost.Test. For the documentation of PREFERRED-RT-OPT, see the # documentation of BOOST_FIND_LIB above. BOOST_DEFUN([Test], [m4_pattern_allow([^BOOST_CHECK$])dnl BOOST_FIND_LIB([unit_test_framework], [$1], [boost/test/unit_test.hpp], [BOOST_CHECK(2 == 2);], [using boost::unit_test::test_suite; test_suite* init_unit_test_suite(int argc, char ** argv) { return NULL; }]) ])# BOOST_TEST # BOOST_THREAD([PREFERRED-RT-OPT]) # --------------------------------- # Look for Boost.Thread. For the documentation of PREFERRED-RT-OPT, see the # documentation of BOOST_FIND_LIB above. BOOST_DEFUN([Thread], [dnl Having the pthread flag is required at least on GCC3 where dnl boost/thread.hpp would complain if we try to compile without dnl -pthread on GNU/Linux. AC_REQUIRE([_BOOST_PTHREAD_FLAG])dnl boost_thread_save_LIBS=$LIBS boost_thread_save_LDFLAGS=$LDFLAGS boost_thread_save_CPPFLAGS=$CPPFLAGS # Link-time dependency from thread to system was added as of 1.49.0. if test $boost_major_version -ge 149; then BOOST_SYSTEM([$1]) fi # end of the Boost.System check. m4_pattern_allow([^BOOST_SYSTEM_(LIBS|LDFLAGS)$])dnl LIBS="$LIBS $BOOST_SYSTEM_LIBS $boost_cv_pthread_flag" LDFLAGS="$LDFLAGS $BOOST_SYSTEM_LDFLAGS" CPPFLAGS="$CPPFLAGS $boost_cv_pthread_flag" # When compiling for the Windows platform, the threads library is named # differently. This suffix doesn't exist in new versions of Boost, or # possibly new versions of GCC on mingw I am assuming it's Boost's change for # now and I am setting version to 1.48, for lack of knowledge as to when this # change occurred. if test $boost_major_version -lt 148; then case $host_os in (*mingw*) boost_thread_lib_ext=_win32;; esac fi BOOST_FIND_LIBS([thread], [thread$boost_thread_lib_ext], [$1], [boost/thread.hpp], [boost::thread t; boost::mutex m;]) case $host_os in (*mingw*) boost_thread_w32_socket_link=-lws2_32;; esac BOOST_THREAD_LIBS="$BOOST_THREAD_LIBS $BOOST_SYSTEM_LIBS $boost_cv_pthread_flag $boost_thread_w32_socket_link" BOOST_THREAD_LDFLAGS="$BOOST_SYSTEM_LDFLAGS" BOOST_CPPFLAGS="$BOOST_CPPFLAGS $boost_cv_pthread_flag" LIBS=$boost_thread_save_LIBS LDFLAGS=$boost_thread_save_LDFLAGS CPPFLAGS=$boost_thread_save_CPPFLAGS ])# BOOST_THREAD AU_ALIAS([BOOST_THREADS], [BOOST_THREAD]) # BOOST_TOKENIZER() # ----------------- # Look for Boost.Tokenizer BOOST_DEFUN([Tokenizer], [BOOST_FIND_HEADER([boost/tokenizer.hpp])]) # BOOST_TRIBOOL() # --------------- # Look for Boost.Tribool BOOST_DEFUN([Tribool], [BOOST_FIND_HEADER([boost/logic/tribool_fwd.hpp]) BOOST_FIND_HEADER([boost/logic/tribool.hpp]) ]) # BOOST_TUPLE() # ------------- # Look for Boost.Tuple BOOST_DEFUN([Tuple], [BOOST_FIND_HEADER([boost/tuple/tuple.hpp])]) # BOOST_TYPETRAITS() # -------------------- # Look for Boost.TypeTraits BOOST_DEFUN([TypeTraits], [BOOST_FIND_HEADER([boost/type_traits.hpp])]) # BOOST_UTILITY() # --------------- # Look for Boost.Utility (noncopyable, result_of, base-from-member idiom, # etc.) BOOST_DEFUN([Utility], [BOOST_FIND_HEADER([boost/utility.hpp])]) # BOOST_VARIANT() # --------------- # Look for Boost.Variant. BOOST_DEFUN([Variant], [BOOST_FIND_HEADER([boost/variant/variant_fwd.hpp]) BOOST_FIND_HEADER([boost/variant.hpp])]) # BOOST_POINTER_CONTAINER() # ------------------------ # Look for Boost.PointerContainer BOOST_DEFUN([Pointer_Container], [BOOST_FIND_HEADER([boost/ptr_container/ptr_deque.hpp]) BOOST_FIND_HEADER([boost/ptr_container/ptr_list.hpp]) BOOST_FIND_HEADER([boost/ptr_container/ptr_vector.hpp]) BOOST_FIND_HEADER([boost/ptr_container/ptr_array.hpp]) BOOST_FIND_HEADER([boost/ptr_container/ptr_set.hpp]) BOOST_FIND_HEADER([boost/ptr_container/ptr_map.hpp]) ])# BOOST_POINTER_CONTAINER # BOOST_WAVE([PREFERRED-RT-OPT]) # ------------------------------ # NOTE: If you intend to use Wave/Spirit with thread support, make sure you # call BOOST_THREAD first. # Look for Boost.Wave. For the documentation of PREFERRED-RT-OPT, see the # documentation of BOOST_FIND_LIB above. BOOST_DEFUN([Wave], [AC_REQUIRE([BOOST_FILESYSTEM])dnl AC_REQUIRE([BOOST_DATE_TIME])dnl boost_wave_save_LIBS=$LIBS boost_wave_save_LDFLAGS=$LDFLAGS m4_pattern_allow([^BOOST_((FILE)?SYSTEM|DATE_TIME|THREAD)_(LIBS|LDFLAGS)$])dnl LIBS="$LIBS $BOOST_SYSTEM_LIBS $BOOST_FILESYSTEM_LIBS $BOOST_DATE_TIME_LIBS \ $BOOST_THREAD_LIBS" LDFLAGS="$LDFLAGS $BOOST_SYSTEM_LDFLAGS $BOOST_FILESYSTEM_LDFLAGS \ $BOOST_DATE_TIME_LDFLAGS $BOOST_THREAD_LDFLAGS" BOOST_FIND_LIB([wave], [$1], [boost/wave.hpp], [boost::wave::token_id id; get_token_name(id);]) LIBS=$boost_wave_save_LIBS LDFLAGS=$boost_wave_save_LDFLAGS ])# BOOST_WAVE # BOOST_XPRESSIVE() # ----------------- # Look for Boost.Xpressive (new since 1.36.0). BOOST_DEFUN([Xpressive], [BOOST_FIND_HEADER([boost/xpressive/xpressive.hpp])]) # ----------------- # # Internal helpers. # # ----------------- # # _BOOST_PTHREAD_FLAG() # --------------------- # Internal helper for BOOST_THREAD. Computes boost_cv_pthread_flag # which must be used in CPPFLAGS and LIBS. # # Yes, we *need* to put the -pthread thing in CPPFLAGS because with GCC3, # boost/thread.hpp will trigger a #error if -pthread isn't used: # boost/config/requires_threads.hpp:47:5: #error "Compiler threading support # is not turned on. Please set the correct command line options for # threading: -pthread (Linux), -pthreads (Solaris) or -mthreads (Mingw32)" # # Based on ACX_PTHREAD: http://autoconf-archive.cryp.to/acx_pthread.html AC_DEFUN([_BOOST_PTHREAD_FLAG], [AC_REQUIRE([AC_PROG_CXX])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_LANG_PUSH([C++])dnl AC_CACHE_CHECK([for the flags needed to use pthreads], [boost_cv_pthread_flag], [ boost_cv_pthread_flag= # The ordering *is* (sometimes) important. Some notes on the # individual items follow: # (none): in case threads are in libc; should be tried before -Kthread and # other compiler flags to prevent continual compiler warnings # -lpthreads: AIX (must check this before -lpthread) # -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) # -llthread: LinuxThreads port on FreeBSD (also preferred to -pthread) # -pthread: GNU Linux/GCC (kernel threads), BSD/GCC (userland threads) # -pthreads: Solaris/GCC # -mthreads: MinGW32/GCC, Lynx/GCC # -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it # doesn't hurt to check since this sometimes defines pthreads too; # also defines -D_REENTRANT) # ... -mt is also the pthreads flag for HP/aCC # -lpthread: GNU Linux, etc. # --thread-safe: KAI C++ case $host_os in #( *solaris*) # On Solaris (at least, for some versions), libc contains stubbed # (non-functional) versions of the pthreads routines, so link-based # tests will erroneously succeed. (We need to link with -pthreads/-mt/ # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather # a function called by this macro, so we could check for that, but # who knows whether they'll stub that too in a future libc.) So, # we'll just look for -pthreads and -lpthread first: boost_pthread_flags="-pthreads -lpthread -mt -pthread";; #( *) boost_pthread_flags="-lpthreads -Kthread -kthread -llthread -pthread \ -pthreads -mthreads -lpthread --thread-safe -mt";; esac # Generate the test file. AC_LANG_CONFTEST([AC_LANG_PROGRAM([#include ], [pthread_t th; pthread_join(th, 0); pthread_attr_init(0); pthread_cleanup_push(0, 0); pthread_create(0,0,0,0); pthread_cleanup_pop(0);])]) for boost_pthread_flag in '' $boost_pthread_flags; do boost_pthread_ok=false dnl Re-use the test file already generated. boost_pthreads__save_LIBS=$LIBS LIBS="$LIBS $boost_pthread_flag" AC_LINK_IFELSE([], [if grep ".*$boost_pthread_flag" conftest.err; then echo "This flag seems to have triggered warnings" >&AS_MESSAGE_LOG_FD else boost_pthread_ok=:; boost_cv_pthread_flag=$boost_pthread_flag fi]) LIBS=$boost_pthreads__save_LIBS $boost_pthread_ok && break done ]) AC_LANG_POP([C++])dnl ])# _BOOST_PTHREAD_FLAG # _BOOST_gcc_test(MAJOR, MINOR) # ----------------------------- # Internal helper for _BOOST_FIND_COMPILER_TAG. m4_define([_BOOST_gcc_test], ["defined __GNUC__ && __GNUC__ == $1 && __GNUC_MINOR__ == $2 && !defined __ICC @ gcc$1$2"])dnl # _BOOST_mingw_test(MAJOR, MINOR) # ----------------------------- # Internal helper for _BOOST_FIND_COMPILER_TAG. m4_define([_BOOST_mingw_test], ["defined __GNUC__ && __GNUC__ == $1 && __GNUC_MINOR__ == $2 && !defined __ICC && \ (defined WIN32 || defined WINNT || defined _WIN32 || defined __WIN32 \ || defined __WIN32__ || defined __WINNT || defined __WINNT__) @ mgw$1$2"])dnl # _BOOST_FIND_COMPILER_TAG() # -------------------------- # Internal. When Boost is installed without --layout=system, each library # filename will hold a suffix that encodes the compiler used during the # build. The Boost build system seems to call this a `tag'. AC_DEFUN([_BOOST_FIND_COMPILER_TAG], [AC_REQUIRE([AC_PROG_CXX])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_CACHE_CHECK([for the toolset name used by Boost for $CXX], [boost_cv_lib_tag], [boost_cv_lib_tag=unknown if test x$boost_cv_inc_path != xno; then AC_LANG_PUSH([C++])dnl # The following tests are mostly inspired by boost/config/auto_link.hpp # The list is sorted to most recent/common to oldest compiler (in order # to increase the likelihood of finding the right compiler with the # least number of compilation attempt). # Beware that some tests are sensible to the order (for instance, we must # look for MinGW before looking for GCC3). # I used one compilation test per compiler with a #error to recognize # each compiler so that it works even when cross-compiling (let me know # if you know a better approach). # Known missing tags (known from Boost's tools/build/v2/tools/common.jam): # como, edg, kcc, bck, mp, sw, tru, xlc # I'm not sure about my test for `il' (be careful: Intel's ICC pre-defines # the same defines as GCC's). for i in \ _BOOST_mingw_test(6, 2) \ _BOOST_gcc_test(6, 2) \ _BOOST_mingw_test(6, 1) \ _BOOST_gcc_test(6, 1) \ _BOOST_mingw_test(6, 0) \ _BOOST_gcc_test(6, 0) \ _BOOST_mingw_test(5, 3) \ _BOOST_gcc_test(5, 3) \ _BOOST_mingw_test(5, 2) \ _BOOST_gcc_test(5, 2) \ _BOOST_mingw_test(5, 1) \ _BOOST_gcc_test(5, 1) \ _BOOST_mingw_test(5, 0) \ _BOOST_gcc_test(5, 0) \ _BOOST_mingw_test(4, 10) \ _BOOST_gcc_test(4, 10) \ _BOOST_mingw_test(4, 9) \ _BOOST_gcc_test(4, 9) \ _BOOST_mingw_test(4, 8) \ _BOOST_gcc_test(4, 8) \ _BOOST_mingw_test(4, 7) \ _BOOST_gcc_test(4, 7) \ _BOOST_mingw_test(4, 6) \ _BOOST_gcc_test(4, 6) \ _BOOST_mingw_test(4, 5) \ _BOOST_gcc_test(4, 5) \ _BOOST_mingw_test(4, 4) \ _BOOST_gcc_test(4, 4) \ _BOOST_mingw_test(4, 3) \ _BOOST_gcc_test(4, 3) \ _BOOST_mingw_test(4, 2) \ _BOOST_gcc_test(4, 2) \ _BOOST_mingw_test(4, 1) \ _BOOST_gcc_test(4, 1) \ _BOOST_mingw_test(4, 0) \ _BOOST_gcc_test(4, 0) \ "defined __GNUC__ && __GNUC__ == 3 && !defined __ICC \ && (defined WIN32 || defined WINNT || defined _WIN32 || defined __WIN32 \ || defined __WIN32__ || defined __WINNT || defined __WINNT__) @ mgw" \ _BOOST_gcc_test(3, 4) \ _BOOST_gcc_test(3, 3) \ "defined _MSC_VER && _MSC_VER >= 1500 @ vc90" \ "defined _MSC_VER && _MSC_VER == 1400 @ vc80" \ _BOOST_gcc_test(3, 2) \ "defined _MSC_VER && _MSC_VER == 1310 @ vc71" \ _BOOST_gcc_test(3, 1) \ _BOOST_gcc_test(3, 0) \ "defined __BORLANDC__ @ bcb" \ "defined __ICC && (defined __unix || defined __unix__) @ il" \ "defined __ICL @ iw" \ "defined _MSC_VER && _MSC_VER == 1300 @ vc7" \ _BOOST_gcc_test(2, 95) \ "defined __MWERKS__ && __MWERKS__ <= 0x32FF @ cw9" \ "defined _MSC_VER && _MSC_VER < 1300 && !defined UNDER_CE @ vc6" \ "defined _MSC_VER && _MSC_VER < 1300 && defined UNDER_CE @ evc4" \ "defined __MWERKS__ && __MWERKS__ <= 0x31FF @ cw8" do boost_tag_test=`expr "X$i" : 'X\([[^@]]*\) @ '` boost_tag=`expr "X$i" : 'X[[^@]]* @ \(.*\)'` AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #if $boost_tag_test /* OK */ #else # error $boost_tag_test #endif ]])], [boost_cv_lib_tag=$boost_tag; break], []) done AC_LANG_POP([C++])dnl case $boost_cv_lib_tag in #( # Some newer (>= 1.35?) versions of Boost seem to only use "gcc" as opposed # to "gcc41" for instance. *-gcc | *'-gcc ') :;; #( Don't re-add -gcc: it's already in there. gcc*) boost_tag_x= case $host_os in #( darwin*) if test $boost_major_version -ge 136; then # The `x' added in r46793 of Boost. boost_tag_x=x fi;; esac # We can specify multiple tags in this variable because it's used by # BOOST_FIND_LIB that does a `for tag in -$boost_cv_lib_tag' ... boost_cv_lib_tag="$boost_tag_x$boost_cv_lib_tag -${boost_tag_x}gcc" ;; #( unknown) AC_MSG_WARN([[could not figure out which toolset name to use for $CXX]]) boost_cv_lib_tag= ;; esac fi])dnl end of AC_CACHE_CHECK ])# _BOOST_FIND_COMPILER_TAG # _BOOST_GUESS_WHETHER_TO_USE_MT() # -------------------------------- # Compile a small test to try to guess whether we should favor MT (Multi # Thread) flavors of Boost. Sets boost_guess_use_mt accordingly. AC_DEFUN([_BOOST_GUESS_WHETHER_TO_USE_MT], [# Check whether we do better use `mt' even though we weren't ask to. AC_LANG_PUSH([C++])dnl AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #if defined _REENTRANT || defined _MT || defined __MT__ /* use -mt */ #else # error MT not needed #endif ]])], [boost_guess_use_mt=:], [boost_guess_use_mt=false]) AC_LANG_POP([C++])dnl ]) # _BOOST_AC_LINK_IFELSE(PROGRAM, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) # ------------------------------------------------------------------- # Fork of _AC_LINK_IFELSE that preserves conftest.o across calls. Fragile, # will break when Autoconf changes its internals. Requires that you manually # rm -f conftest.$ac_objext in between to really different tests, otherwise # you will try to link a conftest.o left behind by a previous test. # Used to aggressively optimize BOOST_FIND_LIB (see the big comment in this # macro). # # Don't use "break" in the actions, as it would short-circuit some code # this macro runs after the actions. m4_define([_BOOST_AC_LINK_IFELSE], [m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])dnl rm -f conftest$ac_exeext boost_save_ac_ext=$ac_ext boost_use_source=: # If we already have a .o, re-use it. We change $ac_ext so that $ac_link # tries to link the existing object file instead of compiling from source. test -f conftest.$ac_objext && ac_ext=$ac_objext && boost_use_source=false && _AS_ECHO_LOG([re-using the existing conftest.$ac_objext]) AS_IF([_AC_DO_STDERR($ac_link) && { test -z "$ac_[]_AC_LANG_ABBREV[]_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_executable_p conftest$ac_exeext dnl FIXME: use AS_TEST_X instead when 2.61 is widespread enough. }], [$2], [if $boost_use_source; then _AC_MSG_LOG_CONFTEST fi $3]) ac_objext=$boost_save_ac_objext ac_ext=$boost_save_ac_ext dnl Delete also the IPA/IPO (Inter Procedural Analysis/Optimization) dnl information created by the PGI compiler (conftest_ipa8_conftest.oo), dnl as it would interfere with the next link command. rm -f core conftest.err conftest_ipa8_conftest.oo \ conftest$ac_exeext m4_ifval([$1], [conftest.$ac_ext])[]dnl ])# _BOOST_AC_LINK_IFELSE # Local Variables: # mode: autoconf # End: ibus-libpinyin-1.16.1/m4/Makefile.in0000644000175000017500000003511314767166740012630 # Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # vim:set noet ts=4: # # ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus # # Copyright (c) 2008-2010 Peng Huang # VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/as-version.m4 \ $(top_srcdir)/m4/boost.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BOOST_CPPFLAGS = @BOOST_CPPFLAGS@ BOOST_ROOT = @BOOST_ROOT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CLOUD_INPUT_MODE = @CLOUD_INPUT_MODE@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ CTAGS = @CTAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENV = @ENV@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FILECMD = @FILECMD@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GIO2_CFLAGS = @GIO2_CFLAGS@ GIO2_LIBS = @GIO2_LIBS@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ IBUS_CFLAGS = @IBUS_CFLAGS@ IBUS_LIBS = @IBUS_LIBS@ ICON_PROP_KEY_XML = @ICON_PROP_KEY_XML@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ JSONGLIB_CFLAGS = @JSONGLIB_CFLAGS@ JSONGLIB_LIBS = @JSONGLIB_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@ LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@ LIBOBJS = @LIBOBJS@ LIBPINYIN_CFLAGS = @LIBPINYIN_CFLAGS@ LIBPINYIN_DATADIR = @LIBPINYIN_DATADIR@ LIBPINYIN_LIBS = @LIBPINYIN_LIBS@ LIBS = @LIBS@ LIBSOUP_CFLAGS = @LIBSOUP_CFLAGS@ LIBSOUP_LIBS = @LIBSOUP_LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OPENCC_CFLAGS = @OPENCC_CFLAGS@ OPENCC_LIBS = @OPENCC_LIBS@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PACKAGE_VERSION_MAJOR = @PACKAGE_VERSION_MAJOR@ PACKAGE_VERSION_MICRO = @PACKAGE_VERSION_MICRO@ PACKAGE_VERSION_MINOR = @PACKAGE_VERSION_MINOR@ PACKAGE_VERSION_NANO = @PACKAGE_VERSION_NANO@ PACKAGE_VERSION_RELEASE = @PACKAGE_VERSION_RELEASE@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PYTHON = @PYTHON@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SQLITE3 = @SQLITE3@ SQLITE_CFLAGS = @SQLITE_CFLAGS@ SQLITE_LIBS = @SQLITE_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gsettingsschemadir = @gsettingsschemadir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = gettext.m4 iconv.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 nls.m4 po.m4 progtest.m4 \ as-version.m4 \ $(NULL) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu m4/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu m4/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ibus-libpinyin-1.16.1/m4/ltversion.m40000644000175000017500000000131214767166735013050 # ltversion.m4 -- version numbers -*- Autoconf -*- # # Copyright (C) 2004, 2011-2019, 2021-2022 Free Software Foundation, # Inc. # Written by Scott James Remnant, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # @configure_input@ # serial 4245 ltversion.m4 # This file is part of GNU Libtool m4_define([LT_PACKAGE_VERSION], [2.4.7]) m4_define([LT_PACKAGE_REVISION], [2.4.7]) AC_DEFUN([LTVERSION_VERSION], [macro_version='2.4.7' macro_revision='2.4.7' _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_revision, 0) ]) ibus-libpinyin-1.16.1/m4/libtool.m40000644000175000017500000112776414767166735012514 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # # Copyright (C) 1996-2001, 2003-2019, 2021-2022 Free Software # Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. m4_define([_LT_COPYING], [dnl # Copyright (C) 2014 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # GNU Libtool is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of of the License, or # (at your option) any later version. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program or library that is built # using GNU Libtool, you may include this file under the same # distribution terms that you use for the rest of that program. # # GNU Libtool 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 General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . ]) # serial 59 LT_INIT # LT_PREREQ(VERSION) # ------------------ # Complain and exit if this libtool version is less that VERSION. m4_defun([LT_PREREQ], [m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, [m4_default([$3], [m4_fatal([Libtool version $1 or higher is required], 63)])], [$2])]) # _LT_CHECK_BUILDDIR # ------------------ # Complain if the absolute build directory name contains unusual characters m4_defun([_LT_CHECK_BUILDDIR], [case `pwd` in *\ * | *\ *) AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; esac ]) # LT_INIT([OPTIONS]) # ------------------ AC_DEFUN([LT_INIT], [AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl AC_BEFORE([$0], [LT_LANG])dnl AC_BEFORE([$0], [LT_OUTPUT])dnl AC_BEFORE([$0], [LTDL_INIT])dnl m4_require([_LT_CHECK_BUILDDIR])dnl dnl Autoconf doesn't catch unexpanded LT_ macros by default: m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 dnl unless we require an AC_DEFUNed macro: AC_REQUIRE([LTOPTIONS_VERSION])dnl AC_REQUIRE([LTSUGAR_VERSION])dnl AC_REQUIRE([LTVERSION_VERSION])dnl AC_REQUIRE([LTOBSOLETE_VERSION])dnl m4_require([_LT_PROG_LTMAIN])dnl _LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) dnl Parse OPTIONS _LT_SET_OPTIONS([$0], [$1]) # This can be used to rebuild libtool when needed LIBTOOL_DEPS=$ltmain # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' AC_SUBST(LIBTOOL)dnl _LT_SETUP # Only expand once: m4_define([LT_INIT]) ])# LT_INIT # Old names: AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PROG_LIBTOOL], []) dnl AC_DEFUN([AM_PROG_LIBTOOL], []) # _LT_PREPARE_CC_BASENAME # ----------------------- m4_defun([_LT_PREPARE_CC_BASENAME], [ # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. func_cc_basename () { for cc_temp in @S|@*""; do case $cc_temp in compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; \-*) ;; *) break;; esac done func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` } ])# _LT_PREPARE_CC_BASENAME # _LT_CC_BASENAME(CC) # ------------------- # It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME, # but that macro is also expanded into generated libtool script, which # arranges for $SED and $ECHO to be set by different means. m4_defun([_LT_CC_BASENAME], [m4_require([_LT_PREPARE_CC_BASENAME])dnl AC_REQUIRE([_LT_DECL_SED])dnl AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl func_cc_basename $1 cc_basename=$func_cc_basename_result ]) # _LT_FILEUTILS_DEFAULTS # ---------------------- # It is okay to use these file commands and assume they have been set # sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'. m4_defun([_LT_FILEUTILS_DEFAULTS], [: ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} ])# _LT_FILEUTILS_DEFAULTS # _LT_SETUP # --------- m4_defun([_LT_SETUP], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl _LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl dnl _LT_DECL([], [host_alias], [0], [The host system])dnl _LT_DECL([], [host], [0])dnl _LT_DECL([], [host_os], [0])dnl dnl _LT_DECL([], [build_alias], [0], [The build system])dnl _LT_DECL([], [build], [0])dnl _LT_DECL([], [build_os], [0])dnl dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl dnl AC_REQUIRE([AC_PROG_LN_S])dnl test -z "$LN_S" && LN_S="ln -s" _LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl dnl AC_REQUIRE([LT_CMD_MAX_LEN])dnl _LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl m4_require([_LT_CMD_RELOAD])dnl m4_require([_LT_DECL_FILECMD])dnl m4_require([_LT_CHECK_MAGIC_METHOD])dnl m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl m4_require([_LT_CMD_OLD_ARCHIVE])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl m4_require([_LT_WITH_SYSROOT])dnl m4_require([_LT_CMD_TRUNCATE])dnl _LT_CONFIG_LIBTOOL_INIT([ # See if we are running on zsh, and set the options that allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi ]) if test -n "${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi _LT_CHECK_OBJDIR m4_require([_LT_TAG_COMPILER])dnl case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test set != "${COLLECT_NAMES+set}"; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a '.a' archive for static linking (except MSVC and # ICC, which need '.lib'). libext=a with_gnu_ld=$lt_cv_prog_gnu_ld old_CC=$CC old_CFLAGS=$CFLAGS # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o _LT_CC_BASENAME([$compiler]) # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then _LT_PATH_MAGIC fi ;; esac # Use C for the default configuration in the libtool script LT_SUPPORTED_TAG([CC]) _LT_LANG_C_CONFIG _LT_LANG_DEFAULT_CONFIG _LT_CONFIG_COMMANDS ])# _LT_SETUP # _LT_PREPARE_SED_QUOTE_VARS # -------------------------- # Define a few sed substitution that help us do robust quoting. m4_defun([_LT_PREPARE_SED_QUOTE_VARS], [# Backslashify metacharacters that are still active within # double-quoted strings. sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\([["`\\]]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' ]) # _LT_PROG_LTMAIN # --------------- # Note that this code is called both from 'configure', and 'config.status' # now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, # 'config.status' has no value for ac_aux_dir unless we are using Automake, # so we pass a copy along to make sure it has a sensible value anyway. m4_defun([_LT_PROG_LTMAIN], [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) ltmain=$ac_aux_dir/ltmain.sh ])# _LT_PROG_LTMAIN ## ------------------------------------- ## ## Accumulate code for creating libtool. ## ## ------------------------------------- ## # So that we can recreate a full libtool script including additional # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS # in macros and then make a single call at the end using the 'libtool' # label. # _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) # ---------------------------------------- # Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL_INIT], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_INIT], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_INIT]) # _LT_CONFIG_LIBTOOL([COMMANDS]) # ------------------------------ # Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) # _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) # ----------------------------------------------------- m4_defun([_LT_CONFIG_SAVE_COMMANDS], [_LT_CONFIG_LIBTOOL([$1]) _LT_CONFIG_LIBTOOL_INIT([$2]) ]) # _LT_FORMAT_COMMENT([COMMENT]) # ----------------------------- # Add leading comment marks to the start of each line, and a trailing # full-stop to the whole comment if one is not present already. m4_define([_LT_FORMAT_COMMENT], [m4_ifval([$1], [ m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) )]) ## ------------------------ ## ## FIXME: Eliminate VARNAME ## ## ------------------------ ## # _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) # ------------------------------------------------------------------- # CONFIGNAME is the name given to the value in the libtool script. # VARNAME is the (base) name used in the configure script. # VALUE may be 0, 1 or 2 for a computed quote escaped value based on # VARNAME. Any other value will be used directly. m4_define([_LT_DECL], [lt_if_append_uniq([lt_decl_varnames], [$2], [, ], [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], [m4_ifval([$1], [$1], [$2])]) lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) m4_ifval([$4], [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) lt_dict_add_subkey([lt_decl_dict], [$2], [tagged?], [m4_ifval([$5], [yes], [no])])]) ]) # _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) # -------------------------------------------------------- m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) # lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_tag_varnames], [_lt_decl_filter([tagged?], [yes], $@)]) # _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) # --------------------------------------------------------- m4_define([_lt_decl_filter], [m4_case([$#], [0], [m4_fatal([$0: too few arguments: $#])], [1], [m4_fatal([$0: too few arguments: $#: $1])], [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], [lt_dict_filter([lt_decl_dict], $@)])[]dnl ]) # lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) # -------------------------------------------------- m4_define([lt_decl_quote_varnames], [_lt_decl_filter([value], [1], $@)]) # lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_dquote_varnames], [_lt_decl_filter([value], [2], $@)]) # lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_varnames_tagged], [m4_assert([$# <= 2])dnl _$0(m4_quote(m4_default([$1], [[, ]])), m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) m4_define([_lt_decl_varnames_tagged], [m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) # lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_all_varnames], [_$0(m4_quote(m4_default([$1], [[, ]])), m4_if([$2], [], m4_quote(lt_decl_varnames), m4_quote(m4_shift($@))))[]dnl ]) m4_define([_lt_decl_all_varnames], [lt_join($@, lt_decl_varnames_tagged([$1], lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl ]) # _LT_CONFIG_STATUS_DECLARE([VARNAME]) # ------------------------------------ # Quote a variable value, and forward it to 'config.status' so that its # declaration there will have the same value as in 'configure'. VARNAME # must have a single quote delimited value for this to work. m4_define([_LT_CONFIG_STATUS_DECLARE], [$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) # _LT_CONFIG_STATUS_DECLARATIONS # ------------------------------ # We delimit libtool config variables with single quotes, so when # we write them to config.status, we have to be sure to quote all # embedded single quotes properly. In configure, this macro expands # each variable declared with _LT_DECL (and _LT_TAGDECL) into: # # ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAGS # ---------------- # Output comment and list of tags supported by the script m4_defun([_LT_LIBTOOL_TAGS], [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl available_tags='_LT_TAGS'dnl ]) # _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) # ----------------------------------- # Extract the dictionary values for VARNAME (optionally with TAG) and # expand to a commented shell variable setting: # # # Some comment about what VAR is for. # visible_name=$lt_internal_name m4_define([_LT_LIBTOOL_DECLARE], [_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [description])))[]dnl m4_pushdef([_libtool_name], m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), [0], [_libtool_name=[$]$1], [1], [_libtool_name=$lt_[]$1], [2], [_libtool_name=$lt_[]$1], [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl ]) # _LT_LIBTOOL_CONFIG_VARS # ----------------------- # Produce commented declarations of non-tagged libtool config variables # suitable for insertion in the LIBTOOL CONFIG section of the 'libtool' # script. Tagged libtool config variables (even for the LIBTOOL CONFIG # section) are produced by _LT_LIBTOOL_TAG_VARS. m4_defun([_LT_LIBTOOL_CONFIG_VARS], [m4_foreach([_lt_var], m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAG_VARS(TAG) # ------------------------- m4_define([_LT_LIBTOOL_TAG_VARS], [m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) # _LT_TAGVAR(VARNAME, [TAGNAME]) # ------------------------------ m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) # _LT_CONFIG_COMMANDS # ------------------- # Send accumulated output to $CONFIG_STATUS. Thanks to the lists of # variables for single and double quote escaping we saved from calls # to _LT_DECL, we can put quote escaped variables declarations # into 'config.status', and then the shell code to quote escape them in # for loops in 'config.status'. Finally, any additional code accumulated # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. m4_defun([_LT_CONFIG_COMMANDS], [AC_PROVIDE_IFELSE([LT_OUTPUT], dnl If the libtool generation code has been placed in $CONFIG_LT, dnl instead of duplicating it all over again into config.status, dnl then we will have config.status run $CONFIG_LT later, so it dnl needs to know what name is stored there: [AC_CONFIG_COMMANDS([libtool], [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], dnl If the libtool generation code is destined for config.status, dnl expand the accumulated commands and init code now: [AC_CONFIG_COMMANDS([libtool], [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) ])#_LT_CONFIG_COMMANDS # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], [ # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' _LT_CONFIG_STATUS_DECLARATIONS LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$[]1 _LTECHO_EOF' } # Quote evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_quote_varnames); do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_dquote_varnames); do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done _LT_OUTPUT_LIBTOOL_INIT ]) # _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) # ------------------------------------ # Generate a child script FILE with all initialization necessary to # reuse the environment learned by the parent script, and make the # file executable. If COMMENT is supplied, it is inserted after the # '#!' sequence but before initialization text begins. After this # macro, additional text can be appended to FILE to form the body of # the child script. The macro ends with non-zero status if the # file could not be fully written (such as if the disk is full). m4_ifdef([AS_INIT_GENERATED], [m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], [m4_defun([_LT_GENERATED_FILE_INIT], [m4_require([AS_PREPARE])]dnl [m4_pushdef([AS_MESSAGE_LOG_FD])]dnl [lt_write_fail=0 cat >$1 <<_ASEOF || lt_write_fail=1 #! $SHELL # Generated by $as_me. $2 SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$1 <<\_ASEOF || lt_write_fail=1 AS_SHELL_SANITIZE _AS_PREPARE exec AS_MESSAGE_FD>&1 _ASEOF test 0 = "$lt_write_fail" && chmod +x $1[]dnl m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT # LT_OUTPUT # --------- # This macro allows early generation of the libtool script (before # AC_OUTPUT is called), incase it is used in configure for compilation # tests. AC_DEFUN([LT_OUTPUT], [: ${CONFIG_LT=./config.lt} AC_MSG_NOTICE([creating $CONFIG_LT]) _LT_GENERATED_FILE_INIT(["$CONFIG_LT"], [# Run this file to recreate a libtool stub with the current configuration.]) cat >>"$CONFIG_LT" <<\_LTEOF lt_cl_silent=false exec AS_MESSAGE_LOG_FD>>config.log { echo AS_BOX([Running $as_me.]) } >&AS_MESSAGE_LOG_FD lt_cl_help="\ '$as_me' creates a local libtool stub from the current configuration, for use in further configure time tests before the real libtool is generated. Usage: $[0] [[OPTIONS]] -h, --help print this help, then exit -V, --version print version number, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files Report bugs to ." lt_cl_version="\ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) configured by $[0], generated by m4_PACKAGE_STRING. Copyright (C) 2011 Free Software Foundation, Inc. This config.lt script is free software; the Free Software Foundation gives unlimited permision to copy, distribute and modify it." while test 0 != $[#] do case $[1] in --version | --v* | -V ) echo "$lt_cl_version"; exit 0 ;; --help | --h* | -h ) echo "$lt_cl_help"; exit 0 ;; --debug | --d* | -d ) debug=: ;; --quiet | --q* | --silent | --s* | -q ) lt_cl_silent=: ;; -*) AC_MSG_ERROR([unrecognized option: $[1] Try '$[0] --help' for more information.]) ;; *) AC_MSG_ERROR([unrecognized argument: $[1] Try '$[0] --help' for more information.]) ;; esac shift done if $lt_cl_silent; then exec AS_MESSAGE_FD>/dev/null fi _LTEOF cat >>"$CONFIG_LT" <<_LTEOF _LT_OUTPUT_LIBTOOL_COMMANDS_INIT _LTEOF cat >>"$CONFIG_LT" <<\_LTEOF AC_MSG_NOTICE([creating $ofile]) _LT_OUTPUT_LIBTOOL_COMMANDS AS_EXIT(0) _LTEOF chmod +x "$CONFIG_LT" # configure is writing to config.log, but config.lt does its own redirection, # appending to config.log, which fails on DOS, as config.log is still kept # open by configure. Here we exec the FD to /dev/null, effectively closing # config.log, so it can be properly (re)opened and appended to by config.lt. lt_cl_success=: test yes = "$silent" && lt_config_lt_args="$lt_config_lt_args --quiet" exec AS_MESSAGE_LOG_FD>/dev/null $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false exec AS_MESSAGE_LOG_FD>>config.log $lt_cl_success || AS_EXIT(1) ])# LT_OUTPUT # _LT_CONFIG(TAG) # --------------- # If TAG is the built-in tag, create an initial libtool script with a # default configuration from the untagged config vars. Otherwise add code # to config.status for appending the configuration named by TAG from the # matching tagged config vars. m4_defun([_LT_CONFIG], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_CONFIG_SAVE_COMMANDS([ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl m4_if(_LT_TAG, [C], [ # See if we are running on zsh, and set the options that allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi cfgfile=${ofile}T trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # Generated automatically by $as_me ($PACKAGE) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # Provide generalized library-building support services. # Written by Gordon Matzigkeit, 1996 _LT_COPYING _LT_LIBTOOL_TAGS # Configured defaults for sys_lib_dlsearch_path munging. : \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} # ### BEGIN LIBTOOL CONFIG _LT_LIBTOOL_CONFIG_VARS _LT_LIBTOOL_TAG_VARS # ### END LIBTOOL CONFIG _LT_EOF cat <<'_LT_EOF' >> "$cfgfile" # ### BEGIN FUNCTIONS SHARED WITH CONFIGURE _LT_PREPARE_MUNGE_PATH_LIST _LT_PREPARE_CC_BASENAME # ### END FUNCTIONS SHARED WITH CONFIGURE _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test set != "${COLLECT_NAMES+set}"; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac _LT_PROG_LTMAIN # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? $SED '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" ], [cat <<_LT_EOF >> "$ofile" dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded dnl in a comment (ie after a #). # ### BEGIN LIBTOOL TAG CONFIG: $1 _LT_LIBTOOL_TAG_VARS(_LT_TAG) # ### END LIBTOOL TAG CONFIG: $1 _LT_EOF ])dnl /m4_if ], [m4_if([$1], [], [ PACKAGE='$PACKAGE' VERSION='$VERSION' RM='$RM' ofile='$ofile'], []) ])dnl /_LT_CONFIG_SAVE_COMMANDS ])# _LT_CONFIG # LT_SUPPORTED_TAG(TAG) # --------------------- # Trace this macro to discover what tags are supported by the libtool # --tag option, using: # autoconf --trace 'LT_SUPPORTED_TAG:$1' AC_DEFUN([LT_SUPPORTED_TAG], []) # C support is built-in for now m4_define([_LT_LANG_C_enabled], []) m4_define([_LT_TAGS], []) # LT_LANG(LANG) # ------------- # Enable libtool support for the given language if not already enabled. AC_DEFUN([LT_LANG], [AC_BEFORE([$0], [LT_OUTPUT])dnl m4_case([$1], [C], [_LT_LANG(C)], [C++], [_LT_LANG(CXX)], [Go], [_LT_LANG(GO)], [Java], [_LT_LANG(GCJ)], [Fortran 77], [_LT_LANG(F77)], [Fortran], [_LT_LANG(FC)], [Windows Resource], [_LT_LANG(RC)], [m4_ifdef([_LT_LANG_]$1[_CONFIG], [_LT_LANG($1)], [m4_fatal([$0: unsupported language: "$1"])])])dnl ])# LT_LANG # _LT_LANG(LANGNAME) # ------------------ m4_defun([_LT_LANG], [m4_ifdef([_LT_LANG_]$1[_enabled], [], [LT_SUPPORTED_TAG([$1])dnl m4_append([_LT_TAGS], [$1 ])dnl m4_define([_LT_LANG_]$1[_enabled], [])dnl _LT_LANG_$1_CONFIG($1)])dnl ])# _LT_LANG m4_ifndef([AC_PROG_GO], [ ############################################################ # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_GO. When it is available in # # a released version of Autoconf we should remove this # # macro and use it instead. # ############################################################ m4_defun([AC_PROG_GO], [AC_LANG_PUSH(Go)dnl AC_ARG_VAR([GOC], [Go compiler command])dnl AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl _AC_ARG_VAR_LDFLAGS()dnl AC_CHECK_TOOL(GOC, gccgo) if test -z "$GOC"; then if test -n "$ac_tool_prefix"; then AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) fi fi if test -z "$GOC"; then AC_CHECK_PROG(GOC, gccgo, gccgo, false) fi ])#m4_defun ])#m4_ifndef # _LT_LANG_DEFAULT_CONFIG # ----------------------- m4_defun([_LT_LANG_DEFAULT_CONFIG], [AC_PROVIDE_IFELSE([AC_PROG_CXX], [LT_LANG(CXX)], [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) AC_PROVIDE_IFELSE([AC_PROG_F77], [LT_LANG(F77)], [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) AC_PROVIDE_IFELSE([AC_PROG_FC], [LT_LANG(FC)], [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal dnl pulling things in needlessly. AC_PROVIDE_IFELSE([AC_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([LT_PROG_GCJ], [LT_LANG(GCJ)], [m4_ifdef([AC_PROG_GCJ], [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([A][M_PROG_GCJ], [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([LT_PROG_GCJ], [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) AC_PROVIDE_IFELSE([AC_PROG_GO], [LT_LANG(GO)], [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) AC_PROVIDE_IFELSE([LT_PROG_RC], [LT_LANG(RC)], [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) ])# _LT_LANG_DEFAULT_CONFIG # Obsolete macros: AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_CXX], []) dnl AC_DEFUN([AC_LIBTOOL_F77], []) dnl AC_DEFUN([AC_LIBTOOL_FC], []) dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) dnl AC_DEFUN([AC_LIBTOOL_RC], []) # _LT_TAG_COMPILER # ---------------- m4_defun([_LT_TAG_COMPILER], [AC_REQUIRE([AC_PROG_CC])dnl _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl _LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC ])# _LT_TAG_COMPILER # _LT_COMPILER_BOILERPLATE # ------------------------ # Check for compiler boilerplate output or warnings with # the simple compiler test code. m4_defun([_LT_COMPILER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ])# _LT_COMPILER_BOILERPLATE # _LT_LINKER_BOILERPLATE # ---------------------- # Check for linker boilerplate output or warnings with # the simple link test code. m4_defun([_LT_LINKER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ])# _LT_LINKER_BOILERPLATE # _LT_REQUIRED_DARWIN_CHECKS # ------------------------- m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ case $host_os in rhapsody* | darwin*) AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) AC_CHECK_TOOL([LIPO], [lipo], [:]) AC_CHECK_TOOL([OTOOL], [otool], [:]) AC_CHECK_TOOL([OTOOL64], [otool64], [:]) _LT_DECL([], [DSYMUTIL], [1], [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) _LT_DECL([], [NMEDIT], [1], [Tool to change global to local symbols on Mac OS X]) _LT_DECL([], [LIPO], [1], [Tool to manipulate fat objects and archives on Mac OS X]) _LT_DECL([], [OTOOL], [1], [ldd/readelf like tool for Mach-O binaries on Mac OS X]) _LT_DECL([], [OTOOL64], [1], [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], [lt_cv_apple_cc_single_mod=no if test -z "$LT_MULTI_MODULE"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? # If there is a non-empty error log, and "single_module" # appears in it, assume the flag caused a linker warning if test -s conftest.err && $GREP single_module conftest.err; then cat conftest.err >&AS_MESSAGE_LOG_FD # Otherwise, if the output was created with a 0 exit code from # the compiler, it worked. elif test -f libconftest.dylib && test 0 = "$_lt_result"; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&AS_MESSAGE_LOG_FD fi rm -rf libconftest.dylib* rm -f conftest.* fi]) AC_CACHE_CHECK([for -exported_symbols_list linker flag], [lt_cv_ld_exported_symbols_list], [lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [lt_cv_ld_exported_symbols_list=yes], [lt_cv_ld_exported_symbols_list=no]) LDFLAGS=$save_LDFLAGS ]) AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], [lt_cv_ld_force_load=no cat > conftest.c << _LT_EOF int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD echo "$AR $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD $AR $AR_FLAGS libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD cat > conftest.c << _LT_EOF int main() { return 0;} _LT_EOF echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err _lt_result=$? if test -s conftest.err && $GREP force_load conftest.err; then cat conftest.err >&AS_MESSAGE_LOG_FD elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then lt_cv_ld_force_load=yes else cat conftest.err >&AS_MESSAGE_LOG_FD fi rm -f conftest.err libconftest.a conftest conftest.c rm -rf conftest.dSYM ]) case $host_os in rhapsody* | darwin1.[[012]]) _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; darwin*) case $MACOSX_DEPLOYMENT_TARGET,$host in 10.[[012]],*|,*powerpc*-darwin[[5-8]]*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; *) _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test yes = "$lt_cv_apple_cc_single_mod"; then _lt_dar_single_mod='$single_module' fi if test yes = "$lt_cv_ld_exported_symbols_list"; then _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' fi if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac ]) # _LT_DARWIN_LINKER_FEATURES([TAG]) # --------------------------------- # Checks for linker and compiler features on darwin m4_defun([_LT_DARWIN_LINKER_FEATURES], [ m4_require([_LT_REQUIRED_DARWIN_CHECKS]) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported if test yes = "$lt_cv_ld_force_load"; then _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) else _LT_TAGVAR(whole_archive_flag_spec, $1)='' fi _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined case $cc_basename in ifort*|nagfor*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test yes = "$_lt_dar_can_shared"; then output_verbose_link_cmd=func_echo_all _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" _LT_TAGVAR(archive_expsym_cmds, $1)="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" _LT_TAGVAR(module_expsym_cmds, $1)="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" m4_if([$1], [CXX], [ if test yes != "$lt_cv_apple_cc_single_mod"; then _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil" _LT_TAGVAR(archive_expsym_cmds, $1)="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" fi ],[]) else _LT_TAGVAR(ld_shlibs, $1)=no fi ]) # _LT_SYS_MODULE_PATH_AIX([TAGNAME]) # ---------------------------------- # Links a minimal program and checks the executable # for the system default hardcoded library path. In most cases, # this is /usr/lib:/lib, but when the MPI compilers are used # the location of the communication and MPI libs are included too. # If we don't find anything, use the default library path according # to the aix ld manual. # Store the results from the different compilers for each TAGNAME. # Allow to override them for all tags through lt_cv_aix_libpath. m4_defun([_LT_SYS_MODULE_PATH_AIX], [m4_require([_LT_DECL_SED])dnl if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ lt_aix_libpath_sed='[ /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }]' _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi],[]) if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib fi ]) aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) fi ])# _LT_SYS_MODULE_PATH_AIX # _LT_SHELL_INIT(ARG) # ------------------- m4_define([_LT_SHELL_INIT], [m4_divert_text([M4SH-INIT], [$1 ])])# _LT_SHELL_INIT # _LT_PROG_ECHO_BACKSLASH # ----------------------- # Find how we can fake an echo command that does not interpret backslash. # In particular, with Autoconf 2.60 or later we add some code to the start # of the generated configure script that will find a shell with a builtin # printf (that we can use as an echo command). m4_defun([_LT_PROG_ECHO_BACKSLASH], [ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO AC_MSG_CHECKING([how to print strings]) # Test print first, because it will be a builtin if present. if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='print -r --' elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='printf %s\n' else # Use this function as a fallback that always works. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $[]1 _LTECHO_EOF' } ECHO='func_fallback_echo' fi # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "$*" } case $ECHO in printf*) AC_MSG_RESULT([printf]) ;; print*) AC_MSG_RESULT([print -r]) ;; *) AC_MSG_RESULT([cat]) ;; esac m4_ifdef([_AS_DETECT_SUGGESTED], [_AS_DETECT_SUGGESTED([ test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO PATH=/empty FPATH=/empty; export PATH FPATH test "X`printf %s $ECHO`" = "X$ECHO" \ || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) ])# _LT_PROG_ECHO_BACKSLASH # _LT_WITH_SYSROOT # ---------------- AC_DEFUN([_LT_WITH_SYSROOT], [m4_require([_LT_DECL_SED])dnl AC_MSG_CHECKING([for sysroot]) AC_ARG_WITH([sysroot], [AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], [Search for dependent libraries within DIR (or the compiler's sysroot if not specified).])], [], [with_sysroot=no]) dnl lt_sysroot will always be passed unquoted. We quote it here dnl in case the user passed a directory name. lt_sysroot= case $with_sysroot in #( yes) if test yes = "$GCC"; then lt_sysroot=`$CC --print-sysroot 2>/dev/null` fi ;; #( /*) lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` ;; #( no|'') ;; #( *) AC_MSG_RESULT([$with_sysroot]) AC_MSG_ERROR([The sysroot must be an absolute path.]) ;; esac AC_MSG_RESULT([${lt_sysroot:-no}]) _LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl [dependent libraries, and where our libraries should be installed.])]) # _LT_ENABLE_LOCK # --------------- m4_defun([_LT_ENABLE_LOCK], [AC_ARG_ENABLE([libtool-lock], [AS_HELP_STRING([--disable-libtool-lock], [avoid locking (might break parallel builds)])]) test no = "$enable_libtool_lock" || enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out what ABI is being produced by ac_compile, and set mode # options accordingly. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `$FILECMD conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE=32 ;; *ELF-64*) HPUX_IA64_MODE=64 ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then if test yes = "$lt_cv_prog_gnu_ld"; then case `$FILECMD conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `$FILECMD conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; mips64*-*linux*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then emul=elf case `$FILECMD conftest.$ac_objext` in *32-bit*) emul="${emul}32" ;; *64-bit*) emul="${emul}64" ;; esac case `$FILECMD conftest.$ac_objext` in *MSB*) emul="${emul}btsmip" ;; *LSB*) emul="${emul}ltsmip" ;; esac case `$FILECMD conftest.$ac_objext` in *N32*) emul="${emul}n32" ;; esac LD="${LD-ld} -m $emul" fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. Note that the listed cases only cover the # situations where additional linker options are needed (such as when # doing 32-bit compilation for a host where ld defaults to 64-bit, or # vice versa); the common cases where no linker options are needed do # not appear in the list. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `$FILECMD conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) case `$FILECMD conftest.o` in *x86-64*) LD="${LD-ld} -m elf32_x86_64" ;; *) LD="${LD-ld} -m elf_i386" ;; esac ;; powerpc64le-*linux*) LD="${LD-ld} -m elf32lppclinux" ;; powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; powerpcle-*linux*) LD="${LD-ld} -m elf64lppc" ;; powerpc-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS=$CFLAGS CFLAGS="$CFLAGS -belf" AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, [AC_LANG_PUSH(C) AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) AC_LANG_POP]) if test yes != "$lt_cv_cc_needs_belf"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS=$SAVE_CFLAGS fi ;; *-*solaris*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `$FILECMD conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) case $host in i?86-*-solaris*|x86_64-*-solaris*) LD="${LD-ld} -m elf_x86_64" ;; sparc*-*-solaris*) LD="${LD-ld} -m elf64_sparc" ;; esac # GNU ld 2.21 introduced _sol2 emulations. Use them if available. if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then LD=${LD-ld}_sol2 fi ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks=$enable_libtool_lock ])# _LT_ENABLE_LOCK # _LT_PROG_AR # ----------- m4_defun([_LT_PROG_AR], [AC_CHECK_TOOLS(AR, [ar], false) : ${AR=ar} _LT_DECL([], [AR], [1], [The archiver]) # Use ARFLAGS variable as AR's operation code to sync the variable naming with # Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have # higher priority because thats what people were doing historically (setting # ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS # variable obsoleted/removed. test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} lt_ar_flags=$AR_FLAGS _LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)]) # Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override # by AR_FLAGS because that was never working and AR_FLAGS is about to die. _LT_DECL([], [AR_FLAGS], [\@S|@{ARFLAGS-"\@S|@lt_ar_flags"}], [Flags to create an archive]) AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], [lt_cv_ar_at_file=no AC_COMPILE_IFELSE([AC_LANG_PROGRAM], [echo conftest.$ac_objext > conftest.lst lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' AC_TRY_EVAL([lt_ar_try]) if test 0 -eq "$ac_status"; then # Ensure the archiver fails upon bogus file names. rm -f conftest.$ac_objext libconftest.a AC_TRY_EVAL([lt_ar_try]) if test 0 -ne "$ac_status"; then lt_cv_ar_at_file=@ fi fi rm -f conftest.* libconftest.a ]) ]) if test no = "$lt_cv_ar_at_file"; then archiver_list_spec= else archiver_list_spec=$lt_cv_ar_at_file fi _LT_DECL([], [archiver_list_spec], [1], [How to feed a file listing to the archiver]) ])# _LT_PROG_AR # _LT_CMD_OLD_ARCHIVE # ------------------- m4_defun([_LT_CMD_OLD_ARCHIVE], [_LT_PROG_AR AC_CHECK_TOOL(STRIP, strip, :) test -z "$STRIP" && STRIP=: _LT_DECL([], [STRIP], [1], [A symbol stripping program]) AC_CHECK_TOOL(RANLIB, ranlib, :) test -z "$RANLIB" && RANLIB=: _LT_DECL([], [RANLIB], [1], [Commands used to install an old-style archive]) # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in bitrig* | openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" fi case $host_os in darwin*) lock_old_archive_extraction=yes ;; *) lock_old_archive_extraction=no ;; esac _LT_DECL([], [old_postinstall_cmds], [2]) _LT_DECL([], [old_postuninstall_cmds], [2]) _LT_TAGDECL([], [old_archive_cmds], [2], [Commands used to build an old-style archive]) _LT_DECL([], [lock_old_archive_extraction], [0], [Whether to use a lock for old archive extraction]) ])# _LT_CMD_OLD_ARCHIVE # _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------------------- # Check whether the given compiler option works AC_DEFUN([_LT_COMPILER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi fi $RM conftest* ]) if test yes = "[$]$2"; then m4_if([$5], , :, [$5]) else m4_if([$6], , :, [$6]) fi ])# _LT_COMPILER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) # _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------- # Check whether the given linker option works AC_DEFUN([_LT_LINKER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS $3" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&AS_MESSAGE_LOG_FD $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi else $2=yes fi fi $RM -r conftest* LDFLAGS=$save_LDFLAGS ]) if test yes = "[$]$2"; then m4_if([$4], , :, [$4]) else m4_if([$5], , :, [$5]) fi ])# _LT_LINKER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) # LT_CMD_MAX_LEN #--------------- AC_DEFUN([LT_CMD_MAX_LEN], [AC_REQUIRE([AC_CANONICAL_HOST])dnl # find the maximum length of command line arguments AC_MSG_CHECKING([the maximum length of command line arguments]) AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl i=0 teststring=ABCD case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; mint*) # On MiNT this can take a long time and run out of memory. lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; os2*) # The test takes a long time on OS/2. lt_cv_sys_max_cmd_len=8192 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[[ ]]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len" && \ test undefined != "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test X`env echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && test 17 != "$i" # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac ]) if test -n "$lt_cv_sys_max_cmd_len"; then AC_MSG_RESULT($lt_cv_sys_max_cmd_len) else AC_MSG_RESULT(none) fi max_cmd_len=$lt_cv_sys_max_cmd_len _LT_DECL([], [max_cmd_len], [0], [What is the maximum length of a command?]) ])# LT_CMD_MAX_LEN # Old name: AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) # _LT_HEADER_DLFCN # ---------------- m4_defun([_LT_HEADER_DLFCN], [AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl ])# _LT_HEADER_DLFCN # _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) # ---------------------------------------------------------------- m4_defun([_LT_TRY_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test yes = "$cross_compiling"; then : [$4] else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF [#line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisibility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; }] _LT_EOF if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) $1 ;; x$lt_dlneed_uscore) $2 ;; x$lt_dlunknown|x*) $3 ;; esac else : # compilation failed $3 fi fi rm -fr conftest* ])# _LT_TRY_DLOPEN_SELF # LT_SYS_DLOPEN_SELF # ------------------ AC_DEFUN([LT_SYS_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test yes != "$enable_dlopen"; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen=load_add_on lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen=LoadLibrary lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen=dlopen lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[ lt_cv_dlopen=dyld lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ]) ;; tpf*) # Don't try to run any link tests for TPF. We know it's impossible # because TPF is a cross-compiler, and we know how we open DSOs. lt_cv_dlopen=dlopen lt_cv_dlopen_libs= lt_cv_dlopen_self=no ;; *) AC_CHECK_FUNC([shl_load], [lt_cv_dlopen=shl_load], [AC_CHECK_LIB([dld], [shl_load], [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld], [AC_CHECK_FUNC([dlopen], [lt_cv_dlopen=dlopen], [AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl], [AC_CHECK_LIB([svld], [dlopen], [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld], [AC_CHECK_LIB([dld], [dld_link], [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld]) ]) ]) ]) ]) ]) ;; esac if test no = "$lt_cv_dlopen"; then enable_dlopen=no else enable_dlopen=yes fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS=$CPPFLAGS test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS=$LDFLAGS wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS=$LIBS LIBS="$lt_cv_dlopen_libs $LIBS" AC_CACHE_CHECK([whether a program can dlopen itself], lt_cv_dlopen_self, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) ]) if test yes = "$lt_cv_dlopen_self"; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" AC_CACHE_CHECK([whether a statically linked program can dlopen itself], lt_cv_dlopen_self_static, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) ]) fi CPPFLAGS=$save_CPPFLAGS LDFLAGS=$save_LDFLAGS LIBS=$save_LIBS ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi _LT_DECL([dlopen_support], [enable_dlopen], [0], [Whether dlopen is supported]) _LT_DECL([dlopen_self], [enable_dlopen_self], [0], [Whether dlopen of programs is supported]) _LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], [Whether dlopen of statically linked programs is supported]) ])# LT_SYS_DLOPEN_SELF # Old name: AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) # _LT_COMPILER_C_O([TAGNAME]) # --------------------------- # Check to see if options -c and -o are simultaneously supported by compiler. # This macro does not hard code the compiler like AC_PROG_CC_C_O. m4_defun([_LT_COMPILER_C_O], [m4_require([_LT_DECL_SED])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes fi fi chmod u+w . 2>&AS_MESSAGE_LOG_FD $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* ]) _LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], [Does compiler simultaneously support -c and -o options?]) ])# _LT_COMPILER_C_O # _LT_COMPILER_FILE_LOCKS([TAGNAME]) # ---------------------------------- # Check to see if we can do hard links to lock some files if needed m4_defun([_LT_COMPILER_FILE_LOCKS], [m4_require([_LT_ENABLE_LOCK])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_COMPILER_C_O([$1]) hard_links=nottested if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then # do not overwrite the value of need_locks provided by the user AC_MSG_CHECKING([if we can lock with hard links]) hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no AC_MSG_RESULT([$hard_links]) if test no = "$hard_links"; then AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe]) need_locks=warn fi else need_locks=no fi _LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) ])# _LT_COMPILER_FILE_LOCKS # _LT_CHECK_OBJDIR # ---------------- m4_defun([_LT_CHECK_OBJDIR], [AC_CACHE_CHECK([for objdir], [lt_cv_objdir], [rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null]) objdir=$lt_cv_objdir _LT_DECL([], [objdir], [0], [The name of the directory that contains temporary libtool files])dnl m4_pattern_allow([LT_OBJDIR])dnl AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/", [Define to the sub-directory where libtool stores uninstalled libraries.]) ])# _LT_CHECK_OBJDIR # _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) # -------------------------------------- # Check hardcoding attributes. m4_defun([_LT_LINKER_HARDCODE_LIBPATH], [AC_MSG_CHECKING([how to hardcode library paths into programs]) _LT_TAGVAR(hardcode_action, $1)= if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || test -n "$_LT_TAGVAR(runpath_var, $1)" || test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then # We can hardcode non-existent directories. if test no != "$_LT_TAGVAR(hardcode_direct, $1)" && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" && test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then # Linking always hardcodes the temporary library directory. _LT_TAGVAR(hardcode_action, $1)=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. _LT_TAGVAR(hardcode_action, $1)=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. _LT_TAGVAR(hardcode_action, $1)=unsupported fi AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) if test relink = "$_LT_TAGVAR(hardcode_action, $1)" || test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then # Fast installation is not supported enable_fast_install=no elif test yes = "$shlibpath_overrides_runpath" || test no = "$enable_shared"; then # Fast installation is not necessary enable_fast_install=needless fi _LT_TAGDECL([], [hardcode_action], [0], [How to hardcode a shared library path into an executable]) ])# _LT_LINKER_HARDCODE_LIBPATH # _LT_CMD_STRIPLIB # ---------------- m4_defun([_LT_CMD_STRIPLIB], [m4_require([_LT_DECL_EGREP]) striplib= old_striplib= AC_MSG_CHECKING([whether stripping libraries is possible]) if test -z "$STRIP"; then AC_MSG_RESULT([no]) else if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then old_striplib="$STRIP --strip-debug" striplib="$STRIP --strip-unneeded" AC_MSG_RESULT([yes]) else case $host_os in darwin*) # FIXME - insert some real tests, host_os isn't really good enough striplib="$STRIP -x" old_striplib="$STRIP -S" AC_MSG_RESULT([yes]) ;; freebsd*) if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then old_striplib="$STRIP --strip-debug" striplib="$STRIP --strip-unneeded" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi ;; *) AC_MSG_RESULT([no]) ;; esac fi fi _LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) _LT_DECL([], [striplib], [1]) ])# _LT_CMD_STRIPLIB # _LT_PREPARE_MUNGE_PATH_LIST # --------------------------- # Make sure func_munge_path_list() is defined correctly. m4_defun([_LT_PREPARE_MUNGE_PATH_LIST], [[# func_munge_path_list VARIABLE PATH # ----------------------------------- # VARIABLE is name of variable containing _space_ separated list of # directories to be munged by the contents of PATH, which is string # having a format: # "DIR[:DIR]:" # string "DIR[ DIR]" will be prepended to VARIABLE # ":DIR[:DIR]" # string "DIR[ DIR]" will be appended to VARIABLE # "DIRP[:DIRP]::[DIRA:]DIRA" # string "DIRP[ DIRP]" will be prepended to VARIABLE and string # "DIRA[ DIRA]" will be appended to VARIABLE # "DIR[:DIR]" # VARIABLE will be replaced by "DIR[ DIR]" func_munge_path_list () { case x@S|@2 in x) ;; *:) eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" ;; x:*) eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" ;; *::*) eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" ;; *) eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" ;; esac } ]])# _LT_PREPARE_PATH_LIST # _LT_SYS_DYNAMIC_LINKER([TAG]) # ----------------------------- # PORTME Fill in your ld.so characteristics m4_defun([_LT_SYS_DYNAMIC_LINKER], [AC_REQUIRE([AC_CANONICAL_HOST])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_OBJDUMP])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl AC_MSG_CHECKING([dynamic linker characteristics]) m4_if([$1], [], [ if test yes = "$GCC"; then case $host_os in darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; *) lt_awk_arg='/^libraries:/' ;; esac case $host_os in mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;; *) lt_sed_strip_eq='s|=/|/|g' ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` case $lt_search_path_spec in *\;*) # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` ;; *) lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` ;; esac # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary... lt_tmp_lt_search_path_spec= lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` # ...but if some path component already ends with the multilib dir we assume # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). case "$lt_multi_os_dir; $lt_search_path_spec " in "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) lt_multi_os_dir= ;; esac for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" elif test -n "$lt_multi_os_dir"; then test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' BEGIN {RS = " "; FS = "/|\n";} { lt_foo = ""; lt_count = 0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo = "/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[[lt_foo]]++; } if (lt_freq[[lt_foo]] == 1) { print lt_foo; } }'` # AWK program above erroneously prepends '/' to C:/dos/paths # for these hosts. case $host_os in mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;; esac sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi]) library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=.so postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown AC_ARG_VAR([LT_SYS_LIBRARY_PATH], [User-defined run-time library search path.]) case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='$libname$release$shared_ext$major' ;; aix[[4-9]]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes if test ia64 = "$host_cpu"; then # AIX 5 supports IA64 library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line '#! .'. This would cause the generated library to # depend on '.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[[01]] | aix4.[[01]].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # Using Import Files as archive members, it is possible to support # filename-based versioning of shared library archives on AIX. While # this would work for both with and without runtime linking, it will # prevent static linking of such archives. So we do filename-based # shared library versioning with .so extension only, which is used # when both runtime linking and shared linking is enabled. # Unfortunately, runtime linking may impact performance, so we do # not want this to be the default eventually. Also, we use the # versioned .so libs for executables only if there is the -brtl # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. # To allow for filename-based versioning support, we need to create # libNAME.so.V as an archive file, containing: # *) an Import File, referring to the versioned filename of the # archive as well as the shared archive member, telling the # bitwidth (32 or 64) of that shared object, and providing the # list of exported symbols of that shared object, eventually # decorated with the 'weak' keyword # *) the shared object with the F_LOADONLY flag set, to really avoid # it being seen by the linker. # At run time we better use the real file rather than another symlink, # but for link time we create the symlink libNAME.so -> libNAME.so.V case $with_aix_soname,$aix_use_runtimelinking in # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. aix,yes) # traditional libtool dynamic_linker='AIX unversionable lib.so' # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ;; aix,no) # traditional AIX only dynamic_linker='AIX lib.a[(]lib.so.V[)]' # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='$libname$release.a $libname.a' soname_spec='$libname$release$shared_ext$major' ;; svr4,*) # full svr4 only dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]" library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' # We do not specify a path in Import Files, so LIBPATH fires. shlibpath_overrides_runpath=yes ;; *,yes) # both, prefer svr4 dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]" library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' # unpreferred sharedlib libNAME.a needs extra handling postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' # We do not specify a path in Import Files, so LIBPATH fires. shlibpath_overrides_runpath=yes ;; *,no) # both, prefer aix dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]" library_names_spec='$libname$release.a $libname.a' soname_spec='$libname$release$shared_ext$major' # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' ;; esac shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='$libname$shared_ext' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[[45]]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=.dll need_version=no need_lib_prefix=no case $GCC,$cc_basename in yes,*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' ;; esac dynamic_linker='Win32 ld.exe' ;; *,cl* | *,icl*) # Native MSVC or ICC libname_spec='$name' soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' library_names_spec='$libname.dll.lib' case $build_os in mingw*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' for lt_path in $LIB do IFS=$lt_save_ifs # Let DOS variable expansion print the short 8.3 style file name. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" done IFS=$lt_save_ifs # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) sys_lib_search_path_spec=$LIB if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # FIXME: find the short name or the path components, as spaces are # common. (e.g. "Program Files" -> "PROGRA~1") ;; esac # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes dynamic_linker='Win32 link.exe' ;; *) # Assume MSVC and ICC wrapper library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' soname_spec='$libname$release$major$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd* | dragonfly* | midnightbsd*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[[23]].*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[[01]]* | freebsdelf3.[[01]]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=no sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' if test 32 = "$HPUX_IA64_MODE"; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" sys_lib_dlsearch_path_spec=/usr/lib/hpux32 else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" sys_lib_dlsearch_path_spec=/usr/lib/hpux64 fi ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[[3-9]]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test yes = "$lt_cv_prog_gnu_ld"; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='$libname$release$shared_ext$major' library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; linux*android*) version_type=none # Android doesn't support versioned libraries. need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext' soname_spec='$libname$release$shared_ext' finish_cmds= shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes dynamic_linker='Android linker' # Don't embed -rpath directories since the linker doesn't support them. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], [lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], [lt_cv_shlibpath_overrides_runpath=yes])]) LDFLAGS=$save_LDFLAGS libdir=$save_libdir ]) shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Add ABI-specific directories to the system library path. sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" # Ideally, we could use ldconfig to report *all* directores which are # searched for libraries, however this is still not possible. Aside from not # being certain /sbin/ldconfig is available, command # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, # even though it is searched at run-time. Try to do the best guess by # appending ld.so.conf contents (and includes) to the search path. if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd* | bitrig*) version_type=sunos sys_lib_dlsearch_path_spec=/usr/lib need_lib_prefix=no if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then need_version=no else need_version=yes fi library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; os2*) libname_spec='$name' version_type=windows shrext_cmds=.dll need_version=no need_lib_prefix=no # OS/2 can only load a DLL with a base name of 8 characters or less. soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; v=$($ECHO $release$versuffix | tr -d .-); n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); $ECHO $n$v`$shared_ext' library_names_spec='${libname}_dll.$libext' dynamic_linker='OS/2 ld.exe' shlibpath_var=BEGINLIBPATH sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='$libname$release$shared_ext$major' library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test yes = "$with_gnu_ld"; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec; then version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' soname_spec='$libname$shared_ext.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=sco need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test yes = "$with_gnu_ld"; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac AC_MSG_RESULT([$dynamic_linker]) test no = "$dynamic_linker" && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test yes = "$GCC"; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec fi if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec fi # remember unaugmented sys_lib_dlsearch_path content for libtool script decls... configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" # to be used as default LT_SYS_LIBRARY_PATH value in generated libtool configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH _LT_DECL([], [variables_saved_for_relink], [1], [Variables whose values should be saved in libtool wrapper scripts and restored at link time]) _LT_DECL([], [need_lib_prefix], [0], [Do we need the "lib" prefix for modules?]) _LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) _LT_DECL([], [version_type], [0], [Library versioning type]) _LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) _LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) _LT_DECL([], [shlibpath_overrides_runpath], [0], [Is shlibpath searched before the hard-coded library search path?]) _LT_DECL([], [libname_spec], [1], [Format of library name prefix]) _LT_DECL([], [library_names_spec], [1], [[List of archive names. First name is the real one, the rest are links. The last name is the one that the linker finds with -lNAME]]) _LT_DECL([], [soname_spec], [1], [[The coded name of the library, if different from the real name]]) _LT_DECL([], [install_override_mode], [1], [Permission mode override for installation of shared libraries]) _LT_DECL([], [postinstall_cmds], [2], [Command to use after installation of a shared archive]) _LT_DECL([], [postuninstall_cmds], [2], [Command to use after uninstallation of a shared archive]) _LT_DECL([], [finish_cmds], [2], [Commands used to finish a libtool library installation in a directory]) _LT_DECL([], [finish_eval], [1], [[As "finish_cmds", except a single script fragment to be evaled but not shown]]) _LT_DECL([], [hardcode_into_libs], [0], [Whether we should hardcode library paths into libraries]) _LT_DECL([], [sys_lib_search_path_spec], [2], [Compile-time system search path for libraries]) _LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2], [Detected run-time system search path for libraries]) _LT_DECL([], [configure_time_lt_sys_library_path], [2], [Explicit LT_SYS_LIBRARY_PATH set during ./configure time]) ])# _LT_SYS_DYNAMIC_LINKER # _LT_PATH_TOOL_PREFIX(TOOL) # -------------------------- # find a file program that can recognize shared library AC_DEFUN([_LT_PATH_TOOL_PREFIX], [m4_require([_LT_DECL_EGREP])dnl AC_MSG_CHECKING([for $1]) AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, [case $MAGIC_CMD in [[\\/*] | ?:[\\/]*]) lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD=$MAGIC_CMD lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR dnl $ac_dummy forces splitting on constant user-supplied paths. dnl POSIX.2 word splitting is done only on the output of word expansions, dnl not every word. This closes a longstanding sh security hole. ac_dummy="m4_if([$2], , $PATH, [$2])" for ac_dir in $ac_dummy; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$1"; then lt_cv_path_MAGIC_CMD=$ac_dir/"$1" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD=$lt_cv_path_MAGIC_CMD if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS=$lt_save_ifs MAGIC_CMD=$lt_save_MAGIC_CMD ;; esac]) MAGIC_CMD=$lt_cv_path_MAGIC_CMD if test -n "$MAGIC_CMD"; then AC_MSG_RESULT($MAGIC_CMD) else AC_MSG_RESULT(no) fi _LT_DECL([], [MAGIC_CMD], [0], [Used to examine libraries when file_magic_cmd begins with "file"])dnl ])# _LT_PATH_TOOL_PREFIX # Old name: AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) # _LT_PATH_MAGIC # -------------- # find a file program that can recognize a shared library m4_defun([_LT_PATH_MAGIC], [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) else MAGIC_CMD=: fi fi ])# _LT_PATH_MAGIC # LT_PATH_LD # ---------- # find the pathname to the GNU or non-GNU linker AC_DEFUN([LT_PATH_LD], [AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_PROG_ECHO_BACKSLASH])dnl AC_ARG_WITH([gnu-ld], [AS_HELP_STRING([--with-gnu-ld], [assume the C compiler uses GNU ld @<:@default=no@:>@])], [test no = "$withval" || with_gnu_ld=yes], [with_gnu_ld=no])dnl ac_prog=ld if test yes = "$GCC"; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by $CC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return, which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]]* | ?:[[\\/]]*) re_direlt='/[[^/]][[^/]]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD=$ac_prog ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test yes = "$with_gnu_ld"; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(lt_cv_path_LD, [if test -z "$LD"; then lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD=$ac_dir/$ac_prog # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &1 conftest.i cat conftest.i conftest.i >conftest2.i : ${lt_DD:=$DD} AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd], [if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then cmp -s conftest.i conftest.out \ && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: fi]) rm -f conftest.i conftest2.i conftest.out]) ])# _LT_PATH_DD # _LT_CMD_TRUNCATE # ---------------- # find command to truncate a binary pipe m4_defun([_LT_CMD_TRUNCATE], [m4_require([_LT_PATH_DD]) AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin], [printf 0123456789abcdef0123456789abcdef >conftest.i cat conftest.i conftest.i >conftest2.i lt_cv_truncate_bin= if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then cmp -s conftest.i conftest.out \ && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" fi rm -f conftest.i conftest2.i conftest.out test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"]) _LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1], [Command to truncate a binary pipe]) ])# _LT_CMD_TRUNCATE # _LT_CHECK_MAGIC_METHOD # ---------------------- # how to check for library dependencies # -- PORTME fill in with the dynamic library characteristics m4_defun([_LT_CHECK_MAGIC_METHOD], [m4_require([_LT_DECL_EGREP]) m4_require([_LT_DECL_OBJDUMP]) AC_CACHE_CHECK([how to recognize dependent libraries], lt_cv_deplibs_check_method, [lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. # 'unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path # that responds to the $file_magic_cmd with a given extended regex. # If you have 'file' or equivalent on your system and you're not sure # whether 'pass_all' will *always* work, you probably want this one. case $host_os in aix[[4-9]]*) lt_cv_deplibs_check_method=pass_all ;; beos*) lt_cv_deplibs_check_method=pass_all ;; bsdi[[45]]*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='$FILECMD -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; cygwin*) # func_win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. if ( file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else # Keep this pattern in sync with the one in func_win32_libid. lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc*) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly* | midnightbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=$FILECMD lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; haiku*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=$FILECMD case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[[3-9]]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) lt_cv_deplibs_check_method=pass_all ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=$FILECMD lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd* | bitrig*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; os2*) lt_cv_deplibs_check_method=pass_all ;; esac ]) file_magic_glob= want_nocaseglob=no if test "$build" = "$host"; then case $host_os in mingw* | pw32*) if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then want_nocaseglob=yes else file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` fi ;; esac fi file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown _LT_DECL([], [deplibs_check_method], [1], [Method to check whether dependent libraries are shared objects]) _LT_DECL([], [file_magic_cmd], [1], [Command to use when deplibs_check_method = "file_magic"]) _LT_DECL([], [file_magic_glob], [1], [How to find potential files when deplibs_check_method = "file_magic"]) _LT_DECL([], [want_nocaseglob], [1], [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) ])# _LT_CHECK_MAGIC_METHOD # LT_PATH_NM # ---------- # find the pathname to a BSD- or MS-compatible name lister AC_DEFUN([LT_PATH_NM], [AC_REQUIRE([AC_PROG_CC])dnl AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, [if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM=$NM else lt_nm_to_check=${ac_tool_prefix}nm if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. tmp_nm=$ac_dir/$lt_tmp_nm if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then # Check to see if the nm accepts a BSD-compat flag. # Adding the 'sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty case $build_os in mingw*) lt_bad_file=conftest.nm/nofile ;; *) lt_bad_file=/dev/null ;; esac case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in *$lt_bad_file* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break 2 ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break 2 ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS=$lt_save_ifs done : ${lt_cv_path_NM=no} fi]) if test no != "$lt_cv_path_NM"; then NM=$lt_cv_path_NM else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$DUMPBIN"; then : # Let the user override the test. else AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols -headers" ;; *) DUMPBIN=: ;; esac fi AC_SUBST([DUMPBIN]) if test : != "$DUMPBIN"; then NM=$DUMPBIN fi fi test -z "$NM" && NM=nm AC_SUBST([NM]) _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], [lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) cat conftest.out >&AS_MESSAGE_LOG_FD if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest*]) ])# LT_PATH_NM # Old names: AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_PROG_NM], []) dnl AC_DEFUN([AC_PROG_NM], []) # _LT_CHECK_SHAREDLIB_FROM_LINKLIB # -------------------------------- # how to determine the name of the shared library # associated with a specific link library. # -- PORTME fill in with the dynamic library characteristics m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], [m4_require([_LT_DECL_EGREP]) m4_require([_LT_DECL_OBJDUMP]) m4_require([_LT_DECL_DLLTOOL]) AC_CACHE_CHECK([how to associate runtime and link libraries], lt_cv_sharedlib_from_linklib_cmd, [lt_cv_sharedlib_from_linklib_cmd='unknown' case $host_os in cygwin* | mingw* | pw32* | cegcc*) # two different shell functions defined in ltmain.sh; # decide which one to use based on capabilities of $DLLTOOL case `$DLLTOOL --help 2>&1` in *--identify-strict*) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib ;; *) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback ;; esac ;; *) # fallback: assume linklib IS sharedlib lt_cv_sharedlib_from_linklib_cmd=$ECHO ;; esac ]) sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO _LT_DECL([], [sharedlib_from_linklib_cmd], [1], [Command to associate shared and link libraries]) ])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB # _LT_PATH_MANIFEST_TOOL # ---------------------- # locate the manifest tool m4_defun([_LT_PATH_MANIFEST_TOOL], [AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], [lt_cv_path_mainfest_tool=no echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out cat conftest.err >&AS_MESSAGE_LOG_FD if $GREP 'Manifest Tool' conftest.out > /dev/null; then lt_cv_path_mainfest_tool=yes fi rm -f conftest*]) if test yes != "$lt_cv_path_mainfest_tool"; then MANIFEST_TOOL=: fi _LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl ])# _LT_PATH_MANIFEST_TOOL # _LT_DLL_DEF_P([FILE]) # --------------------- # True iff FILE is a Windows DLL '.def' file. # Keep in sync with func_dll_def_p in the libtool script AC_DEFUN([_LT_DLL_DEF_P], [dnl test DEF = "`$SED -n dnl -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl -e q dnl Only consider the first "real" line $1`" dnl ])# _LT_DLL_DEF_P # LT_LIB_M # -------- # check for math library AC_DEFUN([LT_LIB_M], [AC_REQUIRE([AC_CANONICAL_HOST])dnl LIBM= case $host in *-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) # These system don't have libm, or don't need it ;; *-ncr-sysv4.3*) AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw) AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") ;; *) AC_CHECK_LIB(m, cos, LIBM=-lm) ;; esac AC_SUBST([LIBM]) ])# LT_LIB_M # Old name: AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_CHECK_LIBM], []) # _LT_COMPILER_NO_RTTI([TAGNAME]) # ------------------------------- m4_defun([_LT_COMPILER_NO_RTTI], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= if test yes = "$GCC"; then case $cc_basename in nvcc*) _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; *) _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; esac _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], lt_cv_prog_compiler_rtti_exceptions, [-fno-rtti -fno-exceptions], [], [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) fi _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], [Compiler flag to turn off builtin functions]) ])# _LT_COMPILER_NO_RTTI # _LT_CMD_GLOBAL_SYMBOLS # ---------------------- m4_defun([_LT_CMD_GLOBAL_SYMBOLS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([LT_PATH_NM])dnl AC_REQUIRE([LT_PATH_LD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_TAG_COMPILER])dnl # Check for command to grab the raw symbol name followed by C symbol from nm. AC_MSG_CHECKING([command to parse $NM output from $compiler object]) AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], [ # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[[BCDEGRST]]' # Regexp to match symbols that can be accessed directly from C. sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[[BCDT]]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[[ABCDGISTW]]' ;; hpux*) if test ia64 = "$host_cpu"; then symcode='[[ABCDEGRST]]' fi ;; irix* | nonstopux*) symcode='[[BCDEGRST]]' ;; osf*) symcode='[[BCDEGQRST]]' ;; solaris*) symcode='[[BDRT]]' ;; sco3.2v5*) symcode='[[DT]]' ;; sysv4.2uw2*) symcode='[[DT]]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[[ABDT]]' ;; sysv4) symcode='[[DFNSTU]]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[[ABCDGIRSTW]]' ;; esac if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Gets list of data symbols to import. lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" # Adjust the below global symbol transforms to fixup imported variables. lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" lt_c_name_lib_hook="\ -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" else # Disable hooks by default. lt_cv_sys_global_symbol_to_import= lt_cdecl_hook= lt_c_name_hook= lt_c_name_lib_hook= fi # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="$SED -n"\ $lt_cdecl_hook\ " -e 's/^T .* \(.*\)$/extern int \1();/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ $lt_c_name_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" # Transform an extracted symbol line into symbol name with lib prefix and # symbol address. lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ $lt_c_name_lib_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function, # D for any global variable and I for any imported variable. # Also find C++ and __fastcall symbols from MSVC++ or ICC, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK ['"\ " {last_section=section; section=\$ 3};"\ " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ " /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ " /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ " {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ " s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx]" else lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if AC_TRY_EVAL(ac_compile); then # Now try to grab the symbols. nlist=conftest.nm if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ #if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE /* DATA imports from DLLs on WIN32 can't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT@&t@_DLSYM_CONST #elif defined __osf__ /* This system does not cope well with relocations in const data. */ # define LT@&t@_DLSYM_CONST #else # define LT@&t@_DLSYM_CONST const #endif #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ LT@&t@_DLSYM_CONST struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[[]] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_globsym_save_LIBS=$LIBS lt_globsym_save_CFLAGS=$CFLAGS LIBS=conftstm.$ac_objext CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then pipe_works=yes fi LIBS=$lt_globsym_save_LIBS CFLAGS=$lt_globsym_save_CFLAGS else echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD fi else echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test yes = "$pipe_works"; then break else lt_cv_sys_global_symbol_pipe= fi done ]) if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then AC_MSG_RESULT(failed) else AC_MSG_RESULT(ok) fi # Response file support. if test "$lt_cv_nm_interface" = "MS dumpbin"; then nm_file_list_spec='@' elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then nm_file_list_spec='@' fi _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], [Take the output of nm and produce a listing of raw symbols and C names]) _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], [Transform the output of nm in a proper C declaration]) _LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1], [Transform the output of nm into a list of symbols to manually relocate]) _LT_DECL([global_symbol_to_c_name_address], [lt_cv_sys_global_symbol_to_c_name_address], [1], [Transform the output of nm in a C name address pair]) _LT_DECL([global_symbol_to_c_name_address_lib_prefix], [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], [Transform the output of nm in a C name address pair when lib prefix is needed]) _LT_DECL([nm_interface], [lt_cv_nm_interface], [1], [The name lister interface]) _LT_DECL([], [nm_file_list_spec], [1], [Specify filename containing input files for $NM]) ]) # _LT_CMD_GLOBAL_SYMBOLS # _LT_COMPILER_PIC([TAGNAME]) # --------------------------- m4_defun([_LT_COMPILER_PIC], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_wl, $1)= _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)= m4_if([$1], [CXX], [ # C++ specific cases for pic, static, wl, etc. if test yes = "$GXX"; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the '-m68020' flag to GCC prevents building anything better, # like '-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) case $host_os in os2*) _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' ;; esac ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. _LT_TAGVAR(lt_prog_compiler_static, $1)= ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac else case $host_os in aix[[4-9]]*) # All AIX code is PIC. if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; dgux*) case $cc_basename in ec++*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; ghcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; freebsd* | dragonfly* | midnightbsd*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' if test ia64 != "$host_cpu"; then _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' fi ;; aCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in KCC*) # KAI C++ Compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; ecpc* ) # old Intel C++ for x86_64, which still supported -KPIC. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; icpc* ) # Intel C++, used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; pgCC* | pgcpp*) # Portland Group C++ compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL 8.0, 9.0 on PPC and BlueGene _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' ;; *) ;; esac ;; netbsd*) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; cxx*) # Digital/Compaq C++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; lcc*) # Lucid _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; *) ;; esac ;; vxworks*) ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ], [ if test yes = "$GCC"; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the '-m68020' flag to GCC prevents building anything better, # like '-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) case $host_os in os2*) _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' ;; esac ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. _LT_TAGVAR(lt_prog_compiler_static, $1)= ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac case $cc_basename in nvcc*) # Cuda Compiler Driver 2.2 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" fi ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' case $cc_basename in nagfor*) # NAG Fortran compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) case $host_os in os2*) _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' ;; esac ;; hpux9* | hpux10* | hpux11*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC (with -KPIC) is the default. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in # old Intel for x86_64, which still supported -KPIC. ecc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # Lahey Fortran 8.1. lf95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' ;; nagfor*) # NAG Fortran compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; tcc*) # Fabrice Bellard et al's Tiny C Compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; ccc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All Alpha code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xl* | bgxl* | bgf* | mpixl*) # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | $SED 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='' ;; *Sun\ F* | *Sun*Fortran*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; *Intel*\ [[CF]]*Compiler*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; *Portland\ Group*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; esac ;; newsos6) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All OSF/1 code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; rdos*) _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; solaris*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' case $cc_basename in f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; *) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; esac ;; sunos4*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; unicos*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; uts4*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ]) case $host_os in # For platforms that do not support PIC, -DPIC is meaningless: *djgpp*) _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" ;; esac AC_CACHE_CHECK([for $compiler option to produce PIC], [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) _LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) # # Check to make sure the PIC flag actually works. # if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in "" | " "*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; esac], [_LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) fi _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], [Additional compiler flags for building library objects]) _LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], [How to pass a linker flag through the compiler]) # # Check to make sure the static flag actually works. # wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), $lt_tmp_static_flag, [], [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], [Compiler flag to prevent dynamic linking]) ])# _LT_COMPILER_PIC # _LT_LINKER_SHLIBS([TAGNAME]) # ---------------------------- # See if the linker supports building shared libraries. m4_defun([_LT_LINKER_SHLIBS], [AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl m4_require([_LT_PATH_MANIFEST_TOOL])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) m4_if([$1], [CXX], [ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] case $host_os in aix[[4-9]]*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to GNU nm, but means don't demangle to AIX nm. # Without the "-l" option, or with the "-B" option, AIX nm treats # weak defined symbols like other global defined symbols, whereas # GNU nm marks them as "W". # While the 'weak' keyword is ignored in the Export File, we need # it in the Import File for the 'aix-soname' feature, so we have # to replace the "-B" option with "-P" for AIX nm. if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi ;; pw32*) _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds ;; cygwin* | mingw* | cegcc*) case $cc_basename in cl* | icl*) _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] ;; esac ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac ], [ runpath_var= _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_cmds, $1)= _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(old_archive_from_new_cmds, $1)= _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= _LT_TAGVAR(thread_safe_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list _LT_TAGVAR(include_expsyms, $1)= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ' (' and ')$', so one must not match beginning or # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', # as well as any symbol that contains 'd'. _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. dnl Note also adjust exclude_expsyms for C++ above. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++ or Intel C++ Compiler. if test yes != "$GCC"; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) with_gnu_ld=yes ;; openbsd* | bitrig*) with_gnu_ld=no ;; esac _LT_TAGVAR(ld_shlibs, $1)=yes # On some targets, GNU ld is compatible enough with the native linker # that we're better off using the native interface for both. lt_use_gnu_ld_interface=no if test yes = "$with_gnu_ld"; then case $host_os in aix*) # The AIX port of GNU ld has always aspired to compatibility # with the native linker. However, as the warning in the GNU ld # block says, versions before 2.19.5* couldn't really create working # shared libraries, regardless of the interface used. case `$LD -v 2>&1` in *\ \(GNU\ Binutils\)\ 2.19.5*) ;; *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; *) lt_use_gnu_ld_interface=yes ;; esac ;; *) lt_use_gnu_ld_interface=yes ;; esac fi if test yes = "$lt_use_gnu_ld_interface"; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='$wl' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi supports_anon_versioning=no case `$LD -v | $SED -e 's/([[^)]]\+)\s\+//' 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[[3-9]]*) # On AIX/PPC, the GNU linker is very broken if test ia64 != "$host_cpu"; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.19, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to install binutils *** 2.20 or above, or modify your PATH so that a non-GNU linker is found. *** You will then need to restart the configuration process. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file, use it as # is; otherwise, prepend EXPORTS... _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; haiku*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(link_all_deplibs, $1)=yes ;; os2*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=unsupported shrext_cmds=.dll _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ prefix_cmds="$SED"~ if test EXPORTS = "`$SED 1q $export_symbols`"; then prefix_cmds="$prefix_cmds -e 1d"; fi~ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(file_list_spec, $1)='@' ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test linux-dietlibc = "$host_os"; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test no = "$tmp_diet" then tmp_addflag=' $pic_flag' tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group f77 and f90 compilers _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 _LT_TAGVAR(whole_archive_flag_spec, $1)= tmp_sharedflag='--shared' ;; nagfor*) # NAGFOR 5.3 tmp_sharedflag='-Wl,-shared' ;; xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; nvcc*) # Cuda Compiler Driver 2.2 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes ;; esac case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi case $cc_basename in tcc*) _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic' ;; xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; sunos4*) _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then runpath_var= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. _LT_TAGVAR(hardcode_minus_L, $1)=yes if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. _LT_TAGVAR(hardcode_direct, $1)=unsupported fi ;; aix[[4-9]]*) if test ia64 = "$host_cpu"; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag= else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to GNU nm, but means don't demangle to AIX nm. # Without the "-l" option, or with the "-B" option, AIX nm treats # weak defined symbols like other global defined symbols, whereas # GNU nm marks them as "W". # While the 'weak' keyword is ignored in the Export File, we need # it in the Import File for the 'aix-soname' feature, so we have # to replace the "-B" option with "-P" for AIX nm. if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # have runtime linking enabled, and use it for executables. # For shared libraries, we enable/disable runtime linking # depending on the kind of the shared library created - # when "with_aix_soname,aix_use_runtimelinking" is: # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables # "aix,yes" lib.so shared, rtl:yes, for executables # lib.a static archive # "both,no" lib.so.V(shr.o) shared, rtl:yes # lib.a(lib.so.V) shared, rtl:no, for executables # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a(lib.so.V) shared, rtl:no # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a static archive case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then aix_use_runtimelinking=yes break fi done if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then # With aix-soname=svr4, we create the lib.so.V shared archives only, # so we don't have lib.a shared libs to link our executables. # We have to force runtime linking in this case. aix_use_runtimelinking=yes LDFLAGS="$LDFLAGS -Wl,-brtl" fi ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='$wl-f,' case $with_aix_soname,$aix_use_runtimelinking in aix,*) ;; # traditional, no import file svr4,* | *,yes) # use import file # The Import File defines what to hardcode. _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no ;; esac if test yes = "$GCC"; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`$CC -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi ;; esac shared_flag='-shared' if test yes = "$aix_use_runtimelinking"; then shared_flag="$shared_flag "'$wl-G' fi # Need to ensure runtime linking is disabled for the traditional # shared library, or the linker may eventually find shared libraries # /with/ Import File - we do not want to mix them. shared_flag_aix='-shared' shared_flag_svr4='-shared $wl-G' else # not using gcc if test ia64 = "$host_cpu"; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test yes = "$aix_use_runtimelinking"; then shared_flag='$wl-G' else shared_flag='$wl-bM:SRE' fi shared_flag_aix='$wl-bM:SRE' shared_flag_svr4='$wl-G' fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_TAGVAR(always_export_symbols, $1)=yes if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag else if test ia64 = "$host_cpu"; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' if test yes = "$with_gnu_ld"; then # We only use this code for GNU lds that support --whole-archive. _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' fi _LT_TAGVAR(archive_cmds_need_lc, $1)=yes _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' # -brtl affects multiple linker settings, -berok does not and is overridden later compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' if test svr4 != "$with_aix_soname"; then # This is similar to how AIX traditionally builds its shared libraries. _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' fi if test aix != "$with_aix_soname"; then _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' else # used by -dlpreopen to get the symbols _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' fi _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; bsdi[[45]]*) _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++ or Intel C++ Compiler. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in cl* | icl*) # Native MSVC or ICC _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(file_list_spec, $1)='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then cp "$export_symbols" "$output_objdir/$soname.def"; echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; else $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' # Don't use ranlib _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile=$lt_outputfile.exe lt_tool_outputfile=$lt_tool_outputfile.exe ;; esac~ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # Assume MSVC and ICC wrapper _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' # FIXME: Should let the user specify the lib program. _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; esac ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; dgux*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2.*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly* | midnightbsd*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; hpux9*) if test yes = "$GCC"; then _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' else _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' ;; hpux10*) if test yes,no = "$GCC,$with_gnu_ld"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test no = "$with_gnu_ld"; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes fi ;; hpux11*) if test yes,no = "$GCC,$with_gnu_ld"; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) m4_if($1, [], [ # Older versions of the 11.00 compiler do not understand -b yet # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) _LT_LINKER_OPTION([if $CC understands -b], _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) ;; esac fi if test no = "$with_gnu_ld"; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test yes = "$GCC"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. # This should be the same for all languages, so no per-tag cache variable. AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], [lt_cv_irix_exported_symbol], [save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" AC_LINK_IFELSE( [AC_LANG_SOURCE( [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], [C++], [[int foo (void) { return 0; }]], [Fortran 77], [[ subroutine foo end]], [Fortran], [[ subroutine foo end]])])], [lt_cv_irix_exported_symbol=yes], [lt_cv_irix_exported_symbol=no]) LDFLAGS=$save_LDFLAGS]) if test yes = "$lt_cv_irix_exported_symbol"; then _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' fi else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes _LT_TAGVAR(link_all_deplibs, $1)=yes ;; linux*) case $cc_basename in tcc*) # Fabrice Bellard et al's Tiny C Compiler _LT_TAGVAR(ld_shlibs, $1)=yes _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; newsos6) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *nto* | *qnx*) ;; openbsd* | bitrig*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' fi else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; os2*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=unsupported shrext_cmds=.dll _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ prefix_cmds="$SED"~ if test EXPORTS = "`$SED 1q $export_symbols`"; then prefix_cmds="$prefix_cmds -e 1d"; fi~ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(file_list_spec, $1)='@' ;; osf3*) if test yes = "$GCC"; then _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test yes = "$GCC"; then _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; solaris*) _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' if test yes = "$GCC"; then wlarc='$wl' _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='$wl' _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands '-z linker_flag'. GCC discards it without '$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test yes = "$GCC"; then _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' else _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' fi ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes ;; sunos4*) if test sequent = "$host_vendor"; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4) case $host_vendor in sni) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' _LT_TAGVAR(hardcode_direct, $1)=no ;; motorola) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4.3*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes _LT_TAGVAR(ld_shlibs, $1)=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' if test yes = "$GCC"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We CANNOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' runpath_var='LD_RUN_PATH' if test yes = "$GCC"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(ld_shlibs, $1)=no ;; esac if test sni = "$host_vendor"; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym' ;; esac fi fi ]) AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld _LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl _LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl _LT_DECL([], [extract_expsyms_cmds], [2], [The commands to extract the exported symbol list from a shared archive]) # # Do we need to explicitly link libc? # case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in x|xyes) # Assume -lc should be added _LT_TAGVAR(archive_cmds_need_lc, $1)=yes if test yes,yes = "$GCC,$enable_shared"; then case $_LT_TAGVAR(archive_cmds, $1) in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. AC_CACHE_CHECK([whether -lc should be explicitly linked in], [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), [$RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if AC_TRY_EVAL(ac_compile) 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) _LT_TAGVAR(allow_undefined_flag, $1)= if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) then lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no else lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes fi _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* ]) _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) ;; esac fi ;; esac _LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], [Whether or not to add -lc for building shared libraries]) _LT_TAGDECL([allow_libtool_libs_with_static_runtimes], [enable_shared_with_static_runtimes], [0], [Whether or not to disallow shared libs when runtime libs are static]) _LT_TAGDECL([], [export_dynamic_flag_spec], [1], [Compiler flag to allow reflexive dlopens]) _LT_TAGDECL([], [whole_archive_flag_spec], [1], [Compiler flag to generate shared objects directly from archives]) _LT_TAGDECL([], [compiler_needs_object], [1], [Whether the compiler copes with passing no objects directly]) _LT_TAGDECL([], [old_archive_from_new_cmds], [2], [Create an old-style archive from a shared archive]) _LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], [Create a temporary old-style archive to link instead of a shared archive]) _LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) _LT_TAGDECL([], [archive_expsym_cmds], [2]) _LT_TAGDECL([], [module_cmds], [2], [Commands used to build a loadable module if different from building a shared archive.]) _LT_TAGDECL([], [module_expsym_cmds], [2]) _LT_TAGDECL([], [with_gnu_ld], [1], [Whether we are building with GNU ld or not]) _LT_TAGDECL([], [allow_undefined_flag], [1], [Flag that allows shared libraries with undefined symbols to be built]) _LT_TAGDECL([], [no_undefined_flag], [1], [Flag that enforces no undefined symbols]) _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], [Flag to hardcode $libdir into a binary during linking. This must work even if $libdir does not exist]) _LT_TAGDECL([], [hardcode_libdir_separator], [1], [Whether we need a single "-rpath" flag with a separated argument]) _LT_TAGDECL([], [hardcode_direct], [0], [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_direct_absolute], [0], [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes DIR into the resulting binary and the resulting library dependency is "absolute", i.e impossible to change by setting $shlibpath_var if the library is relocated]) _LT_TAGDECL([], [hardcode_minus_L], [0], [Set to "yes" if using the -LDIR flag during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_shlibpath_var], [0], [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_automatic], [0], [Set to "yes" if building a shared library automatically hardcodes DIR into the library and all subsequent libraries and executables linked against it]) _LT_TAGDECL([], [inherit_rpath], [0], [Set to yes if linker adds runtime paths of dependent libraries to runtime path list]) _LT_TAGDECL([], [link_all_deplibs], [0], [Whether libtool must link a program against all its dependency libraries]) _LT_TAGDECL([], [always_export_symbols], [0], [Set to "yes" if exported symbols are required]) _LT_TAGDECL([], [export_symbols_cmds], [2], [The commands to list exported symbols]) _LT_TAGDECL([], [exclude_expsyms], [1], [Symbols that should not be listed in the preloaded symbols]) _LT_TAGDECL([], [include_expsyms], [1], [Symbols that must always be exported]) _LT_TAGDECL([], [prelink_cmds], [2], [Commands necessary for linking programs (against libraries) with templates]) _LT_TAGDECL([], [postlink_cmds], [2], [Commands necessary for finishing linking programs]) _LT_TAGDECL([], [file_list_spec], [1], [Specify filename containing input files]) dnl FIXME: Not yet implemented dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], dnl [Compiler flag to generate thread safe objects]) ])# _LT_LINKER_SHLIBS # _LT_LANG_C_CONFIG([TAG]) # ------------------------ # Ensure that the configuration variables for a C compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to 'libtool'. m4_defun([_LT_LANG_C_CONFIG], [m4_require([_LT_DECL_EGREP])dnl lt_save_CC=$CC AC_LANG_PUSH(C) # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' _LT_TAG_COMPILER # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) LT_SYS_DLOPEN_SELF _LT_CMD_STRIPLIB # Report what library types will actually be built AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test no = "$can_build_shared" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test yes = "$enable_shared" && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test ia64 != "$host_cpu"; then case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in yes,aix,yes) ;; # shared object as lib.so file only yes,svr4,*) ;; # shared object as lib.so archive member only yes,*) enable_static=no ;; # shared object in lib.a archive as well esac fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test yes = "$enable_shared" || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_CONFIG($1) fi AC_LANG_POP CC=$lt_save_CC ])# _LT_LANG_C_CONFIG # _LT_LANG_CXX_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a C++ compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to 'libtool'. m4_defun([_LT_LANG_CXX_CONFIG], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_PATH_MANIFEST_TOOL])dnl if test -n "$CXX" && ( test no != "$CXX" && ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || (test g++ != "$CXX"))); then AC_PROG_CXXCPP else _lt_caught_CXX_error=yes fi AC_LANG_PUSH(C++) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the CXX compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test yes != "$_lt_caught_CXX_error"; then # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_LD=$LD lt_save_GCC=$GCC GCC=$GXX lt_save_with_gnu_ld=$with_gnu_ld lt_save_path_LD=$lt_cv_path_LD if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else $as_unset lt_cv_prog_gnu_ld fi if test -n "${lt_cv_path_LDCXX+set}"; then lt_cv_path_LD=$lt_cv_path_LDCXX else $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} CFLAGS=$CXXFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then # We don't want -fno-exception when compiling C++ code, so set the # no_builtin_flag separately if test yes = "$GXX"; then _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' else _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= fi if test yes = "$GXX"; then # Set up default GNU C++ configuration LT_PATH_LD # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test yes = "$with_gnu_ld"; then _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) wlarc='$wl' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else with_gnu_ld=no wlarc= # A generic and very simple default shared library creation # command for GNU C++ for the case where it uses the native # linker, instead of GNU ld. If possible, this setting should # overridden to take advantage of the native linker features on # the platform it is being used on. _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else GXX=no with_gnu_ld=no wlarc= fi # PORTME: fill in a description of your system's C++ link characteristics AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) _LT_TAGVAR(ld_shlibs, $1)=yes case $host_os in aix3*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aix[[4-9]]*) if test ia64 = "$host_cpu"; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag= else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # have runtime linking enabled, and use it for executables. # For shared libraries, we enable/disable runtime linking # depending on the kind of the shared library created - # when "with_aix_soname,aix_use_runtimelinking" is: # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables # "aix,yes" lib.so shared, rtl:yes, for executables # lib.a static archive # "both,no" lib.so.V(shr.o) shared, rtl:yes # lib.a(lib.so.V) shared, rtl:no, for executables # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a(lib.so.V) shared, rtl:no # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a static archive case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then # With aix-soname=svr4, we create the lib.so.V shared archives only, # so we don't have lib.a shared libs to link our executables. # We have to force runtime linking in this case. aix_use_runtimelinking=yes LDFLAGS="$LDFLAGS -Wl,-brtl" fi ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='$wl-f,' case $with_aix_soname,$aix_use_runtimelinking in aix,*) ;; # no import file svr4,* | *,yes) # use import file # The Import File defines what to hardcode. _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no ;; esac if test yes = "$GXX"; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`$CC -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi esac shared_flag='-shared' if test yes = "$aix_use_runtimelinking"; then shared_flag=$shared_flag' $wl-G' fi # Need to ensure runtime linking is disabled for the traditional # shared library, or the linker may eventually find shared libraries # /with/ Import File - we do not want to mix them. shared_flag_aix='-shared' shared_flag_svr4='-shared $wl-G' else # not using gcc if test ia64 = "$host_cpu"; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test yes = "$aix_use_runtimelinking"; then shared_flag='$wl-G' else shared_flag='$wl-bM:SRE' fi shared_flag_aix='$wl-bM:SRE' shared_flag_svr4='$wl-G' fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to # export. _LT_TAGVAR(always_export_symbols, $1)=yes if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. # The "-G" linker flag allows undefined symbols. _LT_TAGVAR(no_undefined_flag, $1)='-bernotok' # Determine the default libpath from the value encoded in an empty # executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag else if test ia64 = "$host_cpu"; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' if test yes = "$with_gnu_ld"; then # We only use this code for GNU lds that support --whole-archive. _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' fi _LT_TAGVAR(archive_cmds_need_lc, $1)=yes _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' # -brtl affects multiple linker settings, -berok does not and is overridden later compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' if test svr4 != "$with_aix_soname"; then # This is similar to how AIX traditionally builds its shared # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' fi if test aix != "$with_aix_soname"; then _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' else # used by -dlpreopen to get the symbols _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' fi _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' fi fi ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; cygwin* | mingw* | pw32* | cegcc*) case $GXX,$cc_basename in ,cl* | no,cl* | ,icl* | no,icl*) # Native MSVC or ICC # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(file_list_spec, $1)='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then cp "$export_symbols" "$output_objdir/$soname.def"; echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; else $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes # Don't use ranlib _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile=$lt_outputfile.exe lt_tool_outputfile=$lt_tool_outputfile.exe ;; esac~ func_to_tool_file "$lt_outputfile"~ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # g++ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file, use it as # is; otherwise, prepend EXPORTS... _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; os2*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=unsupported shrext_cmds=.dll _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ prefix_cmds="$SED"~ if test EXPORTS = "`$SED 1q $export_symbols`"; then prefix_cmds="$prefix_cmds -e 1d"; fi~ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(file_list_spec, $1)='@' ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; freebsd2.*) # C++ shared libraries reported to be fairly broken before # switch to ELF _LT_TAGVAR(ld_shlibs, $1)=no ;; freebsd-elf*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; freebsd* | dragonfly* | midnightbsd*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions _LT_TAGVAR(ld_shlibs, $1)=yes ;; haiku*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(link_all_deplibs, $1)=yes ;; hpux9*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; hpux10*|hpux11*) if test no = "$with_gnu_ld"; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) ;; *) _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then if test no = "$with_gnu_ld"; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test yes = "$GXX"; then if test no = "$with_gnu_ld"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib' fi fi _LT_TAGVAR(link_all_deplibs, $1)=yes ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc* | ecpc* ) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' ;; pgCC* | pgcpp*) # Portland Group C++ compiler case `$CC -V` in *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ $RANLIB $oldlib' _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 6 and above use weak symbols _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' ;; cxx*) # Compaq C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' ;; xl* | mpixl* | bgxl*) # IBM XL 8.0 on PPC, with GNU ld _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi ;; *) case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; m88k*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; *nto* | *qnx*) _LT_TAGVAR(ld_shlibs, $1)=yes ;; openbsd* | bitrig*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' fi output_verbose_link_cmd=func_echo_all else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Archives containing C++ object files must be created using # the KAI C++ compiler. case $host in osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; esac ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; cxx*) case $host in osf3*) _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' ;; *) _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~ $RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' ;; esac _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes,no = "$GXX,$with_gnu_ld"; then _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' case $host in osf3*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands '-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test yes,no = "$GXX,$with_gnu_ld"; then _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs' if $CC --version | $GREP -v '^2\.7' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else # g++ 2.7 appears to require '-G' NOT '-shared' on this # platform. _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir' case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We CANNOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ '"$_LT_TAGVAR(old_archive_cmds, $1)" _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ '"$_LT_TAGVAR(reload_cmds, $1)" ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no _LT_TAGVAR(GCC, $1)=$GXX _LT_TAGVAR(LD, $1)=$LD ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld fi # test yes != "$_lt_caught_CXX_error" AC_LANG_POP ])# _LT_LANG_CXX_CONFIG # _LT_FUNC_STRIPNAME_CNF # ---------------------- # func_stripname_cnf prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). # # This function is identical to the (non-XSI) version of func_stripname, # except this one can be used by m4 code that may be executed by configure, # rather than the libtool script. m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl AC_REQUIRE([_LT_DECL_SED]) AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) func_stripname_cnf () { case @S|@2 in .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; esac } # func_stripname_cnf ])# _LT_FUNC_STRIPNAME_CNF # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) # --------------------------------- # Figure out "hidden" library dependencies from verbose # compiler output when linking a shared library. # Parse the compiler output and extract the necessary # objects, libraries and library flags. m4_defun([_LT_SYS_HIDDEN_LIBDEPS], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl # Dependencies to place before and after the object being linked: _LT_TAGVAR(predep_objects, $1)= _LT_TAGVAR(postdep_objects, $1)= _LT_TAGVAR(predeps, $1)= _LT_TAGVAR(postdeps, $1)= _LT_TAGVAR(compiler_lib_search_path, $1)= dnl we can't use the lt_simple_compile_test_code here, dnl because it contains code intended for an executable, dnl not a library. It's possible we should let each dnl tag define a new lt_????_link_test_code variable, dnl but it's only used here... m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF int a; void foo (void) { a = 0; } _LT_EOF ], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF class Foo { public: Foo (void) { a = 0; } private: int a; }; _LT_EOF ], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer*4 a a=0 return end _LT_EOF ], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer a a=0 return end _LT_EOF ], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF public class foo { private int a; public void bar (void) { a = 0; } }; _LT_EOF ], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF package foo func foo() { } _LT_EOF ]) _lt_libdeps_save_CFLAGS=$CFLAGS case "$CC $CFLAGS " in #( *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; esac dnl Parse the compiler output and extract the necessary dnl objects, libraries and library flags. if AC_TRY_EVAL(ac_compile); then # Parse the compiler output and extract the necessary # objects, libraries and library flags. # Sentinel used to keep track of whether or not we are before # the conftest object file. pre_test_object_deps_done=no for p in `eval "$output_verbose_link_cmd"`; do case $prev$p in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test x-L = "$p" || test x-R = "$p"; then prev=$p continue fi # Expand the sysroot to ease extracting the directories later. if test -z "$prev"; then case $p in -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; esac fi case $p in =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; esac if test no = "$pre_test_object_deps_done"; then case $prev in -L | -R) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p else _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p" fi ;; # The "-l" case would never come before the object being # linked, so don't bother handling this case. esac else if test -z "$_LT_TAGVAR(postdeps, $1)"; then _LT_TAGVAR(postdeps, $1)=$prev$p else _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p" fi fi prev= ;; *.lto.$objext) ;; # Ignore GCC LTO objects *.$objext) # This assumes that the test object file only shows up # once in the compiler output. if test "$p" = "conftest.$objext"; then pre_test_object_deps_done=yes continue fi if test no = "$pre_test_object_deps_done"; then if test -z "$_LT_TAGVAR(predep_objects, $1)"; then _LT_TAGVAR(predep_objects, $1)=$p else _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" fi else if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then _LT_TAGVAR(postdep_objects, $1)=$p else _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling $1 test program" fi $RM -f confest.$objext CFLAGS=$_lt_libdeps_save_CFLAGS # PORTME: override above test on systems where it is broken m4_if([$1], [CXX], [case $host_os in interix[[3-9]]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. _LT_TAGVAR(predep_objects,$1)= _LT_TAGVAR(postdep_objects,$1)= _LT_TAGVAR(postdeps,$1)= ;; esac ]) case " $_LT_TAGVAR(postdeps, $1) " in *" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; esac _LT_TAGVAR(compiler_lib_search_dirs, $1)= if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'` fi _LT_TAGDECL([], [compiler_lib_search_dirs], [1], [The directories searched by this compiler when creating a shared library]) _LT_TAGDECL([], [predep_objects], [1], [Dependencies to place before and after the objects being linked to create a shared library]) _LT_TAGDECL([], [postdep_objects], [1]) _LT_TAGDECL([], [predeps], [1]) _LT_TAGDECL([], [postdeps], [1]) _LT_TAGDECL([], [compiler_lib_search_path], [1], [The library search path used internally by the compiler when linking a shared library]) ])# _LT_SYS_HIDDEN_LIBDEPS # _LT_LANG_F77_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a Fortran 77 compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_F77_CONFIG], [AC_LANG_PUSH(Fortran 77) if test -z "$F77" || test no = "$F77"; then _lt_disable_F77=yes fi _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for f77 test sources. ac_ext=f # Object file extension for compiled f77 test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the F77 compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test yes != "$_lt_disable_F77"; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_GCC=$GCC lt_save_CFLAGS=$CFLAGS CC=${F77-"f77"} CFLAGS=$FFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) GCC=$G77 if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test no = "$can_build_shared" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test yes = "$enable_shared" && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test ia64 != "$host_cpu"; then case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in yes,aix,yes) ;; # shared object as lib.so file only yes,svr4,*) ;; # shared object as lib.so archive member only yes,*) enable_static=no ;; # shared object in lib.a archive as well esac fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test yes = "$enable_shared" || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)=$G77 _LT_TAGVAR(LD, $1)=$LD ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS fi # test yes != "$_lt_disable_F77" AC_LANG_POP ])# _LT_LANG_F77_CONFIG # _LT_LANG_FC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for a Fortran compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_FC_CONFIG], [AC_LANG_PUSH(Fortran) if test -z "$FC" || test no = "$FC"; then _lt_disable_FC=yes fi _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for fc test sources. ac_ext=${ac_fc_srcext-f} # Object file extension for compiled fc test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the FC compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test yes != "$_lt_disable_FC"; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_GCC=$GCC lt_save_CFLAGS=$CFLAGS CC=${FC-"f95"} CFLAGS=$FCFLAGS compiler=$CC GCC=$ac_cv_fc_compiler_gnu _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test no = "$can_build_shared" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test yes = "$enable_shared" && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test ia64 != "$host_cpu"; then case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in yes,aix,yes) ;; # shared object as lib.so file only yes,svr4,*) ;; # shared object as lib.so archive member only yes,*) enable_static=no ;; # shared object in lib.a archive as well esac fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test yes = "$enable_shared" || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu _LT_TAGVAR(LD, $1)=$LD ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS fi # test yes != "$_lt_disable_FC" AC_LANG_POP ])# _LT_LANG_FC_CONFIG # _LT_LANG_GCJ_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for the GNU Java Compiler compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_GCJ_CONFIG], [AC_REQUIRE([LT_PROG_GCJ])dnl AC_LANG_SAVE # Source file extension for Java test sources. ac_ext=java # Object file extension for compiled Java test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="class foo {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC=yes CC=${GCJ-"gcj"} CFLAGS=$GCJFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_TAGVAR(LD, $1)=$LD _LT_CC_BASENAME([$compiler]) # GCJ did not exist at the time GCC didn't implicitly link libc in. _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi AC_LANG_RESTORE GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_GCJ_CONFIG # _LT_LANG_GO_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for the GNU Go compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_GO_CONFIG], [AC_REQUIRE([LT_PROG_GO])dnl AC_LANG_SAVE # Source file extension for Go test sources. ac_ext=go # Object file extension for compiled Go test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="package main; func main() { }" # Code to be used in simple link tests lt_simple_link_test_code='package main; func main() { }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC=yes CC=${GOC-"gccgo"} CFLAGS=$GOFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_TAGVAR(LD, $1)=$LD _LT_CC_BASENAME([$compiler]) # Go did not exist at the time GCC didn't implicitly link libc in. _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi AC_LANG_RESTORE GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_GO_CONFIG # _LT_LANG_RC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for the Windows resource compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_RC_CONFIG], [AC_REQUIRE([LT_PROG_RC])dnl AC_LANG_SAVE # Source file extension for RC test sources. ac_ext=rc # Object file extension for compiled RC test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' # Code to be used in simple link tests lt_simple_link_test_code=$lt_simple_compile_test_code # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC= CC=${RC-"windres"} CFLAGS= compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes if test -n "$compiler"; then : _LT_CONFIG($1) fi GCC=$lt_save_GCC AC_LANG_RESTORE CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_RC_CONFIG # LT_PROG_GCJ # ----------- AC_DEFUN([LT_PROG_GCJ], [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], [AC_CHECK_TOOL(GCJ, gcj,) test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" AC_SUBST(GCJFLAGS)])])[]dnl ]) # Old name: AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_GCJ], []) # LT_PROG_GO # ---------- AC_DEFUN([LT_PROG_GO], [AC_CHECK_TOOL(GOC, gccgo,) ]) # LT_PROG_RC # ---------- AC_DEFUN([LT_PROG_RC], [AC_CHECK_TOOL(RC, windres,) ]) # Old name: AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_RC], []) # _LT_DECL_EGREP # -------------- # If we don't have a new enough Autoconf to choose the best grep # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_EGREP], [AC_REQUIRE([AC_PROG_EGREP])dnl AC_REQUIRE([AC_PROG_FGREP])dnl test -z "$GREP" && GREP=grep _LT_DECL([], [GREP], [1], [A grep program that handles long lines]) _LT_DECL([], [EGREP], [1], [An ERE matcher]) _LT_DECL([], [FGREP], [1], [A literal string matcher]) dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too AC_SUBST([GREP]) ]) # _LT_DECL_OBJDUMP # -------------- # If we don't have a new enough Autoconf to choose the best objdump # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_OBJDUMP], [AC_CHECK_TOOL(OBJDUMP, objdump, false) test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) AC_SUBST([OBJDUMP]) ]) # _LT_DECL_DLLTOOL # ---------------- # Ensure DLLTOOL variable is set. m4_defun([_LT_DECL_DLLTOOL], [AC_CHECK_TOOL(DLLTOOL, dlltool, false) test -z "$DLLTOOL" && DLLTOOL=dlltool _LT_DECL([], [DLLTOOL], [1], [DLL creation program]) AC_SUBST([DLLTOOL]) ]) # _LT_DECL_FILECMD # ---------------- # Check for a file(cmd) program that can be used to detect file type and magic m4_defun([_LT_DECL_FILECMD], [AC_CHECK_TOOL([FILECMD], [file], [:]) _LT_DECL([], [FILECMD], [1], [A file(cmd) program that detects file types]) ])# _LD_DECL_FILECMD # _LT_DECL_SED # ------------ # Check for a fully-functional sed program, that truncates # as few characters as possible. Prefer GNU sed if found. m4_defun([_LT_DECL_SED], [AC_PROG_SED test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" _LT_DECL([], [SED], [1], [A sed program that does not truncate output]) _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], [Sed that helps us avoid accidentally triggering echo(1) options like -n]) ])# _LT_DECL_SED m4_ifndef([AC_PROG_SED], [ ############################################################ # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_SED. When it is available in # # a released version of Autoconf we should remove this # # macro and use it instead. # ############################################################ m4_defun([AC_PROG_SED], [AC_MSG_CHECKING([for a sed that does not truncate output]) AC_CACHE_VAL(lt_cv_path_SED, [# Loop through the user's path and test for sed and gsed. # Then use that list of sed's as ones to test for truncation. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for lt_ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" fi done done done IFS=$as_save_IFS lt_ac_max=0 lt_ac_count=0 # Add /usr/xpg4/bin/sed as it is typically found on Solaris # along with /bin/sed that truncates output. for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do test ! -f "$lt_ac_sed" && continue cat /dev/null > conftest.in lt_ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >conftest.in # Check for GNU sed and select it if it is found. if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then lt_cv_path_SED=$lt_ac_sed break fi while true; do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo >>conftest.nl $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break cmp -s conftest.out conftest.nl || break # 10000 chars as input seems more than enough test 10 -lt "$lt_ac_count" && break lt_ac_count=`expr $lt_ac_count + 1` if test "$lt_ac_count" -gt "$lt_ac_max"; then lt_ac_max=$lt_ac_count lt_cv_path_SED=$lt_ac_sed fi done done ]) SED=$lt_cv_path_SED AC_SUBST([SED]) AC_MSG_RESULT([$SED]) ])#AC_PROG_SED ])#m4_ifndef # Old name: AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_SED], []) # _LT_CHECK_SHELL_FEATURES # ------------------------ # Find out whether the shell is Bourne or XSI compatible, # or has some other useful features. m4_defun([_LT_CHECK_SHELL_FEATURES], [if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi _LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac _LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl ])# _LT_CHECK_SHELL_FEATURES # _LT_PATH_CONVERSION_FUNCTIONS # ----------------------------- # Determine what file name conversion functions should be used by # func_to_host_file (and, implicitly, by func_to_host_path). These are needed # for certain cross-compile configurations and native mingw. m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl AC_MSG_CHECKING([how to convert $build file names to $host format]) AC_CACHE_VAL(lt_cv_to_host_file_cmd, [case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 ;; esac ;; *-*-cygwin* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_noop ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin ;; esac ;; * ) # unhandled hosts (and "normal" native builds) lt_cv_to_host_file_cmd=func_convert_file_noop ;; esac ]) to_host_file_cmd=$lt_cv_to_host_file_cmd AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) _LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], [0], [convert $build file names to $host format])dnl AC_MSG_CHECKING([how to convert $build file names to toolchain format]) AC_CACHE_VAL(lt_cv_to_tool_file_cmd, [#assume ordinary cross tools, or native build. lt_cv_to_tool_file_cmd=func_convert_file_noop case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 ;; esac ;; esac ]) to_tool_file_cmd=$lt_cv_to_tool_file_cmd AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) _LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], [0], [convert $build files to toolchain format])dnl ])# _LT_PATH_CONVERSION_FUNCTIONS ibus-libpinyin-1.16.1/m4/lt~obsolete.m40000644000175000017500000001400714767166735013402 # lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- # # Copyright (C) 2004-2005, 2007, 2009, 2011-2019, 2021-2022 Free # Software Foundation, Inc. # Written by Scott James Remnant, 2004. # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 5 lt~obsolete.m4 # These exist entirely to fool aclocal when bootstrapping libtool. # # In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN), # which have later been changed to m4_define as they aren't part of the # exported API, or moved to Autoconf or Automake where they belong. # # The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN # in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us # using a macro with the same name in our local m4/libtool.m4 it'll # pull the old libtool.m4 in (it doesn't see our shiny new m4_define # and doesn't know about Autoconf macros at all.) # # So we provide this file, which has a silly filename so it's always # included after everything else. This provides aclocal with the # AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything # because those macros already exist, or will be overwritten later. # We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. # # Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. # Yes, that means every name once taken will need to remain here until # we give up compatibility with versions before 1.7, at which point # we need to keep only those names which we still refer to. # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) ibus-libpinyin-1.16.1/m4/Makefile.am0000664000175000017500000000165213672072346012612 # vim:set noet ts=4: # # ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus # # Copyright (c) 2008-2010 Peng Huang # ## This program is free software: you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation, either version 3 of the License, or ## (at your option) any later version. ## ## This program 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 General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program. If not, see . EXTRA_DIST = gettext.m4 iconv.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 nls.m4 po.m4 progtest.m4 \ as-version.m4 \ $(NULL) ibus-libpinyin-1.16.1/m4/progtest.m40000644000175000017500000000602413440164411012647 # progtest.m4 serial 7 (gettext-0.18.2) dnl Copyright (C) 1996-2003, 2005, 2008-2016 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1996. AC_PREREQ([2.50]) # Search path for a program which passes the given test. dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) AC_DEFUN([AM_PATH_PROG_WITH_TEST], [ # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which # contains only /bin. Note that ksh looks also at the FPATH variable, # so we have to set that as well for the test. PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ || PATH_SEPARATOR=';' } fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "$2", so it can be a program name with args. set dummy $2; ac_word=[$]2 AC_MSG_CHECKING([for $ac_word]) AC_CACHE_VAL([ac_cv_path_$1], [case "[$]$1" in [[\\/]]* | ?:[[\\/]]*) ac_cv_path_$1="[$]$1" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in ifelse([$5], , $PATH, [$5]); do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD if [$3]; then ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" dnl If no 4th arg is given, leave the cache variable unset, dnl so AC_PATH_PROGS will keep looking. ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" ])dnl ;; esac])dnl $1="$ac_cv_path_$1" if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then AC_MSG_RESULT([$][$1]) else AC_MSG_RESULT([no]) fi AC_SUBST([$1])dnl ]) ibus-libpinyin-1.16.1/m4/iconv.m40000644000175000017500000002207213440164411012117 # iconv.m4 serial 19 (gettext-0.18.2) dnl Copyright (C) 2000-2002, 2007-2014, 2016 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], [ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_LIB_LINKFLAGS_BODY([iconv]) ]) AC_DEFUN([AM_ICONV_LINK], [ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and dnl those with the standalone portable GNU libiconv installed). AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) dnl Add $INCICONV to CPPFLAGS before performing the following checks, dnl because if the user has installed libiconv and not disabled its use dnl via --without-libiconv-prefix, he wants to use it. The first dnl AC_LINK_IFELSE will then fail, the second AC_LINK_IFELSE will succeed. am_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [ am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[ #include #include ]], [[iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);]])], [am_cv_func_iconv=yes]) if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[ #include #include ]], [[iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);]])], [am_cv_lib_iconv=yes] [am_cv_func_iconv=yes]) LIBS="$am_save_LIBS" fi ]) if test "$am_cv_func_iconv" = yes; then AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [ dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11, dnl Solaris 10. am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi am_cv_func_iconv_works=no for ac_iconv_const in '' 'const'; do AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[ #include #include #ifndef ICONV_CONST # define ICONV_CONST $ac_iconv_const #endif ]], [[int result = 0; /* Test against AIX 5.1 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); if (cd_utf8_to_88591 != (iconv_t)(-1)) { static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; ICONV_CONST char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_utf8_to_88591, &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) result |= 1; iconv_close (cd_utf8_to_88591); } } /* Test against Solaris 10 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); if (cd_ascii_to_88591 != (iconv_t)(-1)) { static ICONV_CONST char input[] = "\263"; char buf[10]; ICONV_CONST char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_ascii_to_88591, &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) result |= 2; iconv_close (cd_ascii_to_88591); } } /* Test against AIX 6.1..7.1 bug: Buffer overrun. */ { iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static ICONV_CONST char input[] = "\304"; static char buf[2] = { (char)0xDE, (char)0xAD }; ICONV_CONST char *inptr = input; size_t inbytesleft = 1; char *outptr = buf; size_t outbytesleft = 1; size_t res = iconv (cd_88591_to_utf8, &inptr, &inbytesleft, &outptr, &outbytesleft); if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) result |= 4; iconv_close (cd_88591_to_utf8); } } #if 0 /* This bug could be worked around by the caller. */ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ { iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; ICONV_CONST char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_88591_to_utf8, &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) result |= 8; iconv_close (cd_88591_to_utf8); } } #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ if (/* Try standardized names. */ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) /* Try IRIX, OSF/1 names. */ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) /* Try AIX names. */ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) /* Try HP-UX names. */ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) result |= 16; return result; ]])], [am_cv_func_iconv_works=yes], , [case "$host_os" in aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; *) am_cv_func_iconv_works="guessing yes" ;; esac]) test "$am_cv_func_iconv_works" = no || break done LIBS="$am_save_LIBS" ]) case "$am_cv_func_iconv_works" in *no) am_func_iconv=no am_cv_lib_iconv=no ;; *) am_func_iconv=yes ;; esac else am_func_iconv=no am_cv_lib_iconv=no fi if test "$am_func_iconv" = yes; then AC_DEFINE([HAVE_ICONV], [1], [Define if you have the iconv() function and it works.]) fi if test "$am_cv_lib_iconv" = yes; then AC_MSG_CHECKING([how to link with libiconv]) AC_MSG_RESULT([$LIBICONV]) else dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV dnl either. CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi AC_SUBST([LIBICONV]) AC_SUBST([LTLIBICONV]) ]) dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to dnl avoid warnings like dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required". dnl This is tricky because of the way 'aclocal' is implemented: dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN. dnl Otherwise aclocal's initial scan pass would miss the macro definition. dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions. dnl Otherwise aclocal would emit many "Use of uninitialized value $1" dnl warnings. m4_define([gl_iconv_AC_DEFUN], m4_version_prereq([2.64], [[AC_DEFUN_ONCE( [$1], [$2])]], [m4_ifdef([gl_00GNULIB], [[AC_DEFUN_ONCE( [$1], [$2])]], [[AC_DEFUN( [$1], [$2])]])])) gl_iconv_AC_DEFUN([AM_ICONV], [ AM_ICONV_LINK if test "$am_cv_func_iconv" = yes; then AC_MSG_CHECKING([for iconv declaration]) AC_CACHE_VAL([am_cv_proto_iconv], [ AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[ #include #include extern #ifdef __cplusplus "C" #endif #if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); #else size_t iconv(); #endif ]], [[]])], [am_cv_proto_iconv_arg1=""], [am_cv_proto_iconv_arg1="const"]) am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` AC_MSG_RESULT([ $am_cv_proto_iconv]) AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], [Define as const if the declaration of iconv() needs const.]) dnl Also substitute ICONV_CONST in the gnulib generated . m4_ifdef([gl_ICONV_H_DEFAULTS], [AC_REQUIRE([gl_ICONV_H_DEFAULTS]) if test -n "$am_cv_proto_iconv_arg1"; then ICONV_CONST="const" fi ]) fi ]) ibus-libpinyin-1.16.1/m4/lib-link.m40000644000175000017500000010044313440164411012501 # lib-link.m4 serial 26 (gettext-0.18.2) dnl Copyright (C) 2001-2016 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_PREREQ([2.54]) dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and dnl augments the CPPFLAGS variable. dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. AC_DEFUN([AC_LIB_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) pushdef([Name],[m4_translit([$1],[./+-], [____])]) pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ AC_LIB_LINKFLAGS_BODY([$1], [$2]) ac_cv_lib[]Name[]_libs="$LIB[]NAME" ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" ac_cv_lib[]Name[]_cppflags="$INC[]NAME" ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX" ]) LIB[]NAME="$ac_cv_lib[]Name[]_libs" LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" INC[]NAME="$ac_cv_lib[]Name[]_cppflags" LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) AC_SUBST([LIB]NAME[_PREFIX]) dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the dnl results of this search when this library appears as a dependency. HAVE_LIB[]NAME=yes popdef([NAME]) popdef([Name]) ]) dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message]) dnl searches for libname and the libraries corresponding to explicit and dnl implicit dependencies, together with the specified include files and dnl the ability to compile and link the specified testcode. The missing-message dnl defaults to 'no' and may contain additional hints for the user. dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) pushdef([Name],[m4_translit([$1],[./+-], [____])]) pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME dnl accordingly. AC_LIB_LINKFLAGS_BODY([$1], [$2]) dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, dnl because if the user has installed lib[]Name and not disabled its use dnl via --without-lib[]Name-prefix, he wants to use it. ac_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ ac_save_LIBS="$LIBS" dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS, dnl because these -l options might require -L options that are present in dnl LIBS. -l options benefit only from the -L options listed before it. dnl Otherwise, add it to the front of LIBS, because it may be a static dnl library that depends on another static library that is present in LIBS. dnl Static libraries benefit only from the static libraries listed after dnl it. case " $LIB[]NAME" in *" -l"*) LIBS="$LIBS $LIB[]NAME" ;; *) LIBS="$LIB[]NAME $LIBS" ;; esac AC_LINK_IFELSE( [AC_LANG_PROGRAM([[$3]], [[$4]])], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])']) LIBS="$ac_save_LIBS" ]) if test "$ac_cv_lib[]Name" = yes; then HAVE_LIB[]NAME=yes AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.]) AC_MSG_CHECKING([how to link with lib[]$1]) AC_MSG_RESULT([$LIB[]NAME]) else HAVE_LIB[]NAME=no dnl If $LIB[]NAME didn't lead to a usable library, we don't need dnl $INC[]NAME either. CPPFLAGS="$ac_save_CPPFLAGS" LIB[]NAME= LTLIB[]NAME= LIB[]NAME[]_PREFIX= fi AC_SUBST([HAVE_LIB]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) AC_SUBST([LIB]NAME[_PREFIX]) popdef([NAME]) popdef([Name]) ]) dnl Determine the platform dependent parameters needed to use rpath: dnl acl_libext, dnl acl_shlibext, dnl acl_libname_spec, dnl acl_library_names_spec, dnl acl_hardcode_libdir_flag_spec, dnl acl_hardcode_libdir_separator, dnl acl_hardcode_direct, dnl acl_hardcode_minus_L. AC_DEFUN([AC_LIB_RPATH], [ dnl Tell automake >= 1.10 to complain if config.rpath is missing. m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done ]) wl="$acl_cv_wl" acl_libext="$acl_cv_libext" acl_shlibext="$acl_cv_shlibext" acl_libname_spec="$acl_cv_libname_spec" acl_library_names_spec="$acl_cv_library_names_spec" acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" acl_hardcode_direct="$acl_cv_hardcode_direct" acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" dnl Determine whether the user wants rpath handling at all. AC_ARG_ENABLE([rpath], [ --disable-rpath do not hardcode runtime library paths], :, enable_rpath=yes) ]) dnl AC_LIB_FROMPACKAGE(name, package) dnl declares that libname comes from the given package. The configure file dnl will then not have a --with-libname-prefix option but a dnl --with-package-prefix option. Several libraries can come from the same dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar dnl macro call that searches for libname. AC_DEFUN([AC_LIB_FROMPACKAGE], [ pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) define([acl_frompackage_]NAME, [$2]) popdef([NAME]) pushdef([PACK],[$2]) pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) define([acl_libsinpackage_]PACKUP, m4_ifdef([acl_libsinpackage_]PACKUP, [m4_defn([acl_libsinpackage_]PACKUP)[, ]],)[lib$1]) popdef([PACKUP]) popdef([PACK]) ]) dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. AC_DEFUN([AC_LIB_LINKFLAGS_BODY], [ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])]) pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) dnl Autoconf >= 2.61 supports dots in --with options. pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[m4_translit(PACK,[.],[_])],PACK)]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_ARG_WITH(P_A_C_K[-prefix], [[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" if test "$acl_libdirstem2" != "$acl_libdirstem" \ && ! test -d "$withval/$acl_libdirstem"; then additional_libdir="$withval/$acl_libdirstem2" fi fi fi ]) dnl Search the library and its dependencies in $additional_libdir and dnl $LDFLAGS. Using breadth-first-seach. LIB[]NAME= LTLIB[]NAME= INC[]NAME= LIB[]NAME[]_PREFIX= dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been dnl computed. So it has to be reset here. HAVE_LIB[]NAME= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='$1 $2' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" dnl See if it was already located by an earlier AC_LIB_LINKFLAGS dnl or AC_LIB_HAVE_LINKFLAGS call. uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" else dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined dnl that this library doesn't exist. So just drop it. : fi else dnl Search the library lib$name in $additional_libdir and $LDFLAGS dnl and the already constructed $LIBNAME/$LTLIBNAME. found_dir= found_la= found_so= found_a= eval libname=\"$acl_libname_spec\" # typically: libname=lib$name if test -n "$acl_shlibext"; then shrext=".$acl_shlibext" # typically: shrext=.so else shrext= fi if test $use_additional = yes; then dir="$additional_libdir" dnl The same code as in the loop below: dnl First look for a shared library. if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi dnl Then look for a static library. if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` dnl First look for a shared library. if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi dnl Then look for a static library. if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then dnl Found the library. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then dnl Linking with a shared library. We attempt to hardcode its dnl directory into the executable's runpath, unless it's the dnl standard /usr/lib. if test "$enable_rpath" = no \ || test "X$found_dir" = "X/usr/$acl_libdirstem" \ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then dnl No hardcoding is needed. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl Use an explicit option to hardcode DIR into the resulting dnl binary. dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi dnl The hardcoding into $LIBNAME is system dependent. if test "$acl_hardcode_direct" = yes; then dnl Using DIR/libNAME.so during linking hardcodes DIR into the dnl resulting binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then dnl Use an explicit option to hardcode DIR into the resulting dnl binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else dnl Rely on "-L$found_dir". dnl But don't add it if it's already contained in the LDFLAGS dnl or the already constructed $LIBNAME haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH dnl here, because this doesn't fit in flags passed to the dnl compiler. So give up. No hardcoding. This affects only dnl very old systems. dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then dnl Linking with a static library. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" else dnl We shouldn't come here, but anyway it's good to have a dnl fallback. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" fi fi dnl Assume the include files are nearby. additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` if test "$name" = '$1'; then LIB[]NAME[]_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; */$acl_libdirstem2 | */$acl_libdirstem2/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` if test "$name" = '$1'; then LIB[]NAME[]_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then dnl Potentially add $additional_includedir to $INCNAME. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's /usr/local/include and we are using GCC on Linux, dnl 3. if it's already present in $CPPFLAGS or the already dnl constructed $INCNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INC[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $INCNAME. INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" fi fi fi fi fi dnl Look for dependencies. if test -n "$found_la"; then dnl Read the .la file. It defines the variables dnl dlname, library_names, old_library, dependency_libs, current, dnl age, revision, installed, dlopen, dlpreopen, libdir. save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" dnl We use only dependency_libs. for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's /usr/local/lib and we are using GCC on Linux, dnl 3. if it's already present in $LDFLAGS or the already dnl constructed $LIBNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LIBNAME. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LTLIBNAME. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) dnl Handle this in the next round. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) dnl Handle this in the next round. Throw away the .la's dnl directory; it is already contained in a preceding -L dnl option. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) dnl Most likely an immediate library name. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" ;; esac done fi else dnl Didn't find the library; assume it is in the system directories dnl known to the linker and runtime loader. (All the system dnl directories known to the linker should also be known to the dnl runtime loader, otherwise the system is severely misconfigured.) LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$acl_hardcode_libdir_separator"; then dnl Weird platform: only the last -rpath option counts, the user must dnl pass all path elements in one option. We can arrange that for a dnl single library, but not when more than one $LIBNAMEs are used. alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" else dnl The -rpath options are cumulative. for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then dnl When using libtool, the option that works for both libraries and dnl executables is -R. The -R options are cumulative. for found_dir in $ltrpathdirs; do LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" done fi popdef([P_A_C_K]) popdef([PACKLIBS]) popdef([PACKUP]) popdef([PACK]) popdef([NAME]) ]) dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, dnl unless already present in VAR. dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes dnl contains two or three consecutive elements that belong together. AC_DEFUN([AC_LIB_APPENDTOVAR], [ for element in [$2]; do haveit= for x in $[$1]; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then [$1]="${[$1]}${[$1]:+ }$element" fi done ]) dnl For those cases where a variable contains several -L and -l options dnl referring to unknown libraries and directories, this macro determines the dnl necessary additional linker options for the runtime path. dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) dnl sets LDADDVAR to linker options needed together with LIBSVALUE. dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, dnl otherwise linking without libtool is assumed. AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], [ AC_REQUIRE([AC_LIB_RPATH]) AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) $1= if test "$enable_rpath" != no; then if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then dnl Use an explicit option to hardcode directories into the resulting dnl binary. rpathdirs= next= for opt in $2; do if test -n "$next"; then dir="$next" dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem" \ && test "X$dir" != "X/usr/$acl_libdirstem2"; then rpathdirs="$rpathdirs $dir" fi next= else case $opt in -L) next=yes ;; -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem" \ && test "X$dir" != "X/usr/$acl_libdirstem2"; then rpathdirs="$rpathdirs $dir" fi next= ;; *) next= ;; esac fi done if test "X$rpathdirs" != "X"; then if test -n ""$3""; then dnl libtool is used for linking. Use -R options. for dir in $rpathdirs; do $1="${$1}${$1:+ }-R$dir" done else dnl The linker is used for linking directly. if test -n "$acl_hardcode_libdir_separator"; then dnl Weird platform: only the last -rpath option counts, the user dnl must pass all path elements in one option. alldirs= for dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" $1="$flag" else dnl The -rpath options are cumulative. for dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" $1="${$1}${$1:+ }$flag" done fi fi fi fi fi AC_SUBST([$1]) ]) ibus-libpinyin-1.16.1/m4/po.m40000644000175000017500000004503113440164411011417 # po.m4 serial 24 (gettext-0.19) dnl Copyright (C) 1995-2014, 2016 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ([2.60]) dnl Checks for all prerequisites of the po subdirectory. AC_DEFUN([AM_PO_SUBDIRS], [ AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl AC_REQUIRE([AC_PROG_SED])dnl AC_REQUIRE([AM_NLS])dnl dnl Release version of the gettext macros. This is used to ensure that dnl the gettext macros and po/Makefile.in.in are in sync. AC_SUBST([GETTEXT_MACRO_VERSION], [0.19]) dnl Perform the following tests also if --disable-nls has been given, dnl because they are needed for "make dist" to work. dnl Search for GNU msgfmt in the PATH. dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. dnl The second test excludes FreeBSD msgfmt. AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT]) dnl Test whether it is GNU msgfmt >= 0.15. changequote(,)dnl case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; *) MSGFMT_015=$MSGFMT ;; esac changequote([,])dnl AC_SUBST([MSGFMT_015]) changequote(,)dnl case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; *) GMSGFMT_015=$GMSGFMT ;; esac changequote([,])dnl AC_SUBST([GMSGFMT_015]) dnl Search for GNU xgettext 0.12 or newer in the PATH. dnl The first test excludes Solaris xgettext and early GNU xgettext versions. dnl The second test excludes FreeBSD xgettext. AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) dnl Remove leftover from FreeBSD xgettext call. rm -f messages.po dnl Test whether it is GNU xgettext >= 0.15. changequote(,)dnl case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; *) XGETTEXT_015=$XGETTEXT ;; esac changequote([,])dnl AC_SUBST([XGETTEXT_015]) dnl Search for GNU msgmerge 0.11 or newer in the PATH. AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) dnl Installation directories. dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we dnl have to define it here, so that it can be used in po/Makefile. test -n "$localedir" || localedir='${datadir}/locale' AC_SUBST([localedir]) dnl Support for AM_XGETTEXT_OPTION. test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= AC_SUBST([XGETTEXT_EXTRA_OPTIONS]) AC_CONFIG_COMMANDS([po-directories], [[ for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Treat a directory as a PO directory if and only if it has a # POTFILES.in file. This allows packages to have multiple PO # directories under different names or in different locations. if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" gt_tab=`printf '\t'` cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assignment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. # Hide the ALL_LINGUAS assignment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) # Compute UPDATEPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) # Compute DUMMYPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) # Compute GMOFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= UPDATEPOFILES= DUMMYPOFILES= GMOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done]], [# Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it # from automake < 1.5. eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" ]) ]) dnl Postprocesses a Makefile in a directory containing PO files. AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], [ # When this code is run, in config.status, two variables have already been # set: # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in, # - LINGUAS is the value of the environment variable LINGUAS at configure # time. changequote(,)dnl # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Find a way to echo strings without interpreting backslash. if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then gt_echo='echo' else if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then gt_echo='printf %s\n' else echo_func () { cat < "$ac_file.tmp" tab=`printf '\t'` if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` cat >> "$ac_file.tmp" < /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` cat >> "$ac_file.tmp" <> "$ac_file.tmp" < Solaris 64-bit Developer's Guide > The Development Environment dnl . dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the dnl symlink is missing, so we set acl_libdirstem2 too. AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit], [AC_EGREP_CPP([sixtyfour bits], [ #ifdef _LP64 sixtyfour bits #endif ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no]) ]) if test $gl_cv_solaris_64bit = yes; then acl_libdirstem=lib/64 case "$host_cpu" in sparc*) acl_libdirstem2=lib/sparcv9 ;; i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; esac fi ;; *) searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` if test -n "$searchpath"; then acl_save_IFS="${IFS= }"; IFS=":" for searchdir in $searchpath; do if test -d "$searchdir"; then case "$searchdir" in */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; */../ | */.. ) # Better ignore directories of this form. They are misleading. ;; *) searchdir=`cd "$searchdir" && pwd` case "$searchdir" in */lib64 ) acl_libdirstem=lib64 ;; esac ;; esac fi done IFS="$acl_save_IFS" fi ;; esac test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" ]) ibus-libpinyin-1.16.1/m4/nls.m40000644000175000017500000000230713440164411011574 # nls.m4 serial 5 (gettext-0.18) dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016 Free Software dnl Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ([2.50]) AC_DEFUN([AM_NLS], [ AC_MSG_CHECKING([whether NLS is requested]) dnl Default is enabled NLS AC_ARG_ENABLE([nls], [ --disable-nls do not use Native Language Support], USE_NLS=$enableval, USE_NLS=yes) AC_MSG_RESULT([$USE_NLS]) AC_SUBST([USE_NLS]) ]) ibus-libpinyin-1.16.1/m4/as-version.m40000664000175000017500000000377013440164377013110 dnl as-version.m4 0.2.0 dnl autostars m4 macro for versioning dnl Thomas Vander Stichele dnl $Id: as-version.m4,v 1.4 2004/06/01 09:40:05 thomasvs Exp $ dnl AS_VERSION dnl example dnl AS_VERSION dnl this macro dnl - AC_SUBST's PACKAGE_VERSION_MAJOR, _MINOR, _MICRO dnl - AC_SUBST's PACKAGE_VERSION_RELEASE, dnl which can be used for rpm release fields dnl - doesn't call AM_INIT_AUTOMAKE anymore because it prevents dnl maintainer mode from running correctly dnl dnl don't forget to put #undef PACKAGE_VERSION_RELEASE in acconfig.h dnl if you use acconfig.h AC_DEFUN([AS_VERSION], [ PACKAGE_VERSION_MAJOR=$(echo AC_PACKAGE_VERSION | cut -d'.' -f1) PACKAGE_VERSION_MINOR=$(echo AC_PACKAGE_VERSION | cut -d'.' -f2) PACKAGE_VERSION_MICRO=$(echo AC_PACKAGE_VERSION | cut -d'.' -f3) AC_SUBST(PACKAGE_VERSION_MAJOR) AC_SUBST(PACKAGE_VERSION_MINOR) AC_SUBST(PACKAGE_VERSION_MICRO) ]) dnl AS_NANO(ACTION-IF-NO-NANO, [ACTION-IF-NANO]) dnl requires AC_INIT to be called before dnl For projects using a fourth or nano number in your versioning to indicate dnl development or prerelease snapshots, this macro allows the build to be dnl set up differently accordingly. dnl this macro: dnl - parses AC_PACKAGE_VERSION, set by AC_INIT, and extracts the nano number dnl - sets the variable PACKAGE_VERSION_NANO dnl - sets the variable PACKAGE_VERSION_RELEASE, which can be used dnl for rpm release fields dnl - executes ACTION-IF-NO-NANO or ACTION-IF-NANO dnl example: dnl AS_NANO(RELEASE="yes", RELEASE="no") AC_DEFUN([AS_NANO], [ AC_MSG_CHECKING(nano version) NANO=$(echo AC_PACKAGE_VERSION | cut -d'.' -f4) if test x"$NANO" = x || test "x$NANO" = "x0" ; then AC_MSG_RESULT([0 (release)]) NANO=0 PACKAGE_VERSION_RELEASE=1 ifelse([$1], , :, [$1]) else AC_MSG_RESULT($NANO) PACKAGE_VERSION_RELEASE=0.`date +%Y%m%d.%H%M%S` ifelse([$2], , :, [$2]) fi PACKAGE_VERSION_NANO=$NANO AC_SUBST(PACKAGE_VERSION_NANO) AC_SUBST(PACKAGE_VERSION_RELEASE) ]) ibus-libpinyin-1.16.1/m4/ltsugar.m40000644000175000017500000001045314767166735012512 # ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- # # Copyright (C) 2004-2005, 2007-2008, 2011-2019, 2021-2022 Free Software # Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 6 ltsugar.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) # lt_join(SEP, ARG1, [ARG2...]) # ----------------------------- # Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their # associated separator. # Needed until we can rely on m4_join from Autoconf 2.62, since all earlier # versions in m4sugar had bugs. m4_define([lt_join], [m4_if([$#], [1], [], [$#], [2], [[$2]], [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) m4_define([_lt_join], [m4_if([$#$2], [2], [], [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) # lt_car(LIST) # lt_cdr(LIST) # ------------ # Manipulate m4 lists. # These macros are necessary as long as will still need to support # Autoconf-2.59, which quotes differently. m4_define([lt_car], [[$1]]) m4_define([lt_cdr], [m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], [$#], 1, [], [m4_dquote(m4_shift($@))])]) m4_define([lt_unquote], $1) # lt_append(MACRO-NAME, STRING, [SEPARATOR]) # ------------------------------------------ # Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'. # Note that neither SEPARATOR nor STRING are expanded; they are appended # to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). # No SEPARATOR is output if MACRO-NAME was previously undefined (different # than defined and empty). # # This macro is needed until we can rely on Autoconf 2.62, since earlier # versions of m4sugar mistakenly expanded SEPARATOR but not STRING. m4_define([lt_append], [m4_define([$1], m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) # lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) # ---------------------------------------------------------- # Produce a SEP delimited list of all paired combinations of elements of # PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list # has the form PREFIXmINFIXSUFFIXn. # Needed until we can rely on m4_combine added in Autoconf 2.62. m4_define([lt_combine], [m4_if(m4_eval([$# > 3]), [1], [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl [[m4_foreach([_Lt_prefix], [$2], [m4_foreach([_Lt_suffix], ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) # lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) # ----------------------------------------------------------------------- # Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited # by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. m4_define([lt_if_append_uniq], [m4_ifdef([$1], [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], [lt_append([$1], [$2], [$3])$4], [$5])], [lt_append([$1], [$2], [$3])$4])]) # lt_dict_add(DICT, KEY, VALUE) # ----------------------------- m4_define([lt_dict_add], [m4_define([$1($2)], [$3])]) # lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) # -------------------------------------------- m4_define([lt_dict_add_subkey], [m4_define([$1($2:$3)], [$4])]) # lt_dict_fetch(DICT, KEY, [SUBKEY]) # ---------------------------------- m4_define([lt_dict_fetch], [m4_ifval([$3], m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) # lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) # ----------------------------------------------------------------- m4_define([lt_if_dict_fetch], [m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], [$5], [$6])]) # lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) # -------------------------------------------------------------- m4_define([lt_dict_filter], [m4_if([$5], [], [], [lt_join(m4_quote(m4_default([$4], [[, ]])), lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl ]) ibus-libpinyin-1.16.1/AUTHORS0000664000175000017500000000023413300741721011265 Peng Huang BYVoid Peng Wu ru.po: koterpillar fr.po: Jiehong Ma ibus-libpinyin-1.16.1/INSTALL0000644000175000017500000003662614767166740011306 Installation Instructions ************************* Copyright (C) 1994-1996, 1999-2002, 2004-2017, 2020-2021 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without warranty of any kind. Basic Installation ================== Briefly, the shell command './configure && make && make install' should configure, build, and install this package. The following more-detailed instructions are generic; see the 'README' file for instructions specific to this package. Some packages provide this 'INSTALL' file but do not implement all of the features documented below. The lack of an optional feature in a given package is not necessarily a bug. More recommendations for GNU packages can be found in *note Makefile Conventions: (standards)Makefile Conventions. The 'configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a 'Makefile' in each directory of the package. It may also create one or more '.h' files containing system-dependent definitions. Finally, it creates a shell script 'config.status' that you can run in the future to recreate the current configuration, and a file 'config.log' containing compiler output (useful mainly for debugging 'configure'). It can also use an optional file (typically called 'config.cache' and enabled with '--cache-file=config.cache' or simply '-C') that saves the results of its tests to speed up reconfiguring. Caching is disabled by default to prevent problems with accidental use of stale cache files. If you need to do unusual things to compile the package, please try to figure out how 'configure' could check whether to do them, and mail diffs or instructions to the address given in the 'README' so they can be considered for the next release. If you are using the cache, and at some point 'config.cache' contains results you don't want to keep, you may remove or edit it. The file 'configure.ac' (or 'configure.in') is used to create 'configure' by a program called 'autoconf'. You need 'configure.ac' if you want to change it or regenerate 'configure' using a newer version of 'autoconf'. The simplest way to compile this package is: 1. 'cd' to the directory containing the package's source code and type './configure' to configure the package for your system. Running 'configure' might take a while. While running, it prints some messages telling which features it is checking for. 2. Type 'make' to compile the package. 3. Optionally, type 'make check' to run any self-tests that come with the package, generally using the just-built uninstalled binaries. 4. Type 'make install' to install the programs and any data files and documentation. When installing into a prefix owned by root, it is recommended that the package be configured and built as a regular user, and only the 'make install' phase executed with root privileges. 5. Optionally, type 'make installcheck' to repeat any self-tests, but this time using the binaries in their final installed location. This target does not install anything. Running this target as a regular user, particularly if the prior 'make install' required root privileges, verifies that the installation completed correctly. 6. You can remove the program binaries and object files from the source code directory by typing 'make clean'. To also remove the files that 'configure' created (so you can compile the package for a different kind of computer), type 'make distclean'. There is also a 'make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. 7. Often, you can also type 'make uninstall' to remove the installed files again. In practice, not all packages have tested that uninstallation works correctly, even though it is required by the GNU Coding Standards. 8. Some packages, particularly those that use Automake, provide 'make distcheck', which can by used by developers to test that all other targets like 'make install' and 'make uninstall' work correctly. This target is generally not run by end users. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the 'configure' script does not know about. Run './configure --help' for details on some of the pertinent environment variables. You can give 'configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here is an example: ./configure CC=c99 CFLAGS=-g LIBS=-lposix *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you can use GNU 'make'. 'cd' to the directory where you want the object files and executables to go and run the 'configure' script. 'configure' automatically checks for the source code in the directory that 'configure' is in and in '..'. This is known as a "VPATH" build. With a non-GNU 'make', it is safer to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use 'make distclean' before reconfiguring for another architecture. On MacOS X 10.5 and later systems, you can create libraries and executables that work on multiple system types--known as "fat" or "universal" binaries--by specifying multiple '-arch' options to the compiler but only a single '-arch' option to the preprocessor. Like this: ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CPP="gcc -E" CXXCPP="g++ -E" This is not guaranteed to produce working output in all cases, you may have to build one architecture at a time and combine the results using the 'lipo' tool if you have problems. Installation Names ================== By default, 'make install' installs the package's commands under '/usr/local/bin', include files under '/usr/local/include', etc. You can specify an installation prefix other than '/usr/local' by giving 'configure' the option '--prefix=PREFIX', where PREFIX must be an absolute file name. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you pass the option '--exec-prefix=PREFIX' to 'configure', the package uses PREFIX as the prefix for installing programs and libraries. Documentation and other data files still use the regular prefix. In addition, if you use an unusual directory layout you can give options like '--bindir=DIR' to specify different values for particular kinds of files. Run 'configure --help' for a list of the directories you can set and what kinds of files go in them. In general, the default for these options is expressed in terms of '${prefix}', so that specifying just '--prefix' will affect all of the other directory specifications that were not explicitly provided. The most portable way to affect installation locations is to pass the correct locations to 'configure'; however, many packages provide one or both of the following shortcuts of passing variable assignments to the 'make install' command line to change installation locations without having to reconfigure or recompile. The first method involves providing an override variable for each affected directory. For example, 'make install prefix=/alternate/directory' will choose an alternate location for all directory configuration variables that were expressed in terms of '${prefix}'. Any directories that were specified during 'configure', but not in terms of '${prefix}', must each be overridden at install time for the entire installation to be relocated. The approach of makefile variable overrides for each directory variable is required by the GNU Coding Standards, and ideally causes no recompilation. However, some platforms have known limitations with the semantics of shared libraries that end up requiring recompilation when using this method, particularly noticeable in packages that use GNU Libtool. The second method involves providing the 'DESTDIR' variable. For example, 'make install DESTDIR=/alternate/directory' will prepend '/alternate/directory' before all installation names. The approach of 'DESTDIR' overrides is not required by the GNU Coding Standards, and does not work on platforms that have drive letters. On the other hand, it does better at avoiding recompilation issues, and works well even when some directory options were not specified in terms of '${prefix}' at 'configure' time. Optional Features ================= If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving 'configure' the option '--program-prefix=PREFIX' or '--program-suffix=SUFFIX'. Some packages pay attention to '--enable-FEATURE' options to 'configure', where FEATURE indicates an optional part of the package. They may also pay attention to '--with-PACKAGE' options, where PACKAGE is something like 'gnu-as' or 'x' (for the X Window System). The 'README' should mention any '--enable-' and '--with-' options that the package recognizes. For packages that use the X Window System, 'configure' can usually find the X include and library files automatically, but if it doesn't, you can use the 'configure' options '--x-includes=DIR' and '--x-libraries=DIR' to specify their locations. Some packages offer the ability to configure how verbose the execution of 'make' will be. For these packages, running './configure --enable-silent-rules' sets the default to minimal output, which can be overridden with 'make V=1'; while running './configure --disable-silent-rules' sets the default to verbose, which can be overridden with 'make V=0'. Particular systems ================== On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC is not installed, it is recommended to use the following options in order to use an ANSI C compiler: ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" and if that doesn't work, install pre-built binaries of GCC for HP-UX. HP-UX 'make' updates targets which have the same timestamps as their prerequisites, which makes it generally unusable when shipped generated files such as 'configure' are involved. Use GNU 'make' instead. On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot parse its '' header file. The option '-nodtk' can be used as a workaround. If GNU CC is not installed, it is therefore recommended to try ./configure CC="cc" and if that doesn't work, try ./configure CC="cc -nodtk" On Solaris, don't put '/usr/ucb' early in your 'PATH'. This directory contains several dysfunctional programs; working variants of these programs are available in '/usr/bin'. So, if you need '/usr/ucb' in your 'PATH', put it _after_ '/usr/bin'. On Haiku, software installed for all users goes in '/boot/common', not '/usr/local'. It is recommended to use the following options: ./configure --prefix=/boot/common Specifying the System Type ========================== There may be some features 'configure' cannot figure out automatically, but needs to determine by the type of machine the package will run on. Usually, assuming the package is built to be run on the _same_ architectures, 'configure' can figure that out, but if it prints a message saying it cannot guess the machine type, give it the '--build=TYPE' option. TYPE can either be a short name for the system type, such as 'sun4', or a canonical name which has the form: CPU-COMPANY-SYSTEM where SYSTEM can have one of these forms: OS KERNEL-OS See the file 'config.sub' for the possible values of each field. If 'config.sub' isn't included in this package, then this package doesn't need to know the machine type. If you are _building_ compiler tools for cross-compiling, you should use the option '--target=TYPE' to select the type of system they will produce code for. If you want to _use_ a cross compiler, that generates code for a platform different from the build platform, you should specify the "host" platform (i.e., that on which the generated programs will eventually be run) with '--host=TYPE'. Sharing Defaults ================ If you want to set default values for 'configure' scripts to share, you can create a site shell script called 'config.site' that gives default values for variables like 'CC', 'cache_file', and 'prefix'. 'configure' looks for 'PREFIX/share/config.site' if it exists, then 'PREFIX/etc/config.site' if it exists. Or, you can set the 'CONFIG_SITE' environment variable to the location of the site script. A warning: not all 'configure' scripts look for a site script. Defining Variables ================== Variables not defined in a site shell script can be set in the environment passed to 'configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set them in the 'configure' command line, using 'VAR=value'. For example: ./configure CC=/usr/local2/bin/gcc causes the specified 'gcc' to be used as the C compiler (unless it is overridden in the site shell script). Unfortunately, this technique does not work for 'CONFIG_SHELL' due to an Autoconf limitation. Until the limitation is lifted, you can use this workaround: CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash 'configure' Invocation ====================== 'configure' recognizes the following options to control how it operates. '--help' '-h' Print a summary of all of the options to 'configure', and exit. '--help=short' '--help=recursive' Print a summary of the options unique to this package's 'configure', and exit. The 'short' variant lists options used only in the top level, while the 'recursive' variant lists options also present in any nested packages. '--version' '-V' Print the version of Autoconf used to generate the 'configure' script, and exit. '--cache-file=FILE' Enable the cache: use and save the results of the tests in FILE, traditionally 'config.cache'. FILE defaults to '/dev/null' to disable caching. '--config-cache' '-C' Alias for '--cache-file=config.cache'. '--quiet' '--silent' '-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to '/dev/null' (any error messages will still be shown). '--srcdir=DIR' Look for the package's source code in directory DIR. Usually 'configure' can determine that directory automatically. '--prefix=DIR' Use DIR as the installation prefix. *note Installation Names:: for more details, including other options available for fine-tuning the installation locations. '--no-create' '-n' Run the configure checks, but stop before creating any output files. 'configure' also accepts some other, not widely useful, options. Run 'configure --help' for more details.