日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

使用 gperf 实现高效的 C/C++ 命令行处理

發布時間:2024/2/28 c/c++ 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用 gperf 实现高效的 C/C++ 命令行处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

命令行處理和 gperf 的作用

命令行處理一直以來都是軟件開發中最容易被忽視的領域。幾乎所有比較復雜的軟件都具有一些可用的命令行選項。事實上,大量?if-else?語句經常被用來處理用戶輸入,因此維護這種遺留代碼相當費時,對資深程序員亦是如此。這種情形下,很多 C 開發人員通常使用冗長(通常都嵌套使用)的?if-else?語句,以及 ANSI C 庫函數,例如?strcmp、strcasecmp?和?strtok?作為補充,如清單 1 所示。

清單 1. C 語言樣式的命令行處理
1 2 3 4 5 6 7 8 if (strtok(cmdstring, "+dumpdirectory")) ??{ ??// code for printing help messages goes here ??} else if (strtok(cmdstring, "+dumpfile")) ??{ ??// code for printing version info goes here ??}

C++ 開發人員并沒有使用基于 ANSI C 的應用程序編程接口,而是使用標準模板庫(Standard Template Library,STL)中的字符串。盡管如此,仍然無法避免使用嵌套的?if-else?序列語句。很明顯,隨著命令行選項不斷增加,這種方法缺乏可伸縮性。對于具有 N 個選項的典型程序調用,代碼最終執行 0(N2)比較。為了生成運行更加快捷并易于維護的代碼,使用散列表存儲命令行選項并使用散列驗證用戶指定的輸入,這種方法非常有幫助。

這就是 gperf 扮演的角色。它將從預定的有效命令行選項列表和時間復雜度為 O(1) 的查找函數中生成一個散列表。因此,對于具有 N 個選項的典型程序調用,代碼只需執行?O(N) [N*O(1)]?比較 — 這是對遺留代碼的巨大改進。

Gperf 使用模式

Gperf 將從用戶提供的文件中(通常使用 .gperf 作為擴展名,但不做強制要求)— 例如,commandoptions.gperf — 并針對散列表、散列和查找方法生成 C/C++ 源代碼。所有代碼被定向到標準輸出,然后必須重定向到類似下面的文件:

1 gperf? -L C++ command_line_options.gperf > perfecthash.hpp

注意:-L?選項將指示 gperf 生成 C++ 代碼。

Gperf 輸入文件格式

清單 2 展示了 gperf 輸入文件的典型格式。

清單 2. gperf 輸入文件格式
1 2 3 4 5 6 7 8 %{ /* C code that goes verbatim in output */ %} declarations %% keywords %% functions

文件格式由若干元素組成:C 代碼內容、聲明、關鍵字和函數。

C 代碼內容

C 代碼內容是可選的,使用?%{?和?%}?括起來。其中的 C 代碼和注釋將被全部復制到 gperf 生成的輸出文件中。(注意,此處類似于 GNU flex 和 bison 實用程序)。

聲明

聲明部分也是可選的;如果沒有使用?-t?選項調用 gperf,則完全可以忽略聲明部分。但是,如果啟用了這個選項,聲明部分中最后一個元素的第一個字段必須是使用?char*?或?const char*?標識符調用的名稱

但是,通過使用 gperf 中的?-K?選項可以改寫第一個字段的名稱。例如,如果希望將該字段命名為?command_option,執行以下 gperf 調用:

1 gperf -t -K command_option

清單 3 展示了 C 代碼內容和聲明部分。

清單 3. C 代碼內容和聲明部分
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %{ struct CommandOptionCode? { ??enum { ??????HELPVERBOSE = 1, ??????..., // more option codes here ??????_64BIT = 5 ???}; }; typedef struct CommandOptionCode CommandOptionCode; %} struct CommandOption ??{ ??const char* command_option; ??int OptionCode; ??}; %%

關鍵字

關鍵字部分包含關鍵字— 在本例中指預定義的命令行參數。在該部分中,如果每行第一列以數字標志 (#) 開頭,那么該行屬于注釋行。關鍵字應該是每一個非注釋行的第一個字段;通常與?char*?相關聯的字符串引號是可選內容。此外,字段可以放在前面的關鍵字之后,但是必須使用逗號隔開并截止到行末。這些字段直接對應于聲明部分中最后一部分結構,如清單 4 所示。

清單 4. 關鍵字部分
1 2 3 4 %% +helpverbose, CommandOptionCode::HELPVERBOSE +append_log, CommandOptionCode::APPEND_LOG +compile, CommandOptionCode::COMPILE
C++/STL 風格的初始化

C++/STL 風格的初始化就是創建一個?stl::map?并使用insert()?方法將它反復插入到映射中。相反,任何負責維護代碼的人員必須對其進行調試,以找出每一個命令行選項進行初始化的確切位置,這在編寫糟糕的代碼中十分常見。Gperf 對此提供了更加整潔的界面。

第一個條目指?CommandOption?結構的?const char* command_option?字段,如?清單 3?所示;第二個條目指同一個結構中的?int OptionCode?字段。那么這里究竟有什么含義呢?事實上,這就是 gperf 初始化散列表的方式,其中存儲了命令行選項及其相關屬性。

函數

函數也是可選的部分。函數部分中所有以?%%?開頭并延伸到文件末尾的文本將全部復制到生成的文件中。和聲明部分一樣,用戶需要為函數部分提供有效的 C/C++ 代碼。

Gperf 輸出

Gperf 混編了一組預定義的關鍵字,然后對這些關鍵字執行快速查找。與此相似,gperf 輸出兩個函數:hash()?和in_word_set()。前者是一個散列例程,而后者用于執行查找。Gperf 輸出可以是 C 語言,也可以是 C++ 語言 — 您可以指定為其中一種。如果將輸出指定為 C 語言,將生成兩個具有上述名稱的 C 函數。如果指定為 C++ 語言,gperf 將生成名為Perfect_Hash?的類,該類包含兩種方法。

注意:可以使用?-Z?選項修改生成的類名。

散列函數的原型為:

1 unsigned int hash (const char *str, unsigned int len);

其中?str?表示命令行選項,而?len?表示其長度。例如,如果命令行參數為?+helpverbose,則?str?為?+helpverbose,len?為12。

在 gperf 生成的散列內,in_word_set()?為查找函數。該例程的原型取決于用戶指定的?-t?選項。如果還沒有指定該選項,那么僅處理特定于用戶的命令字符串(作為數據存儲在 gperf 生成的散列中),而不是與命令字符串相關的結構。

例如,在?清單 3?中,將?CommandOption?結構與用戶命令參數關聯起來,該參數將由?in_word_set()?例程返回。您可以使用?-N選項改變這個例程的名稱。該例程的參數類似于前面解釋的?hash()?函數:

1 const struct CommandOption* in_word_set (const char *str, unsigned int len);

常見 gperf 選項

Gperf 是可以接受不同選項的高度可定制工具。gperf 在線手冊(參閱?參考資料小節?中的鏈接)說明了 gperf 中所有可用的選項,包括:

  • -L?language-name指示 gperf 使用指定的語言生成輸出。目前支持以下幾個選項:
    • KR-C:這種老式的 K&R C 可以得到新舊 C 編譯器的支持,但是新的符合 ANSI C 標準的編譯器可能會生成警告,或者,某些情況下甚至會生成標志錯誤。
    • C:該選項將生成 C 代碼,但是如果不對已有源代碼進行調整,則可能無法使用某些舊的 C 編譯器進行編譯。
    • ANSI-C:該選項生成符合 ANSI C 標準的代碼,只能使用符合 ANSI C 標準的編譯器或 C++ 編譯器進行編譯。
    • C++:該選項生成 C++ 代碼。
  • -N:該選項允許用戶修改查找函數的名稱。默認名為?in_word_set()。
  • -H:該選項允許用戶修改散列例程的名稱。默認名為?hash()。
  • -Z:該選項在提供了?-L?C++ 選項時使用。它允許用戶指定所生成的 C++ 類的名稱,該類包含?in_word_set()?和?hash()函數。默認名為?Perfect_Hash。
  • -G:該選項將生成查找表并將其作為靜態全局變量,而不是在查找函數內生成以隱藏該表(默認行為)。
  • -C:前面討論了 Gperf 將生成查找表。-C?選項將創建使用?const?關鍵字聲明的查找表。所有生成的查找表中的內容都是常量 — 即只讀形式。很多編譯器通過將表放入只讀內存中可以生成更高效的代碼。
  • -D:該選項將處理散列為重復值的關鍵字。
  • -t:該選項允許包含關鍵字結構。
  • -K:該選項允許用戶選擇關鍵字結構中的關鍵字組件的名稱。
  • -p:該選項可以與較早版本的 gperf 兼容。在早期版本中,它將生成的函數?in_word_set()?返回的默認布爾值(即 0 或 1 )修改為?pointer to wordlist array?類型。這個選項非常有用,尤其是在使用?-t(允許使用用戶定義的?structs)選項時。在最新版的 gperf 中并不要求使用該選項并且可以將其刪除。

Gperf 原理概述

靜態搜索集?是一種抽象數據類型,包含的操作包括?initialize、insert?和?retrieve。完美散列函數是一種在時間和空間方面都十分高效的靜態搜索集實現。Gperf 是一種完美散列函數生成器,它使用用戶提供的關鍵字列表構建完美散列函數。Gperf 將?n?個用戶提供的關鍵字元素列表轉換為包含?k?個元素查找表和兩個函數的源代碼:

  • hash:該例程將關鍵字惟一地映射到范圍?0 ..?k?- 1?中,其中?k?= n。如果 k = n,hash()?被認為是最小完美?hash()?函數。這種?hash()?函數具有兩個屬性:
    • perfect property:查找時間復雜度為?O(1)?的表條目 — 就是說,至多需要一個字符串比較執行靜態搜索集中的關鍵字識別。
    • minimal property:為存儲關鍵字而分配的最小內存。
  • in_word_set:該例程使用?hash()?確定某個字符串是否屬于用戶提供的列表,大多數情況下只使用一個字符串比較。

Gperf 的內部實現以兩個內部數據結構為核心:?關鍵字簽名(keyword signatures)列表(Key_List)和?關聯值(associated values)數組(asso_values)。所有用戶指定的關鍵字及其屬性將從用戶指定的文件中讀取,并存儲為鏈接列表中的一個節點(稱為?Key_List)。在搜索完美?hash()?函數時,gperf 只將每個關鍵字字符中的一部分作為搜索鍵。這部分字符被稱為關鍵字簽名?或?keysig。

關聯值數組在?hash()?函數內部生成,并使用?keysig?字符進行索引。Gperf 反復搜索某種關聯值配置,該配置將所有?nkeysig映射到非重復的散列值。當 gperf 找到某種配置,并且該配置將每個?keysig?分配到生成的查找表中惟一位置時,將生成一個完美?hash()?函數。產生的完美?hash()?函數返回一個無符號的?int?值,范圍為 0..(k-1),其中?k?值為最大關鍵字散列值加 1。

當 k = n 時,將生成最小完美?hash()?函數。關鍵字散列值通常這樣計算:將關鍵字的?keysig?關聯值和關鍵字長度結合。默認情況下,hash()?函數將關鍵字的第一個索引位置的關聯值和最后一個索引位置的關聯值添加到長度中;例如:

1 hash_value = length + asso_values[(unsigned char)keyword[1]];

示例項目

下面使用一個簡單項目解釋目前為止所討論的概念。考慮如清單 5 所示的 gperf 文件。

清單 5. command_options.gperf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 %{ #include "command_options.h" typedef struct CommandOptionCode CommandOptionCode; %} struct CommandOption ??{ ??const char *Option; ??int OptionCode; ??}; %% +helpverbose, CommandOptionCode::HELPVERBOSE +password, CommandOptionCode::PASSWORD +nocopyright, CommandOptionCode::NOCOPYRIGHT +nolog, CommandOptionCode::NOLOG +_64bit, CommandOptionCode::_64BIT

清單 6 展示了包含在 gperf 文件中的?command_options.h?頭文件。

清單 6. command_options.h 頭文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 #ifndef __COMMANDOPTIONS_H #define __COMMANDOPTIONS_H struct CommandOptionCode ??{ ??enum ????{ ????HELPVERBOSE = 1, ????PASSWORD = 2, ????NOCOPYRIGHT = 3, ????NOLOG = 4, ????_64BIT = 5 ????}; ??}; #endif

gperf 命令行如下所示:

1 2 gperf -CGD -N IsValidCommandLineOption -K Option -L C++ -t ????command_line_options.gperf > perfecthash.hpp

散列表作為 perfecthash.hpp 文件一部分生成。由于命令行中指定了?-G?選項,將在全局范圍內生成散列表。因為使用?-C?選項進行 gperf 調用,將使用?const?屬性定義散列表。清單 7 展示了所生成的源代碼的詳細內容。

清單 7. 生成的 perfecthash.hpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 /* C++ code produced by gperf version 3.0.3 */ /* Command-line: 'C:\\gperf\\gperf.exe' -CGD -N IsValidCommandLineOption -K Option -L C++ -t command_line_options.gperf? */ /* Computed positions: -k'2' */ #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ ??????&& ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ ??????&& (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ ??????&& ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ ??????&& ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ ??????&& ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ ??????&& ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ ??????&& ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ ??????&& ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ ??????&& ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ ??????&& ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ ??????&& ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ ??????&& ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ ??????&& ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ ??????&& ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ ??????&& ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ ??????&& ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ ??????&& ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ ??????&& ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ ??????&& ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ ??????&& ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ ??????&& ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ ??????&& ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) /* The character set is not based on ISO-646.? */ #error "gperf generated tables don't work with this execution character set. \ Please report a bug to <bug-gnu-gperf@gnu.org>." #endif #line 1 "command_line_options.gperf" #include "command_options.h" typedef struct CommandOptionCode CommandOptionCode; #line 6 "command_line_options.gperf" struct CommandOption ??{ ??const char *Option; ??int OptionCode; ??}; #define TOTAL_KEYWORDS 5 #define MIN_WORD_LENGTH 6 #define MAX_WORD_LENGTH 12 #define MIN_HASH_VALUE 6 #define MAX_HASH_VALUE 17 /* maximum key range = 12, duplicates = 0 */ class Perfect_Hash { private: ??static inline unsigned int hash (const char *str, unsigned int len); public: ??static const struct CommandOption *IsValidCommandLineOption (const char *str, ???????????????????????????????????????????????????????????????unsigned int len); }; inline unsigned int Perfect_Hash::hash (register const char *str, register unsigned int len) { ??static const unsigned char asso_values[] = ????{ ??????18, 18, 18, 18, 18, 18, 18, 18, 18, 18, ??????18, 18, 18, 18, 18, 18, 18, 18, 18, 18, ??????18, 18, 18, 18, 18, 18, 18, 18, 18, 18, ??????18, 18, 18, 18, 18, 18, 18, 18, 18, 18, ??????18, 18, 18, 18, 18, 18, 18, 18, 18, 18, ??????18, 18, 18, 18, 18, 18, 18, 18, 18, 18, ??????18, 18, 18, 18, 18, 18, 18, 18, 18, 18, ??????18, 18, 18, 18, 18, 18, 18, 18, 18, 18, ??????18, 18, 18, 18, 18, 18, 18, 18, 18, 18, ??????18, 18, 18, 18, 18,? 0, 18, 18, 18, 18, ??????18, 18, 18, 18,? 5, 18, 18, 18, 18, 18, ???????0, 18,? 0, 18, 18, 18, 18, 18, 18, 18, ??????18, 18, 18, 18, 18, 18, 18, 18, 18, 18, ??????18, 18, 18, 18, 18, 18, 18, 18, 18, 18, ??????18, 18, 18, 18, 18, 18, 18, 18, 18, 18, ??????18, 18, 18, 18, 18, 18, 18, 18, 18, 18, ??????18, 18, 18, 18, 18, 18, 18, 18, 18, 18, ??????18, 18, 18, 18, 18, 18, 18, 18, 18, 18, ??????18, 18, 18, 18, 18, 18, 18, 18, 18, 18, ??????18, 18, 18, 18, 18, 18, 18, 18, 18, 18, ??????18, 18, 18, 18, 18, 18, 18, 18, 18, 18, ??????18, 18, 18, 18, 18, 18, 18, 18, 18, 18, ??????18, 18, 18, 18, 18, 18, 18, 18, 18, 18, ??????18, 18, 18, 18, 18, 18, 18, 18, 18, 18, ??????18, 18, 18, 18, 18, 18, 18, 18, 18, 18, ??????18, 18, 18, 18, 18, 18 ????}; ??return len + asso_values[(unsigned char)str[1]]; } static const struct CommandOption wordlist[] = ??{ #line 15 "command_line_options.gperf" ????{"+nolog", CommandOptionCode::NOLOG}, #line 16 "command_line_options.gperf" ????{"+_64bit", CommandOptionCode::_64BIT}, #line 13 "command_line_options.gperf" ????{"+password", CommandOptionCode::PASSWORD}, #line 14 "command_line_options.gperf" ????{"+nocopyright", CommandOptionCode::NOCOPYRIGHT}, #line 12 "command_line_options.gperf" ????{"+helpverbose", CommandOptionCode::HELPVERBOSE} ??}; static const signed char lookup[] = ??{ ????-1, -1, -1, -1, -1, -1,? 0,? 1, -1,? 2, -1, -1,? 3, -1, ????-1, -1, -1,? 4 ??}; const struct CommandOption * Perfect_Hash::IsValidCommandLineOption (register const char *str, ????????????????????????????????????????register unsigned int len) { ??if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) ????{ ??????register int key = hash (str, len); ??????if (key <= MAX_HASH_VALUE && key >= 0) ????????{ ??????????register int index = lookup[key]; ??????????if (index >= 0) ????????????{ ??????????????register const char *s = wordlist[index].Option; ??????????????if (*str == *s && !strcmp (str + 1, s + 1)) ????????????????return &wordlist[index]; ????????????} ????????} ????} ??return 0; }

最后,清單 8 展示了主要的源代碼清單。

注意:清單 8 演示了用戶可以在常量時間內從給定的命令行選項關鍵字中查找命令行選項,并隨后使用相應的步驟處理該選項。IsValidCommandLineOption?的查找時間復雜度為 O(1)。

清單 8. 定義應用程序入口點的 gperf.cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include "command_options.h" #include "perfecthash.hpp" #include <iostream> #include <string> using namespace std; int main(int argc, char* argv[]) ??{ ??string cmdLineOption = argv[1]; // First command line argument ??const CommandOption* option = ????Perfect_Hash::IsValidCommandLineOption(cmdLineOption.c_str(), ???????cmdLineOption.length()); ??switch (option->OptionCode) ????{ ????case CommandOptionCode::HELPVERBOSE : ??????cout << "Application specific detailed help goes here"; break; ????default: break; ????} ??return 0; ??}

注意:本文中的所有示例都使用 gperf 版本 3.0.3 進行了測試。如果您使用的是早期的版本,則可能需要在命令行調用中使用-p?選項。

結束語

gperf 實用程序可以為中小型數據庫快速生成完美散列。但是,gperf 還可用于其他目的。事實上,可以在 GUN 編譯器中使用它維護語言關鍵字的完美散列,其最新的功能使您能夠操作更大的數據庫。因此,可以考慮在您的下一個開發項目中使用 gperf。

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的使用 gperf 实现高效的 C/C++ 命令行处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

久久夜色精品国产欧美乱极品 | 黄色日本免费 | 99久久久| 伊人婷婷色 | 亚洲精品乱码久久久久久9色 | 欧美精品中文字幕亚洲专区 | 中文字幕一区二区三区视频 | 免费视频二区 | 亚洲精品视频在线观看免费 | 免费观看全黄做爰大片国产 | 91免费看片黄 | 色综合网 | 午夜精品久久久久久久久久久 | 麻豆传媒视频在线播放 | 欧美日韩午夜 | 久久激情小视频 | 国精产品999国精产品视频 | 色婷婷狠狠18 | 国产一区在线精品 | 久久99精品国产99久久 | 日韩av一区二区三区在线观看 | 久久久久久免费毛片精品 | 久久视频在线观看中文字幕 | 免费看v片 | 国产一区免费看 | 久久国产欧美日韩精品 | 欧美久久久久久久久久久久 | 精品国产乱码久久久久久久 | 欧日韩在线 | 久久国产精品一二三区 | 国产精品久久久久影视 | 天躁狠狠躁 | www.国产高清 | 成人小视频在线免费观看 | 黄色免费大片 | 国产精品久久久久久久午夜 | 五月婷在线播放 | 国产99久久精品一区二区永久免费 | 欧美日韩在线免费视频 | 亚洲永久精品在线 | 亚洲综合色丁香婷婷六月图片 | av免费线看 | 日韩区在线观看 | 国产一二三在线视频 | 日本精品视频在线播放 | 色吊丝av中文字幕 | 天天爽夜夜操 | 97免费在线观看 | 亚洲精品2区 | 国产免费a| 欧美日韩国产一区二区在线观看 | 国产又黄又硬又爽 | 91精品办公室少妇高潮对白 | 国产一区二区在线播放视频 | 国产高清av在线播放 | 久久开心激情 | 五月婷婷激情 | 最新真实国产在线视频 | 视频一区二区在线 | 亚洲婷婷综合色高清在线 | 成人一级片免费看 | 久久久久激情电影 | 久久国产精品99久久久久久老狼 | 18国产精品白浆在线观看免费 | 亚洲区二区 | 日韩欧美综合视频 | 久久综合之合合综合久久 | 99中文字幕| 久爱综合 | 波多野结衣一区二区 | 欧美一级电影免费观看 | 国产精品美乳一区二区免费 | 久久久久久国产一区二区三区 | 成人av.com | 日日操操操 | 精品主播网红福利资源观看 | 93久久精品日日躁夜夜躁欧美 | av片中文 | 婷婷精品国产欧美精品亚洲人人爽 | 久久精品这里都是精品 | 狠狠色丁香久久婷婷综合五月 | 日韩在线理论 | 福利视频一二区 | 91亚洲国产成人久久精品网站 | www.69xx| 国产精品久久一卡二卡 | 天天干天天做天天爱 | 右手影院亚洲欧美 | 欧洲亚洲女同hd | 天堂网一区二区三区 | 亚洲精品国偷自产在线91正片 | 在线观看www视频 | 丁香5月婷婷 | 国产精品麻豆三级一区视频 | 国产香蕉在线 | 天天在线视频色 | 久久99在线视频 | 欧美成亚洲| 精品一区二区三区电影 | 91麻豆传媒 | 在线看黄色av | 六月丁香婷婷网 | 一级黄色在线免费观看 | 日韩在线视频精品 | 国产69精品久久久久久久久久 | 亚洲高清资源 | 91成人久久| 欧美久久九九 | 国产日韩精品一区二区在线观看播放 | 蜜臀一区二区三区精品免费视频 | 人人干人人艹 | 男女视频久久久 | 亚洲精品久久久久久久蜜桃 | 久久精品理论 | 91精品国产91久久久久 | 欧美作爱视频 | 国产精品久久久久av福利动漫 | 青青河边草免费视频 | 日韩中文在线播放 | 999国内精品永久免费视频 | 日韩在观看线 | 天天干夜夜操视频 | 女人18片毛片90分钟 | 国产欧美精品一区二区三区 | 一本一道波多野毛片中文在线 | 日韩免费区| 不卡电影一区二区三区 | 少妇bbb搡bbbb搡bbbb| 99久高清在线观看视频99精品热在线观看视频 | 精品99久久久久久 | 91精品啪啪 | 69av国产| 97网在线观看 | 免费看片网页 | 日韩精品一区电影 | 免费视频久久久久 | 国产在线精品区 | 91精品爽啪蜜夜国产在线播放 | 国产自制av | 国产伦理一区二区三区 | 国产精品自产拍 | 最近中文字幕国语免费高清6 | 久久久精品免费看 | 日韩av免费在线看 | 天天色.com | 色老板在线视频 | 狠狠狠色丁香婷婷综合激情 | 亚洲日本色 | 亚在线播放中文视频 | 日韩视频在线观看免费 | 久久久久久国产精品免费 | 国产麻豆精品一区二区 | 99久久久久久久久 | 免费观看国产精品视频 | 国内精品久久久久久久久 | 久久久国产精品亚洲一区 | 在线观看福利网站 | 香蕉免费 | 一本一本久久a久久精品综合 | 国产区在线 | 久久久精品影视 | 国产一级片直播 | 四虎国产永久在线精品 | 成人av av在线 | 亚洲精品免费播放 | 天天操天天射天天 | 欧美激情va永久在线播放 | 国色天香永久免费 | 中文字幕高清在线 | 中文字幕在线日亚洲9 | 青草视频在线 | 午夜精品一区二区三区四区 | 九九综合九九综合 | 欧美激情综合色综合啪啪五月 | 最近中文字幕大全 | 色综合久久综合中文综合网 | 婷婷在线视频观看 | 日韩在线二区 | 韩日精品在线观看 | 日韩在线第一 | 激情欧美一区二区三区 | 国内精品久久久久久中文字幕 | 手机版av在线 | 999成人国产 | 精品久久网站 | 国产婷婷久久 | 99视频在线免费 | 蜜臀久久99精品久久久酒店新书 | 九九交易行官网 | 免费国产亚洲视频 | 欧美精品久久久久久久 | 免费观看v片在线观看 | 国精产品满18岁在线 | 人人干网站 | www.天天综合 | 中文字幕视频一区 | 18国产精品白浆在线观看免费 | av中文字幕不卡 | 日韩有码专区 | 色在线免费| a在线免费观看视频 | 免费h精品视频在线播放 | 正在播放久久 | 日韩欧美视频在线播放 | 免费观看久久久 | 久久伊人八月婷婷综合激情 | 成人免费网站在线观看 | 久久不卡电影 | 2019天天干天天色 | 天天操月月操 | 久久久久麻豆v国产 | 色av婷婷 | 中文字幕免费在线看 | 日韩三级视频在线看 | 伊人丁香 | 在线色亚洲 | 奇米影视777四色米奇影院 | 国产成人精品一区二区在线 | 国产视频在线免费 | 青青河边草观看完整版高清 | jizz18欧美18 | 免费性网站 | 亚洲精品黄 | 国产精品你懂的在线观看 | 国产成人精品一区二区三区免费 | 国产一区二区高清不卡 | 精品黄色在线观看 | 日韩欧美在线国产 | 国产午夜精品在线 | 亚洲免费av网站 | 天堂网av在线 | 天天干夜夜夜 | 国产精品久久久99 | 三级黄色在线观看 | 国产精品视频久久 | 国产黄色免费观看 | 亚洲闷骚少妇在线观看网站 | 成人黄性视频 | 国产婷婷vvvv激情久 | 96av在线| 午夜狠狠操 | 国产精品2区 | 久久字幕精品一区 | 免费国产一区二区 | a√国产免费a | 亚洲国产三级在线观看 | 国产精品高潮呻吟久久久久 | 手机av在线网站 | 国产精品igao视频网入口 | 日韩精品综合在线 | 91精品91| 日韩欧美国产精品 | 日韩免费不卡av | 国产亚洲精品中文字幕 | 91久久久久久久一区二区 | 免费a网址 | 天天躁日日躁狠狠躁av麻豆 | 黄色一级大片在线免费看产 | 深夜成人av | 91视频在线免费观看 | 超碰公开97 | 91av蜜桃 | 国产精品久久久久久久午夜片 | 日韩精品一区二区免费 | 国产一级电影免费观看 | 久久免费看a级毛毛片 | 婷婷激情五月 | 久久99九九99精品 | 麻豆 91 在线| 五月天婷婷丁香花 | 国产亚洲成人网 | 欧美精品黑人性xxxx | 狠狠干成人综合网 | 午夜精品电影一区二区在线 | 国产一区视频在线播放 | 91污污视频在线观看 | 国产精选视频 | 亚洲精品大全 | 亚洲欧美成人在线 | 欧美国产精品一区二区 | 午夜在线观看一区 | 国产精品一区在线观看 | 人人干在线 | 欧美黑人性猛交 | 一区精品在线 | 91精品国产一区二区在线观看 | 国产精品一区二区久久精品爱微奶 | 久久久免费精品国产一区二区 | 色婷婷www | 性色在线视频 | 97综合网 | 一区二区三区免费在线观看 | 探花视频在线版播放免费观看 | 毛片基地黄久久久久久天堂 | 91视频 - 114av | 精品久久久久久久久久久院品网 | 黄色av电影网 | 91最新在线 | 九色激情网 | 色综合久久88色综合天天人守婷 | 亚洲国产精品久久久久 | 97国产| 91福利专区 | 91成人在线视频观看 | 日韩国产欧美在线视频 | 久久综合免费视频影院 | 在线观看中文字幕一区 | 国产精品久久久久久久久久尿 | 久草精品在线观看 | 人人看人人艹 | 81国产精品久久久久久久久久 | 深爱五月激情网 | 亚洲精品在线观看网站 | av成人免费| 免费在线看v | 国产精品久久久区三区天天噜 | 69久久99精品久久久久婷婷 | 美女福利视频一区二区 | 久久精品国产亚洲a | 99资源网 | 国产精品字幕 | 国产精品一区二区麻豆 | 国内小视频在线观看 | av资源网在线播放 | 九九久久久久久久久激情 | 欧美日韩中文字幕在线视频 | 成人一级免费视频 | 婷婷精品国产一区二区三区日韩 | 国产精品一区二区久久久 | 五月色婷 | 中文字幕一区二区三区在线播放 | 国产一级在线观看视频 | 国产女人40精品一区毛片视频 | 日韩在线激情 | 99精品影视 | 999热线在线观看 | 日本午夜在线亚洲.国产 | 亚洲视频 视频在线 | 婷婷丁香激情综合 | 久久综合久久综合久久综合 | 亚洲精品免费在线播放 | 午夜体验区 | 麻豆国产电影 | 久久久久久久久国产 | 日韩成人免费电影 | 激情五月开心 | 久久成人免费电影 | 99久免费精品视频在线观看 | 日韩免费二区 | 国产一级黄色片免费看 | 成人毛片在线观看 | 黄色国产在线观看 | 久99久中文字幕在线 | 国产精品视频久久久 | 国产伦理久久精品久久久久_ | 亚洲精品美女在线观看 | 五月天婷婷视频 | 天天干中文字幕 | 国产小视频免费观看 | 91香蕉视频好色先生 | 色av网站 | 91人人网| 亚洲视屏在线播放 | 91丨九色丨蝌蚪丰满 | 最新影院 | 国产精品美女久久久久aⅴ 干干夜夜 | 成人久久免费视频 | 亚洲三级网 | 蜜臀av一区 | 欧美韩国在线 | 99精品视频在线观看免费 | 久久婷婷国产色一区二区三区 | 色婷婷免费视频 | 亚洲精品国产精品乱码不99热 | 国产麻豆电影在线观看 | 国产精品嫩草影视久久久 | 国产国产人免费人成免费视频 | 伊人色综合久久天天网 | 丝袜制服综合网 | 91av免费看| 国产精品美女久久久久久久 | 久久撸在线视频 | 婷婷综合激情 | 国产精品美女久久久久久久网站 | 国产精品一区二区在线看 | 免费色视频网址 | 久久 精品一区 | 亚洲一区久久久 | 草久视频在线 | 亚洲精品大片www | 国产成人黄色在线 | 日本h视频在线观看 | 日韩欧美一区二区不卡 | 天天爱天天舔 | 日韩视频在线观看视频 | 国产亚洲精品久久久久久大师 | 久久久亚洲国产精品麻豆综合天堂 | 国产成人性色生活片 | 午夜精品一区二区三区视频免费看 | 久操伊人| 九九久久久久久久久激情 | 亚洲精品xxxx | 日韩极品在线 | 色综合中文综合网 | 欧美一级大片在线观看 | 色综合久久88色综合天天免费 | 国产一区二区精品久久 | 亚洲欧美国产精品久久久久 | 久久人人看 | 在线v片免费观看视频 | 欧美韩日精品 | 日韩中文幕 | 久操视频在线播放 | av在线进入 | 久久午夜国产精品 | 夜夜天天干 | 欧美精品久 | 一区二区三区四区五区在线视频 | 麻豆国产网站 | 国产精品九九九九九九 | 96香蕉视频 | 国产精品99精品 | 夜夜澡人模人人添人人看 | 色婷婷综合久色 | 日韩av黄 | 欧美大码xxxx | 天天曰天天曰 | 久草在线免费看视频 | 人人爽人人爱 | 97国产在线播放 | 在线只有精品 | avhd高清在线谜片 | 欧美成人精品三级在线观看播放 | 日日干干夜夜 | 午夜精品久久久久久久久久 | 亚洲精品美女久久久 | 91成人在线看 | 美女免费视频一区 | 天天射天天舔天天干 | 亚洲婷婷在线 | 国产在线精品观看 | 午夜国产一区 | 一区 二区 精品 | 综合激情 | 九九久久在线看 | www.人人草 | 在线观看色网 | a在线观看免费视频 | 国产视频一区在线播放 | 女人18精品一区二区三区 | 日日夜夜91 | 在线观看视频在线 | 欧美精品在线免费 | 成人影片免费 | 97电院网手机版 | 亚洲美女在线一区 | 另类五月激情 | 人人澡人人爽 | 在线亚洲日本 | 天堂av高清 | 五月婷婷丁香在线观看 | 天天天操操操 | 又黄又刺激的网站 | 天天做夜夜做 | 极品久久久久久久 | 欧美日韩一区二区在线观看 | 性色av一区二区 | 波多野结衣在线观看一区二区三区 | 黄色小说视频在线 | 777xxx欧美| 久草剧场| 成人午夜黄色 | 日日夜夜网 | 在线久热 | 一区二区三区精品在线视频 | 国产a国产a国产a | 久久这里 | 91丨九色丨勾搭 | 精品国产一区二区三区免费 | 色综合久久中文字幕综合网 | 99视频精品| 国产精品欧美一区二区三区不卡 | 国产99在线免费 | 亚洲欧洲美洲av | 久久爱992xxoo | 国产精品久久9 | 亚洲精品国产精品乱码在线观看 | 四虎永久网站 | 精品久久久久久亚洲综合网 | 中文字幕av免费 | 欧美午夜视频在线 | 国产理论一区二区三区 | 三上悠亚一区二区在线观看 | 亚洲欧美激情精品一区二区 | 色综合久久精品 | 日韩动漫免费观看高清完整版在线观看 | 免费看的黄色的网站 | 国产一区欧美二区 | 欧洲色吧| 国内精品久久久久久久久久久久 | 国产精品黑丝在线观看 | 久久视频网址 | 激情综合啪啪 | 91久久影院 | 午夜视频在线观看欧美 | 久久婷婷一区二区三区 | 国产精品久久久久久久久费观看 | 欧美午夜一区二区福利视频 | 91麻豆精品国产91久久久久 | 麻豆视频免费看 | 国产69精品久久99的直播节目 | 国产日韩精品一区二区三区 | 一区二区三区精品在线 | 国产自产高清不卡 | 黄色一级在线免费观看 | 精品国产理论片 | 国产又粗又猛又黄又爽的视频 | 色欧美88888久久久久久影院 | 欧美精品黑人性xxxx | 国产精品久久久 | 国产女v资源在线观看 | 国产精品一区二区三区久久久 | 国产黄a三级 | 欧美日韩a视频 | 久草香蕉在线 | 久久五月激情 | 久久亚洲私人国产精品va | 在线观看黄色av | 99久久激情视频 | 五月天丁香综合 | 精品人人人 | 久久久久久高清 | 波多野结衣精品 | 国产美女精品视频 | 黄色a级片在线观看 | 久久深夜 | 夜夜骑天天操 | 国产亚洲精品bv在线观看 | 久久手机在线视频 | 97在线免费视频 | 国产精品免费高清 | 日韩毛片在线一区二区毛片 | 超碰在线观看99 | 91精品综合在线观看 | 2019久久精品| 2019中文字幕网站 | 久精品视频在线观看 | 国产精品毛片久久久久久 | 久久精品4 | 欧美精品v国产精品v日韩精品 | 国产区在线看 | 永久免费在线 | 又湿又紧又大又爽a视频国产 | 国产日产精品一区二区三区四区 | 一级片免费观看视频 | 国产欧美精品一区二区三区 | 亚洲国产精品电影 | 99在线热播精品免费 | 国产精品激情在线观看 | 一区二区三区在线视频111 | 国产一级在线视频 | 一区二区三区免费 | 亚洲成人av一区二区 | 天天爽夜夜爽精品视频婷婷 | 婷婷亚洲五月色综合 | 狠狠干美女 | 在线观看你懂的网站 | 国产成人精品av久久 | 国产精品白浆视频 | 91免费版在线观看 | 久草久热| 成人高清在线 | 成人免费影院 | 99自拍视频在线观看 | 国产一区二区不卡在线 | 九色琪琪久久综合网天天 | 久久久久久久久电影 | 91九色蝌蚪国产 | 国产三级精品三级在线观看 | 玖玖视频精品 | 深爱激情婷婷网 | 精品久久久久国产免费第一页 | 手机av观看| 国产精品麻豆一区二区三区 | 激情五月婷婷 | 日韩高清一 | 一区二区精品在线视频 | 一区二区三区电影在线播 | 美女又爽又黄 | 免费亚洲黄色 | 亚洲精品成人免费 | 欧美在线a视频 | 国产高清在线观看 | 久久av电影 | 国产一区二区三区高清播放 | 日b黄色片 | 九九九热精品免费视频观看网站 | 国产视频首页 | 亚洲理论片| 国产中文字幕一区二区三区 | 特级黄色片免费看 | 国产a级片免费观看 | 欧美一级特黄aaaaaa大片在线观看 | 欧美日韩久久一区 | 欧美日韩一级久久久久久免费看 | 久久66热这里只有精品 | 超碰人人舔 | 2021久久 | 综合网伊人 | 99这里有精品 | 日韩在线网址 | 国产高清免费视频 | 色综合网在线 | 美女久久精品 | 国产精品com | 久久人人97超碰精品888 | 久久精品中文字幕一区二区三区 | 亚洲天堂视频在线 | 婷婷色网视频在线播放 | 日韩一区在线播放 | av一区二区在线观看中文字幕 | 成人av地址 | 国产精品白丝av | 2018精品视频| 国产女v资源在线观看 | 日韩欧美一区视频 | 亚洲免费资源 | 国产视频首页 | 狠狠五月天 | 亚洲精品自拍视频在线观看 | 在线视频手机国产 | 女人18毛片a级毛片一区二区 | 一区二区三区免费在线观看视频 | 美女网站在线观看 | 99久久精品久久亚洲精品 | 色综合亚洲精品激情狠狠 | 亚洲国产日韩在线 | 国产成人精品久久久久蜜臀 | 青青看片 | 国产成人一区在线 | 韩日精品在线 | 婷婷色资源| 国产精品婷婷 | 免费福利小视频 | 亚洲精品国产第一综合99久久 | 成人一区二区三区在线观看 | 久久久视频在线 | 99热这里只有精品在线观看 | 国产老熟| 五月天com | 久久久久国产精品视频 | 狠狠色狠狠色合久久伊人 | 免费在线黄色av | 国产91对白在线播 | 99精品久久久久久久久久综合 | 国产精品一区二区在线免费观看 | 天天操夜夜干 | 91资源在线播放 | 国产成人a亚洲精品v | 免费精品人在线二线三线 | 狠狠狠狠狠狠狠 | 激情五月综合网 | 中文字幕欲求不满 | 国产又粗又猛又黄又爽的视频 | 黄色三级在线看 | 日韩有码在线播放 | 玖玖玖在线观看 | 在线91色 | 久久在草 | 久久avav| 亚洲天天 | 亚洲欧美激情精品一区二区 | 97国产人人 | 免费在线激情电影 | 91手机在线看片 | 免费国产在线观看 | 久久久91精品国产一区二区精品 | 九九九国产| 美女网站一区 | 亚洲精品久久在线 | 黄色天堂在线观看 | 日韩一区视频在线 | 国产精品美女久久 | 日本公妇在线观看 | 国产成人黄色av | 亚洲专区视频在线观看 | av福利免费 | 91中文字幕在线 | 久久99精品一区二区三区三区 | 久久久久电影 | 婷婷国产v亚洲v欧美久久 | 国内精品久久久久久久久久久久 | 91天天视频 | 国产免费高清视频 | 天天天干天天射天天天操 | 中文字幕亚洲欧美 | 免费三级影片 | 超级碰碰碰免费视频 | 18久久久| 999男人的天堂| 欧美爽爽爽| 亚洲精品白浆高清久久久久久 | 五月天丁香 | 久久理伦片| 国产午夜小视频 | 欧美日韩国产精品一区二区三区 | 国产精品18久久久久久首页狼 | 亚洲精品天天 | 久久视频精品 | 日韩一级成人av | 日韩精品一区二区三区丰满 | 麻豆视频在线免费观看 | 久久免费视频这里只有精品 | 久青草视频在线观看 | 久久天堂亚洲 | 亚洲艳情 | 日本久久久久久久久久 | 久久久久久久久久久电影 | 午夜精品一区二区三区在线视频 | 99精品视频免费全部在线 | 欧美色道 | 日韩黄色网络 | 亚洲高清视频一区二区三区 | 999久久久精品视频 日韩高清www | 国产一级特黄毛片在线毛片 | 992tv在线成人免费观看 | 国产在线a | 色综合网在线 | 日韩精品视频在线观看免费 | 五月天综合色 | 美女在线黄| aaa日本高清在线播放免费观看 | 国产一区二区三区四区大秀 | 天天天天天天天操 | 美女精品在线观看 | 手机av资源 | 精品免费国产一区二区三区四区 | 精品国产资源 | 国产四虎在线 | 亚洲一区精品二人人爽久久 | 在线国产视频 | 国产98色在线 | 日韩 | 色婷婷欧美 | 四虎www com| 91黄色在线观看 | 日韩激情影院 | 丁香婷婷综合五月 | 一区二区不卡高清 | 日韩在线视频一区 | 久草在线视频看看 | av大全在线 | 97在线观看视频 | 91精品国产综合久久婷婷香蕉 | 国产高清黄色 | 亚洲精品九九 | 日本中文字幕系列 | 国产三级在线播放 | 人人澡人人舔 | 国产精品久久久久久久久久东京 | av资源在线观看 | 国产伦理久久 | 五月婷丁香网 | 婷婷婷国产在线视频 | 韩国精品在线观看 | 午夜 久久 tv| 国产精品专区在线 | 97超碰在线久草超碰在线观看 | 久草网视频 | 日韩av手机在线观看 | 91视频中文字幕 | 天天综合成人 | 丁香婷婷综合网 | 青青河边草观看完整版高清 | 六月丁香六月婷婷 | 99久久精品国产毛片 | 九九九视频精品 | 欧美一区二区在线刺激视频 | 深爱激情av | 五月激情亚洲 | 久久公开视频 | 九九有精品 | 人人搞人人干 | 亚洲国产精品电影在线观看 | 久草视频中文在线 | 99久久精品一区二区成人 | 日韩精品视频一二三 | 国产亚洲精品女人久久久久久 | 久久久久久久久久久免费 | 四虎国产精品成人免费影视 | 六月婷婷网 | 久久99精品波多结衣一区 | 天堂激情网 | 有码中文字幕在线观看 | 青草视频在线看 | 久久一线 | 精品亚洲va在线va天堂资源站 | 欧美日韩国产精品一区二区亚洲 | 欧美日韩久久久 | 少妇按摩av | 久久久久久久久久久久久影院 | 视频99爱 | 国产一区视频在线播放 | 亚州精品一二三区 | 天天曰夜夜操 | 黄色国产精品 | 欧美做受高潮 | 国产三级午夜理伦三级 | 日韩精品一区二区三区免费观看视频 | 伊人婷婷在线 | 99国产精品一区二区 | 日韩在线观看一区二区三区 | 亚洲成人精品av | 香蕉91视频 | 日韩高清在线一区二区三区 | 日韩欧美在线影院 | 亚洲国内在线 | 91试看| 人人爽人人澡 | 欧美一二三四在线 | 欧美淫视频 | 97超碰在线免费 | 日韩女同一区二区三区在线观看 | 久草av在线播放 | 亚色视频在线观看 | 黄色最新网址 | 人人插人人看 | 在线观看视频你懂得 | 国产精品每日更新 | 国产精品福利无圣光在线一区 | 日韩免费在线视频观看 | 国产v在线观看 | 亚洲在线| 婷婷色在线观看 | 欧美日在线观看 | 国产亚洲视频中文字幕视频 | 91字幕| 亚洲一区二区视频在线 | 国产精品自产拍在线观看蜜 | 91在线www | 在线免费高清一区二区三区 | 日韩一级精品 | 99热精品视 | 在线观看av中文字幕 | 91大神在线看 | 成人亚洲欧美 | 免费福利在线播放 | 九九视频免费观看视频精品 | 91视频在线免费看 | 国产黄色av网站 | 国产一级二级在线观看 | 久久综合婷婷综合 | 亚洲精品美女视频 | 亚洲精品网址在线观看 | 欧美一区二区三区免费观看 | 日韩av一区二区在线播放 | 中文字幕在线观看视频一区二区三区 | 日韩免费专区 | 欧美成人基地 | 久久综合九色综合欧美就去吻 | 在线观看av网站 | 麻花豆传媒一二三产区 | 亚洲国产精品成人av | 91av99| 国产超碰在线观看 | 超碰97人| a黄色片在线观看 | 久久亚洲精品电影 | 日韩久久精品一区 | 伊人手机在线 | 91精品国产自产在线观看 | 欧美成人亚洲成人 | 久久久久伦理电影 | 亚洲黄色软件 | 96精品高清视频在线观看软件特色 | 美女视频黄免费 | 996久久国产精品线观看 | 天天插天天爽 | 亚洲区另类春色综合小说校园片 | 狠狠狠色丁香综合久久天下网 | 99热这里有 | 日韩在线观看视频中文字幕 | 五月天久久久久久 | 久久亚洲综合国产精品99麻豆的功能介绍 | 最新av免费在线观看 | 久久99久 | 国产精品美女久久久久久网站 | 国产精品观看在线亚洲人成网 | a视频免费 | 免费看污污视频的网站 | 国产自偷自拍 | 国产黄色在线看 | 久草在线综合 | 天天射夜夜爽 | 欧美一区二区三区四区夜夜大片 | 在线日韩亚洲 | 国产精品字幕 | 亚洲精品久久久久中文字幕二区 | 久久99国产精品二区护士 | 久久不见久久见免费影院 | 香蕉视频在线网站 | av噜噜噜在线播放 | 久久久久一区二区三区四区 | 精品国产美女在线 | 国产自制av | 最近最新最好看中文视频 | 日韩av片无码一区二区不卡电影 | 亚洲美女精品 | 99视频在线精品免费观看2 | 日本h在线播放 | 91黄站| 2017狠狠干 | 黄色av一级片 | 久久情侣偷拍 | 日本精品在线视频 | 国产麻豆精品传媒av国产下载 | 日日夜夜天天人人 | 91手机视频 | 国产精品午夜久久 | 另类老妇性bbwbbw高清 | 欧美粗又大 | 日韩 精品 一区 国产 麻豆 | 97色资源 | 中文字幕乱码亚洲精品一区 | 狠狠干电影 | 成人动漫视频在线 | 婷婷在线免费观看 | 亚洲乱码国产乱码精品天美传媒 | 成片人卡1卡2卡3手机免费看 | 亚洲国产精品成人av | 九九九热精品免费视频观看 | 久热免费在线 | 欧美一级日韩三级 | 久久免费精品一区二区三区 | 精品视频www| 欧美婷婷色| 在线观看91视频 | 亚洲成人精品国产 | 国产一二三区av | 激情婷婷久久 | 成人av免费在线看 | 免费看亚洲毛片 | 在线欧美最极品的av | 黄色精品视频 | 久久香蕉一区 | 午夜精品久久久久久久久久久久久久 | 亚洲九九精品 | 国产永久免费 | 欧美在线不卡一区 | 玖玖视频国产 | 在线视频在线观看 | 插婷婷| 亚洲高清视频在线播放 | 中文在线√天堂 | 亚洲精品色视频 | 五月综合激情婷婷 | 福利二区视频 | 亚洲免费资源 | 97超碰资源站 | 色丁香婷婷 | 久草在线视频在线观看 | 国产精品ssss在线亚洲 | 久草热久草视频 | 国内外成人免费在线视频 | 欧美一区二视频在线免费观看 | 91激情在线视频 | 色网站在线观看 | 色偷偷88888欧美精品久久 | 亚洲国产天堂av | 国产精品福利无圣光在线一区 | 免费观看第二部31集 | 国产一区二区三区在线免费观看 | 久久精品com | av无限看 | 成年人视频免费在线 | 超碰97免费在线 | 91在线精品一区二区 | 久久草视频 | 久草在线最新免费 | 91喷水| 国产一区精品在线 | 手机在线看a | 日韩高清免费无专码区 | 91人人澡人人爽人人精品 | 国产精品无av码在线观看 | 88av网站 | 九月婷婷综合网 | 成人久久电影 | 亚洲欧美日韩在线看 | 黄色精品久久久 | 久久精品免费播放 | 欧美日韩一区二区三区视频 | 婷婷色5月| 一级成人网 | 在线观看视频三级 | 丝袜美腿一区 | 国产裸体视频网站 | 天天射天| 在线精品观看国产 |